我们介绍了SinGAN,这是一个无条件的生成模型,可以从单一的自然图像中学习。我们的模型经过训练,可以捕捉到图像中斑块的内部分布,然后能够生成高质量的、多样化的样本,这些样本承载着与图像相同的视觉内容。SinGAN包含一个完全卷积GAN的金字塔,每个负责学习图像不同比例的斑块分布。这允许生成任意大小和长宽比的新样本,这些样本具有显著的可变性,但同时保持训练图像的全局结构和精细纹理。与以前的单一图像GAN方案相比,我们的方法不限于纹理图像,也不是有条件的(即它从噪声中生成样本)。用户研究证实,生成的样本通常被混淆为真实的图像。我们说明了SinGAN在广泛的图像处理任务中的效用。
生成对抗网(GANs)在为视觉数据的高维分布建模方面取得了巨大的飞跃。特别是,无条件的GANs在生成现实的、高质量的样本方面显示出了显著的成功,当对类别规格的数据集(例如,人脸,卧室)进行训练时。然而,捕捉具有多个目标类别的高度多样化的数据集(如ImageNet)的分布,仍然被认为是一个重大挑战,往往需要在另一个输入信号上调节生成,或为一个特定的任务训练模型(如超级分辨率,绘画,重定位)。
在这里,我们将GANs的使用带入一个新的领域--从单一自然图像中学习的无条件生成。特别是,我们表明,单一自然图像中的斑块的内部统计信息通常足以用来学习一个强大的生成模型。SinGAN,我们新的单一图像生成模型,使我们能够处理包含复杂结构和纹理的一般自然图像,而不需要依赖同一类图像数据库的存在。这是通过一个完全卷积的轻量级GAN的金字塔实现的,每个GAN负责捕捉不同尺度的斑块分布。一旦经过训练,SinGAN可以产生各种高质量的图像样本(任意尺寸),这些样本在语义上与训练图像相似,但包含新的物体构型和结构(图1)。
长期以来,在许多计算机视觉任务中,对单个自然图像中的斑块的内部分布进行建模被认为是一个强大的先验。经典的例子包括去噪、去模糊、超分辨率、去锯齿和图像编辑。在这一背景下,最密切相关的工作是,其中双向斑块相似度测量被定义和优化,以保证操作后的图像斑块与原始斑块相同。在这些工作的激励下,我们在这里展示了SinGAN如何在一个简单的统一学习框架内解决各种图像处理任务,包括从单一图像的绘画、编辑、协调、超分辨率和动画。在所有这些情况下,我们的模型产生了高质量的结果,保留了训练图像的内部补丁统计(见图2和我们的项目网页)。所有的任务都是通过相同的生成网络实现的,除了原始训练图像之外,没有任何额外的信息或进一步的训练。
最近有几项工作提议将深度模型 "过度 "到一个单一的训练实例。然而,这些方法是为特定的任务设计的(例如,超级分辨率,纹理扩展)。Shocher等人是第一个为单一自然图像引入基于GAN的内部模型,并在重定向的背景下进行了说明。然而,他们的生成是以输入图像为条件的(即把图像映射到图像上),而不是用来抽取随机样本。相比之下,我们的框架是纯生成的(即把噪声映射到图像样本),因此适合许多不同的图像处理任务。无条件的单图像GANs只在纹理生成的背景下被探索过。当对非纹理图像进行训练时,这些模型并不能生成有意义的样本(图3)。另一方面,我们的方法不限于纹理,可以处理一般的自然图像(如图1)。
最近基于GAN的方法在许多不同的图像处理任务中展示了对抗性学习的力量。例子包括交互式图像编辑、Sketch2image和其他图像到图像的翻译任务。然而,所有这些方法都是在特定类别的数据集上进行训练的,而且这里也经常以另一个输入信号作为生成的条件。我们对捕捉同一类图像的共同特征不感兴趣,而是考虑一个不同的训练数据来源--一个单一自然图像的多个比例的所有重叠斑块。我们表明,可以从这些数据中学习到一个强大的生成模型,并可用于一些图像处理任务。
我们的目标是学习一个无条件的生成模型,以捕捉单一训练图像
的内部统计数据。这项任务在概念上类似于传统的GAN设置,只是这里的训练样本是单一图像的斑块,而不是来自数据库的整个图像样本。
我们选择超越纹理生成,并处理更普遍的自然图像。这需要在许多不同的尺度上捕捉复杂图像结构的统计数据。例如,我们想捕捉全局属性,如图像中大型物体的排列和形状(如顶部的天空,底部的地面),以及精细的细节和纹理信息。为了实现这一目标,我们的生成框架,如图4所示,由一个层次的patch-GANs(马尔科夫判别器)组成,其中每个负责捕捉不同比例的
的补丁分布。GANs有小的接受场和有限的容量,使他们无法记住单一的图像。虽然类似的多尺度架构已经在传统的GAN设置中被探索过,但我们是第一个探索它用于单幅图像的内部学习。
我们的模型由一个生成器金字塔组成,
,针对
的图像金字塔进行训练
,其中
是
的下采样版本,系数为
,对于某些r > 1。每个生成器
负责产生真实的图像样本,即相应图像
中的补丁分布。这是通过对抗性训练实现的,其中
学会了欺骗一个相关的鉴别器
,它试图将生成的样本中的斑块与
中的斑块区分开来。
图像样本的生成从最粗的尺度开始,依次通过所有的生成器,直到最细的尺度,并在每个尺度上注入噪声。所有的生成器和鉴别器都有相同的感受野,因此在生成过程中捕捉到的结构尺寸越来越小。在最粗的尺度上,生成器是纯粹的生成器,即
将空间白高斯噪声
映射到图像样本
、
在这个层面上的有效感受野通常约为图像高度的1/2,因此
产生了图像的总体布局和物体的整体结构。每个生成器
在更佳的尺度(n < N)增加了以前的尺度没有生成的细节。因此,除了空间噪声
外,每个生成器
都接受来自较粗尺度的图像的上采样版本,即:、
所有的生成器都有一个类似的结构,如图5所示。具体来说,噪声zn被添加到图像中,然后再被送入一系列卷积层。这确保了GAN不会无视噪声,这在涉及随机性的条件方案中经常发生。卷积层的作用是生成
中缺失的细节(残差学习)。也就是说,
执行的操作是:
其中
是一个具有5个Conv(3×3)-BatchNorm-LeakyReLU形式的完全卷积网。我们从最粗尺度的每块32个核开始,每4个尺度增加2倍的数量。由于生成器是完全卷积的,我们可以在测试时生成任意大小和长宽比的图像(通过改变噪声图的尺寸)。
我们按顺序训练我们的多尺度架构,从最粗的尺度到最细的尺度。一旦每个GAN被训练,它就被保持不变。我们对第
个GAN的训练损失由一个对抗项和一个重建项组成:
对抗性损失
对
中的斑块分布和生成的样本
中的斑块分布之间的距离进行惩罚。重构损失
保证了可以产生
的一组特定的噪声图的存在,这是图像处理的一个重要特征(第4节)。我们接下来详细描述
。优化细节见补充材料(SM)。
对抗性损失
每个生成器
都与一个马尔科夫判别器
相连,该判别器将其输入的每个重叠斑块分类为真实或虚假。我们使用WGAN-GP损失,我们发现它能提高训练的稳定性,其中最终的鉴别分数是补丁鉴别图的平均值。相对于纹理的单图像GANs,这里我们对整个图像的损失进行定义,而不是对随机作物(大小为1的批次)。这允许网络学习边界条件(见SM),这是我们设置的一个重要特征。
的结构与
中的网
相同,因此它的补丁尺寸(网络的感受野)为11×11。
重构损失
我们要确保存在一组特定的输入噪声图,从而产生原始图像x。我们特别选择
,其中
是一些固定的噪声图(绘制一次,在训练期间保持固定)。用
表示使用这些噪声图时在第n个尺度上生成的图像。那么对于n < N,
而对于
,我们使用
。
重建的图像
在训练过程中还有一个作用,就是确定每个尺度的噪声
的标准偏差
。具体来说,我们认为
与
和
之间的均方根误差(RMSE)成正比,这表明了在该尺度上需要添加的细节数量。
我们在各种图像上对我们的方法进行了定性和定量的测试,这些图像涵盖了大量的场景,包括城市和自然风景,以及艺术和纹理图像。我们使用的图像来自伯克利分割数据库(BSD)、Places和Web。我们总是将最粗尺度的最小维度设置为25px,并选择尺度的数量N,以使缩放系数r尽可能接近4/3。对于所有的结果,(除非另有提及),我们将训练图像的大小调整为最大尺寸250px。
我们生成的随机图像样本的定性例子显示在图1、图6中,SM中还包括许多例子。对于每个例子,我们展示了一些与原始图像具有相同长宽比的随机样本,并在每个轴上有减少和扩大的尺寸。可以看出,在所有这些情况下,生成的样本描述了新的现实结构和物体的配置,同时保留了训练图像的视觉内容。我们的模型成功地保留了物体的整体结构,如山(图1)、气球或金字塔(图6),以及精细的纹理信息。由于该网络具有有限的接受场(比整个图像小),它可以产生训练图像中不存在的新的斑块组合。此外,我们观察到,在许多情况下,反射和阴影都是真实合成的,如图6和图1所示(以及图8的第一个例子)。请注意,SinGAN的架构是不考虑分辨率的,因此可以用于高分辨率的图像,如图7所示(见SM中的4Mpix结果)。这里也是如此,所有尺度的结构都能很好地生成,从天空、云和山的整体排列,到雪的细微纹理。
测试时尺度的影响
我们的多尺度结构允许控制样本之间的变化量,方法是在测试时选择开始生成的尺度。为了从尺度
开始,我们把到这个尺度的噪声图固定为
,并且只对
使用随机抽样。其效果如图8所示。可以看出,从最粗的尺度(
)开始生成,会导致全局结构的巨大变化。在某些情况下,有一个大的突出物体,如斑马图像,这可能导致不现实的样本。然而,从较小的尺度开始生成,可以保持全局结构的完整,而只改变较小的图像特征(如斑马的条纹)。更多例子见SM。
训练期间尺度的影响
图9显示了用较少尺度训练的效果。有了较少的标度,最粗的有效接收范围就会变小,只能捕捉到细微的纹理。随着尺度数量的增加,出现了更大支持度的结构,全局物体的排列被更好地保留下来。
为了量化我们生成的图像的真实性,以及它们对训练图像的内部统计的捕捉程度,我们使用了两个指标:(i)亚马逊Mechanical Turk(AMT)"真实/虚假 "用户研究,以及(ii)Frechet Inception Distance[23]的新的单图像版本。
AMT perceptual study
我们遵循[26, 58]的协议,在2个环境中进行知觉实验。
(i) 成对的(真与假): 工人们接受了一连串的50个试验,在每个试验中,一个假的图像(由SinGAN生成)与它的真实训练图像相对应,持续1秒钟。工人们被要求选择假的图像。
(ii) 非配对(真实或虚假): 工人们被呈现在一个单一的图像上1秒钟,并被问及它是否是假的。总共有50张真实图像和50张不相干的假图像以随机顺序呈现给每个工人。
我们对两种类型的生成过程重复了这两个协议: 从最粗的(第N个)尺度开始生成,以及从尺度N-1开始(如图8)。这样,我们在两个不同的变异水平上评估了我们结果的真实性。为了量化生成图像的多样性,对于每个训练实例,我们计算了100个生成图像中每个像素的强度值的标准偏差(std),对所有像素进行平均,并以训练图像的强度值的std为标准。
真实图像是从 "地方 "数据库[59]中随机抽取的,包括山、丘陵、沙漠、天空等子类别。在4次测试中的每一次,我们都有50名不同的参与者。在所有的测试中,前10次试验都是包括反馈的教程。结果见表1。
正如预期的那样,在没有参照物进行比较的情况下,混淆率始终较大。此外,很明显,混淆率随着生成图像的多样性而降低。然而,即使改变了大的结构,我们生成的图像也很难与真实的图像区分开来(50%的分数意味着真实和虚假之间的完美混淆)。全套测试图像包括在SM中。
单一图像Frechet Inception Distance 我们接下来要量化SinGAN对X的内部统计的捕捉程度。GAN评估的一个常见指标是Frechet Inception Distance(FID),它测量生成图像的深度特征分布与真实图像的分布之间的偏差。然而,在我们的设置中,我们只有一个单一的真实图像,而对其内部的补丁统计感兴趣。因此,我们提出了单幅图像FID(SIFID)指标。我们不使用初始网络中最后一个池化层之后的激活向量(每幅图像一个向量),而是使用卷积层输出的深层特征的内部分布,就在第二个池化层之前(地图中每个位置一个向量)。我们的SIFID是真实图像中这些特征的统计数字与生成的样本中的FID。
从表2中可以看出,从比例尺N-1生成的平均SIFID低于从比例尺N生成的SIFID,这与用户研究结果一致。我们还报告了SIFID分数和假图像的混淆率之间的相关性。请注意,两者之间存在着显著的(反)相关性,这意味着小的SIFID通常是大的混淆率的一个好指标。由于SIFID是一个成对的测量方法(它对xn, x˜n进行操作),因此配对测试的相关性更强。
我们在低分辨率(LR)图像上训练我们的模型,重建损失权重为
,金字塔比例系数为
,对于某些
,由于小结构倾向于在自然场景的不同尺度上重复出现,在测试时,我们对LR图像进行
倍取样,并将其(连同噪声)注入最后一个生成器
。我们重复
次以获得最终的高清晰度输出。图10显示了一个例子的结果。可以看出,我们重建的视觉质量超过了最先进的内部方法,以及以PSNR最大化为目标的外部方法。有趣的是,它与外部训练的SRGAN方法相媲美,尽管它只暴露在一张图像上。按照[4],我们在表3中对BSD100数据集的失真(RMSE)和感知质量(NIQE)这两个根本上相互矛盾的要求[5]进行比较。可以看出,SinGAN在感知质量方面表现出色;其NIQE得分仅略逊于SRGAN,而其RMSE则略胜一筹。
绘画转图像
将剪贴画转为照片般真实的图像。这是通过对剪贴画图像进行下采样,并将其送入一个粗略的尺度(如N-1或N-2)来完成的。从图2和图11中可以看出,绘画的整体结构被保留了下来,而与原始图像相匹配的纹理和高频信息被真实地生成。我们的方法在视觉质量方面优于风格转移方法(图11)。
和谐化
真实地将粘贴的物体与背景图像相融合。我们在背景图像上训练SinGAN,并在测试时注入一个下采样版本的天真粘贴的合成物。在这里,我们将生成的图像与原始背景相结合。从图2和图13中可以看出,我们的模型对被粘贴物体的纹理进行了裁剪,使之与背景相匹配,并且通常比[34]更好地保留了其结构。尺度2,3,4通常能在保留物体的结构和转移背景的纹理之间取得良好的平衡。
编辑
产生一个无缝合成,其中图像区域被复制并粘贴在其他位置。在这里,我们再次将合成物的降采样版本注入到其中一个粗略的尺度中。然后我们将SinGAN在编辑过的区域的输出与原始图像相结合。如图2和图12所示,SinGAN重新生成了精细的纹理,并将粘贴的部分无缝缝合,产生了比Photoshop的Content-Aware-Move更好的效果。
单一图像动画
从单一的输入图像创建一个具有逼真物体运动的简短视频剪辑。自然界的图像通常包含重复的内容,这些重复的内容显示了同一动态物体的不同 "快照"[55](例如,一个鸟群的图像显示了一只鸟的所有翅膀的姿势)。使用SinGAN,我们可以沿着图像中物体的所有表象的流形走,从而从单个图像中合成运动。我们发现,对于许多类型的图像,通过在Z空间的随机行走,从所有生成尺度的第一帧的zrec开始,可以达到一个现实的效果。结果可在https://youtu.be/xk8bWLZk4DU。
我们介绍了SinGAN,一个新的无条件生成方案,它是从单一自然图像中学习的。我们证明了它有能力超越纹理,并为自然的复杂图像生成多样化的现实样本。与外部训练的生成方法相比,内部学习在语义多样性方面具有内在的局限性。例如,如果训练图像包含一只狗,我们的模型将不会生成不同品种的狗的样本。尽管如此,正如我们的实验所证明的,SinGAN可以为广泛的图像处理任务提供一个非常强大的工具。