Imagic: Text-Based Real Image Editing with Diffusion Models

Imagic: Text-Based Real Image Editing with Diffusion Models

Bahjat Kawar, Google Research, CVPR23, Paper, Code

1. 前言

在本文中,我们首次展示了将复杂(例如,非刚性)基于文本的语义编辑应用于单个真实图像的能力。例如,我们可以改变图像中一个或多个对象的姿势和组成,同时保留其原始特征。我们的方法可以让站着的狗坐下,让鸟展开翅膀,等等------每一个都在用户提供的高分辨率自然图像中。与之前的工作相反,我们提出的方法只需要单个输入图像和目标文本(所需的编辑)。它对真实图像进行操作,并且不需要任何额外的输入(例如图像遮罩或对象的额外视图)。我们的方法称为Imagic,利用预先训练的文本到图像扩散模型来完成这项任务。它生成与输入图像和目标文本对齐的文本嵌入,同时微调扩散模型以捕捉图像特定的外观。我们在来自不同领域的大量输入上展示了Imagic的质量和多功能性,展示了大量高质量的复杂语义图像编辑,所有这些都在一个统一的框架内。为了更好地评估性能,我们引入了TEdBench,这是一个极具挑战性的图像编辑基准。我们进行了一项用户研究,其结果表明,与TEdBencch上以前的领先编辑方法相比,人类评分者更喜欢Imagic。

2. 整体思想

如下图,首先冻结扩散模型然后用目标Prompt 优化出一个匹配Prompt,然后用这个Prompt微调扩散模型,最后在目标和匹配之间插值的Prompt生成图片。这里的关键在于第一步,第一步确保了优化的Prompt的语义和图片匹配,当然目标Prompt需要编辑的属性可以被区别出来,这对插值这步很重要。

3. 方法

Text embedding optimization :目标文本首先通过文本编码器,该文本编码器输出其相应的文本嵌入 e t g t ∈ R T × d e_{t_{gt}} \in R^{T \times d} etgt∈RT×d,其中 T T T是给定目标文本中的标记数量, d d d是标记嵌入维度。然后,我们冻结生成扩散模型的参数,并使用去噪扩散目标优化目标文本嵌入。这导致文本嵌入尽可能与我们的输入图像匹配。我们运行这个过程的步骤相对较少,以便保持接近初始目标文本嵌入,获得 e o p t e_{opt} eopt。这种接近性使得能够在嵌入空间中进行有意义的线性插值,这对于遥远的嵌入来说不会表现出线性行为。

Model Fine-tuning : 请注意,当通过生成扩散过程时,所获得的优化嵌入 e o p t e_{opt} eopt并不一定会精确地导致输入图像,因为我们的优化只需少量步骤。因此,在我们方法的第二阶段,冻结优化的嵌入,微调模型。该过程移动模型以拟合点 e o p t e_{opt} eopt处的输入图像 x x x。同时,我们微调基础生成方法中存在的任何辅助扩散模型,如超分辨率模型。我们用相同的重建损失对它们进行微调,但以 e t g t e_{tgt} etgt为条件,因为它们将对编辑后的图像进行操作。这些辅助模型的优化确保了基本分辨率中不存在的 x x x的高频细节的保留。经验上,我们发现在推理时,将 e t g t e_{tgt} etgt输入到辅助模型比使用 e o p t e_{opt} eopt表现得更好。

Text embedding interpolation : 由于生成扩散模型被训练为在优化的嵌入 e o p t e_{opt} eopt处完全重新创建输入图像 x x x,我们使用它通过向目标文本嵌入 e t g t e_{tgt} etgt的方向前进来应用所需的编辑。更正式地说,我们的第三阶段是 e t g t e_{tgt} etgt和 e o p t e_{opt} eopt之间的简单线性插值。对于给定的超参数 η ∈ 0 , 1 η \in \left 0,1 \\right η∈0,1,我们得到:

e ˉ = η ⋅ e t g t + ( 1 − η ) ⋅ e o p t \bar e = \eta ·e_{tgt} + (1-\eta) ·e_{opt} eˉ=η⋅etgt+(1−η)⋅eopt

其是表示期望的编辑图像的嵌入。然后,我们使用微调模型,以̄e为条件,应用基底生成扩散过程。这导致了低分辨率的编辑图像,然后使用微调的辅助模型对其进行超分辨率处理,以目标文本为条件。这个生成过程输出我们最终的高分辨率编辑图像 x x x.

4. 实验

上图是没有fine-tuned的,重建效果较差。可以看到上面无法保证背景一致性,下面可以非常好的保证。




相关推荐
IvanCodes3 分钟前
RAG 实战教程(三):向量数据库检索算法,KNN、IVF、HNSW 与 Faiss 实战
人工智能·算法·agent
lxw184491251413 分钟前
PHP5、PHP7、PHP8 版本核心区别与特性
人工智能·php
MindUp14 分钟前
大模型在命理排盘场景下的多平台功能对比与工程化思考
大数据·人工智能
两万五千个小时20 分钟前
DeepSeek Harness 从 0 开始:08 Compaction 模块(上下文压缩)
人工智能·程序员·架构
BOBY_KEJI24 分钟前
技术实践:AI 数字人一体机在政务与线下商业场景的落地研究
人工智能
阿里云大数据AI技术26 分钟前
阿里云 Milvus AI Function | 低成本和高稳定的双重加强
人工智能·agent
小刘快学习27 分钟前
印刷包装企业的工艺问答与报价,为什么从直连模型改成了聚合网关
大数据·人工智能
菜冻鱼28 分钟前
Python-pytorch-数据加载
开发语言·人工智能·pytorch·python·深度学习·机器学习
40岁资深老架构师尼恩34 分钟前
RAGFlow 三大引擎 详解:DeepDoc、RAPTOR、GraphRAG
人工智能
水境传感 李兆栋35 分钟前
林地农田生态观测,多光谱植被监测仪发挥哪些作用
人工智能