ucla-vision / xivo

X Inertial-aided Visual Odometry
Other
851 stars 120 forks source link

Added triangulation methods #36

Closed agrawalparth10 closed 2 years ago

agrawalparth10 commented 2 years ago

I have added the triangulation methods. To use different methods, change the method number in config file to following numbers- 3 - l1 triangulation 4 - l2 triangulation 5 - l_inf triangulation

The benchmarks results are -

L1 absolute_translational_error.rmse 0.048211 m translational_error.rmse 0.021485 m rotational_error.rmse 0.525738 deg

L2 absolute_translational_error.rmse 0.046309 m translational_error.rmse 0.023607 m rotational_error.rmse 0.525261 deg

L_inf absolute_translational_error.rmse 0.047667 m translational_error.rmse 0.019832 m rotational_error.rmse 0.524616 deg

I also added the functions to check for cheirality, angular reprojection, and parallax. The epsilon values (randomly chosen by me) are currently hardcoded. Please suggest appropriate values and cleaner way to write it. I have commented the function calls because it keeps throwing cheirality and parallax errors.

stephanietsuei commented 2 years ago

My initial guesses for threshold values:

Doing some unit tests will give you an idea. Those thresholds should be inputted in degrees in the .cfg files and used in radians in the code.