AnimeGANv2:照片动漫化
Posted 周先森爱吃素
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AnimeGANv2:照片动漫化相关的知识,希望对你有一定的参考价值。
简介
本文介绍一个很有趣的基于GAN来将现实图片动漫化的项目,为AnimeGANv2,它可以将现实场景的图片处理为动漫画分,目前支持宫崎骏、新海诚和今敏的三种风格。由于原作者使用的是TensorFlow,环境配置上稍显麻烦,本文介绍的是基于PyTorch的实现,此外,本文侧重于如何在本地使用该项目,具体原理可以参考原论文或者作者的解读。
安装
本项目是一个使用PyTorch的AnimeGANv2的实现,作者为bryandlee,项目地址为给出链接,我这里基于该项目进行处理,所以首先需要配置好适合该项目的环境,具体需要的安装步骤如下(所演示的过程均在Ubuntu系统下测试成功)。
首先,将该项目clone到本地,使用如下命令即可完成。
git clone https://github.com/bryandlee/animegan2-pytorch
然后,进入clone到本地的项目中(cd
),会看到如下的项目结构,该项目的核心工作就是使用PyTorch构建的生成器模型并将原始TensorFlow的模型参数转换为了PyTorch模型参数,其中构建模型的脚本为model.py
而转换模型的脚本对应为convert_weights.py
,然后test.py
则是封装的一个推理的接口。
.
├── 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
├── test_faces.ipynb
└── test.py
为了使用原始的模型参数,这里首先需要转换TF模型,因此是需要安装TensorFlow的,不过我这里已经将原作者的三个模型(对应三种风格,分别是generator_Hayao_weight
、generator_Paprika_weight
和generator_Shinkai_weight
)转换成功了,直接从我的网盘链接(提取码zczc)下载即可,会得到三个预训练模型文件,分别是pytorch_generator_Paprika.pt
、pytorch_generator_Shinkai.pt
和pytorch_generator_Hayao.pt
,下载后将它们放到项目根目录的models
文件夹下(没有则新建)。
接着,就是不需要TensoFlow的环境配置了,我这里给出使用conda虚拟环境的完整命令。
conda create -n animegan python=3.8 -y
conda activate animegan
conda install pytorch=1.6 torchvision cudatoolkit=10.2 -c pytorch -y
pip install opencv-python
至此,本项目需要的所有环境就配置完成了。
现实图片动漫化
想要使用该项目,非常简单,只需要调用test.py
文件即可,具体的命令格式如下。
python test.py --checkpoint [模型文件路径] --input_dir [输入图像所在目录] --output_dir [输出目录] --device [设备选择,cpu或者cuda]
例如,我这里有一个测试图片放在根目录的samples
下的inputs
目录中,我个人喜欢新海诚的风格,想要生成在根目录的results
文件夹下,并使用CPU进行推理,因此使用命令python test.py --checkpoint ./models/pytorch_generator_Shinkai.pt --input_dir ./samples/inputs/ --output_dir ./results/ --device cpu
即可。
我这里使用测试图片生成的结果如下,左边为原始图像,右边为生成的图像。
下面的图为项目作者对比的原始图像、Tensor Flow版本生成图像、PyTorch版本生成图像,风格为Paprika。
总结
本文简单介绍如何使用AnimeGANv2这个开源项目来将现实图片转换为动漫风格图像,该项目对应的模型很轻量,即使线上部署使用CPU推理也不慢。最后,如果读到了这里并且我的文章对你有所帮助,欢迎一键三连,你的支持是我不懈创作的动力。
以上是关于AnimeGANv2:照片动漫化的主要内容,如果未能解决你的问题,请参考以下文章