3D 图形世界——现代视频游戏、大片电影和建筑可视化的支柱——以其复杂性而闻名。创造逼真的场景不仅仅是艺术构想,还需要精通 Blender、Maya 或虚幻引擎等复杂软件的技术。艺术家不仅仅是“画”一把 3D 椅子;他们需要操作几何节点、调整材质着色器、微调光照坐标,并处理物理模拟。

由于这一过程非常耗时且专业,研究人员一直在竞相利用人工智能来实现自动化。我们已经看到能够观察图像并理解其中内容的视觉语言模型 (VLMs) 的兴起。梦想很简单: 告诉 AI,“把灯光调暗,把那张木桌变成玻璃的”,然后让它立即执行任务。

然而,存在一个巨大的障碍。虽然我们有测试 AI 编写代码或回答数学问题的基准,但直到现在,我们还没有一种全面的方法来衡量 AI 作为 3D 图形艺术家的表现。

在这篇文章中,我们将深入探讨 BlenderGym , 这是一篇开创性的研究论文,介绍了首个针对基于 VLM 的 3D 图形编辑的综合基准。我们将探索研究人员如何在 Blender 中测试 AI 智能体,为什么目前的模型在人类新手面前表现挣扎,以及“验证并改进”的方法为何可能是解锁真正自主 3D 创作的关键。

展示 BlenderGym 结构的图表。顶部列出了放置、几何节点、光照、Blend Shape 和材质等任务类别,并附有开始和目标示例。底部显示了从初始脚本到 VLM 系统再到编辑建议的流程。

问题所在: 为什么 3D 编辑对 AI 来说很难

要理解为什么 BlenderGym 是必要的,我们首先需要区分生成编辑。生成式 AI (如 Midjourney) 从零开始创建像素。但在 3D 生产流程中,你很少想要一张平面图像。你需要一个由代码和参数表示的 3D 场景,以便日后修改。

之前自动化此过程的尝试依赖于大型语言模型 (LLMs) 来编写代码,但这些系统通常缺乏“眼睛”。它们无法看到刚刚生成的椅子是否漂浮在离地三英尺的地方。较新的 VLM 通过同时处理代码和视觉信息填补了这一空白。

然而,评估这些模型一直很混乱。研究人员通常依赖:

  1. 样本有限: 仅在少数场景上进行测试。
  2. 人工评估: 昂贵、缓慢且难以扩展。
  3. AI 作为裁判: 让 GPT-4 给自己的作业打分,这会引入巨大的偏差。

BlenderGym 通过将 3D 编辑视为一项 重建任务 来解决这个问题。该基准提供了一个“起始场景”和一个“目标场景”。AI 的工作是编辑起始场景的底层 Python 代码,使生成的渲染结果看起来与目标场景完全一样。这使得无需人工参与即可进行客观、定量的评估。

BlenderGym 基准: 3D 编辑的五大支柱

研究人员构建了 245 对手工制作的场景,涵盖了任何 3D 艺术家必备的五项基本技能。如上图 1 所示,这些任务范围从简单的移动到复杂的程序化生成。

1. 物体放置 (Object Placement)

这测试空间推理能力。VLM 能否感知物体在哪里并将其移动到目标位置?AI 必须计算坐标或使用相对方向 (例如,“将椅子移到桌子右边”) 。

2. 光照调整 (Lighting Adjustment)

光照设定了场景的基调。这项任务涉及操作光源——改变它们的颜色、强度、位置和方向。关键是,AI 有时必须仅根据投射的阴影来推断光源的位置,这是一项需要高级物理理解的任务。

3. 程序化材质编辑 (Procedural Material Editing)

在 Blender 中,材质通常由“节点” (一种以代码表示的可视化编程语言) 定义。AI 必须观察表面 (例如,铺好的道路) 并编辑代码以更改其纹理 (例如,变为土路) ,调整粗糙度、颜色和法线。

4. Blend Shape (混合变形) 操作

这涉及使用预定义的滑块 (Blend Shape) 使物体几何形状变形。常见的例子包括改变角色的面部表情或修改汽车的车身形状。AI 必须将语义标签 (如“微笑”) 与正确的视觉结果匹配起来。

5. 程序化几何编辑 (Procedural Geometry Editing)

这可能是最困难的任务,需要编辑生成 3D 网格本身的代码。AI 可能需要改变程序化植物的高度、甜甜圈的厚度或书籍的堆叠顺序。

方法: 生成器-验证器架构

VLM 究竟是如何执行这些编辑的?研究人员利用了一个基于名为 BlenderAlchemy 流程的多智能体系统。仅仅要求模型“修复场景”是不够的。该过程被分解为生成和验证的结构化循环。

展示 VLM 系统设置的图表。生成器 (Generator) 通过头脑风暴差异并编辑代码来创建编辑建议。验证器 (Verifier) 随后从渲染选项中选择最佳编辑。

如图 2 所示,该系统主要在两个阶段运行:

第一阶段: 生成器 (The Generator)

生成器是创意引擎。它由两个子智能体组成:

  • 头脑风暴者 (Brainstormer) : 它观察起始目标图像并识别视觉差距 (例如,“电视太小了”) 。然后它扫描 Python 脚本以找到相关的代码行 (例如,TV_Size = 1.0) 。
  • 代码编辑器 (Code Editor) : 它接收头脑风暴者的指令并编写实际的 Python 代码来应用修复 (例如,将 TV_Size 更改为 5.0) 。

为了最大化成功的机会,生成器并行生成多个不同的“草稿”或候选编辑。

第二阶段: 验证器 (The Verifier)

这是质量控制步骤。验证器是一个 VLM,它获取生成器草稿的渲染图像,并将它们与目标图像进行比较。它问一个简单的问题: “这些尝试中哪一个看起来最像目标?”

最佳候选者被选中,这成为下一次迭代的新的“起始场景”。这个循环不断重复,逐步完善场景。

人类 vs. 机器: 现实检验

这篇论文最有价值的贡献之一是包含了人类基准。研究人员要求普通 Blender 用户尝试这些任务 (每个任务限制在 8 分钟内) ,并将他们的表现与 GPT-4o、Claude 3.5 Sonnet 和 Gemini 1.5 等最先进的 VLM 进行比较。

结果非常鲜明。 3D 图形编辑对 AI 来说仍然是一个未解决的问题。

VLM 与人类生成输出的比较。第一行显示了光照任务,AI 在颜色准确性方面表现挣扎。第二行显示了 Blend Shape 任务,AI 无法匹配特定的汽车细节。

从上面的对比中可以看出,即使是强大的闭源模型,在人类觉得相对容易的任务上也表现得很吃力。

  • 光照: 在第一行中,目标是粉红色的环境光。虽然人类做得很接近,但像 GPT-4o 和 Gemini 这样的模型却产生了强烈的紫色或蓝色。
  • Blend Shape: 在第二行中,模型未能捕捉到警车所需的特定组合变化 (车灯、保险杠、引擎盖) 。

模型为什么会失败?

论文指出了几种失败模式:

  1. 视觉幻觉: “头脑风暴者”经常虚构不存在的差异,或者未能发现细微的差异。
  2. 代码语法错误: 编写可执行的 Blender Python (BPY) 代码很困难。对于程序化任务,开源模型通常有超过 75% 的时间无法生成任何可工作的代码。
  3. 语义脱节: 模型可能会正确识别“道路需要是黄色的”,但在代码中编辑了错误的变量,反而改变了天空的颜色。

程序化材质编辑的生成器失败示例。图片显示了模型无法生成可执行脚本或产生不存在的代码参数的代码片段。

图 11 突显了编码方面的挣扎。在“材质”任务中,像 Claude 3.5 Sonnet 和 GPT-4o 这样的模型试图改变道路标记,但在语法上出错,插入了不存在的参数或格式化代码错误,导致编辑无效。

为了可视化所有任务的难度,研究人员在下图中提供了指标校准。它显示了数值评分 (如光度损失和 CLIP 分数) 如何对应视觉质量。

指标值的校准,展示了放置、光照、材质和几何任务的起始、目标、人类编辑和各种 VLM 编辑。

洞察: 扩展验证器 (Scaling the Verifier)

虽然基准测试结果表明目前的模型还没准备好取代 3D 艺术家,但论文提供了一条涉及 推理扩展 (Inference Scaling) 的迷人前进道路。

在大型语言模型 (LLMs) 的世界里,我们知道“思考更长时间” (生成更多的 token 或推理步骤) 通常会带来更好的答案。BlenderGym 的作者问道: 这适用于 VLM 图形编辑吗?

他们发现,仅仅要求模型生成更多想法是不够的。瓶颈通常在于验证器。如果系统产生了一个完美的编辑,但验证器无法识别它,该编辑就会被丢弃。

实验: 扩展验证规模

研究人员在验证过程中引入了一个参数 \(k\)。不是要求验证器一次选出获胜者,而是运行验证锦标赛 \(k\) 次 (打乱候选者顺序) 并汇总结果。这有效地给了验证器“更多的时间来思考”。

展示验证器扩展结果的图表。左侧的可视化边界框随着查询次数的增加变得更加准确。右侧图表显示随着验证查询的增加,负 CLIP 分数有所改善 (下降) 。

结果 (图 5) 令人信服。随着验证查询次数的增加,所选编辑明显更接近目标。值得注意的是,开源模型 InternVL2-8B 在允许扩展其验证计算量时,实际上优于未扩展版本的 GPT-4o 和 Claude 3.5 Sonnet。

计算资源的战略分配

这给系统设计者带来了一个关键问题: 如果你有固定的预算 (时间或金钱) ,你是应该把通过花在生成更多想法上,还是花在仔细检查现有的想法上?

论文表明答案取决于你的总预算。

展示计算分配影响的图表。在总查询次数较高时 (图表右侧) ,高验证比率 (紫色线) 产生的损失最低。

观察图 6 中的光度损失图表:

  • 低预算 (< 100 次查询) : 最好优先考虑 生成 。 你需要撒大网才能找到任何像样的解决方案。“生成”线 (较低的验证比率) 在这里表现更好。
  • 高预算 (> 100 次查询) : 最好优先考虑 验证 。 一旦你有足够多的想法池,新想法的边际收益就很低。价值来自于严格筛选绝对最好的那个。紫色线 (验证比率 = 0.73) 从长远来看显然获胜。

这一发现与最近 LLM 中的“系统 2”推理研究一致: AI 性能的显著提升需要从单纯的生成能力转变为“提议-验证-改进”的工作流程。

结论与未来展望

BlenderGym 对生成式 3D 领域起到了现实检验的作用。虽然华丽的演示通常暗示文本到 3D 是一个已解决的问题,但执行精确的、基于代码的编辑的能力——专业工作流程所需的那种——仍然落后于人类能力。

然而,这篇论文提供了清晰的改进路线图。这不仅仅是关于训练更大的模型;而是关于更好的系统。通过不仅将 VLM 视为创作者,而且视为批评家,并通过战略性地将计算资源分配给验证阶段,我们可以显著提高性能。

对于进入该领域的学生和研究人员来说,BlenderGym 提供了一个标准化的游乐场。它将目标从“这看起来很酷吗?”转移到了“这正是我想要的吗?”——如果 AI 要真正成为 3D 艺术家的副驾驶,这是必要的成熟过程。

关键要点

  • BlenderGym 是第一个针对基于代码的 VLM 3D 编辑的综合基准。
  • 人类仍然占主导地位: 目前的 VLM 在处理 3D 属性的细微差别和 BPY 语法方面表现挣扎。
  • 验证是关键: 扩展“批评家” (验证器) 通常比扩展“创作者” (生成器) 更有效。
  • 计算策略: 随着规模扩大,将更多资源分配给验证以获得最佳结果。