开源软件名称(OpenSource Name):belosthomas/libCML开源软件地址(OpenSource Url):https://github.com/belosthomas/libCML开源编程语言(OpenSource Language):C++ 85.2%开源软件介绍(OpenSource Introduction):libCML and MODSLAM1. MOD SLAM: Mixed Method for a More Robust SLAM Without Loop ClosingPaper link : https://hal.archives-ouvertes.fr/hal-03538133 In recent years, the state-of-the-art of monocular SLAM has seen remarkable advances in reducing errors and improving robustness. At the same time, this quality of results can be obtained in real-time on small CPUs. However, most algorithms have a high failure rate out-of-the-box. Systematic error such as drift remains still significant even for the best algorithms. This can be handled by a global measure as a loop closure, but it penalizes online data processing. We propose a mixed SLAM, based on ORB-SLAM2 and DSO: MOD SLAM. It is a fusion of photometric and feature-based methods, without being a simple copy of both. We propose a decision system to predict at each frame which optimization will produce the minimum drift so that only one will be selected to save computational time and resources. We propose a new implementation of the map that is equipped with the ability to actively work with DSO and ORB points at the same time. Our experimental results show that this method increases the overall robustness and reduces the drift without compromising the computational resources. Contrary to the best state-of-the-art algorithms, MOD SLAM can handle 100% of KITTI, TUM, and random phone videos, without any configuration change. If you are using this work, please cite : @inproceedings{modslam2021,
title={MOD SLAM: Mixed Method for a More Robust SLAM without Loop Closing},
author={Thomas Belos, Pascal Monasse, and Eva Dokladalova},
booktitle={In Proceedings of the 17th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP 2022)}
} DownloadsInformation : Hyper-threading seems to have a very high impact on the performance. Disable it on the BIOS via : echo off > /sys/devices/system/cpu/smt/control Windowshttps://github.com/belosthomas/libCML/releases LinuxBuild Coming soon... Androidhttps://github.com/belosthomas/libCML/releases Known issues on Android:
2. About libCMLlibCML is a SLAM library and scientific tool, which include a novel fast thread-safe graph map implementation. If you are using this work, please cite : @misc{libcml,
title={libCML : SLAM library},
author={Thomas Belos, Pascal Monasse, Eva Dokladalova},
url={https://github.com/belosthomas/libCML}
} 3. CompilationMinimum Ubuntu Version : 20 Minimum Fedora Version : 34 a. Windows, Linux and MacIf you want to build the GUI, you will need Qt6 with Qt Multimedia and Qt Charts. Otherwise, please disable it with the according option (see below). We recommend you to use CLion from Jetbrains, or Qt Creator from Nokia, to build and test. Otherwise, you can : mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j 4 This is a list of different option you can pass to cmake : -DENABLE_GUI=OFF # Disable/Enable the gui
-DUSE_GOOGLE_HASH=ON # Disable/Enable Google Hash Map. Enabling this option cause the map to take more memory, but to be faster.
-DENABLE_OPENMP=OFF # Disable/Enable OpenMP b. Android and iPhoneWe recommend you to use Qt Creator, as it is the most simple way to build ModSLAM on Android and iPhone.
4. Executioncd build
./modslam -d PATH_TO_THE_DATASET where Here is a list of arguments you can pass to the executable : -c configfile.yaml # Load a specific config file
-g # Use Gui Mode
-t # Use Terminal Mode
-r path_to_result -f [tum|kitti|all] # Save the results with the specified format
-l log.txt # Write the log to a file
-s path_to_images # Export the 3D rendering to a ton of .jpeg files at specified folder
-z # Print the statistics at each iteration. Used for python script and result analasys. 5. DatasetsKITTI OdometryDownload here : https://www.cvlibs.net/datasets/kitti/eval_odometry.php
cd build
./modslam -d /KITTI/dataset/sequences/02 Stereopolis
cd build
./modslam -d /Stereopolis/Camera_0.zip 5. Evaluationcd result
python3 statson.py # Compute the absolute trajectory error of each videos
python3 bruteforce.py # Make statistics for the parameters / Search for a better parameters set
python3 make2dtable.py # Make a 2D table of the variation of ATE between by varying two parameters The configuration file ModSLAM "../cmake-build-release/modslam"
TUM "/home/thomas/Datasets/TUM"
KITTI "/home/thomas/Datasets/KITTI" The configuration file Each result is stored in a python3 plotall.py All the result are stored in a Known bugsThe camera won't open on AndroidThis is a bug of Qt. Please use at least Qt 6.3.0. MSVC / CLang, LLVM Out of memoryThis can be cause when you use the 32 bits of the compiler instead of the 64. Please read https://cmake.org/cmake/help/git-stage/guide/user-interaction/index.html for more details. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论