绘绘 - 利用深度学习让大师为你创作艺术作品

ChaplinFelix 发布于1年前
0 条问题

绘绘 - 利用深度学习让大师为你创作艺术作品

大概在 16 年的时候,有一群厉害的毛子利用深度学习技术开发了一款叫做 Prisma 的美图工具,当时给我的感觉就是 AI 真的可以为所欲为了!只不过那时候年轻的我对于 Deep Learning 在图像方面的造诣几乎一无所知,最近一段时间潜心修炼,来和大家分享一下我所学得的一点皮毛,最后的效果大概就是这个样子的:

绘绘 - 利用深度学习让大师为你创作艺术作品

开始这篇文章之前,我们需要一点铺垫工作。在这个变成大师风格作品的任务当中,我们需要对照片进行的处理包括降噪、超分辨率和色彩化。超分辨率(Super Resolution,SR)是一个非常有意思的方向,就是把一张低分辨率的小图(Low Resolution),你通过算法将它放大成一张高分辨率的大图(High Resolution)。这当中我们会接触到一些奇特的算法,大致上有这么几种:

绘绘 - 利用深度学习让大师为你创作艺术作品

在这当中,SRCNN 是率先将深度卷积神经网络(CNN)应用到了 SR 领域,这个算法本身其实还是相对比较容易理解,这里不单独做展开,有兴趣的同学可以看这个链接: Learning a Deep Convolutional Network for Image Super-Resolution

简单来说,SRCNN 作者认为低分辨率和高分辨率图存在着相同特征,所以我们可以从低分辨率图中先提取有效特征,然后对其建立起一个映射(feature maps),然后利用它来构造高分辨率图。

绘绘 - 利用深度学习让大师为你创作艺术作品

但是,当 CNN 被用来训练识别物体的时候,有大牛构造出了一种神奇的网络,它可以使物体信息逐层更明显地提取出来,这种网络结构更关心图片内容,每一层的 feature maps 都可以用来重构图片,较深层次的重构,如下图第二排 d 和 e,更多的捕捉内而忽略像素,而较浅的,如下图第二排的a、b、c,仅是像素的复制。因此,我们需要采用较深的网络结构来做内容重构(content representation)。

绘绘 - 利用深度学习让大师为你创作艺术作品

而 CNN 模型也同样可以用来做风格重现,这时我们就需要使用一种原创设计的特征空间来提取图片的纹理信息(texture information)。特征空间会加在每一个过滤层智商,它包含的是不同过滤层处理后的 feature maps 之间的相关性。如上图第一排所示,这样处理后得到的仅是图片的纹理而不是整体布局。同样的,较深的网络层可以更好地提取纹理而忽略掉内容。

风格图片和我们自己提供的照片图片,分别经过 CNN 提取艺术绘画的风格,照片原图画面中的内容。再定义损失函数为待生成图片原图与风格的差别之和:

绘绘 - 利用深度学习让大师为你创作艺术作品

利用梯度下降最小化损失就得到了兼具原图内容和艺术效果的结果。这样,我们就得到了一幅充满艺术气息的画,可以去发朋友圈装x啦。

有了这些内容的铺垫后,经过一系列的折腾和努力,我们终于在 Tensorflow 上搭建并训练了这套模型,并提供了 7 种不同艺术大师的风格。不仅感叹的是,这玩意儿吃 GPU 和内存也太厉害了!

绘绘 - 利用深度学习让大师为你创作艺术作品

因为 Prisma 服务器搭在国外,本土使用起来极其不便,所以我们团队本着边学习边实践的心态,就做了一个微信小程序来玩玩,把这个装x的机会无偿献给大家,产品正式取名为 「绘绘」, 大家可以在微信小程序中搜索或通过扫描下方二维码获取 如果大家对这个功能体验有兴趣的话可以来微信小程序里玩一下,近期还有打算搞一个活动评选最热大师作品,为获奖作品的定制明信片和相框。

考虑到小程序处理时效的问题,因为是自己采购的 GPU 云服务器所以预算有限(然而也要10块一小时,比去网咖吃鸡还贵!),不能做到完全实时的图片处理交互,只好采用了异步的方式在服务端处理完图片后以通知形式告诉用户。经过几天内测之后承载压力还算正常,要是发现挂了或者遇到什么 bug 都可以来找我反馈免费赠送我的 live 门票哈哈哈,毕竟是单机单节点的服务端,阿弥陀佛。

绘绘 - 利用深度学习让大师为你创作艺术作品

 

本期班门弄斧就先到这儿了,所以下一个趣味深度学习的应用在哪里呢……

 

 

随便引用一下:

Learning a Deep Convolutional Network for Image Super-Resolution

A Neural Algorithm of Artistic Style - Leon A. Gatys, Alexander S. Ecker, Matthias Bethge

Github - fast-neural-style-tensorflow

查看原文: 绘绘 - 利用深度学习让大师为你创作艺术作品

  • crazylion
  • orangeswan
  • smalldog
  • tinypanda
  • greenlion
  • lazybutterfly
需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。