生成式 AI 领域的发展速度惊人。我们从模糊的 2D 图像起步,迈向了高保真的照片级写实,现在已经抵达了通过简单文本提示生成 3D 资产的前沿。像 DreamFusion 和各种网格生成器这样的工具,可以在几秒钟内创造出“一只穿着侦探服的比格犬”。

但这里有一个问题。

目前大多数方法生成的都是所谓的“非结构化”资产。比格犬、侦探帽和放大镜都融合在了一个单一、连续的网格或辐射场中。对于游戏开发者或动画师来说,这是一个问题。你无法简单地把帽子从狗头上取下来,也不能独立地为腿部制作动画,因为模型不知道腿在哪里结束、身体从哪里开始。在专业工作流程中,结构与外观同等重要。

PartGen 应运而生,这是牛津大学和 Meta AI 研究人员提出的一个新框架。PartGen 超越了生成“雕像”的范畴,开始生成“可动人偶”——即由独特、有意义且可分离的部件组成的物体。

PartGen 展示了部件感知的 3D 生成,显示了比格犬、熊猫和其他物体被分解为可编辑的组件。

如上图所示,PartGen 可以接受文本提示、图像,甚至现有的原始 3D 扫描,并将其分解为语义组件——比如将皇冠从熊猫头上分离,或者将轮子从玩具鸭身上拆下。

在这篇深度文章中,我们将探讨 PartGen 如何利用多视图扩散模型来解决两个巨大的挑战: 识别部件的起止位置,以及——至关重要的是——幻构出那些在视野中被遮挡的部件几何形状。

“融合”几何体的问题

要理解为什么需要 PartGen,我们必须审视标准 3D 重建的局限性。大多数文本生成 3D 的流程分两个阶段进行:

  1. 多视图生成: 扩散模型从不同角度 (例如前、后、左、右) 生成物体的图像。
  2. 重建: 神经网络 (如大型重建模型 LRM) 获取这些图像并在数学上将其投影为 3D 形状。

这个过程本质上是表面的——它只关心可见的表面 (“外壳”) 。如果一个角色背着背包,背包下面的角色背部在生成的几何体中根本不存在。如果你把背包分割并移除,角色的背上就会留下一个巨大的空洞。

PartGen 提出的流程不仅能切割网格,还能理解物体的内部结构并重新生成缺失的部分。

PartGen 流程

研究人员通过利用多视图扩散模型 (Multi-View Diffusion Models) 的力量来解决这个问题。这些生成模型不仅训练用于生成单张图像,还能生成代表物体多个角度的一致图像网格。

PartGen 将这些模型重新用于两个特定任务: 分割 (Segmentation)补全 (Completion)

PartGen 流程概览,展示了从网格视图生成到分割、补全以及最终重建的流程。

如图 2 所示,该架构遵循一个清晰的序列:

  1. 网格视图生成: 生成物体的初始多视图图像。
  2. 多视图分割: 在所有视图中一致地识别部件。
  3. 部件补全: 对每个部件进行修复 (Inpaint) 并“幻构”其隐藏的几何形状。
  4. 重建: 将补全后的部件提升为 3D 模型。

让我们详细分解这两个核心创新: 分割策略和上下文感知补全。

1. 将多视图分割作为生成任务

计算机视觉中的传统分割通常被视为分类问题: “这个像素是汽车的一部分还是道路的一部分?”然而,分解 3D 物体具有歧义性。艺术家是将“鞋子”视为一个部件,还是将“鞋底”、“鞋带”和“鞋舌”视为独立的部件?这里没有唯一的“金标准”。

为了处理这种歧义,PartGen 将分割视为一个生成式着色问题

研究人员微调了一个多视图图像生成器,使其输出颜色编码的分割图,而不是 RGB 图像。因为该模型是生成式的且具有随机性 (stochastic) ,它可以采样出不同的合理分割方案。如果你运行一次,它可能会将坦克分割为“炮塔”和“车身”。再运行一次,它可能会将“履带”也从“车身”中分离出来。这捕捉到了人类艺术意图的多样性。

分割结果对比,展示了 PartGen 如何捕捉到比 SAM2 变体更清晰、更具语义的部件。

如上面的对比所示,与像 SAM (Segment Anything Model) 这样的标准 2D 分割模型相比,这种方法对于 3D 物体产生了明显更清晰的结果。虽然 SAM 在识别单张图像的边缘方面表现出色,但它往往难以在同一物体的多个视图之间保持一致性。PartGen 的模型是在多视图艺术家数据上显式训练的,它理解前视图中的“头”对应于侧视图中的“头”。

2. 上下文部件补全: 填补空白

这可以说是该论文在技术上最令人印象深刻的贡献。一旦一个部件 (例如椅腿或角色的衬衫) 被分割出来,它通常会被其他部件部分遮挡。

如果我们简单地将分割后的视图输入到 3D 重建模型中,模型将无法创建一个水密网格 (watertight mesh) ,因为它缺乏关于隐藏表面的信息。PartGen 通过训练一个多视图部件补全网络 (Multi-View Part Completion Network) 来解决这个问题。

该网络接收三个输入:

  1. 被掩膜的部件: 其他所有部分都被涂黑的部件图像。
  2. 掩膜 (Mask) : 部件的二值形状。
  3. 上下文 (完整物体) : 整个物体的原始图像。

“上下文”至关重要。想象一下你在重建汽车上部分可见的轮子。如果模型只看到轮子的一小部分,它可能会重建出一个通用的圆柱体。但如果它看到了整辆车 (上下文) ,它就知道这辆车的风格、纹理和比例,并能生成符合该车辆特定美学风格的轮子。

部件补全的定性结果,展示了模型如何从部分遮挡的视图中重建完整的球体、建筑物和植物。

图 5 展示了这种能力。看第一行 (绿色球体) 。输入被严重遮挡——基本上只是球体的一个切片。模型成功地“幻构”了球体的其余部分,使其成为一个完整的圆形物体。在最后一行,它重建了坦克炮塔被隐藏的一侧。这就是将表面级扫描转化为功能性 3D 资产的关键所在。

训练数据: 向艺术家学习

为了训练这些模型,你不能依赖标准的照片数据集。模型需要理解人类是如何构建 3D 物体的。研究人员利用了一个包含大约 140,000 个艺术家创作的 3D 资产的数据集。

三个分解为部件的 3D 物体示例: 雪人、杯子和头盔。

这些资产 (图 3) 是“自然”分解的。3D 艺术家在构建雪人时,自然会将帽子网格放置在头部网格之上。通过将这些独立的网格渲染成多视图图像和分割图,研究人员为 PartGen 创造了一个丰富的训练场,使其能够学习物体分解的“语法”。

实验结果

研究人员将 PartGen 与几个基线进行了评估,主要关注它分割物体的效果以及它重建隐藏几何形状的准确性。

分割性能

在分割任务中,PartGen 与 SAM2 及其微调变体进行了比较。使用的指标是平均精度均值 (mAP) , 它衡量预测的部件与地面实况 (ground-truth) 艺术家分解的对齐程度。

结果令人信服。由于 PartGen 将分割视为多视图一致的生成任务,它在很大程度上优于基于 SAM2 的方法。

召回率曲线表明,与 SAM2 和其他方法相比,PartGen 在各种 IoU 阈值下实现了更高的召回率。

上面的召回率曲线 (图 9) 清楚地显示,与基线相比,PartGen (顶部线条) 检索到了更高比例的正确部件。

补全准确性

对于部件补全,挑战更难量化——你如何衡量“幻构”的质量?研究人员使用 CLIP 分数 (语义相似度) 和 LPIPS (感知相似度) 等指标,将重建的部件与地面实况隐藏几何体进行了比较。

展示部件补全结果的表格。PartGen 优于缺乏上下文或多视图一致性的基线方法。

表 2 强调了上下文为王。包含完整物体上下文的模型版本 (第二行) 明显优于没有上下文的版本。这证明网络不仅仅是在记忆形状;它正在积极利用周围的视觉信息来推断隐藏的几何形状应该是什么样子。

应用: 编辑与分解

PartGen 的效用不仅仅在于生成资产。它为编辑开启了新的工作流程。

部件感知生成

PartGen 可以处理文本生成 3D 和图像生成 3D 的任务,同时保持部件的独立性。这使得生成具有完整内部部件的复杂模型成为可能,例如一个“汉堡”,其中的肉饼和生菜是面包内部完整的网格,而不仅仅是表面纹理。

PartGen 的文本生成 3D、图像生成 3D 和分解功能的示例。

3D 部件编辑

对于创作者来说,最令人兴奋的应用可能是 3D 部件编辑 。 因为物体在结构上已被分解,用户可以针对特定部件并使用文本提示仅修改该组件。

编辑 3D 部件的示例: 将空手道服换成夏威夷衬衫,或给角色戴上牛仔帽。

如图 7 所示,你可以把一个穿着空手道制服的角色,将其上衣换成“夏威夷衬衫”,或者将一个标准的咖啡杯变成“带方底的粉色杯子”。这是通过微调补全网络来实现的,使其接受文本指令和掩膜,实际上是在告诉模型: “保留物体的其余部分,但重新生成这个被掩盖的区域,使其看起来像一顶牛仔帽。”

使用掩码和文本指令进行 3D 部件编辑和描述的详细流程。

这一机制 (图 8) 涉及遮盖目标部件,并以剩余的上下文加上描述新所需部件的文本提示作为条件,来引导扩散模型。

结论

PartGen 代表了让生成式 3D 在实际生产流程中发挥作用的重要一步。通过从单体融合网格转向结构化、基于部件的表示,它架起了 AI 生成与人类设计工作流程之间的桥梁。

这里的核心启示是扩散模型的多功能性。我们通常认为它们只是简单的图像生成器,但 PartGen 证明了它们也是出色的引擎,用于:

  1. 歧义决策: 决定如何分割物体。
  2. 空间推理: 确保 4 个不同摄像机角度的一致性。
  3. 语义修复: 基于上下文幻构隐藏的几何形状。

虽然存在局限性——由于多个扩散步骤,该系统计算量大,且依赖于底层 3D 重建模型的质量——但 PartGen 为未来铺平了道路,让我们能够通过仅仅一句话,生成完全绑定、可编辑和关节可动的 3D 角色。