论文:https://arxiv.org/abs/1903.07291
源码:https://github.com/NVlabs/SPADE
总体把握:
![](https://img-blog.csdnimg.cn/9461593dc1ce45aab8d1639a8f440c7e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASEh6ZGg=,size_20,color_FFFFFF,t_70,g_se,x_16)
Abstract
论文提出了空间自适应归一化,一个简单但有效的层合成逼真的图像,通过给定一个输入语义布局。以前的方法直接将语义布局作为输入输入到深度网络,然后通过卷积、归一化和非线性层堆栈处理深度网络。我们发现这是次优的,因为规范化层倾向于“洗去”语义信息。为了解决这个问题,使用输入布局来通过一个空间自适应的、学习的转换来调节规范化层中的激活。在几个具有挑战性的数据集上进行的实验表明,在视觉逼真度和输入布局对齐方面,本文提出的方法优于现有的方法。最后,我们的模型允许用户控制语义和样式。
1. Introduction
条件图像合成是指对一定的输入数据进行条件处理,生成逼真的图像。重要的工作是通过将单个图像拼接(例如,image Analogies[16])或使用图像集合来计算输出图像[7,14,23,30,35]。最近的方法使用神经网络直接学习映射[3,6,22,47,48,54,55,56]。后一种方法更快,不需要外部的图像数据库。
我们感兴趣的是一种特殊形式的条件图像合成,它是将语义分割蒙版转换为逼真的图像。这种表单具有广泛的应用,如内容生成和图像编辑[6,22,48]。我们将这种形式称为语义图像合成。在本文中,我们证明了由卷积层、归一化层和非线性层叠加而成的传统网络结构[22,48]最多是次优的,因为它们的标准化层往往会“洗去”包含在输入语义掩码中的信息。为了解决这一问题,我们提出了一种空间自适应归一化层,该条件归一化层通过空间自适应、学习转换来调节使用输入语义布局的激活,并能在整个网络中有效地传播语义信息。
我们对几个具有挑战性的数据集进行了实验,包括COCO-Stuff[4,32]、ADE20K[58]和cityscape[9]。我们表明,在我们的空间自适应归一化层的帮助下,一个紧凑的网络可以合成明显更好的结果,相比于几种最先进的方法。此外,一项广泛的消融研究证明了所提出的归一层对于语义图像合成任务的有效性。最后,我们的方法支持多模态和样式引导的图像合成,可以实现可控的、不同的输出,如图1所示。
2. Related Work
Deep generative models可以学习合成图像。最新的方法包括生成对抗网络(GAN)[13]和变分自动编码器(VAE)[28]。我们的工作建立在GANs上,但目标是有条件的图像合成任务。该GAN由一个生成器和一个鉴别器组成,其目标是生成真实的图像,从而使鉴别器无法区分合成的图像和真实的图像。
Conditional image synthesis以多种形式存在,不同的输入数据类型。例如,类条件模型[3,36,37,39,41]学习合成给定类别标签的图像。研究人员已经探索了各种基于文本生成图像的模型[18,44,52,55]。另一种广泛使用的形式是基于一种条件GANs[20,22,24,25,33,57,59,60]的图像到图像转换,其中输入和输出都是图像。与早期的非参数方法相比[7,16,23],基于学习的方法通常在测试期间运行更快,并产生更现实的结果。In this work, we focus on converting segmentation masks to photorealistic images。我们假设训练数据集包含注册的分割掩码和图像。通过提出的空间自适应归一化,我们的紧凑网络取得了比现有方法更好的结果。
Unconditional normalization layers是现代深度网络的重要组成部分,可以在各种分类器中找到,包括AlexNet[29]中的局部响应归一化和incepion -v2网络[21]中的批处理归一化(BatchNorm)。其他常用的规范化层包括实例规范化(InstanceNorm)[46]、层规范化[2]、组规范化[50]和权重规范化[45]。与下面讨论的条件归一化层相比,我们将这些归一化层标记为无条件的,因为它们不依赖外部数据。
Conditional normalization layers包括条件批处理规范化(Conditional BatchNorm)[11]和自适应实例规范化(AdaIN)[19]。两者首先在风格转移任务中被使用,后来在各种视觉任务中被采用[3,8,10,20,26,36,39,42,49,54]。与早期的规范化技术不同,条件规范化层需要外部数据,一般操作如下:首先,将层激活归一化为零均值和单位偏差。然后,通过使用学习的仿射变换(其参数是从外部数据推断出来的)调节激活,将规范化激活去规范化。对于风格传递任务[11,19],仿射参数用于控制输出的全局风格,因此在空间坐标上是一致的。相比之下,我们提出的归一化层应用了空间变化的仿射变换,使其适合于从语义mask合成图像。Wanget等人提出了一种与之密切相关的图像超分辨率[49]方法。这两种方法都建立在以语义输入为条件的空间自适应调制层上。他们的目标是将语义信息整合到超分辨率中,而我们的目标是设计一个用于风格和语义分解的生成器。我们的重点是在调节规范化激活的上下文中提供语义信息。我们在不同的尺度上使用语义映射,从而实现从粗到细的生成。鼓励读者回顾他们的工作以获得更多的细节。
3. Semantic Image Synthesis
假设是语义分割掩码,其中
表示语义标签的一组整数,而
和
表示图像的高度和宽度。每个m中的条目都表示一个像素的语义标签。我们的目标是学习一个映射函数,可以将一个输入分割mask转换为逼真的图像。
Spatially-adaptive denormalization。让表示对N个样本的一个batch进行深度卷积网络第i层的激活。
表示层中的通道数。
和
是第i层激活层的高度和宽度。我们提出了一种新的条件归一化方法,称为空间自适应(DE)归一化1(SPADE)。类似于批处理归一化[21],激活以通道方式归一化,然后用学习尺度和偏差进行调制。图2演示了SPADE的设计。位点
的activation value值为:
其中,为归一化前位点的激活,
为通道c中激活的平均值和标准差:
(1)中的变量和
为学习到的归一层调制参数。与BatchNorm[21]相比,它们依赖于输入分割掩码,并根据位置(y, x)而变化。我们使用符号
和
来表示在第i个激活映射中,将m转换为位置(c, y,x)的比例和偏差值的函数。我们使用一个简单的两层卷积网络实现了功能
和
,其设计在附录中。
![](https://img-blog.csdnimg.cn/a385158e7d6148cd8701fb48b05b7547.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASEh6ZGg=,size_20,color_FFFFFF,t_70,g_se,x_16)
事实上,SPADE与几个现有的规范化层有关,并且是一个泛化层。首先,用图像类标签替换分割掩模,使调制参数空间不变(即,和
对于任何
和任何的
都成立。我们就得到了Conditional BatchNorm[11]的形式。事实上,对于任何空间不变的条件数据,我们的方法简化为条件批处理规范。同样,我们可以通过将m替换为实像,使调制参数空不变,并设置n = 1来得到AdaIN[19]。由于调制参数对输入的分割掩模具有自适应特性,该方法更适合于语义图像的合成。
![](https://img-blog.csdnimg.cn/ed2e69ed92aa40c4886ebdcf73ba30be.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASEh6ZGg=,size_19,color_FFFFFF,t_70,g_se,x_16)
SPADE生成器。使用SPADE生成器,不需要将分割图提供给生成器的第一层,因为学习的调制参数已经编码了足够的标签布局信息。因此,我们丢弃了生成器的编码器部分,这在最近的架构中是常用的[22,48]。这种简化导致了一个更轻量级的网络。此外,与现有的类条件生成器类似[36,39,54],新的生成器可以接受一个随机向量作为输入,从而实现简单自然的多模态综合方法[20,60]。图4展示了我们的生成器架构,它使用了几个ResNet块[15]和上采样层。所有归一化层的调制参数都使用SPADE学习。由于每个剩余块的操作在不同的尺度,我们下采样的语义掩码匹配空间分辨率。我们使用与pix2pixHD[48]相同的多尺度鉴别器和损耗函数训练发生器,只是我们将最小二乘损耗项[34]替换为铰链损耗项[31,38,54]。
我们测试了几种基于resnet的判别器,这些识别器在最近的无条件GANs中使用[1,36,39],但观察到类似的结果,但代价是需要更高的GPU内存。将SPADE添加到鉴别器中也会产生类似的性能。对于损耗函数,我们观察到在pix2pixHD的损耗函数中去除任何损耗项都会导致生成结果的退化。
Why does the SPADE work better?一个简单的答案是,它可以更好地在公共规范化层中保存语义信息。具体地说,尽管像InstanceNorm[46]这样的归一化层是几乎所有最先进的条件图像合成模型[48]中的重要部分,但当应用于统一或平坦的分割mask时,它们往往会去除语义信息。让我们考虑一个简单的模块,它首先将卷积应用于分割mask,然后再进行归一化。此外,让我们假设一个带有单个标签的分割mask作为模块的输入(例如,所有像素都有相同的标签,如天空或草地)。在此设置下,卷积输出再次是统一的,不同的标签具有不同的统一值。现在,在对输出应用InstanceNorm之后,无论输入的语义标签是什么,规范化的激活都将变成零。因此,语义信息完全丢失。这个限制适用于广泛的生成器架构,包括pix2pixHD及其在所有中间层连接语义掩码的变体,只要网络应用卷积,然后对语义掩码进行归一化。在图3中,我们的经验表明,这正是pix2pixHD的情况。由于分割掩模一般由几个统一的区域组成,在应用归一化时出现了信息丢失的问题。
Multi-modal synthesis。通过使用一个随机向量作为生成器的输入,我们的架构为多模态综合提供了一种简单的方法[20,60]。也就是说,可以附加一个编码器,将实像处理成一个随机向量,然后将其反馈给生成器。编码器和生成器构成一个VAE[28],其中编码器试图捕捉图像的风格,而生成器通过SPADEs将编码的风格和分割的掩码信息结合起来重构原始图像。编码器还在测试时充当风格指导网络,以捕获目标图像的风格,如图1所示。对于训练,我们增加了KL-Divergence损失项[28]。
![](https://img-blog.csdnimg.cn/85ee20b2126646e983dedfcda35ef885.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASEh6ZGg=,size_20,color_FFFFFF,t_70,g_se,x_16)
4.Experiments
5.网络结构
总体:
![](https://img-blog.csdnimg.cn/16acb83a26ca430a84c0f6e18072784e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASEh6ZGg=,size_15,color_FFFFFF,t_70,g_se,x_16)