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

共 1561字,需浏览 4分钟

 ·

2022-05-23 18:22

人生苦短,快学Python!

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

0dc9b05f94e0314cb2a5c1fde5735cf8.webp▲图片转成像素风

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

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

1dd141ecfc07733b1d0befe40714f2b4.webp

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

771290def2c5aa6c99057838b99862bd.webp

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

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

Pytorch安装

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

dcf492f4de5c63e311f71c1b889918d8.webp

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

855e38200111d83c6ce994f829579e3e.webp

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

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

网站视图:

7d517574423ef6682429ca6e49569715.webp

动漫风格迁移

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

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

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

fc33f9b49cb6829d7b7017942c5f43e9.webp

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

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

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

实际操作:

b97964a2b17b1174fe19fea1dade32db.webp

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

1bb806041df4748cf73197f1ed5c2b31.webp实战效果①

换一张图看一下:

dbb97abcf18c7afbd02325b1caea1bee.webp实战效果②

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

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

9c19537edd0d43dea8576aabd4d42eb5.webp▲原图

效果如下图所示:

827e88dea47c892b0215f528c11330e3.webp▲效果图

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


注意!

注意!

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

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

2cca5c29c0a5f7ae2960224eeeb60b43.webp▲AnimeGANv2网站

PS公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!


老规矩,兄弟们还记得么,右下角的 “在看” 点一下如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

b24795812aee4d8a028cda8d29e82ac3.webp

神秘礼包获取方式

识别文末二维码,回复:1024

浏览 59
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报