摘 要:现有的基于深度学习的视觉里程计(visual odometry,VO)训练样本与应用场景存在差异时,普遍存在难以适应新环境的问题,因此提出了一种在线更新单目视觉里程计算法OUMVO。其特点在于应用阶段利用实时采集到的图像序列在线优化位姿估计网络模型,提高网络的泛化能力和对新环境的适用能力。该方法使用了自监督学习方法,无须额外标注地面真值,并采用了Transformer对图像流进行序列建模,以充分利用局部窗口内的视觉信息,提高位姿估计精度,以避免传统方法只能利用相邻两帧图像来估计位姿的局限,还可以弥补采用RNN进行序列建模无法并行计算的缺点。此外,采用图像空间几何一致性约束,解决了传统单目视觉里程计算法存在的尺度漂移问题。在KITTI数据集上的定量和定性实验结果表明,OUMVO的位姿估计精度和对新环境的适应能力均优于现有的先进单目视觉里程计方法。
关键词:视觉里程计;单目视觉;在线更新;自监督学习;Transformer神经网络
中图分类号:TP242.6 文献标志码:A 文章编号:1001-3695(2024)07-041-2209-06
doi: 10.19734/j.issn.1001-3695.2023.09.0512
Online-updating monocular visual odometry
Abstract:
When training samples of existing deep learning-based visual odometry(VO) are different from application scena-rios, it is difficult to adapt to the new environment. Therefore, this paper proposed an online updated monocular visual mileage calculation method(OUMVO). In the application stage, it optimized the pose estimation network model online by using the real-time image sequence, which improved the generalization ability of the network and the ability to apply to the new environment. At the same time, it utilized self-supervised learning method without the need to mark the ground truth. Moreover, it adopted Transformer to conduct sequential modeling of image streams to make full use of the visual information within the local window to improve the precision of the pose estimation in order to avoid the limitation that the traditional method could only use two adjacent frames to estimate the pose. It could also compensate for the shortcomings of using RNN for sequence modeling which could not be calculated in parallel. In addition, it used the geometric consistency constraint of the image space to solve the scale drift problem of the traditional monocular visual mileage calculation method. Quantitative and qualitative experimental results on the KITTI dataset show that the proposed method is superior to existing state-of-the-art monocular visual odometry methods in terms of pose estimation accuracy and adaptability to new environments.
Key words:visual odometry; monocular visual; online update; self-supervised deep learning; Transformer neural network
0 引言
VO作为视觉SLAM前端最为重要的组成部分,承担着估计相机连续运动轨迹的任务。其中,单目VO因传感器体积小、成本低的优势被广泛应用于机器定位导航、自动驾驶、增强驾驶等领域[1]。近年来,深度学习在图像处理领域取得了巨大成就,这也为进一步提升VO性能提供了新的思路[2,3]。然而,由于公开数据集与实际应用场景存在差异,尤其是在电缆隧道这种弱光重复纹理的复杂环境中,自行制作数据集成本高昂,仅使用开源数据集又难以达到效果,提高算法的泛化能力成为了解决这类问题的重点。
从有监督学习的轨迹恢复问题开始,Kendall等人[4]在2015年首次提出将原始RGB图像作为输入,并完全使用CNN进行6-DoF位姿回归。Li等人[5]随后将其使用范围扩展到可以使用原始RGB-D图像的新架构,来应对室内环境带来的挑战。而文献[6]提出的基于CNN的视觉里程计首次采用光流图作为输入,其认为光流图相较于RGB图更能反映图像几何信息,这与位姿估计核心理念保持一致。在2017年,Wang等人[7]提出了DeepVO,创新性地将CNN与RNN相结合,利用循环卷积神经网络(recurrent convolutional neural network,RCNN)的强大学习能力,同时实现单目视觉里程计的特征学习和顺序建模。基于有监督学习的方法取得了明显优于传统方法的效果,但其通常需要相机位姿真值作为监督信号,而有限的开源数据集和高昂的采集成本严重制约了有监督学习里程计的发展。
为避免对相机位姿的需求,基于自监督学习的VO方法通过最小化光度误差[8],能够联合学习摄像机姿态、深度和光流,近年来取得了很好的效果。Li等人[9]在DeepVO的基础上提出了一种基于自监督学习的视觉里程计算法UnDeepVO,该系统在训练阶段的输入为双目图像序列,而在应用阶段仅使用单目,并利用已知的双目基线距离恢复场景绝对尺度。Zhan等人[10]创新性地引入了特征重构损失来增加位姿估计精度,但是该方法的前提条件为不存在遮挡,且场景是刚性的,这很难在实际应用场景中得到保证。Mahjourian等人[11]明确考虑了整个场景的3D几何形状,在连续多帧中强制添加3D点云和相机运动的一致性约束。为了提高在弱纹理和光照条件变化场景下系统的稳定性,Li等人[12]提出了基于Transformer并结合光流信息的视觉里程计系统。针对多任务,Kim等人[13]提出了第一个完全数据驱动的语义视觉里程计系统,称为SimVODIS,其可以在单个线程中获取语义信息、位姿信息和深度信息。此外,北京大学团队针对现有算法域适应性差的问题,利用在线适应的策略来增加视觉里程计算法在不同环境中的适应能力[14,15],实验表明,该方法明显优于现有的自监督学习单目视觉里程计算法。尽管基于自监督学习的VO在学习过程中可以自主探索数据中的结构和规律,近年来已取得了令人印象深刻的成果,但当测试环境和训练数据之间存在较大差距时,这类离线训练的网络往往容易崩溃,因而难以推广到新的未知场景[16]。
此外,单目采集连续图像帧时,由于场景中物体尺度和视角发生变化,会导致估计误差并不断积累,从而引发尺度漂移问题,解决这个问题对于准确的VO系统也非常重要。
基于此,为进一步提高里程计对新环境的适应力,本文提出了一种基于自监督学习的在线更新单目视觉里程计算法OUMVO。其贡献在于:
a)提出了一种在线更新的策略,在训练阶段使用双目立体图像序列以恢复场景绝对尺度,在测试阶段仅使用单目,并在线更新网络模型;
b)提出了一种基于Transformer的自监督VO框架,充分了利用局部窗口内的视觉信息,提高了位姿估计精度;
c)在KITTT和真实环境中进行了验证,结果表明本文方法的位姿估计精度、尺度恢复效果和对新环境的适应力均优于现有的先进单目视觉里程计方法。
1 OUMVO
1.1 在线更新策略
随着视觉SLAM的应用场景越来越复杂多变,给算法的稳定性和泛化能力带来了挑战[17]。以近年来兴起的自动驾驶技术为例,车辆在行驶过程中需要应对不断变化的环境,如城市或是村镇、开阔路面或是隧道、一天中不同的时间段、不同的天气状态等变化,都会影响相机实时采集的图像的特征分布情况,因此采用单一模型很难在全过程中都保持令人满意的效果。
为克服上述问题,本文在视觉里程计的应用阶段引入了在线更新的策略,如图1所示。与其他的基于机器学习的方法不同的是,本文策略除了在训练阶段通过公开的数据集进行模型的优化以外,在应用阶段仍不断利用实时采集到的样本在线优化网络模型,使其更加适应当前场景的特征分布,进一步提高模型的精度和泛化能力。
1.2 系统概述
本文提出的基于自监督学习的在线更新视觉里程计算法包含训练阶段和应用阶段两个过程。在训练阶段,算法利用双目立体图像来训练网络权重,确保深度估计和位姿估计的尺度与真实世界尺度一致。图2展示了训练阶段的算法流程。一次的输入样本为连续N帧左目图像流,其中第一帧还需要对应的右目图像作为重构标签。由于本文方法完全基于自监督学习,所以在训练阶段无须每帧图像对应的位姿真值标签。
在应用阶段,算法直接使用训练好的网络。首先,初始化一个大小为N的图像窗口,并输出这段序列的预位姿。接着,用这N-1个预位姿建立同在训练阶段一致的重构误差损失,并朝着减小此损失的方向在线更新与输出位姿密切相关的全连接层网络权重。经过l个权重更新循环后,输出此窗口内图像序列的最终位姿估计结果。如图3所示,随着大小为N的窗口连续不断地在图像流上向后滑动,即可获得相机的连续运动轨迹。在算法运行过程中,每个新窗口的全连接层均采用上一个窗口的最终权重作为网络初始权重,而其他模块则保留训练阶段的最优权重。这是因为,相邻窗口的图像具有相似的外观和相近的位姿变换关系,采用这种方式可以极大地加快算法收敛速度,降低迭代周期。在线更新权重的方式可以充分利用应用阶段的所有样本信息,使得网络权重保持局部性,并朝着适应于应用场景的方向偏移,在提高位姿估计精度的同时,还可以增加算法对新环境的适应性和鲁棒性。
本文算法包含基础特征提取模块、深度估计模块和位姿估计模块三个模块。基础特征提取模块利用在大数据集上预先训练过的骨干网络提取图像中的基础特征,并将此特征作为后续深度估计和位姿估计模块的输入。深度估计模块利用已知固定基线距离的左、右目图像来建立约束,获取样本中第一帧图像所有像素点的深度值。准确的深度值为后续位姿估计模块恢复相机的绝对运动尺度提供了有利条件。位姿估计模块则估计样本中余下N-1帧图像与第一帧图像之间的位姿变换关系,得到N-1个相对位姿变换,以充分利用图像流里的时间序列信息来建立约束,得到更加精确的位姿估计结果。训练阶段所有的约束量均来自图像重构误差损失,无须真实深度值标签和位姿标签。深度估计采用第一帧图像的左、右目重构误差损失,而位姿估计则采用第2帧至第N帧的共N-1帧图像与第1帧图像之间的重构误差损失。网络优化朝着不断减小所有重构误差损失的方向来优化网络权重,此过程不断重复执行,直至收敛。
OUMVO利用在大数据集上预先训练过的ResNet-50提取图像中的基础特征,以此作为后续模块的输入,并且在位姿估计模块中采用Transformer学习包含在图像流里的时间序列信息。在训练阶段,使用双目图像序列训练网络模型,同时利用空间和时间维度的光度误差损失来估计场景深度,并将相机运动限制在真实世界尺度内。在应用阶段,本文方法能够估计连续图像流的运动位姿,并且每次新的位姿估计结果都能够对网络参数的优化作出贡献。
2 网络模型设计
2.1 ResNet-50基础特征提取网络
预先在大型数据集上训练过的骨干网络(诸如:ResNet[18],VGG[19]等)具有很强的通用特征提取能力。实践证明,经过Place365-Standard[20]数据集训练过的网络具有很强的场景识别能力,并且可以迁移到其他视觉处理任务上。Place365-Standard是一个涵盖多种场景的大型开源图像数据集,被广泛应用于各类CNN的训练。
相较于众多骨干网络,ResNet-50特有的残差连接结构使其在模型结构复杂度和特征提取能力之间具有很好的平衡。在实验中,将在Place365-Standard数据集上训练过的ResNet-50骨干网络作为基础特征提取模块。采用此种策略的好处是,可以充分利用图像中包含的丰富语义信息来获得稳定、通用的抽象特征,避免传统特征点法中存在的特征过于局部、时间复杂度高和迁移性差等缺点。
2.2 基于解码器结构的深度估计网络
深度估计可以定义为:给定输入图像I,通过学习得到一个函数func,使其可以预测I中每个像素点的场景深度d=func(I)。现有的大多数基于深度学习的方法将该任务视为一个有监督学习问题,在训练网络时需要同时利用RGB图及其相应的深度真值标签。然而真实深度数据往往难以获取,作为替代方案,本文采用自监督学习的方法,将深度估计视为一个图像重构问题。
左、右目图像针对场景中同一物点成像的像素坐标变换关系,可由式(1)得到
参照卷积自编码器网络的结构设计,将基础特征提取模块输出的维度为M×N×256的特征视为图像的压缩特征,并用如图4所示的卷积解码器获得输入图像的逐像素点逆深度值。其中,M和N为ResNet-50骨干网络输出特征的空间维度,其随输入图像大小的变化而变化,256为特征的通道数。解码器利用连续四个上采样+卷积层将输入特征的空间维度恢复到与输入图像一致的大小,通道维度则压缩为1,以得到与输入图像相匹配的逆深度图。每次上采样的倍数为2,将特征空间平面的长和宽各增加一倍。所有卷积核的尺寸选择为3×3,除最后一层外,激活函数均选择为ReLU。由于深度值的跨度范围较大,采用逆深度值可以将网络输出限制在0~1,这与解码器最后一层的sigmoid激活函数的输出相匹配。
2.3 基于Transformer的位姿估计网络
在视觉SLAM系统运行过程中,图像以流的形式进行获取,包含在图像流里的时间序列信息对位姿估计也具有重要作用。由Bengio团队提出的Transformer[21]模型在自然语言处理任务上取得了巨大的成功,其具有更强的序列特征提取能力、更好的并行计算能力和更快的计算速度。考虑到视觉里程计本质上也是一种序列处理任务,因而本文采用Transformer作为视觉里程计的核心模块。
如图5所示,位姿估计网络的输入为基础特征提取模块输出的一个窗口内的图像序列特征。图中展示的序列长度为k(注:k与图3中的N相对应),每个特征的大小为M×N×256,其中256为ResNet-50的输出通道数,M和N随输入图像大小而变化。为了得到符合Transformer输入要求的一维向量序列,对每个输入特征进行全局平均池化操作,仅保留每个通道的平均值,得到k个维度为1×256的向量。经过池化处理后的特征向量具有固定大小的维度,不受输入图像大小变化的影响,提高了算法的应用范围。接着,将这k个向量送入Transformer模块进行序列建模,以获取图像流里的时间信息。最后通过全连接层将Transformer输出的特征映射为k-1个维度为1×6的位姿向量,代表序列中第2帧至第k帧图像与第1帧图像之间的位姿变换。
Transformer完全摆脱了传统RNN中的递归和CNN中的卷积操作,只需要少量的线性映射即可实现高效的序列建模。为了让模型理解图像流中的顺序信息,在进行序列特征提取前,需要对特征注入相对或者绝对位置信息。因此,算法还需对输入特征向量序列添加位置编码。根据文献[21]的推荐,本文采用以下正(余)弦函数位置编码策略,如式(2)所示。
其中:pos为位置;i为编码维度;dmodel为输入特征维度。
如图5的下半部分所示,Transformer的核心是堆叠的多头注意力和前向全连接层。每层的输出为LayerNorm(x+Sublayer(x)),其中x代表输入,Sublayer(·)代表多头注意力子层的映射函数,LayerNorm(·)代表正则化操作。为了适配残差连接和序列输入,模型中所有内部张量的维度均选择为与输入特征维度一致:dmodel=256,且n=6层。
单个注意力函数的三组输入向量分别被称为查询、键和值。在本文中,三者均是指输入的k个特征向量。单个注意力函数的输出为所有值的加权和,其中权重由查询和键计算得到。首先,计算键和查询的逐元素乘积,并将结果除以其维度dk,使得结果位于恰当的尺度内。接着,应用softmax激活函数将乘积结果缩放到0~1,得到归一化的权重向量。上述过程通过矩阵形式可以记为
其中:attention(·)代表单头注意力机制函数;softmax(·)代表非线性激活函数。实践表明,若将查询、键和值进行多组线性投影后,再进行注意力建模,则能够学习到更多的潜在特征模式。如式(4)和(5)所示,经过线性投影后再执行注意函数,可以产生多组不同的输出值。这些值被连接起来,并再次进行线性投影,以产生最终的输出值。
multiHead(Q,K,V)=concat(head1,…,headh)WO(4)
headi=attention(QWQi,KWKi,VWVi)(5)
相较于单注意力机制,多头注意力机制可以学习到更丰富的潜在特征信息。在本文中,使用h=8的并行注意力头。为了保持数据维度一致,选择dk=dv=dmodel=h=256。
Transformer的前馈网络层如式(6)所示,包含两个线性变换和一个ReLU激活函数。
FFN(x)=ReLU(xW1+b1)W2+b2(6)
其中:x代表注意力层的输出;FFN(·)代表前馈网络映射函数。
2.4 损失函数设计
在训练阶段,深度估计网络和位姿估计网络寻找能够使得以下概率最大化的最优网络权重θ*depth和θ*pose。
在模型的训练阶段,使用了三种不同类型的损失函数,分别为图像重构损失、结构相似性损失和深度平滑损失。
a)图像重构损失。图像重构误差是能够采用自监督学习方式进行位姿估计的核心原理。如图6所示,令t时刻的左目图像为Ilt,对应的右目图像为Irt,t+1时刻的左目图像为Ilt+1,plt为Ilt中的一个像素点。可以采用式(8)将plt映射到Ilt+1的坐标系中:
plt+1=KTt+1,tdK-1pt(8)
根据位姿估计网络输出的Tt,t+1至Tt,t+N和深度估计网络预测的Dt,可以分别以t时刻的右目图像和t+1至t+N时刻的左目图像来重构出t时刻的左目图像。网络的重构误差损失可以表示为
b)结构相似性损失。图像重构损失隐含的以场景光照不变为前提条件,计算不同视角下图像的光度误差。如果违反这个前提假设,可能会导致梯度损坏,使得训练过程难以收敛。为了提高鲁棒性,定义图像结构相似性度量:
其中:x和y代表图像区块;μ和σ分别为区块内像素灰度的均值和方差;c1和c1为调节系数,此处分别选择为0.000 1和0.000 9。两张图像的结构相似性损失可以记为
代表图像I中以点p为中心的3×3区块。
c)深度平滑损失。为了平滑深度估计的结果,添加对深度估计网络输出的逆深度图的一阶梯度抑制损失。除此之外,还通过输入图像的梯度来对深度损失进行反向加权,如式(14)所示。
网络的最终损失函数采用以上三者的结合,记为
Loss=λ1Lrecon+λ2Lstruc+λ3Lsmooth(15)
在实验中,λ1、λ2和λ3分别取0.2、0.8和0.001。
3 实验结果与分析
为了验证本文方法的性能,在公开测试数据集上展开验证实验。实验依托于搭载Intel Core i9 10th GEN CPU的计算机,并在Ubuntu 18.04.5 LTS操作系统环境下进行。所有网络模型均使用PyTorch框架实现,并使用NVIDIA GeForce RTX 2080Ti GPU进行加速。在网络训练阶段,优化器采用Adma(β1=0.9,β2=0.999),训练epoch设置为180,并且学习率从0.000 1开始,每20个epoch减少一半。
3.1 数据集实验
在实验中,采用在视觉里程计研究领域被广泛使用的KITTI Odometry数据集[23]来验证算法的性能。KITTI数据集由车载双目相机采集自街道、郊区和高速公路场景。其中,Odometry类包含22个以10 Hz的采样频率获取的双目立体RGB图像序列,涵盖双目相机的左视图和右视图。其中,00~10序列由GPS和IMU加速度计提供了每张图像的真实里程计信息,而11~22序列只提供了RGB图像数据。在实验中选择包含位姿真值标签的00、01、02、03、04、06和08序列作为训练集,其余部分序列作为测试集。并且,在进入网络处理之前,将所有图像缩放到128×424的大小,以节约GPU内存和加快计算速度。本文实施了两组对比实验。第一组基于KITTI数据集04、06、07和10序列,通过轨迹真值定量分析算法的性能。另外,任何满足实际需求的深度学习模型都要求具备很好的泛化能力。KITTI数据集的11~21序列大多采集自高速公路场景,特征较为单一,并且移动速度明显快于00~10序列。由于本文模型仅在部分00~10序列上得到训练,所以在11~21序列上测试可以很好地检验算法对新环境的适应能力。第一组实验以轨迹真值为参考,对比方法选择的是当前较为先进的特征点法VISO2-M[24]、深度学习法DVF[10]、SC-SFM[25]、EDPLVO[26]。第二组实验的参考选择为带闭环检测和局部优化模块的完整ORB-SLAM2[27]双目系统(ORB-SLAM2-S),对比方法选择的是VISO2-M与去除闭环检测和局部优化的单目ORB-SLAM2算法(ORB-SLAM2-M)。
在第一组实验中,不同方法估计的轨迹如图7所示。从结果可以看出,本文方法产生了相对于真值轨迹更加准确和一致的结果,并且不存在尺度漂移问题。传统单目视觉里程计算法存在难以恢复准确和稳定的尺度这一问题。值得注意的是,在实验中并没有为本文方法产生的结果执行尺度缩放或与轨迹真值对齐来获得绝对尺度,轨迹的尺度完全由网络本身维护,并在端到端的训练期间隐式学习。然而,图中部分对比方法存在明显的尺度失真,这表明本文采用的基于自监督学习和在线更新的视觉里程计方法具有明显的优势。表1和2在平均绝对平移误差(ATEtrans)、平均绝对旋转误差(ATErot)、平均相对平移误差(RPEtrans)和平均相对旋转误差(RPErot)四个指标上,定量地从全局和局部两个方面总结了各个算法在测试序列上的表现。除了在ATErot和RPErot指标下EDPLVO具有略微的优势外,在其余所有的指标下,本文方法在所有测试序列上都拥有最小的平移误差和旋转误差,以及最佳的表现。
尽管在以上的实验中已经评估了模型的性能,但为了进一步研究它在具有不同外观特征和运动模式的全新场景中的表现,又将算法在KITTI数据集11~21序列的部分数据集上进行测试。然而,11~21序列并没有提供轨迹真值信息,无法进行定量评估。因此,在第二组实验中,利用精度更高的完整双目ORB-SLAM2系统获得的轨迹作为参考,定性地分析各个算法的性能,记为ORB-SLAM2-S,并用VISO2-M方法和单目ORB-SLAM2-M作为对比。各个方法的预测轨迹如图8所示。可以看出,本文方法的轨迹与ORB-SLAM2-S的轨迹非常接近,并且明显优于ORB-SLAM2-M和VISO2-M。考虑到ORB-SLAM2-S采用的是固定基线距离的双目立体图像,具有很强的先验性,并且ORB-SLAM2-S还增加了局部建图和闭环检测功能,而本文提出的基于自监督学习的在线更新视觉里程计算法仅使用单目图像序列,便取得了接近的可观性能,表明本文提出的在线更新的策略使得算法适应新环境的能力得到明显增强。
3.2 真实环境测试
实验基于搭载英特尔公司的RealSenseTM D435i相机的履带式巡检机器人平台,如图9所示。机器人配备搭载Intel Core i9 10th GEN CPU和NVIDIA GeForce RTX 2080Ti GPU的工控机,并安装Ubuntu 18.04 LTS Linux操作系统。中层控制器为安装ROS Melodic机器人操作系统的NVIDIA Jetson Xavier NX,底层微控制器采用STM32F4单片机。
测试环境地下电缆隧道与公开的数据集环境差异较大,具有光照条件差、重复弱纹理、场景单一和空间维度极不均衡等特点,如图10(a)所示,这对传统视觉里程计来说是一个巨大的挑战,本文在此环境下对所提单目视觉里程计进行了系统实验,并将双目视觉SLAM算法ORB-SLAM3产生的轨迹作为参考。在实验中,本文方法仅使用单目作为输入源时,ORB-SLAM3[28]算法多次出现了跟踪丢失的问题。图10(b)展示了在线更新的视觉里程计系统运行时输出的相机运动轨迹。
从结果可以看到,OUMVO视觉里程计系统产生的轨迹与双目的ORB-SLAM3系统产生的轨迹几乎重合,表明系统的定位精度达到了当前先进系统的水平。在实际工程测试中,系统的定位精度能够满足巡检机器人进行自主导航的要求。
4 结束语
本文提出了一种基于自监督学习的在线更新的单目视觉里程计算法OUMVO。该算法利用Transformer提取图像流里的时间序列信息,并利用双目立体图像序列之间的空间维度损失和时间维度损失进行自监督训练。与传统单目视觉里程计方法普遍存在尺度漂移问题不同,本文方法在训练阶段可以获取场景的绝对尺度,并在应用阶段保持真实尺度。并且,本文所提的在线更新策略能够利用应用阶段的新数据样本来优化网络权重,使网络输出保持局部性,极大提高了数据利用率的同时,使得算法对新环境的适应能力大大增强。
虽然本文OUMVO方法取得了显著的效果,但仍然存在进一步改进的空间。一方面,在深度估计模块,本文采用深度估计网络输出稠密的深度图,并且在网络权重优化中采用了所有像素点的误差损失,这需要极大的计算量。后续可以探索更为轻量化的策略,在不影响位姿估计精度的情况下减少计算和内存开销。另一方面,在位姿估计模块,本文利用Transformer对图像流进行序列建模,仅依靠全局平均池化策略来获取序列输入向量。后续可以探索更加合理的序列特征处理策略,得到更加适合位姿估计的特征模式。
参考文献:
[1]Sualeh M,Kim G W. Simultaneous localization and mapping in the epoch of semantics: a survey [J]. International Journal of Control,Automation and Systems,2019,17(3): 729-742.
[2]赵文恺,李刚. 基于双目相机的视觉里程计 [J]. 计算机工程与设计,2020,41(4): 1133-1138.(Zhao Wenkai,Li Gang. Visual odometer based on binocular camera[J]. Journal of Computer Engineering and Design,2020,41(4): 1133-1138.)
[3]雷金周,曾令斌,叶南,等. 工业机器人单目视觉对准技术研究 [J]. 光学精密工程,2018,26(3): 733-741.( Lei Jinzhou,Zeng Lingbin,Ye Nan,et al. Research on monocular vision alignment technology for industrial robots [J]. Optics and Precision Enginee-ring,2018,26(3): 733-741.)
[4]Kendall A,Grimes M,Cipolla R. PoseNet: a convolutional network for real-time 6-DoF camera relocalization [C]//Proc of IEEE International Conference on Computer Vision. Piscataway,NJ:IEEE Press,2015: 2938-2946.
[5]Li Ruihao,Liu Qiang,Gui Jianjun,et al. Indoor relocalization in challenging environments with dual-stream convolutional neural networks [J]. IEEE Trans on Automation Science and Engineering,2017,15(2): 651-662.
[6]李鹏,刘琪,何宸宇,等. 融合深度学习和几何定姿的光流视觉里程计研究 [J]. 电机与控制学报,2020,24(12): 142-151.(Li Peng,Liu Qi,He Chenyu,et al. Research on optical flow visual odo-metry integrating deep learning and geometric pose setting[J].Journal of Electrical Engineering and Control,2020,24(12): 142-151.)
[7]Wang Sen,Clark R,Wen Hongkai,et al. DeepVO: towards end-to-end visual odometry with deep recurrent convolutional neural networks [C]// Proc of IEEE International Conference on Robotics and Automation. Piscataway,NJ:IEEE Press,2017: 2043-2050.
[8]张再腾,张荣芬,刘宇红. 一种基于深度学习的视觉里程计算法 [J]. 激光与光电子学进展,2021,58(4): 324-331.( Zhang Zai-teng,Zhang Rongfen,Liu Yuhong. A visual mileage calculation method based on deep learning [J]. Advances in Laser and Optoelectronics,2021,58(4): 324-331.)
[9]Li Ruihao,Wang Sen,Long Zhiqiang,et al. UnDeepVO: monocular visual odometry through unsupervised deep learning [C]//Proc of IEEE International Conference on Robotics and Automation. Piscata-way,NJ:IEEE Press,2018: 7286-7291.
[10]Zhan Huangying,Garg R,Weerasekera C S,et al. Unsupervised lear-ning of monocular depth estimation and visual odometry with deep feature reconstruction [C]// Proc of IEEE Conference on Computer Vision and Pattern Recognition. Piscataway,NJ:IEEE Press,2018: 340-349.
[11]Mahjourian R,Wicke M,Angelova A. Unsupervised learning of depth and ego-motion from monocular video using 3D geometric constraints [C]//Proc of IEEE Conference on Computer Vision and Pattern Re-cognition. Piscataway,NJ:IEEE Press,2018: 5667-5675.
[12]Li Xiangyu,Hou Yonghong,Wang Pichao,et al. Transformer guided geometry model for flow-based unsupervised visual odometry [J]. Neural Computing and Applications,2021,33(13): 8031-8042.
[13]Kim U H,Kim S H,Kim J H. SimVODIS: simultaneous visual odome-try,object detection,and instance segmentation [J]. IEEE Trans on Pattern Analysis and Machine Intelligence,2020,44(1): 428-441.
[14]Li Shunkai,Wang Xin,Cao Yingdian,et al. Self-supervised deep vi-sual odometry with online adaptation [C]// Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway,NJ:IEEE Press,2020: 6338-6347.
[15]Li Shunkai,Wu Xin,Cao Yingdian,et al. Generalizing to the open world: deep visual odometry with online adaptation [C]// Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway,NJ:IEEE Press,2021: 13179-13188.
[16]朱凯,刘华峰,夏青元. 基于单目视觉的同时定位与建图算法研究综述 [J]. 计算机应用研究,2018,35(1): 1-6.( Zhu Kai,Liu Huafeng,Xia Qingyuan. Survey on simultaneous localization and mapping algorithms based on monocular vision [J]. Application Research of Computers,2018,35(1): 1-6.)
[17]Xiang Dong,Long Cheng,Hu Peng,et al. FSD-SLAM: a fast semi-direct SLAM algorithm[J].Complex & Intelligent Systems,2021,8(3):1-12.
[18]He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al. Deep residual learning for image recognition [C]// Proc of IEEE Conference on Computer Vision and Pattern Recognition. Piscataway,NJ:IEEE Press,2016: 770-778.
[19]Simonyan K,Zisserman A. Very deep convolutional networks for large-scale image recognition [EB/OL].(2014). https://arxiv.org/abs/1409. 1556.
[20]Zhou Bolei,Lapedriza A,Khosla A,et al. Places: a 10 million image database for scene recognition [J]. IEEE Trans on Pattern Analysis and Machine Intelligence,2017,40(6): 1452-1464.
[21]Vaswani A,Shazeer N,Parmar N,et al. Attention is all you need [C] // Proc of the 31st International Conference on Neural Information Processing Systems. Red Hook,NY:Currarl Associates Inc.,2017: 6000-6010.
[22]Jaderberg M,Simonyan K,Zisserman A. Spatial transformer networks [C]// Advances in Neural Information Processing Systems. 2015.
[23]Fritsch J,Kuehnl T,Geiger A. A new performance measure and eva-luation benchmark for road detection algorithms [C]//Proc of the 16th International IEEE Conference on Intelligent Transportation Systems. Piscataway,NJ:IEEE Press,2013: 1693-1700.
[24]Geiger A,Ziegler J,Stiller C. StereoScan: dense 3D reconstruction in real-time [C]//Proc of IEEE Intelligent Vehicles Symposium. Piscataway,NJ:IEEE Press,2011: 963-968.
[25]Bian Jiawang,Zhan Huangying,Wang Naiyan,et al. Unsupervised scale-consistent depth learning from video [J]. International Journal of Computer Vision,2021,129(9): 2548-2564.
[26]Zhou Lipu,Huang Guoquan,Mao Yinan,et al. EDPLVO: efficient direct point-line visual odometry [C]//Proc of International Conference on Robotics and Automation. Piscataway,NJ:IEEE Press,2022: 7559-7565.
[27]Mur-Artal R,Tardós J D. ORB-SLAM2: an open-source SLAM system for monocular,stereo,and RGB-D cameras [J]. IEEE Trans on Robotics,2017,33(5): 1255-1262.
[28]Campos C,Elvira R,Rodríguez J J G,et al. ORB-SLAM3: an accurate open-source library for visual,visual-inertial,and multimap SLAM [J]. IEEE Trans on Robotics,2021,37(6): 1874-1890.