地址:https://genforce.github.io/higan/
收录会议:IJCV2020
概括:
- 论证了GANs不同层的潜码能控制不同层次的语义
- 提出了一种重新评分方法,用于在经过良好训练的模型中定量识别可操纵的语义概念
- 在潜空间利用SVM可找出二分类问题决策边界,通过改变潜码和决策边界的距离可以实现生成图像的控制
文章目录
摘要
- 生成模型在深层生成表示中学到了什么?照片级真实图像如何能够由GANs中引入的分层随机进行组成?
- 本工作将语义作为变化因素应用在先进的GAN模型(如StyleGAN和BigGAN),生成合成场景。
- 量化了激活和输出图像中语义之间的因果关系,量化了GANs学会的人类可理解的变化因素。
- 定性和定量结果进一步表明,具有分层潜在代码的GANs学习的生成性表示专门用于合成不同的层次语义:早期层倾向于确定空间布局和配置,中间层控制分类对象,随后的层最终渲染场景属性以及颜色方案。
- 识别可操纵的潜在变异因子有助于语义场景操纵。
关键词:生成模型·场景理解·图像处理·表征解释·特征可视化
1. 介绍
- 深层神经网络的成功源于表征学习,表征学习识别了高维观测数据背后的可解释因素。
- 通过分析深层表征及其涌现结构,可以深入了解深层特征的泛化能力,以及不同任务之间的特征转移能力。
- StyleGAN的原始工作指出,分层潜在代码实际上控制着从粗到细的合成,但这些变化因素是如何组合在一起的,以及如何量化这些语义信息仍然未知。
通过量化分层激活和输出图像中语义之间的因果关系,我们能够识别具有分层潜在代码的GAN模型不同层之间最相关的变化因素:早期层指定空间布局,中间层组成类别引导对象,后面的层渲染整个场景的属性和颜色方案。我们进一步表明,从布局、对象到场景属性和颜色方案识别这样一组可操纵的变化因子有助于语义图像操作(如图1所示)具有很大的多样性。建议的操作技术进一步推广到其他GAN,如BigGAN和ProgressiveGAN。
2. 相关工作
图像分类的深层表征
为了研究为分类任务而训练的CNN的内部表示,已经进行了许多尝试。
- Zhou等人[41]通过简化输入图像来分析隐藏单元,以查看哪一个上下文区域给出了最高的响应
- Simonyan等人[31]应用反向传播技术来计算图像特定的类显著性图
- Bau等人[3]借助分割掩模解释了隐藏表示
- Alain和Bengio[2]解释了隐藏表示训练独立的线性探针来分析不同层之间的信息可分性。
- 也有一些研究转移了CNN的特征,以验证学习到的表征如何适应不同的数据集或任务[37,1]。
- 通过将给定的表示映射回图像空间[39,23,21],逆转特征提取过程,还可以深入了解CNN在区分不同类别时实际学到了什么。
然而,这些为分类网络开发的解释技术不能直接应用于生成模型。
从合成图像中获得深度表示
GANs极大地促进了图像合成,但尚不清楚GANs究竟学会了什么来制作如此多样化和逼真的图像。
- 拉德福德等人[27]指出了GAN潜在空间中的向量算术现象,但是,发现训练有素的模型中存在哪些语义以及这些语义是如何构造以合成高质量图像的仍然没有解决。
- 最近的一项工作[4]分析了GAN中生成器的各个单元,发现它们能够自发地合成信息性的视觉内容,如对象和纹理。
- 此外,并行工作[14,9]还分别通过学习的语义探索了GANs的可操作性,并提高了GANs的可记忆性。
与他们不同的是,我们的工作定量地探索了分层生成表示中多层次语义的出现。
场景操纵和编辑
以前的工作还用于编辑场景图像。
- Laffont等人[18]定义了40个瞬态属性,并设法将类似场景的外观转移到图像中进行编辑。
- Cheng等人[7]提出了语音引导图像解析,以识别和操作室内场景中的对象。
- Karacan等人[15]学习了一种基于预定义布局和属性合成室外场景的条件GAN。
- 其他一些作品[19,43,13,20]研究了图像到图像的翻译,可以用来将一个场景的风格转换到另一个场景。
与之不同的是,我们通过解释训练好的GANs的生成表示层次语义来实现场景操纵。除了图像编辑,这种解释也让我们更好地了解生成模型如何能够生成照片真实感合成。
3. 生成表征中的变异因素
3.1 场景合成中的多级可变因子
人类如何通过多角度解释场景来绘制场景抽象层次(艺术家绘制客厅为例):
- 选择透视图并设置房间的布局
- 添加通常出现在客厅中的对象,例如沙发和电视
- 指定的装饰风格,例如温暖或寒冷
相比之下,生成模型(如GANs)完全采用端到端的训练方式来合成场景,没有任何关于绘图技术和相关概念的先验知识。即便如此,经过训练的GANs仍然能够制作出逼真的场景,这让我们怀疑GANs是否已经自发地掌握了人类可以理解的绘画知识以及场景的变化因素。
3.2 分层生成表示
最近最先进的GAN模型(例如StyleGAN和BigGAN)引入了分层随机性来改进训练稳定性和合成质量。如图3所示,与仅将潜在代码作为第一层输入的传统生成器相比,具有分层随机性的改进生成器将随机潜在代码带入所有层。值得一提的是,越来越多的最新GAN模型继承了使用分层潜在代码以实现更好的生成质量的设计,如SinGAN和HoloGAN。
已有工作[17]指出,分层随机性的设计实际上控制着从粗到细的合成,然而,“粗”和“细”实际上指的是什么仍然是不确定的。本工作旨在建立变化因子和生成表示之间的关系,为了使变化因素与人类感知保持一致,我们将变化因素分为四个抽象级别,包括布局(layout)、分类对象(categorical objects)、场景属性(scene attributes)和配色方案(color scheme)。
我们在第四节中进一步提出了一个框架,量化输入生成表征和输出变异因子之间的因果关系。我们惊奇地发现,GANs以一种与人类高度一致的方式合成了一个场景。
4. 识别变异因素
我们使用几个现成分类器,关注布局检测[40]和语义分割[35],以帮助分析合成场景图像,即给定一幅图像,我们可以使用这些分类器来获得关于各种语义的响应分数。图4示出了由两个步骤组成的识别变异因素过程,即探测(第4.1节)和验证(第4.2节)。这样的识别可以实现多种场景操作(第4.3节)。
4.1 探测潜在空间
以“室内照明”为例(图4):
- 场景属性分类器输出输入图像具有室内照明的概率,我们使用该概率作为语义分数。
- 引入布局估计器、场景类别识别器和属性分类器,分别从这些抽象级别预测语义分数,形成层次化的语义空间。
- 在建立了从潜在空间Z到语义空间S的一对一映射后,我们通过将每个概念视为双分类问题来搜索其决策边界,如边界将潜在空间划分为两组,即有无室内照明。
4.2 验证可操纵变量因子
我们认为,如果目标概念可以从潜在空间的角度进行操作(例如,通过简单地改变潜在代码来改变合成图像的室内照明状态),则GAN模型能够在训练过程中捕获这些变化因素。如上所述,我们已经为每个候选设定了分离边界。设
{
n
i
}
i
=
1
C
\left\{\mathbf{n}_{i}\right\}_{i=1}^{C}
{ni}i=1C指定这些边界的法向量,其中
C
C
C表示候选的总数。对于某个边界,如果我们将一个潜在的代码移动到其法线方向(正),语义分数也应该相应增加。因此,我们建议对变化的潜在代码重新评分,以量化变化因子与目标模型的相关性,以便进行分析。如图4所示,该过程可表述为:
Δ
s
i
=
1
K
∑
k
=
1
K
max
(
F
i
(
G
(
z
k
+
λ
n
i
)
)
−
F
i
(
G
(
z
k
)
)
,
0
)
\Delta s_{i}=\frac{1}{K} \sum_{k=1}^{K} \max \left(F_{i}\left(G\left(\mathbf{z}^{k}+\lambda \mathbf{n}_{i}\right)\right)-F_{i}\left(G\left(\mathbf{z}^{k}\right)\right), 0\right)
Δsi=K1k=1∑Kmax(Fi(G(zk+λni))−Fi(G(zk)),0)
其中
1
K
∑
k
=
1
K
\frac{1}{K} \sum_{k=1}^{K}
K1∑k=1K代表K个样本的平均值,以使度量更准确。λ是一个固定的移动步长。为了使该度量在所有候选对象中具有可比性,所有法向量
{
n
i
}
i
=
1
C
\left\{\mathbf{n}_{i}\right\}_{i=1}^{C}
{ni}i=1C都被归一化为固定范数1,λ被设置为2。通过这种重新评分技术,我们可以轻松地对分数进行排名
Δ
s
i
\Delta s_{i}
Δsi所有概念检索最相关的潜在变异因子。
4.3 多样性操纵
在识别语义变化因素后,我们提出了几种进一步处理图像的方法。图5显示了三种类型的场景操纵。
- 独立操作:原始向量z以步长λ推到某个语义的正规向量上,公式表述 z ′ ← z + λ n \mathbf{z}^{\prime} \leftarrow \mathbf{z}+\lambda \mathbf{n} z′←z+λn,随后送入G以产生新图像。
- 联合操作:允许对多个变化因子进行场景编辑,以两个变化因子(法向量n1和n2)为例,公式表述 z ′ ← z + λ 1 n 1 + λ 2 n 2 \mathbf{z}^{\prime} \leftarrow \mathbf{z}+\lambda_{1} \mathbf{n}_{1}+\lambda_{2} \mathbf{n}_{2} z′←z+λ1n1+λ2n2
- 抖动操作:将随机性引入操作过程以增加多样性,随机采样的噪声
δ
∼
N
(
0
,
1
)
\delta \sim \mathcal{N}(0,1)
δ∼N(0,1),公式表述
z
′
←
z
+
λ
n
+
δ
\mathbf{z}^{\prime} \leftarrow \mathbf{z}+\lambda \mathbf{n}+\delta
z′←z+λn+δ
5. 实验
- 5.1节:介绍了实验细节,包括生成模型、训练数据集和使用的现成分类器。
- 5.2节:对StyleGAN模型的分层分析,定量和定性验证多级变异因子是否编码在潜在空间中。
- 5.3节:我们发现GAN在一些中间层合成了共享对象。通过仅控制它们的激活,我们可以轻松更改输出图像的类别,例如,将卧室变成客厅,同时保留其原始布局和室内照明等高级属性。
- 5.4节:进一步表明,我们的方法可以有效地识别与特定场景相关的最相关属性,便于语义场景操作。
- 5.5节:对再评分技术和分层操作进行消融研究,以证明我们方法的有效性。
5.1 实验细节
生成器模型
PGGAN采用传统的生成器结构,其中潜在代码仅馈入第一层。不同的是,StyleGAN和BigGAN如图3所示,通过向所有卷积层提供潜在代码来引入分层随机性。我们的分层分析揭示了它为什么有效。
场景类别
PGGAN和StyleGAN实际上是在LSUN数据集上训练的,BigGAN是在Places数据集上训练。LSUN数据集由7个室内场景类别和3个室外场景类别组成,Places数据集包含跨越434个类别的1000万幅图像。模型合成的场景图像分辨率均为256×256。
语义分类器
- layout估计器[40],预测室内场所的空间结构(如图7)
- ascene类别分类器[42],将场景图像分类为365个类别
- anattribute预测器[42],预测太阳属性数据库中的102个预定义场景属性[26]
- 通过HSV空间中的色调直方图来提取场景图像的颜色方案
语义探测和验证
- 给出一个经过良好训练的GAN模型
- 随机采样潜在代码生成一组合成场景图像,设置n=500000
- 使用前面提到的图像分类器为每个视觉概念分配语义分数
- 选择2000张响应最高的图像作为阳性样本,另2000张响应最低的图像作为阴性样本(图6显示了一些示例)
- 使用SVM得到一个线性决策边界
- 重新生成K=1000个样本用于语义验证,如4.2节所述
5.2 新兴语义层次
本节展示了GAN以与人类感知类似的方式在层上构成场景。
StyleGAN为每个卷积层学习一个潜码,并非只在第一层输入。具体地说,对于
l
\mathbf{l}
l层,将w线性变换为逐层变换的潜在代码c,公式为
y
(
ℓ
)
=
A
(
ℓ
)
w
+
b
(
ℓ
)
\mathbf{y}^{(\ell)}=\mathbf{A}^{(\ell)} \mathbf{w}+\mathbf{b}^{(\ell)}
y(ℓ)=A(ℓ)w+b(ℓ),其中
A
(
ℓ
)
,
b
(
ℓ
)
\mathbf{A}^{(\ell)}, \mathbf{b}^{(\ell)}
A(ℓ),b(ℓ)分别是用于样式转换的权重和偏移。因此,我们通过研究
y
(
ℓ
)
\mathbf{y}^{(\ell)}
y(ℓ)而不是
z
\mathbf{z}
z在等式(1)中执行分层分析。
为了量化每一层相对于每个变异因子的重要性,我们使用重新评分技术来确定分层生成表征
y
(
ℓ
)
\mathbf{y}^{(\ell)}
y(ℓ)和语义出现之间的因果关系。图10中的归一化分数显示,GAN中的生成器的层专门用于以分层方式组成语义:底层确定布局,下层和上层分别控制类别级别和属性级别的变化,而颜色方案主要在顶部渲染。
在训练生成256×256场景图像的StyleGAN模型中,共有14个卷积层。根据我们的实验结果,布局、对象(类别)、属性、颜色模式分别对应于底层、下层、上层和顶层,实际上是[0,2]、[2,6]、[6,12]和[12,14)层。
为了直观地检查已识别的变化因子,我们沿着不同层的边界移动潜在向量,以显示合成如何相应地变化。例如,给定房间布局的边界,我们分别在底层、下层、上层和顶层朝法线方向改变潜在代码。图10的底部显示了几个概念的定性结果。我们看到,出现的变异因素遵循一个高度结构化的语义层次结构,即,在早期阶段可以最好地控制布局,而配色方案只能在最后阶段更改。此外,在不适当的层上改变潜在代码也可能改变图像内容,但是改变可能与所需的输出不一致。例如,在第二行中,调制“类别”的底层代码只会导致场景视点中的随机更改。
为了更好地评估跨层的可操作性,我们进行了一项用户研究。我们首先生成500个样本,并根据不同层上的几个概念对它们进行操作。对于每个概念,要求20名用户选择最合适的层进行操作。图9显示了用户研究结果,其中大多数人认为底层与布局、下层控制场景类别等最匹配。这与我们在图10中的观察结果一致。它表明,层次变化因素出现在合成场景的生成表示中。我们的重新评分方法确实有助于从广泛的语义集合中识别变异因素。
识别语义层次和跨层的变化因素有助于语义场景操作。我们可以简单地将潜在代码推向适当层上所需属性的边界。图8(a)显示,我们可以分别改变装饰风格(粗糙到光滑)、家具材料(布到木头),甚至清洁度(整洁到杂乱)。此外,我们可以联合操纵层次变化因子。在图8(b)中,我们同时更改了早期层的房间布局(旋转视点),中间层的场景类别(将卧室转换为客厅),以及后期层的场景属性(增加室内照明)。
5.3 什么构成了场景?
如上所述,用于合成场景的GAN模型能够在生成表示中编码层次语义,即。E从布局、对象(类别)到场景属性和颜色方案。最值得注意的特性之一是GAN的中间层实际上合成了不同场景类别的不同对象。它提出了一个问题:是什么让一个场景成为客厅而不是卧室。因此,我们进一步深入研究了GAN中分类信息的编码,以量化GAN如何解释场景类别以及如何从对象角度转换场景类别。
我们使用StyleGAN模型对卧室、客厅和餐厅的混合进行训练,然后搜索每两个类别之间的语义边界。为了从合成的图像中提取对象,我们应用了语义分割模型[35],该模型可以分割150个对象(电视、沙发等)和物品(天花板、地板等)。具体来说,我们首先随机合成500个客厅图像,然后依次向“客厅-卧室”边界和“卧室-餐厅”边界改变相应的潜在代码。我们在操作前后对图像进行分割,得到分割模板,如图11所示。在操作过程中通过图像坐标跟踪每个像素的标签映射后,我们能够计算对象如何随类别变化而变化的统计信息,并观察对象在类别变化时如何变化。
图11展示出类别转换过程中的对象映射。我们可以看到:
- 当一个图像在不同的类别中操作时,大多数的填充类(例如天花板和地板)保持不变,但是一些对象被映射到其他类中。例如,客厅中的沙发映射到卧室中的枕头和床,卧室中的床进一步映射到餐厅中的桌子和椅子。发生这种现象是因为沙发、床、餐桌和椅子分别是客厅、卧室和餐厅的可区分对象。因此,当类别被转换时,代表对象应该改变。
- 有些对象可以在不同的场景类别之间共享,而GAN模型能够发现这些属性,并学习在不同的类中生成这些共享对象。例如,在将图像转换为卧室后,客厅中的灯(在图像的左边界上)仍然保留,尤其是在相同的位置。
- 通过具有学习对象映射以及跨不同类共享对象的能力,我们能够学习对象映射以及跨不同类共享对象,我们能够把一个无条件的GAN变成一个可以控制类别的GAN。通常,为了使GAN生成来自不同类别的图像,必须将类标签输入到生成器中以学习类别嵌入,如BigGAN[6]。我们的结果表明了另一种方法。
5.4 多属性操作
属性识别
场景合成中变化因素的出现取决于训练数据。在这里,我们将我们的方法应用于一组StyleGAN模型,从太阳属性数据库中预定义的102个场景属性中捕获范围广泛的可操纵属性[26]. 集合中的每个styleGAN都经过训练,可以合成特定类别的场景图像,包括室外场景(桥梁、教堂、塔楼)和室内场景(客厅、厨房)。图12显示了每个模型的前10个相关语义。我们可以看到,“阳光”在所有室外类别中得分较高,而“照明”在所有室内类别中得分较高。此外,“划船”被确定为桥梁模型,“游览”为教堂和塔楼,“阅读”为客厅,“吃饭”为厨房,以及“社交”为餐厅。这些结果与人类的感知高度一致,表明所提出的量化方法的有效性。
属性操作
- 首先对3个室内和3个室外场景进行独立操作,并使用我们的方法确定最相关的场景属性。图13示出了沿正(右)方向操纵原始合成(每对中的左图像)的结果。我们可以看出,编辑后的图像仍然具有高质量,并且目标属性确实会根据需要进行更改。
- 我们使用桥接合成模型联合处理两个属性,如图14所示。3×3图像网格的中心图像是原始合成,第二行和第二列分别显示“植被”和“云”属性的独立操作结果,而四个角上的其他图像是联合操作结果。事实证明,我们很好地控制了这两种语义,它们似乎几乎没有相互影响。然而,并非所有的变异因素都表现出如此强烈的分离。从这个角度来看,我们的方法也提供了一个新的度量来帮助测量两个变化因子之间的纠缠,这将在本文中6节讨论
- 最后,我们通过在“云”操作中引入噪声来评估所提出的抖动操作。从图15中,我们观察到新引入的噪声确实增加了操纵分集。有趣的是,引入的随机性不仅会影响添加云的形状,还会改变合成塔的外观。但这两种情况都保留了主要目标,即编辑云量。
5.5. 消融实验
重新计分技术
在执行建议的重分类技术之前,我们还有两个步骤,即(1)为合成样本分配语义分数,(2)训练SVM分类器搜索语义边界。我们想验证重新评分技术在识别可操纵语义中的重要性。我们对训练用于合成卧室的StyleGAN模型进行消融研究。如图16所示,左图根据标记为正样本的样本数对场景属性进行排序,中间图根据训练样本的精度进行排序支持向量机分类器,而正确的数字排序我们提出的量化指标。
在左图中,“无地平线”、“人造”和“封闭区域”是百分比最高的属性。但是,所有这三个属性都是卧室的默认属性,因此不可操作。相反,通过使用重排序技术进行验证,我们的方法成功地过滤掉了这些不变的候选对象,并揭示了更有意义的语义,如“木材”和“室内照明”。此外,我们的方法还能够识别一些频率较低但实际上可操作的场景属性,例如“杂乱空间”。
在中图中,几乎所有的属性都得到相似的分数,使它们难以区分。实际上,即使是最差的SVM分类器(即“Railway”)也能达到72。3%的准确率。这是因为,即使某些变异因子没有编码在潜在表示中(或者说,不可操纵),相应的属性分类器仍然为合成图像分配不同的分数。在这些不准确的数据上训练SVM也会导致分离边界,即使它不是预期的目标概念。因此,仅仅依靠支持向量机分类器是不足以检测相关的变异因素的。相比之下,我们的方法更注重改变潜在代码后的分数调制,而不受属性分类器的初始响应或支持向量机性能的影响。因此,我们能够从广泛的候选集合中彻底而精确地检测潜在空间中的变化因素。
分层操作
为了进一步验证语义层次的出现,我们使用StyleGAN模型对分层操作进行了研究。
- 首先,我们选择“室内照明”作为目标语义,并改变潜在代码仅在上层(属性相关)层对比在所有层上。从图17我们可以很容易地看出,当操纵所有层的“室内照明”时,房间内的物体也会发生变化。相比之下,仅在属性相关层操纵潜在代码可以令人满意地增加室内照明,而不会影响其他因素。
- 其次,我们选择底层作为目标层,并从所有四个抽象层中选择边界进行操作。如图18所示,无论我们选择何种语义级别,只要潜在代码在底层(布局相关)修改,只有布局而不是所有其他语义会发生变化。
这两个实验进一步验证了我们关于语义层次出现的发现,即早期层次倾向于确定空间布局和配置,而不是其他抽象级别的语义。
6. 讨论
语义解耦
与其他语义相比,我们在生成表示中检测到的一些变异因素彼此之间更为分离。与Karras等人[17]中描述的感知路径长度和线性可分性以及Shen等人[30]中提出的余弦相似性相比,我们的工作为解纠缠分析提供了一个新的度量。特别是,我们沿着一个语义方向移动潜在代码,然后检查其他因素的语义分数如何相应地变化。如图19(a)所示,当我们修改空间布局时,所有场景属性几乎不受影响,这表明GAN学习将布局级别语义与属性级别分离。但是,也有一些场景属性(来自同一抽象级别)相互纠缠。以图19(c)为例,调节“室内照明”时,“自然照明”也会有所不同。这也符合人类的感知,进一步证明了我们提出的量化指标的有效性。
其他GAN的应用
我们进一步将我们的方法应用于另外两种GAN结构,即。EPGGAN[16]和BigGAN[6]。这两个模型分别在LSUN数据集Yu等人[38]和Places数据集[42]上进行训练。
- 与StyleGAN相比,PGGAN只将潜在向量馈送到第一个卷积层,因此不支持分层分析。但建议的重新评分方法仍然可以用于帮助识别可操纵语义,如图20(a)所示。
- BigGAN是最先进的条件GAN模型,它在将潜在向量与类引导的嵌入代码连接在一起,然后再将其提供给生成器,它还允许像StyleGAN一样进行分层分析。图20(b)给出了从属性级别对BigGAN的分析结果,其中我们可以看出,与较低层或所有层相比,场景属性可以在较高层进行最佳修改。对于256×256分辨率的BigGAN模型,共有12个卷积层。由于类别信息已经编码在“类”代码中,我们只将层分为两组,即较低层(底部6层)和较高层(顶部6层)。同时,定量曲线显示了与StyleGAN发现一致的结果,如图10(a)所示。这些结果证明了我们方法的泛化能力以及其他GAN中可操纵因素的出现。
限制
- 布局分类器只能检测室内场景的布局结构。但对于室内和室外场景类别的更一般分析,缺乏对空间布局的统一定义。例如,我们的框架无法更改室外教堂图像的布局。在未来的工作中,我们将利用计算摄影工具恢复图像的三维相机姿态,从而为合成图像提取更通用的视点表示。
- 我们提出的重新评分技术依赖于现成分类器的性能。对于某些属性,分类器不够准确,导致操作边界不好。这个问题可以用更强大的判别模型来解决。
- 为了简单起见,我们只使用线性支持向量机进行语义边界搜索。这限制了我们的框架对具有更复杂和非线性结构的潜在语义子空间的解释。
7. 总结
在本文中,我们展示了在GANs学习的具有分层随机性的深层生成表征中出现的高度结构化的变异因子。特别是,GAN模型自发地学习在早期层设置布局,在中间层生成分类对象,在训练合成场景时,在后续层渲染场景属性和颜色方案。提出了一种重新评分方法,用于在经过良好训练的模型中定量识别可操纵的语义概念,从而实现照片级真实感场景操纵。在未来的工作中,我们将探索如何扩展GANs的这种操作能力,以便进行真正的图像编辑。