资源 | Style2paints:专业的AI漫画线稿自动上色工具
机器之心报道
参与:蒋思源、李泽南
由于档期限制,我们经常会看到动画由于制作时间紧张而出现作画崩坏的情况。来自苏州大学的研究者们提出的 Style2paints 或许可以帮助我们缓解这样的情况,这种工具可以使用 AI 技术为黑白线稿快速自动上色。在最近推出的 2.0 版中,研究人员使用了完全无监督的生成对抗网络(GAN)训练方法大幅提高了上色的准确性。Style2paints 的作者表示,该工具在精细度、漫画风格转换等方面超越了目前其他所有工具。
GitHub 链接:https://github.com/lllyasviel/style2paints
直接使用:http://paintstransfer.com/
教程视频:https://www.bilibili.com/video/av17537429/
我们很高兴发布 style2paints 的 2.0 版,一个强大的动漫绘画工具。在这里,我们会主要介绍它的新特性。
动漫线稿上色
当我们谈到「上色」时,在人工智能语境里这意味着将线稿的风格转换为彩色漫画风格,其重要之处在于:
1. 让我们直接在纯线稿上生成彩色草图。这意味着艺术家们不必再在线稿上加入高亮或阴影。这一部分非常具有挑战性。近期的 paintschainer 专注于提升阴影部分的表现,我们给出了自己不同的解决方案,我们对新方法的性能非常有信心。
2.「上色」会将线稿风格迁移为彩色图画。图画和上色的线稿图,其中的区别在于阴影和纹理。在高质量的彩色漫画中,女性角色的眼睛应该像星光一样闪耀,脸颊泛红,皮肤细腻,我们尽最大的努力来提升这些部分——而不仅仅专注于填充颜色。
最大贡献
1. 最高准确度
Stylepaints2 的开发者表示其推出的工具有着准确率最高的色彩提示笔,这种被称为「神经提示笔(neural hint pen)」的工具结合了颜色选择器和简单的钢笔工具。艺术家可以选择颜色并在线稿的任何部位加入颜色提示。绝大多数业内最佳的神经网络上色工具都有类似的工具。纵观目前的所有动漫上色工具(Paintschainer Tanpopo、Satsuki、Canna、Deepcolor、AutoPainter(存疑)),Stylepaints2 的笔工具拥有最高的准确度。在最具挑战性的情况下,艺术家甚至能在 1024×2048 分辨率的图画上使用 3×3 的提示笔控制 13×13 区域的颜色。对于更大的区块,3×3 像素点的提示甚至可以控制半张画幅的颜色。这是一个非常具有挑战性的设计,这也意味着该工具是面向专业用途的(与此同时,其他上色方法的提示笔工具更倾向于嘈杂的提示,对于准确性把握不佳)。
2. 最自然的风格
当提到「自然」的时候,我们的意思是在训练过程中不加入任何人工制定的规则,如果你熟悉 pix2pix 或 CycleGAN,你就会明白这些经典方法都会加入一些额外的规则以确保生成图像的高质量。例如,pix2pix(或 HQ)会向学习目标加入一个 l1 损失函数(或一些深度 l1 损失),同时鉴别器接收 [input,training data] 和 [input, fake output] 对。虽然此前的版本中 Stylepaints 使用了这些方法,但新版本中训练是纯粹无监督,且完全无条件的。在训练时,开发者未加入强制神经网络为草图上色的规则,但神经网络自行从输入图片中学习到了上色的方法,这样的过程让鉴别器更加难以识别。最终的学习目标与经典的 DCGAN 完全相同,没有其他任何东西,同时鉴别器也不会收到 pairs。在神经网络非常深的情况下,这种方式非常难以收敛。
3. 最协调的风格
对我们大多数人来说,绘画是非常困难的,这也就是为什么我们会比较佩服艺术家。一位优秀艺术家的最重要技能就是为绘画选择和谐的色彩。大多数人都不知道在绘画领域中有十多种蓝色,并且虽然这些颜色被称为「蓝色」,但它们之间的差异会对绘画结果产生巨大的应用。想象一下,如果非专业用户运行着色软件,而软件向用户展现 20×20=400 的巨大调色板,并向用户询问「你需要哪种图像呢?」我很确定这些非专业用户将不能选择最好的颜色。但是这对 STYLE2PAINTS 来说并不是什么问题,因为用户能上传参考图像(或称为风格图像),然后用户能直接在图像上选择色彩,神经网络随后会根据这些图像和提示的颜色自动为新图像上色。这种色彩协调的着色对于非专业人员来说是友好的。在所有的人工智能动漫绘画智能体中,我们的方法是唯一带有这种协调特征的模型。
动漫风格迁移
是的,这就是一种动漫风格迁移。我不确定我们是不是第一个做这种迁移,但是我确定如果你需要一种动漫绘画的迁移方法,你在网上搜一圈后会最终发现我们的 STYLE2PAINTS 是最好的选择,事实上它也是唯一的选择。许多来自亚洲的论文表明他们已经能够迁移动漫绘画风格,但是如果你仔细查阅他们的论文,你就会发现所谓的新方法其实就是对 VGG 进行调参。因此,下面我们展示了模型的真实情况:
所有基于 ImageNet VGG 的迁移方法在动漫绘画中性能并不够优秀。
所有基于 Anime Classifier 的方法也都不够优秀,因为我们并没有像 ImageNet 那样的动漫数据集。如果你在 Illustration2vec 或其它一些动漫分类器上运行一些 gram 矩阵优化器,你能获得的只有一个完美的 Gaussian Blur Generator,因为所有当前的动漫分类器在特征学习上做得并不好。
因为上面两条,当前所有基于 gram 矩阵、马尔科夫随机场、矩阵范数和深度特征 patchMatch 的方法在动漫上性能都不够好。
因为上面三条,所有前馈的快速迁移方法在动漫上都不够优秀。
GAN 也可以做风格迁移,但是我们需要用户上传特定的风格,而不是选择 Monet/VanGogh。
但幸运的是,我们设法完成了当前版本的应用,并且对它也十分有信心。读者可以尝试这个应用或查看该模型的源代码:
应用地址:http://paintstransfer.com/
模型地址:https://github.com/lllyasviel/style2paints
注意,有些预览的动漫线稿图并不是我们挑选的,我们直接使用了 Paintschainer 来提升线稿图效果。如果你们获得的结果不太好,那么你可以在 Reddit 上讨论。
Reddit 地址:https://www.reddit.com/r/MachineLearning/comments/7mlwf4/pstyle2paintsii_the_most_accurate_most_natural/drv72cj/
说一点技术上的事情:
不知道是什么时候开始的,关于图像处理出现了一个套路,就是用 ResNet 堆砌网络深度,然后就可以量产出论文,最近有很多类似的文章。Style2paints 的模型里面没有 ResBlock。研究人员使用的是特别适合线稿上色的一种 Inception 变体。
PaintsTransfer2.0 教程地址:https://www.bilibili.com/video/av17537429/
效果图
启动服务器
我们需要 Python 3.5/3.6 的环境
pip install tensorflow_gpu
pip install keras
pip install bottle
pip install gevent
pip install h5py
pip install opencv-python
pip install scikit-image
git clone https://github.com/lllyasviel/style2paints.git
(then download all pretrained models from 'release' page and then decompress them to 'style2paints/server')
cd style2paints/server
python server.py
模型
模型可以在该项目下的 Release 界面找到,目前制作者保留这些模型的所有权。
训练数据集
1. 推荐的训练数据集是来自 nico-opendata 的 400k 张图像:https://nico-opendata.jp/en/seigadata/index.html
2. 推荐的线稿图训练方法可以选择 sketchKeras:https://github.com/lllyasviel/sketchKeras
本文为机器之心报道,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者/实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告&商务合作:bd@jiqizhixin.com