2. Generative Hierarchical Features from Synthesizing Images
Generative Hierarchical Features from Synthesizing Images
The Chinese University of Hong Kong
从合成图像中生成结构特征
香港中文大学 CVPR2021
摘要
生成对抗网络(GANs)最近通过学习观测数据的基础分布(underlying distribution)来推进了图像合成。然而,从解决图像生成任务中学习到的特征如何适用于其他视觉任务仍很少被探索。在这项工作中,我们证明了学习去合成图像可以带来显著的层次视觉特征,可以广泛的应用。具体地说,我们将预先训练的StyleGAN生成器作为一个学习的损失函数,并利用其分层表示来训练一个新的分层编码器。我们的编码器产生的视觉特征,称为生成层次特征(GH-Feat,Generative Hierarchical Feature),在生成和鉴别任务具有很强的可移植性,包括图像编辑、图像协调、图像分类、人脸验证、地标检测和布局预测。大量的定性和定量实验结果表明了GH-Feat具有极富有吸引力的性能。
1.简介
表示学习(Representation Learning)在深度学习的兴起中起着至关重要的作用。学习到的representation(这里可以理解为表示、表征)能够表达复杂视觉世界的各种变化因素。这样看来,深度学习算法的性能在很大程度上依赖于从输入数据中提取的特征。正如Bengio等人[4]所指出的,一个良好的表示应该具有以下特性。首先,它应该能够从输入中捕获多个结构特征。其次,它应该将输入数据的解释因素组织为一个层次结构,其中更抽象的概念在更高的层次上。第三,它应该具有很强的可转移性,不仅从数据集到数据集,而且从任务到任务。
为了在大规模的数据集上进行图像的分类,我们使用深度神经网络进行有监督学习,得到了表现鲜明的容易清楚判断的视觉特征,然而训练得到的特征则严重依赖于用于进行训练的对象。例如前期的工作已经证实了针对物体识别任务而训练的深度特征也许主要是重点关注了物体的形状或者只是物体的一部分,因此特征不会因为物体的旋转而改变,而场景分类模型的深度特征可能更侧重于检测分类对象(如卧室床和客厅沙发)。因此,从解决高级图像分类任务中学习到的鉴别特征可能不一定适合其他中低级任务,也许会限制它们的可转移性。此外,尚不清楚如何将鉴别特征用于图像编辑等图像生成应用中。
生成对抗网络(GAN)最近在合成逼真图像方面取得了长足的进展。它将图像生成任务理解为学习真实数据底层分布的有监督学习。通过对抗性训练,生成器可以最大程度地捕获输入数据背后的多层次变化,此外,鉴别器就会发现真实数据和合成数据之间的差异。最近最先进的StyleGAN [31]已经被证明在其各个层级表示中都可以分别编码丰富的分层语义。然而,该生成器主要是为图像生成而设计的,因此缺乏以图像为输入并提取其视觉特征的推理能力,这极大地限制了GANs在真实图像中的应用。
为了解决这个问题,一个常见的做法是在GANs中描述的二者博弈中引入一个额外的编码器。然而,现有的编码器通常选择初始潜在空间(即最抽象的级别特征)作为目标表示空间,省略了生成器学习到的前层信息。另一方面,来自GAN模型的表示的可转移性在文献中还没有得到完全的验证。以往的工作大多集中在学习高级图像分类任务[12,15,13]的鉴别特征上,而在其他中低层次的下游任务上的投入很少,如标志性检测和布局预测。
在这项工作中,我们证明了预先训练的GAN发生器可以被认为是一个已经训练好的损失函数。使用它进行训练可以带来高度竞争的层次视觉特征(highly competitive hierarchical visual features),这些特征可推广(generalizable,原意是概括性的,可概括的)到各种任务。基于StyleGAN模型,我们定制了一个新颖的分层编码器,其输出与来自生成器的层级表示对齐。特别地,生成器将编码器(encoder)产生的特征层次结构作为生成器每层的输入,并通过重构输入图像来对编码器进行监督学习。我们评估这些视觉特征,称为生成层次特征(GH-Feat),在生成和鉴别任务上,包括图像编辑、图像协调、图像分类、人脸验证、标志物检测、布局预测等。大量的实验验证表明(validate),从解决图像合成任务中学习到的生成特征具有引人注目的层次化和可转移的特性,促进了许多下游应用(downstream applications)的发展。
【译者注:本篇文章从GAN出发而提出了进一步的改进,针对GAN虽然可以较好生成模拟真实物体的图像的问题,本文提出了其缺乏以图像为输入并提取其视觉特征的推理能力,并且由于提取到的特征不适合特定的中下游问题,可移植性不强而不能很好的用于真实图像中图像的编辑、协调、分类等的中下游问题。本文提出的改进在于使用一个编码器从合成图像中可以提取高度竞争的分层视觉特征,并将编码器产生的特征层次结构作为生成器(Generator)每层的输入,并通过重构输入图像来对编码器进行有监督学习具有更好的移植性,并可以更好地应用于解决中下游的一些技术问题。】
2.相关工作
视觉功能特征
对抗生成网络
对抗性的表示法的学习
3.生成方法
我们设计了一种新(novel)的编码器来从输入图像中提取层次视觉特征。该编码器的无监督学习的训练方式基于准备好的StyleGAN生成器的图像重建的损失函数。其中,3.1描述了我们如何从StyleGAN中抽象出多层次的表示法。3.2给出了新型分层编码器的结构。3.3介绍了使用预先训练的StyleGAN生成器作为学习损失函数进行表示学习的想法。
3.1基于StyleGAN的层级表示
GANs的生成器通常以一个潜在代码作为输入,并被训练来合成一个逼真的图像。最近最先进的StyleGAN提出首先将映射到一个具有的解纠缠空间(disentangled space,又称解耦空间)W。这里,f(·)表示由多层感知器(MLP)实现的映射。然后将w编码向量通过仿射变换方法投影为分层(layer-wise)特征样式编码,其中L是卷积层的数量。和对应于自适应实例归一化方法(AdaIN, Adaptive Instance Normalization)[26]中的尺度(scale)和权重(weight)参数。这些特征样式编码(style codes)用于调制每个卷积层的输出特征映射,借助的数学表达式如下:
其中,表示从第ℓ层输出的输出特征图(feature map又可以翻译作特征映射)的第i个通道。µ(·)和σ(·)分别表示均值和方差。
【译者注:对feature map中的每个特定层的输出 减去均值,然后除以方差,乘上解耦空间W通过仿射变换得到的style code, 也就是y值,这里的,分别是y的scale和weight的参数表示,其中每个y都可以由一对,唯一表示,其数学表达形式为】
在这里,我们将分层(layer-wise)特征样式编码(style codes)视为我们希望从输入图像中提取的生成式视觉特征。它有两个主要的优点。首先,合成的图像可以完全由特征样式编码(style codes)决定,而没有任何其他变量(variations/variables, also),使它们适合从生成的角度表达输入数据中包含的信息。其次,这些样式代码被组织为一个层次结构,其中不同层的代码对应于不同级别[31,55]的语义。据我们所知,这是第一个“对每层的AdaIN模块采用特征样式编码(style codes)作为StyleGAN的学习表示”的工作。
3.2层次编码器
基于在3.1节中的层级表示,我们提出了一种新的编码器E(·),用一种分层的结构在一个给定的图片中提取多层级的视觉特征。就像在表1中展示的那样,该编码器被设计成与StyleGAN生成器具有最好的匹配(对齐aligns:是指编码器的输出可以刚好匹配GANs的输入)。要特别指出的是,生成结构特征(GH-Feat),也就是,是由编码器(encoder)产生的,通过在方程1中代换表示样式特征的代码,GH-feat被输入进生成器的每层AdaIN模块。
我们采用ResNet [20]架构作为编码器的主干,并添加了一个额外的残差块,以获得一个更低分辨率的额外特征图。2此外,我们还引入了一个特征金字塔网络[36]来从多个层次上学习特征。最后三个阶段生成的特征图输出,{R4、R5、R6},是用于生成GH-Feat的。以14层StyleGAN生成器为例,R4与9-14层对齐,R5与5-8层对齐,而R6与1-4层对齐。在这里,为了将特征图(feature map在这里既可以被翻作特征图,又可以被翻作特征映射,特征向量图)与每个特征样式的编码连接起来,我们首先将其降采样到4×4分辨率,然后使用全连接(FC)层将其映射到目标维度的向量。此外,我们在编码器结构中引入了一个轻量级的空间对齐模块(SAM)[56,38],以更好地从输入图像中捕获空间信息。SAM用一种简单并且还很有效率的方式工作:
其中,(都是由1x1的卷积层实现)被用来投影特征映射使得他们分别具有相同数量的特征通道(feature channels)。也在图像融合(fusion)之前降采样到的分辨率。详细的编码器的结构可以在补充材料中找到。
3.3将StyleGAN生成器作为损失函数
我们认为预先训练过的StyleGAN生成器是一个倾斜的损失函数(应当更好地理解为“有梯度的损失函数”)。具体来说,我们使用了一个StyleGAN生成器来监督编码器的训练,目的(objective)是进行图像重建。我们还引入了一个鉴别器,以与编码器竞争,以确保重构质量。综上所述,编码器E(·)和鉴别器D(·)共同训练(是为了最小化目标函数)
其中各种 λ 参数是损失权重参数从而平衡不同的损失项,而在方程2中的最后一项表示的是perceptual loss,并且F(·)来自于一个预先已经训练好的VGG模型的表示4x3卷积输出(这里可以理解为一个特别的函数F)。
【译者注:关于StyleGAN生成器可以作为损失函数的问题,可以直截了当地理解为StyleGAN的生成器生成的图像和原始图像越接近,那么损失函数的值就越小。这里需要注意的是作者将StyleGAN始终作为监督编码器训练的损失函数,而将方程2和3作为训练编码器和鉴别器的目标函数。】
4.实验验证
我们在广泛的下游应用方向(包括:图像编辑、图像协调、MINST手写数据集的识别、人脸识别、ImageNet分类、姿势估计、标志检测、布局预测、人脸高光部位回归)上评估生成层次特征(GH-Feat)。4.1介绍了实验设置,如实现细节、数据集和任务。4.2对所提出的分级编码器进行消融实验。4.3和4.4分别评价GH-Feat对生成任务和鉴别任务的适用性。
4.1实验环境设计
网络搭建的参数细节
数据集和网络模型
测试任务和度量指标
【译者注:该部分主要讲述了其在诸多的downstream applications上的实验准备,还有对数据集和测试指标和方法、以及测试精度的介绍】
4.2消融实验
【译者注:该部分主要讲述了其所做的消融实验证明了将解耦空间的编码w转换为采用分层样式编码的作为StyleGAN的表示后,在编码器中引入空间对齐模块SAM可以更好地处理空间信息。其中对于转换空间和加入SAM的两项方法都可以得到均方误差(MSE)在原来基础上20%的减少,且表现为结构相似度(SSIM)更高,FID更小,图像多样性越好,质量越好。更多的关于W空间和Y空间的讨论需要参考4.4.1节】
4.3生成任务评估
略。
4.4鉴别任务评估
略。
5.结论
在这项工作中,我们认为训练良好的GAN生成器作为一个学习多尺度特征的学习损失函数。由此产生的生成层次特征被证明是可推广到广泛的视觉任务。