【论文解读】使用有监督和无监督的深度神经网络进行闭环检测
重磅干货,第一时间送达
由上海交通大学发表于2020 Robotics and Autonomous Systems
这篇论文提出了新的回环检测方法,利用所提出的超级字典代替原有的词袋字典,同时通过深度学习方法来提取特征。所提出的方法直接存储特征,而不需要创建字典,与传统BoW方法相比,节省了内存空间。论文使用两个神经网络来加速回环检测,并可以忽略掉动态对象对回环检测产生的影响。实验在5个常用数据集上,与DBoW2, DBoW3 和iBoW-LCD方法相比,所提出的方法在回环检测上更具鲁棒性,在计算效率上,所提方法比其他方法速度快8倍以上。
概述
图 1 论文提出的框架概览
在这篇工作中,论文通过忽略掉例如自行车、行人等带有移动属性的物体,从而提升回环检测的效果。在场景特征提取上,使用深度学习的方法提取特征,代替传统人工设计的特征。论文提出监督与无监督结合的方法,加快场景比较的速度。利用自动编码器检测新场景,提高了回环检测的效率。利用深度学习在特征提取方面的优势,引入了超级字典的概念,通过减少帧间比较,加快回环检测过程。
背景知识
回环检测是SLAM系统中重要的一环,回环检测是检验相机是否回到历史轨迹的一种机制,需要对环境相似性进行检验。SLAM前端通过连续帧之间的特征匹配关系,计算相机的位姿变换与地图点的位置,这个过程会不断的累积误差,而正确的回环检测,可以为后端提供有效约束,得到拓扑一致的相机轨迹以及场景模型。通常的回环是利用特征点提取与词袋模型方法进行检测的,但人工设计的特征对光照、视角等因素不具备鲁棒性,导致SLAM系统在复杂环境中的性能下降。同时词袋模型需要一个事先生成的字典,为保证字典的通用性,一般用大量不同场景的图像训练字典,导致训练好的字典存储消耗空间较大。
方法介绍
论文的回环检测网络如图1所示,主要分为移动对象检测与特征提取部分、特征存储与相似性比较部分和新场景检测部分。下面对这几个部分分别介绍:
移动对象检测与特征提取层:
场景中移动的物体容易引不同场景的混淆对应现象。利用移动对象检测网络可以剔除场景中存在动态因素的对象。该层由一个CNN分类器组成,这个分类器有两个作用:其一为将场景中的物体分类成动态或静态两类,另一个作用是从分类器的中间层提取出静态对象的特征。
CNN分类器的设计是基于VGG16网络结构,具体结构如图2。将图像分成n个子图像块,分别送入分类网络,只保留包含分类为静态物体的图像块进行后续处理。
图 2 CNN分类器结构
静态对象的特征提取自CNN分类器的倒数第二层的全连接层,每张输入图像得到128×j维特征(128为全连接层输出维度,j为输入图像中包含静态子图像块个数)。下列公式为图像提取的特征表示:
新场景检测层:
用自动编码器来检验图像帧是否包含新场景。自动编码器是一种无监督网络,其输出可以恢复出输入,作者提出的方法在回环检测过程中进行自动编码网络训练,根据输出与输入之间的重构误差的大小,来检测是否回到之前场景。
将从CNN分类器提取出的128×j维特征送入自动编码器,如果当前帧包含之前达到的场景,则重构误差小于一定阈值;若未到到历史场景,则训练得到的重构误差应大于这个阈值。下图为随图像帧序列的输入,重构误差的变化,可见在64帧重构误差突然减小,说明64帧出现回环:
图 3 重构误差的变化
特征存储与相似性比较:
每张图像中提取的特征组成了字典D,以便后续的图像相似性比较。作者使用了两个字典:超级字典与普通字典。
超级字典:为避免当前帧图像与之前所有帧图像进行比较,提出了超级字典的概念。超级字典只保留相似性较小的少量关键帧,一般少于所有关键帧数量的20%。普通字典:保留所有关键帧。
回环帧查询:当前帧通过新场景检测网络后,若被定义为非新场景后,则进行回环帧查询。为当前帧查找回环帧的过程中,先在超级字典中进行查找,找到相似性评分最高的一帧后,再在普通字典中对最高评分帧附近的关键帧进行查找。查找过程如下图:
图 4 回环帧查找过程
相似性比较:利用两帧提取的特征进行相似性比较,算法如图4,其中相似度测量公式为:
图 5相似性计算
实验结果
作者所提出的回环检测方法融合了CNN分类、自动编码器、超级字典等内容,获得了更加快速、鲁棒的表现。提出的方法在5个室外数据集上进行检验,并与现阶段在回环检测中广泛使用的DBoW2, DBoW3和最新的iBoW方法 进行比较,下表为比较啊结构,可以看出作者所提方法性能更好。
在计算速度方面,作者所提出的方法更具有优势