Deep Global-Relative Networks for End-to-End 6-DoF VisualLocalization and Odometry && 2018


作者: Yimin Lin1, Zhaoxiang Liu1, Jianfeng Huang1Chaopeng Wang1, Guoguang Du1, Jinqiang Bai2,Shiguo Lian1, Bill Huang1

研究机构:cloudmind、北航

这是一个辅助学习的相机位姿估计模型,以序列数据为输入,同时预测相对位姿和绝对位姿。

因此除了可以作为相机位姿估计器之外,还可以解决VO(视觉里程计)任务。

在视觉里程计任务中,由于还预测了相机的绝对位姿,因此可以避免累计误差带来的漂移。

Deep Global-Relative Networks for End-to-End 6-DoF VisualLocalization and Odometry && 2018

论文方法介绍

模型结构

模型由三个网络组成:

  1. CNN1: 负责进行图像的特征提取,选择具有分辨性的特征输入到后面的网络中
  2. RCNN2: 这里 RCNN指的是Recurrent Convolutional Neural Networks,即循环神经网络,在本文中作者使用了LSTM。RCNN2 负责估计序列图像间的相对位姿变换。
  3. RCNN3:也是LSTM,负责估计每张图像中相机的绝对位姿变换

最终将RCNN1和RCNN2的输出通过全连接层融合,分别得到相机的位置和旋转。网络结构:
Deep Global-Relative Networks for End-to-End 6-DoF VisualLocalization and Odometry && 2018

CNN1:

  • 作为特征提取网络,由ResNet50的前三个残差块Res1,Res2,Res3构成。
  • CNN1分别对每张图像进行处理提取特特征用于后续网络

RCNN1:

  • 相对位姿估计网络。使用Res4、Res5将两个图像的特征进行连接融合,然后使用两个LSTM单元挖掘长距离图像之间的对应关系。在每个时间步通过一个1024维的全连接层输出位姿预测。

RCNN2:

  • 绝对位姿估计网络。使用Res4、Res5处理当前图像的特征,然后用一个LSTM估计绝对位姿。最后一个1024维的全连接层将输入reshape为1024,与相对位姿预测数据相匹配。

  • 注意,论文提到,LSTM存储了最近时间内过去几帧的绝对位姿数据,因此能够提高绝对位姿的预测精度。

最后将fc1、fc2的输出连接,使用fc3,fc4,fc5进行融合,得到位姿的估计值。

训练

以往的基于学习的位姿估计方法在切换到新的场景时需要重新训练,费时费力。本文指出DGRNets可以加快在未知场景中的训练速度。

CNN1只负责提通用特征,因此不需重新训练。只要重新训练RCNN2即可,因为RCNN2存储的是场景中的地标信息。这样CNN1+RCNN2的组合就可以用于输出相机的绝对位姿估计了。

两个损失函数:

  1. CTC loss: Cross Transformation Constraints loss,利用相邻帧之间的几何一致性对模型的相对位姿估计误差进行约束。

    假设一个序列为一个样本,一个样本有5张图像,则相对位姿预测值PijP_{ij}如下图:

Deep Global-Relative Networks for End-to-End 6-DoF VisualLocalization and Odometry && 2018

定义CTC损失函数:
1Ni=1Nk=06Lki, N,L0=P01P0122L1=P12P1222L2=P23P2322L3=P34P3422L4=P02P0222L5=P04P0422 \frac1{N}\sum_{i=1}^N\sum_{k=0}^6 L_k^i \quad ,\ N为样本数,其中: \\ L_0 =|| P_{01}-\overset{\frown} P_{01}||^2_2 \\L_1 =|| P_{12}-\overset{\frown} P_{12}||^2_2\\ L_2 =|| P_{23}-\overset{\frown} P_{23}||^2_2\\ L_3 =|| P_{34}-\overset{\frown} P_{34}||^2_2\\ L_4 =|| P_{02}-\overset{\frown} P_{02}||^2_2\\ L_5 =|| P_{04}-\overset{\frown} P_{04}||^2_2\\

  1. CTC loss + MSE : 这里的MSE就是传统的位姿真值和预测值之间的误差。使用该损失函数对整个网络模型进行训练。
    1Ni=1N{k=06Lki+j=04PjiPji22} \frac1{N}\sum_{i=1}^N\left\{ \sum_{k=0}^6 L_k^i +\sum_{j=0}^4|| P^i_j-\overset{\frown}{P_j^i} ||_2^2 \right\}
实验内容以及分析

分别在室内数据集Microsoft 7-Scenes 和室外数据集KITTI上进行了测试:

Microsoft 7-Scenes:评估位姿预测精度

Deep Global-Relative Networks for End-to-End 6-DoF VisualLocalization and Odometry && 2018

由于使用了几何约束信息,大幅领先于PoseNet、DeepVO

由于将绝对位姿和相对位姿融合进行预测,而VLocNet是独立分开预测的,因此DGRNets性能领先.

总体上说,位置误差较小,但是普遍朝向预测误差较大,这是因为训练集的序列中朝向变化小,训练时容易过拟合,因此测试集上误差大。而DGRNets的RCNN2 解决了朝向预测中的累计误差问题,因此达到了SOTA。

KITTI:评估户外大场景的VO性能

Deep Global-Relative Networks for End-to-End 6-DoF VisualLocalization and Odometry && 2018

论文说VO的SOTA是VISO2,可是这是2011年的文章(??),DeepVO性能较差,所以论文还放了对比图:

Deep Global-Relative Networks for End-to-End 6-DoF VisualLocalization and Odometry && 2018

可以看出DGRNets基本消除了漂移现象。

结论

论文提出的DGRNets将相对位姿和绝对位姿任务结合,互相辅助学习,并将几何约束关系纳入到损失函数中,提升了相机重定位性能的同时,还在VO任务中消除了累积误差,实现了漂移矫正。