Causal Transformer for Fusion and Pose Estimation in Deep Visual Inertial Odometry
一、背景
视觉惯性里程计(VIO)问题:
目标:估计一个智能体(如机器人、无人机、AR/VR设备)在空间中的6自由度位姿(3D位置和3D朝向)及其随时间的变化轨迹。
传感器:通常融合两种廉价且互补的传感器:
相机:提供丰富的环境纹理信息(视觉特征),但容易受光照、纹理缺失、运动模糊影响,且单目相机无法直接得到尺度信息。
惯性测量单元(IMU):提供高频的角速度和三轴加速度,可以测量运动,但本身存在严重的漂移(偏差),且通过积分得到的位姿会迅速发散。
传感器融合的必要性:视觉和惯性信息具有天然的互补性。IMU的高频数据可以弥补相机低帧率带来的运动模糊问题,并为视觉提供运动先验;而视觉信息可以用来校正IMU的漂移,并提供绝对的尺度信息。因此,如何有效地融合这两种异构的传感器数据是VIO成功的关键。
深度学习在VIO中的应用:传统VIO算法(如基于滤波器的MSCKF、基于优化的VINS-Mono)依赖复杂的数学模型和手工设计的特征。近年来,基于深度学习的方法试图端到端地学习从传感器数据到位姿的映射,简化流程并提升在挑战性环境下的鲁棒性。
二、现有研究的局限性
简单的融合策略:许多早期的深度VIO方法采用简单的融合方式,例如:
早期融合:将图像和IMU数据在输入层简单拼接。
后期融合:分别用两个网络处理视觉和惯性流,最后再将特征拼接进行位姿回归。
问题:这些方法无法充分建模视觉和惯性模态之间复杂的、随时间变化的依赖关系。
忽略因果性:VIO是一个严格的时序因果任务。当前时刻的位姿只能依赖于过去和当前的传感器观测,而不能依赖于未来的信息。然而,一些使用双向RNN(如Bi-LSTM)或非因果Transformer的融合方法,为了提升精度而"窥见未来",这在实时在线应用中是不可行的,会导致系统延迟和不稳定。
对噪声和异常值的敏感性:无论是视觉特征跟踪失败还是IMU的突发噪声,都会严重影响融合效果和位姿估计精度。现有方法缺乏一种内在的机制来动态评估不同传感器、不同时间点数据的可靠性并进行加权融合。
三、本文创新性
本文的核心创新是提出了一个因果Transformer架构,专门用于解决视觉惯性里程计中的时序传感器融合问题。
因果性:模型严格遵循时序因果约束,确保估计的位姿仅依赖于历史及当前传感器数据,满足实时在线操作的要求。
基于Transformer的融合:利用Transformer的自注意力机制和交叉注意力机制,在时间维度和模态维度上进行深度、自适应的融合。它不是简单拼接特征,而是让模型自己学习"在什么时候"应该"更关注"哪种传感器(视觉或IMU)的"哪一部分"信息。
四、技术亮点
模型结构很可能包含以下关键组件:
特征编码器:
视觉分支:使用一个CNN或Vision Transformer来从图像序列中提取高层视觉特征。
惯性分支:使用一个1D CNN或MLP来处理IMU的时序数据流,提取惯性特征。
因果Transformer融合核心:
输入序列:将过去一段时间窗口内的视觉特征和惯性特征作为令牌序列输入Transformer。
因果掩码:在Transformer的自注意力计算中,应用一个严格的下三角掩码。这确保了第t个时间步的令牌只能关注到1到t时间步的令牌,从而保证因果性。
跨模态注意力:这是实现深度融合的关键。可能的设计包括:
交叉注意力:将视觉特征序列作为Query,惯性特征序列作为Key和Value(或反之),让一种模态主动去"查询"另一种模态中相关的信息。
融合令牌:引入一个可学习的融合令牌,让它同时与视觉和惯性序列进行注意力交互,最后用这个融合令牌的表示来回归位姿。
自适应加权与鲁棒性:
Transformer注意力机制的一个天然优势是,其计算出的注意力权重可以解释为不同输入元素的重要性。
模型可以自动学习到:当图像模糊时,降低对当前视觉特征的注意力权重,而提高对IMU预测的依赖;当IMU数据噪声较大时,则更信任视觉观测。这种数据依赖的、动态的加权融合极大地提升了系统的鲁棒性。
位姿回归器:
将从因果Transformer融合模块输出的、融合后的时序特征(可能是最后一个时间步的特征,或整个序列的聚合特征)输入一个回归头(通常是一个全连接层),直接输出当前时刻相对于起始点的6自由度位姿(平移和旋转)。
五、作用
实现更精确、更鲁棒的实时位姿估计:通过深度、自适应的传感器融合,有效克服单一传感器的缺陷,在光照变化、快速运动、纹理稀疏等挑战性场景下保持更高的精度和稳定性。
满足实时应用需求:严格的因果性设计使其能够用于无人机、自动驾驶汽车、移动机器人等对实时性要求极高的在线系统。
提供可解释的融合洞察:通过分析注意力权重,研究人员可以理解模型在何种情况下更依赖视觉或IMU,这有助于调试系统和理解故障原因。
推动深度学习在SLAM/VIO领域的发展:展示了如何将先进的序列建模架构(Transformer)与经典的机器人问题相结合,为后续研究提供了新的思路和强大的基线模型。