精华内容
参与话题
问答
  • StyleGAN — Official TensorFlow Implementation Picture: These people are not real – they were produced by our generator that allows control over different aspects of the image. This repository ...
  • StyleGAN2 — Official TensorFlow Implementation Analyzing and Improving the Image Quality of StyleGAN Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen, Timo Aila Paper: ...
  • StyleGAN

    千次阅读 2019-06-14 18:46:51
    StyleGAN 一、 StyleGAN解决的问题   我们先来反思一下上一节介绍的ProGAN有什么缺陷,由于ProGAN是逐级直接生成图片,我们没有对其增添控制,我们也就无法获知它在每一级上学到的特征是什么,这就导致了它控制...

    有用的网址:http://www.gwylab.com/download.html

    基于StyleGAN的一个好玩的网站:www.seeprettyface.com
    —————————————————————————————————

    StyleGAN

    一、 StyleGAN解决的问题

      ProGAN有什么缺陷?由于ProGAN是逐级直接生成图片,我们没有对其增添控制,我们也就无法获知它在每一级上学到的特征是什么,这就导致了它控制所生成图像的特定特征的能力非常有限。换句话说,这些特性是互相关联的,因此尝试调整一下输入,即使是一点儿,通常也会同时影响多个特性。
      我们希望有一种更好的模型,能让我们控制住输出的图片是长什么样的,也就是在生成图片过程中每一级的特征,要能够特定决定生成图片某些方面的表象,并且相互间的影响尽可能小。于是,在ProGAN的基础上,StyleGAN作出了进一步的改进与提升。

    二、 StyleGAN模型架构

      StyleGAN首先重点关注了ProGAN的生成器网络,它发现,渐进层的一个潜在的好处是,如果使用得当,它们能够控制图像的不同视觉特征。层和分辨率越低,它所影响的特征就越粗糙。简要将这些特征分为三种类型:
      1、粗糙的——分辨率不超过8^2,影响姿势、一般发型、面部形状等;
      2、中等的——分辨率为16^2至32^2,影响更精细的面部特征、发型、眼睛的睁开或是闭合等;
      3、高质的——分辨率为64^2到1024^2,影响颜色(眼睛、头发和皮肤)和微观特征;
      然后,StyleGAN就在ProGAN的生成器的基础上增添了很多附加模块。

    1. 映射网络

              在这里插入图片描述
      映射网络的目标是将输入向量编码为中间向量,中间向量的不同元素控制不同的视觉特征。这是一个非常重要的过程,因为使用输入向量来控制视觉特征的能力是非常有限的,因为它必须遵循训练数据的概率密度。例如,如果黑头发的人的图像在数据集中更常见,那么更多的输入值将会被映射到该特征上。因此,该模型无法将部分输入(向量中的元素)映射到特征上,这一现象被称为特征纠缠。然而,通过使用另一个神经网络,该模型可以生成一个不必遵循训练数据分布的向量,并且可以减少特征之间的相关性。
      映射网络由8个全连接层组成,它的输出ⱳ与输入层(512×1)的大小相同。

    2. 样式模块(AdaIN)

              在这里插入图片描述
      AdaIN(自适应实例标准化)模块将映射网络创建的编码信息 ⱳ 传输到生成的图像中,并定义该级别中特征的可视化表达式:
      1、卷积层输出的每个通道首先进行标准化,以确保步骤3的缩放和切换具有预期的效果;
      2、中间向量ⱳ使用另一个全连接的网络层(标记为A)转换为每个通道的比例和偏差;
      3、比例和偏差的向量切换卷积输出的每个通道,从而定义卷积中每个卷积核的重要性。这个调优操作将信息从ⱳ转换为可视的表达方式;
      StyleGAN使用Adaptive Instance Normalization的目的很容易理解,为了让w’只影响图片的全局信息(因为Adain表达式中y对于标准化后的x采取处理),从而保留生成人脸的关键信息由上采样层和卷积层来决定。

    3. 删除传统输入

              在这里插入图片描述
      大多数的模型以及其中的ProGAN使用随机输入来创建生成器的初始图像(即4×4级别的输入)。StyleGAN团队发现图像特征是由ⱳ和AdaIN控制的,因此可以忽略初始输入,并用常量值替代。虽然本文没有解释它为什么能提高性能,但一个保险的假设是它减少了特征纠缠,对于网络在只使用ⱳ而不依赖于纠缠输入向量的情况下更容易学习。

    4. 随机变化

              在这里插入图片描述

      人们的脸上有许多小的特征,可以看作是随机的,例如:雀斑、发髻线的准确位置、皱纹、使图像更逼真的特征以及各种增加输出的变化。将这些小特征插入GAN图像的常用方法是在输入向量中添加随机噪声。然而,在许多情况下,由于上述特征的纠缠现象,控制噪声的影响是很复杂的,从而会导致图像的其它特征受到影响。
      StyleGAN中的噪声以类似于AdaIN机制的方式添加,在AdaIN模块之前向每个通道添加一个缩放过的噪声,并稍微改变其操作的分辨率级别特征的视觉表达方式。

    5. 样式混合

              在这里插入图片描述
      StyleGAN生成器在合成网络的每个级别中使用了中间向量,这有可能导致网络学习到这些级别是相关的。为了降低相关性,模型随机选择两个输入向量,并为它们生成了中间向量ⱳ。然后,它用第一个输入向量来训练一些网络级别,然后(在一个随机点中)切换到另一个输入向量来训练其余的级别。随机的切换确保了网络不会学习并依赖于一个合成网络级别之间的相关性。
      虽然它并不会提高所有数据集上的模型性能,但是这个概念有一个非常有趣的副作用 — 它能够以一种连贯的方式来组合多个图像(视频请查看原文)。该模型生成了两个图像A和B,然后通过从A中提取低级别的特征并从B中提取其余特征再组合这两个图像。

    6. 在W中的截取技巧

              在这里插入图片描述

      在生成模型中的一个挑战,是处理在训练数据中表现不佳的地方。这导致了生成器无法学习和创建与它们类似的图像(相反,它会创建效果不好的图像)。为了避免生成较差的图像,StyleGAN截断了中间向量ⱳ,迫使它保持接近“平均”的中间向量(上图左4)。
      对模型进行训练之后,通过选择多个随机的输入,用映射网络生成它们的中间向量,并计算这些向量的平均值,从而生成“平均”的平均值ⱳ。当生成新的图像时,不用直接使用映射网络的输出,而是将值ⱳ转换为ⱳ_new=ⱳ_avg+? (ⱳ -ⱳ_avg),其中?的值定义了图像与“平均”图像的差异量(以及输出的多样性)。有趣的是,在仿射转换块之前,通过对每个级别使用不同的?,模型可以控制每个特征集与平均值的差异量。

    7. 微调超参数

      StyleGAN的另外一个改进措施是更新几个网络超参数,例如训练持续时间和损失函数,并将离得最近的放大或缩小尺度替换为双线性采样。

      综上,加入了一系列附加模块后得到的StyleGAN最终网络模型结构图如下:
              在这里插入图片描述
      上述就是StyleGAN的完整模型的介绍了。不得不说,不论是在理论方法上,还是工程实践上,StyleGAN都是一篇具有突破性的论文,它不仅可以生成高质量的和逼真的图像,而且还可以对生成的图像进行较好的控制和理解。

    转载至:https://blog.csdn.net/a312863063/article/details/88795147
    展开全文
  • style Gan

    2020-04-30 14:36:46
    https://medium.com/@jonathan_hui/gan-stylegan-stylegan2-479bdf256299
    展开全文
  • 迟到的推荐~两个用StyleGAN做应用的论文: 1.StyleGAN-Embedder:   这篇paper主要关于如何用StyleGAN做图像编码,是目前对我帮助非常深的一篇论文。     Arxiv地址:https://arxiv.org/pdf/1904.03189.pdf  ...

    译文仅供参考!

    迟到的推荐~两个用StyleGAN做应用的论文:

    1.StyleGAN-Embedder:
      这篇paper主要关于如何用StyleGAN做图像编码,是目前对我帮助非常深的一篇论文。

      Arxiv地址:https://arxiv.org/pdf/1904.03189.pdf
      译文地址:http://www.gwylab.com/pdf/stylegan-embedder_chs.pdf

    2.StyleGAN-Wearing:
      这篇paper主要关于如何用StyleGAN做换装应用,认为有较大的应用前景。

      Arxiv地址:https://arxiv.org/pdf/1908.08847.pdf
      译文地址:http://www.gwylab.com/pdf/stylegan-wearing_chs.pdf

    StyleGAN的可探索范围还有不少,应用潜力也挺大,欢迎更多人加入研究~
    好玩的基于StyleGAN的网址:http://www.seeprettyface.com/

    展开全文
  • 如何将图像嵌入到StyleGAN的潜在空间(Image2StyleGANStyleGAN Encoder) Image2StyleGAN: How to Embed Images Into the StyleGAN Latent Space? 原作者: Rameen Abdal、Yipeng Qin、Peter Wonka 翻译:邵...

    如何将图像嵌入到StyleGAN的潜在空间(Image2StyleGAN、StyleGAN Encoder)

    Image2StyleGAN: How to Embed Images Into the StyleGAN Latent Space?
    原文地址:https://arxiv.org/abs/1904.03189
    原作者: Rameen Abdal、Yipeng
    Qin、Peter Wonka

    翻译:flyfish

    NVIDIA的StyleGAN借鉴了风格迁移的模型,所以叫 Style-Based Generator ,所以论文的名字叫
    《A Style-Based Generator Architecture for Generative Adversarial Networks》

    et al.是拉丁文简写。其一为et alibi (以及其他地方) ,相当于and elsewhere;其二为et alii (以及其他人)
    ,相当于and others。 e. g.是拉丁文exempli gratia的缩写,意思是“举个例子,比如”,等同于“for
    example”,目的是用例子来说明前面的观点,用法与for example相同。

    摘要(Abstract)
    我们提出了一种有效的算法,将给定的图像嵌入到StyleGAN的潜在空间中。 这种嵌入使图像语义编辑操作可以应用于现有照片。 以在FFHQ数据集上受过训练的StyleGAN为例,我们显示了图像变形,风格迁移和表达转移的结果。 研究嵌入算法的结果可为StyleGAN潜在空间的结构提供有价值的见解。 我们提出了一组实验来测试哪些类别的图像可以嵌入,如何嵌入图像,哪些潜在空间适合嵌入,以及嵌入是否在语义上有意义。

    1、说明(Introduction)
    我们的贡献包括:

    1)一种有效的嵌入算法,可以将给定图像映射到预训练的StyleGAN的扩展潜空间W+W+中。

    2)我们研究了多个问题,以深入了解StyleGAN潜在空间的结构,例如:可以嵌入哪种类型的图像? 可以嵌入哪种类型的面部? 可以使用哪些潜在空间进行嵌入?

    3)我们建议对向量使用三个基本运算来研究嵌入的质量。 结果我们可以更好地了解潜在空间以及如何嵌入不同类别的图像。 作为一个产品我们在多种面部图像编辑应用程序上获得了出色的结果,包括变形,风格迁移和表情迁移。

    2、相关工作(Related Work)
    1)高质量GAN(High-quality GANs)
    从Goodfellow等人的开创性工作开始。 2014年,整个计算机视觉社区见证了GAN在过去几年中的快速改进。 对于图像生成任务,DCGAN是第一个里程碑,奠定了GAN体系结构作为全卷积神经网络的基础。

    groundbreaking 的同义词breaking new ground; innovative; pioneering.
    开辟了新的领域,开辟新天地

    从那时起,为改进GAN的性能从不同方面已经进行了各种努力,例如 损失函数,正则化或规范化和架构。 但是,由于计算能力的局限性和高质量训练数据的不足,这些工作仅使用低分辨率和质量较差的数据集用于分类和识别任务进行测试

    labor shortage 劳动力短缺 ; 用工荒 ; 劳力短缺 ; 民工荒
    energy shortage [能源] 能源短缺 ; 能量不足 ; 能源紧张 ; 能源匮乏
    oil shortage 石油不足 ; 缺油 ; 目前石油短缺 ; 过载

    为解决这个问题Karras等收集了第一个高质量的人脸数据集CelebA-HQ并提出了一种训练GAN来解决高分辨率图像生成任务的渐进策略。他们的ProGAN是第一个可以以1024×1024的高分辨率生成逼真的人脸的GAN。从复杂的数据集(例如ImageNet)生成高质量图像仍然是一个挑战。为此,Brock等提出BigGAN并认为该训练的GAN极大地受益于大的batch size。他们的BigGAN可以生成涵盖不同类别的逼真样本和平滑插值。最近,Karras等收集了更多样化和更高质量的人脸数据集FFHQ,并提出了一种新的生成器体系结构,该体系结构受到神经风格迁移思想的启发,从而进一步提高了GAN在人脸生成任务上的性能。然而,由于神经网络的缺乏可解释性而对图像修改的控制仍然是一个未解决的问题。在本文中,我们通过将用户指定的图像嵌入到GAN潜在空间中来解决可解释性问题,这将产生许多潜在的应用。

    argued 争论,表明
    dramatically 显着地
    spanning 跨度
    tackle:做出坚定的努力来应对(问题或困难的任务)make determined efforts to deal with (a
    problem or difficult task).

    2)潜在空间嵌入( Latent Space Embedding)
    通常,有两种现有方法可将实例从图像空间嵌入到潜在空间:
    i)学习将给定图像映射到潜在空间的编码器(例如Variational Auto-Encoder);
    ii)选择一个随机的初始潜在代码,并使用梯度下降对其进行优化。
    在它们之间,第一种方法通过执行通过编码器神经网络的前向传播,提供了图像嵌入的快速解决方案。 但是,通常存在超出训练数据集的问题。 在本文中,我们决定在第二个基础上
    作为更通用,更稳定的解决方案。 作为并发开发的工作,Github存储库stylegan-encoder还证明了基于优化的方法可以带来非常高视觉质量的嵌入。

    在它们之间,第一种方法通过执行编码器神经网络的前向传递,提供了图像嵌入的快速解决方案。 但是,通常存在超出训练数据集的问题。 在本文中,我们决定以第二种方法为基础,以提供更通用,更稳定的解决方案。 作为并发开发的工作,Github上的stylegan-encoder还证明了基于优化的方法可以嵌入非常高的视觉质量。

    3)感知损失和风格迁移 (Perceptual Loss and Style Transfer )

    传统上,在像素空间中测量两个图像之间的低级相似度使用的是L1 / L2损失函数。 在过去的几年中,受复杂图像分类成功的启发,Gatys等人观察到,VGG图像分类模型的学习滤波器是出色的通用特征提取器,并建议使用提取特征的协方差统计来感知图像之间的高级相似性,然后将其形式化为 知觉损失(Perceptual Loss )

    为了证明他们强大的方法,他们在风格迁移方面取得了令人鼓舞的结果。具体地说,他们认为VGG神经网络的不同层以不同的比例提取了图像特征,可以分为内容和样式。为加速初始算法, Johnson等提出训练神经网络来解决的优化问题,可以实时的将给定图像的风格迁移到另一张图像中。他们方法的唯一局限性是他们需要为不同样式的图像训练单独的神经网络。 最后,Huang和Belongie 通过自适应实例规范化( adaptive instance normalization)解决了这个问题。 结果是他们可以实时迁移任意风格。

    3、什么样的图像嵌入到StyleGAN潜在空间?(What images can be embedded into the StyleGAN latent space?)

    trivial:几乎没有价值或重要性 of little value or importance.

    我们着手研究是否可以将图像嵌入StyleGAN潜在空间的问题。 这个问题并非微不足道,因为我们最初对面部和其他GAN进行嵌入的实验结果导致不再能够识别为同一个人的面部。 由于FFHQ数据集的改进的可变性和StyleGAN体系结构的卓越质量,人们重新希望将现有图像嵌入潜在空间成为可能。

    3.1、 嵌入各种图像类别的结果(Embedding Results for Various Image Classes)

    为了测试我们的方法,我们收集了一个小规模的数据集,其中包含25种不同的图像,涵盖5个类别(即面部,猫,狗,汽车和绘画)。 数据集的详细信息显示在补充材料中。 我们使用StyleGAN提供的代码对面部图像进行预处理。 该预处理包括注册到规范的面部位置(canonical face position)。

    为了更好地了解潜在空间的结构和属性,研究大量图像类别的嵌入是有益的。 我们选择猫,狗和绘画的面部,因为它们与人脸具有相同的整体结构,但绘画风格却截然不同。 选择汽车是因为它们与面部没有结构相似性。

    depict描述;描画

    图1显示了针对收集的测试数据集中的每个图像类别的一个示例的嵌入结果。 可以看出,嵌入的奥巴马面孔具有很高的感知质量,并且忠实地再现了输入。 但是,应注意的是,嵌入的面部略微光滑,没有细微的细节。

    在这里插入图片描述
    图1:
    第一行:输入图像。
    第二行:将图像嵌入到StyleGan潜在空间的结果。

    slightly adv. 些微地,轻微地;纤细地,瘦小的 faithfully adv. 忠实地;如实地;诚心诚意地;深信着地

    有趣的是,超越面部,我们发现尽管StyleGAN生成器是在人脸数据集上进行训练的,但嵌入算法仍能够远远超出人脸。 如图1所示,尽管比人脸稍微差一点,但我们可以获得合理且相对高质量的猫,狗,甚至是绘画和汽车的嵌入物。 这揭示了算法的有效嵌入能力以及生成器学习到的滤波器的一般性。

    generality 一般性、概论、普遍性、大部分;

    另一个有趣的问题是预训练的潜在空间的质量如何影响嵌入的。 为了进行这些测试,我们还使用了StyleGAN训练汽车,猫等。如补充材料中所示,这些结果的质量明显较低。

    conduct
    v. 组织,实施,进行;指挥(音乐);带领,引导;举止,表现;传导(热或电)
    n. 行为举止;管理(方式),实施(办法);引导

    3.2、面部图像嵌入的鲁棒性如何?(How Robust is the Embedding of Face Images?)

    1)仿射变换(Affine Transformation )
    如图2和表1所示,StyleGAN嵌入的性能对仿射变换(平移,调整大小和旋转)非常敏感。
    其中,迁移似乎性能最差,因为它可能无法产生有效的面部嵌入。 对于调整大小和旋转,结果是有效的面部。但是它们模糊不清和丢失了许多细节,这些细节仍然比常规嵌入更糟。 从这些观察中,我们认为GAN的泛化能力对仿射变换很敏感,这意味着学习到的表示在一定程度上仍取决于规模和位置。

    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    图2:
    第一行:输入图像。
    第二行:嵌入的结果。
    (a)标准嵌入结果。
    (b)向右平移140像素。
    ©向左平移160像素。
    (d)缩小2倍。
    (e)放大2倍。
    (f)90◦旋转。
    (g)180◦旋转。

    blurry 模糊的

    2)嵌入缺陷图像(Embedding Defective Images)

    如图3所示,
    StyleGAN嵌入的性能对于图像缺陷非常强大。 可以观察到,不同面部特征的嵌入彼此独立。 例如,移开鼻子对眼睛和嘴巴的嵌入没有明显影响。 一方面,这种现象对于一般的图像编辑应用程序是有益的。 另一方面,它表明潜在空间( latent space)不会迫使嵌入的图像成为完整的面部,即它不会修补丢失的信息。
    在这里插入图片描述在这里插入图片描述
    图3:
    有缺陷的图像嵌入的压力测试结果。
    第一行:输入图像。
    第二行:嵌入的结果。

    inpaint 修补 (某个去除水印软件的名字) defect n. 缺点,缺陷;不足之处 vi. 变节;叛变 defective
    adj. 有缺陷的;不完美的 n. 有缺陷的人;不完全变化词

    3.3、选择哪个潜在空间?(Which Latent Space to Choose?)

    在StyleGan中有多种潜在空间可以用来被嵌入,两个明显的候选是 初始化潜在空间ZZ(the initial latent space Z)和中间潜在空间WW(the intermediate latent space W)
    通过将512维向量zZz\in Z经过完全连接的神经网络来获得512维向量wWw \in W
    我们工作的一个重要见解是,不可能容易地直接将其嵌入到WWZZ中。

    因此,我们建议将其嵌入到扩展的潜在空间W+W +中。 W+W +是18个不同的512维ww向量的级联,每个StyleGAN体系结构的一层都可以通过AdaIn接收输入。 如图5(c)(d)所示,直接嵌入W不会产生合理的结果。 另一个有趣的问题是,学习到的网络权重对于结果有多重要。

    我们在图5(b)(e)中回答了这个问题,该图显示嵌入网络的过程,该网络可以简单地用随机权重初始化。
    在这里插入图片描述在这里插入图片描述
    图5:
    (a)原始图像。将结果嵌入到原始空间WW中:
    (b)在网络层中使用随机权重;
    © 使用W\overline{\mathbf{W}}初始化;
    (d)使用随机初始化。将结果嵌入到W+W+空间中:
    (e)在网络层中使用随机权重;
    (f)使用W\overline{\mathbf{W}}初始化;
    (g)使用随机初始化。

    4、嵌入的意义何在?(How Meaningful is the Embedding?)

    我们提出了三个测试来评估嵌入是否在语义上有意义。 这些测试中的每一个都可以通过对向量w i的简单潜在代码操纵来进行,并且这些测试对应于计算机视觉和计算机图形学中的语义图像编辑应用程序:变形,表达传递和风格迁移。 如果最终的操作产生了高质量的图像,我们认为测试成功。

    4.1、变形(Morphing)
    图像变形是计算机图形学和计算机视觉领域的一个长期研究课题
    给定两个具有各自潜在向量(latent vector)w1w_1w2w_2的嵌入图像
    通过线性插值计算变形(morphing)w=λw1+(1λ)w2,λ(0,1)w=\lambda w_{1}+(1-\lambda) w_{2}, \lambda \in(0,1)
    以及使用新代码w生成随后的图像。 如图4所示,我们的方法在人脸图像(行1,2,3)之间生成高质量的变形,但在类别内(行4)和类间(行5)变形中的非人脸图像上均失败

    在这里插入图片描述在这里插入图片描述
    图4:
    在两个嵌入图像(最左边和最右边的)之间变形。

    有趣的是,可以观察到在类间变形的中间图像中存在人脸轮廓,这表明StyleGAN的潜在空间结构专用于人脸。 因此,我们推测非面部图像实际上是通过以下方式嵌入的。 最初的图层会创建一个类似人脸的结构,但随后的图层会在此结构上绘画,因此不再可识别。

    虽然对变形本身的广泛研究超出了本文的范围,但我们相信面部变形的结果是很好的,可能会优于目前的技术水平。我们把这次调查留到以后的工作中去做。

    4.2、风格迁移(Style Transfer)

    给定两个潜码w_1和w_2,风格迁移通过交叉操作进行计算 ,我们展示了嵌入式风格化图像与其他人脸图像之间的风格转换结果(图6),以及来自不同类别的嵌入式图像之间的风格转换结果(图8)。
    在这里插入图片描述在这里插入图片描述

    图6:第一列:风格图像
    第二列:使用来自VGG-16conv4_2层的风格损失(style loss)的嵌入风格化图像;
    第三到第六列:通过用嵌入风格图像替换最后9层基础图像的潜码(latent code)来进行风格迁移。
    在这里插入图片描述在这里插入图片描述
    图8:嵌入风格图像(第一列)和嵌入内容图像(第一行)之间的风格迁移。

    更具体地说,在图8中,我们保留前9层的嵌入内容图像的潜代码(对应于空间分辨率426424^{2}-64^{2}),并用后9层的样式图像的潜代码(对应于空间分辨率42102424^{2}-1024^{2})覆盖潜代码。
    我们的方法能够迁移低层特征(如颜色和纹理),但不能忠实地保持非人脸图像(第二列图8)的内容结构,尤其是绘画。这一现象表明,StyleGAN的泛化和表达能力更可能存在与较高空间分辨率相对应的风格层中

    4.3、表情迁移与人脸再现(Expression Transfer and Face Reenactment)

    (Historical reenactment) 说明从英文翻译而来-历史重现是一种教育或娱乐活动Historical
    reenactment (or re-enactment)

    给定三个输入向量w1w2w3w_1、w_2、w_3,表达式转移被计算为w=w1+λ(w3w2)w=w_{1}+\lambda\left(w_{3}-w_{2}\right),其中
    w1w_1是目标图像的潜代码,
    w2w_2对应于源图像的中性表达,
    w3w_3对应于更独特的表达式。
    例如,w3w_3可以对应于同一个人的笑脸,w2w_2可以对应于一张没有表情的脸。

    neutral-expression的意思 A blank expression is a facial expression
    characterized by neutral positioning of the facial features.

    更详细的说明

    为了消除噪声(例如背景噪声),我们在差分潜码通道(the channels of difference latent code)的L2L2范数上启发式地设置了一个下限阈值,在该阈值以下,通道被零向量替代。 对于上述实验,阈值的选定值为1。我们对生成的向量进行归一化,以控制特定方向上的表情强度。 这样的码(code)相对独立于源面部(source face),可用于迁移表情(图7)。 我们相信这些表达转移结果也具有很高的质量。 补充材料和随附的视频中提供了其他结果。

    在这里插入图片描述在这里插入图片描述
    图7:
    表情迁移的结果。第一行显示IMPA-FACES3D[24]数据集中的参考图像。
    在在各行之后,每个示例中的中间图像是嵌入的图像,其表情逐渐迁移。
    分别指向引用表情(在右侧)和相反方向(在左侧)。更多结果包含在辅助材料

    eliminate v. 消除 / 根除 / 不加考虑 / 杀死

    heuristic adj. 启发的 / 启发式的 / 探索的 / 试验性的 n. 启发式步骤 / 探索性步骤 / 启发式教育法

    resultant n. 合成速率 / 合成矢量 / 结果 / <化学>生成物 adj. 因而发生的 / 结果的 / 合成的

    supplementary adj. 补充的 n. 增补物 / 补充者 / <英>补充提问

    accompany v. 陪伴 / 为…伴奏 / 兼带 / 伴奏

    resultant的意思

    In mathematics, the resultant of two polynomials is a polynomial expression of their coefficients, > which is equal to zero if and only if the polynomials have a common root (possibly in a field extension),or, equivalently, a common factor (over their field of coefficients). In some older texts, >> the resultant is also called eliminant.

    5、嵌入算法 (Embedding Algorithm)

    我们的方法遵循一个简单的优化框架,将给定的图像嵌入到预先训练的生成器的流形(manifold)上。从合适的初始化w开始,我们搜索一个最优的向量ww^{*},该向量最小化度量给定图像和由ww^{*}生成的图像之间的相似度的损失函数,算法1给出了该方法的伪代码。这项工作的一个有趣的方面是,并不是所有的设计选择都会带来好的结果,而使用设计选择进行试验可以进一步深入了解嵌入过程。
    在这里插入图片描述

    straightforward adj. 简单的 / 易做的 / 易懂的 / 坦率的

    manifold adj. <正式><文>多种多样的 / 多方面的 n. 歧管 / 多支管 / 集合管 / 复印本

    insight n. 洞察力 / 洞悉 / <精神病学>顿悟 / 自知力

    converged 收敛

    converge v. 从不同方向聚集 / 使汇聚 / 趋同 / <数>收敛

    percept n. <哲>知觉对象 / 认知 / 感知 / 认识

    5.1、初始化(Initialization)

    我们研究了初始化的两种设计选择,第一种选择是随机初始化。在这种情况下,独立于均匀分布U[1,1]\mathcal{U}[-1,1]对每个变量进行采样。第二种选择的动机是观察到到平均潜伏向量w̄的距离可以用来识别低质量的人脸。因此,我们建议使用w̄作为初始化,并期望优化收敛到更接近ww∗的向量W\overline{\mathbf{W}}

    justifiable adj. 情有可原的 / 无可非议的 / 能辩护的 / 可辩解的

    experimenting adj. 乐于尝试的 v. [试验] 实验;尝试(experiment的ing形式)

    independently adv. 单独地 / 自立地 / 独立地 / 客观公正地

    为了评估这两种设计方案,我们比较了优化后的潜码ww^{*}W\overline{\mathbf{W}}之间的损失值和距离ww\left\|w^{*}-\overline{\mathbf{w}}\right\|
    如表2所示,初始化用于人脸图像嵌入的w=ww=\overline{\mathbf{w}}不仅使优化后的ww^{*}更接近W\overline{\mathbf{W}},而且实现了低得多的损失值。
    然而,对于其他类别的图像(例如狗),随机初始化被证明是更好的选择。
    直观地,该现象表明该分布只有一簇面部( one cluster of faces),其他实例(例如,狗、猫)是围绕簇的散乱的点,没有明显的模式。质量结果如图5(F)(G)所示。

    人脸聚类(face cluster)

    achieve v. 达到 / 取得 / 实现 / 成功

    在这里插入图片描述
    5.2、损失函数(Loss Function)
    为了在优化期间测量输入图像和嵌入图像之间的相似性,我们采用了损失函数是VGG16VGG-16感知损失(perceptual loss )和逐像素(pixel-wise )MSE损失的加权组合
    w=minwLpercept(G(w),I)+λmseNG(w)I22 w^{*}=\min _{w} L_{p e r c e p t}(G(w), I)+\frac{\lambda_{m s e}}{N}\|G(w)-I\|_{2}^{2}

    IRn×n×3I \in \mathbb{R}^{n \times n \times 3} 是输入图像
    G()G(·) 生成器的预训练模型
    NN是图像中标量的数量(i.e. N=n×n×3)N=n \times n \times 3),
    ww是要优化的潜在代码
    λmse=1\lambda_{m s e}=1是为了获得良好的性能而根据经验得出的。

    对于等式1中的感知损失项Lpercept()L_{\text {percept}}(\cdot),我们使用:
    Lpercept(I1,I2)=j=14λjNjFj(I1)Fj(I2)22 L_{\text {percept}}\left(I_{1}, I_{2}\right)=\sum_{j=1}^{4} \frac{\lambda_{j}}{N_{j}}\left\|F_{j}\left(I_{1}\right)-F_{j}\left(I_{2}\right)\right\|_{2}^{2}

    I1,I2Rn×n×3I_{1}, I_{2} \in \mathbb{R}^{n \times n \times 3} 是输入图像
    其中FjF_jj 表示VGG16中的conv1_1, conv1_2, conv3_2, conv4_2各层输出的feature map
    NjN_j是第jj层输出中的标量数,λj=1\lambda_{j}=1对于所有jj都是根据经验获得的,以获得良好的性能。

    empirically adv. 以经验为依据地

    empiricism n. <哲>经验主义 / 经验论

    我们对感知损失以及逐像素的MSE损失的选择来自以下事实:仅逐像素的MSE损失无法找到高质量的嵌入。 因此,感知损失充当某种正则化器,以将优化引导到潜在空间的正确区域。

    我们进行了消融研究,以证明我们在公式1中选择的损失函数是合理的。如图9所示,单独使用像素级MSE损失项(列2)可以很好地嵌入常规颜色,但不能捕捉非面部图像的特征。此外,它还具有平滑效果,即使对于人脸也不会保留细节。

    我们进行消融研究以证明我们在等式1中选择损失函数的合理性。 如图9所示,仅使用像素级MSE损失项(第2列)可以很好地嵌入一般颜色,但无法捕捉非面部图像的特征。 此外,它具有平滑效果,即使人脸也无法保留细节。
    在这里插入图片描述

    图9:损失函数的算法选择理由。每行分别显示测试数据集中五个不同类的图像结果
    从左到右,每列显示:
    (1)原始图像;
    (2)仅pixel-wise MSE损失;
    (3)仅VGG-16 conv3_2 层上的感知损失;
    (4)pixel-wise MSE损失和VGG-16 conv3_2。
    (5)仅感知损失(公式2);
    (6)我们的损失函数(公式1)。
    更多结果包含在补充材料中。

    ablation study(消融研究、消融学习、消融实验) quora的解释

    ablation study知乎上通俗易懂的解释

    为了提升baseline的性能,给它加了两个模块A,B 为了验证A、B两个模块是不是真的都有用,你需要做ablation study。
    实验1:在baseline的基础上加上模块A,看效果。 实验2:在baseline的基础上加上模块B,看效果。
    实验3:在baseline的基础上同时加上模块AB,看效果。 然后结果可能是,实验1和实验2的结果都不如实验3,那么说明AB都是有用的;
    然而也有可能你会发现实验1的结果和实验3一样,甚至更好。这就说明你的想法是有问题的,模块B其实并没有起到作用,提升只来自于模块A。

    注解:

    相当于遵守奥卡姆剃刀原则,如无必要,勿增实体即简单有效原理。切勿浪费较多东西去做,用较少的东西,同样可以做好的事情。
    简单和复杂的方法都能达到同样的效果,选择简单的方法。

    有趣的是,由于在像素空间工作的均方误差损失忽略了特征空间的差异,其在非人脸图像(如汽车和油画)上的嵌入结果倾向于预先训练的StyleGAN的平均人脸。
    这个问题通过测量特征空间中的图像相似性的感知损失(列3,5)来解决。由于我们的嵌入任务要求嵌入的图像在所有比例下都接近输入,因此我们发现匹配VGG-16网络多层上的特征(第5列)比只使用单层(第3列)效果更好。这进一步激励我们将像素方向的MSE损失与感知损失相结合(列4、6),因为像素方向的MSE损失可以被视为像素尺度上的最低水平的感知损失。图9的第6列显示了我们最终选择的嵌入结果(像素MSE+多层感知损失),它在不同的算法选择中实现了最佳性能。

    5.3、其他参数(Other Parameters)
    我们使用学习率为0.01的Adam优化器,
    在我们的所有实验中,β1=0.9,β2=0.999,\beta_{1}=0.9, \beta_{2}=0.999, and ϵ=1e8\epsilon=1 e^{-8}
    艾米斯。我们使用5000步梯度下降阶梯来优化-。
    在32 GB NVIDIA Titan V100 GPU上每张图像所需时间不到7分钟
    为了证明我们选择的5000步优化是合理的,我们调研了损失函数作为迭代次数的函数的变化。如图10所示,在1000步优化左右人脸图像的损失值下降最快,并且收敛。猫、狗和汽车图像在3000步优化左右收敛较慢;而绘画曲线最慢,在5000步优化左右收敛。在所有的实验中我们选择优化了5000步的损失函数。
    在这里插入图片描述
    迭代嵌入(Iterative Embedding)
    我们测试了该方法对迭代嵌入的鲁棒性,即我们迭代地将嵌入结果作为新的输入图像,然后再次进行嵌入。重复此过程七次。如图11所示,虽然保证了输入图像在第一次嵌入后存在于模型分布中,但随着迭代嵌入次数的增加,本文方法的性能逐渐退化(丢失更多细节)。出现这种现象的原因可能是所采用的优化方法在局部最优点附近收敛速度慢。对于人脸以外的嵌入,随机初始潜码也可能是退化的一个因素。总之,这些观察结果表明,尽管“完美”嵌入很难达到,但我们的嵌入方法可以很容易地在模型分布上达到合理的“良好”嵌入。
    在这里插入图片描述
    6、结论(Conclusion)
    我们提出了一种有效的算法将给定的图像嵌入到StyleGAN的潜在空间中。该算法支持语义图像编辑操作(semantic image editing operation)如图像变形、风格迁移和表情迁移。我们还利用该算法对StyleGan潜在空间进行了多方面的研究。我们提出了实验来分析什么类型的图像可以嵌入,它们是如何嵌入的,以及嵌入的意义有多大。我们工作的重要结论是在扩展的潜在空间W+W+中嵌入效果最好,并且任何类型的图像都可以嵌入。然而,只有面的嵌入在语义上是有意义的。
    我们的框架仍然有几个局限性。首先,我们继承预先训练的StyleGan中存在的图像伪影。
    我们在补充资料中进行了说明。其次,优化需要几分钟时间,对于交互式编辑来说,可以在一秒钟内工作的嵌入算法会更有吸引力。

    注解:

    图像伪影(image artifact )图像就像有一滴水的效果,该bug在StyleGan2中修复。

    在未来的工作中,我们希望扩展我们的框架以处理静态图像之外的视频。 此外,我们想探索在三维数据(例如点云或网格)上训练的GAN中的嵌入。

    artifact n. 人工制品 / 手工艺品

    展开全文
  • StyleGAN代码学习】StyleGAN模型架构

    千次阅读 多人点赞 2019-12-10 19:19:20
    完整StyleGAN笔记:http://www.gwylab.com/pdf/Note_StyleGAN.pdf 基于StyleGAN的一个好玩的网站:www.seeprettyface.com —————————————————————————————————    第二章 Style...
  • StyleGAN support

    2020-11-26 16:27:41
    <div><p>Is there an estimate for when StyleGAN will be added?</p><p>该提问来源于开源项目:facebookresearch/pytorch_GAN_zoo</p></div>
  • NVIDIA 实验室在 styleGAN1 之后所做了改进,论文标题: Analyzing and Improving the Image Quality of StyleGAN (分析和改善StyleGAN的图像质量),本文是论文的翻译,因为作者本人水平有限,部分地方翻译可能有...
  • The style-based GAN architecture (StyleGAN) yields state-of-the-art results in data-driven unconditional generative image modeling. We expose and analyze several of its characteristic artifacts, and...
  • 完整StyleGAN笔记:http://www.gwylab.com/pdf/Note_StyleGAN.pdf 基于StyleGAN的一个好玩的网站:www.seeprettyface.com —————————————————————————————————    第二章 Style...
  • StyleGAN2 解释

    2020-10-21 15:10:39
    的说法, 此博客讨论的是StyleGAN2的诸如weight demodulation, path length regularization和去掉progressive growing等信息。虽然我去年底自己复现过StyleGAN2的pytorch版, 但对这些内容也有些忘记了,借此机会复习...
  • 还记得我们曾经使用stylegan-encoder寻找图片潜码来控制图片的生成. 到了StyleGAN2后,官方的代码自带了个 run_projector.py 来将图片投影到对应的潜码. 但是使用后发现其生成速度慢(所需迭代数高),生成的相似度不高,...
  • 这篇论文主要从结构设计和训练方式上进行了改变,从而消除styleGAN中出现的artifacts。本文针对的artifacts主要两类:1)成水滴状的/blob-like artifacts:主要与结构设计有关,因此本文更改了normalize;2)与...
  • 在上一篇文章里,我们下载了StyleGAN Encoder的源代码和相关资源,可以实现对真实人脸特征码的提取,内容请参考: https://blog.csdn.net/weixin_41943311/article/details/103030194 那么,针对我们感兴趣的话题...
  • StyleGAN2具有非常强的学习能力,除了可以用来生成人脸之外,官网还提供了其他一些模型,包括:小汽车、教堂、猫和马,已经训练好的模型可以到官网上下载,官网地址是:https://github.com/NVlabs/stylegan2 ...
  • AI StyleGAN

    2019-05-20 10:30:00
    StyleGAN 参考链接 https://arxiv.org/pdf/1812.04948.pdf https://github.com/NVlabs/stylegan 转载于:https://www.cnblogs.com/yangwenhuan/p/10892691.html
  • StyleGAN2

    2020-06-05 08:00:09
    StyleGAN2
  • Stylegan error

    2020-07-31 14:37:44
    error: #error “C++ versions less than C++11 are not supported.” #error “C++ versions less than C++11 are not supported.” NVCC returned an error. ftlib custom_ops ... This work is made available under
  • 前面我们介绍了如何构造StyleGAN的逆向网络,并通过训练得到一个比较好的模型,并利用这样的模型从目标图像中提取特征码,内容请参考: https://blog.csdn.net/weixin_41943311/article/details/102370766 在训练...
  • stylegan2_chs.pdf

    2020-01-12 17:22:09
    StyleGAN2论文中文翻译 StyleGAN2论文中文翻译
  • stylegan论文中文翻译stylegan论文中文翻译
  • StyleGAN2显著地提高了生成图像的质量,作为其中一个应用,利用StyleGAN2找到真实图像的最优潜码并重建图像,是一个有意思的话题。 到目前为止,我们收集到了四种重建真实图像的方法,分别是: (1)StyleGAN2 ...
  • StyleGAN - 官方TensorFlow实现
  • stylegan的理解

    千次阅读 2019-07-20 15:26:39
    把图片X的特征进行分解,分解了过后把特征分布到隐变量上去。首先它学到的是产生一个分布,而隐变量的意义是采样,假设在隐变量的分布上随机取一个值, 这就相当于在特征上取一个值,然后这个值经过这个网络和其他的...
  • <div><p>2020-10-13 13:54:15.914144: W tensorflow/core/common_runtime/bfc_allocator.cc:419] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.00MiB ...rosinality/stylegan2-pytorch</p></div>
  • StyleGAN Encoder中,人脸对齐(face_alignment)是一个不可缺少的操作。对没有进行人脸对齐的真实人脸图片,直接运行encode_images.py会大概率遇到不能收敛的情况(即:找不到对应真实人脸的dlatents向量),或者...

空空如也

1 2 3 4 5 ... 20
收藏数 543
精华内容 217
热门标签
关键字:

stylegan