Relative Geometry-Aware Siamese Neural Networkfor 6DOF Camera Relocalization 2019 论文笔记

英国诺丁汉大学

本文设计了一个孪生神经网络,其以图像对为输入,网络的每一支各输出一个绝对位姿估计,以及共同预测一个相对位姿。除了常见的绝对位姿损失函数之外,作者还设计了三个基于相对位姿数据的损失函数项。

网络的两支时共享权重特征的。在测试时,选择网络的任意一支对图像进行位姿估计即可

Relative Geometry-Aware Siamese Neural Networkfor 6DOF Camera Relocalization 2019 论文笔记

可以看出网络的backbone式ResNet50,输出的特征图分别被GPRU和RPRU模块作为输入。

GPRU:global pose regression unit

一个1024的全连接层,然后接了两个3和4 的全连接层,输出位置和姿态估计。

这里每个全连接层后面要dropout防止过拟合,初始化时候使用xavier初始化(用于线性层,如果是非线性层则使用kaimin初始化)

GPRU以特性图为输入。

RPRU: relative pose regression unit

结构和GPRU相同,但是输入变成了两个特征图的连接。

损失函数:

1.绝对位位姿损失:

LG=LGx+LGqLGx=xx^2LGq=qq^q^2 L_{G}=L_{G x}+L_{G q}\\L_{G x}=\|x-\hat{x}\|_{2}\\L_{G q}=\left\|q-\frac{\hat{q}}{\|\hat{q}\|}\right\|_{2}

2.相对几何损失:

姿姿xrel=xxrefqrel=qref×qLC=LCx+LCqLCx=x^relxrel2LCq=q^relqrel2 根据绝对位姿真值的计算相对位姿真值:\\\begin{array}{l}x_{r e l}=x-x_{r e f} \\q_{r e l}=q_{r e f}^{*} \times q \quad 带*为共轭四元数\end{array}\\计算相对几何损失:\\L_{C}=L_{C x}+L_{C q}\\\begin{array}{l}L_{C x}=\left\|\hat{x}_{r e l}-x_{r e l}\right\|_{2} \\L_{C q}=\left\|\hat{q}_{r e l}-q_{r e l}\right\|_{2}\end{array}

3.相对位姿回归损失:

这里计算的是预测的相对位姿的损失,而上一项是关于预测的绝对位姿损失
LR=LRx+LRqLRx=xrelx~rel2LRq=qrelq~relq~rel2 L_{R}=L_{R x}+L_{R q}\\\begin{array}{c}L_{R x}=\left\|x_{r e l}-\widetilde{x}_{r e l}\right\|_{2} \\L_{R q}=\left\|q_{r e l}-\frac{\widetilde{q}_{r e l}}{\left\|\widetilde{q}_{r e l}\right\|}\right\|_{2}\end{array}

4.自适应度量损失:

LMD=12Nn=1N{max(dx+α×dqd,0)}2 L_{M D}=\frac{1}{2 N} \sum_{n=1}^{N}\left\{\max \left(d_{x}+\alpha \times d_{q}-d, 0\right)\right\}^{2}

dx dqd_x \ d_q是相对位姿的L2距离,dd是两个输出特征之间的L2距离 :
dx=xxref2dq=qqref2d=ffref2 d_{x}=\left\|x-x_{r e f}\right\|_{2}\\d_{q}=\left\|q-q_{r e f}\right\|_{2}\\d=\left\|f-f_{ref}\right\|_{2}\\
该损失期望两个输出的特征之间的差异 不小于 输入图像对的位姿之间的差异

总的损失函数:

L=LG+LC+LR+LMD L=L_{G}+L_{C}+L_{R}+L_{M D}

除了最后一项,其每一项由位置损失和姿态损失组成,因此可以写成:
L=Lx+Lq+LMD L=L_{x}+L_{q}+L_{M D}
其中:
Lx=LGx+LCx+LRxLq=LGq+LCq+LRq \begin{array}{l}L_{x}=L_{G x}+L_{C x}+L_{R x} \\L_{q}=L_{G q}+L_{C q}+L_{R q}\end{array}
为了去掉损失函数中的权重参数,最后作者使用了PoseNet2中的可学习参数的损失函数形式:
L=Lx×exp(s^x)+s^x+Lq×exp(s^q)+s^q+LMD L=L_{x} \times \exp \left(-\hat{s}_{x}\right)+\hat{s}_{x}+L_{q} \times \exp \left(-\hat{s}_{q}\right)+\hat{s}_{q}+L_{M D}

实验结果:

  1. 7-scenes:

Relative Geometry-Aware Siamese Neural Networkfor 6DOF Camera Relocalization 2019 论文笔记

  1. cambridge

Relative Geometry-Aware Siamese Neural Networkfor 6DOF Camera Relocalization 2019 论文笔记

由于端到端的深度学习重定位方法。

对各个损失函数的性能测试:

Relative Geometry-Aware Siamese Neural Networkfor 6DOF Camera Relocalization 2019 论文笔记

Relative Geometry-Aware Siamese Neural Networkfor 6DOF Camera Relocalization 2019 论文笔记

对图像对选择的实验验证:

  1. 随机选择两个图像最为输入

  2. 选择前后连续的两个图像

Relative Geometry-Aware Siamese Neural Networkfor 6DOF Camera Relocalization 2019 论文笔记

结果显示使用相邻两帧作为输入更加精确