用python将头像“卡通化”,快来看看你是什么样子的~

Python019

用python将头像“卡通化”,快来看看你是什么样子的~,第1张

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

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

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

python 3.6

pytorch 1.4

tensorflow-gpu 1.14

face-alignment

dlib

1.数据准备

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

检测人脸及关键点。

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

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

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

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

将处理后的数据按照以下层级存放,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

└── ...

重新训练:

加载预训练参数:

测试

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

如果想要项目源码的请点击这里哦!

这是图像处理的内容,其实就是在头像图片上加一个数字。python有很多图像处理库和模块,常用的有PIL和opencv。可以直接用opencv的putText函数添加一个数字,也可以用PIL的text方法