AiPaper
论文状态:已完成

3DShape2VecSet: A 3D Shape Representation for Neural Fields and Generative Diffusion Models

发表:2023/01/27
原文链接PDF 下载
价格:0.10
价格:0.10
已有 3 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

提出3DShape2VecSet,一种基于向量集合的新型三维形状神经场表示,结合径向基函数及Transformer注意力机制,提升了三维形状编码与生成扩散模型性能,支持无条件、类别、文本等多模态生成及点云补全等应用。

摘要

We introduce 3DShape2VecSet, a novel shape representation for neural fields designed for generative diffusion models. Our shape representation can encode 3D shapes given as surface models or point clouds, and represents them as neural fields. The concept of neural fields has previously been combined with a global latent vector, a regular grid of latent vectors, or an irregular grid of latent vectors. Our new representation encodes neural fields on top of a set of vectors. We draw from multiple concepts, such as the radial basis function representation and the cross attention and self-attention function, to design a learnable representation that is especially suitable for processing with transformers. Our results show improved performance in 3D shape encoding and 3D shape generative modeling tasks. We demonstrate a wide variety of generative applications: unconditioned generation, category-conditioned generation, text-conditioned generation, point-cloud completion, and image-conditioned generation.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

3DShape2VecSet: A 3D Shape Representation for Neural Fields and Generative Diffusion Models

1.2. 作者

BIAO ZHANG (KAUST, Saudi Arabia), JIAPENG TANG (TU Munich, Germany), MATTHIAS NIESSNER (TU Munich, Germany), PETER WONKA (KAUST, Saudi Arabia)

1.3. 发表期刊/会议

该论文以预印本(arXiv preprint)形式发布,发表时间为 2023-01-26T22:23:03.000Z。考虑到其内容和作者所属机构,以及在 3D 视觉和生成模型领域的创新性,通常预示着在顶级的计算机视觉(如 CVPR, ICCV, ECCV)或图形学(如 SIGGRAPH, NeurIPS)会议或期刊上发表。

1.4. 发表年份

2023年

1.5. 摘要

本文引入了 3DShape2VecSet,这是一种用于神经场 (neural fields) 的新型三维形状表示方法,专门为生成扩散模型 (generative diffusion models) 设计。该形状表示能够编码表面模型或点云形式的三维形状,并将其表示为神经场。现有的神经场方法常结合全局潜向量、规则潜向量网格或不规则潜向量网格。而 3DShape2VecSet 则将神经场建立在由一组向量构成的集合之上。作者借鉴了径向基函数 (radial basis function, RBF) 表示以及交叉注意力 (cross attention) 和自注意力 (self-attention) 函数等多种概念,设计出一种特别适合使用 Transformer 进行处理的可学习表示。实验结果表明,该方法在三维形状编码和三维形状生成建模任务中均表现出性能提升。本文展示了广泛的生成应用:无条件生成、类别条件生成、文本条件生成、点云补全和图像条件生成。

1.6. 原文链接

https://arxiv.org/abs/2301.11445 PDF 链接: https://arxiv.org/pdf/2301.11445v3.pdf 发布状态: 预印本

2. 整体概括

2.1. 研究背景与动机

论文试图解决的核心问题是什么? 论文的核心目标是解决三维形状生成领域中,缺乏一种适合与扩散模型结合的、高效且表达力强的三维形状表示方法的问题。尽管扩散模型在二维图像生成方面取得了巨大成功,但将其推广到三维领域面临的关键挑战之一就是三维数据表示的复杂性和多样性。

为什么这个问题在当前领域是重要的?现有研究存在哪些具体的挑战或空白(Gap)? 三维内容生成在计算机图形学、游戏和虚拟现实等领域具有广泛应用前景。然而,相较于二维图像,三维数据具有多种表示形式(如体素、点云、网格、神经场),每种形式都有其优缺点。其中,神经场 (neural fields) 因其连续性、能够表示完整表面以及与深度学习结合的潜力而备受关注。

现有研究中,神经场通常通过以下方式与潜变量 (latent vector) 结合:

  1. 全局潜向量 (Global Latent Vector): 简单快速,但难以捕捉形状细节。

  2. 规则潜向量网格 (Regular Grid of Latent Vectors): 能提供更多细节,但计算和内存成本随分辨率呈立方增长,不适合生成模型。

  3. 不规则潜向量网格 (Irregular Grid of Latent Vectors): 通过稀疏化降低了潜变量大小,但仍有改进空间。

    这些现有方法在处理复杂细节、压缩效率以及与 Transformer 架构的兼容性方面存在局限性,尤其是在需要生成多样化和高质量三维形状时,为扩散模型提供一个紧凑且富有表达力的潜在空间仍然是一个挑战。

这篇论文的切入点或创新思路是什么? 本文的切入点在于设计一种新型的神经场表示 3DShape2VecSet,它不再将潜变量与显式的三维空间位置绑定,而是将形状编码为一组无序的潜向量 (a set of vectors)。这种表示通过借鉴径向基函数 (RBF) 的概念和 Transformer 中的交叉注意力 (cross-attention) 机制,实现了可学习的插值过程,并使其天然地适合 Transformer 架构处理。同时,它采用两阶段的潜在扩散 (latent diffusion) 方法,将三维形状编码到一个紧凑的潜在空间进行生成。

2.2. 核心贡献/主要发现

论文最主要的贡献可以总结如下:

  1. 新型三维形状表示 3DShape2VecSet: 提出了一种新颖的神经场表示,将任意三维形状表示为固定长度的潜向量数组。这种表示通过交叉注意力 (cross-attention) 和线性层处理,生成神经场,克服了传统方法中潜变量与显式空间位置绑定的限制。
  2. 新的网络架构: 提出了一种新的网络架构来处理这种表示,包括一个利用交叉注意力从大型点云中聚合信息的构建块,使其能高效地编码和处理形状信息。
  3. 提升三维形状自编码 (Autoencoding) 性能: 在三维形状自编码方面达到了最先进的性能,能够实现高保真的重建,包括捕捉局部细节。
  4. 改进潜在集扩散框架 (Latent Set Diffusion Framework): 提出了一种潜在集扩散框架,在三维形状生成方面超越了现有技术水平,并在 FID、KID、FPD 和 KPD 等度量上取得了显著改进。
  5. 广泛的生成应用展示: 首次展示了三维形状扩散模型在多种生成任务上的能力,包括无条件生成、类别条件生成、文本条件生成、点云补全和图像条件生成,极大地扩展了扩散模型在三维领域的应用范围。

3. 预备知识与相关工作

本章将为理解 3DShape2VecSet 的核心思想和技术细节奠定基础,涵盖其所依赖的关键概念和相关前人工作。

3.1. 基础概念

3.1.1. 神经场 (Neural Fields)

概念定义: 神经场,也称为神经隐式表示 (neural implicit representations) 或基于坐标的网络 (coordinate-based networks),是一种使用神经网络来表示连续信号(如三维形状、光照、纹理等)的方法。对于三维形状,这意味着一个神经网络接收一个三维坐标点 xR3\mathbf{x} \in \mathbb{R}^3 作为输入,并输出该点的某个属性,例如其占据概率 (occupancy) O(x)[0,1]O(\mathbf{x}) \in [0, 1] 或到最近表面的有符号距离 (Signed Distance Function, SDF) S(x)RS(\mathbf{x}) \in \mathbb{R}。通过查询足够多的点,可以隐式地定义出连续的三维表面。

重要性: 神经场相比于传统的体素、点云或网格表示具有多项优势:

  • 连续性 (Continuity): 可以表示任意复杂拓扑结构的表面,并且在任意分辨率下都是连续的。
  • 内存效率 (Memory Efficiency): 存储的是神经网络的权重,而不是离散的几何数据,对于高分辨率形状通常更为紧凑。
  • 拓扑自由 (Topology-agnostic): 不受限于网格的拓扑结构,可以表示任意拓扑。

3.1.2. 扩散模型 (Diffusion Models)

概念定义: 扩散模型 (Diffusion Models, DMs) 是一类强大的生成模型,近年来在图像生成领域取得了显著成功。其核心思想是模仿一个扩散过程:

  • 前向扩散过程 (Forward Diffusion Process): 逐渐向真实数据中添加高斯噪声,直到数据完全变成随机噪声。这个过程是马尔可夫链式的,可以通过固定的方差调度轻松定义。

  • 反向去噪过程 (Reverse Denoising Process): 训练一个神经网络来学习如何逐步从噪声中恢复出原始数据。这个过程也是马尔可夫链式的,但其步骤需要学习。神经网络通常被训练来预测在给定噪声数据下添加的噪声,或直接预测原始数据。

    工作原理: 通过学习反向过程,扩散模型可以从完全随机的噪声开始,逐步去噪,最终生成逼真的新数据样本。它们在生成质量和多样性方面通常优于生成对抗网络 (Generative Adversarial Networks, GANs) 和变分自编码器 (Variational Autoencoders, VAEs)。

3.1.3. Transformer 和注意力机制 (Attention Mechanism)

概念定义: Transformer 是一种基于注意力机制 (attention mechanism) 的神经网络架构,最初用于自然语言处理,但后来被广泛应用于计算机视觉等领域。注意力机制允许模型在处理序列数据时,动态地权衡输入序列中不同部分的相对重要性。

注意力 (Attention) 的计算: 注意力层有三种输入:查询 (queries) QQ、键 (keys) KK 和值 (values) VV。 给定查询 Q=[q1,q2,,qNq]Rd×Nq\mathbf{Q} = [\mathbf{q}_1, \mathbf{q}_2, \ldots, \mathbf{q}_{N_q}] \in \mathbb{R}^{d \times N_q} 和键 K=[k1,k2,,kNk]Rd×Nk\mathbf{K} = [\mathbf{k}_1, \mathbf{k}_2, \ldots, \mathbf{k}_{N_k}] \in \mathbb{R}^{d \times N_k},它们首先被比较以生成系数。通常,这些系数通过点积和 softmax 函数计算。 Ai,j=exp(qjTki/d)l=1Nkexp(qjTkl/d) A_{i, j} = \frac{\exp(\mathbf{q}_j^\mathsf{T} \mathbf{k}_i / \sqrt{d})}{\sum_{l=1}^{N_k} \exp(\mathbf{q}_j^\mathsf{T} \mathbf{k}_l / \sqrt{d})} 其中 dd 是键向量的维度, d\sqrt{d} 用于缩放点积,防止梯度过小或过大。这些系数 Ai,jA_{i,j} 定义了查询 qj\mathbf{q}_j 对键 ki\mathbf{k}_i 的关注程度。

然后,这些系数用于(线性)组合值 V=[v1,v2,,vNk]Rdv×Nk\mathbf{V} = [\mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_{N_k}] \in \mathbb{R}^{d_v \times N_k},得到输出: Attention(Q,K,V)=[o1o2oNq]Rdv×Nq \mathrm{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = [\mathbf{o}_1 \quad \mathbf{o}_2 \quad \cdots \quad \mathbf{o}_{N_q}] \in \mathbb{R}^{d_v \times N_q} 其中每个输出向量 oj\mathbf{o}_j 计算为: oj=i=1NkAi,jvi \mathbf{o}_j = \sum_{i=1}^{N_k} A_{i,j} \mathbf{v}_i

交叉注意力 (Cross Attention): (本文 Preliminaries 部分提供) 给定两个集合 A=[a1,a2,,aNa]Rda×Na\mathbf{A} = [\mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_{N_a}] \in \mathbb{R}^{d_a \times N_a}B=[b1,b2,,bNb]Rdb×Nb\mathbf{B} = [\mathbf{b}_1, \mathbf{b}_2, \ldots, \mathbf{b}_{N_b}] \in \mathbb{R}^{d_b \times N_b}。 查询向量 Q\mathbf{Q} 通过线性函数 q():RdaRd\mathbf{q}(\cdot): \mathbb{R}^{d_a} \to \mathbb{R}^dA\mathbf{A} 的元素构建。 键 K\mathbf{K} 和值 V\mathbf{V} 通过线性函数 k():RdbRd\mathbf{k}(\cdot): \mathbb{R}^{d_b} \to \mathbb{R}^dv():RdbRd\mathbf{v}(\cdot): \mathbb{R}^{d_b} \to \mathbb{R}^dB\mathbf{B} 的元素构建。 输出的每一列可以写为: o(aj,B)=i=1Nbv(bi)1Z(aj,B)exp(q(aj)k(bi)/d) \mathbf{o}(\mathbf{a}_j, \mathbf{B}) = \sum_{i=1}^{N_b} \mathbf{v}(\mathbf{b}_i) \cdot \frac{1}{Z(\mathbf{a}_j, \mathbf{B})} \exp\left(\mathbf{q}(\mathbf{a}_j)^\top \mathbf{k}(\mathbf{b}_i) / \sqrt{d}\right) 其中 Z(aj,B)=l=1Nbexp(q(aj)k(bl)/d)Z(\mathbf{a}_j, \mathbf{B}) = \sum_{l=1}^{N_b} \exp\left(\mathbf{q}(\mathbf{a}_j)^\top \mathbf{k}(\mathbf{b}_l) / \sqrt{d}\right) 是归一化因子。 交叉注意力算子定义为: CrossAttn(A,B)=[o(a1,B)o(a2,B)o(aNa,B)]Rd×Na \mathrm{CrossAttn}(\mathbf{A}, \mathbf{B}) = [\mathbf{o}(\mathbf{a}_1, \mathbf{B}) \quad \mathbf{o}(\mathbf{a}_2, \mathbf{B}) \quad \cdots \quad \mathbf{o}(\mathbf{a}_{N_a}, \mathbf{B})] \in \mathbb{R}^{d \times N_a} 用途: 交叉注意力允许模型从一个序列(BB,作为键和值)中提取信息,并将其注入到另一个序列(AA,作为查询)的表示中。它在条件生成任务中非常有用,例如将文本、图像等条件信息整合到三维形状的生成过程中。

自注意力 (Self Attention): (本文 Preliminaries 部分提供) 当交叉注意力中的两个集合相同,即 A=B\mathbf{A} = \mathbf{B} 时,它就退化为自注意力: SelfAttn(A)=CrossAttn(A,A) \mathrm{SelfAttn}(\mathbf{A}) = \mathrm{CrossAttn}(\mathbf{A}, \mathbf{A}) 用途: 自注意力允许序列中的每个元素与其他所有元素进行交互,从而捕捉序列内部的依赖关系和全局上下文。它非常适合处理集合或序列数据,因为它可以灵活地建模元素之间的任意关系,而无需预设结构。

3.1.4. 径向基函数 (Radial Basis Functions, RBFs)

概念定义: 径向基函数 (RBFs) 是一种特殊的函数,其值仅取决于输入点到某个中心点的距离。在函数逼近中,RBFs 可以用于通过线性组合一组 RBF 来逼近任意连续函数。 O^RBF(x)=i=1Mλiϕ(x,xi) \hat{O}_{\mathrm{RBF}}(\mathbf{x}) = \sum_{i=1}^{M} \lambda_i \cdot \phi(\mathbf{x}, \mathbf{x}_i) 其中 ϕ(x,xi)\phi(\mathbf{x}, \mathbf{x}_i) 是一个径向基函数,通常表示 x\mathbf{x} 和中心点 xi\mathbf{x}_i 之间的相似度或不相似度,例如 ϕ(x,xi)=exp(ϵxxi2)\phi(\mathbf{x}, \mathbf{x}_i) = \exp(-\epsilon\|\mathbf{x} - \mathbf{x}_i\|^2)λi\lambda_i 是对应的权重, xi\mathbf{x}_i 是中心点的坐标。

本文中的作用: 论文将 RBF 视为其新型神经场表示的灵感来源,尤其是在通过加权组合基函数来逼近连续函数这一核心思想上。

3.1.5. 变分自编码器 (Variational Autoencoders, VAEs)

概念定义: 变分自编码器 (VAEs) 是一种生成模型,它通过学习数据的潜在表示来生成新数据。它由两部分组成:

  • 编码器 (Encoder): 将输入数据映射到一个潜在空间中的分布(通常是高斯分布的均值和方差)。
  • 解码器 (Decoder): 从潜在空间中采样一个潜在向量,并将其映射回数据空间,生成新数据。 VAE 的训练目标包括两部分:重构损失 (reconstruction loss),确保解码器能够准确重构输入数据;以及 KL 散度损失 (KL divergence loss),约束潜在空间的分布接近一个先验分布(如标准高斯分布),以确保潜在空间的连续性和可采样性。

本文中的作用: 论文采用 VAE 的思想来将三维形状编码成一个紧凑的潜在空间,并使用 KL 散度对潜在空间进行正则化,这对于后续的潜在扩散模型训练至关重要。

3.2. 前人工作与技术演进

3.2.1. 三维形状表示 (3D Shape Representations)

  • 体素 (Voxels):
    • 描述: 将三维空间离散化为规则的三维网格单元,每个单元存储一个占据值(例如,物体内部为1,外部为0)。
    • 优点: 结构规则,易于使用卷积神经网络处理,类似于二维图像。
    • 缺点: 随着分辨率的提高,计算和内存成本呈立方增长,导致难以表示高分辨率细节。早期的工作如 3D-GAN [Wu et al. 2016]、GenVoxelNet [Xie et al. 2020] 受限于低分辨率。
    • 演进: 为缓解效率问题,出现了稀疏化表示,如基于八叉树 (Octree) [Häne et al. 2017] 或稀疏哈希 (Sparse Hash) [Dai et al. 2020] 的方法。
  • 点云 (Point Clouds):
    • 描述: 直接表示物体表面的采样点集。
    • 优点: 原始、灵活,不依赖于拓扑结构。
    • 缺点: 缺乏结构信息,处理时需要特殊的网络架构来处理无序性,且难以直接表示连续表面或拓扑细节。
    • 演进: PointNet [Qi et al. 2017a,b] 和 DGCNN [Wang et al. 2019] 等开创性工作解决了点云的无序性问题。近期,Transformer 架构也被引入点云处理 [Guo et al. 2021; Zhang et al. 2022; Zhao et al. 2021]。
  • 神经场 (Neural Fields):
    • 描述: 使用神经网络隐式地定义三维形状,如前所述。
    • 演进:
      • 全局潜变量 (Single Global Latent Vector): OccNet [Mescheder et al. 2019] 和 DeepSDF [Park et al. 2019] 是早期代表,用单个全局向量编码形状。简单但细节能力有限。
      • 规则潜变量网格 (Regular Grid of Latents): ConvOccNet [Peng et al. 2020]、IF-Net [Chibane et al. 2020] 等将潜变量布置在三维规则网格上,通过三线性插值获取局部特征,提升了细节表现力,但网格大小仍受限。
      • 不规则潜变量网格 (Irregular Grid of Latents): LDIF [Genova et al. 2020]、3DILG [Zhang et al. 2022] 等通过引入稀疏性,将潜变量放置在不规则位置,进一步减少了潜变量大小。3DILG 采用核回归 (kernel regression) 进行插值。

3.2.2. 三维形状生成模型 (3D Shape Generative Models)

  • 生成对抗网络 (GANs): 3D-GAN [Wu et al. 2016] (体素)、1-GAN [Achlioptas et al. 2018] (点云)、IM-GAN [Chen and Zhang 2019] (神经场) 等。
  • 变分自编码器 (VAEs): VAEs 在三维生成中也有应用,但较少被单独列出,通常作为潜在空间生成的一部分。
  • 归一化流 (Normalizing Flows, NFs): PointFlow [Yang et al. 2019] (点云)。
  • 自回归模型 (Autoregressive Models, ARs): PolyGen [Nash et al. 2020] (网格)、ShapeFormer [Yan et al. 2022] (神经场)、3DILG [Zhang et al. 2022] (神经场)。
  • 扩散模型 (Diffusion Models, DMs): 相对较新。
    • 点云扩散模型: DPM [Luo and Hu 2021]、PVD [Zhou et al. 2021]、LION [Zeng et al. 2022] 等直接在点云数据上进行扩散。但点云难以保证生成表面的流形性质。
    • 神经场扩散模型: NeuralWavelet [Hui et al. 2022] 将形状(有符号距离场)编码到频域,并在频域系数上训练扩散模型。TriplaneDiffusion [Shue et al. 2022] 和 DiffusionSDF [Chou et al. 2022] 是与本文同期或稍早的工作,也在潜在空间进行神经场生成。

3.3. 差异化分析

本文 3DShape2VecSet 与相关工作的主要区别和创新点在于:

  1. 潜变量表示的核心创新:
    • OccNet/DeepSDF 的全局潜向量相比,3DShape2VecSet 使用一组潜向量来捕捉更多细节。
    • ConvOccNet/IF-Net 的规则网格潜变量相比,3DShape2VecSet 的潜向量没有显式的三维空间位置,避免了网格分辨率限制和高昂的计算成本。
    • 3DILG 的不规则网格潜变量相比,3DShape2VecSet 彻底移除了潜变量的显式空间坐标 {xi}i=1M\{ \mathbf{x}_i \}_{i=1}^M,只保留了一组潜向量 {fi}i=1M\{ \mathbf{f}_i \}_{i=1}^M。空间信息完全由网络通过学习获得。这简化了表示,使其更紧凑,并更适合与 Transformer 架构结合。
  2. 插值机制的革新:
    • 传统方法(如 ConvOccNet)使用三线性插值,3DILG 使用核回归插值。
    • 3DShape2VecSet 则通过交叉注意力 (cross attention) 机制实现了一种可学习的插值方式。这使得网络能够根据查询点 x\mathbf{x} 和潜向量集合 {fi}\{ \mathbf{f}_i \} 之间的“相似度”动态地组合潜向量,从而更灵活、更具表达力。
  3. Transformer 架构的紧密整合: 这种基于潜向量集合的表示天然地与 Transformer 的自注意力 (self-attention) 和交叉注意力 (cross-attention) 机制兼容,能够更好地利用 Transformer 在处理序列和集合数据方面的强大能力,从而在编码器和解码器中实现更优的特征聚合和信息处理。
  4. 潜在扩散 (Latent Diffusion) 框架的结合: 本文将这种新型形状表示与潜在扩散模型相结合,实现了多种条件下的三维形状生成,并展示了超越现有技术水平的性能。

4. 方法论

本文提出 3DShape2VecSet,一种新颖的三维形状表示方法,它将三维形状编码为一组潜向量,并利用 Transformer 架构中的注意力机制进行处理。整个框架基于变分自编码器 (VAE) 的两阶段训练策略,即先训练一个自编码器将三维形状编码到潜在空间,再在该潜在空间训练一个扩散模型。

4.1. 方法原理

3DShape2VecSet 的核心思想是将三维形状表示为一组潜向量,而非绑定到显式空间位置的潜变量。这借鉴了径向基函数 (RBF) 的函数逼近思想,并结合了神经场和 Transformer 的注意力机制,特别是交叉注意力 (cross-attention),来实现可学习的插值和特征聚合。

4.1.1. 从径向基函数 (RBFs) 到神经场

传统的径向基函数 (RBFs) 通过加权组合一组基函数来表示连续函数,例如物体占据函数 O^RBF(x)\hat{O}_{\mathrm{RBF}}(\mathbf{x})O^RBF(x)=i=1Mλiϕ(x,xi)(Eq. 6) \hat{O}_{\mathrm{RBF}}(\mathbf{x}) = \sum_{i=1}^{M} \lambda_i \cdot \phi(\mathbf{x}, \mathbf{x}_i) \quad \text{(Eq. 6)} 其中,ϕ(x,xi)\phi(\mathbf{x}, \mathbf{x}_i) 是一个径向基函数,通常衡量查询点 x\mathbf{x} 和中心点 xi\mathbf{x}_i 之间的相似度,例如 ϕ(x,xi)=ϕ(xxi)\phi(\mathbf{x}, \mathbf{x}_i) = \phi(\|\mathbf{x} - \mathbf{x}_i\|)λi\lambda_i 是与每个中心点 xi\mathbf{x}_i 关联的权重。在这种表示中,一个三维形状被表示为一组点和它们的权重:{λiR,xiR3}i=1M\{ \lambda_i \in \mathbb{R}, \mathbf{x}_i \in \mathbb{R}^3 \}_{i=1}^M。这种方法需要大量的点来捕捉细节,并且不利用深度学习的表示学习能力。

为了引入神经场,一种常见的方法是使用一个神经网络 NN\mathrm{NN},它接收三维坐标 x\mathbf{x} 和一个潜向量 f\mathbf{f} 作为输入,输出占据值: O^NN(x)=NN(x,f)(Eq. 9) \hat{O}_{\mathrm{NN}}(\mathbf{x}) = \mathrm{NN}(\mathbf{x}, \mathbf{f}) \quad \text{(Eq. 9)} 早期的神经场方法使用一个单一的全局潜向量 f\mathbf{f},但其细节捕捉能力有限。为了解决这个问题,后续工作引入了依赖坐标的潜变量 (coordinate-dependent latents),例如将潜向量 fi\mathbf{f}_i 安排在规则或不规则网格上。对于不规则网格,如 3DILG [Zhang et al. 2022] 提出的方法,查询点 x\mathbf{x} 处的依赖坐标的潜变量 fx\mathbf{f_x} 通过核回归 (kernel regression) 估计: fx=F^KN(x)=i=1Mfi1Z(x,{xi}i=1M)ϕ(x,xi)(Eq. 10) \mathbf{f_x} = \hat{\mathcal{F}}_{\mathrm{KN}}(\mathbf{x}) = \sum_{i=1}^{M} \mathbf{f}_i \cdot \frac{1}{Z\left(\mathbf{x}, \{\mathbf{x}_i\}_{i=1}^M\right)} \phi(\mathbf{x}, \mathbf{x}_i) \quad \text{(Eq. 10)} 其中 Z(x,{xi}i=1M)=j=1Mϕ(x,xj)Z\left(\mathbf{x}, \{\mathbf{x}_i\}_{i=1}^M\right) = \sum_{j=1}^{M} \phi(\mathbf{x}, \mathbf{x}_j) 是归一化因子。这里的 fiRC\mathbf{f}_i \in \mathbb{R}^C 是位于 xiR3\mathbf{x}_i \in \mathbb{R}^3 处的特征向量。这种表示将形状描述为一组特征向量及其空间位置:{fiRC,xiR3}i=1M\{ \mathbf{f}_i \in \mathbb{R}^C, \mathbf{x}_i \in \mathbb{R}^3 \}_{i=1}^M。最后,一个 MLP 将估计的特征投射到占据值: O^3DILG(x)=MLP(F^KN(x))(Eq. 12) \hat{O}_{\mathrm{3DILG}}(\mathbf{x}) = \mathrm{MLP}\left(\hat{\mathcal{F}}_{\mathrm{KN}}(\mathbf{x})\right) \quad \text{(Eq. 12)}

4.1.2. 3DShape2VecSet 的神经场表示

本文提出的 3DShape2VecSet 改进了上述结构,它旨在保留不规则网格和插值的概念,但消除了显式的空间位置信息,让网络自行学习编码空间信息。具体地,它将 RBF 类似函数的插值结构与 Transformer 的交叉注意力 (cross attention) 机制相结合。

本文提出的可学习函数逼近器 F^(x)\hat{\mathcal{F}}(\mathbf{x}) 如下: F^(x)=i=1Mv(fi)1Z(x,{fi}i=1M)eq(x)k(fi)/d(Eq. 13) \hat{\mathcal{F}}(\mathbf{x}) = \sum_{i=1}^{M} \mathbf{v}(\mathbf{f}_i) \cdot \frac{1}{Z\left(\mathbf{x}, \{\mathbf{f}_i\}_{i=1}^M\right)} e^{\mathbf{q}(\mathbf{x})^\top \mathbf{k}(\mathbf{f}_i) / \sqrt{d}} \quad \text{(Eq. 13)} 其中,归一化因子 Z(x,{fi}i=1M)=j=1Meq(x)k(fj)/dZ\left(\mathbf{x}, \{\mathbf{f}_i\}_{i=1}^M\right) = \sum_{j=1}^{M} e^{\mathbf{q}(\mathbf{x})^\top \mathbf{k}(\mathbf{f}_j) / \sqrt{d}}。 这里,q()\mathbf{q}(\cdot), k()\mathbf{k}(\cdot), v()\mathbf{v}(\cdot) 是将输入映射到查询、键和值的线性函数。

  • 查询 q(x)\mathbf{q}(\mathbf{x}) 是由查询点 x\mathbf{x} 生成的。
  • k(fi)\mathbf{k}(\mathbf{f}_i) 和值 v(fi)\mathbf{v}(\mathbf{f}_i) 是由潜向量集合 {fi}\{ \mathbf{f}_i \} 中的每个潜向量 fi\mathbf{f}_i 生成的。 与 3DILG (Eq. 12) 类似,最后通过一个全连接层 (FC) 得到占据值: O^(x)=FC(F^(x))(Eq. 14) \hat{O}(\mathbf{x}) = \mathrm{FC}\left(\hat{\mathcal{F}}(\mathbf{x})\right) \quad \text{(Eq. 14)} 这种表示的关键创新在于,形状不再包含显式的空间位置信息 {xi}i=1M\{ \mathbf{x}_i \}_{i=1}^M,而只包含一个潜向量集合: {fiRC}i=1M(Eq. 15) \{ \mathbf{f}_i \in \mathbb{R}^C \}_{i=1}^M \quad \text{(Eq. 15)} 可以将其视为查询点 x\mathbf{x} 与潜向量集合之间的一种交叉注意力 (cross attention) 机制。

4.2. 核心方法详解:网络架构

本文设计的 3DShape2VecSet 基于一个变分自编码器 (VAE) 框架,包含三个核心组件:三维形状编码器 (3D shape encoder)、KL 正则化模块 (KL regularization block) 和三维形状解码器 (3D shape decoder)。

4.2.1. 形状编码器 (Shape Encoding)

形状编码器的任务是将一个大型点云(或其他三维表示,如网格)聚合为一个固定大小的潜向量集合 {fi}i=1M\{ \mathbf{f}_i \}_{i=1}^M。论文探索了两种聚合策略。输入通常是一个点云 XR3×N\mathbf{X} \in \mathbb{R}^{3 \times N},其中 NN 是点数。

策略一:使用可学习查询集 (Learnable Query Set) 这种方法受到 DETR [Carion et al. 2020] 和 Perceiver [Jaegle et al. 2021] 的启发,通过交叉注意力 (cross attention) 来编码点云 X\mathbf{X}Encodelearnable(X)=CrossAttn(L,PosEmb(X))(Eq. 16) \mathrm{Encode}_{\mathrm{learnable}}(\mathbf{X}) = \mathrm{CrossAttn}(\mathbf{L}, \mathrm{PosEmb}(\mathbf{X})) \quad \text{(Eq. 16)}

  • LRC×M\mathbf{L} \in \mathbb{R}^{C \times M}: 一个可学习的查询集 (learnable query set),其中每个条目是一个 CC 维向量。这个查询集作为交叉注意力中的查询 (queries)。
  • PosEmb(X)\mathrm{PosEmb}(\mathbf{X}): 对输入点云 X\mathbf{X} 进行位置编码 (positional embedding),生成作为交叉注意力中的键 (keys) 和值 (values) 的特征。PosEmb 是一个列式位置编码函数 R3RC\mathbb{R}^3 \to \mathbb{R}^C。 这种方法将输入点云的信息聚合到固定的可学习查询集中。

策略二:使用点云本身进行下采样 (Downsampled Point Embeddings as Query Set) 这种方法首先对输入点云 X\mathbf{X} 进行下采样,得到一个较小的点云 X0\mathbf{X}_0,然后将其作为查询集。 X0=FPS(X)R3×M \mathbf{X}_0 = \mathrm{FPS}(\mathbf{X}) \in \mathbb{R}^{3 \times M} 其中 FPS (Furthest Point Sampling) 是一种点云下采样方法。 然后,交叉注意力应用于 X0\mathbf{X}_0X\mathbf{X}Encpoints(X)=CrossAttn(PosEmb(X0),PosEmb(X))(Eq. 17) \mathrm{Enc}_{\mathrm{points}}(\mathbf{X}) = \mathrm{CrossAttn}(\mathrm{PosEmb}(\mathbf{X}_0), \mathrm{PosEmb}(\mathbf{X})) \quad \text{(Eq. 17)}

  • PosEmb(X0)\mathrm{PosEmb}(\mathbf{X}_0): 下采样点云 X0\mathbf{X}_0 的位置编码,作为交叉注意力中的查询 (queries)。
  • PosEmb(X)\mathrm{PosEmb}(\mathbf{X}): 原始点云 X\mathbf{X} 的位置编码,作为交叉注意力中的键 (keys) 和值 (values)。 这种方法可以看作是一种“部分”自注意力 (partial self attention),将原始点云的信息聚合到下采样点云的表示中。 实验结果表明,策略二(使用下采样点云作为查询)性能优于策略一。 最终模型中,MM(潜向量数量)设置为 512,CC(通道数)设置为 512,以平衡重建质量和训练时间。

以下是两种编码方式的示意图:

Fig. 4. Two ways to encode a point cloud. (a) uses a learnable query set; (b) uses a downsampled version of input point embeddings as the query set. 该图像是论文中图4的示意图,展示了编码点云的两种方法:(a) 使用可学习查询集;(b) 使用输入点嵌入的下采样版本作为查询集,均通过跨注意力机制实现特征提取。

图 4. 编码点云的两种方式。(a) 使用可学习查询集;(b) 使用输入点嵌入的下采样版本作为查询集。

4.2.2. KL 正则化模块 (KL Regularization Block)

这个模块是为将自编码器转换为变分自编码器 (VAE) 而设计的,并对潜向量进行正则化,使其服从某个先验分布(通常是标准高斯分布)。这对于后续的潜在扩散模型训练是可选但必要的。 首先,通过两个线性层 FCμFC_μFCσFC_σ 将每个潜向量 fi\mathbf{f}_i 映射到均值 (mean) 和方差 (variance) 的参数: FCμ(fi)=(μi,j)j[1,2,,C0]FCσ(fi)=(logσi,j2)j[1,2,,C0](Eq. 18) \begin{array}{r l} & \mathrm{FC}_\mu(\mathbf{f}_i) = \left(\mu_{i,j}\right)_{j \in [1, 2, \cdots, C_0]} \\ & \mathrm{FC}_\sigma(\mathbf{f}_i) = \left(\log \sigma_{i,j}^2\right)_{j \in [1, 2, \cdots, C_0]} \end{array} \quad \text{(Eq. 18)} 其中 FCμ:RCRC0\mathrm{FC}_\mu: \mathbb{R}^C \to \mathbb{R}^{C_0}FCσ:RCRC0\mathrm{FC}_\sigma: \mathbb{R}^C \to \mathbb{R}^{C_0} 是两个线性投影层。这里,输出通道数 C0C_0 通常远小于输入通道数 CC (C0CC_0 \ll C),这实现了额外的压缩,使得扩散模型可以在更小的潜在空间 (MC0M \cdot C_0) 上训练。

然后,使用重参数化技巧 (reparametrization trick) 从学习到的均值和方差中采样潜在变量 zi,j\mathbf{z}_{i,j}zi,j=μi,j+σi,jϵ(Eq. 19) z_{i,j} = \mu_{i,j} + \sigma_{i,j} \cdot \epsilon \quad \text{(Eq. 19)} 其中 ϵN(0,1)\boldsymbol{\epsilon} \sim \mathcal{N}(\boldsymbol{0}, \boldsymbol{1}) 是标准高斯噪声。 KL 正则化损失项用于约束潜在分布接近标准高斯分布: Lreg({fi}i=1M)=1MC0i=1Mj=1C012(μi,j2+σi,j2logσi,j2)(Eq. 20) \mathcal{L}_{\mathrm{reg}}\left(\{\mathbf{f}_i\}_{i=1}^M\right) = \frac{1}{M \cdot C_0} \sum_{i=1}^M \sum_{j=1}^{C_0} \frac{1}{2} \left(\mu_{i,j}^2 + \sigma_{i,j}^2 - \log \sigma_{i,j}^2\right) \quad \text{(Eq. 20)} 实践中,KL 损失的权重通常设置为 0.001。

以下是 KL 正则化模块的示意图:

该图像是一个示意图,展示了通过两个全连接层(FC)得到均值和方差参数,再通过采样后通过全连接层映射重建输入特征的过程,体现了变分编码思想。 该图像是一个示意图,展示了通过两个全连接层(FC)得到均值和方差参数,再通过采样后通过全连接层映射重建输入特征的过程,体现了变分编码思想。

图 5. KL 正则化模块的结构。从形状编码器获得的潜向量集合 {fiRC}i=1M\{ \mathbf{f}_i \in \mathbb{R}^C \}_{i=1}^M,通过两个线性投影层 FCμ,FCσ\mathrm{FC}_\mu, \mathrm{FC}_\sigma 预测低维潜在空间的均值和方差。应用 VAE 中常用的 KL 正则化来约束特征多样性。然后,通过重参数化采样获得尺寸更小的潜变量 {ziRC0}\{ \mathbf{z}_i \in \mathbb{R}^{C_0} \},总大小为 MC0MCM \cdot C_0 \ll M \cdot C。最后,压缩后的潜变量通过 FCup\mathrm{FC_{up}} 映射回原始空间,以获得更高维度用于形状解码。

4.2.3. 形状解码器 (Shape Decoding)

形状解码器接收潜向量集合,并将其转换回三维形状的占据函数。 首先,为了增强网络的表达能力,潜向量集合 {fi}i=1M\{ \mathbf{f}_i \}_{i=1}^M 会经过一系列自注意力 (self attention) 块进行处理: {fi}i=1MSelfAttn(l){fi}i=1M,for l=1,,L(Eq. 21) \{ \mathbf{f}_i \}_{i=1}^M \xrightarrow{\mathrm{SelfAttn}^{(l)}} \{ \mathbf{f}_i \}_{i=1}^M, \quad \text{for } l = 1, \cdots, L \quad \text{(Eq. 21)} 其中 SelfAttn(l)()\mathrm{SelfAttn}^{(l)}(\cdot) 表示第 ll 个自注意力块。这些自注意力块允许潜向量之间相互作用,捕捉全局上下文信息。 在处理之后,给定一个查询点 x\mathbf{x},通过 Eq. 13 中描述的可学习函数逼近器 F^(x)\hat{\mathcal{F}}(\mathbf{x})(本质上是交叉注意力)插值得到对应的特征。然后,一个全连接层 (FC) 如 Eq. 14 所示,将插值得到的特征映射为占据值 O^(x)\hat{O}(\mathbf{x})

损失函数 (Loss): 自编码器的训练目标是最小化重建损失。对于占据预测任务,使用二元交叉熵 (Binary Cross Entropy, BCE) 损失来衡量预测占据值 O^(x)\hat{O}(\mathbf{x}) 与真实占据值 O(x)O(\mathbf{x}) 之间的差异: Lrecon({fi}i=1M,O)=ExR3[BCE(O^(x),O(x))](Eq. 22) \mathcal{L}_{\mathrm{recon}}\left(\{\mathbf{f}_i\}_{i=1}^M, O\right) = \mathbb{E}_{\mathbf{x} \in \mathbb{R}^3} \left[\mathrm{BCE}\left(\hat{O}(\mathbf{x}), O(\mathbf{x})\right)\right] \quad \text{(Eq. 22)} 表面重建 (Surface Reconstruction): 在训练完成后,通过在密集的三维网格(例如 1283128^3 分辨率)上查询占据函数,然后使用 Marching Cubes [Lorensen and Cline 1987] 算法提取等值面,即可重建出最终的三维表面。

4.2.4. 形状生成:潜在集扩散模型 (Latent Set Diffusion Models)

在自编码器(第一阶段)训练完成后,在压缩后的潜在空间中训练扩散模型(第二阶段)。扩散模型操作的是正则化后的潜向量集合 {zi}i=1M\{ \mathbf{z}_i \}_{i=1}^M

去噪目标 (Denoising Objective): 遵循 EDM [Karras et al. 2022] 中的扩散公式,去噪目标函数定义为: EniN(0,σ2I)1Mi=1MDenoiser({zi+ni}i=1M,σ,c)izi22(Eq. 23) \mathbb{E}_{\mathbf{n}_i \sim \mathcal{N}(\boldsymbol{0}, \sigma^2 \mathbf{I})} \frac{1}{M} \sum_{i=1}^M \left\| \mathrm{Denoiser}\left(\{\mathbf{z}_i + \mathbf{n}_i\}_{i=1}^M, \sigma, c\right)_i - \mathbf{z}_i \right\|_2^2 \quad \text{(Eq. 23)}

  • Denoiser(,,)\mathrm{Denoiser}(\cdot, \cdot, \cdot): 去噪神经网络,它接收带噪声的潜向量集合 {zi+ni}i=1M\{\mathbf{z}_i + \mathbf{n}_i\}_{i=1}^M、噪声水平 σ\sigma 和可选的条件信息 cc 作为输入。
  • niN(0,σ2I)\mathbf{n}_i \sim \mathcal{N}(\boldsymbol{0}, \sigma^2 \mathbf{I}): 添加到每个潜向量 zi\mathbf{z}_i 上的高斯噪声。
  • cc: 可选的条件信息,例如类别、图像、部分点云或文本。
  • 下标 ii: 表示 Denoiser 的输出对应于输入中的第 ii 个潜向量。 该目标旨在训练 Denoiser 网络,使其能够从噪声数据中准确地预测原始的潜向量 zi\mathbf{z}_i

去噪网络架构 (Denoising Network Architecture): 去噪网络是一个集合到集合 (set-to-set) 函数,它主要由 Transformer 风格的注意力块构建。 每个去噪层包含两个注意力块:

  1. 自注意力块 (Self-Attention Block): 用于潜向量集合内部的注意力学习,捕捉潜向量之间的关系。

  2. 交叉注意力块 (Cross-Attention Block): 用于注入条件信息 cc

    以下是去噪网络的示意图:

    Fig. 7. Denoising network. Our denoising network is composed of several denoising layers (a box in the figure denotes a layer). The denoising layer for unconditional generation contains two sequentia… 该图像是论文中图7的示意图,展示了无条件去噪网络(a)和条件去噪网络(b)的结构。无条件网络由两个连续的自注意力模块组成,条件网络则在自注意力后加上交叉注意力以注入类别、图像或部分点云等条件信息。

图 7. 去噪网络。去噪网络由多个去噪层组成(图中方框表示一层)。无条件生成 ((a) Unconditional Generation) 的去噪层包含两个顺序的自注意力块。条件生成 ((b) Conditional Generation) 的去噪层包含一个自注意力块和一个交叉注意力块。交叉注意力用于注入类别、图像或部分点云等条件信息。

条件信息注入 (Conditional Information Injection):

  • 类别条件 (Category-Conditioned): cc 是一个可学习的嵌入向量(例如,对于 55 个类别,有 55 个不同的嵌入向量)。

  • 单视图图像条件 (Single-View Image-Conditioned): 使用 ResNet-18 [He et al. 2016] 作为上下文编码器,提取一个全局特征向量作为条件 cc

  • 文本条件 (Text-Conditioned): 使用 BERT [Devlin et al. 2018] 学习一个全局特征向量作为条件 cc

  • 部分点云条件 (Partial Point Cloud-Conditioned): 使用 Sec. 5.1 中介绍的形状编码器,获取一组潜在嵌入作为条件 cc

  • 无条件生成 (Unconditional Generation): 此时交叉注意力退化为自注意力(如图 7 (a) 所示),没有外部条件信息注入。

    以下是潜在集扩散模型的示意图:

    Fig. 6. Latent set diffusion models. The diffusion model operates on compressed 3D shapes in the form of a regularized set of latent vectors \(\\{ \\mathbf { z } _ { i } \\} _ { i = 1 } ^ { M }\) 该图像是一个示意图,展示了扩散过程的正向(Forward Diffusion Process)和反向(Reverse Diffusion Process)步骤,表示数据逐步加入噪声与逐步去噪的过程,展示了条件信息对反向过程的影响。

图 6. 潜在集扩散模型。扩散模型在正则化潜向量集合 {zi}i=1M\{ \mathbf{z}_i \}_{i=1}^M 形式的压缩三维形状上运行。

5. 实验设置

5.1. 数据集

  • ShapeNet-v2 [Chang et al. 2015]: 这是主要的基准数据集,包含 55 个类别的人造物体。
    • 划分: 使用 [Zhang et al. 2022] 中的训练/验证/测试集划分。
    • 预处理:
      1. 每个形状转换为防水网格 (watertight mesh)。
      2. 归一化到其边界框。
      3. 从表面采样 500,000 个密集表面点云。
      4. 为了训练神经场,随机采样 500,000 个具有占据值的点(在三维空间中),以及 500,000 个具有占据值的点(在近表面区域)。
  • 3D-R2N2 [Choy et al. 2016]: 用于单视图物体重建任务。
    • 内容: 每个形状从 24 个随机视点渲染成 224×224224 \times 224 大小的 RGB 图像。
  • ShapeGlot [Achlioptas et al. 2019]: 用于文本驱动的形状生成任务。
    • 内容: 提供文本提示 (text prompts)。
  • 数据预处理 (形状补全): 通过采样点云补丁 (point cloud patches) 来创建部分点云,用于形状补全任务的训练。

5.2. 评估指标

论文使用了多项评估指标来量化三维形状编码和生成任务的性能。

5.2.1. 形状自编码 (Shape Auto-encoding)

  • 交并比 (Intersection-over-Union, IoU):
    1. 概念定义: IoU 衡量两个集合(在这里是重建形状的体素集合和真实形状的体素集合)之间的重叠程度。它通过计算交集体积与并集体积的比值来反映重建的准确性。IoU 值越高,表示重建形状与真实形状的匹配度越高,完美匹配时 IoU 为 1。
    2. 数学公式: IoU(A,B)=ABAB \mathrm{IoU}(A, B) = \frac{|A \cap B|}{|A \cup B|}
    3. 符号解释:
      • AA: 真实形状(或其占据的体素集合)。
      • BB: 重建形状(或其占据的体素集合)。
      • | \cdot |: 集合的体积(或包含的体素数量)。
      • \cap: 集合交集。
      • \cup: 集合并集。
    • 计算方式: 基于 50k 个查询点的占据预测来计算。
  • Chamfer 距离 (Chamfer Distance, CD):
    1. 概念定义: Chamfer 距离是衡量两个点集之间相似度的指标。它计算一个点集中每个点到另一个点集中最近点的平均距离,然后将这两个平均距离相加。CD 对点集的几何相似性敏感,值越低表示两个点集越相似,即重建越准确。
    2. 数学公式: CD(P1,P2)=1P1xP1minyP2xy2+1P2yP2minxP1xy2 \mathrm{CD}(P_1, P_2) = \frac{1}{|P_1|} \sum_{x \in P_1} \min_{y \in P_2} \|x-y\|_2 + \frac{1}{|P_2|} \sum_{y \in P_2} \min_{x \in P_1} \|x-y\|_2
    3. 符号解释:
      • P1P_1: 第一个点集(例如,真实形状的采样点云)。
      • P2P_2: 第二个点集(例如,重建形状的采样点云)。
      • P1|P_1|, P2|P_2|: 点集 P1P_1P2P_2 中点的数量。
      • xx: 点集 P1P_1 中的一个点。
      • yy: 点集 P2P_2 中的一个点。
      • minyP2xy2\min_{y \in P_2} \|x-y\|_2: 点 xx 到点集 P2P_2 中最近点的欧几里得距离。
    • 计算方式: 在重建表面和真实表面分别采样 50k 个点云后计算。
  • F-Score:
    1. 概念定义: F-score(有时指 F1-score)是精确率(Precision)和召回率(Recall)的调和平均值。在 3D 重建中,它用于衡量重建表面与真实表面的重合度。高 F-score 表明模型在准确捕获形状细节的同时,也能很好地覆盖真实形状,完美匹配时 F-score 为 1。
    2. 数学公式: F-score 的计算通常依赖于一个距离阈值 τ\tauF-score=2PrecisionRecallPrecision+Recall \mathrm{F\text{-}score} = 2 \cdot \frac{\mathrm{Precision} \cdot \mathrm{Recall}}{\mathrm{Precision} + \mathrm{Recall}} 其中,精确率 (Precision) 和召回率 (Recall) 定义如下: Precision=1SRpRSRI(minpGSGpRpG2τ) \mathrm{Precision} = \frac{1}{|S_R|} \sum_{p_R \in S_R} \mathbb{I}(\min_{p_G \in S_G} \|p_R - p_G\|_2 \le \tau) Recall=1SGpGSGI(minpRSRpGpR2τ) \mathrm{Recall} = \frac{1}{|S_G|} \sum_{p_G \in S_G} \mathbb{I}(\min_{p_R \in S_R} \|p_G - p_R\|_2 \le \tau)
    3. 符号解释:
      • Precision\mathrm{Precision}: 精确率,表示重建表面点中有多少落在真实表面附近。
      • Recall\mathrm{Recall}: 召回率,表示真实表面点中有多少被重建表面覆盖。
      • SRS_R: 重建形状的采样点集。
      • SGS_G: 真实形状的采样点集(Ground Truth)。
      • SR|S_R|, SG|S_G|: 集合中点的数量。
      • pRSRp_R \in S_R: 重建点集中的一个点。
      • pGSGp_G \in S_G: 真实点集中的一个点。
      • pRpG2\|p_R - p_G\|_2: 两个点之间的欧几里得距离。
      • τ\tau: 一个预设的距离阈值,用于判断点是否“在附近”。
      • I()\mathbb{I}(\cdot): 指示函数,当括号内的条件为真时为1,否则为0。
    • 计算方式: 在重建表面和真实表面分别采样 50k 个点云后计算。

5.2.2. 三维形状生成 (3D Shape Generation)

  • 渲染 FID (Rendering-FID):
    1. 概念定义: Rendering-FID 是 FID (Fréchet Inception Distance) 在 3D 形状生成任务中的应用。它通过比较生成形状的 2D 渲染图像与真实形状的 2D 渲染图像在 Inception 网络特征空间中的分布相似度来评估生成质量。较低的 Rendering-FID 值表示生成形状的视觉质量和多样性与真实形状更接近。
    2. 数学公式: (本文 Eq. 24) Rendering-FID=μgμr22+Tr(Σg+Σr2(ΣgΣr)1/2) \mathrm{Rendering\text{-}FID} = \|\mu_g - \mu_r\|_2^2 + \mathrm{Tr}(\Sigma_g + \Sigma_r - 2(\Sigma_g \Sigma_r)^{1/2})
    3. 符号解释:
      • gg: 生成数据集(指生成形状的渲染图像特征分布)。
      • rr: 真实数据集(指真实形状的渲染图像特征分布)。
      • μg\mu_g, μr\mu_r: 分别是生成数据集和真实数据集特征的均值向量。
      • Σg\Sigma_g, Σr\Sigma_r: 分别是生成数据集和真实数据集特征的协方差矩阵。
      • 22\|\cdot\|_2^2: 欧几里得距离的平方。
      • Tr()\mathrm{Tr}(\cdot): 矩阵的迹(对角线元素之和)。
      • (ΣgΣr)1/2(\Sigma_g \Sigma_r)^{1/2}: 矩阵乘积的平方根。
    • 计算方式: 每个形状从 10 个视点渲染,然后使用 Inception 网络提取特征。
  • 渲染 KID (Rendering-KID):
    1. 概念定义: Rendering-KID 是 KID (Kernel Inception Distance) 在 3D 形状生成任务中的应用。它使用多项式核函数计算生成形状的 2D 渲染图像与真实形状的 2D 渲染图像的特征分布之间的最大均值差异 (Maximum Mean Discrepancy, MMD)。较低的 Rendering-KID 值表示生成图像与真实图像的分布更接近。
    2. 数学公式: (本文 Eq. 25) RenderingKID=MMD(1RxRmaxyGD(x,y))2 { \mathrm { R e n d e r i n g - K I D } } = { \mathrm { M M D } } \left( { \frac { 1 } { | \mathcal { R } | } } \sum _ { \mathbf { x } \in \mathcal { R } } \operatorname* { m a x } _ { \mathbf { y } \in \mathcal { G } } D ( \mathbf { x } , \mathbf { y } ) \right) ^ { 2 }
    3. 符号解释:
      • D(x,y)D(\mathbf{x}, \mathbf{y}): 一个多项式核函数 (polynomial kernel function),用于评估两个样本 x\mathbf{x}y\mathbf{y} 之间的相似度(这里的样本是 Inception 网络提取的图像特征)。
      • G\mathcal{G}: 生成数据集(或其特征分布)。
      • R\mathcal{R}: 真实数据集(或其特征分布)。
      • R|\mathcal{R}|: 真实数据集 R\mathcal{R} 中样本的数量。
      • xR\mathbf{x} \in \mathcal{R}: 真实数据集 R\mathcal{R} 中的一个样本(特征向量)。
      • yG\mathbf{y} \in \mathcal{G}: 生成数据集 G\mathcal{G} 中的一个样本(特征向量)。
      • maxyGD(x,y)\max_{\mathbf{y} \in \mathcal{G}} D(\mathbf{x}, \mathbf{y}): 对于真实数据集中的每个样本 x\mathbf{x},在生成数据集中找到与 x\mathbf{x} 相似度最高的样本 y\mathbf{y},并返回它们的相似度值。
      • xR()\sum_{\mathbf{x} \in \mathcal{R}} (\cdot): 对所有真实数据集中的样本进行求和。
      • MMD()2\mathrm{MMD}(\cdot)^2: 最大均值差异 (Maximum Mean Discrepancy) 函数的平方,用于衡量两个概率分布之间的差异。
    • 计算方式: 每个形状从 10 个视点渲染,然后使用 Inception 网络提取特征。
  • Fréchet PointNet++ 距离 (Fréchet PointNet++ Distance, FPD):
    1. 概念定义: FPD 是 FID 的 3D 形状版本。它直接在 3D 特征空间中评估生成形状的质量和多样性,而不是通过 2D 渲染图像。通过从生成和真实形状表面采样点云,然后使用预训练的 PointNet++PointNet++ 模型提取全局特征向量,再计算这些特征分布的 Fréchet 距离。较低的 FPD 值表示生成形状的 3D 结构和多样性与真实形状更接近。
    2. 数学公式: FPD 采用与 Rendering-FID (Eq. 24) 相同的数学公式,但其中的 μg,μr,Σg,Σr\mu_g, \mu_r, \Sigma_g, \Sigma_r 是从预训练 PointNet++PointNet++ 网络提取的 3D 特征计算得出。
    3. 符号解释:Rendering-FID 符号解释类似,但特征提取器是预训练的 PointNet++PointNet++ 网络。
    • 计算方式: 从每个形状表面采样 4096 个点,送入预训练在 ShapeNet-55 上的 PointNet++PointNet++ 网络提取全局潜向量。
  • Kernel PointNet++ 距离 (Kernel PointNet++ Distance, KPD):
    1. 概念定义: KPD 是 KID 的 3D 形状版本。它使用预训练 PointNet++PointNet++ 模型提取的 3D 特征,并计算这些特征分布之间的最大均值差异 (MMD)。较低的 KPD 值表示生成形状的 3D 特征分布与真实形状的分布更接近。
    2. 数学公式: KPD 采用与 Rendering-KID (Eq. 25) 相同的数学公式,但其中的 D(x,y)D(\mathbf{x}, \mathbf{y}) 核函数作用于从 PointNet++PointNet++ 提取的 3D 特征,MMD 函数也作用于这些 3D 特征分布。
    3. 符号解释:Rendering-KID 符号解释类似,但特征提取器是预训练的 PointNet++PointNet++ 网络。
    • 计算方式: 从每个形状表面采样 4096 个点,送入预训练在 ShapeNet-55 上的 PointNet++PointNet++ 网络提取全局潜向量。
  • 精确率 (Precision) 和 召回率 (Recall):
    1. 概念定义: 在生成模型评估中,Precision 衡量生成样本中有多少是“真实”的(即与真实数据相似)。Recall 衡量真实数据中有多少能够被生成模型所覆盖。高 Precision 表明生成样本的质量高,高 Recall 表明生成样本的多样性好。
    2. 数学公式: 通常,Precision 和 Recall 是通过计算生成样本与真实样本之间的最近邻距离,并基于一个距离阈值来判断相似性。 设 SgenS_{gen} 是生成形状的特征集, SrealS_{real} 是真实形状的特征集。 Precision(Sgen,Sreal)=1SgensgSgenI(minsrSrealdist(sg,sr)τ) \mathrm{Precision}(S_{gen}, S_{real}) = \frac{1}{|S_{gen}|} \sum_{s_g \in S_{gen}} \mathbb{I}(\min_{s_r \in S_{real}} \mathrm{dist}(s_g, s_r) \le \tau) Recall(Sgen,Sreal)=1SrealsrSrealI(minsgSgendist(sg,sr)τ) \mathrm{Recall}(S_{gen}, S_{real}) = \frac{1}{|S_{real}|} \sum_{s_r \in S_{real}} \mathbb{I}(\min_{s_g \in S_{gen}} \mathrm{dist}(s_g, s_r) \le \tau)
    3. 符号解释:
      • SgenS_{gen}: 生成形状的特征集。
      • SrealS_{real}: 真实形状的特征集。
      • sgSgens_g \in S_{gen}: 生成形状的特征向量。
      • srSreals_r \in S_{real}: 真实形状的特征向量。
      • dist(,)\mathrm{dist}(\cdot, \cdot): 衡量两个形状特征之间距离的函数(例如,Chamfer Distance,或PointNet++特征距离)。
      • τ\tau: 距离阈值,用于定义“接近”。
      • I()\mathbb{I}(\cdot): 指示函数。
  • MMD-CD (MMD with Chamfer Distance) 和 MMD-EMD (MMD with Earth Mover's Distance):
    1. 概念定义: 这两个指标使用最大均值差异 (Maximum Mean Discrepancy, MMD) 来量化生成点云分布与真实点云分布之间的差异。MMD-CD 使用 Chamfer Distance 作为核函数,MMD-EMD 使用 Earth Mover's Distance 作为核函数。值越低表示两个分布越相似。
    2. 数学公式: MMD 的采样估计通常为: MMD2(P,Q)1N2i,j=1Nk(pi,pj)2NMi=1Nj=1Mk(pi,qj)+1M2i,j=1Mk(qi,qj) \mathrm{MMD}^2(P,Q) \approx \frac{1}{N^2}\sum_{i,j=1}^N k(p_i,p_j) - \frac{2}{NM}\sum_{i=1}^N\sum_{j=1}^M k(p_i,q_j) + \frac{1}{M^2}\sum_{i,j=1}^M k(q_i,q_j) 其中 P, Q 为两个点云分布, pi,qjp_i, q_j 为其样本,N, M 为样本数量。k(x,y) 为核函数。对于 MMD-CD 和 MMD-EMD,核函数 k(x,y) 通常是基于 Chamfer Distance (CD) 或 Earth Mover's Distance (EMD) 的,例如 k(x,y)=exp(dist(x,y)2/(2σ2))k(x,y) = \exp(-\mathrm{dist}(x,y)^2 / (2\sigma^2))
    3. 符号解释:
      • P, Q: 两个点云分布(真实和生成)。
      • k(x, y): 核函数,这里可以是基于 Chamfer Distance 或 Earth Mover's Distance 的。
      • dist(x,y)\mathrm{dist}(x,y): 两个点云 x, y 之间的距离(CD或EMD)。
      • N, M: 两个点云集中样本的数量。
      • pi,qjp_i, q_j: 来自两个点云集的样本。
  • COV-CD (Coverage with Chamfer Distance) 和 COV-EMD (Coverage with Earth Mover's Distance):
    1. 概念定义: COV(Coverage)衡量生成模型能够覆盖多少真实数据空间。高 COV 表示模型能够生成更广泛的真实数据形状,反映了生成的多样性。
    2. 数学公式: 通常,Coverage 是基于最近邻搜索定义的。给定真实点云集 Preal\mathcal{P}_{real} 和生成点云集 Pgen\mathcal{P}_{gen}Coverage(Pgen,Preal)=1PrealprPrealI(minpgPgendist(pr,pg)δ) \mathrm{Coverage}(\mathcal{P}_{gen}, \mathcal{P}_{real}) = \frac{1}{|\mathcal{P}_{real}|} \sum_{p_r \in \mathcal{P}_{real}} \mathbb{I}(\min_{p_g \in \mathcal{P}_{gen}} \mathrm{dist}(p_r, p_g) \le \delta) 其中 dist\mathrm{dist} 是 Chamfer Distance 或 Earth Mover's Distance,δ\delta 是一个阈值。
    3. 符号解释:
      • Preal\mathcal{P}_{real}: 真实点云集。
      • Pgen\mathcal{P}_{gen}: 生成点云集。
      • prPrealp_r \in \mathcal{P}_{real}: 真实点云集中的一个形状。
      • pgPgenp_g \in \mathcal{P}_{gen}: 生成点云集中的一个形状。
      • dist(,)\mathrm{dist}(\cdot, \cdot): 衡量两个形状之间距离的函数(CD或EMD)。
      • δ\delta: 距离阈值。
      • I()\mathbb{I}(\cdot): 指示函数。

5.3. 对比基线

5.3.1. 形状自编码 (Shape Auto-encoding)

  • OccNet [Mescheder et al. 2019]: 第一个使用单个全局潜向量学习神经场的代表性工作。
  • ConvOccNet [Peng et al. 2020]: 基于规则网格潜向量学习局部神经场的方法。
  • IF-Net [Chibane et al. 2020]: 同样基于规则网格潜向量的局部神经场方法。
  • 3DILG [Zhang et al. 2022]: 使用不规则网格潜向量的稀疏神经场表示方法。

5.3.2. 三维形状生成 (3D Shape Generation)

  • PVD [Zhou et al. 2021]: 一种用于生成 3D 点云的扩散模型。
  • 3DILG [Zhang et al. 2022]: 一种利用自回归模型生成 3D 形状(神经场)的方法。
  • NeuralWavelet [Hui et al. 2022]: 将形状(有符号距离场)编码到频域,并在频域系数上训练扩散模型的方法。
  • ShapeFormer [Yan et al. 2022]: 基于 Transformer 的稀疏表示形状补全方法。
  • AutoSDF [Mittal et al. 2022]: 基于自回归的体素形状先验模型。
  • IM-Net [Chen and Zhang 2019]: 基于隐式函数的 GAN,用于形状生成。
  • Grid-8^3: 一种将潜在网格尺寸固定为 838^3 的基线方法,与 AutoSDF 类似。

5.4. 实现细节

  • 形状自编码器 (Shape Auto-encoder):
    • 输入点云大小: 2048。
    • 查询点采样: 每迭代从边界体积 ([1,1]3)([-1, 1]^3) 采样 1024 个查询点,从近表面区域采样另外 1024 个点用于占据值预测。
    • 硬件: 8 块 A100 GPU。
    • 批处理大小 (Batch Size): 512。
    • 训练周期 (Epochs): T=1,600T = 1,600
    • 学习率调度: 学习率先线性增加到 lrmax=5e5lr_{\mathrm{max}} = 5e-5 (前 t0=80t_0 = 80 个 epoch),然后逐渐衰减,使用 lrmax0.51+cos(tt0Tt0)lr_{\mathrm{max}} \cdot 0.5^{1+\cos\left(\frac{t - t_0}{T - t_0}\right)} 直到达到最小值 1e-6
  • 扩散模型 (Diffusion Models):
    • 硬件: 4 块 A100 GPU。
    • 批处理大小 (Batch Size): 256。
    • 训练周期 (Epochs): T=8,000T = 8,000
    • 学习率调度: 学习率先线性增加到 lrmax=1e4lr_{\mathrm{max}} = 1e-4 (前 t0=800t_0 = 800 个 epoch),然后逐渐衰减,使用上述相同的衰减调度直到达到最小值 1e-6
    • 超参数: 使用 EDM [Karras et al. 2022] 的默认超参数设置。
    • 采样步数: 仅需 18 个去噪步骤即可获得最终的潜在集。

6. 实验结果与分析

6.1. 核心结果分析

6.1.1. 形状自编码 (Shape Auto-Encoding)

下表展示了形状自编码的定量结果,其中未包含 KL 块的确定性自编码器。结果比较了论文提出的方法与几种最先进的隐式表面重建方法。

以下是原文 Table 3 的结果:

OccNet ConvOccNet IF-Net 3DILG Ours
Learned Queries Point Queries
IoU ↑ table 0.823 0.847 0.901 0.963 0.965 0.971
car 0.911 0.921 0.952 0.961 0.966 0.969
chair 0.803 0.856 0.927 0.950 0.957 0.964
airplane 0.835 0.881 0.937 0.952 0.962 0.969
sofa 0.894 0.930 0.960 0.975 0.975 0.982
rifle 0.755 0.871 0.914 0.938 0.947 0.960
lamp 0.735 0.859 0.914 0.926 0.931 0.956
mean (selected) 0.822 0.881 0.929 0.952 0.957 0.967
mean (all) 0.825 0.888 0.934 0.953 0.955 0.965
Chamfer ↓ table 0.041 0.036 0.029 0.026 0.026 0.026
car 0.082 0.083 0.067 0.066 0.062 0.062
chair 0.058 0.044 0.031 0.029 0.028 0.027
airplane 0.037 0.028 0.020 0.019 0.018 0.017
sofa 0.051 0.042 0.032 0.030 0.030 0.029
rifle 0.046 0.025 0.018 0.017 0.016 0.014
lamp 0.090 0.050 0.038 0.036 0.035 0.032
mean (selected) 0.058 0.040 0.034 0.032 0.031 0.030
mean (all) 0.072 0.052 0.041 0.040 0.039 0.038
F-Score ↑ table 0.961 0.982 0.998 0.999 0.999 0.999
car 0.830 0.852 0.888 0.892 0.898 0.899
chair 0.890 0.943 0.990 0.992 0.994 0.997
airplane 0.948 0.982 0.994 0.993 0.994 0.995
sofa 0.918 0.967 0.988 0.986 0.986 0.990
rifle 0.922 0.987 0.998 0.997 0.998 0.999
lamp 0.820 0.945 0.970 0.971 0.970 0.975
mean (selected) 0.898 0.951 0.975 0.976 0.977 0.979
mean (all) 0.858 0.933 0.967 0.966 0.966 0.970

分析:

  • 总体性能领先: 3DShape2VecSetIoU (↑)、Chamfer (↓) 和 F-Score (↑) 三项指标上均优于所有基线方法,包括最先进的 3DILG。这表明其提出的形状表示和网络架构在三维形状的高保真重建方面表现出色。
  • 编码策略对比: 论文比较了两种形状编码策略:“可学习查询 (Learned Queries)”和“点查询 (Point Queries)”。结果显示,“点查询”策略在所有类别上都优于“可学习查询”,这验证了使用下采样点云作为查询集的有效性。因此,后续实验均采用“点查询”策略。
  • 细节捕捉能力: 从数值上看,IoUF-Score 的最大可能值是 1,Chamfer 的最小可能值是 0。本文方法在这些指标上更接近理想值,尤其是在 IoUF-Score 上,即便很小的提升也意味着在复杂形状细节上取得了显著进步。可视化结果(图 8)也证实了这一点,即使对于包含薄结构等极具挑战性的形状,本文方法也能表现良好。

3DILG 的主要区别:

  • 编码方式: 3DILG 使用 KNN(K近邻)聚合局部信息,而本文方法使用交叉注意力。交叉注意力能学习相似性,而非手动根据空间距离选择邻居。

  • 表示形式: 3DILG 使用点集和每个点一个潜变量,而本文方法只包含一个潜变量集合,不显式存储空间位置,简化了表示,利于生成模型训练。

  • 解码方式: 3DILG 使用空间插值,本文方法使用特征空间插值(通过可学习的交叉注意力),提供了更大的灵活性。

    以下是形状自编码结果的可视化(表面重建):

    该图像是多组椅子、桌子等家具的三维重建示意图,展示了不同方法(OccNet、ConvONet、IF-Net、3DILG及提出方法)在点云输入(Input)下的重建效果对比,突出提出方法在细节保留和形状准确性上的优势。 该图像是多组椅子、桌子等家具的三维重建示意图,展示了不同方法(OccNet、ConvONet、IF-Net、3DILG及提出方法)在点云输入(Input)下的重建效果对比,突出提出方法在细节保留和形状准确性上的优势。

图 8. 形状自编码结果的可视化(ShapeNet 中点云的表面重建)。

6.1.2. 消融实验:潜变量数量 (MM)

下表展示了不同潜变量数量 MM 对形状自编码性能的影响。

以下是原文 Table 4 的结果:

M = 512 M = 256 M = 128 M = 64
IoU ↑ 0.965 0.956 0.940 0.916
Chamfer ↓ 0.038 0.039 0.043 0.049
F-Score ↑ 0.970 0.965 0.953 0.929

分析:

  • 随着潜变量数量 MM 的增加,IoUF-Score 提高,Chamfer 距离降低,表明重建性能更好。这符合直觉,更多的潜变量可以编码更丰富的形状细节。
  • 在实验中,最终选择了 M=512M=512 作为默认配置,因为它在重建质量和训练时间之间取得了良好的平衡。更大的 MM 虽然可能带来更好的重建,但会显著增加 Transformer 架构的计算成本。

6.1.3. 消融实验:KL 块的通道数 (C0C_0)

下表展示了 KL 块中不同输出通道数 C0C_0 对形状(变分)自编码性能的影响。

以下是原文 Table 5 的结果:

C0 = 1 C0 = 2 C0 = 4 C0 = 8 C0 = 16 C0 = 32 C0 = 64
IoU ↑ 0.727 0.816 0.957 0.960 0.962 0.963 0.964
Chamfer ↓ 0.133 0.087 0.038 0.038 0.038 0.038 0.038
F-Score ↑ 0.703 0.815 0.967 0.967 0.970 0.969 0.970

分析:

  • 随着 C0C_0 值的增加,重建性能(IoUF-Score 提高,Chamfer 距离降低)显著改善,尤其是在 C0C_0 从 1 增加到 4 时。这表明更大的潜在空间维度可以捕获更复杂的形状信息。
  • C0C_0 达到 8 以后,重建结果变得非常接近。这意味着在某个点之后,增加 C0C_0 对重建性能的直接提升有限。
  • 这项结果对模型而言是鼓舞人心的,因为它表明即使 KL 块进行了激进的压缩(较小的 C0C_0),重建性能也不会显著下降。这使得在第二阶段训练扩散模型时,可以在更小的潜在空间上进行,从而降低训练难度。
  • 同时,压缩 KL 块中的 C0C_0 比减少潜变量数量 MM 是一种更有效的压缩方式,因为它对重建性能的影响更小。

6.1.4. 无条件形状生成 (Unconditional Shape Generation)

下表展示了在完整 ShapeNet 数据集上进行无条件形状生成的定量结果,与 Grid83Grid-8^33DILG 进行比较。

以下是原文 Table 6 的结果:

Grid-8³ 3DILG Ours
C0 = 8 C0 = 16 C0 = 32 C0 = 64
Surface-FPD ↓ 4.03 1.89 2.71 1.87 0.76 0.97
Surface-KPD (×10³) ↓ 6.15 2.17 3.48 2.42 0.66 1.11
Rendering-FID ↓ 32.78 24.83 28.25 27.26 17.08 24.24
Rendering-KID (×10³) ↓ 14.12 10.51 14.60 19.37 6.75 11.76

分析:

  • 显著性能提升: 本文方法在所有指标 (Surface-FPDSurface-KPDRendering-FIDRendering-KID) 上均优于 Grid83Grid-8^33DILG,且提升幅度显著。这表明 3DShape2VecSet 结合扩散模型在生成高质量和多样化三维形状方面达到了新的最先进水平。

  • 最佳 C0C_0 选择: 在无条件生成任务中,当 C0=32C_0=32 时取得了最佳结果。这与之前的猜测一致:尽管更大的 C0C_0(如 64)可能在理论上编码更多信息,但它也增加了扩散模型训练的难度,导致生成性能反而下降。选择合适的压缩率 C0C_0 对于生成模型的训练至关重要。

    下表进一步比较了本文方法与点云扩散方法 PVD 的无条件生成性能。

以下是原文 Table 7 的结果:

PVD Ours
Surface-FPD ↓ 2.33 0.63
Surface-KPD (×10³) ↓ 2.65 0.53
Rendering-FID ↓ 270.64 17.08
Rendering-KID (×10³) ↓ 281.54 6.75

分析:

  • 大幅超越点云生成: 3DShape2VecSet 在所有指标上都大幅度超越了点云扩散模型 PVD。尤其是在 Rendering-FIDRendering-KID 上,本文方法的数值远低于 PVD,这表明本文方法生成的形状在视觉上更逼真、多样性更高。

  • 神经场优势: 这一结果也再次强调了神经场表示相较于点云在生成清晰流形表面方面的优势,正如论文在引言中指出的那样。

    以下是无条件生成结果的可视化:

    Fig. 9. Unconditional generation. All models are trained on full ShapeNet. 该图像是示意图,展示了不同方法在无条件3D模型生成任务中的结果对比,包含PVD、Grid-8³、3DLG及作者提出的方法生成的多种3D物体形状,说明了各方法在细节和结构还原上的差异。

图 9. 无条件生成。所有模型均在完整 ShapeNet 上训练。

6.1.5. 类别条件生成 (Category-Conditioned Generation)

下表展示了类别条件生成的结果,并与 3DILGNeuralWavelet 进行比较。

以下是原文 Table 8 的结果:

airplane chair table car sofa
3DILG NW Ours 3DILG NW Ours 3DILG NW Ours 3DILG NW Ours 3DILG NW Ours
Surface-FID 0.71 0.38 0.62 0.96 1.14 0.76 2.10 1.12 1.19 2.93 - 2.04 1.83 - 0.77
Surface-KID (×10³) 0.81 0.53 0.83 1.21 1.50 0.70 3.84 1.55 1.87 7.35 - 3.90 3.36 - 0.70

分析:

  • 性能优异: 本文方法在大多数类别和指标上均表现出最佳性能。例如,在 chairsofa 类别中,Surface-FIDSurface-KID 均显著低于竞争对手。在 airplanetable 等类别中也取得了有竞争力的结果。

  • 联合训练优势: NeuralWavelet 虽然在某些类别(如 airplane)表现出色,但它为每个类别单独训练模型。本文方法在更大的数据集上对所有类别进行联合训练,这在实际应用中更具通用性和扩展性。

    下表进一步展示了类别条件生成的评估指标,包括 Precision & Recall,以及基于点云距离(CD 和 EMD)的 MMD 和 COV。

以下是原文 Table 9 的结果:

chair table
3DILG 3DShapeGen AutoSDF NW Ours 3DILG 3DShapeGen AutoSDF NW Ours
Precision ↑ 0.87 0.56 0.42 0.89 0.86 0.85 0.64 0.64 0.83 0.83
Recall ↑ 0.65 0.45 0.23 0.57 0.86 0.59 0.52 0.69 0.68 0.89
MMD-CD (x10²) ↓ 1.78 2.14 7.27 2.14 1.78 2.85 2.65 2.77 2.68 2.38
MMD-EMD (x10²) ↓ 9.43 10.55 19.57 11.15 9.41 11.02 9.53 9.63 9.60 8.81
COV-CD (x10²) ↑ 31.95 28.01 6.31 29.19 37.48 18.54 23.61 21.55 21.71 25.83
COV-EMD (×10²) ↑ 36.29 36.69 18.34 34.91 45.36 27.73 43.26 29.16 30.74 43.58

分析:

  • Precision 和 Recall: 本文方法在 Recall 指标上表现显著优于所有竞争对手(例如,chair 为 0.86,table 为 0.89),这表明模型能够生成更高百分比的训练数据,即具有更强的多样性。同时,Precision 也保持在高水平,说明生成形状的质量仍然很高。相比之下,3DShapeGenAutoSDF 的 P&R 都较低。

  • MMD 和 COV: 本文方法在 MMD-CDMMD-EMD(越小越好)上取得了具有竞争力的结果,并在 COV-CDCOV-EMD(越大越好)上表现最佳。这进一步证实了本文方法在生成形状的质量和多样性方面均达到了领先水平。

    以下是类别条件生成结果的可视化:

    该图像是多组3D模型的对比实验图,展示了Grid-8³、3DLG、NW和本文提出方法(Ours)在不同物体类别(飞机、椅子、桌子)上的生成效果,体现了所提方法在3D形状表示上的优势。 该图像是多组3D模型的对比实验图,展示了Grid-8³、3DLG、NW和本文提出方法(Ours)在不同物体类别(飞机、椅子、桌子)上的生成效果,体现了所提方法在3D形状表示上的优势。

6.1.6. 文本条件生成 (Text-Conditioned Generation)

本文展示了文本条件生成的结果,这是三维扩散模型领域的新应用。

Fig. 11. Text conditioned generation. For each text prompt, we generate 3 shapes. Our results (Right) are compared with AutoSDF (Left). 该图像是论文中Fig.11的对比示意图,展示基于文本条件生成的3D椅子模型。左侧为AutoSDF生成结果,右侧为本文方法生成结果。每组椅子对应不同文本描述,显示新方法在细节和结构上的改进。

图 11. 文本条件生成。对于每个文本提示,生成 3 个形状。本文结果(右侧)与 AutoSDF(左侧)进行比较。

分析:

  • 可视化结果(图 11)显示,本文方法能够根据文本提示(如“the tallest chair”、“an armchair made of metal”、“a wooden chair with a high back”)生成符合语义描述的三维形状。
  • 这些结果首次展示了扩散模型在文本条件三维形状生成方面的潜力。在提交此工作时,作者声称没有已发表的竞争方法。这突出显示了 3DShape2VecSet 在多模态生成方面的能力。

6.1.7. 概率形状补全 (Probabilistic Shape Completion)

论文将扩散模型扩展到概率形状补全任务,通过部分点云作为条件输入。

Fig. 12. Point cloud conditioned generation. We show three generated results given a partial cloud. The ground-truth point cloud and the partial point cloud used as condition are shown in Left. We co… 该图像是一个示意图,展示了图12中基于部分点云条件的三维形状生成效果。左侧为地面真实点云和部分点云条件,中间为ShapeFormer的生成结果,右侧为本文方法的生成结果,展示了更细致和准确的重建形状。

图 12. 点云条件生成。给定部分点云,展示了三个生成结果。左侧显示了 Ground Truth 点云和作为条件的部分点云。本文结果(右侧)与 ShapeFormer(中间)进行比较。

分析:

  • 可视化结果(图 12)表明,3DShape2VecSet 能够根据不完整的部分点云准确地补全三维形状,并且生成的补全部分与原始形状的风格和结构保持一致。
  • ShapeFormer 相比,本文方法能够预测更准确的补全结果,并且具有实现更多样化生成的能力,这对于处理严重遮挡或多种合理补全方案的情况非常有利。

6.1.8. 图像条件形状生成 (Image-Conditioned Shape Generation)

论文还展示了单视图三维物体重建任务中的图像条件生成结果。

Fig. 13. Image conditioned generation. In the left column we show the condition image. In the middle we show results obtained by the method IM-Net and OccNet. Our generated results are shown on the r… 该图像是论文中图13的插图,展示了基于图像条件的3D形状生成效果。图中左栏为条件图像,中间展示了IM-Net和OccNet方法生成的3D椅子模型,右侧为本文方法生成的结果,显示出更细致和准确的结构细节。

图 13. 图像条件生成。左栏显示条件图像。中间显示了 IM-NetOccNet 方法获得的结果。右侧显示了本文的生成结果。

分析:

  • 可视化结果(图 13)显示,本文方法在单视图图像条件生成任务中表现出优异的性能。
  • OccNetIM-Net 等确定性方法相比,3DShape2VecSet 不仅能够重建出更准确的表面细节(例如,长杆和背部的微小孔洞),还支持多模态预测。多模态预测对于处理严重遮挡的情况尤其重要,因为一个 2D 图像可能对应多种合理的 3D 形状。

6.1.9. 形状新颖性分析 (Shape Novelty Analysis)

为了证明模型不是简单地过拟合训练集,论文进行了形状新颖性分析。

Fig. 14. Shape generation novelty. For a generated shape, we retrieve the top-1 similar shape in the training set. The similarity is measured using Chamfer distance of sampled surface point clouds. I… 该图像是论文中图14的插图,展示了生成形状的新颖性。每对图片展示训练集中与生成形状最相似的参考形状(左)和对应的生成形状(右),相似度通过采样表面点云的Chamfer距离衡量,生成形状来自类别条件生成结果。

图 14. 形状生成新颖性。对于一个生成的形状,检索训练集中最相似的 top-1 形状。相似度通过采样表面点云的 Chamfer 距离衡量。每对图片中,左侧显示检索到的形状,右侧显示生成的形状。生成的形状来自类别条件生成结果。

分析:

  • 可视化结果(图 14)显示,尽管生成的形状与训练集中的某些样本在结构上存在相似性(通过 Chamfer 距离衡量),但它们并非简单复制,而是具有独特的细节和组合,呈现出新颖性。
  • 这表明 3DShape2VecSet 具有合成具有逼真结构的新颖形状的能力,证明了其泛化能力而非仅记忆训练数据。

6.2. 数据呈现 (表格)

所有表格已在上述对应小节中以 HTML 格式转录并分析。

6.3. 消融实验/参数分析

消融实验已在 6.1.2. 消融实验:潜变量数量 (MM)6.1.3. 消融实验:KL 块的通道数 (C0C_0) 两个小节中详细分析。

7. 总结与思考

7.1. 结论总结

本文成功引入了 3DShape2VecSet,这是一种为神经场和生成扩散模型量身定制的新型三维形状表示。它通过将形状编码为一组无序的潜向量,并利用 Transformer 的交叉注意力机制进行可学习的插值,有效地解决了传统神经场表示在细节捕捉、压缩效率和 Transformer 兼容性方面的局限。实验结果表明,3DShape2VecSet 在三维形状编码和生成任务中均达到了最先进的性能,并在多种应用中展示了其强大的能力,包括无条件生成、类别条件生成、文本条件生成、点云补全和图像条件生成。这项工作为三维内容生成领域带来了新的突破,尤其是在利用扩散模型生成高质量、多样化和条件化三维形状方面。

7.2. 局限性与未来工作

论文作者指出的局限性:

  1. 两阶段训练策略: 尽管这种策略带来了生成质量的提升,但训练第一阶段(自编码器)比依赖于手动设计特征(如小波变换 [Hui et al. 2022])更耗时。
  2. 数据依赖性: 如果考虑的形状数据发生变化,第一阶段的自编码器可能需要重新训练。
  3. 扩散模型训练时间: 扩散模型(第二阶段的核心)的训练时间相对较高。

作者提出的未来研究方向:

  1. 表面重建:3DShape2VecSet 的网络架构应用于从扫描点云进行表面重建的问题。
  2. 内容创作: 探索其在生成带有纹理和材质属性的三维形状方面的应用。
  3. 编辑与操纵: 利用预训练的扩散模型,探索基于提示 (prompt-to-prompt) 的形状编辑和操纵任务,借鉴图像扩散模型在这一领域的最新进展。
  4. 训练加速: 致力于加速扩散模型的训练过程,以克服当前的计算成本限制。

7.3. 个人启发与批判

个人启发:

  1. 表示学习的重要性: 这篇论文再次强调了在复杂数据(如 3D 形状)上,设计高效且富有表达力的表示是推动下游任务(如生成)成功的关键。从 RBF 到带显式坐标的潜变量,再到完全解耦坐标的潜向量集合,展示了表示学习如何一步步提升模型能力。
  2. Transformer 的普适性: Transformer 架构及其核心的注意力机制在处理集合数据方面的强大能力得到了充分体现。将 Transformer 引入 3D 隐式表示的插值过程,通过可学习的相似度而非固定空间距离进行特征聚合,是其成功的重要因素。
  3. 潜在扩散模型的潜力: 将扩散模型应用于学习到的潜在空间,而不是直接在原始数据空间操作,可以有效地处理高维和复杂数据。这为 3D 领域的更多生成任务提供了范式。
  4. 多模态生成的拓展: 论文展示了文本、图像、类别、部分点云等多种条件下的生成能力,这为未来 3D 内容创作的自动化和智能化提供了广阔前景。

批判和潜在改进点:

  1. 两阶段训练的局限性: 尽管作者指出了两阶段训练的耗时问题,但更深层次的批判可能是,这种分离可能导致信息瓶颈或次优解。如果第一阶段的自编码器不能完美地捕捉到所有相关信息,那么第二阶段的扩散模型就无法生成最高质量的样本。未来可以探索端到端 (end-to-end) 或更紧密耦合的训练方式,例如将 KL 正则化与生成任务更紧密地集成。

  2. 计算成本和可扩展性: M=512M=512 的潜向量数量和 C=512C=512 的通道数,对于复杂场景或更高分辨率的形状可能仍然不够。Transformer 架构的二次复杂度 (quadratic complexity) 是一个已知瓶颈。虽然作者提到未来的工作将加速训练,但如何在高分辨率、大规模 3D 数据上保持效率仍是一个挑战。可以考虑结合稀疏化 Transformer、分层注意力 (hierarchical attention) 或更高效的注意力变体。

  3. 泛化能力与语义理解: 虽然形状新颖性分析表明模型没有简单过拟合,但对于高度抽象的文本提示,模型能否真正理解并生成高度语义化的形状,仍需更深入的定性与定量分析。例如,在文本条件生成中,“带有高背的木椅”和“带有低背的木椅”之间的细微语义差异,模型能否稳定区分并生成?这涉及到模型对属性组合和关系推理的能力。

  4. 纹理和材质的缺失: 论文主要关注几何形状的生成。在现实世界应用中,纹理和材质信息与几何形状同等重要。虽然作者将其列为未来工作,但如何将这些信息整合到当前的潜在表示和扩散框架中,将是下一个重要的挑战。

  5. 用户控制的粒度: 尽管实现了多种条件生成,但在实际内容创作中,用户往往需要更细粒度的控制,例如修改形状的特定部分、调整局部特征等。目前的潜在表示和扩散过程可能难以直接支持这种局部编辑和交互。

    总体而言,3DShape2VecSet 是一项扎实且具有前瞻性的工作,它为 3D 形状表示和生成领域开辟了新的道路。它的贡献不仅在于提出了一个高性能的模型,更在于提供了一种将神经场与 Transformer 和扩散模型有效结合的范式,为未来的 3D 智能内容创作奠定了基础。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。