寻找下一款Prisma APP:深度学习在图像处理中的应用探讨

  1. 云栖社区>
  2. 博客>
  3. 正文

寻找下一款Prisma APP:深度学习在图像处理中的应用探讨

云学习小组 2016-10-22 23:15:57 浏览8148
展开阅读全文

923日到924日的MDCC 2016年中国移动者开发大会“人工智能与机器人”专场中,阿里云技术专家周昌进行了题为《寻找下一款Prisma APP:深度学习在图像处理中的应用探讨》的演讲。演讲中,他主要介绍深度学习在图像处理领域中的应用,主要内容包括:传统的图像处理:如超分辨、灰度图彩色化、2D/3D转换等;图像/视频风格化;图像生成。

以下是现场分享整理。


图像处理类过程主要分为三步,包括图像增强、图像变换、图像生成。图像增强是指从图像到图像;图像变换是指从图像到另外一张图像;图像生成是指直接生成新的图像,这三类都可以在开发者领域找到突破点。

图像增强:从图像到图像

265b245a00b13fbdd6e75ab6baa8b88cd9129c66

图像增强包括分辨率增强、清晰度增强、画面改善、色彩的增强等。这里通过几个图像增强的小案例进行详细讲解,例如在下雨场景中把雨滴去掉、B站常用的waifu2x以及一些老旧照片彩色化、去掉马赛克等案例。

e82d4f6077c76ec813252ce15f81a1c7ae11c38c

分辨率增强是指超分辨率,是将低分辨率的图像转换为高分辨率的图像,目前可以实现“标清”转换为“高清”,通常是2X,也可以是4X;上文提到的waifu2x是基于深度学习里的开源软件,目前在B站上以waifu2x为关键词可以搜出60多个老片子,迎合目前的需求。

994791eb21b8b3d1087778836954b4d02f59af0c

清晰度增强,主要包括去噪声和去马赛克。可以将一些比较低的片源、照片变换为比较清晰一点的照片,主要用于老的港片可以变成很清晰的版本,将很老的照片变得清晰。

1f4feaef08b609870d84d752cb3132e4fe7d9c1b

这是图像增强的另一个应用,用于画面改善,如去雾、去雨,常见的应用是做成相应的滤镜。

fa2272e745b0b34f89e178deb9b8dbc83351d951

上图是色彩的增强的案例,将灰度图彩色化。它的核心是CV领域内很少用到的神经网络,用户无需关心网络架构,只需熟悉框架应用,熟知如何将其部署在移动端、云端即可。

7d6ede1885a8c0c6f37f8514bc2fa713877e8844

除上述介绍的应用之外,还有更多的图像增强类应用,如常见的视频增强应用,用于频率变换,从25fps到50fps;从2D到3D转换,手机视频去抖动以及视频直播应用等。目前,阿里云也推出了云端服务,用户可以通过部署在云端来满足相应的应用或算法需求。

图像变换:从图像到另外一张图像

8a406b09a990cf5cbb39b109e2e197148ca49673

上文讲到的是从图像到图像的倾向于常规的图像处理的应用,这些应用是无法处理得到炫酷的效果,但通过云端可以实现。通过对存量的图像、视频进行去噪或放大处理,得到另一张图像,其中最为知名的是风格化处理,它是指一张图片转变为另一张图片时,变换了风格。

f9689bb4a4635d0e1f137be919902ed7fedd2c97

如图所示的风格是通过Google的Deepdream实现的,通过卷积网络反向传播的思想,强迫它激活某个神经元,最后生成一个从未见过的神奇图像。

风格化:全局的纹理学习

8ae3a3b8a064cbd382a460baa555ee4d1fe732e0

真正风格化实现的第一篇论文是全局的纹理学习,是一篇德国的论文。它的重点是全局的风格,通过指定一张照片,指定一张需要学习的风格的图像,通过若干次的运算(运算非常缓慢,即使在GPU上,也需要秒级以上),最后输出所需要的神奇图像。

9110ba74293419d877ca26517fe9e668b0901adf

上图所示的Github开源项目,目前有一万多个点击,是将输入的照片按照毕加索画的风格输出,是一种典型的全局风格。

d818e15e143c4b3307aef948c2fd9602d9965d3f

上述的方法是通过指定一张图片再指定一张风格图片,通过BB操作生成图片非常慢。如果通过网络生成,速度是否会加快,这就是ADP思路。Prisma使得绝大数手机上即可实现该功能,通过引擎优化了卷积网络,并进行适当的裁剪,牺牲了部分性能,使得可以在手机上运行。目前,Prisma的日活大概有200多M,通过售卖风格获得收入。

局部风格化:利用位置信息

4dc94faacd5bdab564b8e8a96a43c05ba631bd31

另一种风格化的是局部风格化,如图所示,图上眼睛和眼睛一样,不会跟随头发风格的变化而变化,这是利用位置信息做出的效果,非常逼真,但运算较慢,这是因为它需要根据两幅图的相似区域,在Feature map上直接融合出需要的目标。

交互式涂鸦

2102d38f2d91165fe48a5d35923c4944cbe83ff0

此外,还有一种交互式涂鸦的方式,它并不是直接生成或自动生成一副图片,而是允许用一些方块、拖拉等方式对图片进行处理。这个思路结合上文的风格化方式可以形成一些PGC图像,在将来,这可能是一个爆款APP。

4fd81beb8e89b2e232afd63faf75f9f0147abb0d

总结来看,风格化的技术演变分为四个阶段:第一阶段是基于BP全局风格化;第二阶段是纹理网络;第三阶段是局部风格化;第四阶段是用户交互,其中后两个阶段尚未出现较好的APP应用。

图像生成:直接生成新的图像

b0cbaa3f9edb82c668b5fd0328727224d4853c46

图像生成是指从无到有,直接生成新的图像,生成图像的原理很简单,让电脑看一万只猫,它可以生成一万零一只猫,而且是你从未见过的猫。

c035e93f0e9aa87058b85bb8c9b0fe66790c3661

最简单的图像生成网络是CPPN网络,CPPN非常巧妙的通过设计网络输入为坐标, 将网络视为一个复杂的连续函数,输出为对应坐标的像素的灰度(或者 RGB )值,因此这种网络可以构造大分辨率的图像。为了输出有效的图像,注意下面两点:

  •  所有网络层的权重初始化为 Norm(0, 1) 分布,不能用太小的值;
  •  网络的坐标输入确保值范围[-1, 1] 附近,不可以过大。

7b72e6c063494490ff3c25383f79e2fb2608761e

另一种方式是DCGAN,是通过对抗网络的方法,由大量的样本生成新的图片,例如海报生成过程中,存在某些隐变量,通过隐变量的组合对某一张图片进行加眼镜的操作、变男或变女的操作等类似的应用;这种方法生成的模型还可以应用于去除水印,电视上或短视频的水印都可以去除掉。

除了生成图像,目前还有应用可以生成视频,这是一个新的发展方向,将一副图片添加到应用后,应用会根据输出的动作进行之后的几帧动作。

总结和展望

35afab5fea50efbcb654af4cf5212fc83ecc0671

上文介绍了三类图像应用,这三类图像应用的好处是只需一台FPU机器、会一点点技术,而且无需任何成本,所有的图像都不需要标注,可以零成本从互联网上获得。

但此类应用需要考虑两个端之间关系,一种方式是全终端;另一种是云端方式,两种方式都有不同的部署方案。目前,全部在终端上完成存在一定困难的(除非愿意做一些优化);在云端完成可以选择CPU或GPU的方式,由于GPU的费用昂贵,在应用设计过程中,需要均衡成本。

c2306d36c7318f8c80b51f0af5552aadaec31d86

云上的智能美工将是图像处理的下一个方向。如果大家在淘宝上搜美工或者搜图片处理,反馈回来很多的搜索结果,如上图所示。仔细看时,这些搜索结果存在两个关键词:去水印和抠图,这种重复性质的PS劳动非常之多,之所以有这种需求是因为太多的淘宝卖家拿别人的图放在自家内,抠图虽然是人工完成的,但都很便宜。

通过前面的总结可以看出,有一个领域是AI真正可以涉足的,尽管看起来不是呢么高大上,但可以真正地节省人工劳动,也就是所谓的云上智能美工,可以完成抠图等基础的底层图处理。

739579868cdfab20281de75c83f5bdfee84d4b85

再下一步的方向应该是智能设计,如上图所示,左侧是Google的时装设计,它是基于一些样本,进行新的服装设计,得到的结果再由艺术家进行专业评鉴;右侧是的国内的电商美学,将其与AI结合,这在将来也是一个非常有趣的方向。

文中涉及的项目链接如下:

图像增强

分辨率增强:https://arxiv.org/pdf/1501.00092v3.pdf

清晰度增强:http://mmlab.ie.cuhk.edu.hk/projects/ARCNN.html

画面改善:https://arxiv.org/pdf/1609.02087.pdf

色彩增强:http://tinyclouds.org/colorize/

更多图像增强类应用:https://www.aliyun.com/solution/media/videorevive

图像变换

风格化:https://arxiv.org/abs/1508.06576

局部风格化:https://github.com/chuanli11/CNNMRF

图像生成

CPPN:http://zhouchang.info/blog/2016-04-08/simple-cppn.html

VAE + CPPN:http://blog.otoro.net/2016/04/01/generating-large-images-from-latent-vectors/

DCGAN:https://github.com/Newmu/dcgan_code

VideoGan:http://web.mit.edu/vondrick/tinyvideo/

总结与展望

智能设计:

https://techcrunch.com/2016/09/02/googles-new-project-muse-proves-machines-arent-that-great-at-fashion-design/

http://www.deepdraw.cn/


精彩问答: 

主持人:在分享中提到了现在有一张图片还有另外一张图片,比如自己自拍的照片和一张毕加索的画,把这两个风格融合在一起,看起来我的照片像毕加索给画出来的,听起来很有意思,也是在人工智能很争议的话题。很多人认为现在的人工智能不够智能,认为机器并没有创造你,比如正常人看来毕加索的画像神经病画的东西,但是很多专业人看是非常有价值的东西。现在的人工智能或者图像处理好像能够完成类似的工作,你觉得以后包括作诗、作词、新闻稿都是由机器来写,以后是不是有些艺术家也可能被人工智能所替代?    

周昌:我个人的观点是暂时人类不会下岗,但长久之后就说不准了。低阶的工作将会由机器完成,节省大量的时间。但是真正的设计,机器是无法完成的,它们只是从样本统计中增加随机变量,这不能称作艺术。但底层重复劳动,如美工、word排版等比较“无聊”的工作可以由人工智能替代。   

主持人:Prisma是爆款产品,网上也有开源的东西。下一步能不能借鉴它的思路给大家一些方向,用什么样的图像技术做一些比较有意思的应用。   

周昌:这两天很火的微信小程序可以添加上去,它有一个最大的好处,就是轻量的渠道或者变现手段:微信支付。对图像进行一个值得付一元的加工,每天的用户量是十分惊人的。Prisma目前大家都已经审美疲劳了,但是我之前提到的这些效果,我估计付五毛钱还是会有市场的。我一直关注深度学习和人工智能落地的想法,这是因为对于开发者而言,资金和实例都有缺陷,当然时间可能也不充足。在视觉领域,有非常多的场景,比如可以设计一款蔬菜的识别,可以查询价格,不至于码农去菜市场被人骗了;另外还可以在野外做毒蘑菇识别,目前蔬菜可以做到百分之八九十准确率。图像非常有趣,深度加工、自动化处理、掌纹分析、人脸识别、算婚姻或缘分之类的应用。


关于分享嘉宾:

afc1738269b4abe82de013ee7cc7115652d64ff5

周昌(花名慕开),阿里云iDST技术专家,长期专注于计算机视觉和网络多媒体领域,开发过多款相关产品,包括阿里云视频云的点播和直播系统。同时也是一名开源软件爱好者,开发的app拥有超过500万的用户,目前在阿里云iDST视觉计算团队从事深度学习算法研发。

网友评论

登录后评论
0/500
评论
云学习小组
+ 关注