LSD SLAM和ORB SLAM的对比

现在开始找实习了,开始回顾研究生做的工作,把之前做的东西都总结一下,梳理梳理知识。
LSD SLAM的介绍:
LSD SLAM是slam界大牛 Jakob Engel的著作,也是直接法的代表性工作。和LSD SLAM想对应的feature-based的ORB SLAM则是又一代表性工作。
ORB SLAM的介绍:
ORB SLAM是一种基于ORB特征点的SLAM系统,在纹理比较丰富的场景下,ORB SLAM work的很好,定位精度很高。

它们之间一些明显的区别有:
(1)LSD SLAM不需要提取图像的特征描述子,求取两帧图像之间的变换(R,t)时通过优化photometric error来求得的, 而ORB SLAM则是提取ORB关键点和描述子(这个过程是比较耗时的),利用特征点之间的匹配关系找到两帧图像的匹配点,然后通过8点法求出F矩阵或者H矩阵(至于取哪个矩阵是有一个标准的,可以看论文),然后反解出R,t。
(2)由于原理的差别,LSD SLAM是利用高梯度点来计算匹配的,所以最后建图可以得到半稠密(semi-dense)的地图,而在一帧图像中,ORB SLAM提取的特征点比较少,最后建出来的图是稀疏(sparse)的。
(3)LSD SLAM是通过最小化photometric error来优化相机的pose和3d点的坐标,ORB SLAM是最小化重投影误差来优化pose和3d点的坐标。
(4)根据应用场景,LSD SLAM在纹理比较弱的地方work的要比ORB SLAM好,但是在光照变化明显的场景中,ORB SLAM的鲁棒性则要优于LSD SLAM。

它们之间的相同点有:
(1)基本上都分成三个大的部分,tracking,mapping和loop localization,都是用多线程跑的。
(2)都可以在CPU上面达到实时
(3)共同的缺点是无法完成稠密的建图,对于应用到三维重建中的工作,视觉的LSD和ORB还是有很大局限性的。
它们都存在的问题
(1)尺度模糊性,这是单目SLAM的共同的问题,是因为计算深度的时候利用三角测量造成的,解决的办法可以是加入其它传感器做融合,比如 IMU等。
(2)纯旋转的问题:纯旋转的时候无法计算深度。
(3)尺度漂移:由于真实尺度未知,在SLAM优化的过程中,很可能发生地图越跑约小的状况。

论文引用:
【1】Engel, Jakob, Thomas Schöps, and Daniel Cremers. “LSD-SLAM: Large-scale direct monocular SLAM.” European Conference on Computer Vision. Springer, Cham, 2014.
【2】Mur-Artal, Raul, Jose Maria Martinez Montiel, and Juan D. Tardos. “ORB-SLAM: a versatile and accurate monocular SLAM system.” IEEE Transactions on Robotics 31.5 (2015): 1147-1163.

你可能感兴趣的:(SLAM)