融合多层次卷积神经网络特征的闭环检测算法 下载: 1080次
1 引言
闭环检测是机器人同时定位与建图(SLAM)技术[1]中的重要一环,精准的检测可以高效地减小由传感器及位姿计算所产生的累积误差,并能在机器人丢失位置后实现重定位,从而实现更加精确的定位与地图构建。现有视觉SLAM系统中的闭环检测算法都是通过对关键帧图像的匹配来实现,即图像相似性计算[2-3]。然而,传统的闭环检测算法依靠人工设计的特征描述子进行匹配,人工特征完全依靠人类经验进行设计,因此具有很大的局限性。特征描述子可分为全局描述子和局部描述子,全局特征描述子从整体角度考虑图像,局部特征描述子提取更加详细的局部特征而忽略了整体。局部特征描述子,如尺度不变特征转换(SIFT)[4]、加速稳健特征(SURF)[5]以及快速特征点提取和描述(ORB)算法[6],可以有效地提取到图像中各个角点、轮廓线等局部特征,却没有考虑场景的空间和结构信息。全局特征描述子如Gist[7],采用Gabor滤波对整幅图像从不同的方向和频率提取图像特征,最终得到图像的低维全局描述,但图像的局部特征并未提取,而且当相机视角发生变化时,效果很差。以上特征都是人工设计的,并不能很好地表达图像,加之不能同时提取图像的局部特征和全局特征,特别是在环境发生改变的情况下,误匹配率会更高。另外,人工特征的提取与匹配计算量大,非常耗时,无法实时应用。
近年来,随着深度学习的兴起,利用卷积神经网络(CNN)学习的特征逐渐取代了传统的人工特征。研究表明,学习特征的判别性能远远超过了传统的人工设计特征[8]。基于CNN方法的视觉闭环检测算法对光照、视角、距离、外表等因素都有很好的适应性,大大提高了检测的稳健性,但是网络的训练过程非常耗时,对硬件的计算性能也提出了很高的要求,在参数调节方面也需要经验。为此,很多研究人员利用在大型数据集(如ImageNet、Places[9])上训练好的深度CNN来进行闭环检测。2014年,Chen等[10]将CNN提取的特征应用于闭环检测,采用ImageNet数据集上训练的Overfeat网络,在对象侧重的数据集(ImageNet)上训练的CNN可以很好地完成分类任务,但并不适于闭环检测任务。2015年,Hou等[11]采用Places数据集上训练的VGG11[12]模型进行闭环检测,详细地比较了不同层的检测效果,证明该模型在光照发生变化的场景下性能显著优于传统算法。其中,不同层次的CNN特征包含不同的图像信息:高等层次的CNN特征包含更多的语义信息,可以很好地应对视角变化;中等层次的CNN特征则包含相应的场景空间几何信息,能够克服光照变化的影响。然而,以上方法并没有充分利用不同层次CNN特征的特性,为此,本文提出一种融合多层次CNN特征的闭环检测算法,充分利用中等层次和高层次CNN特征来表达图像。另外,CNN模型应针对场景而非对象建立,应使用在以场景图像为中心的数据集上训练的网络,这些模型在应对动态干扰、视角变化、环境变化等情况下具有更好的稳健性。为此,本文选取在Places数据集上训练的VGG19[12]进行特征提取,对场景具有更好的敏感性,更适于闭环检测任务[13]。当场景中的行人、车辆等移动物体变化很大时,会对检测结果造成很大的影响,如何消去或减小动态干扰造成的影响非常重要,为此,本文进一步提出图像动态干扰语义滤波机制来解决这一问题。
2 融合多层次CNN特征的闭环检测算法
本文检测算法主要包括图像表达与相似性度量两部分,具体的流程如
图 1. 融合多层次CNN特征的闭环检测流程图
Fig. 1. Flow of loop closure detection based on multi-level features
2.1 CNN结构
如上所述,利用训练好的VGG19作为特征提取器,该网络具体的结构如
表 1. VGG19结构
Table 1. Structure of VGG19
|
2.2 图像表达
常用闭环检测算法对当前帧图像与历史帧图像进行匹配,分别提取对应的特征并转化为向量的形式,然后通过向量间的相似度大小来判断是否存在闭环,如果相似度超过一定的阈值,则认为存在闭环。然而,CNN的各层特征输出均为多维矩阵,由
2.3 相似性度量
相似性度量的标准包括距离度量和相关性度量。目前,利用CNN特征向量进行图像相似性度量的常用方法包括欧氏距离和向量余弦。欧氏距离是最常见的距离度量,用于衡量多维向量空间中各个点之间的绝对距离;向量余弦采用向量空间中两个向量夹角的余弦值度量两个特征向量间差异的大小。相比于欧氏距离,向量余弦更加注重两个向量在方向上的差异,而非距离或长度上的差异。在使用欧氏距离进行相似度计算时,需要对特征向量进行归一化操作。为减少计算复杂度,选择向量余弦作为相似性度量的标准。 其计算公式如下:
式中
然而,CNN提取的特征向量维度特别大,计算量大,难以应用。为此采用文献[
14]中的局部敏感哈希(LSH)方法对其进行降维,采用随机超平面产生LSH函数。在Sünderhauf等[13]的研究中已经证明,相比于采用原卷积特征进行匹配的方法,使用该降维方法在略微损失检测精度的情况下大大减小了相似性的计算量,提高了检测速度。定义
式中
用sim(
本文方法选取多层次(pool3、pool5、fc1)的卷积网络特征进行相似性计算,即最终的相似性计算公式为
式中
3 实验与分析
3.1 数据集与度量标准
首先,使用Gardens Point数据集对所提出的闭环检测算法进行测试,该数据集在昆士兰大学校园内采集,包括两个白天和一个晚上共三个子数据集。其中,两个白天的子数据集分别在人行道的左边和右边拍摄,分别记为day_left和day_right,而晚上的数据集则在人行道的右边采集,记为night_right。该数据集拥有视角变化和光照变化两个特性,非常适于对闭环检测算法的性能进行测试。每个子数据集中有200张图像,样本图像如
图 2. Gardens Point数据集样本图像。(a)白天_左侧;(b)白天_右侧;(c)晚上_右侧
Fig. 2. Sample images of Gardens Point dataset. (a) Day_left; (b) day_right; (c) night_right
图 3. Gardens Point数据集的相似性矩阵可视化图。(a) pool3+pool5+fc1;(b) pool1;(c) pool3;(d) fc1
Fig. 3. Visualization of similarity matrix for Gardens Point dataset. (a) pool3+pool5+fc1; (b) pool1; (c) pool3; (d) fc1
同其他检测算法一样,本文采用精确率-召回率曲线(
式中:
3.2 结果与分析
所有图像对间的相似性得分构成了相似矩阵
从
图 4. Gardens Point数据集上不同方法的精确率-召回率曲线
Fig. 4. Precision-recall curve of different method on Gardens Point dataset
然而,环境中的动态干扰因素使得上述闭环检测算法难以发挥最优的性能,在面对如
4 基于图像动态干扰语义滤波机制的闭环检测算法
4.1 图像动态干扰语义滤波机制
图像动态干扰语义滤波机制利用目标检测算法YOLOv2[15]实现,即利用改进后的YOLOv2算法对原图像中的动态干扰因素进行过滤。不同于以往基于候选区域和深度卷积神经网络的目标检测算法,需要先采用启发式方法获得候选区域, 然后基于由候选区域所提取的卷积特征分别进行目标的类别分类和位置回归。YOLO系列算法利用回归的思想,直接利用整幅图像来预测目标类别和目标边界框,可以精确检测到图像中的动态物体,并且检测速度非常快。YOLOv2算法在YOLOv1的基础上进行了改进,设计了新的网络结构Darknet-19,从而在保证原有检测速度的基础上进一步提高了检测准确率。该算法能够检测出多种类别目标,而在本应用中只需要检测到人、车辆、动物等移动物体即可,对一些静态的物体不进行过滤。利用YOLOv2算法对图像中的多类别多个相同物体进行检测,结果如
在图像预处理模块中,使用YOLOv2算法进行目标检测,过滤图像中大部分的非场景干扰因素,并将剪裁后得到的纯场景图像输入CNN提取多层次特征,然后在闭环检测模块中利用本文提出的融合多层次卷积特征方法进行匹配。在图像预处理模块中,判断是否需要对图像进行剪裁。当检测到的图像中动态干扰因素所占比例大于一定阈值时,即
图 6. YOLOv2算法动态目标检测结果。(a) YOLOv2算法检测结果;(b)本文算法检测结果
Fig. 6. Dynamic object detection results for YOLOv2. (a) Results of YOLOv2 method; (b) results of proposed method
图 7. 基于图像动态干扰语义滤波机制的闭环检测流程图
Fig. 7. Flow of loop closure detection based on image dynamic interference semantic filter mechanism
4.2 性能验证
为检验上述方法的可行性和优越性,选用Tokyo24/7[16]数据集进行实验,利用该数据集来模拟关键帧的集合。该数据集图像多在人流和车辆较多的城市街道采集,其中,约1/3的图像中行人和车辆特别多(
图 8. Tokyo24/7数据集上不同方法的精确率-召回率曲线图
Fig. 8. Precision-recall curve of different method on Tokyo24/7 dataset
语义滤波机制的闭环检测算法,CNN表示没有添加图像动态干扰语义滤波机制的闭环检测算法。从
5 结论
针对视觉SLAM技术中的闭环检测问题,提出了一种融合多层次CNN特征进行图像匹配的方法,其本质是场景识别问题。在图像间的相似性度量中,充分利用中等层次CNN特征包含的几何空间信息和高层次CNN特征包含的语义信息进行匹配计算。实验证明,在图像拍摄视角和光照变化的条件下,本文方法具有更好的稳健性和识别率。另外,在熙熙攘攘的城市环境中,行人、车辆等移动物体对匹配检测形成了很大的干扰,为此,利用目标检测算法YOLOv2,进一步提出了图像动态干扰语义滤波机制,过滤掉图像中的移动物体,保留图像的纯场景信息进行匹配检测。在Tokyo24/7数据集上的实验证明了本方法的可行性和有效性。除此之外,通过语义检测进行目标识别,也可以进一步帮助自主移动机器人完成避障、安保监控等任务,从而做出实时决策。
[1] 林志林, 张国良, 姚二亮, 等. 动态场景下基于运动物体检测的立体视觉里程计[J]. 光学学报, 2017, 37(11): 1115001.
[2] 张鑫, 靳雁霞, 薛丹. SICA-SIFT和粒子群优化的图像匹配算法[J]. 激光与光电子学进展, 2017, 54(9): 091002.
[3] 单宝华, 霍晓洋, 刘洋. 一种极线约束修正数字图像相关匹配的立体视觉测量方法[J]. 中国激光, 2017, 44(8): 0804003.
[5] BayH, Tuytelaars T, van Gool L. SURF: speeded up robust features[C]∥European Conference on Computer Vision, 2006: 404- 417.
[6] RubleeE, RabaudV, KonoligeK, et al. ORB: an efficient alternative to SIFT or SURF[C]∥International Conference on Computer Vision, 2011: 2564- 2571.
[8] SzegedyC, LiuW, Jia YQ, et al. Going deeper with convolutions[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1- 9.
[9] ZhouB, LapedrizaA, XiaoJ, et al. Learning deep features for scene recognition using places database[C]∥Annual Conference on Neural Information Processing Systems, 2014: 487- 495.
[10] Chen ZT, LamO, JacobsonA, et al. Convolutional neural network-based place recognition[C]∥Computer Vision and Pattern Recognition, 2014.
[11] HouY, ZhangH, Zhou SL. Convolutional neural network-based image representation for visual loop closure detection[C]∥IEEE International Conference on Information and Automation, 2015: 2238- 2245.
[12] SimonyanK, ZissermanA. Very deep convolutional networks for large-scale image recognition[C]∥International Conference on Learning Representations, 2015.
[13] SünderhaufN, ShiraziS, DayoubF, et al. On the performance of ConvNet features for place recognition[C]∥IEEE/RSJ International Conference on Intelligent Robots and Systems, 2015: 4297- 4304.
[14] Charikar MS. Similarity estimation techniques from rounding algorithms[C]∥34th Annual ACM Symposium on Theory of Computing, 2002: 380- 388.
[15] RedmonJ, FarhadiA. YOLO9000: better, faster, stronger[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2017: 6517- 6525.
[16] ToriiA, Arandjelovi R, Sivic J, et al. 24/7 place recognition by view synthesis [C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1808- 1817.
Article Outline
鲍振强, 李艾华, 崔智高, 苏延召, 郑勇. 融合多层次卷积神经网络特征的闭环检测算法[J]. 激光与光电子学进展, 2018, 55(11): 111507. Zhenqiang Bao, Aihua Li, Zhigao Cui, Yanzhao Su, Yong Zheng. Loop Closure Detection Algorithm Based On Multi-Level Convolutional Neural Network Features[J]. Laser & Optoelectronics Progress, 2018, 55(11): 111507.