Paper Reading / Material Editing / Diffusion

把材质旋钮,接进扩散模型。

Alchemist 不先恢复几何、光照和 BRDF。它用合成渲染学习一个“相对属性变化”算子,让单张真实图里的物体沿粗糙度、金属度、反照率与透明度连续移动。

中文深度精读12 页主文 + 7 页补充原图与主表重建实现公开状态审计

Prafull Sharma, Varun Jampani, Yuanzhen Li, Xuhui Jia, Dmitry Lagun, Fredo Durand, William T. Freeman, Mark Matthews · CVPR 2024 · pp. 24130–24141 · arXiv:2312.02970 · DOI 10.1109/CVPR52733.2024.02278
核查于 2026-09-26 · 单文件离线页面 · MathJax 3 内嵌 · 建议阅读 35–50 分钟

01 / Identity & evidence

先固定身份、版本和证据边界

正式发表
IEEE/CVF CVPR 2024,Seattle,页码 24130–24141
资料
正式主文 12 页;官方 supplementary 7 页;作者项目页含视频结果
机构
MIT CSAIL;Google Research。第一作者的研究在 Google 任职期间完成
通讯作者
主文未标通讯作者;按仓库规则仅把末位 Mark Matthews 作为未核实候选
代码状态
主文承诺发布训练代码与数据管线;截至本次核查,CVF 与官方项目页均无代码链接
Paper Verified

论文明确验证的是:在合成数据上训练的 SD 1.5 图像编辑模型,可以对真实图像产生连续的材质外观变化;定量表只在合成 held-out 集上计算。

Evidence boundary

输出是生成模型对目标外观的可信解释,不是已分解的 BRDF 参数图,也没有保证与真实物理渲染严格一致。NeRF 结果只是先逐帧编辑、再训练新 NeRF 的两阶段演示。

Figure 2 · Method(原论文)。100 个物体、1200 个材质和 400 张 HDRI 构造基础场景;训练时零强度图是 context,随机强度图是 target;推理时只需输入真实图、指令和标量。
02 / Research motivation

离散语言擅长说“金属”,却不擅长说“金属度 0.57”

数据缺口

真实世界很难采集“只改变一个材质参数、其余几何与光照完全不动”的成对图像,也很难得到精确连续标签。

控制缺口

文本词汇天然离散。Prompt 可以描述 gold / wood / plastic,却难稳定编码连续强度,也容易连形状、背景和照明一起改。

求解思路

用渲染器制造受控监督,再把标量以空间通道直接送进 UNet,让生成先验负责现实感、让数值通道负责连续控制。

Our Interpretation

论文真正的新意不是“扩散能改材质”,而是把连续控制量从语言编码器旁路出来,变成与 latent 对齐的 dense control field。这个选择同时解释了滑杆连续性和后来的 mask 局部化现象。

任务定义

给定 context 图像 \(I_c\)、文本指令 \(p\) 和相对编辑强度 \(s\),学习条件生成器 (F_{ heta}),输出编辑图像 (hat I_e):

\[\hat I_e=F_{\theta}(I_c,p,s)\]

单属性时 \(s\) 是标量;联合模型时 \(\mathbf{s}=(s_a,s_r,s_m)\) 分别控制 albedo、roughness、metallic。透明度由独立模型处理。

这里的 “relative” 很关键:\(s=0\) 表示保持输入的未知原始材质状态,而不是把物理 BRDF 参数设为零。因此同一个 \(s=1\) 在不同对象上没有统一的可测 BRDF 含义。

03 / Synthetic supervision

渲染器把“只改一件事”变成可监督数据

100 个
Poly Haven mesh
每物体 5 个
AmbientCG 材质
400 张
环境光贴图
Principled
BSDF 改参
每属性 10 个
随机强度
15 个相机
视角与内参
context–target
训练对
组成论文给出的设置复现时的解释
基础场景100 objects × 每物体 5 个随机材质 = 500 scenes场景还随机配环境图、相机与背景;不是 500 张最终训练图
材质库AmbientCG 约 1200 个 physically based materials使用 Blender Principled BSDF;贴图缺失时 roughness / metallic 以 0.5 常量为基准
照明400 environment maps论文没有报告环境图来源的精确划分或去重规则
采样每一属性 10 个随机相对值;每 setup 15 个随机相机名义上每个单属性基础场景含 1 个零强度 context 和 10 个 targets;最终样本数受无效变化降采样影响,论文未报
测试10 个 unseen scenes × 15 cameras × 每属性 10 个 scalar物体、材质与环境图均 held out;这是 Table 1 的合成评测集
Reproducibility gap

论文没有给 train/validation 的最终图像数、随机种子、分辨率、裁剪/增强、每属性强度分布的精确参数,也没有公开数据管线。不能把名义组合数当作作者实际训练样本数。

04 / Representation & mathematics

把标量铺成网格,与两个 latent 在通道维拼接

目标图 \(I_e\) 经预训练 VAE encoder \(E\) 得到 latent \(z=E(I_e)\),再按扩散日程加噪:

\[z_t=\sqrt{\bar\alpha_t}\,z+\sqrt{1-\bar\alpha_t}\,\epsilon,\qquad \epsilon\sim\mathcal N(0,\mathbf I)\]

\(t\) 是扩散时间步,\(\bar\alpha_t\) 决定保留多少信号;训练目标是恢复加入的噪声 \(\epsilon\)。

context 图也经同一 encoder 得到 \(E(I_c)\)。标量 \(s\) 被复制为空间常量网格 \(S(s)\),与 noisy target latent 及 context latent 在 channel 维连接:

\[x_t=\left[z_t\mid E(I_c)\mid S(s)\right]\]

符号 \(\mid\) 表示通道拼接。联合模型将 \(S(s)\) 替换为三个常量网格 \(S(s_a),S(s_r),S(s_m)\)。这不是把数值写进 prompt,也不是 cross-attention token。

文本 \(p\) 仍由 Stable Diffusion 1.5 的 text encoder 编码,通过 cross-attention 进入 UNet。训练损失为:

\[\mathcal L(\theta)=\mathbb E_{I_e,I_c,s,p,\epsilon,t}\left[\left\lVert\epsilon-\epsilon_{\theta}\!\left(z_t,t,E(I_c),S(s),p\right)\right\rVert_2^2\right]\]

损失只要求噪声预测正确;连续性并没有额外的导数、排序或单调性正则,而是由连续采样的 \(s\) 与网络归纳偏置学出。

Paper vs. implementation

论文没有说明新增 scalar channel 的第一层权重如何初始化、latent 缩放常数、训练分辨率、batch size、gradient accumulation、scheduler、warmup、weight decay、数据加载细节或 checkpoint。由于官方代码未公开,这些都不能从实现核验。

05 / What each control means

四个旋钮并不具有相同的物理语义

属性强度范围shader 中的监督变换视觉含义与边界
Roughness\([-1,1]\)对 roughness map 加 \(s_r\),再 clamp 到 \([0,1]\);无贴图时从常量 0.5 起负值使镜面反射瓣更窄、高光更集中;正值使反射瓣更宽、高光更模糊。它不等于增加 diffuse 分量;饱和区还会出现“改了数值但图像不变”
Metallic\([-1,1]\)同样加 \(s_m\) 并 clamp;无贴图时以 0.5 为基准论文描述中增大 metallic 通常压低 base color 并增加表面 shine,但其感知变化常较细微
Albedo\([0,1]\)原 RGB albedo 与常量灰 \(0.5\) 线性混合\(s_a=1\) 得到灰色反照率,但保留由光照造成的阴影、色偏和高光;更像“去纹理”而非普通去饱和
Transparency\([0,1]\)令 transmission 为 \(s_{\tau}\),同时以该值降低 roughness 和 metallic,并给 albedo 加白色 overlay这是复合 shader recipe,不是纯 transmission 参数;模型还必须补全物体后方背景、折射与焦散

对 roughness / metallic,若 context 与 target 的像素差过小,定义 null example:

\[\left\lVert I_c-I_e\right\rVert_2\lt \delta,\qquad \delta=0.05\]

论文以 \(w_{\mathrm{null}}=0.80\) 对这类样本做 rejection sampling 下采样,防止模型学成“什么都不改”;但没有定义 0.80 究竟是保留概率、拒绝概率还是实现中的相对权重,也没有说明范数是否按像素平均或归一化。

Figure 4 · Single-attribute results(原论文)。每个属性使用一个单独训练的模型。透明编辑能补背景与生成焦散,但也最依赖生成先验,不能视为物理恢复。
06 / Training & inference

10k 步微调,20 步 DPM-Solver++ 推理

初始化
InstructPix2Pix checkpoint(底座为 Stable Diffusion 1.5)
训练目标
标准噪声预测 MSE
优化器
Adam,learning rate \(5\times10^{-5}\)
训练长度
10,000 steps,fp16
冻结组件
使用 SD 的 text encoder、VAE 与 noise schedule;论文没有明确哪些组件冻结/可训练
测试输入
真实 context 图、对象类别 prompt、编辑强度
Prompt
Change the <attribute name> of the <object class>.
采样器
DPM-Solver++ noise scheduler,20 denoising steps
CFG
保留 InstructPix2Pix 的 image/text CFG;不对 \(s\) 做 classifier-free guidance
硬件/耗时
主文与补充材料均未报告

若把 InstructPix2Pix 的双条件 CFG 写开,其结构可表示为:

\[\tilde\epsilon=\epsilon_{\varnothing,\varnothing}+w_I\!\left(\epsilon_{I,\varnothing}-\epsilon_{\varnothing,\varnothing}\right)+w_T\!\left(\epsilon_{I,T}-\epsilon_{I,\varnothing}\right)\]

\(w_I\) 与 \(w_T\) 分别增强图像保持和文本指令。此式用于解释继承机制;Alchemist 论文没有写出该式,也没有报告自己测试时的精确 \(w_I,w_T\)。补充材料只明确 baseline InstructPix2Pix 使用 image weight 1.5、text weight 7.5。

Why no CFG on s?

作者希望网络必须读取强度,而且 \(s=0\) 本来就是合法任务状态;再把 \(s\) 随机丢弃并做 guidance 会模糊“零编辑”和“无条件”的差别。作者报告实验中没有发现必要性,但没有提供对应消融表。

07 / Experiments

主表证明“标量通道更准”,却还没有证明真实图上的物理正确

Figure 5 + Table 1(原论文)。定性 baseline 包含 Subias et al.、Null-text inversion、原版 InstructPix2Pix、在作者数据上仅用 prompt 微调的 InstructPix2Pix;数值表只比较最后一个 prompt-only baseline 与 Alchemist。
属性InstructPix2Pix / 作者数据 / prompt-onlyAlchemist
PSNR ↑SSIM ↑LPIPS ↓PSNR ↑SSIM ↑LPIPS ↓
Roughness30.90.890.1331.50.900.09
Metallic31.00.890.1031.10.890.09
Albedo26.90.880.1427.20.880.10
Transparency26.90.850.1327.10.850.13

最大的清晰收益在 LPIPS:roughness 从 0.13 降至 0.09,albedo 从 0.14 降至 0.10;metallic 仅 0.01,transparency 完全持平。PSNR 增益只有 0.1–0.6 dB,SSIM 基本不变。作者自己也提醒这些重建指标并不适合全面评价概率生成模型。

User study

14 位参与者,每人看 12 对图像(4 属性各 3 对),在 photorealism 与 preference 两个问题上二选一。Alchemist 的真实感选择率为 69.6%(baseline 30.4%),总体偏好为 70.2%(29.8%)。论文没有报告随机化方式、置信区间、显著性检验、参与者背景或 pair-level 方差。

Figure 6 · Slider results(原论文)。图像序列显示外观随标量平滑变化;项目页视频还对比了 prompt-only baseline 的闪烁。论文没有提供连续性的数值指标、单调性曲线或可逆性测试。
Reviewer reading

主表回答的是“标量通道是否比把数值写进文本更适合拟合合成 renderer”。真实图只给定性结果和小规模偏好研究,因此“现实图上精确参数控制”仍是强于证据的表述。

08 / Specializations & ablations

局部编辑、联合属性与 NeRF 都是有价值的边界探针

Spatial localization

把常量强度网格换成分割 mask 内非零的空间场。模型从未为此专门训练,却会把编辑限制在 mask 中;作者称有时需把值 over-drive 到 1 以上。

Multi-attribute

Axis-only 训练一次只让一个 \(s_a,s_r,s_m\) 非零;volume sampling 让三者同时变化。前者常只响应一个属性,后者能组合出银色外观。

Edited NeRF

先逐帧编辑 DTU 训练视图,再用这些图训练 vanilla NeRF;不是在 NeRF 内部编辑材质,也没有显式多视角一致性约束。

Figure 7 · Spatial Localization(原论文)。该结果提示 dense scalar grid 已学成空间控制场,但这里只是定性、少例、out-of-distribution 演示。
Figures 8–10(原论文)。左:volume sampling 优于 axis-only 组合;右上:编辑视图训练 NeRF;右下:roughness 未去掉高光、透明 candy cane 丢失细杆的失败案例。

NeRF 补充设置

项目官方 supplementary
网络8 层、每层 256 channel 的 MLP;density 与 color 各有 2 层 128-channel head
射线采样192 个 stratified samples + 32 个 importance samples
位置编码位置 9 个 frequency bands;视角方向 4 个 bands
训练250k steps;Adam;learning rate \(10^{-4}\);\(\beta_1=0.9, \beta_2=0.99\)
划分DTU 每第 8 个 view 作为 test,其余 train
限制orbit 视角在 train/test 分布之外,floaters 很多;near/far 只包围前景,因此背景 artifact 可预期
What the ablation proves

Axis-only vs. volume sampling 支持“联合属性组合需要在联合空间见过训练样本”。它没有证明模型理解了可分解 BRDF;相反,银色效果需要同时白化 albedo、降低 roughness、提高 metallic,说明网络学的是训练 renderer 中的联合外观规律。

09 / Paper vs. implementation

论文承诺发布,官方入口目前仍只有论文、补充与展示视频

核查项结果影响
官方项目页有 paper、supplementary、滑杆视频、baseline 视频、localization 与 NeRF 结果;无 GitHub/code/data/checkpoint 链接可核实展示结论,不能运行模型
CVF Open Access提供正式 PDF、supplementary 与 arXiv;无代码附件论文身份与附录可固定
公开实现本次检索未找到作者官方 Alchemist 仓库不能审计新增通道初始化、数据过滤、hard-coded preprocessing 或论文/实现差异
复现实验缺 checkpoint、数据、完整配置与硬件信息本网页没有声称独立复现;所有数字来自论文

Baseline 的补充材料配置

Fairness caveat

四类 baseline 的输入能力、是否需 mask、是否逐图优化、控制语义并不等价。论文的公平主结论应集中在 prompt-only 同数据 baseline,而非把 Figure 5 视为统一排行榜。

10 / Reviewer commentary

设计很干净,验证还没有覆盖“参数化控制”最难的部分

Strengths

  • 将连续值作为 dense channel 的表示直接、可解释,并自然支持空间 mask。
  • 合成配对数据精确隔离单一材质因素,适合研究低层连续控制。
  • 从仅 500 个基础场景迁移到真实图,显示预训练生成先验对外观与光传输的强归纳能力。
  • 提供定量合成测试、用户研究、联合控制和 NeRF 下游演示,证据类型较完整。

Weaknesses

  • 没有真实材质参数 ground truth,无法测 edit accuracy 或物理一致性。
  • 没有报告 identity preservation、对象外区域变化、单调性、可逆性、循环一致性与跨视角一致性。
  • 属性定义混杂:transparency 同时改变 transmission、roughness、metallic 和 albedo。
  • 用户研究仅 14 人,缺统计检验与协议细节。
  • 代码、数据和 checkpoint 未从官方入口公开,训练配置也不完整。

哪些话可以说,哪些不能说

类别结论
Paper Verified标量通道模型在 held-out 合成数据上多数指标优于同数据 prompt-only baseline;真实图结果在小规模用户研究中更受偏好。
Author Claim文本到图像模型包含可被利用的光传输理解,能够精确控制真实图材质属性。
Our Interpretation模型学到的是 renderer-conditioned appearance transformation;从视觉合理到物理正确仍有明显证据缺口。
Research Extension把 scalar field、执行反馈、跨视角约束和显式材质表示结合,可能把漂亮编辑推进到可验证的材质控制。
11 / Research extensions

对程序化材质研究,最值得借鉴的是“控制场接口”

Execution-aware supervision

让材质图或 shader graph 真正执行渲染,以多光照、多视角一致性约束扩散编辑;把“看起来像”与“参数执行后仍成立”分开评测。

Scalar field → graph control

把 \(S(s)\) 扩展为节点级控制场:每个区域或节点接收可编辑强度,图生成器输出 topology、node type 与 parameter delta,再由 renderer 校验。

Test-time repair

对透明补背景、反射结构或跨视角不一致进行 renderer-in-the-loop 搜索;用 LPIPS、法线/深度一致性和 graph validity 组成 reward。

Research Extension

一个可落地的 benchmark 可以同时测:属性响应斜率、单调性、局部性、非目标区域保持、往返可逆、跨视角一致,以及导出到 Principled BSDF / Substance graph 后的再渲染误差。Alchemist 的结果可作为 2D appearance baseline,而不是物理材质 ground truth。

最小复现路线

  1. 先只做 albedo:用 Blender 生成 \(s_a\in[0,1]\) 的 context–target 配对,验证 scalar channel 是否比数值 prompt 更平滑。
  2. 复现 SD 1.5 / InstructPix2Pix latent 拼接,明确记录新增输入通道初始化、分辨率、batch、seed 与 CFG 权重。
  3. 增加单调性和背景保持指标,不只看 PSNR / SSIM / LPIPS。
  4. 再加入 roughness / metallic 的 joint volume sampling,观察属性耦合。
  5. 最后才加入 transparency,因为它同时涉及背景补全、折射、焦散和遮挡推断。
12 / References

一手来源与核查记录

  1. CVF Open Access 正式条目:作者、会议、页码、正式 PDF 与 supplement。
  2. arXiv:2312.02970:2023-12-05 首次提交的预印本身份。
  3. 官方项目页:连续属性视频、spatial localization、baseline 视频与 NeRF 动画。
  4. 官方 supplementary:baseline 配置、NeRF 架构与训练细节、合成测试可视化。
  5. Google Research 介绍:方法定位与公开演示说明。
  6. 本地原始 PDF:12 页,SHA-256 37d5dc937f9732802f44792abc44ff7ded2ef9c89302f7f1024d78132c297c15;本页所有实验数值均逐项对照主文与补充材料。

资料核查截止 2026-09-26。没有把未公开的实现细节补写成论文事实,也没有独立运行作者模型或 NeRF 实验。

放大论文图