470 likes | 630 Views
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
E N D
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 • Punktkorrespondenzen einsetzen, div. Tricks • Planares Target: s kann nicht geschätzt werden
Tsai (3) • Schätzung von tz,f • Mind. 1 weitere Punktkorrespondenz • Einsetzen in • 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 • Geschlossene, analytische Lösung (DLT) • Optimierung • nichtlinear, maximum likelihood • inklusive Linsenverzeichnung
Zhang (3) - Vorgangsweise • Muster ausdrucken, eben aufbringen • Einige Bilder aufnehmen Kamera / Muster bewegen • Korrespondenzen in allen Bildern Punkte im Bild – im bekannten Muster • 11 Parameter schätzen Innere, äußere Orientierung, ohne Linsenverzeichnung • 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 • 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 • Minimieren von • Nichtlineare Minimierung • Levenberg – Marquart • Benötigt Initialisierung
Zhang (7) - Linsenverzeichnung • Linsenverzeichnung in der Optimierung berücksichtigen:
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
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‘ • 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 • Lineare Lösung • 8 Punkt-Matches u’iui • u’iT F ui = 0 F • “constraint enforcement” F F’ • || F – F’ || minimieren • Rang F’ = 2 erzwingen, det F’ = 0
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
Normalisierung • Translation t, sodass Bildmittelpunkt im Ursprung (0,0,1) • Skalierung • isotrop • durchschnittliche Distanz aller Punkte zu (0,0,1) ist • „durchschnittlicher Punkt“ (1,1,1) • 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 (3) • P3P, 3 Punkte: unterbestimmt, 4 Lösungen • P4P, 4 Punkte: überbestimmt, 6 Gleichungen, 4 Unbekannte 4 x P3P, dann gemeinsame Lösung finden • Allgemein: PnP, n Punkte
PnP (4) Wenn die xigelöst sind: • p’i= xi K-1ui • 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