核心基于字节跳动联名论文,可将视频、图片一键卡通化的开源工具
前段时间,有人根据一篇字节跳动联名的 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:
cd
到根目录并构建映像
docker build -t cartoonize .
注意:config.yaml
在构建图像之前,请设置适当的值。
2. 通过暴露适当的端口来运行容器
docker run -p 8080:8080 cartoonize
使用 virtualenv
- 使用
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)检测面部区域
- 手动清理数据将大大提高两个数据集的质量

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
自动更新出错且无法禁用,开发者决定放弃 Snap 及 Ubuntu
近日,荷兰开发者Remy van Elst 通过自己的博客控诉了 snap 自动更新所带来的问题,并决定删除 snap,同时选择放弃 Ubuntu。 升级到Ubuntu 20.04 版本后,Remy 通过 snap 安装了 CLion,因为与手动下载安装相比,这样显然更方便。但就在上个周末,他发现CLion 自动更新了。实际上,当他注意到更新时,该程序进程已由于更新导致的错误而终止。 在自动更新过程中,几个关键的插件被破坏。Remy 表示,不仅仅是截图中的插件出了问题,用于交叉编译到 ARM 的插件也成了主要问题。 对他来说,更糟糕的是 Ubuntu 无法禁用snap 更新,这一点 “甚至比 Windows 还差”。三年前就曾有用户在 snap 官方论坛中提出这个问题,下面的讨论一直持续到今年六月底,但 snap 官方人员始终没有给出解决方案。 有网友将这篇博客文章贴到了reddit和 Hacker news 等论坛上,不少人提出可通过snap revert clion回滚到先前的版本,但在Remy 看来,这种治标不治本的行为是没有意义的。他认为,用户对软件包的掌控权更重要。 最后,R...
-
下一篇
Linux 净化而来的完全自由版本 GNU Linux-libre 5.8 发布
昨天 Linux Kernel 发布了 5.8 版本,自由软件基金会的拉美团队(FSFLA)照例跟进发布了 GNU Linux-libre 5.8 内核。 GNU Linux-libre 项目致力于为那些遵循自由软件基金会的《GNU 自由操作系统发行版指南》(GNU Free System Distribution Guidelines)的人们提供上游 Linux 内核的 100% 自由版本。 GNU Linux-libre 从 Linux 内核中删除了一些分布在项目中的并非真正源码的“源码”,比如只提供了二进制的固件/微代码,同时还禁用 Linux 中非自由组件的运行时请求,以及指向它们的文档说明。 此次 Linux 5.8 是一个变化不小的版本,因此 GNU Linux-libre 需要清理的代码不少,开发团队表示,此次清理的新驱动包括Atom ISP Video、MediaTek 7663 USB、7915 PCIe、Realtek 8723DE WiFi、Renesas PCI xHCI、HabanaLabs Gaudi 协处理器、Enhanced Asynchronous S...
相关文章
文章评论
共有0条评论来说两句吧...