🏡 个人主页:IT贫道-CSDN博客
🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~
🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频
目录
1. AI卡通秀原理
2. 安装Anconda3
3. 安装Python3
4. 安装依赖
5. 下载项目
6. 下载模型
7. 运行项目
8. 项目效果图
1. AI卡通秀原理
人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。我们的思路是,从大量照片/卡通数据中习得照片到卡通画的映射。一般而言,基于成对数据的pix2pix方法能达到较好的图像转换效果,但本任务的输入输出轮廓并非一一对应,例如卡通风格的眼睛更大、下巴更瘦;且成对的数据绘制难度大、成本较高,因此我们采用unpaired image translation方法来实现。
Unpaired image translation流派最经典方法是CycleGAN,但原始CycleGAN的生成结果往往存在较为明显的伪影且不稳定。近期的论文U-GAT-IT提出了一种归一化方法——AdaLIN,能够自动调节Instance Norm和Layer Norm的比重,再结合attention机制能够实现精美的人像日漫风格转换。
与夸张的日漫风不同,我们的卡通风格更偏写实,要求既有卡通画的简洁Q萌,又有明确的身份信息。为此我们增加了Face ID Loss,使用预训练的人脸识别模型提取照片和卡通画的ID特征,通过余弦距离来约束生成的卡通画。
此外,我们提出了一种Soft-AdaLIN(Soft Adaptive Layer-Instance Normalization)归一化方法,在反规范化时将编码器的均值方差(照片特征)与解码器的均值方差(卡通特征)相融合。
模型结构方面,在U-GAT-IT的基础上,我们在编码器之前和解码器之后各增加了2个hourglass模块,渐进地提升模型特征抽象和重建能力。
由于实验数据较为匮乏,为了降低训练难度,我们将数据处理成固定的模式。首先检测图像中的人脸及关键点,根据人脸关键点旋转校正图像,并按统一标准裁剪,再将裁剪后的头像输入人像分割模型去除背景。
2. 安装Anconda3
Anaconda是一个开源的Python发行版本,python是一个编译器,如果不使用Anaconda那么安装起来会比较痛苦,各个库之间的依赖性就很难连接的很好。Anaconda可以看做Python的一个集成安装,里面集成了很多关于python科学计算的第三方库,安装它后就默认安装了python、IPython、集成开发环境Spyder和众多的包和模块,包含了conda(conda 是开源包(packages)和虚拟环境(environment)的管理系统。)、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大,大概几百兆左右,如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。
我们可以从Anaconda官网 Anaconda | The World’s Most Popular Data Science Platform 下载Anaconda,一般官网下载比较慢,可以选择使用镜像下载,地址如下:
Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
现在之后直接双击安装即可,注意安装路径中不要有中文和空格。安装完成之后,配置环境变量,如下图:
配置完成之后,打开CMD命令窗口输入:conda,验证是否安装成功:
3. 安装Python3
基于Anconda安装Python3,修复老照片这里安装python使用至少python3.6版本。命令如下:
#安装python环境
conda create --name python36_cartoon python=3.6
#卸载python环境
conda remove --name python36_cartoon --all
4. 安装依赖
pip install torch-1.9.0+cu111-cp36-cp36m-win_amd64.whl
pip install torchvision-0.10.0+cu111-cp36-cp36m-win_amd64.whl
pip install torchaudio-0.9.0-cp36-cp36m-win_amd64.whl
pip install -i Simple Index tensorflow-gpu==1.14
pip install -i Simple Index face-alignment
pip install -i Simple Index dlib
pip install -i Simple Index onnxruntime
5. 下载项目
项目下载地址:https://github.com/minivision-ai/photo2cartoon,直接下载就可以,下载好的项目名字为“photo2cartoon-master”,将下载项目解压到无中文路径中,这里放在J盘下:
6. 下载模型
- 人像卡通化预训练模型:photo2cartoon_weights.pt(20200504更新),存放在models路径下。
- 头像分割模型:seg_model_384.pb,存放在utils路径下。
- 人脸识别预训练模型:model_mobilefacenet.pth,存放在models路径下。(From: InsightFace_Pytorch)
- 卡通画开源数据:cartoon_data,包含trainB和testB。
- 人像卡通化onnx模型:photo2cartoon_weights.onnx 谷歌网盘,存放在models路径下。
7. 运行项目
1) 添加项目需要的运行文件
将“2DFAN4-cd938726ad.zip”存放在目录“C:\Users\wubai/.cache\torch\hub\checkpoints\”目录下。
下载地址:https://www.adrianbulat.com/downloads/python-fan/2DFAN4-cd938726ad.zip
2) 进入“photo2cartoon-master”目录下执行命令
#切换python环境
conda activate python36_cartoon
#执行如下命令转化图片,--photo_path 指定输入的图片,--save_path 将结果保存到的目录
python test.py --photo_path ./input/zixia.jpg --save_path ./output/zixia.jpg