TartanVO

Wang 2021 · 论文

一句话总结 —— 首个能够在多个真实世界数据集上泛化、且无需微调的基于学习的视觉里程计模型,完全在来自 TartanAir 的多样化合成数据上训练而成。

问题

以往基于学习的视觉里程计方法在同一个数据集(通常是 KITTI)上训练和测试,导致无法跨域泛化,而经典的基于几何的视觉里程计虽然能够泛化,却难以应对运动模糊、剧烈旋转和光照变化。论文指出了两个根本原因:(1)训练数据在场景和运动模式上多样性不足,以及(2)忽略了来自多视图几何的两个基本歧义——单目尺度歧义以及对相机内参的依赖——因此”一个从某个数据集学到的模型,无论特征提取器多好,在另一个数据集上很可能都会失败。“

方法与架构

两阶段网络。 给定连续的去畸变图像 {It,It+1}\{I_t, I_{t+1}\},匹配模块 Mθ(It,It+1)M_\theta(I_t, I_{t+1})(预训练的 PWC-Net)估计稠密光流 Ftt+1F_t^{t+1},位姿模块 Pϕ(Ftt+1,K)P_\phi(F_t^{t+1}, K)(一个改进的 ResNet50,平移和旋转分支分离,不使用批归一化)回归相对运动 δtt+1=(T,R)\delta_t^{t+1} = (T, R),其中 TR3T \in \mathbb{R}^3,Rso(3)R \in so(3)。端到端目标函数联合监督两者:

L=λLf+Lp=λMθ(It,It+1)Ftt+1+Pϕ(F^tt+1)δtt+1L = \lambda L_f + L_p = \lambda \lVert M_\theta(I_t, I_{t+1}) - F_t^{t+1} \rVert + \lVert P_\phi(\hat{F}_t^{t+1}) - \delta_t^{t+1} \rVert

尺度无关损失。 由于运动尺度在单目图像中不可观测,只监督平移的方向(旋转损失不变)。论文中使用的归一化距离形式为

Lpnorm=T^max(T^,ϵ)Tmax(T,ϵ)+R^R,ϵ=106L_p^{norm} = \left\lVert \frac{\hat{T}}{\max(\lVert\hat{T}\rVert, \epsilon)} - \frac{T}{\max(\lVert T \rVert, \epsilon)} \right\rVert + \lVert \hat{R} - R \rVert, \qquad \epsilon = 10^{-6}

(余弦相似度的变体表现相近)。这弥合了尺度感知损失所留下的训练/测试平移损失差距。

内参层(IL)。 为解决内参歧义,基于内参 K={fx,fy,ox,oy}K = \{f_x, f_y, o_x, o_y\} 构建了一个二通道图 KcR2×H×WK^c \in \mathbb{R}^{2\times H\times W},在送入位姿网络之前与光流拼接:

Kxc=(Xindox)/fx,Kyc=(Yindoy)/fyK_x^c = (X_{ind} - o_x)/f_x, \qquad K_y^c = (Y_{ind} - o_y)/f_y

从而为每个光流向量提供其归一化的二维位置——这正是几何方法从匹配点恢复位姿所需的信息。由于 TartanAir 使用固定相机(fx=fy=320f_x = f_y = 320,ox=320o_x = 320,oy=240o_y = 240),随机裁剪和缩放(RCR,缩放因子最高 2.5)合成了视场角从 4040^{\circ}9090^{\circ} 的多种相机。

训练。 仅在 TartanAir 上训练(超过 40 万帧,20 个环境,留出 3 个):首先单独训练 PϕP_\phi,使用真值光流(10 万次迭代,批大小 100),然后与 MθM_\theta 联合训练(5 万次迭代,批大小 64)。在 GTX 1080 上每对图像的推理耗时 40 ms。所有测试数据集均使用同一权重——完全不做微调。

实验结果

对SLAM的意义

TartanVO 证明了视觉里程计的从仿真到真实(sim-to-real)迁移是可行的:一个纯粹在仿真中训练的单一模型能够泛化到 KITTI、EuRoC 以及真实红外画面,并在经典几何流水线失效的条件(运动模糊、剧烈的飞行器运动、低光照)下依然稳健。它留下的两条经久不衰的经验——在海量多样化的合成数据上训练,以及将几何不变性(尺度、内参)内嵌进模型——直接延续到了 DROID-SLAM、DPVO 和 MAC-VO 中,这些系统都在 TartanAir 上训练;MAC-VO 甚至将 TartanVO 用作其运动模型的初始化器。

相关条目