Click here to load reader

Trackingkomponente für AiRmob - cg/Bachelorarbeiten/BA_FlorianKathe.pdf · PDF fileErklärung Ich versichere, dass ich die vorliegende Arbeit selbständig verfasst und kei-ne anderen

  • View
    212

  • Download
    0

Embed Size (px)

Text of Trackingkomponente für AiRmob - cg/Bachelorarbeiten/BA_FlorianKathe.pdf · PDF...

  • Fachbereich 4: Informatik DIN: NewTechnologies

    Trackingkomponente fr AiRmob

    Bachelorarbeitzur Erlangung des Grades eines Bachelor of Science (B.Sc.)

    im Studiengang Computervisualistik

    vorgelegt von

    Florian Kathe

    Erstgutachter: Prof. Dr.-Ing. Stefan Mller(Institut fr Computervisualistik, AG Computergraphik)

    Zweitgutachter: Martin Schumann(Institut fr Computervisualistik, AG Computergraphik)

    Koblenz, im April 2012

  • Erklrung

    Ich versichere, dass ich die vorliegende Arbeit selbstndig verfasst und kei-ne anderen als die angegebenen Quellen und Hilfsmittel benutzt habe.

    Ja Nein

    Mit der Einstellung der Arbeit in die Bibliothek bin ich einverstanden.

    Der Verffentlichung dieser Arbeit im Internet stimme ich zu.

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .(Ort, Datum) (Unterschrift)

    i

  • Zusammenfassung

    Augmented Reality erfreut sich immer grerer Beliebtheit. Das wurde un-ter anderem durch die Leistungssteigerung im Smartphone-Bereich her-vorgerufen. Daher lag der Schluss nahe, ein eigenes Augmented Reality-Framework fr Smartphones zu entwickeln. Als Betriebssystem wurde An-droid aufgrund seiner Offenheit und weiten Verbreitung ausgewhlt.Diese Arbeit beschftigt sich konkret mit der Tracking-Komponente desFrameworks. Die Aufgabe des Trackers ist die Analyse des Kamerabildes,um ein bestimmtes Objekt darin wiederzufinden. Das Objekt fungiert alsOrientierungspunkt fr den virtuellen Raum, der sich in die reale Weltintegrieren soll. In dieser Arbeit werden zwei Tracking-Verfahren vorge-stellt. Zum einen das Marker-Tracking, das auf dem Finden von quadrati-schen, schwarz-weien Markern basiert. Hier wurde das Marker-Trackingvon AndAR beziehungsweise ARToolkit in das eigene Framework inte-griert. Zum anderen soll das Framework ber eine bildbasiertes Tracking-Verfahren verfgen, dass es ermglicht, ber Bilder den virtuellen Raumzu erzeugen. Hier wurde ein eigener Ansatz entwickelt und mittels Open-CV umgesetzt. In dieser Arbeit findet sich daher auch einige Dokumenta-tionen zu OpenCV. Darunter fllt die Evaluation eines geeigneten Feature-Detektors und -Extraktors aus OpenCV und die Portierung von OpenCVC++-Code nach Android.

    Abstract

    Augmented reality is becoming more and more popular. This was caused,among other things, by the performance improvement on the smartphonemarket. Therefore, it was a logical conclusion to develop an own augmen-ted reality framework for smartphones. The operating system Android hasbeen chosen because of its openness and spreadness.This paper deals specifically with the tracking component of the frame-work. The task of the tracker is to analyse the camera image to find a speci-fic object. The object acts as a landmark for the virtual space to be integra-ted in the real world. In this paper, two tracking methods are introduced.At first, the marker tracking, which is based on square, binary markers. He-re, the marker tracking of AndAR and ARToolkit is integrated in the newframework. Next, the framework should have an image-based tracking me-thod that allows to create virtual space based on images. An own approachwas developed and implemented using OpenCV. Therefore, this paper alsocontains some documentation to OpenCV. This includes the evaluation ofa suitable feature detector and extractor of OpenCV and porting C++-Codefrom OpenCV to Android.

    ii

  • Inhaltsverzeichnis

    1 Einleitung 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Hintergrnde des Projekts . . . . . . . . . . . . . . . . . . . . 11.3 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.3.1 AiRMob . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.2 Tracking-Komponente . . . . . . . . . . . . . . . . . . 3

    2 Hintergrund 52.1 Augmented Reality . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.1.1 Optisches Tracking . . . . . . . . . . . . . . . . . . . . 62.2 Smartphones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.2.1 Android . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2 Native Developer Kit . . . . . . . . . . . . . . . . . . . 82.2.3 Augmented Reality auf Smartphones . . . . . . . . . 8

    2.3 OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3 Framework Airmob 103.1 Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Integration Tracker . . . . . . . . . . . . . . . . . . . . . . . . 113.3 Schnittstellen des Trackers & Austauschbarkeit . . . . . . . . 12

    4 Bestehende AR-/Tracking-Systeme 134.1 berblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    4.1.1 AndAR . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.1.2 NyARToolkit . . . . . . . . . . . . . . . . . . . . . . . 144.1.3 Qualcomm Augmented Reality SDK . . . . . . . . . . 154.1.4 Auswertung . . . . . . . . . . . . . . . . . . . . . . . . 17

    4.2 AndAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2.1 ARToolkit . . . . . . . . . . . . . . . . . . . . . . . . . 184.2.2 Integration . . . . . . . . . . . . . . . . . . . . . . . . . 20

    5 Eigener Entwurf eines Trackers 235.1 Vorberlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.2 berblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    5.2.1 OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . 245.2.2 Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . 255.2.3 Performance . . . . . . . . . . . . . . . . . . . . . . . . 30

    5.3 Entwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.4 3d Pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    5.4.1 RPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.5 Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    5.5.1 OpenCV Integration . . . . . . . . . . . . . . . . . . . 37

    iii

  • 5.5.2 Implementierung . . . . . . . . . . . . . . . . . . . . . 385.6 Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    6 Resultate 446.1 AndAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.2 AiRmob-Tracker . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    7 Fazit 487.1 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    iv

  • 1 Einleitung

    1.1 Motivation

    Der durch Apple mittels iPhone ausgelste Smartphone-Boom hat zur Fol-ge, dass sich die Hersteller immer weiter mit neuester Technologie ber-treffen mssen. Dadurch werden Smartphones stndig leistungsfhiger.Demzufolge hat sich der Anwendungsbereich eines Smartphones stark er-weitert. So kann man nun auch Augmented Reality Anwendungen in Echt-zeit auf dem Smartphone nutzen.Diese Bachelorarbeit ist Teil eines Projektes, dass sich AiRmob nennt. DasProjekt setzt sich aus vier Bachelorarbeiten zusammen und hat das Ziel, einAugmented Reality Framework fr Smartphones zu entwickeln. Als Basisdafr dient das Android-Betriebssystem.In dieser Arbeit geht es konkret um die Entwicklung der Tracking-Kompo-nente. Da die bisherigen Augmented Reality Frameworks fr Smartphonesgrtenteils als Tracker einen Marker-Tracker nutzen, soll in dieser Arbeitermittelt werden, inwieweit sich ein Tracker fr Smartphones realisierenlsst, der nicht einfacher Marker trackt, sondern mittels Features die Ob-jekte im Kamerabild findet.Um zu testen, welcher der bisherigen Feature-Detektoren und -Extraktorenam besten fr die gewnschte Aufgabe geeignet ist, wird auf die Bildver-arbeitungsbibliothek OpenCV zurckgegriffen. Diese ist aktuell die besteBibliothek fr Bildverarbeitung. Deshalb soll auch Bestandteil dieser Ar-beit sein, zu dokumentieren, wie das Arbeiten mit OpenCV funktioniertund wie es sich mit Android verhlt.

    1.2 Hintergrnde des ProjektsAutoren: Philipp Brandt, Florian Kathe, Nils Lichtenberg und Axel Peter

    Diese Ausarbeitung ist ein Teil des AiRMob-Frameworks. Dieses wurdeim Zuge von insgesamt vier Bachelorarbeiten parallel entwickelt. Es solldas Entwickeln fr Augmented Reality Applikationen fr Android ermg-lichen. Das Projekt entstand aus folgenden Arbeiten:

    Anwendungs- und Interaktionskomponente fr AiRmob - von Nils Lich-tenberg

    Bei dieser Arbeit handelt es sich um das Grundgerst, welches auf ein-fache Art und Weise mit einem Tracking- und Renderingsystem erweitertund vervollstndigt werden kann. Das Verknpfen des Frameworks mitder Standard-Android-API soll dem Benutzer mglichst einfach gemachtwerden.

    1

  • Trackingkomponente fr AiRmob - von Florian Kathe

    Grundlage dieser Arbeit soll ein Tracker sein, der auf Basis von Markernoder Features ein Objekt in einem Bild tracken kann und dessen Pose be-rechnet. Diese soll dann wiederum an den Renderer weitergegeben wer-den. Es sollen dabei zwei Tracker entwickelt werden, die als Standard-Tracker verwendet werden knnen und als Beispiel dienen, wie man Tra-cker fr dieses Framework entwickelt.

    3D-Engine fr AiRmob - von Axel Peter

    In dieser Arbeit wird eine 3D-Engine entwickelt, welche es dem Benut-zer ermglichen soll, schnell und einfach 3D-Inhalte zu produzieren. Hier-zu soll der Anwender nur ber grundlegendste Kenntnisse von OpenGLverfgen mssen und die anfnglichen Schwierigkeiten eines Einstiegs inOpenGL ES 2.0 genommen werden. Es sollen fortgeschrittene Technikenfr eine mglichst hohe Effizienz und Qualitt der Darstellung verwendetwerden.

    Shader und Effekte fr AiRmob - von Philipp Brandt

    Bestandteil dieser Arbeit ist die Entwicklung verschiedener Shader, die imRenderer des Frameworks integriert und aufgerufen werden. Es wird deraktuelle Stand der Technik ermittelt und im Verlauf der Arbeit versucht,mglichst aktuelle und anspruchsvol

Search related