梦想伊始
作为日漫的爱好者,特别是对宫崎骏、新海诚这些壁纸狂魔的作品情有独钟。同时,作为一个程序员的我,一直梦想着可以开发一个功能,实现将现实的照片风格转化为动漫风格,为此我开始学习Python,学习过程中发现已经有大神实现了这样的功能,于是迫不及待的研究起来。因为入门python才一周,我使用了5天的时间才在本地实现了这个功能。发此文一是记录这个实践过程中的所学,二是将这个知识分享起来,希望对有同样爱好的技术人员有些许帮助。
AnimeGAN 介绍
随着计算机视觉技术的发展,有很多图片风格转换的算法模型,比如:CartoonGAN、AnimeGAN 、ComixGAN等。这次学习的项目是一个 TensorFlow 新项目,它实现了 AnimeGAN,并提供了预训练模型。这意味着我们只要下载安装以后,就可以直接生成实验效果。
Github项目地址:https://github.com/TachibanaYoshino/AnimeGAN
下面,先看看作者提供的效果对比图:
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 相关工具。
3、安装 tensorflow-gpu 依赖
安装这个插件时遇到很多问题,我单独记了一篇文章记录:《Win10 + 1050Ti 安装 tensorflow-gpu-1.8.0 踩坑笔记》。
4、其他依赖安装
剩余的依赖都可以通过Anaconda快速安装。需要手动安装的插件有:opencv、tqdm、glob 。安装步骤如下:
第一步:打开 Anaconda Navigator ,第一次打开要初始化一下,等个几分钟就好了。点击:Environments。
第二步:选择之前安装 tensorflow-gpu 创建的环境。PS:我就是选错环境瞎忙了两天。
第三步:选择需要安装的依赖,比如 opencv 。勾选以后右下加会出现 Apply 按钮,点击会出现版本弹窗,确认就行了。
第四步:解决组件安装慢的问题。因为默认的源访问较慢,可以换成其他快的。
先删除原来的,再添加下面的。推荐的源地址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
AnimeGAN 的使用
AnimeGAN 的使用在官网写的很详细,不过是英文的,不方便阅读。我简单描述一下操作步骤。
1、数据包下载
官网的下载链接太慢了,为此我还特地充了迅雷会员。为了节省大家时间,直接去我网盘下载吧:
链接:https://pan.baidu.com/s/1MAAqhqqdcAEogAyMMJbT6A
提取码:q6d0
2、解压 AnimeGAN 项目
我是为了测试方便,直接解压到桌面了。
2、数据包处理
将下载的数据包放到对应的位置。
3、模型进行训练
1)使用 Anaconda 进入准备好的环境。
2)进入AnimeGAN 项目解压的文件夹
3)执行以下命令进行训练(PS:本项目可以不执行训练,可以执行以下看看效果,不过执行过程超慢且消耗资源严重)
python main.py --phase train --dataset Hayao --epoch 101 --init_epoch 1
训练过程如下图所示:
顺便看一下执行的时候资源消耗:
4、开始使用
搞了这么多,终于可以实战操作一下了,把自己准备的照片转换为二次元风格。
1)将自己的图片,放置到 ~\AnimeGAN\dataset\test 下的一个文件夹中,文件夹可以自己定义。注意图片格式为 jpg ,且大小不要太大,建议不要超过1M .
2)同样的方式进入项目解压目录,执行以下命令:
python test.py --checkpoint_dir checkpoint/ --test_dir dataset/test/yooao --style_name H
3)执行结果如下:
4)查看执行结果
执行完以后会在项目根目录,生成一个results 文件夹,生成图片就在里面。
测试效果
1、风景
2、人像