I have managed to compile the module and the tools on 18.04.
It needs to add some headers , change version of opencv and it compile without errors.
ODM is 0.9.1
calibrate_video.py is working , but I can`t see those options in args :
/code/run.py -help

–video ## Path to the video file to process
–slam-config ## Path to config file for orb-slam

Do you know how to expose them ?
i would like to test odm_slam feature?
Real-time ?

1 Like

The SLAM feature has been broken for years (although there was a proof of concept working ~2 years ago). Check the git history.

I see …
Any hints what`s need to be rework ?

Probably tie ODM/odm_slam.py at 2b74a037803050c51995a0f0b08cfb4986fc94ec · OpenDroneMap/ODM · GitHub to the rest of the program.

Build ORB SLAM2 ODM/External-ORB_SLAM2.cmake at 2b74a037803050c51995a0f0b08cfb4986fc94ec · OpenDroneMap/ODM · GitHub

Build ODM/modules/odm_slam/src at 2b74a037803050c51995a0f0b08cfb4986fc94ec · OpenDroneMap/ODM · GitHub


Hey, from the Git history, I could see that SLAM module is quite outdated(last commit was 3 years ago!). SLAM based mapping is gaining quite some popularity for the past few months. I’d love to revamp the whole SLAM module. Before that, I’d love to hear the thoughts of the community!!


Would be cool to have a SLAM processing option!


Yup. Users can have the option to choose this particular method for the images they feed to ODM. On a side note, can SLAM based processing compete with the one in the existing pipeline of ODM, in terms of accuracy & quality??


As a rule, SLAM tends to have better localised accuracy and worse global accuracy. But, as you may know better than I: implementation matters a lot and there are clever ways to perform global and semi-global corrections.


Here’s a relatively new paper, published in 2020. Results are really fast and accuracy comparable with Pix4D. Although there are many works out there, like TerrainFusion, Map2DFusion, this is even faster than the ones mentioned here. Can you have a look at this? I really want to get started on adding SLAM to ODM pipeline. Meanwhile, I’ll do some digging in ODM’s existing SFM pipeline, and how SLAM can be added to the existing design.