Python实战:将头像变成动漫风

本文首发于个人公众号【快学Python】,人生苦短,快学Python!

大家好,我是小五。最近遇到了一个问题,需要将头像转化动漫风,当时第一想法就是找现成的轮子。比如我们在之前的文章中《超有趣的Python实战:将图片转成像素风!》,就是通过调用名为Tiler的开源库,生成可爱像素风图片!

Python实战:将头像变成动漫风_第1张图片

将头像转化为动漫风,就是希望在保持原图像信息和纹理细节的同时,将真实照片转换为动漫/卡通风格的非真实感图像。目前除了百度api,Github上还有不少开源库可供我们直接使用。

其中AnimeGAN是来自武汉大学和湖北工业大学的一项研究,采用的是神经风格迁移 + 生成对抗网络(GAN)的组合,实现效果非常符合我们的需求。

AnimeGAN最早使用的是Tensorflow框架,不过查询资料后发现该项目已支持PyTorch框架。

Python实战:将头像变成动漫风_第2张图片

地址:https://github.com/bryandlee/animegan2-pytorch

而我正好之前基于PyTorch实现过微博评论情感分析,所以用起来也不会有什么负担,还省得安装库了。

Pytorch安装

PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。这个深度学习框架,可以应用在数值建模、图像建模、文本建模、音频建模等等多个方向。

Python实战:将头像变成动漫风_第3张图片

安装Pytorch会比其他库麻烦一些,如果去官方安装下载,需要根据实际配置得到适合自己的安装命令。

Python实战:将头像变成动漫风_第4张图片

如果你通过上面这种步骤发现下载速度慢,或者遇到各种问题,不妨试试下面这个网站:

https://download.pytorch.org/whl/torch_stable.html

网站视图:

Python实战:将头像变成动漫风_第5张图片

动漫风格迁移

安装Pytorch框架后,我们便可以将该animegan2-pytorch项目clone到本地/直接下载下来:

git clone https://github.com/bryandlee/animegan2-pytorch

下载到本地的文末目录如下图所示:

Python实战:将头像变成动漫风_第6张图片

其中weights文件夹下包含四个权重,选择对应的权重就能实现自己想要的动漫风格迁移。samples下的inputs文件夹中储存了图片示例,可以直接拿来试水。除此以外,我还在同一路径下新建了output文件夹,用于存放处理后的图片。

接下来,我们只需要在命令行中运行test.py脚本就可以调用该项目,具体命令格式如下:

python test.py --checkpoint [模型文件路径] --input_dir [输入图像所在目录] --output_dir [输出目录] --device [设备选择,cpu或者cuda]

实际操作:

Python实战:将头像变成动漫风_第7张图片

由于是像实现人脸动漫迁移,所以我分别使用了face_paint_512_v1.ptface_paint_512_v2.pt权重,效果如下图所示:

Python实战:将头像变成动漫风_第8张图片

换一张图看一下:

Python实战:将头像变成动漫风_第9张图片

个人觉得face_paint_512_v2.pt权重的处理成品更符合我对动漫风的想象,大家怎么看呢?

最后我也试了试paprika.pt对风景图片进行动漫迁移。

Python实战:将头像变成动漫风_第10张图片

效果如下图所示:

Python实战:将头像变成动漫风_第11张图片

如果大家对将头像/图片转化动漫风感兴趣,不妨也来试试~


注意!

注意!

如果看完本文的小伙伴,不想安装Pytorch,又想直接打造一个自己专属的漫画脸?

可以电脑打开这个网址:https://huggingface.co/spaces/akhaliq/AnimeGANv2,这是在线AnimeGANv2的APP,无需你本地安装什么框架,直接就可以进行转换

Python实战:将头像变成动漫风_第12张图片

你可能感兴趣的:(python,pytorch,深度学习)