Prompt-to-Prompt Image Editing

Prompt-to-Prompt Image Editing

with Cross Attention Control

TL;DR

将文本驱动的图像合成拓展到文本驱动的图像编辑是很自然的。这个方向面临的挑战是:编辑任务通常是保留未编辑的部分,保留大部分的原始图像。然而在基于文本驱动的模型中,即使是对文本本身进行微小的改动,也会导致截然不同的结果。在本文之前的STOA方法用mask来缓解这个现象,但也忽略了Mask中间的信息。本文追求一种直观的prompt-to-prompt 仅有文本控制的图像编辑框架。经过研究发现 —— cross attention layer是控制图像空间分布和prompt 中每个单词的关键,基于这个观察,作者提出了几个应用程序,通过仅编辑文本提示来监控图像综合。这包括通过替换一个词进行局部编辑,通过添加说明进行全局编辑,甚至精细地控制一个词在图像中的反映程度

Untitled

Method

Untitled

  • key observation: 生成图像的外观和结构不仅依赖于random seed, 也和 在diffusion过程中图像pixel 和 text embed 之间的关联

Untitled

  • Cross attention in text-conditioned Diffusion Models

    • 使用ImageGen —— text-guided 合成模型作为backbone,只在text-to-image的扩散过程进行适应,原有的SR过程保持不变
    • noisy image $\phi(zt)$ 被映射成 Query matrix $Q = l_Q(\phi(zt))$. textual embedding 被映射为 key matrix: $K = l_K(\phi(P ))$, value matrix $V = l_v(\phi(P))$。attention mask 如下, mask 用于衡量Q K之间的相似度,为了增加表达能力,并行也使用了multi-head attention.

    $$
    M = Softmax(\frac{QK^T}{\sqrt{d}})
    $$

  • Controlling the Cross-attention

    Untitled

    • 生成的图像的空间布局和几何形状依赖于跨注意力图。 可以看出注意力mask 随着关键词汇变换的过程,而且在早期,注意力mask 已经具有雏形。由于注意力反映了整体的组成,我们可以将从原始提示 P 的生成中获得的注意力图 M 注入到修改后的提示 P* 的第二次生成中。这允许生成一个编辑后的图像 I*,该图像不仅根据编辑后的提示进行了操控,而且还保留了输入图像 I 的结构。

      1. **DM(zt,P,t,s)**:这是一个扩散过程的单步计算,其输出是噪声图像 zt−1 和注意力图 Mt (如果没有使用则省略)。
      2. **DM(zt,P,t,s){M ← M∗}**:这是我们使用额外给定的图 M∗ 来覆盖注意力图 M 的扩散步骤,但保持来自提供的提示的值 **V∗**。
      3. **Mt***:这是使用编辑提示 P* 产生的注意力图。
      4. **Edit(Mt, Mt*, t)**:这是一个通用的编辑函数,它接收原始和编辑图像在生成过程中的第 t 个注意力图作为输入。

      Untitled

  • Edition 函数的定义

    • word swap

    Untitled

    • Adding a new phrase 。P =“a castle next to a river” to P∗ =“children drawing of a castle next to a river”

    Untitled

    • Attention re-weighting: P = “a fluffy red ball” 例如改变材质的程度

    Untitled

    Application

    文章介绍了一些应用,包括

    • Text-Only Localized Editing.

    Untitled

    • Global editing.

    Untitled

    • Fader Control using Attention Re-weighting.

    Untitled