(SPADE)Semantic Image Synthesis with Spatially-Adaptive Normalization

论文:https://arxiv.org/abs/1903.07291

源码:https://github.com/NVlabs/SPADE

演示:http://gaugan.org/gaugan2/

总体把握:

图1:模型 允许用户控制合成图像时的语义和风格。语义(例如,树的存在)是通过标签映射(最上面一行)来控制的,而样式是通过参考样式图像(最左边一列)来控制的。

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\in \mathbb{L}^{H\times W}是语义分割掩码,其中\mathbb{L}表示语义标签的一组整数,而HW表示图像的高度和宽度。每个m中的条目都表示一个像素的语义标签。我们的目标是学习一个映射函数,可以将一个输入分割mask转换为逼真的图像。

        Spatially-adaptive denormalization。让h^i表示对N个样本的一个batch进行深度卷积网络第i层的激活。C^i表示层中的通道数。H^iW^i是第i层激活层的高度和宽度。我们提出了一种新的条件归一化方法,称为空间自适应(DE)归一化1(SPADE)。类似于批处理归一化[21],激活以通道方式归一化,然后用学习尺度和偏差进行调制。图2演示了SPADE的设计。位点(n\in N,c\in C^i,y\in H^i ,x\in W^i)的activation value值为:

 其中,h_{n,c,y,x}^{i}为归一化前位点的激活,\mu _c^i,\sigma_c^i为通道c中激活的平均值和标准差:

(1)中的变量\gamma _{c,y,x}^i(m)\beta _{c,y,x}^i(m)为学习到的归一层调制参数。与BatchNorm[21]相比,它们依赖于输入分割掩码,并根据位置(y, x)而变化。我们使用符号\gamma _{c,y,x}^i(m)\beta _{c,y,x}^i(m)来表示在第i个激活映射中,将m转换为位置(c, y,x)的比例和偏差值的函数。我们使用一个简单的两层卷积网络实现了功能\gamma _{c,y,x}^i(m)\beta _{c,y,x}^i(m),其设计在附录中。

图2:在SPADE中,掩模首先被投影到嵌入空间,然后卷积产生调制参数γ和β。与先验条件归一化方法不同, γ和β不是向量,而是具有空间维的张量。将生成的γ和β相乘,加入到标准化的activation element-wise。

 

        事实上,SPADE与几个现有的规范化层有关,并且是一个泛化层。首先,用图像类标签替换分割掩模,使调制参数空间不变(即,\gamma _{c,y_1,x_1}^i(m)=\gamma _{c,y_2,x_2}^i(m)\beta _{c,y_1,x_1}^i(m)=\beta _{c,y_2,x_2}^i(m)对于任何y1,y2\in \left \{ 1,2,...,H_i \right \}和任何的x1,x2\in \left \{ 1,2,...,W_i \right \}都成立。我们就得到了Conditional BatchNorm[11]的形式。事实上,对于任何空间不变的条件数据,我们的方法简化为条件批处理规范。同样,我们可以通过将m替换为实像,使调制参数空不变,并设置n = 1来得到AdaIN[19]。由于调制参数对输入的分割掩模具有自适应特性,该方法更适合于语义图像的合成。

图3:比较统一分割图的结果:SPADE生成器生成的是貌似合理的纹理,而pix2pixHD生成器[48]由于在归一层之后失去了语义信息,产生了两个相同的输出。

 

        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]。

图4:在SPADE生成器中,每个归一化层使用分割mask来调节层激活。(右)生成器包含一系列带有上采样层的SPADE的res块。

 4.Experiments

5.网络结构

 

总体:

图像编码器将真实图像编码为潜在表示,以生成均值向量和方差向量。它们被用来通过重参数化技巧[28]计算输入到发生器的噪声。该生成器还通过提出的SPADE ResBlks将输入图像的分割掩码作为输入。该鉴别器将分割掩模和来自生成器的输出图像拼接起来作为输入,并将其分类为伪图像。

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "德州概率计算 Spade-A"是一款用于帮助德州扑克玩家计算不同手牌组合概率的软件。在德州扑克中,玩家需要根据手中的两张底牌和五张公共牌,来确定自己最好的五张组合。而Spade-A软件能够根据底牌和已翻开的公共牌计算出各种可能的手牌组合的概率。 这款软件的核心功能是根据底牌和已知公共牌的情况,计算出所有可能的手牌组合。通过对这些组合进行穷举计算,并和其他玩家的可能组合进行对比,可以得出自己在当前局面下的胜率和胜出的可能性。这对于玩家在下注过程中作出决策非常有帮助,可以使他们能够更准确地判断自己手中的牌的强度。 Spade-A软件还可以提供其他有关德州扑克的统计数据,如同花顺、四条、葫芦等不同牌型的概率等。通过这些数据,玩家可以更好地了解与自己手中的牌相匹配的可能组合,并做出更明智的下注决策。 总而言之,"德州概率计算 Spade-A"是一款专为德州扑克玩家设计的软件,旨在帮助玩家计算手牌组合的概率,并提供相关的统计数据,以提高玩家在下注时的决策能力。 ### 回答2: 德州扑克是一种非常受欢迎的扑克牌游戏,在游戏中,玩家可以计算和利用概率来做出更明智的决策。Spade-A是一种辅助工具,可以用于计算德州扑克的概率。 Spade-A是一款在线工具,可以帮助玩家计算德州扑克中各种情况的概率。通过输入自己手上的牌和公共牌,Spade-A可以显示出玩家在当前情况下胜利的概率。这对于玩家在游戏中做出决策非常有帮助。 在使用Spade-A时,玩家只需输入自己的手牌和公共牌,然后点击计算按钮,程序将根据已知的信息计算并显示出胜率。这可以帮助玩家判断当前手牌的强度,以决定是否跟注或加注。 通过使用Spade-A,玩家可以更好地了解自己的牌型在当前情况下的胜率,从而做出更明智的决策。毕竟,在德州扑克中,决策是非常重要的,随机跟注或加注可能会导致更大的损失。 总之,Spade-A是一种德州扑克概率计算工具,可以帮助玩家在游戏中做出更明智的决策。它通过计算当前手牌在当前情况下的胜率,帮助玩家判断自己的牌型强度,并决定是否跟注或加注。使用Spade-A可以提高玩家在德州扑克游戏中的胜率和获胜机会。 ### 回答3: 德州扑克是一种非常受欢迎的扑克牌游戏,其中计算概率在决定下注、选择行动时非常重要。Spade-A是一款可以辅助计算德州概率的工具,它可以帮助玩家更准确地评估自己的牌局胜率。 Spade-A可以通过分析已知的牌和玩家手中的牌来计算当前局面的胜率。它会根据已知的信息来估算对手的牌力,并根据这个估算来计算自己的胜率。通过使用Spade-A,玩家可以更加准确地判断自己手中的牌的价值和决定下注的大小。 使用Spade-A进行概率计算可以提供玩家更多的信息,从而帮助玩家做出更明智的决策。比如,在决定是否跟注或者加注时,玩家可以计算出当前局面下自己的胜率,从而判断是否值得继续参与游戏。另外,在决定是否进行全下注时,玩家可以根据计算得到的胜率来确定是否有足够大的胜算。 总之,Spade-A是一款德州概率计算工具,通过分析已知的牌和对手的牌力,可以帮助玩家更准确地判断自己的胜率和做出更明智的决策。使用Spade-A可以提高玩家在德州扑克游戏中的表现,并增加获胜的机会。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值