来源:机器之心
电影《超人总动员》中的巴小飞和《飞屋环游记》中的小罗都是大家熟悉且喜欢的角色。但你有没有想过,这些动漫角色的「真人」版会是什么样子……这项研究将告诉你答案。
这是怎么做到的呢?
Nathan表示他使用了一个叫做pixel2style2pixel的框架,在与源图像形状匹配的StyleGAN FFHQ潜在空间中快速找出「真人版」人脸图像,而且pixel2style2pixel的速度很快!
论文地址:
https://arxiv.org/pdf/2008.00951.pdf
GitHub地址:
https://github.com/eladrich/pixel2style2pixel
pixel2style2pixel 框架
今年8月,来自Penta-AI 和以色列特拉维夫大学的Elad Richardson、Yuval Alaluf等人发表论文,提出了一个图像到图像转换的通用架构——Pixel2Style2Pixel (pSp)。该架构基于一种新型编码器网络构建,可以直接生成一系列风格向量,然后输入到预训练好的StyleGAN生成器,形成可扩展的W+ 潜在空间。
该研究首先展示了编码器可以直接将真实图像嵌入到W+ 潜在空间,且不需要额外的优化。然后介绍了身份损失(identity loss),它可以在输入图像重建中实现更高的性能。
pSp是一个简单的架构,通过利用训练好的固定生成器网络,可以很容易地应用于广泛的图像转换任务。通过风格表示解决图像转换任务,这种方法带来了不依赖局部像素到像素对应的全局方法,且该方法通过风格重采样支持多模态合成。
值得注意的是,pSp架构可以在没有任何标注数据的情况下,将人脸图像与正面姿态对齐,为模糊任务生成多模态结果,如基于分割图的条件人脸生成、基于低分辨率图像构建高分辨率图像。
pSp可应用于基于分割图的人脸生成、超分辨率任务、图像修复等任务。
pSp架构
pSp 架构基于预训练 StyleGAN 生成器、W+ 潜在空间构建而成。在 StyleGAN 中,该研究展示了不同风格输入对应于不同层次的细节,这些细节大致分为三组:粗、中、细。于是,研究人员使用特征金字塔 [27] 扩展编码器主干网络,生成三种层次的特征图,它们使用简单的中间网络map2style来提取风格,如下图 2 所示。
图2:pSp架构图示。
pSp架构首先对ResNet主干网络应用标准特征金字塔,提取特征图;然后,对于每一个目标风格分别训练小型映射网络map2style,以基于对应特征图提取学得的风格;接着,将每一个生成向量输入到StyleGAN中。
pSp的应用场景
1. StyleGAN Inversion
pSp架构在预训练StyleGAN生成器的潜在域中寻找真实图像的潜码。
下图4展示了不同方法在CelebA—HQ数据集上的对比。实验结果表明,pSp方法能够在保留图像身份的同时重建细节,如面部光线、发型和眼镜等。
2. 面部转正
由于需要非局部变换、缺乏成对的训练数据,面部转正是图像转换中比较有挑战性的任务。该研究表明,其提出的基于风格的转换机制能够克服上述挑战,即使没有标注训练数据也可以运行。
下图展示了不同方法的面部转正效果对比:
由实验结果可以看出,当用相同的数据训练时,pix2pixHD无法收敛到令人满意的结果,因为它更依赖于输入和输出对之间的对应关系。而pSp能够很好地处理任务,生成逼真的脸部正面图像,与更复杂的RotateAndRender(R&R)方法效果相当。
3. 条件图像合成
条件图像合成即基于特定输入类型生成逼真图像。研究者在两个条件图像生成任务上对pSp架构进行了测试,分别是基于草图和语义标签图生成高质量的人脸图像。
对于基于草图生成高质量人脸图像任务,该研究对pSp、pix2pixHD、DeepFaceDrawing进行了对比,pSp实现了不错的效果:
对于基于分割图生成人脸图像的任务,研究者在CelebAMask-HQ数据集(包含19个语义类别)上对pix2pixHD、SPADE、CC_FPSE和pSp进行了对比:
4. 超分辨率
研究显示,pSp方法可以根据相应的低分辨率(LR)输入图像来构建高分辨率(HR)面部图像。下图11展示了使用该方法与以往方法的生成图像的视觉对比效果:
此外,为了更好地显示pSp框架的灵活性,研究者还展示了其在局部编辑、图像修复和人脸图像插值三种应用中的效果:
这一研究工作引起了网友的热议。有人感叹:「图像分辨率实在太高了」、「做好病毒式传播的准备吧」。
该研究有什么实际用处呢?有人畅想:「在若干年内,我们能够以这种方式进行整部影片的转换,那该多酷啊。一部影片看5遍,每次都有不同的风格。」
不止如此,还有人表示:「除了已知情节外,我们还可以构建一些颠覆用户预期的原创故事情节。」
不过,转换后的图片有时存在一些瑕疵,比如上文提到的小罗,转换后不仅帽子消失了,头发变成了金黄色,耳朵也没有了。
参考链接:
https://www.reddit.com/r/MachineLearning/comments/jcuch4/p_creating_real_versions_of_pixar_characters/