SINE: 一种基于扩散模型的单图像编辑解决方案

本文首发于微信公众号 CVHub,不得以任何形式转载到其它平台,仅供学习交流,违者必究!

Title: <SINE: SINgle Image Editing with Text-to-Image Diffusion Models>

Paper: https://arxiv.org/pdf/2212.04489.pdf

Github: https://github.com/zhang-zx/SINE.git

导读

本文着重讨论了如何使用扩散模型来进行图像编辑的问题。之前的工作已经证明了扩散模型在条件图像生成方面具有很强的能力,例如文本指导的图像合成。但是,在许多情况下,只有一个图像可用,例如《珍珠耳环女孩》画作。使用现有的工作来微调预先训练的扩散模型,只使用一张图片会导致严重的过拟合问题。

为了解决这个问题,我们提出了一种新的基于模型的指导方法,用于解决单图像编辑的问题。通过基于无分类器指导的模型指导,可以将单张图像训练模型中的知识蒸馏到预训练的扩散模型中,使得即使在只有一张给定图像的情况下也可以创建内容。此外,文章还提出了一种基于补丁(patch)的微调方法,可以有效地帮助模型生成任意分辨率的图像。

最后,本文进行了大量实验来验证其方法的设计选择,并展示出极具前景的编辑能力,包括改变风格内容添加对象操作

Figure 1. Image manipulation on one real image

总览

Figure 2. Overview of our method

对于一张随机的现实中的图像,作者的目标是通过语言来编辑图像,同时保留尽可能多的原始图像细节。为了实现这一目标,我们利用了预先训练的大规模文本到图像模型的泛化能力。一种直观的方法是用单张图像和文本描述来微调扩散模型,类似于DreamBooth

理想情况下,它应该提供一个可以用给定的文本描述重构输入图像,并根据其他语言指导合成新图像的模型。然而,作者发现模型很容易过度拟合单个训练图像及其相应的文本描述。因此,尽管微调过的模型仍然可以完美地重构输入图像,但它不再能够根据给定的语言指导合成多样化的图像(如图5所示)。此外,由于缺乏位置信息,它难以生成任意分辨率的图像(如图4所示)。

因此,为了解决上述问题,本文提出了一种基于测试时间的模型无分类器指导和基于补丁的微调技术。整体方法的概览如图2所示。

实验

通过将本文方法应用于各种图像,并用两个目标提示词(prompt)在512×512分辨率下编辑它们。我们展示了我们的方法可以用于的广泛编辑,包括但不限于风格转移内容添加姿势改变品种改变等。

Figure 3. Editing on single source image from various domains

本文方法同样可以实现更高分辨率的图像编辑,而不会产生重复像素等伪像,即使在极大地改变高宽比的图像上也是如此。

Figure 4. Arbitrary resolution editing

下图展示了与DreamBoothTextual-Inversion的对比。

Figure 5. Comparisons of various methods

通过在512×512分辨率下训练的模型可以对对人脸照片进行了各种局部或全局的编辑。

In-the-wild human face manipulation

应用

下图展示了该方法应用到图像编辑的各种任务:内容删除(a)、风格生成(b)和风格转移©。

Multi-tasks

The generation resolution is set to H = 768 and W = 1024. We use K = 400 and v = 0.7 in this sample.

A children’s painting of a castle

The output resolution is set to H = 768 and W = 1024. We use K = 400 and v = 0.65 in this example.

A painting of a castle in the style of Claude Monet

The output resolution is set to H = 768 and W = 1024. We use K = 400 and v = 0.7 in this example.

A photo of a lake with many sailboats

The output resolution is set to H = 768 and W = 1024. We use K = 500 and v = 0.8 in this example.

A desert

The output resolution is set to H = 768 and W = 1024. We use K = 500 and v = 0.8 in this example.

A desert

The output resolution is set to H = 1024 and W = 768. We use K = 400 and v = 0.6 in this example.

A watercolor painting of a girl

总结

本文介绍了SINE,一种基于单图像编辑的方法。只用一张图像和对图像中对象的简要描述,该方法就可以实现各种分辨率的广泛编辑,并根据语言指导中描述的信息。为了获得该结果,作者利用了预训练的大规模文本到图像扩散模型

训练步骤:

  • 使用基于补丁微调方法对预先训练的模型进行微调,直到它过拟合单个图像。
  • 在采样时间,使用过拟合的模型来指导预先训练的扩散模型进行图像合成,这既保证了结果的保真度,又利用了预先训练模型的泛化能力

与其他方法相比,本文方法对图像具有更好的几何理解,因此除了风格转移外,还可以对图像进行复杂的编辑。
然而,在一些情况下,如果给扩散模型提供了令人困惑的编辑指导,例如changing a dog to a tiger in the same posture,此时可能会失败。在需要应用大幅变化的情况下,例如改变同一姿势的狗为老虎,也会出现明显的伪像。

写在最后

如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎添加小编微信号:cv_huber,一起探讨更多有趣的话题!

猜你喜欢

转载自blog.csdn.net/CVHub/article/details/129739886