材质捕获具有固有多解性
照片像素同时混合反射率、表面几何、照明、相机响应与遮挡。单次前向回归容易把高光写进 base color,把阴影误认为 height。ControlMat 采用生成分布处理这种不确定性:同一照片可以对应多组物理上合理的材质属性。
现有方法的缺口
闪光方案提供镜面信息,却容易过曝并限制采集尺度;自然光回归方案更适合户外漫反射材料,通常弱化空间变化 roughness 与 metalness;GAN 隐空间优化需要逐样本搜索;已有扩散材质方法缺少高分辨率与严格平铺能力。
核心假设
先让 MatGen 学习完整材质分布,再用全局 CLIP 条件维持整体语义、用 ControlNet 条件保留局部布局。采样过程承担歧义,推理阶段的周期平移与尺度递进承担分辨率和平铺约束。

输入、输出与材质通道
输入
主要任务输入为 RGB 材质照片与二值 mask,拼接成 \(c_i\in\mathbb{R}^{H\times W\times4}\)。完整照片还经 CLIP image head 形成全局条件。纯生成模式可以使用图像提示或文本提示;文本嵌入先经过 DALL·E 2 风格 diffusion prior 转成图像 CLIP 嵌入。
输出
输出 \(\mathbf M\in\mathbb{R}^{H\times W\times9}\):base color \(b\) 三通道、normal \(n\) 两通道、height \(h\) 一通道、roughness \(r\) 一通道、metalness \(m\) 一通道、opacity \(o\) 一通道。
| 通道 | 维数 | 物理/艺术含义 | 论文评测 |
|---|---|---|---|
| Base color \(b\) | 3 | 漫反射颜色;目标是剥离阴影与高光 | RMSE、SSIM、LPIPS |
| Normal \(n\) | 2 | 局部方向,控制细节受光 | 余弦距离 |
| Height \(h\) | 1 | 介观起伏与位移 | 归一化后 RMSE |
| Roughness \(r\) | 1 | GGX 镜面瓣宽度;低值更光亮 | RMSE |
| Metalness \(m\) | 1 | 区域是否表现为裸金属 | RMSE |
| Opacity \(o\) | 1 | 透明/裁切区域 | 正文没有定量评测 |
全局条件与局部条件分工

VAE 训练目标
全局 cross-attention 与 LDM
空间条件
分辨率能力来自推理算法
Noise rolling
每一步去噪之前,把完整潜噪声沿 \(x,y\) 周期平移;把平移后的张量切成不重叠 patch 并逐块更新;重组后再反向平移。边界位置持续变化,模型无法把固定拼接缝当成稳定结构。

输入:步数 T,最大平移 max_roll,潜空间 patch 大小 p
z ← sample_noise()
for t = 0 … T-1:
r_x, r_y ← random(0, max_roll)
z ← roll(z, (r_x, r_y))
patches ← patch_noise(z, p)
patches ← sample(patches, t)
z ← unpatch_noise(patches)
z ← roll(z, (-r_x, -r_y))
return z边界补绘

多尺度扩散
Patch 解码

训练资产、优化配置与推理成本
训练数据
- 8,615 个 Adobe Substance 3D 参数化材质 graph。
- 约 126,000 个参数变化;每份 2048×2048 SVBRDF。
- 每份变化渲染 14 个 IBL/ray-tracing 视图,室内外 HDR 按类别选择。
- 旋转、缩放、裁剪到 512×512,得到约 800k 材质 crop 与约 10M 渲染—材质对。
- VAE 使用约 800k;LDM 使用约 10M;ControlNet 使用约 2.5M。
独立测试数据
- 66 个未使用 Substance 3D 库资产的材质:AmbientCG 27、PolyHaven 26、Textures.com 13。
- 每个材质使用四个训练阶段未出现的 environment illumination 渲染,共 264 个输入。
- 真实照片来自 smartphone、DSLR 与 Web;论文没有报告数量与正式 split。
| 组件 | 优化器 | 学习率 | 每 GPU batch | 迭代 | 硬件 | 时间 | 说明 |
|---|---|---|---|---|---|---|---|
| KL-VAE | Adam | \(4.5\times10^{-6}\) | 9 | 390k | 8×A100 40GB | 240h | 50k 后启用 adversarial loss |
| LDM | Adam | \(2\times10^{-7}\) | 44 | 300k | 8×A100 40GB | 180h | U-Net base channels 320 |
| ControlNet | Adam | \(2\times10^{-7}\) | 44 | 350k | 8×A100 40GB | 240h | 冻结 LDM;10% condition dropout |
| 输出分辨率 | 推理时间 | 显存 | 备注 |
|---|---|---|---|
| 512×512 | 3 秒 | 未单列 | 50-step DDIM,fixed seed |
| 1024×1024 | 18 秒 | 12 GB | 多尺度 |
| 2048×2048 | 43 秒 | 18 GB | 最多并行 8 个 patch |
| 4096×4096 | 350 秒 | 20 GB | 完成全部较低尺度 |
速度在单张 A10G 24GB 上测量。减少并行 patch batch 可以继续节省显存,同时增加推理时间。
定量结果支持材质估计优势
SurfaceNet 在本文合成训练集上重新训练;MaterIA 使用 Substance Sampler 中已发布模型,它只在同源 procedural assets 的 outdoor 子集上训练,也不输出 metalness。基线训练范围存在差异。
Table 1 · RMSE 与 normal cosine distance(越低越好)
| Image type | SurfaceNet | MaterIA | ControlMat |
|---|---|---|---|
| Renderings | 0.114 ± 0.005 | 0.123 ± 0.006 | 0.097 ± 0.004 |
| Base color | 0.108 ± 0.008 | 0.103 ± 0.008 | 0.067 ± 0.005 |
| Normal(Cos dist) | 0.308 ± 0.026 | 0.318 ± 0.023 | 0.280 ± 0.022 |
| Height | 0.258 ± 0.014 | 0.251 ± 0.014 | 0.216 ± 0.012 |
| Roughness | 0.378 ± 0.014 | 0.368 ± 0.028 | 0.304 ± 0.013 |
| Metallic | 0.108 ± 0.028 | 未输出 | 0.076 ± 0.023 |
Rendering RMSE 对四种环境光取平均;± 为跨光照 RMSE 的 95% confidence interval。高度图先归一化到 \([0,1]\)。论文没有给出逐材质方差、统计检验或 effect size。
Table 2 · 感知指标
| Image type | Metric | SurfaceNet | MaterIA | ControlMat |
|---|---|---|---|---|
| Renderings | SSIM ↑ | 0.677 | 0.719 | 0.729 |
| LPIPS ↓ | 0.239 | 0.211 | 0.184 | |
| Base Color | SSIM ↑ | 0.625 | 0.650 | 0.677 |
| LPIPS ↓ | 0.274 | 0.256 | 0.239 |
Table 2 依据 arXiv TeX 重建,避免 PDF 双栏文字抽取造成 Renderings 与 Base Color 行错位。
Figure 7 · 生成模型比较
TileGen / Stone
MatFuse / Stone
MatGen / StoneMatGen 与 MatFuse 用类别名作为全局条件;TileGen 使用类别专门模型。80 个样本上的 CLIP-score 为 MatGen 26.15、MatFuse 23.19。该指标衡量文本类别匹配,无法单独证明 SVBRDF 物理正确性;MatFuse 对比版本来自作者并限制为 256×256、不可平铺。
Figures 12–14 · 推理设计消融
Figure 12 · Naïve
Figure 12 · Overlap
Figure 12 · RollingNaïve patch 产生明显断层;overlap 缓解断层,增加 patch 数量并残留低频差异;rolling 使用与 naïve 相同 patch 数量,同时改善接缝与整体平铺。论文没有提供 seam error 数值。
Figure 13 · 1K Native
Figure 13 · Multi-scale保留大结构、细节与 normal 方向一致性。
生成总时间最多增加约 40%。
Figure 14 · Naïve
Figure 14 · Overlap
Figure 14 · Mean matching2K 一次性解码峰值显存 20GB,patch 解码为 14GB;4K 一次性解码出现 OOM,patch 解码仍为 14GB,每个解码 patch 约 150ms。论文没有报告图像质量数值消融。
公开材料只能核查算法说明
可以核查
- arXiv v3 提供完整正文 TeX、原始图表和数值表。
- 论文声明实现基于 lllyasviel/ControlNet。
- 复制权重初始化、冻结 LDM、10% condition dropout 与四通道条件都在正文明确给出。
- DOI、卷期、作者顺序与 17 页页数可由正式版本核实。
无法核查
- 作者公开 GitHub 没有 ControlMat 代码仓库。
- 项目页
gvecchio.com/controlmat/当前返回 404。 - 模型权重、数据生成器、完整配置和 supplemental 没有公开可复查副本。
- 内部 diffusion prior 的训练集规模、架构细节与授权边界没有公开。
结论强度取决于证据类型
Strengths
表示完整
一次生成九个相互关联的通道,覆盖 diffuse、specular、mesostructure 与 opacity,保留 normal 与 height 的艺术语义差异。
系统连贯
全局条件处理语义,局部条件处理布局,rolling 处理周期边界,多尺度处理低频,patch 解码处理显存。
实验清晰
提供分通道数值、rerendering、多种感知指标、真实照片、生成对比和三组关键消融。
Weaknesses
监督数据与资源无法获得
核心 10M 合成对来自 Adobe Substance 3D Assets 与内部生成流程。公开读者无法重建同一训练分布,完整训练包含多个 8×A100 长周期阶段。
真实场景缺少数值评测
真实照片只有定性比较;样本数量、筛选方法与拍摄条件没有报告。自然光输入没有物理真值,多解性允许合理偏差,仍需多视图或实物测量验证。
基线范围有限
SurfaceNet 获得全量重训练,MaterIA 使用户外子集模型且不预测 metalness。MaterialGAN 等优化型方法在讨论中出现,没有进入主定量表。
关键消融只有图片
rolling、multi-scale、mean matching 缺少周期误差、normal consistency、frequency preservation 与感知质量数值,难以量化各组件收益。
Figure 15 · 已确认限制
生成性带来的颜色偏移
强结构边界补绘破坏排列
暗角被误判为 metalness可以实施的研究延伸
- 显式光照变量:把 environment illumination 编码为 latent nuisance variable,让 base color、roughness、metalness 的后验条件化在光照解释上。
- 渲染闭环排序:对同一输入采样多个 SVBRDF,在多个 HDR 下渲染,用图像一致性、周期边界和材质先验联合选择。
- 结构感知平铺:先估计晶格、方向场或重复单元,再让 border inpainting 遵循离散对应关系,减少砖墙、织物和非轴对齐结构断裂。
- 不确定性可视化:按通道计算候选方差,显示哪些 roughness 或 metalness 区域缺少照片证据。
- 频率分工:低尺度过程预测 height/normal 的低频结构,高尺度过程专注微细节,并增加跨尺度 integrability 与 normal-from-height consistency loss。
一手资料与核查范围
- Vecchio, G. et al. “ControlMat: A Controlled Generative Approach to Material Capture.” ACM Transactions on Graphics 43(5), Article 164, 2024. DOI: 10.1145/3688830.
- arXiv:2309.01700v3:公开正文、TeX、图表源文件与版本身份。
- lllyasviel/ControlNet:论文明确声明使用的官方 ControlNet 基础实现。
- Adobe Research 作者页面:出版年份、期刊与作者关联。
- 本地固定 PDF:
Reading/Papers/2309.01700v3.pdf,17 页,SHA-25688267dfbb81ae9dc153d2fd3582504c79d157781905a0f7d02bd26672c895a20。