StyleGAN网络分析与Encoder实例测试

1. StyleGAN网络

1.1 基本介绍

    该网络由NVIDIA提出于2018.11,同时发表了文章A Style-Based Generator Architecture for Generative Adversarial Networks,主要改进了ProGAN的生成器部分.映射网络的目标是将输入向量编码为中间,不同元素控制视觉特征。映射网络由8个全连接层组成,它的输出 ⱳ(512*18),输入Z为(512×1).

StyleGAN网络生成器与传统生成器对比

1.2 特征组成

     ⱳ(512*18)分别代表着18个维度不同的人脸特征,1-4一般代表人脸的姿态、发型、面部形状等;5-8一般代表更为细致的特征;9-10主要是颜色部分;具体不一部分影响的细节可以参考NVIDIA给出的视频介绍
上面的latent codeZ为(512\times1),w为取18维的原因如下:右图中展现的4×4图像到8×8图像的过程,可见在每一个小方格中,w需要提供两个A作为Style输入到AdaIN中,从4×4一步步演进到1024×1024需要9次,则2×9=18。
     Const为常量输入,作者通过实验证明,常量的输入对模型影响不大,图像的生成主要由W和AdaIN进行控制。“the network no longer benefits from feeding the latent code into the first convolution layer. ”B作为噪声输入网络,进一步提升网络的表现。

AdaIN

AdaIN将输入的X进行归一化,并且结合当层输入的Style,在公式上解释如何将18层不同的Style加入到生成图像的过程。

2. StyleGAN-Encoder

2.1 使用Encoder的原因

    StyleGAN网络只能接受随机向量(Lantent z)进行人脸的生成,为了使StyleGAN可以使用我们现实中拍摄的图像,所以需要StyleGAN Encoder将图像编码为StyleGAN可以识别的编码。
    Encoder部分本质上为Resnet网络,整体思路如下:利用generator这一特性给Resnet提供数据源,标签为之前输入Generator的随机向量。完成训练之后,该Resnet可以提取真实照片特征,也就是对真实数据映射到StyleGAN的编码器。但是,为了使得每次编码器都能输入StyleGAN后得到同一人像的输出,在实际生成是还需要添加几次的训练微调过程,在这里会花费相当多的时间。

3. StyleGAN 实例测试

3.1随机人像生成

    该网络可对人像进行随机生成,在实际功能验证中随机生成了500个人脸。在生成的全过程,我们只需要对该网络提供随机数即可。具体生成情况见下图:
随机生成人像的缩略图

    生成500个人脸花费时间没有具体度量,大概在几分钟左右(GPU 1060 6G,<5mins)。图像数据结果较佳,在对图像进行细看时,发现偶有图像成像效果一般,例如严重的兔唇,或者脸部空洞,若是想直接进行大规模使用,还应进行筛选(会生成较为恶心的恐怖人脸,这里就不放出来了)。生成的图像尺寸皆为1024*1024。

较差生成图像与较好生成图像的对比

    后期再生成:StyleGAN网络的人脸生成完全依赖于外部随机向量的输入,也就是说只要输入同样的随机向量于StyleGAN网络中,生成的人脸图像完全一致。计算机随机数的生成依赖随机种子(Seed)的选取,选择同样的随机种子便代表同一人脸的再次生成。

3.2人脸A与B的融合

    下面展示两张同学的照片,从采集得到的原图到融合的全部过程:

  • 原图:可见两张图像的尺寸并不一样,首先便需要将两张图像的人脸部分检测出来,之后对图像进行剪裁为StyleGAN适用的1024*1024的尺寸
    raw
  • 人脸剪裁:使用基于python的Dlib库对人脸进行检测,该库可以检测人脸68或者更多的特征点。Dlib完全开源,并提供训练好的模型予以使用。一般来说Dlib对人脸的检测效果要优于OpenCV。人脸检测剪裁后的尺寸为(1024*1024):
    aligned
  • StyleGAN网络图像生成:StyleGAN只能依赖随机向量生成人脸图像,所以此生成过程不可控。依靠StyleGAN无法生成我们想让网络进行融合演进的图像,原因是我们无法给网络提供上述图像对应的且被StyleGAN识别的特征向量。解决方案为对StyleGAN添加RensNet对我们的图像进行编码,具体过程见理论部分。生成结果见下图:


    generated
  • 需要注意的是,上图虽然和我们提供的照片比较相似,但是他完全由StyleGAN网络生成,我们只给他提供了一个ResNet网络输出的多维向量。网络依照特征向量(encode)生成图像,生成的人物与原图人物接近。仔细分辨发现多余的头发丝会被处理,皮肤会更为平滑美白,衣物基本不变,背景会被模糊。

  • 将上述二人进行图像融合(上方的人脸称为A,左下方的人脸称为B,融合人脸称为C):可见,融合的结果基本采用A人脸的年龄、性别、姿态、发型、衣物形状,采用B人物的肤色、发色、衣物颜色、眼睛形状、背景样式等信息。
    R-X-mixing
X-R-mixing

3.3人脸的年龄与性别的变化

    提取人物年龄和性别的变化特征矩阵,使用上述矩阵的影响可对人物的年龄、性别、笑容等多维度进行自定义变换。
    具体细节可以参考Encoder代码

3.4其他图像数据的生成

    在数据集条件支持的情况下,可以进行车辆、居室、动物等等图像的生成。具体细节可以参考论文最后一小节和源代码

论文中图像示例

    

参考文献

  • [1]. Springenberg, J.T., et al., Striving for Simplicity: The All Convolutional Net. 2014.
  • [2]. Karras, T., et al., Progressive Growing of GANs for Improved Quality, Stability, and Variation. 2017.
  • [3]. Goodfellow, I.J., Generative Adversarial Nets.
  • [4]. Karras, T., S. Laine and T. Aila, A Style-Based Generator Architecture for Generative Adversarial Networks. 2018.
  • [5]. http://www.gwylab.com/note-gans.html(北邮计算机视觉实验室)

最后:

  • 第二次写博客,欢迎大家建议指正 0.0
  • 禁止转载!!! 谢谢~
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349