MoNoSLAM:https://github.com/hanmekim/SceneLib2
以扩展卡尔曼滤波为后端,追踪前端非常稀疏的特征点,以相机的当前状态和所有路标点为状态量,更新其均值和协方差。
优点:在2007年,随着计算机性能的提升,以及该系统用稀疏的方式处理图像,使得该方案使得SLAM系统能够在线运行。(之前的SLAM系统是基本不能在线运行的,只能靠机器人携带相机采集的数据,再离线进行定位和建图。)
缺点:MoNoSLAM存在应用场景窄,路标数量有限,系数特征点非常容易丢失等缺点,现在已经停止了对其开发。
PTAM( Parallel Tracking And Mapping )http://www.robots.ox.ac.uk/~gk/PTAM
主要原理是: 从摄影图像上捕捉特征点,然后检测出平面,在检测出的平面上建立虚拟的3D坐标,然后合成摄影图像和CG。其中,独特之处在于,立体平面的检测和图像的合成采用并行处理。
优点:提出并实现了跟踪与建图过程的并行化,将前后端分离,使用非线性优化方案,既可以实时的定位与建图,也可以在虚拟平面上叠加物体。
缺点:场景小,跟踪容易丢失。
ORB-SLAM(继承并改进PTAM)http://webdiis.unizar.es/~raulmur/orbslam/
优点:泛用性:支持单目,双目,RGB-D三种模式。整个系统围绕ORB特征进行计算,在效率与精度之间做到了平衡,并围绕特征点进行了优化。其回环检测算法可以有效地防止误差的积累。使用三个线程完成SLAM,取得了较好的跟踪和建图效果,能够保证轨迹和地图的全局一致性。
缺点:对于每幅图像都需要计算ORB特征,耗时大。三线程给CPU带来较大负担,在移植到嵌入式设备上有一定的困难,ORB-SLAM的建图为稀疏特征点,只能满足定位功能。
LSD-SLAM(Large Scale Direct monocular SLAM)
将单目直接发应用到了半稠密的单目SLAM中,不需要计算特征点,还能构建版稠密地图.
优点:直接法是针对像素进行的;对特征缺失区域不敏感,半稠密追踪可以保证追踪的实时性和稳定性;在cpu上实现了半稠密地图的重建。
缺点:对相机内参和曝光非常敏感,并且在相机快速运动时容易丢失,在回环检测部分,没有直接基于直接发实现,依赖特征点方程进行回环检测,尚未完全摆脱特征点的计算。
SVO( Semi-direct Visual Odoemtry )
基于稀疏直接法的视觉里程计,在实现中,使用了4x4的小块进行块匹配,估计相机资自身的运动。
优点:速度极快,在低端计算平台上也能达到实时性,适合计算平台受限的场合。
缺点:在平视相机中表现不佳;舍弃了后端优化和回环检测部分,SVO的位姿估计存在累计误差,并且丢失后不太容易进行重定位。
RTAB-MAP(RGB-D传感器上的SLAM方案)
给出了一套完整的RGB-D SLAM方案,目前可以直接从ROS中获得其二进制程序,在Google Project Tango上可以获得其APP直接使用。
优点:原理简单;支持RGB-D和双目传感器,且提供实时的定位和建图功能。
缺点:集成度高,庞大,在其上进行二次开发困难,适合作为SLAM应用而非研究使用。