用 AnimeGAN 将图片转换为二次元的日漫风格

梦想伊始

作为日漫的爱好者,特别是对宫崎骏、新海诚这些壁纸狂魔的作品情有独钟。同时,作为一个程序员的我,一直梦想着可以开发一个功能,实现将现实的照片风格转化为动漫风格,为此我开始学习Python,学习过程中发现已经有大神实现了这样的功能,于是迫不及待的研究起来。因为入门python才一周,我使用了5天的时间才在本地实现了这个功能。发此文一是记录这个实践过程中的所学,二是将这个知识分享起来,希望对有同样爱好的技术人员有些许帮助。

用 AnimeGAN 将图片转换为二次元的日漫风格_第1张图片

AnimeGAN 介绍

随着计算机视觉技术的发展,有很多图片风格转换的算法模型,比如:CartoonGAN、AnimeGAN 、ComixGAN等。这次学习的项目是一个 TensorFlow 新项目,它实现了 AnimeGAN,并提供了预训练模型。这意味着我们只要下载安装以后,就可以直接生成实验效果。

Github项目地址:https://github.com/TachibanaYoshino/AnimeGAN

下面,先看看作者提供的效果对比图:
用 AnimeGAN 将图片转换为二次元的日漫风格_第2张图片

AnimeGAN 环境搭建

因为图片的转换需要用到显卡的GPU,没有其他实验机器,所以直接在本地环境安装(win10 + GTX 1050 Ti 4G+ 16G内存 + i5-7300HQ),开始之前我觉得这个配置还可以,开始运行后发现用于图形处理还是不够,比如比较大(超过1M)的图片就会转换失败,不过不影响结果,普通图片转换还是很快的。

1、相关依赖环境:

都是一些比较常用的依赖库,安装还是比较快的。我是第一次安装,遇到不少问题,都记录下来了。

  • python 3.6.8
  • tensorflow-gpu 1.8
  • opencv
  • tqdm
  • numpy
  • glob
  • argparse

2、Anaconda安装

本次安装 Python 使用的是 Anaconda ,是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。十分适合搭建测试运行环境。

1、下载链接(点击进入清华镜像下载),可以选择适合自己的版本,安装的时候只需要注意添加环境变量就可以了(一定要勾选)。
在这里插入图片描述
2、安装完成以后在 win10 菜单栏可以快速打开Anaconda 相关工具。

用 AnimeGAN 将图片转换为二次元的日漫风格_第3张图片

3、安装 tensorflow-gpu 依赖

安装这个插件时遇到很多问题,我单独记了一篇文章记录:《Win10 + 1050Ti 安装 tensorflow-gpu-1.8.0 踩坑笔记》。

4、其他依赖安装

剩余的依赖都可以通过Anaconda快速安装。需要手动安装的插件有:opencv、tqdm、glob 。安装步骤如下:

第一步:打开 Anaconda Navigator ,第一次打开要初始化一下,等个几分钟就好了。点击:Environments。

用 AnimeGAN 将图片转换为二次元的日漫风格_第4张图片

第二步:选择之前安装 tensorflow-gpu 创建的环境。PS:我就是选错环境瞎忙了两天。

用 AnimeGAN 将图片转换为二次元的日漫风格_第5张图片

第三步:选择需要安装的依赖,比如 opencv 。勾选以后右下加会出现 Apply 按钮,点击会出现版本弹窗,确认就行了。

用 AnimeGAN 将图片转换为二次元的日漫风格_第6张图片

第四步:解决组件安装慢的问题。因为默认的源访问较慢,可以换成其他快的。
先删除原来的,再添加下面的。推荐的源地址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

用 AnimeGAN 将图片转换为二次元的日漫风格_第7张图片

AnimeGAN 的使用

AnimeGAN 的使用在官网写的很详细,不过是英文的,不方便阅读。我简单描述一下操作步骤。

1、数据包下载

官网的下载链接太慢了,为此我还特地充了迅雷会员。为了节省大家时间,直接去我网盘下载吧:
链接:https://pan.baidu.com/s/1MAAqhqqdcAEogAyMMJbT6A
提取码:q6d0

2、解压 AnimeGAN 项目

我是为了测试方便,直接解压到桌面了。
用 AnimeGAN 将图片转换为二次元的日漫风格_第8张图片

2、数据包处理

将下载的数据包放到对应的位置。
用 AnimeGAN 将图片转换为二次元的日漫风格_第9张图片

3、模型进行训练

1)使用 Anaconda 进入准备好的环境。

用 AnimeGAN 将图片转换为二次元的日漫风格_第10张图片

2)进入AnimeGAN 项目解压的文件夹

用 AnimeGAN 将图片转换为二次元的日漫风格_第11张图片

3)执行以下命令进行训练(PS:本项目可以不执行训练,可以执行以下看看效果,不过执行过程超慢且消耗资源严重)

python main.py --phase train --dataset Hayao --epoch 101 --init_epoch 1

用 AnimeGAN 将图片转换为二次元的日漫风格_第12张图片训练过程如下图所示:
用 AnimeGAN 将图片转换为二次元的日漫风格_第13张图片

顺便看一下执行的时候资源消耗:
用 AnimeGAN 将图片转换为二次元的日漫风格_第14张图片

4、开始使用

搞了这么多,终于可以实战操作一下了,把自己准备的照片转换为二次元风格。

1)将自己的图片,放置到 ~\AnimeGAN\dataset\test 下的一个文件夹中,文件夹可以自己定义。注意图片格式为 jpg ,且大小不要太大,建议不要超过1M .
用 AnimeGAN 将图片转换为二次元的日漫风格_第15张图片
2)同样的方式进入项目解压目录,执行以下命令:

python test.py --checkpoint_dir checkpoint/ --test_dir dataset/test/yooao --style_name H

用 AnimeGAN 将图片转换为二次元的日漫风格_第16张图片3)执行结果如下:
用 AnimeGAN 将图片转换为二次元的日漫风格_第17张图片4)查看执行结果
执行完以后会在项目根目录,生成一个results 文件夹,生成图片就在里面。
用 AnimeGAN 将图片转换为二次元的日漫风格_第18张图片

测试效果

1、风景

2、人像

用 AnimeGAN 将图片转换为二次元的日漫风格_第19张图片
用 AnimeGAN 将图片转换为二次元的日漫风格_第20张图片

你可能感兴趣的:(python)