论文标题:
Unsupervised Deep Probabilistic Approach for Partial Point Cloud Registration
论文作者:
Guofeng Mei; Hao Tang; Xiaoshui Huang; Weijie Wang; Juan Liu; Jian Zhang; Luc Van Gool; Qiang Wu
1. 摘要
目前,点云配准方法面临着部分数据重叠且依赖于标记数据的挑战,为了解决这些问题,提出了一种无监督的深度点云的概率配准框架UDPReg。首先采用网络从点云中学习高斯混合模型(GMM)的后验概率分布,在局部点云配准问题上,应用Sinkhorn算法来预测在GMM的混合权重约束下的分布级别对应关系。为了实现无监督学习,设计了三种基于分布一致性的损失:自一致性、交叉一致性和局部对比。自一致性损失是通过鼓励欧几里得和特征空间中的GMM共享相同的后验分布来公式化。交叉一致性损失源于属于同一簇的两个部分重叠的点云的点共享簇质心的事实,且允许网络灵活地学习两个对齐点云变换不变的后验分布。局部对比损失有助于网络提取有区别的局部特征。实验结果表明UDPReg在3DMatch/3DLoMatch和ModelNet/ModelLoNet基准测试上取得了具有竞争力的性能。
2. 创新点
1)提出了一种基于无监督学习的概率框架来配准部分重叠的点云方案;
2)提供了一个深度概率框架,通过采用Sinkhorn算法来预测分布级对应来解决部分点云配准问题;
3)制定了自一致性、交叉一致性和局部对比损失,以使坐标和特征空间中的后验概率一致,从而能够以无监督的方式训练特征提取器;
4)在全面的实验中实现了最先进的性能,包括合成和现实世界的数据集。
3. 网络结构
UDPReg使用共享加权网络分别从源点云 P s P_s Ps和目标点云 P t P_t Pt中提取点级特征 F s F_s Fs和 F t F_t Ft,计算重叠分数 O s O_s Os和 O t O_t Ot。簇头利用 F s F_s Fs和 F t F_t Ft计算概率矩阵 S s S_s Ss和 S t S_t St,用于估计GMM参数。最后,利用簇群和点级匹配模块估计对应 M M M,这些对应 M M M用于估计变换 t t t。
图1|UDPReg网络结构©️【深蓝AI】编译
4. 方法
4.1 基于提出GMM的配准方法
· 特征提取
编码器采用类似于Resnet和跨步卷积组成的共享编码器KPConv-FPN。同时将原始点云 P s P_s Ps和 P t P_t Pt降采样为重叠点云 P ‾ s \overline{P}s Ps和 P ‾ t \overline{P}t Pt,然后,应用自注意和交叉注意对两个部分重叠点云的上下文信息进行编码,输出条件特征 F ‾ s \overline{F}s Fs和 F ‾ t \overline{F}t Ft。最后,共享解码器从条件特征和输出点向特征描述符 F s F_s Fs和 F t F_t Ft,其重叠分数为 O s O_s Os和 O t O_t Ot。解码层则结合线性层的NN上采样,并包括相应编码器层的跳过连接。
· 学习特征
与之前只考虑概率配准模型中点的空间坐标不同,提出了一种学习空间坐标和特征空间上的联合分布方法,即应用一个MLP(簇头 ψ ψ ψ),以 F s F_s Fs和 F t F_t Ft作为输入并输出联合对数概率,以及一个作用于对数概率的Softmax算子,分别生成概率矩阵 S s S_s Ss和 S t S_t St。另外直接添加高斯核密度来处理异常值,GMM参数 Θ x Θ_x Θx在三维坐标空间中由 L L L个三元组( π j x , μ j x , ∑ j x \pi^x_{j},\mu^x_{j}, {\textstyle \sum_{j}^{x}} πjx,μjx,∑jx)组成。给定 ψ ψ ψ的输出 S x S_x Sx和点坐标 P x P_x Px,GMMs计算为:
π j x = 1 N x ∑ i = 1 s ^ i j x \pi ^x_{j}=\frac{1}{N_x} {\textstyle \sum_{i=1}} \hat{s}^x_{ij} πjx=Nx1∑i=1s^ijx μ j x = 1 N x π j x ∑ i = 1 s ^ i j x p i x \mu ^x_{j}=\frac{1}{N_x \pi^x_{j}} {\textstyle \sum_{i=1}} \hat{s}^x_{ij} p^x_i μjx=Nxπjx1∑i=1s^ijxpix ∑ j x = ∑ i = 1 s ^ i j x ( p i x − μ j x ) ( p i x − μ j x ) T {\textstyle \sum_{j}^{x}}={\textstyle \sum_{i=1}} \hat{s}^x_{ij} (p^x_i-\mu^x_j)(p^x_i-\mu^x_j)^T ∑jx=∑i=1s^ijx(pix−μjx)(pix−μjx)T G x ( x ) = ∑ j = 1 π j x N ( x ∣ μ i x , ∑ j x ) , x ∈ { s , t } G^x(x)={\textstyle \sum_{j=1}} \pi^x_{j}N(x|\mu^x_i,\textstyle\sum^x_j),x\in \left \{ s,t \right \} Gx(x)=∑