PAPER READING · 2506.05313v1 · CVPR 2025

MARBLE

在 CLIP 空间中重组与混合材料:定点注意力注入、低秩属性方向与参数化外观控制

Ta Ying Cheng · Prafull Sharma · Mark Boss · Varun Jampani

01 · 固定版本与论文身份

MARBLE: Material Recomposition and Blending in CLIP-Space,Ta Ying / Ta-Ying Cheng、Prafull Sharma、Mark Boss、Varun Jampani。CVPR 2025,正式页码 13061–13071 已由 CVF 会议论文页核实。阅读基准为 arXiv 2506.05313v1(2025-06-05,11 页),PDF 字节哈希与现有笔记对应原件一致;另阅读 CVF 提供的独立 2 页补充材料。补充材料不是主文 PDF 的第 12–13 页,不改原笔记锚点。

第一作者列 University of Oxford,工作在 Stability AI 实习期间完成;首页星号指实习说明,不是通讯作者符号。当前证据没有明确通讯作者标记,因此保留原笔记的 Varun Jampani 候选状态,不把末位作者自动升为 verified。作者姓名中的连字符变体复用原 People 记录,不新建重复人物。

主文 v1 · CVPR 正式记录 · 补充材料 · 官方代码

02 · 这篇论文的核心:控制特征,而非重训生成器

输入一张场景图,MARBLE 可以用另一张材料示例图替换物体外观,也可以混合两种示例材料,或滑动 roughness、metallic、transparency、glow 四类属性。生成的是编辑后的二维 RGB 图像,不是物理 SVBRDF 贴图、Substance 图或可执行材质程序。

方法将工作集中在 CLIP 图像嵌入:只向 SDXL U-Net 中一个选定材质块注入材料特征;两种材质用特征插值;细粒度控制用小 MLP 预测特征位移。冻结原始扩散模型与图像编码器,尽量保留其跨物体和跨风格先验。这里“保持底座不变”不等于全过程无需训练:每个属性控制器仍用合成数据监督训练。

一个注入块

up_blocks.0.attentions.1,补充实验定位,减少材料示例的几何身份污染

四种属性

roughness、metallic、transparency、glow,分别学习位移,再共同组合

300 个物体

250 个训练、50 个验证;不是仅有 300 张图像

原 Figure 1:材质混合与属性控制概览
原 Figure 1 · 材质混合与属性控制概览 · 原论文来源

03 · 为什么单张图像中的材料控制很难?

像素同时混合形状、光照、反射、纹理和遮挡。传统逆渲染想先把它们分解再修改材料,但单视角高度不适定。ZeST 通过预训练扩散先验做示例材质迁移,却不天然提供连续、细粒度的物理属性滑块。Alchemist 对扩散模型做监督适配,可能受合成数据分布影响;这是作者提出的动机,不是本篇用同预算实验单独证明了 Alchemist 必然过拟合。

CLIP 也不是纯材质编码器:它包含物体身份、形状与语义。把外套照片的所有特征注入玩偶,有可能连“手”也生成进去。MARBLE 的观察是材质与风格信息在某些 U-Net 块更明显,通过选择性注入减弱几何污染;再利用 CLIP 中可组合的方向进行材料插值与属性控制。

因此 research gap 是统一“示例迁移+材料混合+细粒度控制”的轻量框架,同时避免改动整个生成器。它不解决显式物理反演或多视角一致性,也没有证明 CLIP 的材料坐标天然完全解耦。

04 · 完整输入输出与条件分工

\[I_{\mathrm{gen}}=S\!\left(I_{\mathrm{init}},F_I,D_I,f(z_m)\right)\tag{1}\]

\(I\) 是待编辑场景,\(F_I\) 是前景物体 mask,\(D_I\) 是深度条件,\(I_{\mathrm{init}}\) 为前景去色/灰度化后的初始图像;\(I_m\) 是材料示例,\(z_m\) 为 CLIP 图像特征,\(f\) 为 IP-Adapter 特征投影和交叉注意力注入;\(S\) 是预训练的条件 inpainting 扩散管线。

mask 限定编辑范围,深度尽量保持几何,灰度前景减少旧颜色干扰并保留明暗线索,示例特征提供新材料外观。这些都是条件约束,不是证明几何、背景和光照必然毫无改变。灰度明暗也并非真正分离出的 illumination map。

  1. 读入目标图像,提供或估计前景 mask 与相对深度
  2. 构造去色的前景初始图,背景作为上下文保留
  3. CLIP 编码一张或两张材质示例,选择直接迁移、插值或属性偏移
  4. IP-Adapter 投影后,只在选定材质 attention block 注入图像条件
  5. SDXL 条件去噪,生成编辑后的 RGB 图像;可以同时组合多个属性方向

文中“single forward pass”应理解为多个编辑在一次生成流程中共同执行,不是整个结果只经过一次 U-Net 调用。当前公开管线默认仍进行 20 或 30 个去噪步;这里没有一步生成的实验证据。

原 Figure 3:属性方向的训练与推理
原 Figure 3 · 属性方向的训练与推理 · 原论文来源

05 · 材质块定位:具体是哪一层,证据有多强?

主文用“靠近瓶颈的一个块”描述;补充材料明确给出 up_blocks.0.attentions.1。逐块注入的对照显示 down_blocks.2.attentions.1 更可能改变布局/几何,而选定的 up block 偏向表面纹理外观。当前官方 marble.py 也将 cur_block 固定为 ("up", 0, 1),与补充材料一致。

原 Figure 2 在同样的深度条件下比较全块注入和材质块注入,后者更能保留玩偶脸部等几何结构。补充 Figure 1 还展示多个 down/up attention 位置。这是一组经验性定位实验,不是“某层只编码材质”的信息论证明,也不意味着迁移到 FLUX、其他 SDXL checkpoint 或其他分辨率时仍可不加验证照搬层号。

原 Figure 2:全块与单材质块注入对照
原 Figure 2 · 全块与单材质块注入对照 · 原论文来源

补充材料 §2、Figure 1;官方 marble.py 的 setup_pipeline。

06 · 材料混合:插值的是 CLIP 表示

\[z_{\mathrm{blend}}=\alpha z_{m_1}+(1-\alpha)z_{m_2},\qquad I_{\mathrm{gen}}=S(I_{\mathrm{init}},F_I,D_I,f(z_{\mathrm{blend}}))\tag{2}\]

两张示例图分别编码为 \(z_{m_1},z_{m_2}\)。通常混合讨论取 \(0\le\alpha\le1\):\(\alpha=1\) 为第一种材料,\(\alpha=0\) 为第二种。原文只写 \(\alpha\gt0\),没有给严格上界;超过 1 是外插,不能再解释成两个材料的凸混合。

“50% 混合”表示特征向量的线性权重,不是 50% 真实体积分数、BRDF 能量或表面面积。由于 CLIP 与扩散解码都非线性,均匀滑动特征未必对应感知强度均匀、物理参数线性或严格单调。

作者展示三种输入情况:不同对象/不同材料;不同对象/相同基础材料但某属性不同;相同对象/相同材料但某属性不同。后两类有助于减小身份混杂,却仍不足以证明材料方向完全独立于形状和光照。

当前公开代码实现为 \(z_{\mathrm{start}}+\eta(z_2-z_1)\),run_blend 令 start 等于第一示例,即 \((1-\eta)z_1+\eta z_2\)。它与论文式子等价但参数方向相反:\(\eta=1-\alpha\)。若直接把 UI 的 0/1 标成论文的 0/1,会把两端标反。

原 Figure 5:三种输入条件下的材料混合
原 Figure 5 · 三种输入条件下的材料混合 · 原论文来源

07 · 属性方向学习、SVD 与损失函数

7.1 为什么先做低秩近似

对同一对象、视角和其他材质条件,改变目标属性 \(a\) 得到配对图像。记 CLIP 编码为 E,则配对差分为 \(\Delta z_j=E(I_{a+\delta}^{(j)})-E(I_a^{(j)})\)。把差分堆成矩阵 \(D\),用 SVD 找跨样例重复出现的低维变化方向:

\[D=U\Sigma V^{\top},\qquad D_r=U_r\Sigma_rV_r^{\top}\]

此 SVD 表达式是对论文文字步骤的数学展开,不是原文新增编号公式。截断保留主方向,试图减少 CLIP 噪声和小数据中的偶然偏差。作者通过奇异值曲线 elbow method 选 rank,四属性保留的方差约 67%–80%。主文和所获补充材料没有给出四个精确 rank 数字,因此不能补填。

7.2 条件 MLP 预测偏移

\[\min_{\theta}\ \mathcal L_{\cos}(s_{a+\delta},p_{\theta}(I_a,\delta))+\operatorname{MSE}(s_{a+\delta},p_{\theta}(I_a,\delta))\tag{3}\]

论文将 cossim 称为 cosine similarity loss。这里写 \(\mathcal L_{\cos}\) 是为避免误解:若直接最小化未经取负或转为距离的 cosine similarity,会鼓励反向,不能照抄符号就写错误训练目标。常见 \(1-\cos\) 仅是一种实现例子,本次没有拿到原训练损失代码来确认具体定义。

原文关于 \(s_{a+\delta}\) 的文字有“低秩特征”和“编辑方向”两种表述。结合先对差分做 SVD、推理将预测值加回原嵌入、以及当前代码明确返回 editing directions,操作上应理解为低秩属性偏移目标,而不是将完整目标嵌入再次相加。此处透明指出符号歧义,不静默修饰成论文证明过的精确形式。

\[z_{a+\delta}=E(I_m)+p_{\theta}(I_m,\delta)\tag{4}\]

每个属性有独立控制网络。当前公开模型实际把 1024 维图像嵌入输入 1024→1024→2048 的两层线性分支;强度标量经 1→128→2 的两层分支,分别产生两个系数,再加权 2048 维输出的前后两个 1024 维部分。中间使用 ReLU。这比“一个简单标量乘固定方向”更依赖输入内容与强度。

\[\Delta z=g_1(\delta)\,h_1(E(I_m))+g_2(\delta)\,h_2(E(I_m))\]

这是对当前 parametric_control_mlp.py 的结构展开,不是声称原论文已完整披露了所有隐藏层。多个属性的当前实现直接相加:

\[z'=E(I_m)+\sum_{a\in\mathcal A}p_{\theta_a}(E(I_m),\delta_a)\]

相加方便组合,但非线性生成器可能产生属性间交互;没有一般的交换性、可逆性或无干扰保证。原 Figure 8 的金属/粗糙度网格是定性证据,不是对所有组合的全局解耦证明。

原 Figure 8:粗糙度与金属度联合控制
原 Figure 8 · 粗糙度与金属度联合控制 · 原论文来源

08 · 合成数据与“物理属性”控制的边界

作者用 Blender 渲染 300 个来自 Objaverse 的物体,250 个训练、50 个验证,从 50 张 HDR 环境图中随机选配。为某个属性创建数据时,其他属性先随机赋值,在随机视角下均匀遍历目标属性取值。物体数不是图像数;具体步长、每物体视角数、所有随机种子与总训练图像数并未在所读主文/补充中完整列明。

特别重要:透明度数据不是只改变 transmission,还降低 roughness,让外观更接近玻璃。因此“transparency direction”在这套数据中是一个复合外观方向,不能当作严格只影响一个物理材质参数的因果操作。这与论文强调的 perceptual disentanglement 需要分层理解。

四属性控制器独立训练,使用配对 CLIP 差分和低秩目标;扩散底座保持冻结。小 MLP 并不意味着训练无数据:合成渲染、配对构造、深度和 mask 前处理都属于整个系统的资源成本。

原 Figure 4:合成数据的四种属性变化
原 Figure 4 · 合成数据的四种属性变化 · 原论文来源

数据效率实验

主文 Figure 11 对透明控制器使用 8、16、32、64、128、250 个训练对象,报告 PSNR 与 DreamSim 曲线,作者称 16 个对象已接近全量结果。补充 Figure 2 又给仅 6 个对象训练的四组真实图片例子,并说明透明变化幅度仍有限。6、8、16 三个数来自不同实验,不相互矛盾,也不能简化成“四个属性只需六例即可完美泛化”。

原 Figure 11:透明度控制的数据效率
原 Figure 11 · 透明度控制的数据效率 · 原论文来源

曲线没有随文可直接读取的逐点数值表,本页保留原图而不编造精确分数;结果主要针对透明属性和当前数据分布,不外推到全部材质属性、复杂场景或每个底座。

09 · 当前可核验实现与缺失训练细节

模块/设置核验内容证据与边界
生成器SDXL base 1.0,ControlNet 深度,inpaint 管线当前 marble.py;不是本文训练了新的 SDXL
图像编码/投影IP-Adapter SDXL ViT-H 权重,1024维控制特征当前模型路径和 setup_control_mlps
注入块up_blocks.0.attentions.1补充材料及当前代码一致
深度Intel/dpt-hybrid-midas未提供深度时自动估计;深度不等于精确几何
前景rembg;也可显式传入 mask当前代码接口,复杂遮挡可能失败
参数控制推理默认30 steps,seed42,strength1.0run_parametric_control;当前默认不必等同发表实验
材料混合推理默认20 steps,seed1,strength1.0run_blend;与上一任务默认预算不同
ControlNet scale1.0当前两种生成接口
训练 optimizer / LR / batch / epoch未由所读论文及补充完整核验不能用通用默认值填空
训练硬件、时间、实际生成速度未核验“小MLP”不等于已测得低端GPU可用

公开示例对 metallic 的 slider 使用 -20、0、20,注释指出越负越金属;roughness 使用 -1、0、1,越正越粗糙。两者量纲和数值范围不同,不是直接输入 Blender 的统一 [0,1] shader 参数。UI 滑块应先用公开权重校准,而不能把数值 ±20 当成真实 metallicness。

当前代码把各 MLP 的位移加到同一个 CLIP 嵌入上,再经过 image_proj_model;没有测试时梯度下降优化的必要循环。因此原笔记 methods 中的 embedding optimization 可保留作历史记录,但更准确的新增解释是 learned embedding manipulation,而非每张图做嵌入反演优化。

代码只读核对范围:README、marble.py、parametric_control_mlp.py、ip_adapter_instantstyle/ip_adapter.py 和参数控制 notebook。未运行模型权重、训练过程或重算原表,不把这一检查称为数值复现。

10 · 全部定量结果、baseline 与用户研究

定性对照是 InstructPix2Pix、文字训练 Concept Slider、图像训练 Concept Slider。InstructPix2Pix 用对象与属性的增加/减少指令,不提供对应 Blender 参数的连续控制;文字 Slider 的强度也不稳定映射到真实 shader 值。因此主定量表只对比同合成数据训练的图像 Concept Slider,不能宣称表中已定量击败全部材料编辑方法。

指标:PSNR 越高表示像素重建越接近目标;LPIPS、DreamSim 越低表示相应感知距离越小;CLIP 越高表示所用特征相似性越高。它们测 RGB 或特征接近,不是直接测真实 roughness/metallic 的绝对估计误差。背景保留、反演误差与目标编辑正确性都会影响分数。

原 Table 1

PSNR↑\uparrow LPIPS↓\downarrow CLIP↑\uparrow DreamSim↓\downarrow
Roughness
Concept Slider (Images) 18.87 0.356 0.597 0.567
MARBLE 26.56 0.056 0.931 0.129
Metallic
Concept Slider (Images) 19.45 0.317 0.655 0.479
MARBLE 26.82 0.053 0.928 0.121
Transparency
Concept Slider (Images) 19.85 0.346 0.639 0.525
MARBLE 26.99 0.070 0.905 0.163
Glow
Concept Slider (Images) 16.92 0.301 0.661 0.509
MARBLE 19.73 0.111 0.890 0.213

原表来源

按原表计算,PSNR 的提升分别为 roughness +7.69 dB、metallic +7.37 dB、transparency +7.14 dB、glow +2.81 dB。dB 差不能解释成“准确率提高 7.69%”。LPIPS 的相对下降约为 84.3%、83.3%、79.8%、63.1%;glow 仍明显更难,MARBLE PSNR=19.73、DreamSim=0.213 均不如其前三属性表现。

这些数值在表内所有列都优于该对照,但没有多 seed 标准差、置信区间或匹配预算下所有 baseline 的完整定量结果。论文以 50 个验证物体评价,不能直接等同真实摄影图像上的同等精度。

用户研究必须结合补充材料读

主文:16 名参与者、20 张真实图像、每人比较 3 组图像,作者报告 87.5% 的参与者选择 MARBLE。不要将其改写成“对所有真实图像准确率 87.5%”,也不要自行重建未公开的逐图投票分母。

补充材料直接承认一个重要混杂:DDIM inversion 本身造成对照重建缺陷,即使 Concept Slider 有时正确改变属性,参与者仍倾向选择 MARBLE。因此偏好同时衡量重建质量和属性控制,不能全部归因于更精确的物理属性方向。应另设计相同起始重建质量的对照来分离这两个因素。

原 Figure 7:InstructPix2Pix 与 Concept Sliders 定性比较
原 Figure 7 · InstructPix2Pix 与 Concept Sliders 定性比较 · 原论文来源

11 · 原图、风格泛化与失败样例

原 Figure 6:四属性滑块与材料迁移组合
原 Figure 6 · 四属性滑块与材料迁移组合 · 原论文来源

Figure 6 每个属性有直接修改自身材料与换新材料后控制两种模式。看图时应同时检查:目标属性是否变化、形状是否稳定、反射和底色是否耦合、背景是否被带动。主文称反射与 albedo 解耦,但它没有输出可验证的独立 albedo map;这里是外观结果上的解释。

原 Figure 9:真实图像更多编辑结果
原 Figure 9 · 真实图像更多编辑结果 · 原论文来源
原 Figure 10:不同绘画风格的属性控制
原 Figure 10 · 不同绘画风格的属性控制 · 原论文来源

Figure 10 展示 SDXL 生成的不同绘画风格仍能调透明或粗糙度,说明保留底座具有潜在风格泛化优势;样例数量有限,不能据两张画概括所有艺术域。Figure 9 部分金属案例比较 Subias 等方法,其余属性并未因此具有同等对照覆盖。

原 Figure 12:纹理漂移和透明度伪影
原 Figure 12 · 纹理漂移和透明度伪影 · 原论文来源

失败包括粗糙度变化引发皮革背包纹理图案变化,以及本来已透明的物体继续调透明时出现伪影。可能来源有初始噪声、CLIP 的混杂和 SDXL 编解码的信息损失,原文没有独立实验量化各项贡献。对于应保持不变的情况,系统缺少明确的 identity/no-op 约束保证。

12 · Reviewer:哪些结论成立,哪些仍需验证?

Paper Verified:在论文验证集上,小控制器+定点注入优于图像 Concept Slider 的各项 RGB/感知指标;提供跨材料混合、四属性控制、多个属性共同编辑的可视化;补充材料给出具体材质块和小数据例子。

Author Claim:属性“解耦”、保留生成先验有助于广泛风格泛化、材质信息集中于特定层。当前实验支持有用的经验现象,但尚不足以成为所有输入、属性与模型的普遍保证。

主要优势:控制网络小,底座不用重训;同一管线统一多种编辑;展示明确层位并给开源推理接口;补充材料诚实指出用户偏好的反演混杂。

主要不足:透明控制的数据有 roughness 联动;SVD rank 选取与完整训练超参披露不足;训练目标符号有“方向/目标特征”和 cosine loss 歧义;只有一个可比 baseline 进入主定量表;单图编辑缺少多视角、复杂遮挡与绝对物理参数校准;用户偏好不能独立证明材料控制优越性。

建议补充:独立改变 transmission 与 roughness 的因子实验;固定反演质量再比较属性方向;无 SVD/不同 rank 的消融;全块与单块在同数据、同 seed 下的定量统计;不同 backbone 重新搜索材质块;对 no-op、极端强度与复合编辑的失败率和单调性评估。

13 · 对 Procedural Material Generation 的研究启发

Research Extension:将 CLIP 外观方向转成可执行材质图编辑。MARBLE 可以生成一个“更粗糙/更金属”的目标外观,但不能告诉你节点图里该改什么。可用其输出作为候选视觉目标,再由图编辑 agent 修改可执行 graph,通过 renderer 检查真实效果;这样把感知目标与可执行表示连接起来。

具体可检验方案:固定起始材质图与光照,比较直接文字→图编辑、MARBLE 目标图→图编辑、以及有真实 shader 目标的上限条件。指标同时记录渲染误差、编辑节点数、图合法率、背景/几何稳定性及对未见光照的鲁棒性。只有目标外观更好而图无法执行,不算 PMG 成功。

Context Optimization:选择注入哪一层,体现同一信息放到不同位置会产生不同副作用。可类比研究 context 的放置、粒度与使用阶段,而不是简单扩大 prompt。必须控制信息量并对比注入位置,否则无法证明是 context 组织带来的收益。

Evaluator:将外观相似、物理参数单调性和图执行有效性分开评分。可让旁路评估器报告“目标属性变了,但纹理身份也变了”,再指导主 agent 进行最小修改。不能只让一个 CLIP 分数替代所有约束,尤其当目标本身就是在 CLIP 空间构造时。

这些是针对用户研究的后续设想,本篇没有训练 PMG agent、没有节点图输出,也没有检验 evaluator 引导图搜索是否有效。

14 · 复现清单与归档说明

  1. 固定原 v1 PDF 与 CVF 两页补充,不改现有 PDF++ anchors
  2. 固定 SDXL、IP-Adapter、ControlNet、CLIP、深度和前景模型版本,并记录随机种子
  3. 核对材质块确为 up_blocks.0.attentions.1,确认条件图不包含意外背景身份
  4. 先测不编辑时的重建,再测单属性正负方向,最后测多属性组合
  5. 明确滑块为 learned strength,不直接当作真实 shader 参数;分别校准金属/粗糙度符号与尺度
  6. 复现原表时使用同验证对象与公平 inversion 协议;记录 pixel、perceptual、参数单调性与失败率
  7. 对缺失训练超参、rank、权重来源和用户研究原始记录保持待核验,不编造

新增笔记完整保留原文作为前缀。原 venue“arXiv preprint”与正式 CVPR 记录的差异写为有来源的更新建议,没有覆盖用户属性;原方法分类与作者候选同样保留,等待之后实际归档决策。本批仅云端生成待下载文件,没有改动 People 或共享索引。

代码说明基于 2026-09-30 只读获取的公开文件,未运行模型或训练。原图表署名 Cheng et al., 2025,来源已逐项标注;数学展开、批判性评价和 PMG 方案为本次解读。正文和主表独立保存在 HTML,原图联网加载。