融合Gist特征与卷积自编码的闭环检测算法 下载: 1042次
1 引言
近年来,基于视觉的同时定位与建图(VSLAM)在机器人和智能驾驶等领域得到了广泛应用。当前VSLAM算法主要由视觉里程计[1-2]、后端优化、闭环检测和建图四个模块构成。若VSLAM系统中缺少闭环检测模块,则系统就相当于一个视觉里程计,由于前端视觉里程计只考虑局部位姿约束,所以必然会产生累积误差,而系统中存在闭环检测模块就可以判断移动机器人当前是否回到曾经访问过的位置,从而为后端优化提供有效的数据,使得整个VSLAM系统得到全局一致的估计结果。在大范围VSLAM系统的长时间测量过程中,若有效检测出真阳性闭环就可以显著降低系统的累积误差,但假阳性闭环则会使系统后端优化算法收敛到完全错误的值。因此,对于VSLAM系统而言,做到稳定有效的闭环检测至关重要。
当前主流的闭环检测是基于外观实现,并脱离前后端估计,只依靠关键帧图像的相似性来确定闭环检测,故闭环检测的核心问题分为图像描述和相似性度量两个部分。而图像场景描述方法主要包括基于局部特征描述子、基于全局描述子及基于深度学习的特征描述子三类。其中基于局部特征描述子的场景描述方法如视觉词袋模型(BoVW)[3],被广泛应用在现有的VSLAM系统中进行闭环检测工作。BoVW算法首先对图像的关键帧提取人为设计特征[如加速稳健特征(SURF)[4]、定向快速二进制特征(ORB)[5]等],并对提取的特征描述子进行聚类以构造字典树,如基于外观的快速建图算法(FAB-MAP)[6]构造的Chou-Liu树。BoVW算法利用字典树对每个图像的关键帧作图像描述,进而度量距离检测闭环。而Mur-Artal等[7]提出的基于ORB特征的VSLAM系统就借助了BoVW算法,获得较为稳定且准确的闭环检测效果。由于字典树的视觉单词需要预训练得到,所以视觉词袋模型的泛化能力尤为重要,尽管局部特征描述子对视角变化及光照变化具有一定的稳健性,但面对大范围的外界场景变化仍难以保持较高的闭环检测准确率和稳健性。基于全局特征描述子的图像描述方法则有Gist算子[8-9],通过将整体图像划分网格,并与不同方向和尺度的Gabor滤波器组进行滤波,构造全局特征描述子以进行闭环检测,若直接利用Gist特征进行闭环检测,发现其对视角变化及大范围外部环境变化较为敏感,且检测准确率欠佳。
近年来,由于深度学习技术在视觉场景下分类与识别精度两个方面的优异表现,基于深度学习的方法越来越频繁地出现在闭环检测的解决方案中。Hou等[10]利用基于Places[11]数据集与AlexNet预训练的Places-CNN模型进行闭环检测,并对比BoVW及Gist下的闭环检测方法,可发现在光照变化的场景下,深度学习方法较BoVW与Gist算法具有明显优势。Sünderhauf等[12]利用AlexNet网络评估了场景视角变化及外观变化对闭环检测的影响,发现中间层对外观变化具有更好的稳健性,而高层特征则对视角变化的稳健性更佳。Gao等 [13-14]利用堆栈式自编码器构建闭环检测模型以去除解码层,并将隐藏层的输出作为特征提取器,以构建相似度矩阵进行闭环检测,发现该模型的特征维度高且对视角及大范围场景变化的稳健性较弱。Lopez-Antequera等[15]构造了同一地点的一组存在视角及场景外观变化的三元训练组,并结合Hinge损失函数对卷积神经网络进行训练,发现在全新场景环境中,算法网络泛化性能有待提高。Merrill等[16]结合方向梯度直方图特征(HOG)构建深度自编码模型,发现其在光照与视角变化剧烈的测试集中性能良好,但HOG特征在场景识别中的准确率受限。鲍振强等[17]则结合YOLO[18]目标检测算法来过滤场景干扰项,进而利用VGG19提取场景特征进行闭环检测,发现其具有较高的准确率与稳健性,但干扰项过滤且关键帧特征提取较为耗时。
为提高当前闭环检测算法在视角及大范围场景外观变化下的准确率与稳健性,同时满足闭环检测的实时性要求,本文先对原始Places365-Standard[11]数据集进行视角变化的数据增强,再构造视角变化训练图像对,并融合Gist特征构建一种深度卷积自编码模型,最后将训练得到的卷积自编码模型的编码层作为VSLAM关键帧的特征提取器,从而实现实时的关键帧特征提取与闭环识别。该模型作为一种无监督学习方法,与传统方法相比,既可保证模型精简,关键帧特征提取与闭环识别速度较快,也能达到优于对比方法的准确率与稳健性。
2 融合Gist特征的卷积自编码模型
本文提出的融合Gist特征与卷积自编码的闭环检测模型,主要包括视角变化训练图像对的构建、VSLAM关键帧的Gist特征提取、融合Gist特征的卷积自编码模型的搭建训练及VSLAM场景下关键帧闭环检测流程。
2.1 Places视角变化训练图像对构建
Places365-Standard[11]数据集是美国麻省理工学院(MIT)的研究团队为实现场景视觉感知而构造的一个超过180万张场景图片及365种场景类别的数据集。尽管在每一种场景类别中都包含5000~30000张场景图像数据,但为使训练得到的卷积神经网络具有一定的抗视角变化能力,将参考Merrill 等[16]的方法对原始数据集构建视角变化训练图像对。假设原始图像
式中:(
2.2 VSLAM关键帧Gist特征提取
Gist特征[8-9]是一种生物启发特征,根据场景图像的空间包络模型来描述场景全局特征,其中利用Gabor滤波器组可获取场景图像在不同空间频率、位置与方向选择性的局部结构信息,因此常用于场景识别分类及图像检索任务中。 VSLAM关键帧的Gist特征提取流程及相应的参数设置如下。
1) 将一幅大小为
2) 对单通道图像构建
式中:cat(·)为网格子区域经过Gabor卷积滤波后的级联运算;*表示卷积运算;Gabor滤波器组
3) 对网格子区域计算出的局部Gist特征取平均值,得到局部子区域Gist特征分别为
对RGB三通道图像进行Gist特征提取,得到全局Gist特征维数为20×4×4×3=960。
2.3 融合Gist特征与卷积自编码的闭环检测模型
结合2.1节中视角变化训练图像对<
图 2. 融合Gist特征的深度卷积自编码模型结构
Fig. 2. Training pipeline of convolutional autoencoder fused with Gist feature
本模型的训练图像输入大小为160 pixel×120 pixel,深度卷积自编码网络部分由编码器与解码器两个部分组成。模型编码器部分由四个卷积单元构成,前三层卷积单元(ConvBlock)均由卷积(Conv)、批量归一化[19](BN)、线性修正单元[20](ReLU)及最大池化(MaxPool)构成。第四层单元则经过Conv与ReLU线性输入解码器。考虑到本文模型的轻量化需求,编码器部分均采用较小尺寸卷积核进行深度特征的提取,在保证局部感受野大小的同时,以减小模型参数量,而编码器各层ConvBlock中第一层采用了32个卷积核大小为5×5、步长为1、补零为2的Conv层,而后续两个ConvBlock则均采用了64个卷积核大小为3×3、步长为1、补零为1的Conv层。为加速网络训练过程,避免训练过程中梯度弥散,及网络权重初始化问题,在前三层卷积层后都依次级联BN和ReLU以提升网络性能。同时为降低编码器特征输出维度,并简化网络整体参数,缩减VSLAM关键帧特征提取与闭环查询时间,前三层ConvBlock最后均加入窗口大小为3×3、步长为2的MaxPool层。编码器第四层由8个卷积核大小为3×3、步长为1的Conv层与ReLU构成,编码器第四层的输出经过Flatten操作即为本文闭环检测模型的最终关键帧特征向量。
卷积自编码网络解码器则由三层全连接网络构成,将编码器输出重构为960维Gist特征向量,三层全连接层维度分别为1872,1872和960。由于Gist特征向量分布在[0,1]之间,为更好地重构Gist特征分布,将训练模型在全连接层后加入Sigmoid激活层,并使特征输出分布在[0,1]之间。在训练过程中,全连接层输出960维特征
式中:
2.4 闭环检测流程
如
假设存在两个关键帧
式中:
3 实验与结果分析
实验仿真的计算机硬件配置CPU为Intel Xeon E5-2620 V4,GPU为Nvidia GeForce GTX 1080Ti,操作系统为Ubuntu 16.04,使用Caffe作为深度学习训练框架。算法均基于Python2.7软件实现,准确率-召回率曲线绘制基于Matplotlib库。
3.1 实验数据集及评价标准
实验选取Gardens Point与Nordland数据集作为闭环检测算法测试数据集,如
图 4. Gardens Point 和 Nordland测试数据集的部分图像。(a)白天_左侧;(b)白天_右侧;(c)夜晚_右侧;(d)春季序列;(e)冬季序列
Fig. 4. Some pictures from Gardens Point and Nordland test datasets. (a) Day_left; (b) day_right; (c) night_right; (d) spring sequence; (e) winter sequence
把准确率-召回率曲线的AUC(area under the curve)值及算法关键帧特征提取时间作为闭环检测算法性能评价的两个指标。AUC值为准确率-召回率曲线下方面积,AUC值越接近于1则说明算法平均准确率越高,性能越好。而准确率是闭环检测模块检测到的真阳性闭环数量(正确检测出的闭环数量)与所有检测出的闭环数量的比值;召回率是真阳性闭环数量与数据集中真实闭环数量的比值,准确率与召回率的表达式为
式中:
3.2 实验细节
模型训练数据集来源于Places365-Standard数据集的365个场景类别中超过180万张分辨率为160 pixel×120 pixel的场景图像,并经过视角变化得到的训练图像对<
对比算法有传统的BoVW[3]算法、Gist[8-9]算法及基于深度学习方法的CALC[16]算法与Places-CNN[12]算法。而BoVW算法基于开源DBoW2[3]及ORB特征[5]得以实现。Gist算法则采用与本文模型所融合的相同Gist特征,即对RGB图像划分子网格数量为4×4,并利用3个尺度方向数量分别为8、8、4的Gabor滤波器组构造960维Gist特征。CALC模型训练数据集同样采用Places365-Standard数据集,测试图像输入大小为160 pixel×120 pixel,文献[ 16]中通过编码器第三层卷积单元激活层输出构造1064维关键帧特征向量。Places-CNN则基于AlexNet卷积神经网络,通过Places205数据集对原始网络进行训练,测试图像输入大小为227 pixel×227 pixel,由于文献[ 12]中发现Conv3层在场景识别问题上稳健性最佳,因此选取Conv3层作为关键帧特征提取器,输出64896维关键帧特征向量。
3.3 算法性能对比分析
对本文提出的闭环检测算法与传统BoVW算法[3]、Gist算法[8-9]及基于深度学习方法的CALC算法[16]与Places-CNN算法[12]进行性能比较。根据3.1节中的评价指标及3.2节中的实验细节,基于Gardens Point与Nordland测试数据集计算对比算法的准确率与召回率,绘制五种对比算法的准确率-召回率曲线,如
如
图 5. Gardens Point与Nordland测试数据集闭环检测准确率-召回率曲线。(a) Gardens Point白天_左侧与白天_右侧;(b) Gardens Point白天_左侧与夜晚_右侧;(c) Nordland春季序列与冬季序列
Fig. 5. Precision-recall curves for Gardens Point and Nordland datasets. (a) Gardens Point: day_left versus day_right; (b) Gardens Point: day_left versus night_right; (c) Nordland: spring versus winter
根据文献[
21]的卷积神经网络时间复杂度公式
表 1. 算法特征提取与闭环查询时间
Table 1. Time to extracting features and querying the database on Gardens Point dataset
|
实验在Gardens Point数据集day_left,day_right关键帧序列上计算特征提取平均时间及闭环查询平均时间用来具体评判算法的时间性能。但由于BoVW与Gist算法基于CPU实现,而本文模型、CALC与Places-CNN基于GPU实现,因此在特征提取时间对比上需要考虑硬件因素的影响。从
实验结果表明,本文算法在视角、光照及季节场景外观变化条件下闭环检测平均准确率及稳健性优于传统的BoVW、Gist算法、Places-CNN及CALC模型,同时满足闭环检测的实时性要求,具有较高的实用性。
4 结论
针对当前闭环检测算法在面对视角及大范围场景环境变化下准确率与稳健性下降的问题,设计了一种无监督模型,通过透视变换对原始训练数据进行数据增强以构造视角变化训练图像对,并结合Gist特征构造了一个深度卷积自编码网络实现无监督训练,模型在准确率-召回率曲线性能优异的情况下,由于模型的精简可实现快速的特征提取及闭环查询,可满足闭环检测的实时性要求,且具有较高的实用性。
从实验结果看出,在光照季节此类外观剧烈变化的条件下,模型整体平均准确率明显低于视角变化闭环检测,因此后续工作可对加强光照季节此类场景外观变化条件下的闭环检测算法稳健性进行深入探究。
[1] 林志林, 张国良, 姚二亮, 等. 动态场景下基于运动物体检测的立体视觉里程计[J]. 光学学报, 2017, 37(11): 1115001.
[2] 王可, 贾松敏, 李秀智, 等. 基于地面特征的移动机器人单目视觉里程计算法[J]. 光学学报, 2015, 35(5): 0515002.
[4] BayH, Tuytelaars T, van Gool L. SURF: speeded up robust features[M] //Leonardis A, Bischof H, Pinz A. Computer vision-ECCV 2006. Lecture notes in computer science. Berlin Heidelberg: Springer, 2006, 3951: 404- 417.
[5] RubleeE, RabaudV, KonoligeK, et al. ORB: an efficient alternative to SIFT or SURF[C]//2011 International Conference on Computer Vision, November 6-13, 2011, Barcelona, Spain. New York: IEEE, 2011: 2564- 2571.
[7] Mur-Artal R. Montiel J M M, Tardós J D. ORB-SLAM: a versatile and accurate monocular SLAM system[J]. IEEE Transactions on Robotics, 2015, 31(5): 1147-1163.
[9] LiuY, ZhangH. Visual loop closure detection with a compact image descriptor[C]//2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, October 7-12, 2012, Vilamoura, Portugal. New York: IEEE, 2012: 1051- 1056.
[10] HouY, ZhangH, Zhou SL. Convolutional neural network-based image representation for visual loop closure detection[C]//2015 IEEE International Conference on Information and Automation, August 8-10, 2015, Lijiang, China. New York: IEEE, 2015: 2238- 2245.
[11] Zhou BL, LapedrizaA, Xiao JX, et al.Learning deep features for scene recognition using places database[C]//Proceedings of the 27th International Conference on Neural Information Processing Systems, December 8-13, 2014, Montreal, Canada.Cambridge: MIT Press, 2014: 487- 495.
[12] SünderhaufN, ShiraziS, DayoubF, et al. On the performance of ConvNet features for place recognition[C]//2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), September 28-October 2, 2015, Hamburg, Germany. New York: IEEE, 2015: 4297- 4304.
[13] GaoX, ZhangT. Loop closure detection for visual SLAM systems using deep neural networks[C]//2015 34th Chinese Control Conference (CCC), July 28-30, 2015, Hangzhou, China. New York: IEEE, 2015: 5851- 5856.
[17] 鲍振强, 李艾华, 崔智高, 等. 融合多层次卷积神经网络特征的闭环检测算法[J]. 激光与光电子学进展, 2018, 55(11): 111507.
[18] RedmonJ, FarhadiA. YOLO9000: better, faster, stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI. New York: IEEE, 2017: 6517- 6525.
[20] GlorotX, BordesA, BengioY. Deep sparse rectifier neural networks[C]//14th International Conference on Artificial Intelligence and Statistics, April 11-13, 2011, Fort Lauderdale, USA. Cambridge: PMLR, 2011, 15: 315- 323.
[21] He KM, SunJ. Convolutional neural networks at constrained time cost[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 5353- 5360.
Article Outline
邱晨力, 黄东振, 刘华巍, 袁晓兵, 李宝清. 融合Gist特征与卷积自编码的闭环检测算法[J]. 激光与光电子学进展, 2019, 56(18): 181501. Chenli Qiu, Dongzhen Huang, Huawei Liu, Xiaobing Yuan, Baoqing Li. Loop Closure Detection Algorithm Based on Convolutional Autoencoder Fused with Gist Feature[J]. Laser & Optoelectronics Progress, 2019, 56(18): 181501.