论文阅读 StyleCLIP:《StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery》

在这里插入图片描述
论文地址:https://arxiv.org/pdf/2103.17249.pdf

摘要

在这项工作中,我们探索如何利用最近引入的对比语言图像预训练(CLIP)模型的力量,为StyleGAN图像处理开发一个基于文本的界面,而不需要手动操作。

  1. 我们首先介绍一种优化方案,该方案利用基于剪贴簿的丢失来修改输入潜在向量,以响应用户提供的文本提示。
  2. 接下来,我们将描述一个潜在映射器,该映射器为给定的输入图像推断文本引导的潜在操作步骤,从而允许更快、更稳定的基于文本的操作。
  3. 最后,我们提出了一种将文本提示映射到StyleGAN样式空间中输入不可知方向的方法,从而实现交互式文本驱动的图像操作。

1. 介绍

  现有控件只能沿预设的语义方向操作图像,严重限制了用户的创造力和想象力。无论何时需要额外的未映射方向,都需要进一步的手动操作和/或大量带注释的数据。图1显示了使用我们的方法产生的独特操作的几个示例。

在这里插入图片描述

图1。使用StyleCLIP的文本驱动操作示例。顶行:输入图像;最后一行:我们操纵的结果。用于驱动每个操作的文本提示显示在每列下。

具体而言,在本文中,我们研究了三种将CLIP与StyleGAN相结合的技术:

  1. 文本引导的潜在优化,其中剪辑模型用作损耗网络[14]。这是最通用的方法,但需要几分钟的优化才能对图像进行操作。
  2. 为特定文本提示而训练的潜在残余映射器。给定一个潜在空间的起点(要计算的输入图像),潜在空间中出现的局部步长。
  3. 一种将文本提示映射到StyleGAN样式空间中的输入诊断(全局)方向的方法,提供对操作强度和分离程度的控制。

2. 相关工作

2.1 视觉与语言

  联合描述:BERT,CLIP(学习多模态嵌入空间,该空间可用于估计给定文本和图像之间的语义相似性)
  文本引导的图像生成与处理

2.2 潜空间图像处理

  此类方法可分为:(i)使用图像注释寻找有意义的潜在路径的方法[40,1],(ii)在无监督的情况下找到有意义的方向,并要求对每个方向进行手动注释的方法[13,42,48,49]。

3. StyleCLIP文本驱动操作

  1. optimizer(优化方法):最小化在剪辑空间中计算的损失来优化StyleGAN W+空间中图像的给定潜在代码。尽管它具有多功能性,但执行一次操作需要几分钟,而且该方法可能难以控制。
  2. mapping(映射网络):对映射网络进行训练,以在单个正向过程中推断潜在空间中的操纵步骤。培训需要几个小时,但每个文本提示只能进行一次。由于操作步骤是在W中执行的,因此很难以分离的方式实现细粒度的视觉效果。
  3. global(全局空间):给定的文本提示转换为输入不可知(即,潜在空间中的全局)映射方向。更适合细粒度和非纠缠的视觉操作

表1总结了上述三种方法之间的差异
在这里插入图片描述

表1。我们的三种结合StyleGAN和CLIP的方法。优化器和映射器推断出的潜在步长取决于输入图像,但每个文本提示只进行一次训练。全局方向方法需要一次性预处理,然后可以应用于不同的(图像、文本提示)对。时间适用于单个NVIDIA GTX 1080Ti GPU。

4. 潜在优化

给定一个源代码w∈ W+和自然语言的指令或文本提示t,我们解决以下优化问题:
在这里插入图片描述
在这里插入图片描述

  1. 其中G是一个预训练的StyleGAN生成器,Dclip是其两个参数的CLIP嵌入之间的余弦距离
  2. 与输入图像的相似性由潜在空间中的L2距离控制
  3. identity loss:其中R是用于人脸识别的预训练ArcFace网络,<.>计算其参数之间的余弦相似性

  在图3中,我们提供了在200-300次迭代后使用此优化方法获得的一些编辑。输入图像由e4e反转[46]。请注意,视觉特征可以通过指示真实或虚构的人(碧昂丝、特朗普、艾尔莎)来明确控制(胡须、金发)或隐含控制。λl2和λID的值取决于所需编辑的性质。对于向另一个identity移动的更改,λID设置为较低的值。
在这里插入图片描述

图3。通过潜在优化获得的真实名人肖像的编辑。每次编辑的驱动文本提示和(λL2,λID)参数在相应结果下显示。

5. 潜在映射

  1. 上面描述的潜在优化是通用的,因为它对每个(源图像、文本提示)对执行专用优化。
  2. 编辑单个图像需要几分钟的优化,而且该方法对其参数值有些敏感。

  下面,我们描述一个更有效的过程,其中针对特定文本提示t训练映射网络,以针对任何给定的潜影嵌入w在w+空间中推断操作步骤Mt(w)∈ W

  体系结构:我们的文本引导映射器的架构如图2所示。已经证明,不同的StyleGAN层负责生成图像中不同层次的细节[18]。因此,通常将层分为三组(粗、中、细),并使用(扩展)潜在向量的不同部分为每组输入。
在这里插入图片描述

图2。我们的文本引导映射器的体系结构(在本例中使用文本提示“惊奇”)。源图像(左)被反转为潜在代码。训练三个单独的映射函数来生成残差(蓝色),这些残差被添加到目标代码中,经过预训练的样式(绿色)从中生成图像(右侧),通过剪辑和身份丢失进行评估。

  我们设计了相应的映射器,有三个完全连接的网络,每个组/部分一个。这些网络的架构都与StyleGAN映射网络的架构相同,但层次较少(在我们的实现中是4层而不是8层)。将输入图像的潜在代码表示为w=(wc,wm,wf),映射器的定义如下
在这里插入图片描述
  请注意,可以选择只训练三个映射器中的一个子集。在某些情况下,保留某些属性级别并固定相应条目中的样式代码是很有用的。

  损失:我们的映射器经过训练,可以操作文本提示t所指示的图像的所需属性,同时保留输入图像的其他视觉属性。剪辑丢失LCLIP(w)引导映射器最小化剪辑潜在空间中的余弦距离:
在这里插入图片描述
  其中G再次表示预训练的StyleGAN生成器。为了保持原始输入图像的视觉属性,我们在潜在空间中最小化操作步骤的L2范数。最后,对于需要标识保留的编辑,我们使用等式(2)中定义的标识丢失。我们的总损失函数是这些损失的加权组合:
在这里插入图片描述
  如前所述,当编辑需要更改标识时,我们不使用标识丢失。我们在本文示例中使用的参数值为λL2=0.8,λID=0.1。除了图9中的“特朗普”操作之外,我们使用的参数值是λL2=2,λID=0。
  在图4中,我们提供了几个头发样式编辑示例,其中每个列中使用了不同的映射器。在所有这些示例中,映射器成功地保留了身份以及与头发无关的大多数其他视觉属性。注意,产生的头发外观适合个人;这在“卷发”和“山猫发型”编辑中尤为明显。
在这里插入图片描述

图4。使用我们的映射器编辑发型。驱动文字提示显示在每列的下方。所有输入图像都是真实图像的反转。

  应注意,文本提示一次不限于单个属性。图5显示了头发属性的四种不同组合,直发/卷发和短发/长发,每种组合都会产生预期的结果。我们所知的任何以前的方法都没有证明这种程度的控制。
在这里插入图片描述

图5。使用单个映射器控制多个属性。每个映射器的驱动文本显示在每列下面。

  由于潜在映射器为每个输入图像推断定制的操作步骤,因此有趣的是检查潜在空间中的步骤方向在不同输入上的变化程度。为了测试这一点,我们首先使用e4e[46]反转CelebA HQ[28,15]的测试集。接下来,我们将反转的潜在代码输入到多个经过训练的映射器中,并计算所有操作方向对之间的余弦相似性。
  表2中报告了每个映射器的余弦相似性的平均值和标准偏差。该表显示,即使映射器推断出适用于输入图像的操作步骤,但在实践中,给定文本提示的这些步骤的余弦相似性很高,这意味着它们的方向并不像人们预期的那样不同。
在这里插入图片描述

表2。从使用不同文本提示训练的映射器获得的操作方向之间的平均余弦相似性。

6. 全局方向

  虽然潜在映射器允许快速推理时间,但我们发现,当需要细粒度的分离操作时,它有时会出现不足。此外,正如我们所看到的,对于给定的文本提示,不同操作步骤的方向趋于相似。
  受这些观察结果的启发,在本节中,我们提出了一种将文本提示映射到StyleGAN样式空间s中单个全局方向的方法,该方法已被证明比其他潜在空间更为清晰[50]。

  让 s∈S 表示样式代码,G(s) 表示相应的生成图像。 给定指示所需属性的文本提示,我们寻求操作方向 ∆s,使得 G(s+α∆s) 产生引入或放大该属性的图像,而不会显着影响其他属性。 操纵强度由α控制。 我们的高级想法是首先使用 CLIP 文本编码器在 CLIP 的联合语言-图像嵌入中获得一个向量 Δt,然后将该向量映射到 S 中的操纵方向 Δs。从自然语言中获得一个稳定的 Δt, 使用提示工程,如下所述。 然后通过评估每个风格通道与目标属性的相关性来确定相应的方向 ∆s。

  更正式地,用 I 表示 CLIP 联合嵌入空间中图像嵌入的流形,用 T 表示其文本嵌入的流形。 我们区分这两个流形,因为它们之间没有一一对应的关系:一张图像可能包含大量的视觉属性,很难用一个单一的文本句子来全面描述; 相反,一个给定的句子可能描述许多不同的图像。 在 CLIP 训练过程中,所有的嵌入都归一化为一个单位范数,因此只有嵌入的方向包含语义信息,而范数可能会被忽略。 因此,在 CLIP 空间的训练有素的区域中,我们期望 T 和 I 流形上对应于相同语义变化的方向大致共线(即具有较大的余弦相似度),并且在归一化后几乎相同。

  给定一对图像 G(s) 和 G(s+α∆s),我们分别用 i 和 i+∆i 表示它们的 I 嵌入。 因此,CLIP 空间中两幅图像之间的差异由Δi 给出。 给定编码为 Δt 的自然语言指令,并假设 Δt 和 Δi 之间存在共线性,我们可以通过评估每个通道与方向 Δi 的相关性来确定操纵方向 Δs。

  从自然语言到语言∆t:为了减少文本嵌入噪声,Radfordet al。 [34] 利用一种称为提示工程的技术,将几个具有相同含义的句子输入文本编码器,并平均它们的嵌入。 例如,对于 ImageNet 零镜头分类,使用了一组 80 个不同的句子模板,例如“a 的坏照片{}”、“a 的裁剪照片”、“a 的黑白照片” {}”和“a的一幅画{}”。 在推理时,目标类会自动替换到这些模板中,以构建一组具有相似语义的句子,然后对其嵌入进行平均。 与使用单个文本提示相比,此过程将零样本分类准确度提高了 3.5%。

  同样,我们也使用提示工程(使用相同的 ImageNet 提示库)来计算 T 中的稳定方向。具体来说,我们的方法应该提供目标属性的文本描述和相应的中性类。 例如,在处理汽车图像时,目标属性可能被指定为“一辆跑车”,在这种情况下,相应的中性类可能是“一辆汽车”。 然后应用提示工程为目标和中性类生成平均嵌入,并将两个嵌入之间的归一化差异用作目标方向 Δt。

  渠道关联:接下来,我们的目标是构建一个风格空间操作方向 ∆s,它会产生一个变化 ∆i,与目标方向 ∆t 共线。 为此,我们需要评估 S 的每个通道 c 与 CLIP 联合嵌入空间中给定方向 Δi 的相关性。 我们生成一组风格代码s∈S,并通过添加一个负值和一个正值来仅扰动每个风格代码的c通道。 用 ∆ic 表示生成的图像对之间的 CLIP 空间方向,通道 c 与目标操作的相关性被估计为 ∆ic 到 ∆i 的平均投影:

在这里插入图片描述
  在实践中,我们使用 100 个图像对来估计均值。 我们生成的图像对由 G(s±αΔsc) 给出,其中 Δsc 是零向量,除了它的 c 坐标,它被设置为通道的标准偏差。 扰动的幅度设置为α= 5。

  估计了每个通道的相关性 Rc 后,我们忽略 Rc 低于阈值 β 的通道。 该参数可用于控制操作中的解缠程度:使用较高的阈值会导致更多的解缠操作,但同时会降低操作的视觉效果。 由于各种高级属性,例如年龄,涉及几个低级属性(例如,白发、皱纹和肤色)的组合,因此多个通道是相关的,在这种情况下,降低阈值可能更可取, 如图 6 所示。 据我们所知,以这种方式控制解开程度的能力是我们的方法所独有的。
在这里插入图片描述

图 6. 由提示“灰发”驱动的图像处理,用于不同的操作强度和解缠结阈值。 沿着 ∆s 方向移动,会使头发颜色变得更灰,而在 -∆s 方向上移动会产生更深的头发。 随着强度α的增加,效果变得更强。 当解缠结阈值β高时,仅影响头发颜色,而当β降低时,其他相关属性,例如皱纹和脸型也会受到影响。

  总之,给定 CLIP 空间中的目标方向 Δi,我们设置
在这里插入图片描述
  图 7 和图 8 显示了在人脸、汽车和狗的图像上按照如上所述确定的文本驱动操作方向进行的各种编辑。 图 7 中的操作使用在 FFHQ [18] 上预训练的 StyleGAN2 执行。 输入是真实图像,使用 e4e 编码器嵌入 W+ 空间 [46]。 该图展示了对 18 个属性的文本驱动操作,包括复杂的概念,例如面部表情和发型。 Figure8 中的操作使用在 LSUN 汽车 [53](真实图像)上预训练的 StyleGAN2 和在 AFHQ 狗 [5] 上预训练的 StyleGAN2-ada [17] 生成的图像。

在这里插入图片描述

图 7. 沿全局方向驱动操作方向的各种编辑,在名人肖像上展示。 使用在 FFHQ [18] 上预训练的 StyleGAN2 进行编辑。 输入是真实图像,使用 e4e 编码器嵌入 W+空间 [46]。 文本提示中使用的目标属性显示在每列上方。

在这里插入图片描述

图8。沿全局文本驱动操作方向进行的各种编辑。左:在LSUN汽车上使用预先训练过的StyleGAN2[53]。右图:在AFHQ犬身上使用预先训练过的StyleGAN2 ada[17]。文本提示中使用的目标属性显示在每列的上方。

7. 对比与评价

  现在,我们将比较前几节中介绍和分析的三种方法,并将它们与其他方法进行比较。我们处理的所有真实图像都使用e4e编码器反转[46]。

  文本驱动的图像处理方法:我们首先比较图 9 中的几种文本驱动的面部图像处理方法。 我们比较了我们的潜在映射器方法(第 5 节)、我们的全局方向方法(第 6 节)和 TediGAN [51]。 对于 TediGAN,我们使用作者的官方实现,该实现最近已更新为利用 CLIP 进行图像处理,因此与他们论文中介绍的方法有些不同。 我们不包括第 4 节中介绍的优化方法的结果,因为它对超参数的敏感性使其耗时,因此不可扩展。
在这里插入图片描述

图9。我们比较了三种使用StyleGAN和CLIP的方法,它们使用了三种不同的属性。

  我们使用三种属性进行比较,从复杂但具体(例如“特朗普”)、不太复杂和不太具体(例如“莫霍克”)到更简单和更常见(例如“没有皱纹”)。复杂的“特朗普”操作,涉及金发、眯眼、张大嘴巴、有点肿的脸和特朗普的身份等几个属性。虽然全局潜在方向能够捕捉到不是特朗普特有的主要视觉属性,但它无法捕捉到特定的身份。相比之下,潜在映射器更成功。 “莫霍克发型”是一个不太复杂的属性,因为它只涉及头发,并不那么具体。因此,我们的两种方法都能够产生令人满意的操作。全局方向产生的操纵不太明显,因为 CLIP 空间中的方向是平均方向。最后,对于“无皱纹”提示,全局方向成功去除皱纹,同时保持其他属性基本不受影响,而映射器失败。我们将此归因于 W+ 不那么纠结。我们在另一组属性(“奥巴马”、“愤怒”、“胡子”)上观察到了类似的行为。 我们得出结论,对于复杂和特定的属性(尤其是那些涉及身份的属性),映射器能够产生更好的操作。对于更简单和/或更常见的属性,全局方向就足够了,同时提供更多解开的操作。 我们注意到 TediGAN 产生的结果在图 9 所示的所有三种操作中都失败了。

  其他 StyleGAN 操作方法:在图 10 中,我们展示了我们的全局方向方法与几种最先进的 StyleGAN 图像操作方法之间的比较:GANSpace [13]、InterFaceGAN [41] 和 StyleSpace [50]。该比较仅检查所有比较方法能够操作的属性(性别、白发和口红),因此它不包括我们的方法启用的许多新颖操作。由于所有这些都是通用属性,因此我们在此比较中不包括我们的映射器。继吴等人。 [50],选择操作步骤强度,使得它在相应分类器(在 CelebA 上预训练)的 logit 值中引起相同量的变化。

   可以看出,在 GANSpace [13] 中,操纵与肤色和光照纠缠在一起,而在 InterFaceGAN [41] 中,身份可能会发生显着变化(在操纵 Lipstick 时)。我们的操作与 StyleSpace [50] 非常相似,它只更改目标属性,而所有其他属性保持不变。
在这里插入图片描述

图10。与根据预训练属性分类器使用相同操作量的最新方法进行比较。

  在补充材料中,我们还展示了与最先进的非线性方法 StyleFlow [1] 的比较。 尽管 StyleFlow 同时使用多个属性分类器和回归器(来自 Microsoft 人脸 API),但我们的方法产生了类似质量的结果,因此可以操纵有限的属性集。 相比之下,我们的方法不需要额外的监督。

  局限性。我们的方法依赖于预训练的 StyleGAN 生成器和用于联合语言视觉嵌入的 CLIP 模型。 因此,不能期望将图像处理到它们位于预训练生成器域之外的点(或保留在域内,但位于生成器覆盖较少的区域中)。 类似地,映射到图像未充分填充的 CLIP 空间区域的文本提示不能产生忠实反映提示语义的视觉操作。 我们还观察到,很难在视觉上多样化的数据集中进行剧烈的操作。 例如,虽然老虎很容易变成狮子(见图 1),但我们在将老虎变成狼时却不太成功,如补充材料所示。
在这里插入图片描述

使用我们的全局方向有时很难在视觉上多样化的数据集中进行剧烈的操作。 在这里,我们使用在 AFHQ wild [5] 上预训练的 StyleGAN-ada [17],其中包含狼、狮子、老虎和狐狸。 老虎和狮子之间的域差距较小,主要涉及颜色和纹理转换。 然而,老虎和狼之间存在更大的领域差距,这除了颜色和纹理变换之外,还涉及更剧烈的形状变形。 该图表明,我们的全局方向方法在将老虎转变为狮子方面更为成功,但在某些情况下未能将老虎转变为狼。 “+”和“++”分别表示中等和较强的操纵强度。

总结

  我们介绍了三种新颖的图像处理方法,它们结合了StyleGAN强大的生成能力和CLIP非凡的视觉概念编码能力。我们已经证明,这些技术可以实现多种独特的图像处理,其中一些是依靠注释数据的现有方法无法实现的。我们还演示了CLIP提供了细粒度的编辑控件,例如指定所需的发型,而我们的方法能够控制操纵强度和解开程度。总之,我们相信文本驱动操作是一种强大的图像编辑工具,其能力和重要性只会继续增长。

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可执行UML(Executable UML)是一种基于模型驱动架构(Model-Driven Architecture,MDA)的建模方法。MDA是一种软件开发方法论,强调将系统设计和实现的过程建立在模型之上。与传统的编码开发相比,MDA通过使用可执行UML实现了更高层次的自动化。 可执行UML提供了一种更具体和精确的UML语言扩展,可以用于描述系统的行为和交互。这种扩展允许开发人员将UML模型和代码直接关联起来,并通过模型转换和代码生成实现系统的自动生成。通过将模型与代码保持同步,可执行UML提供了一种可追踪性和可验证性的方式,以确保模型和实际代码保持一致。 可执行UML还提供了一个基于模型的执行环境,使开发人员能够在模型级别上进行实时的系统调试和测试。这种模型驱动的调试和测试方法使开发人员能够更早地发现和解决系统中的问题,减少了传统开发方法中的迭代和修复成本。 通过使用可执行UML,开发人员可以更好地理解和控制系统的复杂性。它提供了一个统一的模型化语言,使得不同团队之间的交流更加顺畅。此外,可执行UML还提供了一种将业务流程和系统需求直接转化为可执行代码的方法,从而更加直观地与业务逻辑进行对应和验证。 总而言之,可执行UML作为模型驱动架构的基础,通过提供更具体的模型语言扩展、模型与代码的自动生成以及模型级别的调试和测试环境,提供了一种更高效和可靠的软件开发方法。它使得开发人员能够更好地理解和控制系统的复杂性,并以更精确的方式与业务需求对接。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平什么阿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值