本文主要是介绍双目DSO,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
建图效果,确实比稀疏的orbslam2舒服很多
官方:https://vision.in.tum.de/research/vslam/stereo-dso
After the ICCV 2017 deadline, we extended our method to a SLAM system with additional components for map maintenance, loop detection and loop closure. Our performance on KITTI is further boosted a little, as shown with black plot below. A demonstration video is shown above.
tum-vision git: https://github.com/tum-vision
论文讲解https://zhuanlan.zhihu.com/p/29769576
https://zhuanlan.zhihu.com/p/82077729
https://zhuanlan.zhihu.com/p/74709586
高翔解读mono dso https://zhuanlan.zhihu.com/p/29177540
DSO的出现将直接法推进到一个相当成熟可用的地位,许多实验已表明它的精度与鲁棒性均优于现在的ORB-SLAM2,而相比之下LSD-SLAM则显然没有那么成熟。在我自己的实物相机实验中,我发现LSD-SLAM很难一次上手即通,而DSO则鲁棒的多。
在大部分数据集上,DSO均有较好的表现。虽然DSO要求全局曝光相机,但即使是卷帘快门的相机,只要运动不快,模糊不明显,DSO也能顺利工作。但是,如果出现明显的模糊、失真,DSO也会丢失。
我认为,直接法相比传统特征点法,最大的贡献在于,直接法以更整体、更优雅的方式处理了数据关联问题。特征点法需要依赖重复性较强的特征提取器,以及正确的特征匹配,才能得正确地计算相机运动。在环境纹理较好,角点较多时,这当然是可行的——不过直接法在这种环境下也能正常工作。然而,如果环境中出现了下列情况,对特征点法就不那么友善:
- 环境中存在许多重复纹理;
- 环境中缺乏角点,出现许多边缘或光线变量不明显区域;
我们看到,数据关联和位姿估计,在直接法中是耦合的,而在特征点法中则是解耦的。耦合的好处,在于能够更整体性地处理数据关联;而解耦的好处,在于能够在位姿不确定的情况下,仅利用图像信息去解数据关联问题。所以直接法理应更擅长求解连续图像的定位,而特征点法则更适和全局的匹配与回环检测。读者应该明了二者优缺点的来由。
当然DSO也不是万能的。最容易看到的缺点,就是它不是个完整的SLAM——它没有回环检测、地图重用、丢失后的重定位,而这些在实际场景中往往又是必不可少的功能。DSO的初始化部分也比较慢,当然双目或RGBD相机会容易很多。如果你想要拓展DSO的功能,首先你需要十分了解DSO的代码结构。希望本文能够起到一定的作用。
地平线智能驾驶团队的实现 https://github.com/HorizonAD/stereo_dso
地平线: https://cloud.tencent.com/developer/article/1077301
涂金戈大佬: https://github.com/JingeTu/StereoDSO
https://blog.csdn.net/wyy13273181006/article/details/108891234
readme和参考,之间cmake make 即可
https://blog.csdn.net/leonardohaig/article/details/84587595
创建一个camera_07.txt
707.912 707.912 601.8873 183.1104 0
1226 370
crop
640 480
0.537165719
运行
bin/dso_dataset files=/home/dataset/KITTI/07 calib=../camera_07.txt preset=0 mode=1
这篇关于双目DSO的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!