Frage

In MATLAB Ich habe berechnet, um die Fundamental Matrix (zwei Bilder) unter Verwendung des normalisierten Acht Punkt Algorithmus . Von dass ich an Triangulate die entsprechenden Bildpunkte im 3D-Raum. Von dem, was ich verstehe, dies zu tun, würde ich die Rotation und Translation der Kameras des Bildes benötigen. Der einfachste Weg wäre natürlich eichen die Kameras zuerst, dann die Bilder nehmen, aber auch dies ist für meine Anwendung einzuengen, wie es würde diesen zusätzlichen Schritt erforderlich ist.

Damit lässt mich mit auto (Selbst-) Kamerakalibrierung . Ich sehe Erwähnung von Bündelblockausgleichung jedoch in Eine Einladung zur 3D Vision es scheint es eine anfängliche Translation und Rotation erfordert, die mich denken lässt, dass eine kalibrierte Kamera benötigt wird, oder mein Verständnis fällt kurz.

Also meine Frage ist, wie kann ich automatisch die Rotation / Übersetzung extrahieren so kann ich neu projizierte / Triangulate die Bildpunkte in 3D-Raum. All MATLAB-Code oder Pseudo-Code wäre fantastisch.

War es hilfreich?

Lösung

Sie können die Fundamental-Matrix verwenden, um die Kamera-Matrizen zu erholen und die 3D-Punkte aus den Bildern Triangulation. Allerdings muss man sich bewusst sein, dass der Wiederaufbau wird erhalten Sie eine projektive Rekonstruktion sein wird und kein euklidische. Dies ist nützlich, wenn Ihr Ziel ist projektiven Invarianten in der Originalszene wie das Kreuzverhältnis, Linie Kreuzungen usw., aber es wird nicht genug sein, um zu messen Winkel und Distanzen zu messen (Sie können die Kameras für das kalibrieren müssen).

Wenn Sie Zugriff auf Hartley und Zisserman Lehrbuch , können Sie Abschnitt überprüfen 9.5.3, wo Sie finden, was Sie von der fundamental-Matrix mit einem Paar von Kamera-Matrizen gehen müssen, dass Sie eine projektive Rekonstruktion berechnen können (ich glaube, der gleiche Inhalt in Abschnitt erscheint 6.4 von Yi Ma Buch). Da die Quellcode für die Algorithmen des Buches online verfügbar ist, können Sie will die Funktionen vgg_P_from_F, vgg_X_from_xP_lin und vgg_X_from_xP_nonlin überprüfen.

Andere Tipps

Peter MATLAB-Code wäre viel für Sie hilfreich Ich denke:

http://www.csse.uwa.edu.au/ ~ pk / Forschung / matlabfns /

Peter hat eine Reihe von Fundamental-Matrix-Lösungen geschrieben. Die ursprünglichen Algorithmen wurden in dem Zisserman Buch erwähnt

http://www.amazon.com/exec/obidos/tg/detail/-/0521540518/qid=1126195435/sr=8-1/ref=pd_bbs_1/ 103-8055115-0657421? v = Blick & s = Bücher & n = 507.846

Auch wenn Sie es nicht zu vergessen den Fundamental-Matrix Song zu sehen:

http://danielwedge.com/fmatrix/

eine feine Komposition in meiner ehrlichen Meinung!

Wenn Sie Ihr 3D-Raum beliebig gewählt werden können Sie Ihre erste Kamera Matrix als

einstellen könnten
P = [I | 0]

Keine Übersetzung, keine Rotation. Das würde man mit einem System aus Kamera definierten Koordinaten verlassen 1. Dann sollte es nicht allzu schwierig sein, um die zweite Kamera kalibriert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top