核心基于字节跳动联名论文,可将视频、图片一键卡通化的开源工具

2020年08月05日

前段时间,有人根据一篇字节跳动联名的 AI 论文,做了个可将视频、图片一键卡通化的 Web 端应用 Cartoonize。

Cartoonize

Cartoonize 现在已经开源,使用非常简单,只要上传需要转换的图片、视频即可。Cartoonize 转换可以很好地还原原图细节,下面是人像、风景、食物等实景的转化图。 

 

Cartoonize 还支持10秒以内的视频转换,上一段《复仇者联盟》视频转化效果。

(官网转换视频截图,实际视频效果可进官网查看)

据其官网介绍,Cartoonize 适合四种场景的转换:快速制作动画,卡通和游戏的原型;由于它通常可柔化面部特征和信息,因此可用于生成最小单位的艺术做品;无需使用动作捕捉,游戏可以很容易地导入短视频;可以为图形设计师或动画师做建模助手。

对可转换图片视频的大小格式,Cartoonize 做了一定限制,目前只支持转换10秒及以内的视频,视频文件最大为30 MB,支持的格式包括 mp4、webm、avi、mkv。支持的图像文件格式为 jpeg、png,不支持 GIG/TIFF 图像。

算法:

Cartoonize 使用 Algorithmia 的 Serveless AI Layer 产品对视频进行推理。

测试环境:

  • python 3.7
  • tensorflow 2.1.0
  • tf_slim 1.1.0
  • Cuda version 10.1
  • 操作系统:Linux(Ubuntu 18.04)

安装:

使用 Docker:

运行 Cartoonize 最简单方法是使用 Dockerfile:

  1. cd 到根目录并构建映像
docker build -t cartoonize .

注意:config.yaml在构建图像之前,请设置适当的值。

2. 通过暴露适当的端口来运行容器

docker run -p 8080:8080 cartoonize

使用 virtualenv

  1. 使用virtualenv并激活虚拟环境
virtualenv -p python3 cartoonize
source cartoonize/bin/activate

2. 安装 python 依赖项

pip install -r requirements.txt

3. 运行网络应用。config.yaml在运行应用程序之前,请确保在文件中设置适当的值。

python app.py

项目官网:https://cartoonize-lkqov62dia-de.a.run.app/cartoonize

White-box-Cartoonization:白盒图像卡通化模型

如果想了解更多影像资料卡通化的训练模型和过程,可以查看 Cartoonize 背后的技术论文和项目。事实上,Cartoonize 是  White-box-Cartoonization 的一个 Demo webapp。Cartoonize 核心技术来自 CVPR 2020的投稿论文《Learning to Cartoonize Using White-box Cartoon Representations》,该论文作者系字节跳动、东京大学、Style2Paints Research 人员。

该论文提出了一种基于 GAN 的白盒可控的图像卡通化模型。

论文指出,各种卡通风格和用处需要基于特定任务或者先验知识才能开发可用的算法。例如有些卡通画更关注全局色调,线条清晰度在次;有些强调稀疏和干净的色块,对主题强调少。然而这些变量因素给黑盒模型带来了不小的挑战,如当面对艺术家不同的需求时,简单地更改训练数据集就于事无补了。使用黑盒模型直接拟合训练数据会降低其通用性和风格化质量,在一些情况下导致较差效果。

通常来说,黑盒模型通常有很高的准确性,但是其内部工作难以理解和改动,并且它们不能估计每个特征对模型预测的重要性,也不容易理解不同特征之间如何相互作用。而白盒模型则可以更为自由地修改模型中的某些算法,使之更加灵活地适应不同需求场景。

论文作者指出,为了解决黑盒模型的一些问题,他们对人们的绘画行为和不同风格的卡通形象进行了大量的观察,并咨询了几位卡通艺术家,建议将图像分解为几种卡通表征方式:提取一个带权重的低频内容,表示图片的轮廓表征;针对输入图像,提取分割图,在每个分割区域使用一个自适应的色彩算法生成结构表征;保持绘画细节和边缘的纹理表征。

The separately extracted cartoon representations enable the cartooniaztion problem to be optimized end-to-end within a Generative Neural Networks (GAN) framework,making it scalable and controllable for practical use casesand easy to meet diversified artistic demands with taskspecific fine-tuning.

单独提取的卡通表征形式使卡通化问题可以在生成神经网络(GAN)框架内进行端到端的优化,在实际使用场景中,使其可扩展和可控,易于满足不同的技术需求,也可以根据需求进行微调。

基于该论文的 White-box-Cartoonization 现在已经部分开源。

安装使用:

先决条件:

  • 培训代码:Linux 或 Windows
  • NVIDIA GPU + CUDA CuDNN 性能
  • 推断代码:Linux,Windows 和 MacOS

安装:

  • 假设已经安装了 NVIDIA GPU 和 CUDA CuDNN
  • 安装 tensorflow-gpu,已经测试过 1.12.0 和 1.13.0rc0
  • 安装 scikit-image == 0.14.5,其他版本可能会带来问题

预训练模型推论:

  • 将测试图像存储在/test_code/test_images 中
  • 运行/test_code/cartoonize.py
  • 结果将保存在/test_code/cartoonized_images 中

训练:

  • 将训练数据放在/dataset 中的相应文件夹中
  • 运行 pretrain.py,结果将保存在/pretrain 文件夹中
  • 运行 train.py,结果将保存在/train_cartoon 文件夹中
  • 从生产环境中清除代码,并且未经测试
  • 可能会有一些小问题,但应该很容易解决
  • 可以在以下网址找到预训练的 VGG_19模型:https://drive.google.com/file/d/1j0jDENjdwxCDb36meP6-u5xDBzmKBOjJ/view

数据集:

  • 由于版权问题,无法提供用于训练的卡通图像,但是这些训练数据集很容易准备
  • 风景图来自新海诚,宫崎骏和细田守拍摄的电影
  • 将影片剪辑成帧,并随机裁剪调整为256x256
  • 人像图像来自京都动画和 PA Works
  • 使用此仓库(https://github.com/nagadomi/lbpcascade_animeface)检测面部区域
  • 手动清理数据将大大提高两个数据集的质量
展开阅读全文
86 收藏
分享
加载中
精彩评论
谷歌不愿意遵守中国法律和将服务器搭在中国才走了。TT是遵守美国法律,服务器在美国,员工和管理层全是美国人,中国的程序员连代码给不给看,中国人fq都没法注册账号。这个事实说明想跪着赚美帝的钱,最后钱赚不到可能还被分食。
2020-08-05 14:02
20
举报
楼上二位做过什么硬骨的事?
2020-08-05 10:47
15
举报
😅软骨跳动是咋了
2020-08-05 09:33
10
举报
川普上来就掀了桌子,我要签特别条款禁止TT,但是想想,中国禁谷歌搞了多少年才全禁了,而且美国没法建墙,因为国际互联网本身就是美国搞出来的,大量关键节点在美国,美国建墙,全球都瘫了。在这种情况下,在字节跳动总营收两千亿,海外应收不到50亿的情况下,张一鸣选择,不伤害美国。
2020-08-05 11:35
8
举报
所有在挨打的时候,首先想到的不是打人的人疼不疼的,都比软骨跳动骨头硬。
2020-08-05 11:30
6
举报
最新评论 (28)
Cartoonize还是强大的
2020-08-09 22:02
0
回复
举报
买办资本只能这样,跟张一鸣本人无关,他只不过是个工具人。
2020-08-09 10:37
0
回复
举报
AI,这些玩意,没啥用!
2020-08-08 19:41
0
回复
举报
子节跪动
2020-08-06 09:38
0
回复
举报
干啥啥不行,嘴炮第一名
2020-08-06 09:17
1
回复
举报
你们再讨论下去,红薯又要被请喝茶了
2020-08-05 17:51
1
回复
举报
总结以上评论:果然还是嘴炮最NB
2020-08-05 17:48
5
回复
举报
风格化这种事,只要喂够数据,基本都没难度吧
2020-08-05 11:23
2
回复
举报
字节咋的了
2020-08-05 11:02
0
回复
举报
川普上来就掀了桌子,我要签特别条款禁止TT,但是想想,中国禁谷歌搞了多少年才全禁了,而且美国没法建墙,因为国际互联网本身就是美国搞出来的,大量关键节点在美国,美国建墙,全球都瘫了。在这种情况下,在字节跳动总营收两千亿,海外应收不到50亿的情况下,张一鸣选择,不伤害美国。
2020-08-05 11:35
8
回复
举报
不伤害美国,什么意思?
2020-08-05 12:09
0
回复
举报
谷歌不愿意遵守中国法律和将服务器搭在中国才走了。TT是遵守美国法律,服务器在美国,员工和管理层全是美国人,中国的程序员连代码给不给看,中国人fq都没法注册账号。这个事实说明想跪着赚美帝的钱,最后钱赚不到可能还被分食。
2020-08-05 14:02
20
回复
举报
国内刚开始还没有百度的时候我记得用的就是谷歌,2002年左右的时候,后面慢慢的就没了,你说谷歌不遵守中国法律那也是咱们国家就没打算让谷歌呆在中国,说的好像现在各种泛滥的某些东西 百度就搜不到一样,那百度守法律了吗?
2020-08-05 16:00
4
回复
举报
百度服务器在中国,谷歌在中国能用那会儿服务器也在中国,中国,欧盟,美国都有规定互联网公司服务器要在本国,后来谷歌在中国占有率太低投入产出比不高,加上李开复走了,彻底没方向了,就把中国的服务器关了,这就是谷歌退出中国事件,再后来断断续续被墙,直到完全被墙。
2020-08-05 16:51
3
回复
举报
明明是为了掩盖棱镜,才找了个借口跑了,不然这么大的市场傻子才跑呢
2020-08-05 19:33
3
回复
举报
退出中国的是谷歌的搜索业务,不是整个谷歌。你们都没搞清楚当年谷歌搜索为什么退出中国就来长篇大论,先查查资料再说
2020-08-06 01:46
5
回复
举报
估计那个时代你还没上过网把。。。。谷歌是不愿意对搜索结果进行过滤和干预,还服务器不放在中国。。 高效
2020-08-09 19:40
0
回复
举报
bing挺好用的,bing守法律了,我就不用百度。
2020-08-05 19:48
2
回复
举报
说在,bing比不上百度,事实情况,百度确实有些不得人心的地方,但是不见得只要有德的公司可以赚钱,反过来可能成立
2020-08-06 09:13
0
回复
举报
第一、你说的很玄乎啊,你咋知道那么多,我很好奇和有点怀疑;
第二、算你说的对,TT是遵守美国法律,这有问题吗?要求企业遵守当地法律是我们的基本政策,懂吗?不要进了别人的双标节奏。
2020-08-10 09:11
0
回复
举报
应该对着干,大不了那些海外投资者损失更大,怕个毛
2020-08-10 11:32
0
回复
举报
楼上二位做过什么硬骨的事?
2020-08-05 10:47
15
回复
举报
所有在挨打的时候,首先想到的不是打人的人疼不疼的,都比软骨跳动骨头硬。
2020-08-05 11:30
6
回复
举报
等你挨打的时候 记得大声说你比我疼
2020-08-05 19:05
1
回复
举报
相信我打你的时候你一定会十分为我着想的。
2020-08-05 19:17
0
回复
举报
拿什么打?你的嘴炮?
2020-08-05 20:03
2
回复
举报
更多评论
28 评论
86 收藏
分享
在线直播报名
返回顶部
顶部