真实世界很难采集“只改变一个材质参数、其余几何与光照完全不动”的成对图像,也很难得到精确连续标签。
先固定身份、版本和证据边界
论文明确验证的是:在合成数据上训练的 SD 1.5 图像编辑模型,可以对真实图像产生连续的材质外观变化;定量表只在合成 held-out 集上计算。
输出是生成模型对目标外观的可信解释,不是已分解的 BRDF 参数图,也没有保证与真实物理渲染严格一致。NeRF 结果只是先逐帧编辑、再训练新 NeRF 的两阶段演示。
离散语言擅长说“金属”,却不擅长说“金属度 0.57”
文本词汇天然离散。Prompt 可以描述 gold / wood / plastic,却难稳定编码连续强度,也容易连形状、背景和照明一起改。
用渲染器制造受控监督,再把标量以空间通道直接送进 UNet,让生成先验负责现实感、让数值通道负责连续控制。
论文真正的新意不是“扩散能改材质”,而是把连续控制量从语言编码器旁路出来,变成与 latent 对齐的 dense control field。这个选择同时解释了滑杆连续性和后来的 mask 局部化现象。
任务定义
给定 context 图像 \(I_c\)、文本指令 \(p\) 和相对编辑强度 \(s\),学习条件生成器 (F_{ heta}),输出编辑图像 (hat I_e):
单属性时 \(s\) 是标量;联合模型时 \(\mathbf{s}=(s_a,s_r,s_m)\) 分别控制 albedo、roughness、metallic。透明度由独立模型处理。
这里的 “relative” 很关键:\(s=0\) 表示保持输入的未知原始材质状态,而不是把物理 BRDF 参数设为零。因此同一个 \(s=1\) 在不同对象上没有统一的可测 BRDF 含义。
渲染器把“只改一件事”变成可监督数据
Poly Haven mesh
AmbientCG 材质
环境光贴图
BSDF 改参
随机强度
视角与内参
训练对
| 组成 | 论文给出的设置 | 复现时的解释 |
|---|---|---|
| 基础场景 | 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 的合成评测集 |
论文没有给 train/validation 的最终图像数、随机种子、分辨率、裁剪/增强、每属性强度分布的精确参数,也没有公开数据管线。不能把名义组合数当作作者实际训练样本数。
把标量铺成网格,与两个 latent 在通道维拼接
目标图 \(I_e\) 经预训练 VAE encoder \(E\) 得到 latent \(z=E(I_e)\),再按扩散日程加噪:
\(t\) 是扩散时间步,\(\bar\alpha_t\) 决定保留多少信号;训练目标是恢复加入的噪声 \(\epsilon\)。
context 图也经同一 encoder 得到 \(E(I_c)\)。标量 \(s\) 被复制为空间常量网格 \(S(s)\),与 noisy target latent 及 context latent 在 channel 维连接:
符号 \(\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。训练损失为:
损失只要求噪声预测正确;连续性并没有额外的导数、排序或单调性正则,而是由连续采样的 \(s\) 与网络归纳偏置学出。
论文没有说明新增 scalar channel 的第一层权重如何初始化、latent 缩放常数、训练分辨率、batch size、gradient accumulation、scheduler、warmup、weight decay、数据加载细节或 checkpoint。由于官方代码未公开,这些都不能从实现核验。
四个旋钮并不具有相同的物理语义
| 属性 | 强度范围 | 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:
论文以 \(w_{\mathrm{null}}=0.80\) 对这类样本做 rejection sampling 下采样,防止模型学成“什么都不改”;但没有定义 0.80 究竟是保留概率、拒绝概率还是实现中的相对权重,也没有说明范数是否按像素平均或归一化。
10k 步微调,20 步 DPM-Solver++ 推理
Change the <attribute name> of the <object class>.若把 InstructPix2Pix 的双条件 CFG 写开,其结构可表示为:
\(w_I\) 与 \(w_T\) 分别增强图像保持和文本指令。此式用于解释继承机制;Alchemist 论文没有写出该式,也没有报告自己测试时的精确 \(w_I,w_T\)。补充材料只明确 baseline InstructPix2Pix 使用 image weight 1.5、text weight 7.5。
作者希望网络必须读取强度,而且 \(s=0\) 本来就是合法任务状态;再把 \(s\) 随机丢弃并做 guidance 会模糊“零编辑”和“无条件”的差别。作者报告实验中没有发现必要性,但没有提供对应消融表。
主表证明“标量通道更准”,却还没有证明真实图上的物理正确
| 属性 | InstructPix2Pix / 作者数据 / prompt-only | Alchemist | ||||
|---|---|---|---|---|---|---|
| PSNR ↑ | SSIM ↑ | LPIPS ↓ | PSNR ↑ | SSIM ↑ | LPIPS ↓ | |
| Roughness | 30.9 | 0.89 | 0.13 | 31.5 | 0.90 | 0.09 |
| Metallic | 31.0 | 0.89 | 0.10 | 31.1 | 0.89 | 0.09 |
| Albedo | 26.9 | 0.88 | 0.14 | 27.2 | 0.88 | 0.10 |
| Transparency | 26.9 | 0.85 | 0.13 | 27.1 | 0.85 | 0.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 方差。
主表回答的是“标量通道是否比把数值写进文本更适合拟合合成 renderer”。真实图只给定性结果和小规模偏好研究,因此“现实图上精确参数控制”仍是强于证据的表述。
局部编辑、联合属性与 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 内部编辑材质,也没有显式多视角一致性约束。
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 可预期 |
Axis-only vs. volume sampling 支持“联合属性组合需要在联合空间见过训练样本”。它没有证明模型理解了可分解 BRDF;相反,银色效果需要同时白化 albedo、降低 roughness、提高 metallic,说明网络学的是训练 renderer 中的联合外观规律。
论文承诺发布,官方入口目前仍只有论文、补充与展示视频
| 核查项 | 结果 | 影响 |
|---|---|---|
| 官方项目页 | 有 paper、supplementary、滑杆视频、baseline 视频、localization 与 NeRF 结果;无 GitHub/code/data/checkpoint 链接 | 可核实展示结论,不能运行模型 |
| CVF Open Access | 提供正式 PDF、supplementary 与 arXiv;无代码附件 | 论文身份与附录可固定 |
| 公开实现 | 本次检索未找到作者官方 Alchemist 仓库 | 不能审计新增通道初始化、数据过滤、hard-coded preprocessing 或论文/实现差异 |
| 复现实验 | 缺 checkpoint、数据、完整配置与硬件信息 | 本网页没有声称独立复现;所有数字来自论文 |
Baseline 的补充材料配置
- Subias et al.:依赖 remove.bg 生成对象 mask,输入 scalar 0.9;其目标是感知属性变化,与 shader-based 编辑并非完全同任务。
- Null-text inversion + Prompt-to-Prompt:每张图先做 inversion,再手调 cross-attention 词权重;gray=5、shiny=10、metal=8、transparent=10,text guidance 7.5。它是逐图优化方法,公平性受 prompt 探索与人工调参影响。
- 原版 InstructPix2Pix:roughness 用 more/less shiny,metallic 用 more/less metallic,albedo 用 gray,transparency 用 transparent;text guidance 7.5、image guidance 1.5。
- Prompt-only / 作者数据:使用
Change the <attribute> of the <object> to <scalar>。它与 Alchemist 共享合成数据,是最能隔离“数值文本 vs. 数值通道”的对比。
四类 baseline 的输入能力、是否需 mask、是否逐图优化、控制语义并不等价。论文的公平主结论应集中在 prompt-only 同数据 baseline,而非把 Figure 5 视为统一排行榜。
设计很干净,验证还没有覆盖“参数化控制”最难的部分
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、执行反馈、跨视角约束和显式材质表示结合,可能把漂亮编辑推进到可验证的材质控制。 |
对程序化材质研究,最值得借鉴的是“控制场接口”
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。
一个可落地的 benchmark 可以同时测:属性响应斜率、单调性、局部性、非目标区域保持、往返可逆、跨视角一致,以及导出到 Principled BSDF / Substance graph 后的再渲染误差。Alchemist 的结果可作为 2D appearance baseline,而不是物理材质 ground truth。
最小复现路线
- 先只做 albedo:用 Blender 生成 \(s_a\in[0,1]\) 的 context–target 配对,验证 scalar channel 是否比数值 prompt 更平滑。
- 复现 SD 1.5 / InstructPix2Pix latent 拼接,明确记录新增输入通道初始化、分辨率、batch、seed 与 CFG 权重。
- 增加单调性和背景保持指标,不只看 PSNR / SSIM / LPIPS。
- 再加入 roughness / metallic 的 joint volume sampling,观察属性耦合。
- 最后才加入 transparency,因为它同时涉及背景补全、折射、焦散和遮挡推断。
一手来源与核查记录
- CVF Open Access 正式条目:作者、会议、页码、正式 PDF 与 supplement。
- arXiv:2312.02970:2023-12-05 首次提交的预印本身份。
- 官方项目页:连续属性视频、spatial localization、baseline 视频与 NeRF 动画。
- 官方 supplementary:baseline 配置、NeRF 架构与训练细节、合成测试可视化。
- Google Research 介绍:方法定位与公开演示说明。
- 本地原始 PDF:12 页,SHA-256
37d5dc937f9732802f44792abc44ff7ded2ef9c89302f7f1024d78132c297c15;本页所有实验数值均逐项对照主文与补充材料。
资料核查截止 2026-09-26。没有把未公开的实现细节补写成论文事实,也没有独立运行作者模型或 NeRF 实验。