proj_match_points_ransacT_proj_match_points_ransacProjMatchPointsRansacProjMatchPointsRansac — Bestimmt eine projektive Transformationsmatrix automatisch
durch Zuordnung von Punkten zwischen zwei Bildern.
Die Bestimmung der Transformation erfolgt in 2 Schritten: Zuerst
werden die Grauwertkorrelationen von Umgebungen der Eingabepunkte im
ersten und zweiten Bild bestimmt und anhand dieser ein initiales
Matching zwischen den Punkten ermittelt. Die Größe dieser
Grauwertfenster beträgt MaskSizeMaskSizeMaskSizeMaskSizemaskSize x MaskSizeMaskSizeMaskSizeMaskSizemaskSize. Es
können drei Metriken für die Korrelation gewählt werden. Hat
GrayMatchMethodGrayMatchMethodGrayMatchMethodGrayMatchMethodgrayMatchMethod den Wert 'ssd'"ssd""ssd""ssd""ssd", so wird das
Quadrat der Grauwertdifferenzen verwendet, 'sad'"sad""sad""sad""sad" entspricht
dem Betrag der Grauwertdifferenzen und 'ncc'"ncc""ncc""ncc""ncc" ist die
normierte Kreuzkorrelation (siehe auch binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparityBinocularDisparity).
Diese Metrik wird über alle
Punktepaare minimiert ('ssd'"ssd""ssd""ssd""ssd", 'sad'"sad""sad""sad""sad") bzw.
maximiert ('ncc'"ncc""ncc""ncc""ncc"), ein so gefundenes Matching wird aber nur
akzeptiert, falls der Wert der Metrik unter dem Wert von
MatchThresholdMatchThresholdMatchThresholdMatchThresholdmatchThreshold ('ssd'"ssd""ssd""ssd""ssd", 'sad'"sad""sad""sad""sad") bzw. über
demselben ('ncc'"ncc""ncc""ncc""ncc") liegt.
Zur Performanzsteigerung kann der Suchbereich für die Matchings
eingeschränkt werden. Nur Punkte innerhalb eines Punkte großen Fensters werden
betrachtet. Die Verschiebung des Mittelpunkts dieses Fensters im
zweiten Bild gegenüber der Position des aktuellen Punktes im ersten
Bild wird durch die Parameter RowMoveRowMoveRowMoveRowMoverowMove und
ColMoveColMoveColMoveColMovecolMove bestimmt.
Enthält die gesuchte Transformation eine Drehung, ist also das eine
gegenüber dem anderen Bild gedreht, so kann im Parameter
RotationRotationRotationRotationrotation eine Schätzung des Drehwinkels bzw. ein
Winkelintervall im Bogenmaß übergeben werden. Eine gute Schätzung
des Winkels erhöht die Qualität des Grauwertwertmatchings. Falls
sich die tatsächliche Rotation zu stark von der angegebenen
Schätzung unterscheidet, schlägt das Matching typischerweise fehl.
Je größer das angegebene Winkelintervall, desto langsamer läuft
der Operator, denn für alle relevanten (endlich vielen) Winkel
innerhalb des Intervalls wird das Verfahren komplett durchlaufen.
Punktepaare, die die Konsistenzbedingung für diese endgültige
Transformation immer noch verletzen, werden aussortiert, der Rest
als Steuerparameter zurückgeliefert. Points1Points1Points1Points1points1 enthält die
Indizes der gematchten Eingabepunkte im ersten Bild,
Points2Points2Points2Points2points2 die Indizes der dazu korrespondierenden Punkte im
zweiten Bild.
Der Parameter RandSeedRandSeedRandSeedRandSeedrandSeed kann benutzt werden, um das
randomisierte Verhalten des RANSAC-Verfahrens zu kontrollieren und
somit reproduzierbare Ergebnisse zu erhalten. Wird
RandSeedRandSeedRandSeedRandSeedrandSeed auf einen positiven Wert gesetzt, so liefert der
Operator bei jedem Aufruf mit denselben Parametern auch dasselbe
Resultat, da der intern verwendete Zufallsgenerator mit dem
angegebenen Startwert initialisiert wird. Ist RandSeedRandSeedRandSeedRandSeedrandSeed =
0, so wird der Zufallsgenerator mit der aktuellen Zeit
initialisiert. Daher sind in diesem Fall die Ergebnisse unter
Umständen nicht reproduzierbar.
Richard Hartley, Andrew Zisserman: „Multiple View Geometry in
Computer Vision“; Cambridge University Press, Cambridge; 2000.
Olivier Faugeras, Quang-Tuan Luong: „The Geometry of Multiple
Images: The Laws That Govern the Formation of Multiple Images of a
Scene and Some of Their Applications“; MIT Press, Cambridge, MA;
2001.