英国诺丁汉大学
本文设计了一个孪生神经网络,其以图像对为输入,网络的每一支各输出一个绝对位姿估计,以及共同预测一个相对位姿。除了常见的绝对位姿损失函数之外,作者还设计了三个基于相对位姿数据的损失函数项。
网络的两支时共享权重特征的。在测试时,选择网络的任意一支对图像进行位姿估计即可

可以看出网络的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=∥x−x^∥2LGq=∥q−q^∥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} LG=LGx+LGqLGx=∥x−x^∥2LGq=∥∥∥∥q−∥q^∥q^∥∥∥∥2
2.相对几何损失:
根据绝对位姿真值的计算相对位姿真值:xrel=x−xrefqrel=qref∗×q带∗为共轭四元数计算相对几何损失:LC=LCx+LCqLCx=∥x^rel−xrel∥2LCq=∥q^rel−qrel∥2 根据绝对位姿真值的计算相对位姿真值:\\\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} 根据绝对位姿真值的计算相对位姿真值:xrel=x−xrefqrel=qref∗×q带∗为共轭四元数计算相对几何损失:LC=LCx+LCqLCx=∥x^rel−xrel∥2LCq=∥q^rel−qrel∥2
3.相对位姿回归损失:
这里计算的是预测的相对位姿的损失,而上一项是关于预测的绝对位姿损失
LR=LRx+LRqLRx=∥xrel−x~rel∥2LRq=∥qrel−q~rel∥q~rel∥∥2
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}
LR=LRx+LRqLRx=∥xrel−xrel∥2LRq=∥∥∥qrel−∥qrel∥qrel∥∥∥2
4.自适应度量损失:
LMD=12N∑n=1N{max(dx+α×dq−d,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} LMD=2N1n=1∑N{max(dx+α×dq−d,0)}2
dx dqd_x \ d_qdx dq是相对位姿的L2距离,ddd是两个输出特征之间的L2距离 :
dx=∥x−xref∥2dq=∥q−qref∥2d=∥f−fref∥2
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}\\
dx=∥x−xref∥2dq=∥q−qref∥2d=∥f−fref∥2
该损失期望两个输出的特征之间的差异 不小于 输入图像对的位姿之间的差异
总的损失函数:
L=LG+LC+LR+LMD L=L_{G}+L_{C}+L_{R}+L_{M D} L=LG+LC+LR+LMD
除了最后一项,其每一项由位置损失和姿态损失组成,因此可以写成:
L=Lx+Lq+LMD
L=L_{x}+L_{q}+L_{M D}
L=Lx+Lq+LMD
其中:
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}
Lx=LGx+LCx+LRxLq=LGq+LCq+LRq
为了去掉损失函数中的权重参数,最后作者使用了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}
L=Lx×exp(−s^x)+s^x+Lq×exp(−s^q)+s^q+LMD
实验结果:
- 7-scenes:

- cambridge

由于端到端的深度学习重定位方法。
对各个损失函数的性能测试:


对图像对选择的实验验证:
-
随机选择两个图像最为输入
-
选择前后连续的两个图像

结果显示使用相邻两帧作为输入更加精确
本文介绍了一种基于孪生神经网络的位姿估计方法,该网络通过图像对输入,输出绝对和相对位姿估计。设计了包括绝对位姿损失、相对几何损失等在内的多种损失函数,以提高位姿估计的准确性。实验结果表明,使用相邻图像对作为输入能获得更精确的位姿估计。

2748

被折叠的 条评论
为什么被折叠?



