从参考图像逆向生成
可解释材质节点图
这篇论文把每个 Substance 风格节点看成一个待求逆的图像算子:先用分类器识别节点类型,再用节点专属的 SDXL adapter 预测图像输入,最后用 DiffMat v2 优化数值参数。系统沿输出到生成器的方向逐节点展开,得到可编辑的树状材质图。
把黑盒整图生成拆成可追踪的节点逆问题
现有 inverse procedural material 方法分为从数据库中选择固定图再优化参数,以及动态生成新图两类。固定图方法受数据库覆盖限制;Transformer 图生成方法能产生新结构,却通常按照 token 排列概率一次生成图,缺少“当前中间图像为什么对应这个节点”的可解释证据。作者提出逐节点逆推:每一步明确节点类别、预测的输入图像和随后优化的参数,用户可以看到并编辑中间结果。
输入
参考材质照片先经 inverse rendering 分解为 albedo、roughness、normal 等 SVBRDF map;每个 map 独立生成程序图。
输出
由节点类型、边、图像输入和 primitive 参数构成的 Adobe Substance 3D Designer 风格 DAG;现实现产生树状拓扑。
优化目标
节点执行结果应在感知纹理、频率结构和像素指标上接近参考中间图;最终 graph 保持参数可编辑。
论文明确使用反向节点顺序,建立 78 类、618,862 张节点级图像数据;训练 42 类、552,706 张图像的 adapter 数据。原摘要写 618,872,正文 §4.1 写 618,862,存在 10 张差异,本页保留正文实验数字并标出矛盾。
预处理训练与两阶段采样

论文称反向顺序能降低早期误差向后传播:从 generator 向输出预测时,中间节点错误会污染所有后继;从最终输出反推时,每步都有当前参考图约束。这个理由具有工程直觉,论文没有提供同训练预算的顺序定量消融。
特殊节点处理
shape、perlin noise 等无图像输入的 generator 直接优化参数;invert、Cartesian-to-polar 等自带逆函数的节点无需 adapter;blend-with-mask 只预测 mask,再用 SD 图像修复分别补全前景和背景;albedo 的 RGB 颜色用 DiffMat v2 dynamic gradient node 表示。系统以规则分支覆盖这些节点,自动化程度依赖节点类型。
节点逆函数与三阶段参数优化
一个程序节点写作 \(y=H(x,R)\):\(H\) 是已知节点操作,\(x\) 是一个或多个图像输入,\(R\) 是整数、浮点和枚举等 primitive 参数,\(y\) 是节点输出图。目标是求:
分类器首先由 \(y\) 估计 \(H\);节点专属 diffusion adapter 估计 \(x\);DiffMat 求 \(R\)。论文使用 texture descriptor \(T\) 比较 VGG19 特征的 Gram matrix:
\(R_{\theta}\) 是可微连续参数,第一阶段用 Adam 优化。第二阶段对不可微连续参数 \(R_{\phi}\) 和离散参数 \(R_{\delta}\) 进行线性网格搜索,并加入 FFT 频率项:
\(F\) 是二维 FFT,帮助匹配周期结构和高频纹理。离散参数改变后,第三阶段再次执行第一式,细调可微参数。每个节点都局部使用预测中间图为参考,避免只用最终材质图对整条程序同时优化造成累积误差。
Adapter 的条件表示
论文以 SDXL-base-1.0 为底座,冻结主模型并为每个节点类型训练 adapter。参考输出图同时进入图像编码器和 T2I-Adapter;图像编码特征经过线性层与三层 Transformer Decoder,作为 SDXL cross-attention 的条件。作者没有公布统一的概率公式、噪声 schedule、loss 细节、adapter rank 或每类训练步数,因此无法从正文完整重现扩散训练目标。

节点级数据集如何构建
| 项目 | 论文设置 | 复现边界 |
|---|---|---|
| 原始可微节点 | 从 DiffMat v2 选择 45 类,再按功能参数拆成 78 类 | 类别拆分和过滤含人工 prior knowledge。 |
| 分类数据 | 618,862 张图像,附节点类型和参数 JSON | 摘要为 618,872;正文数字不一致。 |
| 分类器 | SwinV2-base-window12to24-192to384;2×RTX 4090;batch 8;AdamW;学习率 \(10^{-4}\);cosine warmup;10 epochs;Focal Loss \(\gamma=2\) | 未披露 train/validation/test 划分、warmup 长度、weight decay。 |
| adapter 数据 | 42 类,552,706 张;多输入节点按端口训练 adapter | 排除无图像输入和有解析逆函数的类别。 |
| adapter 训练 | SDXL-base-1.0;3×RTX 4090;batch 8;AdamW;学习率 \(10^{-4}\);cosine warmup;最多 100 epochs | 各 adapter 按学习表现提前截断,未披露逐类 epoch 与随机种子。 |
| 参数优化 | 可微参数 Adam,学习率 \(5\times10^{-4}\);不可微参数 linear grid search;hybrid process 8 iterations | 未报告单材质运行时间、网格候选密度和显存。 |
数据筛选删除参数为零导致输入输出一致的样本,也依据编辑逻辑排除视觉相似但语义不同的节点结果;低频输入端口不再生成;blend 的 add、multiply 等功能拆成独立类别。这提高分类可辨识性,也把人工知识编码进数据分布。遇到训练未覆盖的节点特征时,系统容易在 Stage I 产生错误。
正文与摘要明确称作者构建节点级数据集;官方仓库 README 还提供 Baidu 数据下载链接。出版社页面和论文末尾却写 “No datasets were generated or analyzed”。这些陈述互相冲突,本页不替作者消解矛盾。
唯一量化主表与证据范围
论文 Table 1 比较去掉逐节点优化与完整方法。以下完整保留四类 map 与三个指标。原表脚注称粗体代表更好值,但正文提取并未显示具体粗体位置。
| 输出 | w/o per-node optimization | Our method | ||||
|---|---|---|---|---|---|---|
| SSIM ↑ | PSNR ↑ | LPIPS ↓ | SSIM ↑ | PSNR ↑ | LPIPS ↓ | |
| Albedo | 0.28 | 29.00 | 0.26 | 0.45 | 30.01 | 0.40 |
| Roughness | 0.44 | 30.41 | 0.28 | 0.56 | 31.40 | 0.35 |
| Normal | 0.20 | 29.29 | 0.26 | 0.42 | 30.73 | 0.17 |
| PBR | 0.17 | 28.20 | 0.36 | 0.22 | 28.82 | 0.26 |
逐节点优化让四类 SSIM、PSNR 全部提高;Normal 与 PBR 的 LPIPS 降低。Albedo 的 LPIPS 从 0.26 变为 0.40,Roughness 从 0.28 变为 0.35,方向更差。论文把完整方法概括为整体提升,但该表不能支持所有指标一致改善。它也没有给样本数、误差条或显著性检验。

Figure 4
mask 节点只预测遮罩,再使用 SD inpainting 补全前景和背景。属于特殊规则分支。
Figure 6
与 Hu et al. 的定性比较,展示未见图案和非 Gaussian noise 条件下的泛化;没有统一数值表。
Figure 7–8
节点参数编辑示例及失败案例。失败通常源于 Stage I 中间节点错误,Stage II 不能完全修复。
Fidelity 与 editability
随机数 generator 使优化难以达到逐像素重建,即便节点类别正确也只能保持风格相似。这是程序可编辑性与图像拟合的实质取舍。论文没有报告用户研究、与 MatFormer / MaterialGAN / VLMaterial 的同协议量化比较、速度或图规模统计。
仓库公开了入口,完整复现仍有缺口
| 项目 | 论文描述 | 官方仓库现状 |
|---|---|---|
| 数据 | 节点图像与参数 JSON | README 提供 Baidu 链接;与论文 Data availability 声明冲突。 |
| Stage I | SwinV2 分类器 + 每类 SDXL adapter | README 要求另行下载 adapter 与 ViT checkpoint,运行 experiment/sampler.py。 |
| Stage II | DiffMat v2 hybrid optimization | 单独运行 diffmat_1/test/test_hybrid_optimizer.py;两个阶段没有统一的一键流程。 |
| 最终资产 | 节点和参数可用于 Substance Designer | README 表述为后续可使用,没有展示自动导出完整 SBS/SBSAR 的稳定接口。 |
| 依赖 | DiffMat v2、SDXL、T2I-Adapter | 仓库包含本地 diffusers / diffmat 副本和环境文件,版本关系需要按固定提交核查。 |
Implementation Finding 仓库说明聚焦 inference 入口和权重路径,论文中的 78 类数据构造、人工筛选规则、逐类训练停止条件与完整 graph assembly 尚未形成可重跑的公开流水线。论文所称 DAG 实际受限为树:系统无法把边连接到其他分支已经生成的节点,也不处理 exposed parameters。
这项工作真正推进了什么
Strengths
节点逆问题定义清楚;中间参考图为每一步提供语义解释;扩散预测图像输入与可微程序优化数值参数的职责划分合理;输出可直接编辑。
Weaknesses
每类节点一个 adapter,空间和维护成本随节点数线性增长;人工类别拆分与过滤影响泛化;输出局限于树;主实验只有一张量化表。
Reproducibility
数据数量自身不一致;出版社 Data availability 与仓库冲突;缺少划分、逐类训练预算、完整组图程序、运行时间和 checkpoint 版本。
Author Claim:逐节点生成带来更高可解释性和泛化能力。节点语义和中间图确实让过程可检查;泛化优势主要由定性图支持。Our Interpretation:系统把高维、多模态的图生成问题转换成一个由人工节点库定义的 inverse-programming 搜索,每一步都拥有强类型约束,代价是节点覆盖和分支连接能力受到工程规则限制。
Research Extension:可以用共享的 node-conditioned adapter 取代每类 adapter,并显式预测端口、跨分支引用和 graph repair action;renderer-in-the-loop reward 同时度量多视角 PBR 重建、节点数、执行有效性与编辑局部性。对 test-time optimization,应报告搜索次数、失败恢复、GPU 时间和程序复杂度,避免仅用最终图像相似度掩盖图结构错误。
论文身份与一手资料
Springer 正式页面:2025-07-17 发布,The Visual Computer 41,11195–11205;页面明确 “Correspondence to Zizhao Wu”。官方仓库:数据和 checkpoint 下载入口、Stage I / Stage II 运行说明。
本地完整 PDF:Reading/Papers/IPMGG.pdf,11 页。正文、公式、Table 1、Figure 1–8、训练配置与限制均以该 PDF 为依据。出版页面提供 Supplementary Information 链接;本地归档未包含独立补充文件,网页未虚构补充材料中的具体数值。
Interpretable Procedural Material Graph Generation via Diffusion Models from Reference Images · 中文深度精读 · 2026-09-30