雷布斯变猫布斯,皮卡丘变狗卡丘:英伟达最新AI开源,万物换脸只凭一张图 | Demo

圆栗子 发自 凹非寺 量子位 报道 | 公众号 QbitAI

英伟达家的新AI,可以把视频里的一只金毛,迅速变成猫鼬。

只要给AI看两张猫鼬的静态图:

在看到这两张图之前,AI从来没有见过猫鼬这种动物,训练集里没有。

AI没见过的动物还有很多,只要给它一两张照片熟悉一下,就可以把金毛换成它们的脸。

比如,凶猛的大型猫科动物:

这样说来,金毛的亲戚如哈士奇等辈,更加不在话下:

虽说同是图到图的翻译,同是无监督,这只AI和马变斑马的前辈非常不同。前辈只能在自己见过的动物之间做翻译。训练的时候,看过许多马,也看过许多斑马;

而英伟达的新选手,相当于训练中从没见过斑马。训练集里没有的动物,只要测试的时候能看到一两张图,就够了。

小样本学习 (Few-Shot Learning) 算法,对训练数据的要求大大大大大大降低了。

团队把算法开源了,还上线了一键换脸Demo。所以,今天先玩耍一下再讲原理。

错误与正确的打开方式

在下鸡冻地尝试了Demo

第一题,把一只高冷的喵传了上去,用方框选中头部。

鸣谢我司夏老司

于是,各种动物都获得了半侧面的冷峻

第二题,把一只雷布斯传了上去,也是半侧面:

意想不到,生成了贵族气息的半兽人

AI的艺术天分扑面而来,不过还是要郑重提醒各位:

Demo应用叫做宠物换脸 (PetSwap) ,请选择正确的打开方式,下面是正确示范。

第三题,冲破次元壁。去吧,大侦探皮卡丘:

大家都戴上了福尔摩斯的帽子,不过只有右上角的猎犬,解锁了性感的腮红

真是一个优雅又充实的早晨。

玩够,该看原理了。

没见过的动物,只要看一眼

就像开头讲到的,这是一个小样本翻译器。它要把内容图 (Content Image) 如金毛,换成类别图 (Class Image) ,如哈士奇或者美洲狮

模型分为三个部分:

一是内容编码器 (Content Encoder) ,粉色部分。它把输入的内容图 (金毛) ,映射到一个内容潜码 (Content Latent Code) 上。 二是类别编码器 (Class Encoder) ,绿色部分。先把每张类别图 (哈士奇) 映射到一个潜码上。然后取个平均,就得到整个类别的潜码了。 三是解码器 (Decoder) ,蓝色部分。先把类别潜码映射到adaIN参数上,然后把内容潜码做个解码,来生成翻译的结果图。

训练的时候,数据集里有金毛也有哈士奇。AI就在这些见过的类别之间,修炼换脸技能:

可是,训练集里没有美洲狮。测试的时候,要生成美洲狮怎么办呢?

秘密就在这里:当类别图和内容图长得一样的时候,就让模型生成一个重构 (Reconstruction) 。

这样,只要在测试的过程中,临时看一张美洲狮 (或者几张) ,就能把没见过的瞬间变为见过的。AI把训练集里的狗,翻译美洲狮,也就不难了:

大功告成。

你也快去玩啊

这样 (优) 秀的AI,你一定也想调教一下。

代码、Demo、论文,都在这里了:

Demo传送门: https://nvlabs.github.io/FUNIT/petswap.html

论文传送门: https://arxiv.org/abs/1905.01723

代码传送门: https://github.com/nvlabs/FUNIT/

主页传送门: https://nvlabs.github.io/FUNIT/

原文发布于微信公众号 - 量子位(QbitAI)

原文发表时间:2019-05-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券