Augmented Reality Grundlagen - ags.cs.uni-kl.de · Augmented Reality-Grundlagen Intelligente...
Transcript of Augmented Reality Grundlagen - ags.cs.uni-kl.de · Augmented Reality-Grundlagen Intelligente...
Augmented Reality-
Grundlagen
Intelligente Mensch-Maschine-Interaktion - IMMISS 2011
Prof. Didier [email protected]
Die Vorlesung am
07.06
findet im Raum Zuse am DFKI statt
2
Augmented Reality
Displays und Tracking
Die Kamera
Kamerakalibrierungsverfahren
Übersicht
3
Historie
Ivan Sutherland (1960s): erste Experimente mit HMDsRemote Reality Virtual Reality
4
-5-
Allgemeines Trend: IPT (immersive projection technology)
Workbench
Stereo-projektion
CAVE
CAVE
6
Virtual Reality
EigenschaftenEchtzeit 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
9
+
=AR kombiniert
reale und virtuelle Welt
Immersive Virtuelle Umgebungen (VE):Komplettes Ersetzen der Realität
Augmented Reality:Benutzer sieht reale UmgebungKontakt bleibt erhaltenUmgebung wird durch virtuelle Informationen ergänzt nicht
ersetzt
Augmented Reality: Grundlagen
10
Augmented Reality: Grundlagen / Historie
Frühe 1990s: David Mizell (Boeing) prägt den Begriff Augmented Reality
11
-12-
AR und VR kann nicht losgelöst betrachtet werden
[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.
Mixed Reality Continuum
Augmented Reality (AR)
Real Environment
Augmented Virtuality (AV)
Virtual Environment
Technology: video-based tracking
14
Charakterisierung von Azuma (1997):
AR kombiniert reale und virtuelle WeltAR ist interaktiv in EchtzeitAR erfordert Registrierung in 3D
Augmented Reality: Grundlagen
15
[Azuma 97][University of North Carolina]
Anwendungsbeispiele:Sport Übertragungen
16
Anwendungsbeispiele:Head-up display
-18-
Automobil: Simulation vs. reale Welt
Anwendungsbeispiele:Medizin
19
SpieleSony: EyeToyAR-Quake (Univ.)
Anwendungsbeispiele:Edutainment
20
KulturgüterAugmented Tour GuideRekonstruktionen
Anwendungsbeispiele:Edutainment
21
Augmented Reality
DISPLAYS
23
Handgeführt
Displays
24
Head Mounted Displays (HMD)
Head Mounted Display
25
Optical Combiner
GrafikMonitor Optical See-Through
Combiner
Virtuelles BildReales Bild
Kamera
Grafik
Monitor
Video See-Through
Optical See-Through : Beispielsgerät
With courtesy of Trivisio
Verdeckungen zwischen realen und virtuellen Objekten
Verdeckungen in AR
27
Verdeckungen sind nicht berücksichtigt
Verdeckungen sind berücksichtigt.
Ein Modell, oder Maske mussexistieren und bei der Visualisierung einbezogen werden.
Optical‐See‐Through
+ real world in full resolution
– virtual image mostly not bright enough – ghost view
Video‐See‐Through
+ Full control of the information wich is displayed
‐ Real world is perceived over the camera (focal plane, stereo, delay, scale…)
Und bei See-Through HMD
Problem 2: das virtuelles Bild erscheint noch durchsichtig…
Problem 1: Verdeckung realles/virtuelles Objekt…
Verdeckung reales / virtuelles Objekt(wie gehabt, siehe oben)
HMD mit Alpha-Channel
Courtesy of Kiyoshi Kiyokawa, Communication research lab
With courtesy of Trivisio
Verdeckung reales / virtuelles Objekt(Software Z-Buffer – Siehe unten)
Maske vom Light-Blocking-Filter Ergebnis
HMD with alpha channel
by Kiyokawa
by Kiyokawa
HMD mit „Alpha Channel“
KiyokawaKiyokawa Trivisio
33
VIDEO LIGHT BLOCKER
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
rendernrichtig rendern ???
AR ist „richtig rendern“
Richtig rendernGeometrisch: größe + lagerichtigPhotometrisch: 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 matrixglMatrixMode(GL_MODELVIEW);glMultMatrix(N); /* apply transformation N */gluLookAt(...); /* positions the camera */
Projektionmatrix
Transformiert 3D Weltkoordinaten in 2D Bild-(Fenster-) koordinaten
Enthält:ZoomSichtwinkelPerspektivische Distortion der Kamera
Modelview matrix
Transformiert 3D koordinaten des Weltkoordinatensystems in 3D Koordinaten der Kamerakoordinatensystems
R, t
Tracking in Praxis: Basisfunktionalitäten
39
Input video Pattern recognition
Calculate 3D camera position &
orientation
Synthesis and render on input
video
Registration of 3D virtual objects
© 2008, Fraunhofer IGD
40
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]
Welche GenauigkeitVariablen6 DOF Position + OrientierungViewing Parameter
Abhängig von AnwendungChirurgie ( < mm)Outdoor Navigation (m)
Abhängig von menschlichen SinnenAbweichungen von 0,5 Bogenminuten
Höher als in VRKoexistenz von real und virtuell
Tracking: Genauigkeit?
41
Offline VerfahrenNotwendige Informationen werden aus den Bildern
zurückgewonnenKeine zusätzliche Hardware
Online/Echtzeit VerfahrenMechanische, Magnetische Verfahren (Siehe HCI-
Vorlesung)Tendenz: Kamera-basierte Lösungen
Tracking
42
Kamerabasierte VerfahrenMobil6 DOFBildverarbeitungPassive Targets
Outside-InInside-Out
Tracking
43
Tracking
44
• Outside-In• Empfänger (z.B. Kameras)
in Umgebung beobachten den Benutzer
• Sender am Benutzer
• Präparierung der Umgebung
• Wenig mobil
Tracking
45
• Inside-Out• Empfänger (Kamera) am
Benutzer• Sender (Merkmale) in
Umgebung
Offline-Tracking / Augmented VideoVideo im Vorfeld aufgenommenInteraktion mit virtueller Szene in EchtzeitKalibrierung, Schätzung von Kamerapose
Tracking
46
Einzelbild:Rückrechnung von P“Direct Linear Transformation” (DLT)2D Punkte im Bild (mi)3D Punkte (Mi Vermessen oder VR-Model)Gleichung pro Punkt : mi = PMi
Bestimmung von PZerlegung von P in K (Brennweite…), R und t
ProblemeViele Punkte (mind. 20)Rauschempfindlich Instabile Punktkonfiguration
Tracking
47
Video-Sequenz
Automatisierung notwendigKlassischer Ansatz
2D-Punktverfolgung über die ganze Bildsequenz anschließende Bestimmung des 3D-Kamerapfades Probleme:
2D Punktverfolgung bei Verdeckungen Akkumulation der Fehler
Tracking
48
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
Eckpunkte2. Markeridentifikation3. Berechnung der Kameraposition
und Orientierung
Tracking / Registrierung
49
Die Kamera
50
Bilderaufnahmegerät
3D2D Abbildung!
Was ist eine Kamera?
51
Verschiedene Kameras, verschiedene Bilder
Kameraparameter (fokal Länge…) sehr wichtig für AR
Was ist eine Kamera?
52
Nikon Coolpix 2100 Olympus D630 zoom
Eine Kamera erstellt eine projektive Abbildung von R3 nach R2
Was ist eine Kamera?
53
Abstraktes Kameramodell -Kasten mit kleinem Loch
Die Lochkamera Theorie
54
• In der Praxis, virtuelles Bild statt echte Bildebene
2 Gleichungen:
Transformation
55
Image plane
Pinhole ObjectVirtualimage plane
ZYfy
ZXfx ,
…sind aber nicht linear!
)/,/(),,( ZYfZXfZYX
Einfach eine Dimension mehr…
Homogene Koordinaten
56
nKoordinatehomogene
nKoordinateekartesisch
),,(),( yxyx
nKoordinateekartesisch
3
2
3
1
nKoordinatehomogene
321 ),(),,(CC
CCCCC
1010101
1ZYX
ff
ZYfXf
Recall: das Kameralochmodel
10100
1ZYX
ff
ZYfXf
ZYX
)/,/(),,( ZYfZXfZYX
1//
1
ZYfZXf
ZYX
)/,/(),,( ZYfZXfZYX
Recall: Pinhole camera model
PXx
1010101
1ZYX
ff
ZYfXf
PP
Skew
Neue Matrix:
Optisches Zentrum Offset und Skew
59
Tyx
T cZfYcZfXZYX )/,/(),,(
= principal point (PP)T
yx cc ),(
ZYX
cfcsf
yx
yy
xx
1000
1
n12
21
m
ph
pw
(cx,cy)
P s = skew
Intrinsische Parameter der Kamera:Brennweite (Focal Length)Bildhauptpunkt (PP)Skew factor (meistens s=0)
Die intrinsichen Parameter der Kamera
60
1000 yy
xx
cfcsf
K
• K ist die Kalibrierungsmatrix der Kamera
Tyx cc ),(yx ff ,
s
ZYX
Kyx
.1
Die Kamera bewegt sich im Bezug zur Szene
Translation t + Rotation R
Position und Orientierung
61
R, t
Transformationsmatrix vom Koordinatensystem der Szene zum Koordinatensystem der Kamera:
Die extrinsichen Parameter der Kamera
62
1'''
1333
ZYX
tRZYX
R, t
• R und t sind die extrinsischen Parameter der Kamera
K : intrinsiche ParameterR, t : extrinsiche Parameter
P = K [R,t] ist die Projektionsmatrix der Kamera
Die Kamera
63
11
ZYX
tRKyx
KameramodellR : RotationsmatrixT : TranslationsvektorK : intrinsische Parameter
Für M=(x,y,z,1) und m(x,y,1) gilt: m ~ PM, wobei P=K(R,t)
Die Kamera: Zusammenfassung
64
100cyfy0cxsfx
K
M
mo
x
y
z
o
x
z
y
R, tO
Kamera
Szene
Reale Kamera – Bildpunkte verzerrtxd,yd – Verzerrte BildpunkteParameter k1, k2
Linien müssen gerade sein!
Bildentzerrung
65
222
42
21
42
21
)1(
)1(
dd
d
d
yxr
rkrkyy
rkrkxx
Image tracker
66
67
68
Reading:
Azuma, Ronald T. A Survey of Augmented Reality. Presence: Teleoperators and Virtual Environments 6 , 4 (August 1997), 355 - 385