PAPER READING · CVPR 2024 · FIXED 2308.11408v3

MatFuse

多属性潜空间、可组合条件与材质级 inpainting:从论文证据到可复现边界

Giuseppe Vecchio* · Renato Sortino* · Simone Palazzo · Concetto Spampinato
University of Catania · * 共同第一作者 · 2026-09-30 深度阅读

01 · 把材质生成变成可组合、可局部编辑的联合分布

一句话结论:MatFuse 用四个独立的编码器保留 SVBRDF 贴图的语义边界,再在拼接后的共同潜空间中学习扩散生成。文字、参考图、调色板控制整体外观,草图控制空间布局;编辑时同时沿空间和贴图通道掩码,因此既能补一个区域,也能只重生成某一张贴图。它输出的是可渲染的像素贴图,不是可执行的 Substance 节点图或材质程序。

4 → 1

四张贴图分别编码与量化,拼接后由同一个 decoder 联合还原

158.53

无条件生成渲染图的 FID;TileGen 184.81,LDM baseline 231.64

0.041

多编码器重建的 Render RMSE;单编码器 16384-code baseline 为 0.227

阅读主线:真正值得迁移的是“按物理属性组织潜变量,并在联合生成中维持跨贴图一致性”。代价是四张像素图仍缺少程序结构、分辨率无关性和显式拓扑约束;论文版本还不保证可平铺。不要把“可以渲染”误读为“物理参数完全正确”,也不要把“有图像条件”误读为严格的单图材质反演。

事实来源:固定版 PDF §1、§3、§4,Table 1–3;评价性判断为本精读解释。原 PDF

原 Figure 1:场景应用 teaser:三组场景、所用材料及最终渲染;从固定 PDF 第1页直接提取的原图
原 Figure 1 · 场景应用 teaser:三组场景、所用材料及最终渲染;从固定 PDF 第1页直接提取的原图 · Vecchio et al., 2024 · PDF p.1

02 · 版本、作者与证据边界

项目核实内容边界
正式标题MatFuse: Controllable Material Generation with Diffusion Models不要与 MatFusion 混淆
作者Giuseppe Vecchio、Renato Sortino、Simone Palazzo、Concetto SpampinatoPDF 明确前两名等贡献;原笔记只列一位第一作者,需要将 Renato Sortino 作为共同第一作者补入归档建议
机构与通讯University of Catania原文未明确通讯作者;Concetto Spampinato 仅为末位作者候选,不把等贡献星号当通讯标记
固定论文arXiv:2308.11408v3,2024-03-13;10 页合计,其中正文至第 8 页,参考文献为第 9–10 页本次保留原 PDF SHA-256,不以最新网页替换原论文
正式发表CVPR 2024,4429–4438;DOI 10.1109/CVPR52733.2024.00424原笔记 venue=arXiv、DOI 空白,列入建议修订;不直接改动原前言
补充材料CVPR 官方 supplement ZIP;10 个 HTML 页面与配图不是额外 10 页 PDF,也不是固定 PDF 内附录;架构说明与全部实验画廊均纳入阅读
代码核查官方 giuvecchio/matfuse,提交 a699a2187b44256cbe7d170b11ee3fad653e76832026-09-30 获取的当前实现,不能追认成 2024 年全部实验的精确实现

下文用四种标签区分证据:Paper Verified 是原论文或官方补充明确给出的设定、数据和结果;Author Claim 是作者解释或愿景;Our Interpretation 是根据方法及实验作出的分析;Research Extension 是尚未被本文验证的后续研究设计。代码静态核查另标为 Implementation Verified;本次没有训练或执行原模型。

固定版本记录 · CVPR 书目 · 官方补充包 · 固定代码快照

03 · 动机与研究空缺:同时约束结构、外观和物理贴图

Paper Verified:游戏、美术和场景渲染需要材质的漫反射、法线、粗糙度与镜面反射参数。人工创建要理解复杂工具,单一图像生成只提供已经混入光照的外观。以往材质模型通常聚焦从照片估计属性,或依赖特定类别训练;想同时满足“砖缝布局像草图、表面像参考图、颜色像调色板、粗糙度响应‘shiny’”仍很困难。

论文把问题拆成两个层面。第一,表示必须能区分每种物理属性,否则编辑潜变量时难知道在改什么。第二,分布必须联合建模这些属性,否则逐图独立生成会出现法线凸起与颜色纹理错位、粗糙度与高光关系不协调。多编码器解决输入侧的属性分组,共同 U-Net 和 decoder 学习组间关系。

相关方向本文的比较逻辑不能据此推出
MaterialGAN / 示例驱动编辑强调材料捕获或在已有输入附近优化,而 MatFuse 强调多条件生成与补全不能笼统说 GAN 没有任何生成能力;论文此处批评的是使用方式与控制范围
TileGen类别专用、支持平铺和结构控制;作为主要材质生成对照FID 更低不代表 MatFuse 在平铺、每个类别或每个物理属性上都更强
LDM / Composer继承潜空间去噪和可组合条件思想,扩展到多张反射属性图本文不是从零提出扩散、cross-attention 或 classifier-free guidance
单图 SVBRDF capture图像可以作语义外观条件,但原文把更强的单图估计列为未来工作不等于恢复参考照片的真实几何、光照或参数

Our Interpretation:贡献更接近面向材质的表示设计与生成系统整合,而不是新的扩散概率理论。它最有用的场景是“需要一组相互协调、可由多种方式控制的纹理资产”,而非“必须精确还原某个实物”或“必须交付可编辑节点图”。

04 · 问题定义与张量:分开的属性,联合的材质

令一个材质为 \(\mathbf{x}=\{M^{d},M^{n},M^{r},M^{s}\}\),四个上标依次表示 diffuse、normal、roughness、specular。论文将每张图表示为 \(H\times W\times3\);粗糙度虽然物理上是标量,在所用网络中仍按三通道图处理。输出不包含 height、metallic、AO、displacement 或可执行 graph。渲染器接收这些属性和光照、视角,产生 RGB 外观。

符号含义与形状作用
\(E^{i},Q^{i}\)第 \(i\) 张图的编码器和向量量化器保留属性块对应关系,避免输入侧混合
\(z^{i}\)\(h\times w\times c^{i}\);当前代码每图 \(c^{i}=3\)该图的压缩空间,\(h=H/8,w=W/8\)
\(z_{0}\)四块按通道拼接;256 输入时为 \(32\times32\times12\)扩散模型需要学习的完整材质潜变量
\(D\)共享 decoder,当前代码输出 12 通道同时重建所有贴图,允许跨图耦合
\(y,\tau(y)\)条件集合及其 embedding全局条件走 cross-attention,草图走空间拼接
\(m\)与材质 latent 可广播的二值掩码本页约定 1 为保留、0 为重生成;需与实际 UI 掩码反转核对
\(\epsilon_{\theta}\)U-Net 噪声预测器联合去噪 12-channel 材质 latent
\[ z^{i}=Q^{i}(E^{i}(M^{i})),\qquad z_{0}=\operatorname{concat}_{c}(z^{d},z^{n},z^{r},z^{s}),\qquad \hat{\mathbf{x}}=D(z_{0}). \]

这里 \(Q^{i}\) 是按最近 codebook 向量进行量化的操作,上式把论文文字中的量化阶段显式写入,是本精读的流程整理。四个 codebook 各有 4096 项,总计 16384 项;独立 codebook 的意义不是扩大同一个词表,而是为各属性分配专用容量。补充材料报告 compression model 为 156M 参数。它不是四套独立 decoder,也不是先生成 diffuse 再逐图自回归补全。

关键边界:“disentangled”在这里主要指可定位的属性分块。共享 decoder 仍会混合四块特征,潜变量分块并不能严格证明输出之间统计独立,亦不保证冻结某块 latent 就能逐像素冻结对应输出。原有笔记关于“一次性 decode 所有 SVBRDF maps”的观察与论文一致;对 RGB-X 的进一步比较需单独核实该论文,不在此扩写成结论。

原 Figure 3:四编码器、四量化器、通道拼接和共享 decoder
原 Figure 3 · 四编码器、四量化器、通道拼接和共享 decoder · Vecchio et al., 2024 · 固定版 HTML 资源(其图号为 2)

PDF §3.1、Figure 3;supplement/architecture.html;当前实现 autoencoder.py 的 VQModelMulti、multi-vq_f8.yaml。

05 · 压缩模型训练:贴图误差之外,还要看渲染误差

Paper Verified:第一阶段训练 VQ-GAN,组合 pixel L2、LPIPS 感知损失、patch discriminator 对抗损失、codebook commitment,以及新增 rendering loss。生成 latent 的扩散模型是在这个压缩空间学好后训练的;不能把两阶段合并成一次端到端联合优化。

\[ \mathcal L_{\mathrm{AE}} =\lambda_{\mathrm{pix}}\mathcal L_{\mathrm{pixel}} +\lambda_{\mathrm{perc}}\mathcal L_{\mathrm{perc}} +\lambda_{\mathrm{adv}}\mathcal L_{\mathrm{adv}} +\lambda_{\mathrm{comm}}\mathcal L_{\mathrm{comm}} +\lambda_{\mathrm{render}}\mathcal L_{\mathrm{render}}. \]

上式是概念性汇总,不是论文给出的完整超参数公式;正文未逐项公布所有权重。VQ 的标准最近邻及承诺项可以写成:

\[ k^{i}=\arg\min_{k}\|e^{i}-b^{i}_{k}\|_{2}^{2},\quad Q^{i}(e^{i})=b^{i}_{k^{i}},\quad \mathcal L_{\mathrm{VQ}}^{i} =\|\operatorname{sg}[e^{i}]-b^{i}_{k^{i}}\|_{2}^{2} +\beta_{\mathrm{VQ}}\|e^{i}-\operatorname{sg}[b^{i}_{k^{i}}]\|_{2}^{2}. \]

\(e^{i}\) 是量化前特征,\(b^{i}_{k}\) 是第 \(i\) 个 codebook 的第 \(k\) 项,\(\operatorname{sg}\) 阻断梯度。第一项更新 codebook,第二项让 encoder 接近被选向量。此为理解 VQ 的标准示意;当前代码调用外部 VectorQuantizer2 且传入 beta=0.25,其具体 legacy loss 语义仍取决于依赖版本,不能仅凭这个数字复刻完整训练。

\[ \mathcal L_{\mathrm{render}} =\mathbb E_{\ell,v}\left[ \|R(\mathbf{x};\ell,v)-R(\hat{\mathbf{x}};\ell,v)\|_{2}^{2} \right]. \]

这是将论文“真实与重建材质渲染图的 MSE”写成显式期望的解释式。\(\ell\) 和 \(v\) 表示灯光及视角。相同贴图 RMSE 对视觉外观的影响不一定相同:粗糙度偏差可能改变整片高光,法线偏差改变高光位置;通过渲染误差反传,可以约束四张图如何共同产生外观。它仍可能允许多组参数产生近似渲染,因此不是物理可辨识性的证明。

Implementation Verified:当前 MaterialLoss 将 12 通道按 3 通道分四次调用图像损失,再增加渲染误差;diffuse、specular 先以 2.2 次幂近似从 sRGB 转为线性。代码里的两个分别命名为 diffuse/specular 的渲染分支实际都调用 generateDiffuseRendering(1,9,...)。这值得复现时检查,而不能在未运行的情况下断言已覆盖专门的镜面光照采样。当前 VQLPIPS 默认 pixel_loss="l1",与正文 L2 不同,详见实现核查。

PDF §3.1、§4.2、Table 3;代码 MaterialLoss、VQLPIPS。

06 · 潜空间扩散与多模态条件融合

第二阶段将真实材质压缩为 \(z_{0}\),按时间步加噪,让 U-Net 预测加入的噪声。下面第一式是标准 DDPM/LDM 的解释性展开,后两式对应论文 Eq. 1 与 Eq. 2:

\[ z_{t}=\sqrt{\bar\alpha_{t}}z_{0} +\sqrt{1-\bar\alpha_{t}}\epsilon,\qquad \epsilon\sim\mathcal N(0,I),\qquad \bar\alpha_{t}=\prod_{s=1}^{t}(1-\beta_{s}). \]
\[ \mathcal L_{\mathrm{diff}}^{\mathrm{uncond}} =\mathbb E_{t,z_{0},\epsilon} \big[\|\epsilon-\epsilon_{\theta}(z_{t},t)\|_{2}^{2}\big]. \tag{1} \]
\[ \mathcal L_{\mathrm{diff}}^{\mathrm{cond}} =\mathbb E_{t,z_{0},\epsilon} \big[\|\epsilon-\epsilon_{\theta}(z_{t},t,\tau(y))\|_{2}^{2}\big]. \tag{2} \]

\(\beta_{t}\) 决定噪声强度,\(\bar\alpha_{t}\) 决定原信号保留量,\(\epsilon_{\theta}\) 是学习的噪声预测。本文仍是 epsilon prediction,并非直接预测程序节点或离散 codebook token 的自回归模型。去噪在联合 latent 内进行,self-attention 支持不同区域和属性之间的信息交换。

条件预处理/编码注入位置能控制什么 / 不能保证什么
文字冻结 CLIP 文本表征;补充指 ViT-B/16 对应 CLIP,当前实现用 sentence-transformers/clip-ViT-B-16全局 cross-attention context材质类别、语义、shiny 等属性;无严格数值参数约束
参考图像CLIP 图像 embedding;当前代码 ViT-B/16全局 cross-attention整体风格与外观;不是逐像素空间对应或逆渲染标定
调色板正文以 CIE76 距离合并颜色后取最常见 5 色;两层线性层+GELU全局 cross-attention颜色分布;不指定每种颜色的精确空间区域
草图训练时从漫射光照渲染图提取 Canny 边缘;小 CNN 下采样 8 倍与 noisy latent 按通道拼接纹理布局与几何边缘;未提供严格边缘遵循率

补充材料给出 CLIP 约 150M 参数、palette MLP 约 160K、每个空间编码器约 395K,整个 condition encoder 约 150M 且可训练参数少于 1M。其文字称有“五个 heads”,但正文列举四类条件,当前 MultiConditionEncoder 也明确实现 image/text/sketch/palette 四分支;没有证据把第五个分支自行补成 segmentation。

\[ Q=W_{Q}\operatorname{flat}(z_{t}),\quad K=W_{K}c_{\mathrm{global}},\quad V=W_{V}c_{\mathrm{global}},\quad \operatorname{Attn}(Q,K,V) =\operatorname{softmax}(QK^{\mathsf T}/\sqrt d)V. \]

这是 cross-attention 的机制解释:材质空间位置提出 query,条件向量提供 key/value。当前代码把 image、text、palette 的 embedding 沿 token 维拼接,并将 sketch 放入 c_concat;不要把不同条件都简单相加。256 输入时 noisy latent 为 12 通道,草图编码后为 4 通道,U-Net 输入合计 16,输出仍是 12 通道噪声。

可组合训练:正文说每类条件以 50% 概率随机丢弃,另以 10% 概率丢弃全部条件;当前配置还显式设 all.keep=0.1,all.drop=0.1。训练见过缺失条件,推理才可以接受文字独立、图片独立或图文草图组合。这个策略支持“缺哪些条件都能生成”,不自动保证矛盾条件之间的优先级、权重可解释性或任意组合都稳定。

\[ \hat\epsilon_{\theta} =\epsilon_{\theta}(z_{t},t,\varnothing) +s\big[\epsilon_{\theta}(z_{t},t,y) -\epsilon_{\theta}(z_{t},t,\varnothing)\big]. \]

上式是 classifier-free guidance 的标准解释,\(s\) 是引导强度。正文没有给统一的实验 guidance scale;当前 Gradio 默认 5.0,Diffusers 示例使用 4.0,均不能当成论文实验设置。空条件应经过同一编码链,不能随意用最终 embedding 的全零张量替代。

原 Figure 2:完整生成管线:多图压缩、条件去噪、全局 cross-attention、局部拼接和 latent 编辑
原 Figure 2 · 完整生成管线:多图压缩、条件去噪、全局 cross-attention、局部拼接和 latent 编辑 · Vecchio et al., 2024 · 固定版 HTML 资源(其图号为 1)

PDF §3.1–3.2、Figure 2;supplement/architecture.html;固定提交的 multicondition.py 与 matfuse-ldm-vq_f8.yaml。

07 · Volumetric inpainting:编辑区域 × 编辑属性

Paper Verified:“volumetric”指对二维空间和 latent 通道这三个轴联合掩码,不是生成三维体素,也不是 3D 几何编辑器。四个属性块已知,因此可保留 normal、重生成 diffuse/roughness/specular,或只填一张贴图中的小洞。

\[ \tilde z_{t} =z\odot m+z_{t+1}\odot(1-m). \]

这按正文 §3.3 的写法重述:\(z\) 来自输入材质,\(m=1\) 保留输入,\(m=0\) 使用生成分支。原文此处没有把已知区的前向加噪显式展开。Implementation Verified:DDIM 代码实际先以 q_sample(x0,t) 将已知 latent 加到当前噪声级别,再混合:

\[ z_{t}^{\mathrm{known}} =\sqrt{\bar\alpha_{t}}z_{0}^{\mathrm{known}} +\sqrt{1-\bar\alpha_{t}}\epsilon,\qquad \tilde z_{t} =m\odot z_{t}^{\mathrm{known}}+(1-m)\odot z_{t}^{\mathrm{sample}}. \]

这避免把完全干净的已知块直接塞入高噪声 latent,属于复现时不能略过的细节。UI 中 mask_all 或缺图会产生全零保留掩码;手绘 mask 被取第一层、缩放、二值化再反转,并复制到三条 latent 通道。复现前应使用简单测试图确认“涂黑/涂白”和“保留/重画”的实际含义。

  1. 按 diffuse → normal → roughness → specular 打包输入,四编码器将其压缩成共同 latent
  2. 为每张图选择完整缺失或局部编辑区域,映射到对应 latent 通道块
  3. 输入可选文字、图像或调色板,构造同一条件编码
  4. 每个 DDIM 步骤把已知区重置到正确噪声水平,在未知区继续条件去噪
  5. 共享 decoder 输出四张图,检查已知区域漂移、边界连续性和重光照一致性

Our Interpretation:编辑能力的关键不是“在 latent 里画 mask”本身,而是 latent 通道已有稳定的属性含义。但 decoder 的感受野及跨属性混合意味着输入保护不是严格像素恒等映射;若生产工具要求完全不变,应另做输出端 compositing,并验证边界及物理一致性。本文未报告已知区漂移指标。

Input maps Edited maps
Condition Diffuse Normal Roughness Specular Diffuse Normal Roughness Specular Render
原 Figure 8 分图:edit-src_00_cond.jpg 原 Figure 8 分图:edit-src_00_diffuse.jpg 原 Figure 8 分图:edit-src_00_normal.jpg 原 Figure 8 分图:placeholder.jpg 原 Figure 8 分图:placeholder.jpg   原 Figure 8 分图:edit-out_00_diffuse.jpg 原 Figure 8 分图:edit-out_00_normal.jpg 原 Figure 8 分图:edit-out_00_roughness.jpg 原 Figure 8 分图:edit-out_00_specular.jpg 原 Figure 8 分图:edit-out_00_render.jpg
原 Figure 8 分图:placeholder.jpg 原 Figure 8 分图:edit-src_01_diffuse.jpg 原 Figure 8 分图:edit-src_01_normal.jpg 原 Figure 8 分图:edit-src_01_roughness.jpg 原 Figure 8 分图:edit-src_01_specular.jpg   原 Figure 8 分图:edit-out_01_diffuse.jpg 原 Figure 8 分图:edit-out_01_normal.jpg 原 Figure 8 分图:edit-out_01_roughness.jpg 原 Figure 8 分图:edit-out_01_specular.jpg 原 Figure 8 分图:edit-out_01_render.jpg
“brick wall” 原 Figure 8 分图:placeholder.jpg 原 Figure 8 分图:edit-src_02_normal.jpg 原 Figure 8 分图:placeholder.jpg 原 Figure 8 分图:placeholder.jpg   原 Figure 8 分图:edit-out_02_diffuse.jpg 原 Figure 8 分图:edit-out_02_normal.jpg 原 Figure 8 分图:edit-out_02_roughness.jpg 原 Figure 8 分图:edit-out_02_specular.jpg 原 Figure 8 分图:edit-out_02_render.jpg
原 Figure 8 · 材质编辑:输入掩码与输出完整对照,绿色区域是待填区域,破折号表示缺失整图 · Vecchio et al., 2024 · 固定版 HTML 资源(其图号为 7)

PDF §3.3、§4.6、Figure 8;代码 DDIM mask 分支、inference_helpers.py。

08 · 数据构建:160K 材质样本与 3.2M 多光照渲染

Paper Verified:训练组合 Deschaintre et al. 2018 的约 20,000 个混合合成材质,以及来自 PolyHaven 的 320 个材料。每个材料有 diffuse、normal、roughness、specular 四图。前者沿用原数据集的 train/test 划分,后者做多尺度裁剪;两者相加作者报告约 160K 样本。每个 crop 用五个 environment maps、每个四个旋转角 0°/90°/180°/270° 渲染,得到 20 张外观,报告共 3.2M renders。

PolyHaven 裁剪层级每材料声明数量原裁剪分辨率训练输入
全尺度14096 × 4096统一缩放到 256 × 256
一半尺度42048 × 2048
四分之一161024 × 1024
八分之一64512 × 512
十六分之一256256 × 256

数量核查,不能静默修正:正文写“每材料 431 crops,总共 140,508 crops”,但列出的五层计数满足 \(1+4+16+64+256=341\),不是 431;\(320\times431=137{,}920\),也不是 140,508;按层级加总则 \(320\times341=109{,}120\)。这至少说明文字与总数不能同时成立。没有完整数据清单,不能选某个数当真实训练量。160K 和 3.2M 应标记为作者报告的近似总量。

复现重要事项:必须以材质原始资产为单位划分 train/test,再裁 crop,而不能随机拆 crop 造成同一父材质跨集合泄漏。论文未明示 PolyHaven 的独立划分及每个 split 精确数量。当前 README 明确不计划发布原训练数据,建议新训练使用 MatSynth;替换 MatSynth 可做后续实验,但不再是论文数据复现。

当前 MatFuseDataset 递归寻找 diffuse.png,用 metadata.json 中 tags 拼成文字;随机选择 renders/*.png 作图像条件;读取 palette 或按频率提取五色;读取 sketch.png。这个流程表明 captions、render 配置和草图均是模型之外的数据依赖。源码没有自动恢复论文全部裁剪流程及原始 asset 列表。配置中训练、验证 data_root 都指向 sample_materials,正式实验必须改成真正互斥的数据目录。

PDF §4.1;官方 Dataset 实现;计数等式为本次独立算术核查。

09 · 训练、推理与复现清单

论文报告设置,完整列出已知与缺失

阶段正文/补充明确报告未明确或不能据此还原
压缩模型Adam;batch 4;LR \(10^{-4}\);4,000,000 iterations;300,000 iterations 后启用 adversarial loss;下采样因子 8;四 encoder/codebook;156M 参数完整 loss 权重、全部 Adam 超参数、训练硬件/用时、精度、训练随机种子、warmup/weight decay 细节未在正文给齐
扩散模型AdamW;batch 20;500,000 iterations;LR \(10^{-4}\);从 \(10^{-6}\) 线性 warmup;linear beta schedule;U-Net+attentionwarmup 长度、完整 schedule、GPU 数量、梯度累积、精度、训练墙钟时间、完整参数量未给齐
条件训练CLIP ViT-B/16 冻结;palette MLP、空间 CNN 与 U-Net 共同优化;每条件 50% drop、全条件 10% drop不同随机丢弃事件的优先级需查代码;条件冲突处理没有系统协议
推理DDIM,50 steps;512 × 512 定量评估;512 约 18GB VRAM、768 略低于 24GB统一 guidance scale、eta、单样本耗时、精确测量硬件及 batch 条件未报告
基础/大模型没有单独 MatFuse-Large 实验;Table 2 的 Base 是单 encoder VQ compression baseline,4096/8192/16384 为 codebook 尺寸不能称这些行为扩散模型 Base/Large,也不能给不存在的大模型训练配置

当前公开配置是启动示例,不是论文训练日志

组件固定代码快照参数复现含义
VQ configembed_dim=3;n_embed=4096;z_channels=256;ch=128;ch_mult=[1,1,2,4];2 residual blocks;dropout=0;out_ch=12每图最终量化 latent 是 3 通道,不是 z_channels 的 256 通道
VQ 优化默认base_learning_rate=4.5e-6;batch_size=2;accumulate_grad_batches=2;disc_start=50001;disc_weight=0.5;Adam betas=(0.5,0.9)与正文 batch/对抗启用时刻不同;main.py 可按 GPU 数、batch 和累积放大 base LR
U-Netin/out=16/12;model_channels=256;channel_mult=[1,2,4];num_res_blocks=2;head channels=32;spatial transformer depth=1;context_dim=51212 材质 latent + 4 草图通道;block 宽度为256/512/1024
diffusion config训练时间步1000;beta 起止0.0015/0.0195;image_size=32;channels=12;base LR=1e-6;batch=8正文的有效 LR 和 batch 20 不能由该示例直接等同得到
预训练依赖CLIP image ViT-B/16;CLIP sentence-transformers;阶段一 checkpoint 需填 first_stage_config.ckpt_path不是使用一段大语言模型 system prompt;没有 LLM temperature/top-p/beam search
界面默认512 输出、50 steps、guidance 5.0、eta=0.0;seed=-1 时随机;支持256–1024界面范围界面范围不意味着所有分辨率已在论文中定量验证

可复现实验顺序

  1. 先冻结原论文 v3、代码提交、Python/PyTorch/依赖版本、资产清单及 split。官方 README 的测试环境为 Python 3.10、PyTorch 1.13.1;不自动安装或执行
  2. 建立每材质文件夹,提供四张图、sketch.png、metadata.json、renders;检查通道顺序、色彩空间、法线约定与粗糙度三通道表示
  3. 先训练 VQ 并验证每张图和多光照渲染 RMSE;单 encoder 对照总 codebook 容量对齐
  4. 把 VQ checkpoint 接入 diffusion,检查实际可训练参数和冻结状态;记录每种条件是否缺失、dropout 分支频率及有效学习率
  5. 用固定 seeds 分开评估无条件、单条件、组合条件、整图/局部编辑;记录 EMA、guidance、eta 与 sampler 参数
  6. 重建论文的 2,000 材质渲染评测,保持 renderer、光照、参考数据、FID feature pipeline 一致,再报告延伸实验,避免把协议变化当模型收益

PDF §4.2、§5;supplement/architecture.html;固定代码的两份 YAML、main.py、ddpm.py、gradio_app.py。当前配置不补造缺失的原论文实验设置。

10 · 条件生成结果:每张图到底证明什么

全局条件:类别、颜色与外观语义

Condition Diffuse Normal Roughness Specular Render
“terracotta brick wall” 原 Figure 4 分图:text_00_diffuse.jpg 原 Figure 4 分图:text_00_normal.jpg 原 Figure 4 分图:text_00_roughness.jpg 原 Figure 4 分图:text_00_specular.jpg 原 Figure 4 分图:text_00_render.jpg
“shiny parquet” 原 Figure 4 分图:text_01_diffuse.jpg 原 Figure 4 分图:text_01_normal.jpg 原 Figure 4 分图:text_01_roughness.jpg 原 Figure 4 分图:text_01_specular.jpg 原 Figure 4 分图:text_01_render.jpg
原 Figure 4 分图:sample_00_prompt.jpg 原 Figure 4 分图:sample_00_diffuse.jpg 原 Figure 4 分图:sample_00_normal.jpg 原 Figure 4 分图:sample_00_roughness.jpg 原 Figure 4 分图:sample_00_specular.jpg 原 Figure 4 分图:sample_00_render.jpg
原 Figure 4 分图:sample_01_prompt.jpg 原 Figure 4 分图:sample_01_diffuse.jpg 原 Figure 4 分图:sample_01_normal.jpg 原 Figure 4 分图:sample_01_roughness.jpg 原 Figure 4 分图:sample_01_specular.jpg 原 Figure 4 分图:sample_01_render.jpg
原 Figure 4 分图:palette_00_color.png 原 Figure 4 分图:palette_00_diffuse.jpg 原 Figure 4 分图:palette_00_normal.jpg 原 Figure 4 分图:palette_00_roughness.jpg 原 Figure 4 分图:palette_00_specular.jpg 原 Figure 4 分图:palette_00_render.jpg
原 Figure 4 分图:palette_01_color.jpg 原 Figure 4 分图:palette_01_diffuse.jpg 原 Figure 4 分图:palette_01_normal.jpg 原 Figure 4 分图:palette_01_roughness.jpg 原 Figure 4 分图:palette_01_specular.jpg 原 Figure 4 分图:palette_01_render.jpg
原 Figure 4 · 全局条件生成:文字、图像、调色板,每行保留完整 SVBRDF 与渲染 · Vecchio et al., 2024 · 固定版 HTML 资源(其图号为 3)

Figure 4 的六行依次是两个文字、两个图片和两个调色板条件。作者以“terracotta brick wall”“shiny parquet”说明文字能影响材质类别及光泽;图片传递外观特征;palette 影响 diffuse 颜色。它证明了展示样本中存在可理解的控制响应;没有定量证明各种形容词都能映射到正确 roughness 数值,也没有控制属性单调性实验。

局部条件:草图布局

Condition Diffuse Normal Roughness Specular Render
原 Figure 5 分图:sketch_00_sketch.jpg 原 Figure 5 分图:sketch_00_diffuse.jpg 原 Figure 5 分图:sketch_00_normal.jpg 原 Figure 5 分图:sketch_00_roughness.jpg 原 Figure 5 分图:sketch_00_specular.jpg 原 Figure 5 分图:sketch_00_render.jpg
原 Figure 5 分图:sketch_01_sketch.jpg 原 Figure 5 分图:sketch_01_diffuse.jpg 原 Figure 5 分图:sketch_01_normal.jpg 原 Figure 5 分图:sketch_01_roughness.jpg 原 Figure 5 分图:sketch_01_specular.jpg 原 Figure 5 分图:sketch_01_render.jpg
原 Figure 5 分图:sketch_02_sketch.jpg 原 Figure 5 分图:sketch_02_diffuse.jpg 原 Figure 5 分图:sketch_02_normal.jpg 原 Figure 5 分图:sketch_02_roughness.jpg 原 Figure 5 分图:sketch_02_specular.jpg 原 Figure 5 分图:sketch_02_render.png
原 Figure 5 · 局部草图条件:手绘结构与 Canny 结构,每行完整输出 · Vecchio et al., 2024 · 固定版 HTML 资源(其图号为 4)

Figure 5 包含手绘的干净草图和 Canny 提取的更嘈杂草图。作者认为结构被转移到 normal 及最终渲染。这说明系统能接收不同质量的结构线索;“robustness”证据仍是展示样例,而非跨噪声强度的完整曲线。

组合条件:一条局部信号加一条全局信号

Cond. Sketch Diffuse Normal Rough. Specular Render
“rusty metal” 原 Figure 6 分图:multi_00_sketch.jpg 原 Figure 6 分图:multi_00_diffuse.jpg 原 Figure 6 分图:multi_00_normal.jpg 原 Figure 6 分图:multi_00_roughness.jpg 原 Figure 6 分图:multi_00_specular.jpg 原 Figure 6 分图:multi_00_render.jpg
原 Figure 6 分图:multi_01_prompt.jpg 原 Figure 6 分图:multi_01_sketch.jpg 原 Figure 6 分图:multi_01_diffuse.jpg 原 Figure 6 分图:multi_01_normal.jpg 原 Figure 6 分图:multi_01_roughness.jpg 原 Figure 6 分图:multi_01_specular.jpg 原 Figure 6 分图:multi_01_render.jpg
原 Figure 6 分图:multi_02_prompt.jpg 原 Figure 6 分图:multi_02_sketch.jpg 原 Figure 6 分图:multi_02_diffuse.jpg 原 Figure 6 分图:multi_02_normal.jpg 原 Figure 6 分图:multi_02_roughness.jpg 原 Figure 6 分图:multi_02_specular.jpg 原 Figure 6 分图:multi_02_render.jpg
原 Figure 6 · 多条件生成:text+sketch、image+sketch、palette+sketch · Vecchio et al., 2024 · 固定版 HTML 资源(其图号为 5)

Figure 6 三行分别为 text+sketch、image+sketch、palette+sketch。草图约束布局,全局条件决定外观;“rusty metal”一行用于展示语义与形状同时生效。没有展示完整四条件所有组合的成对冲突分析,也没有多目标遵循分数。官方补充提供更多同草图搭配不同文字的例子,适合检查不同属性如何随条件变化。

Our Interpretation:对工具设计而言,可组合输入比“只给一段 prompt”更有价值;对研究验证而言,还需量化局部位置遵循、全局语义、跨贴图物理一致性,以及在相同随机种子下对照各条件。

11 · 定量结果与用户研究:质量、覆盖度和偏好的边界

评测协议:论文将 2,000 个无条件生成的材质渲染到 512×512,以 CLIP-IQA 的 “high-quality / low-quality” 对比词衡量外观质量,同时计算 FID。对照包含真实材质渲染、TileGen、训练成无条件材质生成的 LDM baseline。TileGen 当时未公开模型,生成样本由其作者提供。真实样本的 CLIP-IQA 被作者称为 upper bound,但它只是参考分布的观测均值,并不是数学上限。

原 Table 1 · 生成质量,全部方法与指标

ModelCLIP-IQA ↑FID ↓
Ground Truth0.471 ± 0.191—
TileGen [54]0.433 ± 0.161184.81
LDM (baseline)0.269 ± 0.118231.64
MatFuse0.431 ± 0.151158.53

MatFuse 相对 LDM 的 FID 下降 73.11,约 31.56%;相对 TileGen 下降 26.28,约 14.22%。CLIP-IQA 相对 LDM 增加 0.162,但比 TileGen 低 0.002,所以准确结论是:在该协议下,FID 更优,CLIP-IQA 与 TileGen 接近,而不是每个指标都胜出。± 的统计口径不能擅自解读为 95% 置信区间。

Author Claim:较好的 FID 可能来自更多样的样本,因为 TileGen 类别限制更强。Our Interpretation:这是合理假设,表格本身无法把质量、类别分布匹配、样本多样性及训练数据范围的贡献分开。FID 对参考集选择与特征分布敏感,CLIP-IQA 又不是为物理材质正确性设计;两者均未测量法线长度、能量守恒、平铺边界或参数可辨识性。

用户研究

100 位计算机科学硕士/博士学生,每人比较 25 对材料,共 2,500 次选择;样本从 100 个样本的较大池中随机选取,类别为 leather、wood、marble、stone、ceramic。MatFuse 使用类别名作全局条件,TileGen 使用对应类别专用模型;参与者根据 realism 和 rendering quality 选择。

选择票数全部票比例(本页计算)
MatFuse107843.12%
TileGen94937.96%
No preference47318.92%

MatFuse 领先 129 票,即全部票的 5.16 个百分点;排除无偏好后 MatFuse 约占 53.18%。作者报告 \(\chi^{2}=16.41,p\lt0.05\),认为有统计显著偏好。正文没有完整给出检验列联表、随机化/盲测细节、参与者与样本重复测量处理,不能直接用聚合票数重建其全部统计过程;也不能把这组学生偏好外推为专业材质艺术家的生产效率提升。

Diffuse Normal Roughness Specular Render

TileGen

Leather 原 Figure 7 分图:leather_tilegen_diffuse.jpg 原 Figure 7 分图:leather_tilegen_normal.jpg 原 Figure 7 分图:leather_tilegen_roughness.jpg 原 Figure 7 分图:leather_tilegen_specular.jpg 原 Figure 7 分图:leather_tilegen_render.jpg

MatFuse

原 Figure 7 分图:leather_matfuse_diffuse.jpg 原 Figure 7 分图:leather_matfuse_normal.jpg 原 Figure 7 分图:leather_matfuse_roughness.jpg 原 Figure 7 分图:leather_matfuse_specular.jpg 原 Figure 7 分图:leather_matfuse_render.jpg

TileGen

Wood 原 Figure 7 分图:wood_tilegen_diffuse.jpg 原 Figure 7 分图:wood_tilegen_normal.jpg 原 Figure 7 分图:wood_tilegen_roughness.jpg 原 Figure 7 分图:wood_tilegen_specular.jpg 原 Figure 7 分图:wood_tilegen_render.jpg

MatFuse

原 Figure 7 分图:wood_matfuse_diffuse.jpg 原 Figure 7 分图:wood_matfuse_normal.jpg 原 Figure 7 分图:wood_matfuse_roughness.jpg 原 Figure 7 分图:wood_matfuse_specular.jpg 原 Figure 7 分图:wood_matfuse_render.jpg

TileGen

Marble 原 Figure 7 分图:marble_tilegen_diffuse.jpg 原 Figure 7 分图:marble_tilegen_normal.jpg 原 Figure 7 分图:marble_tilegen_roughness.jpg 原 Figure 7 分图:marble_tilegen_specular.jpg 原 Figure 7 分图:marble_tilegen_render.jpg

MatFuse

原 Figure 7 分图:marble_matfuse_diffuse.jpg 原 Figure 7 分图:marble_matfuse_normal.jpg 原 Figure 7 分图:marble_matfuse_roughness.jpg 原 Figure 7 分图:marble_matfuse_specular.jpg 原 Figure 7 分图:marble_matfuse_render.jpg
原 Figure 7 · TileGen 与 MatFuse 在 leather、wood、marble 上的完整贴图对照 · Vecchio et al., 2024 · 固定版 HTML 资源(其图号为 6)

PDF §4.4–4.5、Table 1、Figure 7;差值、比例为本页基于原始数值计算,未重新运行实验。

12 · 消融:收益主要来自哪一步?

原 Table 2 · 单编码器与多编码器,全部结果

ArchitectureDiffuse RMSE ↓Normal RMSE ↓Roughness RMSE ↓Specular RMSE ↓Render RMSE ↓
Base (4096)0.0570.0610.1140.1660.267
Base (8192)0.0490.0520.0980.1440.233
Base (16384)0.0470.0510.1020.1520.227
Multi Enc.0.0160.0240.0220.0200.041

与总 codebook 项数相同的 Base(16384) 比较,Multi Enc. 在五项都更好;Render RMSE 减少约 81.94%,Specular RMSE 减少约 86.84%。从 8192 扩到 16384 并非每项都改善,roughness 从 0.098 变 0.102,specular 从 0.144 变 0.152。因此“只增大 codebook”不能解释多 encoder 的全部优势。

实际证明:属性专用编码在这套重建任务中有效,且单编码器扩大词表不能弥补差距。尚未证明:这是 reconstruction 指标,不是最终生成 FID 的逐项因果分解;总 codebook 容量对齐也不等同于总参数量、计算量和训练预算严格对齐。“解耦”未以独立性或互信息指标专门验证。

原 Table 3 · Rendering loss 的贡献,全部结果

LossesDiffuse RMSE ↓Normal RMSE ↓Roughness RMSE ↓Specular RMSE ↓Render RMSE ↓
Σ losses from [11]0.0380.0300.0470.0330.064
+ rendering loss0.0160.0240.0220.0200.041

增加渲染监督后,Render RMSE 从 0.064 降到 0.041,减少约 35.94%;各贴图 RMSE 也改善。Normal 的变化为 0.030→0.024,20%;Diffuse 为 0.038→0.016,约57.89%。表明外观层监督与图级误差改善并不冲突。但渲染器、光照分布、loss 权重的独立消融不足,不能断言任意 renderer loss 都同样有效。

官方补充的 loss 画廊分别展示 Ground Truth、L1 Loss、Rendering Loss、Adversarial Loss、Perceptual Loss;架构画廊展示 Ground Truth、Base、Multi-Encoder。它们是定性实例而不是一张新增的完整定量消融表,下方保留全部原始图片行,不能把标签顺序擅自理解成逐步累计训练。

补充 A · 完整训练损失与架构消融画廊(40 个原始分图)

Training Losses

Diffuse Normal Roughness Specular Render
Ground Truth Diffuse Map Normal Map Roughness Specular Render
L1 Loss Diffuse Map Normal Map Roughness Specular Render
Rendering Loss Diffuse Map Normal Map Roughness Specular Render
Adversarial Loss Diffuse Map Normal Map Roughness Specular Render
Perceptual Loss Diffuse Map Normal Map Roughness Specular Render

Architecture Ablation

Diffuse Normal Roughness Specular Render
Ground Truth Diffuse Map Normal Map Roughness Specular Render
Base Diffuse Map Normal Map Roughness Specular Render
Multi-Encoder Diffuse Map Normal Map Roughness Specular Render

官方补充文件 ablation/index.html · CVPR ZIP 来源 · 图片保留原始布局,不重新绘制

PDF §4.7、Table 2–3;官方补充 ablation/index.html;相对下降为本页算术。

13 · Paper vs. Implementation:必须显式记录的偏差

本节针对当前官方提交静态阅读,并未宣称找到“造成论文结果错误的 bug”。许多差异可能来自后续重构、演示默认值或配置样例;实验重现时必须区分这些可能性。

主题论文/补充当前公开实现与影响
tileability§5 明确说当前方法缺乏可平铺性推理 helper 与 Diffusers decoder 前对 latent 做7格 circular padding,再中心裁剪;Hugging Face 文案称 tileable。后处理存在不等于周期边界已在论文中验证;应测试多层边界、导数及渲染缝隙
pixel loss§3.1 写 L2VQLPIPSWithDiscriminator 默认 L1,配置未覆盖 pixel_loss;官方补充画廊也标 L1。需要选择“按正文”还是“按该提交”重现并记录
adversarial warm start300,000 iterations当前 YAML disc_start=50001;不是同一设定
batch / LRVQ batch4、diffusion batch20,均报告 LR1e-4YAML 分别batch2+累积2、batch8,base LR4.5e-6/1e-6;main.py 默认可按 GPU×batch×累积放大,因此要记录最终有效值
渲染采样渲染图间 MSE 保持跨图一致性MaterialLoss 的两个分支都调用 generateDiffuseRendering。应核查 sampling、roughness 与 specular 的实际梯度,不能凭变量名理解成两种渲染器
数据分割沿用第一数据源 train/test,PolyHaven split 未详细列出Dataset 不自动划分,递归读取路径下所有 diffuse.png;示例 train/validation 同指 sample_materials,不能直接用作有效验证集
调色板正文 CIE76 合并,取5色主 Dataset / helper 使用 Pylette 五色;另一个 material_utils.extract_palette 辅助函数只取3色,不能拿该未必在主路径调用的函数代表整个系统
推理额外开销DDIM 50步Gradio helper 顺序输出普通采样、EMA采样、当guidance>1时再输出CFG采样;一次按钮可能执行三轮采样。做速度比较应计入实际路径,不能当成单次50步
文本预处理描述性 prompt 条件Dataset 用 metadata tags 拼接文本,CLIP sentence wrapper 直接编码传入文本;未见在该主路径强制添加统一前缀。生成与训练应保持一致,不能引用其它论文的 MatFuse baseline prompt 当作这里的默认
缺失输入缺图补全是能力之一Dataset 对缺失图构建默认 placeholder,缺 sketch 返回None;公开脚本含示例/遗留路径,需要预检查。不能把缺失数据默认为真实物理值

静态风险样例:Dataset 的十六进制颜色分支先将字符串存入 color,随后却索引 hex;若走此分支可能失败,RGB 三元组分支不受这一点影响。此为源码可见的不一致,尚未运行复现;准备数据时可优先使用明确 RGB 三元组并加校验。另需检查 specular/diffuse 的 gamma、normal 方向约定和所有图分辨率是否一致。

固定提交:inference_helpers.py · matfuse.py · encoders/modules.py · 当前模型卡。

14 · 官方补充材料完整读图索引

官方补充包提供一页技术细节、一个消融页、六个结果/对照页与导航页。它没有单独的附录 PDF,也没有新增编号定量表。所有实质性画廊在下面折叠区域保留原行列和真实图片;标题按原包语义翻译,原图版权属于作者。主文图编号沿用固定 PDF,避免 arXiv HTML 漏掉 teaser 后整体少一号的问题。

补充页覆盖内容如何使用证据
architecture.html四个4096词表、156M压缩模型、CLIP与条件编码器参数已整合到表示与训练章节;注意“五heads”文字与四条件实现的差异
ablation/index.html全部loss与架构对照图片上一节完整保留;只作为定性佐证
results/unconditional.html四组无条件材料,每组完整四图与render观察没有条件时的纹理先验;不能只凭四例估计分布覆盖度
results/single-condition.html文字、调色板、参考图片、手绘和图片提取草图文字包括 Wall、Grass、Snow、Wood、Bark;评估语义与具体贴图变化
results/multicondition.htmlsketch+palette、sketch+text、sketch+image同结构配石材/木材、锈钢/亮钢、混凝土/皮革的不同条件
results/editing.htmldiffuse颜色、normal几何、roughness/specular反射性质、局部补洞关注编辑后其它属性与已知区是否保持,论文没有对应数值误差
comparison/tilegen.htmlWood、Stone、Leather、Marble,多例完整对照两模型输出不是同一个真实材质的逐像素配对,不能按内容一致性直接排名
results/search.html生成图与 CLIP 近邻,四个 query、每个五个 nearest neighbors提供未简单复制训练图的直观线索;没有距离阈值、精确检索协议或全数据统计,不能严格证明无记忆
补充 B · 完整无条件生成画廊(20 个原始分图)
Diffuse Normal Roughness Specular Render
Diffuse Map Normal Map Roughness Specular Render
Diffuse Map Normal Map Roughness Specular Render
Diffuse Map Normal Map Roughness Specular Render
Diffuse Map Normal Map Roughness Specular Render

官方补充文件 results/unconditional.html · CVPR ZIP 来源 · 图片保留原始布局,不重新绘制

补充 C · 完整单条件生成画廊(109 个原始分图)

Text conditional

Condition Diffuse Normal Roughness Specular Render
Wall Diffuse Map Normal Map Roughness Specular Render
Grass Diffuse Map Normal Map Roughness Specular Render
Snow Diffuse Map Normal Map Roughness Specular Render
Wood Diffuse Map Normal Map Roughness Specular Render
Bark Diffuse Map Normal Map Roughness Specular Render

Palette conditional

Condition Diffuse Normal Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render

Image-prompt conditional

Condition Diffuse Normal Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render

Sketch conditional

Condition Diffuse Normal Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render
Condition Diffuse Map Normal Map Roughness Specular Render

官方补充文件 results/single-condition.html · CVPR ZIP 来源 · 图片保留原始布局,不重新绘制

补充 D · 完整多条件生成画廊(99 个原始分图)

Sketch + Palette

Sketch Condition Diffuse Normal Roughness Specular Render
Sketch Palette Diffuse Map Normal Map Roughness Specular Render
Sketch Palette Diffuse Map Normal Map Roughness Specular Render
Sketch Palette Diffuse Map Normal Map Roughness Specular Render
Sketch Palette Diffuse Map Normal Map Roughness Specular Render

Sketch + Text

Condition Sketch Diffuse Normal Roughness Specular Render
Stone floor tiles Sketch Diffuse Map Normal Map Roughness Specular Render
Wooden floor tiles Sketch Diffuse Map Normal Map Roughness Specular Render
Rusty steel surface Sketch Diffuse Map Normal Map Roughness Specular Render
Shiny steel surface Sketch Diffuse Map Normal Map Roughness Specular Render
Cracked concrete Sketch Diffuse Map Normal Map Roughness Specular Render
Black leather surface with ridges Sketch Diffuse Map Normal Map Roughness Specular Render

Sketch + Image Prompt

Condition Sketch Diffuse Normal Roughness Specular Render
Image Prompt Sketch Diffuse Map Normal Map Roughness Specular Render
Image Prompt Sketch Diffuse Map Normal Map Roughness Specular Render
Image Prompt Sketch Diffuse Map Normal Map Roughness Specular Render
Image Prompt Sketch Diffuse Map Normal Map Roughness Specular Render
Image Prompt Sketch Diffuse Map Normal Map Roughness Specular Render

官方补充文件 results/multicondition.html · CVPR ZIP 来源 · 图片保留原始布局,不重新绘制

补充 E · 完整材质属性编辑与补洞画廊(146 个原始分图)

Diffuse color Editing

Condition Diffuse Normal Roughness Specular Render
(Masked)
Input Diffuse Map Normal Map Roughness Specular Render
↓
Edit 1 Palette Diffuse Map Normal Map Roughness Map Specular Map Render
Edit 2 Palette Diffuse Map Normal Map Roughness Map Specular Map Render


Input Diffuse Map Normal Map Roughness Map Specular Map Render
↓
Edit 1 Palette Diffuse Map Normal Map Roughness Map Specular Map Render
Edit 2 Palette Diffuse Map Normal Map Roughness Map Specular Map Render

Geometry (Normal Map) Editing

Condition Diffuse Normal Roughness Specular Render
(Masked)
Input Diffuse Map Normal Map Roughness Specular Render
↓
Edit Condition Diffuse Map Normal Map Roughness Map Specular Map Render


Input Diffuse Map Normal Map Roughness Map Specular Map Render
↓
Edit Diffuse Map Diffuse Map Normal Map Roughness Map Specular Map Render


Input Diffuse Map Normal Map Roughness Map Specular Map Render
↓
Edit Flat surface Diffuse Map Normal Map Roughness Map Specular Map Render


Input Diffuse Map Normal Map Roughness Map Specular Map Render
↓
Edit Bumpy, irregular surface Diffuse Map Normal Map Roughness Map Specular Map Render

Reflectivity (Roughness, Specular) Editing

Condition Diffuse Normal Roughness Specular Render
(Masked) (Masked)
Input Diffuse Map Normal Map Roughness Specular Render
↓ ↓
Edit Shiny surface Diffuse Map Normal Map Roughness Map Specular Map Render


Input Diffuse Map Normal Map Roughness Map Specular Map Render
↓ ↓
Edit Rough surface, opaque Diffuse Map Normal Map Roughness Map Specular Map Render


Input Diffuse Map Normal Map Roughness Map Specular Map Render
↓ ↓
Edit Rough surface, opaque Diffuse Map Normal Map Roughness Map Specular Map Render


Input Diffuse Map Normal Map Roughness Map Specular Map Render
↓ ↓
Edit Rough surface, low reflectance Diffuse Map Normal Map Roughness Map Specular Map Render

Map Inpainting

Diffuse Normal Roughness Specular Render
Input Diffuse Map Normal Map Roughness Specular Render
Edit Diffuse Map Normal Map Roughness Map Specular Map Render


Input Diffuse Map Normal Map Roughness Map Specular Map Render
Edit Diffuse Map Normal Map Roughness Map Specular Map Render


Input Diffuse Map Normal Map Roughness Map Specular Map Render
Edit Diffuse Map Normal Map Roughness Map Specular Map Render

官方补充文件 results/editing.html · CVPR ZIP 来源 · 图片保留原始布局,不重新绘制

补充 F · 完整 TileGen 对照画廊(80 个原始分图)

Wood

Diffuse Normal Roughness Specular Render
TileGen Diffuse Map Normal Map Roughness Specular Render
TileGen Diffuse Map Normal Map Roughness Specular Render
MatFuse Diffuse Map Normal Map Roughness Specular Render
MatFuse Diffuse Map Normal Map Roughness Specular Render

Stone

Diffuse Normal Roughness Specular Render
TileGen Diffuse Map Normal Map Roughness Specular Render
TileGen Diffuse Map Normal Map Roughness Specular Render
MatFuse Diffuse Map Normal Map Roughness Specular Render
MatFuse Diffuse Map Normal Map Roughness Specular Render

Leather

Diffuse Normal Roughness Specular Render
TileGen Diffuse Map Normal Map Roughness Specular Render
TileGen Diffuse Map Normal Map Roughness Specular Render
MatFuse Diffuse Map Normal Map Roughness Specular Render
MatFuse Diffuse Map Normal Map Roughness Specular Render

Marble

Diffuse Normal Roughness Specular Render
TileGen Diffuse Map Normal Map Roughness Specular Render
TileGen Diffuse Map Normal Map Roughness Specular Render
MatFuse Diffuse Map Normal Map Roughness Specular Render
MatFuse Diffuse Map Normal Map Roughness Specular Render

官方补充文件 comparison/tilegen.html · CVPR ZIP 来源 · 图片保留原始布局,不重新绘制

补充 G · 完整 CLIP 最近邻画廊(24 个原始分图)
Input (MatFuse output) Nearest Neigbor #1 Nearest Neigbor #2 Nearest Neigbor #3 Nearest Neigbor #4 Nearest Neigbor #5
Input Neigbor #1 Neigbor #2 Neigbor #3 Neigbor #4 Neigbor #5
Input Neigbor #1 Neigbor #3 Neigbor #4 Neigbor #2 Neigbor #5
Input Neigbor #1 Neigbor #2 Neigbor #3 Neigbor #4 Neigbor #5
Input Neigbor #1 Neigbor #2 Neigbor #3 Neigbor #4 Neigbor #5

官方补充文件 results/search.html · CVPR ZIP 来源 · 图片保留原始布局,不重新绘制

完整官方补充材料。画廊原图内嵌以确保该部分离线可用;主文网络图来自固定 arXiv 版本,需联网加载。

15 · Reviewer commentary:强项、证据缺口与失败模式

有依据的强项

不能被结果表掩盖的不足

作者未来工作与本页分析分开

Author Claim / Future Work:patch-based 方案减小高分辨率成本;引入更高级局部控制(如 ControlNet)支持单图 SVBRDF 估计;扩展 segmentation 等输入条件、加强可平铺控制。Our Interpretation:这些都需要新的训练与实验,不能从现有结果直接推导其可行收益。若优先做复现,应先关闭数据/配置差异,再讨论新架构,否则提升无法归因。

16 · 面向 Procedural Material Generation 的可执行研究延伸

Research Extension:以下均是建议实验,不是 MatFuse 已实现的功能。MatFuse 可以当目标贴图先验或评价参照,但它本身不生成 SBS/SBSAR、CompactSBS、节点类型、连线、节点顺序、shader程序;没有图有效性校验、compiler、拓扑搜索、agent反思或 renderer-in-the-loop 的测试时优化。

研究方向具体方案与变量必须做的对照成功指标与风险
属性分块的程序生成把结构、颜色、粗糙度子图设为可识别子程序,共享底层pattern节点;从图程序执行结果监督多属性latent无分块单序列;只分token不分执行图;同参数量模型节点/边有效率、共享结构一致性、局部编辑外区域漂移;过度解耦可能破坏真实属性耦合
MatFuse → 程序蒸馏先生成SVBRDF目标,再检索或合成可执行材质图 \(G\),优化参数 \(\theta\) 逼近多光照渲染直接图生成、仅单RGB拟合、仅贴图误差拟合重渲染误差、graph复杂度、可编辑性、分辨率外推;随机贴图细节可能无法由短程序表达
执行反馈驱动搜索候选图执行后比较法线/roughness/渲染残差,用具体差异选择节点替换或参数更新无反馈、只CLIP打分、随机编辑、固定预算beam search固定执行次数下的成功率、修复率、成本;需区分拓扑搜索和连续参数优化
周期一致的联合扩散训练与推理同时处理周期边界,结合shift-equivariant约束而非只decoder前padding原方法、仅circular padding、周期训练、周期训练+边界loss所有四图边界值/梯度及多尺度平铺render误差;边界变好不可牺牲整体多样性
受控属性编辑基准固定结构逐步增加roughness语义,固定normal只改颜色;测量目标变化与非目标泄漏latent mask、像素mask、独立decoder、共享decoder单调性、局部遵循、像素保护、重光照稳定;需要真实物理参数标注
\[ (G^{\ast},\theta^{\ast})=\arg\min_{G,\theta} \sum_{\ell,v}w_{\ell,v} d\!\left(R(G,\theta;\ell,v),R(\hat{\mathbf{x}};\ell,v)\right) +\lambda_{c}\operatorname{Complexity}(G) +\lambda_{b}\operatorname{BoundaryError}(G). \]

这是“生成贴图→可编辑程序”的建议目标:\(G\) 为节点拓扑,\(\theta\) 为连续参数,目标 \(\hat{\mathbf{x}}\) 可来自 MatFuse,\(d\) 可组合感知与像素距离。复杂度项鼓励短程序,边界项控制平铺。此目标不保证可微:连续参数可经 DiffMat 等可微执行器优化,离散节点/连线仍需搜索或结构生成;应分别记录执行失败、不可支持节点和bitmap依赖。

最值得先做的一项:在统一父材质 split 和固定预算下比较“单RGB外观loss”“四图loss”“多光照rendering loss”,并报告非目标属性编辑泄漏。它直接检验 MatFuse 最关键的物理一致性主张,且能自然连接到可执行程序拟合,而无需先训练一个庞大 agent 系统。

17 · 来源、复核路径与交付边界

  1. 固定原 PDF 2308.11408v3:正文、公式、Figure 1–8、Table 1–3;SHA-256 13e67b8ac17cc0964b62ae89a8e3687fa10384ee31a0ab7ecbd5e789e246d6d3
  2. 固定 arXiv HTML:获取主文原图资源;该转换漏了PDF teaser,图号较PDF偏移1,因此本页按PDF编号重标
  3. CVPR 2024 官方页:venue、页码、supplement入口;正式 DOI
  4. 官方 supplement.zip:架构参数、全部消融/生成/编辑/对照/近邻画廊
  5. 官方代码固定提交:两份config、multi-encoder、DDIM、条件编码、loss、Dataset、inference helper及后续Diffusers路径
  6. 作者 Hugging Face 模型卡:当前权重与集成说明,和2024论文设定分开解释。原项目页在本次直连核查返回404,未将失效页面当作唯一来源

本页完成的是原文精读、补充材料整合和静态代码审阅,不声称重新训练模型、复现实验数值或执行推理。HTML 保留单文件,MathJax 3 内嵌;主文的外部原图需联网,补充图已内嵌。按用户要求,本轮仅做静态校验,浏览器中的公式渲染、图片加载和响应式布局验收延后,没有将其标成通过。