vector_to_poseT_vector_to_poseVectorToPosevector_to_poseVectorToPoseVectorToPose — Berechnen einer absoluten Pose aus Punktkorrespondenzen von Welt-
zu Bildkoordinaten.
Je nach Wahl des Parameters MethodMethodMethodMethodMethodmethod kann gewählt werden,
welcher Algorithmus für die Berechnung der Pose verwendet werden
soll.
Falls die Weltpunkte in einer
horizontalen Ebene liegen ()
4
Die Zahlen in den eckigen Klammern in der oben stehenden Tabelle verweisen
auf die Veröffentlichungen, auf denen die Implementierungen der
entsprechenden Methoden basieren.
Methoden, die für telezentrische Kameras unterstützt
werden:
Für sehr schlecht gestellte
Punktkonfigurationen, in denen die Weltpunkte in einer horizontalen
Ebene liegen () und
für die QualityQualityQualityQualityQualityquality einen unerwartet hohen Wert besitzt
3
Die Zahlen in den eckigen Klammern in der oben stehenden Tabelle verweisen
auf die Veröffentlichungen, auf denen die Implementierungen der
entsprechenden Methoden basieren.
Zusätzlich kann der Benutzer durch QualityTypeQualityTypeQualityTypeQualityTypeQualityTypequalityType eine oder
mehrere Qualitätsmaß-Bewertungen der Pose bestimmen, die
mitberechnet werden. Die resultierenden Qualitätsmaße werden in
QualityQualityQualityQualityQualityquality aneinandergehängt zurückgeliefert. Derzeit wird nur
'error'"error""error""error""error""error" unterstützt. Es entspricht dem quadratischen
Mittelwert der Fehler in Pixeln der projizierten
3D-Weltkoordinaten.
Allgemeine Anmerkungen
Falls eine Methode für planare Weltpunkte gewählt wird, wird
angenommen, dass alle Weltpunkte in der Ebene liegen. Daher muss für planare Weltpunkte
die z-Komponente der Weltpunkte nicht gesetzt werden
(WorldZWorldZWorldZWorldZWorldZworldZ = []), da nur 2D-Korrespondenzen verwendet
werden.
Für telezentrische Kameras kann offensichtlicherweise die
Translation in z-Richtung nicht bestimmt werden. Sie wird
in PosePosePosePosePosepose auf 0 gesetzt.
Für planare Weltpunkte und telezentrische Kameras existieren immer
zwei mögliche äquivalente Posen. Diese Mehrdeutigkeit kann nur
durch Zusatzwissen aufgelöst werden. vector_to_posevector_to_poseVectorToPosevector_to_poseVectorToPoseVectorToPose gibt in
diesem Fall eine beliebige der zwei möglichen Lösungen zurück. Die
andere Lösung kann leicht dadurch berechnet werden, dass die Werte
von und in PosePosePosePosePosepose durch
und ersetzt
werden.
[1] Francesc Moreno-Noguer, Vincent Lepetit, and Pascal Fua:
„Accurate Non-Iterative O(n) Solution to the PnP Problem“;
Eleventh IEEE International Conference on Computer Vision, 2007.
[2] Gerald Schweighofer, and Axel Pinz: „Robust Pose Estimation from a Planar
Target“; Transactions on Pattern Analysis and Machine Intelligence (PAMI),
28(12):2024-2030, 2006.
[3] Carsten Steger: „Algorithms for the Orthographic-n-Point
Problem“; Journal of Mathematical Imaging and Vision, vol. 60,
no. 2, pp. 246-266, 2018.
[4] Zhengyou Zhang: „A flexible new technique for camera calibration.“;
Transactions on Pattern Analysis and Machine Intelligence (PAMI),
22(11):1330-1334, 2000.