Document

Werbung
Specific Algorithms in
Image-Based Measurement
•
•
•
•
Camera Calibration
Fundamental Matrix Estimation
Camera Pose ( Tracking)
Structure and Motion ( Real-Time)
Orientierung, Kamerakalibrierung
• Insgesamt 11 Parameter
– 5 für innere Orientierung K
– 6 für äußere Orientierung R, t
• Evtl. zus. Par (k1,…, P1,…) für Linsenverzeichnung
• Kalibrierung
– Kalibrierobjekt (“calibration target”, flach oder 3D)
• Punktkorrespondenzen (mind. 6 Punkte)
• Lin. Gleichungssystem (überbestimmt)
– Unbekannte Szene
• Mehrere Ansichten (mind. 2)
• Punktkorrespondenzen
• Bekannte / unbekannte Kamerabewegung (“self-calibration”)
Kamerakalibrierung
• Algorithmus nach Tsai 1987
– 3D Kalibrier-Target, 1 Bild
– 2D Target, mehrere Bilder, bekannte Translation
• Algorithmus nach Zhang 1998
– 2D Target, mehrere Bilder, unbek. Bewegung
• “Self-Calibration”
– z.B. Algorithmus nach Pollefeys et al. 1999
Algorithmen Kamerakalibrierung
Tsai’s camera calibration method revisited
B.K.P. Horn 2000
A flexible new technique for camera calibration
Z. Zhang 2000
Self-calibration and metric reconstruction …
M. Pollefeys et al. 1999
Tsai (1) - Überblick
• Aufnahme eines Kalibrier-Targets
– Bekannte Geometrie
– 2D, mehrere Bilder, bekannte Translation, besser 3D
• Punktkorrespondenzen Target-Bild
• Möglichst viele Parameter schätzen
– DLT (direct linear transform)
– Linear least-squares fitting wenn mehr Punkte als nötig
– Keine constraints zwischen Parametern
• Optimierung aller Parameter
– Nonlinear optimization
• Ergebnis:
R, t, x0, y0, f, “horizontal scale” s, k1, k2
Tsai (2) - DLT
• Schätzung des Hauptpunktes (x0,y0)
x´I = xI – x0 y´I = yI – y0
• Richtung eines Bildpunktes zum Hauptpunkt
– Unabhängig von f, und von radialer Verzeichnung
xc
xI'
s
f
zc
yc
y I'

f
zc
xc
xI'
s
'
yI
yc
• Punktkorrespondenzen einsetzen, div. Tricks
 R, t x , t y , s
• Planares Target: s kann nicht geschätzt werden
Tsai (3)
• Schätzung von tz,f
– Mind. 1 weitere Punktkorrespondenz
– Einsetzen in
xI'
 ...
f
yI'
 ...
f
• Nichtlineare Optimierung aller Parameter
– Minimieren der Fehler im Bild:
Bildpunkte – Projektion der Target-Punkte
– Levenberg-Marquardt
Zhang (1) - Überblick
•
•
•
•
Ebenes Kalibrier-Muster
Mehrere Bilder ( 2), beliebige Bewegung
Radiale Linsenverzerrung k1, k2
Vorteile:
+ Einfaches, billiges Target
+ Einfach durchzuführen
+ Flexibel
+ “Desktop 3D”, “Desktop vision system DVS”
• Ergebnis:
R, t, , , , u0, v0, k1, k2
Zhang (2) - Algorithmus
1. Geschlossene, analytische Lösung (DLT)
2. Optimierung
-
nichtlinear, maximum likelihood
inklusive Linsenverzeichnung
Zhang (3) - Vorgangsweise
1. Muster ausdrucken, eben aufbringen
2. Einige Bilder aufnehmen
Kamera / Muster bewegen
3. Korrespondenzen in allen Bildern
Punkte im Bild – im bekannten Muster
4. 11 Parameter schätzen
Innere, äußere Orientierung, ohne Linsenverzeichnung
5. Optimierung aller 13 Parameter
inklusive radiale Verzeichnung k1, k2
Achtung: geht nicht bei reiner Translation !!
(parallele Muster-Ebenen)
Zhang (4) - Homographie
• Projektive Abbildung (“Homography”)
Musterebene  Bildebene
   u0 
~


~
sm  HM
A   0  v0 
0 0 1 
o.B.d.A. : Z  0


 H  Ar1 r2 t  3x3, 8DoF
– 1 Bild:
• 6 Parameter Ä.O.: R, t
• 2 constraints I.O.  2 Parameter, z.B. , 
– 2 Bilder: “skewless constraint” = 0
–  3 Bilder: , , , u0, v0, k1, k2
Zhang (5) – Schätzen von H
sm = HM gilt nicht genau
(Rauschen in den extrahierten Punkten)
 max. likelihood estimation
H
 v0, (), , , , u0  A
 R, t
Nach dieser algebraischen Lösung genügt R
nicht den Eigenschaften einer Rot.Matrix
Aber: Schätzwert für nachfolgende Optimierung
Zhang (6) - Optimierung
• R parametrisieren
n
• Minimieren von
m
 || p
i 1 j 1
ij
^
 p ( A, Ri , ti , Pj ) ||
^
n Bilder, m Punkte im Muster, p ... Projektion des Punktes Pj
• Nichtlineare Minimierung
 Levenberg – Marquart
• Benötigt Initialisierung
Zhang (7) - Linsenverzeichnung
• Linsenverzeichnung in der Optimierung
berücksichtigen:
n
m
 || p
i 1 j 1
ij
^
 p( A, k1 , k 2 , Ri , ti , Pj ) ||
n Bilder, m Punkte im Muster,
^
p ... Projektion des Punktes Pj , gefolgt vo n Verzerrung (k1 , k 2 )
Verständnis von [Zhang 2000]
• Paper (wiss. Publikation)
• Viel Vorwissen nötig
• Verweis auf TR für Details
Wie gut ist die Kalibrierung ?
• Vergleich (A, B, A+B)
• Tabelle
–  … Geschätzte Standardabweichung,
Unsicherheit des “final result”
– RMS … Distanzen in Pixel zwischen
detektierten Punkten und projizierten Punkten
• Was bedeutet ein RMS von 0.3 pixel ?
– Abhängig von der Anwendung !!
A
B
  arc cot 
Vergleich mit [Heikkilä 2000]
Geometric camera calibration using circular control points
J. Heikkilä, IEEE T-PAMI, Vol.22, No.10, 1066-1077
• Kreise sind besser als Ecken
• Genauigkeit 1/50 Pixel
• 3D Target mit Punktpositionen genauer als
2 m !!
• Auch tangentiale Verzeichnung (P1,P2)
• Besser als Zhang
Pollefeys - Überblick
•
•
•
•
•
Metrische Rekonstruktion (Euklid.+Skalierung)
Zoom + Autofokus
Skew = 0, (aspect ratio = 1 or known)
Beliebige, unbekannte Trajektorie
Beliebige, unbekannte Szene
– “use the absolute conic  as a virtual calibration pattern
which is always present in the scene” !!
• Linearer Algorithmus für u0,v0 im Zentrum
• Nichtlineare Optimierung für u0,v0
• Es gibt kritische Trajektorien !
Fundamental Matrix F
• “general stereo rig”
– Beliebige Hauptachsen
– Unterschiedliche Kameras, unbekannte
Kalibrierung K, K‘
uT ( K 1 )T S (t) R 1 ( K ' ) 1 u'  0
F  ( K 1 )T S (t ) R 1 ( K ' ) 1
u Fu'  0
T
• Rang 2, F e’ = 0, eT F = 0
Schätzen von F
•
•
•
•
7 Freiheitsgrade
Punktkorrespondenzen
7 Punkte [Faugeras 1992] – unstabil !
8-Punkt Algorithmus [Hartley 1995]
– Stabil
– Normalisierung nötig !
• Probleme:
– Falsche Korrespondenzen
– Ungünstige Konfigurationen !
8-Point Algorithmus
In defense of the 8-point algorithm
R. Hartley, 1997
• [Longuet-Higgins 1981]
8 Punktkorrespondenzen  Essential Matrix E
• ebenso geeignet für F
• unstabiles Verhalten durch geeignete Normierung
(Translation + Skalierung) entschärfen
 “normalized 8-point algorithm” [Hartley 1997]
• Lineare Lösung f.d. Schätzung von F
8-Point Überblick
1) Lineare Lösung
-
8 Punkt-Matches u’i ui
u’iT F ui = 0  F
2) “constraint enforcement” F  F’
-
|| F – F’ || minimieren
Rang F’ = 2 erzwingen, det F’ = 0
Lineare Lösung (1)
u'T Fu  0
u1T  (u1 , v1 ,1)
u'1T  (u'1 , v'1 ,1)
u1u '1 F11  u1v'1 F21  u1 F31  ...  F33  0
f  ( F11, F21, F31, F31,..., F33 )
 u1u '1 ...

.
 .
 .
.

 .
 u u ' ...
 8 8
v'1 1  F11 
 
.  . 
.  .   0
 
. .  . 



v'8 1  F33 
Af  0
A ... 8  9, Rang 8
Lineare Lösung (2)
• F … 3 x 3, Rang 2,
8 Parameter (aber nur 7 Freiheitsgrade)
• 2 Möglichkeiten
– || f || = 1
– F33 = 1
Perfekte Daten
Ungenaue Daten
Lineare Lösung (3)
Ungenaue Daten
• A hat Rang 9, einzige Lösung f = 0
 Suche f, sodass ||Af|| min.
unter der Bedingung dass ||f|| = 1
 Jacobi / SVD
• f als Einheits-Eigenvektor zum
kleinsten Eigenwert von ATA
Lineare Lösung (4)
Ungenaue Daten
• F hat Rang 3
 wie oben für A: SVD, sodass
F’ mit || F – F’ || min.
unter der Bedingung dass det F’ = 0
Normalized 8-Point
• [Hartley, section 3]: 8-Point ist nicht immun
gegen Koordinaten-Translation / -Skalierung
 Normalisierung nötig !
• ATA ist inhomogen in Bildkoordinaten
z.B. : u T  u 'T  (100,100,1)
 Zeile in A : (10 4 ,10 4 ,10 2 ,10 4 ,10 4 ,10 2 ,10 2 ,10 2 ,1)
T
8
8
4
8
8
4
4
4
Diagonale in A A : (10 ,10 ,10 ,10 ,10 ,10 ,10 ,10 ,1)
Normalisierung
1) Translation t, sodass Bildmittelpunkt im
Ursprung (0,0,1)
2) Skalierung
a) isotrop
•
•
durchschnittliche Distanz aller Punkte zu (0,0,1) ist 2
„durchschnittlicher Punkt“ (1,1,1)
b) anisotrop “two principal moments = 1”
– Experimentelle Verifikation: gleich gut
8-Point - Zusammenfassung
• 8-Point unbrauchbar
• Normalized 8-Point ähnlich genau wie
andere (iterative) Verfahren
• ~20x schneller als iterative Verfahren
• Einfacher zu implementieren
Camera Pose Estimation
• Pose estimation ~ Schätzung der Ä.O. bei
bekannter / unbekannter Szene  finde R, t
• “inside-out” tracking ~ camera pose in real-time
• Lineare Algorithmen [Quan, Lan, 1999]
• Iterative Algorithmen [Lu et al., 2000]
• Punkt-basierte Methoden
– Keine Geometrie, nur 3D Punkte
• Modellbasierte Methoden
– Objekt-Modell, z.B. CAD
PnP – Perspective n-Point Problem
• Kalibrierte Kamera K, C = (KKT)-1
• n Punktkorrespondenzen Szene  Bild
• Bekannte Szenenkoordinaten der
Punkte pi, Distanzen dij = || pi – pj ||
• Jedes Paar von Punkten gibt einen
Winkel , der in der kalibr. Kamera aus
dem Bild gemessen werden kann
 constraint für die Entfernung ||c – pi||
PnP (2)
gesucht :
xi  p i  c ,
constraint :
d ij2  xi2  x 2j  2 xi x j cos  ij
xj  p j c
f ij ( xi , x j )  xi2  x 2j  2 xi x j cos  ij  d ij2  0
kalibriert e Kamera :
cos  ij 
uTi Cu j
uTi Cu i uTj Cu j
PnP (3)
• P3P, 3 Punkte:
unterbestimmt, 4 Lösungen
f12 ( x1 , x2 )  0
f13 ( x1 , x3 )  0
f 23 ( x2 , x3 )  0
• P4P, 4 Punkte:
überbestimmt, 6 Gleichungen, 4 Unbekannte
1,2,3
1,2,4
1,3,4
2,3,4
4 x P3P, dann gemeinsame
Lösung finden
• Allgemein: PnP, n Punkte
PnP (4)
Wenn die xi gelöst sind:
1) p’i = xi K-1 ui
2) Finde “homography” R, t für p’i  pi
Real-Time (1)
Messen von
– Pose
– 3D Position
– abgeleiteten Größen
– mehreren Trajektorien
–…
in Echtzeit
„Echt“-Zeit ist problemspezifisch,
zB Videorate 30Hz
Real-Time (2)
kann erreicht werden durch:
– sehr einfache Probleme
– schnelle (einfache, lineare, direkte) Algorithmen
– Kleine Bildausschnitte ( CMOS)
– Spezialhardware
–…
Anwendungsbeispiel: Real-Time Tracking
Online Structure + Motion
Herunterladen