慕尼黑工业大学, 西门子 ,国防科大
本文针对点云配准和点云相对位姿估计问题,提出了适应于该任务的局部描述子,以及在该描述子上进行相对位姿回归的网络,RelativeNet。
局部特征的学习根据2D图像的方法,应该先设计好用的局部描述子,或者使用网络学习。
然而,作者指出,现有的3D描述子无论是手工设计还是网络学习,都不能像2D描述子一样将领域内的边缘朝向等信息提取出来,因而并不适用于点云配准任务。
论文方法
大概思路
如上图,网络的输入是一个fragment pair包含的多个点云patches pair,每个patch pair输出一个位姿预测,然后verify,选择最佳的一个预测。
作者将point cloud 包含的信息分为两部分:
- 结构信息,这个就是每个点的坐标
- 位姿/运动信息,相对世界坐标系的位姿(旋转+位移)
若已经确定是positive pair的两个point cloud,其结构信息应该是近似相等的,那么将两者相减得到的信息差就是两者的位姿之差,即相对位姿信息,由此可以对相对位姿进行预测。
网络结构:
整体流程
将每一个点云分别输入到两个网络中:PPF-FoldNet 和 PC-FoldNet进行结构信息和位姿信息的提取,通过相减操作得到仅仅包含位姿信息的特征, 然后使用RelativeNet在此特征上进行相对位姿回归,得到一个位姿假设。一对patch得到一个位姿假设,最后对所有的位姿假设进行验证对比输入最优的一个假设。
结构信息提取:PPF-FoldNet
出自论文《Ppf-foldnet: Unsupervised learning of rotation invariant 3d local descriptors》
输入:patch的PPF(point pair features)特征
由于输入的PPF特征具有pose invariant的特点,因此该网络提取的是旋转不变的3D局部描述子,该描述子去除了点云中包含的motion terms,因此可以表示场景中的结构信息。
位姿+结构信息提取:PC-FoldNet
该网络结构与PPF-FoldNet完全相同,但是输入为3D点云,同时包含了结构信息和位姿信息
这样网络提取的特征就包含了结构/位姿信息。
位姿信息提取:特征相减
将point patch pair中由 PPF-FoldNet和PC-FoldNet提取的特征分别相减,得到各自的位姿特征,然后输入到RelativeNet 中进行相对位姿回归,得到patch pair之间的刚性变换。
Loss函数
重建损失 + 位姿损失 + 特征一致性损失:
L
=
L
r
e
c
+
λ
1
L
p
o
s
e
+
λ
2
L
f
e
a
t
L=L_{r e c}+\lambda_{1} L_{p o s e}+\lambda_{2} L_{f e a t}\\
L=Lrec+λ1Lpose+λ2Lfeat
- 重建损失:点云之间的chamfer loss + PPF特征之间的chamfer loss,用于监督PPF-FoldNet、PC-FoldNet来输出更适用于位姿回归的特征
L r e c = 1 2 ( d c h a m ( P , P ^ ) + d c h a m ( F p p f , F ^ p p f ) ) d cham ( X , X ^ ) = max { 1 ∣ X ∣ ∑ x ∈ X min x ∈ x ^ ∥ x − x ^ ∥ 2 , 1 ∣ X ^ ∣ ∑ x ^ ∈ X min x ∈ X ∥ x − x ^ ∥ 2 } \begin{aligned} &L_{r e c}=\frac{1}{2}\left(d_{c h a m}(\mathbf{P}, \hat{\mathbf{P}})+d_{c h a m}\left(\mathbf{F}_{p p f}, \hat{\mathbf{F}}_{p p f}\right)\right)\\ &d_{\text {cham}}(\mathbf{X}, \hat{\mathbf{X}})=\\ &\max \left\{\frac{1}{|\mathbf{X}|} \sum_{\mathbf{x} \in \mathbf{X}} \min _{\mathbf{x} \in \hat{\mathbf{x}}}\|\mathbf{x}-\hat{\mathbf{x}}\|_{2}, \frac{1}{|\hat{\mathbf{X}}|} \sum_{\hat{\mathbf{x}} \in \mathbf{X}} \min _{\mathbf{x} \in \mathbf{X}}\|\mathbf{x}-\hat{\mathbf{x}}\|_{2}\right\} \end{aligned} Lrec=21(dcham(P,P^)+dcham(Fppf,F^ppf))dcham(X,X^)=max{∣X∣1x∈X∑x∈x^min∥x−x^∥2,∣X^∣1x^∈X∑x∈Xmin∥x−x^∥2}
-
位姿损失:四元数的形式
L p o s e = ∥ q − q ∗ ∥ 2 L_{p o s e}=\left\|\mathbf{q}-\mathbf{q}^{*}\right\|_{2} Lpose=∥q−q∗∥2 -
特征一致性损失:对应patch pair之间的PPF特征应当是近似的
L f e a t = ∑ ( p i , q i ) ∈ Γ ∥ f p i − f q i ∥ 2 L_{f e a t}=\sum_{\left(\mathbf{p}_{i}, \mathbf{q}_{i}\right) \in \mathbf{\Gamma}}\left\|\mathbf{f}_{\mathbf{p}_{i}}-\mathbf{f}_{\mathbf{q}_{i}}\right\|_{2} Lfeat=(pi,qi)∈Γ∑∥fpi−fqi∥2
假设验证/选择
没理解错的话,本文是将一个patch pair看成是一个 对应关系,然后类似RANSAC可以得到最优的位姿假设。
与RANSAC的不同之处在于:
- RANSAC需要3个点对应关系才能形成一个位姿假设,但是一个patch pair就可以生成一个位姿假设,而且假设质量更高。
- RANSAC的候选点通常非常多,一般是几万个点,但是patches pair 只有几百对,而且只采样一次。
得益于small number of hypotheses,作者通过使用所有幸存的内点重新计算变换来进一步完善估计。
实验分析
首先在 fragment matching 任务中对局部描述子进行了评估:SOTA
在局部几何配准任务中对 局部描述子 和 RelativeNet进行了评估:位姿回归网络比RANSAC系列更好
运行效率对比:候选点(patches)比RANSAC系列方法少得多,因此更快,0.3s