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_weightgenerator_Paprika_weightgenerator_Shinkai_weight)转换成功了,直接从我的网盘链接(提取码zczc)下载即可,会得到三个预训练模型文件,分别是pytorch_generator_Paprika.ptpytorch_generator_Shinkai.ptpytorch_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:照片动漫化的主要内容,如果未能解决你的问题,请参考以下文章

AnimeGANv2:照片动漫化

AnimeGANv2 实现动漫风格迁移,简单操作

超越前作,实现动漫风格迁移——AnimeGANv2

AnimeGANv2:现实图片动漫化

头像动漫化——微信小程序+Flask后端调用AnimeGanV2

万粉博主推荐,微信小程序 +Flask 后端调用 AnimeGanV2