跳转至

Color Alignment in Diffusion

会议: CVPR 2025
arXiv: 2503.06746
代码: 无(未提及)
领域: 扩散模型 / 图像生成
关键词: 颜色对齐, 扩散模型, 细粒度控制, 颜色条件生成, 零样本

一句话总结

提出颜色对齐扩散方法,通过将中间采样或预测结果投影到条件颜色空间(最近邻颜色映射),使扩散模型在保持结构生成自由度的同时严格遵循给定的颜色分布(颜色值+比例),支持重训练、微调和零样本三种设置。

研究背景与动机

领域现状:扩散模型在图像合成质量上取得了巨大进展,ControlNet 等可控生成方法支持结构约束(边缘图、语义图等),IP-Adapter 等支持风格参考。但对像素颜色的细粒度控制仍然困难——现有方法常生成超出目标颜色范围的像素。

现有痛点:IP-Adapter 和 Style-Aligned 将参考图像的空间和颜色信息一起传递,当参考图和目标 prompt 领域差异大时完全失败(如用花的颜色生成汽车)。ControlNet-Color 将颜色作为弱引导,无法精确保持颜色值和比例。核心问题是颜色条件没有参与采样过程(只作为并行输入),去噪模型倾向于无条件生成。

核心矛盾:需要严格控制颜色值和比例(精确性),同时允许颜色在空间上自由重组形成新结构(解纠缠性),还要保持生成质量和多样性,这三个目标之间存在张力。

本文目标 如何在扩散模型中实现细粒度的颜色条件生成——指定颜色值和比例,但不指定颜色的空间位置,让模型自由构建结构。

切入角度:直接干预扩散过程的采样——在将 \(\mathbf{x}_t\) 送入去噪模型之前,用最近邻映射将每个像素颜色替换为条件颜色中最接近的值。模型"看到"的始终是目标颜色,自然只能在这些颜色范围内生成。

核心 idea:对扩散过程中的中间样本进行像素级最近邻颜色映射,将其约束在条件颜色流形上,同时通过随机置换颜色条件的空间位置来实现颜色与结构的解纠缠。

方法详解

整体框架

接收颜色条件 \(\mathbf{c}\)(一张图像或手绘调色板,定义颜色值和比例)和可选的文本 prompt。在扩散过程中,每步将噪声样本 \(\mathbf{x}_t\) 的每个像素映射到 \(\mathbf{c}\) 中最近的颜色值 \(f(\mathbf{x}_t, \mathbf{c})\),然后送入去噪模型。训练时 \(\mathbf{c}\) 直接从训练图像 \(\mathbf{x}_0\) 的随机像素置换 \(\psi(\mathbf{x}_0)\) 获得(无需额外数据)。提供三种设置:从零重训练、微调预训练 Stable Diffusion、零样本(无训练)。

关键设计

  1. 像素级最近邻颜色对齐函数 \(f(\mathbf{x}_t, \mathbf{c})\)

    • 功能:将扩散中间样本的每个像素颜色替换为条件中最接近的颜色,严格限制生成颜色范围
    • 核心思路:\(f(\mathbf{x}_t, \mathbf{c})[p] = \arg\min_{\mathbf{c}[q]} \|\mathbf{x}_t[p] - \mathbf{c}[q]\|_2^2\),即每个像素独立做最近邻查找。等效的适配噪声 \(\epsilon' = (f(\mathbf{x}_t, \mathbf{c}) - \sqrt{\bar{\alpha}_t}\mathbf{x}_0) / \sqrt{1-\bar{\alpha}_t}\) 替代原始噪声作为训练目标。关键:只改变去噪模型的输入(\(\mathbf{x}_t\)\(f(\mathbf{x}_t, \mathbf{c})\)),前向过程和采样步骤(Eq.4)保持不变
    • 设计动机:将颜色条件注入采样过程本身而非仅作为并行输入,使模型在颜色流形上操作,从根本上消除超出范围的颜色
  2. 颜色空间解纠缠(随机像素置换 \(\psi\)

    • 功能:打破颜色条件中的空间结构信息,使模型仅学习颜色值和比例
    • 核心思路:训练时颜色条件 \(\mathbf{c} = \psi(\mathbf{x}_0)\) 是训练图像的随机像素重排。这意味着颜色值和比例完全保留,但空间布局完全随机化。模型必须根据 text prompt 自主决定颜色的空间分配,实现了颜色与结构的解纠缠。额外优势:不需要成对训练数据(自动从训练图像构造)
    • 设计动机:如果不打乱空间信息,模型会简单复制参考图结构,无法将颜色重组为新的对象形态
  3. 零样本近似

    • 功能:无需训练即可实现颜色对齐
    • 核心思路:在每步采样中,对无条件去噪的预测结果 \(\hat{\mathbf{x}}_0\) 进行一对一最近邻颜色映射 \(g(\hat{\mathbf{x}}_0, \mathbf{c})\)(最优传输式,每个 \(\mathbf{c}\) 像素只用一次),然后用映射结果替代 \(\hat{\mathbf{x}}_0\) 参与后续采样。早期步骤(\(t > 0.2T\))的映射结果虽然混乱,但预训练扩散模型有自我纠正能力;后期步骤(\(t < 0.2T\))暂停对齐以允许细节精修
    • 设计动机:避免训练/微调开销,但牺牲了一些细节质量(光照偏平、纹理均匀)

损失函数 / 训练策略

图像空间重训练:标准扩散损失但用适配噪声 \(\epsilon'\) 替代原始噪声。隐空间微调:在 Stable Diffusion 上微调 160K 步,训练前对 \(\mathbf{x}_0\) 做模糊处理避免高频结构泄露到 latent 中,后期步骤暂停对齐。推理用 50 步 + CFG scale 5。2 × RTX 3090。

实验关键数据

主实验

方法 FID↓ CLIP Score↑ CD-A↓ (颜色精度) CD-C↓ (完整性)
Ours (Image; Re-train) 57.5/45.7 0.00/0.00 4.12/3.65
Ours (Latent; Fine-tune) 86.7/69.4 29.0/27.4 73.9/4.98 15.8/4.87
Ours (Latent; Zero-shot) 104/77.9 28.3/27.4 35.2/2.68 3.19/3.93
IP-Adapter 202/50.9 25.5/22.0 145/10.1 106/13.9
ControlNet-Color 105/81.0 22.9/23.4 129/13.1 49.8/6.54
Style-Aligned —/— —/— 较差 较差

(格式:Oxford-flower / Emoji 数据集)

消融实验

配置 CD-A↓ CLIP↑ 说明
无颜色对齐 (DDPM) 40.6/42.4 颜色超出范围
颜色对齐 (有空间结构) 复制参考图结构
颜色对齐 + 随机置换 0.00/0.00 颜色精确+结构自由

关键发现

  • 图像空间重训练可实现 CD-A=0(完美颜色精度),说明颜色对齐函数从根本上约束了颜色范围
  • CLIP 分数(29.0/27.4)显著高于所有基线(IP-Adapter 25.5/22.0),证明颜色解纠缠成功——模型根据文本而非参考图决定结构
  • latent 空间微调仅增加 3-6% 推理开销
  • 零样本版本在野外图像颜色条件下效果接近微调版,但手绘颜色条件下质量明显降低
  • 手绘颜色条件可轻松编辑(缩放颜色比例、调整色值、添加新颜色),实现直观的创意控制

亮点与洞察

  • 将颜色条件注入采样过程而非仅作输入的策略是精准控制的关键——模型在颜色流形上操作,从根本上不可能生成超出范围的颜色
  • 随机像素置换作为免数据的颜色条件构造方式极其巧妙——自动获得完美对齐的训练对,且天然实现颜色-结构解纠缠
  • 方法论上是"通过约束输入来约束输出"的思路,可迁移到其他需要细粒度约束的生成任务(如纹理、频率谱等)

局限与展望

  • 无法控制颜色的空间位置(只控制值和比例,不控制哪些区域用什么颜色)
  • 零样本版本质量偏低(光照平坦、纹理均匀、缺少阴影)
  • 隐空间中高频结构会泄露非目标颜色,需要模糊预处理作为 workaround
  • 实验数据集规模较小(7K 图像/64×64 分辨率用于图像空间,300K/512 用于隐空间)

相关工作与启发

  • vs IP-Adapter: IP-Adapter 将参考图特征注入跨注意力,颜色和空间信息耦合。本文通过对采样过程做颜色映射+置换空间实现解耦
  • vs ControlNet-Color: ControlNet 将颜色作为弱空间引导,无法保证颜色精度。本文直接在采样中强制颜色值
  • vs Style-Aligned: Style-Aligned 通过注意力共享传递风格,但跨域失败严重

评分

  • 新颖性: ⭐⭐⭐⭐ 颜色对齐函数和随机置换的组合设计新颖优雅
  • 实验充分度: ⭐⭐⭐ 定性展示丰富但数据集较小,缺少用户研究
  • 写作质量: ⭐⭐⭐⭐ 方法描述数学化清晰,三种设置逐步推进
  • 价值: ⭐⭐⭐⭐ 对创意设计和调色板驱动的图像生成有直接应用价值

相关论文