宫崎骏的动画一直受到大家的喜爱,今天给大家推荐一个项目,能够快速生成宫崎骏动画风格、新海诚、今敏风格的照片。
这个项目就是AnimeGANv2。
先来看一下效果哈,以下是原图以及使用AnimeGANv2生成之后的照片比对:
原图
一、GAN介绍
GAN是生成对抗网络的英文缩写,它是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频。
GAN包括两部分的内容:
- 生成器(Generator):生成器通过机器自动生成图像数据,追求逼真到使得判别器无法识别真实图片或者是生成图像。
- 判别器(Discriminator):判断这张图像是真实的还是机器生成的。
这两个阶段有一个共同的对方就是需要大量的数据训练,所以GAN项目使用前需要下载训练的数据集以提供算法的训练。
GAN算法理论上可以训练出任何一种生成器网络,能够更好地进行数据建模,所以生成的图片更加的逼真和清晰。
在发展过程中衍生出了各种各样的GAN算法,统称为GANs。
二、AnimeGANv2的使用
AnimeGANv2项目的部署使用并不复杂,但是对于GPU有一定的要求,有条件的话最好提供好一些的GPU。
- 下载执行文件
下载执行文件vgg19.npy,下载地址https://github.com/TachibanaYoshino/AnimeGAN/releases/tag/vgg16%2F19.npy。 - 下载训练数据集
下载训练的数据集,下载地址:https://github.com/TachibanaYoshino/AnimeGAN/releases/tag/dataset-1 - 图片处理
python edge_smooth.py --dataset Hayao --img_size 256
4.计算图片颜色差异
python data_mean.py --dataset Hayao
5.进行数据训练
python main.py --phase train --dataset Hayao --data_mean [13.1360,-8.6698,-4.4661] --epoch 101 --init_epoch 10
6.提取生成器的权重
python get_generator_ckpt.py --checkpoint_dir ../checkpoint/AnimeGAN_Hayao_lsgan_300_300_1_2_10_1 --style_name Hayao
7.生成目标图片
python test.py --checkpoint_dir checkpoint/generator_Hayao_weight --test_dir dataset/test/HR_photo --style_name Hayao/HR_photo
8.生成目标视频
python video2anime.py --video video/input/test.mp4 --checkpoint_dir checkpoint/generator_Paprika_weight
项目的github地址:
https://github.com/TachibanaYoshino/AnimeGANv2。
三、第三方网站
由于AnimeGANv2的部署需要一定的物理资源,特别是GPU,所以如果你只是想尝试一把的话可以试一下已经部署好的一些第三方的网站,这里我提供一个网站,生成图片的速度还挺快的,大家可以尝试一下,网站地址:
https://huggingface.co/spaces/akhaliq/AnimeGANv2