跳转至

CharaConsist: Fine-Grained Consistent Character Generation

会议: ICCV 2025
arXiv: 2507.11533
代码: https://github.com/xxx/CharaConsist.git
领域: 扩散模型
关键词: 一致性角色生成, DiT, 免训练, 注意力机制, FLUX.1

一句话总结

提出一种免训练的细粒度一致性角色生成方法,通过点跟踪注意力(Point-Tracking Attention)、自适应 token 合并和前景-背景解耦控制,首次在 DiT 架构(FLUX.1)上实现了高质量的跨图像角色一致性生成。

研究背景与动机

一致性角色生成(Consistent Character Generation)是故事可视化、漫画生成等应用的核心需求:给定同一角色的文本描述,生成多张图像时角色外观需保持一致。现有免训练方法(如 StoryDiffusion、ConsiStory)面临三个关键问题:

背景不一致:现有方法在处理图像间注意力时,无法区分前景和背景,导致背景元素相互干扰。当希望切换背景时,角色一致性和背景多样性难以兼顾。

前景一致性与动作多样性的权衡:这些方法依赖图像间的交叉注意力来传递身份信息,但当角色在不同图像中有较大姿态/位置变化时,注意力会出现"局部性偏差"(locality bias)——模型倾向于关注空间位置相近而非语义相关的区域,导致一致性急剧下降。

架构局限:StoryDiffusion 和 ConsiStory 都基于 UNet 架构的 SDXL 构建,无法直接迁移到更先进的 DiT 架构(如 FLUX.1)。DiT 模型在图像质量和文本理解上有显著优势,但其注意力机制与 UNet 不同,现有方法的设计假设不再成立。

本文的核心洞察是:局部性偏差的根源在于位置编码。DiT 使用 RoPE(旋转位置编码),它会使空间相近的 token 具有更高的注意力权重。因此,当角色在参考图和目标图中位置不同时,简单的 KV 注入会失效。解决方案是通过语义匹配找到对应点,然后用目标位置重新编码参考图的 KV,从根本上消除局部性偏差。

方法详解

整体框架

CharaConsist 采用两阶段流程:

  1. 身份图像生成:首先用 FLUX.1 正常生成一张身份参考图(identity image),在去噪过程中缓存所有层、所有时间步的注意力 KV 值。
  2. 帧图像生成:生成后续图像时,利用缓存的 KV 和语义匹配信息,通过点跟踪注意力注入身份信息,实现角色一致性。

与 ConsiStory 需要同时生成 2-4 张图像不同,本方法只需 1 张参考图,显著降低了 GPU 显存需求。

关键设计

1. 语义点匹配(Point Matching)

传统方法(如 DIFT)通过扩散特征计算语义对应关系,但 DIFT 在 FLUX.1 上效果不佳。本文提出在 同一时间步 对所有层的注意力输出计算余弦相似度并取平均:

\[S_{t}(i, j) = \frac{1}{L} \sum_{l=1}^{L} \cos(O_{\text{id}}^{l,t}(i),\ O_{\text{frame}}^{l,t}(j))\]

其中 \(O_{\text{id}}\)\(O_{\text{frame}}\) 分别是身份图和帧图的注意力输出。取 argmax 即可获得每个帧 token 在身份图中的最佳匹配点。这种多层平均的策略比单层特征更鲁棒,能捕获从低级纹理到高级语义的多尺度信息。

2. 前景 Mask 提取

利用文本-图像交叉注意力权重来区分前景和背景。具体做法是比较每个图像 token 对前景描述文本 token 和背景描述文本 token 的注意力权重大小:

\[M(i) = \mathbb{1}\left[\frac{1}{L}\sum_l A_{\text{fg}}^l(i) > \frac{1}{L}\sum_l A_{\text{bg}}^l(i)\right]\]

这种方法完全免分割模型,利用了 DiT 中文本与图像 token 联合处理的特性,零额外计算成本即可获得高质量分割 mask。

3. 点跟踪注意力(Point-Tracking Attention)

核心创新。在注入身份图的 KV 时,不直接使用原始位置编码,而是根据语义匹配结果重新分配位置编码:

  • 对于帧图中位置 \(j\) 的前景 token,找到其在身份图中的匹配点 \(i^* = \text{argmax}_i\ S_t(i, j)\)
  • 将身份图中 \(i^*\) 位置的 KV 取出,但用帧图中位置 \(j\) 的 RoPE 重新编码
  • 通过注意力 mask 确保前景 token 只关注身份图的前景 KV,背景 token 只关注自身

这样做的效果是:即使角色在两张图中位置完全不同,RoPE 编码也不会产生局部性偏差,因为位置编码已经被"对齐"了。

4. 自适应 Token 合并(Adaptive Token Merge)

直接替换注意力输出过于激进,会损失动作多样性。本文采用基于匹配相似度的插值策略:

\[\hat{O}_{\text{frame}}(j) = \alpha_t \cdot w(j) \cdot O_{\text{id}}(i^*) + (1 - \alpha_t \cdot w(j)) \cdot O_{\text{frame}}(j)\]

其中 \(w(j) = S_t(i^*, j)\) 是匹配置信度,\(\alpha_t\) 随时间步衰减。高匹配置信度的区域(如面部)获得更强的身份注入,低置信度区域(如手臂动作)保留更多原始信息。时间步衰减则确保早期注入身份结构,晚期保留细节生成的自由度。

损失函数 / 训练策略

本方法完全免训练,不涉及任何参数更新或微调。所有组件都是在 FLUX.1 的推理过程中通过操作注意力机制实现的。关键超参数包括: - 注入起始/结束时间步 - \(\alpha_t\) 的衰减策略 - 前景/背景文本 token 的划分方式

实验关键数据

主实验

评估分为"保持背景"和"切换背景"两个场景,使用 GPT-4 生成的提示词:

方法 架构 CLIP-T ↑ CLIP-I ↑ CLIP-I-fg ↑ CLIP-I-bg ↑ ID Sim ↑ IQS ↑
StoryDiffusion SDXL 0.272 0.875 0.846 0.870 0.643 0.970
ConsiStory SDXL 0.268 0.889 0.860 0.886 0.721 0.975
CharaConsist FLUX.1 0.281 0.910 0.876 0.916 0.748 0.985

背景切换场景:

方法 CLIP-I-fg ↑ IAS ↑
StoryDiffusion 0.834 0.781
ConsiStory 0.856 0.802
CharaConsist 0.881 0.831

CharaConsist 在几乎所有指标上取得最优,尤其在背景一致性(CLIP-I-bg)和图像质量(IQS)上优势明显。

消融实验

消融验证了各组件在不同基线上的一致性提升幅度:

基础模型 基线方法 基线 CLIP-I + CharaConsist 提升 Δ
RealVisXL4.0 StoryDiffusion 0.875
RealVisXL4.0 ConsiStory 0.889
FLUX.1 无一致性控制 0.812
FLUX.1 CharaConsist 0.910 +0.098

关键发现:尽管 FLUX.1 的基线一致性(0.812)低于 RealVisXL4.0 + ConsiStory(0.889),CharaConsist 带来的一致性增量(+0.098)显著大于 ConsiStory 在 SDXL 上的增量,说明本方法能更有效地利用 DiT 架构的能力。

此外,各组件的消融: - 去掉点跟踪注意力 → 大幅度位置变化时一致性骤降 - 去掉自适应 token 合并 → 动作多样性下降,角色姿态趋同 - 去掉前景-背景解耦 → 背景切换场景性能显著下降

关键发现

  1. DiT 的潜力被低估:FLUX.1 基线的一致性虽低于 SDXL 方案,但经过针对性优化后上限更高,说明 DiT 架构在一致性生成任务上的潜力尚未被充分挖掘。
  2. 位置编码是关键瓶颈:RoPE 的局部性偏差是 DiT 上进行一致性生成的核心障碍,点跟踪注意力通过重编码位置有效解决了这一问题。
  3. 前景-背景解耦的必要性:在背景切换场景中,解耦控制带来了显著的性能提升,说明统一处理前景和背景是现有方法的重要缺陷。

亮点与洞察

  1. 对 RoPE 局部性偏差的精准诊断:本文不仅发现了问题,还给出了清晰的因果分析——RoPE 使得空间相近的 token 具有更高注意力权重,这在跨图像注入时导致语义匹配失败。这一洞察具有普适性,对所有基于 RoPE 的 DiT 模型的跨图像交互任务都有参考价值。

  2. 极简高效的设计:只需 1 张参考图,不需要训练,不需要额外分割模型,所有操作都在注意力层内完成。相比需要多图并行生成的 ConsiStory,GPU 显存需求大幅降低。

  3. 多层注意力输出平均的匹配策略:放弃了 DIFT 等单层特征方案,转而利用所有层的注意力输出进行语义匹配,这一策略简单有效,可推广到其他需要语义对应的任务。

  4. 利用文本-图像注意力做免费分割:DiT 联合处理文本和图像 token 的特性,使得前景 mask 可以直接从注意力权重中提取,无需额外模型。

局限与展望

  1. 无法接受外部参考图像:当前方法只能使用自己生成的身份图作为参考,不支持用户提供的真实照片作为身份输入。这限制了实际应用场景(如用用户照片生成故事)。
  2. 可与训练方法互补:作者指出可以与 IP-Adapter、PhotoMaker 等基于训练的身份参考方法结合,先用训练方法注入外部身份,再用 CharaConsist 保持多帧一致性。
  3. 多角色场景:论文主要展示单角色一致性,多角色场景下的 mask 提取和匹配可能更为复杂。
  4. 计算开销:需要缓存所有层、所有时间步的 KV,对于高分辨率图像的存储需求较大。

相关工作与启发

  • StoryDiffusion / ConsiStory:基于 SDXL 的免训练一致性方法,通过图像间自注意力传递身份信息,但受限于 UNet 架构和局部性偏差。
  • IP-Adapter / PhotoMaker:基于训练的身份参考方法,支持外部参考图但需要额外训练和特定模型。
  • DIFT:利用扩散特征做语义对应,但在 FLUX.1 上失效,说明不同架构的特征空间差异显著。
  • RoPE 在视觉中的应用:本文对 RoPE 在跨图像场景下的副作用分析,为后续 DiT 模型的设计提供了重要参考。

本文的方法论思路——"诊断位置编码偏差 → 语义匹配重编码 → 解耦前景/背景控制"——构成了一个通用的框架设计模式,可以推广到视频生成、多视角生成等相关任务。

评分

维度 分数 (1-5) 说明
创新性 4 首次在 DiT 上实现免训练一致性生成,对 RoPE 偏差的诊断和解决方案新颖
技术深度 4 多个组件设计精巧且互相配合,对注意力机制的利用充分
实验充分性 3.5 指标全面,但缺少与训练方法(IP-Adapter)的对比和更多消融细节
实用价值 4 免训练、低显存、高质量,实用性强
写作清晰度 4 问题定义清晰,方法动机充分,公式推导完整
总分 3.9 高质量的系统性工作,对 DiT 时代的一致性生成具有参考价值

相关论文