5

Ich möchte überprüfen, ob mein Verständnis der fundamentalen Matrix korrekt ist und ob es möglich ist, F zu berechnen, ohne entsprechende Punktpaare zu verwenden.Berechne fundamentale Matrix ohne Punktkorrespondenzen?

Die fundamentale Matrix als F = inv(transpose(Mr))*R*S*inv(Ml) berechnet wird, wo Mr und ML die rechte und linke intrinsische Kamera Matrizen sind, R ist die Rotationsmatrix, die die rechten Koordinatensystem in dem linken bringt, und S die schiefsymmetrisch Matrix

S = 0 -T[3] T[2] where T is the translation vector of the right coordinate system 
    T[3]  0 -T[1] from the left. 
    -T[2] T[1]  0 

Ich verstehe, dass die Grundmatrix mit dem 8-Punkt-Algorithmus berechnet werden kann, aber ich habe keine Punktkorrespondenzen. Da beide Kameras kalibriert sind, habe ich alle intrinsischen und extrinsischen Parameter. Aus der Definition der obigen Fundamentalmatrix ist es möglich, F mit diesen Parametern allein zu berechnen, richtig?

(Das Problem, das ich ist erfahren, dass die fundamentale Matrix scheint falsch, wenn sie von ihrer Definition berechnet. Im Moment würde Ich mag nur wissen, ob mein Verständnis oben richtig ist.)

+2

Wenn Sie Ihre Kameras kalibriert haben und die extrinsischen und intrinsischen Parameter haben, dann brauchen Sie ja die Punktkorrespondenzen nicht. Die Punktkorrespondenzen werden verwendet, wenn ** Sie die Parameter der Kamera nicht kennen (a.k.a unkalibriert) und wollen die Grundmatrix nur aus den Punktkorrespondenzen bestimmen. Wie kalibrierst du die Kameras? Gibt es Code, den Sie uns zeigen können? – rayryeng

+0

@Booley Hallo Ich habe eine Frage bezüglich der Skew-Matrix, die Sie oben in der F-Matrix-Formel erwähnt haben. Wenn meine zwei Kameras die folgenden extrinsischen Parameter haben: {1,0,0,15 | 0,1,0,0 | 0, 0, 1, 0} und {1,0,0,25 | 0,1,0,0 | 0, 0, 1, 0} würde der Versatz zwischen ihnen sein:? {0, 0, 0 | 0, 0, -10 | 0, 10, 0} versuchen, auch die Fundamentalmatrix zu berechnen, um zu versuchen, den entsprechenden x 'Punkt für x zu finden, wobei F wie oben angegeben verwendet wird. –

Antwort

0

Wenn Sie die Rotation haben und Umrechnung der einzelnen Kameras relativ zu einem gemeinsamen Koordinatensystem, Berechnung der Rotation und Translation zwischen den Kameras und anschließende Berechnung der Grundmatrix anhand der von Ihnen genannten Formel.

Ein besserer Weg wäre, beide Kameras zusammen als ein einziges Stereosystem zu kalibrieren. Die neueste Version (2014a) der Computer Vision System Toolbox ermöglicht dies. Siehe this example.

+0

Hallo ich habe eine Frage. Wenn meine zwei Kameras die folgenden extrinsischen Parameter haben: {1,0,0,15 | 0,1,0,0 | 0, 0, 1, 0} und {1,0,0,25 | 0,1,0,0 | 0, 0, 1, 0} würde der Versatz zwischen ihnen sein:? {0, 0, 0 | 0, 0, -10 | 0, 10, 0} versuchen, auch die Fundamentalmatrix zu berechnen, um zu versuchen, den entsprechenden x 'Punkt für x zu finden, wobei F wie oben angegeben verwendet wird –

0

Ich würde es lieber wie die Gleichungen in Kapitel 9 von "Multiple View Geometry" machen. Ich habe diese in Matlab verifiziert. Es ist richtig.

F = [e '] _ x * P * = p^+

(Bitte beachten:

Wenn Sie sowohl intrinsische als auch extrinsische Matrix beiden Kameras bekommen, können Sie die F-Matrix wie berechnen bis pp244 von "Multiple View Geometry" für detaillierte Definitionen)