大家好,我是 Jack。
好久没出趣味 AI 的教程了,今天安排一期。
只需要一张图片或者视频,就可以生成相应的二次元“老婆”。
感受一下:
放个视频,感受更强烈:
二次元“老婆”,是跟随视频的动作,而改变的。
之前我写过一阶运动模型的算法教程:
功能看起来类似,但是算法实现是不同的。
真人驱动动漫图片的算法,这种效果比较好:
这个动画脸控制变换算法,采用的是 GAN,只需要一个输入即可,生成+控制,用这一个算法即可。
GANsNRoses
这个算法的名字叫 GANsNRoses,一种风格迁移算法。
简单来讲,就是一种以人脸图像的内容代码为输入并输出具有多种随机选择风格代码的动漫形象。
算法实现也并不复杂:
生成器负责生成动画脸,辨别器负责辨别是否为动画脸。
生成器分为内容编码器c和样式编码器s。
样式编码器s,负责整体的风格,比如头发样式,脸的位置,发色等。
内容编码器c,负责细节的把控,比如头部倾斜角度等。
想了解更详细,可以直接看论文:
https://arxiv.org/pdf/2106.06561.pdf
测试
目前有三种方式:
网页 Demo Colab 本地搭建
网页 Demo
网页 Demo,用起来最简单,上传图片就行。
https://gradio.app/g/AK391/GANsNRoses
不过貌似只支持图片的制作。
测试了龙母的效果,她看了估计会哭晕在厕所。
Colab
Colab 运行也很简单,有个梯子就行。
https://colab.research.google.com/github/mchong6/GANsNRoses/blob/main/inference_colab.ipynb
省去了部署环境的烦恼,傻瓜式运行即可,图片和视频,都可以测试。
本地搭建
主要是搭建环境,这个直接用 Conda 创建虚拟环境,然后安装各种第三方库即可:
1 2 | conda install --yes -c pytorch pytorch=1.7.1 torchvision cudatoolkit=<CUDA_VERSION> pip install tqdm gdown kornia scipy opencv-python dlib moviepy lpips aubio ninja |
Conda 使用可以参考这一篇:
然后下载模型权重文件,就可以,模型权重文件还是蛮大的,1.6G,从 Google Drive 下载比较慢,建议直接用 Colab 测试。
总结
这种算法,其实蛮多的,单从效果来讲,还有很大提升空间的。
最后,我看B站有个up主,籽岷自己做了鬼畜,新宝岛版:
目前,这类算法,做个鬼畜其实还行。
我是 Jack,我们下期见。
2021年6月27日 下午12:00 沙发
牛蛙