在计算机视觉与图形学领域,图像中对象材质的编辑是一项具有挑战性的任务。传统方法往往依赖复杂的建模与渲染流程,而近年来,借助预训练扩散模型与语义嵌入空间(如CLIP)的技术逐渐成为研究热点。
- 项目主页:https://marblecontrol.github.io
- GitHub:https://github.com/Stability-AI/marble
- Demo:https://huggingface.co/spaces/stabilityai/marble
近日,牛津大学、Stability AI 与 MIT 的联合团队提出了一种名为 MARBLE 的新方法 —— 它通过在 CLIP 空间中进行材质重组与混合,实现了对图像材质的细粒度控制和高效编辑。

什么是 MARBLE?
MARBLE(Material Recomposition and Blending in CLIP-Space) 是一种新型图像材质编辑框架,利用预训练文本到图像模型(如 Stable Diffusion)与 CLIP 模型的能力,实现对图像中物体材质的:
- 材质混合(Texture Blending)
- 参数化控制(Parametric Control)
- 材质转移(Material Transfer)
其核心思想是:在 CLIP 嵌入空间中操作材质特征,而不是直接修改生成模型的参数,从而保持了模型的通用性与灵活性。

主要功能
✅ 材质混合(Material Blending)
通过在 CLIP 空间中插值两张材质示例图像的特征,MARBLE 可以实现两种材质之间的平滑过渡。例如:
- 将金属材质与塑料材质融合;
- 在木纹与大理石之间创建渐变效果;
- 从哑光到高光的自然转换。
该过程无需重新训练模型,只需输入两张参考图即可完成。
✅ 参数化控制(Parametric Control)
MARBLE 支持对材质属性的精细调节,包括:
- 粗糙度
- 金属感
- 透明度
- 发光强度
用户可以通过一个轻量级神经网络预测“目标方向”,然后在 CLIP 空间中沿该方向调整特征,实现对材质属性的精准控制。
✅ 材质转移(Material Transfer)
将一张图像中的材质风格迁移到另一张图像的目标物体上,同时保留原始形状与光照信息。例如:
- 将一块布料的照片材质转移到3D模型上;
- 把一幅油画的质感复制到照片中的人像皮肤上。
这一功能为艺术创作、产品设计等领域提供了强大的工具支持。
核心技术亮点
特点 | 描述 |
---|---|
仅在 CLIP 空间操作 | 不需要微调扩散模型,保留其原有能力 |
多模式编辑集成 | 同时支持混合、控制、迁移三种编辑方式 |
强鲁棒性 | 适用于真实照片、动画、绘画等多种风格 |
数据效率高 | 使用少量合成数据(如16个样本)即可训练控制网络 |
此外,MARBLE 还通过 IP-Adapter 将材质特征注入扩散模型的 UNet 中,并发现将其插入特定模块能更有效地保留几何与光照信息。
工作原理简析
MARBLE 的核心流程如下:
- CLIP 特征提取与注入
- 利用 CLIP 提取参考图像的语义特征;
- 通过 IP-Adapter 将特征注入扩散模型的 UNet 中;
- 选择对材质敏感的模块进行注入,保留原始结构。
- 材质混合
- 对两张参考图像的 CLIP 特征进行线性插值;
- 将混合后的特征应用于目标对象,生成新的材质组合。
- 参数化控制
- 使用小型 MLP 网络,基于合成数据训练出材质属性变化的方向;
- 编辑时,沿这些方向移动 CLIP 特征,实现对材质的精确调控。
实验评估结果
研究人员从多个维度对 MARBLE 进行了全面测试,验证了其性能优势:
📈 定量指标对比(vs Concept Slider)
指标 | MARBLE | Concept Slider |
---|---|---|
PSNR | 26.99 | 19.85 |
LPIPS | 0.21 | 0.34 |
CLIP Score | 0.87 | 0.79 |
DreamSim | 0.73 | 0.61 |
MARBLE 在所有关键指标上均优于现有方法,显示出更强的保真度与语义一致性。
👥 用户研究反馈
在20张真实世界图像上进行的盲测显示:
- 87.5% 的参与者认为 MARBLE 效果更好
- 用户普遍评价其输出更自然、细节更丰富
🔁 单次推理多次编辑能力
MARBLE 支持在一次前向传播中执行多个编辑操作,大大提升了交互效率,尤其适合用于实时编辑或创意辅助场景。
在ComfyUI种使用
开发团队已经提供了ComfyUI节点及工作流,手动下载安装节点后,拖入工作流即可使用
- GitHub:https://github.com/Stability-AI/marble
cd ComfyUI/custom_nodes
git clone https://github.com/Stability-AI/marble
cd marble
pip install -r requirements.txt