StyleGAN2玩出新高度!从华盛顿到特朗普,无缝切换生成历届美国总统

时间:2022-07-26
本文章向大家介绍StyleGAN2玩出新高度!从华盛顿到特朗普,无缝切换生成历届美国总统,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
【导读】近日,在Reddit上一位外国小哥发表了一篇文章,介绍自己使用StyleGAN2和Face Aligner在人脸之间无缝切换的项目,他使用了美国历届总统的图片作为演示,同时也在Github上开放了源码。

从华盛顿到特朗普,无缝切换一镜到底

作者完成的这个项目使用了 StyleGAN2 & face aligner来生成美国历任的总统图片。StyleGAN2将生成一个细致的看起来真实的方形人脸图像,并使用优化算法探索潜在的空间,以便找到一个给定类型的现实生活中的例子的准确表示。

艾森豪威尔到肯尼迪的切换也是非常流畅和逼真,「发际线的变化也十分的感人」。

约翰亚当斯(1797-1801)当年的老画像到杰斐逊(1801-1809)的切换还原度也很高。

在这个项目中,作者还使用了一个面部对齐的 python 脚本,它有三点作用:

1)识别图像中的面部

2)将其剪切出来并居中

3)确保像眼睛这样的关键特征位于正确的 x & y 值上

作者使用了从华盛顿到川普的所有美国总统来进行演示,在每个相邻总统之间都线性插值了100次。

作者还表示这个项目是在Google Colab中直接运行的,避免了很多Windows10中不易解决的兼容性问题。

为了StyleGAN2更容易在Colab中使用,作者还做了一些如下改进:

1)支持非正方形图像,如:768x512或640x384等。

2)支持垂直镜像增强。

3)支持自动从最新的 pkl 中继续训练。

4)只创建最大的 tfrecord;,使用原始 JPEG 代替解码 numpy 数组,大大减少 tfrecord 创建时间和数据集大小。

这个项目主要的计算工作是在通过对总统图像的映射以获得隐状态。这会消耗大约10分钟/图,这个时间可以通过降低图像质量来压缩,但作者没有这么做。

在隐状态和生成图像之间进行插值并不需要太长的时间,生成4500张图像并将它们放在一个视频文件中总共需要花费20分钟。

StyleGan2--StyleGAN的升级版,解决了伪影问题

StyleGAN是目前最先进的高分辨率图像合成方法,已被证明可以在各种数据集上可靠地工作。除了逼真的人像,StyleGAN还可以用于生成其他动物,汽车甚至房间。

然而,StyleGAN并不完美,最明显的缺陷是生成的图像有时包含斑点似的伪影(artifacts),而这一缺陷在StyleGAN 2上也被完美解决了。

去年底,NVIDIA的研究人员发布了StyleGAN的升级版——StyleGAN2,重点修复artifacts问题,并进一步提高了生成图像的质量。

图:StyleGAN2生成的人脸图像

图:StyleGAN2生成的猫咪图像

主要改进包括:

生成的图像质量明显更好(FID分数更高、artifacts减少)

提出替代progressive growing的新方法,牙齿、眼睛等细节更完美

改善了Style-mixing

更平滑的插值(额外的正则化)

训练速度更快

(a)是原始的StyleGAN结构图,其中A表示从W学习的仿射变换,产生了一个style,(b)展示了原始StyleGAN架构的细节。

在这里,将AdaIN分解为先显式归一化再调制的模式,对每个特征图的均值和标准差进行操作。我们还注释了学习的权重(w)、偏差(b)和常量输入(c),并重新绘制了灰色框,使每个框都激活一个style。激活函数(leaky ReLU)总是在添加偏置后立即应用。

(c)对原始架构做了几处改动,包括在开始时删除了一些冗余操作,将b和B的添加移动到style的活动区域之外,并只调整每个feature map的标准差。

(d)是修改后的架构,使我们能够用「demodulation」操作代替 instance normalization,我们将demodulation操作应用于与每个卷积层相关的权重。

重新设计后的StyleGAN2消除了伪影,同时保留了完全的可控性。

同时,StyleGAN2还使用了新方法替代Progressive growing,细节更完美。StyleGAN2使用了一个skip generator和一个残差鉴别器,切换到这种设置显著地改进了FID和PPL。

Face Alignment

face alignment就是通过一定量的训练集(人脸图像和每个图像上相对应的多个landmarks)来得到一个模型,使得该模型再输入了一张任意姿态下的人脸照片后,能够对该照片中的关键点进行标记。

左侧是标注好的训练集,右侧是使用模型来对新的图片进行标注的结果。

演示的最后是从奥巴马到特朗普的转变:

有位外国网友对此的评论也很有意思:

作者的这个创意项目向我们展示了StyleGAN2的强大能力和face alignment无穷的潜力,styleGAN2是目前已知的最先进的高分辨率图像合成方法,可以在各种数据集上可靠的工作,除了人像以外,还可以生成房间物品,汽车,动物等各种逼真图像,未来还具有很大的应用空间和商业价值可供开发。

不知大家是否想体验下这个项目呢,快打开下面的链接尝试一下吧!

项目链接:https://github.com/justinpinkney/stylegan2