摘要:
本文提出了USIP检测器:一种可以在不需要训练数据真值的任意变换的3D点云中检测重复率高、定位准确的关键点的无监督稳定特征点检测器。USIP检测器由一个特征生成网络组成,该网络可以从输入的点云和任意变换后的点云中学习稳定的关键点。本文提供了退化分析和解决方法。我们使用概率倒角距离来最小化从训练点云对中检测到的关键点之间的距离,以提高重复性和定位精度。在包含Lidar、RGB-D和CAD模型的仿真和实际的3D点云数据集上进行了大量的可重复性测试,实验结果表明USIP检测器明显优于当前的现存的手工方法和深度学习3D关键点检测器。
代码:https://github.com/lijx10/USIP
一、USIP检测器
定义点云 X = [ X 0 , . . . , X N ] ∈ R 3 × N \mathbf X=[X_0,...,X_N] \in \mathbb R^{3 \times N} X=[X0,...,XN]∈R3×N。变换矩阵的集合为{
T 1 , . . . , T L T_1, ..., T_L T1,...,TL},其中 T l ∈ S E ( 3 ) T_l \in SE(3) Tl∈SE(3)被用于产生 L L L个训练点云对 { { X , X ~ 1 } , . . . , { X , X ~ L } } \{\{\mathbf X, \widetilde{\mathbf X}_1\},...,\{\mathbf X, \widetilde{\mathbf X}_L\}\} {
{
X,X
1},...,{
X,X
L}},其中 X ~ l = T l ∘ X ∈ R 3 × N \widetilde{\mathbf X}_l=T_l \circ \mathbf X \in \mathbb R^{3 \times N} X
l=Tl∘X∈R3×N, ∘ \circ ∘表示齐次坐标下的矩阵乘法。使用 { X , X ~ , T } \{\mathbf X, \widetilde{\mathbf X},T\} {
X,X
,T}表示一个训练的点云对及其对应的变换关系。在训练过程中, X \mathbf X X和 X ~ \widetilde{\mathbf X} X
被输送到FPN网络中,输出 M M M个关键点及显著不确定性 { Q = [ Q 1 , . . . , Q M ] , Σ = [ σ 1 , . . . , σ M ] T } \{\mathbf Q=[Q_1,...,Q_M],\Sigma=[\sigma_1,...,\sigma_M]^T\} {
Q=[Q1,...,QM],Σ=[σ1,...,σM]T}以及 { Q = [ Q ~ 1 , . . . , Q ~ M ] , Σ = [ σ ~ 1 , . . . , σ ~ M ] T } \{\mathbf Q=[\tilde Q_1,...,\tilde Q_M],\Sigma=[\tilde \sigma_1,...,\tilde \sigma_M]^T\} {
Q=[Q~1,...,Q~M],Σ=[σ~1,...,σ~M]T}, Q m ∈ R 3 , Q ~ m ∈ R 3 , σ m ∈ R + , σ ~ m ∈ R + Q_m \in \mathbb R^3,\tilde Q_m \in \mathbb R^3,\sigma_m \in \mathbb R^+,\tilde \sigma_m \in \mathbb R^+ Qm∈R3,Q~m∈R3,σm∈R+,σ~m∈R+。为了提高关键点的定位, Q m ∈ Q Q_m \in \mathbf Q Qm∈Q不一定是 X \mathbf X X中的点。同样地, Q ~ m ∈ Q ~ \tilde Q_m \in \widetilde \mathbf Q Q~m∈Q
也不一定是 X ~ \widetilde \mathbf X X
中的点。
定义 Q ′ = T − 1 ∘ Q ~ ∈ R 3 × M \mathbf Q^\prime=T^{-1} \circ \widetilde{\mathbf Q} \in \mathbb R^{3 \times M} Q′=T−1∘Q
∈R3×M,这样 Q ′ \mathbf Q^\prime Q′可以与 Q \mathbf Q Q直接进行比较,并假设显著不确定性不受变换影响,即 Σ ′ = Σ ~ \Sigma^\prime=\tilde\Sigma Σ′=Σ~。通过最小化 Q \mathbf Q Q和 Q ′ \mathbf Q^\prime Q′之间的差距,可以实现在任意变换下检测重复度高、定位精度高的3D点云关键点。假设损失函数为: L = L c + λ L p \mathcal L=\mathcal L_c + \lambda \mathcal L_p L=Lc+λLp, L c \mathcal L_c Lc是概率倒角损失,目的是最小化 Q \mathbf Q Q和 Q ′ \mathbf Q^\prime Q′对应关系的概率距离。 L p \mathcal L_p Lp是点到点的损失,目的是最小化估计的关键点到点云中最近邻域的距离(因为估计的关键点不一定是点云中存在的点)。 λ \lambda λ是一个平衡损失贡献的参数。
概率倒角损失函数
倒角距离公式:
∑ i = 1 M min Q j ′ ∈ Q ′ ∣ ∣ Q i − Q j ′ ∣ ∣ 2 2 + ∑ j = 1 M