【论文笔记 视觉重定位 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.绝对位位姿损失:

L G = L G x + L G q L G x = ∥ x − x ^ ∥ 2 L G q = ∥ 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=xx^2LGq=qq^q^2

2.相对几何损失:

根 据 绝 对 位 姿 真 值 的 计 算 相 对 位 姿 真 值 : x r e l = x − x r e f q r e l = q r e f ∗ × q 带 ∗ 为 共 轭 四 元 数 计 算 相 对 几 何 损 失 : L C = L C x + L C q L C x = ∥ x ^ r e l − x r e l ∥ 2 L C q = ∥ q ^ r e l − q r e l ∥ 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=xxrefqrel=qref×qLC=LCx+LCqLCx=x^relxrel2LCq=q^relqrel2

3.相对位姿回归损失:

这里计算的是预测的相对位姿的损失,而上一项是关于预测的绝对位姿损失
L R = L R x + L R q L R x = ∥ x r e l − x ~ r e l ∥ 2 L R q = ∥ q r e l − q ~ r e l ∥ q ~ r e l ∥ ∥ 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=xrelx rel2LRq=qrelq relq rel2

4.自适应度量损失:

L M D = 1 2 N ∑ n = 1 N { max ⁡ ( d x + α × d q − 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=1N{max(dx+α×dqd,0)}2

d x   d q d_x \ d_q dx dq是相对位姿的L2距离, d d d是两个输出特征之间的L2距离 :
d x = ∥ x − x r e f ∥ 2 d q = ∥ q − q r e f ∥ 2 d = ∥ f − f r e f ∥ 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=xxref2dq=qqref2d=ffref2
该损失期望两个输出的特征之间的差异 不小于 输入图像对的位姿之间的差异

总的损失函数:

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

除了最后一项,其每一项由位置损失和姿态损失组成,因此可以写成:
L = L x + L q + L M D L=L_{x}+L_{q}+L_{M D} L=Lx+Lq+LMD
其中:
L x = L G x + L C x + L R x L q = L G q + L C q + L R q \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 = L x × exp ⁡ ( − s ^ x ) + s ^ x + L q × exp ⁡ ( − s ^ q ) + s ^ q + L M D 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

实验结果:

  1. 7-scenes:

在这里插入图片描述

  1. cambridge

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述

对图像对选择的实验验证:
  1. 随机选择两个图像最为输入

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

在这里插入图片描述

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值