基于PaddleGAN项目人脸表情动作迁移学习(四)人脸动漫化

学习目标:

体验基于PaddleGAN的真实人脸实现动漫化,相关模型:AnimeGANv2。

AnimeGANv2原理:

人脸动漫化(Photo to Cartoon)是指将真实人脸转化成动漫风格,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。
AnimeGAN基于2018年CVPR论文CartoonGAN基础上对其进行了一些改进,主要消除了过度风格化以及颜色伪影区域的问题。对于具体原理可以参见作者知乎文章。AnimeGANv2是在AnimeGAN的基础上添加了total variation loss的新模型。

第一步,环境准备:

请参考另一篇文章,基于PaddleGAN项目人脸表情动作迁移学习(一)环境配置,下载PaddleGAN,并配置环境,另外,需要安装相关模块,进入PaddleGAN目录下:

cd PaddleGAN
pip install -r requirements.txt
pip install -v -e .
pip install dlib
pip install ppgan

如果dlib有安装失败请参考另一篇文章记录安装dlib库失败解决过程,认识conda-forge,希望有所帮助。
安装完成根据网速不同,大概需要几分钟左右。

第二步,准备人脸照片:

一张照片用到底,还是麻烦他了。(之前奥巴马照片竟然违规了,汗!换一张我自己合成照片)

之前已经上传至图片目录下,aobama001.jpg。
在这里插入图片描述

第三步,修改预测命令:

人脸卡通化可以将人脸图片转换成卡通化的图片。主要功能是先检测人脸是否存在,然后利用检测到的人脸生成卡通化的人脸图片。预测命令需要指定输出目录和需要转化的图片路径。

from ppgan.apps import AnimeGANPredictor
p2c = AnimeGANPredictor(output_path=’/home/work/output’)
p2c.run(’/home/work/图片名称’)

修改后代码如下,在applications目录下保存为py文件,31_anime_cartoon.py:

from ppgan.apps import AnimeGANPredictor
predictor = AnimeGANPredictor(output_path='../image_data/output')
predictor.run('../image_data/aobama001.jpg')

第四步,执行并查看效果:

执行代码

cd applications
python 31_anime_cartoon.py

进入…/image_data/output文件夹内查看
基于PaddleGAN项目人脸表情动作迁移学习(四)人脸动漫化_第1张图片
又测试了下 Photo2CartoonPredictor模型效果,修改代码如下:

from ppgan.apps import Photo2CartoonPredictor
predictor = Photo2CartoonPredictor(output_path='../image_data/output')
predictor.run('../image_data/aobama001.jpg')

效果如下
基于PaddleGAN项目人脸表情动作迁移学习(四)人脸动漫化_第2张图片

到此卡通化体验结束。

总结:

AnimeGANv2模型是 Photo2Cartoon的升级版,PadlleGAN同时也提供了Photo2CartoonPredictor方法,将第三步中AnimeGANPredictor替换为Photo2CartoonPredictor又是另外一种效果,感觉还是升级后的模型效果顺眼一些。
AnimeGANv2还提供了训练方法,可以根据自己的需要进行模型增量学习,GitHub连接如下:AnimeGANv2,GAN网络确实是比较好玩技术。

你可能感兴趣的:(图像识别,深度学习,计算机视觉,paddlepaddle,人工智能,深度学习)