本文为雷锋字幕组编译的技术博客,原标题Creating Intricate Art with Neural Style Transfer,作者为Kalai Ramea。
翻译 | 陈俊雅 校对 | 凡江
自从Gatys发表了神经风格迁移算法,我们见证了海量的图片摇身一变成了艺术品。
算法用了一个前馈网络把给定图片的风格输入网络。我们还看到了超厉害的“非艺术气质的风格迁移算法”,“非艺术画”或者日常用品都可以铺开来构成风格图片来创造艺术。后来这个领域有了进展,由Johnson等人发展出了一个快速风格迁移方法。这个方法就为手机应用市场铺平了道路,其中一个著名的就是Prisma,用户可以在几秒内把手机拍摄的照片打造成艺术作品。
然而,利用这个算法生成的大部分艺术品主要内容是来自于内容图片。
这篇文章介绍了一种新颖的方式:以轮廓剪影为内容,以涂鸦风格来生产(设计)复杂艺术。
三大最流行的 AI 文章
繁复画作思想的起源
我是一个手绘“禅绕画”艺术家的超级粉丝。这种艺术品把复杂的图案或者涂鸦镶嵌进长方形或任何其他形状,看起来繁复而优美。
手绘禅绕画
它们最近用于中年少男少女的涂色绘本。可以想见,绘制这类艺术品需要很好的耐心。
缺乏耐心的那种人(包括我)仍然希望能够绘制一些复杂的艺术大作,那么我们就需要借助深度学习来拯救自己尚未泯灭的童心了。
复杂风格迁移的框架
这个框架是在Gatys的风格迁移算法为基础做一些小改动。我们的做法是,内容图片是一张剪影,风格图片可以是任何图案(从简单的黑白涂鸦到更复杂的色彩镶嵌)。这段代码包含了转换图案和创建基于内容图片的掩模,它们最终都会被用到生成图案中。
这个应用的权重是来源于预训练网络(VGGNET)。前面的特征层视为图片风格服务的,后面的特征层视为内容图片服务的。Gram阵度量了风格损失和内容损失,每次迭代需要极小化这个联合损失。
复杂艺术的神经风格迁移框架
生成了融合的图片以后利用掩模迁移并保存为输出。这个代码用以tensorflow为后端的keras编写的。详细代码可以点击这里的Github链接查看。
按照机器学习的实际应用的传统,算法一开始放在一只猫的剪影上进行了测试。
由猫剪影生成的复杂艺术品
不算太差吧。这幅画的风格来自于一组简单的涂鸦堆积在一起。
我们来尝试一下更复杂的色彩图案作为风格输入吧!这些大概需要100到250次迭代。如果迭代次数不够多,输出图片就会还留有一部分的剪影黑底。
输入风格(左)与生成的艺术品(右)
我们把给定的几何图案作为风格输入,就生成了极其有趣的,彩色玻璃效果的艺术品。
几何图案艺术品作为风格(左)与生成的艺术品(右)
这个代码还可以选择指定背景图片或背景色彩。
由文字剪影生成的艺术品
图案已经用光了?拍一张外婆被子的照片吧!
被子图案(左)与Darth Vader被子艺术(右)
现在Darth Vader和你外婆有的好聊啦~
为什么用剪影
为什么我们偏要来生成剪影轮廓?不能直接从已有的图案上面抠图么?或者就用白噪声来生成一种新的图案然后抠图安到任何图形上不好么?为什么偏偏想不开要用剪影呢?
把剪影用作内容图片当然有它的好处。以楼下三个生成的艺术作品为例。(X) 就是从原始图案直接抠图到舞者形状里的。(Y)是由白噪音加到内容图片上生成图案,然后抠图到舞者形状上,构成了最后的图片。(Z)是把剪影作为内容然后用掩模迁移来剪出最后的图片的。
前面两个图片(X)和(Y),我们看到图案(不管是不是生成的)都不能填充满整个舞者。(Y)我们虽然有了新的图案,但和形状配不起来。然而(Z)看起来图案放在这个图形里宛如天生般的适合。
沿着边边卡准的图案(左)和沿着边边的被子针脚(右)。
用被子图案生成的艺术品(见上方的Darth Vader)有着沿着边边的针脚,就好像布特地剪切好做出来的!用白噪声和内容图片生成图案或者直接从图案上剪切下来的时候就不会产生这样的情形。
另外,剪影不一定要全部都是黑色的。其实各种颜色就像种子(生成随机数的种子)一样可以生成不同种类的艺术品。我们想要把哪种颜色作为主色来选择剪影颜色(注意:黑色就像一个分界颜色——它是中性的)。
由同一风格生成的不同剪影的艺术品
应用
任何图案设计(例如:logo, 符号, 海报)
客户服装设计(有自己个性的或者印有自己喜欢的名言的T恤,或者设计一件抽象款的衣服)
印刷设计(就把图案塞到文字轮廓里)
设计涂色绘本
注意
本项工作原为Self-Organizing Conference on Machine Learning, 2017的海报。
参考文献
Leon A. Gatys, Alexander S. Ecker, Matthias Bethge. A Neural Algorithm of Artistic Style. 2015. https://arxiv.org/abs/1508.06576
Roman Novak and Yaroslav Nikulin. Improving the Neural Algorithm of Artistic Style. 2016. https://arxiv.org/abs/1605.04603
Some of the code is developed based on Somshubra Majumdar’s implementation of neural style transfer: https://github.com/titu1994/Neural-Style-Transfer
Geometric patterns are obtained from artist Rebecca Blair: http://rebeccablairart.tumblr.com/
鸣谢
本项工作的完成离不开Palo Alto Research Center为我们提供的GPU,和 PARC研究员为我们提供宝贵的意见。
博客原址 https://becominghuman.ai/creating-intricate-art-with-neural-style-transfer-e5fee5f89481
更多文章,关注雷锋网,添加雷锋字幕组微信号(leiphonefansub)为好友 (雷锋网雷锋网)
备注「我要加入」,To be a AI Volunteer !