加关注2.png

头图3.gif

栏目标题_07.png

 

转本文经AI新媒体量子位(公众号 ID: QbitAI)授权转载

转载请联系出处。

 

郭一璞 劈图栗 乾明 发自 亚龙湾 
量子位 报道 | 公众号 QbitAI

 

 

GAN可GAN,非常GAN。

生成对抗网络(GAN)除了生成各种各样的人脸,现在还能对人脸进行各种各样的精确“整容”。

比如,把头顶光亮的大叔P出青葱的发际线;把阳刚的肌肉男P成小鲜肉,再P成可爱的女孩子;让金发女郎变成黑长直。

不久后,你还能用GAN一键调整自己的发际线,从此省下植发钱,免费让你的头发像Jackie Chan一样乌黑油亮,duang duang duang~

堪称 整·容·神·器

 

秃秃秃魔法

 

首先,我们先来学习一下脱发的“原理”

你知道如何一键脱发么?

请使用咒语:秃,秃,秃。

 一只充满恶意的按钮

 

奋力点击Bald+按钮:

 

 

俊朗的面容,顿时变得矍铄而慈祥。

不只发际线被强行逼退,原本的褐色头发也成了花白。除此之外,法令纹与其他皱纹都清晰了起来。

当然,想要植发的话,只要反过来用Bald-就可以了。

顺便告诉你一个秘密,这个按钮“歧视”男性:男生照片随便点几下就秃了,女生点几下就可能变成男生,然后才会秃。

 

 

或许是因为数据集源于自然。

那么,再来试试其他按钮。

 (Niang)  (Hua) ,大概是非常受欢迎的功能。

 

 错误示范:史蒂夫·乔布子,比本体的头发茂盛一些

 

不想看男生的时候,就点击Male-把他变成妹子。

真是造福人类的功能。

 

 

友情提示,除了Male按钮之外,Pointy Nose (尖鼻) 也可以把男生变成女生。

莫非,鼻子尖了会变娘?一定是数据集的错。

 

 尖鼻技能

 

就算只是想刮刮胡子,连击Beard-,也能顺势变成妹子。

一定是数据集的错x2。

 

 来来来,一起刮胡子

 

全部21个按钮里面,能做变性的还有许多。有兴趣的小伙伴自己去试一试嘛。

娘化虽好,可不要贪杯哦。毕竟,这也不是唯一的功能。

大鼻子” (Big Nose) 可能是怨念的象征。毕竟,连续点击加号之后,鼻子似乎没有变大,五官倒是挤在一起,好像吃了芥末。

 

 

其他按钮,大家有空就自行探索吧,传送门在文底。

目前,Demo还不支持上传人脸,只能用它提供的随机人脸。

不过,作者说下一步就会增加上传功能了,有大胆想法的同学,可以预备备了。

 

前途似锦的GAN

 

这个神奇的GAN一放出来,一众网友就鸡冻了。
٩(๑>◡<๑)۶

 

楼主好人,求楼主做个.exe格式的应用程序出来

看来下一个被AI搞失业的职业是模特了

 

不少人纷纷开始畅想它商业化之后的用处:

 

可以用来定制女朋友,靠这个软件生成好看的脸,投射到机器人或者VR上……

希望可以把我的脸传上去,修改成最喜欢的效果,然后拿去给整容医生照着这个整

警察叔叔找犯罪嫌疑人的时候这个应该会很有用

如果以后可以根据目标受众喜好生成各种“千人千面”的帅哥美女,用来打广告……真可怕

 

背后的原理

 

有这种“神奇魔力”的GAN,名字叫做TL-GAN,TL代表的是Transparent Latent-space,意思是将潜在空间(Latent-space)透明化(Transparent)。

总体来说,这个项目提供了一种新的方法,可以来控制像GAN (生成对抗性网络)这样的无监督生成模型的生成过程。

首先,使用一个已经训练好的GAN生成器,在这个模型中,使用的是英伟达的pg-GAN。然后,挖掘其中有意义的特征轴,将图像变化的过程变得透明化,从而使我们能够控制图像合成和编辑的过程。

整个模型的构建,主要分成三个步骤:

 

第一,将图像背后的潜在空间透明化。

作者在模型上使用的是英伟达的的pg-GAN(progressively-growing GAN),其生成的1024px × 1024px图像的特征由潜在空间中的512维噪声矢量(一种图像内容的低维表示)来确定。如果能够理解这些都代表着什么,就能完全控制生成过程。

为什么要用pg-GAN呢?作者说,它有两个优点:

一是,它生成的图像很多,这意味着空间中的大部分点会生成合理的图像。二是,它是强连续的,这意味着潜在空间中两点之间的插值一般会让相应图像的平滑过渡。

这让他可以在潜在空间中寻找方向,如果能够找到,就可以使用这些方向的单位矢量作为特征轴来控制图像生成过程。

 

第二,寻找特征轴。

为了找到这些特征轴,作者通过基于配对数据(z,y)的监督学习方法进行训练,在潜在向量 z 和特征标签 y 之间建立了一个连接。

于是问题来了:如何获得这样的配对数据?现有的数据集只包含图像 x 及其相应的特征标签 y。


 

作者表示,为解决这个问题,TL-GAN模型的关键创新是,使用现有的标记图像数据集( x_real,y_real ),来训练一个独立的特征提取器模型y=F(x),然后将训练好的GAN生成器G与特征提取器网络F耦合。

在这个过程中,作者在CelebA 数据集上训练了一个简单的卷积神经网络(其中包含了3万多张面部照片,每张有40个标签)。

这样,就可以使用训练好的特征提取器网络来预测合成图像x_gen的特征标记y_pred,从而通过合成图像建立z和y之间的联系,如x_gen=G(z)和 y_pred=F(x_gen)。

 

第三,训练模型。

既然有了成对的潜在向量和特征,就可以训练回归模型y=A(z)来揭示特征轴控制图像生成的过程了。

TL-GAN 模型的架构

 

在进行测试的过程中,虽然效果很好,但出现了一个非常让人头疼的问题:特征轴纠缠(entangled feature axes)。即不同的特征轴之间会相互影响,例如当你打算减少胡须特征的时候,图像就会变得越来越像女性,或者调整Pointy Nose (尖鼻), 也会把男生变成女生。

为了解决这个问题,作者表示自己使用了线性代数技巧:将胡须轴映射到一个垂直于性别轴的新方向,这可以有效消除它们的相关性。

 

使用线性代数技巧分离相关特征轴

 

不过,如上所述,量子位在测试的时候发现,还是会出现类似的问题。Hacker News上也有网友在吐槽这一点:

 

啊!为什么改变肤色的时候,嘴唇会变薄、头发会变秃,人会变成男的啊,真是AI魔术

 

有网友猜测是训练模型的数据集太小的原因:

 

因为是用真实的明星照片训练的吧,毕竟明星普遍都比较好看。可能样本里只有白人,没有其他肤色的人,所以生成的效果也就跟着训练用的数据集跑了~

 

以上,就是模型大致的原理了。

作者认为,这个模型有两个突出的优点:

1、效率高:想要为生成器添加新的功能调谐器的时候,不需要重新训练GAN模型,使用这个方法,只需要花1个小时,就能够添加40个功能调谐器。

2、灵活性:你可以使用任何数据集上训练的任何特征提取器,来向训练好的GAN中添加更多的特征调谐器。

 

作者介绍

 

这个TL-GAN的作者关少波(Shaobo Guan),是一位集生物学和计算机两大专业技能于一体的博士小哥哥,本科毕业于上海交通大学生物技术专业,之后在中科院做了三年研究助理,然后去布朗大学读了系统/计算神经学的博士。

厉害的是,读博第三年开始,他还顺便在布朗大学读了一个计算机硕士,从此踏入AI圈。

今年夏天硕士和博士都毕业后,关少波开始在YC和SV Angel投资的Insight Data Science项目担任AI Fellow,TL-GAN就是他在该项目的第一个作品。

小哥哥还很自豪的在自己的LinkedIn上写:

 

我的TL-GAN,全Hacker News热度第二呦~

 

传送门

如果你对这个模型有兴趣,下面有一些传送门,能够送你到你想去的地方~

GitHub地址:
https://github.com/SummitKwan/transparent_latent_gan

Demo地址:
https://www.kaggle.com/summitkwan/tl-gan-demo
(友情提示:玩Demo的时候,要有耐心哦~)

模型博客文章地址:
https://blog.insightdatascience.com/generating-custom-photo-realistic-faces-using-ai-d170b1b59255

模型的PPT地址:
https://docs.google.com/presentation/d/1OpcYLBVpUF1L-wwPHu_CyKjXqXD0oRwBoGP2peSCrSA/edit#slide=id.p1

 

END分隔符.png

尾图2-1.png

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐