augmented reality 3d wahrnehmung + perspektivische … · punkt (im gegensatz zu der euklidischen...
Post on 20-Aug-2019
216 Views
Preview:
TRANSCRIPT
Augmented Reality-
3D Wahrnehmung + perspektivische Abbildungen
Intelligente Mensch-Maschine-Interaktion - IMMISS 2011
Prof. Didier StrickerDidier.Stricker@dfki.de
Die Vorlesung am
07.06
findet im Raum Zuse am DFKI statt
2
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
Übersicht
3
Das Auge bildet eine projektive Abbildung von R3 nach R2 ab.
Das Auge
4
Wie entsteht ein perspektivisches Bild?
5
???
Renaissance (XVI)
6
Dürer
Projektive Bilder: Skalierung
7
Projektive Bilder: Verkürzung
8
9
Fluchtpunkte
image plane
line on ground plane
vanishing point v
Fluchtpunkt• Abbildung eines Punktes “am Unendlich”
cameracenter
C
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
12
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
3D Illusionen
13
Julian Beever
Projektive Geometrie-Homogene Koordinaten-Lineare Abbildung im projektiven Raum-Projektionsmatrix (Kamera)
14
x
X?X?
X?
15
16
(0,0,0)
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
(sx,sy,s)
• 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)
image plane
(x,y,1)y
xz
Einfach eine Dimension mehr…
Homogene Koordinaten
17
nKoordinatehomogene
nKoordinateekartesisch
),,(),( yxyx
nKoordinateekartesisch
3
2
3
1
nKoordinatehomogene
321 ),(),,(CC
CCCCC
Homogenisierung
Für Punkte des projektiven Raumes sind nicht die Koordinaten selbst, sondern nur ihre Verhältnisse maßgebend
x = x/1y = y/1
homogeneKoordinaten in P2
(x,y,0) = (x/0,y/0,0) = (∞,∞,0)
Unendlich entfernePunkte
Koordinaten im Eukl. R2
(x,y) ~ (x,y,1) ~ (kx,ky,k) k ≠ 0 i.e. Positionen
i.e. Richtungen
2D projektive Geometrie
Zeichen „∼“ bedeutet: Gleichheit bis auf einen Skalenfaktor
18
Euklidische / affine Abbildung im Euklidischen Raum: Unendlich entfernte Punkte bleiben in der Unendlichkeit
≠
2D projektive Geometrie
19
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
20
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
zyx
cba0 :notationvectorin
• Eine Linie ist auch als ein homogener 3-dimensionaler Vektor ll p
Be
21
2D projektive Geometrie
Eukl. Raum: Linie l : ax + by + c = 0 Linie wird durch den Vektor (a,b,c)T dargestellt
Der Punkt x ist dann auf der Linie l wenn
ax + by + c = (x,y,1)(a,b,c)T = xTl = 0
Proj. Raum: Linien und Punkte werden durch homogene Vektoren dargestellt
(a,b,c)T ~ k(a,b,c)T
(x,y,1)T ~ k(x,y,1)Tk ≠ 0
Beschreibt die gleiche Gerade
22
2D projektive Geometrie
Der Punkt x ist dann auf der Linie l wennax + 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‘), ist parallel zu g. Zwei ”parallele“ Geraden schneiden sich immer in einem unendlich fernen Punkt (im Gegensatz zu der Euklidischen Geometrie).
',0' cc
Gerade g (a,b,c) In Richtung des unendlich fernen Punktes (-a,b,0)
In Richtung des unendlich fernen Punktes (-a,b,0) = (a,-b,0)
Eukl. Punkt
Eukl. Linie
Projektiver Raum P2:
Zusammenfassung
Tyxyx
p 000
0 ,
0 cbyax
1 0 0
1yx
xcba
lxlyx
cba
23
24
Homographien
“projektive Abbildung” = “collineation” = “projectivity” = “Homographie” HInvertierbare Abbildung Pn →Pn
„geradentreue“ Abbildung(n+1) x (n+1) MatrixIn P2 :
H hat (n+1)2-1 Freiheitsgraden: für P2 : 9 Elemente, davon nur 8 unabhängigH ist bis auf einen Skalierungsfaktor definiert.
3
2
1
333231
232221
131211
3
2
1
'''
'xxx
hhhhhhhhh
xxxx
x H
24
Homographien: Beispiele (euklidische Transf.)
• Translation
• Rotation
• Skalierung
• Alle Kombination, z.B.
xxtt
x
x TT
'
1001001
xx RR
'
1000cossin0sincos
xxss
y
x SS
'
1000000
xxx MSRTSRTM ' 25
Die Hierarchie der Transformationen / Geometrien
1002221
1211
y
x
taataa
1002221
1211
y
x
tsrsrtsrsr
333231
232221
131211
hhhhhhhhh
1002221
1211
y
x
trrtrr
Projektiv8dof
Affin6dof
Similarity4dof
Euklidisch3dof
2D: ein Quadrat transformiert zu:
26
vTvtAProjektiv
15dof
Affin12 dof
Similarity7dof
Euklidisch6dof
10tA
T
10tR
T
s
10tR
T
3D: ein Würfel transformiert zu:
Die Hierarchie der Transformationen / Geometrien
27
iiii xxxx H '' :
0 0 ' ii xxxx H Ausgangsgleichung:
Punktkorrespondenzen:
9
1
3
2
1
3
2
1
987
654
321
987
654
321
'
'
'
' ,,,h
h
hhh
hhhh
hhhhhhhhh
hhhhhhhhh
wyx
xwyx
xT
T
T
i
i
i
i
i
i
i
i
H
iT
iiT
i
iT
iiT
i
iT
iiT
i
ii
xhyxhxxhxxhwxhwxhy
xx
1'2'
3'1'
2'3'
' H 00
00
:3
2
1
''
''
''
hhh
xxxyxxxw
xyxwhxxh
TTii
Tii
Tii
TTii
Tii
Tii
T
jTii
jT
Algebraisches Umformulieren:
Bestimmung der Homographie
Bestimmung der Homographie
00
00
3
2
1
''
''
''
hhh
xxxyxxxw
xyxw
TTii
Tii
Tii
TTii
Tii
Tii
T
0
hiA
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.
00
0
3
2
1
''
''
hhh
xxxwxyxw
Tii
TTii
Tii
Tii
T 0
hiAAi ist eine 2 x 9 Matrix, h ist ein 9-Vektor
00
000000
:0
9
1
'11
'11
'11
'11
'11
'11
'11
'11
'11
'11
'11
'11
1
h
h
xwxyxxwwwywxywyyyxwwwywx
h
A
1 Punktkorrespondenz definiert 2 GleichungenH hat 9 Elemente, ist bis auf einen Skalierungsfaktor definiert 8 Freiheitsgrade (DoF)Mindestens 4 Punktkorrespondenz benötigt
00
000000
:0
0
0
9
1
'44
'44
'44
'44
'44
'44
'44
'44
'44
'44
'44
'44
4
3
2
h
h
xwxyxxwwwywxywyyyxwwwywx
h
h
h
A
A
A
0
4
3
2
1
hh A
AAAA
4 x 2 Gleichungen
Allgemeiner Fall:• überbestimmt• n Punktkorrespondenzen• 2n Gleichungen, A ist eine 2n x 9 Matrix
0
hA
Bestimmung der Homographie
Zurück zu Homographien: Abbildung von 2D-Ebene zu 2D-Bildebene
Mapping between planes
•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
[Hartley+Zisserman]
31
H
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
[Hartley+Zisserman] 32
Beispiel 2: 3D Illusionen
33
y’
x’
y
z
x
O
f
Bildebene
Bodenebene
H
Die zentrale Projektion
6 Punkte reichen… theoretisc
Abbildung 3D-Welt / 2D Bildebene
34
111 34333231
24232221
14131211
ZYX
pppppppppppp
ZYX
Pyx
(20, 13, 6) meter
(153, 212) pixel
)/,/(),,( ZYfZXfZYX
10100
1ZYX
ff
ZYfXf
ZYX
Recall: Pinhole camera model
PXx
1010101
1ZYX
ff
ZYfXf
PXx 0|I)1,,(diagP ff
Recall: das Kameralochmodel
Recall: Kamerakoordinatensystem
• Hauptachse: Gerade vom Kamerazentrum senkrecht zur Bildebene.
• Bildhauptpunkt (p): Schnittpunkt Hauptachse/bildebene.
Recall:Offset vom Bildhauptpunkt
• Kamerakoordinatensystem: Ursprung ist der Bildhauptpunkt• Bildkoordinatensystem: Ursprung ist der untere Ecke (Pixel
(0,0))
Bildhauptpunkt: ),( yx pp
)/,/(),,( yx pZYfpZXfZYX
10100
1ZYX
pfpf
ZpZYfpZXf
ZYX
y
x
x
x
Recall: Principal point offset
principal point: ),( yx pp
1010101
1ZYX
pfpf
ZZpYfZpXf
y
x
x
x
Recall:Principal point offset
1y
x
pfpf
K calibration matrix 0|IKP
principal point: ),( yx pp
Die Kamera: Zusammenfassung
41
XtR
Xcam
10
Xt|RKX|IKx cam 0
t|RKP
Wie wird R und t aus dem Bild
zurückgewonnen?
42
43
Interne Kalibrierung:Berechnung der Matrix K
Externe Kalibrierung:Berechnung der Pose (R und t)
Komplette Kalibrierung:Berechnung der Projektionsmatrix P
Kalibrierungsverfahren
44
45
Ebenen
Eine 3D-Ebene ist 2-dimensional!Projektive 2D2D Transformationen sind Homographien (3x3 Matrizen)
H transformiert 2D Punkte: H hat 8 unabhängige Parameter 4 Punkten reichen für die Berechnung von H (vergl. DLT)
H
46
Ebenen
Eine 3D-Ebene ist 2-dimensional!Projektive 2D2D Transformationen sind Homographien (3x3 Matrizen)
H
Pxx ~'
47
Aus H kann man K sowie R und t berechnenAnwendung: quadratische Marker
Beispiel: Marker
H
48
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 hatFalls das nicht der Fall ist, werden die Koordinaten
vor und nach dem Algorithmus transformiert
49
Berechnung der Kamerapose I
Ein 3D Punkt auf der Ebene z=0 wird so definiert:Dann ist die Korrespondenz x X:
50
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
51
Eingabevideo Mustererkennung (pattern recognition) 3D Poseberechnung
Synthese and Überlagerung mit
Eingabevideo
Registrierung virtueller 3D Objekte
Markertracker
Komplette KalibrierungBerechnung der 12 Kameraparameter der Matrix PBenötigt werden 2D Bildpunkte und korrespondierende
3D PunkteDLT: Direct Linear Transformation
Das DLT-Verfahren
52
111 34333231
24232221
14131211
ZYX
pppppppppppp
ZYX
Pyx
(20, 13, 6) meter
(153, 212) pixel
2D-3D Korrespondenzen
Korrespondenzen zwischen:2D Punkt im Bild3D Punkt in der Welt
Wie werden sie gefunden:Benutzer EingabeMerkmale (Marker)
[Hartley + Zisserman][Heikkilä]
53
54
Das DLT-Verfahren
Korrespondenzen Kreuzprodukt Die i-te Zeile von P nennen wir Pi. Dann
Wenn , dann
55
Das DLT-Verfahren
Bemerkung: Dann ergibt sich ein System von 3 Gleichungen mit den Variablen Pi
Davon sind nur 2 unabhängig:
56
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
Grundlage der projektiven Geometrie
Homographie in 2D und Projektion auf 2D Bildebene
2 Methoden zu Berechnung der Kamerapose
-- Danke und bis nächste Woche --
Zusammenfassung
57
top related