
近日,北京大学王选计算机研究所研究团队提出 HCoG,该方法旨在解决 3D 生成中的属性绑定问题,实现复杂属性的 3D 内容生成,是 3D 生成的一大进步,显著提升了模型在 3D 生成中属性绑定的能力。该论文在 CVPR 2025 正式发表。

论文链接:
https://arxiv.org/abs/2505.05505
项目地址:
https://hierarchical-chain-of-generation.github.io
代码链接:
https://github.com/Wakals/GASCOL

研究背景
文本生成 3D 资产的技术在影视、游戏、VR、AR 等领域具有重要的应用价值。
在文本到 3D 生成(Text-to-3D)的研究中,目前主流的方案可分为两大类:一类是基于大量 3D 数据端到端训练的生成模型;另一类则是利用预训练的 2D 扩散模型(Diffusion Model)所具备的强大表征能力,将 2D 先验知识迁移(Lift)到 3D(利用 Score Distillation Sampling 的方法)。
本文将关注第二种方式,其主要优势在于:(1)不依赖大量标注的 3D 数据,每给出一个示例,即可快速获得对应的生成结果;(2)泛化能力优越,2D 扩散模型的预训练数据极为丰富。
由于 3D 生成技术在各个领域广泛的应用,3D 资产生成的精确性也显得尤为重要。然而,当前常用的扩散模型在处理复杂的长文本输入时存在显著不足。
当待生成的物体较为简单时,输入的文本也比较简短,此时模型往往能进行正确的生成;当生成目标包含多个物体或多个具有不同属性的物体部件时,输入的文本相对长而复杂,模型难以精确区分并匹配物体与其对应属性,导致生成结果的混乱。
这是由于 Diffusion Model 使用的 Text encoder 对于长难文本的处理能力较弱,使得 Diffusion Model 面对多物体或者多部件物体生成时,往往不能有效的将正确的属性绑定到对应的部件或物体上。

方法
已有方法在处理长文本生成复杂场景时性能不佳,根本原因在于扩散模型难以同时处理过长的文本输入。
受日常生活中逐层穿衣的启发,我们提出逐步分层生成策略 HCoG,即将复杂文本拆分为简短且易于生成的子任务,逐步实现最终目标。
方法一共分为三个部分:构建分层生成链、局部优化策略、层级扩张。
在分层生成链构建中,根据空间遮挡关系拆分原本复杂的输入文本,得到较为简短的多个文本,以此利于 Diffusion Model 进行正确的指导。
在局部优化策略中,我们首先利用 SAM 分割出特定的部件,然后对这个部件进行单独的优化,使之符合其属性的预期。
在层级扩张中,首先优化出新层级的部件,然后提出了 Label Elimination 来保证原有部件属性继承的稳定性。
在整个过程中,借助 Diffusion Model 进行优化时,采取的损失函数都是 Score Distillation Sampling Loss:

其中, 是预训练的 Diffusion Model, 是从 3D 渲染到 2D 的图片, 是输入到 Diffusion Model 中的文本控制条件, 是加噪时间步, 是 3D 表示的参数, 是加噪高斯噪声。通过这个函数优化 ,从而得到符合文本输入的 3D 物体。
2.1 分层生成链构建
首先,我们需要明确一个合理的生成顺序。例如,若先生成外衣再生成内衣,必然出现”内衣外穿”的错乱。因此,生成顺序必须是由内而外的:最先生成遮挡最严重的内部部件,最后生成遮挡最少的外部部件。
然而,遮挡关系难以通过传统算法直接计算。为解决这一问题,我们借助大语言模型(LLM)强大的语义推理与丰富的常识先验,通过特定的 Prompt 引导,使 LLM 自动构建合理的生成顺序。
具体而言,我们基于被遮挡的程度对所有部件进行分层处理,同一层内部的部件相互之间不存在遮挡关系,而下一层的部件会逐步遮挡上一层的部件。如图所示,通过这种逐层处理,显著降低了模型单次生成所需处理的文本长度与复杂度。

▲ HCoG 方法基于复杂输入文本生成 3D 物体流程图。
2.2 局部优化策略
在确定了逐层生成链条后,每个生成任务的复杂度已经大幅降低。然而实际应用中,扩散模型仍然存在属性错配的问题。为此,我们引入局部优化策略,进一步提高部件属性与物体的对应准确性。
具体实现上,我们利用 Grounding-DINO 和 SAM 的组合:首先通过 Grounding-DINO 处理文本并输出目标部件的定位框;随后借助 SAM 强大的分割能力,获得该目标部件的精确分割掩码 。
我们为第 个 3D Gaussian Kernel 绑定一个可学习的二分类特征 ,在渲染成 2D 图像时,所有 Kernels 的二分类特征 同时渲染成 2D 的二分类特征图(灰度图),以此对齐 SAM 提供的掩码 。
通过目标函数 进行优化,这些二分类特征最终可精确对应到目标部件,实现 3D 部件分割。随后只打开目标部件的 Gaussian Kernels 的梯度,固定其他的 Kernels,进而实现精确属性绑定。
2.3 层级扩张
完成单一层级内部的所有部件生成后,下一个问题便是如何在不破坏已有生成结果的情况下继续添加新的层级。
简单地向原有 3DGS 中增加 Gaussian Kernels 并单独优化新 Kernels 会导致新的 Kernels 不合理地附着在已有部件表面,破坏已有的结构和属性。
为解决此问题,我们提出了 Label Elimination 策略。如图所示:

▲ Label Elimination 方法流程图。
具体步骤为:
1. 将原有的 Gaussian Kernels 标记为黄色星星;
2. 添加额外的 Gaussian Kernels 并将其标记为红色星星,单独优化这些红色星星的 Kernels;
3. 利用 SAM 分割出属于新层级的部件,并将对应的 Gaussian Kernels 标记为蓝色星星;
4. 只保留有黄色星星和蓝色星星的 Kernels,这些 Kernels 是原有的部件或者是我们希望生成的新的部件,而只被标记红色星星的 Kernels 是会影响原有部件属性的那些多余的 Kernels。
通过这种标记与清除机制,成功确保新增的部件不会破坏已有部件,稳定地实现层级扩张。

实验
为了测评 HCoG 方法的效果,我们分别以 GALA3D 和 GaussianDreamer + SD3 在多部件实例集上进行了测评和可视化。
结果显示,HCoG 方法在属性保持度上取得了更好的性能,并且细节方面也保持了较好的效果。
这一优势主要得益于分层生成链的拆分以及对每个部件的局部优化,使得模型每次都能专注某一部分进行生成,不会造成属性的混乱。此外,HCoG 的框架设计与优化方法相独立,可灵活适配不同 backbone。

▲ 多部件实例集的量化结果。HCoG 在 BLIP-VQA 和 CLIP-Score 上都取得了较好的结果。

▲ 多部件实例集的可视化结果。结果显示,HCoG 方法在属性绑定方面性能最佳。
可视化结果显示,我们的方法展现出来更好的属性绑定的性能,例如在第一个实例中,我们的方法成功的让所有的颜色属性都绑定到了对应的部件上,例如“黑色的外套”“粉色的裤子”“黄色的衬衣”等,同时也保持了较好的生成细节和质量,从而实现了复杂输入文本的多部件 3D 内容生成。




更多可视化结果

结论
综上所述,HCoG 通过构建了一个高效的逐步分层生成框架,精确地处理多部件、多属性组合物体的 3D 生成任务,显著提升了复杂物体自动化生成的质量与稳定性。
更多研究细节,可参考原论文。
(文:PaperWeekly)