关注公众号 前端开发博客,回复“加群”

加入我们一起学习,天天进步

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

本文授权转自:机器之心

随手拍张照片,顺势转换为宫崎骏、新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 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_modelmkdir -p ./checkpoint
wget -N $URL -O $ZIP_FILE
mkdir -p $TARGET_DIR
unzip $ZIP_FILE -d $TARGET_DIR
rm $ZIP_FILEDatesetURL=https://github.com/TachibanaYoshino/AnimeGAN/releases/download/dataset-1/dataset.zip
ZIP_FILE=./dataset.zip
TARGET_DIR=./datasetrm -rf dataset
wget -N $DatesetURL -O $ZIP_FILE
unzip $ZIP_FILE -d $TARGET_DIR
rm $ZIP_FILEVGG_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_]+).*/\1\n/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 秒左右。

整体而言,运行速度还是比较快的,这么好玩的项目,你不来试下吗?

相关文章

  1. GitHub中文排行榜,帮助你发现高分优秀中文项目

  2. 9 种提高国内访问 GitHub 速度的方案

  3. 最强国产开源电子表格-Luckysheet,强势登顶Github trending第一名!

最后

关注公众号:前端开发博客,后台回复以下关键字:

  1. 回复「1024」领取前端进阶资料

  2. 回复「电子书」领取海量面试和JS资料

  3. 回复「资料」领取前端群分享及培训机构的资料

  4. 回复「Vue」获取 Vue 精选文章

  5. 回复「面试」获取 面试 精选文章

  6. 回复「JS」获取 JavaScript 精选文

  7. 回复「CSS」获取 CSS 精选文章

“在看”吗?在看就点一下吧

天秀!GitHub 硬核项目:动漫生成器让照片秒变手绘日漫风!!!相关推荐

  1. python樱花手绘_GitHub 硬核项目:动漫生成器让照片秒变手绘日漫风!!!

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

  2. 硬核开源:动漫生成器让照片秒变手绘日漫风!!!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 随手拍张照片,顺势转换为宫崎骏.新海诚等日漫大师的手绘风 ...

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

    随手拍张照片,顺势转换为宫崎骏.新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测很好用. 根据真实店铺照片生成的效果图,一度以为,这就是某个日漫番剧的截图 尽管最近 2019 年的 ...

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

    机器之心报道 参与:肖清.思 随手拍张照片,顺势转换为宫崎骏.新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测很好用. 机器之心根据真实店铺照片生成的效果图,一度以为,这就是某个日 ...

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

    导语 随手拍张照片,顺势转换为宫崎骏.新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测很好用. 如果有模型能将真实画面转化为日漫风格的手绘画面,那一定非常炫酷.最近机器之心发现确实 ...

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

    本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载 参与:肖清.思 随手拍张照片,顺势转换为宫崎骏.新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测 ...

  7. php foreach 循环 判断index 小于多少_PHP设计模式之迭代器模式 - 硬核项目经理

    一说到这个模式,就不得不提循环语句.在<大话设计模式>中,作者说道这个模式现在的学习意义更大于实际意义,这是为什么呢?当然就是被foreach这货给整得.任何语言都有这种类似的语法可以方便 ...

  8. TPC TiKV:Hackathon 中最硬核项目是如何炼成的?| TPC 战队访谈

    数据库调优可以使数据库应用运行得更快,但对于很多人来说,对数据库内核进行调优是一项很有挑战的"技术活",是只属于少部分内核研发们的"游戏".但即使是他们,对数据 ...

  9. 手绘日漫版的新垣结衣见过没?这个开源动漫生成器让你的照片秒变

    (给机器学习算法与Python学习加星标,提升AI技能) 本文授权转自"机器之心"(almosthuman2014) 随手拍张照片,顺势转换为宫崎骏.新海诚等日漫大师的手绘风格作品 ...

最新文章

  1. eclipse中egit插件使用
  2. 数据库设计准则(第一、第二、第三范式说明)
  3. 数据中心电池室管理之经济实用性方法的探索
  4. echarts画布_vue中动态设置echarts画布大小
  5. centos7 系统缓存清理
  6. AOP框架Dora.Interception 3.0 [1]: 编程体验
  7. linux scp命令 将数据从一台linux服务器复制到另一台linux服务器
  8. 4-7终极无敌DP乱秀
  9. 网站 小图标 大全 url
  10. html 之 img hspace 和 vspace 属性
  11. SAP-ABAP-OOALV方法实现程序源码,仅供参考
  12. 计蒜客习题:恋爱纪念日(C语言)
  13. 百度UEditor编译器中获取HTML内容和纯文本,设置UEditor编辑器的内容
  14. 【踩坑记录】Gazebo启动慢,画面卡“Preparing your world”
  15. 服务器基线加固脚本_一种基于WebLogic的安全基线加固方法与流程
  16. 0.96寸OLED(SSD1306)屏幕显示(一)——基础功能介绍
  17. 如何将加密U盘变为普通U盘
  18. div设置下拉滚动条以及翻滚到底部
  19. 计算机个性化桌面图片,从电脑桌面图片看工作个性
  20. Nginx 和 GeoIP 模块的使用

热门文章

  1. 首届Starcoin Move黑客松源码分析——Atlaspad
  2. python自动化接口_Python接口自动化——Web接口
  3. 二、校园招聘面试过程-经验
  4. python2048游戏撤销上一部功能怎么实现_python 实现 2048 游戏 (一)
  5. 趋势跟踪策略失效了,哈丁和他的元盛该怎么办?
  6. CSR867x学习笔记:SPP Server and Client
  7. 服务器的网络不稳定是什么原因,家里网络不稳定是什么原因
  8. kali Linux隐藏IP教程,Kali Linux 设置动/静态IP地址以及修改DNS
  9. 如何设置分布式IO模块Profinet的地址
  10. 安防流媒体无插件直播管理设计