利用生成网络和鉴别网络神奇P图
韩国电子通信研究院,作者是Youngjoo Jo和Jongyoul Park,发布了一篇论文《SC-FEGAN : Face Editing Generative Adversarial Network with User’s Sketch and Color》。
该论文实现的结果可以任意地修改脸部的信息,同时生成高质量的合成信息。利用 SC-FEGAN 网络可以识别人类手动添加的线条和颜色,利用SN-patchGAN鉴别器和带有门控卷积层的类似于Unet的生成器去生成以假乱真的图像。
利用人工干预,我们可以调整眉毛、鼻梁、脸型、嘴型眼睛大小,当然头发也是可以生成的(光头变成浓密秀发~),另外还可以生成耳饰。
下面用官方的一张动图来展示一下具体操作和实现的过程。
基本原理
基本原理是输入一张不完整的图片,加上我们人工给予的蒙版、线条或者颜色信息。生成器就能推断出编辑后的照片。
随后,使用鉴别器来判断这张照片是不是P得天衣无缝。生成器基于Nvidia推出的图像修复模型U-net,一共有16个卷积层,所有卷积层都使用3×3大小的门控卷积(gated convolution)。
除了输入和输出之外,所有卷积层之后都应用英伟达在2017年提出的局部响应归一化(LRN)。
生成器中还引入了各种损失训练,包括Pixel损失、感知损失、风格损失、总方差损失以及通用的GAN损失函数。
鉴别器,使用的是伊利诺伊大学厄巴纳-香槟分校(UIUC)和Adobe研究团队在2018年提出SN-PatchGAN中的架构。
需要注意的是,网络中使用了3×3大小的卷积核并应用了梯度惩罚损失项,并没有将ReLu函数应用到GAN损失之中。
项目地址
此项目的github地址 : https://github.com/JoYoungjoo/SC-FEGAN