Py学习  »  Python

Python实战:将头像转成动漫风!

Python极客专栏 • 1 年前 • 138 次点击  

人生苦短,快学Python!

大家好,我是阿亮。最近遇到了一个问题,需要将头像转化动漫风,当时第一想法就是找现成的轮子。

▲图片转成像素风

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

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

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

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

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

Pytorch安装

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

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

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

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

网站视图:

动漫风格迁移

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

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

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

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

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

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

实际操作:

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

实战效果①

换一张图看一下:

实战效果②

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

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

▲原图

效果如下图所示:

▲效果图

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


注意!

注意!

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

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

▲AnimeGANv2网站

如果看完本文的小伙伴,对深度学习框架PyTorch感兴趣了,那就再给大家推荐一本我最近看过的书:

《动手学PyTorch深度学习建模与应用》

该书以深度学习框架PyTorch为基础,循序渐进地介绍其在深度学习中的应用。全书共10章,从深度学习数学知识入手,逐步介绍PyTorch在数值建模、图像建模、文本建模、音频建模中的基本概念及应用示例。

《动手学PyTorch深度学习建模与应用》这本书还将介绍模型的可视化和联邦学习等内容,以扩展读者的视野。本书在讲解每一个知识点的同时,都配合有动手练习实例,便于读者深入理解所学知识,并达成学以致用的目标。

如有文章对你有帮助,

在看”和转发是对我最大的支持!



关注Python极客专栏


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/134802
 
138 次点击