Stereokalibrierung

Kurzbeschreibung

Bei der Stereokalibrierung werden die inneren Kameraparameter für das Stereokamerapaar sowie die geometrische Lage zwischen den beiden Kameras berechnet. Dafür sind die Ist- und Sollpunkte eines Kalibriernormals notwendig. Operator kann planare Kalibriernormalen verarbeiten und ist insbesondere für die Daten, die von dem Schmachmuster-Eckendetektor berechnet werden, geeignet

Ein- / Ausgänge

AnschlussBezeichnungFunktion
Eingang 1TargetPoints1Soll- / Ist-Kalibrierpunkte (linke Kamera)
Eingang 1TargetPoints2Soll- / Ist-Kalibrierpunkte (rechte Kamera)
Ausgang 1CamParam1Kameraparameter (linke Kamera)
Ausgang 2CamParam2Kameraparameter (rechte Kamera)
Ausgang 3F MatrixFundamentalmatrix

Am Eingang 1 und 2 sind Kalibrierpunkte in folgendem NVListen-Format erforderlich:


Die NVListe am Ausgang CamParam1 und CamParam2 enthält:

- innere Kameraparameter:

- die Pose der rechten Kamera zu den linken bestehend aus:

Am Ausgang 3 wird Fundamentalmatrix F ausgegeben. Die stellt die folgende Beziehung zwischen den korespondierendem Punkten im linken und im rechten Bild:

Für ein Punkt pl im linken Bild wird die dazugehörige Epipolarlinie lr im rechten Bild wie folgt berechnet:

analog gilt für die Epipolarlinie im linken Bild:

Einstellungen

Operator-Modus

Beim Ausführen des Operators:

Kameraposen hinzunehmen: Soll- und Ist-Punkte für jede Pose des Kalibriernormals werden akkumuliert

Stereokalibrierung ausführen: Aus gespeicherten Kalibrierdaten wird Stereokalibrierung durchgeführt


Wenn keiner der Wahlmöglichkeiten gesetzt wird, werden zuletzt berechnete Kameraparameter ausgegeben.

Übliche Vorangehensweise bei der Kalibrierung ist die Aufnahme der Kalibrierdaten für verschiedene Posen des Kalibriernormals, Berechnung der inneren Kameraparameter der einzeln Kameras und anschließend die Stereokalibrierung.

Kalibrierdatensatz

Bei der Aufnahme der Ist-/Sollpunkte für ein Targetpaar in den Datensatz wird geprüft ob die Daten für die linke und rechte Kamera kompatibel sind – der Ursprung der gegebenen Punkte muss von dasselben Kalibriertarget stammen. In einer Serie können verschiedene Arten der Kalibriernormalen aufkommen; wichtig ist es nur, dass diese paarweise in der richtigen Reihenfolge geordnet sind. Die Anzahl der gespeicherten Posen gibt die Anzahl der gespeicherten Kalibriernormalpaare an.


Die Beschreibung der Buttons:

Fehleranalyse

Hier sind Reprojektionsfehler für alle aufgenommenen Targetposen dargestellt. Reprojetionsfehler ist die Differenz von Ist-Bildpunkten und der in die Bildkoordinaten transformierten Sollpunkten.


max: maximaler Fehler in der x- bzw. y-Koordinate unter allen Kalibrierpunkten in einer Targetpose


sse (Sum of Squared Error): Summe der Fehlerquadrate stehlt die folgende Gleichung dar:

was der Summe der euklidischen Distanzen zu Quadrat zwischen den Ist- und den reprojizierten Sollpunkten entspricht. N ist die Anzahl der Punkte in einem Kalibriernormal.


rms (Root Mean Square):

Die Listen zu entsprechenden Spalten werden beim Kalibrierung der linken Kamera, rechten Kamera und Stereokalibrierung gefüllt.


Epipolarfehler ist euklidischer Abstand des verzeichnungsfreien Ist-Bildpunktes von der dazugehörigen Epipolarlinie. Der Durchschnittsfehler für einen Punkt setzt sich zusammen aus der Summe der Epipolarfehler für die beiden Aufnahmen des Kalibriernormals dividiert durch 2 * N. N ist die Anzahl der Punkte in einem Kalibriernormal.

Iterativer Kalibrierungsalgorithmus

Der Algorithmus bricht ab wenn die Summe der Fehlerquadrate für alle Targetposen (SSE(N)) in zwei aufeinanderfolgenden Iterationschritten sich um weniger als Epsilon verändert oder die Anzahl der Iterationen wird überschritten.

Reitern: Kamera links / Kamera rechts

Hier können die intrinsischen Kameraparameter eingegeben oder durch die Kalibrierung berechnet werden. Bei der Stereokalibrierung ist es vom Vorteil wenn die intrinsische Parameter der beiden Kameras vorab bestimmt werden: So ist der Parameterraum deutlich kleiner und die Stereokalibrierung genauer. Innere Kameraparameter erfassen:


Hauptpunkt (Hx, Hy) – Abweichung des Zentrums des Bildes vom optischen Zentrum


Fokale Länge fx, fy – Definiert die Abbildung eines Punktes (X,Y,Z) in Kamerakoordinaten auf die Bildebene (x,y)

Die Einheit für fx und fy ist Pixel. Die physikalischen Brennweite ergibt sich aus dem Produkt des fx und der effektiven Pixelausdehnung in x-Richtung: F = fx x dpx. Analog in der y-Richtung. Pixelseitenverhältnis (Aspect-Ratio) ist demzufolge gleich dem Quotient fx/fy.


Koeffiziente der radialen Verzerrung k1, k2, k3 – Stellen die radiale geometrische Linsenverzerrung dar:

Indizes u und v stehen für unverzerrt bzw. verzerrt. Radius r ergibt sich aus:


Koeffiziente der tangentialen Verzerrung – Die tangentiale Verzerrung ist eine Deformation, die senkrecht zum radial verzerrten Punkt verläuft und aufgrund von dezentrierten Linsen auftritt. Tangentiale Verzerrung entsteht auch, wenn die Linse nicht parallel zu der Bildebene steht. Im Vergleich zur radialen ist der Einfluss der tangentialen Verzerrung oft vernachlässigbar.


Bild: Radiale (links) und tangentiale (rechts) Verzerrung.

Reiter: Stereo

Hier sind die inneren Parameter der linken und der rechten Kamera dargestellt. Die Werte sind übernommen aus dem Reitern für die linke/rechte Kamera und werden durch Stereokalibrierung überschrieben.

Ist das Kontrollkästchen „Innere Kameraparameter verwenden und fixieren“ gesetzt werden nur die äußeren Parameter bestimmt.

Ausführliche Beschreibung

Bei der Stereokalibrierung wird die Rotationsmatrix R und der Translationsvektor T, die geometrische Lage der beiden Kameras beschreiben, gesucht. Dies geschieht in zwei Stuffen: 1. Beide Kameras werden einzeln kalibriert. 2. Aus der äußeren Kameraparameter für jede Kalibriernormalpose werden die gesuchten R und T berechnet.


1.) Kamerakalibrierung

Das Kameramodell umfasst 9 innere und 6 äußere Kameraparameter. Diese werden aus der Ist- und Sollpunkten eines Kalibriernormals bestimmt. Die Beziehung zwischen dem Punkt P auf der Target in Weltkoordinaten und dem Punkt p im Kamerabild stellt folgende Gleichung dar:

Ein Punkt P wird zuerst durch Rotation R und Translation t in die Koordinaten des Projektionszentrums der Kamera transformiert und anschließend auf die Bildebene projiziert. Die Projektion auf die Bildebene wird durch Kameramatrix M bestimmt. Die Bezeichnung [R t] steht für die Rotation und Translation zusammegefasste 3x4 Matrix und besteht aus neun Einträgen für Rotation und drei Komponenten des Vektors t. Punkt P enthält in dieser verkürzten Schreibweise noch eine eins als vierte Komponente: P=[X Y Z 1]T. Die Gleichung [R t]P ist somit äquivalent der Gleichung RP+t und stellt die Transformation des Punktes P in der Kamerakoordinaten dar. Die Abbildung p des Punktes P in homogenen Koordinaten

Eingesetzt in die obige Gleichung lautet dann:

O.B.d.A. kann man die Objektebene auf die Koordinate Z=0 setzen. Die Rotationsmatrix wird mit 3 Spaltenvektoren [r1 r2 r3] dargestellt. Demzufolge vereinfacht sich die Gleichung bzw. die Matrix [R t] auf

Kurz geschrieben:

Hier ist H eine 3x3 homographische Matrix; Sie bildet die Punkte des planaren Objektes auf die Bildebene ab.

Um Matrix H zu bestimmen, wird die letzte Gleichung in ein homogenes Gleichungssystem umgeformt und über die QR-Zerlegung gelöst. Die gewonnenen Werte sind als Anfangsparameter des gesamten Kameramodells (inklusive radiale und tangentiale Verzerrung) eingesetzt. Hinzu kommt noch der Hauptpunkt, der mit dem Zentrum des Bildes approximiert wird, und die Koeffizienten der Linsenverzerrung – anfangs auf Null gesetzt.

Danach kommt die nichtlineare Optimierung zum Einsatz. Hier werden die Bildfehler, d.h. die Differenz zwischen beobachteten Bild-Testpunkten und nach dem Modell transformierten Punkten, minimiert. Jetzt werden intrinsische und extrinsische Parameter iterativ nach der modifizierten Methode von Levenberg-Marquardt berechnet. Dieses kombiniert das Gauß-Newton-Verfahren mit einer Gradientenabstiegmethode, die absteigende Funktionswerte erzwingt.


2.) Stereokalibrierung

In der ersten Stufe wurden extrinsische Kameraparameter für jede Targetpose bestimmt. Diese können jetzt für die Berechnung der Pose der rechten Kamera in Bezug zu den linken verwendet werden. Ein 3D-Punkt P auf der Target lautet in Kamerakoordinaten der linken Kamera

bzw.

für die rechte Kamera. Hier stellen die Rotationsmatrizen Rl, Rr und Translationsvektoren tl, tr die geometrische Beziehung zwischen der Welt- und Bildkoordinaten dar, wie schon in Schritt 1.) beschrieben.

Die Beziehung zwischen den beiden korrespondierenden Punkten Pl und Pr wird in der Gleichung

dargestellt. Die Lösung für die gesuchten R und T lautet:

Für jedes Kalibriernormalpaar wird die Matrix R, bzw. der zu der Matrix äquivalenter Rotationsvektor, und der Vektor T berechnet. Der Median unter allen aufgenommenen Targetposen wird als Anfangswert für die Optimierung genommen. In den iterativem Levenberg-Marquardt-Algorithmus werden die Fehler bei der Projektion der Ist-Punkte eines Kalibriernormals für das Stereokamerapaar minimiert und optimales R und T zurückgegeben.