MATLAB Answers

0

Monocular Vision Odometry - without an additional sensor

Asked by Niklas Hammerschmidt on 8 Jul 2019
Latest activity Edited by Sai Bhargav Avula on 1 Aug 2019
I am currentley trying to adopt the Monocular Vision Odometry example to my problem:https://de.mathworks.com/help/vision/examples/monocular-visual-odometry.html
I have a portable camera that is mounted at a fixed height (z=const). Hence, its motion is limited to the x,y-plane. When I apply the given example algorithm to my video, it shows anything else but a motion within the x,y-plane only.
Might you be able to tell me how to add a further boundary condition to that system or how to solve this issue?
I am kind of stuck.
Regards

  0 Comments

Sign in to comment.

2 Answers

Answer by Sai Bhargav Avula on 29 Jul 2019

The issue might be with the intrinsics of the camera used. Try to re-calibrate the camera. You can use the MATLAB Camera Calibrator App. Refer to the following page for calibrating the camera:-
You can use the helperFind3Dto2DCorrespondences for additional boundary conditions if required.

  0 Comments

Sign in to comment.


Answer by Niklas Hammerschmidt on 31 Jul 2019

Thank you very much for your reply. I have calibrated the camera twice and I assume its correct. Also, the problem occurs earlier than helperFind3Dto2DCorrespondences comes into play.
I have now set up a ground truth set which contains a perfect circle within the x-y-Plane. Both the first estimated pose as well as the actual pose of the ground truth start from [0 0 0]. However, the second relative pose (the first calculated one) is majorly directed along the z axis (something like t = [0.015 -0.03 0.988]).
I have checked all the essential matrices and its corresponding R and t results, all of them rather tend to show a significant translation in z-direction than in x- or y-direction.
Considering this issue, the problem can only be related to one of the following:
  • calibration (as you mentioned, which I, however, assume to be correct. But is there any possiblity to verify them results?)
  • coplanar feature points. I calculate the essential matrix (not the fundamental matrix), so I reckon all feature points being in one single plane is not an issue, correct?
Do you have an idea how to get to the bottom of this?

  1 Comment

As you mentioned majorly the translation is in Z-direction. I think the trajectory is being plotted in the camera cooridnate frame. To get the translation in world frame you need to perform coordinate axis transformation.
Check out the below link for further understanding
Hope this helps !

Sign in to comment.