来源:CVPR2022 论文标题:DiffusionCLIP: Text-Guided Diffusion Models for Robust Image Manipulation 作者:Gwanghyun Kim, Taesung Kwon, Jong Chul Ye 论文链接:https://arxiv.org/abs/2110.02711 代码链接:https://github.com/gwang-kim/DiffusionCLIP 内容整理:阳浩宁 最近,GAN 反演方法结合对比性语言-图像预训练(CLIP),实现了由文本提示引导的零样本图像操作。然而,由于 GAN 反演能力有限,它们在多样化真实图像中的应用仍然很困难。为了缓解这一问题并实现可信的真实图像操作,本文提出了一种新的方法,称为 DiffusionCLIP,它使用扩散模型进行文本驱动的图像操作。基于扩散模型的完全反演能力和高质量图像生成能力,本文提出的方法成功地实现了零样本图像操作,即使是在未见过的领域之间,并通过操作来自广泛变化的 ImageNet 数据集的图像向更普遍的应用迈进了一步。此外,本文提出了一种新的噪声组合方法,可以进行直接的多属性操作。大量实验证明,与现有基准方法相比,我们的方法具有稳健且卓越的操作性能。
近期,结合对比语言-图像预训练(CLIP)的 GAN 反演方法在零样本图像操作方面引起了广泛关注,它可以根据文本提示进行图像操作。然而,由于 GAN 反演性能有限,它在各种类型的真实世界图像上的应用仍然很棘手。具体而言,成功的图像操作应该将图像属性转换为目标属性,同时不会对输入内容产生意外变化。然而,目前最先进的基于编码器的 GAN 反演方法往往不能成功重建具有新姿势、视角和细节的图像。当处理高变异数据集(如 LSUN-Church 和 ImageNet )中的图像时,这个问题变得更加严重。 最近,扩散模型,如去噪扩散概率模型(DDPM)和基于分数的生成模型在图像生成任务上取得了巨大的成功。最新的研究表明,与变分自编码器(VAEs)、流动模型、自回归模型和生成对抗网络(GANs)相比,这些模型在图像合成性能方面具有更高的质量。此外,最近的去噪扩散隐式模型(DDIM)进一步加速了采样过程,并实现了几乎完美的反演。 基于此,本文提出了一种新的 DiffusionCLIP 方法,这是一种通过扩散模型进行 CLIP 引导的强大图像操作方法。其关键思想是使用基于文本提示的 CLIP 损失来微调反向扩散过程中的评分函数,以控制生成图像的属性。这种方法可以成功地在训练过和未见过的领域中进行图像操作,甚至可以将图像从一个未见过的领域转换为另一个未见过的领域,或者从草图中生成未见过的领域的图像。此外,通过简单地将多个经过微调模型预测的噪声组合在一起,可以通过仅进行一次采样过程同时改变多个属性。另外,DiffusionCLIP 通过操作来自广泛多样的 ImageNet 数据集的图像,在 GAN 反演方面取得了一步进展。此前由于其较差的重建效果,该数据集很少被探索。本文还提出了一种系统的方法来寻找导致高质量和快速图像操作的最佳采样条件。
扩散概率模型是一种包含前向扩散过程和反向扩散过程的隐变量模型。前向过程是一个马尔可夫链,在依次采样
时的隐变量
时,逐渐向数据中添加噪声。前向过程的每一步都是一个高斯过程
,其中
是固定的或学习得到的参数。因此隐变量
可以表示为:
其中
。反向过程可由另一个高斯过程
表示。其中
,这里的
是一个由模型预测出的噪声。这个模型训练时的目标函数为
这时反向过程可通过公式 3 进行采样
同时,本文发现 DDPM 的采样过程对应于具有公式 4 所示关系的基于分数的生成模型的采样过程
另外一种扩散模型提出了一种非马尔可夫过程。它有和 DDPM 相同的边缘分布,但采样过程与 DDPM 不同。
当
时,就是 DDIM 的采样过程。这个过程是确定性的,可以在较少的步骤中完全将潜在变量反演为原始图像。将 DDIM 的采样过程重写成公式 7 的形式,可以将其视为求解一个常微分方程的欧拉方法。
CLIP 是为了有效地利用自然语言监督学习视觉概念而提出的。它包含经过预训练的文本编码器和图像编码器,用于识别数据集中哪些文本与哪些图像相匹配。本文应用 CLIP 时提出了两种损失函数,即全局目标损失(global target loss)和局部方向损失(local directional loss)。全局损失旨在最小化生成图像与给定目标文本在 CLIP 空间中的余弦距离,如公式 8 所示。
局部方向损失则可以缓解全局 CLIP 损失的问题,例如低多样性和易受对抗性攻击的影响。它将参考图像和生成图像的嵌入之间的方向与 CLIP 空间中一对参考文本和目标文本的嵌入之间的方向对齐,具体公式 9 所示
其中
图像编辑可以通过微调采样得到的隐变量和微调模型来实现,本文通过实验发现微调模型的方式更加有效。其流程如图 1 所示。
图1 DiffusionCLIP模型微调流程示意图
在对模型进行微调时,采用的目标函数是方向性 CLIP 损失
和特征损失
的组合,如公式 10 所示。
特征损失可以防止对图片多余的更改,保留图片的特征。一般而言本文使用
损失作为特征损失函数,而在对人脸图像进行操作时会引入脸部特征损失函数,如公式 11 所示。
DDPM 的采样过程会带来随机性。为了实现高保真度的图像操作,本文应用了 DDIM 的反向采样过程作为生成过程,并且反转的 ODE(Ordinary Differential Equation)近似作为正向扩散过程,如公式 12 和 13 所示。
本文还提出了快速采样的策略。首先,前向扩散过程可以执行到
<T 的步骤,从而加快前向扩散的过程。其次,可以通过在
之间使用较少的离散化步骤来进一步加快训练速度,步长分别记为
和
。例如,本文指出,当设置
时,取
即可达到目标。 最后,如果一些隐变量经过了预先计算(如图 1 中灰色部分),那么通过将这些隐变量重新应用到调整其他属性的任务中,可以进一步减少微调的时间。
本文实现这一功能的主要思想是通过插入在相对容易收集的数据集上训练的扩散模型来连接两个领域。研究表明,利用预训练的扩散模型,未知域的图片可以被转换为训练过的领域的图片。将这种方法与之前的 DiffusionCLIP 结合起来,就可以实现在源领域和目标领域之间的零样本图像转换。具体而言,在源领域中的未知图像
首先通过DDPM的前向过程加噪,直到足够的时间步长
,使得与领域相关的部分模糊,但对象的特征或语义得到保持。通常
设置为 500。接下来,经过 DDIM 反向过程,用原始的预训练模型
对预训练领域中的图像
进行采样。然后,用微调过的模型
将
转化为在 CLIP 引导的未知领域中调整的图像
。整个过程如图 2 所示。
图2 用 DiffusionCLIP 在未知领域之间进行图像转换流程示意图
本文发现,当多个经过微调的模型预测的噪声
在采样过程中被结合起来时,就可以实现只在一次采样过程中改变多个属性,如图 3 所示。
图3 DiffusionCLIP 图像的多属性变换流程示意图
因此,本文可以将多个改变单个属性的微调模型灵活地组合在一起,而不需要根据目标文字微调新的模型,如公式 14 所示。
根据公式 4,可以将这个采样过程解释为增加条件分布的联合概率,具体方式如公式 15 所示。
这种方法同样可以用来控制图像操作中改变单个属性的程度。通过将原始的预训练模型预测的噪声
和微调模型预测的噪声
以一个权重
结合起来,就可以在原始图像和处理后的图像之间进行平滑的插值。
表1 DiffusionCLIP 与其他模型在人脸图像重建上的对比
表2 CelebA-HQ 数据集上真实图像操作的人工评估结果,数值代表 DiffusionCLIP 相对于每种方法的偏好率
表3 图像操作任务的评价指标结果
图4 DiffusionCLIP 和其他文本驱动的图像编辑模型的对比
图5 在未知领域之间进行图像转换的结果
图6 图像多属性变换的结果
图7 图像连续变换的结果