【论文阅读】PointGMM:a Neural GMM Network for Point Clouds

2025年5月27日 下午5:39 科研 , , , , ,

PointGMM:a Neural GMM Network for Point Clouds

Abstract 摘要

点云是3D形状常用的表示方法,但仅仅对形状的特定采样,缺乏对形状先验知识或非局部信息的考虑

这里作者提出了层次高斯混合模型(hierarchical GMM, hGMM),能够以概率的方式定义底层的3D表面。一个神经网络架构——PointGMM,能生成对应形状类别的hGMM,同时和输入的点云数据相匹配。通过大量形状数据训练,学习类别特定的先验。

方法优点:

  1. 粗到细的学习策略,避免陷入局部最优
  2. 无监督的输入形状一致划分

作为生成模型,PointGMM学习出有意义的潜空间(latent space),可以生成在已有形状间一致的插值,以及合成新颖形状。
还提出了基于PointGMM的刚性配准新框架,能从输入形状结构中分离姿态。

这里有分层表示的优势:

  1. 粗到细学习。采用分层结构,从粗略的全局特征逐步细化到局部细节,避免陷入全局最优解
  2. 无监督的一致划分。自动对输入形状进行一致的分区,无需额外的标注或监督信号

Introduction

点云就不过多解释了,就是一些很模板的话,什么无序性不规则性

GMM的特点:

  • 是一种用于3D形状表示的方法,概率性地定义潜在的3D表面
  • GMM是一种紧凑且轻量级的表示方法,特别擅长表示稀疏且非均匀的点云。(对这一点我暂时保持怀疑)
  • GMM具有自适应性(adaptive):复杂的细节区域可以用更多的高斯分布表示,而较大的平滑区域可以用较少的高斯分布表示(这点我认同)

PointGMM的提出目标:

  • 作者将GMM作为一种中间且紧凑的表现形式,用于点云处理,并设计了一个名为PointGMM的神经网络
  • PointGMM在一组形状上进行训练,以学习类特定的先验知识(class-specific prior)
  • 对于给定的点云,PointGMM学习一组具有形状类别特征的高斯分布,并且这些高斯分布与输入点云一致(我理解的是用其来表示点云?)
  • PointGMM提供了额外的几何信息,这些信息在给定的点云上通常是缺失的
  • PointGMM是一种结构化的表示(structured representation),高斯分布的子集代表形状的语义空间区域
  • 这种表示方法可以一致地解析多样化的形状集合,且无需显式的地面实况标签(ground-truth labels)(参见 Figure 1)。
  • 展示了点云配准形状生成任务中的优势
image-20250527162524399

✅我对于图1的理解就是

PointGMM 能让不同形状之间平滑过渡(插值),并且语义关系不变(靠背还是靠背、机翼还是机翼),并且无监督

2. Related Work

这个环节其实一般不看的,但是还是稍微写点吧~

首先提到点云就不得不强调PointNet这个点云的开山鼻祖,它是第一个直接处理不规则且无序点云的神经网络,那么也会提到后续工作PointNet+、PointCNN等

GMM在3D数据中的应用:

  • Ben-Shabat等人:

Three-dimensional point cloud classification in real-time using convolutional neural networks.[4]这篇论文由Ben-Shabat提出来使用GMM来表示3D形状。

具体方法是预先定义点云的分区,然后计算对应的GMM。然后将GMM的参数被用作输入特征,输入到神经网络里进行分类任务,后来被用到了法线估计(normal estimation[5])

PointGMM使用网络损失函数来学习如何最佳地划分点云,而不是依赖预定义的分区

  • Eckart等人:

提出hGMM来进行形状配准(shape registration,不是形状注册)

然而,他们的 hGMM 是通过无监督学习生成的,没有包含任何训练集的先验知识,也没有隐含的缺失部分信息。并且也不能形状生成,但是本篇可以

再回顾一下本文的贡献:

  1. 新的形状生成的方法,学习到hGMM(分层GMM)进行形状分割
  2. 学习到的GMM对应跨多样形状的一致分割区域,并且无需显示对应关系

3. Method

最开始的时候说到,这里遵循了Eckart等人的方法,学习了分成GMM(hGMM)。

3.1 Hierarchical GMM(hGMM)

hGMM被描述一棵树,其中每个节点的子节点是其父节点的细化高斯混合模型。顶部表示较大的区域,底层表示更精细的细节。

给定一个大小为N的点云X,其概率是由\Theta^{l=1}得到:


p(X | \Theta^{l=1}) = \prod_{i=1}^N p(X_i | \Theta^{l=1}) = \prod_{i=1}^N \sum_{j=1}^J \pi_j \mathcal{N}(X_i | \mu_j, \Sigma_j)
  • \Theta^{l=1}是根节点的GMM参数,由J个重叠的三维多元高斯分布组成

  \Theta^{l=1}=\{\pi_j,\mu_j,\Sigma_j\}^J_{j=1}

参数分别表示权重、均值、协方差矩阵

  • p(X_i | \Theta^{l=1})表示点X_i由根节点GMM生成的概率。

  • 这个公式计算了整个点云X由根节点GMM生成的概率,通过将每个点X_i的概率相乘得到。

基于这个概率,定义了一组C潜在变量c_{ij}表示混合模型中点X_i和gaussian\Theta_j^{l=1}的二进制关联,计算后验有:


\gamma_{ij}^{l=1} \overset{\text{def}}{=} E[c_{ij}] = \frac{\pi_j p(X_i | \Theta_j^{l=1})}{\sum_{j'=1}^J \pi_{j'} p(X_i | \Theta_{j'}^{l=1})}
  • c_{ij}:二元变量,表示点 X_i 和第 j 个高斯分布 \Theta_j^{l=1} 之间的关联。
  • r_{ij}^{l=1}X_i属于第j个高斯分布\Theta_j^{l=1}的后验概率
  • 分母是归一化项

其实单看这个式子也比较简单,就是一个归一化的处理分子占了分母的多少

递归到下一层:


p(X | \gamma^{l=1}, \Theta^{l=2}) = \prod_{i=1}^N \sum_{j=1}^J \pi_j^{l=2||1} p(X_i | \Theta_j^{l=2||1})
  • r^{l=1}:根节点的后验概率
  • \Theta^{l=2}:第二层的GMM参数
  • \pi_j^{l=2\Vert 1}在第一层节点的条件下,第二层高斯分布的权重
  • \Theta_{j}^{l=2\Vert 1}在第一层节点的条件下,第二层高斯分布的参数

在递归过程中,使用硬划分方案将每个点分配给具有最高后验概率的高斯分布。具体步骤如下:

  • 对于每个点 X_i ,计算其在当前层的所有后验概率 \gamma_{ij}^{l=d-1}

  • 将点 X_i 分配给具有最高后验概率的高斯分布:


  \arg \max_j\gamma_{ij}^{l=d-1}

也就是选择分配给概率高的,例如0.7和0.3选择那个0.7的

对数似然


\ell_{hGMM}(X | \Theta^{l=d}) =
\begin{cases}
\log p(X | \Theta^{l=1}) & \text{if } d = 1 \\
\log p(X | \gamma^{l=d-1}, \Theta^{l-d}) & \text{else}
\end{cases}

对于根节点(d=1),对数似然是直接计算点云由根节点GMM生成的概率

对于其他层(d>1),对数似然是在给定上一层后验概率r^{l=d-1}和当前层GMM参数\Theta^{l-d}计算得到的

先写在这里吧,我感觉这篇纯纯一坨..

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注