论文笔记:Semantically Multi-modal Image Synthesis

本文介绍了语义多模态图像合成(SMIS)任务,通过GroupDNet网络利用组卷积实现特定类别的控制,解决了先前工作在多模态生成中的局限。GroupDNet在解码器中逐步减少卷积组数,平衡了不同类别的建模,同时保持了类相关性的捕捉。通过创新的损失函数和评价指标,GroupDNet在DeepFashion、Cityscapes和ADE20K数据集上展现了优越性能。
摘要由CSDN通过智能技术生成

摘要

(1)该文侧重于语义多模态图像合成(Semantically Multi-modal Image Synthesis,SMIS)任务,即,在语义级别产生多模态的图像。
(2)先前工作存在的问题:先前的工作试图使用多个特定于类的生成器,以限制其在少数类的数据集中的使用。
(3)该文提出的方法:该文提出了一种新颖的组减少网络(Group Decreasing Network,GroupDNet),该网络利用生成器中的组卷积并逐渐减少解码器中卷积的组数。分组卷积和卷积的介绍。

论文代码地址

1.Introduction

(1)语义图像合成,即将语义标签转换为自然图像,本质上是一对多映射问题。
(2)无数可能的自然图像对应于一个语义标签。 先前的工作针对该任务采用了不同的策略:采用变分自动编码器(VAE),在训练时引入噪声,构建多个子网以及包括实例级特征嵌入。 尽管这些方法在改善图像质量和扩展更多应用方面取得了非凡的成就,但该文进一步采取了措施,特别专注于特定的多模式图像合成任务,该任务增加了控制生成结果的更多灵活性。
(3)效果如图一所示:

在这里插入图片描述

图一
1)由图一可知,整个图片总体上看起来不错,但是上衣不适合您的口味。 随之而来的问题是:这些模型不支持多模态综合,或者当这些模型更换上衣时,其他部分也会相应变化。 这些都不符合您的意图。
2)总而言之,可以将这种用户可控的内容创建场景理解为执行一项任务,该任务在语义级别上产生多模式结果,而其他语义部分保持不变。
3)该文将此任务总结为:语义多模态图像合成(SMIS)。 如图一所示对于每种语义,该文都有其特定的控制器。 通过调整特定类别的控制器,仅相应更改相应的区域。
(4)为了使网络更加美观,通过用组卷积创造性地替换生成器中的所有常规卷积,从而仅在一种模型中统一生成过程。当卷积的组数等于类的组数时,该网络的策略在数学和功能上均等效。同时,该网络采用的另一种策略是对路径进行不同的设置,从而减少了前向传播过程中解码器卷积中的组数。
(5)该文章为了评估GroupDNet在SMIS任务上的绩效:
  • 该文章提出了两个新的指标,分别称为平均类别特定多样性(mCSD)和平均其他类别多样性(mOCD)。

  • 当某些语义部分发生巨大变化而其他部分保持不变时,mCSD度量往往会保持较高的价值,而mOCD则会趋于较低。

(6)该文章在DeepFashion,Cityscapes和ADE20K这三个数据集下进行实验。

2.Related work

  • 生成对抗网络GAN.
  • Conditional image synthesis.
  • Multi-modal label-to-image synthesis
  • Group convolution

3.语义多模态图片合成

3.1 问题定义:

令M表示语义分割掩码。假设数据集中有C个语义类。 H和W分别代表图像的高度和宽度。作为进行标签到图像翻译的非常简单的方式,生成器G需要M作为条件输入来生成图像。 然而,为了支持多模态生成,我们需要另一个输入源来控制生成多样性。

3.2 挑战:

对于SMIS任务,关键是将潜在代码分为一系列特定于类的潜在代码,每个潜在代码仅控制特定的语义类生成。 传统的卷积编码器不是最佳选择,因为所有类的特征表示都在内部隐藏在潜在代码中。因此需要在编码器和解码器中都进行一些体系结构修改,以更有效地完成任务。

3.3 GroupDNet:

GroupDNet的主要体系结构从SPADE中汲取了设计灵感。 GroupDNet的主要修改是将典型卷积替换为组卷积,以实现特定于类的可控性。

3.3.1 总览:

GroupDNet的模型结构如图二所示:

在这里插入图片描述

图二
  • 由图二可以看到GroupDNet包含了一个编码器和解码器,编码器E产生潜码Z,该潜码Z在训练过程中应遵循高斯分布N(0,1)。在测试期间,编码器E被丢弃。 从高斯分布中随机抽取的代码替代了Z。为了实现这一点,我们使用重新参数化技巧在训练期间启用了可微分的损失函数。
  • 具体地,编码器通过两个全连接层来预测均值向量方差向量以表示编码的分布。然后通过施加KL散度损失来最小化编码分布和高斯分布之间的间隙:
    在这里插入图片描述
    D K L D_{KL} DKL代表KL散度。KL散度和交叉熵之间的关系。
3.3.2 编码:
  • 令Mc表示c类的二进制掩码, X ∈ R H × W X∈R^{H×W} XRH×W为输入图像。通过,我们可以通过 Xc = Mc · X 这个公式将X拆分为不同语义类别的不同图像。这个操作减少了编码器在特征解耦时候的依赖性, 节省更多的能力来精确编码特征。 (解纠缠(Disentanglement),也叫做解耦,就是将原始数据空间中纠缠着的数据变化,变换到一个好的表征空间中,在这个空间中,不同要素的变化是可以彼此分离的。比如,人脸数据集经过编码器,在潜变量空间Z中,我们就会获得人脸是否微笑、头发颜色、方位角等信息的分离表示,我们把这些分离表示称为Factors。)
  • 编码器的输入是图像的串联 S = c a t c X c S = cat_cX_c S=catcXc, 编码器E中的所有卷积具有相同的组数,即类C的总数。
  • 从输入和架构方面,作者将不同的类解耦为彼此独立。 结果,latent code Z由所有类别的特定于类别的潜在码Zc(Z的离散部分)组成。
  • Zc在即将到来的解码阶段中充当c类的控制器。与产生两个向量作为高斯分布的均值和方差预测的一般方案不同,该文章使用的编码器E会通过卷积层生成均值图和方差图,以将结构信息大量保留在潜码Z中。
3.3.3 解码:
  • 接收到latent code Z后,解码器在语义标签的指导下将其转换为自然图像。 问题是如何利用语义标签正确地指导解码阶段?(1)在输入时连接语义标签;(2)在解码器的每个阶段都进行调节。方案(2)比较好。因为解码器输入的空间大小非常有限,这将严重丢失语义标签的许多结构信息。 所以选择后者,并选择一种典型的高级模型-SPADE生成器作为网络的骨干。
  • SPADE是某些条件归一化层的一种更通用的形式,并且在语义图像合成中显示出产生像素级导航的出色能力。
  • 遵循在生成器中使用所有组卷积的一般思想,作者将SPADE模块中的卷积层替换为组卷积,并将此新的条件模块称为条件组规范化(CG-Norm)
  • 如图二所示。然后,我们组成一个称为条件组块的网络块(CG-Block)通过动态合并CG-Norm和组卷积来实现。 CG-Block的体系结构也显示在图二中。
  • 同样,令 F i ∈ R H i × W i F_i∈R^{H^i×W^i} FiRHi×Wi表示解码器网络的第i层的特征图,Gi表示第i层的组数。此外,N,Di,Hi和Wi分别是批处理的大小,通道数,特征图的高度和宽度。如图二所示: “ GConv”表示组卷积,“ Sync BN”表示批量同步批标准化。 G i G^i Gi是第i层的组号。 通常注意,对于GroupDNet的i≥1, G i G^i Gi G i + 1 G^{i+ 1} Gi+1
  • CG-Norm内部的组卷积会将语义标签输入转换为像素级调制参数 γ ∈ R D i × H i × W i γ ∈ R^{D^i×H^i×W^i} γRDi×Hi×Wi β ∈ R D i × H i × W i β ∈ R^{D^i×H^i×W^i} βRDi×Hi×Wi
  • 特征输入Fi首先将通过批量归一化层对Fi进行归一化,如式所示:
    在这里插入图片描述

γ B N , β B N ∈ R D γ_{BN}, β_{BN} ∈ R^{D} γBN,βBNRD这两个参数是从数据中学习得到的仿射参数。对于每个特征通道 µ d µ_d µd σ d σ_d σd是在批量大小和中计算得出的,如式所示:
在这里插入图片描述

  • 之后,输出的BN( F i F^i Fi)与先前预测的像素方向γ和β交互,从而生成一个新的特征图 F o F^o Fo,其中插入了语义信息。
    在这里插入图片描述
  • 当i变大时,组数最终减少为1。在进行常规卷积后,该特征将映射到三通道RGB图像 O O O
3.4 其它的解决方案:

除了GroupDNet,执行SMIS任务的一个简单解决方案是构建一组编码器和解码器,每个编码器和解码器都专注于特定的语义类,如图三(a)所示:
在这里插入图片描述

图三
  • 图三(a)基本思想是独立对待每个类别,然后融合不同子网的结果。为简单起见,我们将此类网络称为“多个网络(MulNet)”。具有类似想法的另一种选择是在整个网络中使用组卷积。

  • 具有类似想法的另一种选择是在整个网络中使用组卷积。如图三(b)所示,将编码器和解码器中的所有卷积替换为组卷积并将组号设置为等于存在组网络(GroupNet)的类号。如果每个组中的通道号等于单个MulNet网络中相应层的通道号,则在理论上等效于MulNet。

  • 图三(c)是作者提出的GroupDNet。 GroupDNet和GroupNet之间的主要区别是解码器中组的数量单调减少。尽管此修改看起来很简单,但它带来三个明显的好处:
    (1)类平衡。 数据集中不同的类具有不同数量的实例,并且需要不同的网络容量来对这些类进行建模。 MulNet和GroupNet很难找到合适的网络设计来平衡所有类别。更重要的是,并非所有类都出现在一张图像中。在这种情况下,MulNet和GroupNet不可避免地会浪费大量的计算资源,因为它们必须在训练或测试期间激活所有类别的所有子网或子组。但是,在GroupDNet中,不平衡类与其相邻类共享参数,从而极大地减轻了类不平衡问题。
    (2)类相关。 在自然世界中,语义类别通常与其他类别具有关系,例如,草的颜色和树叶的颜色是相似的,并且建筑物影响附近道路上的阳光等。为产生合理的结果,两者MulNet和GroupNet在解码器的末尾有一个融合模块(在该文的结尾中有几次常规卷积),用于将不同类的特征合并到一个图像输出中。通常,融合模块大致考虑不同类别的相关性。但是,我们认为这是不够的,因为不同类的相关性太复杂,以至于无法通过使用具有受限制的感受野的简单组合来全面探索。

    一种替代方法是使用一些网络模块(如自我注意力模块)来捕获图像的远程依赖性,但其过高的计算量会阻碍其在此类情况下的使用。但是,GroupDNet将这些关系贯穿整个解码器。因此,它可以更准确,更彻底地利用相关性。结果,GroupDNet生成的图像比其他两种方法生成的图像更好,更真实。
    (3)GPU内存。 为了确保MulNet的每个单个网络或GroupNet中每个类别的分组参数具有足够的容量,通道总数将随着类别编号的增加而显着增加。达到极限后,图形卡的最大GPU内存将不再能够容纳一个样本。正如我们在ADE20K数据集上粗略估计的那样,即使将批大小设置为1,一张Tesla V100图形卡也无法容纳具有足够容量的模型。但是,由于不同类共享参数,因此在GroupDNet中问题不那么严重。不必为每个类设置这么多的通道。

3.5 Loss Function:

该论文的LOSS与SPADE的LOSS相同,如式所示:
在这里插入图片描述
L G A N L_{GAN} LGAN是GAN损失的转折形式, L F M L_{FM} LFM是真实和合成图像之间的特征匹配损失。 具体来说,我们使用多层Discriminator从真实图像和合成图像中提取特征。 然后,我们计算这些配对特征之间的L1距离。 同样, L P L_P LP是感知损失被用于解决样式迁移。 使用预先训练的VGG网络获取配对的中间feature map,然后我们计算这些配对的featur map之间的L1距离。 L K L L_{KL} LKL是KL散度损失项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值