-
本文针对复杂环境下视觉SLAM闭环检测的3个主要问题:场景描述、决策模型和闭环检测性能评价展开综述;
-
与激光SLAM相比,视觉SLAM具有感知能力和重定位能力更强、安装方式多元化、更加廉价等优势;
-
场景描述方法主要包括:局部特征描述子、全局描述子、局部区域的全局描述子、结合深度信息的场景描述、场景的时变描述;
-
局部特征描述子是指以特征点为中心生成的图像局部区域描述;
- SIFT特征提取算法是目前广为使用的一种图像特征算法,对尺度、旋转和光照都具有一定的不变性,存在的问题是其特征点的提取和描述子的计算非常耗时;
- SURF算法、ORB算法大多以牺牲性能为代价来提高效率;
- 基于局部特征描述子的闭环检测技术能够在SLAM系统中实时运行的一项关键技术是视觉词袋模型;
- 由于视觉词汇都是预训练的,在不同场景下的泛化能力是一个很重要的问题。除了增加词汇数量的方法外,还可以根据观测模型信息进行在线更新词汇,这种方法不需要对视觉词汇进行预训练,从而获得了对环境的自适应能力;
- 基于局部特征描述的方法并不能应对较强的环境条件变化,解决思路有:引入几何信息来加强对场景的描述;或者研究更具鲁棒性的特征点和描述子,通过大量的数据让机器自己学习合适的特征表示,是目前常用的一种途径;
-
全局描述子:直接去计算整张图像的描述子;
- 一种广泛使用的全局描述子是Gist描述子,它使用Gabor滤波器在不同方向和频率下提取图像信息并压缩成1个向量来得到图像的描述;
- 近年围绕着“设计一种更好全局描述子”的工作大多是基于深度学习的方法,例如使用预训练的卷积神经网络(CNN)来进行场景识别;神经网络的低层生成的描述子对图像的描述更加精细,因而对场景的区分能力更强,而高层生成的描述子相对粗糙,但包含更多的语义信息,如何融合各层网络生成的特征以获得对场景更好的描述,对闭环检测来说仍然是有待研究的问题;
- 现有的卷积神经网络生成全局图像描述子的方法存在的问题:这种方法是为了专门用于图像分类来设计和训练的,因而它并不具备专门用于闭环检测任务的网络该有的特点;解决思路有:(1)微调现有的CNN、(2)重新设计CNN、(3)采用语义分割对动态和静态场景进行分离;
- 全局描述子比局部特征描述子对外观变化的鲁棒性稍好,但其对视角变化很敏感;条件变化稍复杂时,例如同时出现外观变化和视角变化的情况下,全局描述必须要结合其他方法才能获得应用,例如视角合成和序列匹配;
-
局部区域的全局描述子:局部特征点描述子和全局描述子优势互补的特点,使得很多研究者开始使用全局描述的方法来对图像的局部区域生成描述子;
- 生成局部区域最简单的方法是将图像划分为固定大小的方格,除此之外常用的生成局部区域的方法主要有3种:基于特征点的方法、基于图像分割的方法和基于物体提案的方法;
- 从原始图像中生成局部区域,再对局部区域生成全局描述子的方法,其优势是一方面兼顾了外观不变性和视角不变性,另一方面它使场景的定义更加灵活;
- 现有方法的问题还在于需要一种稳定性、语义性更强同时又兼顾效率的局部区域生成方法;
-
结合深度信息的场景描述:深度信息结合语义分割可生成更高级的语义特征来描述场景,从而增强对环境的认知能力;
- 深度信息的获取可通过RGB-D相机或者双目相机,即便是对单目相机而言,也可通过特征匹配和三角化的过程得到尺度未知的深度信息;
- 由深度信息结合图像信息建立的语义特征,不仅增强了对外观变化和视角变化的适应能力,而且简化了地图描述,节省了存储空间;
- 深度信息还可结合多视图几何来对生成的闭环进行验证,剔除错误的闭环;
-
场景的时变描述:在不同时间段使用不同的场景描述子;
- 生成时变描述子的方法主要有2种:一种是学习环境的变化规律以生成不同时间段下的描述子,另一种方法是直接用不同时间段的观测信息来代表同一个地点;
-
局部特征描述子是指以特征点为中心生成的图像局部区域描述;
-
决策模型:根据当前场景描述和地图信息识别出可能的闭环,合理的决策模型可有效提高闭环检测的准确度和召回率;
- 最简单的建模方法是将闭环检测看作是图像检索问题,而不考虑地图的拓扑信息和度量信息,计算当前图像和地图中所有图像的相似度,找到相似度最大的,如果相似度超过阈值,则认为出现了闭环;
- 利用拓扑信息和度量信息能提高闭环检测的性能;
- 决策模型建立:
- 利用拓扑信息主要有2种方式:一是将拓扑信息融入到概率模型的先验概率中;二是采用序列匹配的方法;
- 概率模型:生成概率分布,每一点的概率代表机器人回到地图上某一点的可能性;
- 序列匹配模型:从地图信息中寻找一个局部序列,和当前观测信息的局部序列进行匹配;这种方法能够在出现较剧烈的环境变化和图像混淆时,提升闭环检测的性能;
- 序列匹配方法的问题是计算非常耗时,尤其是对于大规模地图;
- 其他模型:基于路标点拓扑结构的闭环检测机制,共视图;受生物系统启发的模型;闭环检测问题同样可作为优化问题来求解;
- 利用度量信息:度量信息可从 SLAM 系统的前端或者 GPS 中获得,融合度量信息的闭环检测可以缩小闭环搜寻空间,提升闭环检测的性能;此外,从度量信息可得到位姿图的拓扑结构,可利用这种拓扑结构对生成的闭环进行验证;
- 利用几何信息:对基于局部特征描述子进行闭环检测的方法,可以使用特征点的几何信息来增强鲁棒性;
-
闭环检测的性能评价:
-
闭环检测常用的2项性能评价指标是准确率和召回率:
其中,TP表示正确的闭环数目,FP表示错误的闭环数目,FN表示未被检测出的真闭环数目;
-
实际操作中,准确率和召回率很难同时保证,一般用准确率-召回率曲线来反映闭环检测系统的综合性能;
-
如何设计合理的机制,使闭环检测方法能够和后端优化方法更好地配合,仍然是有待研究的问题;
-
可伸缩性是闭环检测的重要指标.这里的可伸缩性是指在长期SLAM过程中,随着地图不断增大,闭环检测仍能够保持一定的效率;
-
-
发展方向:
- 闭环检测与深度学习:当前深度学习与闭环检测的结合点主要在于利用深度神经网络生成更好的场景描述,在其他方面同样可以开展研究来提高闭环检测的性能;
- 闭环检测和后端优化:闭环检测的最终目的是更好地进行后端优化。在设计闭环检测的决策模型以及进行参数设定时,结合后端优化算法,把两者放在同一个框架下进行考虑,有助于为 SLAM 系统设计出更好的后端;
- 多种描述子融合的闭环检测方法:不同的图像描述子之间同时存在着互补信息和冗余信息,恰当的融合方法能够利用各种图像描述子的优势有效提高闭环检测的性能;