宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

栏目: IT技术 · 发布时间: 5年前

内容简介:随手拍张照片,顺势转换为宫崎骏、新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测很好用。机器之心根据真实店铺照片生成的效果图,一度以为,这就是某个日漫番剧的截图。

随手拍张照片,顺势转换为宫崎骏、新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测很好用。

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

机器之心根据真实店铺照片生成的效果图,一度以为,这就是某个日漫番剧的截图。

尽管最近 2019 年的图灵奖颁给了计算机图形学、颁给了皮克斯 3D 动画,但很多人可能认为二维动漫更有意思一些。像宫崎骏、新海诚这些大师手绘下的动漫,才有了灵魂,张张都能成为壁纸,而整个日漫也以二维为核心。

如果有模型能将真实画面转化为日漫风格的手绘画面,那一定非常炫酷。最近机器之心发现确实有这些模型,从 CartoonGAN 到 AnimeGAN 都能生成非常有意思的图像。

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

这里有一个 TensorFlow 新项目,它实现了 AnimeGAN,并提供了预训练模型。也就是说,我们下载后可以直接试试生成效果。作为日漫风格的爱好者,我们很快就试用了一下新项目。

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

虽然原项目给出的优秀示例很多都是街景,但我们发现各种场景也都还行,如下是我们试用的原图与生成效果。看看第一张樱花道生成效果,忽然有一种《千与千寻》的感觉。

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

如果只针对人物,转换效果也是非常不错的。我们尝试将新垣结衣的照片输入 AnimeGAN 模型,然后就有如下这种神奇的画风,感觉直接用到动漫里也没什么问题了。

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

在原 GitHub 项目中,作者还给了非常多的示例,上面只是机器之心试用的结果,你也可以来用一用。

AnimeGAN

整个项目实现的是论文「AnimeGAN: a novel lightweight GAN for photo animation」中所提方法,作者在论文中分别将 AnimeGAN 与 CartoonGAN、ComixGAN 进行对比。

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

从图中可以看到,AnimeGAN 在细节方面的表现要优于以上两种方法,色彩相对而言更加自然,涂抹感也没有那么强烈。最明显的是第二行的效果图,使用 AnimeGAN 生成的漫画更加接近宫崎骏的画风。

方法简介

对于这个项目的 AnimeGAN,如下所示为 AnimeGAN 所采用的生成器网络与判别器网络。看起来模型整体是比较常规地一个卷积神经网络,但它会采用实例归一化以及新型的 LReLU 激活函数。

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

除了架构细节上的更新外,作者还提出了以下三个新的损失函数:

  • 灰度风格(grayscale style)loss
  • 灰度对抗(grayscale adversarial)loss
  • 色彩重构(color reconstruction)loss

这些损失函数能够让生成图片的风格更加接近于真实的漫画风格。

下表比较了 ACartoonGAN 与 AnimeGAN 的模型大小与推理速度。可以明显看出,AnimeGAN 是个相对轻量级的 GAN,具有更少的参数量以及更快的推理速度。

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

总体来说,新提出来的 AnimeGAN 是一种轻量级的生成对抗模型,它采用了较少的模型参数,以及引入格拉姆矩阵(Gram matrix)来加强照片的风格。研究者的方法需要采用一系列真实图片与一系列动漫图片做训练,且这些图片并不需要成对匹配,这就表明训练数据非常容易获得。

项目实测

我们在 Ubuntu 18.04 下对本项目进行了测试,相关依赖环境如下:

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

这些依赖项可以说都是 CV 中常用的扩展库,我们就不用费尽心思去解决各种依赖环境冲突的问题了,这里给个好评。

以下是本项目的训练及测试详细流程。我们首先将 AnimeGAN 项目克隆到本地,在 Jupyter notebook 中输入:

!git clone https://github.com/TachibanaYoshino/AnimeGAN 

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

将工作目录切换到 AnimeGAN:

import os 
 
os.chdir('AnimeGAN') 
 
print(os.getcwd()) 

接下来下载项目作者提供的预训练模型,使用 vim download_staffs.sh 创建一个 Shell 文件,输入如下命令:

URL=https://github.com/TachibanaYoshino/AnimeGAN/releases/download/Haoyao-style_V1.0/Haoyao-style.zip 
 
ZIP_FILE=./checkpoint/Haoyao-style.zip 
 
TARGET_DIR=./checkpoint/saved_model 
 
mkdir -p ./checkpoint 
 
wget -N $URL -O $ZIP_FILE 
 
mkdir -p $TARGET_DIR 
 
unzip $ZIP_FILE -d $TARGET_DIR 
 
rm $ZIP_FILE 
 
DatesetURL=https://github.com/TachibanaYoshino/AnimeGAN/releases/download/dataset-1/dataset.zip 
 
ZIP_FILE=./dataset.zip 
 
TARGET_DIR=./dataset 
 
rm -rf dataset 
 
wget -N $DatesetURL -O $ZIP_FILE 
 
unzip $ZIP_FILE -d $TARGET_DIR 
 
rm $ZIP_FILE 
 
VGG_FILE=./vgg19_weight/vgg19.npy 
 
wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1U5HCRpZWAbDVLipNoF8t0ZHpwCRX7kdF' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/1n/p')&id=1U5HCRpZWAbDVLipNoF8t0ZHpwCRX7kdF" -O $VGG_FILE && rm -rf /tmp/cookies.txt 

保存后退出,以上命令会将预训练的模型、vgg19 权重以及训练数据集下载并保存到其对应目录下。在 notebook 中运行:

!bash download_staffs.sh 

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

至此即完成所有准备工作,运行如下代码就可以对模型进行训练了:

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

AnimeGAN 的训练过程如下图所示:

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

当进行测试时,我们需要将用于测试的图片保存到 dataset/test/real 目录下,并运行如下代码:

!python test.py --checkpoint_dir checkpoint/saved_model --test_dir dataset/test/real --style_name H 

宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

当看到以上输出说明程序已经成功运行完成,生成结果保存在 results 文件夹下。可以看到,在 P100 GPU 上生成一幅图片需要大约 2.3 秒左右。


以上所述就是小编给大家介绍的《宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Distributed Systems

Distributed Systems

Sukumar Ghosh / Chapman and Hall/CRC / 2014-7-14 / USD 119.95

Distributed Systems: An Algorithmic Approach, Second Edition provides a balanced and straightforward treatment of the underlying theory and practical applications of distributed computing. As in the p......一起来看看 《Distributed Systems》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具