APP下载

基于注意力模型的视觉/惯性组合里程计算法研究

2020-07-29胡小平陈昶昊张礼廉

导航定位与授时 2020年4期
关键词:位姿闭环注意力

屈 豪,胡小平,陈昶昊,张礼廉

(国防科技大学智能科学学院,长沙 410073)

0 引言

单目相机因具有配置简单、成本低廉等特点,在民用精度级别的实时定位与建图(Simultaneous Localization and Mapping,SLAM)系统中应用较为广泛。针对单目相机开发的视觉里程计算法按照不同的基础理论可分为:基于几何的单目视觉里程计以及基于深度学习的单目视觉里程计。

基于几何的单目视觉里程计一般采用手工设计的算子识别图像中的特征点,并按照一定的准则辨识多帧图像中的匹配特征点;随后使用多视图几何模型描述时间上相邻图像匹配特征点之间的相对运动关系,同时采用异常值剔除算法排除不符合相机运动模型的特征点,进一步提升视觉里程计的性能。LIBVISO2[1]采用了典型的基于几何的视觉里程计,使用sobel算子构建特征描述子,并将相邻帧图像中描述子向量小于一定阈值的特征点视为匹配特征点,使用随机采样一致性(Random Sample Consensus,RANSAC)算法排除不符合相机运动模型的外点。为了能加快整体系统的运行效率以及精度,并行跟踪与映射算法(Parallel Tracking And Mapping,PTAM)[2]和ORB-SLAM[3]采用轻量化算子在多种分辨率的图像中捕捉特征点。

然而在光线较暗或者存在大面积遮挡的情况下,单目视觉里程计的特征点捕获算法无法获得足够的图像特征,从而导致算法失败。现阶段一部分研究人员通过添加多传感器信息并开发组合里程计来增强SLAM系统的感知能力,最为常见的是视觉/惯性组合里程计,其中视觉惯性导航系统(Visual-Inertial Navigation System,VINS)[4]是典型的视觉/惯性组合里程计。VINS采用预积分的方式处理惯性测量单元(Inertial Measurement Unit,IMU)的测量值,减小位姿更新的计算成本;同时采用非线性优化的方法耦合视觉与IMU信息求解相机位姿的过程,随后使用图优化算法结合闭环节点的位姿测量值来校正全局的位姿。VINS适用于不同精度的相机/IMU组合系统,对于多变的环境具有较好的鲁棒性,能集成于多种移动平台。

基于几何的视觉/惯性组合里程计根据成熟的多视图几何原理进行开发,在多种场景中都有较为稳定的性能;然而它需要较为理想的运行环境以及精确的参数设定,还需要标定和校准多传感器之间的位置关系与时间戳误差,这极大地提升了算法开发的成本和调试周期。同时视场中的遮挡以及IMU测量值的噪声会降低组合里程计的性能,基于几何的视觉/惯性组合里程计可通过滤波或者非线性优化的方式减少噪声对算法运行的干扰,或者预先对噪声进行建模,然后在算法运行的过程中排除噪声的影响。

鉴于深度学习神经网络具有强大的非线性拟合以及高层特征表达能力,已有研究人员尝试使用深度学习神经网络重构视觉里程计。文献[5]提出了DeepVO算法,使用光流提取网络(FlowNet[6])搭建视觉特征提取器,以此来取代传统视觉里程计中的特征点/光流提取算法。光流提取网络通过多层卷积层解析相邻帧图像中的高层特征,高层特征不易受到光照条件的干扰,因此具有一定的抗噪能力;同时使用长短时记忆网络(Long Short-Term Memory,LSTM[7])模拟传统视觉里程计的非线性优化模块,进一步提高了短时间内的位姿估计精度。使用全连接层构建位姿回归器,综合相邻帧图像的高层特征并投影为相对位姿估计值。通过长时间的训练,使得网络逐渐拟合图像与相机位姿之间的非线性关系。

文献[8]使用深度学习神经网络重构了视觉/惯性组合里程计,采用FlowNet-Corr[6]作为视觉特征提取器,为前后两帧图像分别设计卷积层来提取高层特征;同时使用双层LSTM搭建了惯导信息特征提取器,将惯导信息特征提取器最后时刻的输出作为惯导信息的高层特征,特征的维度与LSTM的隐藏节点数一致。单独设计一个SE(3)网络层将视觉/惯导信息组合特征投影至位姿标签空间,随后结合位姿标签值构建误差函数进行训练。

上述视觉/惯性组合里程计算法都无显式的抗噪模块,对噪声的适应能力较为有限。为了进一步增强基于深度学习的视觉/惯性组合里程计的抗噪性能,文献[9]提出了一种基于注意力机制的视觉/惯性组合里程计网络,在里程计网络中引入注意力模型,过滤融合特征中的噪声,从而进一步提高网络的性能。

综上所述,现阶段基于深度学习的视觉/惯性组合里程计算法都使用深度学习神经网络集成里程计的全部模块:特征提取、特征匹配、位姿求解以及短时间的位姿优化。但同时也缺少闭环优化的环节,随着时间的推移,位姿估计值误差会逐渐积累。

本文参考文献[9],设计了一种基于注意力模型的视觉/惯性组合里程计算法,针对视觉和惯导信息中可能存在的噪声,本文引入了两种注意力模型。针对里程计误差随时间积累的问题,本文参考传统SLAM系统的后端算法,引入闭环优化的环节,使用闭环节点的相对位姿测量值校正全局位姿。

1 基于视觉/惯导信息的特征提取器结构设计

使用深度学习重构视觉/惯性组合里程计可视为隐层特征投影的问题,针对不同种类的数据需设计不同结构的特征提取器来提取隐层特征,并通过前向传播将隐层特征投影至标签空间。本文将光流估计网络(FlowNetSimple[6])的卷积层部分作为视觉特征提取器,FlowNetSimple网络能同时读取相邻两帧的图像,因此无需为每帧图像单独设计网络,这减轻了网络的计算成本。鉴于循环神经网络存在梯度爆炸的问题,本文使用LSTM搭建惯导信息特征提取器。

1.1 视觉特征提取器结构设计

FlowNetSimple卷积层的结构如表1所示,在卷积核参数中,前2个维度表示卷积核在图像横纵两轴的尺寸,第3个参数表示输入通道数,最后1个参数表示输出通道数。图像在输入之前,将尺寸统一调整为(512,256)。

表1 视觉特征提取器结构表Tab.1 Structure of visual feature extractor

本文在FlowNetSimple最后一层卷积层Conv6_1后加一个输出通道数为256的全连接层Fc1,将相邻两帧图像的隐层特征压缩为(1,1,256)维度的张量。通过在每一层卷积层之后加上LeakyReLU函数来增强神经网络的非线性拟合能力。

1.2 惯导信息特征提取器结构设计

图1 惯导信息特征提取器结构示意图Fig.1 Scheme of bidirectional LSTM

由于本文将前后向的隐层特征序列进行联结,因此LSTM网络最终输出256维度的隐层特征。为了进一步提高网络的泛化能力,减轻过拟合的现象,本文将LSTM网络的dropout[10]参数设置为0.25。

2 基于注意力机制的掩膜网络结构设计

在传感器采集的原始数据中,可能存在一些由外界环境和器件本身所造成的噪声,例如图像中光照强度低或者纹理缺失的部分可能会减弱视觉特征提取器的性能,低精度IMU输出的惯导信息也存在一定量的白噪声和零偏。这些噪声的隐层特征若不经处理会降低整体网络的性能,因此本文设计了两种注意力网络:加权组合注意力网络以及开关组合注意力网络来过滤噪声的隐层特征。两种注意力网络的输出与视觉/惯导信息组合特征同维度的权重掩膜,掩膜与组合特征按元素相乘,通过调节掩膜的数值从而改变组合特征中每一个元素占总体的比重。其中加权组合注意力网络的掩膜数值分布在(0,1)区间,开关组合注意力网络则输出只有0和1的二值掩膜。

2.1 加权组合注意力网络

在加权组合注意力网络输出的权重掩膜中,较大权重值对应的特征受噪声影响较小,而较小权重值对应的是受噪声影响较大的特征。通过长时间的训练使得权重掩膜的数据分布更符合组合特征中的噪声分布。

经过全连接层压缩的视觉隐层特征αV和惯导信息隐层特征αI的维度为(1,1,256)。本文首先将两种特征在通道上结合成(1,1,512)维度的组合特征{αI|αV};随后将组合特征代入输出通道数为512的全连接层fall;输出的特征再使用sigmoid激活函数σ进行非线性化处理,得到权重掩膜Msoft;将掩膜与组合特征按元素相乘,得到经筛选的组合特征αout。上述过程如式(1)所示,网络结构示意图如图2所示。

图2 加权组合注意力模型示意图Fig.2 Scheme of soft attention model

Msoft=σ{fall{αI|αV}}
αout=Msoft⊙{αI|αV}

(1)

2.2 开关组合注意力网络

开关组合注意力网络将组合特征的最大元素视为无噪声污染的特征,并将对应的掩膜元素设置为1,其余设置为0,本文使用重参数法来模拟求组合特征最大值的过程[11]。

首先,构建输出通道数与组合特征维度相同的全连接层fall,将组合特征输入到fall得到张量ν,ν中的每一个元素νi代表对应位置的组合特征{αI|αV}i是无噪声污染的概率;随后将νi与Gumbel[11]随机变量κi相加,并输入到softmax[10]函数中,得到的Mhard近似于二值掩膜。上述过程如式(2)所示

ν=fall{αI|αV}
κi=-log(-log(Ui)),Ui~Uniform(0,1)

αout=Mhard⊙{αI|αV}

(2)

其中,n代表组合特征张量的长度,μ是退火系数,调整Mhard与二值掩膜的相似程度,当μ的值较小时Mhard近似于二值掩膜,将Mhard与组合特征{αI|αV}按元素点相乘得到经筛选的组合特征αout。网络结构示意图如图3所示。

图3 开关组合注意力模型示意图Fig.3 Scheme of hard attention model

3 窗口优化网络及闭环优化

3.1 窗口优化网络

为了对短时间内的位姿估计值进行优化,本文使用LSTM搭建窗口优化网络,LSTM的层数为2,隐藏节点为512,dropout参数为0.25,窗口优化网络示意图如图4所示。将相邻多帧图像与IMU信息的组合特征输入到LSTM中,并输出经优化的组合特征,随后使用2个全连接层分别构成姿态回归器以及位置回归器,分别输出欧拉角形式的姿态增量Δθi,i+1和平移矢量Δρi,i+1。最后,将二者在通道上进行联结,构成6维度的相对位姿估计值张量。

图4 窗口优化网络示意图Fig.4 Scheme of windows optimization network

3.2 误差函数

(3)

由于姿态与平移量的数值之间存在数量级的差异,因此需设置平衡系数τ,本文将平衡系数设置为100。

3.3 闭环优化

(4)

其中,ε代表相邻两帧以及闭环节点的索引号。

本文使用列文伯格-马尔夸特算法[15]对L进行优化,使用g2o工具包[16]实现算法。

4 实验结果与分析

本节通过3组实验验证了本文设计的基于注意力模型的视觉/惯性组合里程计网络的有效性,第1组实验致力于比较不同注意力模型对里程计网络性能的影响,第2组实验致力于对比本文设计的里程计网络与主流视觉/惯性组合里程计算法VINS的性能,第3组实验验证了闭环优化算法对里程计网络性能的影响。

4.1 实验条件配置

本文使用KITTI官网提供的原始数据进行实验,训练集为00,01,02,06,08,09,验证集为04和05,测试集为07和10。按照文献[17]的提示制备实验数据的标签值,随后将网络在配备4块Titan XP的工作站上进行训练,总共耗费13h。使用pytorch框架[18]开发本文设计的几种里程计网络。所有网络都使用动量为0.9的Adam梯度下降法[19]进行训练,学习率固定为0.0001,批处理数为48,训练轮数为100epoch。

4.2 不同注意力网络性能对比实验

本节测试的网络分别为基于深度学习的视觉里程计VO、基于深度学习的视觉/惯性组合里程计VIO、基于加权组合注意力模型的视觉/惯性组合里程计VIO-soft,以及基于开关组合注意力模型的视觉/惯性组合里程计VIO-hard。其中VIO直接将视觉和惯导信息组合特征输入到窗口优化网络,VO相较于VIO缺少惯导信息特征提取器,并且VO的视觉特征提取器的全连接层Fc1的输出通道数为512,其余的网络结构与VIO相同。不同网络的轨迹对比图如图5所示,其中gt表示位姿标签。

(a)07序列

(b)10序列图5 不同注意力模型算法轨迹对比图Fig.5 Comparison of different attention models traces

本节使用KITTI官方提供的评价指标对不同里程计的性能进行评估,评估前不对轨迹进行对齐操作。在不同长度序列(100m,200m,…800m)上计算平移矢量和旋转量的均方误差,计算其均值并以此作为里程计定位与定姿的精度指标,误差的具体数值如表2所示。其中平移矢量误差trel的单位是(%),旋转量误差rrel的单位是((°)/100m),加粗字段表示同组内的最小值。

表2 不同注意力机制在07,10序列的误差汇总Tab.2 Error summary of different attention models in 07 and 10 sequences

从表2的均值项可以看出,添加IMU信息的VIO网络的定姿性能相对于VO有所提升,然而定位性能却有所下滑。值得注意的是,添加开关组合注意力机制的里程计网络VIO-hard能有效提高里程计网络的定位与定姿性能,而且它的定姿精度在四种网络中最高;同时添加加权组合注意力机制的VIO-soft也能在一定程度上提升定位精度,然而定姿精度却有所下滑。本文分析,原始IMU信息中可能存在一定量的噪声(时间戳误差、高斯白噪声与零偏等),若不抑制噪声的隐层特征则会导致整体网络性能的下降。注意力机制的网络通过长时间的训练找到输入数据的噪声特征,并生成同维度的掩膜对其进行抑制,从而提升网络性能。

4.3 与VINS算法性能对比实验

从4.2节实验可以得出,在几种基于深度学习的里程计算法中,VIO-hard能有效提高里程计网络的定姿和定位精度,因此将其与基于多视图几何的VINS算法进行对比,评价的准则与4.2节实验保持一致。鉴于VIO-hard网络无闭环优化的模块,因此使用无闭环的VINS进行实验,VINS采用官方提供的程序[20]进行实现,算法的具体误差如表3所示,轨迹对比如图6所示。

表3 VIO-hard与VINS的误差汇总Tab.3 Error summary of VIO-hard and VINS

(a)07序列

(b)10序列图6 VIO-hard与VINS轨迹对比图Fig.6 Comparison of VIO-hard and VINS traces

从轨迹对比图中可以看出,VINS的轨迹较为偏离轨迹标签,这可能是VINS在初始化阶段的性能不太稳定导致其在序列前段的位姿估计精度较低,从而加大了整体轨迹的误差。从误差汇总表和轨迹对比图可以看出,VIO-hard在整个序列范围内性能较为稳定,具有更好的定姿定位精度。

4.4 添加闭环优化算法的性能对比实验

本节致力于验证添加闭环优化算法对基于深度学习的视觉/惯性组合里程计性能的影响。以VIO-hard算法为例,添加闭环优化的VIO-hard算法在后文简称为VIO-hard-loop,其中不同算法的轨迹对比如图7所示,误差汇总如表4所示。

(a)07序列

(b)10序列图7 添加闭环优化算法轨迹对比图Fig.7 Comparison of loop closure and none-loop closure trace

表4 VIO-hard和VIO-hard-loop的误差汇总Tab.4 Error of VIO-hard and VIO-hard-loop

从图7(a)中可以看出,在07序列上VIO-hard-loop更贴近位姿标签,从误差对比表中也可以看出,VIO-hard-loop性能较VIO-hard存在明显提升。分析原因,由于07序列存在一个明显的长闭环节点,因此全局位姿的校正效果较为明显。

从表4可以看出,添加闭环优化算法能够提高VIO-hard在10序列的定姿精度,然而定位精度却略有下滑。分析原因,短闭环节点的时间跨度较短,位姿估计值的误差积累量较小,与相对位姿估计网络posenet估计的节点相对位姿的差值也较小,导致全局位姿校正的效果并不明显;并且部分短闭环节点的相对位姿估计值可能存在一定的误差,从而降低了闭环优化的定位精度。

5 结论

针对已有基于深度学习的视觉/惯性组合里程计网络缺乏显式的降噪模块和闭环优化环节的现状,本文设计了一种基于注意力模型的视觉/惯性组合里程计网络。算法分析与实验验证表明:

1)直接添加原始的IMU数据,并且在网络中不对IMU数据的隐层特征进行处理,可能并不会提高深度学习视觉里程计的性能,这可能与IMU数据中存在的一定量的噪声有关。

2)开关组合注意力模型能有效提高基于深度学习的视觉/惯性组合里程计网络的定姿定位精度。加权组合注意力模型在一定程度上能够提高里程计网络的定位精度,但定姿精度却有所下滑。

3)添加开关组合注意力模型的VIO-hard网络相比于无闭环优化的VINS算法具有更稳定的性能,这表明基于深度学习的里程计算法可以达到与基于多视图几何的里程计算法相当的性能。

4)添加闭环优化算法能够显著提高里程计网络在长闭环序列中的性能,然而在短闭环序列中的效果并不理想,这表明闭环优化算法的效果受制于闭环节点相对位姿估计的精度。

猜你喜欢

位姿闭环注意力
大型军工企业集团重大风险全流程闭环管控方法探析
时尚与数字共舞,打造印花供应链生态闭环
公平关切下闭环供应链差别定价决策
让注意力“飞”回来
战略管理型模式下的产业闭环管理体系建设
基于PLC的六自由度焊接机器人手臂设计与应用
基于位置依赖的密集融合的6D位姿估计方法
曲柄摇杆机构的动力学仿真
A Beautiful Way Of Looking At Things
阅读理解两则