摘 要: 综述了非结构化月面复杂环境下同时定位与地图构建(SLAM)领域的最新研究进展,重点介绍和总结了视觉SLAM的特征提取方式,以及基于EKF、PF滤波器的SLAM方法和基于图优化的3种主流SLAM方法,并对SLAM技术面临的挑战做了深入的研究,最后对未来发展方向进行了展望.研究表明:在非结构化复杂环境下多传感器融合SLAM、多机器人协作SLAM、主动SLAM及结合人工智能技术等前沿性课题已取得一定的研究成果,但在完善方法模型、相关分支问题研究及语义地图创建等方面仍待突破,应作为下一步的重点研究方向.
关键词: 同时定位与建图构建; 特征提取; 基于滤波器; 图优化; 非结构化环境
在我国的月球探测任务中,月球车月面巡视是一项重要的内容,其主要作用是在月球表面进行自主漫游并利用科学仪器完成对月面环境的直接探测.月面环境属于非结构化环境,具有松软的月壤层,月球探测车为了保证在地形复杂恶劣的地表形态中顺利完成探测工作,必须具有智能感知的移动系统,以及良好的自主避障性能[1],即月球车可以在不需要地面干预的情况下利用自身系统算法进行路径规划,并结合自身的自主避障功能安全到达目标点并完成相应的任务.
月面环境比陆地环境更加困难的重要原因是环境本身的复杂性和不确定性.目前大多成熟的地面机器人定位技术并不适用于月球车的定位[2],在环境场景复杂且未知的月面环境下,月球车的定位和地图创建应该综合考虑,这就是同时定位与地图构建(simultaneous localization and mapping,SLAM)问题.SLAM技术是指机器人在未知环境从一个未知位置开始移动,在移动过程中根据传感器获得的信息和自身位姿估计进行定位,同时在定位的基础上增量地构建周围环境地图并辅助机器人自定位,两者是相辅相成的过程,从而实现机器人的自主定位和地图构建[3].SLAM的思想最早由Smith与Self等人提出,其理论意义和应用价值逐渐引起了众多学者的关注[4].
SLAM技术需要利用传感器来感知场景信息,尽管在地面机器人上应用激光等传感器的手段更为简单,但是由于月球车的工作环境特征复杂,且难以事先预测,存在很多局限.视觉作为最接近于人类感知的方式,通过单目、双目或RGB-D摄像机感知周围场景,定位精度仅依靠视觉输入信息,能够精确估计本体6个自由度(3个方向的位置和姿态)的运动参数变化,成本较低,并且不受倾斜、下陷等因素的影响[5],具有定位精度高、信息量大、灵活性高等优点,随着近年来视觉图像处理技术的快速发展,使得视觉SLAM的优势逐渐突出,成为月球车定位技术的首选.
然而,视觉SLAM仍然具有其局限性,相机存在由于光照变化、表面纹理缺乏和快速运动引起图像模糊等因素引起的误差,许多研究者对以上问题进行了研究并获得不错的结果.典型的有Klein等人基于BA(bundle adjustment)提出的实时SLAM算法,即并行跟踪和构图算法(parallel tracking and mapping,PTAM)[6],Engel等人采用直接的方法构建大范围内的半稠密地图,即LSD-SLAM(large-scale direct-SLAM)[7],以及近年来逐渐引起广泛关注的RGB-D SLAM和ORB-SLAM(oriented bried-SLAM)等.RGB-D SLAM由Endres等人于2014年提出[8],该算法采用的RGB-D摄像机可以在获取环境彩色信息(rgb)的同时也直接获取深度信息(depth).ORB-SLAM是2015年由Mur-Artal等人提出的基于关键帧的SLAM算法[9],该系统选用ORB特征进行提取匹配以及稀疏地图的创建,系统分为视觉里程计、地图创建、回环检测3个线程,是目前主流算法中精度最高的单目SLAM算法.Cadena等回顾了SLAM方法中关键性概念或者技术,如表1所示[10].
表1 SLAM方法关键性技术的研究者
Tab.1 Key technology researcher of SLAM
年份 关键性事件研究者2008基于滤波器的方法Aulinas,etal2008视觉SLAMNeira,etal2011SLAM后端Grisetti,etal2011可观测、一致性、收敛性Dissanayake,etal2012视觉里程计Scaramuzza,etal2016多机器人协作SLAMSaeedi,etal2016视觉位置识别Lowry,etal
SLAM技术体现了移动机器人的自主能力,如今SLAM技术在大规模、非结构化复杂环境下仍存在问题.笔者基于视觉SLAM前沿的研究基础,对月面非结构化复杂环境下的SLAM技术进行分析与综述,对目前的SLAM特征提取方式、主流方法进行了归纳总结,分析讨论了视觉SLAM在月面环境下正面临的难点问题与不足,并指出了未来的发展趋势和方向.
在一个SLAM过程中,月球车在登陆月球表面后,首先通过视觉系统获取月面图像信息,用摄像机来做导航和探索,读取数据并且进行特征提取,根据获取的信息把特征地标在三维地图中重建出来.通过对图像序列中前后两帧数据进行匹配处理,结合闭环检测减小累积误差,从而得到移动机器人的位姿估计及周围环境的地图信息.
月面环境属于非结构化环境,纹理特征较为单一,灰度变化较不明显,完全依靠像素梯度搜索的直接法SLAM并不适用,因此本文主要分析基于特征的位姿估计SLAM方法.
在月球车的定位中,为了保证后续匹配和位姿估计的准确性,特征点的选取具有关键性因素.特征点应具有较好的稳定不变性与鲁棒性,以及良好的特征定位准确性.比如对光照变化不敏感,并且在图像旋转、平移和尺度变化的情况下具有稳定性.根据采用特征的不同,可对视觉SLAM方法进行重新分类,目前应用比较普遍的匹配技术主要为基于几何特征的匹配,包括线/边缘特征以及基于点特征的匹配等.
图像的线和边缘部分是指灰度变化明显的边缘或不连续的区域,边缘特征集中了图像的大部分有效数据,具有丰富的几何信息,普遍存在于结构化环境中.这类特征对于光线、视角等变化表现较为稳定,相比于点特征更易于提取且能有效减少特征数量,从而降低算法复杂度.Eade等通过Canny检测器提取出图像的边缘特征,用egelets表达特征信息,从而提升算法的稳定性[11].然而,在非结构化环境下,简单的边缘、线等特征通常难以被观测,线与边缘的不确定性以及边缘匹配问题往往会给SLAM技术带来挑战.
点特征在视觉SLAM中应用广泛,相比于其他特征,点特征在保留图像重要特征的同时,具有对遮挡相对鲁棒、识别性好、提取速度快等特点.在基于点特征的视觉SLAM中,关键是能够提供稳定性高的图像特征点.经典的特征点检测算子有:MSER、SIFT、SURF、STAR、FAST、ORB等.
SIFT特征由Lowe等提出[12],对光照变化以及图像的尺度变化、平移、旋转、缩放等具有较强的稳定不变性与鲁棒性,是适用于月面匹配比较理想的特征.文献[13-14]在视觉SLAM研究中使用了SIFT特征,然而SIFT特征也存在一些局限性,由于计算量较大,时间复杂度高,所以有时不能保证实时性.
SURF特征是SIFT算法的改进,其特征速度更快且具有更好的稳定性,它在视觉SLAM系统中也获得较广泛的应用[15].
BRIEF[16]使用二进制流作为关键点特征,与SURF特征相比具有更快的速度.ORB特征是FAST特征与BRIEF描述符的结合,FAST特征具有较快的检测速度,且BRIEF描述符是二进制串,所以ORB特征方法缩减了匹配速度,并且具有稳定性和较好的抗干扰性,在满足视觉SLAM系统实时性的同时提升了定位精度.
有一些研究者致力于研究特征之间的关联和约束关系,将不同检测子和描述符配合应用于检测特征,也都取得了不错的效果.孙凤池等将Harris affine检测子与SIFT描述子融合检测图像特征, 完成闭环检测任务[17].李海丰等提出了一种新的将点、线、平面特征融合应用的SLAM算法——PLP-SLAM[18].
SLAM本质上是一个状态估计问题,优化后端分为滤波器和优化方法两类.基于滤波器的方法出现较早,根据后验概率表示方式的不同可以分为多种基于滤波器的方法,典型的有扩展卡尔曼滤波器(extended-kalman filter,EKF)和粒子滤波器(particle filter,PF).
基于EKF的SLAM技术主要依据递归贝叶斯状态估计理论,EKF-SLAM具有很好的收敛性,经典的有Davison等提出的一种基于扩展卡尔曼滤波器的实时单目SLAM系统(MonoSLAM)[19].传统的EKF方法具有局限性,在非线性情况下不能保证全局最优,容易造成误差累积.为了提升EKF-SLAM算法的实时性和鲁棒性,曹军等基于EKF-SLAM,提出了一种新算法,使状态在经过校正后更快速地接近真实值[20].许亚朝等通过引入滤波收敛判断系数并调整增益矩阵,从而抑制了滤波的发散问题,提高了精度、实时性和稳定性[21].
PF-SLAM(particle filter SLAM)利用粒子滤波等滤波器实现,PF作为一种非参数化滤波器适用性更普遍,主要步骤包括状态检测、更新权值和重采样等.PF-SLAM在高维空间的概率分布需要大量的粒子,Doucet等提出了一种基于Rao-bIackwellized粒子滤波器的算法——RBPF-SLAM,将系统状态分为采样和解析两部分,从而降低了算法的复杂度[22].基于RBPF,Montemerlo等提出了具有代表性的FastSLAM方法[23],有机地将粒子滤波器与卡尔曼滤波器集成在一起,鲁棒地解决了数据关联的问题.宋宇等提出平方根容积Rao-blackwillised SLAM算法,采用容积律计算SLAM中的非线性函数高斯权重积分,减小了SLAM非线性模型线性化的误差、提高了SLAM的精度[24].
SLAM技术逐步应用于解决大规模环境下的定位与建图问题,研究热点逐渐转为非线性优化的SLAM方法,目前应用最广泛的代表为基于图优化的SLAM(graph-based SLAM)方法.相比于只考虑前后两帧图像变化的基于滤波器的方法,基于图优化的方法考虑全局变量,获取所有的观测信息,从而估计移动机器人的位姿及完整地图.图优化方法由Lu与Milio提出,通过构建位姿图(pose graph)解决机器人的位姿估计问题.图由节点和边组成,节点表示移动机器人的位姿或路标,边表示传感器测得的节点之间的约束关系.通过对节点的位置进行优化,使其最优的满足边所表示的约束关系,优化的结果即为机器人的运动轨迹[25].图优化方法考虑全局变量信息,在定位精度上相比于滤波器的方法有很大的提升,获得了更好的建图效果,是目前大规模环境下的主流研究方法.具有代表性的算法包括PTAM(parallel tracking and mapping)、ORB-SLAM等,在大场景中均获得了较好的效果.该类方法将SLAM问题划分为前端(SLAM front-end)和后端(SLAM back-end)两个部分.前端类似于视觉里程计,目的是构建位姿图,后端是基于图的非线性优化.
Gutmann和Konolige在Lu与Milios的研究基础上进一步提出了高效的基于图优化的增量式SLAM算法[26],主要由顺序数据关联、环形闭环检测以及图优化三部分组成,算法框架如图1所示.在前端部分,顺序数据关联是指相邻图像帧间的匹配及相对姿态估计问题,环形闭环检测的目的是根据数据判断机器人是否回到之前到达过的区域;在后端部分,由于观测噪声以及累积误差的引入,通过观测信息配准得到的位姿图往往不具备一致性.
图1 基于图优化的SLAM框架
Fig.1 Framework of graph-based SLAM
在复杂的月面环境中,由于月球表面存在大量的月尘与月障,在沙质环境中SLAM技术难以提取足够的特征点进行跟踪,特征点位置变化会影响系统稳定性,如何描述感知信息的不确定性给月球车漫游带来巨大的挑战,因此需要提高SLAM技术对不收敛问题的鲁棒性等问题.
大规模环境下SLAM技术面临的主要难题是由于计算量太大而无法保证算法实时性的问题,首要解决办法就是减少计算量并降低算法的复杂度.常用的解决方法有利用分层或分块处理的方法.吴勇等[27]提出了一种收缩无迹卡尔曼滤波器(shrink unscented kalman filter, S-UKF)的方法,在大规模环境SLAM实验中获得了良好的实时效果.
非结构化环境下特征和路标难以被提取描述,其不确定性也会提高对环境采样的需求量,从而增加SLAM的计算量.Zhou等[28]针对非结构化未知环境,使用摄像机和激光传感器融合的方式,提出一种算法使得机器人可以从传感器获取的数据中自动选择具有最大信息量的观测数据,从而在非结构化环境中采样得到大量数据.
目前大多SLAM方法都是基于静态环境的假设,并且对于环境是有先验知识的,而在例如月球车等实际应用中,所处的环境是未知动态环境,包括静态物体以及动态物体,动态物体会影响传感器数据的获取,增加了SLAM技术的结构复杂性以及不准确性,因此对SLAM算法提出了更高要求.
浙江大学CAD&CG国家重点实验室计算机视觉组研发的RDSLAM(robust dynamic SLAM)算法可以在动态环境下自适应的建模,从而在保证实时性的前提下,有效地检测出动态物体的颜色和结构等变化,实现了机器人的自定位与地图构建[29].Lopez等[30]将视觉传感器与激光传感器融合,用SIFT特征进行匹配识别,通过激光测距进行运动目标定位,实现了在未知环境中动态物体的识别和定位.
复杂场景下SLAM应用时,单一传感器往往具有局限性.通常环境变化不会对所有传感器产生影响,为了更有效地获取环境信息,提高SLAM系统的鲁棒性,需要融合多个传感器的数据信息,以实现月球车的自主导航功能.
目前应用广泛的研究方法是将惯性测量单元(internal measurement unit,IMU)与摄像机相结合,这样的SLAM称为VIN(visual-aided inertial navigation).摄像机可以获得更丰富的信息量,IMU获得相对准确位姿估计的时间更少,视觉传感器与激光传感器的互补能够获得更好的结果.Murartal等将摄像机获取的数据和IMU数据融合后,用ORB-SLAM进行摄像机姿态追踪,实验结果表明相比于单一使用摄像机的SLAM方法,摄像机结合IMU的定位方法能够更有效地降低系统误差,获得精确性更高的实验结果[31].
单机器人由于自身处理能力的局限性,在大规模复杂环境下很难高效地构建周围环境地图, 多机器人互相协调可以提高探测的有效性与准确性.梁建等针对复杂动态环境下多机器人SLAM问题,提出利用计算智能算法进行分析,研究表明,多机器人协同工作可以提高SLAM的精度[32].同时,多机器人SLAM的容错能力更强,在复杂的月面非结构化环境下,可以解决单一模型算法偏差或者错误的数据关联问题[33].
在SLAM技术研究中,移动机器人在未知环境下进行自主探索,如何把探索策略和SLAM算法结合是一个重要方向,这就是主动SLAM问题.主动SLAM算法是将SLAM与某种环境探测方法相结合,平衡探索策略的速度与机器人定位精度和地图构建准确度之间的联系.
以深度学习为代表的人工智能算法近年来在计算机视觉、信息处理等领域发挥了重大作用,将人工智能技术与SLAM技术相结合,可以增强对实际场景的理解,在地图构建得到的三维模型上进一步通过模式识别提取其中的语义信息,可以解决在未知动态环境下SLAM技术的挑战,并极大提高算法性能.
深度学习可以自动获取图像特征,SLAM技术中特征提取、闭环检测、语义地图等都可通过深度学习技术获得更优的结果.如果算法能识别出点云中的物体,就可以知道它是什么、是否能移动,然后就可以去判断它是否在移动,动态场景的问题就会得到较好的解决.Costante等[34]将SLAM技术与卷积神经网络结合,利用卷积神经网络获得视觉里程计的特征和最优的估计器.
随着我国深空探测的进一步发展,月球车对导航的自主性要求也更高,目前相关研究还处于发展阶段,结合SLAM技术的研发实践总结以下研究突破点.
SLAM系统由多个子模块组成,针对不同实际环境下的问题,对模型进行改进与完善.探索出鲁棒性更强、定位精度更高、实时性更好、计算复杂度更低的SLAM算法.
对于非结构化环境和动态环境下SLAM技术一直无法较好实现的问题,可以针对相关分支问题,在某一模块进行研究突破,例如探索出更加鲁棒的图像特征、更加准确的特征提取与匹配算法、更加精确的视觉传感器标定方法、更加快速的闭环检测算法等.
视觉SLAM领域研究者们逐渐关注针对不同的层次信息进行融合,研究涉及认知心理学、人工智能、仿生学等领域,将低层次的数据融合或高层次的决策级融合,在复杂环境下提高移动机器人的智能感知.
传统的SLAM地图描述缺乏语义信息,对SLAM技术的应用具有一定的局限性.机器人需要具备智能场景理解以及目标识别的能力,将人工智能算法融入SLAM技术,构造含有语义信息的地图,是解决该问题并提升算法性能的重要方法.
参考文献:
[1] 王伟,鲍劲松,金烨,等.月球车虚拟仿真系统中自主导航的实现[J].机械设计与研究,2009, 25(2):65-69.
[2] 曹凤萍,王荣本,张亮修.基于双目立体视觉的月球车三维定位算法[J].交通信息与安全, 2012, 30(4): 28-33.
[3] DURRANT-WHYTE H, BAILEY T. Simultaneous localization and mapping: part I[J]. IEEE robotics and automation magazine, 2016, 13(3): 99-110.
[4] 王忠立,赵杰,蔡鹤皋.大规模环境下基于图优化SLAM的图构建方法[J]. 哈尔滨工业大学学报,2015,47(1):75-85.
[5] 李琳辉,赵一兵,郭烈,等.沙质环境中基于视觉的月球车定位方法[J]. 大连理工大学学报, 2011, 51(5): 744-749.
[6] KLEIN G, MURRAY D. Parallel tracking and mapping for small AR workspaces[C]//IEEE and ACM International Symposium on Mixed and Augmented Reality. Nara, Japan: IEEE, 2007:1-10.
[7] ENGEL J, SCHOPS T, GERMERS D. LSD-SLAM: Large scale direct monocular SLAM[C]//European Conference on Computer Vision. Switzerland: Springer, 2014:834-849.
[8] ENDRES F, HESS J, STURM J, et al. 3-d mapping with an rgb-d camera[J]. IEEE transactions on robotics, 2014, 30(1): 177-187.
[9] MUR-ARTAL R, MONTIEL J M M, TARDOS J D. ORB-SLAM: A versatile and accurate monocular SLAM system[J]. IEEE transactions on robotics, 2017, 31(5):1147-1163.
[10] CADENA C, CARLONE L, CARRILLO H, et al. Simultaneous localization and mapping: present, future, and the robust-perception age[J]. IEEE transactions on robotics, 2016, 32(6):120-124.
[11] EADE E, DRUMMOND T. Edge landmarks in monocular SLAM[J]. Image and vision computing, 2009, 27(5):588-596.
[12] LOWE D G. Distinctive image features from scale-invariant key points[J]. International journal on computer vision, 2004, 60(2): 91-110.
[13] ALI A M, NORDIN M J. SIFT based monocular SLAM with multi-clouds features for indoor navigation[C]//2010 IEEE Region 10 Conference. Fukuoka: IEEE, 2010: 2326-2331.
[14] ZHU D X. Binocular Vision-SLAM using improved SIFT algorithm[C]// International Workshop on Intelligent Systems and Applications. Wuhan, China: IEEE, 2010:1-4.
[15] YE Y. The research of SLAM monocular vision based on the improved surf feature[C]//International Conference on Computational Intelligence and Communication Net-works. Hong Kong, China: IEEE, 2014:344-348.
[16] CALONDER M, OZUYSAL M, TRZCINSKI T, et al. BRIEF: Computing a local binary descriptor very fast[J]. IEEE transactions on software engineering, 2012, 34(7):1281-1298.
[17] 孙凤池,黄亚楼,康叶伟.基于视觉的移动机器人同时定位与建图研究进展[J]. 控制理论与应用,2010,27(4): 488-494.
[18] 李海丰,胡遵河,陈新伟.PLP-SLAM:基于点、线、面特征融合的视觉SLAM方法[J]. 机器人,2017,39(2): 214-220.
[19] DAVISON A J, REID I D, MOLTON N D, et al. MonoSLAM: real-time single camera SLAM[J]. IEEE transactions on pattern analysis and machine intelligence, 2007, 29(6): 1052-1067.
[20] 曹军,曾碧,何元烈.基于路标观测的改进EKF-SLAM算法[J]. 自动化与信息工程,2014,35(1):21-26+31.
[21] 许亚朝,何秋生,王少江,等.一种改进的自适应卡尔曼滤波算法[J]. 太原科技大学学报,2016,37(3):163-168.
[22] DOUCET A, FREITAS N D, MURPHY K, et al. Rao-blackwellised particle filtering for dynamic Bayesian networks[C]//Conference on Uncertainty in Artificial Intelligence. San Francisco: Morgan Kaufmann, 2000: 176-183.
[23] MONTEMERLO M, THRUN S, ROLLER D, et al. Fastslam2.0: an improved particle filtering algorithm for simultaneous localization and mapping that provably converges[C]//International Joint Conference on Artificial Intelligence. Mexico: Morgan Kaufmann, 2003: 1151-1156.
[24] 宋宇,李庆玲,康轶非,等.平方根容积Rao-Blackwillised粒子滤波SLAM算法[J]. 自动化学报,2014,40(2):35 7-367.
[25] 梁明杰,闵华清,罗荣华.基于图优化的同时定位与地图创建综述[J]. 机器人,2013,35(4):500-512.
[26] 权美香,朴松昊,李国. 视觉SLAM综述[J]. 智能系统学报,2016,11(6):768-776.
[27] 吴勇,关胜晓.基于无迹卡尔曼滤波器的改进SLAM问题求解方法[J]. 计算机系统应用,2017,26(3):30-36.
[28] ZHOU W, MIRO J V, DISSANAYAKE G. Information-efficient 3-d visual SLAM for unstructured domains [J]. IEEE transaction on robotics, 2008, 24(5): 1078-1087.
[29] TAN W, LIU H, DONG Z, et al. Robust monocular SLAM in dynamic environments[C]//IEEE Internationalsymposium on Mixed and Augmented Reality. Los Alamitos: IEEE, 2013: 209-218.
[30] LOPEZ D G, SJO K, PAUL C, et al, Hybrid laser and vision based object search and localization[C]//IEEE International Conference on Robotics and Automation. Pasadena: IEEE, 2008: 2636-2643.
[31] MUR-ARTAL R, TARDOS J D, Visual-Inertial Monocular SLAM with map reuse[J]. IEEE robotics and automation letters, 2017, 2(2): 796-803.
[32] 梁建,吕强,卫恒,等.基于智能算法的多机器人SLAM方法[J]. 中国科技信息,2016,(23):21-22.
[33] 吕强,林辉灿,张洋,等. 基于视觉的多机器人协作SLAM问题[J]. 科技导报,2015,33(23):110-115.
[34] COSTANTE G, MANCINI M, VALIGI P, et al. Exploring representation learning with CNNs for frame-to-frame ego-motion estimation [J]. IEEE robotics and automation letters, 2015,1(1): 18-25.
Abstract: Latest research progresses of SLAM (simultaneous localization and mapping) using in the unstructured complex environment of lunar surface were summarized. In addition, we focued on summarizing and comparing the detection and matching of features of SIFT, SURF and ORB, and analyzed the three main methods: SLAM Based on Extended Kalman Filter, SLAM Based on Particle Filter and SLAM Based on Graph Optimization (EKF-SLAM, PF-SLAM and Graph-based SLAM). Furthermore, the challenge of SLAM technology was studied deeply. Finally, the future research directions of advanced SLAM were discussed. The research showed that certain research achievements were made in the study of s multi-sensor fusion SLAM, multi-robot cooperative SLAM, active SLAM and combined with artificial intelligence technology. However, there were few research in this field aiming at optimization method model, related problem branch research and semantic mapping which should be taken as the primary research direction in the next step.
Key words: simultaneous localization and mapping(SLAM); feature extraction; filter-based; graph optimization; unstructured environment
文章编号:1671-6833(2018)03-0045-06
收稿日期:2017-11-20;
修订日期:2017-12-30
基金项目:国家自然科学基金资助项目(11603057)
中图分类号:V476.3; TP242.6
文献标志码:A
doi:10.13705/j.issn.1671-6833.2018.03.001