PAPER READING · arxiv2406.09293v1 ·2024-06-13·11页

StableMaterials

以共享潜空间和半监督对抗训练吸收无标注纹理,再蒸馏为少步可平铺PBR生成器

Giuseppe Vecchio · Independent Researcher, Italy(固定v1署名)

01 · 用没有材质标注的纹理扩大生成范围

PBR材质需要多张物理属性图,昂贵且种类有限;SDXL能生成丰富纹理,却只给一张RGB。StableMaterials通过共享潜空间,让无标注纹理也参与材质扩散训练,再用对抗约束维持材质分布,最后蒸馏为少步模型并处理平铺与高分辨率。

原Figure1分图
原Figure1 · 原图与分图来源
两种“蒸馏”要分清:第一种把SDXL生成纹理的多样性转移到材质模型,依赖共享编码与半监督对抗训练;第二种把多步材质扩散蒸馏成LCM以加快采样。SDXL不是在每次最终推理时先画图再交给固定逆渲染器。

输出是Basecolor、Normal、Height、Roughness、Metallic五类图。基本分辨率512²,用refiner得到更高分辨率,四步base加两步实际refinement的示例可到4K。论文主要以定性比较说明多样性提升,唯一原编号数值表测VAE重建,不是完整生成质量benchmark。

固定来源:用户arXiv2406.09293v1,2024-06-13,11页。作者模型仓库提供base LDM/LCM;后续正式发表身份与固定版本分开记录。

02 · 标题与2026正式版本的区别

固定PDF标题是“StableMaterials: Enhancing Diversity in Material Generation via Knowledge Distillation and Semi-Supervised Learning”,原笔记与arXiv元数据使用较短标题,少了加粗部分。唯一作者Giuseppe Vecchio,固定稿署Independent Researcher, Italy并列个人联系邮箱。本次保留原笔记,不把后续机构信息倒写到2024版本。

本次查到Adobe官方发表页与CVF出版记录标注CVPR2026、19665–19675页。以下训练与结果全部以用户2024固定v1为准;不把后来发表年份替代原文件版本。

旧项目地址本次返回404,CVF全文入口访问受限;原文提到的独立补充资料(包括200条完整提示词、更多消融与编辑)未取得,不能声称看完。用户11页PDF中的13幅图与全部正文已覆盖,未获补充部分单独保留来源缺口。

03 · 材质表示与共享潜空间

采用Cook–Torrance微表面模型、GGX分布;roughness控制镜面瓣宽度,metallic区分导体区域,basecolor控制基色,normal/height表示中尺度结构。它没有直接生成程序图、实际几何网格、透射/次表面散射,不能与完整BTF表示等同。

先训练MatFuse式多编码器VAE,每张图有独立encoder,latent沿通道拼接:

\[z_i=\mathcal E_i(M_i),\quad z=\operatorname{concat}(z_1,\ldots,z_N),\quad\hat M=\mathcal D(z).\]

压缩模型同时使用像素L2、LPIPS、patch对抗、渲染loss和KL正则,目的不只是各贴图单独看起来合理,还希望多图联合渲染正确。原文未给每一项的完整系数表,不补造数值。

随后固定decoder,训练一个single encoder读取拼接材质图并压到相同latent。再固定decoder训练texture encoder,将单张纹理/basecolor压入同一空间。这让未标注RGB拥有可供扩散学习的latent,但不意味着它的隐藏roughness/metallic已有真实监督。

原Figure2分图
原Figure2 · 原图与分图来源

single encoder阶段减少编码器重复计算,保留原多图潜空间结构。全文称latent为disentangled,是沿用设计与训练约束,并未提供严格统计独立性证明。部署时扩散直接产生latent,decoder输出材质;编码器主要用于训练/输入表示,不是先运行SDXL的实时必经步骤。

04 · 文本与图片提示怎样控制生成

CLIP将文字或环境光材质渲染编码为全局特征向量。训练时从两种提示方式选一种:text drop75%、image drop25%,相当于更常使用图片条件,不能误说75%的训练都是文本。没有caption的材质用描述性tags拼文字。

输入图片提供整体外观,不是完整的多视角观测。生成的材质与图像视觉相似,但仍可能改变微结构和物理属性;它不是保证精确重建的单图SVBRDF测量。文字提示也受全局CLIP表示限制,复杂空间关系与精细图案是已报告失败类型。

数据角色已知内容学习信号
标注材质五类PBR图、渲染、caption/tags材质latent去噪和真实材质分布
SDXL纹理RGB纹理与文字,没有物理图真值texture encoder编码后的去噪与生成侧对抗约束
用户提示文字或图片CLIP条件,不直接充当全通道真值

05 · 半监督损失如何使用“没有标签”的数据

原Figure3分图
原Figure3 · 原图与分图来源

先以材质数据训练基础扩散,再加入SDXL纹理。设 \(z_{t,\mathrm{mat}}\) 与 \(z_{t,\mathrm{tex}}\) 分别是两类样本的加噪latent。原Eq.1的公式把噪声与预测之间印成逗号,配套文字明确说比较二者误差;按噪声MSE意图可清晰写为:

\[\mathcal L_{\mathrm{sup}}=\mathbb E\lVert\epsilon_t-\epsilon_\theta(z_{t,\mathrm{mat}},t,c)\rVert_2^2+\alpha\,\mathbb E\lVert\epsilon_t-\epsilon_\theta(z_{t,\mathrm{tex}},t,c)\rVert_2^2,\quad\alpha=0.15.\]

这里明确显示条件c方便理解,原简式省略c;减号是依据原文noise-error定义的解释,而不是声称所查训练代码已验证。纹理虽然没有PBR标签,加噪过程中的epsilon却是自己采样的,所以仍能计算噪声目标。这种“sup”不等于监督了纹理对应的真实材质图。

判别器 \(D_L\)在latent空间分辨真实材质与去噪生成latent,generator在有标注/无标注两类样本上受约束;discriminator训练使用标注材质侧的real/fake样本。原Eq.2为:

\[\mathcal L_{\mathrm{adv}}=-\mathbb E[D_L(z_{t-1})].\]

原文把两数据来源去噪latent记作concat,这里应理解为组成训练批/样本集合,不能据此随意将18通道加倍。判别器结构沿diffusion U-Net encoder并从其权重初始化,依赖时间和CLIP条件;real是对应噪声水平的材质VAE编码,fake是generator的一步去噪结果。它用hinge loss训练。

把texture encoder输出向真实材质分布拉近,可以抑制非物理latent,但不能识别一张无标注纹理究竟应是金属还是绝缘体。分布匹配只提高“像材质”的合理性,不给不可观测属性提供唯一真值。论文承认out-domain材质有误判metallic的情况。

06 · LCM少步生成与第二种蒸馏

在多步模型后fine-tune Latent Consistency Model,学习 \(f_\theta(z_t,c,t)\mapsto z_0\),近似带guidance的概率流ODE终点。训练比较跨k步的状态一致性而非仅相邻步,目的是用少量函数调用替代长去噪链。

不要把这个LCM目标与前一节SDXL纹理知识转移混为一谈,也不要把“consistency”理解成五张材质图已经具有严格物理一致性。前者是扩散轨迹/终点的一致性定义。

引言说每阶段可四步,技术部分明确使用四步base、SDEdit strength .5下两步实际refinement。512²只需base,较高分辨率走两阶段;“所有分辨率总共只四步”不符合给定计时流程。更少步让传统noise rolling不足以反复修边,于是需要层内feature rolling。

07 · Feature rolling与高分辨率refiner

Noise rolling在扩散迭代之间移动latent,把原边缘变成内区后去噪,依赖多次迭代。少步时缝未充分消失。单纯circular padding虽不依赖步数,但在分patch处理中可能让每个patch独立自平铺,破坏跨patch整体结构。

Feature rolling把平移放进U-Net的卷积和attention层:随机循环平移特征,做当前层运算,再逆向移回。简写为 \(F'(h)=R_{-\delta}F(R_\delta h)\),这是对操作顺序的解释,不是原文新增编号公式。这样每次模型调用内有多次边界变化;结构复杂材质先生成总体构图后再开启rolling。

Patch diffusion Two-stages pipeline
原Figure10分图 原Figure10分图
‘Tortoise shell.’
原Figure10 · 原图与分图来源

只在更大latent上patched diffusion会把图案放大/重复,或让patch之间尺度不一致;高分辨率不只是让画布更大。本文先在512²确定整体内容,再上采样并用refiner做SDEdit。strength .5在新细节和保留整体之间折中,refiner训练使用4K材料的原生512²crop,不先降分辨率,所以学习高频细节。

Base Refined Base Refined
原Figure9分图 原Figure9分图 原Figure9分图 原Figure9分图
原Figure9 · 原图与分图来源

此过程是细化先验,不保证恢复真实未观测细节。局部纹理可更锐利,也可能凭空补出不正确结构。论文没有提供tileability定量曲线或全部patch位置的一致性度量,相关优势主要来自图例。

08 · 训练数据与全部已报告超参

标注数据由MatSynth与Deschaintre等2018数据组成,6198种唯一PBR材质,使用各原数据训练/测试划分。再加4000个SDXL纹理–文字对,由200条ChatGPT建议的材质prompt生成。这里“out-domain”表示不在标注材质类别里,但可出现在这4000张未标注纹理训练中,不等于完全没见过的零样本语义。

阶段步数batch优化器/学习率其他
多编码器VAE1,000,0008Adam,4.5e−4300,000步后开patch对抗项
单材质encoder100,000未单列未单列decoder冻结
texture encoder100,000未单列未单列decoder冻结
监督latent diffusion400,00016AdamW,3.2e−5U-Net18输入/输出通道
半监督fine-tune200,0008未单独给新学习率纹理项权重.15
refiner50,00016学习率2e−7原生4K材质crop
LCM10,00016AdamW,1e−6linear beta,推理T=4

所有模型在一张RTX4090、24GB显存训练,以梯度累积达目标batch。正文没有总训练天数、各累积次数、全部随机种子或每项loss系数,不将别的模型默认设置伪装成作者参数。VAE多encoder→single encoder总参数从271M到101M,减少约62.7%(按报告值计算),不代表扩散主干也缩小62.7%。

09 · 速度与显存:完整报告数字

输出分辨率LCM时间LCM显存LDM/DDIM时间
512²0.6秒未单列未报告
1024²1.5秒6.5GB未报告
2048²4.9秒7.4GB20.6秒
4096²18.6秒12GB65.4秒

条件是固定seed、半精度、最多8patch并行;LCM四步生成+两步细化,对照DDIM50步生成+25步细化。2K时间比约4.20、4K约3.52(本精读计算),不是按步数比例直接得到12.5倍。预处理、模型载入和硬件状态未详细列出,不能当作任意电脑上的时延保证。

模型卡目前只承诺发布base LDM/LCM,refiner与inpainting仍标待发布;因此不能用现有公开base pipeline声称完整复现本文4K两阶段速度。本次仅阅读,不运行benchmark。

10 · 图像/文本生成及比较

Prompt Basecolor Normal Height Rough. Metallic Render  Prompt Basecolor Normal Height Rough. Metallic Render
原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图  原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图
原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图  原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图 原Figure4分图
原Figure4 · 原图与分图来源
Basecolor Normal Height Rough. Metallic Render  Basecolor Normal Height Rough. Metallic Render
原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图  原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图
‘Old rusty metal bars.’ ‘Fish scales reflecting a multitude of colors .’
原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图  原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图 原Figure5分图
‘Old wooden parquet floor.’ ‘Batik fabric with Indonesian patterns.’
原Figure5 · 原图与分图来源

原图每组含in-domain与来自未标注纹理侧的out-domain示例,说明半监督模型能扩展标注材质分布之外的外观。它们是有意选出的定性展示,不能据此估计成功率、跨seed多样性或精确物理恢复。

Prompt MatFuse MatGen Material Palette Stable Materials Prompt MatFuse MatGen Material Palette Stable Materials
原Figure6分图 原Figure6分图 原Figure6分图 原Figure6分图 原Figure6分图  原Figure6分图 原Figure6分图 原Figure6分图 原Figure6分图 原Figure6分图
原Figure6分图 原Figure6分图 原Figure6分图 原Figure6分图 原Figure6分图  原Figure6分图 原Figure6分图 原Figure6分图 原Figure6分图 原Figure6分图
原Figure6 · 原图与分图来源
MatFuse MatGen Substance 3D Sampler Stable Materials MatFuse MatGen Substance 3D Sampler Stable Materials
原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图
‘Cobblestone walkway covered in snow. Stones in different sizes and colors.’ ‘Italian velvet fabric with Renaissance art inspired prints.’
原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图 原Figure7分图
‘Volcanic lava.’ ‘Coral pavona with a bumpy and porous texture.’
原Figure7 · 原图与分图来源

比较对象是MatFuse(以MatSynth训练)、MatGen、MaterialPalette、Adobe Substance3D Sampler。当时MatGen和Sampler用私有数据,其他方法用公开集;直接生成PBR图与先RGB再估属性的两阶段方法成本和先验不同,不是统一训练集公平消融。

文中认为MatFuse的256²限制细节,MatGen有过锐化与复杂prompt匹配问题,RGB→材质链有透视/光照混入风险。但v1未给生成FID/CLIP/用户盲评主表,“state-of-the-art”主要建立在示例比较上。正文“unbiased”是对生成偏差的描述性用词,不是统计无偏估计的数学证明。

关于MaterialPalette“每个prompt都微调LoRA”的表述是本文对对手的概括,不等于该方法所有生成/编辑阶段都每次重训;其原任务是按输入材质图像做适配。对跨论文综述应回到该方法原文区分训练对象和运行流程。

11 · VAE定量表与其他定性消融

原 Table 1

Basecolor Normal Height Rough. Metallic
Multi-\(\mathcal{E}\) (271M par.) 0.030 0.035 0.030 0.032 0.016
Single-\(\mathcal{E}\) (101M par.) 0.028 0.037 0.030 0.032 0.015

原表来源

单encoder的Basecolor RMSE .028优于多encoder .030,Normal .037略差于.035,Height与Roughness相同,Metallic .015略好于.016。因而是总体相近且参数更少,不是每个通道都改善。表测重建真材质,不是从文字生成“真值材质”的误差。

In-domain samples Out-domain samples
W/o Semi-supervision W/ Semi-supervision W/o Semi-supervision W/ Semi-supervision
原Figure8分图 原Figure8分图 原Figure8分图 原Figure8分图
‘Terracotta brick wall with white grout.’ ‘Kilim Rugs carpets with complex geometric patterns.’
原Figure8 · 原图与分图来源

半监督开关图表明基础模型能生成标注域材料,却对Kilim地毯等更陌生类别表现弱;加SDXL纹理及对抗训练后视觉改善。没有单独拆分texture噪声项、判别器、纹理量和CLIP条件的全面数值消融,因此无法据本图量化每个组件的独立贡献。

Figure9表明refinement提升局部细节,Figure10表明base→refiner较单纯大画布patch扩散更能保持图案尺度。未公布统一sharpness指标、重复次数和误差棒,解读应限定为这些图例。

12 · 官方代码审计:公开能力和版本差异

检查作者HF仓库固定提交4d45273…的pipeline与配置,未下载权重、未执行trust_remote_code。仓库包含base U-Net、LCM U-Net、VAE、CLIP与scheduler,没有完整训练器和已发布refiner入口。

检查项代码观察含义
扩散通道UNet18→18,sample_size64,cross_attention_dim76818是latent通道,不是18张PBR图
LCM条件time_cond_proj_dim256guidance通过LCM时间条件投影进入,区别普通CFG路径
VAE配置in/out9、latent18、sample512、scale.18215须与pipeline打包协议一起读
材质解包实际读取basecolor0:3、normalXY3:5、height5:6、roughness6:7、metallic7:8,重建normalZ9通道配置与只消费前8通道存在接口疑点;未运行验证其训练意图
rolling开始i≥len(timesteps)//4才开卷积rolling四步时跳过第一步,50步时跳过前12步,不严格等于每种步数都只跳首步
卷积实现roll→circular padding→卷积→裁边→unroll不是完全禁用circular padding,而是与rolling组合
注意力实现在patched模式中roll/patch,最多8patch一批,再合并unroll并非所有开关组合下每层都同样滚动
普通CFG空条件缺省负条件使用黑色512²图片编码不等同于空字符串text embedding

全局猴子补丁会暂时替换Conv2d/Transformer2DModel.forward;若接入并发服务应审查线程隔离和异常后的恢复。本次只指出源码结构,不声称发生了运行时错误。官方基础pipeline支持高分辨率patched生成,也不能据此假定它已经包含论文的独立refiner阶段。

13 · 有哪些物理与统计局限

(1) (2) (3)
原Figure11分图 原Figure11分图 原Figure11分图
‘Squared tiles enclosed by rectangular tiles.’ ‘Yukata fabric with patterns of dragons.’ ‘Shoji Screens made of paper and wood.’
原Figure11 · 原图与分图来源

复杂空间关系和细致图案仍困难,未标注域材质可能被错误当金属。根本原因是RGB外观不唯一决定PBR属性:相似图像可以来自不同灯光、粗糙度与反照率组合。对抗“像材质”只能限制分布,不能补回缺失的每样本真值。

14 · PMG与后续研究问题

以下为本精读建议,不是论文已经完成的实验。

  1. 用文本图像模型扩充外观时,同时构建可验证的物理属性弱标签或跨光照约束,减少“看起来像、金属性却错”的漏洞。
  2. 比较混合latent分布与显式材质程序图的学习:前者易采样,后者更可编辑,但要保证语义变化与参数节点变化对应。
  3. 为feature rolling设计接缝误差、法线连续性、结构重复和视觉偏好联合指标,不只展示平铺后的最好案例。
  4. 将半监督知识转移与LCM加速分开消融,测质量–时间–多样性三维权衡。
  5. 补全release复现协议:固定输入打包顺序、normalXY/Z约定、模型版本、refiner权重与完整参数。