从单幅自然图像生成图像的技术被广为应用,也因此受到越来越多的关注。这一研究旨在从单幅自然图像中学习一个无条件生成模型,通过捕获 patch 内部统计信息,生成具有相似视觉内容的不同样本。一旦训练完成,模型不仅可以生成高质量且不限分辨率的图像,而且还可以轻松适应多种应用,如图像编辑、图像和谐化(image harmonization)和图像间的转换。
SinGAN 可以满足上述要求,该方法可以构建自然图像的多个尺度,并训练一系列 GANs 来学习单幅图像中 patch 的内部统计信息。SinGAN 的核心思想是在渐进增长的尺度上训练多个模型。然而,通过这些方法生成的图像可能不尽人意,因为它们存在小范围的细节性误差,从而导致生成的图像中存在明显的伪影现象(见图 2)。
本文中,来自中国科学技术大学、微软亚洲研究院等机构的研究者提出了一个新的框架——单幅图像扩散模型(SinDiffusion,Single-image Diffusion),以用于从单幅自然图像中学习,其是在去噪扩散概率模型 (DDPM,Denoising Diffusion Probabilistic Model) 的基础上完成的。虽然扩散模型是一个多步(multiple-step)生成过程,但它不存在累积误差问题。原因是扩散模型具有系统的数学公式,中间步骤的误差可视为干扰,并且可以在扩散过程中得到改善。
SinDiffusion 的另一个核心设计是限制扩散模型的感受野。该研究回顾了先前扩散模型[7] 中常用的网络结构,发现它具有较强的性能和较深的结构。不过该网络结构具有的感受野大到能够覆盖整个图像,这导致模型倾向于靠记忆训练图像,从而生成与训练图像完全相同的图像。为了鼓励模型学习 patch 统计信息而不是记忆整个图像,研究对网络结构进行了精细设计,并引入了一个 patch-wise 去噪网络。同之前的扩散结构相比,SinDiffusion 减少了原去噪网络结构中的下采样次数和 ResBlock 数量。如此一来,SinDiffusion 可以从单幅自然图像中学习,并且生成高质量且多样化的图像(见图 2)。
- 论文地址:https://arxiv.org/pdf/2211.12445.pdf
- 项目地址:https://github.com/WeilunWang/SinDiffusion
SinDiffusion 的优点在于,它能灵活运用于各种场景(见图 1)。它可以用于各种应用,而无需对模型进行任何重新训练。在 SinGAN 中,下游应用主要通过将条件输入预先训练的不同尺度的 GANs 来实现。因此,SinGAN 的应用仅限于那些给定的空间对齐(spatiallyaligned)条件。与之不同的是,SinDiffusion 通过设计采样程序可用于更广泛的应用。SinDiffusion 通过无条件训练学习预测数据分布的梯度。假设有一个描述生成图像与条件之间相关性的评分函数(即 L−p 距离或一个预训练网络,如 CLIP),该研究利用相关性评分的梯度来指导 SinDiffusion 的采样过程。通过这种方式,SinDiffusion 能够生成既符合数据分布又和给定条件相吻合的图像。
研究对各种自然图像进行了实验,以此来证明提出的框架的优势,实验对象包括风景和著名的艺术。定量和定性结果都证实了 SinDiffusion 可以产生高保真和多样化的结果,而下游应用进一步证明了 SinDiffusion 的实用性和灵活性。
方法
与之前研究中的渐进式增长设计不同,SinDiffusion 采用单一尺度下的单一去噪模型进行训练,防止了误差的积累。此外,该研究发现扩散网络 patch-level 的感受野在捕获内部 patch 分布方面起着重要作用,并设计了一种新的去噪网络结构。基于这两个核心设计,SinDiffusion 从单幅自然图像生成高质量和多样化的图像。
本节其余部分的组织如下:首先回顾 SinGAN 并展示 SinDiffusion 的动机,然后介绍了 SinDiffusion 的结构设计。
首先简要回顾一下 SinGAN。图 3(a)给出了 SinGAN 的生成过程。为了从单幅图像生成不同的图像,SinGAN 的一个关键设计是建立图像金字塔,并逐步增长生成的图像的分辨率。
图 3(b)为 SinDiffusion 新框架。与 SinGAN 不同的是,SinDiffusion 在单一尺度上使用单一去噪网络执行多步生成过程。虽然 SinDiffusion 也采用了像 SinGAN 一样的多步生成过程,但是生成的结果是高质量的。这是因为扩散模型建立在对数学方程的系统推导的基础上,中间步骤产生的误差在扩散过程中被反复细化为噪声。
SinDiffusion
本文研究了生成多样性与去噪网络感受野的关系——修改去噪网络的网络结构可以改变感受野,并且设计了四种感受野不同但性能相当的网络结构,在单幅自然图像上训练这些模型。图 4 显示了不同感受野下模型生成的结果。可以观察到,感受野越小,SinDiffusion 产生的生成结果越多样化,反之亦然。然而,研究发现极小的感受野模型并不能保持图像的合理结构。因此,合适的感受野对于获取合理的 patch 统计信息是重要且必要的。
该研究重新设计了常用的扩散模型,并引入了用于单幅图像生成的 patch-wise 去噪网络。图 5 是 SinDiffusion 中 patch-wise 去噪网络的概述,并且展现了与之前去噪网络的主要区别。首先,通过减少下采样和上采样操作来减小去噪网络的深度,从而极大地扩展了感受野。同时,去噪网络中原本使用的深层注意力层被自然去除,使 SinDiffusion 成为一个完全卷积的网络,适用于任意分辨率的生成。其次,通过减少每个分辨率中嵌入时间的 resblock,进一步限制 SinDiffusion 的感受野。用这种方法得到一个带有适当感受野的 patch-wise 去噪网络,得到了逼真且多样的结果。
实验
SinDiffusion 随机生成图像的定性结果如图 6 所示。
可以发现,在不同的分辨率下,SinDiffusion 可以生成与训练图像具有相似模式的真实图像。
此外,本文还研究了如何从单幅图像生成高分辨率图像的 SinDiffusion。图 13 展示了训练图像和生成的结果。训练图像是一个 486 × 741 分辨率的景观图像,包含了丰富的组件,如云、山、草、花和一个湖。为了适应高分辨率的图像生成,SinDiffusion 已经升级到增强版本,该版本具有更大的感受野和网络能力。增强版的 SinDiffusion 生成了一个 486×2048 分辨率的高分辨率长滚动图像,其生成效果结果保持训练图像的内部布局不变,且归纳出了新的内容,见图 13。
对比以往的方法
表 1 展示了 SinDiffusion 与几个具有挑战性的方法(即 SinGAN, ExSinGAN, ConSinGAN 和 GPNN)相比产生的定量结果。与之前基于 GAN 的方法相比,SinDiffusion 在经过逐步改进后,达到了 SOTA 性能。值得一提,本文的研究方法极大地提高了生成图像的多样性,在 Places50 数据集上训练的 50 个模型的平均值上,本文的方法以 + 0.082 LPIPS 的评分超过了目前最具挑战性的方法。
除了定量结果之外,图 8 还展示了 Places50 数据集上的定性结果。
图 15 给出了 SinDiffusion 和之前方法的文本引导图像生成结果。
更多内容请查看原论文。