Augmented Reality - Grundlagen Intelligente Mensch-Maschine-Interaktion - IMMI SS 2011 Prof. Didier Stricker Didier.Stricker@dfki.de
Die Vorlesung am 07.06 findet im Raum Zuse am DFKI statt 2
Übersicht Augmented Reality Displays und Tracking Die Kamera Kamerakalibrierungsverfahren 3
Historie Ivan Sutherland (1960s): erste Experimente mit HMDs Remote Reality Virtual Reality 4
Allgemeines Trend: IPT (immersive projection technology) -5- Stereoprojektion Workbench CAVE
CAVE 6
Virtual Reality Eigenschaften Echtzeit Interaktivität Immersion Multi-modale Interaktion Immersion: Das Gefühl teil der virtuellen Welt zu sein -7-
VR Anwendungen & Echtzeit physikalische Simulation 8
Augmented Reality: Grundlagen + AR kombiniert reale und virtuelle Welt = 9
Augmented Reality: Grundlagen Immersive Virtuelle Umgebungen (VE): Komplettes Ersetzen der Realität Augmented Reality: Benutzer sieht reale Umgebung Kontakt bleibt erhalten Umgebung wird durch virtuelle Informationen ergänzt nicht ersetzt 10
Augmented Reality: Grundlagen / Historie Frühe 1990s: David Mizell (Boeing) prägt den Begriff Augmented Reality 11
AR und VR kann nicht losgelöst betrachtet werden Mixed Reality Continuum Real Environment Augmented Reality (AR) Augmented Virtuality (AV) Virtual Environment [Milgram & Kishikino 94] Paul Milgram führt den Begriff Mixed Reality ein. Mixed Reality stellt aller Formen von VR und AR dar. Augmented Virtuality: Reale Objekte oder z.b. Videobilder in einer VR-Welt. -12-
Technology: video-based tracking
14
Augmented Reality: Grundlagen Charakterisierung von Azuma (1997): AR kombiniert reale und virtuelle Welt AR ist interaktiv in Echtzeit AR erfordert Registrierung in 3D [Azuma 97] [University of North Carolina] 15
Anwendungsbeispiele: Sport Übertragungen 16
Anwendungsbeispiele: Head-up display
Automobil: Simulation vs. reale Welt -18-
Anwendungsbeispiele: Medizin 19
Spiele Sony: EyeToy AR-Quake (Univ.) Anwendungsbeispiele: Edutainment 20
Anwendungsbeispiele: Edutainment Kulturgüter Augmented Tour Guide Rekonstruktionen 21
Augmented Reality
DISPLAYS 23
Displays Handgeführt Head Mounted Displays (HMD) 24
Head Mounted Display Monitor Combiner Grafik Kamera Video See-Through Reales Bild Virtuelles Bild Monitor Grafik Optical See-Through Optical Combiner 25
Optical See-Through : Beispielsgerät With courtesy of Trivisio
Verdeckungen in AR Verdeckungen zwischen realen und virtuellen Objekten Verdeckungen sind nicht berücksichtigt Verdeckungen sind berücksichtigt. Ein Modell, oder Maske muss existieren und bei der Visualisierung einbezogen werden. 27
Video See Through Optical See Through + Full control of the information wich is displayed Real world is perceived over the camera (focal plane, stereo, delay, scale ) +real world in full resolution virtual image mostly not bright enough ghost view
Und bei See-Through HMD Problem 1: Verdeckung realles/virtuelles Objekt Verdeckung reales / virtuelles Objekt (wie gehabt, siehe oben) Problem 2: das virtuelles Bild erscheint noch durchsichtig
HMD mit Alpha-Channel Courtesy of Kiyoshi Kiyokawa, Communication research lab With courtesy of Trivisio Maske vom Light-Blocking-Filter Ergebnis Verdeckung reales / virtuelles Objekt (Software Z-Buffer Siehe unten)
HMD with alpha channel by Kiyokawa by Kiyokawa
HMD mit Alpha Channel Kiyokawa Kiyokawa Trivisio
VIDEO LIGHT BLOCKER 33
TRACKING 34
Augmented Reality: Wie? Input Daten: 1 Videobild (current frame) 1 Modell (CAD, Vrml...) Aufgaben der AR: Videobild im Hintergrund rendern Modell im Vordergrund richtig rendern rendern richtig rendern???
AR ist richtig rendern Richtig rendern Geometrisch: größe + lagerichtig Photometrisch: richtige Beleuchtung Rendering (Computer Graphik) projection matrix glmatrixmode(gl_projection); glfrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0); gluperspective(60.0, 1.0, 1.5); modelview matrix glmatrixmode(gl_modelview); glmultmatrix(n); /* apply transformation N */ glulookat(...); /* positions the camera */
Projektionmatrix Transformiert 3D Weltkoordinaten in 2D Bild- (Fenster-) koordinaten Enthält: Zoom Sichtwinkel Perspektivische Distortion der Kamera
Modelview matrix Transformiert 3D koordinaten des Weltkoordinatensystems in 3D Koordinaten der Kamerakoordinatensystems R, t
Tracking in Praxis: Basisfunktionalitäten Input video Pattern recognition Calculate 3D camera position & orientation Registration of 3D virtual objects Synthesis and render on input video 39
Projektive Bilder Eindruck der Tiefe in den Bildern Parallele Linien treffen sich an der Unendlichkeit Unendlichkeit wird zur begrenzten Position im Bild projektiert Horizont unendlich ferne Punkte, [Triggs and Mohr] 40 2008, Fraunhofer IGD
Tracking: Genauigkeit? Welche Genauigkeit Variablen 6 DOF Position + Orientierung Viewing Parameter Abhängig von Anwendung Chirurgie ( < mm) Outdoor Navigation (m) Abhängig von menschlichen Sinnen Abweichungen von 0,5 Bogenminuten Höher als in VR Koexistenz von real und virtuell 41
Tracking Offline Verfahren Notwendige Informationen werden aus den Bildern zurückgewonnen Keine zusätzliche Hardware Online/Echtzeit Verfahren Mechanische, Magnetische Verfahren (Siehe HCI- Vorlesung) Tendenz: Kamera-basierte Lösungen 42
Tracking Kamerabasierte Verfahren Mobil 6 DOF Bildverarbeitung Passive Targets Outside-In Inside-Out 43
Tracking Outside-In Empfänger (z.b. Kameras) in Umgebung beobachten den Benutzer Sender am Benutzer Präparierung der Umgebung Wenig mobil 44
Tracking Inside-Out Empfänger (Kamera) am Benutzer Sender (Merkmale) in Umgebung 45
Tracking Offline-Tracking / Augmented Video Video im Vorfeld aufgenommen Interaktion mit virtueller Szene in Echtzeit Kalibrierung, Schätzung von Kamerapose 46
Tracking Einzelbild: Rückrechnung von P Direct Linear Transformation (DLT) 2D Punkte im Bild (m i ) 3D Punkte (M i Vermessen oder VR-Model) Gleichung pro Punkt : m i = PM i Bestimmung von P Zerlegung von P in K (Brennweite ), R und t Probleme Viele Punkte (mind. 20) Rauschempfindlich Instabile Punktkonfiguration 47
Tracking Video-Sequenz Automatisierung notwendig Klassischer Ansatz 2D-Punktverfolgung über die ganze Bildsequenz anschließende Bestimmung des 3D-Kamerapfades Probleme: 2D Punktverfolgung bei Verdeckungen Akkumulation der Fehler 48
Tracking / Registrierung Marker-based Tracking: Passiv 4 x 4 Binärcode Ein Marker ist ausreichend (4-Eckpunkte) um die Kameraposition/orientierung zu rechnen Die Marker werden in die Szene platziert und vermessen Algorithmus: 1. Markerextraktion: Bestimmung der Eckpunkte 2. Markeridentifikation 3. Berechnung der Kameraposition und Orientierung 49
Die Kamera 50
Was ist eine Kamera? Bilderaufnahmegerät 3D2D Abbildung! 51
Was ist eine Kamera? Verschiedene Kameras, verschiedene Bilder Nikon Coolpix 2100 Olympus D630 zoom Kameraparameter (fokal Länge ) sehr wichtig für AR 52
Was ist eine Kamera? Eine Kamera erstellt eine projektive Abbildung von R 3 nach R 2 53
Die Lochkamera Theorie Abstraktes Kameramodell - In der Praxis, virtuelles Kasten mit kleinem Loch Bild statt echte Bildebene 54
Transformation 2 Gleichungen: Image plane Pinhole Virtual image plane Object x X f, Z y f Y Z sind aber nicht linear! ( X, Y, Z) ( f X / Z, f Y / Z) 55
Homogene Koordinaten Einfach eine Dimension mehr kartesische Koordinaten homogene Koordinaten ( x, y) ( x, y, ) kartesische Koordinaten homogene Koordinaten C1 C2 ( C1, C2, C3) (, ) C C 3 3 56
1 0 1 0 1 0 1 1 Z Y X f f Z Y f X f Recall: das Kameralochmodel 1 0 1 0 0 1 Z Y X f f Z Y f X f Z Y X ) /, / ( ),, ( Z Y f Z X f Z Y X 1 / / 1 Z Y f Z X f Z Y X
) /, / ( ),, ( Z Y f Z X f Z Y X Recall: Pinhole camera model x PX 1 0 1 0 1 0 1 1 Z Y X f f Z Y f X f
PP Skew Neue Matrix: Optisches Zentrum Offset und Skew 59 T y x T c Z fy c Z fx Z Y X ) /, / ( ),, ( = principal point (PP) T x c y c ), ( Z Y X c f c s f y x y y x x 1 0 0 0 1 n 1 2 2 1 m p h p w (cx,c y) P s = skew
Intrinsische Parameter der Kamera: Brennweite (Focal Length) Bildhauptpunkt (PP) Skew factor (meistens s=0) Die intrinsichen Parameter der Kamera 60 1 0 0 0 y y x x c f c s f K K ist die Kalibrierungsmatrix der Kamera T x c y c ), ( y x f f, s Z Y X K y x. 1
Position und Orientierung Die Kamera bewegt sich im Bezug zur Szene Translation t + Rotation R R, t 61
Transformationsmatrix vom Koordinatensystem der Szene zum Koordinatensystem der Kamera: Die extrinsichen Parameter der Kamera 62 1 ' ' ' 1 3 3 3 Z Y X t R Z Y X R, t R und t sind die extrinsischen Parameter der Kamera
K : intrinsiche Parameter R, t : extrinsiche Parameter P = K [R,t] ist die Projektionsmatrix der Kamera Die Kamera 63 1 1 Z Y X t K R y x
Die Kamera: Zusammenfassung Kameramodell R : Rotationsmatrix T : Translationsvektor K : intrinsische Parameter fx K 0 0 s fy 0 cx cy 1 Kamera O o z x M m o x z y Szene R, t Für M=(x,y,z,1) und m(x,y,1) gilt: m ~ PM, wobei P=K(R,t) y 64
Reale Kamera Bildpunkte verzerrt x d,y d Verzerrte Bildpunkte Parameter k 1, k 2 Linien müssen gerade sein! Bildentzerrung 65 2 2 2 4 2 2 1 4 2 2 1 ) (1 ) (1 d d d d y x r r k r k y y r k r k x x
Image tracker 66
67
Reading: Azuma, Ronald T. A Survey of Augmented Reality. Presence: Teleoperators and Virtual Environments 6, 4 (August 1997), 355-385 68