Home

Dokument 1

image

Contents

1. OBJEKTE n 10 n 20 n 30 n 40 n 50 N of Cases 10 10 10 10 10 Minimum 3471 6229 7991 13337 12841 Maximum 4989 8362 12665 18717 20915 Range 1518 2133 4674 5380 8074 Median 4029 7639 5 11298 5 15875 5 18851 Arithmetic Mean 4070 5 7650 10566 7 16199 6 18285 Standard Deviation 424 948 616 91 1782 373 1714 90 2415 826 Tabelle 6 1 Auswertung der Messwerte pro Messreihe bei der Ermittlung der Erstellungszeit mit einer Erh hung der Objekte Ob die Daten linear an oder absteigen kann ber den Korrelationskoeffizienten r angeben werden Bei einem Wert von 1 besteht eine starke Korrelation Wenn der Wert gegen 0 geht nennt man das unkorreliert Das bedeutet dass keine lineare Abh ngigkeit der Werte besteht Sac13 Je dichter sich die einzelnen Werte an der Regressionsgeraden befinden um so h her ist der Korrelationskoeffizient Die Tabelle 6 2 zeigt die berechneten Korre lationskoeffizienten f r die beiden Tests der Erstellungszeiten Beide Werte zeigen einen deutlichen Trend der bedeutet dass die Werte voneinander abh ngen Bei der Erh hung der Objektanzahl ist die Abh ngigkeit der beiden Werte mit einem Wert von 0 954 sogar noch etwas deutlicher Anhand der Beobachtungen und der errechneten Korrelationskoeffizienten wird die Hypothese aufgestellt dass die Erh hung der Datens tze sowie auch der Anzahl der Objekte einen Einfluss auf die Zeit haben die f r die Modell
2. 87 51 2 Die Deutschlandt ur sonig 2 24 ws a a Here 88 Umsetzung des Szenarios 89 bot Knack denr Code como rn a aD a ewe sh an Seek Bae 90 5 2 Zusammenfassung 91 6 Test und Auswertung des TBOC Verfahrens 93 6 1 Einleitung x 2 7 Zen 3 Zaun arten hen N de riet E 93 6 2 Performance des TBOC Verfahrens 222 22 oo men 94 6 2 1 Auswirkungen auf die Dateigr e der Trainingsdaten 94 6 2 2 Auswirkungen auf das Modell 95 Auswirkungen auf die Dateigr e und die Erstellungszeit 95 Auswirkungen auf die Erkennungszeit 97 6 2 3 Statistische Hypothesenpr fung in Bezug auf das Datenmodell 98 6 3 Ermittlung der Erkennungsraten 102 6 3 1 Statisches und dynamisches Anlernen im Vergleich 102 6 3 2 Erkennungsraten in Bezug zu den Trainingsdaten 104 6 3 3 Erkennungsraten in Bezug auf die Objektanzahl 105 6 3 4 Statistische Hypothesenpr fung in Bezug auf die Erkennungsrate 107 6 3 5 Auswirkung des NULL Objektes 0 109 6 3 6 Optimierung durch Anpassung der Trainingsdatenanzahl 110 6 4 Optimierung bei der Bildverarbeitung 2 2 2 222 a 111 6 4 1 nPict reTaken 2 A aa a ea 111 6 4 2 onPreviewFrame e NEE a e eee we A 111 6 43 TextureView getBitmap e 111 6 5 YAnwendertest a baT eae A A A 112 6 6 Zusammenfassung vo yee e EA Kan Se A BRE Gece E a 112 7 Zusammenfassung Ergebnisse und Ausblick 115 Tek
3. import weka core Instances import weka core converters ArffLoader private Instances appendDataSet File file Instances dataSet throws IOException ArffLoader arffLoader new ArffLoader arffLoader setFile file Instances newDataSet arffLoader getDataSet for int i 0 i lt newDataSet numinstances i dataSet add newDataSet get i return dataSet 4 6 2 Die Erkennungs Phase Die tboc gui ObjectClassifyActivity Klasse repr sentiert die Erkennungsphase des Verfahrens Diese Activity Klasse kann so auch direkt in andere Android Projekte integriert 71 4 ANWENDUNGSENTWICKLUNG 72 O Objekt Erkennen Es sind keine Trainingsdaten vorhanden oK Kunstwerk 2 no match Abbildung 4 11 Die ObjectClassifyActivity hat au er einer TextureView auf der das Vorschaubild der Kamera angezeigt wird keine weiteren GUI Elemente ber das Men in der ActionBar kann das statistische Datenmodell neu geladen werden Die Klassifikation kann nur durchgefiihrt werden wenn auch Trainingsdaten vorhanden sind Wenn dies nicht der Fall ist wird ein Benutzerhinweis ausgegeben und die Activity beendet Ansonsten wird durch Driicken auf die View die Klassifikation gestartet Wenn ein Objekt erkannt wird wird der Name des Objektes ausgegeben Bei Nichterkennen kommt ein Benutzerhinweis werden um die Funktionalit t der Objekterkennung zu benutzen Abbildung 4 11 zeigt die Oberfl che der Activit
4. Listing 4 6 Aufbau einer AR Activity public class ARActivity extends ARViewActivity Override protected int getGUlLayout TODO Auto generated method stub return return R layout ar_activityLayout Layout XML Override protected IMetaioSDKCallback getMetaioSDKCallbackHandler TODO Auto generated method stub return null Override protected void loadContents TODO Auto generated method stub Override protected void onGeometryTouched IGeometry arg0 TODO Auto generated method stub Das Herzst ck einer AR Klasse ist die Methode loadContents Hier gibt es die M glich keit in wenigen Schritten eine einfache AR Activity zu erzeugen e die Tracking Referenz Datei an das SDK zu bergeben e das 3D Modell oder andere Objekte zur Uberlagerung zu laden e wenn n tig die Skalierung Rotation und Position anzupassen Das Laden einer Tracking Referenz Datei geschieht ber die Methode setTrackingConfiguration Hier wird die Konfigurations XML f r das Tracking als trackingDataFile bergeben siehe Quellcode Beispiel 4 7 Mit dieser XML Datei wird die Tracking Komponente des SDKs konfiguriert Sie beinhaltet Informationen ber den Marker und die Trackinggenauigkeit Vergleich Anhang A Listing 4 7 setTrackingConfiguration Load desired tracking data metaioSDK setTrackingConfiguration trackingDataFile Anstelle der XML kann des Weiteren eine 3dmap Datei b
5. New Objekte k nnen ab der neuen Vuforia 4 0 Beta Version auch erkannt Kg werden So k nnen komplizierte 3D Objekte wie Spielwaren und andere prey Produkte erkannt und verfolgt werden sodass Spielzeuge zum Leben er ae weckt werden und digitale Funktionen an Produkten hinzugefiigt werden Le k nnen Shttp g00 gl RNBMQM Stand 8 Januar 2015 17 2 STAND DER TECHNIK 18 Abbildung 2 6 Die Abbildung links zeigt wie der AREL Interpreter bei Metaio in das System interferiert wird Abbildung rechts zeigt das Prinzip des Overlays bei AREL Anwendungen http dev metaio com arel overview Stand 12 Januar 2015 2 3 2 Metaio Metaio ist wie auch Vuforia ein natives SDK fiir OS amp Android und stellt auch Bibliotheken zur Verf gung die mit xCode bzw Eclipse und dem ADT von Google f r die Entwicklung von nativen Anwendungen fiir mobile Ger te genutzt werden k nnen Ebenfalls stellt auch Metaio die notigen Bibliotheken fiir die Integration in Unity3D bereit Neben der Multiplattform Entwicklung durch Unity3D bietet das Metaio SDK auch noch die M glichkeit mit AREL HTML5 Multiplattform Entwicklung zu betreiben Jedoch handelt es sich dabei dann nicht mehr um native Anwendungen Bei der Scriptsprache AREL Augmented Reality Experi ence Language wird die plattformunabh ngige Anwendungsentwicklung auf der Basis einer Kombination von JavaScript dem Metaio SDK und einer statischen XML Content Definition entwickelt AREL
6. 1 3 Organisation der Arbeit In Kapitel 2 werden zuerst die Technologien behandelt mit denen Augmented Reality Anwendungen erstellt werden k nnen und erl utert wie die aktuellen Produkte auf dem Markt einzuordnen sind Weiter wird beschrieben welche M glichkeiten f r eine Positions und Orientierungsbestimmung f r AR Tracking existieren In diesem Zusammenhang erfolgt eine bersicht ber vorliegende Forschungsarbeiten In Kapitel 3 wird ein Konzept entwickelt welches ein Verfahren zur automatischen Initialisierung f r AR Szenen umsetzt Hierbei wer den die m glichen Anwendungsszenarien beschrieben und die einzelnen Verfahrensbestand teile genauer erkl rt In Kapitel 4 wird die Entwicklung des Prototypen beschrieben Hier spielt das Data Mining Paket Weka welches f r die statistische Wahrscheinlichkeitsrechnung herangezogen wird eine gro e Rolle Weiter wird die Umsetzung der beiden Phasen die das Verfahren bilden genauer beschrieben Das Kapitel 5 beschreibt die umgesetzte Anwendung f r das mathematische Mitmach Museum Mathematikum Hierbei werden die einzelnen AR Szenarien n her beleuchtet Das Kapitel 6 besch ftigt sich mit Tests des Verfahrens sowie dessen Evaluation und Auswertung Die Ergebnisse der Arbeit werden anschlie end in Kapitel dargestellt und bewertet Abschlie end folgt in Kapitel 7 die Zusammenfassung der gesamten Arbeit sowie der Ausblick auf weitere m gliche Arbeiten Forschungen die in Zusamme
7. 24 40 http dx doi org 10 1109 msp 2005 1458275 DOI 10 1109 msp 2005 1458275 ISSN 1053 5888 STT09 SIIRA E TUIKKA T TORMANEN V Location Based Mobile Wiki Using NFC Tag Infrastructure In Near Field Communication 2009 NFC 09 First International Workshop on 2009 S 56 60 Thi11 THIERSCH Bernhard Entwurfsentscheidungen zur AugmentedReality Schnitzeljagd Augmenture In Informatics Inside Grenzen tiberwinden Vir tualitat erweitert Realitat Hochschule Reutlingen 2011 S 17 21 VC14 VENZKE CAPRARESE Sven Standortlokalisierung und personalisierte Nut zeransprache mittels Bluetooth Low Energy Beacons In Datenschutz und Datensicherheit DuD 38 2014 Nr 12 839 844 http dx doi org 10 1007 s11623 014 0329 9 DOI 10 1007 s11623 014 0329 9 IS SN 1614 0702 WBG96 WILKINSON Leland BLANK Grant GRUBER Christian Desktop Data Analysis SYSTAT 1st Upper Saddle River NJ USA Prentice Hall PTR 1996 ISBN 0135693101 WFO05 WITTEN LH FRANK E Data Mining Practical Machine Learning Tools and Techniques Second Edition Elsevier Science 2005 The Morgan Kauf mann Series in Data Management Systems ISBN 9780080477022 WKRQ 07 Wu Xindong KUMAR Vipin ROSS QUINLAN J GHOSH Joydeep YANG Qiang MOTODA Hiroshi MCLACHLAN Geoffrey J NG Angus 133 LITERATURVERZEICHNIS 134 WRM 08 WS03 Liu Bing Yu Philip S ZHOU Zhi Hua STEINBAC
8. Beim statischen Anlernen und dynamischen Erkennen liegt die Erkennungsrate zwischen 60 bis 90 mit ansteigender Anzahl der Datens tze Die noch recht hohe Erkennungszahl von 60 bei nur drei Datens tzen und dynamischem Erkennen ist auf die wenigen Messdurchl ufe und die dabei doch nah an der optimalen statisch an gelernten Position liegenden Perspektive zur ckzuf hren Jedoch ist aus dem Graphen in Abbildung 6 9 gut abzulesen dass ein nur statisches Anlernen zu schlechteren Erkennungs raten f hrt die durch die Erh hung der einzelnen Anlerndatens tze jedoch etwas verbessert werden k nnen In der zweiten Phase des Testes werden die Objekte dynamisch angelernt und dann jeweils statisch und dynamisch erkannt Beim dynamischen Anlernen ist die er ste Position jedoch auch die f r das Exponat optimale statische wodurch sich das gleiche Ergebnis bei der Erkennungsrate zeigt Sobald aber bei den weiteren Datens tzen die un terschiedlichen Blickrichtungen miteinbezogen werden steigt die Erkennungsrate auch beim dynamischen Erkennen bei neun Datens tzen auf 100 Dass nat rlich nicht alle Positionen immer abgedeckt werden k nnen zeigt die letzte Messung mit 54 Datens tzen bei denen unter anderem das mobile Ger t sehr dicht an die einzelnen Exponate gehalten wird so dass der gr te Teil des Exponates sich nicht im Blickfeld der Kamera befindet Dies f hrt bei zwei Exponaten zu Fehlerkennungen siehe Abbildung 6 9 103 6 TEST UND
9. Kapitel 3 Konzeptentwicklung Auf Grundlage der Analyse der Arbeiten die sich mit hnlichen Fragestellungen auseinan dersetzen wird nun das Konzept fiir die Entwicklung des Verfahrens erstellt Auf der Basis dieser Erkenntnisse werden die Verfahrensanforderungen ausgearbeitet und der Aufbau des Verfahrens entwickelt Hierbei spielt die Sensorik der heutigen mobilen Ger te sowie auch die Verwendung der Kamera und die Verarbeitung der aufgenommenen Bilder eine groBe Rolle Es wird dargestellt wie aus den gesammelten Daten der Sensorwerte und den Daten aus einer Bildanalyse eine Entscheidung zur Initialisierung getroffen werden kann Hierbei wird die M glichkeit einer Klassifizierung mit Hilfe eines statistischen Modells beschrieben 3 1 Einleitung F r das Konzept des Verfahrens wird anhand m glicher Anwendungsszenarien eine Anforderungsanalyse an das in dieser Arbeit zu entwickelnde System erstellt Die An wendungsszenarien in dieser Arbeit werden prim r aus den Anwendungsbereichen der Firma Advenco des Industriepartners des Projektes PIMAR erarbeitet Advenco entwickelt mobile Anwendungen f r verschiedene Industriefirmen zur Wartung und berwachung von Produktionsmaschinen und deren Abl ufe Ein weiterer gro er Anwendungsbereich bei Advenco betrifft die Tourismus Sparte Hier werden Anwendungen f r Stadtf hrungen oder f r den Besuch in einem Museum entwickelt 3 2 M gliche Anwendungsszenarien In allen Anwendungsbereichen ste
10. es sich an neben der Erkennung von Sehensw rdigkeiten auch weitere Informationen als POI in der Anwendung in Form von Billboards anzuzeigen Bei einer Stadtf hrung ist immer davon auszugehen dass ein ausreichendes GPS Signal vorhanden ist sodass die 31 3 KONZEPTENTWICKLUNG 32 Ortsbestimmung einfach zu realisieren ist Uber die Kompassfunktion Orientierungssensor wird in Abschnitt 3 4 n her betrachtet k nnen naheliegende aber auch in der Ferne befindliche Objekte im Kamerabild angezeigt werden siehe Abbildung 3 2 links Uber eine radar hnliche Anzeige im oberen Bildbereich werden die POI in der N he angezeigt Wenn sich der Tourist um die eigene Achse dreht werden Ober Billboards die Namen der Sehenswiirdigkeiten in der zugeh rigen Himmelsrichtung eingeblendet Neben den schon h ufig umgesetzten Funktionen der POl Anzeige bei diesen An wendungen soll weiter die M glichkeit gegeben sein einzelne Sehensw rdigkeiten automatisch zu erkennen und diese mit Informationen zu berlagern Hier ist neben der einfachen Einblendung von Texten Bildern oder Videos auch die M glichkeit gegeben diese mit 3D Modellen zu erweitern oder mit interaktiven berlagerungen wie in der Illustration in Abbildung 3 2 rechts Hier wird das Brandenburger Tor mit einer Darstellung des Tores aus vergangener Zeit berlagert und der Anwender kann ber eine Ber hrung des Displays die berlagerung auf diesem ver ndern So k nnte durch die Einb
11. glich Multiplattform Entwicklung so gut wie nur mit einem Mausklick zu betreiben Thttp unity3d com Stand 8 Januar 2015 2 3 Agumented Reality Entwicklungsumgebungen Die Vuforia Tracking M glichkeiten Vuforia ist in der Lage verschiedene Arten von Markern zu erkennen die in der folgenden Auflistung kurz erkl rt werden Framemarker sind Bilder die ein wenig wie QR Codes aussehen jedoch die Freiheit bieten ein eigenes Bild Logo ins Innere zu setzen Sie sind ideal fiir Spielsteine oder andere Anwendungsszenarien bei denen mehrere Targets gleichzeitig getrackt werden Imagemarker sind ausreichend detaillierte Bilder die vorher definiert sind und dann als Tracker benutzt werden k nnen Beispiele sind Bilder in Zeitschriften Anzeigen oder Produktverpackungen Benutzerdefinierte Imagemarker geben dem Benutzer die Moglichkeit grundlegende AR Elemente zu erstellen die berall realisiert wer den konnen Die Erstellung ist so einfach wie das Fotografieren von Alltags gegenstanden beispielsweise von einer Buchseite einem Plakat einem Magazin Cover oder sogar einem Gemalde Benutzerdefinierte Bilder eig nen sich besonders gut fiir Spiele Einfache Boxen mit flachen Seiten und mit ausreichenden visuellen De tails k nnen erkannt werden Dazu geh ren Objekte aus flachen Ober flachen wie Schachteln und Verpackungen Zylinder wie Flaschen Dosen Schalen und Becher k nnen ebenfalls als Marker erkannt werden
12. k nnen so als statistisch belegt angesehen werden Tabelle 6 4 Der Wahrscheinlichkeitswert p gibt die Irrttumswahrscheinlichkeit an MYSTAT zeigt nur drei Nachkommastellen an somit ist der Wert kleiner als 0 001 also kleiner als 0 1 Es besteht mit einer Irrtumswahrscheinlichkeit von unter 0 1 eine Abh ngigkeit der Erkennungszeit zur Erh hung der Datens tze sowie zu einer Steigerung der Objektanzahl http goo gl rb6m3k Stand 29 M rz 2015 Effect Coefficient Stdrd Error Std Coeffi Tolerance t p value OBJEKTE 239 948 2 309 0 997 1 000 103 920 DATENSAETZE 2 693 0 320 0 630 1 000 8 424 101 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 102 o O o 4 e e statisch dynamisch Abbildung 6 8 Das Anlernen und Erkennen erfolgt durch statische und dynamische Positio nierung wobei mit statisch eine feste Position mit optimaler Ausrichtung auf das Exponat Objekt gemeint ist Bei dynamischem Anlernen oder Erkennen wird das Objekt aus mehreren sinnvollen Perspektiven angelernt und erkannt 6 3 Ermittlung der Erkennungsraten Bei der Ermittlung der Erkennungsraten m ssen zun chst die m glichen Positionen der sp teren Anwender der App ber cksichtigt werden Im besten Fall richtet ein Museums besucher sein Ger t exakt senkrecht auf das Exponat aus Dies kann jedoch nicht immer vorausgesetzt werden und ist aufgrund der Anwesenheit anderer Museumsbesucher oft auch in einigen
13. oder Image Marker erkennt und einfache Augmentierungen ausf hrt Ortsgebundene Augmentierungen wie bei der Wikitude App siehe Erkl rung in Abschnitt 2 2 6 werden mit Hilfe von GPS und dem Orientierungssensor umgesetzt Jedoch funktionieren diese Anwendungen nur wenn die aktuelle Position des Benutzers bestimmt werden kann was in vielen F llen nur sehr ungenau bzw meistens nur im Au enbereich http developer beta vuforia com Stand 13 Januar 2015 2 4 Positions und Orientierungsbestimmung fiir AR Tracking richtig funktioniert F r die Problemstellung der Positions und Orientierungsbestimmung f r Augmented Reality Anwendungen bzw f r deren Initialisierung gibt es zur Zeit viele verschiedene Ans tze Im n chsten Abschnitt werden diese kategorisiert und die Funktions weisen n her beleuchtet 2 4 1 Initialisierung durch visuelle Marker ID Marker sind die verbreitetsten und auch am einfachsten zu trackenden Marker wenn es um optische tracking Methoden geht ID Marker gibt es in unterschiedlichen Ausf hrungen Einer der bekanntesten ist wohl der QR Code engl Quick Response der nicht nur Anwendung im Bereich AR findet sondern zum Beispiel auch f r die schnelle Verkn pfung von Weblinks genutzt wird Der QR Code erm glicht es Informationen so aufzubereiten dass sie von Maschinen schnell gefunden und ausgelesen werden k nnen So k nnen Informationen zur Initialisierung direkt in dem Marker hinterlegt werden
14. setOneShotPreviewCallback import java io ByteArrayOutputStream import android graphics Bitmap import android graphics BitmapFactory import android hardware Camera import android graphics Yuvimage private Camera PreviewCallback mPrevCallback new Camera PreviewCallback public void onPreviewFrame byte data Camera Cam Convert to JPG Size previewSize mCamera getParameters getPreviewSize Yuvimage yuvimage new Yuvimage data ImageFormat NV21 previewSize width previewSize height null ByteArrayOutputStream baos new ByteArrayOutputStream yuvimage compressToJpeg new Rect 0 0 previewSize width previewSize height 80 baos E byte jdata baos toByteArray Convertierung zu einem Bitmap Bitmap mBitmap Bitmap createScaledBitmap BitmapFactory decodeByteArray jdata 0 jdata length IMAGE_BASE_SIZE IMAGE_BASE_SIZE false Die letzte Moglichkeit die in dieser Arbeit vorgestellt wird ist vielleicht auch die einfach ste Durch die Verwendung der TextureView und nicht wie es auch m glich w re einer SurfaceView fiir das Anzeigen des Kamera Vorschaubildes in der Activity besteht die M glichkeit das aktuelle Bild was auf der TextureView angezeigt wird ber die Metho de getBitmap iibergeben zu bekommen Beim Aufruf dieser Methode kann gleich die gew nschte Bildgr e mit angegeben werden Listing 4 30 Bitmap aus der TexturView auslesne import android
15. t und den Nutzen des TBOC Verfahrens auch ohne die Einbindung eines AR Szenarios zu demonstrieren wurde das Exponat ber das Verfahren angelernt so dass es automatisch erkannt und die Spiele Applikation automatisch geladen wird wenn der Besucher sein mobiles Ger t auf das Exponat richtet siehe Abbildung 5 5 links So ist es m glich jeden beliebigen Inhalt in einer Anwendung passend zu dem erkannten Objekt zu laden ohne dass der Anwender die entsprechende Stelle in einer Men struktur finden muss 5 2 Zusammenfassung 5 2 Zusammenfassung Eine prototypische Implementierung des TBOC Verfahrens ist in einer realen Applikation fiir das mathematische Mitmach Museum Mathematikum in GieBen integriert worden Daf r wurde im Rahmen des Forschungsprojektes PIMAR eine App erstellt die mit Hilfe des im Projekt entwickelten Generators generiert wurde und die auch als Demonstrator des TBOC Verfahrens dient Auf diese Weise wird innerhalb eines Museumsumfeldes die Bereitstellung von AR Content zur Erweiterung von Informationen fiir die Exponate oder zur Hilfestellung des Betrachters dargelegt Wobei das TBOC Verfahren fiir die vorgeschaltete Initialisierung der AR Szenarien genutzt wird Damit wird erm glicht dass der entspre chende Bereich der mobilen Anwendung ohne zus tzliche Benutzereinwirkung geladen wird Um ein m glichst breites Spektrum abzudecken wurden drei sich stark voneinander unterscheidende Exponate ausgew hlt die exemplarisch
16. tespeicher zu l schen Listing 4 38 nderung der Einstellungsbeschreibung bei nderung einer Auswahl import android content SharedPreferences import android content SharedPreferences OnSharedPreferenceChangeListener import android preference ListPreference import android preference Preference public void onSharedPreferenceChanged SharedPreferences sharedPreferences String key Preference pref findPreference key if key equals imagepref if pref instanceof ListPreference ListPreference listPref ListPreference pref pref setSummary listPref getEntry 4 7 2 Trainingsdatenverwaltung Die Trainingsdatenverwaltung besteht aus der Auswahl und dem damit verbundenen Laden einer Datensatz Datei ins System dem neuen Erstellen einer Trainingsdaten Datei und dem L schen von Datens tzen aus dem lokalen Speicher des Ger tes siehe Abbildung 4 13 Hierbei wird das Laden der Datens tze noch in der tboc gui UserSettingActivity Ober eine ListPreference gel st Anders als bei der Auswahl der Bildmethode im letz ten Abschnitt wird diese Liste nicht ber ein String Array gef llt sondern in der setSharedPreferences Methode Hier wird der Speicherort der Trainingsdaten aus gelesen und eine Liste der beinhalteten Dateien erstellt ber diese Liste wird iteriert und 4 7 Weitere Systemfunktionen der Dateiname in ein Array gespeichert Dieses Array wird anschlieBend mit der Methode set
17. um eine robuste Erkennung zu gew hrleisten So deckt man bei 100 Datens tzen und im Schnitt 17 Trainingsdaten sechs Objekte ab Auch bei einer gr eren Anzahl von Objekten bzw Trainingsdaten bleibt die Dateigr e sehr klein so wird die ARFF Datei bei 1000 Datens tzen etwa 0 34mb gro Die Erh hung der zu erkennenden Objekte wirkt sich daher nur minimal auf die Dateigr e aus Dies ist nachvollziehbar da die Erh hung der Anzahl von Objekten nur mit einer Erweiterung der nominalen Attributliste verbunden ist 6 2 2 Auswirkungen auf das Modell F r die weitergehenden Untersuchung der Modelldatei und des Vorganges zur Erzeugung des Modells wird zun chst der Quellcode der TBOC Anwendung um einen Zeitnehmer erweitert der die ben tigte Zeit f r das Generieren und Abspeichern des Modells misst So k nnen neben der Dateigr e des Modells auch Informationen zur Erzeugung des Modells Aufschluss geben wie sich die Anzahl der Datens tze und die Anzahl der zu erkennenden Objekte auf das Modell auswirken Die Zeitmessungen erfolgen mit den von Java zur Verf gung gestellten Tools Mit System currentTimeMillis wird die Zeit vom 1 Januar 1970 in Millisekunden als long ausgegeben System nanoTime liefert einen Zeitstempel des genauesten System Zeitgebers des Ger tes zur ck Dieser hat keinen Bezugspunkt zu einem Datum Durch die Differenz zweier Zeitwerte kann f r die Ausf hrungszeit von Programmen oder Programmabschnitten ermittelt wer
18. 4 3 Im Layout Editor k nnen die Benutzeroberflachen angeordnet werden Hierfiir steht die Kombination verschiedener Layouts wie Grid Linear Relative etc zur Verf gung Weitere Inhalte wie Texte Eingabefelder Bilder oder Buttons k nnen nach Be lieben auf der Fl che platziert werden Screenshot aus dem Entwicklertool Eclipse 49 4 ANWENDUNGSENTWICKLUNG 50 In der onCreate Methode wird blicherweise die Benutzeroberfl che bzw das Layout mit der Methode setContentView View bergeben Die Layoutdatei l sst sich in Eclipse in einem graphischen Editor bearbeiten oder man hat die M glichkeit die Beschreibung direkt im Quellcode der XML Datei zu vollziehen siehe Quellcode Beispiel 4 3 Zuerst wird in einer Layoutdatei ein Layout definiert hier stehen GridLayout LinearLayout RelativeLayout etc zur Verf gung Diese Layouts k nnen beim Gestalten der Benutze roberfl che auch verschachtelt eingesetzt werden Weitere Inhalte wie Texte Eingabefelder Bilder Listen und Buttons etc k nnen nach Belieben im Zusammenspiel der einzelnen Lay outs auf der Fl che platziert werden siehe Abbildung 4 3 Die einzelnen Komponenten k nnen ber eine Vielzahl von Parametern definiert werden wie in dem Quellcodebeispiel 4 3 zu sehen ist Die H he oder Breite einer Komponente kann ber eine Angabe in dp bzw dip engl Device independent pixel dt Ger teunabh ngige Pixel oder mit den Konstan ten FILL_PARENT MATCH_PARENT WRAP_CON
19. 4 9 Die GUI der MainActivity ist der Grundstein der TBOC Anwendung Uber eine ListView werden die Men eintr ge angezeigt die fiir die beiden Phasen des Verfah rens stehen Weiter gibt es ein Menii lcon oben in der ActionBar Komponente das die Anwendungseinstellungen aufruft Im Unteren Teil des Displays werden Systemeinstellungen ausgelesen so wie Informationen zu den geladenen Trainingsdaten In einem weiteren TextView wird wenn Daten vorhanden sind die Anzahl der je weiligen Trainingsdaten f r ein Objekt angezeigt vergleiche Abbildung 4 9 Hierf r wird die momentan geladenen Trainingsdaten Datei eingelesen und wie im Beispiel Quellcode 4 16 beschrieben als Typ der Klasse weka core Instances abgelegt ber die attributeStats int index Methode kann die Anzahl der einzelnen Trainingsda ten f r ein Objekt ermittelt werden Damit in der Anwendung sichergestellt wird dass 4 6 Aufbau der Android Anwendung Objekt Anlernen Kompass Werte GPS Werte Objekt Anlernen Kor ss Werte GPS Werte Kunstwerk 1 Kunstwerk 2 Kunstwerk 1 Kunstwerk 2 k a Dataset speichern Sollen die Daten gespeichert werden Eingangshalle Cancel oK Abbildung 4 10 Die ObjectTeachActivity hat ein schlankes einfaches Layout Uber eine TextView werden die gesammelten Sensordatenwerte ausgegeben Unterhalb der Textan zeige befindet sich eine ImageView ber die das Bild welches verarbeitet wurde
20. 75 80 Liu Hui DARABI H BANERJEE P Liu Jing Survey of Wireless Indoor Positioning Techniques and Systems In Trans Sys Man Cyber Part C 37 2007 November Nr 6 1067 1080 http dx doi org 10 1109 TSMCC 2007 905750 DOI 10 1109 TSMCC 2007 905750 ISSN 1094 6977 LANGER Josef ROLAND Michael NFC Technologie Version 2010 http dx doi org 10 1007 978 3 642 05497 6_5 In Anwendungen und Technik von Near Field Communication NFC Springer Berlin Heidel berg 2010 ISBN 978 3 642 05496 9 87 108 Li Yunpeng SNAVELY Noah HUTTENLOCHER Daniel P Location Reco gnition Using Prioritized Feature Matching In ECCV 2 Bd 6312 Springer 2010 Lecture Notes in Computer Science ISBN 978 3 642 15551 2 S 791 804 131 LITERATURVERZEICHNIS 132 MBS14 Mit97 MS05 MS14 MTUK95 NLLPO3 Oeh04 Pea00 Pet05 PSM13 RC04 RDO7 MEHLER BICHER A STEIGER L Augmented Reality Theorie und Praxis De Gruyter 2014 http books google se books id BrjoBQAAQBAJ ISBN 9783110375015 MITCHELL Thomas M Machine Learning 1 New York NY USA McGraw Hill Inc 1997 ISBN 0070428077 9780070428072 MIKOLAJCZYK K SCHMID C A performance evaluation of local descrip tors In Pattern Analysis and Machine Intelligence IEEE Transactions on 27 2005 Oct Nr 10 S 1615 1630 http dx doi org 10 1109 TPAMI 2005 188 DOI 10 1109 TP
21. Anzahl der einzelnen Trainingsdaten und der Anzahl der zu erkennenden Objekte zusammen Wobei ein Trainingsdatensatz mit 1000 Trainingsdaten gerade mal eine Gr e von 0 34mb einnimmt Das generierte Modell mit dem der Vergleich bei der Erkennung vollzogen wird hat bei einer Anzahl von 20 Objekten und 100 Trainingsdaten eine Gr e von 0 123mb Somit sind die Daten die im Regelfall ben tigt werden nur wenige Megabyte gro Die Zeit die f r eine Erkennung ben tigt wird liegt bei drei bis 15 Objekten zwischen zwei bis f nf Sekunden Durch eine Auslagerung der Verarbeitung der Erkennung in einen separaten Thread ist die Anzeige des Kamerabildes in der Zeit ruckelfrei ber eine Warte Ladeanimation wird dem Benutzer angezeigt dass die Erkennung l uft Ab ca 35 Objekten steigt die Zeit die f r die Erkennung ben tigt wird auf ber 10 Sekunden Die Erkennungsrate bei drei Objekten und ausgeglichenen Trainingsdaten liegt bei 100 Eine Erh hung der Objekte die f r die Erkennung einbezogen werden sollen l sst die allgemeine Erkennungsrate sinken Jedoch ergab sich bei bis zu zw lf Objekten ein Mittelwert in der Erkennungsrate von 90 Insgesamt wurde nachgewiesen dass eine Erkennung von bis zu 18 Objekten mit einer Erkennungsrate von 80 m glich ist Kleinere St rungen wie die teilweise Verdeckung der Objekte durch Personen etc haben keine Auswirkungen auf das System und die Erkennungsrate Die St rfaktoren die bei den Erkennu
22. Bildver arbeitung anzeigt ber einen sogenannten Spinner ein Android Layout Objekt in anderen IT Bereiche unter drop down Liste bekannt kann eines der Objekte ausgew hlt werden zu dem Daten angelernt werden sollen Die TextureView im unteren Bereich des Displays 67 4 ANWENDUNGSENTWICKLUNG 68 gibt die aktuelle Live Vorschau der Kamera wider Durch Driicken Touch Event auf dieses View Element wird der Anlernprozess gestartet Wenn dieser einen Durchlauf beendet hat wird ber einen Benutzerdialog abgefragt ob die aktuell gesammelten Werte gespeichert oder verworfen werden sollen Dieser Vorgang kann je nach Belieben f r jedes Kunstwerk wiederholt werden Programmatische Umsetzung Das F llen der Spinner Komponente mit den Namen der Objekte die angelernt werden sollen wird ber die Methode addListenerOnSpinnerItemSelection realisiert Wenn die geladene Trainingsdaten Datei noch keine Objekte beinhaltet wie es zum Beispiel der Fall bei der Default Datei bei erstmaligem ffnen ist wird die Spinner Liste ber fest definierte Werte gef llt die in der String xml hinterlegt werden k nnen Wenn in der ARFF Datei Objekte hinterlegt sind werden die Namen der Objekte nach dem Einladen der Trainingsdaten ausgelesen und ber einen ArrayAdapter an den Spinner bergeben Damit die Live Vorschau der Kamera auf der TextureView angezeigt werden kann wird der View Komponente mit der Methode setSurfaceTextureListener this ein
23. Gebiet der Erweiterten Realit t engl Augmented Reality beschreibt eine innovative Form der Mensch Computer Interaktion bei der die reale Welt mit Zusatzinformationen angereichert wird Auf diese Art und Weise bieten sich neue M glichkeiten Informationen im Blickfeld des Betrachters zu pr sentieren Dies wird zunehmend attraktiver da in der heutigen Zeit der Begriff Time to Content immer mehr an Bedeutung gewinnt Das resul tiert daraus dass bei der digitalen berflutung von Informationen durch eine Filterung ber Ort und Zeit einem genau dann die Informationen angezeigt werden wenn sie wirklich von Relevanz sind Der Oberbegriff f r die Vermischung der Realit t mit einer virtuellen Welt lautet mixed Reality Dieser Begriff umfasst sowohl Augmented Reality als auch virtual Reality 27 2 STAND DER TECHNIK 28 Die flexibelsten und m chtigsten SDK s unter den gr Bten momentan auf dem Markt ver tretenen AR Entwicklungsumgebungen sind von der Firma Qualcomm Vuforia und das Metaio SDK die in erster Linie hnliche Funktionen bieten jedoch teilweise andere Ans tze verfolgen Als wichtigster Nachteil von Vuforia ist zu erw hnen dass die Entwicklungsum gebung zur Zeit der Entscheidung welches SDK im Projekt PIMAR und damit auch in der hier vorliegenden Arbeit verwendet werden soll noch nicht in der Lage war ganze Objekte zu tracken Dies ist zwar laut eigenen Angaben von Qualcomm seit der neuen 4 0 Beta Version m
24. In SIGKDD Explor Newsl 11 2009 November Nr 1 10 18 http dx doi org 10 1145 1656274 1656278 DOI 10 1145 1656274 1656278 ISSN 1931 0145 HAN Jiawei KAMBER Micheline Data Mining Concepts and Techniques San Francisco CA USA Morgan Kaufmann Publishers Inc 2000 ISBN 1 55860 489 8 HENZE Niels SCHINKE Torben BOLL Susanne What is That Object Recognition from Natural Features on a Mobile Phone In Proceedings of the Workshop on Mobile Interaction with the Real World 2009 HIGHTOWER Jeffrey WANT Roy BORRIELLO Gaetano SpotON An Indoor 3D Location Sensing Technology Based on RF Signal Strength Uni versity of Washington Department of Computer Science and Engineering Seattle WA February 2000 00 02 02 UW CSE JAYNES E T Probability Theory The Logic of Science 1995 http www cs toronto edu nernst papers jaynes book pdf JONUSCHAT Helga ZINKE Michaela Bock Benno Die Nutzersicht Akzeptanzfaktoren und Integration ins Post Processing Version 2014 http dx doi org 10 1007 978 3 658 01848 1_5 In SCHELEWSKY Marc Hrsg JONUSCHAT Helga Hrsg Bock Benno Hrsg STEPHAN Korinna Hrsg Smartphones unterst tzen die Mobilitatsforschung Springer Fachmedien Wiesbaden 2014 ISBN 978 3 658 01847 4 83 101 Literaturverzeichnis Kal11 Ker07 KMO9 Koc13 Kud14 Kup05 LB82 LCTY12 LDBLO7 LR10 LSH10 KALLENBERG
25. Interval and Prediction Interval 3 som d 20 dl g a 12 000 f fp E Kit E e lt gt N Loe gel za 3 4 4 ESTIMATE smm f gt ESTIMATE 5 a LCL LCL UCL P UCL LPL y LPL UPL UPL EZ 0 r 0 D EJ 120 d EN 20 a DATENSAETZE OBJEKTE Abbildung 6 7 Die Darstellung der einzelnen Messwerte der Erkennungszeiten bei einer Erh hung der Anzahl der Datens tze links und bei der Steigerung der Objektanzahl rechts mit der Regressionsgeraden und den Vertrauensbereichen Die errechneten Korrelationskoeffizienten die von MYSTAT geliefert werden best tigen die Beobachtungen Bei der Erh hung der Datens tze betr gt der Korrelationskoeffizient 0 630 Hier kann gerade noch von einem erkennbaren statistischen Zusammenhang gesprochen werden da der Wert innerhalb der in der Regel angesetzten Grenze von unter 0 6 und ber 0 6 liegt Bei der Erh hung der Objektanzahl steht der Wert von 0 997 f r einen starken linearen Zusammenhang Um diese Abh ngigkeiten statistisch zu belegen werden auch hier zwei Hypothesen aufgestellt dass die Anzahl der Datens tze und die Anzahl der Objekte einen Einfluss auf die Erkennungszeit haben Auch hier werden die Irrtumswahrscheinlichkeiten ber den Test auf Korrelation ermittelt siehe Tabelle 6 4 Die Irrtumswahrscheinlichkeiten betragen in beiden F llen weniger als 0 001 Somit liegen diese Werte unter dem angesetzten Signifikanzniveau von 5 und die Hypothesen
26. LLA Marker k nnen ber ein Webinterface bei Metaio im Entwicklerbereich auf der Webseite generiert werden 2 4 2 Drahtlose Innenraum Positionierung In Au enbereichen stehen zur Positionsbestimmung von Anwendern mehrere Methoden und Systeme zur Verf gung Bei der Bestimmung der Position ber Mobilfunknetze h ngt die Genauigkeit stark von der Zellengr e ab Bei der Nutzung von Satellitennavigation GPS steht dem Nutzer eine f r die meisten Anwendungsf lle ausreichend genaue Methode zur http goo gl hao89a Stand 15 Januar 2015 http g00 gl 7ktIn5 Stand 15 Januar 2015 Mhttp g00 gl DNqJT8 Stand 16 Januar 2015 http g00 gl JOONs6 Stand 16 Januar 2015 21 2 STAND DER TECHNIK 22 Abbildung 2 7 Abbildung links zeigt die Initialisierung der AR Uberlagerung mit Hilfe ei nes QR Codes im Forschungsprojekt DIB http go0 gl DNqJT8 Stand 16 Januar 2015 Abbildung rechts zeigt das Handyticketsystem Touch amp Travel der Deutschen Bahn Uber ein Smartphone kann via NFC QR Code oder die Eingabe der Kontaktpunktnummer ein Bahnticket gekauft werden http goo gl N8yHdO Stand 19 Januar 2015 Verf gung Jedoch beschr nkt sich die Nutzung solcher Systeme in den meisten F llen auf Regionen au erhalb von Geb uden Die verwendeten Signale werden durch dickes Mauerwerk blockiert und erreichen so im Innenbereich keine ausreichende Signalst rke f r eine genaue Positionsbestimmung LDBLO7 Um trotzdem eine
27. Listener re gistriert der das Kamerabild an die View bergibt Durch ein Dr cken auf die TextureView wird ein Button Event ausgel st welches von der Methode calculateAverageBtn re pr sentiert wird Diese Methode startet einen TimerTask der als Thread das Sammeln der Sensordaten ausf hrt siehe nachfolgenden Quellcode 4 27 Listing 4 27 TimerTask als Thread zum sammeln der Sensordaten import java util Timer import java util TimerTask Declare the timer Timer t new Timer TimerTask wird gesetzt der als Thread die Aufgabe hat die Sensordaten zu sammeln t scheduleAtFixedRate new TimerTask Override public void run In der run Methode werden Methoden zum Sammeln der Daten aufgerufen Je nach dem ob in den Einstellungen der Anwendung die GPS Nutzung aktiviert ist werden die GPS Koordinaten ber die setGPS Methode und die Orientierungswerte ber die setOrientation SensorEvent orientationEvent Methode ausgelesen und in Listenobjekte vom Typ java util List lt Double gt abgelegt ber die Konstante MAX_STACK_SIZE wird die Gr e der Liste definiert und somit auch die Anzahl der Wiederholungen der run Methode bestimmt Wenn der Z hlwert der Konstante erreicht ist wird der Timer ber die Methode cancel gestoppt und alle laufenden Aufgaben angehalten Aus den in den Listen gesammelten Werten werden die jeweiligen Mittelwerte errechnet um Ausrei er in den Werten zu eliminieren Die aktuelle
28. Situationen vielleicht gar nicht m glich Also sollte das Verfahren in der Lage sein auch aus anderen Positionen und Blickwinkeln zu einem richtigen Ergebnis zu gelangen Wenn ein Objekt ber die optimale Position angelernt wird wird das als statisches Anlernen bezeichnet Wenn der Benutzer nur aus dieser Position das Exponat mit der Applikation erkennt wird es auch statisches Erkennen genannt Der Ansatz ein Exponat aus allen m glichen Positionen anzulernen wird dynamisches Anlernen genannt Hierbei wird das Objekt aus einer Vielzahl von Blickrichtungen und unterschiedlichen Nei gungen des Ger tes angelernt so dass das Objekt sp ter auch aus diesen Blickrichtungen richtig zu erkennen ist siehe Abbildung 6 8 Es ist jedoch zu beachten dass durch das dynamische Anlernen auch Erkennungsfehler auftreten k nnen wenn die Daten der einzel nen Sensoren in bestimmten Positionen keine eindeutigen Ergebnisse mehr liefern k nnen In einem Laborversuch soll die Notwendigkeit des dynamischen Anlernens aufgezeigt werden 6 3 1 Statisches und dynamisches Anlernen im Vergleich Um das Verhalten der Erkennungsraten beim dynamischen Anlernen verbunden mit der Erh hung der Datens tze zu untersuchen wird unter Laborbedingungen folgender Test durchgef hrt Es werden drei optisch sehr unterschiedliche Exponate simuliert die auch in klar zuordnungsf higen Himmelsrichtungen ausgerichtet sind Der Versuch wird in zwei Phasen unterteilt In der ersten Pha
29. Spiel Knack den Code SoU Ze wi WI Sp m ler ce u AE laden Korrekt erkannte Buchstaben 0 Neue Runde Falsche Eingaben 0 Abbildung 5 5 Knack den Code ist ein Exponat bei dem an einem Rechner ein ver schliisselter Satz entschliisselt werden soll Wenn das Exponat gerade in Benutzung ist kann ber die mobile Anwendung eine App Variante von dem Spiel geladen werden Um zu diesem Unterpunkt in der Anwendung zu kommen kann das Exponat einfach mit dem TBOC Verfahren erkannt werden und das etsprechende in die Applikation implementierte Spiel ffnet sich dann automatisch Screenshot rechts PIMAR 5 1 3 Knack den Code Das letzte Exponat welche exemplarisch in der Mathematikum Anwendung umgesetzt wird ist das Spiel Knack den Code Hier soll ein verschl sselter Satz auf einem Computerbildschirm mit m glichst wenigen Fehlversuchen entschl sselt werden Bei den S tzen sind die Buchstaben zuf llig im Alphabet vertauscht Durch betrachten der Auftrittswahrscheinlichkeit der einzelnen Buchstaben kann der Schl ssel gefunden werden Die Fehlversuche des Spielers werden gez hlt und ausgegeben was den Anreiz mit sich bringt die Verschl sselung mit so wenig Fehlern wie m glich zu l sen F r dieses Exponat wird kein AR Sezneario entwickelt sondern im Rahmen des Pro jektes PIMAR eine mobile Version des Spieles generiert siehe Abbildung 5 5 rechts welche ber die Men struktur der Anwendung geladen wird Um die Flexibilit
30. abzufangen Hierf r werden dem NULL Objekt eine Vielzahl unter schiedlicher Werte zugeordnet und versucht verschiedene Helligkeitsstufen und Farbwerte mit anzulernen Es wird darauf geachtet dass dabei auch unterschiedliche r umliche Ausrichtungen ber cksichtigt werden Weiter werden Teile des Museums mit ber cksichtigt die keinem Exponat zugeordnet werden k nnen Hierzu geh ren leere W nde der Boden an unterschiedlichen Stellen Treppenh user und Flure sowie Ausschnitte mit f r das Museum typischen Materialien Im Mathematikum sind es die Holzoberfl che von Tischen und St hlen die zum Teil auch in den Exponaten Verwendung finden 109 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 110 Erkennungsrate u 3 ll Pi Kreis Knack den Code Deutschlandkadte no match Abbildung 6 15 Auswirkung des NULL Objektes auf die Erkennungsrate der einzelnen Objekte Durch das Anlernen des sogenannten NULL Objektes sinkt im allgemeinen die Er kennungsrate der einzelnen Objekte Damit das NULL Objekt immer dann erkannt wird wenn nicht explizit ein Objekt erkannt werden soll muss dem NULL Objekt eine h he re Wahrscheinlichkeit gegeben werden Dies geschieht durch Anlernen mit Situationen im Mathematikum die nicht einem Objekt zu geordnet werden F r die Anwendung im Mathematikum wird an die angelernten Objekte vergleiche 6 3 2 ein Trainingsdatensatz f r das NULL Objekt angeh ngt Die Trainingsdaten aller drei Objekte ergeben zu
31. animiert werden sollen wird zun chst nach passenden 3D Modellen f r die Animation gesucht F r die Animationen selbst muss eine spezielle Software wie Motion Builder Blender oder Maya verwendet werden In den einzelnen Anwendungen besteht die M glichkeit 3D Objekte ber sogenannte Schl ssel http www metaio com products creator Stand 26 Februar 2015 http www autodesk com products motionbuilder overview Stand 26 Februar 2015 http www blender org Stand 26 Februar 2015 http www autodesk com products maya overview Stand 26 Februar 2015 85 5 PROTOTYPISCHE IMPLEMENTIERUNG IN EINE REALE ANWENDUNG 86 a n gt y Abbildung 5 2 Die ben tigten 3D Modelle fiir das AR Szenario Pi mit den F en werden in der 3D Modellierungssoftware Maya von Autodesk animiert Danach im FBX Format exportiert und in ein Metaio eigenes Format konvertiert AnschlieBend k nnen die Modelle in den Metaio Creator geladen und auf der 3D Punktwolke ausgerichtet werden bilder per Hand zu animieren Key Frame Animation oder eingelesene Daten realer Bewegungsabl ufe sogenannte Motion Capturing Daten zu verwenden Die Animation der verwendeten 3D Objekte fiir diese Anwendung wird in der 3D Software Maya von Autodesk realisiert siehe Abbildung 5 2 links In der genannten Software wurde ein Walk Cycle fiir den menschlichen Charakter animiert Um nur einmal die Schrittabfolge eines Laufvorganges animier
32. aus WEKA entfernt damit es unter An droid verwendet werden kann Eine hundertprozentige Funktionalit t wird vom Entwickler nicht sichergestellt jedoch ist das Projekt im Stande in Android Projekte eingebunden zu werden und die Data Mining Funktionen k nnen genutzt werden LCTY12 4 4 1 Dataset Ein grundlegendes Konzept beim maschinellen Lernen ist die Verwendung von S tzen aus Datenelementen Eine Datenmenge entspricht in etwa einer zweidimen sionalen Tabellenkalkulations oder Datenbanktabelle In WEKA wird es ber die weka core Instances Klasse realisiert Ein Datensatz entspricht hier einer Sammlung von Trainingsdaten die jeweils die Klasse weka core Instance repr sentieren Jede Instanz besteht aus einer Anzahl von Attributen diese k nnen unter anderem nominal numerisch oder eine Zeichenfolge sein e weka core Instances h lt einen kompletten Datensatz Diese Datenstruk tur ist zeilenbasiert Auf einzelne Zeilen wird ber einen O basierten Index ber die Instanz int Methode zugegriffen Informationen zu den Spalten erh lt man ber die Attribut int Methode Diese Methode liefert Objekte vom Typ weka core Attribute e weka core Instance repr sentiert eine einzelne Zeile Es ist im Grunde ein Beh lter f r Feature Daten Die Klasse selber enth lt keine Informationen ber den Typ der Spalten hier wird immer ein Zugriff zu einem weka core Instances Objekt ben tigt e weka core Attribute h lt die Datentyp Infor
33. der einzelnen Messungen die in Abbildung 6 5 rechts dargestellt werden weisen eine Standardabweichung zwischen 66 570 und 309 025 auf 6 2 3 Statistische Hypothesenpriifung in Bezug auf das Datenmodell Um die einzelnen Messwerte aus den vorangegangenen Tests statistisch zu verifizieren wird die Abh ngigkeit der einzelnen Messwerte ber eine Teststatistik ausgewertet Hierbei sollen die einzelnen Hypothesen der jeweiligen Tests best tigt werden Im ersten Abschnitt sollen zwei Fragestellungen bez glich der Dauer der Modellgene rierung untersucht werden Dabei soll statistisch nachgewiesen werden ob mit zunehmender Datensatzanzahl oder mit Erh hung der Anzahl der Objekte ein Einfluss auf die Dauer der Erzeugung des Modells besteht Wie die Darstellung der Testdaten im vorangegan genen Abschnitt deutlich zeigt ist ein offensichtlicher Trend erkennbar Aus der reinen Beobachtung l sst sich die Vermutung schlie en dass die Erstellungszeit einen linearen Zusammenhang mit der Steigerung der Datens tze sowie mit der Erh hung der Objekte hat Um diese Vermutung zu best tigen werden die gewonnen Messwerte ber MYSTAT der freien Version der Statistik Analyse Software SYSTAT WBG96 ber eine Teststatistik ausgewertet Hierf r werden die einzelnen Ergebniswerte der jeweiligen Messungen in die Software geladen MYSTAT erstellt f r die Darstellung der Messwerte ein Box Plot Diagramm siehe Abbildung 6 6 links und Mitte Das mittlere Dia
34. dessen Hilfe neue Datens tzen bezogen auf die Trainingsdaten in die wahrscheinlichste Klasse zugewiesen werden 3 5 2 Bayes Klassifikator Mit Hilfe der sogenannten Bayes Klassifikator Verfahren ist eine Entscheidungsfindung f r oder gegen ein Objekt m glich wenn die Voraussetzung erf llt wird dass die Klassifika tionen ber eine gemeinsame Wahrscheinlichkeitsverteilungsfunktion zusammenh ngen Beim Bayes schen Lernen wird davon ausgegangen dass ber eine gemeinsame Wahr scheinlichkeitsverteilungsfunktion ein Zusammenhang der unterschiedlichen Attribute einer Klasse besteht und sich somit auch die verschiedenen Klassen durch ihre jeweiligen Wahrscheinlichkeitsverteilungsfunktionen voneinander unterscheiden Aus dieser Annahme l sst sich schlie en dass Klassifizierungsentscheidungen durch die Interpretation dieser Wahrscheinlichkeiten unter Ber cksichtigung von beobachteten Daten zu f llen sind Mit97 Um eine kompakte und bersichtliche Repr sentation der Wahrscheinlichkeitsverteilung aller einbezogenen Variablen unter Ber cksichtigung bekannter bedingter Unabh ngigkeiten wiederzugeben wird hierbei ein Bayes sches Netz verwendet Beweise f r diverse unterschiedliche Hypothesen k nnen mit Hilfe des Bayes schen Anlernverfahrens verschieden gewichtet werden Lernalgorithmen die auf Wahrscheinlich keiten einwirken basieren auf Bayes schem Lernen und selbst Algorithmen die nicht in irgendeiner Form mit Wahrscheinlic
35. f gt HT ML5 Overlays und einfache GUI Elemente hinzu siehe Abbildung 2 6 Anwendungen die mit Hilfe von AREL umgesetzt wurden k nnen bei Metaio in der hauseigenen Junaio Plattform online anderen Usern zur Verf gung gestellt werden Junaio ist ein fortschrittlicher mobiler AR Browser der es erm glicht kostenfrei schnell und einfach Augmented Reality Erfahrungen auf bekannten Web Technologien wie XML und HTML5 zur Verf gung zu stellen Neben den von der Community hinzugef gten AR Anwendungen kann die Junaio App auch dem Benutzer interessante Orte wie Gesch fte Lokale etc orts gebunden anzeigen http dev metaio com junaio Stand 12 Januar 2015 2 3 Agumented Reality Entwicklungsumgebungen Die Metaio Tracking M glichkeiten Die groBe St rke von Metaio ist die groBe Vielzahl von Tracking Moglichkeiten sowie die Integration von Non optical Tracking Technologien wie GPS Sensoren Die folgende Aufz hlung beschreibt die optischen Tracking Technologien von Metaio LE ID Marker sind die einfachsten und am schnellsten zu erkennenden Mar ker in Metaio Ein Mobiltelefon kann ca 10 bis 30 ID Marker ohne Performance Einbu en handhaben LLA Marker LLA steht f r Latitude Longitude Altitude deutsch L ngengrad Breitengrad und H he und ist ein Format zur Definiti on von Geo Positionen auf dem Globus W hrend die H he in Metern ber dem Meeresspiegel gemessen wird sind die Breite und die L nge in Grad geme
36. gegeniiber Skalierung Lichtwechsel teilweise Verdeckung und perspektivischen Ver nderungen Einen Uberblick iiber lokale Merkmalbeschreibung findet man in der Arbeit von Mikolajczyk et al MS05 Der generelle Ablauf des SIFT Algorithmus erfolgt dabei ber vier Schritte e die Extremumdetektion im Skalenraum mit Hilfe einer GauBdifferenzfunktion e die Exakte Schl sselpunkt Lokalisierung mit Hilfe eines Orts und Skalenmodells e das Zuweisen von Orientierungen pro Schl sselpunkt e die Generierung der Schliisselpunktbeschreibung SIFT ist zwar in der Objekterkennung weit verbreitet jedoch ist es sehr rechenleistungsin tensiv WRM 08 2 4 5 Vereinfachtes SIFT Verfahren Um das Problem der groBen Rechenlast zu l sen entwickelten Werner et al in der Arbeit Pose tracking from natural features on mobile phones WRM 08 ein vereinfachtes SIFT Verfahren welches die 3D Position eines 2D Objektes sch tzt Auf Grundlage diese Verfahrens entwickelten Niels Henze et al in der Arbeit What is That Object Recognition from Natural Features on a Mobile Phone das Verfahren weiter In diese Arbeit wird ein markerloses Objekterkennungsverfahren beschrieben welches mit mehreren Kamerabildern von einem mobilen Telefon Bilder und sogar Objekte erkennt HSB09 Das Verfahren kombiniert dabei ein vereinfachtes SIFT Verfahren einen skalierbaren Vocabulary Tree und einen einfachen Feature Matching Algorithmus 2 5 Zusammenfassung Das
37. gleichzeitig zu erkennen werden in der Regel QR Codes zur Initialisierung verwendet In alternativen Verfahren muss der Anwender fiir jedes einzelne Objekt die entsprechende Anwendung ber ein Benutzermen ausw hlen Der Grund hierf r liegt in der Komplexit t bei der Erkennung von gro en Punktwolken F r jedes potentielle Objekt das erkannt werden soll muss permanent eine angelernte Punktwolke im Ger tespeicher gehalten und wiederholt mit den aktuellen Kamerabildern abgeglichen werden Damit kommen die mobilen Ger te sehr schnell an ihre Leistungsgrenze da die gro en Datenmengen hier nicht nur entsprechend viel Speicher sondern insbesondere auch eine hohe Prozessorlast erfordern Erst wenn vom System eine der Punktwolken verifiziert wurde k nnen die anderen Punktwolken verworfen und die Verfolgung der Szene sowie deren virtuelle berlagerung gestartet werden siehe Abbildung 1 3 Aus diesem Grund begrenzen die unterschiedlichen Entwicklungsumge bungen f r AR die Anzahl der Objekte die gleichzeitig markerlos erkannt werden k nnen In dem SDK von metaio welches in dieser Arbeit als Grundlage f r AR Anwendungen dienen soll ist die maximale Anzahl nach eigenen Angaben auf 15 limitiert Jedoch machen sich schon kleinere Anzahlen sehr stark in einer sinkenden Framerate der Anzeige beim Tracking bemerkbar Abbildung 1 3 Gleichzeitiger Abgleich mehrerer 3D Punktwolken Das System muss alle Punktwolken im Speicher halten und dies
38. glich jedoch fiel bei Projektstart deshalb die Entscheidung f r das System von Metaio In Bezug auf Positions und Orientierungsbestimmung zur Initialisierung von AR Anwendungen ist auff llig dass die meisten besonders die kleineren AR Applikationen eher station re Anwendungen sind bei denen in erster Linie eine Vielzahl von Bild ID Markern erkannt werden m ssen Oft handelt es sich auch um ortsgebundene Augmentierungen die ber die GPS Position und den Orientierungssensor dem Anwender auf seinen Standort bezogene Informationen im Display anzeigen Jedoch liefert die GPS Ortung in der Regel nur au erhalb von Geb uden verl ssliche Ergebnisse Um eine Ortung in Innenr umen zu gew hrleisten bzw eine Positionsbestimmung vorzunehmen erfolgt die Initialisierung zum Beispiel durch visuelle Marker oder die Drahtlose Innenraum Positionierung Beispielhafte Verfahren hierf r sind RFID bzw NFC aber auch die neu entwickelte Bluetooth Low Energy kurz BLE Technik die mit Hilfe sogenannter iBeacons eine Lokalisierung in Innenr umen erm glicht Eine weitere Methode ist die Ortung ber sogenannte WLAN Fingerprints Hier werden Referenzpunkte in einem WLAN Netz bestimmt und die Signalst rken vermessen um eine sogenannte RadioMap zu erzeugen Bei der Ortung eines Ger tes wird die ak tuelle Signalst rke zu den unterschiedlichen Hotspots mit der RadioMAp verglichen und die entsprechenden Referenzpunkte bestimmt Es existieren auch optisc
39. hnlich aufgebaut sind die ID Marker von Metaio die es erm glichen bis zu 512 verschiedene Marker fast ohne LeistungseinbuBe zu verwenden 3 Somit ist diese Art von Marker der einfachste und schnellste Weg um eine Ortsbestimmung gerade in Innenr umen durchzuf hren In dem Forschungsprojekt DIB Dienstleistungen im industriellen Bauprozess werden Bauabl ufe sowie Planungs und Realisierungsprozesse mit Hilfe von Augmented Reality optimiert CG11 ber eine mobile App k nnen in Echtzeit dreidimensionale Baupl ne ber die Aufnahmen des Bauobjektes projiziert werden 17 F r die Initialisierung und die damit ver bundene Ortsbestimmung wird in diesem Projekt auf klassische QR Codes zur ckgegriffen siehe Abbildung 2 7 links Ein Studienprojekt der Hochschule Reutlingen besch ftigt sich ebenfalls mit der Problematik der automatischen Initialisierung und der damit verbundenen Positions und Orientierungsbestimmung f r AR Tracking Hier wird f r die Entwicklung einer AR Schnitzeljagd f r interessierte Sch ler im Fachbereich Informatik auf die so genannten LLA Marker Latitude Longitude Altitude von Metaio zur ckgegriffen um ortsgebundenen AR Inhalte in der Anwendung zu laden Thill Wo in Au enbereichen blicherweise mittels GPS Ortung eine ungef hre Position bestimmt werden kann k nnen mit Hilfe der LLA Marker auch in Innenr umen die ben tigten Positionsdaten ber den QR Code hnlichen Marker an die Anwendung bermittelt werden
40. ihm wenn er sich einem Ausstellungsst ck n hert passende Informationen auf dem Ger t anzeigt werden k nnen Wireless LAN Viele Indoornavigationssysteme arbeiten zur Zeit mit der Wireless LAN kurz WLAN Tech nologie Es liegt auf der einen Seite daran dass diese Technologie inzwischen ausgereift ist http goo gl XmQtwn Stand 19 Januar 2015 2http g00 gl aZWSTt Stans 20 Januar 2015 http goo gl L84dPz Stand 20 Januar 2015 https developer apple com ibeacon Stand 31 Januar 2015 https www apple com de 2 4 Positions und Orientierungsbestimmung fiir AR Tracking Abbildung 2 8 Abbildung links zeigt die Ortsbestimmung ber das iBeacon Aktuelle Angebote in einem Laden werden dem Endkunden direkt auf das Handy geschickt sobald er den Laden betritt http goo gl u42w7K Stand 16 Januar 2015 Abbildung rechts zeigt die Lokalisierung der Referenzpunkte einer WLAN Fingerprinting Umgebung Kup05 und auf der anderen Seite besteht der Vorteil darin dass die meisten mobilen Ger te die Technik unterstiitzen Wie bei der Beacon Technologie die mit BLE Technik arbeitet wird auch bei der Positionsbestimmung Ober WLAN mithilfe der Reichweite und der Schnitt punkte verschiedener WLAN Hotspots die aktuelle Position sehr pr zise berechnet Dabei greifen die meisten Systeme auf eine Messung der Signalst rken RSS des Signal Rausch Abstandes SNR oder auf das sogenannte Proximity Sensing zuriick Wichtig
41. ist 4 2 Android und Eclipse Ein Android Application Projekt besteht aus einer Vielzahl von Dateien die zusammen das Android Projekt beschreiben siehe Abbildung 4 1 Vergleichbar mit einem Java Projekt in Eclipse befinden sich die Klassen in dem src Ordner Hier werden sie weiter in Packages unterteilt Die androidspezifischen Klassen werden als Activity bezeichnet und stellen die Funktionalitaten der App bereit Die Benutzeroberflache wird in einer XML Datei beschrie ben die unter dem Resourcen Ordner res unter layout abgelegt wird Grafiken und Icons werden in den drawable Ordnern hinterlegt In Android soll so viel wie m glich mehrfach verwendet werden k nnen So sollen zum Beispiel Texte wie das Label eines Buttons nicht direkt in den Quellcode geschrieben werden diese k nnen in der strings xml die im Ord ner values abgespeichert ist ber eine String Definition hinterlegt werden Dieser Ansatz macht es leichter die Anwendung in mehrere Sprachen zu bersetzen Mit dem gleichen 4 2 Android und Eclipse Ansatz k nnten auch Farben definiert werden um diese an unterschiedlichen Stellen in der Anwendung zu verwenden Hierfiir muss eine entsprechende Resources Datei mit dem Na men colors xml unter dem Ordner values abgelegt werden Die AndroidManifest xml ist das Herzstiick einer Android Anwendung Diese Datei muss in jeder Anwendung mit ge nau diesem Namen im Stammverzeichnis liegen Hier werden wichtige Informationen un
42. reduziertes RGB Histogramm erzeugt und in der zweiten werden regionale RGB Mittelwerte aus dem Bild ermittelt Beide Klassen werden in ihrer Funktionsweise und Umsetzung in den folgenden Abschnitten erl utert 4 5 1 Minimal Histogramme Ein RGB Bild besteht aus drei Farbkomponenten jeweils ein Farbkanal beinhaltet je eine der drei Grundfarben rot griin und blau Die Farbtiefe auch Datentiefe genannt gibt an wie viele unterschiedliche Farben f r ein Bild zur Verf gung stehen Zu beachten ist dass dabei nicht die Menge der Farben genannt wird sondern die Anzahl der f r die Farbinformationen verwendeten Bits Bei einem RGB Bild bedeutet eine Farbtiefe von 24 Bit dass pro Farbkanal 8 Bit 3x 8 24 f r die Farbinformationen verwendet werden Das hei t dass pro Farbkanal bei 8 Bit Farbtiefe 2 256 Farbabstufungen zur Verf gung stehen Daraus ergeben sich bei drei Farbkan len insgesamt 256 16 7 Millionen Farben die jedes Pixel annehmen kann Diese Farbabstufungen werden auch Helligkeitswert oder Tonwert genannt Bei einem Graustufenbild bedeutet das dass jedes Pixel einen Wert zwischen 0 und 255 annehmen kann Je h her der Tonwert desto heller das Pixel Das bedeutet ein Wert von 0 steht f r Schwarz ein Wert von 255 f r Wei Entsprechend des Graustufenbildes l sst sich ein RGB Bild in drei Halbtonbilder in den Grundfarben aufteilen Die RGB Kan le k nnen als Farbebenen betrachtet werden die als Halbtonbilder die Werte
43. somit zuriickgegeben auch wenn ein nicht angelerntes Objekt fokussiert wurde Hier kommt das NULL Objekt zum Einsatz das in diesem Fall die Fehlanzeige kenntlich machen soll Das wird aber nur erreicht wenn das NULL Objekt eine ausreichend groBe Wahrscheinlichkeit aufweisen kann Daher miissen fiir das NULL Objekt besondere Trainingsdaten hinterlegt werden die sich deutlich von den Daten der angelernten Objekte abheben miissen aber auch das Umfeld noch ausreichend wiedergeben Wenn das NULL Objekt erkannt wird wird ein Hinweis ausgegeben dass kein Objekt gefunden wurde Wenn in diesem Fall das automatische Suchen ber die Auto Scan Einstellung in den Einstellungen aktiv ist wird der Suchvorgang nach einem passenden Objekt erneut gestartet 4 7 Weitere Systemfunktionen Neben der Hauptactivity und den beiden Activity Klassen die die Phasen des Verfahrens repr sentieren gibt es noch die Activitys die fiir die Verwaltung des Systems verantwort lich sind Die Systemeinstellungen wurden in den vorhergehenden Abschnitten immer wieder erw hnt jedoch nicht genauer vorgestellt Die Aufgaben der Anwendungseinstellungen un terteilen sich in zwei Bereiche e die allgemeinen Systemeinstellungen e die Verwaltung der Trainingsdaten Die allgemeinen Systemeinstellungen stellen M glichkeiten zur Modifikation der Anwendung zur Verf gung die das Arbeiten und Testen erleichtern In dem Datenverwaltungsbereich k nnen Trainingsdaten ausgew
44. sonst kein anderes angelerntes Objekt erkannt wird Das Hinzuf gen der Trainingsdaten des NULL Objektes hat jedoch Auswir kung auf die Erkennungsrate der einzelnen Objekte da f r eine robuste Erkennung des NULL Objektes eine Vielzahl von Trainingsdaten ben tigt wird Diese Daten k nnen auch Charakteristika enthalten die denen eines angelernten Objekt hneln k nnen Dann wird statt des Objektes das NULL Objekt erkannt In einem Testverlauf mit 50 Messungen konn te ein Abfall der einzelnen Erkennungsraten der Objekte von 4 bis 20 verzeichnet werden ber einen Ausf hrungszeiten Test wurden die unterschiedlichen Methoden zur Bil derfassung untersucht Es wurde festgestellt dass die Variante in dem das Bild von der TextureView ausgelesen wird und nicht ber eine Kamera Callback Methode ermittelt wird einen deutlichen Zeitvorteil bietet Da im vorliegenden Fall die Bildqualit t keine gro e Rolle spielt bietet diese Bilderfassung die effektivste L sung Kapitel 7 Zusammenfassung Ergebnisse und Ausblick Im Rahmen dieser Arbeit wurde das Verfahren TBOC entwickelt und seine Funktionsweise beschrieben Das Verfahren erm glicht eine markerlose Initialisierung zum Laden von komplexen AR Szenarien ohne Benutzereinwirkung oder weitere Hardware Wenn reale Objekte als AR Referenz dienen wird auf das sogenannte 3D Markerless Verfahren zuriick gegriffen Bei diesem Verfahren werden Punktwolken mit Tiefeninformationen verwendet Diese Pun
45. von m 0 34 und einem Korrelationskoeffizienten von r 0 9998 linear ansteigt e Welche St rfaktoren beeinflussen das Ergebnis Hat der Radius beim Anlernen eines Objektes Auswirkungen auf die gesamte Erken nungsrate e Ver ndert sich die Erkennungsrate bei Zunahme von Trainingsdaten und oder zu er kennenden Objekten e Hat die Anzahl der Trainingsdaten oder der Objekte Auswirkungen auf die Zeit die f r die Erkennung ben tigt wird 6 2 Performance des TBOC Verfahrens In diesem Abschnitt soll dargelegt werden wie sich die Anzahl der Trainingsdaten auf die Gr e der Datensatz Datei aber auch auf das Daten Modell auswirkt Hierf r werden Trainingsdaten Dateien mit einer unterschiedlichen Anzahl von Objekten und oder Trai ningsdaten erstellt 6 2 1 Auswirkungen auf die Dateigr e der Trainingsdaten Zun chst erfolgt die Darstellung der Abh ngigkeit der Anzahl von Trainingsdaten auf die Dateigr e der Trainingsdaten Datei ARFF Datei Hierf r werden die Datens tze in Zehner Schritten erh ht Abbildung 6 1 zeigt dass sich die Dateigr e bei einer Steigung von m 0 34 und einem Korrelationskoeffizienten von r 0 9998 nahezu linear verh lt Bei einer Datei mit 100 Trainings Datens tzen ergibt sich eine Dateigr e von 38kb 6 2 Performance des TBOC Verfahrens Wie im folgenden Abschnitt 6 3 1 dargelegt werden in der Regel zwischen zehn bis 25 Trainingsdatens tze fiir jedes zu erkennende Objekt ben tigt
46. 2 Die wichtigsten Zustande einer Android Activity Die Rechtecke stellen Callbackmethoden dar die implementiert werden k nnen um Operationen durchzuf hren wenn der Zustand der Activity sich ndert Die farbigen Ovale stehen f r die Zust nde der Activity http developer android com reference android app Activity html Stand 14 Februar 2015 48 4 2 Android und Eclipse Der Grundaufbau einer Android Activity ist im folgenden Code Beispiel 4 2 dargestellt Listing 4 2 Android Activity package de thm androidapp import android app Activity import android os Bundle public class MainActivity extends Activity Override protected void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout activity_main Override protected void onPause Override protected void onResume super onResume J MainActivityjava d activity_main xml 23 a D 22 ouine X 4 Palette ru dy Nexus One A y AppTheme v Mainactivity r GR Y LinearLayout Esatto d F Ab textView1 Large Text C Form Widgets op pm op DORR aaaaa a Tem Il Text Fields imageView1 ic_launcher o ox button Button gt Images amp Modia ES imageview ImageButton Gallery MediaController D VideoView LI Time 8 Date 1 Transitions Advanced L Other Abbildung
47. 50 Objekten und 100 Datens tzen eine Zeitspanne von 13 64 Sekunden Das Anlernen und das Erkennen von Objekten kann in zwei Varianten unterteilt wer den Hierbei handelt es sich um das statische Anlernen oder Erkennen wenn das Objekt aus der optimalen Betrachtungsposition also dem direkten Blick von vorne auf das Objekt angelernt und erkannt wird Beim dynamischen Anlernen und Erkennen versucht man m glichst alle m glichen Positionen und Blickwinkel auf das Objekt beim Anlernen abzudecken Hierbei ist zu beachten dass bei einer 360 Grad Abdeckung der Kompass Wert keine nennenswerte Rolle mehr in der Erkennung spielt und es so zu Erkennungsfehlern kommen kann Trotzdem ist es m glich eine hohe Erkennungsrate zu erzielen In einem Labortest wurde die Notwendigkeit des dynamisches Anlernens zur Verbesserung der Erkennungsraten best tigt Gerade in einem Museumsbetrieb muss damit gerechnet werden dass die Besucher aus jeder denkbaren Position versuchen ein Objekt zu erkennen Bei der Betrachtung der Erkennungsrate in Bezug auf die Anzahl der Trainingsdaten wurde festgestellt dass die Erkennungsrate sich durch die Erh hung der Trainingsdaten grunds tzlich verbessert Jedoch gibt es immer Objekte die von ihren Daten her dominanter sind als andere Im Sinne der Optimierung ist es nicht sinnvoll die Datensatz Anzahl am schw chsten Objekt auszurichten sondern mit einer flexiblen Rate zu arbeiten Es sollten nur so viele Trainingsdaten pro Objekt
48. 6 Aufbau der Android Anwendung handen sind und die Activity navigiert die Anwendung zuriick zum Hauptfenster der MainActivity Wenn die geladene ARFF Datei Datens tze beinhaltet wird ber die Methode createModel ein Objekt vom Typ tbbc util ObjectClassifier erzeugt Uber dieses Classifier Objekt kann anhand des Featurevektor wie im Abschnitt 4 4 2 be schrieben sp ter die Klassifikation erfolgen Der folgende Quellcode zeigt wie ber das ObjectClassifier Objekt das Modell im Speicher des Ger tes abgespeichert wird Listing 4 33 Das Erzeugen eines Modells ber die ObjectClassifier Klasse import java io ObjectOutputStream import tboc util ObjectClassifier public void createModel String modelPath String arffPath throws Exception ObjectClassifier objectClassifier new ObjectClassifier classifierName objectClassifier createModel arffPath Save objectClassifier object ObjectOutputStream modelOutObjectFile new ObjectOutputStream new FileOutputStream modelPath modelOutObjectFile writeObject objectClassifier modelOutObjectFile close Wenn einmal ein Modell im Speicher f r die jeweilige ARFF Datei abgelegt ist wird das Modell beim ffnen der ObjectClassifyActivity nicht geladen Wenn die Trainingsdaten sich jedoch seit dem Erstellen des Modells ge ndert haben kann ber das Men in der ActionBar der Actvity das Modell von Hand neu geladen werden Um gerade f r Testzwecke das st ndige
49. 9 4 ANWENDUNGSENTWICKLUNG 80 Best tigen des FERT G Buttons wird anhand der Listeneintr ge und der createARFF Methode ein leere Datensatz Instanz erstellt in der die Listeneintr ge dem nominalen At tribut zugeordnet werden und der somit die zu erkennenden Objekte repr sentiert Der zur ckgegebene Datensatz vom Typ weka core instances wird anschlie end mit Hilfe der weka core converters ArffSaver Klasse abgespeichert Damit die neu angelegte Datei auch gleich im System geladen ist wird sie noch in den SharedPreferences als fileName eingetragen Hierf r wird ber den android content SharedPreferences Editor eine nderung in dem entsprechenden Eintrag vollzogen siehe Quellcode 4 41 Listing 4 41 ndern der SharedPreferences ber den SharedPreferences Editor SharedPreferences preferences PreferenceManager getDefaultSharedPreferences this Editor editor preferences edit editor putString listpref fileName editor commit Das L schen von Trainingsdaten in der tboc gui ManageDatasetFilesActivity verh lt sich im Prinzip wie das L schen von einzelnen Objekten in der Liste beim Anlegen der Trainingsdaten Datei Zun chst wird der Ordner der Trainingsdaten ausgelesen und f r jede Datei im Ordner ein Listeneintrag mit dem Dateinamen in einer ListView angelegt Wie im vorangegangenen Abschnitt besteht auch hier die Liste aus einer Text und Bildkomponente Auch hier wird der Liste ein delete Icon ange
50. AMI 2005 188 ISSN 0162 8828 MEIER R SCHMIDT J Android App Entwicklung Die Gebrauchsanlei tung f r Programmierer Wiley 2014 https books google de books id kZNPAWAAQBAJ ISBN 9783527681402 MILGRAM Paul TAKEMURA Haruo UTSUMI Akira KISHINO Fumio Augmented reality a class of displays on the reality virtuality continuum http dx doi org 10 1117 12 197321 Version 1995 Ni L M Liu Yunhao LAU Yiu C PATIL A P LANDMARC indoor location sensing using active RFID In Pervasive Computing and Commu nications 2003 PerCom 2003 Proceedings of the First IEEE International Conference on 2003 S 407 415 OEHME Olaf Ergonomische Untersuchung von kopfbasierten Displays f r Anwendungen der erweiterten Realit t in Produktion und Service RWTH Aachen University Diss 2004 1 176 S PEARSON Karl On the Criterion that a given System of Deviations from the Probable in the Case of a Correlated System of Variables is such that can be reasonably supposed to have arisen from Random Sampling In Philosophi cal Magazine 50 1900 157 175 http www economics soton ac uk staff aldrich New 20Folder kpreaderl1 htm PETERSOHN Helge Data Mining Oldenbourg Verlag 2005 PFLEGING Bastian SCHMIDT Albrecht MICHAHELLES Florian Ubiqui tous Connectivity in the Mountains Enhancing the Ski Experience In Perva sive Computing IEEE 12 2013 April Nr 2 S 5 9 ISSN 1536 1268 ROBERTSON
51. AUSWERTUNG DES TBOC VERFAHRENS 104 o d o ww S gt e ere S Erkennungsrate in boys ooo o o o 3 6 9 12 15 18 21 Anzahl der Datens tze pro Objekt Pi mit den F en Die Deutschlandtour Knack den Code Abbildung 6 10 Bei den drei Exponaten die in der Mathematikum Anwendung exempla risch implementiert wurden werden die Erkennungsraten ermittelt Hierf r wird die Anzahl der Trainingsdatens tze so lange erhoht bis alle drei Exponate eine Erkennungsrate von 100 aufweisen 6 3 2 Erkennungsraten in Bezug zu den Trainingsdaten Mit der Erkenntnis dass dynamisches Anlernen im allgemeinen die Erkennungsrate verbes sert und somit auch gerade im Museumsbetrieb eine bessere Erkennung gew hrleistet da man nicht sicher sein kann von wo ein Besucher versucht das Exponat zu erkennen soll in einer Auswertung festgehalten werden wie sich die Erkennungsrate im Museumbetrieb in Bezug auf die Anzahl der Datens tze verh lt Hierf r werden die drei Exponate die in der Mathematikum Anwendung exemplarisch implementiert werden dynamisch angelernt und die Erkennungsraten jedes einzelnen Objektes ermittelt In jedem Durchlauf werden f r die Exponate jeweils drei neue Trainingsdatens tze angelernt Es stellt sich heraus dass das Exponat Die Deutschlandtour schon im ersten Durchlauf mit jeweils drei Trainingsdaten sehr dominant die Erkennungsrate beeinflusst Zum einen wird das Exponat durchweg mit 100 erkannt zum anderen h
52. Begriffe aus der Animationstech nik Die Schliisselbildanimation auch Keyframe Animation ist ei ne Animationstechnik die urspriinglich aus der Produktion von Zei chentrickfilmen stammt Die Schliisselbilder geben grob den Bewe gungsablauf vor der in der Folge durch Zwischenbilder verfeinert wird Klasse unter Java ist es das wichtigste Sprachelement und beschreibt einen komplexen Datentypen Klassen beinhalten Attribute und Methoden 125 GLOSSAR 126 Konstante LBS List LLA Marker Magnetometer Marker Methode Motion Path Motion Capturing NFC steht fiir einen Beh lter fiir eine Gr Be in einem Computerprogramm die nach der Zuweisung nicht ver ndert werden kann engl Location based Services steht fiir Standortbezogene Dienste Damit werden mobile Dienste beschrieben die unter Zuhilfenahme von positionsabh ngigen Daten dem Endbenutzer selektive ortsge bundene Informationen bereitstellen die verkettete Liste ist in der Informatik eine dynamische Datenstruk tur die eine Speicherung von miteinander in Beziehung stehenden Objekten erlaubt Die Anzahl der Objekte ist im Vorhinein nicht be stimmt ist die Abk rzung fiir Lattitude Longitude Altitude also in deutsch L ngengrad Breitengrad und H he ber dem Meeresspiegel ist ein Sensor in mobilen Telefonen zur Messung magnetischer Flussdichten Mit Hilfe des Magnetometer kann die Ausrichtung des Ger tes nach Himmelsrichtungen Kompas
53. CAMPUS IEM FRIEDBERG eeh m THM TECHNISCHE HOCHSCHULE MITTELHESSEN Entwicklung eines Verfahrens zur automatischen Initialisierung f r Augmented Reality Anwendungen Studiengang Medieninformatik Masterarbeit vorgelegt von Hans Christian Arlt geb in Frankfurt am Main durchgef hrt in der Technischen Hochschule Mittelhessen Friedberg Referent der Arbeit Prof Dr Cornelius Malerczyk Korreferent der Arbeit Prof Dr Michael Guckert Fachbereiche Informationstechnik Elektrotechnik Mechatronik IEM und Mathematik Naturwissenschaften und Datenverarbeitung MND Friedberg 2015 F r meinen geliebten Neffen und Patenkind Joshua Samuel Fredrik Brage Danksagung Bei einigen Personen die zum Gelingen dieser Arbeit beigetragen habe m chte ich mich an dieser Stelle bedanken Ein ganz besonderer Dank gilt meinen Eltern die mich auch noch nach meinem Bachelorabschluss in der Zeit meines Masterstudiums sowie w hrend der Zeit in der ich diese Arbeit verfasst habe bestm glich unterst tzt haben Weiterhin m chte ich mich bei meiner Freundin Natalie bedanken f r ihre Unterst tzung und Ermutigung wenn ich nicht mehr weiterwusste Meinen Freunden danke ich f r das Verst ndnis dass ich f r eine Zeit nicht mehr zu erreichen war Ein gro er Dank geht an meinen Referenten Professor und Mentor Prof Dr Cornelius Malerczyk der mich unterst tzt und mir erm glicht hat mir neben dem Masterstudium Erfahrungen in L
54. Damit ist die Wahrscheinlichkeit von A B eine sogenannte bedingte Wahrscheinlichkeit Mit dieser bedingten Wahrscheinlichkeit kann dann eine Absch tzung getroffen werden wie glaubhaft die Aussage A B ist Bedingte Wahrscheinlichkeiten sind ein geeignetes Mittel eine Wahrscheinlichkeit f r ein Ereignis anzugeben f r das bereits vorhandenes Wissen eine gro e Relevanz hat Die bedingte Wahrscheinlichkeit also die Wahrscheinlichkeit von A unter der Bedingung von B wird als Formel wie folgt dargestellt p A B 3 1 3 5 Entwicklung des Verfahrens TBOC Aus dem Produktgesetz und dem Summengesetz lassen sich alle Gesetze der Wahrschein lichkeitstheorie ableiten die fiir das Bayes Theorem ben tigt werden Nach Cox Cox46 und Jaynes Jay95 wird das Produktgesetz der Wahrscheinlichkeit in folgender Weise beschrie ben P AB C P AIC P B AC P B C P A BC 3 2 mit P S C 1 3 3 und das Summengesetz P A C P A C 1 3 4 In dieser Formel stehen die Variablen A B und C fiir allgemeine Aussagen S ist die sichere Aussage was bedeutet dass sichergestellt ist dass S definitv wahr ist wenn die Bedingung C wahr ist und A steht f r die sogenannte Negation also die Verneinung der Aussage A Aus dieser Formel erhalt man die Definition der bedingten Wahrscheinlichkeit wie sie in der tradi tionellen Statistik dargestellt wird indem die Bedingung C im Produktgesetz vernachl ssigt und nach der bedingten Wahrscheinlichkeit Forme
55. Datenspeicherverbrauch sowie die Zeit die f r die Erstellung des Datenmodells ben tigt wird untersucht Die wichtigsten Erkenntnisse brachte jedoch die Auswertung der Erkennungsraten und der Zeit die f r eine Erkennung ben tigt wird Das aus dieser Arbeit resultierende Verfahren erm glicht es Objekte oder rtlichkei ten in Innenr umen und Au enbereichen zu erkennen die dem System vorher bekannt sind Dies schafft die Voraussetzungen f r eine gezielte Initialisierung von AR Inhalten f r das markerlose 3D Tracking sowie f r das Laden jeglichen positionsbezogenen Inhaltes in einer mobilen Anwendung Die Anforderungen die durch Anwendungsszenarien des Industriepart ners des Projektes PIMAR definiert sind wurden in der Konzeptentwicklung ber cksichtigt Das TBOC Verfahren verwendet daher keine visuellen Marker es ist keine Anschaffung oder Installation von weiterer Hardware wie einer WLAN Infrastruktur oder die Nutzung von iBeacons etc von N ten W hrend der Nutzung des Verfahrens in mobilen Anwendungen ist kein Datenaustausch ber Mobilfunknetz oder WLAN vorgesehen da die ben tigten Daten direkt in der Anwendung auf dem Ger t des Anwenders hinterlegt sind Um gro en Speicherverbrauch zu vermeiden werden keine Bilder abgespeichert sondern neben den Sensorwerten des Magnetometers des Gyrometers und eventuell des GPS werden die Bilder die die Ger tekamera aufnimmt ber zwei Bildanalyse Algorithmen untersucht und lediglich die
56. Der Leonardo Mann zwei in einer Reihe Abbildung 6 12 Verlauf der gesamten Erkennungsrate bei Erh hung der Objekte Die blaue Linie zeigt den Mittelwert der Erkennungsrate aller Objekte im Verlauf des Testes an Die rote und gr ne Linie zeigt zum Vergleich die Erkennungsraten von zwei Objekten die seit dem ersten Testdurchlauf ber cksichtigt werden Es ist zu erkennen dass mit Zunahme der Objekte die gesamte Erkennungsrate sinkt es jedoch Exponate gibt die durchg ngig eine Erkennungsrate von ber 90 aufweisen wurden Hierbei l sst sich ablesen dass Exponate ber den gesamten Messdurchgang gut erkannt werden und andere durch das Hinzuf gen weiterer Objekte in ihrer Erkennungsrate sinken Wenn Objekte mit hnlichen Werten hinzukommen werden diese h ufig unterein ander falsch erkannt Hingegen k nnen sich dominante Exponate also Objekte mit sehr eindeutigen Werten in der Vielzahl von Objekten durchsetzen Die Abbildung 6 13 zeigt den Verlauf jedes einzelnen Exponates mit Hilfe eines Balkendiagramms Im Vergleich mit den Bildern der Exponate in Abbildung 6 11 kann nachvollzogen werden dass einzelne Objekte hnlichkeiten in den Farbwerten des gesamten Bildes als auch einzelner Bildregionen auf weisen Das f hrt bei der Auswertung der optischen Werte zu hnlichen Ergebnissen Da alle Exponate mit einer gleichen Anzahl von Trainingsdaten angelernt werden k nnen schwa che Exponate Objekte die durch ihre optischen
57. Duncan CIPOLLA Roberto An Image Based System for Urban Navigation In Proceedings of the British Machine Vision Conference BMVA Press 2004 S 819 828 REITMAYR Gerhard DRUMMOND T W Initialisation for Visual Tracking in Urban Environments In Mixed and Augmented Reality 2007 ISMAR 2007 6th IEEE and ACM International Symposium on 2007 S 161 172 Literaturverzeichnis Sac84 SACHS L Angewandte Statistik Anwendung statistischer Methoden Sprin ger 1984 http books google de books id h5dPQAAACAAJ ISBN 9783540128007 Sac13 SACHS L Statistische Methoden Ein Soforthelfer F r Interessierte in Na turwissenschaft Medizin Technik Wirtschaft Psychologie und Soziologie Springer Berlin Heidelberg 2013 https books google de books id xHWrBgAAQBAJ ISBN 9783642963537 SBS07 SCHINDLER G BROWN M SZELISKI R City Scale Location Recogni tion In Computer Vision and Pattern Recognition 2007 CVPR 07 IEEE Conference on 2007 ISSN 1063 6919 S 1 7 Sch09 SCHOLZE Jan Entwicklung eines integrierten Ansatzes zur Indoor und Outdoor Positionsbestimmung auf Basis einer F deration von Geb udedaten servern Technische Universit t Dresden Diplomarbeit 2009 STKO5 SAYED A H TARIGHAT A KHAJEHNOURI N Network based wire less location challenges faced in developing techniques for accurate wireless location information In EEE Signal Processing Magazine 22 2005 Juli Nr 4
58. Durchfiihrung der Tests wird entsprechend der Struktur des Verfahrens in zwei Bereiche unterteilt den Anlernprozess und die Anwendungsphase Zun chst erfolgt die Untersuchung des Anlern prozesses Hierbei steht die Fragestellung im Mittelpunkt wie sich das System bei unter schiedlichen Randbedingungen verhalt Diese Fragestellung l sst sich wie folgt untergliedern e Wie wirken sich groBe Anzahlen von Trainingsdaten oder eine Vielzahl von zu erken nenden Objekten auf die Gr e der Trainingsdatendatei aus e Wie ver ndert sich die Zeitdauer die das System zum erzeugen des Modells braucht bei einer Erh hung der Anzahl der Datens tze und der Objekte Die zweite Aussage die aus diesem Kapitel gewonnen werden soll ist die Bestimmung der Erkennungsrate in der Erkennungsphase Die Erkennungsrate gibt hierbei Aufschluss ber die Funktionalit t und die Tauglichkeit des Verfahrens f r die Initialisierung von Inhalten und ber die zuverl ssige Erkennung von Objekten Auch hier gibt es verschiedene Abh ngigkei ten und Fragestellungen 93 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 94 60 Dateigr e in kb gt o 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 Anzahl der Trainingsdaten Abbildung 6 1 Die Dateigr e verh lt sich nahezu linear zur Anzahl der Trainingsdaten Die Grafik zeigt dass sich bei der Erh hung der Datens tze in Zehnerschritten die Dateigr e mit einer Steigung
59. Entries an die ListPreference bergeben siehe Quellcode 4 39 Listing 4 39 F llen der Datensatz Auswahllsite ListPreference Ip ListPreference findPreference listpref File PfadObj getExternalFilesDir arff File files PfadObj listFiles String value new String files length for int i 0 i lt files length i value i fileManager parseFileName files i getName Ip setEntries value set displayed text Ip setEntryValues value set associated values F r das Anlegen und L schen von Datens tzen wird jeweils nur ein Intent zu weiteren Ac tivitys aus den Einstellungen aufgerufen F r das Anlegen von Datens tzen und Objekten ist die tboc gui CreateNewDatasetFileActivity zust ndig F r die bessere bersichtlich keit und Struktur beim Anlegen von Dateien wurde hier das Konzept eines ViewSwitcher verwendet Dies erm glicht es in einer Activity das Layout der Anzeige zu ndern DC11 Hier kann dabei zwischen zwei Layouts gewechselt werden und damit der Inhalt von Ein gabemasken bersichtlich verteilt und die Verarbeitungsstruktur in der selben Klasse ver arbeitet werden Das ndern des Layouts kann wie im Quellcode Beispiel 4 40 ber das ViewSwitcher Objekt mit den Methoden showNext und showPrevious ausgel st werden Listing 4 40 Wechseln der View b der den ViewSwitcher ViewSwitcher switcher switcher ViewSwitcher findViewByld R id profileSw
60. Featurevektor bergeben und mit dem Modell verglichen und mit einer bedingten Wahrscheinlichkeit einem der angelernten Objekte zugeordnet Im Rahmen dieser Arbeit wurde eine mobile Entwickler Anwendung implementiert die das TBOC Verfahren repr sentiert Mit Hilfe dieser Anwendung k nnen Objekte mit Trainings daten angelernt und erkannt werden Es stehen zahlreiche Funktionen zur Verwaltung der Trainingsdaten zur Verf gung sowie Funktionen die das Arbeiten und Testen mit dem Verfahren erleichtern Des Weiteren wurde eine prototypische Integration des Verfahrens in die mobile Museums Anwendung des Mathematikums in Gie en beschrieben In dieser Anwendung wird exemplarisch gezeigt wie das Verfahren in einer mobilen Anwendung f r die Initialisierung von komplexen AR Szenarien verwendet werden kann In der Anwendung k nnen drei Exponate des Museums erkannt sowie bei zwei dieser Exponate eine AR Szene geladen werden Beim dritten Exponat wird anhand des Ladens eines Mini Spieles passend zu dem Exponat gezeigt dass dieses Verfahren nicht nur zur Initialisierung von AR genutzt werde kann Es ist m glich jeden beliebigen Inhalt einer Anwendung ortsgebunden zu laden und somit dem Anwender Informationen passend zu seiner Position anzuzeigen Zum Abschluss dieser Arbeit wurden unterschiedliche Test f r die Funktionalit t und Leistung des Verfahrens gemacht Hierbei wurde der Datenspeicherverbrauch sowie die Zeit die f r die Erstellung des Datenmodells b
61. H Michael HAND David J STEINBERG Dan Top 10 Algorithms in Data Mining In Knowl Inf Syst 14 2007 Dezember Nr 1 S 1 37 http dx doi org 10 1007 s10115 007 0114 2 DOI 10 1007 s10115 007 0114 2 ISSN 0219 1377 WAGNER Daniel REITMAYR Gerhard MULLONI Alessandro DRUM MOND Tom SCHMALSTIEG Dieter Pose Tracking from Natural Features on Mobile Phones In Proceedings of the 7th IEEE ACM International Sym posium on Mixed and Augmented Reality Washington DC USA IEEE Computer Society 2008 ISMAR 08 ISBN 978 1 4244 2840 3 125 134 WEIDENHAUSEN J STRICKER D ARVIKA Augmented Reality in Entwicklung Produktion und Service Entwicklung einer Augmented Reali ty Software Plattform Schlussbericht zum Projekt Laufzeit 01 07 1999 bis 30 06 2003 Fraunhofer Inst Graphische Datenverarbeitung 2003 http books google se books id sTnZPgAACAAJ
62. Keine Anschaffung Installation von weiterer Hardware WLAN iBeacon etc e Keine Nutzung von Datenaustausch ber WLAN Mobilfunknetz e Nutzung der vorhandenen Sensorik und der Kamera der mobilen Devices e Datenverarbeitung lokal direkt auf dem Ger t e Kein gro er Datenspeicherverbrauch Um die Datenlast auf dem mobilen Ger t gering zu halten werden die von der Kamera aufgezeichneten Bilder nicht gespeichert Vielmehr werden die Bilder ber zwei Bildanalyse Algorithmen untersucht und die so gewonnene Informationen ber die im Bild vorhandenen Farbwerte und deren regionaler Verteilung mit den restlichen Sensorwerten Magnetometer 1 5 Zusammenfassung der wichtigsten Ergebnisse Gyrometer und eventuell GPS in einen Parameterraum transformiert und im System verar beitet Uber eine statistische Wahrscheinlichkeitsverteilung bestimmt das TBOC Verfahren das zu erkennende Objekt indem es einen Featurevektor mit einem zuvor angelernten Datenmodell vergleicht Hierfiir verwendet das Verfahren einen Bayes Klassikator Dieser setzt voraus dass das System in zwei Phasen unterteilt ist In der ersten Phase der sogenannten Anlernphase werden die gesammelten Daten in Form des Featurevektor erfasst und ber eine Trainingsdatendatei ARFF Datei einem Objekt zugeordnet F r die zweite Phase die Erkennungsphase wird aus den Trainingsdaten ein Datenmodell generiert Die f r die Erkennung gesammelten Bild und Sensorwerte werden ebenfalls als
63. Neuladen per Hand zu vermeiden kann in den Systemeinstellungen ein automatisches Laden des Modells festgelegt werden Der Klassifikations Prozess wird durch Dr cken des Anwenders auf die TextureView oder automatisch beim Aufrufen der Activity gestartet Hierf r muss die Auto Scan Funk tion in den Einstellungen aktiviert sein Das Sammeln von Sensordaten und die Analyse des Kamerabildes ber die beiden Verfahren werden wie auch bei der ObjectTeachActivity durch einen Timer und einen separaten Thread realisiert vergleiche Absatz 4 6 1 Da jedoch beim automatischen Starten der Erkennungsphase die run Methode schneller startet als der SensorEventListener initialisiert wird ist ein Sicherheitsmechanismus in den Thread eingebaut der beim ersten Durchlauf f r eine bestimmte Zeit schlafen gelegt wird siehe nachfolgendes Quellcode Beispiel 4 34 Listing 4 34 Pausieren eines Threads int tempTime 2000 try Thread wartet beim erstmaligen Durchlaufen der Schleife im Thread f r tempTime bis der SensorEventListener initialisiert ist Thread sleep tempTime catch InterruptedException e Da der try Block nur f r den Aufruf der sleep Methode ben tigt wird ist hier keine weitere Aktion von N ten e printStackTrace 73 4 ANWENDUNGSENTWICKLUNG 74 Die gesammelten Daten werden nicht in Listen Objekten gespeichert und am Ende der Durchl ufe gemittelt wie es beim A
64. Philipp Programmierschnittstellen von Augmented Reality Browsern im Rahmen des Projekts Augmenture In Informatics Inside Grenzen berwinden Virtualit t erweitert Realit t 2011 S 6 KERN Christian Anwendung von RFID Systemen 2 verb Aufl Berlin u a Springer 2007 VDI Buch http gso gbv de DB 2 1 CMD ACT SRCHA amp SRT YOP amp IKT 1016 amp TRM ppn 520679199 amp sourceid fbw_ bibsonomy ISBN 978 3 540 44477 0 KLEIN Georg MURRAY David Parallel Tracking and Mapping on a Camera Phone In Proc Eigth IEEE and ACM International Symposium on Mixed and Augmented Reality ISMAR 09 Orlando October 2009 Koch K R Einf hrung in die Bayes Statistik Springer Berlin Heidel berg 2013 https books google de books id 2Jf3BQAAQBAJ ISBN 9783642569708 KuDAK Andreas Evaluation und Anwendung aktueller Entwicklungen im Bereich Bluetooth Low Energy am Beispiel von Beacon Diplomarbeit 2014 KUPPER Axel Location based Services Fundamentals and Operation John Wiley amp Sons 2005 ISBN 0470092319 LINDER Arthur BERCHTOLD Willi Statistische Methoden Birkh user 1982 Liu Pengfei CHEN Yanhua TANG Wulei YUE Qiang Mobile WE KA as Data Mining Tool on Android Version 2012 http dx doi org 10 1007 978 3 642 27951 5_11 In XIE Anne Hrsg HUANG Xiong Hrsg Advances in Electrical Engineering and Automation Bd 139 Springer Berlin Heidelberg 2012 ISBN 978 3 642 27950 8
65. Position innerhalb eines Geb udes bestimmen zu k nnen m ssen zus tzliche Installationen von Hardwarekompo nenten ber cksichtigt werden Hierf r hat sich noch kein Standard durchgesetzt was dazu f hrt dass sehr unterschiedliche Verfahren in Verwendung sind die sich hinsichtlich ihrer Genauigkeit und Kosten noch sehr unterscheiden Sch09 Da der Schwerpunkt dieser Arbeit auf der Verwendung von mobilen Ger ten wie Smartpho nes oder Tablets liegt werden im folgenden Abschnitt nur die Verfahren vorgestellt die auf der einen Seite mit der heutigen Technik von mobilen Ger ten umgesetzt werden k nnen und auf der anderen Seite auch schon den gr eren Anteil der auf dem Markt verbreiteten Anwendungen f r sich beanspruchen k nnen RFID RFID engl Radio Frequency Identification ist eine Technologie f r Sender Empf nger Systeme zum automatischen und ber hrungslosen Identifizieren und Lokalisieren von Objekten mit Radiowellen Durch die geringe Gr e die unauff llige Auslesem glichkeit und den geringen Preis der Transponder werden heutzutage RFID Transponder in sehr vielen Einsatzgebieten genutzt Fin06 GHO7 Seit dem 1 November 2010 befinden sich RFID Transponder in den neu eingef hrten deutschen Personalausweisen Die RFID Technologie erm glicht Waren und Bestandsmanagement und erleichtert so Logistikstrukturen Die http goo gl gtPqBd Stand 19 Januar 2015 2 4 Positions und Orientierungsbestimmung fiir AR
66. Statistische Auswertung Unter der Annahme dass die unterschiedlichen gespeicherten Parameter im Zusammen spiel miteinander ein Objekt beschreiben indem sie in der Anlernphase klassifiziert und somit einem Objekt zugeordnet werden ist der R ckschluss die Hypothese dass ber einen Featurevektor mit entsprechenden Parameterdaten ber eine statistische Auswertung ei ne Wahrscheinlichkeit der Zugeh rigkeit zu einem Objekt berechnet werden kann Hierf r m ssen die Trainingsdaten analysiert und Muster und Abh ngigkeiten ermittelt werden Die se Analyse nennt man auch Data Mining oder Maschinelles Lernen HK00 Helge Petersohn beschreibt den Begriff Data Mining in seinem gleichnamigen Buch wie folgt Data Mining beschreibt somit einen Analyseproze der aus Daten entschei dungsrelevante Zusammenh nge herleitet Die Proze abschnitte werden nicht sequentiell durchlaufen sondern weisen R ckspr nge auf Es handelt sich um einen interaktiven Proze der weitestgehend automatisiert sein sollte Pet05 Also ist das Ziel von Data Mining aus der Analyse bereits bekannter Beispiele eine Beur teilung und Zuordnung unbekannter Daten zu erreichen Nach CFZ09 kann Maschinelles Lernen in folgende Kategorien von Lernzielen unterteilt werden Klassifikation e Clustering e Assoziation e Numerische Vorhersage Regression Das im Rahmen dieser Arbeit zu entwickelnde Verfahren bezieht sich auf die Klassifikation von Objekten Also i
67. TENT definiert werden die daf r sorgt dass sich die Gr e an den Inhalt oder die Gr e des Eltern Objektes bzw der Fenstergr e anpasst Wie im oberen Abschnitt schon erw hnt sollten Texte immer ber die String xml ein gef gt werden Dies wird mit der Deklaration string string name erreicht Hierbei ist der string_name der Name der in der XML Datei zuvor festgelegt wurde Gar11 MS14 Listing 4 3 Layout xml lt xml version 1 0 encoding utf 8 gt lt LinearLayout xmiIns android http schemas android com apk res android android layout_width fill_parent android layout_height fill parent android orientation vertical gt lt TextView android id id textViewl android layout_width wrap_content android layout_height wrap content android text Ostring default_text android textAppearance android attr textAppearanceLarge gt lt EditText android id O id editText1 android layout_width match_parent android layout_height wrap_content android ems 10 android inputType text gt lt requestFocus gt lt EditText gt lt ImageView android id id imageViewl android layout_width match_parent android layout_height 160dp android layout_gravity center android layout_marginBottom 30dp android layout_weight 0 android contentDescription string image_descripton android scaleType fitCenter android src draw
68. Tracking Reichweite liegt fiir die RFID Technologie je nach Anwendungsbereich und Frequenz bei 0 5 10 Metern Durch die recht hohe Reichweite findet die Technologie auch Anwendung bei der Zeiterfassung im Sport Hierbei werden die Transponder am Sportger t an der Kleidung oder an der Startnummer befestigt und dienen als Identifikationsmerkmal Ein gro es Einsatzgebiet ist auch die Zugangskontrolle zum Skilift in den meisten Skigebieten So muss der Skifahrer nur durch das Drehkreuz gehen und das System liest aus der Skikarte die dazugeh rige ID aus die mit einer globalen Datenbank verglichen wird und nach erhaltener Berechtigung das Drehkreuz frei gibt Durch diese Lokalisierungen des Anwenders ist es m glich dem Skifahrer auch eine Statistik ber die von ihm genutzten Lifte und somit im R ckschluss auch auf die von ihm gefahrenen Pistenkilometer und H henmeter etc zur Verf gung zu stellen PSM13 Ker07 Wie dies zum Beispiel von einem Zusammenschluss aus mehreren Skigebieten mit dem Internet Portal skiline seinen Kunden angeboten wird 17 Es gibt auch verschiedene Ans tze mit RFID Technologie Positionsbestimmungen in Innenr umen umzusetzen LDBLO7 Eines der Verfahren ist unter anderem das Prototypsystem LANDMARK ein Ortserfassungssystem f r Innenr ume welches mit aktiven Transpondern arbeitet NLLP03 Ein anderes Verfahren ist SpotON welches einen Aggregations Algorithmus f r eine 3D Ortserfassung auf Basis einer Funk
69. Werte nicht eindeutig zugeordnet werden k nnen sich anderen Exponaten gegen ber nicht durchsetzen Eine teilweise Erh hung der Trainingsdaten kann diese Objekte st rken Eine weitere Ursache die die Erkennungsrate in einzelnen Messdurchl ufen zum Schwan ken bringt ist der u ere Einfluss auf das Objekt Hier kann zum Beispiel eine nderung der Lichtverh ltnisse starker Sonnenschein die Gegebenheiten so stark ver ndern dass eine falsche Erkennung erfolgt Um dies zu verhindern muss in der Anlernphase versucht werden u ere Einfl sse auf das Objekt mit zu ber cksichtigen und damit auch diese Gegebenheiten im System zu hinterlegen Der starke Einbruch der Erkennungsraten der beiden Exponate Die Zykloide und Der Parabelrechner im vorletzten Messdurchlauf ist auf ein solches Problem zur ckzuf hren 6 3 Ermittlung der Erkennungsraten 100 5 90 80 70 60 50 4 40 gt 30 20 10 gt T k 3 Objekte 6 Objekte 9 Objekte Der Leonardo Mann Goldene Schnitt zwei in einer Reihe Das Galton Brett amp Schwingenden Kugeln K rzeste Wege auf dem Globus 2 Paraboloid Die Zyklode Der Parabelrechner L 100 90 80 70 60 50 1 40 30 lt 20 10 D 12 Objekte 15 Objekte 18 Objekte amp Goldene Schnitt zwei in einer Reihe 5 K rzeste Wege auf dem Globus Paraboloid Ein Millionstel Das M biusband Die Riesenseifenhaut m Der Leonardo Man
70. able ic_launcher gt lt Button android id C id button1 android layout_width wrap_content android layout_height wrap_content android layout_gravity center android text string button_text gt lt LinearLayout gt 4 3 Metaio SDK 4 3 Metaio SDK Das SDK von Metaio wird als Bibliothek in das Android Projekt eingebunden und stellt so Klassen zur Verf gung die es erm glichen AR Activitys anzulegen und somit Augmen ted Reality Funktionen in die App einzubinden Das TBOC Verfahren nutzt selber nicht die Funktionalit t des Metaio SDK s da es lediglich die Vorentscheidung zur Initialisierung von Augmented Reality liefert Das bedeutet dass wenn in dem Verfahren ein Objekt er kannt wird eine gew nschte Activity mit einem sogenannten Intent geladen wird siehe Quellcode Beispiel 4 4 Wenn an dieser Stelle eine AR Funktion erw nscht ist kann diese ber eine AR Activity geladen werden Listing 4 4 Activity Aufruf ber ein Intent Start the activity connect to the specified class Intent i new Intent this ActivityName class startActivity i Da die Umsetzung einer AR Activity auf diese Weise auch mit der Entwicklung und Nutzung der TBOC App in Verbindung steht wird im folgenden Abschnitt auf die Besonderheiten und die Funktionalit ten von AR Activitys eingegangen Metaio setzt bei der Nutzung seines SDK s eine Registrierung der Android App im Entwicklerporta
71. al ee en Meta en 12 2 2 4 Head up Displays 12 22 5 A oe Ge Ne SS an N 14 2 22 07 WikitudesApp an Wine ee YO Ee 15 2 3 Agumented Reality Entwicklungsumgebungen 2 222222 15 2 3 1 Qualcomm A oe decd bees teat er Sfr land ac 16 Die Vuforia Tracking M glichkeiten e 17 232 Metal EE 18 Die Metaio Tracking M glichkeiten 22 2 22 19 2 4 Positions und Orientierungsbestimmung f r AR Tracking 20 INHALTSVERZEICHNIS vi 2 4 1 Initialisierung durch visuelle Marker 2 2 22 2222 21 2 4 2 Drahtlose Innenraum Positionierung 21 RED a E 22 NEE lee ae a ra er ME cated Bate te G 23 A A er ce 24 Wireless LAN 2 84 a ts nz 24 2 4 3 Kombination von GPS und visuellem Tracking 2 2 2 2 25 2 4 4 Image Matching Verfahren 2 2 020200 26 2 4 5 Vereinfachtes SIFT Verfahren 2 222222 nme 27 2 5 E ZUSamMMENTASSUNE EENEG 27 Konzeptentwicklung 29 Salle Einleitung a ye et RN Se de 29 3 2 M gliche Anwendungsszenarien 2 a 29 3 2 1 Werkstattbetrieb Terse n 0 nn 30 3 22 Tourismus Stadtf hrung fan ae 31 32 3 Museumisbetrieb ec ie ans a 2er te a BL Bes 32 3 3 Anforderungen Ae ven wa ka AR ee 33 SA SENSO 2 ees te y iere age eee Rn ed a te BE ie Ee 35 3 5 Entwicklung des Verfahrens TBOC 2 2 2 ee 36 3 5 1 Statistische Auswertung 2 22 2 2 20 0002002000 38 3 5 2 Bayes Klassifikator 222222 oo nn 39 Bayes Theofem 2 5 amp 4 ore e
72. angelernt werden wie f r eine homogene Erkennung aller Objekte ben tigt wird So k nnen f r schw chere Objekte bei denen es noch zu falschen Erkennungen kommt zur Stabilisierung zus tzliche Trainingsdaten hinterlegt werden 113 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 114 Mit dem Wissen dass dominierende Objekte oder auch hnliche Objekte die Erken nung anderer Objekte beeinflussen k nnen ist es nachvollziehbar dass die Erh hung der Objektanzahl meist zur Verschlechterung der gesamten Erkennungsrate f hrt Wobei es immer Objekte gibt die mit ihren starken gut zuordnungsf higen Werten durchweg eine gute Erkennungsrate aufweisen Bei 18 Objekten mit jeweils 15 Trainingsdaten hatte kein Objekt eine schlechtere Erkennungsrate als 60 Aber auch hier w rde sich eine Verbesserung einstellen wenn bei den Objekten mit einer geringeren Erkennungsrate die Anzahl der Datens tze erh ht werden Das Prinzip der Einf hrung eines NULL Objektes das zum Abfangen einer falschen Erkennung dient wurde anhand der angelernten Trainingsdaten f r die Mathematikum Anwendung umgesetzt Hierbei wurden dem Trainingsdatensatz die Trainingsdaten des NULL Objektes hinzugef gt Es wurde darauf geachtet dass die Trainingsdaten des NULL Objektes so ausgew hlt wurden dass diese Werte keinem Exponat zugesprochen werden k nnen Mit diesen ausgew hlten Werten muss das NULL Objekt jedoch immer dann eine h here Wahrscheinlichkeit erreichen wenn
73. angezeigt wird Das anzulernende Objekt kann ber eine drop down Liste ausgew hlt werden und das aktuelle Kamerabild wird in der entsprechenden View darunter angezeigt Durch ein Touch Event wird das Sammeln der Daten und die Bildverarbeitung gestartet Das Spei chern und Ablegen in den Trainingsdaten als Featurevektor kann ber einen Speicher Dialog geschehen immer eine Trainingsdatei vorhanden ist wird in der MainActivity mit der Methode createDefaultFile eine default Datei erzeugt und leer ohne Datens tze im System als ARFF Datei abgelegt Da beim erstmaligen Start der Anwendung noch keine Trainingsdaten vorhanden sind ist die Objekt Erkennung noch nicht m glich und der erste Schritt sollte daher das Anlernen von Objekten sein Funktionen wie das neue Anlegen von Trainingsdaten mit zugeh rigen Objekten und das Verwalten wird sp ter im Abschnitt 4 7 n her beschrieben 4 6 1 Die Anlern Phase ber den Men punkt Objekt Anlernen wird die tboc gui ObjectTeachActivity aufge rufen Die Hauptaufgabe der Klasse ist die Realisierung der ersten Phase des Verfahrens Sie ist somit eine reine Administrator Klasse und nur im Verwaltungstool derT BOC Anwendung vorgesehen Wie in Abbildung 4 10 zu sehen ist zeigt die grafische Benutzeroberfl che in einer TextView die vom System erfassten Sensordatenwerte zur Kontrolle an Unterhalb dieser TextView befindet sich eine kleine ImageView die das aktuelle Bild bei der
74. assen zum Laden und 57 4 ANWENDUNGSENTWICKLUNG 58 Speichern von Datens tzen Hier gibt es die M glichkeiten WEKA ber die Da teiendung den entsprechenden Ladevorgang w hlen zu lassen oder die explizite Lade Methode direkt anzugeben Die DataSource Klasse eine innere Klasse der weka core converters ConverterUtils Klasse kann zum Laden von Dateien benutzt werden die das geeignete Datenformat besitzen siehe Quellcode 4 15 Listing 4 15 Laden von Datens tzen import weka core converters ConverterUtils DataSource import weka core Instances Instances datal Instances data2 Instances data3 DataSource read some where dataset arff DataSource read some where dataset csv DataSource read some where dataset xrff Wenn die Datei eine andere Dateiendung hat oder ein expliziter Ladevorgang gewiinscht ist kann dieser direkt aufgerufen werden Der Beispiel Quellcode 4 16 zeigt einen Ladevorgang einer explizit angegeben ARFF Datei Listing 4 16 Explizites Laden einer ARFF Datei import weka core converters ArffLoader import weka core Instances import java io File ArffLoader arffLoader new ArffLoader arffLoader setSource file Instances newDataSet arffLoader getDataSet Das Speichern von weka core Instances Objekten ist so einfach wie das Laden Auch hier stehen wieder zwei Moglichkeiten zur Verfiigung Mit der DataSink Klasse innere Klasse der weka core conv
75. at es auch Einfluss auf die anderen beiden Exponate da es zun chst noch h ufig an Stelle der anderen erkannt wird Diese Fehlerkennungen nehmen mit Zunahme weiterer Trainingsdaten ab Beim Exponat Knack den Code wird ab zw lf Trainingsdatens tzen eine Erkennungsrate von 100 erreicht Das Exponat Pi mit den F en hingegen wird durch Lichtreflexe am Boden fter falsch erkannt Um das schw cher scheinende Exponat zu st rken werden im letzten Durchlauf nur dessen Trainingsdaten um drei erweitert um dann bei allen drei Exponaten eine Erkennungsrate von 100 zu erreichen siehe Abbildung 6 10 6 3 Ermittlung der Erkennungsraten LS HOH WEDDEN a Das Gatton Brett Der Parabelrechner Abbildung 6 11 Ubersicht der 18 Exponate die im Mathematikum fiir den Test der Erken nungsraten bei Erh hung der Objektanzahl herangezogen werden Die Anzahl der Exponate wird in jedem Durchlauf schrittweise immer um drei Objekte erweitert und anschlieBend die Erkennungsrate jedes einzelnen Objektes ermittelt 6 3 3 Erkennungsraten in Bezug auf die Objektanzahl Eine wichtige Erkenntnis die aus diesem Kapitel noch gezogen werden soll ist das Verhal ten der Erkennungsrate in Bezug auf die Objektanzahl Hierfiir werden im Mathematikum bis zu 18 Exponate mit dem System nacheinander angelernt und anschlieBend der Verlauf der einzelnen Erkennungsraten ermittelt Einen Uberblick iiber die einzelnen Exponate die fiir diesen Test ver
76. aten wird ber einen Bayes Klassifikator ein statistisches Modell erzeugt Als Klassifikation wurde der Naive Bayes Klassifikator gew hlt da er einfach zu handhaben ist und solide Ergebnisse liefert In der zweiten Phase der Erkennungsphase werden wieder Sensor Daten ermittelt und in den Parameterraum transformiert Diesmal wird der Featurevektor mit dem Modell verglichen und das gesuchte Objekt klassiert Im n chsten Kapitel wird anhand des hier beschriebenen Konzeptes die Entwicklung der prototypischen Applikation f r das TBOC Verfahren dargelegt Hierbei wird eine Anwendung in Form einer Android App entwickelt die die Funktionsweisen des Verfahrens repr sentiert Sie bietet die M glichkeit zum Anlernen und auch zum Erkennen von Objekten 43 Kapitel 4 Anwendungsentwicklung Auf Basis des aus der vorangegangenen Anforderungsanalyse resultierenden Konzeptes wird nun die prototypische Implementierung des TBOC Verfahrens er rtert Als erstes wird die zu Grunde liegende Infrastruktur dargestellt Hierbei wird auf die benutze AR Entwicklungsumgebung Metaio und die Data Mining Bibliothek WEKA eingegangen und das Zusammenspiel dieser innerhalb der Anwendung erl utert AnschlieBend werden die beiden Phasen des TBOC Verfahrens die sogenannte Anlernphase und die Erkennungsphase wie sie aus dem Konzept hervorgehen und auch durch die Zuhilfenahme eines Bayes Klassifikators wie in 3 5 1 erl utert wurde vorausgesetzt werden detailliert besc
77. ation der Maus ausgef hrt wurde diese gestoppt siehe Beispiel Quellcode 5 1 ber je einen Thread f r Umfang und Durchmesser werden die Schritte der 3D Modelle hochgez hlt und ber TextView Elemente im Display ausgegeben Sobald das Modell den Durchmesser des Krei ses abl uft werden die Schritte dividiert und die Ann herung an Pi im Ergebnis eingeblendet siehe Abbildung 5 3 rechts Listing 5 1 Start der Simulation Pi mit den F en mModel setVisible true mMouse setVisible false mModel startAnimation Take_001 false mMouse stopAnimation 5 1 2 Die Deutschlandtour Im Anwendungsszenario Die Deutschlandtour soll der Museumsbesucher die k rzeste Strecke zwischen elf St dten finden Der Startpunkt ist Gie en und es sollen mit einer Schnur elf St dte verbunden werden Dieses NP vollst ndige Problem ist auch als Problem des Hand lungsreisenden engl Traveling Salesman Problem bekannt Der Begriff NP vollst ndiges Problem stammt aus der theoretischen Informatik und beschreibt komplexe Entscheidungs findungen bei denen davon ausgegangen wird dass die Problematik nicht mit Hilfe eines effizienten Algorithmus gel st werden kann P Die am Startpunkt befestigte Schnur reicht bei der Verbindung aller St dte nur dann bis zur letzten Stadt wenn dieses kombinatorische Problem richtig gel st wird Das sogenannte Problem des Handlungsreisenden kann den Museumsbesucher schnell frustr
78. aus der Analyse gewonnen Werte verwendet Die gesammelten Daten werden in einen Parameterraum transformiert und im System verarbeitet Das entwickelte markerlose Verfahren bestimmt die Objekte ber eine statistische Wahrscheinlichkeitsverteilung anhand eines Vergleiches der Sensordaten und einem zuvor angelernten Datenmodell Hierf r wird auf einen Bayes Klassifikator zur ckgegriffen Somit unterteilt sich das TBOC Verfahren in zwei Phasen In der Anlernphase werden die Daten zu einem Objekt erfasst und ber eine Trainingsdatendatei ARFF Datei einem Objekt zugeordnet Aus dieser Trainingsdatendatei wird vor der Erkennung das Datenmodell generiert Die gesammelten Sensor und Bilddaten werden in der Erkennungsphase als sogenannter Featurevektor mit diesem Modell verglichen und mit einer bedingte Wahrscheinlichkeit einem der angelernten Objekte zugeordnet Das Verfahren wurde mit verschieden Prototypen sowohl unter Laborbedingungen als auch unter realen Bedingungen in einer Museumsanwendung Mathematikum in Gie en getestet Daraus entstand eine finale Prototyp Applikation die die Grundfunktionen des Verfahren in einer Verwaltungsanwendung zusammenf hrt Hier ist es m glich Objekte in Innenr umen und Au enbereichen anzulernen und zu erkennen Die Programmabschnitte sind so modular aufgebaut dass sie leicht in weitere Projekte integriert werden k nnen Die Dateigr e der Daten die auf dem mobilen Ger t gespeichert werden h ngt mit der
79. bestand Hierbei geht es um die Gewinnung von Wissen in der Form von Mustern FBX engl Filmbox ist ein propriet res Dateiformat fbx was heute als allgemeines Austauschformat in den meisten 3D Anwendungen benutzt wird Feature Vektor auch Merkmalsvektor genannt fasst die numerisch parametrisier baren Eigenschaften eines Musters in vektorieller Weise zusammen Feature Vektoren erleichtern eine automatische Klassifikation da sie die zu klassifizierenden Eigenschaften stark reduzieren Frame auf Deutsch Einzelbild im technischen Sinne Laufbild ist in der Filmproduktion Videoproduktion Animation und verwandten Berei chen eines der vielen Standbilder die zusammen das vollst ndig be wegte Bild ergeben GPS engl Global Positioning System ist ein globales Navigationssatelli tensystem zur Positionsbestimmung GUI ist die Abkiirzung fiir Grafische Benutzeroberfl che engl graphical user interface und ist eine Bezeichnung fiir eine Form einer Benut zerschnittstelle eines Computers Sie hat die Aufgabe Anwendungs software auf einem Rechner mittels grafischer Symbole oder Steuer elementen bedienbar zu machen Gyrometer Hier die Bezeichnung f r einen Sensor in mobilen Telefonen Gyrome ter wird auch als Kreiselinstrument bezeichnet und dient der genauen Lagebestimmung ImageView ist eine Android View Element das f r das Anzeigen von Bildern be nutzt wird Key Frame Animation Schl sselbild und Keyframe sind
80. calcSignatureRGB Methode int mlmageSignature RegionalAverage calcSignatureRGB bitmap In dieser Methode wird zun chst eine 5x5 Matrix die Uber das Bild gelegt wird definiert welche das Bild in 25 einzelne Regionen einteilt In jedem der 25 Felder wird iiber die einzel Shttp goo gl X8im6q Stand 20 Februar 2015 63 4 ANWENDUNGSENTWICKLUNG 64 Ermittlung von RGB Mittelwert Abbildung 4 6 Darstellung der regionalen RGB Durchschnittsberechnung in 25 Feldern Im Bild zu erkennen die definierte 5 x 5 Matrix zur Einteilung der Regionen In jedem Feld werden ber die Pixel die Farbwerte ermittelt und der Mittelwert bestimmt Die 25 Mittelwerte beschreiben hierbei die Bildsignatur nen Pixel ein Farbwert bestimmt und ein RGB Farbmittelwert berechnet siehe Abbildung 4 6 Die Methode averageAround ermittelt die verschiedenen Farbwerte der einzelnen Pixel ber den Bereich der jeweiligen Region und speichert diese fiir jeden Farbkanal ab Uber die Pixelanzahl in dem Bereich wird aus den Farbkanal Werten der Farbmittelwert fiir die Region ermittelt anschlieBend zu einem gesamten Farbwert zusammengesetzt und der bergeordneten Methode wieder bergeben Diese speichert die Farbmittelwerte sortiert nach Farbkan len in ein Array ab Die so resultierenden 75 Farbinformationen beschreiben die Signatur des Bildes und k nnen in der Klassifikation verwendet werden Der Aufbau der Methode wird im folgenden Beisp
81. chen Namen als PNG in demselben Ordner abgelegt werden in der auch das Modell abgespeichert ist 5 1 Die Mathematikum App Objekt Erkennen Objekt Erkennen 9 o AR Experience Willst du die AR Experience Pi mit den F en laden NEIN JA Abbildung 5 3 Nachdem das TBOC Verfahren das Exponat Pi mit den F en erkannt hat wird ber einen Benutzerhinweis abgefragt ob die entsprechende AR Experience geladen werden soll In dem AR Szenario kann ber zwei Buttons mit den Beschriftungen Man und Mouse die Simulation der Ann herung an die Zahl Pi ber das Z hlen der Schritte beim Ablaufen des Umfanges und des Durchmessers gestartet werden Da die Maus mehr Schritte ben tigt wird die Sch tzung genauer Weil die aufgezeichneten Punktwolken nicht immer perfekt in der 3D Welt ausge richtet sind ist es hilfreich das 3D Modell in der Creator Software zu berpr fen und Anpassungen an der Position der Rotation und der Skalierung vorzunehmen So l sst sich das Objekt auf der Punktwolke platzieren und die Animation kann direkt in der Anwendung getestet und dabei berpr ft werden ob diese auch das gew nschte Ergebnis erzielt siehe Abbildung 5 2 rechts Aus dem Creator lassen sich direkt Anwendungen erstellen Hier werden aber lediglich AREL Apps herausgeschrieben F r einen schnellen Test kann dies jedoch n tzlich sein Ein weiteres brauchbares Feature bietet die M glichkeit die erstellte AREL Anwendung direk
82. chenden Position angezeigt Bewegt er das Display bewegt sich das Bild mit http goo gl gyfhCl Stand 11 Januar 2015 2 3 Agumented Reality Entwicklungsumgebungen 2 2 6 Wikitude App Einordnung Shopping Tourismus Anwendungen wie die App von Wikitude gibt es zahlreich Diese Anwendungen nutzen die Sensoren des mobilen Ger tes wie GPS Kompass und Gyrosensor um die eigene Position und die Blickrichtung zu erkennen und dem Benutzer im Blickfeld der Kamera sogenannte Billbords anzuzeigen die fiir interessante Orte in Bezug auf die eigene Position stehen Auf den Billbords wird neben dem Namen des point of interest kurz POI die Entfernung vom Betrachter und vielleicht noch ein Bild dazu angezeigt siehe Abbildung 2 4 rechts Durch Driicken auf die Billboards kann sich der Benutzer weitere Informationen anzeigen oder sich zu diesem Ort navigieren lassen Mit solchen Anwendungen ist es gerade in St dten sehr schnell m glich den n chsten Bankautomaten Supermarkt oder das n chste Hotel ausfindig zu machen In Touristengegenden k nnen damit Sehenswiirdigkeiten geortet und Informationen dazu abgefragt werden Auch wenn die POls auf einer Kartenansicht genauso gut angezeigt werden k nnten ist die Variante mit der Anzeige im Kamerabild gerade was die Orientierung angeht eine hilfreiche Alternative 2 3 Agumented Reality Entwicklungsumgebungen Das Wort Entwicklungsumgebung ist an dieser Stelle fast etwas missverst n
83. chnelle und effiziente Klassifizierungverfahren mittels eines Naive Bayes Klassifikators zu w hlen da damit die Voraussetzungen f r diese Klassifikation schon gegeben sind Die gesammelten Sensordatenwerte ergeben die Instanzen bzw die Featurevektoren die in den Trainingsdaten gespeichert werden Aus dem Trainingsdatenset l sst sich dann mittels des Naive Bayes Klassifikators das statistische Datenmodell erstellen In der Erkennungsphase wird dann die aktuelle Instanz als Featurevektor mit dem Modell verglichen und das zu erkennende Objekt klassiert Jedoch ist zu beachten dass der Naive Bayes Klassifikator immer nur die m gliche Wahr scheinlichkeit f r ein angelerntes Objekt errechnet Wenn die Werte in einem Featurevektor nicht mit einem Objekt bereinstimmen gibt das System allerdings trotzdem das Objekt welches mit der gr ten Wahrscheinlichkeit passen k nnte zur ck Der Ansatz einer L sung dieses Problems wird in Kapitel 4 beschrieben 3 6 Zusammenfassung Auf der Grundlage der Anwendungsbereiche des Industriepartners Advenco ergeben sich die folgenden Einsatzbereiche f r m gliche Anwendungsszenarien des TBOC Verfahrens e Werkstattbetrieb e Tourismus Stadtf hrung e Museumsbetrieb In jedem dieser Szenarien ergeben sich unterschiedliche Anforderungen an das System Die wichtigsten Aspekte hierbei sind die Offline Verarbeitung und der Verzicht auf die Nutzung von visuellen Markern wie z B QR Codes etc zur Initialis
84. cht vorausgesetzt werden da neben dem fehlenden WLAN Netz auch der Datenzugriff ber das Mobilfunknetz in den Maschinenhallen nicht gew hrleistet sein kann So ergibt es sich dass bei fehlendem Internetzugang die Anwendung lokal im Offline Modus arbeiten k nnen muss F r die automatische Erkennung k nnten in diesem Szenario gegebenenfalls Marker angebracht werden da diese im betrieblichen Ablauf keine St rung darstellen 3 2 2 Tourismus Stadtf hrung O E Schau dir die DIR Vergangenheit an N M am 17 Zen 1953 weht die Bebe Rot Goldene P Abbildung 3 2 Bei den beiden Abbildungen werden verschiedene M glichkeiten f r ei ne AR Anwendung im Bereich Tourismus Stadtf hrung dargestellt Die linke Abbil dung zeigt eine Illustration die darstellt wie eine Anwendung Sehensw rdigkeiten erkennt kurze Infos anzeigt und weitere Sehensw rdigkeiten in der Umgebung in einem Radar feld bzw ber Billboards visualisiert Abbildung rechts zeigt eine Illustration die visua lisiert wie eine AR Anwendung zum Beispiel Sehensw rdigkeiten mit virtuellem Content berlagern k nnte Illustration zusammengesetzt aus Bildmaterial http goo gl zFUMZo http goo gl 5rlxvl http goo gl GO8gOL http goo gl ImhKst http goo gl Ufygq7 Stand 2 Februar 2015 Bei einer Stadtf hrung sollte die Anwendung dem Nutzer Informationen zu einzelnen Sehensw rdigkeiten anzeigen Da sich diese ber ein gro es Stadtgebiet verteilen bietet
85. ctivity gt lt application gt lt manifest gt Um eine Klasse als Activity zu definieren muss sie von der Android Basisklasse Activity abgeleitet werden Neben der einfachen Activity gibt es auch modifizierte Versionen wie zum Beispiel die ActionBarActivity die es erm glicht eine Toolbar in der Activity zu platzieren oder die PreferenceActivity die fiir das Anzeigen von Benutzerein stellungen genutzt wird Eine Android Activity Klasse steht so immer fiir eine einzelne Benutzeraktion die der Anwender ausf hren kann Aus diesem Grund bernimmt eine Activity auch das Bereitstellen eines Fensters in dem die Benutzeroberfl che platziert werden kann Benutzeroberfl chen werden ber Layout XML Dateien beschrieben und k nnen mittels setContentView View an eine Activity bergeben werden Eine Activity kann mehrere Zust nde annehmen Wenn eine Activity den Zustand wechselt k nnen mit Hilfe von Callback Methoden Operationen durchgef hrt werden siehe Abbildung 4 2 47 4 ANWENDUNGSENTWICKLUNG User navigates activity to the Apps with hi gher priority need memory onStart a _ Another activity comes into the foreground User returns y to the activity onPause x The activity is no longer visible e onStop I The activity is finishing or being destroyed by the system y onDestroy v onRestart User navigates to the activity Abbildung 4
86. d Einstellungen hinterlegt Beispielsweise wird in dieser Datei die Versionsnummer der Name der Anwendung und das Icon angegeben Ebenfalls werden die Anwendungsberechtigungen definiert Alle anwendungsrelevanten Activitys m ssen im Bereich Application aufgef hrt werden Der Aufbau einer Manifestdatei ist im folgenden Code Beispiel 4 1 zu sehen Neben dem versionCode und dem versionName wird noch die minSdkVersion sowie die targetSdkVersion angegeben die ber den m glichen Funktionsumfang der Anwendung entscheidet je nachdem f r welche Android Version die Applikation ausgelegt ist Das App Icon und der App Name werden gesetzt und der Style des Theme wird definiert Themes sind Android Mechanismen zum Anlegen eines einheitlichen Stils f r die Anwendung oder Activity Den in einer Anwendung verwendeten Activitys k nnen im Manifest noch Optionen oder einzelne Berechtigungen engl Permissions bergeben werden Listing 4 1 AndroidManifest xml lt manifest xmIns android http schemas android com apk res android package de thm androidapp android versionCode 1 android versionName 1 0 gt lt uses sdk android minSdkVersion 8 android targetSdkVersion 21 gt lt application android allowBackup true android icon drawable ic_launcher android label Ostring app name android theme style AppT heme gt lt activity android name MainActivity android screenOrientation portrait gt lt a
87. d Reality als Mittel f r ein bidirektionales Fernsehprogramm vor und erm glichte es dem Zuschauer in einem Anwendungsszenario einer Zeitreise interaktiv an einem Quiz auf seinem Smartphone teilzunehmen siehe Abbildung 2 2 links W hrend der Sendung wurden Marker eingeblendet und mit einer zuvor geladenen und auf dem Handy installierten Applikation konnte nun aktiv am Quiz teilgenommen wer den Die ProSieben Zeitreise bedient sich eines texturbasierten Markersystems ausschlie lich um Ereignisse trigger events innerhalb der eigentlichen Quiz Applikation auszul sen Das System arbeitet unter den unterschiedlichsten Umgebungsbedingungen macht sich dabei aber zunutze dass ein aktives Fernsehger t eine relativ konstante Helligkeit und Kontraster scheinung hat und damit gute Grundvoraussetzungen f r die Markererkennung gegeben sind Nichtsdestoweniger hat diese Anwendung gezeigt dass AR im Massenbetrieb im h us lichen Umfeld einsetzbar ist Auswertungen ber Erkennungsraten in der App sind zwar nicht ver ffentlicht die Tatsache dass ber 250 000 Zuschauer die App geladen und instal liert hatten zeigt aber dass es auf reges Interesse bei den Zuschauern gesto en ist und bei einem Gro teil der Anwender keine technischen Probleme aufgetreten sind die ja dann offensichtlich den Spielspa getr bt h tten Ihttp goo gl Iydg2a Stand 8 Januar 2015 11 2 STAND DER TECHNIK 12 2 2 2 LEGO Verpackung Einordnung Prod
88. d erm glicht eine hohe Bildwiederholungsrate der Kamera zum anderen l sst die geringe Anzahl von Werten ausreichend Farbabweichungen in den Kamerabildern zu wie sie typischerweise unter realen Bedingungen beispielsweise durch sich ndernde Lichtverh ltnisse vorkommen Der nachfolgende Quellcode 4 22 zeigt wie bei der Bestimmung der Balkenanzahl durch die Balkendimension sichergestellt wird dass die Dimension die Grenzen des Histogramms nicht berschreitet Listing 4 22 Sicherstellung einer Korrekten Balkenbreite im Histogramm int tempC Math round 255 0f float barDim barDim int 255 0f float tempC int histBarCount int 255 barDim Die einzelnen Histogrammwerte werden zusammen in ein Array vom Typ Integer ge speichert Hierf r wird die Gr e des Arrays auf die dreifache Balkenanzahl gesetzt ber eine verschachtelte For Schleife wird ber die Pixel des Bildes iteriert wobei die Zahl der Schleifendurchl ufe durch die Breite und H he des Bildes bestimmt wird ber die getPixel Methode der android graphics Bitmap Klasse wird die Farbe des Pixels ausgelesen Diese kann ber die android graphics Color Klasse in die einzelnen Farbr ume zerlegt werden und anschlie end im Histogramm zugeordnet werden Vergleich Quellcode 4 23 Listing 4 23 Erstellen eines Farbhistogramms mit dynamischer Balkenanzahl import android graphics Bitmap import android graphics Color int hist new int his
89. de Abbildung 2 5 Auflistung der bekanntesten und verbreitetsten SDKs im Bereich AR Die groBen Software Bibliotheken unterstiitzen alle iOS Android zum Teil auch Windows Phone und Blackberry Die Entwicklungsumgebungen die am meisten Flexibilitat und Erweiterbarkeit bieten sind Vuforia von Qualcom und Metaio auf die im kommenden Abschnitt weiter eingegangen wird und die anschlieBend miteinander verglichen und bewertet werden 2 3 1 Qualcomm Vuforia Vuforia ist ein natives SDK fiir OS amp Android Es stellt Bibliotheken zur Verfiigung die das Tracking und das Rendering iibernehmen Zum Entwickeln von Applikationen fiir Android kann hier auf Eclipse und das ADT von Google und fiir OS auf xCode zurtickgegriffen werden Ebenfalls stellt Vuforia auch Bibliotheken fiir die Game Engine Unity3D zur Verfiigung die es erlauben die Trackingverfahren auch in die sehr flexible Game Engine zu integrieren und so auf die sehr leistungsstarken 3D Rendering M glichkeiten von Unity3D zuzugreifen Unity3D bietet als Game Engine das Grundger st zur Erstellung von 2D oder 3D Spielen sowie f r interaktive industrielle Simulationen Hierbei stellt die Engine eine Vielzahl von Bestandteilen zur Verf gung die das Erstellen solcher Anwendungen erleichtert Hierzu geh rt unter anderem die Grafik Engine Sound Engine und die Steuerung Durch die M glichkeit aus Unity3D native Anwendungen f r Android und OS zu entwickeln ist es sogar m
90. de Trainingsdaten Anzahl zehn Messungen durchgef hrt und der Mittelwert f r die Auswertung herangezogen Wie in Abbildung 6 4 links zu sehen ist nimmt mit Erh hung der Datens tze die Zeit die f r die Erkennung ben tigt wird mit einer Steigung von m O 2467 linear leicht ab Die Standardabweichung der einzel nen Messungen liegt zwischen 39 696 und 116 095 Die Schwankungen in den einzelnen Messungen werden in Abbildung 6 4 exemplarisch f r 10 50 und 100 Datens tze aufgezeigt Gegensatz zur Erh hung der Datens tze hat die Erweiterung um Objekte wieder eine gr ere Auswirkung auf die Erkennungszeit F r den Test werden 100 Trainingsdaten verwendet Die Anzahl der Objekte wird von drei auf zehn und anschlie end in Zehner Schritten bis auf 50 erh ht Bei den Messungen ist ein linearer Anstieg von m 239 948 97 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 98 16000 15000 14000 13500 Sy ae 7 12000 En 12000 E Br E 10500 a Anem 5 10000 3 Objekte S Ba 9000 10 Objekte 5 2 7500 20 Objekte E 6000 7 g pou E a 6000 a AA 30 Objekte i 2 gt 40 Objekte 4000 A 4500 o er 50 Objekte 2000 3000 0 1500 0 10 20 30 40 50 60 123 4 amp F 65200 Anzahl Objekte Messung Abbildung 6 5 Bei der Erh hung der Objekte bei gleichbleibender Anzahl der Datens tze steigt die Zeit fiir die Erkennung mit einer Steigung von m 239 948 linear an abzulesen siehe Abbildung 6 5 links Die Abweichungen
91. den Eine Laufzeitmessung in Java f llt wegen der Java Virtual Maschine relativ ungenau aus Wie genau der so erhaltene Zeitwert ist h ngt hierbei unter anderem von der allgemeinen Systemlast Garbage Collector Hintergrundprozesse oder andere Threads sowie von der Timer Aufl sung der jeweiligen Plattform ab Um Aussagen bez glich der Performance des Verfahrens hinsichtlich der Erstellung des Modells bzw f r die Erkennungszeit eines Objektes zu erhalten reicht die Genauigkeit des somit erhaltenen Zeitwertes aber aus Auswirkungen auf die Dateigr e und die Erstellungszeit F r den Test werden aus Trainingsdaten Dateien Modelle erzeugt die Dateigr e ermittelt und die ben tigte Zeit zur Erstellung der Modelle gemessen Im ersten Schritt werden die Datens tze in einer Datei in Zehnerschritten erh ht bei gleichbleibender Objektzahl Da einzelne Messungen Abweichungen in der Erstellungszeit aufweisen werden je Datensatz zehn Messungen vollzogen und daraus der Mittelwert genommen Es zeigt sich dass die Anzahl der Datens tze keine Auswirkung auf die Dateigr e des Modells hat Bei zehn sowie auch bei 100 Datens tzen bei jeweils drei Objekten blieb die Dateigr e konstant und lag bei 28kb Bei der Zeitmessung jedoch ist ein leichter Anstieg der Zeit die f r die Erstellung des Modells ben tigt wird zu erkennen Die Abbildung 6 2 links zeigt den Verlauf der Messwerte Mit einer Steigung von m 3 114 ist eine lineare Abh ngigkeit de
92. der jeweiligen Farbe beinhalten Die Mischung dieser drei Farbkan le ergibt die Farben der einzelnen Pixel Hat ein Pixel beispielsweise die RGB Werte 243 176 60 was einem orangenen Farbton 4 5 Die Bildanalyse Verfahren ul da La Abbildung 4 4 Exemplarische Darstellung der Erstellung reduzierter RGB Histogramme Aus dem aufgenommen Bild werden die Farbinformationen ausgelesen und jeweils ein re duziertes Histogramm f r die einzelnen Kan le R G B berechnet Durch die Reduktion der Balken minimiert sich auch der Rechenaufwand fiir die Klassifikation und die geringe Anzahl der verwendeten Werte l sst ausreichend Spielraum fiir eventuelle Farbabweichungen in den Kamerabildern zu die zum Beispiel durch wechselnde Lichtverh ltnisse entstehen entspricht so ist der Rotkanal Tonwert 243 der Gr nkanal Tonwert 176 und der Tonwert f r den blauen Kanal 60 Am dunkelsten ist somit der blaue Wert w hrend der rote Wert am hellsten ist Mit Hilfe eines Histogramms l sst sich die Verteilung der Farben und der Graustufen eines Bildes visualisieren Daf r wird f r jedes Pixel einzeln der Farbwert bestimmt und in einem Koordinatensystem mit zwei Achsen abgebildet Auf der x Achse befinden sich die Tonwerte von schwarz 0 ganz links bis wei 255 ganz rechts und auf der y Achse ist abzulesen wie h ufig die jeweiligen Tonwerte im Bild vorhanden sind Bei einem RGB Bild erh lt man so drei Histogramme die als Bildstatistik gelesen we
93. der mittels der NaiveBayes Methode eine Wahrscheinlichkeitsverteilung vornimmt F r die Klassifikation mittels eines Bayes Klassifikators ist es notwendig dass f r die zu erkennenden Objekte bekannte Klassifikatoren durch Trainingsdaten angelernt werden Um ausrei ende Werte zu minimieren werden die Werte in einem Intervall gesammelt und anschlie end gemittelt Aus den mit der Kamera aufgezeichneten Bildern werden Bildmerkmale in Form von Farbwerten extrahiert Hierf r 115 7 ZUSAMMENFASSUNG ERGEBNISSE UND AUSBLICK 116 wird mit Hilfe einer Methode ein reduziertes Histogramm fiir jeden Farbkanal erstellt In dem zweiten Algorithmus wird aus 25 Regionen im Bild der Farbmittelwert bestimmt und in die einzelnen Farbwerte RGB zerlegt In dieser Arbeit wurde ein Entwickler Tool implemen tiert welches das Erstellen von unterschiedlichen Trainingsdatens tzen erm glicht Neben dem Anlernen der Objekte gibt es auch die M glichkeit diese zu Testzwecken zu erkennen In der Anwendung wurden Hilfestellungen eingebaut die das Verwalten von Trainingsdaten und auch das Testverfahren der Erkennung erleichtern Die Klassen der Erkennung wurden exemplarisch im Rahmen des Forschungsprojektes PIMAR in einem Prototypen f r das Mathematikum in Gie en integriert und dort vor Ort auf seine Praktikabilit t getestet Weiter wurden in dieser Arbeit unterschiedliche Tests f r die Funktionalit t und Leistung des Verfahrens gemacht Dabei wurde der
94. die Zeit die f r die Erstellung des Mo dells ben tigt wird st rker an Abbildung Mitte Ebenso steigt die Differenz der einzelnen Messungen untereinander Abbildung rechts Sekunden f r die Modellerstellung ben tigt Bei 100 Datens tzen sind es dann ca 1 752 Sekunden Abbildung 6 2 rechts zeigt exemplarisch f r drei ausgew hlte Datens tzen die Abweichungen innerhalb der Messreihen auf Hierbei liegt die Standardabweichung der einzelnen Durchl ufe zwischen 38 737 und 61 607 Diese Schwankung der Einzelmessungen ist auf die Systemungenauigkeiten der Zeitmessung zur ckzuf hren Im zweiten betrachteten Fall werden die Datens tze konstant mit 100 angesetzt und die Anzahl der Objekte wird erh ht Zun chst von drei auf zehn und anschlie end in Zehnerschritten bis zu 50 Objekten Bei der Erh hung der Objektanzahl ist ein deutlicher Anstieg der Dateigr e des Modells erkennbar siehe Abbildung 6 3 links Mit einer Steigung von m 5 58 und einem Korrelationskoeffizienten der von r 0 999 steigt die Gr e der Datei linear an 6 2 Performance des TBOC Verfahrens 14000 2700 12000 2600 10000 2500 2400 gt 2 gt T E j x 5 8000 210 Datens tze Y 2300 x my 2 6000 E 3 A A 250 Datens tze E a Z 4000 2 2200 Zen 100 Datens tze w 2000 554 Ze 2100 6 2000 0 20 40 60 80 100 120 DD BIS DA e Su 2120 Messung Anzahl Datens tze Abbildung 6 4 Durch die Erh hung der Datens
95. ditor in Eclipse e 49 Minimal Histogramme 2 2 2 En nn nn nn 61 Ergebnisse NaiveSimilarity Vergleich ooo aa 63 RegionaleRGB Mittelwerte oaoa aaa nn nn 64 Packagediagramm der TBOC Anwendung 65 Klassendiagramm i a dret o A ba Dt e 65 Die GUFder MainActivity 2 aa ee Bi a 66 Activity zum Objekt aneren 67 Activity zum Erkennen von Objekten oaoa a 72 Systemeinstellungen der Anwendung 77 Trainingsdaten Verwaltung in den Systemeinstellungen 78 ABBILDUNGSVERZEICHNIS 5 1 5 2 5 3 5 4 5 5 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 6 10 6 11 6 12 6 13 6 14 6 15 Aufzeichnung von 3D Tracking Punktwolken 0 Animation der 3D Modelle und Konvertierung dieser f r das Metaio SDK Das Exponat Pi mit den F en 2000 Das Exponat Die Deutschlandtour 2 222 En nn nn Das Exponat Knack den Code Abh ngigkeit der Dateigr e zur Anzahl der Trainingsdaten Einfluss der Datens tze auf die ben tigten Zeit bei der Modell Erzeugung Einfluss der Objektanzahl auf die Modellgenerierung 22 22 22 Einfluss der Anzahl der Datens tze auf die Erkennungszeit Einfluss der Objektanzahl auf die Erkennungszeit 2 2 2 2 2222 22 Boxplott und Einzelwerte Erstellungszeiten 2 2 22mm nenn Einzelwerte im XY Plott Erkennungszeit o o o Statisches und dynamisches Anlernen von Objekten Erkennungs
96. dlich Hier ist nat rlich nicht die typische Entwicklungsumgebung IDE Software gemeint also ein Softwaresystem das die Werkzeuge zum einfachen Erstellen von Softwarepaketen und Anwendungen liefert sondern Bibliotheken SDKs die die Hauptfunktionalit ten f r Erwei terte Realit t und ihre Anwendungen bereitstellen und in eigene Applikationen integriert werden k nnen Diese Basisfunktionalit ten sind unter anderem e Bilderverarbeitende Algorithmen mit denen die Videostr me analysiert und markan te Punkte Referenzobjekte und Referenzmarkierungen sowie Texturen erkannt und analysiert werden k nnen e Bereitstellung von diversen Sensoren und deren Auslesen und Ansteuerung auf den unterschiedlichsten Softwareplattformen und auf einer Vielzahl von Endger ten e Darstellung von virtuellen Erweiterungen sowohl als zweidimensionale Objekte wie Texte Bilder Videos als auch dreidimensionale Objekte die in Echtzeit gerendert werden k nnen Auf dem Markt gibt es eine Vielzahl von freien und kostenpflichtigen Entwicklungsumgebun gen mit denen Augmented Reality Anwendungen erstellt werden k nnen Jedoch sind diese in ihrer Kompatibilit t teilweise sehr eingeschr nkt Die bekanntesten und verbreitetsten SDKs sind in Abbildung 2 5 aufgef hrt Shttp www wikitude com app Stand 11 Januar 2015 15 2 STAND DER TECHNIK 16 vuforia 2 Qualcomm Vuforia by Qualcomm T metaio SJ Mobile SDK di e wikitude wikitu
97. e as a a ee ren 40 Naive Bayes Klassifikator 22222 oo a 41 3 6 Zusammenfassung 42 Anwendungsentwicklung 45 4 1 Einleitung eb dd Bess A ale ale 45 4 2 Android und Eclipse 2 2 2 0020 ee a e o A 46 4 3 Metai SDK tua eo ae bce A eh eh At ag 51 4 4 WEKA for Android areas ite 2 wert an Oe Trab ar 54 4 41 Dataset Sori er denge Oe a HRS ee eg ee he 54 Die relation Deklaration 0 nn 55 Die attribute Deklaration 55 Die Odata Deklaration e 56 4 40 Classifiers sus a a a ai Be 56 4 4 3 Datenverwaltung 57 Generierung eines Datensatzes 0 run 59 4 5 Die Bildanalyse Verfahren 60 4 5 1 Minimal Histogramme saa un pire eea p e a a e a 60 4 5 2 Regionale RGB Mittelwerte 62 4 6 Aufbau der Android Anwendung 65 4 6 1 Die Anlern Phase e 67 Programmatische Umsetzung ooo aa 68 Inhaltsverzeichnis 4 6 2 Die Erkennungs Phase e 71 Programmatische Umsetzung 72 4 7 Weitere Systemfunktionen 2 222 2 Connor 75 4 7 1 System Einstellungen 2 2 2 0 0 002000022 eee 75 4 7 2 Trainingsdatenverwaltung 2 2 ee nn 78 4 8 Zusammenfassung 2 aia e a a abaca an A 80 5 Prototypische Implementierung in eine reale Anwendung 83 5 1 Die Mathematikum App 2 22 a Kane ri 83 LE Pimit den F en 2 0 2 o a ann ad 84 Aufbereitung f r markerloses AR Tracking 84 Animation und Konvertierung des 3D Modells 85 Integration in die Android Activity
98. e mit dem aktuellen Kamerabild abgleichen Um dieses Problem zu l sen soll in dieser Arbeit ein Verfahren entwickelt werden dass mit der vorhandenen Technik von mobilen Ger ten eine automatische Initialisierung vor das eigentliche AR Tracking setzt So soll die M glichkeit geschaffen werden eine http goo gl DNqJT8 Stand 7 Januar 2015 lO http www metaio com Stand 7 Januar 2015 1 3 Organisation der Arbeit Vielzahl von ortsgebundenen unterschiedlichen markerlosen Tracking Szenarien zu laden Dies soll ohne weitere Benutzereinwirkung oder Initialisierung ber angebrachte Marker geschehen Der Benutzer soll von dieser Vorentscheidung nichts bemerken Es soll das Gef hl vermittelt werden dass allein durch das Ausrichten der Kamera auf ein Objekt dieses erkannt und ein entsprechendes AR Szenario gestartet wird Das System soll intuitiv und ohne weitere Einweisung nutzbar sein Ebenfalls sollen die zu erkennenden Objekte f r eine erfolgreiche Erkennung nicht in irgendeiner Form ver ndert werden m ssen Das Verfahren soll in verschiedenen mobilen prototypischen Applikationen umgesetzt werden und auf Leistungsf higkeit Benutzerfreundlichkeit und Effizienz getestet werden Der Praxistest soll mit einem Prototypen in einer Applikation f r das mathematische Mitmach Museum Mathematikum realisiert werden Hier sollen unterschiedliche Ex ponate im Museum erkannt und daraufhin die jeweils passenden AR Szenen geladen werden
99. eblendet werden Umsetzung des Szenarios Die Vorgehensweise bei der Erstellung des Szenarios verh lt sich in den Grundz gen wie die Realisierung des Szenario Pi mit den F en im Abschnitt 5 1 1 Zun chst wird das Exponat mit dem metaio Toolkit f r das markerlose Tracking vorbereitet in dem wie bei dem Pi Kreis eine 3D Punktwolke erstellt wird Da bei diesem Szenario keine 3D Modelle oder Animationen angepasst werden m ssen wird die 3D Punktwolke auch nicht im Metaio Creator ge ffnet sondern direkt in die Android Activity eingebunden Die einzelnen Labels werden ber die Methode createGeometryFromImage als IGeometry umgewandelt siehe nachfolgenden Quellcode 5 2 Listing 5 2 Umwandeln von Bildern zu einem IGeometry Objekt IGeometry startPointlmage metaioSDK createGeometryFromlmage imagePath Die Labels k nnen dann wie die 3D Objekte ber die Objekt Attribute positioniert und angepasst werden Die beiden Labels die f r die Hilfe eingeblendet werden sollen werden bei der Initialisierung zun chst unsichtbar gemacht und erst dann angezeigt wenn der Benutzer durch Toucheingabe ein positives Feedback auf das Du ben tigst Hilfe Label bergibt Ob dem Nutzer die Startposition oder aber das Ziel der Reise eingeblendet wird entscheidet sich ber eine Zufallsfunktion 89 5 PROTOTYPISCHE IMPLEMENTIERUNG IN EINE REALE ANWENDUNG 90 O LocationClassificator Knobel Spiel Willst du das
100. ehre und Forschung anzueignen Dank ihm und meinem Korreferenten Prof Dr Michael Guckert erhielt ich die M glichkeit in dem Forschungsprojekt PIMAR mitzuar beiten und im Rahmen dieses Projektes meine Abschlussthesis zu schreiben Natalie G pfert Johanna und Hartmut Arlt sowie Daniela Dormehl danke ich zus tzlich noch ganz herzlich f r die Zeit die sie sich genommen haben um diese Arbeit Korrektur zu lesen Selbststandigkeitserklarung Hiermit versichere ich dass ich die eingereichte Masterarbeit selbststandig und ohne fremde Hilfe verfasst andere als die von mir angegebenen Quellen und Hilfsmittel nicht benutzt und die den benutzten Werken w rtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe Friedberg April 2015 Hans Christian Arlt Inhaltsverzeichnis Danksagung i Selbststandigkeitserklarung iii Inhaltsverzeichnis v Abbildungsverzeichnis vii Listings ix Tabellenverzeichnis xi 1 Einleitung 1 TAI IVIGEIVATION s a e E le a ege e ole eeh 1 1 2 Problemstellung und Zielsetzung 4 1 3 Organisation der Arbet 4 2 20 eiae 43 2 2 2 a ad 5 1 4 Was nicht behandelt wd 5 1 5 Zusammenfassung der wichtigsten Ergebnisse 2 2 22 2 2 6 Stand der Technik 9 2 1 Einleitung s ees lassie A ves 2 ie a A 9 2 2 Augmented Reality Anwendungen 2 0 002020005 10 2 2 1 ProSieben Galileo Zeitreise 11 22 27 LLEGO VerpackUng is sap hice bh 2 er een 12 27233 JET ence d deeg Ar
101. ei sollen Realit t und virtuelle Welt miteinander verschmelzen Das Spielprinzip ist dass angemeldete Spieler reale Orte mit GPS Daten und Karteneintr gen hnlich Google Maps als sogenannte Portale f r das Spiel melden k nnen Diese werden dann vom Spielebetreiber freigeschaltet Ab diesem Zeitpunkt sehen alle Mitspieler an den realen Koordinaten eines Portals virtuelle Einblen dungen Beispielsweise sogenannte Resonatoren die exotische Materie verst rken siehe Abbildung 2 3 links Das Spiel ist eine neuartige Variante von Rollenspielen da die Spieler in die Rolle eines Agenten schl pfen und im Team mit anderen Spielern gegen das B se k mpfen m ssen Es nutzt soziale Vernetzung die gro e Verbreitung von mobilen Ger ten wie Smartphones und Tablets sowie die Vermischung von realer und virtueller Welt f r ein einzigartiges Spielerlebnis 2 2 4 Head up Displays Einordnung Milit r Autoindustrie Ein Head up Display kurz HUD w rtlich Kopf oben lassen Anzeige ist ein Anzeigefeld in Blickrichtung des Betrachters Nutzers Schon seit den 1940er Jahren werden bei Piloten von Kampfflugzeugen wichtige Informationen in das Hauptsichtfeld projiziert sodass die Kopfhaltung bzw die Blickrichtung nicht ge ndert werden muss um diese Informationen http goo gl 2yUaAa Stand 11 Januar 2015 http goo gl 1CrNRd Stand 11 Januar 2015 2 2 Augmented Reality Anwendungen Abbildung 2 3 Anwendungsbeispiel
102. em Datensatz hinzugef gt siehe Quellcode Beispiel 4 20 5http www cs waikato ac nz ml weka documentation html 59 4 ANWENDUNGSENTWICKLUNG 60 Listing 4 20 Hinzufiigen von Daten in einen Datensatzes values new double dataset numAttributes values 0 2 34 values 1 4 28 values 2 data attribute 2 indexOf yes Instance inst new Denselnstance 1 0 values dataset add inst 4 5 Die Bildanalyse Verfahren Wie im Kapitel 3 im Absatz 3 4 bereits dargelegt wurde sollen im TBOC Verfahren fiir die Klassifikation neben den Werten die mittels der Handysensorik ermittelt werden auch Werte einbezogen werden deren Bestimmung anhand verschiedener Bildverarbeitungs algorithmen erfolgt Diese Werte sollen auf die gleiche Weise wie auch die Sensorwerte verarbeitet werden was bedeutet dass sie in Form eines numerischen Wertes in einem Featurevektor abgespeichert werden Weiter wurde in den Anforderungen im Konzept festgelegt dass fiir die Bildanalyse die Bilder nicht dauerhaft gespeichert werden sollen um die Datenspeicherlast des Anwenders gering zu halten und auch der Vergleich mit gro en Bilddatenbanken soll f r die Gew hrleistung einer Offlineanwendung vermieden werden Aus diesem Grund werden die Kamerabilder ber ihre RGB Werte analysiert und die Erkenntnisse in die Klassifikation miteinbezogen Zur Bildauswertung wurden in dieser Arbeit zwei Klassen entwickelt In der ersten wird ein
103. en die ein Merkmal hat nicht abh ngig von der Charakteristik anderer Eigenschaften ist Da diese Annahme in der Realit t selten zutrifft ist sie naiv Die Berechnung der Wahrscheinlichkeit l sst sich auf diese Weise stark vereinfachen HK00 Bei der Verwendung des Naive Bayes Klassifikators wird eine Vielzahl von Klassen gebildet Es werden Trainingsdaten angelernt welche in sogenannten Featurevektoren gespeichert 41 3 KONZEPTENTWICKLUNG 42 werden diese Featurevektoren wiederum werden den Klassen zugeordnet Die Zuweisung der Featurevektoren zu den Klassen kann entweder per Hand oder automatisch durch einen sogenannten Klassifikator durchgefiihrt werden Bei der Klassierung wird ein Objekt aufgrund einer Ubereinstimmung der Featurevektoren einer entsprechenden Klasse zuge ordnet dabei soll die Quote einer falschen Zuweisung m glichst gering gehalten werden In Bezug auf die Benutzung des Bayes Theorems bedeutet das dass das unbekannte Objekt genau der Klasse zugewiesen werden soll die am dichtesten an der Wahrscheinlichkeit liegt welche den aktuellen Wissensstand bez glich des Ereignisses beinhaltet also die sogenannte A Posteriori Wahrscheinlichkeit maximiert Daher erh lt diese Methode den Namen Maximum A posteriori L sung oder kurz MAP L sung Wie in den Anforderungen in Abschnitt 3 3 schon dargelegt wird das TBOC Verfahren in zwei Phasen unterteilt die Anlern und Erkennungsphase Daher liegt es nahe auch das s
104. en tigt wird betrachtet sowie die Auswertung der Erkennungsraten und der Zeit die f r eine Erkennung ben tigt wird Die Ergebnisse dieser Tests zeigen dass die gesetzten Ziele durch die Entwicklung des TBOC Verfahrens umgesetzt werden konnten Die Erkennungsraten von im Schnitt 80 bei 18 Objekten kann durch gezieltes Anlernen auch noch verbessert werden Auch der Speicherplatz im Dateisystem des mobilen Ger tes berschreitet die 1mb Grenze nur in Ausnahmef llen Kapitel 2 Stand der Technik In diesem Kapitel wird kurz auf den Begriff Augmented Reality eingegangen und neben den unterschiedlichen Entwicklungsumgebungen werden auch die verschiedenen Tracking Methoden und deren Anwendungsgebiete naher beleuchtet Ein besonderes Augenmerk wird auf die M glichkeit von Ortsbestimmung und Objekterkennung zur Vorentscheidung f r AR Szenarien gelegt Hierbei werden aktuelle Forschungsarbeiten vorgestellt und die unter schiedlichen Ans tze miteinander verglichen 2 1 Einleitung Erweiterte Realit t engl Augmented Reality kurz AR ist eine innovative Art der Mensch Computer Interaktion Gerade bei der Uberflutung an digitalen Informationen in unserem Alltag gewinnt Time to Content der schnelle Zugriff auf die gewiinschten Informationen zur richtigen Zeit an Bedeutung Im Gegensatz zu Virtual Reality VR bei der es um die Wahrnehmung der Wirklichkeit und ihrer physikalischen Eigenschaften in einer in Echtzeit computergeneriert
105. en Realit t geht und bei der die reale Umwelt ausgeblendet wird ist das Ziel bei Augmented Reality die Anreicherung der bestehenden realen Welt mit computer generierten Zusatzobjekten Hierbei werden keine g nzlich neuen Welten erschaffen Die vorhandene Wirklichkeit wird stattdessen mit einer virtuellen Realit t erweitert KM09 Der Oberbegriff der die Vermischung von realer und virtueller Welt miteinander beschreibt lau tet Mixed Reality MR Die Abgrenzung zwischen Realit t und Virtualit t kann nach Paul Milgram 1994 auf ein Kontinuum Reality Virtuality Continuum aufgetragen werden sie he Abbildung 2 1 welches ebenso die Einordnung der Augmented Reality sowie auch der Augmented Virtuality darstellt MTUK95 AR stellt eine innovative Alternative zur Verf gung Informationen auf eine neue Art und Weise im Blickfeld des Betrachters zu pr sentieren Mit AR ist eine Vielzahl von neuen Anwendungen m glich bei denen der Nutzen haupts chlich in der Verschmelzung mit der Realit t liegt Hierbei stehen nicht nur Anwendungen f r den Entertainmentbereich im Vor dergrund da es auch in der industriellen Produktion im Verkehrsbereich oder bei Pr senta tionen von gro em Nutzen ist wenn Informationen gezielt dort angezeigt werden k nnen wo sie von Interesse sind CL05 Google plant mit der Einf hrung des Projektes Google Glass 9 2 STAND DER TECHNIK 10 Mixed Reality MR E 44 Real Augmented Augmented Vi
106. en des Datenmodelles TakePictue SYSTEM EINSTELLUNGEN GPS PreviewFrame n GPS Daten einbeziehen Bildmethode GetBitmap GelBitmap Wake Lock Bildschirm beim Scannen immer aniazsen Auto Scan Y Abbrechen Automatische Scannen beim lfnen NULL OBJEKT EINSTELLUNGEN Auto Load y NULL Objekt anzeigen 2 Automatische Laden des Datenmodelle Zeige das NULL Objekt on GPS Dummy NULL Objekt z GPS Daten einbeziehen Setzt bei neuen ARTE Dateien Dummy Werte d ie a lt O Abbildung 4 12 Die Systemeinstellungen der Anwendung werden ber die UserSettingActivity angezeigt Das Layout und die Einstellungselemente werden Ober eine PreferenceScreen XML definiert Neben Einstellungselementen die nur aus einem Button bestehen und weiter Activitys laden k nnen stehen auch Checkboxen oder Auswahllisten zur Verfiigung In der TBOC Anwendung werden in den Einstellungen Trainingsdaten verwaltet und Systemfunktionen angepasst Mit diesem Test NULL Objekt k nnen in der Anfangsphase schon gute Ergebnisse erzielt werden Erst wenn den anderen angelernten Objekte eine gr Bere Anzahl von Datens tzen zu geordnet wurden und sie damit eine hohere Wahrscheinlichkeit erreichen kommt es beziiglich des Null Objekt zu Fehlerkennungen Zu diesem Zeitpunkt miissen die Tr ningsdaten des NULL Objektes erweitert werden und damit den gegebenen r umlichen Randbedingungen angepasst werden Die Einstellung NULL Objekt anzeigen erm glicht das Objekt beim Anlernen und auch
107. en zu miissen und diesen sp ter beliebig oft wiederholen zu k nnen erfolgt die Animation des sogenannten Walk Cycles des Charakters auf der Stelle das bedeutet ohne Translation des Charakters im 3D Raum So ist es m glich den Charakter mit seiner zuvor angefertigten Laufanimation ber einen Motion Path entlang einer vorgezeichneten Kurve im 3D Raum zu bewegen Da bei der Maus die Bewegung der F e und somit auch die Schritte nicht zu erkennen sind wird hier auf die Laufanimation verzichtet und lediglich der gesamte 3D K rper ebenfalls entlang eines vorgegebenen Motion Paths transliert Um die animierten 3D Modelle in der AR Anwendung nutzen zu k nnen m ssen sie zun chst in ein Format gebracht werden mit dem das Metaio SDK arbeiten kann Hierf r werden zun chst die Modelle als FBX Datei Standard Austauschformat f r 3D Modelle exportiert Anschlie end lassen sich die Modelle im FBX Format mit dem FBXMeshConverter von Metaio in das mfbx Format wandeln Dieses Format sowie MD2 und OBJ sind die 3D Formate die von Metaio unterst tzt werden Autodesk Maya bietet zwar ebenfalls die M glichkeit 3D Modelle direkt als das wie beschrieben von Metaio ebenfalls unterst tze OBJ Format zu exportieren jedoch gehen bei der Verwendung dieses Formates die Animationen auf den Modellen verloren Aus diesem Grund konnte das Format f r diese Umsetzung keine Verwendung finden Wenn das 3D Modell eine Textur besitzt muss dieses mit dem glei
108. enspeicherverbrauch Aus den zusammengestellten Anforderungen ergibt sich folgendes Konzept f r den Aufbau des Verfahrens Da das System die Daten direkt auf dem Ger t verarbeiten soll und keine Daten ber eine Netzwerkverbindung mit Servern ausgetauscht werden muss das System die zu erkennenden Objekte kennen und in der Lage sein die Auswertung mit den Live Daten zu vollziehen Daraus ergibt sich dass das Verfahren aus zwei Phasen besteht In der Anlernphase m ssen die zu erkennenden Objekte in dem System hinterlegt werden und in der sogenannten Erkennungsphase muss das System die Daten die live erfasst werden mit den im System hinterlegten Daten abgleichen In den beiden Phasen werden jeweils unterschiedliche Werte von den Sensoren gesammelt und gegebenenfalls f r die Verwendung aufbereitet Ebenfalls wird ein Bild mit der Kamera aufgenommen und f r die Verarbeitung angepasst indem es auf eine Vorschaugr e Thumbnail skaliert wird So wird auch 3 4 Sensorik Parameter Extraction Abbildung 3 4 Uberblick iiber die Funktionsweise des Verfahrens der AR Initialisierung in einer Museumsanwendung auf einem Tablet Die Illustration zeigt dass mehrere Sensorwerte und Informationen aus einer Bilddatenanalyse verarbeitet werden und entweder abgespei chert oder mit den abgesicherten Werten verglichen werden Illustration zusammengesetzt aus Bildmaterial http go0 gl 5r1xvl http goo gl IyCwRW http goo gl EOdvHQ http goo g
109. erabild werden von dem Metaio SDK bernommen Hier ist zu beachten dass ber den Quellcode die selbst gesetzten Elemente nicht mehr an gesprochen werden k nnen da durch die Verarbeitung des Metaio SDKs die Verkn pfung aufgehoben wird Lediglich ein Button Event kann in der Activity abgefangen und verarbeitet werden 53 4 ANWENDUNGSENTWICKLUNG 54 4 4 WEKA for Android F r die Klassifizierung und Klassierung der Parametervektoren wird bei dem TBOC Verfahren das von der University of Waikato Neuseeland entwickelte Data Mining Paket Waikato Environment for Knowledge Analysis kurz WEKA verwendet WFO05 HFH 09 Die Open Source Software liefert alle notwendigen statistischen Implementierun gen sie enthalt WEKA Funktionen fiir die Datenaufbereitung die Regressionsanalyse die Klassifikationsverfahren die Clusteranalyse und die Visualisierung Daneben k nnen auch neue Methoden f r maschinelles Lernen erstellt werden Es gibt kaum ein Data Mining Verfahren das nicht in WEKA implementiert ist WEKA stellt auch ein Benutzerinterface zur Verf gung in dem sich verschiedene Algorithmen als Workflows zusammenf gen lassen Weiter kann WEKA auch als Bibliothek in ein Java Projekt eingebunden werden und so in eigene Anwendungen integriert werden Es gibt ein auf Java basierendes Projekt WEKA for Android entwickelt um eine Portierung von WEKA 3 zu der Android Plattform zu gew hrleisten Hierf r wurden die GUI Elemente
110. erblen den der Wirklichkeit mit virtuellen Informationen AR Bei Augmented Reality k nnen neben einfachen Uberlagerungen eines Kamerabildes auch Informationen r umlich im Blick feld positioniert werden Hierbei k nnen einfache Marker wie QR Codes oder Bilder fiir das sogenannte AR Tracking verwendet werden aber es besteht auch die M glichkeit reale Objekte fiir das Tracking zu verwenden Hier miissen von den Objekten sogenannte 3D Punktwolken erstellt werden die markante Punkte des Objektes im r umlichen Verh ltnis erfassen und abspeichern Anhand dieser Punktwolken k nnen die Objekte erkannt und ver folgt werden was es erm glicht Informationen in Form von Texten Bildern Videos und 3D Objekten an diesen Objekten zu platzieren Jedoch ist das markerlose Erkennen von Ob jekten sehr rechenintensiv und schon bei gleichzeitigem Abtasten mehrerer Objekte kommt es zu Leistungseinbriichen Um eine Vorerkennung der Objekte zu erm glichen wurde in dieser Arbeit ein Verfahren entwickelt welches in der Lage ist Objekte in Innenr umen oder in Au enbereichen zu erkennen und gezielt die ben tigten AR Daten zu laden So muss die Initialisierung nicht ber Marker oder Benutzereinwirkung geschehen Anhand von Anwendungsszenarien Werkstattbetrieb Museumsbetrieb und Tourismus Stadtf hrung des Industriepartners des Projektes PIMAR wurden im Konzept die Anforde rungen des Verfahrens festgelegt e Keine Verwendung von visuellen Markern e
111. ergeben werden Dabei handelt es sich um eine Tracking Datei welche f r das markerlose 3D Tracking eingesetzt wird Inhalt dieser Datei ist die Beschreibung der aufgezeichneten 3D Punktwolken Um reale Objekte f r das markerlose 3D Tracking zu nutzen werden diese mit der Metaio Anwendung Toolbox gescannt und markante Featurepunkte an den Objekten in einer 3D Punktwolke erfasst Eine genaue Beschreibung wie solche Daten aufgenommen und verarbeitet werden folgt in Kapitel 5 4 3 Metaio SDK Die Objekte die in einer AR Activity berlagert werden k nnen sind vom Datentyp IGeometry Hierbei k nnen diese Objekte Bilder Videos oder 3D Modelle sein Um diese Objekte zu laden erstellt das Metaio SDK daraus 3D Geometrien Der folgende Quellcode 4 8 zeigt den entsprechenden Methodenaufruf Hier wird der Pfad zur Datei als metaioModel mit bergeben Listing 4 8 createGeometry Loading 3D geometry IGeometry mModel createGeometry metaioModel In vielen F llen sind noch Anpassungen an den sich berlagernden Objekten notwendig Der Marker ob Bild ID oder auch beim markerlosen Tracking die Punktwolken Datei stellt bei der AR Activity die Referenzgr e dar Das Objekt wird im Verh ltnis vom Marker in der Szene dargestellt Hierbei ist der Mittelpunkt des Markers auch der Mittelpunkt der AR Szene Gerade beim markerlosen Tracking kommt es hier zu Schwierigkeiten da der Ursprung sowie die Ausrichtung bzw die Lage de
112. ert indem versucht wurde die GPS Fehler mit einem GauB schen Prozessfilter zu differenzieren und damit eine bessere Genauigkeit f r die Lokalisierung zu erzielen und gleichzeitig die Such Zeit zu minimieren Bei diesem Verfahren spielt die Sensorfusion mit dem Orientie rungssensor die entscheidende Rolle zur Bestimmung der Szenerie Der Schwerpunkt der Arbeit liegt bei der Re Initialisierung des Trackings RDO7 2 4 4 Image Matching Verfahren Yunpeng Li et al schreiben in ihrer Arbeit Location Recognition using Prioritized Feature Matching ber eine schnelle und einfache Ortbestimmungs und Bildlokalisierungsmethode LSH10 Aus einer gro en Sammlung von Bildern werden mit Image Matching Verfahren und Structure from Motion Techniken 3D Modelle erzeugt Mit Hilfe eines SIFT Scale Invariant Feature Transform Verfahrens werden bereinstimmungen zwischen den Bildern des verwendeten SfM und der rekonstruierten 3D Geometrie gesucht hnliche Ans tze f r Ortsbestimmung f r gro e Gebiete wie zum Beispiel einer Stadt mit Hilfe von gro en 2 5 Zusammenfassung Bilddatenbanken werden in der Arbeit von Grant Schindler et al City Scale Location Recognition SBS07 sowie in der Arbeit von Duncan Robertson und Roberto Cipolla An Image Based System for Urban Navigation aufgezeigt RC04 Die meisten Arbeiten die sich mit Bildvergleichen besch ftigen nutzen das SIFT Verfahren zum Vergleich von Bildmerkmalen SIFT ist robust
113. erters ConverterUtils Klasse ist der Datentyp der Datei erst mal nicht vordefiniert siehe Beispiel 4 17 Er muss nur einem geeigneten Datenformat entsprechen und WEKA iibernimmt die Entscheidung welcher Converter zum Speichern verwendet werden soll Listing 4 17 Speichern von Datens tzen import weka core Instances import weka core converters ConverterUtils DataSink data structure to save Instances data save as ARFF DataSink write some where data arff data save as CSV DataSink write some where data csv data Das Beispiel 4 18 zeigt den Speichervorgang ber eine explizite Methode Hier wird der Datensatz als ARFF Datei gespeichert 4 4 WEKA for Android Listing 4 18 Explizites Speichern einer ARFF Datei import weka core Instances import weka core converters ArffSaver import java io File data structure to save Instances data save as ARFF ArffSaver saver new ArffSaver saver setInstances data saver setFile new File some where data arff saver writeBatch Generierung eines Datensatzes Neben dem Laden und Speichern von Datens tzen k nnen diese auch on the fly im Spei cher erzeugt werden Das Erstellen eines Datensatzes d h eines weka core Instances Objektes ist in zwei Stufen unterteilt 1 definieren des Formates der Daten durch Einrichten der Attribute 2 hinzuf gen der akt
114. ew hrleistet Hierbei sind die Struktur des Bildmarkers oder die Beschaffenheit der Form des Objektes relevant die bei der Erkennung mit dem aktuellen Kamerabild abgeglichen werden Die Anwendung versucht beim Vergleich bestimmte Merkmale zu erkennen Beim 3D Markerless Verfahren werden 3D Punktwolken mit Tiefeninformationen benutzt um Objekte oder R umlichkeiten zu erkennen und zu verfolgen siehe Abbildung 1 2 Jedoch kommen die zur Zeit aktuellen Modelle der mobilen Ger te durch ihre begrenzte Prozessorleistung und limitierten Arbeits speicher an ihre Grenzen wenn es darum geht eine Vielzahl von aufwendigen und gro en AR Trackingdaten mit dem aktuellen Kamerabild in Echtzeit zu vergleichen Gerade bei den markerlosen Tracking Systemen die mit sehr anspruchsvollen Verfahren arbeiten um das Tracking zu erm glichen sind diese technischen Grenzen der mobilen Devices schnell erreicht Ihttp goo gl y8KaVs Stand 7 Januar 2015 http goo gl fQsI7b Stand 7 Januar 2015 1 1 Motivation Diese Arbeit entsteht im Rahmen des Forschungsprojektes PIMAR Platform Inde pendent Mobile Augmented Reality einem Forschungsprojekt welches von der Hessen Agentur HA Hessen Agentur GmbH und LOEWE Exzellente Forschung f r Hessens Zukunft gef rdert wird Das Projektkonsortium setzt sich aus dem Fachbereich Mathematik Naturwissenschaften und Datenverarbeitung MND der Technischen Hochschule Mittelhessen THM dem Fachbere
115. f das gew nschte Objekt richten jedoch in den meisten F llen aus einer beliebigen Position Wobei der Abstand zu dem Exponat dem angelernten Abstand entsprach Somit wird best tigt dass die Erkennung der einzelnen Exponate nicht nur von der optimalen Position versucht wird F r die Anwender scheint es selbstverst ndlich dass die Anwendung das Objekt aus jeder Position rund um das Exponat erkennen m sste Dies best tigt dass die dynamisch Anpassung unbedingte Voraussetzung f r eine optimale Umsetzung des Verfahrens ist 6 6 Zusammenfassung Das TBOC Verfahren wurde unter unterschiedlichen Gesichtspunkten auf Performance untersucht Ziel der unterschiedlichen Tests war herauszufinden wie sich die Trainingsdaten auf das Dateisystem und auf das zu erzeugende Modell auswirken Weiter sollte ermittelt werden wie lange ein Erkennungsvorgang unter unterschiedlichen Voraussetzungen dauert und ob Zusammenh nge zu Anzahl der Datens tze oder Anzahl der Objekte bestehen Eine der wichtigsten Erkenntnisse war hierbei unter anderem auch das Verhalten der Erkennungsrate bei der Objekterkennung 6 6 Zusammenfassung Die Trainingsdaten Datei die fiir die Erstellung des Modells ben tigt wird und die die einzelnen Datens tze fiir die Objekte beinhaltet erzeugt keine groBe Speicherbelastung fiir das mobile Ger t Bei 1000 Trainingsdaten ist die Dateigr Be mit 0 34mb relativ berschaubar Die Anzahl der Objekte hingegen hat keine Auswirkung auf d
116. fiir dieses Verfahren ist das die Positionen der einzelnen Hotspots dem System bekannt sind und im System ein Location Server installiert ist der die Auswertung bernimmt Eine weitere noch genauerer Methode ist die Positionsbestimmung ber WLAN Fingerprinting Dieses Verfahren unterteilt sich in zwei Phasen im Positionierungsprozess In der Off Line Phase die auch als Trainings oder Kalibrierungsphase bezeichnet wird wird eine sogenannte Radio Map erzeugt Kup05 In dieser Map werden die gemessenen Signalst rken der verfiigbaren Hotspots an zuvor festgelegten Referenzpunkten gespeichert siehe Abbildung 2 8 rechts Die zweite Phase ist die On Line Phase in der die eigentliche Positionsbestimmung vorge nommen wird Hier werden die von einem Endger t gesammelten Signalstarken der Hotspots an einem bestimmten Punkt mit der vorher erstellten RadioMap verglichen um den besten Referenzpunkt zu finden der zu den gemessenen Signalst rken passt Als Position wird nun der ermittelte Referenzpunkt zur ckgegeben LDBLO7 STK05 CCBA07 Sch09 2 4 3 Kombination von GPS und visuellem Tracking Nach Gerhard Reitmayr und Tom W Drummond verlassen sich Augmented Reality Syste me f r den Au enbereich h ufig allein auf GPS Technologie um gro e Fl chen abzudecken Auch wenn visuelle Tracking Anwendungen genauere Positionsabsch tzungen liefern k nnen ben tigen diese aber typischerweise eine manuelle Initialisierung In dem Ar
117. fiir ein Computerspiel Games In dem Spiel Ingres m ssen die Spieler eine geheimnisvolle Energie entweder bek mpfen oder erforschen Diese Energiefelder werden auf dem Smartphone visualisiert wenn man bestimmte physische Orte besucht Ingress links http goo gl 83lsGw Stand 11 Januar 2015 Ein Beispiel f r den Bereich Milit r Autoindustrie Ein HUD als Frontscheibenprojektion welche wichtige Systeminformationen des Fahrzeuges oder Navigationsinformationen im Blickfeld des Fahrers auf der Frontscheibe anzeigt rechts http goo gl rm7afP Stand 11 Januar 2015 abzulesen In den folgenden Jahren ist die Technologie immer weiter ausgereift bis hin zu komplexen Frontscheibenprojektionen siehe Abbildung 2 3 rechts In der heutigen Zeit ist solch ein HUD die wichtigste Anzeige im Cockpit Im Jahr 2003 brachte BMW ein von Siemens VDO Automotive AG entwickeltes HUD im Automobilbereich in Gro serie Die Informationen die in einem HUD angezeigt werden k nnen wie folgt unterteilt werden e statische Informationen e kontaktanaloge Informationen Statische Informationen sind die Fahrzeuggeschwindigkeit und die Motordrehzahl welche immer an der selben Stelle im Blickfeld des Fahrers angezeigt werden Der Fahrer sieht diese Information in einer senkrechten Ebene etwas ber der Motorhaube Entsprechend sind dies im Flugzeug Angaben ber H he und Geschwindigkeit oder auch im milit rischen Bereich die Waffenlast Kontaktanaloge Informat
118. g 3 5 Die f r das Verfahren interessante Sensorik von mobilen Telefonen Kompasssensor 3 axis magnetometer GPS Sensor und der Gyroscope Sensor der zur Lagebestimmung genutzt wird Bildmaterial auf Basis von http goo gl E0dvHQ http g00 gl Q7YnZV Stand 2 Februar 2015 ist zun chst die Blickrichtung des Ger tes Hierzu wird mit Hilfe des Orientierungssensors dem sogenannten Magnetometer die Himmelsrichtung bestimmt Neben der Ausrichtung anhand des Kompasses wird ber den Drehbewegungssensor Gyrometer die Neigung des Ger tes in allen drei Achsen bestimmt Hier liefert der Sensor Roll Pitch Yaw Winkel zur ck ber die die Neigung in allen Achsen ermittelt werden kann Auch die Werte die der GPS Sensor liefert dienen dem Verfahren zur Bestimmung Unter der Ber cksichti gung dass GPS in Innenr umen meist keine verl sslichen Ergebnisse liefert sollen wenn verl ssliche GPS Daten vorliegen diese auch in die Klassifikation integriert werden Die Sensordaten alleine liefern nicht genug Informationen f r die Zuordnung des Ob jektes So ist zus tzlich die visuelle Auswertung mit dem Kamerasystem des mobilen Telefons notwendig Die Kamera ist in der Lage verl ssliche Informationen ber eine Bildauswertung f r die Objekterkennung beizusteuern Jedoch sollen bei dem Verfahren keine Bilder gespeichert oder mit gro en Bilddatenbanken verglichen werden um die Verifizierung des Objektes zu erm glichen Jedoch kann das Kamerabild a
119. geh rige Trainingsdaten Datei vornimmt Die Besonderheit an dieser Methode ist dass zus tzlich zu dem im Abschnitt 4 7 2 beschriebenen Vorgehen beim Speichern von ARFF Dateien noch eine berpr fung stattfindet ob die Datei schon Trainingsdaten beinhaltet Wenn die Datei noch leer ist wird einfach der gerade neu generierte Datensatz in die Datei geschrieben Sollten aber schon Daten vorhanden sein wird mit der Methode appendDataSet der neue Datensatz an den Datensatz in der Datei angeh ngt siehe Quellcode 4 31 Hierzu wird die Datei als Datensatz eingelesen und der neue Datensatz wird Zeile f r Zeile dem alten Datensatz aus der Datei angef gt Der zusammengef hrte Datensatz wird zur ckgegeben und in die ARFF Datei geschrieben Der Quellcode 4 32 zeigt das Zusammenf hren der beiden Datens tze in der appendDataSet Methode Listing 4 31 Das Speichern des Datensatzes import java io File import java io lOException import weka core Instances import weka core converters ArffSaver private void saveDataSet Instances dataSet throws IOException File theFile new File filePath ArffSaver saver new ArffSaver if fileManager checkFileExists theFile if theFile length gt 0 dataSet appendDataSet theFile dataSet saver setinstances dataSet saver setFile theFile saver writeBatch Listing 4 32 Zusammensetzten zweier Datensatzes import java io File import java io lOException
120. generierung ben tigt wird Um 99 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 100 Dependent Variable Datens tze Objekte N 100 50 Squared Multiple R 0 765 0 911 Adjusted Squared Multiple R 0 763 0 909 Standard Error of Estimate 50 060 1672 656 Tabelle 6 2 Der Wert bei Multiple R farblich markiert steht fiir den Korrelationskoeffizi enten bei den beiden Tests zur Erstellungszeit des Modells diese Hypothese statistisch zu belegen wird mittels des Tests auf Korrelation berpr ft wie hoch die Wahrscheinlichkeit ist dass die Werte trotzdem durch Zufall entstanden sind Der Test auf Korrelation liefert einen Wahrscheinlichkeitswert p engl probability Dieser p Wert steht f r die Irrtumswahrscheinlichkeit dass die aufgestellte Hypothese des Zusammenhanges der Dauer der Modellgenerierung mit der Anzahl der Datens tze nicht zuf llig ist In Tabelle 6 3 kann der Wert in der Spalte p value abgelesen werden Da MYSTAT nur die ersten drei Nachkommastellen anzeigt wird davon ausgegangen dass die Werte kleiner als 0 001 sind also kleiner als 0 1 Bei einem angesetzten Signifikanzniveau von 5 liegen die Irrtumswahrscheinlichkeiten weit unter diesem Wert Somit k nnen die beiden Hypothesen best tigt werden Es besteht eine statistisch signi fikante Abh ngigkeit mit einer Irrtumswahrscheinlichkeit von unter 0 1 dass die Dauer der Modellbildung von der Anzahl der Datens tzen
121. ginnt wird dem Anwender im Display die Ann herung an die Zahl Pi im Quotienten angezeigt Wenn der digitale Charakter seinen letzten Schritt getan hat sollte das Ergebnis sehr nah an der Zahl Pi sein Alternativ kann der Museumsbesucher auch eine kleine Maus ber den Kreis huschen lassen Anhand der Tatsache dass sie viel mehr Schritte ben tigt ist das Ergebnis der Maus noch genauer und damit n her am tats chlichen Wert der Zahl Pi Aufbereitung f r markerloses AR Tracking Um diese AR Simulation f r das Exponat durchzuf hren muss zun chst das Exponat f r das markerlose AR Tracking vermessen und erfasst werden Hierf r stellt Metaio mit dem metaio Toolkit eine mobile Anwendung f r iOS und Android zur Verf gung Das Programm erm glicht es unter anderem 3D Maps von physikalischen Objekten oder Umgebungen zu https play google com store apps details id com metaio creatorMobile Stand 26 Februar 2015 5 1 Die Mathematikum App Extending 3D map press save when done a Features 3356 E 94 b Abbildung 5 1 F r markerloses 3D Tracking werden bei der Verwendung des Metaio SDKs sogenannte 3D Maps ben tigt die mit der hauseigenen mobilen Anwendung metaio Toolkit erstellt werden k nnen Hier werden markante Featurepunkte im Bild ermittelt und in ei ner 3D Punktwolke zusammengef hrt Jeder einzelne Featurepunkt wird mittels eines roten Punktes symbolisiert erstellen Hierbei werden vom System markante Bi
122. gramm in der Abbildung zeigt die insgesamt 50 einzelnen Messungen in 5 Messreihen bei 10 bis 50 Objekten Die Striche in den Boxen stehen f r den Mittelwert der einzelnen Messreihen Die dazugeh rigen Daten werden f r Ihttp www systat com MystatProducts aspx Stand 26 M rz 2015 6 2 Performance des TBOC Verfahrens 1 900 TT EENE 25 000 T T T T Confidence Interval and Prediction Interval 1 800 4 oc tba Te H 24 000 T T m L a 1 700 E 4 F W A A T 15 000 4 GA ri I ji SC o ZEIT E in 1 600 N T t E LH 8 10 000 4 DI H er N D st K F J ESTIMATE 1 400 H 4 5 000 4 if LCL AA UCL LPL EA ae De E o L L 1 fi J UPL SS o mm 4 m e u gt Se z DATENSAETZE N_OBJEKTE N_OBJEKTE Abbildung 6 6 Box Plot Darstellung der Daten aus den Messungen bei Erh hung der An zahl der Datens tze links und bei Erh hung der Anzahl der Objekte Mitte Die Darstel lung der Einzelwerte bei Erh hung der Objektanzahl mit Regressionsgerade rechts den Test mit der Erh hung der Anzahl der Objekte in der Tabelle 6 1 gezeigt Abbildung 6 6 rechts zeigt exemplarisch einen x y Plot aller 50 einzelnen Messwerte des Tests mit einer Erh hung der Objektanzahl Die Abbildung zeigt neben den Einzelwerten auch die Regressionsgerade als rote Linie sowie die Vertrauensbereiche der Daten
123. graphics Bitmap Callback callback new Callback Override public boolean handleMessage Message msg Bitmap mBitmap mTextureView getBitmap IMAGE_BASE_SIZE IMAGE_BASE_SIZE In der TBOC Anwendung wurden f r Testzwecke alle drei M glichkeiten realisiert In den Systemeinstellungen der Anwendung kann die jeweilige gew nschte Methode ausgew hlt werden Die erstellte Bitmap wird dann in der Methode catchingImageData an die bei den in dieser Arbeit entwickelten Bildanalyse Klassen tboc vision MinimalHistogramm und Tbc vision RegionalAverage bergeben Die von diesen beiden Klassen zur ck gegebenen Integer Arrays mit Farbwerten vergleiche Abschnitt 4 5 1 und 4 5 2 werden in einem Listen Objekt vom Typ java util List lt int gt gespeichert Zur besseren Kontrolle f r den Anwender wird das aktuell verarbeitete Bild auch noch in der ImageView unterhalb der Sensordaten angezeigt Nach Erreichen der festgelegten Durchlaufanzahl werden die Listen wie auch die der Sensordatenwerte gemittelt ber einen Dialog Callback kann der Anwender entscheiden ob er die Daten in die Trainingsdaten bernehmen oder sie verwerfen will Wenn die Daten gespeichert werden 4 6 Aufbau der Android Anwendung sollen wird die Methode generateDataSet aufgerufen Hier wird wie im Abschnitt 4 4 3 beschrieben ein Datensatz aus den gesammelten Daten generiert und der Methode saveDataSet bergeben die das Speichern der Daten in die zu
124. gt lt We1 lt Mb lt RotationOffset gt lt HandEyeCalibration gt lt COSOffset gt lt TranslationOffset gt lt X gt 0 lt X gt lt Y gt 0 lt Y gt lt Z gt 0 lt Z gt lt TranslationOffset gt lt RotationOffset gt lt X gt 0 lt X gt lt Y gt 0 lt Y gt lt Z gt 0 lt Z gt lt We1 lt Mb lt RotationOffset gt lt COSOffset gt lt SensorSource gt lt COS gt lt Connections gt lt TrackingData gt 119 Anhang B TBOC Klassendiagramm Ubersicht iiber die Klassenstruktur der TBOC Anwendung Inbooqt e inB ooqy Ayanavulen E et inBo0q SIULW Ayano yall seseyeqmans eal9 yensekeg 6 Ms Ka Jabeuey eu apfel N ss w meso Ayanoysall eseyeqebeuew e sakeg sieyIssep Byam ees SORUEPTStH soAeganrien ee rit gNiay ssejg w ano uasin von Sag prooi J euewesaweg E PBesaayieuo bay E wwes orsinleuuume JOMDLILSAD O au palqo AS ge gt d Ge e d susu AnanovAy sseiswalgo Inoq suw Ayanovyaea 1199 90 gt inG 20q 121 123 GLOSSAR 124 Glossar ActionBar Activity Array Augmented Reality Bayes Klassifikator Beacon BLE Callback steht bei Android f r eine Aktionsleiste die es erm glicht fiir den Benutzer Aktions und Navigationsm glichkeiten zur Verf gung zu stellen repr sentiert bei Android genau ein sichtbares Benutzerinterface Bei spielsweise kann eine Activity einen B
125. h dem Besucher neben erg nzenden Informationen wie Texten Bildern oder Videos auch Ihttp goo gl LgFfsC Stand 3 Februar 2015 http goo gl V1GA5S Stand 3 Februar 2015 3 3 Anforderungen Abbildung 3 3 Illustration einer Museumsanwendung Das mobile Ger t erkennt ein Kunst werk in einem Museum und blendet zugeh rige Informationen ein Illustration zusammen gesetzt aus Bildmaterial http goo gl 5rlxvl http goo gl lyCwRW Stand 2 Februar 2015 ein visuelles Erlebnis durch Uberlagerung der Exponate mit 3 dimensionalem Content zu bieten Der Besucher soll in jeder Situation ohne zus tzliche Nutzung einer Meniistruktur in der Anwendung das mobile Ger t auf ein Ausstellungsstiick richten k nnen und das System erkennt automatisch das Exponat und stellt dem Besucher den zus tzlichen Content sofort zur Verf gung siehe Abbildung 3 3 Technischer Aspekt In einem Museum miissen die Gegebenheiten vor Ort beriicksichtigt werden Ein Anbringen von Markern etc fiir die Ortsbestimmung ist keine Alternative Das Erscheinungsbild von Exponaten kann in keiner Weise ver ndert werden Eine Positionsbestimmung mittels GPS ist hier ebenfalls nicht immer gew hrleistet da in Innenr umen eine Ortung wenn berhaupt nur sehr ungenau m glich ist Auch ist in einem Museum nicht vorauszusetzen dass ein WLAN Netz f r einen Datenaustausch zur Verf gung steht Ebenfalls kann eine Datenverbindung ber das Mobilfunknetz nicht gew hr
126. h ngt Wenn die im System verwendete Datei geladen wird wird stattdessen ein transparentes Icon geladen siehe Abbildung 4 7 2 Durch die Selektion eines Eintrages wird nach einem Benutzerdialog der fragt ob die Datei wirklich gel scht werden soll diese in diesem Fall mit der Methode deleteListItemFile aus dem Datenspeicher des Ger tes gel scht und der entsprechende Eintrag in der Liste entfernt 4 8 Zusammenfassung Die entwickelte Anwendung zur prototypischen Implementierung realisiert sowohl die Anlernphase als auch die Erkennungsphase des TBOC Verfahrens F r die zugrunde liegende Infrastruktur der Applikation muss die Vorgehensweise bei der Entwicklung von Android Anwendungen unter der Entwicklungsumgebung Eclipse ber cksichtigt werden Da das Verfahren f r die vorgeschaltete Initialisierung von Augmented Reality Anwendungen gedacht ist muss au erdem das hierf r ausgew hlte SDK von Metaio eingebunden werden um somit die Grundlage f r das Einbinden von AR Szenarien innerhalb der App zu erm glichen Das TBOC Verfahren an sich ist nicht von Metaio abh ngig da es durch die Erkennung der Objekte lediglich die Vorentscheidung trifft welche entsprechende AR Activity geladen werden soll Durch die Einbindung der WEKA Bibliothek in die TBOC Anwendung ist es m glich statistische Klassifikationsmethoden zu nutzen Mit Hilfe von WEKA k nnen sogenannte Classifier Objekte angelegt und mit diesen Daten Objekte klassiert werden Des Weitere
127. he Verfahren die zum Beispiel durch die Kombination von GPS Tracking und visuellem Tracking ein akkurates Lokalisierungssystem generiert welches bei kritischen GPS Abbr chen durch optisches Tracking und Sensorfusion eine Re lnitialisierung erm glicht Es gibt auch Verfahren die mittels einer inhaltsbasierten Bildanalyse dem so genannten SIFT Verfahren und gro en Bilddatenbanken markante Feature Punkte in den Bildern ermitteln und vergleichen und somit eine Lokalisierung bzw eine Blickrichtungsbe stimmung erm glichen Da die bekannten Ans tze zur Objekterkennung mittels SIFT sehr hohe Leistungsanforderungen haben gibt es ein vereinfachtes SIFT Verfahren bei dem die 3D Position eines 2D Objektes gesch tzt wird Mit diesem Ansatz sind Verfahren zur Ob jekterkennung auf mobilen Ger ten ohne gro e Prozessorleistung m glich Allgemein ist zu bemerken dass bereits viele verschiedene Ans tze zur Lokalisierung bzw Objekterkennung existieren Viele davon sind nur im Au enbereich anwendbar da sie aus schlie lich mit GPS Technologie arbeiten F r die Innenraumnutzung ist meist zus tzliche Hardware notwendig wie bei dem Beispiel der iBeacon Die vorgestellten optischen Verfah ren ben tigen f r die Bildanalyse mittels SIFT oder auch dem vereinfachten SIFT Verfahren gro e Bilddatenbanken und somit eine Internetverbindung Im nachfolgenden Kapitel wird mit Hilfe dieser Erkenntnisse das Konzept f r das zu entwickelnde Verfahren erarbeitet
128. he nach der Wahr scheinlichkeit ihres Zutreffens gewichtet werden wird eine Neuklassifizierung durch gef hrt In F llen in denen sich Bayes sche Verfahren nicht f r ihre praktische Anwendung eignen k nnen die Algorithmen dennoch herangezogen werden um einen Standard f r die bestm gliche Entscheidungsfindung zu bilden an dem sich die Algorithmen welche dann f r die praktische Anwendung genutzt werden messen m ssen Nachteile der Verwendung Bayes scher Algorithmen ergeben sich daraus dass vor der Ver wendung dieser Methoden bereits eine Vielzahl an bekannten Wahrscheinlichkeiten gege ben oder durch Hintergrundwissen gesch tzt werden m ssen Des Weiteren kann eine hohe Rechenleistung gefordert sein die auf Grund der hohen Anzahl an zu berechnenden Wahr scheinlichkeiten entstehen Mit97 Bayes Theorem Das Bayes Theorem wurde nach Thomas Bayes 1702 1761 benannt weil dieser es erstmals in seinem Werk An Essay towards solving a Problem in the doctrine of Chances 1763 Bay63 er rtert hat Da im Allgemeinen die Wahrscheinlichkeit f r das Eintreten eines Ereignisses davon abh ngt ob ein weiteres Ereignis bereits eingetreten ist arbeitet das Theorem ausschlie lich mit sogenannten bedingten Wahrscheinlichkeiten Wenn A und B die einzelnen Ereignisse beschreiben wird mit der Schreibweise A B dargestellt dass das Ereignis A nur dann wahr sein kann wenn B bereits eingetreten ist also kurz A unter der Bedingung von B
129. hkeiten agieren k nnen mit dessen Hilfe analysiert werden e F r bestimmte Anwendungen wie zum Beispiel den Naive Bayes Klassifikator als Text klassifikator stellen die mit Wahrscheinlichkeiten operierenden Bayes schen Lernalgo rithmen eine anerkannte wirkungsvolle Methode dar e Mit Hilfe der Bayes schen Analyse kann berpr ft werden unter welchen Gegebenhei ten Algorithmen die nicht mit Wahrscheinlichkeiten operieren die mutma lich wahr scheinlichste Hypothese f r Trainingsdaten liefern Die Methoden der Bayes schen Anlernverfahren besitzen folgende Eigenschaften e Lernmethoden die auf Bayes basieren sind anpassungsf higer als Verfahren die nach und nach unstimmige Hypothesen aussortieren und verwerfen weil sich durch jedes 39 3 KONZEPTENTWICKLUNG 40 weitere angelernte Trainingsdatum schrittweise die Wahrscheinlichkeit fiir die Richtig keit der Hypothese erhoht e F r das Definieren der Wahrscheinlichkeit einer Hypothese k nnen beobachtete Daten mit Hintergrundwissen kombiniert werden e Die A Priori Wahrscheinlichkeit f r jede Hypothese ist im Bayes schen Anlernverfahren das Hintergrundwissen Des Weiteren bildet es eine Wahrscheinlichkeitsverteilungs funktion f r die beobachteten Daten f r jede m gliche Hypothese e Hypothesen die Wahrscheinlichkeitsvorhersagen treffen k nnen mit den Bayes schen Verfahren angeglichen werden Durch die zusammengef gte Voraussage mehrerer Hypothesen welc
130. hlt neu angelegt oder gel scht werden 4 7 1 System Einstellungen Die tboc gui UserSettingActivity ist eine Activity Klasse die von android preference PreferenceActivity abgeleitet wird Das Layout und die Struktur der Einstellungen wird ber die Methode addPreferencesFromResource ge setzt in dem eine PreferenceScreen XML bergeben wird Diese XML Datei beschreibt ber einen besonderen Satz von Steuerelementen die Benutzeroberfl che Diese XML wird anders als die normalen Layout XML Dateien im Ressourcenornder res xml abgelegt Wie der folgende Beispiel Quellcode 4 37 zeigt wird jedes Einstellungslayout in einer Hierarchie beschrieben und beginnt mit dem PreferenceScreen Element Einzelne Einstellungsbl cke k nnen ber PreferenceCategory gruppiert werden Neben einer einfachen Preference die mit einem Titel und einer Beschreibung versehen werden k nnen ber einen Intent k nnen hier weitere Activitys angegeben werden die geladen werden sollen Weitere 75 4 ANWENDUNGSENTWICKLUNG 76 Einstellungselemente sind die ListPreference die eine Auswahlliste zur Verfiigung stellt oder die CheckBoxPreference f r Einstellungen ber ein Kontrollk stchen MS14 Gar11 Die einzelnen Listeneintrage f r die ListPreference werden in der string xml datei als string array definiert Listing 4 37 Deklaration der PreferenceScreen XML lt xml version 1 0 encoding utf 8 gt lt PreferenceScreen xmins android h
131. hrieben und die funk tionelle Umsetzung geschildert AuBerdem wird auf die Notwendigkeit eines sogenannten Dummy Objektes bzw NULL Objektes eingegangen Das Problem der Fehlerkennungen wird beschrieben und der Losungsansatz hierfiir geschildert AbschlieBend wird in diesem Kapitel noch ein Uberblick iiber die restlichen Systemfunktionen der TBOC Anwendung gegeben 4 1 Einleitung Die TBOC Applikation ist eine prototypische Implementierung des gleichnamigen Verfah rens welche dazu dient zu berpr fen ob das entwickelte Verfahren den Zielsetzungen dieser Arbeit bez glich der Objekterkennung f r die Initialisierung von markerlosem 3D Tracking gerecht werden kann Des Weiteren kann die Anwendung durch die modularisierte Umsetzung sp ter f r das reale Anwendungsszenario in die Mathematkum Applikation inte griert werden Die App wurde in dem Entwicklungstool Eclipse mit den Android Developer Tools kurz ADT entwickelt In der Anwendung kann die Erkennung ebenfalls vollzogen werden jedoch in erster Linie nur zur Kontrolle mit einer Ausgabe eines Benutzerhinweises welcher ausgibt welches Objekt bzw Exponat erkannt wurde Wenn das Verfahren in weitere Anwendungen integriert wird wird hier jeweils nur die Android Klasse f r die Objekterken nung ben tigt Diese bietet eine Schnittstelle in der f r jedes erkannte Objekt gew nschte beliebige Android Klassen aufgerufen werden k nnen Weiter bietet die TBOC Anwendung M glichkeiten zu
132. hters und erm glicht dadurch das Anzeigen der Informationen an der Stelle an der sie gebraucht werden CL08 Da die heute verfiigbaren mobilen Telefone neben einer qualitativ hochwertigen Kamera auch mehrere Sensorbauteile wie GPS und Richtungsanzeige enthalten ist die AR Anwendung auch fir den privaten Nutzer realisierbar Schon heute sind auBergew hnliche und eindrucksvolle Produktpr sentationen verf gbar siehe Abbildung 1 1 Ein zuk nftiges Anwendungsfeld das in dieser Arbeit auch n her betrachtet wird liegt in der erweiterten Verf gbarkeit von Informationen beim Museumsbesuch Hier kann z B der Museumsbesucher ohne ein ausgeliehenes spezielles Ger t wie heute noch blich umfangreiche Informationen zu den einzelnen Exponaten auf seinem Mobiltelefon abrufen Es gibt eine Vielzahl von unterschiedlichen Methoden um ein AR Tracking zu erm glichen Zur Zeit am meisten verbreitet sind die die auf Codemarker z B QR Codes oder einfache Bildmarker zur ckgreifen da sie einfach und schnell zu verarbeiten sind Aufwendiger sind hingegen Methoden die auf markerloses Tracking setzen Hierf r stehen entweder markerlose 2D Marker Ausschnitte aus Bildern etc oder markerlose 3D Marker zur Verf gung Die markerlosen 3D Marker bieten den enorm gro en Vorteil dass reale Objekte oder R ume direkt getrackt werden k nnen und keinerlei weitere Marker notwendig sind was eine gr ere Flexibilit t und Bewegungsfreiheit beim Trackingvorgang g
133. ich Mathematik und Informatik der Philipps Universit t Marburg und dem Industriepartner advenco Consulting GmbH zusammen Die Projektziele sind unter anderem die Schaffung einer Infrastruktur f r die plattformunabh ngige Entwicklung von Applikationen f r mobile Endger te ber modellgetriebene Softwareentwicklung sowie die Integration von AR Technologie Der Augmented Reality Schwerpunkt liegt hierbei auf dem markerlosen 3D Tracking Aus den Anwendungsszenarien des Industriepartners ergibt sich die Anforderung eine Vielzahl von Objekten automatisch zu erkennen und passende AR Inhalte zu laden Deshalb soll in dieser Arbeit ein Verfahren entwickelt werden welches die Leistungsbeschr nkung der mobilen Ger te umgeht und es erm glicht eine gro e Menge von Objekten markerlos zu tracken RB Abbildung 1 2 Markerless 3D Tracking Angelernte Punktwolken mit Tiefeninformationen links Tracking und Anzeige eines virtuellen Objektes anhand des angelernten Punktwol kenmarkers rechts 3http pimar mnd thm de Stand 7 Januar 2015 http www hessen agentur de Stand 7 Januar 2015 http www proloewe de Stand 7 Januar 2015 http galileo mnd th mittelhessen de Stand 7 Januar 2015 https www uni marburg de fb12 Stand 7 Januar 2015 http www advenco de Stand 7 Januar 2015 1 EINLEITUNG 1 2 Problemstellung und Zielsetzung Um bei den markerlosen Verfahren eine Vielzahl von unterschiedlichen Objekten
134. ie Dateigr e Anders sieht es bei dem generierten Modell aus Hier hat die Anzahl der Datens tze keine Auswirkung auf die Dateigr Be Bei der Erh hung der Objektanzahl hingegen ist ein linearer Anstieg der Dateigr Be mit einer Steigung von m 5 58 zu verzeichnen So erh lt man bei 20 Objekten eine Dateigr e des Modells von 0 123mb Somit bleibt die Speicherbelastung des Verfahrens sehr gering Bei der Untersuchung zum Zeitverhalten fiir das Anlegen des Modells wurde festgestellt dass eine Erh hung der Datens tze eine leichte Erhohung bei der Erstellungszeit verursacht Aber der Anstieg von lediglich 0 2545 Sekunden bei einer Erhohung um 90 Datens tze ist nicht so ausschlaggebend wie der Einfluss bei der Erhohung der Objektanzahl Hier ben tigt das System 14 21 Sekunden mehr wenn statt der drei Objekte 50 Objekte in den Trainingsdaten berticksichtigt werden Vergleichbar mit der Modellerstellung sind auch die Messzeiten bei der Objekterkennung Hier stellte sich heraus dass die Erh hung der Datens tze sogar eine leichte Verbesserung in der Erkennungszeit verursacht Es ergibt sich eine lineare negative Steigung von m 0 2467 Wenn die Anzahl der Objekte bei der Erkennung erh ht werden wirkt sich das ebenfalls wie bei der Erstellungszeit auch auf die Erkennungszeit aus Hier steigt die Zeit fiir die Erkennung mit m 239 948 Wobei fiir drei Objekten mit 100 Datens tzen nur 2 29 Sekunden ben tigt werden erreicht die Messung bei
135. ie Methode classifyObject zur Verf gung der der Featurevektor iibergeben wird In dieser Methode wird das Objekt mit dem Modell verglichen und klassiert wie es im Abschnitt4 4 2 im Quellcode Beispiel 4 14 schon aufgezeigt wurde Wenn am Ende der Durchl ufe das am h ufigsten klassier te Objekt in der getMaxRecognizedPosition ermittelt wird wird dazu Ober ein android widget Toast ein View Element was wie eine kleine Notiz am unteren mittleren Bildrand des Display angezeigt wird das erkannte Objekt ausgegeben Wie im folgen den Quellcode zu sehen ist wird hier tiberpriift ob das erkannte Objekt den Namen NULL hat Listing 4 36 Ausgabe des Benutzerhinweises fiir Erkanntes Objekt Context context getApplicationContext int duration Toast LENGTH SHORT CharSequence text if popular equals NULL text popular yelse text getString R string nomatch Toast toast Toast makeText context text duration toast show if popular equals NULL amp amp autoScan startSearchForLocation 4 7 Weitere Systemfunktionen Dieses sogenannte NULL Objekt oder auch Dummy Objekt dient der L sung des Problemes welches im Absatz 3 5 2 in Kapitel 3 angesprochen wurde Da der Naive Bayes Klassifikator immer nur die gr te Wahrscheinlichkeit unter den angelernten Objekten berechnet wird auch immer ein angelerntes Objekt als wahrscheinlicher als die anderen bestimmt und
136. iel 4 25 aufgezeigt Listing 4 25 Erstellen der Farbsignatur ber Regionale Mittelwerte Signaturwert 5 5 3 fuer RGB int sig new int 25 3 For each of the 25 signature values average the pixels around it Note that the coordinate of the central pixel is in proportions float prop new float 1f 10f 3f 10f 5f 10f 7f 10f 9f 10f int count 0 for int x 0 x lt 5 x for int y 0 y lt 5 yt 4 int averageColor averageAround i double prop x double prop y sig count Color red averageColor count sig count Color green averageColor count sig count Color blue averageColor count 4 6 Aufbau der Android Anwendung 4 6 Aufbau der Android Anwendung Der Programmcode der TBOC Anwendung umfasst 116 Methoden in 12 Klassen die in drei Packages unterteilt sind Das tboc vision Package beinhaltet die Bildverarbei tungsklassen MinimalHistogramm und RegionalAverage die im vorherigen Abschnitt beschrieben wurden Alle Activity Klassen und somit die Klassen die mit der Benutzer Interaktivit t und gleichzeitig mit der GUl Ausgabe in Verbindung stehen befinden sich im tboc gui Package Die Klassen die Methoden und Funktionalit ten f r die Activity Klassen bereitstellen befinden sich im tboc util Package Die Activity Klassen importieren jeweils die ben tigten Klassen aus den beiden anderen Packages siehe Abbildung 4 7 Das Zusa
137. ieren und entt uschen Auf Grund dessen soll mittels einer AR Unterst tzung dem Besucher eine Hilfestellung angeboten werden die aber nicht gleich zu viel verr t Beim Erkennen des Exponates unter Verwendung des TBOC Verfahrens wird der Besucher ber einen Dialog gefragt ob er die AR Experience f r die Deutschlandtour laden m chte Bei Bejahung wird anschlie end die entsprechende 3D Punktwolke in der AR Activity geladen und mit der Umgebung verglichen Wenn beim Tracking eine berein stimmung gefunden wurde wird auf der Deutschlandkarte ein Label eingeblendet mit der Frage ob Hilfe ben tigt wird und bei positivem Feedback des Benutzers wird entweder die L sung f r die erste Zielstadt oder das Ende der Tour mit einer Punktmarkierung und ei nem Pfeil auf der Karte eingeblendet siehe Abbildung 5 4 Der Pfeil gibt die Richtung an aus der die Schnur kommen muss um die Stadt zu erreichen Mit den jeweiligen L sungs ans tzen sind die weiteren Schritte etwas einfacher und mit etwas berlegung kommt der Besucher schnell zum richtigen Ergebnis Shttp g00 gl 9Q5f4e Stand 14 M rz 2015 5 1 Die Mathematikum App v A8 AR Experience Willst du die AR Experience Die Deutschlandtour laden Abbildung 5 4 Bei dem Exponat Die Deutschlandtour soll mittels einer Schnur die k rzeste Strecke zwischen elf St dten ermittelt werden Als Hilfe kann ber eine AR Experience wahlweise das erste oder das letzte Ziel eing
138. ierung Da in vielen Bereichen eine Nutzung von Internettechnologie iiber Mobilfunk oder WLAN nicht sichergestellt werden kann wird die M glichkeit einer Offline Anwendung des Systems vorausgesetzt 3 6 Zusammenfassung Ebenso ist es in vielen der Einsatzbereiche nicht m glich Marker direkt an den Objekten oder in der N he dieser anzubringen warum auf eine markerlose Initialisierung zur ckgegriffen werden muss Des Weiteren wird die Anschaffung Installation weiterer Hardware zur Anwenderlokalisierung f r das Verfahren ausgeschlossen Die Initialisierung soll mittels der vorhandenen Sensorik in mobilen Ger ten geschehen wobei gro er Datenspeicherverbrauch vermieden werden muss um den Datenspeicher des Anwenderger tes nicht zu stark zu belasten Die verwendete Sensorik setzt sich aus dem Magnetometer dem Gyroskop und GPS zusammen Um auch optische Werte mit hinzuzuziehen werden Werte die ber Bildanalyseverfahren aus dem Kamerabild extrahiert werden ebenfalls als Sensorwerte betrachtet und weiterverwertet Der Name des Verfahrens Transformation Based Object Classification kurz TBOC bezieht sich auf die Transformation der Sensordaten Werte in einen Parameterraum Das Verfahren besteht aus zwei Phasen In der offline Phase der Erkennungsphase werden die zu erkennenden Objekte sensorisch vermessen und die gewonnenen Sensorparameter in Form eines Featurevektors in der Trainingsdaten Datei abgespeichert Aus den Trainingsd
139. ildschirm mit ein Auswahl men anzeigen und die evtl damit verbundenen Aktionen der Ap plikation verwalten Ein Feld engl Array steht in der Informatik f r eine Datenstruk tur die eine Sammlung von vielen gleichartig strukturierten Daten beinhalten kann kurz AR im Deutschen als Erweiterte Realit t bezeichnet be schreibt die computergest tzte Erweiterung der Realit tswahrneh mung ist ein aus dem Satz von Bayes hergeleiteter Klassifikator Dieser ord net jedes Objekt der Klasse zu zu der es mit der gr ten Wahrschein lichkeit geh rt bzw bei der durch die Einordnung die wenigsten Ko sten entstehen Der Markenname iBeacon ist ein 2013 von Apple Inc eingef hr ter propriet rer Standard f r Navigation in geschlossenen R umen basierend auf Bluetooth Low Energy BLE iBeacon basiert auf ei nem Sender Empf nger Prinzip Dazu werden im Raum kleine Sender Beacons als Signalgeber platziert engl Bluetooth Low Energy ist eine Funktechnik aus dem Blue tooth Standard 4 0 mit der sich Ger te in einer Umgebung von bis zu 50 Metern mit einer wireless bidirektionale Daten bertragung verbin den k nnen im Deutschen R ckruffunktion genannt bezeichnet in der Informatik eine Funktion die einer anderen Funktion als Parameter bergeben und von dieser unter gewissen Bedingungen aufgerufen wird Data Mining Unter dem Begriff versteht man die systematische Anwendung stati stischer Methoden auf einen Daten
140. in der Anwendung umgesetzt wurden Zum einen das Exponat Pi mit den F en wo mit aufwendigen 3D Animationen dem Besucher des Museums das Exponat erkl rt wird Das zweite Exponat Die Deutsch landtour hingegen zeigt auf wie mit einfachen Mitteln eine n tzliche Hilfestellung erreicht werden kann Hier werden lediglich ber Labels 2D Bilder positionsabh ngige Hinweise eingeblendet die dem Besucher Hilfestellungen f r die L sung des Problems liefern Das n chste Kapitel besch ftigt sich mit der Auswertung der Ergebnisse des Verfah rens Hier sollen die Performance sowie die Erkennungsraten des Verfahrens getestet und ausgewertet werden Im Mittelpunkt stehen dabei die Fragestellungen wie sich das System bei Zunahme der Datenmenge verh lt und ob die Anzahl der zu ermittelnden Objekte eine Auswirkung auf die Erkennungsrate hat 91 Kapitel 6 Test und Auswertung des TBOC Verfahrens Dieses Kapitel beschaftigt sich mit dem Testen und Auswerten des in dieser Arbeit ent wickelten Verfahrens Nach der prototypischen Implementierung des Verfahrens in Form der TBOC Applikation und dessen Integration in eine reale Anwendung fiir das Mathematikum in GieBen soll nun mit Hilfe eines Leistungstests die Performance des Verfahrens untersucht werden 6 1 Einleitung Um das in dieser Arbeit entwickelte Verfahren beurteilen zu k nnen soll es beziiglich seiner Funktionalitat und Leistungsfahigkeit Performance untersucht werden Die
141. in der Hauptansicht auszublenden Was nicht bedeutet dass die Daten bei der Klassierung nicht beachtet werden Um eine der drei unterschiedlichen M glich keiten zu nutzen Bilder aus der Kamera auszulesen kann ber den Punkt Bildmethode ein Verfahren ausgew hlt werden Hierbei wird die Liste der m glichen Methoden in ei ner Auswahlliste angezeigt Die Besonderheit hier ist dass die Beschreibung des Einstel lungspunktes sich bei der nderung der Auswahl an die nderung anpasst Hierf r wird in der tboc gui UserSettingActivity in der onSharedPreferenceChanged Methode eine nderung des Einstellungseintrages abgefangen siehe nachfolgendes Quellcode Beispiel 4 38 77 4 ANWENDUNGSENTWICKLUNG 78 Gib ein Dateinamen ein Verwalte deine Trainingsdaten default x lt Stadtf hrung Brandenburger Tor ANLEGEN Museum NULL Lade Trainingsdater Maschinenhalle A x Siegessaule x default Stadtf hrung aul ABBRECHEN WEITER ZUR CK FERTIG Museum Maschinenhalle A Abbrechen Abbildung 4 13 Im Bereich der Trainigsdatenverwaltung in den Systemeinstellungen kann aus einer Liste der vorhandenen Trainingsdaten eine ausgew hlt und im System geladen werden Weiter gibt es die M glichkeit neue Dateien anzulegen Hierf r wird zuerst der Name der Datens tze eingegeben danach besteht die M glichkeit Objekte anzulegen die sp ter angelernt und erkannt werden sollen Weiter ist es m glich angelegte Datens tze wieder vom Ger
142. indung von Interaktionen des Benutzers eine Stadtf hrung mit Hilfe einer mobilen Anwendung erlebnisreich gestaltet werden Technischer Aspekt Die Positionsbestimmung kann in erster Linie ber GPS Ortung umgesetzt werden Marker oder andere technische Verfahren k nnen hier nicht in Betracht gezogen werden da zum Beispiel ein Anbringen von visuellen Markern an Sehensw rdigkeiten eine besondere Genehmigung voraussetzt Eine Nutzung von mobilen Daten ber das Mobilfunknetz k nnte in Betracht gezogen werden da in Stadtgebieten das Netz gut ausgebaut ist Jedoch ist hier zu ber cksichtigen dass die Anwendung auch f r Touristen aus dem Ausland nutzbar sein sollte die unter anderem aufgrund von hohen Roaming Geb hren nicht unbedingt ber einen Zugang zum mobilen Internet verf gen Daher ist hier eine Offline Verarbeitung zu bevorzugen 3 2 3 Museumsbetrieb Eine Anwendung f r ein Museum sollte dem Benutzer neben allgemeinen Informationen zu dem Museum insbesondere Erkl rungen und Hinweise zu den einzelnen Kunstwerken oder Exponaten zur Verf gung stellen Eine solche Anwendung ist vergleichbar mit den Audioguide Touren die eine Vielzahl von Museen anbieten Jedoch bieten sich bei einer mobilen Anwendung mehrere Vorteile an Der Museumsbesucher muss sich nicht noch ein meist kostenpflichtiges Extrager t ausleihen und hat nebenbei noch die M glichkeit einen visuellen Mehrwert aus einer solcher Anwendung zu erhalten So ist es m glic
143. inenbau Industrie Schon im Jahr 2001 war die Forschung daran interessiert AR Technologie gerade fiir den Bereich Maschinenbau zu nutzen Im Leitprojekt ARVIKA vom Fraunhofer Institut fiir Gra phische Datenverarbeitung kurz IGD werden AR Technologien zur Unterst tzung von Arbeitsprozessen in Entwicklung Produktion und Service fiir komplexe technische Pro dukte und Anlagen benutzerorientiert und anwendungsgetrieben erforscht und realisiert Durch die visuelle Uberlagerung realer Objekte mit rechnergenerierten virtuellen Objekten erlauben Augmented Reality Techniken im Sinne einer erweiterten Realit t das situations gerechte Agieren in realen Arbeitsumgebungen WS03 Der Gedanke bei diesem Projekt war digitale Handb cher zu erstellen die einem Monteur Arbeiter die n chsten Schritte erkl ren und in seinem Blickfeld gleichzeitig die n tigen Informationen einblenden Auch durch das Anzeigen von verdeckten oder schwer zug nglichen Bauteilen k nnte mit solchen Industrie AR Anwendungen dem Mechaniker die Arbeit erleichtert werden Wie im Pro jekt vom Fraunhofer Institut f r Kommunikation Informationsverarbeitung und Ergonomie kurz FKIE ist auch die M glichkeit der Fernwartung denkbar siehe Abbildung 2 4 links Hierbei wird das Kamerabild einem Experten bermittelt der dann an bestimmten Punkten Hinweise f r den Techniker vor Ort an der Maschine platzieren kann Diese Hinweise werden dann dem Techniker in seinem Display an der Entspre
144. ing Walk Cycle XML Yaw YUV Farbmodell beschriebt die bildbasierte und sensorbasierte Positions und Rotation Bestimmung des Anwenders Erst durch Tracking wird es erm glicht passgenaue berlagerungen ber das Videomaterial in Echtzeit ein zublenden auf Deutsch Lauf Zyklus ist in der Animation eine Reihe von Fra mes oder Abbildungen die in einer wiederholten Abfolge eine Anima tion eines laufenden Charakter ergeben Der Walk Cycle wird immer und immer wieder wiederholt so dass nicht jeder Schritt einzeln ani miert werden muss Ist die Abk rzung f r Extensible Markup Language dt erweiterbare Auszeichnungssprache und ist eine Auszeichnungssprache zur Dar stellung hierarchisch strukturierter Daten in Form von Textdateien auf Deutsch Gieren Roll Pitch Yaw Winkel sind eine M glichkeit zur Beschreibung der Orientierung eines Objektes im dreidimensiona len Raum Wobei mit Yaw die Drehung um die z Achse des Referenz systems bezeichnet wird Ist ein Farbmodell der Videotechnik Es verwendet zur Darstellung der Farbinformationen zwei Komponenten die Luminanz Lichtst rke pro Fl che luma Y und die Chrominanz Farbanteil chroma wobei diese wiederum aus den zwei Unterkomponenten U und V besteht Literaturverzeichnis Bay63 CCBAO07 CFZ09 CG11 CLO5 CLos Cox46 DC11 EJ10 Bayes T An essay towards solving a problem in the doctrine of chances In Phil Trans of
145. ionen sind Anzeigeelemente die dem Fahrer in seiner aktuellen Sicht so eingeblendet werden dass er das Gef hl hat als seien sie fester Bestandteil der Umwelt Hierzu z hlen Navigationsinformationen wie ein Navigationspfeil der so angezeigt wird als l ge er direkt auf der Stra e oder ein Sicherheitsabstandsbalken der je nach Ge schwindigkeit des Autos dem Fahrer anzeigt welchen Abstand er zum vorausfahrenden Auto halten muss In Kampfflugzeugen sind es Informationen wie Systeminformationen oder Zie lerfassung Wenn vom Radar oder IR System ein Ziel erfasst wird wird dieses mit einem Leuchtkreis markiert http de wikipedia org wiki Head up Display Stand 11 Januar 2015 13 2 STAND DER TECHNIK 14 Abbildung 2 4 Links ein Anwendungsbeispiel fiir den Bereich Maschinenbau Industrie Anhand von 2D Barcodes die an den Einzelteilen der zu reparierenden Maschine angebracht sind ermittelt das System Kameraposition und richtung und sendet diese Daten an den Experten Fraunhofer FKIE links http goo gl gyfhCl Stand 11 Januar 2015 Rechts ein Beispiel fiir den Bereich Shopping Tourismus Die Wikitude App Zeigt dem Benutzer mit Hilfe von GPS und Orientierungssensor passend zu der Position und Ausrichtung des Ger tes Billbords Diese k nnen fiir die Positionen vorhandener Gesch fte und Lokale oder andere Informationen stehen rechts http goo gl b3NaLz Stand 11 Januar 2015 2 2 5 Arvika Einordnung Masch
146. itcher switcher showNext Switches to the next view Beim Anlegen einer neuen Datei wird berpr ft ob ein Name eingeben wurde oder ob eine Datei mit dem Namen schon vorhanden ist Wenn einer dieser F lle eintritt wird ber einen Benutzerdialog jeweils eine passende Fehlermeldung ausgegeben Ansonsten wird die n chste View geladen und es besteht die M glichkeit Objekte zur Erkennung anzulegen Wenn das nicht gew nscht ist kann dieser Punkt auch einfach bersprungen werden Dann stehen wie bei der default Datei zum Anlernen von Objekten nur die drei Standard Objektnamen die im System hinterlegt sind zur Verf gung Beim Anlegen von Objekten werden die Ob jektnamen in einer ListView abgelegt Um Duplikaten vorzubeugen wird beim Eintrag der neue Name mit den Eintr gen der Liste verglichen und gegebenenfalls eine Fehlermel dung ausgegeben Die ListView besteht aus einer Text und einer Bildkomponente Die Bildkomponente wird mit einem Icon gef llt welches f r die M glichkeit des L schens des Listeneintrages steht Das NULL Objekt wird automatisch mitangelegt und angezeigt wenn dies in den Einstellungen so ausgew hlt ist Jedoch wird durch ein transparentes Icon vom System verhindert dass der Eintrag f r das NULL Objekt aus der Liste entfernt werden kann Mit einem setOnItemClickListener wird die Auswahl eines Listeneintrages ab gefangen und dieser aus der Liste entfernt wenn er nicht das NULL Objekt ist Durch 7
147. klaration im Kopfbereich der Datei Odata Exponat 1 102 2 66 2 0 0 4 4 2 Classifier Jeder Lernalgorithmus wird in WEKA von der abstrakten Klasse weka classifiers AbstractClassifier abgeleitet Diese wiederum implementiert die Klasse weka classifiers Classifier F r einen einfachen Klassifikator werden folgende Methoden ben tigt e eine Methode die ein Klassifikator Modell aus einer Trainingsdaten Datei erzeugt buildClassifier e eine Methode die eine Wahrscheinlichkeitsverteilung f r alle Klassen erzeugt distributionForInstance 4 4 WEKA for Android Beim Anlegen eines Klassifikators k nnen je nach Klassifikationstyp verschiedene Optionen bergeben werden von denen die meisten die Auswertung beeinflussen Im folgenden Quellcode Beispiel 4 12 ist die Deklaration f r eine NaiveBayes und eine BayesNet Klassifikation aufgezeigt Listing 4 12 Anlegen eines Klassifikators Set an NaiveBayes Classifier private NaiveBayes m_ClassifierNB new NaiveBayes Set an BayesNet Classifier with options private BayesNet m_ClassifierBN new BayesNet String options D Q weka classifiers baves net search Iocal K P 1 EI weka classifiers bayes net estimate SimpleEstimator AT 0 5 m_ClassifierBN setOptions options Um einen Klassifikator zu trainieren wird ihm die Trainingsdaten Datei beim Aufruf der buildClassifier Methode be
148. ktwolken beschreiben markante Punkte auf einem Objekt und deren Position im Raum Anhand dieser k nnen Objekte oder R umlichkeiten erkannt und verfolgt werden Das in dieser Arbeit verwendete AR SDK bietet zwar die M glichkeit mehrere Punktwolken zur selben Zeit zu vergleichen und zu erkennen jedoch f hrt dies schon bei wenigen Punktwolken zu Leistungseinbr chen und somit zu niedrigen Frameraten was zu einem Ruckeln des angezeigten Kamerabildes f hrt Um dies zu verhindern ist es hilfreich eine Erkennung vor das eigentliche AR Tracking zu schalten und je nach erkanntem Objekt die entsprechend passende AR Szene zu laden Um den Benutzer der Anwendung nicht in den Prozess der Initialisierung einzubinden in dem er entweder ber einen sogenannten QR Code oder eine Men struktur immer das gew nschte AR Senario starten muss wurde mit dem TBOC Verfahren eine M glichkeit geschaffen eine markerlose automatische Objekterkennung unabh ngig von dem AR Tracking zu vollziehen Hierbei kann nach Erkennung eines Objektes neben einer passenden AR Szene auch jeder beliebige Abschnitt in einer Anwendung geladen werden Somit k nnen auch andere ortsgebundene Informationen einem Betrachter nach der Erkennung zur Verf gung gestellt werden F r die Erkennung und die sogenannte Klassifizierung der Objekte wird mittels der Sensorik der Mobiltelefone und einer Analyse des Kamerabildes mit zwei verschiedenen Bildver arbeitungsalgorithmen ein Datenvektor erstellt
149. l von Metaio voraus Hierf r wird ber den App Namen und dem App Identifier ein SDK Signature Schl ssel generiert Dieser muss in der String xml Datei unter dem Namen metaioSDKSignature hinterlegt werden siehe Quellcode Beispiel 4 5 Listing 4 5 Hinterlegen der metaioSDKSignature lt resources gt lt string name metaioSDKSignature gt ROc5VM400P350 9gBOoYfl8Agm2KMcXWAkoXd82y8QA lt string gt lt resources gt Um in einer Android Activity die AR Funktionailtaten anzuwenden wird die Klasse von der Metaio Klasse ARViewActivity abgeleitet Eine ARViewActivity ben tigt eine Vielzahl von implementierten Methoden siehe Quellcode Beispiel 4 6 Mit der Methode getGUILayout wird eine interne Methode zur Verfiigung gestellt um das Layout der Activity zu bergeben Die Methode loadContents ist daf r da den f r das AR Tracking ben tigten Content wie beispielsweise die Trackingdaten Label oder 3D Modelle zu laden Weiter gibt es noch eine Callback Methode welche Callbacks vom Metaio SDK abf ngt und die M glichkeit gibt entsprechende Operationen auszuf hren Hier kann zum Beispiel abgefangen werden dass eine Animation beendet wird Die onGeometryTouched Methode erm glicht das Abfangen eines Touch Ereignisses w rtlich das Dr cken auf etwas auf ein AR Objekt und das Ausf hren einer Operation https my metaio com Stand 15 Februar 2015 51 4 ANWENDUNGSENTWICKLUNG 52
150. l Q7YnZV Stand 2 Februar 2015 sichergestellt dass das Bild was sp ter verarbeitet wird immer die gleiche Gr e bzw das entsprechende Seitenverh ltnis aufweist Nach der Parameterextraction welche in erster Linie die Aufbereitung der Sensorwerte und die Bildanalyse beinhaltet werden die Daten entweder gespeichert oder in der Erkennungsphase mit den gespeicherten Werten verglichen Die Funktionsweise wird in Abbildung 3 4 an dem Beispiel eines Museumsszenarios visuali siert Wenn der Besucher das Ger t auf ein Kunstwerk richtet hier Roy Lichtenstein Yellow and Green Brushstrokes 1966 werden die aktuellen Sensorwerte mit den Werten der Bildanalyse verarbeitet und mit den im System hinterlegten Trainingsdaten verglichen Wenn die Daten im System erkannt werden wird in der Anwendung die entsprechende Oberfl che geladen und dem Besucher werden erweiterte Informationen im Display berlagert angezeigt 3 4 Sensorik Die heutigen mobilen Telefone beinhalten eine Vielzahl von Sensoren die die unterschied lichsten M glichkeiten f r Anwendungen bieten Jedoch sind nicht alle Sensoren f r die Ortsbestimmung bzw Objekterkennung geeignet Es bietet sich an f r die Klassifizierung nur die Sensorik zu verwenden die auch eine Relevanz bei dem sp teren AR Tracking hat Diese Sensoren sind in Abbildung 3 5 symbolisch abgebildet Die wichtigste Information 35 3 KONZEPTENTWICKLUNG 36 Bas d lt oF 7 Abbildun
151. ldpunkte gesucht und als Featurepunkte in Form roter Punkte in einer 3D Punktwolke festgehalten siehe Abbildung 5 1 Beim Erstel len dieser Punktwolken muss sichergestellt werden dass gen gend Featurepunkte gesammelt wurden so dass eine schnelle und zuverl ssige Erkennung des Objektes gew hrleistet wird Dennoch muss auch darauf geachtet werden nicht unn tigerweise eine zu hohe Anzahl von Feature Punkten zu speichern da sonst mit der Anzahl auch die Zeit f r die Verarbeitung und Zuordnung dieser ansteigt Das Toolkit hilft mit der Augmentierung eines Testobjektes dabei schon w hrend des Erstellungsvorganges die Stabilit t des Trackings und die Lage des Objektes in der Szene berpr fen zu k nnen Wenn das Ergebnis dem gew nschten Umfang entspricht kann die 3D Punktwolke als 3dmap Datei abgespeichert werden Die ausgegebe nen 3D Maps k nnen anschlie end auf einen Computer exportiert und zusammen mit dem Metaio SDK in einer beliebigen AR Anwendung verwendet werden Meistens ist es n tzlich die Map vorher in einer weiteren Software von Metaio zu laden dem Creator von Metaio Dies ist eine Software verf gbar f r Mac oder PC die in der Lage ist die 3D Punktwolken zu importieren und eventuelle Fehler in den gespeicherten Punkten aus der Datei zu entfernen Animation und Konvertierung des 3D Modells Da f r die Veranschaulichung dieses Exponates das Ablaufen des Pi Kreises durch einen menschlichen 3D Charakter und eine 3D Maus
152. leistet werden was dazu f hrt dass auch diese Anwendung nur mit lokalen Daten arbeiten kann 3 3 Anforderungen Aus den m glichen Anwendungsszenarien die im vorigen Abschnitt beschrieben wurden und den dort erw hnten technischen Aspekten erfolgt nun eine Aufstellung der Anforderungen an das Verfahren Hierbei wird darauf geachtet dass das zu entwickelnde System allen Szenarien gerecht wird um so die M glichkeit der Verwendung des Verfahrens f r alle ausgew hlten Anwendungsgebiete zu gew hrleisten Eine der wichtigsten Anforderungen ist dass die Initialisierung der AR Szene bzw die Lokalisierung des Anwenders nicht ber visuelle Marker geschehen soll die zum Beispiel 33 3 KONZEPTENTWICKLUNG 34 an den zu erkennenden Objekten angebracht werden miissten Gerade in Bezug auf das Szenario im Museum ist die Ver nderung der vor Ort gegebenen Situation in keiner Weise denkbar da so ein schwerwiegender Eingriff in die Museumsstruktur vom Betreiber des Museums aber auch vom Besucher nicht gew nscht ist Weiter soll der Besucher auch nicht in den Ablauf der Initialisierung miteinbezogen werden Das hei t er soll nicht aktiv daran beteiligt sein was durch das Scannen eines Markers der Fall ist Das Verfahren sollte m glichst intuitiv und selbsterkl rend funktionieren und dabei dem Nutzer das Gef hl geben dass er das Ger t nur auf ein Objekt richten muss und so seine Position bzw das Objekt automatisch erkannt wird Ebenfall
153. llt die Integration von Augmented Reality einen gro en Nutzen dar Neben der Erweiterung bzw Einblendung von wichtigen Informationen genau an der Stelle wo sie gerade ben tigt werden ist auch die M glichkeit Objekte automatisch zu erkennen oder das Anzeigen von sogenannten POI engl Point of Interest von Bedeu tung Hierbei werden mit Hilfe von GPS Daten Orte die von Interesse sein k nnten mittels 29 3 KONZEPTENTWICKLUNG 30 Abbildung 3 1 Abbildung links zeigt eine Illustration fiir eine Werkstattanwendung Ver schiedene Bauteile einer Maschine werden dem Nutzer in der Anwendung iiberlagernd an gezeigt oder wie in der rechten Abbildung k nnen Arbeitsschritte visualisiert und das daf r zu verwendende Werkzeug mit eingeblendet werden sogenannter Billboards im Kamerabild angezeigt Kal11 So ergeben sich drei Szenarien die in den nachfolgenden Abschnitten weiter erl utert werden e Werkstattbetrieb e Tourismus Stadtf hrung e Museumsbetrieb Die Unterteilung in Tourismus Stadtf hrung und Museumsbetrieb h ngt mit den unterschiedlichen Voraussetzungen zusammen Da eine Stadtf hrung in erster Linie in gro en Stadtbereichen Anwendung findet liegt hier der Schwerpunkt auf GPS Nutzung Bei einem Museumsbetrieb befinden sich die verschiedenen Kunstwerke oder Exponate meist in Innenr umen in einem sehr nahem Umfeld zueinander 3 2 1 Werkstattbetrieb In gro en Industrieanlagen aber auch in kleinen Werkst
154. lschreibweise p A B aufgel st wird Wird das Produktgesetz 3 2 nach p A B aufgel st entsteht das Bayes Theorem P A C P B AC P A BC era 3 5 In der Formel steht A fiir die Aussage tiber ein unbekanntes Ereignis B steht fiir ein Statement welches Informationen ber das Ereignis A beinhaltet und C steht fiir zus tz liches Wissen ber das Ereignis P A C wird A Priori Wahrscheinlichkeit genannt diese wird auch als Anfangs oder Ursprungswahrscheinlichkeit bezeichnet hierbei geht es um einen Wahrscheinlichkeitswert der auf Basis von Vorwissen ermittelt wird P A BC wird als A Posteriori Wahrscheinlichkeit bezeichnet dieser Wert beschreibt den aktuellen Stand des Wissens bez glich des unbekannten Ereignisses nach der Beobachtung von Stichpro ben Mit P B AC wird die Wahrscheinlichkeit bezeichnet Die Anfangswahrscheinlichkeit A Priori Wahrscheinlichkeit wird also durch die Wahrscheinlichkeit ver ndert die Informa tionen bez glich des unbekannten Ereignisses enth lt daraus ergibt sich die A Posteriori Wahrscheinlichkeit Koc13 Sac84 Naive Bayes Klassifikator Um nun die Komplexit t bei der Berechnung der Wahrscheinlichkeiten zu reduzieren wird der Naive Bayes Klassifikator herangezogen Seinen Namen erh lt der Naive Bayes Klassifikator daher dass er voraussetzt dass die Unabh ngigkeitsannahme wahr ist Bei der Unabh ngigkeitsannahme wird davon ausgegangen dass bei der Klassifizierung die Auswirkung
155. mationen ber eine einzelne Spalte in der Datenmenge Es speichert den Typ des Attributs sowie die Beschriftungen f r nominale Attribute die m glichen Werte f r String Attribute oder Datens tzen f r relationale Attribute diese sind Objekte vom Typ weka core Instances https github com rjmarsan Weka for Android Stand 17 Februar 2015 4 4 WEKA for Android Die Instanzen Klasse wird extern als ARFF Datei repr sentiert Eine ARFF Attribut Relation File Format Datei ist eine ASCII Textdatei Wie im Beispiel 4 11 exemplarisch dargestellt besteht die ARFF Datei aus einem Header der den Namen der Relation eine Liste der Attribute die Spalten in den Daten und ihre Datentypen enth lt Die einzelnen Daten werden im data Bereich als Kommas getrennte Liste angeh ngt Listing 4 11 WEKA ARFF Datei relation Location Cattribute Object Exponat 1 Exponat 2 Exponat 3 Cattribute OrientationDegree numeric Cattribute OrientationPitch numeric Cattribute OrientationRoll numeric attribute GPSLatitude numeric attribute GPSLongitude numeric data Exponat 1 102 2 66 2 0 0 Exponat 2 269 6 66 6 0 2 50 581234 8 666348 Exponat 2 265 65 2 0 2 50 581327 8 666533 Die relation Deklaration Der Relationsname ist der interne Name des Datensatzes Dieser wird in der ersten Zeile der ARFF Datei definiert relation lt relation name gt Hierbei ist lt rela
156. mmenspiel und die Abh ngigkeiten der einzelnen Klassen sind im Schaubild B in Form eines Klassendiagramms abgebildet Darin befinden sich auch schon die verwendeten Klassen der WEKA Bibliothek lt lt Java Package gt gt Btboc util E gt lt lt Java Package gt gt tboc vision Abbildung 4 7 Die TBOC Anwendung ist in drei Packages unterteilt In den GUI Packages werden alle Activity Klassen gehalten Die Klassen importieren jeweils Klassen aus den an deren Packages Alle Klassen die Methoden f r die GUI Klassen bereitstellen befinden sich im Utility Package sowie die beiden Bildanalyse Klassen im Vision Package lt lt Java Package gt gt ZGtboeou ObjectTeacnacuvny oft GObjectCiassityActivity mms panas ae WR AR Sf EAT bein See ManagoDatasetFllesActivity emma Me E q Ge EA U a SE ebe es y Ze gt qn _ ze y RR object her D f a mm SCH wi Ke Gorstracker MinimalHistogramm GRegionalAverage CameraManager G ObjectGiassifier MainAcuvi a wu Doc men ac meen ena 3 Pie ity thot gui AMAN e gt Se zeen GusersettingActivity AS oe io BK qe al Pa p Am Prag instance Data GCreateNewDatasetFlleActivity mths paya j gt u Abbildung 4 8 bersicht ber die Klassenstruktur der TBOC Anwendung Das Klassendia gramm zeigt alle im System entwickelten Klassen und deren Verbindungen Um die komplette Programmstruktur abzubilden si
157. msetzungen haben jeweils einen unterschiedlichen Umfang Dabei er streckt sich die Spannweite von einfachen Einblendungen von erstellten 2D Labels ber die Anfertigung und Integration aufwendiger 3D Animationen bis hin zu einem Aufruf eines in der App implementierten Spiels In den nachfolgenden Abschnitten werden die einzelnen Umsetzungen der jeweiligen Programmabschnitte beschrieben 5 1 1 Pi mit den F en Das Exponat Pi mit den F en besteht aus einem auf dunklen Bodenfliesen aufgemaltem wei en Kreismuster Aufgabe des Museumsbesuchers ist es sich durch die Messung des Kreisdurchmessers und Umfanges an die Zahl Pi anzun hern Dies soll ber das Z hlen der Schritte die beim Ablaufen des aufgemalten Musters ben tigt werden erfolgen Die Zahl Pi ergibt sich durch Division der Anzahl der Schritte f r den Kreisumfang durch die Schrittzahl f r den Durchmesser Je kleiner enger die Schritte sind und damit um so gr er die Schrittanzahl die ben tigt wird desto genauer wird die errechnete Ann herung an Pi Durch die Verwendung eines AR Szenarios in Form einer eingeblendeten Animation soll dem Besucher genau diese Tatsche verdeutlicht werden So kann der Benutzer mit Hilfe der Anwendung einen menschlichen 3D Charakter den Kreis und die Durchmesserlinie ablaufen lassen Hierbei z hlt die Anwendung die Schritte des virtuellen Charakters und gibt die Anzahl auf dem Display aus Sobald der Charakter nach dem Kreisumfang mit dem Durchmesser be
158. n ndern zum Beispiel neue hinzugekommen sind muss das Modell nachgeladen werden Dies kann in der Erkennungsphase ber das Men der ActionBar gemacht werden Da das aber leicht in der Entwicklungsphase also beim Anlernen und gleichzeitigem Kontrollieren mit der Erkennung vergessen werden k nnte kann das ber den Auto Load automatisiert werden Da in vielen Bereichen das Hinzunehmen von GPS Daten nur bedingt hilfreich ist kann in den Einstellungen entschieden werden ob die GPS Daten in der Anlern und auch in der Erkennungsphase miteinbezogen werden sollen Mit der Einstellung Wake Lock kann das Ausschalten des Displays verhindert werden wenn die Anwendung offen ist Weiter gibt es f r das eben vorgestellte NULL Objekt die M glichkeit beim Neuerzeugen DUMMY Trainingsdaten zu verwenden Dies sind vordefinierte Werte die keiner speziellen Zuordnung unterliegen Beim Anlernen dieser allgemeinen Daten wurden m glichst farbneutrale Fl chen ber cksichtigt und um die r umliche Verteilung zu erfassen alle Richtungen und Neigungen mit eingeschlossen 4 7 Weitere Systemfunktionen Einstellungen Einstellungen TRAININGSDATEN SYSTEM EINSTELLUNGEN Lade Trainingsdaten Bildmethode W hle eine Trainingsdatendatei GewBitmap Neue Trainingsdatei Auto Scan Legt eine neue Truningsdalendate an Automatische Scannen beim ffnen Bildmeihnode Trainingsdaten verwalten Auto Load Y P Vorwalte deine Trainingsdatandaten Autornatische Lad
159. n Ein weiterer wichtiger Punkt wird die M glichkeit der automatischen Initialisierung von AR Szenarien innerhalb einer AR Anwendung sein Hier werden aktuelle Forschungsarbeiten und Methoden vorgestellt die in der Lage sind ortsgebundene AR Inhalte zu laden Wobei hier meistens zwischen Innenr umen und Au enbereichen unterschieden wird und dementsprechend verschiedene Ans tze vorliegen 2 2 Augmented Reality Anwendungen Um einen berblick ber aktuelle AR Anwendungen auf dem Markt zu geben werden hier aus unterschiedlichen Anwendungsbereichen einzelne Anwendungen vorgestellt und deren Nutzen diskutiert Hierbei steht die Fragestellung im Vordergrund ob diese Anwendungen eher als Technik Eye Catcher dienen oder ob bereits ernstzunehmende Applikationen mit einem nachgewiesenen Mehrwert f r den Anwender existieren 2 2 Augmented Reality Anwendungen Abbildung 2 2 Anwendungsbeispiel fiir den Bereich Unterhaltung Medien Die App fiir die Sendung Galileo von ProSieben links http goo gl lydg2a Stand 11 Januar 2015 Ein Beispiel fiir den Bereich Produktmarketing Eyecatcher Die App von LEGO die es erm glicht das LEGO Spielzeug als 3D Modell auf der Packung anzuzeigen rechts http goo gl 2yUaAa Stand 11 Januar 2015 2 2 1 ProSieben Galileo Zeitreise Einordnung Unterhaltung Medien Bereits Ende 2011 stellte der Fernsehsender ProSieben in seiner vorabendlichen pseudo wissenschaftlichen Sendung Galileo Augmente
160. n mm Schwingenden Kugeln Der Parabelrechner Primzahlkette Das Chaospendel Das Phytagoras Parkett Start der Ausstellung amp Das Galton Brett Die Zyklode Der Spiegeldrichter 2 R hren zum H ren Abbildung 6 13 Die einzelnen Erkennungsraten aller Objekte pro Testdurchlauf In jedem Testdurchlauf werden drei Objekte mit jeweils 15 Trainingsdaten mit in den Test einbezogen und jeweils die Erkennungsrate iiber zehn Messungen ermittelt Es ist erkennbar dass sich mit Erh hung der Objektanzahl teilweise die Erkennungsrate einzelner Objekte reduziert Aber auch u ere Einfl sse wie starke nderungen der Lichtverh ltnisse w hrend eines Testdurchlauf k nnen zu einer Verschlechterung der Erkennungsrate f hren 6 3 4 Statistische Hypothesenpr fung in Bezug auf die Erkennungsrate Auch bei den Tests der Erkennungsraten soll ber einen statistischen Test ermittelt wer den ob die Daten nur zuf llig sind oder ob eine statistische Signifikanz bestimmt wer den kann Bei den Tests bez glich der Erkennungsraten liegen keine messbaren Zahlen 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 108 vor sondern eine Klasse mit JA erkannt und NEIN nicht erkannt Die Rate der Erken nungen wird mit H ufigkeitstabellen getestet Das bekannteste Testverfahren daf r ist der Chi Quadrat Vierfeldertest Bei diesem Test werden zwei Attribute mit je zwei Aus pr gungen gegeneinander getestet Bei den vorliegenden Messwerte
161. n schaffen die WEKA eigenen Klassen die M glichkeit die Datenverwaltung der Trainingsdaten zu realisieren 4 8 Zusammenfassung Fiir das System wurden zwei Bildanalyseverfahren entwickelt e Minimal Histogramme e regionale RGB Mittelwerte Um nicht ganze Bilder abspeichern zu miissen und dadurch unerwiinschte groBe Da tenmengen zu erzeugen werden mit dem Prinzip der Minimal Histogramme aus einem Bild Pixel fiir Pixel die unterschiedlichen Farbabstufungen fiir jeden einzelnen Farbkanal ermittelt Jedoch werden die 256 Werte auf eine beliebige kleinere Anzahl reduziert um weniger Werte zu Verarbeiten und Farbabweichungen genug Spielraum zu lassen Die Reduzierung wird tiber die Breitenangabe eines Histogrammbalken auch als Container oder Bin bezeichnet definiert Dieses Verfahren erm glicht es eine generelle Farbverteilung eines Bildes zu ermitteln und diese Werte in der Klassifikation zu verwenden Um die fehlenden Daten zu erhalten die beschreiben an welcher Position im Bild die ver schiedenen Farbwerte liegen wurde mit einem zweiten Bildanalyseverfahren die M glichkeit geschaffen die Farbmittelwerte in einem Bild regional zu bestimmen Der freie Java Code von Rafael Santos aus dem Projekt Java Image Processing Cookbook konnte f r das Verfahren adaptiert und f r die Zwecke von TBOC angepasst werden F r diese Bildanalyse wird eine 5x5 Matrix ber das Bild gelegt und in jeder der 25 Regionen ber die jeweiligen Pixel ein Farbmi
162. n Datens tzen 58 Explizites Speichern einer ARFF Datei 2 222 222 nn 59 Erstellen eines Datensatzes im Speicher 59 Hinzuf gen von Daten in einen Datensatzes e 60 Aufruf der getSimpleHist Methode e 61 Sicherstellung einer korrekten Balkenbreite im Histogramm 62 Erstellen eines Farbhistogramms mit dynamischer Balkenanzahl 62 Aufruf der calcSignatureRGB Methode 2 22 2222 nn nn 63 Erstellen der Farbsignatur ber Regionale Mittelwerte 64 Laden der SharedPreferences 2 2 222m nommen 66 TimerTask als Thread zum sammeln der Sensordaten 68 takePicture Callback Methode 69 setOneShotPreviewCallback is 5 3 esa e wee eS 69 Bitmap aus der TexturView auslesne e 70 Das Speichern des Datensatzes 2 0 ee 71 Zusammensetzten zweier Datensatzes 0 0 71 Das Erzeugen eines Modells ber die ObjectClassifier Klasse 73 Pausieren eines Threads ooa a a 73 xi LISTINGS xii 4 35 4 36 4 37 4 38 4 39 4 40 4 41 5 1 5 2 Objekt Klassifikation tons daa ia a ae Ae lh ert 74 Ausgabe des Benutzerhinweises f r Erkanntes Objekt 74 Deklaration der PreferenceScreen XML 2 22 2 oo nn 76 nderung der Einstellungsbeschreibung bei nderung einer Auswahl 77 F llen der Datensatz Auswahllsite e 79 Wechseln der View b der den ViewSwitcher 2222 2 2222 79 ndern der SharedPreferences ber den SharedPreferences Edito
163. n Sensordaten werden in 4 6 Aufbau der Android Anwendung der zugeh rigen TextView im oberen Bereich des Displays ausgegeben Bei der Verarbeitung der Kamerabilder ist der Vorgang hnlich wie bei der Erfassung der Sensordaten F r das Abgreifen des Kamerabildes stehen mehre m gliche Vorgehens weisen zur Verfiigung Um aus dem Timer Thread ein Bild von der Kamera zuzulassen werden Callback Methoden verwendet Die naheliegendste Methode scheint hier die takePicture CallbackMethode der Kamera zu sein Hier wird ein Foto mit der Kamera erstellt welches in dem PictureCallback abgefangen und verarbeitet werden kann Der Beispiel Quellcode 4 28 zeigt wie aus dem byte Array mit den Bilddaten ber die android graphics BitmapFactory Klasse eine Bitmap erzeugt werden kann Da f r die weitere Verarbeitung ein Bild mit fest definierter quadratischen Gr e ben tigt wird wird die erzeugte Bitmap mit der Methode createScaledBitmap und der Konstanten IMAGE_BASE_SIZE auf eine einheitliche Gr e reduziert Weil das Ausl sen eines Fotos unter Android aber viel Zeit ben tigt ist diese Variante nicht die effektivste Listing 4 28 takePicture Callback Methode import android graphics Bitmap import android graphics BitmapFactory import android hardware Camera import android hardware Camera PictureCallback PictureCallback jpegCallback new PictureCallback public void onPictureTaken byte data Camera camera C
164. n erster Linie die Zuordnung von Attributen in Form eines Featurevek tors zu vordefinierten Objekten Die Charakteristik f r die Klassifikation bildet ein Datensatz mit klassifizierten Objekten der sogenannte Trainingsdatensatz Die Klassifikation bezieht sich meist auf ein Attribut jedoch k nnen die Abh ngigkeiten auch so unterschiedlich sein dass ein Zusammenspiel mehrerer Attribute f r die Zuordnung erforderlich ist Die Auspr gung dieser Attribute muss in dem Trainingsdatensatz enthalten sein Im n chsten Schritt versucht ein Algorithmus Muster in den Trainingsdaten zu finden um ein Klassifika tionsmodell zu erstellen Diese Muster oder Regeln werden schlie lich verwendet um neue unklassifizierte Featurevektoren zuzuordnen Mit97 Der Naive Bayes einer der Bayes Klassifikatoren repr sentiert einen der einfachsten und ltesten Algorithmen des Maschinellen Lernens Trotz seiner Einfachheit liefert er vern nf tige Ergebnisse und wird daher auch heute noch in zahlreichen Data Mining Projekten 3 5 Entwicklung des Verfahrens TBOC Anwendung verwendet Sein einfacher Aufbau ohne zus tzliche Optimierungsparameter und seine leicht interpretierbaren Ergebnisse sind weitere Griinde dass diese Methode trotz stark vereinfachter Grundannahmen heute noch Anwendung findet WKRQ 07 Mit dieser Methode wird auf Basis des durch den englischen Mathematiker Thomas Bayes aufgestellten Bayestheorems Bay63 ein Klassifikator erstellt mit
165. n hat das eine Attribut Erkennung zwei Auspr gungen JA und NEIN Bei dem anderen Attribut der Erh hung der Datens tze bzw der Objektanzahl bestehen jedoch mehr Auspr gungen Unter diesen Voraussetzungen wird der Test Mehrfeldertest genannt Die Daten werden zusammenge fasst exemplarisch f r die Erh hung der Datens tze in Tabelle 6 5 dargestellt In MYSTAT hei t der Mehrfelder Chi Quadrat Test Pearson Chi Benannt nach Karl Pearson der den Test und seine Teststatistik erstmals in einem Artikel im Philosophical Magazine im Jahre 1990 beschrieb Pea00 LB82 Die Ergebnisse die MYSTAT liefert werden in Tabelle 6 6 gezeigt Auch hier werden durch MYSTAT nur drei Nachkommastellen angezeigt So kann auch an dieser Stelle davon ausgegangen werden dass die Werte kleiner als 0 001 sind also kleiner als 0 1 Damit kann die Hypothese best tigt werden dass mit einer Irrtumswahr scheinlichkeit von kleiner als 0 1 die Erkennungsrate von einer Erh hung der Datens tze und der Steigerung der Objektanzahl abh ngt DATENSAETZE 3 6 9 12 15 18 21 Total JA 40 49 53 59 57 89 60 377 NEIN 20 11 7 1 3 1 10 43 Total 60 60 60 60 60 60 60 420 Tabelle 6 5 Die erhaltenen Erkennungsraten zusammengefasst fiir den Test der Erken nungsrate mit einer Erh hung der Datens tze mit insgesamt 20 Messungen fiir je 3 Objekte Also insgesamt 60 Werte fiir die Erkenn
166. n werden um ein Ergebnis f r die Erkennung zu erhalten Illustration zusammen gesetzt aus Bildmaterial http goo gl E0dvHQ http goo gl Q7YnZV Stand 2 Februar 2015 der vom Magnetometer bereitgestellt wird und die Ger teausrichtung in den drei Achsen des Gyrometers um den Roll amp Pitch des Ger tes sowie den L ngen und Breitengrad zu bestimmen den der GPS Sensor liefert Wie im vorigen Abschnitt beschrieben werden auch die aus dem Kamerabild extrahierten Daten als Sensorwerte behandelt Damit die Erkennung von einer Vielzahl unterschiedlicher Objekte zur Echtzeit gew hrleistet ist m ssen diese Sen sorwerte aufgrund des beschr nkten Speicherraumes weitestgehend minimiert werden aber trotzdem einen Detaillierungsgrad aufweisen so dass eine Verarbeitung f r die Erkennung gew hrleistet ist Daf r werden die Daten zur Laufzeit in einen Parameterraum bertragen Diese Transformation in den Parameterraum erm glicht eine Klassifikation der Daten wenn diese einem bestimmten Objekt zugeordnet werden k nnen Bei der Transformation werden sogenannte Featurevektoren gebildet die die Datenwerte als Parameter beinhalten Diese Featurevektoren werden in die Trainigsdatendatei geschrieben oder in der Erkennungsphase zur Klassierung verwendet siehe Abbildung 3 6 Durch diese Vorgehensweise erh lt das 37 3 KONZEPTENTWICKLUNG 38 Verfahren auch seinen Namen Transformation Based Object Classification kurz TBOC 3 5 1
167. nalysiert werden und damit k nnen Werte gewonnen werden zur Auswertung hinzugef gt werden So k nnen die Werte die aus den Bildern gewonnen und wie Sensordaten behandelt werden Daher werden die ber Bildanalyseverfahren aus dem Kamerabild extrahierten Werte in dieser Arbeit auch als Sensorwerte eingeordnet Im nachfolgenden Kapitel 4 werden die Methoden zur Bildanalyse n her vorgestellt und beschrieben 3 5 Entwicklung des Verfahrens TBOC Wie in den Anforderungen im Abschnitt 3 3 schon verdeutlicht ist das Verfahren in zwei Phasen unterteilt In beiden Phasen werden zum Anlernen von Objekten oder zum Erkennen von Objekten Sensordaten und Daten die ber eine Bildanalyse aus dem Kamerabild des mobilen Ger tes gewonnen werden erfasst Zu den Sensorwerten z hlt der Kompasswert 3 5 Entwicklung des Verfahrens TBOC t naive bayes arameter classification Extraction lt E PAN GEL py d E J Abbildung 3 6 Eine detaillierte Abbildung des TBOC Verfahrens Bein Anlernen oder Erkennen von Objekten werden Sensorwerte vom Magnetometer Groyskop und vom GPS gesammelt Ebenfalls wird mit der Kamera des Ger tes ein Bild erzeugt und f r die Verar beitung auf Thumbnail Gr e skaliert ber eine Bildanalyse werden Informationen aus dem Bild ausgelesen Diese Werte werden mit den Sensordaten in einen Parameterraum transfor miert bevor sie dann im System abgespeichert werden oder mit den gespeicherten Werten vergliche
168. nd somit verbundenen Innenraum Ortserfassungen Es gibt verschiedenen Produkte auf dem Markt Bluetooth Low Energy Beacons die eine sehr genaue Lokalisierung in Innenr umen erm glichen und somit die M glichkeit f r standortbezogene Dienste engl Location based Services kurz LBS auf mobilen Ger ten bereitstellen Hier ist der sogenannte iBeacon ein propriet rer Standard f r die Navigation in geschlossenen R umen von Apple einer der bekanntesten Standards Ein solcher Beacon sendet dauerhaft seine ID und einen Indikator f r die Sendeleistung Weitere Funktionen hat so ein Beacon nicht Es werden auch keine Da ten empfangen oder eine Kopplung mit anderen bluetooth f higen Ger ten erm glicht ber die Sendeleistung kann eine Entfernung zu einem Beacon ermittelt werden Wenn mehrere Beacons mit festen und bekannten Positionen im Gebrauch sind kann eine Benutzerposition z B in einem Gesch ft ermittelt werden Eine genaue Positionsbestimmung ist jedoch erst m glich wenn sich bei mindestens drei Beacons die Sendeleistungen berschneiden VC14 Kud14 Gas14 So ist es also m glich dem Kunden beim Betreten eines Ladengesch ftes oder wenn er sich einer Position in dem Gesch ft n hert aktuelle Informationen ber Pro dukte oder Angebote direkt auf seinem Mobiltelefon anzuzeigen siehe Abbildung 2 8 links Ein weiteres Anwendungsfeld bietet hier ein Museum wo ein Besucher entweder durch dieses navigiert werden kann und oder
169. nd auch die abh ngigen Klassen der WEKA Bibliothek mit dargestellt siehe auch Anhang B f r eine gr ere Darstellung 65 4 ANWENDUNGSENTWICKLUNG 66 Der Grundstein der Anwendung wird durch die tboc gui MainActivity Klasse gebildet Sie ist die erste die beim Start der Anwendung aufgerufen wird und bildet ber ihr Layout den Startbildschirm ab siehe Abbildung 4 9 Hier wird mit Hilfe einer ListView das Men ange zeigt welches zu den Teilen der Anwendung f hrt die f r die beiden Phasen des Verfahrens verantwortlich sind Der Aufruf der zugeh rigen Actvitys wird ber den Intent Befehl der im Abschnitt 4 3 im Quellcode Beispiel 4 4 vorgestellt wurde realisiert In der ActionBar der Activity wird ebenfalls ein Men bereitgestellt ber das die Systemeinstellungen der App geladen werden F r den schnellen berblick werden die momentanen Einstellungen der An wendung auf dem Startbildschirm unter dem Hauptmen in einem TextLabel ausgegeben Hierf r werden die Einstellungen ber den android preference PreferenceManager als SharedPreferences abgespeichert So k nnen sie in jeder Activity ausgelesen werden siehe Quellcode Beispiel 4 26 Listing 4 26 Laden der SharedPreferences SharedPreferences prefs PreferenceManager getDefaultSharedPreferences this 00401615 O W400 16 19 Beta TBOC O Beta TBOC i D LES Objekt Anlernen Y Objekt Anlernen O Objekt Erkennen O Objekt Erkennen Abbildung
170. ng betrug sogar nur 0 003 Sekunden Da im Fall des TBOC Verfahrens kein groBer Wert auf die Bildqualit t bzw auf die Gr Be der Bilddatei gelegt wird da diese im System vor der Auswertung sowieso verkleinert wird ist diese Methode der Bilderfassung optimal fiir die Anwendung im hier betrachteten Verfahren Sie liefert schnell Ergebnisse und es ergeben sich auch keine weiteren ger tespezifischen Probleme 6 5 Anwendertest F r diese Arbeit wurde auf einen groBangelegten Anwendertest verzichtet da f r den Bereich der Objekterkennung keine problematischen Benutzereinwirkungen stattfinden Auch in den implementierten Anwendungen besteht die Benutzeroberfl che lediglich aus einer Anzeige des aktuellen Kamerabildes Die Erkennung startet entweder automatisch oder der Benutzer muss den Startvorgang durch Dr cken auf das Kamerabild ausl sen Danach muss der Anwender nur noch die Kamera auf das gew nschte Objekt richten welches er erkennen m chte Im Rahmen des Projektes PIMAR wurde die Mathematikum Anwendung in einem Anwendertest analysiert Hierbei standen die inhaltliche Umsetzung sowie die Stabilit t der Anwendung im Vordergrund Die Thematik des Anwendertests ist jedoch nicht ausschlaggebend f r diese Arbeit Die Ergebnisse werden zu einem sp teren Zeitpunkt in anderen Projekten und studentischen Arbeiten ver ffentlicht Bei der Beobachtung der Probanden kann aber festgehalten werden dass sie ganz intuitiv bei der Erkennung das Ger t au
171. ngen gezeigt In der letzten Zeile ist deut lich zu erkennen dass wenn ein Bild von der Farbgebung her zwar hnlich ist jedoch die Farbverteilung an sich in unterschiedlichen Bereichen des Bildes liegt der Abstand der ermittelten Farbwerte nat rlich dennoch sehr gering zu denen des Originalbildes ist http www lac inpe br JIPCookbook 6050 howto compareimages jsp Stand 20 Februar 2015 Rafael Santos erfolgen der in seinem Java Image Processing Cookbook P ein Verfahren beschreibt welches auf dem Vergleich zweier Bilder beruht Hierbei werden die Bilder in Regionen unterteilt und fiir deren Bereiche jeweils ein individueller Farbmittelwert ermittelt Mit diesem Verfahren wird iiber die einzelnen Mittelwerte der Regionen von zwei Bildern eine Distanz bestimmt die als Aussage Ober die Ahnlichkeit der beiden Bilder betrachtet werden kann Wenn zwei identische Bilder miteinander verglichen werden sollte die Distanz null ergeben Im Umkehrschluss bedeutet das dass je gr er die ausgele sene Distanz zwischen den Bildern ist desto unterschiedlicher sind sie siehe Abbildung 4 5 Das beschriebene Verfahren wird f r die hier vorliegende Arbeit adaptiert und eine Migration auf das Androidsystem durchgef hrt Dabei werden die wesentlichen Aspekte des Verfahrens bernommen Die tboc vision RegionalAverage Klasse bekommt zun chst beim Aufruf der Methode calcSignatureRGB ein Bild bergeben siehe Quellcode 4 24 Listing 4 24 Aufruf der
172. ngstests herausgefunden wurden sind gro e Ver nderungen an Form und Position der Exponate sowie starke Ver nderungen der Lichtverh ltnisse einfallendes Sonnenlicht starke Schattenkanten Diese St rfaktoren k nnen zu Einbr chen in der Erkennungsrate f hren Durch gezieltes Anlernen k nnen diese St rungen jedoch minimiert werden Durch Einf hrung eines NULL Objektes welches mit Trainingsdaten so angelernt wird dass es mit h chster Wahrscheinlichkeit zugeordnet wird wenn keins der angelernten Objekte mit dem zu erkennenden Objekt bereinstimmt wird die M glichkeit gegeben eine falsche Erkennung abzufangen Aus den Ergebnissen der unterschiedlichen Tests konnte festgestellt werden dass eine Verwendung dieses Verfahrens zur Erkennung von Exponaten in einem Museum im allt glichen Museumsbetrieb funktioniert Anhand der Erkenntnisse aus der Integration in die Anwendung des Mitmach Museums Mathematikum und aus den einzelnen Testverfahren kann geschlossen werden dass das TBOC Verfahren sowohl in Innenr umen als auch im Au enbereich genutzt werden kann um Objekte zu erkennen und in einer mobilen Anwendung virtuelle Inhalte entsprechend zu laden und mittels Augmented Reality direkt auf dem Exponat anzuzeigen In der Museums Anwendung konnte anhand des sogenannte Minispieles Knack den Code welches beim Erkennen des Exponates in der Anwendung geladen wird gezeigt werden dass sich das Verfahren auch f r das Laden interner Programmabschni
173. nhang mit dem in dieser Arbeit behandelten Forschungsbereich stehen auf die aber im Rahmen der hier vorliegenden Arbeit nicht n her eingegangen werden konnte 1 4 Was nicht behandelt wird Diese Masterarbeit befasst sich mit der Entwicklung eines Verfahrens zur Initialisierung von AR Szenarien Hierbei wird auf den aktuellen Forschungsstand eingegangen und ein Konzept fiir das Verfahren entwickelt und in Form von mehreren Prototypen exemplarisch umgesetzt Somit liegt der Schwerpunkt dieser Arbeit auf dem Verfahren und den anschlieBenden Tests H yww mathematikum de Stand 8 Januar 2015 1 EINLEITUNG sowie deren Auswertung Auf die Umsetzung von AR Szenarien wird nur kurz eingegangen indem die umgesetzten Szenarien fiir eine reale Museumsanwendung beschrieben werden Auch die Integration welche die modellgetriebene Softwareentwicklung beinhaltet wird in dieser Arbeit nicht weiter beleuchtet In einigen Bereichen wird der Java Quelltext eingebun den Tiefergehende Erl uterungen des Quelltextes werden in der Masterarbeit nicht get tigt sondern auch hier wird lediglich auf die Funktionalit t und die Zusammenh nge eingegangen 1 5 Zusammenfassung der wichtigsten Ergebnisse Durch die Flut an digitalen Daten kommt der Wunsch auf Informationen schnell bersicht lich und effizient zur richtigen Zeit am richtigen Ort zu erhalten Das unter dem Begriff Time to Content zusammengefasste Prinzip umfasst unter anderem auch das Ub
174. nlernen der Fall war sondern nach jedem Durch lauf werden die aktuellen Daten genommen und mit dem Datenmodell verglichen und ein Objekt klassiert Die Klassierten Objekte werden in einem Listenobjekt gespeichert und nach Beendigung der Thread Durchl ufe wird das am h ufigsten erkannte Objekt mit der getMaxRecognizedPosition Methode ermittelt Damit die gesammelten Daten mit dem Modell verglichen werden k nnen wird mit Hilfe der generateFeatureVector Methode ein Featurevektor aus den Daten erstellt Hierfiir werden alle Werte in der entsprechen den Reihenfolge in einen kommagetrennten String geschrieben Dieser String und der Pfad zum Datenmodell wird an die Methode classifieLocation iibergeben Der Quellco de 4 35 zeigt wie das Modell aus dem Speicher geladen wird und als Objekt vom Typ tboc util ObjectClassifier angelegt wird Listing 4 35 Objekt Klassifikation import java io FilelnputStream import java io ObjectinputStream import tboc util ObjectClassifier public String classifieLocation String modelFilePath String featureVector throws Exception ObjectInputStream modellnObjectFile new ObjectinputStream new FilelnputStream modelFilePath ObjectClassifier objectClassifier ObjectClassifier modellnObjectFile readObject modellnObjectFile close Determination of the object String location objectClassifier classifyObject featureVector return location Die Klasse von diesem Objekt stellt d
175. nnung signifikant sind abgedeckt werden 6 4 Optimierung bei der Bildverarbeitung 6 4 Optimierung bei der Bildverarbeitung Im Abschnitt 4 6 1 im Kapitel 4 wird auf die unterschiedlichen M glichkeiten der Bilder fassung eingegangen Um diese f r Testzwecke in der TBOC Anwendung implementierten Methoden auszuwerten werden diese in den nachfolgenden Abschnitten in Ihrer Funktions weise erl utert und ber eine Zeitauswertung beurteilt um die Unterschiede sowie Vor und Nachteile aufzuzeigen 6 4 1 onPictureTaken Die Methode onPictureTaken wird aufgerufen wenn ber die Kamera die Methode mCamera takePicture den PictureCallback aufruft und wenn die Bilddaten nach dem Ausl sen eines Fotos zur Verf gung stehen Ein Foto mit einem mobilen Ger t aufzunehmen kostet in der Regel etwas Zeit da die Kamera nat rlich erst fokussieren und das Bild ausl sen muss Des Weiteren ist ein Foto in der Regel sehr hochaufl send so dass die gro en Daten zun chst auch noch reduziert werden m ssen Bei einem Google Nexus 4 ergaben sich im Durchschnitt 0 19796 Sekunden die ben tigt werden um ein Bild zu erfassen Bei 50 Messwerten betrug die minimale Zeit 0 147 Sekunden und die maximale Zeit 0 282 Sekunden Bei lteren Ger ten kann der Wert nat rlich h her liegen 6 4 2 onPreviewFrame ber die Kamera Callback Methode mCamera setOneShotPreviewCallback wird die Methode onPreviewFrame aufgerufen wenn das Vorschaubild angezeigt wi
176. oks id ZD4uzpB F10C ISBN 9780132786881 EGGER Roman Jooss Mario Die Zukunft im mTourism Ausblick auf Technologie und Dienstentwicklung Version 2010 http dx doi org 10 1007 978 3 8349 8694 8_1 In EGGER Roman Hrsg Jooss Ma rio Hrsg mTourism Gabler 2010 ISBN 978 3 8349 2362 2 11 25 129 LITERATURVERZEICHNIS 130 Erm12 Fin06 Gar11 Gas14 GHO7 HFH 09 HK00 HSB09 HWB00 Jay95 JZB14 ERMOLIN P Grundlagen zu Farbr umen GRIN Verlag 2012 http books google de books id zpbJM6BEPf8C ISBN 9783656232667 FINKENZELLER Klaus FINKENZELLER Klaus Hrsg RFID Handbuch Grundlagen und praktische Anwendungen induktiver Funkanlagen Transpon der und kontaktloser Chipkarten 4 Hanser 2006 3 446 40398 1 GARGENTA M Einf hrung in die Android Entwicklung O Reilly 2011 https books google de books id 34S3Jt10NTKC ISBN 9783868991147 GAsT Matthew S Building Applications with IBeacon Proximity and Loca tion Services with Bluetooth Low Energy O Reilly Media Inc 2014 GILLERT F HANSEN W R RFID f r die Optimierung von Gesch ftspro zessen Prozess Strukturen IT Architekturen RFID Infrastruktur Han ser 2007 http books google de books id ntWEuQ5dxPEC ISBN 9783446405073 HALL Mark FRANK Eibe HOLMES Geoffrey PFAHRINGER Bern hard REUTEMANN Peter WITTEN lan H The WEKA Data Mining Software An Update
177. onvertierung zu einem Bitmap Bitmap mBitmap Bitmap createScaledBitmap BitmapFactory decodeByteArray data 0 data length IMAGE_BASE_SIZE IMAGE_BASE SIZE false Eine weitere M glichkeit ist das Ausl sen der setOneShotPreviewCallback Methode bei der Kamera Hier wird kein Foto ausgel st sondern ein Frame vom aktuellen Vor schaubild abgegriffen Der unten stehende Quellcode 4 30 zeigt dass die gewonnenen Bilddaten jedoch erst im YUV Farbmodell vorliegen und dass sie bevor sie zu einer Bitmap umgewandelt werden k nnen als android graphics YuvlImage eingelesen werden m ssen Die Klasse des YuvImage stellt ber die Methode compressToJpeg eine M glichkeit zur Verf gung eine Umwandlung in ein JPEG Format zu vollziehen Das nun neugewonnene byte kann wie bei dem vorher vorgestellten Verfahren in eine Bitmap gewandelt werden Auch hier wird die Gr e des Bildes ber den Wert der Konstante auf die einheitliche Gr e reduziert Diese M glichkeit ist im Bezug auf die erste zwar schneller in der Verarbeitung jedoch zeigte sich bei den ersten Tests mit unterschiedlichen Ger ten dass sie zu Helligkeitsproblemen des Kamerabildes f hrt wenn diese Methode auf den neuen Google Nexus 5 Ger ten ausgef hrt wird Hier wird sobald das Vorschaubild ausgelesen wird die automatische Belichtung der Kamera ausgeschaltet und somit ist das Kamerabild von da an unterbelichtet 69 4 ANWENDUNGSENTWICKLUNG 70 Listing 4 29
178. ormat erm glicht es ber Metadaten Attributen Eigenschaf ten zuzuteilen So kann im Kopfbereich der Datei den Attributen eine Gewichtung von 0 1 zugewiesen werden Eine weitere M glichkeit die Trainingsdaten zu beeinflussen ist die Gewichtung einzelner Featurevektoren beim Anlernen in der XRFF Datei So k nnen geziel ten Datens tzen eine h here Bedeutung im Modell zugeordnet werden Dies erm glicht es initial Positionen st rker zu werten oder die Gewichtung einzelner NULL Objekt Instanzen schw cher zu behandeln Die Idee und die funktionelle Umsetzung des NULL Objektes konn te best tigt werden jedoch gibt es hier noch Verbesserungspotential was das Anlernen und die Anzahl der Daten betrifft Das Entwicklertool in Form der TBOC Anwendung ist modular gehalten jedoch w re hier eine verbesserte Schnittstelle zu anderen Anwendungsprojekten m glich Somit bietet der Ansatz dieser Arbeit noch ein gro es Forschungsfeld in dem zu kl ren ist wie das Verfahren ausgebaut und verbessert werden kann Ihttp weka wikispaces com XRFF Stand 23 M rz 2015 Anhang A TrackingData_MarkerlessFast xml Beispiel fiir die Konfiguration der Tracking Komponente des SDKs siehe Abschnitt 4 3 lt xml version 1 0 gt lt TrackingData gt lt Sensors gt lt Sensor Type FeatureBasedSensorSource Subtype Fast gt lt SensorlD gt FeatureTrackingl lt SensorlD gt lt Parameters gt lt FeatureDescriptorAlignment gt regular lt Feat
179. p ische Ausland k nnen Kunden der Deutschen Bahn das System nutzen Vor der Fahrt muss der Kunde sich ber einen http goo gl gtPqBd Stand 19 Januar 2015 http www skiline cc Stand 19 Januar 2015 http g00 gl K1R1CI Stand 19 Januar 2015 Ohttp goo gl caAG58 Stand 19 Januar 2015 23 2 STAND DER TECHNIK 24 Kontaktpunkt am Bahnsteig einchecken und am Zielort wieder auschecken Die Bestimmung der gefahrenen Route und des richtigen Tickets bernimmt das Touch amp Travel System und berechnet automatisch den g nstigsten Tarif BLE BLE steht f r Bluetooth Low Energy und ist eine Funktechnik aus dem Bluetooth Standard 4 0 mit der sich Ger te in einer Umgebung von bis zu 50 Metern mit einer kabellosen bidi rektionalen Daten bertragung verbinden k nnen 22 Zudem k nnen Hersteller die Reich weite von Bluetooth Ger ten mit der neuen Spezifikation anpassen und dank eines erh hten Modulationsindex auf ber 100 Meter steigern Eine 24 Bit Fehlerkorrektur soll die Verbin dungen robust machen F r die Verschl sselung wird der Blockchiffre Advanced Encryption Standard AES 128 verwendet Mit BLE ist eine besonders energiesparende Betriebsweise m glich sodass f r Ger te mit Knopfzellenbatterien eine l ngerfristige Betriebszeit gew hr leistet wird Die Technik wird unter dem Namen Bluetooth Smart vermarktet und fin det in letzter Zeit immer h ufiger Anwendung bei Drahtloser Nahfeldkommunikation u
180. r 80 Start der Simulation Pi mit den F en 2 22 2 2 2 onen 88 Umwandeln von Bildern zu einem IGeometry Objekt 2 2222 89 Tabellenverzeichnis 6 1 6 2 6 3 6 4 6 5 6 6 Auswertung der Messwerte der Erstellungszeit bei Erh hung der Objekte 99 Korrelationskoeffizienten Erstellungszeit Test 2 2 222 nn 100 Test auf Korrelation bei den Erstellungszeiten 100 Test auf Korrelation bei den Erkennungszeiten e 101 Zusammengez hlte Erkennungsraten bei Datensatzerh hung 103 Pearson Chi Square Testergebnisse 2 222 22H urn nn 103 xiii Kapitel 1 Einleitung 1 1 Motivation Die groBe Menge an digitalen Informationen die heute verfiigbar ist macht es immer bedeutsamer dass Inhalte schnell bersichtlich und effizient zur richtigen Zeit angezeigt werden k nnen Dies gilt gleicherma en f r viele Bereiche der Industrie den Handel das Bildungssystem sowie das ffentliche Leben Beispielhaft erw hnt sei hier nur die Schulung von Mitarbeitern die Pr sentation neuer Produkte die r umliche Darstellung von Pla nungsvarianten oder die umfassende Information der Besucher in einem Museumsbetrieb In der Regel werden Informationen weitestgehend mit Hilfe klassischer Darstellungsmethoden und Materialien wie Filmen Plakaten Texten etc vermittelt Eine innovative M glichkeit bietet hier nun die Erweiterte Realit t engl Augmented Reality kurz AR Mit ihrer Hilfe k nnen Informationen a
181. r AUS a nese Ae rias Lo ete EE 118 A TrackingData_MarkerlessFast xml 119 vil INHALTSVERZEICHNIS B TBOC Klassendiagramm 121 Glossar 124 Literaturverzeichnis 129 viii Abbildungsverzeichnis 1 1 1 2 1 3 2 1 2 2 2 3 2 4 2 9 2 6 2T 2 8 2 9 3 1 3 2 3 3 3 4 3 5 3 6 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 13 Beispiel f r Augmented Reality Anwendungen 08 1 Markerless 3D Tracking 3D Punktwolken sso sig tesa Se oe ir Dee ner an Meer 4 Reality Virtuality Continuum 10 Augmented Reality Anwendungen Pro und LEGO 11 Augmented Reality Anwendungen Ingress und Head up Display 13 Augmented Reality Anwendungen Arvika und Wikitude The App 14 Augmented Reality SDK Liste 0 o 00200050004 16 Funktionswelse von AREL haci rd e eats Re Bi en 18 Initialisierung durch Marker und NFC Technologie 22 Ortsbestimmung mit BLE sowie Referenzpunkte fiir WLAN Fingerprinting 25 Kombination aus GPS visuellem Tracking sowie visuelles Tracking im Stadtumfeld 26 Anwendungsszenario Werkstatt Betrieb e 30 Anwendungsszenario Tourismus Stadtf hrung 31 Anwendungsszenario Museumsbetrieb 33 Overview vom TBOG Verfahren 44 ener ana b A ee es 35 Verwendete Sensorik oo a e 36 Detailansicht des TBOC Verfahrens 37 Android Projektdaten bersicht 46 Android Activity Lebenszyklus ooa a A 48 Android Layout E
182. r Erstellungszeit ersichtlich Hierbei wird f r zehn Datens tze eine Zeit von 1 497 95 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 96 20000 1850 18000 1800 16000 1750 7 y 14000 1700 a Tae 1650 5 10000 do 10 Datens tze S 5 1600 5 8000 gt 50 Datens tze 5 1550 S 6000 100 Datens tze w 4000 1500 2000 gt 1450 o 1400 0 10 20 30 0 ap e 70 80 90 100 110 Y 213 456 7 EK ATI Anzahl Datens tze Messung Abbildung 6 2 Die Erh hung der Datens tze hat fiir die Erstellungszeit des Modells nur geringe Auswirkungen Sie nimmt mit einer Steigung von m 3 114 zu Die Werte in der Abbildung links sind die gemittelten Zeitwerte ber zehn Messungen Die rechte Abbildung zeigt dass innerhalb der Messreihe gr ere Abweichungen auftreten Die Standardabwei chung der einzelnen Messreihen liegt zwischen 38 737 und 61 607 26000 20000 21000 14000 16000 10 Objekte 12000 gt 20 Objekte SCH AN 30 Objekte K 40 Objekte 50 Objekte 10000 Dateigr e kb KL 8000 x amp Erstellungszeit ms Erstellungszeit ms 50 j 4000 od u mn ai r 2000 S 1000 0 10 2 20 40 50 e H Daa a ae Anzahl Objekte H 10 20 40 so 60 e 3 30 Anzahl Objekte Messung Abbildung 6 3 Die Erh hung der zu erkennenden Objekte hat im Gegensatz zu der Erh hung der Trainingsdaten eine erhebliche Auswirkung auf die Dateigr e Abbildung links Bei der Erh hung der Objektanzahl steigt
183. r Objektverwaltung Hier k nnen Trainingsdaten Dateien angelegt sowie die Ihttps eclipse org Stand 14 Februar 2015 http developer android com tools help adt html Stand 14 Februar 2015 45 4 ANWENDUNGSENTWICKLUNG 46 Y 2 AndroidApp Er ui Wu v Ger l drawable mdpi Y EH de thm androidapp gt drawable xhdpi Ei J MainActivity java gt drawable xxhdpi gt E gen Generated Java Files Y layout Android 5 0 1 7 activity_main xml gt mi Android Private Libraries v values gt Android Dependencies q strings xml al fN 2 styles xml Le ES bin gt values v11 gt ee gt 2 values v14 Y res 7 AndroidManifest xml gt Re rawasle he ic_launcher web png O A rege E proguard project txt project properties Abbildung 4 1 Ubersicht iiber die Datenstruktur eines Android Projektes in Eclipse Screenshot aus dem Entwicklertool Eclipse Anzahl und die Benennung der zu erkennenden Objekte definiert werden Ebenfalls k nnen die Trainigsdaten Dateien gel scht oder zur Verwendung ausgew hlt werden In den nachfolgenden Abschnitten wird auf die Erstellung der Anwendung und ihrer einzelnen Klassen und Funktionen eingegangen Um zun chst einen Uberblick iiber die Entwicklung von Android in Eclipse zu erhalten werden die fiir das Verst ndnis dieser Arbeit notwendi gen Grundlagen kurz erklart damit in den folgenden Abschnitten die Funktionsweise ohne weitere Erl uterungen verst ndlich
184. r Punktwolke im 3D Raum nicht mit der realen Welt bereinstimmt So ist eine Korrektur der Gr e Ausrichtung und Position der Objekte notwendig Im folgenden Beispiel Quellcode 4 9 wird eine exemplarische Anpassung aufgezeigt Listing 4 9 Anpassungen an dem Model Set geometry properties mModel setScale new Vector3d 0 8f D r 0 8f mModel setRotation new Rotation new Vector3d 0f 0f 0 28f mModel setTranslation new Vector3d 2 0f 0 5f 0 0f Die Rotation wird ber den Radiant angegeben Die Einheit der Translation wird in Millime tern beziffert Bei relative to screen Objekten kann die Einheit ohne weiteres als Pixel in terpretiert werden Objekte k nnen wie im Beispiel 4 10 relative to screen gesetzt werden um sie aus dem AR Koordinatenraum in den Bildschirmkoordinatenraum zu transferieren Die bergebene Konstante gibt den Anker an wo das Objekt an den Bildschirm gesetzt werden soll Im folgenden Beispiel ist es zentriert in der Mitte des Bildschirmes Listing 4 10 setRelativeToScreen Set geometry relative to screen mModel setRelativeToScreen lIGeometry ANCHOR CC F r die Verwendung von AR Tracking muss keine Anpassung an einer Layoutdatei vorge nommen werden Lediglich wenn Buttons zur Interaktion gew nscht sind m ssen diese in der entsprechenden Layout XML Datei positioniert werden Die weiteren Anpassungen wie das Anlegen der View f r das Kam
185. raten beim statischen und dynamischen Anlernen und Erkennen Erkennungsraten bei Zunahme der Trainingsdaten bersicht der Exponate f r den Erkennungsraten Test bei Objekterh hung Verlauf der Erkennungsraten im Verh ltnis zur Erweiterung der Objektanzahl Erkennungsraten der Einzelnen Exponate bei Objekterweiterung XY Plott der Einzelwerte der Erkennungsrate bei Erh hung der Datens tze Auswirkung des NULL Objektes auf die Erekennung Listings 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 13 4 14 4 15 4 16 4 17 4 18 4 19 4 20 4 21 4 22 4 23 4 24 4 25 4 26 4 27 4 28 4 29 4 30 4 31 4 32 4 33 4 34 AndroidManifest xml Cocoa at a nn Se ee a 47 Android Activity ai a era a dd he Ae e 49 Payout ml ata ole e A tee dente a A E la 50 Activity Aufruf ber ein Intent 0 0 ee 51 Hinterlegen der metaioSDKSignature 2 2 22 nn 51 Aufbau einer AR Activity 2 ooa 52 set TrackingConfiguration sno 02 Sr ma ee een 52 GreateGeomethy menu taa 53 Anpassungen an dem Model 2 000020 pe eee 53 setRelativeToScreen nn 53 WEKA ARFF Datei 2 cop s a a aaan Ga DAE SE R RROD i aa 55 Anlegen eines Klassifikators 57 Klassifikator Modell erstellen 222222 0 0 0 o ee ee 57 Klassifizieren einer Instanz 2 222222 Comm 57 Laden von Datens tzen ooa a 58 Explizites Laden einer ARFF Datei e 58 Speichern vo
186. rd In der Methode kann das Bild der Vorschau des Kamera Streams in eine Bitmap umgewandelt werden Hierfiir vergeht keine Zeit fiir die Ausl sung eines Bildes Die Bilddaten werden direkt aus dem Video Stream bertragen Diese M glichkeit liefert schnelle Ergebnisse jedoch kommt es bei Google Nexus 5 Ger ten zu einer Fehlfunktion Sobald die Methode aufgerufen wird und das Bild ausliest verdunkelt sich das Vorschaubild und auch das zur ckgegebene Bild ist zu dunkel Dieses Problem scheint ein Fehler im Kamera Treiber zu sein In unterschiedlichen Foren wird das Problem erw hnt jedoch ist zur Zeit noch keine offizielle Stellungnahme von Google aufzufinden Bei dieser Methode liegt der zeitliche Durchschnitt der 50 Messungen bei 0 10383 Sekunden mit der schnellsten Erzeugung in 0 011 Sekunden und der l ngsten mit 0 178 Sekunden 6 4 3 TextureView getBitmap Mit der Verwendung einer TextureView als Wiedergabefl che des Kameravorschaubildes kann das Bild der Kamera auch ohne Callback Methode der Kamera abgefangen werden Die TextureView bietet hierf r die M glichkeit ber die Methode getBitmap das Bild das auf der TextureView angezeigt wird als Bitmap zur ckzugeben Hierbei h ngt die Gr e des Bildes von der Skalierung der TextureView ab Bei der Zeitmessung war diese 111 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 112 Methode die schnellste mit einem durchschnittlichen Messewert von 0 01316 Sekunden Die schnellste Messu
187. rden k nnen welche Aufschluss ber die im jeweiligen Bild gegebene Farbverteilung liefert Erm12 Die tboc vision MinimalHistogramm Klasse erm glicht ber die getSimpleHist Methode das Ermitteln der Farbverteilung eines ihr iibergebenen Bildes siehe Quellcode 4 21 Hierbei wird fiir alle Pixel der jeweilige Tonwert fiir jeden RGB Kanal ermittelt und in einem Integer Array welches das Histogramm widerspiegelt der entsprechende Z hler f r diesen Tonwert um eins erh ht Um f r die Klassifikation nicht 256 Werte bergeben zu m ssen kann beim Methodenaufruf die Histogrammbalken Dimension angegeben werden Die Histogrammbalken repr sentieren die im Histogramm verwendeten Unterr ume auch Bins oder Container genannt Die Dimension beschreibt die Gr e dieser Unterr ume und somit die Breite der Balken Wenn die Balken breit sind fallen mehrere Tonwerte in einen Unterraum und die gesamte Anzahl der Balken wird so reduziert So kann ber die Dimension das Histogramm auf einen beliebig kleinen Wert reduziert werden siehe Abbildung 4 4 Listing 4 21 Aufruf der getSimpleHist Methode int mlmageHist MinimalHistogramm getSimpleHist bitmap barDim 61 4 ANWENDUNGSENTWICKLUNG 62 Die Reduktion der Histogrammwerte auf einen minimalen Wert von bis zu lediglich drei Werten pro Farbkanal hat mehrere Vorteile Zum einen reduziert sich mit nur wenigen Parametern der Rechenaufwand w hrend der Klassifikation un
188. rgeben siehe Quellcode Beispiel 4 13 Die Methode erstellt aus den Trainingsdaten dann das Klassifikationsmodell Listing 4 13 Klassifikator Modell erstellen import weka classifiers bayes NaiveBayes import weka core Instances Instances data Trainingsdata set from somewhere m_ClassifierNB buildClassifier data Ein Featurevektor kann ber den Methodenaufruf classifyInstance mit dem Mo dell verglichen und so klassifiziert werden Der folgende Quellcode 4 14 zeigt wie eine Instanz Featurevektor ber den Klassifikator mit dem Modell verglichen wird Die classifyInstance Instance Methode gibt f r numerische Klassen den Regressionswert und bei nominalen Klassen den O basierten Index der Liste der verf gbaren Klassennamen zuriick Mit Hilfe der Methode distributionForInstance k nnen die Wahrscheinlichkei ten der einzelnen Klassen zuriickgegeben werden Listing 4 14 Klassifizieren einer Instanz Make features into test instance Instance instance from somewhere double predicted m_ClassifierNB classifyInstance instance double distribution m_ClassifierNB distributionForInstance instance System out printIn m_Data classAttribute value int predicted System out printIn Utils arrayToString distribution 4 4 3 Datenverwaltung WEKA stellt zur Datenverarbeitung mehrere Klassen zur Verf gung In dem Packa ge weka core converters befinden sich unter anderem Kl
189. rkennungen links und den Abfall der Nichterkennungen rechts bei dem Test der Erkennungsrate mit einer Erh hung der Datens tze dem angesetzten Signifikanzniveau hier kann noch gesagt werden dass statistisch signifi kant nachgewiesen ist dass eine Erh hung der Datens tze die Anzahl der Nichterkennung prozentual sinken l sst Jedoch ist in diesem Fall nur der Test fiir die richtige Erkennung ma geblich So kann mit einer Irrtumswahrscheinlichkeit von 0 7 belegt werden dass eine Abh ngigkeit der zunehmenden richtigen Erkennung mit steigender Anzahl der Datens tze besteht Dass die Irrtumswahrscheinlichkeit bei dem Test f r die Nichterkennung schlechter ist als bei dem Test fiir die richtige Erkennung kann mit der insgesamt niedrigen Anzahl der Nichterkennungen im Test zusammenh ngen 6 3 5 Auswirkung des NULL Objektes Das NULL Objekt wie schon in einem fr heren Abschnitt der Arbeit beschrieben dient der Verhinderung einer Zuordnung eines Objektes an einer falschen Stelle Wie beschrieben gibt der Naive Bayes Klassifikator immer nur die m gliche Wahrscheinlichkeit f r ein angelerntes Objekt zuriick Somit wird immer das Objekt mit der h chsten Wahrscheinlichkeit aller angelernten Objekte als erkannt zur ckgegeben Unter dieser Voraussetzung muss in dem System dem NULL Objekt bei dem nicht passenden Gegebenheiten eine h here Wahrscheinlichkeit zugeordnet werden als den restlichen angelernten Objekte um eine falsche Erkennung
190. rt Ist eine Methode um Infor mationen so aufzuschreiben dass sie von Maschinen schnell gefunden und eingegeben werden k nnen Quellcode Als Quelltext auch Quellcode engl source code wird in der Informatik der f r Menschen lesbare in einer Programmiersprache geschriebene Text eines Computerprogrammes bezeichnet RFID engl radio frequency identification ist eine Technologie fiir Sender Empf nger Systeme zum automatischen und ber hrungslosen Identifizieren und Lokalisieren von Objekten mit Radiowellen Roll auf Deutsch Rollen Roll Pitch Yaw Winkel sind eine M glichkeit zur Be schreibung der Orientierung eines Objektes im dreidimensionalen Raum Wobei mit Roll die Drehung um die x Achse des Referenzsystems bezeich net wird Spinner ist ein Android View Element das einen schnellen Weg bietet um einen Wert aus einer Menge auszuw hlen Vergleichbar mit einer Drop down Liste TextView ist ein Android View Element das f r das Anzeigen von einfachem Text gedacht ist Thread steht in der Informatik f r einen Ausf hrungsstrang oder eine Ausf hrungs reihenfolge in der Abarbeitung eines Programms dieser l uft parallel neben der Hauptanwendung Toast Ein Toast ist unter Android ein passives Popup welches eine einfache R ck meldung dem Benutzer geben kann ohne dass er darauf reagieren muss Die Einblendung des Toast verschwindet nach einer definierten Zeit automatisch wieder 127 GLOSSAR 128 Track
191. rtual Environment Reality AR Virtuality AV Environment Reality Virtuality RV Continuum Abbildung 2 1 Die Abgrenzung zwischen Realit t und Virtualit t wird als Reality Virtuality Continuum bezeichnet MTUK95 sogar die Platzierung von Augemented Reality im allt glichen Leben Die Funktionen z B eines Smartphones werden Ober das Mini Display direkt im Blickfeld des Nutzers angezeigt Hierbei ist zu erkennen dass in der Kombination mit mobilen Technologien AR in naher Zukunft immer mehr an Relevanz gewinnen wird Die einfachste Art von Erweiterter Realit t ist das statische Einblenden von Text Bild und oder Videoinformationen auf dem Kamerabild Die n chste Variante die auch in der Offentlichkeit am meisten mit AR in Verbindung gebracht wird ist die Uberlagerung von Text Bild und oder Videoinformationen oder sogar von 3D Objekten auf einem Marker der von der Kamera getrackt wird Ein Marker kann in diesem Zusammenhang ein Codemar ker z B QR Code oder ein Bildmarker sein oder das Tracking erfolgt tiber das sogenannte markerlose Tracking von Bildern 2D markerless Tracking oder von dreidimensionalen Ob jekten 3D markerless Tracking Mit Hilfe der GPS und Gyrosensoren von mobilen Ger ten ist eine Orts bzw auf die Orientierung bezogene Einblendung ebenso m glich In diesem Kapitel soll der aktuelle Markt von AR Anwendungen sowie die zur Verf gung stehenden Entwicklungsumgebungen vorgestellt und ausgewertet werde
192. s ermittelt werden hier AR Marker Ist in der Regel ein zweidimensionales Symbole oder ein Bild welches einer Kamera erlaubt die Position und Rotation re lativ zu einer Oberfl che zu bestimmen ist ein Bestandteil einer Klasse und kann auch nur in einer Klasse de klariert und implementiert werden Methoden sind Interaktionsmittel von Objekten auf Deutsch Bewegungspfad wird in der 3D Animation eine Kur ve genannt die als Grundlage der Animation verwendet wird Hier k nnen 3D Objekte entlang dieser Kurve ber eine bestimmte Zeit bewegt werden ist der Name einer Technik die es erm glicht Bewegungen so auf zuzeichnen und in ein von Computern lesbares Format umzuwandeln dass diese Bewegungsdaten zum einen analysiert und zum anderen auf im Computer generierte 3D Modelle bertragen werden k nnen engl Near Field Communication ist ein internationaler bertra gungsstandard zum kontaktlosen Austausch von Daten per Funktech nik ber kurze Strecken von wenigen Zentimetern Pitch auf Deutsch Nicken Roll Pitch Yaw Winkel sind eine M glichkeit zur Be schreibung der Orientierung eines Objektes im dreidimensionalen Raum Wobei mit Pitch die Drehung um die y Achse des Referenzsystems bezeich net wird POI engl Point of Interest Ist ein Ort von Interesse Bei AR Anwendungen k nnen POI s mit Hilfe von GPS Nutzung in Form von Billboards im Display angezeigt werden QR Code engl Quick Response schnelle Antwo
193. s soll das Verfahren ohne zus tzliche Technik auskommen Eine zus tzliche Installation von WLAN Netzwerken mit Location Servern oder Systemen die mittels iBeacon die Position eines Anwenders bestimmen k nnen soll f r die Anwendung des Verfahrens nicht ben tigt werden Um bei allen Szenarien eine uneingeschr nkte Nutzung zu gew hrleisten darf das System auch nicht auf die Nutzung von Netzwerkdiensten zum Datenaustausch oder f r die Datenverarbeitung zur ckgreifen Hier ist eine lokale Verarbeitung direkt auf dem Ger t des Anwenders zwingend erforderlich Somit bleibt zur Ortsbestimmung bzw Objekterkennung nur der Abgleich mit Sensorwerten und einer Bildanalyse Da auch hier keine gro en Bilddatenbanken abgeglichen werden k nnen da wie erw hnt der Netzzugriff nicht vorausgesetzt werden kann muss ein Verfahren entwickelt werden welches den Abgleich und die Zuordnung lokal auf dem Ger t des Anwenders umsetzt Dabei sollte vermieden werden gro e Datenmengen im lokalen Speicher des Ger tes abzulegen Unter diesen Voraussetzungen kann man wie folgt die aus den Szenarien resultierenden Anforderungen an das Verfahren auflisten e Keine Verwendung von visuellen Markern Keine Anschaffung Installation von weiterer Hardware WLAN iBeacon etc Keine Nutzung von Datenaustausch ber WLAN Mobilfunknetz Nutzung der vorhandenen Sensorik und der Kamera der mobilen Devices Datenverarbeitung lokal direkt auf dem Ger t Kein gro er Dat
194. sammen eine Anzahl von 57 Datens tzen F r das NULL Objekt werden insgesamt 125 Trainingsdaten hinterlegt Anschlie end wird mit dem Modell aus den Daten eine neue Messreihe gestartet in dem die Erkennungsrate der Objekte ber 50 Messungen ermittelt wird Ebenso werden 50 Messungen an einer beliebigen Position im Mathematikum ausgef hrt die nicht den ausgew hlten Exponaten zuzuordnen ist um die Erkennungsrate des NULL Objektes zu ermitteln Abbildung 6 15 zeigt dass alle Erkennungsraten ber 80 liegen Jedoch ist im Vergleich mit Abbildung 6 10 zu erkennen dass die Erkennungsrate der einzelnen Objekte leicht gesunken ist 6 3 6 Optimierung durch Anpassung der Trainingsdatenanzahl Wie in diesem Kapitel schon angesprochen wird die Hypothese aufgestellt dass die Erkennungsrate einzelner Objekte durch gezielte Gewichtung der Trainingsdaten noch optimiert werden kann Nat rlich muss dabei beachtet werden dass dadurch nicht die Erkennungsrate der anderen Objekte beeinflusst wird Jedoch k nnen die Positionen bei denen die Erkennung nicht optimal ist gezielt angelernt werden Somit werden die einzelnen Werte f r die Wahrscheinlichkeitsermittlung gest rkt Es ergibt sich somit folgende Schlussfolgerung Da Exponate von ihren Werten her unterschiedlich dominant sind ist es nicht ratsam eine gleichm ige Verteilung der Trainingsdaten zu erzwingen Vielmehr sollte darauf geachtet werden dass die m glichen Positionen die f r eine Erke
195. se werden die drei Objekte statisch angelernt und dabei 6 3 Ermittlung der Erkennungsraten Di g a D pS 80556 Erkennungsrate in PR wey 555 o 3 9 18 27 36 45 54 Anzhal der gesammten Datens tze statisch statisch sstatisch dynamisch dynamisch statisch dynamisch dynamsich Abbildung 6 9 Die Abbildung zeigt die Messwerte der Erkennungsrate bei statischem und dynamischem Anlernen und Erkennen Abzulesen ist dass das statische Erkennen eine 100 ige Erkennungsrate liefert wenn statisch oder dynamisch angelernt wird Wenn nur statisch angelernt wird und aus unterschiedlichen Positionen eine Erkennung erfolgen soll spiegelt sich das in einer niedrigeren Erkennungsrate wieder Schritt f r Schritt die Datens tze erh ht Nach jedem Erh hen der Datens tze werden die Er kennungsraten der Objekte ermittelt Dabei wird jeweils aus der statischen Position und aus einer beliebigen Position dynamisches Erkennen gemessen Gestartet wird mit jeweils einem Trainingsdatensatz pro Objekt Danach werden pro Objekt zwei weitere hinzugef gt so dass insgesamt neun Trainingsdatens tze benutzt werden In den nachfolgenden Messreihen wer den die Datens tze insgesamt in Neuner Schritten erh ht In den einzelnen Messdurchl ufen werden ber die drei Objekte zehn Messungen gemacht und somit die Erkennungsraten er mittelt Abbildung 6 9 zeigt dass bei statischem Anlernen und Erkennen die Erkennungsrate durchg ngig bei 100 lag
196. ser Arbeit entwickelte Verfahren Diese Anwendung bietet die M glichkeit Objekte f r eine Klassifikation anzulernen und rein f r Testzwecke auch zu erkennen Das Ergebnis welches Objekt erkannt wurde erfolgt in diesem Fall jedoch nur durch einen Benutzerhinweis in Textform Um das Verfahren unter realen Bedingungen testen zu k nnen und auch eine sinnvolle Kombination mit AR Inhalten zu implementieren wurde das entwickelte TBOC Verfahren in eine Applikation f r das mathematische Mitmach Museum Mathematikum integriert 5 1 Die Mathematikum App Im Rahmen des Projektes PIMAR wird f r das mathematische Museum Mathematikum in Gie en eine App generiert Mit dieser Applikation soll der Funktionsumfang sowie die Flexibilit t des Generators an einem praktischen Testszenario erprobt werden Dabei spielt nat rlich auch die Umsetzung verschiedener AR Szenarien innerhalb des Museumsumfeldes sowie die vorgeschaltete Initialisierung der zu erkennenden Objekte oder R ume mittels des TBOC Verfahrens eine gro e Rolle Um den Nutzen von AR im allgemeinen und auch von dem Verfahren an sich im Umfeld einer solchen Anwendung aufzuzeigen werden f r zwei ausgew hlte Exponate des Museums exemplarische AR Szenarien entwickelt und an einem weiteren Exponat der Nutzen des Verfahrens auch ohne die Einbindung von AR untersucht Die jeweiligen Umsetzungen dienen lediglich als Muster und werden aus diesem Grund nicht bis ins letzte Detail ausgearbeitet Dennoch
197. si gnalstarken Analyse verwendet HWBO00 NFC NFC engl Near Field Communication ist ein bertragungsstandard auf Basis von RFID zum kontaktlosen Austausch von Daten per Funk ber kurze Distanzen von wenigen Zentimetern LR10 Dieser Standard wird heute zum Beispiel beim bargeldlosen Bezahlen bei kleinen Betr gen bis zu 20 Euro angewendet Die meisten Hochschulen benutzen NFC Chips in ihren Studentenausweisen damit die Studenten in der Mensa damit bezahlen k nnen Auch f r Zugangskontrollen kann die NFC Technik benutzt werden Aktuelle Smartphones besitzen in der Regel ebenfalls NFC Sensoren sodass diese Technologie auch f r das schnelle Verbinden zweier Ger te zum Datenaustausch genutzt werden kann Mit Hilfe der NFC Technologie w re eine Positionsbestimmung insofern m glich wenn der Benutzer sein Ger t an vordefinierte Stationen h lt die dem Ger t ber eine ID mitteilen wo sich der Benutzer gerade befindet Diese Funktion wurde im Jahr 2006 vom Rhein Main Verkehrsverbund RMV in den Regelbetrieb als NFC Handy Ticketing bernommen STT09 Durch halten eines NFC f higen Handys an entsprechende Terminals k nnen Fahrkarten elektronisch bezahlt gespeichert und entwertet werden Dieses Verfahren hat sich die Deutsche Bahn mit dem Verkehrsmittel bergreifenden Handyticketsystem Touch amp Travel EJ10 JZB14 ab 2007 zu eigen gemacht siehe Abbildung 2 7 rechts Deutschlandweit und auf ausgew hlten Strecken ins euro
198. sind sie f r sich alleine gestellt schon eine gute Erweiterung und Hilfestellung f r den Museumsbesuch Mit dieser Applikation soll der Funk tionsumfang sowie die Flexibilit t des Generators an einem praktischen Testszenario erprobt werden Dabei spielt nat rlich auch die Umsetzung verschiedener AR Szenarien innerhalb des Museumsumfeldes sowie die vorgeschaltete Initialisierung der zu erkennenden Objekte oder R ume mittels des TBOC Verfahrens eine gro e Rolle Um den Nutzen des TBOC 83 5 PROTOTYPISCHE IMPLEMENTIERUNG IN EINE REALE ANWENDUNG 84 Verfahrens und auch von AR im Umfeld einer solchen Anwendung aufzuzeigen werden f r zwei ausgew hlte Exponate des Museums exemplarische AR Szenarien entwickelt und an einem weiteren Exponat der Nutzen des Verfahrens auch ohne die Einbindung von AR un tersucht Die jeweiligen Umsetzungen sind lediglich als Muster zu verstehen und werden aus diesem Grund nicht bis ins letzte Detail ausgearbeitet Dennoch sind sie f r sich alleine gestellt schon eine gute Erweiterung und Hilfestellung f r den Museumsbesuch Das erste und auch am aufwendigsten umgesetzte Muster f r die Erkennung und Erweiterung eines Ausstellungsst cks durch AR wird f r das Exponat Pi mit den F en erstellt Die anderen beiden ausgew hlten Exponate sind Die Deutschlandtour und Knack den Code wobei das zuletzt genannte Exponat als Beispiel f r eine Implementierung ohne AR Einbindung dient Die einzelnen U
199. sowie auch von der Anzahl der Objekte abh ngt Effect Coefficient Stdrd Error Std Coeffi Tolerance t p value N_OBJEKTE 369 786 16 727 0 954 1 000 22 108 DATENSAETZE 3 114 0 174 0 875 1 000 17 869 Tabelle 6 3 Der Wahrscheinlichkeitswert p gibt die Irrtumswahrscheinlichkeit an MYSTAT zeigt nur drei Nachkommastellen an somit ist der Wert kleiner als 0 001 also kleiner als 0 1 Die beiden folgenden Fragestellungen beziehen sich auf die Erkennungszeit Dabei soll statistisch nachgewiesen werden dass die Zeit f r eine Erkennung durch die Erh hung der Datensatzanzahl oder der Erh hung der Anzahl der Objekte beeinflusst wird Auch hier kann durch Beobachtung der Messwerte diese Vermutung wie im vorangegangenen Abschnitt beschrieben abgeleitet werden F r den statistischen Beweis werden die einzelnen Messwerte ebenfalls in MYSTAT eingelesen Auf den x y Plots ist bei der Erh hung der Objektanzahl der lineare Anstieg der Messwerte zu beobachten siehe Abbildung 6 7 rechts Auch dass die einzelnen Messwerte sehr nah an der Regressionsgeraden liegen ist aus der Abbildung gut zu erkennen Im linken Teil der Abbildung hingegen kann durch den gro en Abstand der einzelnen Messwerte zu der Regressionsgeraden schon erahnt werden dass eine geringerer Korrelationskoeffizient zu erwarten ist 6 2 Performance des TBOC Verfahrens Confidence Interval and Prediction Interval Confidence
200. speichert QR und Barcode Reader Metaio erm glicht das Lesen von QR sowie Barcodes Hierf r muss nur die TrackingData_BarCode xml eingelesen werden Die beiden vorgestellten Entwicklungsumgebungen sind in ihrem Funktionsumfang sehr hnlich So ist es auch leicht zu verstehen dass sie die in der AR Entwicklung verbreitetsten Systeme sind Zu dem Zeitpunkt als die Entscheidung getroffen wurde welches AR System in dieser Arbeit und auch in dem Forschungsprojekt PIMAR verwendet werden soll ist das SDK Vuforia noch nicht in der Lage Objekte zu erkennen Diese M glichkeit ist erst jetzt mit der Vuforia 4 0 Beta Version gegeben Jedoch ist f r das Projekt PIMAR die Erkennung von realen Objekten und die Augmentierung auf Basis dieser Objekte zwingend notwendig Es soll die M glichkeit geschaffen werden anhand der erkannten Objekte Hilfestellungen und Informationen direkt auf den Objekten Maschinen Ausstellungsst cke in einem Museum etc eingeblendet zu bekommen Somit reichen die anderen Tracking Methoden mit primitiven oder Bildmarkern nicht aus Das SDK von Metaio entspricht daher den Anforderungen des Projektes besser und wird deshalb in dieser Arbeit verwendet 2 4 Positions und Orientierungsbestimmung f r AR Tracking Die am meisten verbreiteten AR Anwendungen sind auf den station ren Gebrauch ausgelegt wie die Digital Box von LEGO siehe Erkl rung in Abschnitt 2 2 2 sowie hnliche Ans tze wo die Anwendung bekannte ID
201. ssen Mit solchen Markern ist eine ann hernde Positions bestimmung m glich Picture Marker liegen irgendwo zwischen den ID Markern und dem markerless Tracking Es kann jedes beliebige Bild mit genug Bildinhalt benutzt werden Wichtig ist dass das Referenzbild genau den gleichen Bildausschnitt wie der ausgedruckte Marker hat Markerless 2D Ist ein Trackingverfahren bei dem ber einen Bildaus schnitt Referenzpunkte erkannt werden k nnen Hier ist es nicht not wendig dass wie beim Image Marker dass ganze Bild bekannt ist Es ist ebenfalls m glich mehrere Marker Punkte in einem Gesamtbild an zulegen und diese auch gleichzeitig zu tracken So ist es zum Beispiel m glich gleichzeitig verschiedene Informationen auf einem gro en Bild anzeigen zu lassen wenn die Kamera beide im Blickfeld hat http dev metaio com sdk documentation Stand 12 Januar 2015 19 2 STAND DER TECHNIK 20 Markerless 3D ist die neuste Trackingmethode von Metaio und erm glicht es jedes reale Objekt als Tracking Referenz zu benutzen Entweder wird aus der eigenen Anwendung mit Hilfe der Kamera die Trackingreferenz ermittelt die verwendet werden soll oder es wird ber die Metaio Toolbox eine mobile Anwendung geladen die es erm glicht Markerless 3D Trackingdaten zu speichern und in der eigenen Anwen dung als Referenz zu benutzen hierbei werden die gew nschten Objekte gescannt und die entstandenen Trackingdaten werden in einer Tracking XML ge
202. t ber die Junaio Plattform in einen Webspace und diesen ber einen QR Code dann auf dem Smartphone in der Junaio Anwendung zu laden Dieses Feature ist zwar nicht f r die eigentliche Anwendung von Nutzen jedoch erleichtert und beschleunigt diese Funktion den Entwicklungsprozess da schnell erste Ergebnisse betrachtet werden k nnen Um die im Creator angepassten Translationswerte der 3D Modelle in das eigentliche Eclipse Projekt zu bernehmen k nnen diese in den Objekteinstellungen ausgelesen werden Hierbei sollte beachtet werden dass die Rotationswerte im Creator als Grad angeben sind und das SDK in Eclipse die umgerechneten Radiant Werte erwartet Integration in die Android Activity Das Integrieren der Modelle in den Java Code verh lt sich wie im Kapitel 4 in Abschnitt 4 3 beschrieben In der loadContents Methode werden die beiden 3D Modelle ber createGeometry als IGeometry Objekte angelegt die Transformationseigenschaften ein 87 5 PROTOTYPISCHE IMPLEMENTIERUNG IN EINE REALE ANWENDUNG 88 gestellt und die Sichtbarkeit der Modelle ber die setVisible Methode auf unsichtbar ge setzt Der Ausl ser fiir die Animation und das Sichtbarwerden der einzelnen 3D Objekte wird ber zwei Buttons geregelt Durch Bet tigung des Buttons fiir den menschlichen Charakter wird dieser als 3D Modell eingeblendet und die Maus ausgeblendet siehe Abbildung 5 3 Mitte Ebenfalls wird die Animation des Charakters gestartet und falls die Anim
203. tBarCount 3 for int i 0 i lt width i for int j 0 j lt height j int pixel bitmap getPixel i j r Color red pixel g Color green pixel b Color blue pixel hist int r barDim 1 hist int g barDim 1 histBarCount hist int b barDim 1 histBarCount x 2 4 5 2 Regionale RGB Mittelwerte Neben der zuvor beschriebenen grunds tzlichen Farbverteilung mittels des reduzierten Histogramms welche nur einen allgemeinen Eindruck ber die Farbgebung des gesamtes Bildes widerspiegelt soll ein weiteres Verfahren die Farbwerte in einzelnen lokalen Bereichen im Bild ermitteln und vergleichbar machen Dies soll auf Basis des Algorithmus von 4 5 Die Bildanalyse Verfahren Original Best 7 matches Worst 2 matches BRA MER 0 000 1041 201 1315 953 2067 587 2070 584 2086 411 2118 453 3765 444 4096 909 0 000 338 169 2086 411 v 526 2365 054 2377 610 2459 092 4705 509 5408 958 Naive similarity comparison results 6 Naive similarity comparison results 7 L Abbildung 4 5 Ergebnisse von Bildvergleichen ber die NaiveSimilarityFinder Methode von Rafael Santos In der linken Spalte ist das Originalbild welches mit mehreren Bil dern verglichen wurde In den folgenden Spalten sind die besten sieben Ergebnisse in absteigender Reihenfolge sortiert abgebildet und in den beiden letzten Spalten wer den die zwei schlechtesten bereinstimmu
204. the Royal Soc of London 53 1763 S 370 418 CIURANA Marc CUGNO Sebastiano BARCELO ARROYO Francisco WLAN indoor positioning based on TOA with two reference points In WPNC IEEE 2007 ISBN 1 4244 0870 9 23 28 CLARKE Bertrand FOKOUE Ernest ZHANG Hao H Principles and Theory for Data Mining and Machine Learning 1st Springer Publishing Company Incorporated 2009 ISBN 0387981349 9780387981345 CHRISTIAN GREFRATH Hagen Schmidt Bleker Ralf F Ralf Frombach DIB Dienstleistungen im industriellen Bauprozess Mit Augmented Reality in die Zukunft In UdZ Unternehmen der Zukunft FIR Zeitschrift f r Betriebsor ganisation und Unternehmensentwicklung 3 2011 2011 S 33 35 ISSN 1439 2585 CHRISTINE LUDWIG Christian R Augmented Reality Information at Focus The Icfai University Press India Virtual Reality Concepts and Applications 2005 ISSN 1619 7879 CHRISTINE LUDWIG Christian R Augmented Reality Information at Focus The Icfai University Press India Virtual Reality Concepts and Applications 2008 Cox R T Probability Frequency and Reasonable Expectation In American Journal of Physics 14 1946 Nr 1 1 13 http dx doi org http dx doi org 10 1119 1 1990764 DOI http dx doi org 10 1119 1 1990764 DARCEY L CONDER S Sams Teach Yourself Android Application Deve lopment in 24 Hours Pearson Education 2011 Sams Teach Yourself http books google de bo
205. tikel Initiali sation for Visual Tracking in Urban Environments beschreiben sie die Kombination von 25 2 STAND DER TECHNIK 26 Se 3 D Abbildung 2 9 Abbildung links zeigt eine 2D Projektion von einem Beispiel Kamerapfad schwarz mit nicht korrigierten GPS Track blau und korrigierten GPS Track rot Die korrigierte Sch tzung erm glicht einen schnelleren Neuinitialisierung RDO7 Ab bildung rechts zeigt eine Rekonstruktion eines Stadtteiles an Hand von einer Punkt wolke aus Feature Punkten die aus einer gro en Bilddatenbank extrahiert wurden http www cs cornell edu projects p2f Stand 16 Januar 2015 GPS Tracking und visuellem Tracking Dabei wird ein akkurates Lokalisierungssystem kre iert welches f r eine Re Initialisierung keine zus tzliche Eingabe ben tigt Die 2D GPS Position im Zusammenspiel mit der durchschnittlichen Gr e des Benutzers wird als initialer Anhaltspunkt f r das visuelle Tracking benutzt Das Problem dass das derzeitig verf gba re GPS noch hohe Ungenauigkeiten aufweist demgegen ber aber eine hohe Genauigkeit f r die Initialisierung ben tigt wird wurde berwunden indem ein Suchverfahren genutzt wird welches versucht die Zeit die f r die Suche ben tigt wird zu reduzieren indem es die Wahrscheinlichkeit optimiert dass fr h die korrekte Sch tzung gefunden wird Nach vielen Abbr chen des GPS wurde die Re Initialisierung vom visuellen Tracking System verbess
206. tion name gt ein String der in Hochkommas geschrieben wird wenn der Name aus mehreren Wortern besteht Die attribute Deklaration Die Attribut Deklaration nimmt die Form einer geordneten Folge von attribute Statements an diese Statements definieren die ihnen zugeh rigen Attribute jeweils eindeutig ber ihren Attribut Namen und ihren Datentyp Die Reihenfolge der Attribute bestimmt die Spalten position in dem Datenabschnitt der Datei Cattribute lt attribute name gt lt datatype gt Der lt attribute name gt darf nur mit einem Buchstaben beginnen Wenn Leerzeichen im Namen enthalten sind muss der Name in Hochkommas angegeben werden Der lt datatype gt kann einer der von WEKA unterst tzten vier Datentypen sein 55 4 ANWENDUNGSENTWICKLUNG 56 e numeric e integer is treated as numeric e real is treated as numeric e lt nominal specification gt e string e date lt date format gt e relational for multi instance data Die Odata Deklaration Die ARFF Datensektion der Datei beinhaltet die Datendeklarationszeile sowie die Zeilen der aktuellen Instanz Die data Deklaration ist eine einzelne Zeile die den Start des Daten segmentes der Datei angibt data Jede Instanz wird in einer einzigen Zeile dargestellt Mit Zeilenumbriichen wird das Ende der Instanz angegeben Die Attributwerte f r jede Instanz werden durch Kommas getrennt Die Reihenfolge der Attributwerte muss die gleiche sein wie die der Attribut De
207. tte eignet So kann ein beliebiger Inhalt Texte Bild Videos Spiele etc in der eigentlichen Anwendung ortsgebunden angezeigt werden 117 7 ZUSAMMENFASSUNG ERGEBNISSE UND AUSBLICK 118 7 1 Ausblick In dieser Arbeit konnte gezeigt werden dass das entwickelte Verfahren zur markerlosen Er kennung von angelernten Objekten funktioniert Es wurden Schw chen in der Erkennungs zeit und bei den Erkennungsraten erkannt die entstehen wenn die Anzahl der angelernten Objekte erh ht wird Hier k nnte die Erkennung gerade bei einer sehr hohen Anzahl von Objekten verbessert werden indem getestet wird ob eine Gewichtung der unterschiedli chen Featurevektor Werte hilfreich ist Beim derzeitigen Stand der Implementierung stehen sehr viele Farbwerte die aus den Bildverarbeitungsanalyse ermittelt werden einer Handvoll Sensorwerte gegeniiber was zur Folge hat dass in erster Linie die Farbinformationen zur Klassifikation genutzt werden In Zukunft k nnte eine h here Gewichtung der Werte aus Gyrosensor und Magnetometer sowie in AuBenbereichen der GPS Werte getestet werden um so auch bei zu starken Ahnlichkeiten der verschiedenen Objekte in der Farbgebung ei ne bessere Erkennungsrate zu erzielen Bei der Verwendung einer XRFF Datei eXtensible attribute Relation File Format f r die Trainingsdaten kann ausschlie lich bei der Verwen dung des Naive Bayes eine Gewichtung einzelner Attributwerte vorgenommen werden Das auf XML basierende ARFF F
208. ttelwert erfasst F r das Verfahren wurden die 25 Durchschnittswerte jeweils noch in die einzelnen Farbkan le zerlegt und zur weiteren Verarbeitung bergeben Durch die Nutzung der Bayes Klassifikation f r die Erkennung entsteht das Problem dass mit dem Bayes Theorem immer nur die gr te Wahrscheinlichkeit f r das Zutreffen eines Objektes in Bezug auf alle ihm bekannten Objekte errechnet wird daraus ergibt sich dass immer ein Objekt mit der h chsten Wahrscheinlichtkeit ausgegeben wird Die Einf hrung eines Null Objektes welches nicht zuordnungsf hige Trainingsdaten enth lt kann zur L sung dieses Problems beitragen Das System erkennt dann im Falle dass keines der realen angelernten Objekte das richtige ist das Null Objekt mit einer h heren Wahrscheinlichkeit als die anderen angelernten Objekte Im folgenden Kapitel wird die prototypische Implementierung des Verfahrens in eine reale Museums Anwendung beschrieben Hierbei wird der Schwerpunkt auf die Szenariobe schreibung und die Implementierung der AR Funktionalit t gelegt welches die Aufzeichnung der AR Punktwolken die Animation von 3D Modellen und die Zusammenf hrung in der Anwendung umfasst EN Kapitel 5 Prototypische Implementierung in eine reale Anwendung Nachdem der Aufbau und die Funktionsweise des Verfahrens dargelegt wurde soll nun die Integration des Verfahrens in ein reales Anwendungsszenario folgen Die TBOC Anwendung ist ein Entwicklungstool fiir das in die
209. tten gibt es viele hoch auto matisierte Abl ufe die von Maschinen erledigt werden Jedoch m ssen diese Maschinen gewartet kontrolliert oder repariert werden Diese manuellen T tigkeiten setzen enormes Fachwissen voraus und erfordern meist eine umfassende Dokumentation die vor Ort bisher nicht verf gbar ist Hier w re es denkbar dass der zust ndige Mechaniker mit seinem mobilen Ger t vor einer Maschine steht und diese in der Anwendung automatisch erkannt wird um anschlie end entsprechende Informationen wie in einem Benutzerhandbuch in Form von Arbeitsanweisungen etc bereitzustellen Wenn der Mechaniker Reparaturarbeiten erledigen muss k nnen f r ihn relevante Bauteile oder Arbeitsschritte im Display genau an der Stelle markiert oder angezeigt werden wo sie sich befinden oder ausgef hrt werden m ssen siehe Abbildung 3 1 Dem Mechaniker k nnen so komplexe Arbeitsschritte mit 3 2 M gliche Anwendungsszenarien einfachen Animationen und weiteren Hilfestellungen Schritt f r Schritt vorgegeben werden So ist der Mechaniker in der Lage schnell und effektiv seine Arbeit mit Software und AR Unterst tztung zu erledigen Die Dokumentation von Wartungsarbeiten kann direkt in der Anwendung hinterlegt werden Technischer Aspekt In diesem Szenario bzw bei gro en Industrieanlagen kann nicht davon ausgegangen werden dass im gesamten Areal eine durchg ngige WLAN Vernetzung besteht Also kann bei einer Anwendung ein Internetzugriff ni
210. ttp schemas android com apk res android gt lt PreferenceCategory android title System Einstellungen gt lt Preference android title Trainingsdaten_verwalten android summary Verwalte deine _Trainingsdatendaten gt lt intent android action android intent action VIEW android targetPackage de thm tboc android targetClass tboc gui ManageDatasetFilesActivity gt lt Preference gt lt ListPreference android key imagepref android title Bildmethode android entries array imageMethod android entryValues array imageMethodValue android default Value Bitmap gt lt CheckBoxPreference android defaultValue true android key prefAutoScan android summary Automatische Scannen beim ffnen android title AutoScan gt lt CheckBoxPreference gt lt PreferenceCategory gt lt PreferenceScreen gt Wie in Abbildung 4 12 zu sehen ist werden in den Einstellungen haupts chlich Funktionen ber Checkboxen verwaltet Hierzu z hlt die Funktion Auto Scan die daf r sorgt dass beim Starten der Erkennungs Activity die Objekterkennung selbststandig ohne Benutzereinwir kung startet Wenn dieser Haken nicht gesetzt ist muss der Anwender die Erkennung per Hand ber eine Ber hrung des Displays starten Auto Load bezieht sich auf das automati sche Laden des Modells Im Normalfall muss das Modell nur einmal generiert werden Wenn sich die Trainingsdate
211. tze bei gleichbleibender Anzahl der Objekte ist eine leichte Verbesserung bei der Erkennungszeit erkennbar Bei einer Spanne von einem bis 100 Datens tzen werden Zeiten zwischen 2 496 und 2 292 Sekunden gemessen Die einzelnen Abweichungen der Messreihen haben eine Standardabweichung von 39 696 bis 116 095 F r die Messung der Zeit die das System ben tigt um das Modell zu generieren wird wieder der Mittelwert von zehn Messungen genommen und in Abbildung 6 3 Mitte als Graph abgebildet Auch hier weisen die Abweichungen der einzelnen gemessenen Werte in den Messreihen gr ere Schwankungen auf und haben als Standardabweichung einen Wert zwischen 424 948 und 2415 826 siehe Abbildung 6 3 rechts Auswirkungen auf die Erkennungszeit hnlich wie bei den vorangestellten Betrachtungen zur Erstellungszeit erfolgt die Dar stellung der Auswirkungen auf die Erkennungszeit Die Ver nderungen der Dateigr e und der Erkennungszeit wird durch die Erh hung von Datens tzen und der Objektanzahl ermittelt Zun chst wird bei einer Anzahl von drei Objekten eine Trainingsdaten Datei f r die Messung verwendet und nach und nach die Anzahl der Trainingsdaten erh ht Gestartet wird mit einem Datensatz dann wird kontinuierlich bis auf zehn Datens tze erweitert Anschlie end werden die Datens tze in Zehnerschritten erh ht bis die letzte Trainingsdaten Datei 100 Datens tze beinhaltet Um die Schwankungen der Zeitmessung auszugleichen werden wieder f r je
212. uellen Daten Zeile f r Zeile F r alle unterschiedlichen Typen von Attributen hat WEKA die selbe Klas se weka core Attribute jeweils mit unterschiedliichen Konstruktoren Wenn die ben tigten Attribute angelegt sind werden diese in einem Array List Objekt java util ArrayList lt Attribute gt zusammengef hrt und an ein Datensatz Objekt der Klasse weka core Instances bergeben Der folgende Quellcode zeigt das Definieren von zwei numeric Attributen und einem nominal Attribut mit zwei Werten yes und no Listing 4 19 Erstellen eines Datensatzes im Speicher Attribute numl new Attribute num Attribute num2 new Attribute num2 ArrayList lt String gt labels new ArrayList lt String gt labels addElement no labels addElement yes Attribute cls new Attribute class labels ArrayList lt Attribute gt attributes new ArrayList lt Attribute gt attributes add num1 attributes add num2 attributes add cls Instances dataset new Instances Test dataset attributes 0 Nachdem die Struktur des Datensatzes festgelegt wurde k nnen Zeile fiir Zeile Daten hin zugefiigt werden Die Attributwerte werden in einem Array vom Typ double gehalten und an die abstrakte Instanz Klasse weka core DenseInstance bergeben Beim Initialisieren der Instanz wird sogleich ihre Gewichtung definiert Zuletzt wird die erzeugte Instanz aus dem double Array d
213. uf eine v llig neue Art und Weise genau da angezeigt werden wo sie ben tigt werden im Blickfeld des Betrachters CL08 Durch die gro e Verbreitung Abbildung 1 1 Zwei AR Anwendungen von gro en Marken als Beispiel Der interakti ve IKEA Katalog der es erm glicht M bel in die eigene Wohnung zu platzieren links http goo gl Nxby2v Stand 7 Januar 2015 und eine AR Werbeanzeige von Mini Cooper Auf einem Werbeflyer l sst sich mittels eines mobilen Telefons oder einer Webcam ein 3D Modell des Mini Cooper anzeigen rechts http goo gl x33rcU Stand 7 Januar 2015 1 EINLEITUNG von Smartphones der neuen Generation von mobilen Telefonen gewinnt die Erweiterte Realit t in letzter Zeit einen immer gr Beren Anwendungsbereich und Bekanntheitsgrad Viele gro e Firmen wie LEGO IKEA McDonald s oder Audi greifen immer h ufiger auf AR f r ihr Produktmarketing zur ck Bei Augmented Reality Anwendungen werden mittels einer Kamera reale Objekte erfasst tiber einen entsprechenden Tracker identifiziert und anschlie end mit computergenerierten Zusatzinformationen berlagert Oeh04 MBS14 Diese k nnen als virtuelle Daten in Form von Texten Bildern Videos oder auch 3D Modellen zur Verfiigung gestellt werden siehe Abbildung 1 1 Die virtuellen Objekte werden r umlich korrekt positioniert in das Bild eingefiigt und erg nzen damit das reale Bild So verschmilzt die digitale Information mit der realen Umwelt des Betrac
214. uktmarketing Eyecatcher Seit April 2010 findet man in LEGO Stores die Digital Box Dabei handelt es sich um ein Kiosksystem welches dem Kunden ber ein Display das fertig aufgebaute LEGO Produkt als animiertes 3D Modell zeigt siehe Abbildung 2 2 rechts LEGO nutzt hier Augmented Reality da eine Kamera im Kiosksystem die Produktschachtel als vordefinierten Marker erkennt und auf dem Videobild dann die 3D Szene berlagert So wird dem Kunden das fertige Produkt mit allen Eigenschaften vorgef hrt und der Kunde hat die M glichkeit sich das Produkt von allen Seiten anzuschauen Hier werden Informationen und Faszination in einem Eyecatcher zusammengefasst LEGO bedient sich hierbei der einfachsten aber auch verbreitetsten Art von Erweiterter Realit t bei der eine berlagerung von einer Information hier das 3D Modell des Produktes auf einem vorher definierten Marker hier das Deckelbild der Verpackung im Videobild stattfindet Dieses Prinzip findet man auch bei vielen AR Spielen f r Smartphones wie zum Beispiel beim AR Defender wo auf einem Marker der mit dem Smartphone getrackt wird ein Abwehrturm als 3D Modell angezeigt wird und man mit Ber hrungen auf dem Display Gegner davon abhalten muss einen Angriff auf den Turm auszuf hren 2 2 3 Ingress Einordnung Computerspiel Games Das von Google kostenlos bereitgestellte Arcadespiel Ingress ist ein Smartphone Onli nespiel mit mehr als acht Millionen Downloads Dab
215. ungsrate pro Messung Pearson Chi Square Value df p value DATENSAETZE 57 465 6 000 OBJEKTE 37 175 5 000 Tabelle 6 6 Pearson Chi Square Testergebnisse Der Wahrscheinlichkeitswert p dient als Irrtumswahrscheinlichkeit f r die getesteten Fragestellungen Der lineare Zusammenhang ist auch in Abbildung 6 14 am Beispiel der Erh hung der Da tens tze offensichtlich jedoch soll mit einem Test auf Korrelation noch die Frage ge kl rt werden ob der Anstieg der richtigen Erkennung und der Abfall der falsch Erkennung statistisch nachweisbar ist MYSTAT liefert f r die richtige Erkennung einen Korrelationsko effizienten von r 0 892 Dieser recht hohe Wert zeigt einen Anstieg der Erkennungsrate mit steigender Datensatzanzahl Um die Zuf lligkeit der Daten auszuschlie en wird der p Wert des Tests betrachtet Dieser liegt bei 0 007 was einer Irrtumswahrscheinlichkeit von 0 7 entspricht Analog beim Test f r die Nichterkennung ergab sich ein p Wert von 0 048 also eine Irrtumswahrscheinlichkeit von 4 8 Dieser Wert liegt sehr knapp unter 6 3 Ermittlung der Erkennungsraten Confidence Interval and Prediction Interval Confidence Interval and Prediction Interval T 1 KE KR m 4 E 5 5 HE Q Q Os ESTIMATE RF 4 ESTIMATE d LCL LCL ak a UEL UCL LPL LPL UPL UPL d N eg 10 5 EI E D 10 o N_DATA N_DATA Abbildung 6 14 Die Abbildungen zeigen den Anstieg der E
216. ureDescriptorAlignment gt lt MaxObjectsToDetectPerFrame gt 5 lt MaxObjectsToDetectPerFrame gt lt MaxObjectsToTrackInParallel gt 1 lt MaxObjectsToTrackInParallel gt lt SimilarityThreshold gt 0 7 lt SimilarityThreshold gt lt Parameters gt lt SensorCOS gt lt SensorCosID gt Patch1 lt SensorCosID gt lt Parameters gt lt Referencelmage gt metaioman_target png lt Referencelmage gt lt SimilarityThreshold gt 0 7 lt SimilarityThreshold gt lt Parameters gt lt SensorCOS gt lt Sensor gt lt Sensors gt lt Connections gt lt COS gt lt Name gt MarkerlessCOS1 lt Name gt lt Fuser Type SmoothingFuser gt lt Parameters gt lt KeepPoseForNumberOfFrames gt 2 lt KeepPoseForNumberOfFrames gt lt GravityAssistance gt lt GravityAssistance gt lt AlphaTranslation gt 0 8 lt AlphaTranslation lt GammaTranslation gt 0 8 lt GammaTranslation gt lt AlphaRotation gt 0 5 lt AlphaRotation gt lt GammaRotation gt 0 5 lt GammaRotation gt lt ContinueLostTrackingWithOrientationSensor gt false lt ContinueLostTrackingWithOrientationSensor gt lt Parameters gt lt Fuser gt lt SensorSource gt lt SensorlD gt FeatureTrackingl lt SensorlD gt lt SensorCosID gt Patch1 lt SensorCosID gt lt HandEyeCalibration gt lt TranslationOffset gt lt X gt 0 lt X gt lt Y gt 0 lt Y gt lt Z gt 0 lt Z gt lt TranslationOffset gt lt RotationOffset gt lt X gt 0 lt X gt lt Y gt 0 lt YS lt Z gt 0 lt Z
217. wendet werden zeigt Abbildung 6 11 Bei der Auswahl wird ein brei tes Spektrum von Exponaten des Mathematikums abgedeckt Eine Voraussetzung bei der Wahl der Exponate war dass sie jederzeit mehr oder weniger in gleicher Form und Posi tion zur Verfiigung stehen um die Erkennungsraten nicht durch zus tzliche Parameter zu beeinflussen Exponate die aus vielen Einzelteilen bestehen z B Puzzleteile und es somit nicht gew hrleistet ist dass die aktuelle Situation bei der Erkennung der Situation bei der Anlernung entspricht werden fiir diesen Test nicht in Erwagung gezogen Im ersten Testlauf werden zun chst die ersten drei Exponate mit jeweils 15 Trainingsdaten angelernt und die Erkennungsraten iiber zehn Messungen ermittelt Gepriift wird ob das richtige Objekt erkannt wird oder das System ein falsches Objekt zur ckgibt Anhand der H ufigkeit der richtigen Erkennung ber die zehn Messungen wird die prozentuale Erken nungsrate errechnet In jedem Messdurchlauf wird die Anzahl der Objekte um drei Objekte erweitert und f r die neuen Objekte ebenfalls 15 Trainingsdaten angelernt Abbildung 6 12 zeigt den Verlauf der Erkennungsrate aller Objekte anhand des Mittelwertes und zum Ver gleich die Erkennungsraten zweier Exponate die schon beim ersten Durchlauf angelernt 105 6 TEST UND AUSWERTUNG DES TBOC VERFAHRENS 106 Erkennungsrate nm Oo 3 Objekte 6 Objekte 9 Objekte 12 Objekte 15 Objekte 18 Objekte Mittelwert aller Objekte
218. y Sie besteht nur aus eine TextureView die sich ber den ganzen Bildschirm zieht Auf dieser View wird wie auch bei der Anlern Activity das Vorschaubild der Kamera angezeigt Jedoch kann eine Klassifikation nur dann erfolgen wenn auch Trai ningsdaten in der geladenen ARFF Datei vorhanden sind Wenn keine Daten in der Datei hinterlegt sind wird ber einen Benutzerdialog eine Meldung ausgegeben die Activity been det und die Anwendung kehrt zur Hauptseite der Anwendung zuriick Wenn Trainingsdaten vorhanden sind kann durch Dr cken auf die View die Klassifikation gestartet werden Wenn das System ein Objekt erkennt wird der Name des Objektes mittels eines Benutzerhinweises ausgegeben Wenn kein Objekt erkannt wird wird eine no match Meldung ausgegeben und der Klassifikationsvorgang so lange wiederholt bis ein Objekt erkannt wurde oder der Benutzer die Activity beendet und zur Hauptseite zur ckkehrt Programmatische Umsetzung Wenn die Activity geladen wird wird direkt in der onCreate Methode berpr ft ob f r die geladene Trainingsdaten Datei schon ein Bayes Klassifikator Modell im Speicher angelegt wurde oder ob in den Systemeinstellungen das automatische Neuladen des Mo dells aktiviert ist sie Quellcode 4 33 Die Methode loadModel l dt die im System momentan ausgew hlte ARFF Datei und berpr ft ob diese Trainingsdaten beinhaltet ber einen DialogHandler wird ein Benutzerhinweis ausgegeben wenn keine Daten vor 4

Download Pdf Manuals

image

Related Search

Related Contents

Freecomm 550 FR.p65    User`s Manual Template    Untitled  A.V.C. Autonome - Oerlikon Servicios > Welding Assistance    マイク付き拡声器スピーカーチラシ  

Copyright © All rights reserved.
Failed to retrieve file