Ich verwende den RANSAC- Algorithmus für die Homografieschätzung zwischen Bildpaaren, die mit Kameras aufgenommen wurden, zwischen denen keine Translation besteht (reine Drehung und Änderung des Maßstabs / Zooms). In der Hälfte der Fälle funktioniert es gut. Die richtige Ausgabe sieht folgendermaßen aus:
Die roten Linien sind gefilterte Entsprechungen und die Vierecke veranschaulichen, wie die Homographie die Perspektive verzerrt.
Manchmal passieren jedoch viele schlimme Fälle wie diese:
Ich habe bereits einen einfachen Test in der RANSAC-Schleife. Es macht ein einfaches Viereck (ein Einheitsquadrat) und transformiert es mit einer Beispieltransformation. Dann sieht es aus, ob die Transformation ihre Konvexität beibehalten hat.
Trotzdem kommen Bündel konkaver Vierecke heraus.
Haben Sie eine Idee, wie Sie die Homografie richtig testen können, wenn sie sich "gut" verhält und die falschen Lösungen herausfiltert?
Ich habe einen Code gefunden, in dem getestet wird, dass keiner der drei transformierten Punkte kolinear ist. Dies scheint jedoch nicht ausreichend zu sein, da Deltamuskeln und andere "ungültige" Vierecke nicht herausgefiltert werden ...
quelle