MoNoSLAMhtml
以扩展卡尔曼滤波为后端,追踪前端很是稀疏的特征点,以相机的当前状态和全部路标点为状态量,更新其均值和协方差。前端
优势:在2007年,随着计算机性能的提高,以及该系统用稀疏的方式处理图像,使得该方案使得SLAM系统可以在线运行。(以前的SLAM系统是基本不能在线运行的,只能靠机器人携带相机采集的数据,再离线进行定位和建图。)linux
缺点:MoNoSLAM存在应用场景窄,路标数量有限,系数特征点很是容易丢失等缺点,如今已经中止了对其开发。算法
PTAM( Parallel Tracking And Mapping )后端
主要原理是: 从摄影图像上捕捉特征点,而后检测出平面,在检测出的平面上创建虚拟的3D坐标,而后合成摄影图像和CG。其中,独特之处在于,立体平面的检测和图像的合成采用并行处理。app
优势:提出并实现了跟踪与建图过程的并行化,将先后端分离,使用非线性优化方案,既能够实时的定位与建图,也能够在虚拟平面上叠加物体。前后端分离
缺点:场景小,跟踪容易丢失。性能
ORB-SLAM(继承并改进PTAM)优化
优势:泛用性:支持单目,双目,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应用而非研究使用。