一键 Cosplay 各路动漫人物,快手算法工程师开发的这个 BlendGAN 火了

动漫、艺术作品里的人物,他们极具张力的形象往往给人们留下深刻的印象。

但如果说现在,你也可拥有他们的同款造型呢?

没错,依旧来自是“无所不能”的对抗生成网络(Generative Adversarial Network,以下简称为 GAN)。

只要把你 pick 好的形象“投喂”进去,接下来妆发的工作交给它就行了:

红的、黄的、蓝的、白的…… 发色随意改变,风格也随之变换。

这就是来自快手的 BlendGAN,而且这项工作还被顶会 NeurIPS 2021 接收。

而与以往“变妆”GAN 不同的是,BlendGAN 号称能驾驭的风格是 —— 任意

是有种“百变大咖秀”的那味了。

于是乎,这个项目成功在网上引起了众多网友的围观。

如何丝滑变妆?

那么,怎样拥有动漫人物同款造型呢?

很简单,只需要准备 2 张照片:

  • 一张生活照

  • 一张动漫人物造型

现在在 Hugging Face 里已经有了在线可玩的 demo。

最简单的办法就是把这两张照片上传进去,等待一会儿就可以出结果了。

当然,稍微“技术”点的方法就是自己跑一遍程序了。

就在这两天,BlendGAN 在 GitHub 上也已开源。

首先需要下载一些预训练模型,包括 BlendGAN 模型、PSP 编码器模型和 Style 编码器模型。

然后仅需几句 Python 代码,便可出效果。

例如用随机人脸代码生成图像对,就输入:

python generate_image_pairs.py --size 1024 --pics N_PICS --ckpt ./pretrained_models/blendgan.pt --style_img ./test_imgs/style_imgs/100036.png --outdir results/generated_pairs/reference_guided/

若是要给照片换风格,则输入:

python style_transfer_folder.py --size 1024 --ckpt ./pretrained_models/blendgan.pt --psp_encoder_ckpt ./pretrained_models/psp_encoder.pt --style_img_path ./test_imgs/style_imgs/ --input_img_path ./test_imgs/face_imgs/ --outdir results/style_transfer/

要生成插值视频,则:

python gen_video.py --size 1024 --ckpt ./pretrained_models/blendgan.pt --psp_encoder_ckpt ./pretrained_models/psp_encoder.pt --style_img_path ./test_imgs/style_imgs/ --input_img_path ./test_imgs/face_imgs/ --outdir results/inter_videos/

为什么可以 hold 住任意风格?

那么快手的这个 BlendGAN,为什么可以同时驾驭这么多的风格?

据研究介绍,团队首先是利用灵活的混合策略和通用的艺术数据集,来生成任意样式化的脸。

具体来说,就是在通用艺术数据集上,训练一个自监督 Style 编码器来提取任意样式的表示。

在生成器部分,则提出了一种叫做加权混合模块 WBM) 的方法,来隐式混合人脸和样式表示,并控制任意的程式化效果。

以往诸如 StyleGAN2 在这个步骤中,不同分辨率层(resolution layer)负责生成图像中的不同特征,而团队认为它们在不同层的混合权值不应当是一致的。

因此,研究人员将人脸和风格 latent 代码转换到它们的 W 空间,然后再由 WBM 进行一个组合的工作。

由此得到的结果显示,与以往方法比较,BlendGAN 能够得到更加逼真的效果。

作者介绍

本文的通讯作者是 Li Qiang,现任快手 Y-tech 的算法工程师。

本科和硕士就读于华中科技大学;博士毕业于悉尼科技大学,师从陶大程教授。

其主要研究方向为深度学习、机器学习和概率图形模型,对卷积神经网络、深度生成模型、表示学习和结构化预测感兴趣。

最后,想试试变妆的小伙伴,可以戳下方链接体验一下。

在线试玩:点此直达

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注