Paper Reading · Benchmark Design

BlenderGym 精读
以及 PMG Evaluation Benchmark 应该怎么做

从 BlenderGym 的 benchmark 设计逻辑出发,拆解一篇 benchmark paper 应该证明什么,并给出一套可直接发展成论文的 Procedural Material Generation 评测框架。

BlenderGym · CVPR 2025 Highlight 245 handcrafted scenes 5 graphics editing tasks PMG benchmark blueprint 更新:2026-09-18

先给结论

BlenderGym 最值得借鉴的地方,不是它收集了多少数据,而是它把“graphics editing 能力”变成了一套可以重复测量的实验装置。对你们的 PMG evaluation benchmark 来说,最重要的也不是再造一个材质数据集,而是定义清楚:什么叫一个“好的 procedural material generation system”,以及怎样让不同路线在同一协议下被公平比较。

1
Benchmark 的核心对象

不是模型,而是系统能力

BlenderGym 评测的是能够看图、理解差异、修改 Blender 程序并产生目标场景的完整 VLM system,而不仅是单次模型输出。

2
Benchmark 的关键贡献

统一任务、输入、输出和测量

固定 start 与 goal,固定评价视角,固定自动指标,再加入 human baseline,让不同系统真正可横向比较。

3
对 PMG 的启发

不能只看 render similarity

PMG 的价值还包括 executable、procedural、editable、controllable、compact、tool usable。只测 CLIP 或图像距离会漏掉核心属性。

建议把你们的 benchmark 论文主张写成: 我们不是提出一个新的 PMG generator,而是提出一个统一评测框架,用来测量 PMG system 的外观匹配、程序正确性、图结构质量、可编辑性、程序化特征和 agentic authoring 能力,并证明现有指标无法完整反映专家用户真正关心的质量。

BlenderGym 到底在解决什么问题

论文的出发点非常标准,也是 benchmark paper 可以直接学习的写法。作者认为已有 graphics editing 工作虽然各自展示了效果,但缺少统一 benchmark,因此不同方法难以横向比较。同时,graphics editing 没有类似数学题那样的单一标准答案,完全依赖人工评估代价高,而 AI judge 又存在可靠性和自评偏差问题。

现实问题

3D graphics editing 涵盖材质、光照、几何、布局等不同技能,现有工作常常只在自己的任务和样例上评测。

→

测量问题

没有统一任务集,也没有稳定、可扩展、可量化的评价协议。

→

BlenderGym

把 start scene 到 goal scene 的重建转成统一 code editing task,并在固定结果上计算视觉和 3D 距离。

245 个实例,覆盖 5 类任务

50
Procedural Geometry

形状、尺度、空间分布等程序化几何修改。

40
Lighting

颜色、强度、位置、方向和光源类型。

40
Procedural Material

颜色、纹理、位移和表面图案修改。

75
Blend Shape

连续变量控制的形状和语义属性。

40
Placement

目标物体定位和空间关系理解。

每个 benchmark instance 不是一张图片,而是一套完整状态

组成作用为什么重要
Base Blender file提供统一场景环境避免系统因为资产不同获得不公平优势
Start Python script生成初始状态作为需要被编辑的程序
Goal Python script生成目标状态主要用于 benchmark 构建和参考,不等于要求模型恢复完全相同代码
Start / Goal renders给模型视觉目标把问题转成真实的 visual editing
语言描述描述两状态差异支持不同实验协议和分析
固定评价视角统一 render based evaluation减少视角选择造成的评估偏差
最重要的设计点: 对涉及 3D 的任务,作者至少人工选择 3 个视角。给 VLM 的输入只使用其中 2 个视角,而评价时使用全部视角。这样 benchmark 同时测“从有限观察推断目标状态”和“在未直接展示的评价视角上是否真的重建正确”。

BlenderGym 的 evaluation protocol

Start Scene
script + renders
Brainstormer
找视觉差异
Code Editor
产生脚本修改
Verifier
候选二选一
Render & Metrics
与 Goal 比较

指标不是一套打天下,而是按任务选

TaskMetrics测量对象
Procedural MaterialPL + N-CLIP像素层面的 appearance 差异和高层视觉语义差异
Procedural GeometryCD + PL + N-CLIP3D 几何与视觉结果
LightingPL + N-CLIP颜色、亮度、阴影和整体视觉状态
Object PlacementCD + PL + N-CLIP空间位置和最终视觉结果
Blend ShapeCD + PL + N-CLIP3D 结构和外观变化

N-CLIP 定义为 \(1-\mathrm{CLIPSimilarity}\),这样它与 photometric loss 和 Chamfer distance 一样,数值越低表示越接近目标。

为什么还需要 Human Baseline

作者找了 10 名普通 Blender 用户,让他们完成大约 20% 的 benchmark 实例,每个实例限时 8 分钟,并使用与模型完全相同的自动指标评价。这里 human baseline 有两个作用:证明 benchmark 本身可解,同时告诉读者当前模型离正常 Blender 用户还有多远。

这对 PMG benchmark 很重要: 你们不能只报告“模型 A 比模型 B 的 CLIP 高 0.02”。最好让专业材质艺术家完成同一批 image-to-graph 或 edit tasks,然后用相同自动指标和专家偏好一起构成 human reference。

实验为什么不只是 leaderboard

BlenderGym 的论文价值很大一部分来自“用 benchmark 做分析”。作者不仅跑模型,还把系统拆成 generator 和 verifier,研究失败在哪里,以及 inference compute 应该花在哪里。

代表性结果

SystemBlend Shape PL ↓Geometry PL ↓Lighting PL ↓Material PL ↓
GPT-4o9.1406.7472.4103.653
Claude 3.5 Sonnet12.7910.812.8975.769
Human0.9341.2691.2390.629

表中数值沿用论文的展示尺度,只用于说明人类与模型之间的巨大差距。不同 task 的 PL 数值尺度并不适合直接横向比较。

Generator failure taxonomy

视觉差异识别失败

模型会忽略细微变化,甚至 hallucinate 不存在的差异。

程序不可执行

尤其在 procedural geometry 和 material 上,复杂 node wiring 导致 Python 或 API 调用失败。

看对了,改错了

模型能描述目标变化,却修改了错误变量、错误 node 或无关参数。

Verifier 也会错,而且可以单独 benchmark

论文收集了 7,950 个 pairwise judgments,并用 50 位参与者评价候选图像。即便最佳的 VLM verifier,与 human 的选择一致率仍明显低于 inter-human alignment。这一步很关键,因为它证明 verifier 不是一个理想 oracle。

然后用 benchmark 提出新的科学问题

作者对 verifier 做 inference scaling:固定候选编辑树,多次 shuffle 并重新选择,再从多个 winner 中继续选择最终候选。随着 verification queries 增加,选出的结果更接近目标。随后论文进一步研究 generation 与 verification 的计算预算分配,发现当总计算预算增加时,更高比例的 verification compute 更有效。

Benchmark paper 的加分点就在这里: benchmark 不是论文终点,而是成为一个实验平台,让你能提出此前无法稳定研究的新问题。你们的 PMG benchmark 也应预留这种“research instrument”能力,例如研究 context、agent search、self verification、repair loop、graph retrieval 对 PMG 的作用。

一篇 benchmark paper 到底要怎么写

Benchmark 论文与 method paper 的根本区别是:method paper 主要证明“我的算法更好”,benchmark paper 主要证明“我定义的测量问题重要,而且我设计的测量工具有效、可靠、能产生新的研究洞见”。

1. Measurement Gap
先证明现有论文无法公平比较。最好做一张 related work matrix,列出每篇 PMG 工作的输入、输出表示、数据集、视觉指标、程序正确性、编辑性、人评方式。让 reader 一眼看到现在没有统一协议。
2. Construct Definition
定义你到底要测什么。例如 PMG quality 不是一个单变量,而是 appearance fidelity、executability、procedurality、editability、controllability、efficiency 等多个 construct。
3. Task Taxonomy
让不同任务对应不同能力。Task taxonomy 要能解释“为什么这些任务代表真实工作流”,而不是方便收数据才这样分。
4. Protocol
统一输入、允许的工具、预算、输出格式、渲染设置、随机种子、失败重试次数、评价视角和运行环境。
5. Metric Validity
不仅定义指标,还要证明指标有意义。至少抽取一个人工专家子集,检验自动指标与专家 pairwise preference 的 Spearman 或 Kendall correlation。
6. Human Baseline
证明任务可解,标定 difficulty ceiling,并揭示“模型之间的小差距”相对于“模型与人之间的差距”到底有多大。
7. Baseline Breadth
需要覆盖不同范式,而不是只跑同一种 architecture。例如 retrieval、supervised generation、VLM program synthesis、agentic tool use、optimization based method。
8. Diagnostic Analysis
分析 failure mode、难度分层、OOD、成本、鲁棒性、模型规模、工具调用策略。高质量 benchmark paper 通常都会给社区一个“现在真正卡在哪里”的答案。

写 Introduction 时可以使用的逻辑骨架

P1 Procedural materials are important because ... P2 Recent PMG systems have rapidly diversified ... P3 However, reported numbers are not directly comparable because ... P4 More fundamentally, current evaluation largely measures rendered appearance, while procedural materials are programs whose value also lies in editability, controllability, validity and reusable structure. P5 We therefore introduce PMG-Bench, a unified benchmark ... P6 PMG-Bench contains N tasks, M material families and K evaluation axes ... P7 Using PMG-Bench, we benchmark several representative paradigms and reveal ... P8 Contributions: benchmark, metrics, baselines, diagnostic findings.
一个很强的主张: “Existing PMG evaluation conflates visual matching with procedural material quality.” 也就是说,现在很多工作默认“渲染得像 = procedural material 好”,但这两件事并不等价。这个 measurement gap 很适合成为你们 benchmark 的核心故事。

我们应该怎么做 PMG Evaluation Benchmark

我更建议把它设计成一个 system benchmark,而不是只针对某一种模型输出格式。内部使用统一 canonical material IR,外部允许 Blender、Substance Designer 或自定义程序作为 backend。

第一层:定义 PMG system 的能力空间

A. Visual Reconstruction

从 image reference 生成能够匹配目标 appearance 的程序化材质。

B. Semantic Generation

从 text 或 text + image 条件生成符合语义的材质。

C. Procedural Editing

对已有 graph 做局部、可解释、可保持其他属性的修改。

D. Graph Completion

补全 partial graph,恢复缺失节点、连接或参数。

E. Graph Repair

修复非法连接、缺失输出、不可执行节点或错误参数。

F. Agentic Authoring

从空白工程开始,通过工具调用、渲染反馈和迭代完成目标材质。

第二层:做成 7 个 tracks

Track输入输出核心能力
T0 Static CorrectnessPrompt / graph contextMaterial graph语法、节点类型、连接、输出完整性、可执行性
T1 Parameter Editing现有 graph + edit request修改 graph固定 topology 下找对参数并正确修改
T2 Graph Repair / Completion被破坏或截断的 graph修复 graph程序理解和结构恢复
T3 Image → Graphreference image完整 graph逆向程序化材质建模
T4 Text → Graphtext prompt完整 graph语义条件生成与多样性
T5 Image + Edit Instructionreference + instruction修改后 graph可控编辑和属性保持
T6 Agentic Authoring目标 + tool environment最终工程 + trace规划、tool use、iteration、verification、cost

第三层:Difficulty 不要只按 node count

建议 difficulty 同时基于 5 个因素标注:

Graph Complexity

node 数、graph depth、branching factor、长距离依赖。

Visual Decomposition

是否需要把材质拆成 macro structure、meso pattern、micro detail。

Parameter Entanglement

一个视觉属性是否由多个节点和参数共同控制。

Topology Change

只调参数,还是需要插入、删除、重连节点。

Domain Shift

合成 reference、程序化 render、Substance render、真实照片。

Interaction Length

一次生成即可完成,还是需要多轮 render feedback。

Split 的关键: 千万不要把同一个 base graph 的不同 parameter variations 随机分到 train 和 test。这样会严重泄漏 topology。正确方式是按 graph family / source asset / tutorial lineage / semantic category 做 group split,并设置 hidden OOD test。

PMG benchmark 最关键的是指标体系

建议不要把所有东西压成一个总分。首先公布多维 score vector。若 leaderboard 需要总分,可以在满足可执行性硬门槛之后再给 normalized composite。

建议的 8 个评价轴

1. Executability
ExecRate:图能否成功加载、编译并生成规定输出。对 agent 任务还记录 crash、timeout、invalid action。这个指标应该是硬门槛。
2. Appearance Fidelity
在统一 light rig、camera、UV 和 geometry 上渲染,计算 perceptual distance、DINO/CLIP feature similarity、LPIPS、SWD,必要时加 SVBRDF map level error。不要只在一个 sphere render 上测。
3. Semantic Alignment
对 text prompt 使用 image-text embedding 或经过校准的 VLM judge。它只能作为一个轴,不应该替代程序层评价。
4. Structural Quality
node type validity、edge validity、dead node ratio、graph depth、cycle violations、output completeness、unsupported operators。若有 reference graph,可报告 graph edit distance,但不要把 exact graph matching 当主指标,因为同一 appearance 存在多种合法程序。
5. Procedurality
测试 resolution independence、tileability、seed variation、scale response、parameter variation。真正的 procedural graph 应该能产生合理的变体,而不是只拟合一张 bitmap。
6. Editability
给定“把砖块变窄 20%”“只提高 roughness”“把主色改成暖灰”等标准化编辑请求,测 edit success 与 non-target preservation。这个指标直接对应艺术家是否能继续使用生成结果。
7. Compactness & Efficiency
node count、active node ratio、render latency、compile time、memory、generation time、API cost、agent tool calls。避免一个系统通过堆积大量无效节点获得表面相似。
8. Human Usability
由材质艺术家评价“愿不愿意继续编辑”“需要多少修复”“节点命名和分组是否清楚”“是否符合专业 workflow”。对其中一部分样本做 expert pairwise evaluation。

我最建议加入的新指标:Functional Equivalence under Intervention

Exact graph similarity 对 PMG 不公平,因为两个完全不同的 graph 可以得到相似外观。更合理的方法是测试“这个程序在被控制时,行为是否正确”。

给每个 benchmark case 定义一组语义干预 \(a \in \mathcal{A}\),例如 pattern scale、roughness、color、density、seed。分别作用到 reference graph 和 generated graph,然后比较干预后的输出:

\[ D_{\mathrm{func}}(\hat G,G) = \mathbb{E}_{a\sim \mathcal{A}} \left[ d\left( R(\hat G,a), R(G,a) \right) \right] \]

这里 \(R\) 是统一 renderer,\(d\) 可以是 perceptual distance 或 map-level distance。它测到的不是“代码像不像”,而是“程序行为像不像”。这会比 graph edit distance 更接近 procedural material 的本质。

这可能成为你们 benchmark 的核心创新点: 从 appearance matching 转向 behavioral evaluation of procedural programs。也就是说,一个材质 graph 不只要在默认参数下看起来像,还要在系统化干预下表现出正确、可控、稳定的程序行为。

编辑任务可以定义成两个分数

指标定义目标
Edit Success目标属性变化是否达到指定方向和幅度越高越好
Non-target Preservation未要求修改的 appearance / maps / graph region 是否保持越高越好

这样可以区分“把目标改对了,但整个材质也毁了”和“做了精准局部编辑”这两类系统。

如果现在就开始做,我建议的实验路线

先做 benchmark specification,而不是先收几千张图。
先冻结 task taxonomy、canonical IR、renderer、评价协议、基础 metrics。
做一个 100 到 200 个实例的 pilot。
覆盖 8 到 12 类 material families,例如 wood、stone、brick、fabric、metal、paint、tile、organic、ground、abstract pattern。
每个 family 设计 parameter edits 与 topology edits。
确保 benchmark 同时包含 tune 和 structural change,而不是只调数值。
建立 hidden test harness。
模型只提交 graph 或 agent,服务器负责统一执行、渲染和评分,避免 test graph 被直接看到。
跑 4 类 baseline。
Retrieval baseline、现有 PMG model、通用 VLM program synthesis、agentic graph authoring。
做 expert calibration。
选 50 到 100 个 case,请 5 到 10 位有 Blender 或 Substance 经验的用户做 pairwise preference 和修复时间评估。
验证 metric validity。
报告每个自动指标与 expert preference 的相关性,并证明单独 CLIP 或 LPIPS 不能完整代表专业质量。
最后再扩数据规模。
当 metric 和 protocol 已稳定,再把 benchmark 扩到 500 到 1000 个 test cases,比一开始盲目扩数据更有效。

Baseline 组合建议

范式建议 baseline目的
RetrievalCLIP / DINO nearest graph retrieval证明纯检索在视觉匹配上的强度
Classical PMGConditional MatFormer family, optimization based methods覆盖传统 graph generation 路线
VLM Program SynthesisVLMaterial style model, MultiMat style model覆盖 image-to-program 与 multimodal graph synthesis
General Foundation Model强通用 VLM zero/few-shot测通用模型是否已具备零样本 authoring 能力
Agentic SystemVLM + Substance/Blender tool loop测规划、渲染反馈、修复与长期执行

你们现在的 Context Optimization 方向可以直接嵌入 benchmark

实验 A:Context Representation

Raw reference image vs structured visual context vs expert decomposition。比较 Image → Graph、Edit Success、tool calls 和 convergence speed。

实验 B:Agent Search

One-shot generation vs render-feedback loop vs verifier-guided search。使用相同 token / tool call budget 公平比较。

实验 C:Intermediate Representation

直接 graph code vs semantic material plan vs layered decomposition vs node-level plan。测最终质量与错误传播。

实验 D:Verification

无 verifier、VLM verifier、metric verifier、hybrid verifier。研究 verification compute 对 PMG 的 scaling law。

这会让 benchmark 和你们未来的方法论文互相支撑: 第一篇可以主打 PMG evaluation benchmark。之后的 Context Optimization + Agent 工作直接在同一 benchmark 上验证,不需要每篇论文重新发明一套自定义评价。

一版可以直接写论文的方法章节结构

1. Introduction

PMG 的实际价值、现有方法快速发展、评价碎片化、render-only evaluation 的根本缺陷、提出 PMG-Bench。

2. Related Work

Procedural material synthesis、inverse material modeling、VLM program synthesis、graphics benchmarks、code and agent benchmarks。建议加入一张 evaluation protocol comparison table。

3. What Should a PMG Benchmark Measure?

先定义 construct:Appearance、Validity、Structure、Procedurality、Editability、Controllability、Efficiency、Human usability。这个 section 会让论文比“dataset description”更有理论完整性。

4. PMG-Bench Construction

Material taxonomy、graph sources、canonical IR、case generation、difficulty annotation、train/dev/test split、OOD split、license 和 decontamination。

5. Evaluation Protocol

Tool environment、render setup、multi-view / multi-light evaluation、time budget、retry policy、agent interaction API、hidden evaluation。

6. Metrics

ExecRate、appearance metrics、semantic metrics、graph diagnostics、functional intervention score、edit success、preservation、efficiency、human study。

7. Benchmarking Existing Systems

不同范式 baseline,加统一预算和统一运行环境。

8. Benchmark Validation

Human correlation、metric sensitivity、view robustness、seed robustness、inter-rater agreement、failure analysis。

9. Diagnostic Studies

按 difficulty、material family、OOD、graph size、topology edit、agent budget 分析。可以加入 context / verifier scaling case study。

10. Limitations

材质空间覆盖、renderer bias、proprietary node support、真实照片 illumination ambiguity、expert study scale、benchmark contamination。

建议的主结果表

MethodExec ↑Appearance ↑Semantic ↑Func. Eq. ↑Edit ↑Preserve ↑Nodes ↓Cost ↓
Retrieval……………………
Conditional PMG……………………
VLM Program Synthesis……………………
Agentic PMG……………………
Human Artist……………………

建议的 Ablation 表

ContextAgent SearchVerifierExec ↑Appearance ↑Edit ↑Tool Calls ↓
Raw imageNoNo…………
Structured contextNoNo…………
Structured contextYesNo…………
Structured contextYesYes…………

我认为最值得优先验证的论文假设

H1: Render similarity alone is insufficient to predict expert preference for procedural material graphs.
H2: Functional intervention tests correlate with expert judgments of editability and professional usefulness better than graph edit distance.
H3: Structured visual context improves PMG most strongly on topology-changing and high-entanglement tasks, rather than simple parameter tuning.
H4: Agentic verification improves final material quality only after generator competence passes a minimum threshold, similar to BlenderGym 中 generation 和 verification 的计算分配问题。

References

  1. Gu, Y. et al. BlenderGym: Benchmarking Foundational Model Systems for Graphics Editing. CVPR 2025. arXiv · Project.
  2. Li, B. et al. VLMaterial: Procedural Material Generation with Large Vision-Language Models. ICLR 2025. arXiv.
  3. Hu, Y. et al. Generating Procedural Materials from Text or Image Prompts. SIGGRAPH 2023. arXiv.
  4. Li, B. et al. Procedural Material Generation with Reinforcement Learning. SIGGRAPH Asia 2024. Project.
  5. Guerrero, P. et al. MatFormer: A Generative Model for Procedural Materials. SIGGRAPH 2022. Project.
  6. Shi, L. et al. MATch: Differentiable Material Graphs for Procedural Material Capture. SIGGRAPH Asia 2020. Project.
  7. Belouadi, J. et al. MultiMat: Multimodal Program Synthesis for Procedural Materials using Large Multimodal Models. ICLR 2026. ICLR.
  8. Gupta, K. et al. Material Apprentice: Reflecting Process Expertise in Procedural Material Generation. ECCV 2026. Project.

说明:本文把 BlenderGym 的主文、supplementary 和项目页作为主要事实来源。PMG-Bench 部分是基于现有 PMG evaluation 现状提出的研究设计建议,不是 BlenderGym 原文内容。