0

Hey, ich versuche, ein Echtzeit-Odometrie-System für eine monokulare Kamera zu tun. Jetzt suche ich nach einer Gleichung, um 3D-Punkte Bewegung in 2d Vektoren zu beschreiben. Bei der Recherche stieß ich auf eine sehr interessante looking equation. Ich beziehe mich auf Seite 22. Es macht grundsätzlich eine Vereinfachung unter der Annahme eines relativ kleinen Zeitschrittes. Aber jetzt kämpfe ich um die Bildkoordinaten x und y. Es heißt, dass x wie x = (px-px0) und y = (py-py0) wäre. Wenn ich es richtig verstehe, ist p0 das Drehzentrum. Aber wenn dies der Fall ist, würde die ganze Formel für meinen Fall keinen Sinn ergeben, weil ich vorheriges Wissen über den Rotationsmittelpunkt benötigen würde. Was wiederum auf der Übersetzung basiert.Brauchen Sie Hilfe auf visuelle Odometrie Formular

Also vielleicht kann helfen, es zu verstehen oder vielleicht zeigen Sie mir einen besseren Weg, es zu tun.

Antwort

1

Um diese Gleichung zu verwenden, müssen Sie Ihre Kamera kalibriert haben (mit einem Pinhole-Modell), so dass Sie eine Reihe von Verzerrungskoeffizienten, eine Brennweite und den Hauptpunkt, der Schnittpunkt der optischen Achse mit dem Bild, haben Flugzeug, wie hier dargestellt: http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html.

In der Gleichung Sie erwähnen, x und y Koordinaten in Pixeln nach Entzerrungs und relativ zum Projektionszentrum, nicht das Zentrum der Rotation . Also, die px0 und py0, die Sie suchen, sind die Koordinaten des Hauptpunktes, dh cx0 und cy0, unter Verwendung der Namenskonvention des obigen Links.

+0

Vielen Dank, das beantwortet meine Frage. Nichtsdestoweniger scheint der "Standardansatz" zur Schätzung der Starrkörperbewegung der 8-Punkte-Algorithmus zu sein. Ich kam kurz darauf vorbei und fand den obigen Ansatz. –