澳大利亚国立大学,澳大利亚机器人视觉中心
本文解决的问题:BLind Perspective-n-Point(BPnP)
与Perspective-n-Point(PnP) 问题的区别在于PnP是已知2D与3D点之间的匹配关系的,而BPnP问题只有给定的2D点集和3D点集。因此BPnP需要额外求解一个匹配关系矩阵。
论文使用深度声明层将RANSAC结合到BPnP求解网络中,提出了第一个完全端到端可训练网路来解决BPnP问题
什么是深度声明层?
应该是在《deep declarative networks: A new hope》中首先提出的,与常见的具有显式前向函数、可以逐步进行梯度计算的命令层(如卷积层就是命令层)相对应。
声明层以优化目标函数的形式计算输出值,相比于命令层网络的逐层求梯度反向传播,其梯度计算是一步得到的,且允许递归或不可微算子存在,只要保证最后一个前向层是可微的。具体见其论文。
网络架构:

-
数据预处理:将3D点云 p ∈ R 3 \mathbf{p} \in \mathbb{R}^{3} p∈R3进行输入变换以规范其朝向。(借鉴了PoseNet);2D点是以三维方位向量 f ∈ R 3 \mathbf{f} \in \mathbb{R}^{3} f∈R3的形式表示: ∥ f ∥ = 1 \|\mathbf{f}\|=1 ∥f∥=1 且 f ∝ K − 1 [ u , v , 1 ] ⊤ \mathbf{f} \propto \mathbf{K}^{-1}[u, v, 1]^{\top} f∝K−1[u,v,1]⊤,在此基础上对f除以Z轴坐标转为2D点,以减少网络参数量。
-
特征提取:将P和f输入到各自的特征提取网络中,得到128维度的特征Zp和Zf.
特征提取器使用了论文《learning to findgood correspondence》
-
计算匹配概率:首先计算L2距离矩阵M: M i j = ∥ z f i − z p j ∥ 2 \mathbf{M}_{i j}=\left\|\mathbf{z}_{\mathbf{f}_{i}}-\mathbf{z}_{\mathbf{p}_{j}}\right\|_{2} Mij=∥∥zfi−zpj∥∥2,Mij表示第i个2D点与第j个3D点之间的特征距离。然后使用 Sinkhorn 算法求解运输问题得到匹配概率矩阵P。
-
Sinkhorn 算法是在声明层中封装的:输入M,输出P
该层优化的目标函数:
f ( M , P ) = ∑ i = 1 m ∑ j = 1 n ( M i j P i j + μ P i j ( log P i j − 1 ) ) 其 中 U ( r , c ) = { P ∈ R + m × n ∣ P 1 n = r , P ⊤ 1 m = c } f(\mathbf{M}, \mathbf{P})=\sum_{i=1}^{m} \sum_{j=1}^{n}\left(\mathbf{M}_{i j} \mathbf{P}_{i j}+\mu \mathbf{P}_{i j}\left(\log \mathbf{P}_{i j}-1\right)\right)\\ 其中 \ \ \ U(\mathbf{r}, \mathbf{c})=\left\{\mathbf{P} \in \mathbb{R}_{+}^{m \times n} \mid \mathbf{P} \mathbf{1}^{n}=\mathbf{r}, \mathbf{P}^{\top} \mathbf{1}^{m}=\mathbf{c}\right\}\\ f(M,P)=i=1∑mj=1∑n(MijP
-

本文介绍了一种解决BLindPerspective-n-Point(BPnP)问题的深度学习方法,该方法通过深度声明层将RANSAC算法融入BPnP求解网络,实现了端到端的训练。网络通过特征提取、匹配概率计算、BPnP优化等步骤,最终通过L-BFGS算法优化位姿。实验结果表明,该方法在仿真和真实数据集上达到了最先进的性能。
最低0.47元/天 解锁文章
3048





