Mobile Augmented Reality - inovex.de · SLAM Verfahren (ARKit + ARCore) Einsatz in unbekannten...
-
Upload
nguyendien -
Category
Documents
-
view
217 -
download
0
Transcript of Mobile Augmented Reality - inovex.de · SLAM Verfahren (ARKit + ARCore) Einsatz in unbekannten...
Mobile Augmented RealityMobile Augmented RealitySteffen Tröster - Mobile / Fullstack Developer Steffen Tröster - Mobile / Fullstack Developer
�� �� @stetro@stetro
Head-up-DisplayHead-up-Display
Einblendung von InformationKein Kamerabild - Keine BildkompositionTracking eher anhand GPS und Kompass
SLAM auf spezieller HardwareSLAM auf spezieller Hardware
Tango, Hololense, structure.ioWeniger für den MassenmarktVielseitig durch Tiefeninformationen
SLAM - Simultaneous Localization and Mapping
SLAM Verfahren (ARKit + ARCore)SLAM Verfahren (ARKit + ARCore)
Einsatz in unbekannten UmgebungenLäuft auf Standardhardware ohne spezielle Sensoren *
* Vorausgesetzt sind kalibrierte Sensoren & entsprechende Permformance
vormals Google Project TangoPositionstracking, Raycasting, Pointcloud,Ebenenerkennung, LightEstimationAPIs für C/C++, Java, Unity, UnrealDeveloper Release
Virtuelle KameraVirtuelle KameraExtrinsische Merkmale: 6 FreiheitsgradeIntrinsische Merkmale: Fokus, Verzerrungen
Ziel in AR: Merkmale der virtuellen Kamera mit der echten Kameragleichsetzen
Feature DetectionFeature DetectionZiel: Das �nden Markanter Merkmale im BildKantendetektion (Canny, ...)Eckenerkennung / Interest Points (FAST, SURF,FREAK, ...)
FAST - Features from Accelerated Segment Test
Feature DescriptionFeature DescriptionRobustheit: Invarianz gegenüber Rotation SkalierungAusgangswerte - Float / BinärKombinationen wie ORB oder LIFT
SIFT - Scale-Invariant Feature Transform BRIEF - Binary Robust Independent Elementary Features BRISK - Binary Robust Invariant Scalable Keypoints ORB - Oriented FAST and Rotated BRIEF LIFT - Learned Invariant Feature Transform
Feature MatchingFeature MatchingDas Finden korrespondierender Punkte in 2 Bildern"Die Distanz zwischen Featuren"zB. Euclidean oder Hamming Distanz
LIFT - Learned Invariant Feature TransformLIFT - Learned Invariant Feature TransformLIFT: Learned Invariant Feature Transform
Visual Inertial Odometry (1/4)Visual Inertial Odometry (1/4)IMU: Gyroscope & Accelerometer (noisy sensors)Integration über Beschleunigung und Lageänderungenführt zu 6 DOF
Visual Inertial Odometry (3/4)Visual Inertial Odometry (3/4)Feature Detection zwischen mehreren Bildern3D Triangulation führt zu gewinnung der 6 DOF
Aus Matching Triangulation entsteht Pointcloud
Visual Inertial Odometry (4/4)Visual Inertial Odometry (4/4)6DoF aus 2 QuellenKalmann Filter wird angewendet
"Das Kalman-Filter dient dazu, Fehler in realenMesswerten zu reduzieren und Schätzungen fürnicht messbare Systemgrößen zu liefern"(Wikipedia)
ARCore kann zB. 1 Sekunde ohne Bild überbrücken
SLAMSLAMSimultaneous Localization and MappingPointcloud (mit Merkmalen) + Poses => KarteRinge können detektiert werdenKorrigiert Drift aus Visual Inertial Odometry
Tatsächliche UmsetzungTatsächliche UmsetzungLeider bei ARCore & ARKit unbekanntWelche Features + Matcher werden verwendet?Wie sieht das Kartenmodell aus?Verfahren zur Drift Korrektur?
Umgebung Verstehen - Ebenen (1/2)Umgebung Verstehen - Ebenen (1/2)
Bestimmung aus Pointcloud mit RANSAC (RAndom SAmple Consensus)Bestimmt Ebene, nicht die Ausbreitung (Ortsvektor + Normale)
Umgebung Verstehen - Ebenen (2/2)Umgebung Verstehen - Ebenen (2/2)
Polygone aus 3D Punkten => Schwer bestimmbar!Auf 2D reduzieren für gutes LaufzeitverhaltenKonvexe Hülle in O(n log n)Vorheriges Clustering möglich
Umgebung Verstehen - Rekonstruktion (1/4)Umgebung Verstehen - Rekonstruktion (1/4)
Wie von Pointcloud zu Polygonen kommen?TSDF: Truncated Signed Distance Function
Tiefenrepräsentation in VoxelEntfertung zur nächsten Ober�äche
Umgebung Verstehen - Rekonstruktion (2/4)Umgebung Verstehen - Rekonstruktion (2/4)
Umwandlung von Raster in PolygonenMarching-Cubes
Umgebung Verstehen - Rekonstruktion (3/4)Umgebung Verstehen - Rekonstruktion (3/4)Project Tango - real-time 3D reconstruction on mobile phone
Umgebung Verstehen - Rekonstruktion (4/4)Umgebung Verstehen - Rekonstruktion (4/4)
Spatial mapping with #ARKit7:04 PM - Feb 3, 2018
2,160 700 people are talking about this
Tim Field@nobbis
Occlusion (1/2)Occlusion (1/2)
Tiefeninformationen aus Pointcloud oderRekonstruktionenFilter der Tiefeninformationen durch Bild Material
Vielen Dank!Vielen Dank!Fragen?Fragen?Steffen Tröster Mobile Application Developer
inovex GmbH Mail: [email protected]