移动机器人视觉SLAM回环检测现状研究
2023-02-18赵燕成杜保帅赵景波
赵燕成,房 桐,杜保帅,赵景波
(青岛理工大学 信息与控制工程学院,山东 青岛 266520)
0 引言
随着人工智能技术的快速进步与发展,移动机器人在日常生活和工业生产等方面发挥了重要作用,其应用领域众多,包括自动驾驶、物流配送、卫生清洁和生物医疗等。同步定位与建图(Simultaneous Localization and Mapping,SLAM)技术是移动机器人实现应用的前提条件,它在机器人进入陌生的未知环境后,使用各类传感器感知外界环境并构建地图,同时确定自身所处的位置。得益于计算机视觉的发展,以高清相机作为传感器的视觉SLAM领域取得了很多成果。经过科研人员的长期研究,视觉SLAM已经形成了一套完整的算法框架,包括传感器数据、前端视觉里程计、回环检测(Loop Closure Detection,LCD)、后端(非线性)优化和建图[1]。在移动机器人的实际工作中,系统保持较长的时间和大范围的工作后容易产生累积误差,而LCD的目的就是消除此类误差。LCD一方面能够估计运动轨迹在长时间运行下的正确性,另一方面通过数据关联进行重新定位,确保移动机器人完成相关任务。因此,LCD对整个视觉SLAM系统鲁棒性和定位精度的提升有着重要作用。
本文首先根据不同分类方式对现有的LCD方式进行阐述,对当前较为主流的传统LCD方法进行了总结。其次,针对当前基于深度学习的LCD方法进行了归纳。最后,结合移动机器人的实际应用对LCD技术当前面临的挑战及未来前景进行了展望。
1 LCD基本问题
对于视觉SLAM问题,姿态的估计是一个递归过程。也就是说,当前帧的姿态是根据前一帧的姿势计算得出,因此在前一帧中虽然建立了系统姿势约束,但是每次推算的姿态都可能存在误差,如果位姿误差持续出现,就会导致累积误差,将很大程度上降低机器人长时间运行下估算结果的稳定性和可靠性,从而导致无法成功构建全局一致且准确度高的轨迹和地图。经典视觉SLAM系统框架如图1所示。
图1 经典视觉SLAM系统框架Fig.1 Classical visual SLAM system framework
LCD又称为闭环检测,是指移动机器人识别曾到达某场景,使得地图闭环的能力。基本流程是通过对比图像之间的关键帧进行相似度计算,进而判断是否经过同一个地方或“回到了原点”。LCD问题的实质是通过关联当前数据和历史数据,利用视觉算法识别是否到达过某个地点,运用地图回环的性质,对当前的位置进行修正,消除漂移,在地图构建中起到减少累积误差的作用。
2 传统LCD算法分类
经过不断深入研究,越来越多的LCD方法被提出并得到应用。传统的LCD算法主要分为2种:基于几何信息的LCD算法和基于外观信息的LCD算法。基于几何信息的LCD算法是通过不断判断移动机器人当前所处位置是否在之前到过某个位置附近,进而进行LCD,这种检测方法虽然原理简单、容易实现,但由于无法消除累积误差,在复杂的大回环场景中,往往无法正确发现是否到达历史位置附近这一事实,导致LCD失效[2]。基于外观信息的LCD算法关键是计算图像间的相似性,通过传感器获取图像信息,利用计算机视觉相关算法判断不同时间的场景相似性,进而确定LCD关系,此类算法在不同的场景下都得到了较好的回环效果,是目前传统LCD的主流算法。
根据数据关联方式的不同可以将基于外观信息的LCD方法分为 基于地图和地图(Map-to-Map)、基于图像和地图(Image-to-Map)和基于图像和图像(Image-to-Image)的3种匹配方法[3]。
(1)Map-to-Map
该方法通过将全局的环境地图分成各个小单元的子地图,寻找各子地图之间的相似关系来判断是否完成LCD。Clemente等[4]提出了一种基于单目相机的子地图间LCD方法,该方法使用分层地图方法和EKF-SLAM 技术构建独立的局部地图,通过不同视觉场景下子地图彼此的相似度和特征向量之间的相对距离计算出存在的最大公共特征集,进而完成LCD的工作。但此方法在进行子地图的匹配过程中要提取大量数据,不断重复迭代计算,随着环境地图信息的不断丰富,会出现匹配精度不高和实时性差等问题,所以不适合用在大规模的图像环境中。
(2)Image-to-Map
为解决子地图匹配无法满足在大规模图像下的LCD要求,提出基于图像和地图间的匹配方法,该方法通过寻找最新图像和地图特征之间的关系,实现特征匹配。Williams等[5]利用重定位系统,使用三点位姿算法和随机采样一致性算法对移动机器人的位姿进行计算,然后使用随机蕨类分类器检测地图特征潜在的对应关系完成系统的LCD。该方法提高了检测的快速性和实时性,但需要存储大量的环境信息,对内存空间要求较高,在实际使用过程中存在一定的局限性。
(3)Image-to-Image
当前主流的LCD方法都是基于图像与图像间的匹配完成的,该方法通过寻找当前图像和以前图像的对应关系来实现。因此,LCD的核心问题变成了图像间的相似度计算问题,其中视觉词袋模型(BoVW)是目前常见的方法。对3种不同的LCD算法进行了对比,如表1所示。
表1 3种LCD方法对比Tab.1 Comparison of three LCD methods
3 特征描述子分类
在传统的方法中,主要依赖人工设计的特征来描述图像。人工特征又分为局部特征和全局特征,局部特征主要有SIFT,SURF,ORB等算法,全局特征主要有GIST,BRIEF等算法。
局部特征描述是指以提取的特征点为中心生成的图像局部描述。最早Lowe[6]提出了SIFT特征提取算法,该算法的尺度空间由高斯卷积核建立,因此对提取的特征点在尺度、旋转和光照等方面具有良好的不变性,是一种鲁棒性较强的特征描述子,但其特征点提取复杂,因此存在运算量大、运算效率低下的问题,不利于SLAM系统的实时构建。随后,为提高运算效率,Bay等[7]提出了SURF算法,Rublee等[8]提出了ORB算法。其中,SURF算法在SIFT的基础上优化了特征点的提取、尺度空间的构建和图像描述方式,通过牺牲一部分性能来提高效率。ORB算法则融合了FAST特征检测算法和BRIEF向量创建算法,既保证了缩放不变性和旋转不变性,又提高了算法效率。
图像的全局特征描述以场景为中心,Oliva等[9]提出的GIST算法是目前使用最广泛的全局特征描述方法,通过Gabor滤波器在不同的频率和角度上提取图像信息进行特征描述,对场景的检索不需要对图像进行分割和局部特征的提取。考虑到局部特征描述子也可以聚合全局特征描述子,Galvez-López等[10]提出了BRIEF算法,该算法首先对图像进行下采样,然后围绕图像中心进行特征匹配,适用于一些大规模场景的视觉SLAM系统。
但是这些依赖人工设计的特征描述通常都是基于某些特定场景提出的,有一个共同问题是受外界环境(如光照、天气)变化影响较大,在室外复杂场景下LCD的准确率和实时性往往表现不佳。
4 主流LCD算法
4.1 基于视觉词袋模型的LCD算法
随着计算机视觉的发展,基于外观信息的LCD算法成为早期的主流算法,BoVW是其中最常见的算法。Baeza-Yates等[11]首次提出词袋(BoW)模型,并应用于文本检索领域。Sivic等[12]首次将BoW模型引入到计算机视觉领域,提出了一种面向对象和场景搜索方法,核心是将文本转换成向量的方式,实现图像间的匹配。BoVW通常包括以下步骤[13]:
① 提取图像特征:使用提取算法,从图像中提取特征描述;
② 构造视觉词典:对训练图像的特征进行聚类分析生成视觉单词,所有的视觉单词组成视觉词典;
③ 视觉单词直方图:计算词典中各个单词在该图像中显示的次数,生成视觉单词直方图,用该直方图表示图像信息。
BoVW因其检测效率高、检索准确率高,已经广泛应用到了视觉SLAM系统的LCD中。BoVW流程如图2所示。
图2 BoVW流程Fig.2 Flow chart of BoVW
当前,K-Means聚类是生成视觉词典的主要算法,在无监督学习中得到广泛使用。K-Means聚类算法流程[14]如图3所示。
图3 K-Means聚类算法流程Fig.3 Flow chart of K-Means clustering algorithm
K-Means算法简单、聚类效果好,但也存在一定的局限性,比如容易受聚类数量、异常点影响,对于高维的数据聚类以及聚类收敛效率等实际效果不好。在此基础上,许多研究人员提出了不少改进方法。最早在1973年,Dunn等[15]提出了模糊K-Means聚类算法,在此算法中数据点可以同时属于多个聚类,对于服从正态分布的数据聚类效果较好。Nistér等[16]在此基础上提出了词汇树的概念,该方法建立在局部区域提取描述子的基础上,其描述子在词汇树中被分层量化,通过树形结构将描述子存储到词汇树中,不仅加快了特征匹配的速度,还在具有背景杂波和遮挡情况下具有较强的鲁棒性。Galvez-López等[17]基于词汇树结构,使用从FAST+BRIEF 特征获得的词袋进行视觉位置识别,首次构建了一个离散化二进制描述空间的词汇树,检索词汇利用分层结构变得更加快捷,实验证明,此种方法比传统方法速度快一个数量级。Philbin等[18]提出了近似K-Means聚类算法(AKM),主要思想是引入了一种基于随机树的新量化方法,同时添加了高效的空间验证,对词汇袋模型返回的结果重新排序,持续提高了聚类收敛的速度和数据的搜索质量,并成功运用到大规模的对象检索系统中。Gu等[19]提出了快速近似K-Means聚类算法(FAKM),利用对聚类中心分类的思想,将样本较少的聚类中心过滤掉,通过提取的数据中稳定且集中的聚类中心减少了迭代过程和迭代的计算量,从而提升了算法的运算速度并细化了聚类结果,通过实验证明,此方法在聚类时间、检索时间和检索精度的鲁棒性方面优于K-Means和AKM算法。
Newman等[20]首次把BoW模型用于视觉SLAM系统的LCD中,使用视觉显著性的概念来集中选择合适的(仿射不变的)图像特征描述子并将其存储在数据库中,通过用新拍摄的图像与数据库比较,利用返回的对比结果判断是否发生回环,达到LCD的目的。为提高BoW模型的普适性和解决匹配准确度的问题,Schindler等[21]对视觉词典构造中图像特征的选择进行了优化,通过对特征描述子的信息量化,同时运用信息增益做特征选择,将区分性好的特征挑选出来并构造词典,使该方法的检索、匹配效果有了明显提高。Angeli等[22]提出了一种在线方法,可以使用局部形状和颜色信息检测图像何时来自已经感知的场景,对BoW模型增加增量条件,同时利用贝叶斯滤波模型来估算回环的概率,极大提高了LCD的实时性和准确性。Cummins等[23]基于视觉词汇间的关系提出了FAB-MAP算法,该算法在BoW模型和贝叶斯模型的基础上采用Chow Liu树结构近似描述词汇间的相关性,使用FAST算子提取图像特征构造视觉词典,通过不同环境下特征向量的相似度计算来判断是否发生了回环。Mur-Artal[24]等提出的ORB-SLAM2算法借助BoW模型通过追踪线程、局部建图线程和LCD线程得到了较强的重定位和LCD能力,对旋转、尺度和光照改变具有出色的不变性,对图像特征的提取和匹配拥有很好的实时性和准确性,是目前使用最为广泛的SLAM系统。Labbe等[25]提出了扩展RTAB-Map的算法,该方法采用贝叶斯估计来实时更新各个场景出现回环的概率,并仅使用概率较大的场景参与LCD,极大地缩短了LCD的时间,提高了LCD的实时性,适用于处理大规模和长期的在线操作。
最近几年,也不断有新的基于BoW模型的算法被提出。Garcia等[26]提出了一种新颖的iBoW-LCD算法,该算法利用基于二进制描述子的增量词袋方案来检索先前看到的相似图像,避免了传统BoW模型通常需要的词汇训练阶段。此外,将iBoW-LCD 建立在动态岛的概念之上,可以及时对相似的图像分类,从而减少了系统的运算时间。Tsintotas等[27]则提出了一种高效的Bag of Tracked Words(BoTW)检测算法,该算法通过特征跟踪在线生成少量视觉词汇对走过的轨迹进行编码,构建新的“追踪词袋”。通过邻近投票方案来查询数据库,并为所有访问过的位置分配概率分数,生成的分数利用贝叶斯过滤器进行处理,以估计机器人在地图上的位置状态,该算法保持了高运行频率和高召回率以实现完美的精度。Papapetros等[28]提出了一种基于视觉跟踪特征的LCD方法,并结合信号峰值跟踪滤波进行回环识别。该方法首先提取局部的二进制特征,同时通过连续帧在线生成视觉词汇,形成一个增量的视觉词汇包,通过峰值的跟踪滤波技术使每张图像仅用少量的视觉局部特征,从而大大缩小了视觉词汇量,提高了相似度计算效率。为了减少外界光照变化对传统LCD算法的影响,刘凌云等[29]结合可在线增删视觉词的词袋模型,提出了一种适用于光照易变场景下的LCD方法。该算法根据Shannon[30]提出的图像熵度量初始图像的局部特征信息,利用基于曝光区域的自适应直方图均衡化对图像进行预处理,使图像恢复更多的细节信息。实验证明,在室外光照易变的环境中,该算法既确保了实时性,又增强和提升了系统的鲁棒性和召回率。
基于BoW模型和其改进算法已成功运用在不同场景下移动机器人的LCD模块中,并取得良好的效果。但在大规模场景中,随着图像数据的急速增长,怎样提升算法的准确率和运算效率仍是未来要思考的问题。
4.2 基于深度学习的LCD算法
近几年,随着深度学习技术在图像识别、计算机视觉和移动机器人等领域的不断发展,为SLAM系统中的LCD模块提供了新的解决思路。早在2006年,由Hinton等[31]真正意义上首次提出了深度学习技术,提出了一种基于深度信任网络的无监督学习算法,采用逐层预训练的方法来优化神经网络模型。深度学习是一类模式分析方法的总称,其典型模型包括卷积神经网络(Convolutional Neural Network,CNN)、堆栈自编码网络(Stacked Autoencoder Network,SAEN)和深度置信网络(Deep Belief Network,DBN)。其中,CNN和无监督的自动编码器是目前运用最多的方法,也是当前2个主要的研究方向。
基于CNN的LCD方法通过卷积层提取场景中的深层次特征,相比于传统的人工设计特征,该算法拥有强健的信息提取能力和更有效的特征表示,因此使用CNN的LCD方法具有更好的准确率。基于CNN的LCD流程如图4所示。
图4 基于CNN的LCD流程Fig.4 LCD flow chart based on CNN
CNN最早应用于图像分类和图像检索的任务中,并取得了令人鼓舞的成绩。Krizhevsky等[32]在2012年提出了AlexNet模型,该模型大大提高了图像的分类速度和准确率,并在同年的ImageNet竞赛中取得了冠军。Chen等[33]在2014年首次提出了基于CNN模型的位置识别技术,在公开数据集上的实验表明,该方法利用模型提取特征信息,显著提升了图像匹配的召回率,优于大多数传统基于人工设计特征的方法。Hou等[34]则利用AlexNet模型对图像进行特征提取,使用卷积网络的中间层作为图像描述符,运用二范数来进行回环相似度的判断。与传统人工特征描述符相比,实验证明,在光照没有显著改变的环境下,基于CNN的图像特征匹配和传统人工特征匹配能力接近;当光照变化显著时,基于CNN的图像特征匹配的表现优于传统人工特征;基于CNN的特征描述具有更高的鲁棒性,同时提取速度比传统人工特征方法更快。为了优化复杂场景中算法鲁棒性的问题,Sunderhauf等[35]提出了一种基于CNN的地标识别方法,使用CNN的预训练模型,通过Edge Boxes识别系统和图像中的地标区域来描述场景信息,然后采用CNN对提取的特征进行精准匹配。实验证明,该方法显著提高了在视角、光照等条件变化和部分遮挡情况下系统的鲁棒性。基于CNN的地标识别流程如图5所示。同年,Sunderhauf等[36]在AlexNet模型的基础上,探讨了CNN各层特征在不断变化的环境中用于位置识别任务的可行性,分析了CNN层次结构中不同层在不同数据集上的性能,证明了CNN中间层,尤其是第3个卷积层对大范围的外观变化更具有鲁棒性,而高层第一个全连接层对视角变化更具有鲁棒性,即使在面对复杂的条件变化时也能实现可靠的图像匹配。但由于上述深度网络过于复杂,往往无法满足LCD的实时性,因此Hou等[37]提出了一种Bag of ConvNet的匹配方法,该算法基于BoW模型并利用ConvNet提取的图像特征构建视觉BoW,通过局部敏感哈希算法[38]对视觉BoW进行降维,使用基于哈希的投票方案确定图像之间的最佳匹配,从而提高了图像匹配的效率,加快了实现LCD的速度。
图5 基于CNN的地标识别流程Fig.5 Flow chart of landmark recognition based on CNN
2014年,牛津大学计算机视觉研究组提出了一种新的VGGNet模型[39],该模型继承了AlexNet 的结构特点,同时降低了计算量,增加了网络深度,这些优点使其泛化性能更好,因此能够很好地适应于分类和定位的任务中,其中VGG16和是VGG19是目前最常用的配置。Tolias等[40]采用AlexNet和VGG16作为特征提取器,提出了一种R-MAC算法,该算法通过构建密集的特征向量,可以对多个图像区域进行编码,同时扩展了积分图像以处理卷积层激活的最大池化,从而使系统能够有效地定位匹配对象,因此显著改进了现有的基于CNN的识别通道。Chen等[41]通过深入研究CNN的内部结构,提出了新的基于CNN的图像特征,该方法使用在 ImageNet上预训练的VGG16网络,并使用卷积层进行区域识别,通过识别显著区域并直接从卷积层激活区域表征进行位置识别。实验证明,在复杂环境和光照易变的情况下,该方法具有优越的召回率和鲁棒性。随着图像数据的不断增加,为改善LCD的准确率和实时性,张学典等[42]提出了基于VGG16模型的快速LCD算法,该算法采用VGG16模型提取场景中的全局特征描述符,通过自适应粒子滤波来改善运算时间。实验表明,该算法与同类算法相比大大提高了运算效率,同时在相同准确率下提高了召回率,并有效克服了计算时间不断增长的问题。同样,余宇等[43]提出了一种结合VGG19网络和局部敏感哈希算法的快速检测方法。该算法首先通过VGG19网络对图像特征进行整体提取并构建对应的特征向量矩阵,然后利用级联的余弦距离哈希函数对构造的特征向量矩阵进行降维聚类。实验表明,该算法极大地改善了LCD的准确率并提高了运算时间,更好地满足SLAM系统对减少误差和实时性的要求。
深度学习CNN应用于移动机器人的LCD模块中属于有监督学习,在学习时会需要人工来进行数据的标注,在复杂大环境下无法满足实时性的要求。与有监督的学习相比较,无监督的学习采用自主学习的方式,免除了需要人工标注数据的工作,降低了原始输入数据的位数,提高了图像特征提取的效率,成为深度学习领域的一个新里程碑。Gao等[44]首次提出了一种基于深度神经网络的无监督学习方式。该算法利用堆叠式降噪自动编码器(SDA)提取图像特征,通过自主学习的无监督方式训练数据网络,将数据进行相似性计算并组建相似矩阵。实验证明,相比传统的词袋模型,该算法在复杂的场景下能够取得较高的精度,但在关键帧匹配方面存在耗时严重的问题,仍无法满足系统实时性的要求。为了解决上述问题,Merrill等[45]在自动编码器的架构上提出了一种新的无监督深度神经网络算法,该算法利用定向梯度直方图 (HOG) 提供的几何信息和光照不变性,运用编码器重建 HOG 描述符,其训练模型直接从原始图像中提取特征,且不需要标记特定环境的训练,在外观环境显著变化下仍具有较强的鲁棒性,但也存在对相似的物体区分能力弱和定位精度低的问题。张云洲等[46]提出了基于无监督的栈式卷积自动编码器(CAE)算法,CAE是基于CNN的自动编码器,利用卷积网络将信号进行编码并尝试重构输入的网络模型,其更加注重局部特征的学习。该算法通过训练将维度较高的原图像降到较低的维度,然后采用训练好的CAE和已优化的特征进行场景的相似性判断。实验证明,相比词袋模型和其他深度学习模型,该算法在移动机器人的LCD模块取得了更好的准确性和鲁棒性。
在2014年,Goodfellow等[47]提出了基于博弈论的生成对抗网络(GAN),其作为新的无监督的深度学习模型受到广泛关注,并应用于视觉SLAM系统的LCD中,GAN的基本模型如图6所示。在此基础上,Shin等[48]提出了基于GAN的LCD算法,该算法运用面向位置的数据集训练生成对抗模型,从模型判别器的高维空间中提取局部的特征描述符,获得了较好的实践效果,但该方法因要提取较高维度的特征描述符,所以会占用大量的存储空间,因此对机器人系统要求较高。受上述方法的启发,杨慧等[49]利用生成对抗思想,提出了一种基于二进制的GAN。该算法利用距离传播损失函数和二值化表示熵损失函数来提取无监督的高区分度和低维度的二进制特征描述符,利用 BoVW模型将提取的局部特征融合为全局特征用于LCD。实验证明,相比SIFT等传统特征提取方法,该算法在室外环境拥有更优越的鲁棒性和实时性,同时运用二进制特征描述符也能够节省大量的存储空间和计算资源。
图6 GAN的基本模型Fig.6 Basic model of GAN
在实际问题中,移动机器人往往是运动的,处在一个不断变化的复杂场景中,容易受到动态物体的干扰,导致系统LCD的准确率和召回率大大降低。依赖深度学习技术,越来越多的学者将语义信息融入到了视觉SLAM算法中,通过增加语义信息可以有效提高移动机器人在动态物体干扰下LCD的准确率和实时性。目前,语义信息主要通过目标检测和语义分割2种方式获取,其中目标检测主要获取场景中的稀疏信息,语义分割则主要获取场景中的稠密信息。Gawel等[50]提出了一种多视图语义全局定位算法,该算法引入基于随机游走的图描述符,将具有语义目标信息的关键帧用新的语义拓扑图表示,利用语义分割的图像处理成全局定位的完整流程。此次实验结果表明了将语义图形表示用于大规模机器人全局定位任务的潜力。Hu等[51]提出了一种融合语义信息的LCD方法,该算法将用于图像目标检测的Faster R-CNN模型应用于BoVW,实现基于BoVW的语义相似度和特征点相似度的融合,利用语义信息解决BoVW不匹配的问题。实验证明,该方法在动态场景中获得了较好的LCD效果。郑冰清等[52]提出了新的融合语义信息应用于视觉SLAM语义地图构建和LCD的方法。该算法采用YOLOv3网络对图像的关键帧进行语义标记,然后采用条件随机场算法将标记的语义信息和场景分割的聚类信息融合来构建语义地图,其中LCD是通过标记的关键帧语义信息对BoVW进行改造,进而提高动态场景下系统的定位精度。Yuan等[53]提出了一种基于语义-视觉-几何信息的LCD算法(SVG-Loop),为了减少动态特征的干扰,首先将视觉特征与语义标签连接起来构建语义词袋模型。其次,为了提高不同场景下的检测鲁棒性,通过对语义地图的几何关系进行编码,设计了语义地标向量模型。最后,通过语义、视觉2个模块的融合计算来整合几何信息。实验证明,通过更高层次的图像信息和多信息融合可以提高地点识别的鲁棒性,在光照多变、天气多变和动态干扰的复杂环境中具有更好的优势。
与传统BoW模型算法相比,基于深度学习的算法摆脱了人工设计的特征,能够提取更深层次的图像特征,使系统的泛化能力也更强。尤其加入语义信息后,构建的语义地图信息更加丰富,在面对光照、动态干扰等复杂环境中拥有更好的适应性。从不同方面对2大类的LCD算法进行比较,如表2所示。
表2 LCD算法对比Tab.2 Comparison of LCD algorithms
5 LCD性能评估
在LCD中,其性能指标的评价主要有:准确率-召回率曲线(Precision-Recall Curve)和时间性能2类。
5.1 准确率-召回率曲线
在现实生活中,通过眼睛和大脑能够以较高的准确率判断“环境中2张图像是否为相同的场景或者二者之间存在的相似性”,而移动机器人LCD的重点同样是为了在面对不同图像得到和人类一样的判断。根据机器人系统程序预测的结果,可以将其分为4种情况,如表3所示。
表3 LCD结果分类Tab.3 Classification of LCD results
其中,假阳性又称作感知偏差,如图7所示,2幅图片看起来相似,但并不是同一个地方;假阴性又称作感知变异,如图8所示,2幅图片是同一个地方,但并不相似。
(a) 假阳性示例a
(b) 假阳性示例b图7 假阳性示例对比Fig.7 Comparison of FP examples
(a) 假阴性示例a
(b) 假阴性示例b图8 假阴性示例对比Fig.8 Comparison of FN examples
为更加直观地看出LCD的效果,通常采用准确率(Precision)和召回率(Recall)2个指标。准确率表示检测到是回环的结果里面有多少是真的回环,召回率表示所有实际的回环中能检测出多少个回环。
(1)
(2)
一个优秀的算法应同时拥有较高的准确率和召回率,但在实际问题中,双方往往是一对矛盾,即当一方结果增大时,另一方会随之下降,二者无法同时满足。因此,准确率-召回率曲线(PR曲线)则是评价检测算法好坏的综合性能指标。3种不同的LCD算法PR曲线如图9所示。
图9 PR曲线Fig.9 PR curve
通过对比验证了基于Image-to-Image匹配算法的优越性。由于假阳性的回环会对后端的位姿图产生影响,而准确率的下降会造成整个地图的失效,所以在SLAM系统里一般要求准确率高些,而召回率相比宽松一些。
5.2 时间性能
在移动机器人的实际应用中,实时性也是衡量LCD的一个重要指标。随着机器人在大规模环境下长时间工作,需要保存的观测的图像和数据信息不断增多,一般会导致系统的运算效率变得越来越慢,而这个问题和LCD算法、机器人硬件设备、数据集都有一定的关系。部分LCD算法在不同数据集下的时间性能如表4所示。
表4 部分LCD算法的时间性能Tab.4 Time performance of partial LCD algorithm 单位:s
从表4可以看出,在时间性能方面基于深度学习的几种算法明显优于传统的检测算法。
6 LCD面临的挑战及未来展望
6.1 面临的挑战
传统基于BoW模型的LCD算法虽仍是目前主流的算法,但也逐渐暴露出一些缺点和局限性,主要体现在:① BoVW完全依赖外观信息,需要提前利用大量数据构建视觉词典,训练时间长,在大规模场景下较为耗时;② 在图像特征点过少、低纹理或无纹理环境中,容易导致LCD失败;③ 在室外环境中受到角度、光照、天气和动态目标变化等的影响,容易导致移动机器人定位精确度降低;④ 过于依赖人工的干预,基于人工特征的图像特征提取能力有限,在准确率和召回率方面很难有质的提升。
随着计算机视觉和深度学习发展,相比传统模型,利用深度学习技术的LCD算法在一定程度上提高了检测的鲁棒性和准确率。但同样面临诸多挑战:① 深度学习提取的特征信息缺少直观的意义,其CNN的预训练需要大量人工标记,训练结果非常依赖数据库的质量;② 在动态场景中,因为存在动态物体在不同场景中穿梭的情况,所以容易在不同场景再次检测到相同目标或者在相同场景却检测不到同一目标,进而造成误判或漏判;③ 在复杂自然环境中,容易受到光照、季节或恶劣天气的影响造成感知混叠,如何处理好感知混叠问题是一个重大挑战。
6.2 未来展望
(1) 基于深度学习技术
近几年,随着深度学习技术的发展,LCD也得到了广泛的发展,虽然发展时间较短,但在移动机器人面对低纹理、动态干扰的复杂场景中表现出了较强的鲁棒性。深度学习技术可提取更深层次的信息,这些信息融合语义分割能够变成更高水平的语义特征,不仅增强了对外观变化和视角变化的适应能力,而且简化了地图描述,节省了系统的存储空间[54]。同时加入语义信息可以辅助机器人系统更好地理解动态场景,以满足复杂场景的需求。鉴于深度学习在特征提取等方面的优越性,基于深度学习和结合语义信息的LCD算法拥有广阔的发展前景。
(2) 多描述子融合
由于单一描述子无法准确获取场景中的图像信息,所以当前SLAM系统LCD中往往融合了多种特征描述子,但不同的特征描述子之间存在着一些数据观测耦合和冗余信息,这与期望提高算法的实时性相矛盾。因此,采用多传感器融合方式和解决好多描述子数据融合的问题是有效提高LCD的鲁棒性和实时性的一个趋势。
(3) 与后端优化结合
SLAM系统的最终目的是通过后端优化得到全局一致的运动轨迹并建立对应的地图。LCD则是为了判断机器人是否发生了回环,之后将回环信息送给后端处理。因此,在规划LCD模型时,研究者应该考虑结合后端优化算法,将2个模块结合处理成一个整体设计。通过前期LCD保证准确率和召回率的同时,在后端优化过程中也能够减少回环失败对系统的影响,这将有助于地图的构建和提升SLAM系统的鲁棒性。
(4) 多机器人系统
随着实际生活、工作中对移动机器人应用要求的不断提高,多机器人系统间的协作运行、系统的轻量化和高计算性能已经成为研究者感兴趣并发力的方向。多机器人系统是目前最具前景的研究方向,相比较单一的机器人系统,多机器人系统的协作运行可在大型、陌生、危险和复杂场景中高效地完成特定任务。如何将SLAM中的LCD运用到多机器人系统的协作运行中是该方向重要的研究趋势。同时提高SLAM系统的轻量化和高计算性也能够提高移动机器人的应用范围和实时性。
7 结束语
本文以基于移动机器人视觉SLAM LCD为背景,对LCD的原理、当前视觉SALM领域主流的LCD算法进行了总结归纳。从前期回顾的文献中可以发现,基于深度学习的LCD算法比传统算法在复杂场景下具有更强的鲁棒性,当前在静态、强纹理、光照变化不明显、没有动态干扰的场景下的视觉SLAM技术已经非常成熟[55],但在动态、低纹理等复杂场景下仍需要进一步研究。
为了更好地解决当前LCD存在的问题,结合移动机器人工作,基于深度学习技术、多描述子融合、与后端优化结合和多机器人系统等方面将是移动机器人视觉SLAM系统未来的发展方向。总体而言,视觉SLAM从传统时代、算法分析时代,已经发展到了预测性-鲁棒性时代,面对更高级、更复杂场景下的感知,将扮演越来越重要的角色。