机器人根据同时定位与构图(simultaneous localization and mapping,SLAM)技术[1]能在未知环境中实现自主移动.闭环检测作为视觉SLAM的关键技术,对建立环境一致的地图具有重要意义.由于视觉闭环检测本质是图像匹配[2],因此研究图像的最佳表征是闭环检测最关键的技术.目前视觉SLAM中闭环检测的方法主要有传统视觉词袋(BoVW)模型和基于深度学习模型.视觉词袋模型提取图像的局部特征聚类成视觉单词以表征图像[3].文献[4]提出基于FAB-MAP的闭环检测框架,用提取的特征字典表征图像.DBoW2利用BRIEF描述符和FAST算子提取特征生成二进制词袋[5].在基于ORB-SLAM2系统[6]的闭环检测模块中,视觉词袋是利用ORB提取的特征描述子构件.视觉词袋模型由于依赖人工设计的特征,因此只能在光照稳定的室内才能达到较好的检测效果,在光照变化明显的环境下闭环检测的准确性会下降.文献[7]提出使用Places-CNN模型提取中间各层的特征用于测试,选取特征性能最好的一层作为最终网络的输出,该方法在光照变化下检测效果明显优于传统视觉词袋的方法.文献[8]提出了一种基于堆叠式降噪自动编码器(SDA)的方法,采用无监督的方式从原始输入数据中自主学习特征来表示图像.文献[9]提出使用AlexNet网络获取图像特征,对CNN每个通道激活聚类,其聚类中心代表一个视觉单词,创建基于CNN单词的单词对,对空间信息进行编码.目前主流解决方案是采用CNN的深层语义特征表示图像信息[10],该方案存在空间细节特征丢失影响特征对原始图像信息的表征能力的问题,为此本研究提出基于卷积神经网络多层特征加权融合(CNN-F)的闭环检测算法,并对算法进行测试.1 基于CNN-F闭环检测算法原理闭环检测模块主要对机器人在长时间运动过程中视觉里程计[11]所产生的累积误差进行检测[12],该算法主要分为图像表征和相似性评分两部分[13].近年来,卷积神经网络(CNN)的应用使得图像分类和图像检索取得显著成效,将其用于闭环检测可弥补视觉词带的不足.本研究利用CNN提取多层特征图,并对其进行权重优化融合,融合的特征图用于闭环检测,具体流程如图1所示.10.13245/j.hust.210814.F001图1基于CNN多层特征加权融合的闭环检测流程图首先,为弥补空间细节特征丢失,从预训练网络中提取图像的多层特征,对其进行权重优化融合,使融合特征图作为原始图像的主要表征信息.然后,将特征图输入相似度评分体系,由预先设定的阈值判断当前是否闭环,若确定闭环,则结束闭环检测模块,将数据传递给后端进行后续验证;若未检测出闭环,则继续检测下一关键帧.最后,通过相似性评分体系获得相似性矩阵,根据相似性矩阵判断闭环检测算法的性能,并与其他算法进行比较.1.1 卷积网络架构OverFeat[14]作为开源的预训练卷积神经网络,主要在ImageNet数据集[15]上进行训练.OverFeat提供了两个方向的预训练模型:a. 牺牲精度获取速度的快速网络;b. 以时间换精度的精确网络.鉴于闭环检测对精度要求较高,采用OverFeat精确版预训练模型作为图像特征提取器,部分结构如表1所示.10.13245/j.hust.210814.T001表1OverFeat精确版网络部分结构模型参数层数123456通道数962565125121 0241 024卷积核7×77×73×33×33×33×3卷积步长2×21×11×11×11×11×1池化核大小3×32×2———3×3池化步长3×32×2———3×3OverFeat输入221×221像素的彩色图像.网络由卷积层、最大池化层和全连接层构成,并采用整流线性单元(ReLU)[16],其中:卷积层用于提取特征;最大池化层用于保持特征的位置和旋转不变性以增强检测的鲁棒性;全连接层用于将学到的分布式特征表示映射到样本标记空间;ReLU为非线性激活函数,用于防止梯度消失.利用OverFeat网络对输入图像提取各层卷积特征,将各层特征进行可视化,如图2所示.10.13245/j.hust.210814.F002图2卷积网络各层特征图图2验证了图像卷积4次后已经无法辨认物体的几何信息,但是浅层特征图还能保持物体的大致轮廓,因此提出将各层特征通过优化权重融合的方式获得更多的图像信息,以达到提高闭环检测性能的目的.1.2 基于CNN多层特征加权融合方法卷积神经网络随层数的加深,特征图表示越抽象[17].浅层的特征包含更多的位置和细节信息,应对相似物体干扰时鲁棒性好;深层次的特征包括更多的语义信息,应对光照变化时鲁棒性好.基于这一思想,本研究提出从OverFeat网络中提取各层卷积特征,将特征进行权重优化融合,使融合特征获得更多空间几何信息,提高图像检索的准确性.图3为OverFeat网络多层特征加权融合结构示意图.10.13245/j.hust.210814.F003图3多层特征加权融合结构示意图针对OverFeat网络各层特征图尺寸及维度不同的问题,设计了调整网络模块(ANM)来改变特征图的尺寸和通道数.ANM由下采样和卷积组成,该模块不仅统一各层特征图的数据,而且不会丢失各层特征图的空间信息.图3通过融合卷积2、卷积4和卷积6举例,下采样采用最大池化层实现,卷积层主要改变特征图的通道数.参数设置如表2所示.10.13245/j.hust.210814.T002表2ANM模块参数设置层核大小步长通道数最大池化3×33×3—卷积1×11×11 024采用加权求和的方式对多层特征进行融合,计算公式为V=ω1V1+ω2V2+ω3V3,式中:V为CNN模型提取的每个融合后的特征向量;V1,V2和V3分别为各层的特征向量;ω1,ω2和ω3为各层对应的权重.最终得到融合特征大小为1 024×5×5.OverFeat网络的全连接层输出只保留了图像高阶语义信息,导致绝大部分空间细节信息丢失,更适用于图像分类,而不适用于对图像特征的表达,因此基于该网络进行优化,采用卷积7代替全连接层作为网络的输出[18].卷积7中设置的参数将融合特征尺寸降为1×1表征图像,该方案不仅可以处理不小于221×221像素的任何大小的彩色图像,而且更适用于图像检索.一般情况下,融合后的特征图维数较大,须对原始特征执行增强步骤,如PCA算法中采用的降维操作[19].降维不仅可以去除高维度数据中的噪声和冗余的图像特征,对数据进行压缩,而且可以显著提高表示图像的能力,同时提高计算效率.为了保证融合特征的降维效果,有必要对每个融合特征向量(vj)进行L2归一化[20],即v1/∑j=1dvj2,v2/∑j=1dvj2,⋯,vd/∑j=1dvj2→(v1,v2,⋯,vd),式中d为向量的维度.融合特征组成矩阵X,并将其进行PCA处理[21],最终可获得多层卷积特征进行权重优化融合后的图像表征.1.3 相似性评分视觉闭环检测算法另一个关键部分是估计图像间的相似性.定义闭环检测的相似性评分体系,该体系通过计算不同图像的CNN融合特征之间的距离得出相似性评分,是否闭环由成对图像相似性得分进行检测.最终将CNN融合特征向量表示为VIi∈R500,其中R500为空间向量.图像间的相似性评分通过特征向量的欧几里得距离[22]来度量,融合特征向量进行归一化后计算出欧几里得距离为D(i,j)=VIi||VIi||2-VIj||VIj||22,式中:D(i,j)为帧i和j之间的距离;||∙||2为向量L2范数.帧间的相似性评分定义为S(i,j)=1-D(i,j)max{D(i,j)}.(1)归一化后计算距离获得的得分值位于[0,1],其中S(i,j)的值越趋近于1表示图像更相似,若得分大于设定的阈值,则视为检测到闭环.1.4 加权权重分布由于特征信息占比不同,因此须针对特征信息少但信息重要的特征图分配更大的权重.在融合的过程中须训练迭代出最优的参数组合,保证闭环检测的准确性.本研究采用梯度下降的方式,根据式(1)得到的融合图像相似性评分与标准阈值计算均方根误差,并作为损失函数.通过不断的训练,直至迭代出最优的参数组合,即L(ω1,ω2,ω3)=∑k=1n|Ŝ(i,j)k-S(i,j)k|2/n;ω1=ω1-ηn∑k=1n∂L(ω1,ω2,ω3)∂ω1;ω2=ω2-ηn∑k=1n∂L(ω1,ω2,ω3)∂ω2;ω3=ω3-ηn∑k=1n∂L(ω1,ω2,ω3)∂ω3,式中:L(ω1,ω2,ω3)为目标损失函数;Ŝ(i,j)为融合图像的相似性评分;η为学习率.通过梯度下降法得到最有效的权重组合,迭代优化流程为:a. 初始化权重分布,(ω1,ω2,ω3)为(1/3,1/3,1/3);b. 选取n组特征图,以对应的权重分布融合得到融合特征图,并求解相似度评分,根据目标损失函数得到目标损失值,通过梯度下降更新权重分布;c. 根据更新的权重分布,再次进行求解,迭代多次之后,即可得到有效权重分布.2 实验与分析为验证CNN-F闭环检测算法的性能,将CNN-F与文献[8-9]及未做处理的OverFeat网络特征的闭环检测算法进行比较,比较指标包括相似性矩阵图和精确率-召回率曲线图.实验选用闭环检测数据集New College和City Center,如表3所示.实验设备为i5-4210U CPU,NVIDIA GTX1080 GPU,系统环境为Ubuntu 16.04LTS.10.13245/j.hust.210814.T003表3New College和City Center数据集详情表New CollegeCity Center图像数量(对)2 146 (1 073)2 474 (1 237)描述校园环境城镇道路图像尺寸640×480传感器2台相机2.1 特征融合测试特征融合实验为测试融合不同层特征对图像的表征能力,采用融合多组不同层特征在New College数据集上进行对比实验.实验结果通过计算精确率-召回率(P-R)来直观展示不同层融合特征的性能.精确率和召回率定义如下P=TPTP+FP;R=TPTP+FN,(2)式中:P和R分别为精确率和召回率;正确的检测称为真阳性(TP);错误的检测称为假阳性(FP);算法丢失的真实循环称为假阴性(FN).各组加权融合特征以相同的相似性阈值进行检测,本方案设置权重优化的学习率η=0.001,每次的迭代数为1 000,记录损失值,最优权重融合不同层特征P-R比较如表4所示.10.13245/j.hust.210814.T004表4最优权重融合不同层特征P-R比较层(ω1,ω2,ω3)P/%R/%1,3,5(0.31,0.13,0.56)62.4255.901,3,6(0.41,0.26,0.33)65.5057.081,4,6(0.39,0.31,0.30)66.4857.142,3,5(0.27,0.33,0.40)63.7756.012,4,6(0.32,0.29,0.39)70.6060.592,5,6(0.44,0.21,0.35)68.3557.763,5,6(0.31,0.31,0.38)63.8256.91由表4可知:2,4,6层融合特征得到的效果最好;1,3,5层和2,3,5层融合特征由于语义信息不足,无法更好应对光照变化,导致精确率降低;2,5,6层和3,5,6层融合特征虽然包含更多的语义信息,但是相邻层的相关性较大,特征不够丰富;1,4,6层和1,3,6层融合特征中融合了只经过一次卷积的特征,其噪声较多,导致特征表征图像不够明确.最终选择融合2,4,6层特征用于闭环检测.2.2 闭环检测实验结果由于New College和City Center数据集的图像尺寸为640×480,因此将图像调整为期望的尺寸221×221输入CNN模型.根据1.2~1.4节描述的方法对图像提取融合特征并进行相似性计算,建立相似性矩阵.实验获得可视化相似性矩阵如图4所示,其中:图4(a)为New College数据集的实况闭环,将其作为参考;图4(b)为文献[9]中的卷积词袋算法(CNN-W);图4(c)为文献[8]中的自编码算法(SDA);图4(d)为Overfeat网络未采用特征融合的算法(CNN);图4(e)为本文算法(CNN-F).相似性矩阵图中,越明亮的点表示S(i,j)越趋近于1,代表相同的位置可能性越大,除此之外越趋近于1的点表示产生闭环的可能性越大.10.13245/j.hust.210814.F004图4New College数据集下的可视化相似性矩阵图4验证了以上算法均能检测出正确闭环,CNN-W算法与SDA算法明显丢失更多闭环.CNN-W算法是创建基于CNN单词的单词对,用于对空间信息进行编码,算法利用卷积网络形成词袋,虽然可避免依赖人工设计的特征,但是应对相似物体会出现较多错误判断.SDA算法以无监督的方式从原始输入数据中自主学习特征以表示图像,该算法是在原始数据上进行训练,光照变化会导致丢失相似特征,造成错误判断.CNN-F算法与CNN算法性能明显优于以上两种方法,CNN-F算法在相同数据集下比CNN算法能检测出更多的真实闭环.因为当遇到真实闭环时,CNN算法会得出接近于0的相似性得分,这可能导致丢失真实的闭环且图4中显示CNN算法有明显的错误闭环.CNN-F算法给出了更多不同相似性得分的判断,得分不高的闭环图像将被作为闭环候选对象,避免直接放弃真实闭环且图中错误闭环明显减少.相似性评分体系中可以通过阈值确定是否闭环,然后根据式(2)计算获得相应算法的P-R曲线.图5为CNN-W,SDA,CNN和CNN-F算法分别在New College,City Center数据集的P-R曲线.10.13245/j.hust.210814.F005图5不同算法在两个数据集下的P-R曲线比较图5(a)中,CNN-F算法的精确率和召回率都相对较高,闭环检测性能明显优于其他三种算法.图5(b)中,SDA算法在低召回率的情况下拥有更好的性能,但CNN-F算法在召回率很高的情况下可以获得更多的闭环,性能均好于其他方法.3 结语本研究提出了一种基于卷积神经网络多层特征加权融合的闭环检测算法.首先将浅层几何细节特征与深层语义特征进行加权融合,利用不同层特征的互补优势,提高特征表征图像的能力;然后对融合特征进行PCA降维处理,以实现检测的实时性;最后将图像的融合特征进行相似性计算,检测是否闭环.实验结果表明:在相同环境下CNN-F算法比目前主流算法具有更好的准确性和鲁棒性.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读