推荐指数 ☆☆☆☆
一、引言
自主机器人应用中最重要的挑战是状态估计,尤其是跟踪运动机器人的位姿和随机器人运动建图这对对偶问题。十年来,随着相机传感器的广泛应用和机器视觉的发展,出现了基于视觉的解决方案:视觉里程计VO或视觉V-SLAM。
基于视觉的状态估计方法可以分为两类:一类是滤波方法,如扩展卡尔曼滤波EKF,将视觉特征与IMU等其它数据融合;一类是建立在运动恢复结构SfM和视觉里程计VO基础上,提取并跟踪图像特征,然后通过最小化重投影误差估计位姿。耗时的全局优化通常用光束调整(bundle adjustment,BA),BA又可根据跟踪的是特征还是像素强度细分为稀疏方法和直接方法。
近年来,出现了很多视觉状态估计的开源软件包,每一个都有令人印象深刻的证明事例。然而,由于没有全面的比较,所以选择可靠稳健的方法很难。另一方面,由于算法本身约束,如参数数量和敏感度、特定初始化运动方式、不同输入格式、软件依赖等,将这些软件包应用于新的数据集很困难。还有一些学术上的或商用产品,仅提供了算法性能描述而没有开源代码,很难评估和应用。
二、评估的算法
基于卡尔曼滤波的方法:MonoSLAM基于EKF,状态包括地图和相机位姿,在预测阶段状态更新,假定为服从高斯分布的常量运动模型。根据检测到的特征的测量偏差更新状态,特征点检测基于主动搜索算法,根据窗口和估计的运动形式限定了最有可能的搜索区间。
基于SfM的方法:libVISO提供了一种稀疏里程计方法。并行跟踪和匹配(Parallel Tracking and Matching,PTAM)也是种稀疏方法,最初是为小范围内的增强现实应用开发的,输入为单目相机图像。PTAM状态估计分为两步:首先是跟踪阶段,新的图像与地图进行特征比较;然后是地图更新阶段,使用一些关键帧更新。初始化阶段需要一些特征在不同视角都可被观测到。
ORB-SLAM使用ORB特征进行跟踪、建图、重定位和闭环检测。半直接视觉里程计(Semi-direct Visual Odometry,SVO)仅在新的关键帧增加到地图上时提取特征,并且与前一帧进行特征匹配进行直接运动估计,坏点(Outliers)通过贝叶斯滤波滤除。大规模直接单目SLAM(Large-Scale Direct Monocular SLAM,LSD-SLAM)直接利用图像亮度而不是特征点,进行跟踪和建图,从而实现稠密3D重建。RatSLAM从脑神经处理获得灵感实现导航,给定单目图像和里程计信息,该方法根据外观匹配场景并构建拓扑图。
全局最优化方法:一些上述实时方案使用全局优化包平滑得到的估计,g2o和Ceress是两种非线性误差函数图优化框架,可以建模和解决大型优化问题。
最近的一种解决方案COLMAP包括了完整的视觉流程,可重建有序或无序的图像序列,它在整个图像集合上使用Cere框架,得到非常好的,但是很慢的重建轨迹。
三 数据集
四 评估结果
评估结果如下面一系列图片所示,总体来看,ORB-SLAM相当不错。
英文名称:Experimental Comparison of open source Vision based State Estimation Algorithms
链接:
https://www.researchgate.net/publication/309133901_Experimental_Comparison_of_open_source_Vision_based_State_Estimation_Algorithms
互动:熟悉或应用过哪种SLAM?有何心得后台交流下。
死磕自律,遇见更好的自己;自斩双臂,方能长出强两翼。
败而不弃,潜龙勿用待时机;执着坚毅,飞升上神创奇迹!
关注该头条 ,一起创造奇迹。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!