用GAN还原语义标注图!还能手动改细节(附论文、代码)
就能为你还原整个世界:
输入一张亲妈都认不出来的语义标注图——
为你合成一张真实的人脸。
聪明的你可能已经发现,这个名为pix2pixHD的神奇算法,可以用条件生成式对抗网络(conditional GAN),将一张语义标注的图像还原成现实世界的样子。pix2pixHD合成的图像分辨率可高达2048x1024,和CRN、pix2pix等其他图像合成工具相比可以发现,pix2pixHD的效果显然领先了好几条街!
△ pix2pixHD与pix2pix、CRN对比图
有趣的是,连李飞飞高徒、现特斯拉人工智能与自动驾驶视觉部门主管Andrej Karpathy也在Twitter上大呼“非常鹅妹子嘤!”
到底是怎么一回事?上车,我们前去看看论文。
效果惊人
有一个官方演示视频——
pix2pixHD具有通过语义标注的图像还原到现实世界的能力,并且还能根据需要轻松修改和搭配图像。在视频中可以看到,你可以一键更换车辆的颜色和型号,改变街道的类型,甚至还可以移除图像内景物甚至增加图像中的树木。
一张语义地图背后,是丰富的现实世界。
pix2pixHD不仅可以将街景语义图转化为真实图像,还能合成人脸。
和街景类似,根据语义标注的人脸图像,我们可以选择组合人物的眼睛、眉毛和胡须等五官特征,还能在标注图上调整五官的大小。
无论是在街景中增加和减少物体,还是改变人脸的五官,都是通过一个可编辑的界面完成的。这个界面神似众多穿衣搭配的Falsh小游戏的界面,实现了“一键换车”和“一键换眼”,长胡子、改肤色,也都是点一下鼠标的事。
只能搞定256×256的pix2pix,怎么就变成这个“鹅妹子嘤”pix2pixHD呢?我们来看看技术细节。
网络架构
要生成高分辨率图片,直接用pix2pix的架构是肯定不行的。作者们在论文中说,他们试过了,训练不稳定,生成图片的质量也不如人意。
还是得在它的基础上,进行改造。
于是,他们在pix2pix的基础上,增加了一个“从糙到精生成器(coarse-to-
fine generator)”、一个多尺度鉴别器架构和一个健壮的对抗学习目标函数。
从糙到精生成器
生成器包含G1和G2两个子网络,G1是全局生成网络,G2是局部增强网络。两个子网络结合起来使用,结构如下图所示: