1 Star 0 Fork 104

花見 / PaddleGAN

forked from PaddlePaddle / PaddleGAN 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
animegan.md 3.97 KB
一键复制 编辑 原始数据 按行查看 历史
LielinJiang 提交于 2021-02-26 22:18 . fix bugs and update docs (#187)

1 AnimeGANv2

1.1 原理介绍

AnimeGAN基于2018年CVPR论文CartoonGAN基础上对其进行了一些改进,主要消除了过度风格化以及颜色伪影区域的问题。对于具体原理可以参见作者知乎文章。AnimeGANv2是作者在AnimeGAN的基础上添加了total variation loss的新模型。

1.2 如何使用

1.2.1 快速体验

安装PaddleGAN之后运行如下代码即生成风格化后的图像output_dir/anime.png,其中PATH_OF_IMAGE为你需要转换的图像路径。

from ppgan.apps import AnimeGANPredictor
predictor = AnimeGANPredictor()
predictor.run(PATH_OF_IMAGE)

或者在终端中运行如下命令,也可获得相同结果:

python applications/tools/animeganv2.py --input_image ${PATH_OF_IMAGE}

1.2.1 数据准备

我们下载作者提供的训练数据,训练数据可以从这里下载。 下载后解压到data目录下:

wget https://github.com/TachibanaYoshino/AnimeGAN/releases/download/dataset-1/dataset.zip
cd PaddleGAN
unzip YOUR_DATASET_DIR/dataset.zip -d data/animedataset

解压完成后数据分布如下所示:

animedataset
├── Hayao
│   ├── smooth
│   └── style
├── Paprika
│   ├── smooth
│   └── style
├── Shinkai
│   ├── smooth
│   └── style
├── SummerWar
│   ├── smooth
│   └── style
├── test
│   ├── HR_photo
│   ├── label_map
│   ├── real
│   ├── test_photo
│   └── test_photo256
├── train_photo
└── val

1.2.2 训练

示例以训练Hayao风格的数据为例。

  1. 为了保证模型具备生成原图的效果,需要预热模型:
python tools/main.py --config-file configs/animeganv2_pretrain.yaml
  1. 预热模型完成后,训练风格迁移模型: 注意: 必须先修改在configs/animeganv2.yaml中的pretrain_ckpt参数,确保指向正确的 预热模型权重路径 设置batch size=4learning rate=0.0002,在一个 GTX2060S GPU上训练30个epoch即可获得较好的效果,其他超参数请参考configs/animeganv2.yaml
python tools/main.py --config-file configs/animeganv2.yaml
  1. 改变目标图像的风格 修改configs/animeganv2.yaml中的style参数即可改变风格(目前可选择Hayao,Paprika,Shinkai,SummerWar)。如果您想使用自己的数据集,可以在配置文件中修改数据集为您自己的数据集。

注意: 修改目标风格后,必须计算目标风格数据集的像素均值,并修改configs/animeganv2.yaml中的transform_anime->Add->value参数。

如下例子展示了如何获得Hayao风格图像的像素均值:

python tools/animegan_picmean.py --dataset data/animedataset/Hayao/style
image_num: 1792
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1792/1792 [00:04<00:00, 444.95it/s]
RGB mean diff
[-4.4346957 -8.665916  13.100612 ]

1.2.3 测试

测试模型:

python tools/main.py --config-file configs/animeganv2.yaml --evaluate-only --load ${PATH_OF_WEIGHT}

1.3 结果展示

原始图像 风格化后图像
Python
1
https://gitee.com/thvflm/PaddleGAN.git
git@gitee.com:thvflm/PaddleGAN.git
thvflm
PaddleGAN
PaddleGAN
develop

搜索帮助