用 python 快速「卡通化」人物头像

用 python 快速「卡通化」人物头像_第1张图片

大家好,我是天作。

这个项目让我想起了以前玩QQ秀的时光。有了这个项目,再也不用找同学了,我自也可以头像卡通化了。

用 python 快速「卡通化」人物头像_第2张图片

该项目为小视科技卡通肖像探索项目。可使用微信扫描下方二维码或搜索“AI卡通秀”小程序体验卡通化效果。

项目地址:

https://github.com/minivision-ai/photo2cartoon

用 python 快速「卡通化」人物头像_第3张图片

下图是我的头像、不得不说还真是神似。

用 python 快速「卡通化」人物头像_第4张图片

人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。

该项目的思路是,从大量照片/卡通数据中习得照片到卡通画的映射。

用 python 快速「卡通化」人物头像_第5张图片

项目所需的主要依赖库如下:

  • python 3.6

  • pytorch 1.4

  • tensorflow-gpu 1.14

  • face-alignment

  • dlib

训练

1.数据准备

训练数据包括真实照片和卡通画像,为降低训练复杂度,该项目对两类数据进行了如下预处理:

  • 检测人脸及关键点。

  • 根据关键点旋转校正人脸。

  • 将关键点边界框按固定的比例扩张并裁剪出人脸区域。

  • 使用人像分割模型将背景置白。

项目开源了204张处理后的卡通画数据,您还需准备约1000张人像照片(为匹配卡通数据,尽量使用亚洲年轻女性照片,人脸大小最好超过200x200像素),使用以下命令进行预处理:

python data_process.py --data_path YourPhotoFolderPath --save_path YourSaveFolderPath

将处理后的数据按照以下层级存放,trainAtestA中存放照片头像数据,trainBtestB中存放卡通头像数据。

├── dataset
    └── photo2cartoon
        ├── trainA
            ├── xxx.jpg
            ├── yyy.png
            └── ...
        ├── trainB
            ├── zzz.jpg
            ├── www.png
            └── ...
        ├── testA
            ├── aaa.jpg
            ├── bbb.png
            └── ...
        └── testB
            ├── ccc.jpg
            ├── ddd.png
            └── ...

2.训练

重新训练:

python train.py --dataset photo2cartoon

加载预训练参数:

python train.py --dataset photo2cartoon --pretrained_weights models/photo2cartoon_weights.pt

测试

将一张测试照片(亚洲年轻女性)转换为卡通风格:

python test.py --photo_path ./images/photo_test.jpg --save_path ./images/cartoon_result.png

我把项目的源码都打包好了,想研究源码的同学可在后台回复 卡通 

-END-

往期精彩



1、用python更换“必应图片”为“桌面壁纸”

2、用python爬取海贼王漫画推送kindle
3、python学习,100天从新手到大师




@GitPython
一个有料又有颜的编程技术号

  在看”  我吗?

   

你可能感兴趣的:(用 python 快速「卡通化」人物头像)