SLAM发展现状研究

        SLAM,是指同步定位与建图,定位与建图是两个相辅相成的技术,定位依赖成熟正确的地图构建,建图依赖准确的定位技术。SLAM主要包括激光雷达传感器为核心的激光SLAM和以各类相机传感器为核心的视觉 SLAM两类。

        其中激光SLAM的发展时间较为悠长,其又分为2D和3D激光SLAM,2D激光试用于像扫地机器人这样的室内环境,3D激光主要通过点云实现对物体的定位,多用于无人驾驶领域。激光SLAM的定位精度较高,但是造价较贵,容易受到激光雷达探测范围干的扰而使定位丢失。激光SLAM使用最常见的算法是Gmapping,其采用粒子滤波器将进程为分解定位与建图2个线程,但是它仅包含前端设计,时间较为古老;LOAM(Lidar Odometry and Mapping in Real-time)是一种双线程设计,它包括高频率低精确度的里程计和低频率高精度的点云;Le GO-LOAM是在LOAM的基础上增加了后端模块,在原有基础上优化了地图参数。

        视觉SLAM通过摄像头获取图片来实现定位与建图,按照按相机数分类,可以分为单目视觉SLAM、双目视觉SLAM、多目视觉SLAM,区别就是相机的数量不同,但是使用率较高的还是单目视觉SLAM。视觉SLAM擅长在纹理丰富的动态环境中稳定工作,但是相机由于受到光照强度影响过大,容易出现各种模糊相片的拍摄进而导致无法提取特征点而使得定位困难。视觉SLAM由视觉前端、视觉后端、回环检测组成,其中视觉前端是根据图像信息估计出相机运动初值,有基于特征点的间接法(光流法),也包括基于灰度信息的直接法(原理为根据帧间灰度值变化计算相机位姿变化获取信息);视觉后端主要是指在更大的尺度对前端参数优化,包括滤波器的优化以及非线性优化;回环检测主要根据场景重识别,通过局部描述符与全局描述符实现闭环检测。

        目前在视觉SLAM的基础上发展出了语义SLAM,它是指深度循环卷积神经网络的端到端视觉里程计,通过CNN(卷积神经网络)提取深层次图像特征,通过RNN(循环神经网络)进行数据关联与位姿估计,加入深度学习后,定位以及建图的准确性有了大大的提升。

        现阶段SLAM的发展主要为多传感器的融合,由于与无人驾驶领域联系较为紧密,还加入了IMU(惯性测量单元,其中包括加速度计、陀螺仪和磁力仪三种传感器),还有各种车辆传感器(轮速传感器、方向轮盘转角传感器)。许多学者将激光雷达、相机、IMU、车辆传感器根据实际需求进行两两或者三三结合,方式有紧耦合与松耦合,紧耦合是指系统先将各种传感器获得的信息先融合到状态变量中,再进行位姿估计;松耦合是指各个传感器先进行位姿估计,最后系统再将信息融合在一起的方式。在多传感器融合的过程中会遇到许多棘手的问题:①针对每个传感器都具备自触发模式,会导致数据不同步的现象,但是通过设计的硬件电路触发视觉传感器和惯性传感器,摸索出各自的数据延时性,再利用硬件电路在时域上采用同步触发平台运动、视觉传感器成像、惯性传感器数据获取,以验证空域内图像数据和惯性数据的一致性可以很好地解决这一问题;②针对视觉传感器离背景过近,使特征点线减少,同时转弯使连续帧间的同名点丢失的现象,可以通过优化的办法解决;③针对动态目标对系统定位的影响,使用多传感器信息的联合平差;④针对动态目标对系统建图的影响,可以使用基于语义约束与几何约束的动态特征剔除算法对视觉信息动态特征剔除;⑤针对视觉SLAM在动态目标下精度下降问题,可以使用对图像特征点提取与均匀化+深度学习目标检测筛选动态特征点+基于LK系数光流跟踪特征点的方法解决。

        针对多传感器的融合,在解决了数据融合的难题之后,还需要进行进一步的优化,主要分为两周优化方法,基于滤波器与基于图优化,其中基于滤波器的优化主要包括基于扩展卡尔曼滤波(EKF)的 SLAM 算法、基于粒子滤波的SLAM算法,还有新将模糊推理系统、遗传算法融合到其中;基于图优化是针对求解大规模非线性优化问题,依据位姿估计以及观测值构建最小化目标函数,它采用关键帧的形式,将整个过程中每一时刻的状态都以图的方式存储起来,可以不断利用实时观测数据修正累积误差,通过极大似然估计来求解位姿。

        以上帖子多为个人的学习总结,有不当的地方还烦请大家指出。

你可能感兴趣的:(人工智能)