你看过宫崎骏其人动画的Aragaki Yui吗?这个开源的动画生成器让照片秒变得越来越漫。

来源:15手游网 时间:2022-10-20 13:37:17

机器心脏报告

参与:肖青、司

拍一张照片,把它变成宫崎骏其人、新海诚和其他日本大师的手绘风格作品。这个专门生成动画图像的GAN,在实测中效果很好。

机器之心基于真实店铺照片生成的效果图,一度以为这是一部日本漫画剧的截图。

虽然最近的2019年图灵奖颁给了计算机图形学和皮克斯3D动画,但很多人可能认为2D动画更有趣。宫崎骏其人、新海诚这样的大师手绘的漫画是有灵魂的,每一张都可以成为壁纸,整个日漫以二维为核心。

如果有一个模型可以把真实的画面转换成漫风格的手绘画面,那就很酷了。最近机器之心发现这些模型确实存在,从CartoonGAN到AnimeGAN都可以生成非常有趣的图像。

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

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

虽然原项目中给出的很多最好的例子都是街景,但是我们发现各种场景都还可以。这里是我们尝试的原始图像和生成的效果。看看第一条樱花路的生成效果,突然有种《千与千寻》的感觉。

如果只针对字符,转换效果也很好。我们试着把Aragaki Yui的照片输入AnimeGAN模型,然后就有了下面这种神奇的画风,感觉直接用在动画里没问题。

在最初的GitHub项目中,作者也举了很多例子。以上只是机心的试用结果。也可以用。

阿尼梅根

整个项目实现了论文《AnimeGAN :a用于照片动画的新型轻量级GAN》中提出的方法,其中作者将动漫Gan分别与CartoonGAN和ComixGAN进行了对比。

从图中可以看出,AnimeGAN在细节上的表现要比以上两种方法更好,色彩相对更自然,涂抹感也没有那么强烈。最明显的就是第二行的渲染。AnimeGAN生成的漫画更接近宫崎骏其人的绘画风格。

方法简介

对于本项目的AnimeGAN,AnimeGAN采用的发电机网络和鉴别器网络如下所示。看起来整个模型就是一个常规的卷积神经网络,但是会采用实例归一化和新的LReLU激活函数。

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

灰度风格)损失、灰度侵略、颜色重建)损失这些损失函数可以使生成的图片的风格更接近真实的漫画风格。

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

总的来说,新提出的AnimeGAN是一个轻量级的生成式对抗模型,使用较少的模型参数,引入Gram矩阵来增强照片的风格。研究者的方法需要使用一系列真实图片和一系列动画图片进行训练,并且这些图片不需要成对匹配,说明训练数据非常容易获得。

项目测量

我们在Ubuntu 18.04下测试了这个项目,相关的依赖环境如下:

python 3 . 6 . 8 tensor flow-GPU 1.8 OpenCVTQDMNumpyGlobargParse这些依赖项可以说是CV中常用的扩展库,我们也不用大费周章的去解决依赖环境冲突的各种问题。这里有一个很好的评论。

以下是这个项目培训和测试的详细过程。首先,我们在本地克隆AnimeGAN项目,并将其输入Jupyter笔记本:

!gitclonehttps://github.com/TachibanaYoshino/AnimeGAN

将工作目录切换到AnimeGAN:

importo SOS . chdir(\' anime gan \')print(OS . getcwd())

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

URL=https://github。com/TachibanaYoshino/anime gan/releases/download/Haoyao-style _ v 1.0/Haoyao-style。zip zip _ FILE=./检查点/豪耀式。zip target _ DIR=./check point/saved _ modelmkdir-p ./check point wget-NURL-OZIP _ FILEmkdir-pTARGET _ dir unzipZIP _ FILE-dTARGET _ DIRrmZIP _ FILEDatesetURL=https :/

/github.com/TachibanaYoshino/AnimeGAN/releases/download/dataset-1/dataset.zipZIP_FILE=./dataset.zipTARGET_DIR=./datasetrm-rfdatasetwget-N$DatesetURL-O$ZIP_FILEunzip$ZIP_FILE-d$TARGET_DIRrm$ZIP_FILEVGG_FILE=./vgg19_weight/vgg19.npywget--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_]+).*/\\1\\n/p\')&id=1U5HCRpZWAbDVLipNoF8t0ZHpwCRX7kdF\"-O$VGG_FILE&&rm-rf/tmp/cookies.txt

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

!bashdownload_staffs.sh

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

!pythonmain.py--phasetrain--datasetHayao--epoch101--init_epoch1

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

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

!pythontest.py--checkpoint_dircheckpoint/saved_model--test_dirdataset/test/real--style_nameH

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

热门攻略
推荐游戏