01 · 用没有材质标注的纹理扩大生成范围
PBR材质需要多张物理属性图,昂贵且种类有限;SDXL能生成丰富纹理,却只给一张RGB。StableMaterials通过共享潜空间,让无标注纹理也参与材质扩散训练,再用对抗约束维持材质分布,最后蒸馏为少步模型并处理平铺与高分辨率。
输出是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沿通道拼接:
压缩模型同时使用像素L2、LPIPS、patch对抗、渲染loss和KL正则,目的不只是各贴图单独看起来合理,还希望多图联合渲染正确。原文未给每一项的完整系数表,不补造数值。
随后固定decoder,训练一个single encoder读取拼接材质图并压到相同latent。再固定decoder训练texture encoder,将单张纹理/basecolor压入同一空间。这让未标注RGB拥有可供扩散学习的latent,但不意味着它的隐藏roughness/metallic已有真实监督。
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 · 半监督损失如何使用“没有标签”的数据
先以材质数据训练基础扩散,再加入SDXL纹理。设 \(z_{t,\mathrm{mat}}\) 与 \(z_{t,\mathrm{tex}}\) 分别是两类样本的加噪latent。原Eq.1的公式把噪声与预测之间印成逗号,配套文字明确说比较二者误差;按噪声MSE意图可清晰写为:
这里明确显示条件c方便理解,原简式省略c;减号是依据原文noise-error定义的解释,而不是声称所查训练代码已验证。纹理虽然没有PBR标签,加噪过程中的epsilon却是自己采样的,所以仍能计算噪声目标。这种“sup”不等于监督了纹理对应的真实材质图。
判别器 \(D_L\)在latent空间分辨真实材质与去噪生成latent,generator在有标注/无标注两类样本上受约束;discriminator训练使用标注材质侧的real/fake样本。原Eq.2为:
原文把两数据来源去噪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 |
![]() |
![]() |
| ‘Tortoise shell.’ | |
只在更大latent上patched diffusion会把图案放大/重复,或让patch之间尺度不一致;高分辨率不只是让画布更大。本文先在512²确定整体内容,再上采样并用refiner做SDEdit。strength .5在新细节和保留整体之间折中,refiner训练使用4K材料的原生512²crop,不先降分辨率,所以学习高频细节。
| Base | Refined | Base | Refined |
![]() |
![]() |
![]() |
![]() |
此过程是细化先验,不保证恢复真实未观测细节。局部纹理可更锐利,也可能凭空补出不正确结构。论文没有提供tileability定量曲线或全部patch位置的一致性度量,相关优势主要来自图例。
08 · 训练数据与全部已报告超参
标注数据由MatSynth与Deschaintre等2018数据组成,6198种唯一PBR材质,使用各原数据训练/测试划分。再加4000个SDXL纹理–文字对,由200条ChatGPT建议的材质prompt生成。这里“out-domain”表示不在标注材质类别里,但可出现在这4000张未标注纹理训练中,不等于完全没见过的零样本语义。
| 阶段 | 步数 | batch | 优化器/学习率 | 其他 |
|---|---|---|---|---|
| 多编码器VAE | 1,000,000 | 8 | Adam,4.5e−4 | 300,000步后开patch对抗项 |
| 单材质encoder | 100,000 | 未单列 | 未单列 | decoder冻结 |
| texture encoder | 100,000 | 未单列 | 未单列 | decoder冻结 |
| 监督latent diffusion | 400,000 | 16 | AdamW,3.2e−5 | U-Net18输入/输出通道 |
| 半监督fine-tune | 200,000 | 8 | 未单独给新学习率 | 纹理项权重.15 |
| refiner | 50,000 | 16 | 学习率2e−7 | 原生4K材质crop |
| LCM | 10,000 | 16 | AdamW,1e−6 | linear 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.4GB | 20.6秒 |
| 4096² | 18.6秒 | 12GB | 65.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 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Basecolor | Normal | Height | Rough. | Metallic | Render | Basecolor | Normal | Height | Rough. | Metallic | Render |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Old rusty metal bars.’ | ‘Fish scales reflecting a multitude of colors .’ | ||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Old wooden parquet floor.’ | ‘Batik fabric with Indonesian patterns.’ | ||||||||||
原图每组含in-domain与来自未标注纹理侧的out-domain示例,说明半监督模型能扩展标注材质分布之外的外观。它们是有意选出的定性展示,不能据此估计成功率、跨seed多样性或精确物理恢复。
| Prompt | MatFuse | MatGen | Material Palette | Stable Materials | Prompt | MatFuse | MatGen | Material Palette | Stable Materials |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| MatFuse | MatGen | Substance 3D Sampler | Stable Materials | MatFuse | MatGen | Substance 3D Sampler | Stable Materials |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Cobblestone walkway covered in snow. Stones in different sizes and colors.’ | ‘Italian velvet fabric with Renaissance art inspired prints.’ | ||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Volcanic lava.’ | ‘Coral pavona with a bumpy and porous texture.’ | ||||||
比较对象是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 |
![]() |
![]() |
![]() |
![]() |
| ‘Terracotta brick wall with white grout.’ | ‘Kilim Rugs carpets with complex geometric patterns.’ | ||
半监督开关图表明基础模型能生成标注域材料,却对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_dim768 | 18是latent通道,不是18张PBR图 |
| LCM条件 | time_cond_proj_dim256 | guidance通过LCM时间条件投影进入,区别普通CFG路径 |
| VAE配置 | in/out9、latent18、sample512、scale.18215 | 须与pipeline打包协议一起读 |
| 材质解包 | 实际读取basecolor0:3、normalXY3:5、height5:6、roughness6:7、metallic7:8,重建normalZ | 9通道配置与只消费前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) |
![]() |
![]() |
![]() |
| ‘Squared tiles enclosed by rectangular tiles.’ | ‘Yukata fabric with patterns of dragons.’ | ‘Shoji Screens made of paper and wood.’ |
复杂空间关系和细致图案仍困难,未标注域材质可能被错误当金属。根本原因是RGB外观不唯一决定PBR属性:相似图像可以来自不同灯光、粗糙度与反照率组合。对抗“像材质”只能限制分布,不能补回缺失的每样本真值。
- 定性多样性并非覆盖度统计,不能从几张图证明无模式坍缩或不记忆训练样本;原文提到补充最近邻检索,但本次未取得其完整结果。
- 图像条件描述外观,非精确逆渲染,必须在不同光照检查属性。
- feature rolling减少边缝,不保证任意语义图案周期拓扑合理;对象图案跨边界也可能重复/割裂。
- 高分辨率细化提升视觉细节,同时可能新增与原图不一致的纹理。
- 公开base代码不能验证全部训练loss、refiner和inpainting方案,paper能力与release能力应分开。
14 · PMG与后续研究问题
以下为本精读建议,不是论文已经完成的实验。
- 用文本图像模型扩充外观时,同时构建可验证的物理属性弱标签或跨光照约束,减少“看起来像、金属性却错”的漏洞。
- 比较混合latent分布与显式材质程序图的学习:前者易采样,后者更可编辑,但要保证语义变化与参数节点变化对应。
- 为feature rolling设计接缝误差、法线连续性、结构重复和视觉偏好联合指标,不只展示平铺后的最好案例。
- 将半监督知识转移与LCM加速分开消融,测质量–时间–多样性三维权衡。
- 补全release复现协议:固定输入打包顺序、normalXY/Z约定、模型版本、refiner权重与完整参数。
15 · 固定PDF的完整补充图组
| Prompt | Basecolor | Normal | Height | Roughness | Metallic | Rendering |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Prompt | Basecolor | Normal | Height | Roughness | Metallic | Rendering |
| ‘Old rugged concrete with visible rusty metal bars.’ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Old wooden parquet floor.’ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Scottish tartan wool with intersecting horizontal and vertical bands .’ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Woven Bamboo strips interlaced into a tight pattern.’ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Ancient wood turned into stone through fossilization.’ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Egyptian papyrus with hieroglyphic inscriptions.’ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Electronic circuits used in computers.’ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ‘Crocodile skin with armored scales.’ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
这些是固定11页PDF最后两页图组,分别为图片提示和文字提示,不等于已经获得论文另行提及的独立Supplemental Materials。所有原图分图都保留,远程资源需网络。
- 共享latent为无标注RGB提供训练入口,对抗约束不等于物理真值监督。
- SDXL纹理知识转移与LCM少步蒸馏是两件事。
- single encoder减参数,18通道是latent;模型输出五类材质图。
- 四步base、两步实际refiner是报告计时设置,不是所有输出只四次网络调用。
- 原Table1完整保留;其他比较多为定性,无独立FID/用户实验主表。
- 原笔记字节保留,静态检查完成,浏览器与本地验收延期;未发布或写回vault。












































































































































































































