您好, 访客   登录/注册

基于VGG16模型的快速闭环检测算法

来源:用户上传      作者:

  摘要:深度卷积神经网络在图像特征表示方面优于传统手工特征,将其用于闭环检测时还存在计算时间随着数据增长不断增加的问题。为了解决这一问题,提出了一种基于VGGl6模型的快速闭环检测算法。該算法使用在ImageNet上预训练的VGGl6网络模型提取图像卷积特征,并通过一种自适应粒子滤波方法得到闭环候选帧,以固定运算时间。在主流的闭环检测数据集city Centre和New College上对此算法进行测试,实验结果显示,该算法在两个数据集上可以分别达到92%准确率下70%召回率和96%准确率下61%召回率,超过了同类算法,并有效解决了计算时间增长的问题。
  关键词:机器视觉;卷积神经网络;闭环检测;粒子滤波
  中图分类号:TP391.4 文献标志码:A
  引言
  同步定位与地图创建(sLAM)被认为是机器人能否真正实现完全自主化的关键技术之一,使用相机作为唯一或主要传感器的SLAM系统被称为视觉SLAM系统。整个视觉SLAM系统依赖于几个关键算法,包含特征提取、匹配和闭环检测。其中闭环检测算法的目的是识别移动机器人运动过程中曾经访问过的地点,即如果检测到正确的闭环,机器人将能够消除运动过程中的累积误差,构建具有全局一致性的地图。
  目前已经有许多成熟的视觉闭环检测算法。视觉空间中的概率定位与地图构建(FAB-MAP)使用视觉词袋(BoVW)H将局部特征聚类成视觉单词成为闭环检测的经典算法之一。刘国忠等将归一化的图像中心直接作为SURF(speeded-uprobust features)与ORB(oriented FAST androtated BRIEF)的特征点位置,把计算得到的SURF和ORB局部特征描述符作为图像的全局特征描述符,查询图像位置识别与全局特征提取的平均时间不到3 ms。Liu等使用Gabor-GIST提取图像的全局特征,得到了更紧凑的特征表达。但是,以上这些方法均基于人工设计的特征,通常容易受到光照变化的影响,从而严重影响算法的结果。
  近年来,卷积神经网络(CNN)在图像分类和图像检索方面取得了丰硕的成果。考虑到视觉闭环检测与图像分类和图像检索在特征提取上的相似性,研究者开始尝试将深度学习的方法应用到闭环检测中。Siinderhauf等利用edgeboxes提取路标(Landmark)可能存在的区域,再运用在ImageNet上预训练的CNN模型提取区域特征进行匹配,这一算法对环境和视角的改变具有鲁棒性。Hou使用PlaceCNN提取图像特征进行闭环检测,并对不同层的特征表现进行了评估。Gao等提出了一种利用栈式去噪稀疏自编码器(sDA)模型进行闭环检测的方法。然而这些方法在获取闭环候选帧时均采取线性搜索的方式,需要将当前图像与过去所有图像进行对比,随着地图数据的增长,算法将无法满足闭环检测的实时性要求。
  因此本文使用VGGl6网络模型提取图像全局特征描述符,并在此基础上,提出了一种改进的自适应粒子滤波方法以解决计算时间增长的问题,并对本文提出的算法进行了测试。
  1算法结构
  1.1算法流程
  本文提出的算法流程如图1所示。首先进行粒子初始化并对粒子做第一次状态转移,同时对输入待检测图像提取CNN特征并进行降维处理,计算当前帧图像与粒子所处节点图像的相似度,依此更新粒子权重。然后依据粒子权重对所有粒子进行重采样和随机扩散。最后根据粒子分布情况得到闭环候选节点,对其进行验证,判断是否检测到闭环。
  1.2 VGGl6模型网络结构
  VGG是近年来在ILSVRC(ImageNet LargeScale Visual Recognition Challenge)比赛上有出色表现的CNN模型。VGG相较于文献[14]中的PlaceCNN具有更深的网络,因而具有更强的图像特征抽象能力。VGGl6是现有模型中性能较强的一个,它既拥有紧凑的结构又包含较多的卷积层。本文使用VGGl6在ImageNet上预先训练好的网络模型进行图像特征提取。VGG16的结构如图2所示。
  原VGG网络输出的结果为图像的分类,不适合用于图像特征的表达。相比于层次更深维度更低的全连接层,全连接层之前的池化层更加适用于视觉闭环检测。池化层同时保留输入图像的大部分空间信息和丰富的语义表示,而全连接层失去了绝大部分空间信息只保留了图像高阶语义信息。因此本文截取VGGl6网络中末端的池化层作为图像的全局特征描述符,其输出特征为7x7x512总共25088个维度。
  1.3图像特征降维
  降维是对数据高维度特征的一种预处理方法。通过降维,可以去除高维度数据中噪声和不重要的特征,从而保留最重要的一些特征,实现提升数据处理速度的目的。通过VGGl6网络提取的图像特征描述符维度较高,在计算图像特征相似度时需要消耗大量时间。高维度的图像描述符存在信息冗余,可以通过降维将数据进行压缩。
  主成分分析(principal component analysis,PCA)方法是一种使用最广泛的数据压缩算法。本文使用PCA算法对原始特征进行降维处理,将原来高维的特征描述符压缩到较低的维度,从而减少计算相似度需要的时间,同时也减少保存特征描述符需要的内存空间。
  1.4自适应粒子滤波
  由于闭环检测是从过去图像数据中搜寻与当前观测图像所匹配的图像,这与图像检索十分相似,所以在过去的许多研究中,将闭环检测问题看作是一个图像检索问题。然而所使用的图像数据具有一定的时间连续性,因为这些图像是用相机连续拍摄得到的,而图像检索并不具备这一特性。考虑到闭环检测这一特点,本文使用粒子滤波算法来模拟相机拍摄的连续性。粒子滤波算法通过非参数化的蒙特卡罗(Monte Carlo)模拟方法来实现递推贝叶斯滤波,适用于任何能用状态空间模型描述的非线性系统。在这一基础上,本文提出了一种自适应的粒子滤波算法(adaptiveparticle filter,APF),该算法在原来的粒子滤波算法中加入了自适应粒子扩散步骤以增加算法对潜在闭环的搜索能力。   使用节点(Node)来表示曾经到达过的地点,即相机获取的每一张图像。如图3所示,三角形表示过去路过的节点,圆形表示现在经过的地点,虚线表示检测到的回环。算法开始时,所有粒子被重置为起始位置(第一个节点),即
  经过不断重采样之后,粒子会聚集在一个小范围内并保持不变,再也不能检测到潜在的回环。为了增强粒子分布的多样性,在完成粒子重采样之后,随机抽取一部分粒子,并将其重设为其他已经经过的节点位置。
  选择粒子数最多的节点作为回环候选,并进行回环验证。因为相邻位置的图像总是有较高的相似度,所以要求当前结点与回环候选节点足够远。同时为了避免错误检测回环,还要求当前帧与候选参考帧的相似度足够大。同时满足这两个条件则判定该回环候选为正确回环。
  2實验
  2.1实验设置
  本文选用牛津大学移动机器人研究小组公开的City Centre和NewCollege数据集进行测试。数据集为车载相机每隔约1.5 m拍摄的场景图像,用两个车载相机分别拍摄了2474和2146张图像。图4为两个数据集提供的GPS信息,其中深灰色线为车载相机运动轨迹,浅灰色线表示正确的闭环位置。
  实验所用计算机为戴尔t5810工作站,其配置为:CPU为E5-v1660v3处理器,主频3.0GHz,内存32 G。算法运行环境为MATLAB。
  2.2算法性能
  准确率(precision)和召回率(recall)是评价闭环检测算法常使用的两个指标。本文采用准确率一召回率曲线来验证本文算法的准确性。准确率和召回率的计算公式如下:
  式中:p和R分别为准确率和召回率;NTP为正确检测到的闭环数;NFp为错误检测到的闭环数;NFN为没有检测到真实的闭环数。通过调整回环验证所使用的相似度阈值大小来得到不同的实验结果,并计算相应的准确率和召回率,绘制准确率一召回率曲线。
  为了验证本文的算法效果,将本文算法的检测结果与PlaceNet、SDA算法以及使用GIST特征的检测结果进行了对比,同时还研究了粒子数对算法性能的影响。
  实验结果如图5所示,在两个数据集上本文算法在相同准确率下都可以达到比其他闭环检测算法更高的召回率。在city Centre数据集上,本文算法可以在保证92%准确度的条件下达到70%的召回率。在New College数据集上,本文算法可以在保证96%准确度的条件下达到61%的召回率。这些结果都超过了其他算法在相同数据集上的检测结果。
  从图5还可以观察到,随着粒子数增多,相同准确率下的召回率随之增加,但当粒子数超过150时,这个增长明显减小。选择适当的粒子数可以在保证算法准确率的同时减少计算成本。
  2.3计算时间
  在应用层面,视觉SLAM要求闭环检测算法具有实时性,以便及时进行全局优化和位姿矫正。本文使用的自适应粒子滤波算法在搜索候选回环时只需要计算与其粒子数量相应的余弦距离,其计算时间不会随着算法运行而增加。而普通的线性搜索方法需要计算与所有历史图像的余弦距离,其计算时间成本会随着算法运行不断增加,最后无法满足闭环检测实时性的需求。
  图6为自适应粒子滤波算法和线性搜索方法在New College数据集上的运行时间比较。可以观察到,线性搜索方法随着图像数据的增加运行时间不断上涨,而本文使用的自适应粒子滤波算法基本没有改变。这说明本文提出的算法可以在大型长时间SLAM应用中完成闭环检测任务。
  3结论
  使用深度学习方法增强闭环检测算法性能是目前的研究热点。本文在这一基础上提出了一种基于VGGl6的快速闭环检测算法,使用具有强大特征抽象能力的VGGl6网络模型对待检测场景图像特征进行提取,继而使用自适应粒子滤波算法模拟相机连续拍摄得到回环候选帧。实验结果表明,本文算法与同类算法相比在相同准确率下提高了召回率,并且成功克服了线性搜索带来的计算时间逐渐增长的问题,更适用于大规模长时间的运行场合。
转载注明来源:https://www.xzbu.com/1/view-15103755.htm