赶上最新的AI论文

无限的分辨率!解释了最新的超级分辨率、合成和增强模型,InfinityGAN!

生成对抗网络(GAN)

三个要点
✔️ 通过修补,以低成本无限制地提高图像分辨率
✔️ 考虑到全局和局部因素,生成和合成无缝图像
✔️ 为超分辨率、图像合成和图像增强提出了有趣的网络结构

InfinityGAN: Towards Infinite-Resolution Image Synthesis
written by Chieh Hubert LinHsin-Ying LeeYen-Chi ChengSergey TulyakovMing-Hsuan Yang
(Submitted on 8 Apr 2021)
Comments: Published on arxiv.

Subjects: Computer Vision and Pattern Recognition (cs.CV)

code:  

本文所使用的图片要么来自该文件,要么是参照该文件制作的。

Project page: this https URL

简介

在这篇文章中,我想介绍一下InfinityGAN(InfinityGAN: Towards Infinite-Resolution Image Synthesis),它最近发表在arxiv上。

虽然InfinityGAN本身并不是一个热门话题,因为它实现了SOTA,但其提出的网络结构很有意思,因为它在超分辨率、图像合成和图像增强等各个领域都有潜在的应用。首先,让我们看一下InfinityGAN生成的图像。

这是一张取自报纸的图片,但我认为它给人的第一印象很奇怪。这就是你通常在超级分辨率GAN论文中看到的那种图像。

相比之下,InfinityGAN产生的图像当然有更高的分辨率,但它们也有更大的图像区域,这似乎有点不现实。

这是由于InfinigyGAN同时进行超分辨率、图像合成和图像增强。它不仅提高了分辨率,而且还同时结合了几个图像补丁来创造一个纹理。前面的图像是1024x2048像素,实际上是由242个图像补丁组合而成的,每个补丁都经过了组合。

现有的超级分辨率模型的问题是,它们使用一个非常大的分辨率图像作为教师数据。这使得它不可能生成分辨率大于教师数据的图像,最重要的是,计算成本太高。

另外,虽然现有的纹理合成模型如SinGANInGAN可以生成各种尺寸的高分辨率图像,但它们并不能学习图像本身的结构,所生成的图像很可能是同一纹理的重复。

InfinityGAN通过对小的图像斑块进行迭代并考虑到全局、局部和纹理因素来解决这些问题。在一组小的图像斑块上进行训练可以保持较低的计算成本,并且可以实现超分辨率、图像合成和图像增强的综合特性。让我们仔细看看产生如此有趣结果的网络结构。

建议的方法

就像关注的情况一样,图像需要同时考虑全球和本地。从大的方面看,图像需要连贯和有背景,而且需要是一个相对紧凑(不复杂)的整体。当我们看到一个中世纪景观的图像时,我们知道它看起来是中世纪的。图像必须以某种方式完整地保留那种 "中世纪的外观"。

从局部来看,正如在卷积和其他方面所看到的,一个特写图像是由其局部邻域的结构和纹理来定义的。结构内容表示物体、形状和它们在局部地区的排列。一旦定义了结构,以这些为条件的第二步是考虑纹理。这种结构和纹理虽然是局部的,但也必须与全局一致。

通过考虑所有这些,有可能产生一个具有无限分辨率的图像。首先,一旦确定了全局画面,局部结构和纹理就可以在空间上无限扩展,只要它们遵循这个画面的背景。

概述

基于上述分析,InfinityGAN将由部分组成:用于对整个图像建模的结构合成器Gs和用于对局部纹理建模的纹理风格合成器Gt。我们还使用低分辨率的图像斑块进行训练。这个框架如下图所示。

四个潜在的变量控制着生成过程。全局潜变量Zg被赋予GsGt,以使每个图像斑块在整个图像的背景下被考虑;Gs渲染每个斑块在坐标网格c指定位置的结构;Gt渲染每个斑块在网格c指定位置的结构。斑块的局部变化是用局部潜伏代码Zl来建模的。一旦定义了结构,就可以有多种纹理,所以Gt的每一层都被赋予一个额外的条件Zn,以模拟Zg中没有的局部细部。如果在c位置生成的补丁是pc,生成过程可以描述如下,其中Zs代表结构的潜变量。

结构合成器

结构合成器是一个在神经网络中实现的隐性功能。其目的是在全局潜变量Zg和局部潜变量Zl的条件下对隐性表征进行采样,并在被查询的位置c生成一个结构。

全局潜伏变量Zg作为全局的整体表示;Zg从单位高斯分布中取样一次,并通过特征调制注入Gs的每一层和每一个像素中。

本地潜变量用Zl表示。局部变化与空间维度中的位置无关,因此对于Zl的每个空间位置,我们都是独立于单位高斯先验进行采样。在这里,独立于单位高斯分布的采样使我们能够形成一个在空间上可以无限扩展的体积张量。这个Zl被用作Gs的输入。

受制于最后采样的隐性表示是任意大小的ZgZl,坐标c就像一个搜索查询,以获得要从隐性图像中检索的区域。让T为正弦坐标的周期,我们将对c进行编码,如下所示

此外,在局部潜在变量Zl1Zl2之间采用了寻模多样性损失,以防止模型忽略Zl而重复产生重复性结构。

我们还使用了特征展开的技术,使Gs能够考虑Zlc以外的更广泛的信息。给定Gs中的一个中间特征f,使用k×k特征展开得到的特征图u

其中Concat(-)将通道维度上的展开向量连接起来。通过使用特征扩展,c变成了一个坐标网格,而不是一个简单的三联体

纹理合成器

你就快到了。接下来,让我们谈一谈纹理合成器

纹理合成器使用著名的StyleGAN2模型。首先,用zS代替固定的常数输入,用zn注入随机噪声,以模拟精细的随机纹理。接下来,zg被作为映射层的输入,映射层使用多层感知器将单个zg投射到逐层风格的zT中。然后通过特征调制将风格zT注入每层的所有像素中。最后,所有的零填充被从发生器中移除,如下图所示。

我们删除所有的零填充,主要有三个原因。首先,StyleGAN2模型在很大程度上依赖于CNN通过发生器的零填充进行的位置编码,这意味着它记住了训练图像的结构信息。

其次,带零填充的位置编码成为一个重要的问题,以使该模型能够在输入任意大小的潜变量的情况下合成任意大小的图像。在上图的第三列,我们显示,当StyleGAN2分级器的输入潜变量被多次扩展时,特征的中心部分并没有从填充物中获得预期的坐标信息,导致输出图像的中心部分出现广泛的重复纹理。

最后,填充物的存在阻碍了G产生可以合成的独立斑块。因此,我们去除所有的填充物,以便从发生器中去除所有的位置信息。

这些创新使其很容易合成任意分辨率的图像。通过这种方式,我们加强了模型,使其完全依赖GS提供的结构特征,同时允许GT只为与纹理相关的细节建模。

学习

InfinityGAN中的判别器DStyleGAN2中的相同。整个网络使用StyleGAN2的损失函数、非饱和逻辑损失、R1正则化和路径长度调节来训练。此外,GD被训练成一个辅助任务,以预测斑块的垂直位置,以鼓励产生同样遵循图像的垂直方向的条件分布。

因此,InfinityGAN的总体损失函数为

实验

上表显示了扩展分辨率任务与其他方法的比较。请注意,这不仅仅是一个超级分辨率或外绘任务,而是一个独特的任务,它结合并增强了图像,同时也提高了图像质量。性能的计算方法是将生成的高分辨率图像恢复到其训练分辨率,并计算出与原始图像的差异。

从上图可以看出,当图像扩大4倍或8倍时,InfinityGAN的表现优于其他方法,因为它抓住了全局图像特征。在下图中,我们还可以看到,InfinityGAN成功地将图像结合在一起,没有重复的纹理,同时保留了整个图像的特征,与其他方法不同。

此外,在下图中,我们可以看到,通过改变局部潜变量Zl和纹理潜变量Zt结构合成器纹理合成器能够分别对结构和纹理进行建模,并将它们的作用分开。

此外,下图显示了将258个独立生成的补丁以四种不同的风格组合起来的结果。这张图片结合了几种风格,也显示了InfinityGAN的乐趣。

下图还显示了InfinityGAN外出绘画任务中的优越性,在外出绘画In&Out模型中加入InfinityGAN明显提高了准确性,并实现了SOTA

摘要

你怎么看?与其说是简单地擅长某种任务,不如说是有趣的结果,因为它们是以补丁为基础的,并考虑到了全球和当地的背景。这可能导致在超级分辨率、风格构成、图像增强等领域的新见解。

本文中还有很多补充材料。还提供了一个项目页面。如果你想看到更多的视觉细节,生成器的网络结构,或样式综合的实现部分,你可能想参考该页面。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

如果您对文章内容有任何改进建议等,请通过 "联系我们 "表格与爱学网编辑部联系。
如果您能通过咨询表与我们联系,我们将非常感激。

联系我们