深度学习下的视觉SLAM 回环检测及其算法
2021-03-04张凯,阳杰
张 凯,阳 杰
(西安工程大学电子信息学院,西安710600)
1 引 言
随着科学技术发展,机器人越来越受到关注。机器人给人们的生产生活带来便利,比如餐厅机器人、扫地机器人等。同步定位与地图构建(SLAM)在机器人的使用中发挥着重要的作用。现代计算性能不断提升,传感器越来越多样化和精密化。SLAM 系统的传感器大多使用摄像头,比如RGBD 相机、双目摄像头、单目摄像头等。系统又可分为传感器数据、视觉里程计、建图、后端优化、回环检测等部分,通过视觉图像信息感知周围环境。回环检测使机器人对曾经去过的位置能够准确识别,解决了位姿漂移问题。后端优化的作用则是消除噪声对建图、位姿估计的影响,同时,以前端视觉里程计来计算姿态变化。在视觉SLAM 系统中,后端优化收敛会出现偏差,反映为建图中的漂移。对此,可采用回环检测模块将累计误差消除。深度学习的发展也为机器人更高层次的回环检测提供可能。
2 深度学习与回环检测方法
近年来,在计算机视觉领域中,深度学习方法广受关注,发展飞速,对于图像分割、图像检测、图像分类等都有重要的促进。深度学习假设不同因子相互作用,分为多个层次,抽象程度不同。这一过程的结构通过每一层的规模、不同层数来反映。从机器学习中的分散表示,产生深度学习[1],它是从数据中自动通过学习获取的。
传统模式识别,是依据人为经验设计,因此对于整个算法系统来说,人工特征选择决定其运行质量。传统研究的重点,就在于发掘好的特征提取算法,往往需要研究人员耗费较长的时间来研究特征提取算法[2-3]。而深度学习使用大量的训练数据,多隐层的机器学习模型,变换逐层特征,形成新特征空间,从中提取高层次特征。深度学习使预测、分类的正确率有效提升。将深度学习应用于计算机视觉领域,对目标便可用多种方式来表示。若目标是一副图像,用表示向量反映每个像素的灰度值,或用抽象的特定线条、边缘等,准确获得高层次的特征。
传统的回环检测方法分为两种。一种是以视觉图像为基础,以场景识别的问题代替回环检测问题,根据帧间相似性进行回环判断。此法在21 世纪初被提出,目前是视觉SLAM 领域的研究重点。场景影像数据利用前端摄像头获取,图像间的相似性计算通过计算机视觉方法,对回环进行判断[4-5]。另一种是以视觉里程计为基础,假设相机回归之前位置,通过几何关系来判断是否构成回环。但这种方法存在偏移误差,导致较低的判断逻辑准确性。
图像间的相似性如何计算,是基于视觉图像方法的核心问题。目前常用的是标定人工设计的关键点,计算特征描述子相似度。回环检测不管是局部特征提取,或者全局特征提取,都依据人为经验[6]。这也决定了季节变换、光照变化等客观环境因素都会降低准确率。对于实际场景剧烈变化的图像,存在一系列问题,比如旋转不变性较差、视觉单词无法匹配等。
3 基于深度学习的回环检测算法
3.1 基于VGG-19 图像特征向量集构造
研究利用深度学习,提出视觉SLAM 的回环检测算法。系统基于局部敏感哈希算法的快速回环检测,以及基于卷积神经网络VGG-19 的图像特征向量集所构建,总体方案如图1 所示。
图1 系统总体方案
在出现角度、光照变化时,人工设计特征提取算法的准确率降低,因此使用VGG-19 提取图像集的整体特征,同时构造对应特征向量矩阵。特征向量在高纬度时,对计算性能要求高,快速检测回环无法实现[7]。故此采用降维聚类处理特征向量矩阵,应用基于余弦距离的LSH 算法,提高识别速度。
提取图像特征提取时,使用算法不同,最终回环检测的效果也会不同。卷积神经网络VGG-19 的可操作性强,特征表述能力高,能够有效满足图像特征提取的需求[8]。直接使用预训练VGG-19 处理图像任务能获得较高增益。
图像部分特征应用大卷积核会出现提取困难的问题。对于常见的大卷积核,VGG-19 使用小卷积核代替,为3×3。使用更多的小卷积核,有利于更准确地辨别特征,也会更加精确地描述图像的细节特征。因此对图像特征提取的网络结构选用预训练的卷积神经网络VGG-19。
VGG-19 有3 个全连接层,5 个卷积层模块。不同中间层的图像特征效果如图2。可见,FC7 层特征向量维度适中,可以较好地区分图像。因此图像特征表示选用FC7 层输出向量。Conv1 层提取特征比较粗糙,而Conv3 层维度过高,又会影响后续的运算。VGG-19 的输出结构变化,输出结果为4096 维的图像特征向量。为加快提取图像特征,在此调整VGG-19 的BATCH。一次性输入k 张图像,向FC7 层前向传播,直接输出特征矩阵M:
图2 VGG-19 不同中间层图像特征效果
3.2 基于余弦距离的局部敏感哈希算法
与一般的哈希算法不同,局部敏感哈希是通过特定的Hash 函数,将高维空间内相似度高的数据,映射为同一个Hash 值,在聚类搜索、图像和视频检索、网页去重等场合多有应用。局部敏感哈希属于最近邻查询算法,使高维空间数据向低维映射。
定义LSH 函数簇F= {h :M→S },在度量空间内M=(M,d)。定义距离阈值σ>1,R>1。p,q∈M,向量之间的度量表示为d(p,q)。概率表示为PRh。对于任意p,q,有:
如果P1>P2,称F 是(R,σR,P1,P2)敏感的。不同的LSH 函数簇对应不同的度量方式。在回环检测的情况下,应用以余弦距离为基础的LSH 函数簇,可以使匹配所需的查询时间明显减少。LSH 函数hμ以余弦距离度量为基础,表示为:
3.3 基于LSH 算法的回环检测策略
若直接使用以余弦距离为基础的LSH 函数构造Hash 表,会有聚类区分度不够、待匹配向量查询范围窄等问题。增加False Negative 和False Positive出现机率。此时可使用“OR”和“AND”策略,调整P1和P2,以提高回环检测的性能及算法聚类准确性。
“OR”策略是:只要有任意的hn(v1)=hn(v2){n=1,2,...,l}存在于函数簇F={h1,h2,...,hl}中,就会出现h(v1)=h(v2)。增加以后,有t 个Hash 表,使P1和P2成为1-(1-P1)t和1-(1-P2)t,False Negative 因此减少。
“AND”策略是:出现h(v1)=h(v2),只有h(v1)=h(v2){n=1,2,...,l}时,增加超平面,使P1和P2成为P1t和P2t,以减少False Positive 的情况。
3.4 算法时间复杂度分析
随着超平面的增加,Hash 表的规模表现为线性增长态势,如图3 所示;随着偏移量增加,匹配耗时显示为正态分布状态,如图4 所示。
图3 Hash 表规模变化趋势
图4 匹配耗时分布情况
图中,所有特征向量间的余弦距离计算,单纯应用暴力匹配方式,复杂度为O(n2)。特征向量矩阵的向量个数为n。构造Hash 表算法时间复杂度为O(l×n)。集合V 决定时间复杂度,近似为O(1),复杂度减少,超平面个数为l。
4 实验结果与分析
4.1 实验数据集
实验使用的视觉SLAM 回环检测数据集,选取的是牛津大学机器人团队收集的City centre 与New college。在室外环境中,移动机器人通过摄像头,采集的2474 与2146 张左右对图像[9-10]。图像尺寸640×480 像素,格式为jpg。研究人员可根据回环真值,对实验结果进行比较。根据左右摄像头采集的图像,对数据集进行重新分割。右摄像头采集的所有图像,为New college right,1073 张。左摄像头的为New college left,1073 张。数据集City centre 同样以此分割,为右摄像头的City centre right,1237 张,以及左摄像头的City centre left,1237 张。
4.2 回环检测准确性比较
使用平均准确率,以及准确率-召回率曲线,评价算法的性能。在数据集City centre 与New college中,设定8 位偏移量,16 个超平面,效果最佳。偏移量、超平面数量逐渐减少,算法性能随之下降。相比数据集New college,算法对于数据集City centre 的回环检测性能更佳。其原因在于数据集City centre中的人和车辆更多,模型具有更高的识别能力。比较基于Autoencoder 的回环检测,再基于Alexnet 的回环检测比较平均准确率。相比传统的人工设计特征提取算法,基于深度学习的Alexnet 与Autoencoder的平均准确率更高。因此,对于图像场景的识别,基于深度学习的方法能力更强,受光照的影响更少。算法在数据集上的平均准确率比较结果归纳如表1。
表1 算法在各数据集上的平均准确率
4.3 时间性能比较
为达到机器人的同步定位与建图,视觉SLAM 系统要求回环检测模块具有足够强的实时性。实验随机抽取2000 张图像,探讨算法的时间性能。经比较,Alexnet 耗时为0.014 s;ORB-SLAM 为1.02 s;VGG-LSH 为0.012 s;Autoencoder 为0.12 s;FAB-MAP为1.75 s。再以VGG-19 为基础,构造图像特征矩阵,比较LSH 算法及暴力匹配降维后的耗时,在City centre all 中,LSH 算法匹配耗时0.87 s,暴力匹配耗时2.65 s;在New college all 中,LSH 算法匹配耗时0.84 s,暴力匹配耗时2.52 s。
可见,LSH 算法的加入,会使检测回环的时间性能明显提升。
5 结 束 语
深度学习方法相比传统方法具有明显优势,在SLAM 领域中有较大的应用前景。目前,深度学习在视觉SLAM 系统中的应用尚处于初级阶段。合理利用深度学习中的卷积神经网络,能在计算机视觉领域中获得优良的效果。将LSH 算法与卷积神经网络相结合而建立的视觉SLAM 回环检测算法,可有效减少天气、光照等变化的影响,提升检测的准确率,提高时间性能,满足系统的实时性要求。