本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

Title:


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


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


导读


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


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


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

cc4c23fc63109230c51faaffc228992d.png


总览


40823812f5f95763f86fc45249a677c9.png


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


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


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


实验

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


1d4c428669c73b08447935caf836b759.png

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

image.png

下图展示了与DreamBooth和Textual-Inversion的对比。

f04ebcdbeee30ef116a41b7d8a5c40ff.png

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

image.png


应用

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


4ee5913f087013960856a66becef1971.png

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


image.png

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

image.png

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

image.png


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

image.png

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


image.png

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

image.jpeg


总结

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

训练步骤 :

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

与其他方法相比,本文方法对图像具有更好的几何理解,因此除了风格转移外,还可以对图像进行复杂的编辑。

然而,在一些情况下,如果给扩散模型提供了令人困惑的编辑指导,例如changing a dog to a tiger in the same posture,此时可能会失败。在需要应用大幅变化的情况下,例如改变同一姿势的狗为老虎,也会出现明显的伪像。

image.gif