雷锋网(公众号:雷锋网)AI科技评论:随着移动端屏幕分辨率越来越高,甚至像iPhone更有所谓的“视网膜屏”,人们对高清图片的诉求也随之越来越大。在QQ 、QQ空间、微博、微信等社交平台,人们常乐于发送和浏览数兆的高清图片,以获得更佳的视觉体验。但这也给用户造成了一定的困扰——要看高清大图也就意味着要占用大量带宽,一来是数据成本增加,二来加载速度会变慢,导致用户体验不佳。在时间就是金钱的时代,怎么能把这么宝贵的时间用在等待loading上呢?
所以如何能够在不影响用户体验的情况下,通过传输小图来达到高清效果是一个很值得研究的问题。在去年10月,谷歌发表了一篇论文讲述了他们推出的一项新技术RAISR(Rapid and Accurate Image Super-Resolution),利用机器学习将低分辨率图像转化为高分辨率图像。这项技术能够在节省带宽75%的情况下分辨率效果达到甚至超过原图,同时速度能够提升大约10到100倍。于是很快RAISR成为该领域的行业标杆。
而近日腾讯QQ空间联合优图实验室也推出的他们在此领域的最新技术TSR(Tencent Super Resolution)。据雷锋网了解,TSR技术在同样的标准下,处理速度在RAISR的基础上提升了40%,处理效果也有明显提升。此外,TSR也是业界首次实现移动端使用深度神经网络进行超分辨率,并保证图片能够实时进行处理。即使在用户的普通Andriod手机,也可以使用这项技术。
一、超分辨率模型
超分模型结构图如下:
1、神经网络
首先,在深度卷积神经网络这一块,他们构建了一个10层的网络。对比目前学术界研究的神经网络,这个网络能够很好的解决Checker Board Artifacts和对于部分图片处理纹理不清晰的问题。通过神经网络抽象出图片的整体特殊,识别图片的纹理和内容,随后再根据图片的纹理和内容进行图片的高清细节重建,从而达到远超过原图的视觉效果。
深度卷积神经网络
通过控制卷积神经网络的层数与每层的CHANEL数,在简化整体计算量的情况下,这个网络能很好的解决图片过于平滑,纹理不清晰的问题。通过精简化的设计,TSR能够保证模型在只有4.6KB的基础上有不错的处理效果。
2、CbCr与Y通道分离
在图片预处理方面,TSR采用了二次插值方法对图片进行预处理。这样做可以对比较模糊的UGC(用户原创内容)图片也能取得较好的效果。针对人眼对于颜色与亮度的敏感程度,他们对图片采用CbCr与Y通道分离,只对Y通道数据进行超分处理的方法提高处理速度。
(注:YCbCr 是色彩空间的一种,通常会用于影片中的影像连续处理,或是数字摄影系统中。 Cb和Cr为蓝色和红色的浓度偏移量成份,Y是所谓的流明(luminance),表示光的强度。)
3、PRelu激活函数
此外,在模型中他们采用PRelu(Parametric Rectified Linear Unit)作为激活函数,这样可以得到更快的收敛速度与更好的网络表达能力。
顾名思义为带参数的ReLU,二者的定义和区别如图
此外,他们采用了基于Adam(Adaptive Moment Estimation,自适应矩估计)的梯度下降法,来求解神经网络模型的具体参数。
4、图片预处理
具体的模型训练上,他们先采用1W张用户真实图片,然后通过调整图片颜色、高度、对比度、施转、左右反转等数据增强操作,构造百万级的训练样本集。然后采用压缩的方法将训练样本图片宽高各压缩到原来的1/2,此时图片的整体带宽就只有原来的1/4了。
5、对比调参
处理后的图片经过前面介绍的超分模型处理后,再与原来的图片的效果进行比较,根据对比效果进行调整模型参数。
与业界的训练该方法不同,除了对比图片的损失(PSNR)外,他们还同时引入了可视化评测系统,使用用户的真实图片进行可视化评测,用于优化参数。
6、评测结果
TSR与学术界前沿超分辨率技术对比如下图(NTIRE2017数据,400* 300 放大到 800 * 600,硬件环境:Titan XP workstation)。 可以看到在处理速度与图片效果上,TSR相比别家(包括谷歌的RAISR)都要更佳。
二、将超分辨率技术应用到移动端
目前主流的深度神经网络模型一般在后台的高性能GPU机器上运行,这对机器性能要求比较高。TSR则为基于手机端的深度学习架构。
TSR将深度学习从后台迁移到移动端, 主要包括如下较为关键的技术:
1、分块加速技术 把图片分成很多小块通过神经网络进行处理。分块加速技术的优点在于能够充分使用CPU的多核特性进行多核并行计算。
在分块的过程中,同时还使用算法对图片的纹理复杂度进行识别和智能处理来提高图片的处理速率。如下图示,通过智能识别可以加速蓝框中图块的处理过程。
2、异构多核CPU/GPU加速技术 能够根据用户手机的GPU与CPU能力进行任务的智能划分,联合GPU/CPU进行处理以达到较好的处理效果。这样的技术也许应该算是业界首创了。
3、统一移动端并行加速框架RapidNet RapidNet深度融合了基于AND平台的opencl GPU并行计算加速技术和基于IOS平台的METAL 加速技术。对基于ARM结构的CPU,则能够充分利用neon SIMD技术和纯程池技术。
TSR/RapidNet架构如图
据了解,相比于业界主流的机器学习平台,速度提高10倍以上,内存消耗则降低95%。
TSR对比业界的处理效果
4、动态探测与模型动态加载技术 保证了手机端的全覆盖。TSR会动态探测手机的处理能力,针对不同手机实时加载不同的模型,从而能够保证所有性能的手机客户端都可以使用这种技术,保证了手机端的全覆盖。
三、TSR图片处理效果
我们来看看TSR对图片处理的效果如何。(注:左边是原图,右边是超分辨率处理的图片)
TSR处理后效果对比:
细节对比:
TSR处理后效果对比:
细节对比:
TSR处理后效果对比:
细节对比:
TSR处理后效果对比:
细节对比:
用户普通图片压缩75%再进行TSR处理后跟原图进行对比效果:
四、与RAISR及其他技术对比
在同样处理标准下,TSR与RAISR的效果性能对比:
可以看出不管是在处理速度,还是处理效果上,TSR都要超过之前行业的标杆PARSR:处理速度在PARSR的基础上提升40%,处理效果也有明显提升。让我们用图来看。
从上面对比图可以看出,对于图片细节与纹理的处理,TSR相比RAISR在细节还原上表现更好。
其次,据介绍,TSR是目前业界唯一能够将基于深度学习的超分分辨率技术落地并应用到移动端的技术,即使在用户的普通的手机上,也可以很好的运行TSR并取得不错的效果。
另外,基于TSR衍生出来的深度学习框架RapidNet,对比CAFFE2与TENSORFLOW框架,性能提升平均达到20倍,且能够把深度学习落地到普通手机。
五、技术应用场景
这项技术的应用,如文章开头所说,可以应用到业界中所有的图片处理上,能够给用户节省75%的流量,从而大大降低图片传输的带宽。对于腾讯来说,TSR目前已经在QQ空间进行落地应用,此外QQ、微信、天天P图、动漫等应该也都是TSR技术的目标使用场景。
另外,据雷锋网了解,这项技术还能够用来智能修复用户的老照片、模糊的图片等,能够把普通图片变成高清图片。
当然或许最重要的是,TSR这项技术其实是打开了移动端进行AI相关的深度机器学习模型的大门。因为之前要想运行深度神经网络就必须采购昂贵的GPU,而现在即使是普通用户也能够在自己的普通的手机上运行这项技术。如果延伸的话,也许TSR技术将来能够对人脸识别、OCR识别、背景识别、人物美妆等技术的发展有一定的帮助。
据介绍,随着AI技术的兴起,腾讯QQ空间也加大了在AI这一块的投入,他们的联合优图实验室在图片的智能化处理(包括视频内容识别、人脸识别)以及语音识别、对话机器人这些领域进行较为深入研究。
。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/128815.html