作者:Mengyu Wang等
解读:AI生成未来

论文链接:https://arxiv.org/pdf/2507.11533 Git链接:https://github.com/Murray-Wang/CharaConsist


在固定背景下生成一致的角色

不同背景下一致的角色生成

故事生成
亮点直击
首先在简要回顾并分析了用于提升一致性的核心技术——图像间注意力(inter-image attention),以及基础模型 FLUX.1 的一些技术细节。然后介绍我们提出的方法 CharaConsist。下图4展示了本文方法的整体框架及各个组成部分的示意图。

图像间注意力(Inter-image Attention) 在以往的工作中,图像间注意力是一项用于提升一致性的核心技术。在一批图像的生成过程中,图像间注意力通过将相邻图像的 key 和 value 拼接到每张图像的自注意力过程中,从而实现图像间的信息共享。该过程通过增强图像之间的关联,有助于在生成序列中保持连贯性。
尽管注意力模块具有全局感受野,直接应用图像间注意力仍难以捕捉保持一致性所需的对应关系。为了直观地展示这一点,如下图3所示,使用 UNet 架构的 SDXL 和基于 DiT 的 FLUX.1 生成内容相似但布局不同的图像,并计算其平均图像间注意力权重。以查询点的坐标为原点,我们将每张图像划分为等面积的同心圆环,并计算每个圆环内的注意力权重总和。结果表明,随着与查询点距离的增加,对应区域的注意力权重总和显著下降。

这一现象表明模型存在局部性偏置(locality bias),倾向于将更多的注意力权重分配给空间上更接近的区域,而非语义上更相关的区域。因此,模型难以在布局变化较大的情况下保持一致性,无法捕捉到距离较远但上下文上重要的特征。
如下图2所示,以往方法中观察到的不一致性,很大程度上可能源于这种局部性偏置。当不同图像中的角色发生大幅度动作变化或出现在图像中不同位置时,它们之间的相对距离可能显著增加。结果是,图像间注意力对这些远距离区域的响应强度较低,难以获取足够的信息以保证一致性。

本文方法从点追踪(point tracking)开始,并引入多种技术以缓解位置偏移的影响,从而在不同图像布局下实现更稳健且一致的表示。
FLUX.1 FLUX.1 是一个基于 DiT 的隐空间文本生成图像(T2I)模型,其核心架构为多模态 Transformer。它包含两种类型的 Transformer 块:双重块(double block)和单一块(single block),这两种块都以文本和图像 token 作为输入。
虽然这两种块在结构和参数分配上有所不同,但其核心机制保持一致:拼接后的文本和图像 token 进行全局注意力操作。作为一个无需训练的方法,我们主要关注模型内部的注意力过程。因此,忽略这两种块之间的结构差异,并将它们的注意力过程统一表述为如下形式:

其中 表示拼接操作。下标 、 和 分别代表“多模态”(multimodal)、“文本”(text)和“图像”(image)。 是文本 token 的长度, 是每个注意力头的维度, 表示图像 token 的分辨率,为生成图像的 。为简洁起见,省略了注意力头的数量。
Pipeline定义 将一致性生成流程分为两个部分:身份图像生成(identity image generation)和帧图像生成(frame images generation)。身份图像生成遵循原始的生成过程,无需修改,并在特定时间步从特定层中存储中间变量,如 key、value 和注意力输出。帧图像随后通过访问这些存储的变量与身份图像实现一致性。
与以往方法需要并行生成至少 2 到 4 张图像以获取身份信息不同,CharaConsist 仅需一张身份图像。这一优势主要得益于我们方法中的追踪机制,它能够有效利用单张图像中的身份信息,从而无需通过并行处理进行增强。因此,该方法显著减少了额外的 GPU 内存开销。
点匹配(Point Matching) 点匹配的目标是为帧图像中的每个点在身份图像中找到语义上对应的点,从而指导后续的注意力和 token 融合过程。例如,帧图像中角色的面部特征应与身份图像中的面部特征对齐。
以往工作 DIFT 表明,可以通过测量扩散模型中 UNet 在特定时间步的中间特征之间的相似性来确定语义对应关系。然而,这种方法在 FLUX.1 中并不奏效。本文测试了 FLUX.1 中中间 Transformer 块和注意力层输出的余弦相似度。对于 Transformer 块的输出,发现匹配点始终固定在相同位置,无法捕捉语义对应关系。相比之下,对于注意力层的输出,匹配点在不同层、时间步和样本之间波动显著,导致匹配不稳定且不准确。
尽管不同层之间的匹配关系差异较大,但相似度分布却表现出一致的特征。基于这一观察,我们对同一时间步中不同层的相似度得分进行平均,公式如下:

其中 和 分别表示层的数量和层的索引。 表示匹配结果, 表示帧图像中的第 个点与身份图像中的第 个点匹配。 是匹配 token 对的平均余弦相似度。该方法能够提供稳定的语义相似度结果和准确的点匹配关系。结果见下图6。

掩码提取(Mask Extraction) 本文的掩码提取策略基于将图像 token 对前景文本 token 的注意力权重与其对背景文本 token 的注意力权重进行比较。将文本提示格式化为先是背景描述,再是前景描述,如前面图4所示的示例。然后获得它们各自的 token 长度,分别记作背景的 和前景的 。接着提取图像 token 作为查询、文本 token 作为键的注意力权重片段,表示为:

本文仅在文本序列的实际长度范围内应用 Softmax 操作,以避免图像键和特殊文本键 “<s>” 的影响。在这里,我们观察到与点匹配过程类似的问题:每个词对应的注意力权重在不同层之间存在显著波动。为了解决这一问题,分别在前景和背景文本序列内对注意力权重进行平均,并在不同层之间也进行平均。通过比较这些平均注意力权重,我们得出鲁棒的前景掩码,表示为:

点追踪注意力 在获得点匹配关系和前景掩码之后,引入点追踪注意力。首先提取帧图像中的前景 token 索引,以及在身份图像中匹配的 token 索引:

其中 表示获取非零元素的索引。基于这些索引,我们从身份图像中提取 keys 和 values,并重新编码 keys 的位置嵌入,如下所示:

其中 表示未包含位置嵌入的 keys, 表示在 FLUX 中使用的旋转位置嵌入。我们进一步将帧图像的原始 keys、身份图像中重新编码的前景 keys 以及身份图像中的背景 keys 进行拼接,以获得我们点追踪注意力的 keys,公式如下:

与背景相关的操作是可选的,取决于用户是否希望保持背景不变。然后注意力过程表示为:

其中 是注意力掩码,使得帧图像中的前景 token 仅关注身份图像中的前景 token,反之亦然。这种方法有效地利用了模型的特性,因为 被直接应用于每一层注意力中,允许先存储未包含位置嵌入的 keys,并在之后根据需要进行编码。
自适应 Token 合并 尽管位置嵌入的重新编码通过注意力增强了一致性,但由于位置重排,可能会破坏 token 的局部几何关系。此外,部分 token 可能无法完美匹配,导致信息丢失。考虑到注意力输出是所有值的加权和,并携带更多全局信息,它有助于弥补此类信息丢失。因此,我们引入了自适应 token 合并,将帧图像的注意力输出与身份图像的注意力输出进行插值。
在此过程中,首先从身份图像和帧图像中提取对应前景图像 token 的片段注意力输出。然后根据点匹配关系重新排列身份图像的注意力输出,并执行插值:

其中 是一个超参数,并随着生成过程中的时间步长递减。该插值过程结合了由公式 (5) 获得的平均相似度 作为权重,有效地抑制了匹配置信度低的 token,防止其产生负面影响。
评估数据集 本工作聚焦于角色和环境的一致性生成,而现有基准缺乏适用于该任务的特征。因此,我们使用 GPT-4 生成了一系列适用于该应用场景的 T2I 提示词。指示 GPT-4 以“[环境], [角色], [动作].”的格式创建多个提示词组,组内内容不同。我们提出了两个评估任务:背景保持和背景切换。在前者中,“[环境]”和“[角色]”在一组提示中保持一致,而“[动作]”变化;在后者中,仅“[角色]”保持不变。每组包含 5-8 个提示。对于这两类任务,我们各生成了超过 200 个 T2I 提示。
对比方法 对比方法包括无需训练的一致性生成方法 StoryDiffusion、ConsiStory,以及依赖训练的身份参考方法 IP-Adapter、PhotoMaker。上述生成的提示词对所有方法共享。对于身份参考方法,首先利用提示中的“[角色]”部分生成角色头像,然后使用 RetinaFace 裁剪人脸区域,作为输入的参考人脸图像。
评估指标 参考前人工作,引入 CLIP 文本-图像相似度(CLIP-T)来衡量图像与文本提示之间的对齐程度,以及成对 CLIP 图像相似度(CLIP-I)来衡量整图一致性。为了更好地评估本工作的特性,我们引入了三个额外指标。首先,引入解耦的 CLIP-I,分别称为 CLIP-I-fg 和 CLIP-I-bg,用于分别评估前景和背景的一致性。使用 SAM 对每张生成图像进行前景分割,并分别计算遮罩前景和遮罩背景图像的 CLIP 相似度。还引入身份相似度(ID Sim),通过 RetinaFace 和 FaceNet 计算人脸嵌入相似度,以评估身份一致性。此外,引入图像质量分数(IQS)和图像美学分数(IAS),使用 Q-Align 评估生成图像的质量。
定性结果 在下图5中,展示了 CharaConsist 及所有对比方法在背景保持和背景切换任务上的结果。可以观察到,所有对比方法在服装一致性方面存在不同程度的问题。在背景保持任务中,这些方法只能生成相似场景,但无法保证完全一致。而在背景切换任务中,这些方法仅关注前景主体,导致偏离了独特的动作提示,例如图5中的“电话”、“卡通人物”以及前面图2 中的“拍照”都缺失了。此外,我们在图6中展示了点和掩码的结果,以直观展示我们点匹配和掩码提取方法的有效性。更多定性结果见补充材料。

定量结果 如下表1所示,与一致性生成方法相比,在两个评估任务中,本文的CharaConsist 在大多数一致性指标上表现更优,特别是在 CLIP-I-bg 和 ID Sim 上。这些结果强有力地验证了我们方法在保持角色和场景一致性方面的优势。唯一的例外是在背景切换任务中,由于环境变化,我们方法在整图 CLIP-I 得分较低是合理的。与身份参考方法相比,CharaConsist 在 CLIP-I-fg 和 CLIP-I-bg 得分上具有显著优势,表明本文的方法能够保留角色服装和背景环境的细节。虽然本文的方法在身份相似度上不如这些方法(这是它们的训练目标),但这并不矛盾。作为一种无需训练的方法,CharaConsist 可以通过解决服装和环境一致性问题,补充身份参考生成方法的不足。

此外,有一个问题是本文的方法相比其他方法具有较低的 CLIP-T 得分。这在很大程度上可能是由于基础模型带来的领域差异,因为 FLUX.1 的原始结果也显示出较低的 CLIP-T,这在消融实验和表 2 中有更详细的说明。
消融实验 由于本工作基于与基线方法不同的基础模型,进行了消融实验,以分析基础模型本身以及我们提出的方法的影响。对于我们的 CharaConsist 和对比方法,我们评估了对应基础模型的原始结果以及一致性方面的提升。ConsiStory、StoryDiffusion 和我们的 CharaConsist 分别采用的基础模型是 SDXL、RealVisXL4.0 和 FLUX.1。下表2中的结果表明,首先,与 FLUX.1 的原始结果相比,本文的方法显著提升了一致性,表明其有效性。其次,本文的方法在一致性方面实现了最大的提升。这表明表 1 中展示的优越一致性结果并非由于新的基础模型。相反,尽管 FLUX.1 在图像质量方面带来了显著提升,其原始结果在几乎所有指标上与 RealVisXL4.0 相比表现出更低的一致性。此外,FLUX.1 的 CLIP-T 得分显著低于其他两个基础模型,这可能是由于视觉风格上的领域差异所致。

CharaConsist,用于增强一致性的文本到图像生成。通过使用点跟踪注意力和自适应 token 合并来解决局部性偏差,它在角色动作变化下确保了细粒度的一致性。它还支持可控的背景保持或切换,拓展了实际应用场景。
局限性 作为一种专注于无需训练的一致性生成方法,CharaConsist能够生成与文本提示一致的内容,但无法将输入身份作为参考。一个理想的解决方案是将训练好的身份参考模型与本文的方法结合,其中前者可以提供接受输入身份并保持更高人脸相似度的能力,而本文的方法可以弥补它们在背景环境和角色服装一致性方面的不足。这是我们未来探索的重要方向。
[1] CharaConsist: Fine-Grained Consistent Character Generation
如果您觉得这篇文章对你有帮助或启发,请不吝点赞、在看、转发,让更多人受益。