Augmented Reality 3D Wahrnehmung + perspektivische Abbildungen Intelligente Mensch-Maschine-Interaktion - IMMI SS 2011 Prof. Didier Stricker
[email protected]
Die Vorlesung am 07.06 findet im Raum Zuse am DFKI statt
2
Übersicht
Wahrnehmung von 3D Räumen Perspektive Mathematische Modellierung: projektive Geometrie Anwendung I: Kameraposition und -orientierung aus einem quadratischen Marker Anwendung II: Kameraposition und -orientierung mit DLT
3
Das Auge Das Auge bildet eine projektive Abbildung von R3 nach R2 ab.
4
Wie entsteht ein perspektivisches Bild?
???
5
Renaissance (XVI)
Dürer
6
Projektive Bilder: Skalierung
7
Projektive Bilder: Verkürzung
8
Fluchtpunkte
image plane vanishing point v camera center C
line on ground plane
Fluchtpunkt • Abbildung eines Punktes “am Unendlich” 9
Projektive Bilder: Parallele Linien schneiden sich in der Unendlichkeit
[Sonka, Hlavac, Boyle]
10
Projektive Bilder
Eindruck der Tiefe in den Bildern Parallele Linien treffen sich in der
Unendlichkeit “Unendlichkeit” wird auf eine begrenzte Position im Bild projiziert “Horizont” “unendlich ferne Punkte”, …
[Triggs and Mohr] 11
3D Illusionen
Julian Beever Projektion einer „virtuellen Erde“ auf die Bodenebene (starke Verzerrungen) - Für die Eine Position stimmt die Perspektive - Keinen Unterschied zwischen 3D-Objekt und Abbildung
12 12
3D Illusionen
Julian Beever 13
Projektive Geometrie -Homogene Koordinaten -Lineare Abbildung im projektiven Raum -Projektionsmatrix (Kamera)
14
X?
X?
X?
x
15
Projektive Ebene Wieso werden homogenen Koordinaten benötigt? Für die Abbildung von “unendlich entfernten Punkten”, perspektivische Projektion…
Eine geometrische Intuition? Ein Punkt im Bild ist ein Strahlen im projektiven Raum
y (0,0,0)
z
(sx,sy,s) (x,y,1) x image plane
• Jeder Punkt (x,y) auf der Ebene ist durch einen Strahl (sx,sy,s) dargestellt
– alle Punkte auf dem Strahl sind äquivalent: (x, y, 1) (sx, sy, s) 16
Homogene Koordinaten Einfach eine Dimension mehr… kartesische Koordinaten
homogene Koordinaten
( x, y ) (x, y, ) kartesische Koordinaten
C1 C2 (C1 , C2 , C3 ) ( , ) C3 C3 homogene Koordinaten
Homogenisierung
Für Punkte des projektiven Raumes sind nicht die Koordinaten selbst, sondern nur ihre Verhältnisse maßgebend 17
2D projektive Geometrie
Koordinaten im Eukl. R2
x = x/1 y = y/1
homogene Koordinaten in P2
(x,y) ~ (x,y,1) ~ (kx,ky,k)
k≠0
i.e. Positionen
Unendlich entferne Punkte
(x,y,0) = (x/0,y/0,0) = (∞,∞,0)
i.e. Richtungen
Zeichen „∼“ bedeutet: Gleichheit bis auf einen Skalenfaktor 18
2D projektive Geometrie Euklidische / affine Abbildung im Euklidischen Raum: Unendlich entfernte Punkte bleiben in der Unendlichkeit
≠ Projektiver Raum Unendlich entfernte Punkte transformieren zu normalen Punkten Erweiterung des Euklidischen Raumes, in dem sich zwei Linien immer treffen.
Projektive Transformation: Abbildung der Ebene, die gerade Linien erhält
19
Projektive Linien Wie wird eine Linie abgebildet?
• Eine Linie ist eine Ebene von Strahlen durch den Ursprung – alle Strahlen (x,y,z) so dass: ax + by + cz = 0 in vector notation :
x 0 a b c y z
l
p
• Eine Linie ist auch als ein homogener 3-dimensionaler Vektor l 20
2D projektive Geometrie
Eukl. Raum: Linie l :
ax + by + c = 0
Linie wird durch den Vektor (a,b,c)T dargestellt
Proj. Raum: Linien und Punkte werden durch homogene Vektoren dargestellt
(a,b,c)T ~ k(a,b,c)T k ≠ 0 Be T (x,y,1)T ~ k(x,y,1)
Beschreibt die gleiche Gerade
Der Punkt x ist dann auf der Linie l wenn
ax + by + c = (x,y,1)(a,b,c)T = xTl = 0
21
2D projektive Geometrie
Der Punkt x ist dann auf der Linie l wenn ax + by + c = (x,y,1)(a,b,c)T = xTl = 0 Bemerkung: Auf der Geraden g = (a, b, c) liegt auch der unendlich ferne Punkt p1 = (−a, b, 0). Der unendlich ferne Punkt p2 = (a,−b, 0) ist der selbe Punkt wie p1, d.h. beide ”Enden“ von g liegen auf dem selben Punkt. Die Gerade g‘ = (a, b, c‘), c' 0, c' ist parallel zu g. Zwei ”parallele“ Geraden schneiden sich immer in einem unendlich fernen Punkt (im Gegensatz zu der Euklidischen Geometrie).
Gerade g (a,b,c)
In Richtung des unendlich fernen Punktes (-a,b,0) = (a,-b,0)
In Richtung des unendlich fernen Punktes (-a,b,0)
22
Zusammenfassung x0 T p x0 , y0 y0
Eukl. Punkt Eukl. Linie
ax by c 0
Projektiver Raum P2:
a x b y 0 c 1
l x 0
a l b c
x x y 1 23
Homographien “projektive Abbildung” = “collineation” = “projectivity” = “Homographie” H Invertierbare Abbildung Pn →Pn „geradentreue“ Abbildung (n+1) x (n+1) Matrix In P2 :
x1 ' h11 x ' x2 ' Hx h21 x ' h 3 31
h12 h22 h32
h13 x1 h23 x2 h33 x3
H hat (n+1)2-1 Freiheitsgraden: für P2 : 9 Elemente, davon nur 8 unabhängigH ist bis auf einen Skalierungsfaktor definiert.
24
24
Homographien: Beispiele (euklidische Transf.)
1 0 tx • Translation T 0 1 t x ' Tx x 0 0 1 cos sin 0 • Rotation R sin cos 0 x ' Rx 0 0 1 sx 0 0 • Skalierung S 0 s 0 x ' Sx y 0 0 1
• Alle Kombination, z.B.
M SRT x ' SRTx Mx 25
Die Hierarchie der Transformationen / Geometrien Projektiv 8dof
Affin 6dof
2D: ein Quadrat
transformiert zu: Similarity 4dof
Euklidisch 3dof
h11 h12 h13 h h h 23 21 22 h31 h32 h33 a11 a12 t x a a t 22 y 21 0 0 1 sr11 sr12 t x sr sr t 21 22 y 0 0 1 r11 r 21 0
r12 r22 0
tx t y 1 26
Die Hierarchie der Transformationen / Geometrien
3D: ein Würfel
Projektiv 15dof
A vT
Affin 12 dof
A t 0 T 1
Similarity 7dof
s R t 0T 1
Euklidisch 6dof
R t 0T 1
transformiert zu:
t v
27
Bestimmung der Homographie Punktkorrespondenzen: xi' xi : xi' Hxi ' Ausgangsgleichung: x x 0 xi Hxi 0 x ' xi y w
' i ' i ' i
xi h1 , xi yi , H h4 w h i 7
h2 h5 h8
h3 h1 h2 h6 h4 h5 h9 h7 h8
1T 1 h h1 h3 h 2T 2 h6 h , h h 3T 3 h9 h h h9
Algebraisches Umformulieren: 3T ' 2T y h xi wi h xi ' ' 1T ' 3T xi Hxi wi h xi xi h xi ' 2T ' 1T xi h xi yi h xi ' i
T 0 jT T j ' T h xi xi h : wi xi ' T yi xi
wx 0 ' T xi xi
' T i i T
yx xx 0
' T i i ' T i i T
1 h h 2 0 3 h
Bestimmung der Homographie T 0 wi' xiT ' T yi xi
wx 0 xi' xiT
' T i i T
yx xx 0
' T i i ' T i i T
1 h h 2 0 3 h
Ai h 0 Ai ist eine 3 x 9 Matrix, h ist ein 9-Vektor
• 3 Gleichungen • linear in den Unbekannten h • Ai ist quadratisch in den bekannten Punktkorrespondenzen • nur 2 Gleichungen linear unabhängig • die 3. Gleichung wird i.A. vernachlässigt. T 0 w' x T i i
wi' xiT T 0
1 h ' T yi xi 2 h 0 ' T xi xi 3 h
Ai h 0 Ai ist eine 2 x 9 Matrix, h ist ein 9-Vektor
Bestimmung der Homographie 0 A1h 0 : ' x1w1
A 2h 0 A 3h 0
0
0
x1w
y1w
w1w
xy
yy
y1w1'
w1w1'
0
0
0
xx
yx
' 1
' 1
' 1
' 1 1 ' 1 1
' 1 1 ' 1 1
h1 w y 0 w x 0 h9 ' 1 1 ' 1 1
1 Punktkorrespondenz definiert 2 Gleichungen H hat 9 Elemente, ist bis auf einen Skalierungsfaktor definiert 8 Freiheitsgrade (DoF) Mindestens 4 Punktkorrespondenz benötigt
0 A 4 h 0 : ' x4 w4
0
0
x4 w4'
y4 w4'
w4 w4'
y4 w4'
w4 w4'
0
0
0
A1 A2 A h Ah 0 3 A 4
4 x 2 Gleichungen
x4 y4' x4 x4'
y4 y4' y4 x4'
w4 y4' w4 x4'
h1 0 h 0 9
Ah 0
Allgemeiner Fall: • überbestimmt • n Punktkorrespondenzen • 2n Gleichungen, A ist eine 2n x 9 Matrix
Zurück zu Homographien: Abbildung von 2D-Ebene zu 2D-Bildebene Mapping between planes
[Hartley+Zisserman]
•x’=Hx •H definiert die Transformation zwischen den 2 Ebenen (im Bereich Grafik wird H als “Mapping” bezeichnet) •Abbildung der Ebene auf das Kamerabild ist durch H definiert
31
Zurück zu Homographien – Beispiel 1 Kompensation der perspektivische Verzerrung - Alle (3D-) Punkte liegen in einer 2D-Ebene - Abbildung 2D-Ebene zu Ebene wird durch eine Homographie H definiert - Eingabe von 4 Punkten (verzerrtes und euklidisches Viereck) - Berechnung von H - Transformation des Bildes
H
[Hartley+Zisserman]
32
Beispiel 2: 3D Illusionen x
x’
H
z
O
f y
y’
Bodenebene
Bildebene
33
Abbildung 3D-Welt / 2D Bildebene Die zentrale Projektion (20, 13, 6) meter (153, 212) pixel
X X x Y p11 p12 p13 p14 Y y P p p p p 21 22 23 24 Z Z6 Punkte reichen… theoretisc 1 p31 p32 p33 p34 1 1
34
Recall: Pinhole camera model
( X ,Y , Z ) ( f X / Z , f Y / Z ) X f X f Y Z fY Z 1
f
X 0 Y 0 Z 1 0 1
x PX
Recall: das Kameralochmodel
f X f fY Z
x PX
f
X 0 1 Y 1 0 Z 1 1 0 1 P diag( f , f ,1)I | 0
Recall: Kamerakoordinatensystem
• Hauptachse: Gerade vom Kamerazentrum senkrecht zur Bildebene. • Bildhauptpunkt (p): Schnittpunkt Hauptachse/bildebene.
Recall:Offset vom Bildhauptpunkt
Bildhauptpunkt:
( px , p y )
• Kamerakoordinatensystem: Ursprung ist der Bildhauptpunkt • Bildkoordinatensystem: Ursprung ist der untere Ecke (Pixel (0,0))
Recall: Principal point offset
principal point:
( px , p y )
( X , Y , Z ) ( f X / Z px , f Y / Z p y ) X f X Z px f Y Z f Y Z px Z 1
px f
py 1
X 0 Y 0 Z 0 1
Recall:Principal point offset
principal point:
f X Zp x f f Y Zp x Z
f K
f
f
( px , p y )
X p x 1 0 Y py 1 0 Z 1 1 0 1
px p y calibration matrix 1
P KI | 0
Die Kamera: Zusammenfassung
X cam
R t X 0 1
x KI | 0X cam KR | t X P KR | t 41
Wie wird R und t aus dem Bild zurückgewonnen?
42
43
Kalibrierungsverfahren Interne Kalibrierung: Berechnung der Matrix K
Externe Kalibrierung: Berechnung der Pose (R und t)
Komplette Kalibrierung: Berechnung der Projektionsmatrix P
44
Ebenen
Eine 3D-Ebene ist 2-dimensional! Projektive 2D2D Transformationen sind Homographien (3x3 Matrizen)
H
H transformiert 2D Punkte: H hat 8 unabhängige Parameter 4 Punkten reichen für die Berechnung von H (vergl. DLT) 45
Ebenen
Eine 3D-Ebene ist 2-dimensional! Projektive 2D2D Transformationen sind Homographien (3x3 Matrizen)
H
x ' ~ Px 46
Beispiel: Marker Aus H kann man K sowie R und t berechnen Anwendung: quadratische Marker
H
47
Berechnung der Kamerapose I Als Kamerapose wird der Ort und die Orientierung (Blickrichtung, Ausrichtung) der Kamera im dreidimensionalen Raum bezeichnet. Berechnung der Kamerapose mit nur 4 Punktkorrespondenzen (2D 3D) Die 3D Punkte liegen auf einer Ebene Es wird angenommen, dass die Ebene die Gleichung z=0 hat Falls das nicht der Fall ist, werden die Koordinaten vor und nach dem Algorithmus transformiert 48
Berechnung der Kamerapose I Ein 3D Punkt auf der Ebene z=0 wird so definiert: Dann ist die Korrespondenz x X:
49
Berechnung der Kamerapose I
Homogene Gleichung zwischen Matrizen
Es gibt ein Skalar lambda, so dass
r1 und r2 sind Einheitsvektoren lambda kann dadurch gefunden werden
R ist orthogonal
50
Markertracker
Eingabevideo
Mustererkennung (pattern recognition)
Registrierung virtueller 3D Objekte
3D Poseberechnung
Synthese and Überlagerung mit Eingabevideo
51
Das DLT-Verfahren Komplette Kalibrierung Berechnung der 12 Kameraparameter der Matrix P Benötigt werden 2D Bildpunkte und korrespondierende 3D Punkte DLT: Direct Linear Transformation (20, 13, 6) meter (153, 212) pixel
X x Y p11 p12 y P p p22 21 Z 1 p31 p32 1
p13 p23 p33
X p14 Y p24 Z p34 1
52
2D-3D Korrespondenzen Korrespondenzen zwischen: 2D Punkt im Bild 3D Punkt in der Welt
Wie werden sie gefunden: Benutzer Eingabe Merkmale (Marker)
[Heikkilä]
[Hartley + Zisserman] 53
Das DLT-Verfahren
Korrespondenzen Kreuzprodukt Die i-te Zeile von P nennen wir Pi. Dann Wenn
, dann
54
Das DLT-Verfahren Bemerkung: Dann ergibt sich ein System von 3 Gleichungen mit den Variablen Pi
Davon sind nur 2 unabhängig:
55
Das DLT-Verfahren 1 Korrespondenz 2 Gleichungen in den Parameter Pi
n Korrespondenzen 2n Gleichungen 6 Korrespondenzen 12 Gleichungen für 12 Unbekannten Mit P und K lassen sich R und t berechnen
56
Zusammenfassung
Grundlage der projektiven Geometrie Homographie in 2D und Projektion auf 2D Bildebene 2 Methoden zu Berechnung der Kamerapose
-- Danke und bis nächste Woche --
57