UR-MVO is a robust monocular visual odometry pipeline designed specifically for underwater environments. Leveraging cutting-edge techniques such as SuperPoint for feature extraction and SuperGlue for feature matching, UR-MVO offers enhanced performance and reliability in underwater navigation tasks. Additionally, we incorporate semantic segmentation to improve the robustness of feature extraction, effectively filtering out features associated with dynamic objects or background clutter.
To build the project, first ensure that docker and docker-compose are available on the system and then use the following command, which will build a docker image with all the dependencies and the project itself.
make build
Additionally, the following command is used to build the visualization image.
make build-visualization
Add the images of the sequence to run into data/images
directory. Also add the ground truth .txt
file (in TUM) format as data/gt.txt
.
Next, launch the docker container using:
make run
Inside the docker container, run the following to start VO:
python vo.py --images /data/images --gt /data/gt.txt --results /data/results/
Optionally, to visualize the generated path, map-points and features, launch the visualization in a separate terminal using the following command:
make run-visualization
The experiments were conducted on the real underwater dataset Aqualoc.
Trajectories generated by our method for Harbor sequences compared to the ground truth trajectories:
Numerical Results ( ATE -Absolute Translation Error ) compared with other VO and VSLAM solutions.
Sequence | #1 | #2 | #3 | #4 | #5 | #6 | #7 |
---|---|---|---|---|---|---|---|
ORBSLAM* | 0.52 | 0.50 | 0.45 | X | 0.24 | 0.51 | X |
DSO | X | 0.63 | 0.25 | X | 0.67 | 0.24 | X |
SVO | 0.49 | 0.56 | 0.26 | X | X | 0.02 | X |
UR-MVO (ours) | 0.26 | 0.3 | 0.096 | X | 0.22 | 0.047 | X |
Sequence | #1 | #2 | #3 | #4 | #5 | #6 | #7 |
---|---|---|---|---|---|---|---|
LDSO | X | X | X | X | 0.7 | 0.78 | X |
UVS | 0.44 | 0.19 | 0.025 | 0.29 | 0.11 | 0.09 | X |
ORBSLAM | X | 0.44 | 0.031 | X | 0.15 | 0.11 | X |
UR-MVO (ours) | 0.26 | 0.3 | 0.096 | X | 0.22 | 0.047 | X |
We extend our gratitude to the creators of ORB-SLAM3 and AirVO for their inspiring work, which has influenced and contributed to various aspects of our project.