此内容是论文总结,重点看思路!!
文章概述
该文献介绍了一种用于3D点云生成的概率模型。点云是表示3D物体和场景的常用方式,但由于其不规则的采样模式,与图像相比,点云生成更具挑战性。现有方法如GANs、流模型和自回归模型在点云生成方面取得了进展,但它们在训练稳定性、生成顺序假设和可逆性要求上存在不足。因此,作者提出了基于扩散概率模型的生成方法,旨在克服这些局限。
主要贡献
-
提出了新颖的扩散概率模型:受非平衡热力学中的扩散过程启发,作者将点云视为在热浴系统中的粒子,通过扩散从初始分布转化为噪声分布。点云生成相当于学习逆向扩散过程,从噪声生成目标点云形状。
-
引入马尔科夫链进行逆向扩散建模:逆向扩散过程通过马尔科夫链建模,该链基于形状潜变量,逐步将噪声分布转换为目标点云分布。
-
推导出可行的训练目标:通过变分推导,作者得出了训练目标,最大化条件在形状潜变量上的点云似然,并提出了简化的训练算法。
-
实验结果验证模型性能:通过对ShapeNet数据集的实验,作者展示了该模型在点云生成和自动编码任务上优于现有方法,同时在无监督表示学习任务中也表现出色。
噪声到形状的转换过程
图一展示了三个不同层次的内容,具体如下:
-
Top(上层): 展示了扩散过程如何将噪声逐渐转换为有意义的形状。从左到右,点云逐渐从无序的噪声分布演化为清晰的形状,图中依次为椅子、飞机和沙发的形状。这说明了逆扩散过程能够有效地将随机噪声转换为特定形状。
-
Middle(中层): 这一层展示了通过所提出的扩散概率模型生成的点云。可以看到,生成的点云呈现了明确的物体形状,包括椅子、飞机和沙发,证明了该模型在生成高质量3D点云方面的能力。
-
Bottom(下层): 展示了两端点云之间的潜在空间插值过程。两个端点的点云形状(例如两个不同姿态的飞机或不同形状的椅子)通过逐渐过渡生成一系列中间形状,表明该模型可以在形状空间中进行插值,从而生成介于两者之间的点云形状。
基于扩散概率模型的生成框架
核心思想来源于非平衡热力学中的扩散过程,将点云生成任务视为逆向扩散过程,从噪声逐步还原出目标形状。
1. 前向扩散过程
前向扩散是将原始的点云逐渐扩散成随机噪声的过程。我们将点云中的每个点视为热力学系统中的粒子,这些粒子随着时间的推移随机地扩散。通过扩散过程,点云的原始结构会逐渐被扰动,并最终变成噪声分布。作者使用马尔科夫链来模拟这个过程,其公式如下:
其中 q(xi(t)∣xi(t−1)) 是马尔科夫扩散核,控制每个时间步 t 的点的分布。具体而言,作者采用了一个高斯核来执行这个扩散过程:
其中 βt 是控制扩散速率的方差超参数。这个前向过程的目的是逐步将有意义的点云结构转换为随机噪声。
2. 逆向扩散过程
逆向扩散过程是该模型的核心任务,它通过逆向马尔科夫链,从噪声中逐步恢复出目标点云的形状。在生成任务中,我们从一个简单的噪声分布(如标准高斯分布)中采样一组点作为输入,经过逆向扩散后得到重建的点云。逆向扩散过程的公式如下:
其中,p(x(T)) 是标准高斯分布 N(0,I),表示初始噪声分布,z 是形状潜变量,用来控制生成的目标点云的形状。逆向扩散核 pθ(x(t−1)∣x(t),z) 是一个由神经网络预测的条件高斯分布:
其中 μθ 是通过神经网络学习的均值函数,参数 θ 控制网络的权重。逆向过程的目的是逐步减少噪声,恢复点云的结构。
3. 形状潜变量 z
为了保证生成的点云具有多样性和目标结构,模型引入了形状潜变量 z,用于编码目标点云的全局形状信息。通过学习这个潜变量,模型能够生成各种不同形状的点云。
潜变量学习:在训练过程中,z 的分布可以通过变分自编码器(VAE)或正规化流(Normalizing Flow)来进行建模。具体而言,潜变量的后验分布 qϕ(z∣X(0)) 由一个编码器(如PointNet)生成,而先验分布 p(z) 可以通过正规化流进行参数化,使其具有更高的灵活性。
正规化流是一种常用的概率模型,它通过一系列可逆的映射将一个简单的分布(如标准高斯分布)转换为复杂的分布。通过这个过程,潜变量的先验分布可以更好地适应数据的复杂性。
4. 训练目标
为了训练这个模型,作者推导出了变分下界,最大化条件在形状潜变量 z 上的点云似然函数。由于直接优化对数似然是不可行的,模型优化的是其变分下界。具体的训练目标为:
该公式中的KL散度项衡量了前向和逆向过程中的分布差异,并通过最小化这些差异来训练模型,使得逆向过程能够有效地生成逼真的点云。
5. 简化的训练算法
为了提高训练效率,作者没有在每次迭代中计算完整的时间步轨迹,而是随机选择一个时间步来进行优化。这种方法加速了训练过程,降低了计算复杂度。
简化的训练过程如下:
-
从数据分布中采样点云 X(0)。
-
编码得到形状潜变量 z。
-
从均匀分布中随机选择一个时间步 t。
-
根据前向扩散过程从 X(0) 中采样中间状态 X(t)。
-
计算KL散度并更新模型参数。
6. 生成点云的过程
生成过程相对简单:
-
从标准高斯分布 N(0,I) 中采样潜变量 w,并通过正规化流 Fα 得到形状潜变量 z。
-
从噪声分布 p(x(T)) 中采样点云的初始点集。
-
通过逆向马尔科夫链逐步将噪声点云转换为目标形状的点云。
点云生成过程的有向图模型
描述了点云在扩散过程中的前向和逆向过程,以及与形状潜变量 z 之间的关系。
-
左侧(从噪声到形状): 图中展示了扩散过程如何将一个无序的噪声点云 xi(T) 逐渐转化为有意义的形状 xi(0),如图中的椅子形状。这个转换过程通过多个时间步 t 进行,形成一系列中间点云 xi(t)。
-
马尔科夫链: 这个生成过程使用了马尔科夫链模型,点云的生成通过递归的条件概率进行。点云的逆向扩散过程由 pθ(xi(t−1)∣xi(t),z) 控制,而前向扩散过程由 q(xi(t)∣xi(t−1)) 控制。
-
形状潜变量 z: 形状潜变量 z 在整个生成过程中起到了重要作用。它对逆向扩散过程中的每个时间步 pθ(xi(t−1)∣xi(t),z) 进行条件化,从而确保生成的点云符合特定的形状。形状潜变量 z 是通过编码器 qϕ(z∣X(0)) 从初始点云 X(0) 中学习得到的。
-
右侧的初始点云 X(0): 该图还展示了点云 X(0) 的生成,它是通过逆向扩散从初始的噪声点云 xi(T) 逐步生成的,最终形成目标形状。
训练和采样过程
(a) 训练过程
-
编码器 φ: 首先,点云数据 X(0) 通过编码器 φ,编码为形状潜变量 z,同时生成了均值 μ 和方差 σ 参数,用于描述潜变量的高斯分布。通过重新参数化技巧,潜变量 z 是通过从标准正态分布 N(0,I) 中采样得到的。
-
前向扩散(Forward Diffusion): 在训练过程中,点云逐步通过前向扩散过程(从 xi(0) 到 xi(T)),生成一系列带有噪声的点云。前向扩散过程由马尔科夫链控制,具体表现为 q(xi(t)∣xi(t−1))。
-
逆向扩散(Reverse Diffusion): 逆向扩散过程试图从噪声 xi(T) 逐步恢复到目标点云 xi(0)。这一过程由网络参数 μθ 控制,通过最大化似然估计或最小化损失 L 来优化参数 θ。
-
损失函数 L: 在训练过程中,损失函数 L 用于评估模型的生成效果,指导模型通过逆向扩散从噪声中恢复点云。
(b) 采样过程
-
采样过程中的潜变量 z: 在生成新点云时,首先从标准高斯分布 N(0,I) 中采样一个潜变量 w,然后通过正规化流 Fα−1 映射得到形状潜变量 z,保证了生成的灵活性和多样性。
-
逆向扩散(Reverse Diffusion): 从噪声分布 xi(T) 开始,逐步通过逆向扩散马尔科夫链还原出目标点云 xi(0),整个过程依赖于潜变量 z 和神经网络参数 μθ。