Low-Rank Subspaces in GANs

代码 :https://github.com/zhujiapeng/LowRankGAN/.

摘要

生成对抗网络(GAN)的潜在空间被证明在一些子空间中编码丰富的语义。为了识别这些子空间,研究人员通常会从一组合成数据中分析统计信息,识别出的子空间往往会全局控制图像属性(即操纵一个属性会导致整个图像的变化)。相比之下,这项工作引入了低秩子空间,可以更精确地控制GAN的生成。具体来说,给定任意图像和感兴趣的区域(例如人脸图像的眼睛),我们设法用雅可比矩阵将潜在空间与图像区域联系起来,然后使用低秩因子分解来发现可操纵的潜在子空间。我们的方法有三个可区分的优点,可以恰当地称为LowRankGAN。首先,与以往工作中的解析算法相比,我们的雅可比矩阵低秩分解能够找到属性流形的低维表示,使图像编辑更加精确和可控。其次,低秩因式分解自然会产生一个空的属性空间,以至于在其中移动潜在代码只会影响感兴趣的外部区域。因此,可以简单地通过将属性向量投影到空空间来实现局部图像编辑,而不像现有方法那样依赖空间掩码。第三,我们的方法可以稳健地从一幅图像中处理一个局部区域进行分析,但也可以很好地推广到其他图像,使得它在实际中非常容易使用。在各种数据集上训练的最先进的GAN模型(包括StyleGAN2和BigGAN)上的广泛实验证明了我们LowRankGAN的有效性。

1 介绍

生成对抗网络(GANs)可以生成与真实图像在视觉上无法区分的高保真图像[19,21,4],在许多现实应用[17,43,35,11,42,30,8,38]中取得了巨大的进步。最近的一些研究[13,29,18]表明,预先训练的GAN模型自发地在潜空间中学习丰富的知识,以至于将潜在代码朝某些方向移动会导致图像中相应的属性变化。通过这种方式,我们能够通过识别语义上有意义的潜在子空间来控制生成过程。

对于潜在语义发现,最直接的方法之一是首先生成图像合成集合,然后将这些图像标记为一个目标属性,最后通过监督训练找到潜在的分离边界[13,29,18]。先前的工作[33,28,15]已经指出,上述管道可能会受到标记步骤的限制(例如,无法识别定义明确的注释以外的语义),并提出以无监督的方式寻找潜在空间的可操纵方向,比如使用主成分分析[15]。然而,存在方法更喜欢发现全局语义,它将整个图像作为一个整体来改变,而不能将潜在的子空间与某些特定的图像区域联系起来。因此,他们高度依赖空间掩码[32,9,2]来局部控制GAN的生成,这更有实际用途。

在这项工作中,我们通过引入GAN潜在空间的低秩子空间来弥合这一差距。我们的方法被称为LowRankGAN,它从任意合成一个感兴趣的区域开始,比如人脸图像的眼睛和鼻子或者场景图像的地面。然后,我们通过预先训练的生成器计算雅可比矩阵来关联潜在空间和图像区域。之后是我们算法的核心部分,即根据得到的雅可比矩阵进行低秩分解。与其他分析方法不同,雅可比矩阵的低秩分解能够揭示属性流形的内在低维表示,从而帮助解决对目标属性更精确的编辑方向。此外,低秩因子分解自然产生一个空的属性空间,以至于在这个子空间内移动潜在的代码主要影响剩余的图像区域。有了这种吸引人的特性,我们可以通过将一个属性向量投影到空空间中,利用投影结果来调制潜在代码来实现局部图像控制 。这一观察远非微不足道,因为通常认为潜在代码作用于GAN生成器[14,4,19]的整个特征映射。我们还发现,从一幅图像的局部区域导出的低秩子空间广泛适用于其他图像。换句话说,我们的方法只需要一个样本,而不需要丰富的数据进行分析。更令人惊讶的是,假设我们在一张汽车图像上识别出一个颜色不断变化的边界,我们可以用这个边界从其他图像中改变汽车的颜色,甚至是位于不同空间区域或形状不同的汽车。这表明 GAN潜在空间是局部语义感知的。此外,LowRankGAN对雅可比矩阵计算的起始图像区域具有较强的鲁棒性。例如,为了在合成图像中控制天空,我们的算法不一定依赖于刚性的rigid天空分割掩模,但也可以令人满意地使用标记天空区域(部分或全部)的随意边框,使其在实践中非常容易使用。

我们的主要贡献总结如下。首先,我们研究GAN潜在空间的低秩子空间,并通过简单地调制潜在代码来实现GAN图像生成的局部控制。其次,我们的方法可以发现关于一幅图像局部区域的潜在方向,但可以推广到所有图像,从而揭示GAN潜在空间的内在语义感知结构。第三,我们进行了全面的实验来证明我们的算法在广泛的模型和数据集上的有效性和鲁棒性。

2 相关工作

解释训练有素的GAN模型[1,18,29]最近受到了广泛的关注,因为它可以帮助我们理解GANs [38]学到的内部表示,并进一步控制生成过程[39,42]。研究表明GAN潜空间中的一些子空间与输出图像中出现的属性高度相关。为了识别这些语义上有意义的子空间,现有的方法分为两种,即有监督的[13,30,18,24]和无监督的[33,15,28,31]。一方面,监督方法从现成的属性分类器[13,30]或简单的图像转换[18,24]中寻求帮助,对一组合成数据进行注释,然后从标记数据中学习潜在的子空间。另一方面,非监督方法试图通过统计分析潜空间[15],最大限度地利用潜空间和图像空间[33]之间的相互信息,或探索模型参数[28,31]来发现可操纵的潜维度。但是,这些方法检测到的所有子空间都倾向于控制全局图像属性,这样如果我们编辑一个特定的属性,整个图像都会被修改。为了实现局部图像控制,一种常见的做法是引入空间掩码[32,9,2,38,41],它与GAN生成器的中间特征图一起工作。

与以前的工作相比,我们的LowRankGAN有以下不同之处:不需要对象的空间掩码来进行精确的局部编辑,只需一次图像合成和任意感兴趣的局部区域就可以获得通用属性向量,而无需对大量数据进行任何训练或统计分析。据我们所知,我们是第一个证明低阶因式分解在解释深层生成模型中的有效性的人。虽然也有一些工作使用雅可比矩阵来分析GAN潜在空间[26,7,34],但低秩子空间通过提供不可缺少的零空间来实现精确的生成控制。

3 Low-Rank GAN

设z ∈ Rdz和G(·)分别表示GAN的输入潜码和一个生成器。前人的工作[13,29,18]观察了一些潜在子空间与图像属性的关系,从而我们可以通过线性变换潜在代码来实现对合成样本G(z)的语义操作
在这里插入图片描述
其中n表示潜在空间内的属性向量,α是编辑强度。然而,现有方法识别的潜在子空间往往会将整个图像作为一个整体来操作,而无法控制一个局部图像区域。不同的是,我们提出的LowRankGAN证实了Eq(1)还可以用于局部控制图像生成。以下部分描述了如何从一个预先训练好的GAN模型中发现低秩子空间及其实际应用。

3.1 Degenerate Jacobian 退化雅可比

在这里插入图片描述
很容易知道,上述优化允许一个封闭形式的解,它是与最大特征值相关联的特征向量。因此,编辑方向所跨越的子空间是JzTJz的主子空间。

对于GAN体系结构,前人的工作[12]已经证明并论证了Jacobian矩阵JzTJz是退化的,这是由以下定理描述的。
在这里插入图片描述
定理1说Jacobian JzTJz的秩可以逐步减小,生成元特征的流形允许在温和的条件下具有低维结构。因此,属性子空间必须允许类似的结构,这可以通过Jacobian JzTJz的低秩分解找到。

3.2 Low-Rank Jacobian Subspace

在实际应用中,数值计算表明雅可比矩阵实际上是满秩的,这意味着它在高度非线性的生成过程中受到噪声的干扰。如果我们假设这样的扰动是稀疏的,那么通过对腐败的corruption JzTJz进行低秩分解可以很好地揭示属性流形的低维结构。

给定一个被稀疏噪声破坏的低秩矩阵M,低秩因子分解可以表述为M = L + S,其中L是低秩矩阵,S是被破坏的corrupted稀疏矩阵。由于优化的非凸性,直接解决这个问题实际上是非常困难的。希望它可以归结为一个可处理的凸问题[36]:
在这里插入图片描述
λ是正权重参数来平衡稀疏性和低秩。Eq4 中的凸优化也称为主成分追踪(PCP) [5],可以用乘子交替方向法求解(ADMM) [23,3]。低秩因子分解和ADMM的详细介绍见附录。假设Eq4 中JzJz的解是
在这里插入图片描述

3.3 Precise Control via Null Space Projection

在这里,精确的控制意味着在编辑特定区域时,剩余区域中的像素变化尽可能小。例如,如果我们想在人脸图像中闭上眼睛,最理想的情况是其他区域,比如嘴巴、鼻子、头发和背景保持不变。以前的作品[15,28,24,33]可以编辑特定区域中的一些属性,但对剩余区域没有任何控制,这实际上会导致编辑感兴趣区域时图像发生全局更改。我们通过代数原理解决了这个问题,提出了一种利用雅可比零空间实现精确控制的通用方法。

在这里插入图片描述
图1:LowRankGAN的framework,它是用来控制GANs的图像生成的。(A)给定任意综合和感兴趣的区域,即掩码下的区域A,我们用雅可比矩阵将图像区域与潜在空间联系起来。提出的低秩子空间(红圈)是通过对Jacobian JzTJz进行低秩因子分解而得到的,它自然产生一个空空间(绿圈)。(b,c)低秩子空间和空空间分别对应于区域A和区域B的编辑。

如图1所示,如果我们想编辑区域A(图像中的车体)的一些属性(例如更改颜色),最理想的操作是图像中剩余的区域B将保留未编辑的。一个自然的想法是,我们可以将区域A的特定属性向量vi投影到一个空间中,在这个空间中属性方向的扰动对区域B没有影响,但对区域A有影响。具体来说,我们在V中获得了可以改变区域A属性的ra属性向量,而V中的其余dz-ra向量对区域A没有影响。同样,我们也可以获得属性矩阵B =[b1,…,bdz ]对于区域B通过Eq(6),rb属性向量改变区域B,其余dz-rb向量对区域B没有影响,但对区域A有一定影响。我们让 B =[B1,B2],其中B1=[b1,…,brb]和B2=[brb+1,…,bdz]。因此,可以通过将区域A的属性向量vi投影到B1的正交互补空间来缓解区域B的变化,我们将其表述为:
在这里插入图片描述
其中I是单位矩阵。对于我们的低秩情况,很容易知道B2是区域B的Jacobian的零空间,即与零奇异值相关联的子空间。

但是,在某些特殊情况下,完全精确的控制可能会限制编辑的程度。例如,如果在编辑过程中眉毛保持不动,眼睛的大小就会受到限制。或者不改变下巴就张嘴的版本几乎是不可能的。考虑到这个因素,我们提出精确松弛来缓解这个问题。回想一下,执行的是完全精确的控制通过将vi投影到B的空空间中,在那里所有的奇异值都是零。因此,我们可以涉及几个具有小奇异值的属性向量,以增加多样性。我们将rrelax定义为用于松弛的向量数。所以投影子空间变成B1=[b1,…,b~r relax~]and B2 =[brrelax,…,brb+1,…,bdz]。显然,越大的放松就是我们获得的越大的多样性。否则,一个小的rrelax将导致很少的多样性。

4 实验

在本节中,我们对两种最先进的GAN模型StyleGAN2 [21]和BigGAN [4]进行了实验,以验证我们提出的方法的有效性。我们使用的数据集是多种多样的,包括FFHQ [19],LSUN [40]和ImageNet [10]。对于度量,我们使用Fré chet初始距离(FID) [16]、切片瓦瑟斯坦距离(SWD) [25]和屏蔽均方误差(MSE)。对于分割模型,[22]用于人脸数据,PixelLib用于LSUN。首先我们展示了低秩分解得到的零空间的性质,然后展示了零空间投影带来的改进。其次,我们从一幅图像中获得的方向可以很容易地应用于其他图像的验证。第三,还测试了对掩码的强鲁棒性,并选择了几种最先进的方法进行比较。最后,对Eq4 中参数λ进行了消融研究。Sec3.3 中的参数rrelax可以在附录中找到。

4.1 Precise Generation Control with LowRankGAN

在这里插入图片描述
图2:空空间有效性的解释。(a,d) masked 区域B和A被用来 通过Jacobians的低秩分解 获得空空间。(b,e)图像是通过改变派生空空间中的潜在代码来操作的。(c,f)分别在(a)和(b)、(d)和(e)之间的l1损失的热图,表明在空空间内编辑几乎不影响感兴趣的masked区域。

空空间的性质。首先,我们利用church模型展示了低秩分解得到的零空间的性质。为了方便起见,我们将教堂图像分成两部分,例如天空和其他部分,如图2a和图2d所示。根据Sec3.2的说法,我们获得了图2a中屏蔽区的JzTJz = M 。然后,在MB上进行低秩分解,得到区域b的零空间。我们在零空间中选择矢量编辑图2a,得到如图2b所示的编辑结果。图2c显示了图2a和图2b之间的l1损耗热图,在图2B中我们可以发现B区的零空间会影响A区,但可以保持B区几乎不变。这显然是一处优雅的财产。在图2d-f中也进行了同样的过程,我们还可以发现区域A的零空间对区域B有影响,但对区域A的影响很小。因此,我们可以将区域A的主向量投影到区域B的空空间中编辑区域A,但保持区域B不变,从而只通过潜在代码的线性操作来实现精确的生成控制。
使用空空间投影进行编辑。在这里,我们将验证Sec3.3 中提出的零空间投影的有效性在 StyleGAN2和BigGAN上 。为了方便起见,让vi表示Eq6 获得的特定区域的属性向量. pi 表示 通过Eq7 进入零空间的投影矢量 。首先,我们通过在FFHQ上预先训练的StyleGAN2进行学习[19]。眼睛和嘴巴被选为要编辑的区域。如图3所示,仅使用vi控制特定属性时,剩余区域会发生剧烈变化。例如,当闭上男人的眼睛时,鼻子、嘴巴和头发等其他属性都有明显的变化,一些人造物品也会出现。而且闭上嘴时,脸的大小会变形,头发也会增多。相反,当使用pi来控制那些图像中的属性时,编辑结果会有显著的提高,其他区域的变化是人眼几乎看不到的。其次,我们通过BigGAN学习两类内容。如图3所示,我们选择对象中心作为感兴趣的区域,然后通过Mcenter获取属性向量。直接使用属性向量vi将在编辑时显著更改背景。例如,靛蓝鸟的背景会模糊,改变大小时气泡的背景会出现一些白点。相反,当使用投影的奇异向量pi时,环境可以尽可能保持完整。所有这些结果都与图2中的现象一致。
在这里插入图片描述
图3:通过StyleGAN2 [21]和BigGAN [4]上的空空间投影进行精确的生成控制。对于每个图像属性,从感兴趣的区域(绿色掩码或红色框下)标识的原始属性向量充当全局更改图像的角色(例如,顶部行的人脸形状更改和底部行的背景更改)。相比之下,我们使用空空间投影的方法可以获得更满意的局部编辑结果。zoom in 放大 zoom out 缩小。

我们也在 Tab1a 中给出了StyleGAN2的量化结果。除了FID度量之外,在编辑特定区域时,还使用屏蔽均方误差(MSE)来限定剩余区域的变化。以闭眼为例,我们不使用眼睛及其周围环境计算损失,如图3中绿色面罩所示。这个度量标准衡量编辑特定区域时另一个区域的变化。显然,低masked MSE意味着高精度控制。如Tab1a 所示,在零空间投影之后,FID和MSE度量都降低了。定性和定量结果都表明,在零空间投影后,我们可以实现对StyleGAN2和BigGAN上特定区域的更精确控制。

表1:定量比较结果(a)使用空空间投影的效果,以及(b)各种图像编辑方法的图像质量[15,28]。
在这里插入图片描述

4.2 Generalization from One Image to Others

Results on Versatile随机的 GANs. 这里的一个问题是,由于我们的方法需要计算图像的雅可比,所以每个图像是否都需要计算相应的雅可比进行编辑。答案是否定的,我们表明我们的算法在一幅图像中获得的属性向量可以用来有效地编辑自己或其他图像。如图4所示,参考图像和相应的绿色掩码表示图像和我们用来查找属性向量的区域,然后这些属性向量用于编辑目标图像。从图4中,我们可以总结出我们的方法的以下优点:首先,参考图像和目标图像之间不需要对齐掩模来操纵目标。例如,我们从参考图像的蒙版区域获得一个可以改变发色的属性向量,它可以改变目标图像的发色,而不管它们的发型如何。而且对于汽车来说,目标汽车的车身会因形状、姿势、颜色等而异。然而,从参考图像的掩蔽区域获得的属性向量成功地改变了各种样式的车体颜色。其次,对于像BigGAN这样的条件GANs,从一个类别获得的方向不仅可以用来编辑类别本身,还可以用来编辑其他类别。例如,我们从雪鸟那里获得一个可以改变姿势的方向,它可以改变其他类别的姿势,比如知更鸟、猫头鹰、狗和蝴蝶。最后但并非最不重要的一点是,我们通过线性移动潜在代码来实现所有的局部编辑,而不是在特征映射中操作,使LowRankGAN易于使用。
在这里插入图片描述
图4:从一个合成的局部区域到StyleGAN2 [21]面、StyleGAN2 cars和BigGAN [4]上的其他样本的潜在语义泛化。我们的方法不要求目标图像具有与参考图像相同的蒙版区域。例如,汽车可以有不同的形状和位置。BigGAN上的结果甚至表明,从一个类别识别出的姿势语义可以应用于其他类别。

应用。除了图4所示的定性结果外,我们还给出了图5中的定量结果。为了定量测量闭上的眼睛或嘴巴的程度,我们使用[22]发布的分割模型来统计眼睛或嘴巴中的像素。我们首先选择10000张像素超过200的图片,这些图片都是睁开眼睛的。在收集图像之后,我们使用从图4所示的图像中获得的属性向量(闭眼)来编辑那些图像。编辑后,每个图像眼睛中的像素数在图5a中报告。对于闭嘴来说,这个过程是与闭眼睛完全相同,结果报告在图5b中。我们还对真实数据和合成数据的眼睛和嘴巴的像素数进行统计,并在图5中报告。有趣的是,在真实数据或合成数据中,只有少数图像的眼睛像素很少(真实数据和合成数据分别为61和49)。这意味着闭着眼睛的图像在真实或合成的数据中相当稀少。因此,我们的算法的一个潜在应用可能是数据增强
在这里插入图片描述
图5:真实数据分布、合成数据分布 和 关于闭眼和闭嘴属性的LowRankGAN的偏移数据分布 之间的 比较。我们使用分割对象(即眼睛或嘴巴)的像素数来评估眼睛和嘴巴是否闭合。通过只分析一幅图像,我们可以让大约90%的人闭上眼睛或嘴巴,从而产生一个用稀有样本来增加真实数据的应用。

4.3 Robustness of LowRankGAN to Regions of InterestLowRankGAN 对感兴趣区域的鲁棒性

让我们感到惊讶的是,我们的方法对掩码(或区域)具有极强的鲁棒性,这进一步使我们的方法可以很容易地使用,即使我们没有与前面的作品相反的分割模型[32,2,38,41]。如图6所示,对于每一组,掩码因大小、位置和形状而异,但我们从那些掩码区域求解的属性向量在编辑目标图像时发挥的作用几乎相同。例如,如果我们想找到一些与眼睛相关的语义,比如图6中的闭眼,我们可以使用分割模型[22]来获取眼睛的精确像素,或者只使用一些用户指定为图6中所示的绿色面具的粗糙面具。闭上目标眼睛的属性向量可以从那些掩蔽区域中的任意Jacobian中推导出来。对于教堂和汽车,我们可以使用分割面具或随机面具作为图6所示的绿色区域。同样的编辑结果可以通过来自那些蒙面区域的Jacobians的任何属性向量来实现,为教堂的天空添加云彩,或者为目标图像更改汽车的颜色。这种健壮性的可能原因之一可能是特定区域中的语义将位于相同的潜在子空间中。因此,这个特定区域的子区域的子空间可以与全局子区域重合,在这个子空间中移动会影响整个区域。注意,在汽车和教堂的实验中,对于小的掩模区域,需要一个相对较大的relax。这里我们设置rrelax = 20。

在这里插入图片描述
图6. LowRankGAN对感兴趣区域的健壮性进行分析。例如,要编辑汽车的颜色,我们的算法不一定需要刚性rigid的分割掩码 ,但也可以很好地与随意的offhand包围盒一起工作,并给出类似的结果。

4.4 与现有备选方案的比较

现在我们将我们的方法与最先进的算法进行比较。我们将我们的方法与StyleGAN2上的GANSpace [15]和SeFa [28]进行了比较,这是两种最先进的无监督图像编辑方法。根据GANSpace和SeFa的论文,我们找到了最相关的可以控制微笑和头发的载体。如图7所示,GANSpace和SeFa在编辑特定区域时都对其他区域有一定程度的影响。例如,当添加微笑时,GANSpace的身份和发型都会改变。当改变发色时,GANSpace只是在这个属性上几乎没有激活,而SeFa在背景上有明显的变化。与此同时,女性的眼睛也发生了变化。相反,我们的方法在添加微笑或更改发色时对其他属性的更改可以忽略不计。

在这里插入图片描述
图7. 图像局部编辑与GANSpace [15]和SeFa [28]的比较。我们的LowRankGAN可以更好地保存目标区域以外的信息。

除了图7所示的定性结果外,我们还在Tab1b 中给出了关于微笑的定量结果。关于用户学习,邀请了12名学生进行测评。所有学生都有计算机视觉背景。每一张都被分配了五十张原始图片,以及从不同方法获得的相关编辑结果(添加微笑)。然后要求他们区分不同方法的图像编辑质量。他们是12 × 50 = 600票。我们获得了595张有效选票,因为在某些情况下,有些学生无法分辨哪种方法表现最好。用户研究的结果报告在表1b。我们可以看到我们的方法在所有指标上都超过了其他方法。

5 总结

在这项工作中,我们提出了低秩子空间来实现GANs中的可控生成。任意图像与潜在空间之间建立的雅可比矩阵的低秩分解产生一个零空间,只需改变潜在代码就可以进行图像局部编辑,不需要空间掩码。我们还发现,从一幅图像的局部区域识别出的低秩子空间可以鲁棒地适用于其他图像,揭示GAN潜在空间的内部语义感知结构。大量的实验证明了我们的算法在训练有素的GAN模型下进行精确生成控制的强大性能。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值