SinGAN: Learning a Generative Model from a Single Natural Image——ICCV2019最佳论文详解

论文亮点

  1. 最大的亮点在于其训练样本是单张自然图像,而不是一个训练图像集。
  2. 无条件的GAN,从噪声中合成图像。
  3. 作者给出了许多任务场景下SinGAN的应用

研究背景

  生成对抗网络已经在建模视觉数据的高维分布上取得了引人注目的进展。特别是当在特定类别的数据集上训练时,无条件GAN在生成逼真、高质量的样本上展现出了卓越效果。然而,从带有多种目标类别的高度多样化数据捕捉数据分布(比如ImageNet)仍然被认为是一个巨大的挑战,并且通常需要条件输入或者是仅在一个特定类别上训练
  在这里,我们将GAN的使用引入一个新的领域——从单张自然图像学习到的无条件生成。
  在之前的基于单张图像的深度学习模型(或者是few-shot learning,少样本学习)中,它们通常是有条件的(即输入是一张图像,进行图像—图像的转换)。而作者提出的SinGAN是无条件的(从噪声中生成图像),区别于其他只能应用于生成纹理图像内容的无条件GAN,SinGAN不限制于纹理生成并且可以处理一般的自然图像。
  区别与其他图像处理领域的生成模型,它们常常在一个特定类的训练集上训练。而SinGAN并不对捕捉同类图像中的共同特征感兴趣,而是考虑训练数据中(一张图像)的不同来源——在单张自然图像的不同尺度上所有的overlapping patches(部分重叠patch)。

研究方法与意义

  我们引入了SinGAN,一个可以从单张自然图像中学习的无条件生成模型。我们的模型被训练于捕捉图像中patch的内在分布,然后可以生成与训练图像视觉内容一致的高质量、多样的样本。SinGAN包含了一个全卷积GAN的金字塔,其中每一个GAN都负责从图像不同的尺度上学习到patch分布。这允许生成带有任意大小和长宽比的新样本。相比于之前的单张图像GAN方法,我们的方法不仅仅适用于纹理图像,并且是无条件的(可以从噪声中直接生成新样本,不需要像Conditional GAN中一样引入其他条件输入,或是从图像到图像的翻译)。用户的研究确认了生成样本经常与真实图像混淆。我们举例说明了SinGAN在广阔的图像操作任务上的应用。

方法细节

  我们的目标是学习一个无条件的生成对抗网络,它可以捕捉单张训练图像的内在统计量。这个任务和传统的GAN设定在概念上很相似,除了这里使用的训练样本只有一个,而不是整张图像都作为训练样本。
  我们选择跳出纹理合成,来解决更多的自然图像问题。这需要在不同尺度上捕捉复杂图像结构的统计量。比如,我们希望捕捉图像的全局属性(例如布局、大目标的形状,比如顶部的天空和底部的地面),或者是捕捉其他细节和纹理信息。
SinGAN的多尺度通道
  我们的生成框架如上图所示,它由一系列的PatchGAN组成,其中每一个负责捕捉输入图像不同尺度的Patch分布。

多尺度结构

  具体来说,我们的模型由一个生成器金字塔 { G 0 , … , G N } \left\{G_{0}, \ldots, G_{N}\right\} { G0,,GN}组成,针对输入图像 x x x的金字塔 { x 0 , … , x N } \left\{x_{0}, \dots, x_{N}\right\} { x0,,xN}进行训练,其中 x n x_{n} xn是输入图像 x x x通过一个变化因子 r n r^{n} rn的下采样版本,并且 r > 1 r>1 r>1。每一个生成器 G n G_{n} Gn负责生成与相应输入图像 x n x_{n} xn的Patch分布相关的逼真图像样例。这是通过对抗学习实现的,其中 G n G_{n} Gn学会去愚弄一个判别器 D n D_{n} Dn,而判别器尝试着去区分在生成样本中的Patch和输入图像 x n x_{n} xn的Patch。
  一张图像样例的生成从粗略的尺度上开始,依次地通过所有生成器直到最精细的尺度,并且在每一个尺度上都有噪声注入。所有的生成器和判别器有相同的感受野,并且因此随着我们生成过程的进行,捕捉到的结构尺度也不断减少。在最粗略的尺度(图像分辨率最大,也是最开始的层),生成过程就是纯粹的生成,即 G N G_{N} GN将空间白高斯噪声 z N z_{N} zN映射到一个图像样例 x ~ N \tilde{x}_{N} x~N上。
x ~ N = G N ( z N ) \tilde{x}_{N}=G_{N}\left(z_{N}\right) x~N=GN(zN)
  在这层上的有效感受野是典型的图像高度的 ∼ 1 /

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
重新编写深度生成模型是指对已有的深度生成模型进行重新设计和改进,以提高其性能和效率。深度生成模型是一种基于人工神经网络的模型,用于从输入数据中生成符合特定分布的新数据。这种模型在图像生成、语音生成和自然语言处理等领域有着广泛的应用。重新编写深度生成模型可能涉及到以下几个方面的工作: 首先,对原有模型的架构进行调整和优化。可能需要更换不同类型的神经网络层、调整网络的深度和宽度,以及引入新的激活函数和正则化方法,以改善模型对复杂数据分布的建模能力。 其次,对损失函数和优化算法进行修改。这包括选择更适合特定任务的损失函数,以及调整学习率、批次大小和训练迭代次数等超参数,以加速训练过程并提高模型收敛性能。 另外,考虑引入新的技术和概念。例如,可以借鉴最新的深度学习技术,如自监督学习、迁移学习和元学习,以提高模型的泛化能力和适应性。 最后,需要对重新编写的模型进行充分的测试和评估。这包括在各种真实数据集上进行性能测试,进行与其他模型的比较,以及对模型的可解释性和鲁棒性进行分析。 总的来说,重新编写深度生成模型是一个既需要理论深度又需要实践经验的工作,需要对模型架构、损失函数、优化算法等方面进行全面的考量和改进,以获得更加高效和强大的生成模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值