前言
之前一直在研究如何将图像动漫化,尝试了阿里云api和百度api,效果都不尽如人意。结果发现了一个宝藏github项目——AnimeGANv2,能够将现实世界场景照片进行动漫风格化。
可以看出AnimeGAN的效果非常好,而在去年九月发布的 AnimeGANv2 优化了模型效果,解决了 AnimeGAN 初始版本中的一些问题。
相比AnimeGAN,改进方向主要在以下4点:
- 解决了生成的图像中的高频伪影问题。
- 它易于训练,并能直接达到论文所述的效果。
- 进一步减少生成器网络的参数数量。(现在生成器大小 8.17Mb)
- 尽可能多地使用来自BD电影的新的高质量的风格数。
那接下来我们就介绍如何在本地使用该项目。
GitHub链接如下:http://https//github.com/TachibanaYoshino/AnimeGANv2
一、安装
本文介绍的是基于PyTorch的实现,作者为bryandlee,项目地址为animegan2-pytorch。
首先需要配置好适合该项目的环境,具体需要的安装步骤如下:
首先,将该项目clone到本地或者下载下来:
git clone https://github.com/bryandlee/animegan2-pytorch
然后,进入到本地的项目中,会看到如下的项目结构:
├── convert_weights.py
├── model.py
├── README.md
├── samples
│ ├── compare
│ │ ├── 1.jpg
│ │ ├── 2.jpg
│ │ └── 3.jpg
│ ├── face_results.jpg
│ ├── faces
│ └── inputs
│ ├── 1.jpg
│ ├── 2.jpg
│ └── 3.jpg
│ ├── results
├── weights
│ ├── celeba_distill.pt
│ ├── paprika.pt
│ ├── face_paint_512_v1.pt
│ └── face_paint_512_v2.pt
├── hubconf.py
└── test.py
该项目的核心工作就是使用PyTorch构建的生成器模型,并将原始TensorFlow的模型参数转换为了PyTorch模型参数。其中构建模型的脚本为model.py,而转换模型的脚本为convert_weights.py,然后test.py则是封装的一个的动漫化功能接口。
因为下载下来的项目中的weights文件夹下包含了已经转换好的pytorch参数,所以我们不需要进行转化。
至此,本项目环境配置就完成了,接下来就是使用该项目。
二、现实图片动漫化
只需要调用test.py
就可以使用该项目,具体的命令格式如下。
python test.py --checkpoint [模型文件路径] --input_dir [输入图像所在目录] --output_dir [输出目录] --device [设备选择,cpu或者cuda]
其中weights文件夹下包含四个权重,其中celeba_distill.pt和paprika.pt是风景动漫迁移的权重,而face_paint_512_v1.pt和face_paint_512_v2.pt是人脸动漫迁移的权重。只需要选择对应的权重就能实现自己想要的动漫风格迁移。
最终我们看下效果。
三、实现效果
人物:
风景迁移:
请直接观看以下视频
智能实景转动漫 AnimeGANv2
总结
本文简单介绍如何使用AnimeGANv2这个开源项目来实现现实图片转换为动漫风格图像,该项目对应的模型很轻量,希望感兴趣的小伙伴们也能够用起来,生成自己喜欢的动漫图像。
这样又可以get到一个新技能,那就是画动漫画!!!
参考:
照片动漫化_周先森爱吃素的博客-CSDN博客