赞
踩
近年来,视觉里程计广泛应用于机器人和自动驾驶等领域,传统方法求解视觉里程计需基于特征提取、特征
匹配和相机校准等复杂过程,同时各个模块之间要耦合在一起才能达到较好的效果,且算法的复杂度较高。环境
噪声的干扰以及传感器的精度会影响传统算法的特征提取精度,进而影响视觉里程计的估算精度。鉴于此,提出
一种基于深度学习并融合注意力机制的视觉里程计算法,该算法可以舍弃传统算法复杂的操作过程。实验结果表
明,所提算法可以实时地估计相机里程计,并具有较高的精度和稳定性以及较低的网络复杂度。
关键词 机器视觉;深度学习;视觉里程计;注意力机制;多任务学习。
目前,深度学习技术广泛应用在目标检测[1]和目标追踪等诸多计算机视觉领域,以及同步定位与建图(SLAM)领域。视觉里程计(VO)算法是通过视觉技术来获取相机位姿,而SLAM 的思想是构建整个环境的地图,但 VO 算法对于位姿的估计精度直接影响最终地图的构建效果。近年来,通过一系列有着时间先后顺序的图像来推算相机位姿的方法受到了越来越多研究者的关注,而且该方法广泛应用在各类机器人导航 定位以及自动驾驶的领域。早期,VO 算法是针对火星探索计划进行研究的。2004年,Nister等[2]提出了 VO 算法并搭建了最早的 VO 系统,为后续研究提供了优秀的范例和参考。传统 VO 系统的工作过程主要包括:首先校准相机,然后对输入图像进行特征提取及检测并对相邻序列的图像进行特征匹配,接着剔除图像中的异常值,将匹配好的特征进行运动估计和比例估计,最后对其进行局部优化并输出位姿。由此可见,传统 VO 系统的处理过程相对复杂,涉及模块较多。一些基于传统算法的变体在准确性和鲁棒性方面虽然表现较为出色,但通常需要很大的工程量,并且每个模块都需要精准细调才能确保其在特定环境下正常工作。对于单目 VO 系统来说,由于其缺少绝对的信息尺度,所以必须使用一些额外的信息(如相机的高度)才能更好地抑制漂移,从而进行姿态估计。随着深度学习技术的飞速发展以及卷积神经网络(CNN)在图像识别
(本人博客在之前已经讲解了CNN。以下是本文链接https://blog.csdn.net/weixin_46931877/article/details/115940612)
和分割领域的巨大成功,使得研究者使用CNN来处理VO问题成为了可能。CNN可以自动对图像进行不同尺度的特征提取,省去了传统机器学习中繁琐的特征提取过程。但是由于 VO 算法考虑了连续图像序列的相关信息,需要处理和发现图像之间更多的低层几何变换信息,因此在处理 VO 问题仅仅使用 CNN 是不够的。基于以上问题,本文提出一种基于深度学习的VO 算法。首先将 RGB(Red,Green,Blue)图像序列输入网络中,对图像数据使用多层 CNN 进行由局部底层几何变换信息到全局高层几何变换信息的提取,同时使用融合注意力机制进一步提取图像中的几何变换信息。然后将提取的特征通过 CNN 降维后连接两个单独的全连接网络再进行多任务学习。最后网络输出模块分别回归位置信息以及角度信息。所提算法构建的网络可进行端到端的训练,从而舍弃传统方法中的特征提取及匹配等复杂过程。网络在降低复杂度的同时可以提高 VO 算法的定位精度,说明所提算法具有较高的稳定性。
单目 VO 是机器人和自动驾驶领域的重要研究问题之一,实现单目 VO 的方法主要分为基于几何特征的方法和基于学习的方法两类。
基于几何特征的方法可进一步划分为稀疏特征法和直接法。稀疏特征法的代表性方法为LIBVISO2(LibraryforVisualOdometry2)法[4],采用该方法对连续图像帧之间的特征点进行提取和匹配,得到显著的特征点后进行运动估计,稀疏特征法的基本框架如图1所示。随着时间的推移,图像帧之间的误差就会产生累积,从而造成一定的漂移,导致 VO 算法的准确度下降。为了进一步解决这个问题,科研学者提出了视觉SLAM 优化连续特征图的方法。早期,单目视觉SLAM 是借助于卡尔曼滤波器(EKF)来实现位姿估计[5],但EKF的计算复杂度和线性变化具有不确定性,所以实时性难以得到保证。文 献 [6]通 过 滤 除 动 态 物 体 的 方 法 来 提 高VO 精度,但计算复杂度很高,同时具有特征点法的弊端。总的来说,基于特征点的方法对于特征点的提取和匹配十分耗时而且计算复杂度很高,同时提取到的特征点不具有全局性,也会丢失一部分信息。当图像不具备明显的纹理信息时,基于特征点的方法很难提取到特征点。虽然直接法的提取速度更快,但其依赖于像素的变化,而且在光照强度发生变化等情形下,VO 精度很容易受到影响。
基于几何特征的方法主要是从图像中提取特征信息以进行运动估计,而基于学习的方法是从数据中推断运动情况。Roberts等[7]首先基于学习的方法将每帧图像划分为网格单元并计算每个单元的光流,然后采用k 最近邻(KNN)算法来估计当前位姿变化情况,虽然该方法不如几何方法准确,但其具有可行性。随后,一些研究人员使用 CNN 从光流图像帧序列中估计运动位姿,采用的方法有 P-CNNVO 方 法、Flowdometry 方 法和 LS-VO 方法等。由于计算 RGB 图像的光流十分耗时,而且对系统整体的实时性有一 定影响。DeepVO 和GCN(GeometricCorrespondenceNetwork)等是将 CNN 与循环神经网络(RNN)组合,用于从图像序列中提取运动信息,但训练 RNN 需要很大的计算成本,同时网络的复杂度也会很高。综合以上分析,传统的基于几何特征的方法在图片特征不明显以及光照突变的情况下会导致准确度下降,同时会出现误差累积的现象。基于学习的方法是最近几年发展起来的,由于传统机器学习算法处理数据的能力有限,所以使用基本 CNN 从图像序列中提取特征成为了趋势,然而仅仅使用 CNN 提取表层特征是不够的,通过 RNN 进一步提取特征尽管在效果上有所提高,但这会增加很大的计算压力,复杂度较高。鉴于此,提出一种新型轻量级端到端的网络架构来处理 VO问题,同时使用融合注意力机制来提取图像序列中的几何变换信息,可以弥补仅使用 CNN存在的不足。下面简单讲解,所提网络增加多任务输出位姿的层,分别回归位置信息和角度信息。所提网络的框架如图2所示,其中FC为全连接。
所提的网络架构可以进行端到端的训练并且可以输出相机位姿,主要过程包括 CNN 特征的提取、基于注意力机制对层级的图像几何关系特征进行提取,以及使用连接两个分离的全连接网络对多任务特征进行降维和浓缩处理。
所提的神经网络结构如图3所示。虽然已有很多有用的 CNN 架构用于处理计算机视觉任务,如VGGNet、GoogLeNet、ResNet和 DenseNet等,但均主要用于分类或者目标检测等。通过图像来计算相机的位姿,但位姿依赖于图像的几何特征信息,这是深度学习中的回归问题之一,因此使用诸如VGGNet结构解决 VO 问题的效果较差。综上所述,提出一种能够更好地学习图像几何特征表达的网络架构,该架构可以解决 VO 问题以及其他的图像几何问题。在网络中输入相邻两帧的图像,两张图像均为数据集中的原始 RGB 图像。为了适应所提的网络架构,将图像尺寸修改为1280pixel×384pixel,并对两张图像进行第三维度上的串联,组成第三维度为6的数据并输入网络中,通过 CNN 以及注意力模块对其进行特征提取,再经过两个分离的 FC 层进行单独的降维及特征浓缩处理,最后网络输出这两张图像之间的相对位姿。由于 VO 问题更依赖于从图像中提取的几何特征信息,因此为了更综合地学习两张图像之间的几何变换关系,网络架构来设计CNN 以提取图像特征,并在 CNN 的最后连接两个单独的 FC层进行多任务的位姿回归。所设计的 CNN 共有9层卷积层,网络内部参数如表1所示,对 CNN 中每一层的输出图像使用ReLU 激活函数进行非线性处理。卷积核的由大变小且通道数的由少变多,可以使网络更能关注图像的局部特征和多种融合特征。经过所有卷积层后再通过最大池化操作可以获得10×3×1024的特征图,其中通道数为1024,特征图的尺寸为10pixel×3pixel,并将其转换为一维的特征向量后先输入到一层共享的FC层,再输入各自的FC层后进行位姿
回归,最终网络输出得到6自由度的位姿数据。
注意力模块可嵌入 CNN 中并进行一种简单而又有效的注意力机制部署,其主要包含通道注意力模块和空间注意力模块。使用注意力机制来增强网络架构的表达能力,可以进一步表征图像之间的几何变换关系,从而使网络可以更智能化地学习更重要的特征并同时关注那些特征区域,从而减少学习一些不重要的特征,这也是注意力机制的本质。由于卷积运算是通过融合各个通道以及空间平面特征图的信息来分离特征,故卷积注意力模块也围绕着通道维度以及特征图的空间维度分别设置注意力机制,这可以使神经网络能够学习更重要的特征信息,将基于卷积的注意力模块集成到所提的 CNN 架构中并进行端到端的训练,其基本结构如图4所示,其中 F∈RC×H ×W 为输特征图,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。