其他

【谷歌 GAN 生成人脸】对抗创造新艺术风格,128 像素扩展到 4000

2017-06-15 新智元

  新智元编译  

来源:mtyka.github.io

译者:文强


【新智元导读】谷歌员工 Mike Tyka 撰文介绍了他使用 GAN 生成人物肖像的项目,结果值得一看,最高的分辨率有 4k×4k。需要指出,下面展示的结果是经过挑选的, 但 GAN 生成的这些人物肖像别有一种艺术风格。



(文/Mike Tyka)一段时间以来,我一直在尝试使用生成神经网络制作人物肖像。早期试验基于类似 Deep Dream 的方法,但最近我开始将精力集中在 GAN 上面。当然,无论在什么时候,高精度和精确的细节都是很难实现的,使用 GAN 生成人脸也一样。首先,这些网络的感受野往往不到 256×256 像素的大小。


解决这个问题的一种办法是使用 stack GAN。我用基于 stack GAN 的方法,终于将像素提升到 768×768 的大小,最多使用 3 个阶段 stack 将像素提升到了 4k×4k。我不在意结果是否真实,但细节纹理逼真很重要。


为了减少 artifact(模糊不清的地方),我需要应对 mode collapse 等各种问题。具体说,光滑皮肤和多毛皮肤之间,第二阶段 GAN 是 meta stable,往往导致输出变成一块一块的。


现在我使用的最多是 vanilla GAN。当然,我觉得我也该试一下 WGAN、CramerGAN 或 BEGAN,因为大家都说后面几种收敛更好。


下面就是我使用 GAN 生成的空想人物肖像(我选了效果比较好的放上来)。



生成图像的质量与低分辨率输出(lowres output)实现密切相关。我通常在第一阶段生成 128×128 或者 256×256 像素的结果,然后在第二阶段提升至 768×768 或者 1024×1024。大多数情况下,生成的结果都很糟糕,远远没有我挑选出来的这几张好,但有些时候会出现非常富有艺术性的图像,偶尔看上去还像是有艺术风格诞生。



我在最后的第三阶段将像素提升到 4k。但是,实际上我并没有这个像素级别的训练数据,也就是说,网络做的只是大致预测边缘是否平滑等等。


系统不可能知道皮肤高分辨率的人脸数据库。毛孔或睫毛这些细节。因此,我们需要一个与高分辨率的人脸数据库。


考虑到最终的印刷效果,在这种分辨率下故意保留一些 artifact 可能还不错(相比 )。



Mike Tyka 参考了下面这篇论文中所提到的方法 Stack-GAN,并且在论文基础上做了 3 次堆叠。有兴趣你也可以一试:)


摘要


根据文本描述合成逼真图像是计算机视觉一大挑战,也有很多应用。使用现有方法合成的图像在细节和生动方面差强人意。本文中,我们提出 StakeGAN 方法,根据文本描述生成逼真的图像。在第一阶段(Stage-I GAN),GAN 根据给定描述生成相对原始的形状和基本的色彩,得出 Stage-I 低分辨图像。Stage-II GAN 将 Stage-I GAN 和文本描述作为输入,生成高分辨率的逼真图像。Stage-II GAN 能够修正错误,增加令人信服的效果和细节。使用 StackGAN 生成的图像比现有方法更加合理逼真。最重要的是,StackGAN 根据文本第一次生成 256×256 像素的图像,现有方法最多只能生成 128×128 像素的图像。





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存