人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。
该项目的思路是,从大量照片/卡通数据中习得照片到卡通画的映射。
项目所需的主要依赖库如下:
![efd7d7d56673e04b766b9e7181b9184c.png](https://i-blog.csdnimg.cn/blog_migrate/9e0670fe9ec4c8a1bfbb46dbb2fecf2a.png)
- python 3.6
- pytorch 1.4
- tensorflow-gpu 1.14
- face-alignment
- dlib
训练
1.数据准备 训练数据包括真实照片和卡通画像,为降低训练复杂度,该项目对两类数据进行了如下预处理:- 检测人脸及关键点。
- 根据关键点旋转校正人脸。
- 将关键点边界框按固定的比例扩张并裁剪出人脸区域。
- 使用人像分割模型将背景置白。
python data_process.py --data_path YourPhotoFolderPath --save_path YourSaveFolderPath
将处理后的数据按照以下层级存放,trainA、testA中存放照片头像数据,trainB、testB中存放卡通头像数据。
├── 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
项目源码获取
卡通化人像
链接:
https://pan.baidu.com/s/1A8of3nzuf07ETllm_vYteg
提取码:re60
-END-
已有50万人
领取Python案例实战课
世界正在奖励坚持学习的人!