Foliensatz 10 zur Vorlesung
Foliensatz 10 zur Vorlesung
Foliensatz 10 zur Vorlesung
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Epipolargleichung<br />
t v R<br />
A 1, 2<br />
m v 1,2<br />
Translation (3-D Vektor)<br />
Rotation (3x3-Matrix)<br />
intrinsische Kameraparameter<br />
(3x3-Matrix)<br />
2-D Bildpunkte in 3-D<br />
homogenen Koordinaten<br />
Epipolargleichung:<br />
v T −T<br />
−1<br />
v<br />
m<br />
2<br />
A2<br />
[ t]<br />
R A1<br />
m1<br />
=<br />
Fundamentalmatrix (3x3-Matrix)<br />
• beschreibt Epipolargeometrie vollständig<br />
×<br />
Fundamentalmatrix F<br />
• 9 Elemente, bis auf Skalierungsfaktor definiert ⇒ 8 Freiheitsgrade<br />
• Berechnung z.B. mit 8 Punktkorrespondenzen<br />
0<br />
Essentialmatrix E<br />
[ t]<br />
x<br />
⎡ 0<br />
⎢<br />
= ⎢ tz<br />
⎢<br />
⎣−<br />
t<br />
y<br />
⎡f<br />
⋅s<br />
A=<br />
⎢<br />
⎢<br />
0<br />
⎢⎣<br />
0<br />
x<br />
− t<br />
0<br />
t<br />
x<br />
z<br />
0<br />
f ⋅s<br />
0<br />
t<br />
y<br />
− t<br />
y<br />
0<br />
x<br />
⎤<br />
⎥ ⎥⎥ ⎦<br />
cx<br />
⎤<br />
c<br />
⎥<br />
y⎥<br />
1⎥⎦<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 1<br />
Berechnung der Fundamentalmatrix per 8-Punkt-Algorithmus 1<br />
• Epipolargleichung ausmultiplizieren :<br />
x<br />
v<br />
2<br />
x1F<br />
11<br />
+ x2<br />
y1F<br />
12<br />
+ x2<br />
F13<br />
+ y2<br />
x1F<br />
21<br />
+ y2<br />
y1F<br />
22<br />
+ y2<br />
F23<br />
+ xF<br />
1 31<br />
+ yF<br />
1 32<br />
+ F33<br />
=<br />
• 8 Punktkorrespondenzen: Lineares Gleichungssystem<br />
v<br />
m T<br />
2<br />
Fm1<br />
=<br />
0<br />
v<br />
( m= ( x,<br />
y,1)<br />
T<br />
)<br />
0<br />
⎛ x<br />
1<br />
2<br />
x<br />
1<br />
1<br />
⎜<br />
⎜ M<br />
⎜ 8<br />
⎝ x2<br />
x<br />
v<br />
F =<br />
8<br />
1<br />
x<br />
x<br />
1<br />
2<br />
M<br />
8<br />
2<br />
y<br />
y<br />
1<br />
1<br />
8<br />
1<br />
x<br />
1<br />
2<br />
M<br />
x<br />
8<br />
2<br />
y<br />
y<br />
1<br />
2<br />
M<br />
8<br />
2<br />
x<br />
x<br />
1<br />
1<br />
8<br />
1<br />
( F F F F F F F F )<br />
11 12 13 21 22 23 31 32<br />
F33<br />
y<br />
y<br />
1<br />
2<br />
M<br />
8<br />
2<br />
y<br />
y<br />
1<br />
1<br />
8<br />
1<br />
y<br />
y<br />
1<br />
2<br />
M<br />
8<br />
2<br />
x<br />
x<br />
1<br />
1<br />
M<br />
8<br />
1<br />
y<br />
y<br />
1<br />
1<br />
M<br />
8<br />
1<br />
1⎞<br />
⎟ v<br />
M ⎟ ⋅ F<br />
1<br />
⎟<br />
⎠<br />
=<br />
M<br />
v<br />
⋅ F<br />
=<br />
0<br />
• Lösung z.B. mit Singulärwertzerlegung<br />
Alternativ: Berechnung von E direkt über 5-Punkt-Algorithmus 2<br />
1<br />
Longuet-Higgins: „A Computer Algorithm for Reconstructing a Scene from Two Projections”, 1981<br />
2<br />
Stewenius: „Recent Developments on Direct Relative Orientation“, 2006<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 2
Verwendung von RANSAC <strong>zur</strong> Behandlung falscher Korrespondenzen<br />
Finde Punktkorrespondenzen;<br />
// z.B. 500 Korrespondenzen<br />
for (i=0; i best_Anzahl_Inlier) {<br />
best_F = F;<br />
best_Anzahl_Inlier = Anzahl_Inlier;<br />
}<br />
}<br />
// Bewegungsschätzung der Kamera:<br />
T<br />
Berechne Essentialmatrix: E = [ t]<br />
;<br />
×<br />
R = A2<br />
FA1<br />
Extrahiere R und t aus E;<br />
// Rekonstruiere 3D-Szene durch Triangulation der Inlier...<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 3<br />
Experimentelles Ergebnis<br />
Middlebury Vision - dataset (Scharstein; Szeliski)<br />
http://vision.middlebury.edu/mview/data<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 4
Structure and Motion / Structure from Motion<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 5<br />
Tracking eines Roboters per Deckenkamera<br />
Schematischer Ablauf des Kalman-Filters anhand eines Beispiels<br />
ˆx k−1<br />
A, B<br />
(Drift)<br />
y<br />
y<br />
ˆx k<br />
x<br />
alte Schätzung des<br />
Roboterstatus<br />
x<br />
Statusprädiktion<br />
nächste<br />
Iteration<br />
H<br />
y<br />
x<br />
neue Schätzung des<br />
Roboterstatus<br />
x^<br />
k<br />
(Korrektur auf Basis von<br />
Messung und Rauschmodell)<br />
K,Q,R<br />
β<br />
α<br />
y k<br />
y^<br />
k<br />
Messprädiktion &<br />
aktuelle Messung<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 6
Aufbau des Kalman-Filters<br />
Steuerung<br />
u k<br />
Messungen<br />
y k<br />
+<br />
Schätzung des<br />
Prozessstatus<br />
^<br />
x k-1<br />
^-<br />
x k<br />
Statusprädiktion<br />
Messungsprädiktion<br />
y^<br />
k<br />
-<br />
∗<br />
+<br />
+<br />
^<br />
x k<br />
Schätzung des<br />
Prozessstatus<br />
K k<br />
Kovarianz<br />
P k-1<br />
Kovarianzkorrektur<br />
Kovarianzprädiktion<br />
-<br />
P k<br />
P k<br />
Kovarianz<br />
Prädiktion<br />
Korrektur<br />
Q k<br />
Prozessrauschen<br />
R k<br />
Messrauschen<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 7<br />
Unterschied von Kalman- und Partikelfilter<br />
Kalmanfilter : Gaußverteilung<br />
p(x)<br />
Wahrscheinlichkeitsdichte<br />
x<br />
Partikelfilter: Beliebige Verteilung<br />
p(x)<br />
Wahrscheinlichkeitsdichte<br />
x<br />
x<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 8
Tracking per Partikelfilter<br />
S k-1<br />
W k-1<br />
Neuverteilung<br />
(Resampling)<br />
-<br />
y<br />
y<br />
S k-1<br />
x<br />
Wahrscheinlichkeitsdichte<br />
(gewichtete Partikel)<br />
x<br />
Korrektur:<br />
Gewichtung auf Basis<br />
der Messung<br />
Prädiktion:<br />
Drift<br />
S k<br />
y<br />
y<br />
x<br />
Prädiktion: Diffusion<br />
(+ Rauschen)<br />
x<br />
verschobene<br />
Partikel<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 9<br />
Aufbau des Partikelfilters<br />
Steuerung<br />
Messungen<br />
u k<br />
y k<br />
Gewichte<br />
Partikel<br />
W k-1<br />
S k-1<br />
Messungsprädiktion<br />
Neuverteilung<br />
-<br />
S k-1<br />
S k<br />
Statusprädiktion<br />
Y<br />
^<br />
k<br />
Berechnung<br />
der Gewichte<br />
W k<br />
S k<br />
Gewichte<br />
Partikel<br />
Selektion<br />
Prädiktion<br />
Korrektur<br />
Best Cluster<br />
^<br />
x k<br />
Schätzung des<br />
Prozessstatus<br />
Q k<br />
Prozessrauschen<br />
R k<br />
Messrauschen<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs <strong>10</strong>
Bsp: Partikelfilter <strong>zur</strong> Lokalisation eines Roboters<br />
Fox, Burgard, Dellaert, Thrun<br />
www.cs.washington.edu/ai/Mobile_Robotics/index.html<br />
Dreidimensionales Computersehen Dr.-Ing. Simon Winkelbach www.rob.cs.tu-bs.de/teaching/courses/cs 11