欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
机械论文
当前位置:首页 > 机械论文
端到端松耦合视觉惯性里程计
来源:一起赢论文网     日期:2023-12-20     浏览数:147     【 字体:

 第45卷 第8期2022年8月计  算  机  学  报CHINESEJOURNALOFCOMPUTERSVol.45No.8Aug.2022收稿日期:20210423;在线发布日期:20220120.本课题得到国家重点研发计划课题(2018YFE0205503)、国家自然科学基金重点国际合作项目(61720106007)、高等学校学科创新引智基地(B18008)资助.赵鸿儒,博士研究生,主要研究方向为计算机视觉、同步定位与地图构建.Email:zhaohongru@bupt.edu.cn.乔秀全(通信作者),博士,教授,中国计算机学会(CCF)会员,主要研究领域为未来网络架构、网络服务智能化、分布式神经网络和WebAR/VR研究.Email:qiaoxq@bupt.edu.cn.谭志杰,硕士研究生,主要研究方向为计算机视觉、WebAR/VR研究、同步定位与地图构建.李 研,正高级工程师,主要研究方向为结构分析与技术咨询、BIM技术开发与应用.孙 恒,正高级工程师,主要研究方向为结构分析与技术咨询、BIM技术开发与应用.基于时空双流卷积和长短期记忆网络的松耦合视觉惯性里程计赵鸿儒1) 乔秀全1) 谭志杰1) 李 研2) 孙 恒2)1)(北京邮电大学网络与交换技术国家重点实验室 北京 100876)2)(山西省交通规划勘察设计院有限公司BIM研发中心 太原 030012)摘 要 传统的松耦合视觉惯性里程计需要标定噪声和偏置等参数,而端到端学习的方法耦合性高、普适性低.因此,本文提出了一种由长短期记忆网络融合的端到端松耦合视觉惯性里程计EELCVIO(EndtoEndLooselyCoupledVisualInertialOdometry).首先,在相机位姿和IMU融合部分,构建了一个时序缓存器和由一维卷积神经网络和长短期记忆网络相结合的融合网络;其次,为了解决现有单目深度视觉里程计难以利用长序列时域信息的问题,通过使用相邻图像对和帧间密集光流作为输入,设计了一种基于时空双流卷积的视觉里程计TSVO(VisualOdometrywithSpatialTemporalTwoStreamNetworks).与DeepVO最多只能利用5帧图像信息相比,本文提出的视觉里程计可以利用连续10帧图像的时序信息.在KITTI和EUROC数据集上的定性和定量实验表明,TSVO在平移和旋转方面超过了DeepVO的44.6%和43.3%,同时,在传感器数据没有紧密同步的情况下,本文的视觉惯性里程计EELCVIO优于传统单目OKVIS(OpenKeyframebasedVisualInertialSLAM)的78.7%和31.3%,鲁棒性高.与现有单目深度视觉惯性里程计VINet相比,EELCVIO获得了可接受的位姿精度,耦合性低,无需标定任何参数.关键词 视觉惯性里程计;双流融合;长短期记忆网络;松耦合;时序缓存器中图法分类号TP391   犇犗犐号10.11897/SP.J.1016.2022.01674犔狅狅狊犲犾狔犆狅狌狆犾犲犱犞犻狊狌犪犾犐狀犲狉狋犻犪犾犗犱狅犿犲狋狉狔犅犪狊犲犱狅狀犛狆犪狋犻犪犾犜犲犿狆狅狉犪犾犜狑狅犛狋狉犲犪犿犆狅狀狏狅犾狌狋犻狅狀犪狀犱犔狅狀犵犛犺狅狉狋犜犲狉犿犕犲犿狅狉狔犖犲狋狑狅狉犽狊ZHAOHongRu1) QIAOXiuQuan1) TANZhiJie1) LIYan2) SUNHeng2)1)(犛狋犪狋犲犓犲狔犔犪犫狅狉犪狋狅狉狔狅犳犖犲狋狑狅狉犽犻狀犵犪狀犱犛狑犻狋犮犺犻狀犵犜犲犮犺狀狅犾狅犵狔,犅犲犻犼犻狀犵犝狀犻狏犲狉狊犻狋狔狅犳犘狅狊狋犪狀犱犜犲犾犲犮狅犿犿狌狀犻犮犪狋犻狅狀狊,犅犲犻犼犻狀犵 100876)2)(犛犺犪狀狓犻犜狉犪狀狊狆狅狉狋犪狋犻狅狀犘犾犪狀狀犻狀犵犛狌狉狏犲狔犪狀犱犇犲狊犻犵狀犐狀狊狋犻狋狌狋犲犅犐犕犚牔犇犆犲狀狋犲狉,犜犪犻狔狌犪狀 030012)犃犫狊狋狉犪犮狋 VisualOdometry(VO)orVisualInertialOdometry(VIO)aimstopredictsixdegreesoffreedom(6DOF)posesfrommotionsensors,whichisafundamentalprerequisitefornumerousapplicationsinrobotics,simultaneouslocalizationandmapping(SLAM),automaticnavigation,andaugmentedreality(AR).Theyhaveattractedmuchattentionoverrecentyearsduetothelowcostandeasysetupofcamerasandinertialmeasurementunit(IMU)sensors.VIOischallengingduetothedifficultiesofmodelingthecomplexityanddiversityofrealworldscenariosfromalimitednumberofonboardsensors.Furthermore,sinceodometryisessentiallyatimeseriespredictionproblem,howtoproperlyhandletimedependencyandenvironmentdynamicspresentsfurtherchallenges.Currently,typesofVIOsolutionsarecategorizedintoclassicalandlearningbasedmethods.Theclassicallooselycoupledvisualinertialodometryusuallyneedstocalibrateparameterssuchasnoiseandbias,whiletheendtoendlearningbasedmethodhastightcouplingandlowuniversality.Therefore,thispaperpresentsanEELCVIO(EndtoEndLooselyCoupledVisualInertialOdometry),whichisintegratedbylongandshorttermmemorynetworks.Firstly,consideringthefusionofcameraposeandIMU,asequentialcacheandafusionnetworkcombinedbyonedimensionalconvolutionalneuralnetworksandlongshorttermmemorynetworksareconstructed.Secondly,theexistinglearningbasedmonocularvisualodometryislimitedbyrememberinghistoryknowledgeforlongtime.Toaddressthisdilemma,weproposeaTSVO(VisualOdometrywithSpatialTemporalTwoStreamNetworks)usingtheadjacentimagepairsandinterframedenseopticalflowasinputs.ComparedwithDeepVO,whichcanleveragenomorethan5frames,theproposedvisualodometrycanexploitthesequentialinformationof10consecutiveframes.QualitativeandquantitativeexperimentsontheKITTIandEUROCdatasetsshowthatTSVOexceedsDeepVOby44.6%and43.3%intranslationandrotationrespectively.Meanwhile,inthecaseofwithouttightlysynchronizedsensordata,EELCVIOinthispapersurpassesthetraditionalmonocularOKVIS(OpenKeyframebasedVisualInertialSLAM)by78.7%and31.3%withhighrobustness.EELCVIOachievesanacceptableposeaccuracy,fewercalibrationparametersandlowercouplingthanVINet,whichisthestateoftheartexistinglearningbasedsupervisedmonocularvisualinertialodometry.犓犲狔狑狅狉犱狊 visualinertialodometry;twostreamfusion;longshorttermmemorynetwork;looselycoupled;sequentialcache1 引 言六自由度运动估计是增强现实[1]、机器人导航和自动驾驶领域的一个关键挑战.由于相机和惯性传感器(InertialMeasurementUnit,IMU)成本低廉且易于安装,以此为基础的视觉里程计(VisualOdometry,VO)和视觉惯性里程计(VisualInertialOdometry,VIO)得到了广泛应用.传统的视觉里程计主要利用手工特征或光度一致性匹配从单目图片序列中计算相机位姿,例如ORBSLAM[2](OrientedFASTandRotatedBRIEF)和LSDSLAM[3](LargeScaleDirectSLAM).然而当它们被部署在纹理缺失或光照过强环境中时,这些方法无法有效工作.为了克服传统视觉里程计的不足,融合视觉和惯性信息的视觉惯性里程计(VIO)吸引了许多学者的关注.在视觉惯性里程计中,IMU不会受到低纹理、快速运动等条件影响而导致估计失败;此外,IMU还可以提供高速率的惯性数据,在图像数据短时间缺失时也可以获得良好的位姿输出.依据是否把图像特征信息加入特征向量,当前的视觉惯性里程计可分为紧耦合和松耦合两种方式,例如VINSMono[4](VisualInertialNavigationSystem)和Ethzasl_MSF[5](MultiSensorFusion).尽管它们实现了非常高的估计精度,但是仍然严重依赖于传统的视觉里程计典型技术:特征检测、特征匹配和离群值剔除,容易出现特征丢失、跟踪失败等问题.同时传统的视觉惯性里程计需要精确的传感器数据同步工作,增加了算法的开发成本和调试周期.近年来,鉴于神经网络具有强大的非线性拟合以及高层特征表达能力,已有研究人员通过深度学习来解决传统里程计面临的问题.DeepVO[6]使用深度循环卷积神经网络直接从图片序列中估计出相对位姿,而无需任何先验特征和参数信息.与此同时,文献[7]提出了第一个无需IMU和相机间手动同步和校准的端到端视觉惯性里程计网络VINet.在DeepVO的基础上,使用一个小型LSTM(LongShortTermMemory)[8]网络处理两帧图像间的IMU数据,然后将经过处理得到的图像特征和IMU特征向量作为另一个较大LSTM网络的输入,最后通过全连接层将融合特征投影至犛犈(3)空间.为了进一步增强基于深度神经网络的视觉惯性里程计的抗噪性能,文献[9]提出了基于软注意力和硬注意力的选择性融合方法,这种方法优于VINet,8期 赵鸿儒等:基于时空双流卷积和长短期记忆网络的松耦合视觉惯性里程计 1675同时在数据损坏情况下更加鲁棒.虽然现有基于深度学习的视觉惯性里程计在精度和鲁棒性上与同类传统方法相比具有显著优势,但它们仍然存在一些基本问题:首先,现有基于深度学习的视觉惯性里程计通常将视觉特征和惯性特征融合得到位姿,增加了数据的耦合性和计算量;而传统的松耦合方法需要标定噪声、偏置等参数,不适用于多种设备间的位姿估计问题.其次,里程计本质上是一个时间序列预测问题,由于图像数据的高维特性和LSTM的结构缺陷,当输入图像序列长度超过5帧时,现有网络容易发生过拟合现象,限制了里程计的性能.除此之外,与图像相比,IMU数据维度较低,同时含有噪声等因素,使用LSTM训练IMU很难收敛.针对上述问题,本文提出了一种基于时空双流卷积和长短期记忆网络的松耦合视觉惯性里程计.与单纯依赖深度学习从连续图像和IMU序列中估计位姿不同,本文利用了行为识别任务中的双流卷积网络和传统的IMU积分算法,将深度学习应用于视觉位姿与惯性里程计位姿融合部分,在保留两种传感器数据异质性的同时,整个框架可以自动优化位置和姿态分量,在数据退化条件下更加鲁棒.而且与现有的经典松耦合方法相比,基于深度学习的融合方法可以隐式学习IMU位姿与VO估计间的标定参数,计算复杂度小.本文在公开可用的KITTI[10]和EUROC[11]数据集上进行了实验,此外还评估了基于时空双流卷积的视觉里程计的性能.实验表明,基于时空双流卷积的视觉里程计优于DeepVO,同时与传统的松耦合方法———MSF[5]相比,本文的视觉惯性里程计无需精确标定和校准参数.本文的主要贡献如下:(1)提出了一种由时空双流卷积VO模块、IMU积分算法和长短期记忆网络组成的端到端松耦合视觉惯性里程计EELCVIO,在传感器数据没有紧密同步的情况下,本文的视觉惯性里程计EELCVIO优于传统的紧耦合单目VIO系统,鲁棒性高.与现有基于深度学习的视觉惯性里程计VINet相比,在获得可接受精度的同时,该里程计耦合性低;同时相比于传统的松耦合里程计,该里程计可以隐式学习IMU位姿与VO估计间的联合标定参数,计算复杂度小.(2)受视频理解任务启发,本文设计了一种利用相邻图像帧和堆叠密集光流的时空双流视觉里程计TSVO,在扩展现有视觉里程计输入序列长度的同时提升了现有基于监督学习的视觉里程计(DeepVO)的精度.(3)为了有效解决图片流和IMU数据流速率不同导致的VO估计和IMU积分位姿不同步问题,本文提出了一个时序缓存器以匹配VO和IMU单独计算得到的位姿.本文第2节对现有视觉惯性里程计的相关工作进行回顾;第3节介绍整体网络框架、基于时空双流卷积的视觉里程计TSVO、IMU积分算法、时序缓存器及融合网络、损失函数的设计;第4节提供在大型室外和室内公共数据集上实验结果和分析;最后在第5节总结本文的工作,并进行未来的展望.2 相关工作本节回顾了视觉惯性里程计的相关工作,讨论了各种算法的优缺点.从所采用的技术和框架上来看,主要有三种类型的算法:基于几何的视觉惯性里程计、基于深度学习的视觉惯性里程计和基于几何—深度学习混合的视觉惯性里程计.21 基于几何的视觉惯性里程计依据是否将相机位姿信息与IMU融合,视觉惯性里程计可以被分为松耦合和紧耦合两种类型.松耦合是指将相机位姿信息与IMU的运动估计结果进行融合.如Ethzasl_MSF[5]接受VO模块的位姿估计结果,并通过扩展卡尔曼滤波(ExtendedKalmanFilter,EKF)将其与IMU传播的状态进行融合和位姿更新.除了估计位姿、速度和IMU偏置外,它还保留了一个标量参数以估计单目VO的漂移比例.该方法虽然计算量较低,但仍需要手动初始化和测量参数以确保位姿尺度近似正确.紧耦合是指把将相机状态估计与IMU的运动估计进行联合优化.如MSCKF[12](MultiStateConstrainedKalmanFilter)采用最小二乘优化方法对特征进行三角化,并在EKF中进行融合;OKVIS[13](OpenKeyframebasedVisualInertialSLAM)和VINSMono[4]则通过迭代非线性最小二乘优化来完成融合.紧耦合虽然在精度方面优于松耦合,但是整个融合过程状态向量的维度较高,需要传感器数据紧密同步,计算量大.22 基于深度学习的视觉惯性里程计与传统的方法相比,基于深度学习的方案在获得精确位姿的同时无需复杂的几何运算而受到大量关注.文献[6]使用递归卷积神经网络学习单目图片1676 计  算  机  学  报 2022年间的时间依赖关系,同时利用监督学习从大量图片中获取包含绝对尺度的相机轨迹.ESPVO[14]通过将基于最大似然的损失函数纳入不确定性估计扩展了这项工作,进而证明了深度学习方法可以适应快速运动、运动模糊、曝光变化等挑战,弥补了传统方图1 基于时空双流卷积和长短期记忆网络的松耦合视觉惯性里程计法的不足.随后,文献[15]提出了一个包含内存和细化模块的视觉里程计框架来解决累积误差引起的预测漂移.文献[8]第一个将VIO建模为序列学习问题,它通过利用额外的LSTM网络来学习更好的特征表示,扩展了DeepVO框架以融合IMU数据,最终得到一个无需IMU和相机间手动同步和校准的端到端视觉惯性里程计网络VINet.文献[9]借助注意力机制研究了不同的传感器融合方法.除了监督学习外,不需要真实位姿数据参与训练的无监督学习(如文献[16])也有发展趋势,由于本文主要研究基于监督学习的视觉惯性里程计问题,因此不做讨论展开.尽管这些方法在准确率和鲁棒性方面具有竞争力,但与图像相比,IMU数据维度较低,不受外界环境影响,同时由于IMU数据含有噪声和偏置等特性,使用LSTM训练IMU很难收敛,应用深度网络来处理IMU数据是不必要的.23 基于几何—深度学习混合的视觉惯性里程计与仅仅依靠深度神经网络从数据中回归位姿不同,基于几何—深度学习混合的视觉惯性里程计结合了传统的几何理论与深度学习的优点,预测位姿也更加精确.最近许多研究者已经提出了将经典状态估计与深度神经网络混合的视觉惯性里程计.LSNet[17]使用LSTM网络学习非线性最小二乘优化更新密集地图重建.BackpropKF[18]通过以位姿和速度作为状态向量,构建一个端到端可训练的EKF,并且使用由卷积和全连接层组成的深度网络获得的速度测量值进行状态更新,进而估计相机位姿.文献[19]提出了一个仅使用IMU的航迹推算系统与可学习的协方差用于伪测量EKF更新.文献[20]中提出了一种端到端可训练的直方图滤波器,并在简单的定位任务下证明了该滤波器的有效性.DPF[21]和PFNet[22]同时提出了端到端学习运动和测量模型的粒子滤波网络.Li等人[23]首次提出了一个通过DeepVO学习相对位姿和EKF融合IMU运动状态的端到端视觉惯性里程计,虽然整个系统的性能优于DeepVO和传统的ORB[2]+MSF[5]方法,但这种结构仍需标定噪声和偏置等参数,计算复杂度高.不同于上述方法,本文提出了一种基于深度学习的松耦合方法,它通过由CNN和LSTM组成的深度神经网络对VO模块和IMU积分输出的位姿进行融合得到优化后的位姿.3 犈犈犔犆犞犐犗结构31 整体网络框架本文提出的视觉惯性里程计框架如图1所示,主要包含四个模块:基于时空双流卷积的视觉里程8期 赵鸿儒等:基于时空双流卷积和长短期记忆网络的松耦合视觉惯性里程计 1677计TSVO、IMU积分算法、时序缓存器和长短期记忆网络.具体地,相邻图像对犐狋-1与犐狋和经高效光流提取网络TVNet[24]计算得到的帧间密集光流犉狋-犔…犉狋-1分别被输入到视觉里程计的空间流网络分支和时间流网络分支中提取运动特征和时序特征,然后将两种特征相继输入全连接层和犛犈(3)组合层得到视觉绝对位姿.同时对IMU加速度和角速度测量值进行积分得到每个时刻的IMU积分位姿,为了解决图片流和IMU数据流速率不同导致的VO估计和IMU积分位姿不同步问题,本文设计了一个时序缓存器以匹配位姿的位置向量和姿态向量,通过将固定大小和时间步长的滑动窗口组合的位姿数据依次输入到长短期记忆网络中得到每个时刻视觉惯性里程计的估计位姿.32 犜犛犞犗在行为识别任务中,文献[25]利用双流卷积网络结构(TwoStreamConvolutionalNetworks)分别提取静止帧和帧间运动的信息,而视觉里程计问题本质是从一系列连续图片序列(可以看作一段视频)中提取图像帧几何和时序信息,进而回归出图像对间相对位姿.受行为识别任务的启发,本文的TSVO网络借鉴了双流网络将视频信息分解为空间流和时间流的设计思想,采用相邻图像帧和密集光流两路平行结构级联的方式,提出了一种将现有的仅依赖于单目图像序列输入的深度神经网络扩展为将相邻图像帧与堆叠的光流图作为网络输入的双流网络架构.如图1所示,空间流网络从相邻图像对中提取帧间几何特征,时间流网络使用ResNet50从连续光流帧中建模运动特征的时序信息,然后将两路分支网络最后一个卷积层输出的两种特征进行融合得到由位移和欧拉角表示的六维帧间相对位姿,最终通过犛犈(3)组合层得到每个时刻的绝对位姿.3.2.1 空间流网络相比于图像识别等领域,视觉里程计问题中特征提取需要体现出几何匹配特性,因此本文参考FlowNetSimple[26]的卷积层部分作为帧间特征提取器.空间流网络的输入为沿通道拼接起来的两张连续图像,网络参数如表1所示,该网络总共包含10层卷积和一层最大池化层,为了能够有效地进行梯度下降以及反向传播,避免梯度爆炸和梯度消失,本文在每层均采用非线性激活函数(RectifiedLinearUnit,ReLU).随着层数加深,卷积核的大小也从7×7逐渐减小至5×5,最后到3×3用以捕捉深层特征.表1 空间流网络参数列表网络层 感受野填充步长通道数Conv1 7×7 3 2  64Conv2 5×5 2 2 128Conv3 5×5 2 2 256Conv31 3×3 1 1 256Conv4 3×3 1 2 512Conv41 3×3 1 1 512Conv5 3×3 1 2 512Conv51 3×3 1 1 512Conv6 3×3 1 2 1024Cov61 3×3 1 1 1024MaxPool 2×2 0 2 -3.2.2 时间流网络时间流网络以连续堆叠的稠密光流帧作为输入提取光流图中相机运动的时间信息.在运动检测中,光流是连续帧犐狋-1与犐狋之间的一组像素位移矢量犱狋,矢量的水平分量和垂直分量分别是速度向量的两个通道,两者共同描述每个像素点位置的运动向量.为了学习多帧图像间的时序关系,本文将犔个连续帧的光流通道犱狓,狔狋堆叠起来形成2犔个输入通道.假设狑和犺是光流图的水平分量和垂直分量,因此犉τ∈!狑×犺×2犔表示犔个连续光流帧堆叠后的网络输入.为了将光流计算与时间流网络级联在一起,从而构成端到端的体系结构,同时不占用太多计算资源和存储成本,本文采用端到端TVNet网络提取密集光流.它在获得精确光流的同时,无需任何真实光流的额外训练.在前期数据处理过程中,通过线性变换将光流数据离散到[0,255]的取值范围上以保证和图像数据分布同区间.由于时间流网络的输入为连续堆叠的稠密光流帧,为了增强提取时序信息的能力,同时避免网络加深造成的梯度消失问题,选择合适的网络框架至关重要.本文分别对比了GoogleNet[27]、ResNet50[28]和InceptionV3[29]三种常用的基本网络在输入图像分辨率为512×256条件下,平均平移和旋转准确率随堆叠光流帧数变化示意图及各自的模型大小、参数量和计算复杂度.由图2和表2可知,在这三个网络中,ResNet50性能最优,而且训练得到的模型参数量较少,计算复杂度较低,因此本文选择经过预训练的ResNet50提取时序特征.表2 模型大小、参数量和浮点运算量对比模型大小/MB参数量/M浮点运算量/GFlowNetSResNet50 247 58.01 12.20FlowNetSGoogleNet 173 35.45 9.57FlowNetSInceptionV3 258 59.61 13.811678 计  算  机  学  报 2022年图2 不同数量堆叠光流帧(犔=3,5,10,12)下GoogleNet、ResNet50和InceptionV3的平均平移和旋转误差3.2.3 犛犈(3)组合层将两路分支最后一层得到的空间特征和时间特征直接连接得到新的融合特征,然后通过两个全连接层进行特征压缩得到帧间相对位姿,全连接层隐藏单元数依次为512、6.由于姿态的数值有正有负,因此仅在第一个全连接层后添加非线性激活函数ReLU.为了恢复相机的运动轨迹,需要估计出每张图片的绝对位姿,即每张图片相对于初始位姿所定义的坐标系下的位姿.绝对位姿通常表示为欧式变换矩阵群犛犈(3)上的一个元素.犛犈(3)是定义在欧拉空间上的一个可微黎曼流形,它由旋转矩阵群犛犗(3)的旋转矩阵犚和一个平移分量狋组成.如式(1)所示:犜=(犚狋) 01犚∈犛犗(3),狋∈! { 3} (1)由于旋转矩阵需要满足正交约束,为了便于计算犛犈(3),本文首先计算犛犈(3)的瞬时变换狊犲(3),然后再通过指数映射将狊犲(3)转换为犛犈(3).狊犲(3)如式(2)所示:ξ d狋=[ω]×ν ()01ω∈狊狅(3),ν∈!{3}(2)33 犐犕犝积分算法IMU传感器使用三轴加速度计和三轴陀螺仪获得物体的加速度和角速度,通过对加速度和角速度分别积分可以得到载体的位置、速度和姿态.本文忽略地球自转的影响,所用IMU积分算法主要包含IMU运动模型和运动方程两部分.3.3.1 IMU运动模型IMU运动模型的微分方程[30]如式(3)所示:犚·犠犅=犚犠犅(狑犅)",狏·犠=犪犠,狆·犠=狏犠(3)式中,下标犅代表IMU坐标系,下标犠代表世界坐标系.犚犠犅为世界坐标系下IMU的旋转矩阵;犚·犠犅为世界坐标系下IMU旋转矩阵的一阶导数;(狑犅)"为角速度的罗德格里斯公式;狆·犠为世界坐标系下位置的一阶导数;狏·犠为世界坐标系下速度的一阶导数.3.3.2 IMU运动方程在IMU的时间戳与图像帧的时间戳对齐的情况下,由于IMU的采样频率远大于相机的采样频率,相邻两帧图像帧之间存在多组IMU测量数据,因此需要使用离散时刻下的运动积分.假设IMU时间间隔为Δ狋,对载体在狋到狋+Δ狋内积分可以得到IMU在世界坐标系下的位置狆、速度狏和旋转犚,运动方程[30]为式(4)所示,其中犻和犼表示相邻时刻.犚犼=犚犻Π犼-1犽=犻exp(狑犽Δ狋),   狏犼=狏犻+Σ犼-1犽=犻犪犽Δ狋,狆犼=狆犻+Σ犼-1犽=犻狏犽Δ狋+12( 犪犽Δ狋2) (4)34 时序缓存器及融合网络准确的相机和IMU空间位置关系是实现视觉里程计和IMU融合的基础,由于二者的相对位置固定不变,仅相差各自坐标系下的旋转矩阵,因此可以通过位姿变换将IMU积分得的位姿转化为相机坐标系下的位姿,如式(5)所示.其中,犘IMU为IMU坐标系下的位姿,犘IMU为变换到相机坐标系后的位姿,犜camIMU为相机和IMU间的旋转矩阵.犘IMU=犜camIMU犘IMU (5)由于VO估计和IMU积分速率不一致,进而导致两种数据不能紧密同步的问题,本文设计了一种时序缓存器以匹配两个模块产生的位姿,缓存器维度为犜×6(犖+1).如图3所示,犼时刻VO估计的8期 赵鸿儒等:基于时空双流卷积和长短期记忆网络的松耦合视觉惯性里程计 1679位置分量(犞狓犼,犞狔犼,犞狕犼)与犼-1时刻到犼时刻间的犖个IMU积分得到的位置分量(犐狓犼1,犐狔犼1,犐狕犼1,犐狓犼2,犐狔犼2,犐狕犼2,…,犐狓犼犖,犐狔犼犖,犐狕犼犖)被合并为1×3(犖+1)维位置向量,犼时刻VO估计的姿态分量(犞犼,犞ψ犼,犞χ犼)与犼-1到犼时刻的犖个IMU积分得到的姿态分量(犐犼1,犐ψ犼1,犐χ犼1,犐犼2,犐ψ犼2,犐χ犼2,…,犐犼犖,犐ψ犼犖,犐χ犼犖)被合并为1×3(犖+1)维姿态向量,然后沿时间维度将长度为犜的所有位姿连接成犜×6(犖+1)维向量后输入时序缓存器中.图3 时序缓存器结构示意图由于融合网络的输入为时序缓存器中依时间维度连接的位姿向量,一维卷积神经网络常用于时间序列数据的信息提取,而且位姿数据为时间连续分布序列.为了建模当前时刻位姿与之前若干时刻位姿间的依赖关系,本文的融合网络由一维卷积神经网络和LSTM结合而成.如图4所示,给定时序缓存器中存储的犜×6(犖+1)维位姿向量,以大小为犕×6(犖+1),步长为1的滑动窗口沿时间维度依次遍历时序缓存器中的所有位姿向量,每个时刻融合网络的输入为犕×3(犖+1)维的位置分量和姿态分量.首先使用一维卷积分别对位置分量和姿态分量进行特征提取,卷积核的大小为11×3(犖+1),通道数为64.在连续三个卷积层之后,使用大小为1×3的最大池化层聚合特征,然后将两路分支最大池化层的输出连接在一起并依次输入到LSTM网络中.为了进一步提高网络的表示能力及动态特性,实验中采用了两层LSTM,每层LSTM含有512个隐藏单元.由于来自CNN的数据分布为[0,+∞],而LSTM固有的激活函数Sigmoid会将输出限定在(-1,1),所以本文将激活函数改为ReLU.最后将每个时刻LSTM的输出经过两个全连接层(不添加ReLU)得到VO估计和IMU积分融合后的绝对位姿(犞犐狓,犞犐狔,犞犐狕,犞犐,犞犐ψ,犞犐χ),全连接层的隐藏单元数分别为128和6.为了避免过拟合,在每层LSTM后都添加一个dropout层.图4 融合网络结构示意图35 损失函数位姿估计的关键挑战是设计一种能够同时学习位置和方向的损失函数.由于组成位姿的平移分量和旋转分量分别位于不同的欧式空间,因此通常将两种分量的损失函数加权求和为新的损失函数,如式(6)所示:犔pose=α犔trans+β犔rot,犔trans=狆^犽-狆犽γ,犔rot=φ^犽-φ犽γ (6)犔trans和犔rot分别是平移误差和旋转误差,狆^犽,φ^犽为网络估计的平移量和由欧拉角表示的旋转量,狆犽,φ犽为对应的真实平移量和旋转量,α和β为平衡平移误差和旋转误差的尺度因子,γ是范数.在文献[6]中,作者通过实验发现当α∶β=1∶100时可以得到最佳的网络模型,但是在不同的环境中仍然需要手动调整才能得到最优的超参数α和β.文献[31]提出了一种基于多任务同方差不确定性建模的损失函数,该损失函数鲁棒性高,无需手动调整尺度因子,可以不依赖于输入数据而对平移和旋转分量的不确定性进行测量,因此最终的损失函数如式(7)所示:犔pose=犔transexp(-狊^狋)+狊^狋+犔rotexp(-狊^狉)+狊^狉(7)在损失函数的狊^狋,狊^狉数值的选取问题上,本文采用和文献[31]相同的数值,因为一般情况下,相机的平移误差较大,具有较大的同方差,同时由于本文的1680 计  算  机  学  报 2022年损失函数对多任务同方差不确定性值的初始化选择鲁棒性高,结合两种误差的数量级关系,最终选取狊^狋=0,狊^狉=-3.0.在视觉里程计实验过程中,本文发现使用犔2范数可有效避免过拟合现象的产生,同时由犔2范数构成的均方误差损失函数收敛更快,函数值震荡较小.因此本文中基于时空双流卷积的视觉里程计采用与文献[6]相同的均方误差函数作为平移分量和旋转分量各自的损失函数,最终犖对图片真实相对位姿狔犽=(犘犽,φ犽)与估计相对位姿狔^犽=(狆^犽,φ^犽)的平移误差和旋转误差如式(8)所示:犔trans=1犖Σ犖犻=1Σ3犽=1狆^犻犽-狆犻犽22,犔rot=1犖Σ犖犻=1Σ3犽=1φ^犻犽-φ犻犽22(8)其中,犘犽是平移分量,φ犽是由欧拉角表示的旋转分量,·2是犔2范数,犽是每对图片相对位姿的状态量,由于平移和旋转分量各包含三个状态量,所以犽的取值为1到3.(狆犻犽,φ犻犽)代表第犻对相邻图像帧的平移和转角.对于融合网络而言,本文通过实验发现使用犔1范数时网络性能表现最好,因为它不会随幅度二次增加,也不会过度衰减较大残差.因此犖+1张图片真实位姿狔犿=(犘犿,φ犿)与估计位姿狔^犿(狆^犿,φ^犿)的平移误差和旋转误差如式(9)所示:犔trans=1犖+1Σ犖+1犻=1Σ3犿=1狆^犻犿-狆犻犿1,犔rot=1犖+1Σ犖+1犻=1Σ3犿=1φ^犻犿-φ犻犿1 (9)其中犘犿和φ犿分别是平移分量和旋转分量,·1是犔2范数,犿是每张图片绝对位姿的状态量,犿的取值为1到3,(狆犻犿,φ犻犿)代表第犻帧图像的绝对位置和姿态.4 实验结果及分析本文在公开可用的室外自动驾驶KITTI数据集和室内飞行器EUROC数据集上测试了所提出的方法.为了增加样本多样性,除了采用如文献[32]的两种数据增强技术:高斯模糊和椒盐噪声外,本文还使用了逆序图片对以训练基于时空双流卷积的视觉里程计网络.实验使用Pytorch深度学习框架,硬件环境为四核Intel(R)Xeon(R)Gold5118CPU@2.30GHz,内存128GB,两张NVIDIATitanXp,运行内存和显存均为12GB,操作系统为Ubuntu18.04.由于IMU速率为相机速率的10倍,因此选取犕=60,犖=10,滑动窗口维度为60×66.视觉里程计网络batchsize为16,融合网络batchsize为32,其他训练参数为:Adam优化器,初始学习率为1e4(每25个周期下降0.5),权重衰减为0.005,dropout系数为0.5.所有的估计轨迹均采用文献[23]中提供的方法与真实轨迹对齐后进行评估.41 犓犐犜犜犐数据集KITTIVO/SLAMbenchmark是评估VO和可视SLAM算法的最著名的公共室外汽车驾驶数据集之一.它提供了10Hz的相机数据、100Hz的IMU数据和从激光扫描仪和车载GPS装置中获得的10Hz的汽车真实轨迹.虽然里程计数据集中包含22个场景序列,但是只有00~02,04~10序列提供了汽车的真实位姿和原始的IMU测量值.本文仅将00、01、02、04、06、08左相机序列作为训练集,训练完的模型在05、07、09、10左相机序列上进行测试.通过数据增强,样本数量由原来的17987张变为53961张,输入图片维度被调整为512×256以适应显卡内存.为了测试基于时空双流卷积的视觉里程计性能,犔被分别设为3、5、10.目前在KITTIVO/SLAM数据集上常用的评估指标是:不同长度(100m~800m)子序列的平均平移和旋转误差、不同速度子序列的平均平移和旋转误差.为了便于与现有的主流方法对比,本文最终了选择不同长度(100m~800m)子序列的平移误差与旋转误差作为评估指标.本文将提出的模型与现有的主流VO和VIO方法进行了对比,包括:基于学习的方法:DeepVO[6]、通过几何感知课程学习的单目视觉里程计CLVO[33]、基于3D卷积的单目视觉里程计3DCVO[34]、基于动态注意力机制的单目视觉里程计DAVO[35]和单目深度视觉惯性里程计VINet[8].传统的方法:VISOS[36]、VISOM[36]、ORBSLAM2[2]、VINSMono[4]、OKVIS[13]和EKFVIO[23].具体方法类型如表3所示.为了与本文模型进行客观比较,VINSMono、OKVIS和ORBSLAM2均不包含闭环检测.表4总结了测试集上的定量对比结果.由于利用同一时刻左右相机的图片和相邻时刻前后帧图片分别估计尺度和相机姿态,VISOS8期 赵鸿儒等:基于时空双流卷积和长短期记忆网络的松耦合视觉惯性里程计 1681在各类算法中性能最优.但与基于深度学习的单目视觉里程计DeepVO、CLVO、3DCVO、DAVO及ORBSLAM2(无闭环检测)、VISIOM相比,基于时空双流卷积的视觉里程计有更低的旋转误差和平移误差.在所有方法中,单独IMU积分的结果具有最低的旋转误差,当融合了IMU积分信息后,视觉惯性网络的精度进一步提高.可以看出,EKFVIO始终比本文的视觉惯性里程计EELCVIO有更低的平移误差和旋转误差,与VINet相比,EELCVIO有几乎一致的旋转误差.表3 现有犞犗/犞犐犗方法类型总结方法传感器耦合性VODeepVO 单目相机ORBSLAM2 单目相机VISOM 单目相机VISOS 双目相机CLVO 单目相机3DCVO 单目相机DAVO 单目相机-VIOVINet 单目相机+IMU 紧耦合VINSMono 单目相机+IMU 紧耦合EKFVIO 单目相机+IMU 松耦合OKVIS 单目相机+IMU 紧耦合表4 测试序列上的泛化性能比较  方法序列  DeepVO狋rel/%狉rel/(°)CLVO狋rel/%狉rel/(°)3DCVO狋rel/%狉rel/(°)DAVO狋rel/%狉rel/(°)VISOM狋rel/%狉rel/(°)VISOS狋rel/%狉rel/(°)ORBSLAM2狋rel/%狉rel/(°)TSVO(犔=3)狋rel/%狉rel/(°)05 2.623.61 5.772.00 2.702.95 2.541.0919.2217.581.531.6026.0110.623.354.4107 3.914.60 3.793.00 3.013.59 2.781.9824.6119.111.451.9124.5310.833.523.6009 8.296.88 7.737.29 6.545.32 3.482.0614.0413.321.091.3924.412.085.804.0710 8.118.83 8.097.94 6.754.94 5.371.6422.5612.991.141.3015.393.207.446.65Avg 5.735.98 6.355.06 4.754.20 3.541.6920.1115.751.301.5522.596.685.034.68  方法序列  TSVO(犔=5)狋rel/%狉rel/(°)TSVO(犔=10)狋rel/%狉rel/(°)IMUOnly狋rel/%狉rel/(°)VINSMono狋rel/%狉rel/(°)OKVIS狋rel/%

[返回]
上一篇:人机对抗中的博弈学习方法
下一篇:基于人工智能的智能机械故障诊断与预测方法研究