腾讯QQ空间超分辨率技术TSR:为用户节省3/4流量,处理效果和速度超谷歌RAISR

雷锋网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技术和纯程池技术。

据了解,相比于业界主流的机器学习平台,速度提高10倍以上,内存消耗则降低95%。

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这一块的投入,他们的联合优图实验室在图片的智能化处理(包括视频内容识别、人脸识别)以及语音识别、对话机器人这些领域进行较为深入研究。


【相关】Google超分辨率论文RAISR实现小结 - 羽凌寒 - CSDN博客 https://blog.csdn.net/u011630458/article/details/69524582

【转载自】

雷锋网 https://mp.weixin.qq.com/s?__biz=MTM2ODM0ODYyMQ==&mid=2651430932&idx=2&sn=c3c90665fdaf888530a8a9809fb93f26&chksm=624da0b6553a29a0f0fa9e0b4290a050db4709dc63ee851208e00fdfea2411c96f346990470a&mpshare=1&scene=23&srcid=1106xNv1zgnlqetbVRT4Uusj#rd

【参考文献】

腾讯QQ空间超分辨率技术TSR:为用户节省3/4流量,处理效果和速度超谷歌RAISR | 雷锋网 https://www.leiphone.com/news/201710/c0GICjRacVyzHKIM.html

TSR:基于深度学习的超分辨率技术及应用 - 云+社区 - 腾讯云 https://cloud.tencent.com/developer/article/1006272

腾讯QQ空间超分辨率技术TSR的更多相关文章

  1. Google 超分辨率技术 RAISR

    每天都有数以百万计的图片在网络上被分享.储存,用户借此探索世界,研究感兴趣的话题,或者与朋友家人分享假期照片.问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机.平板或网络限制下被人为压缩,降低 ...

  2. jQuery插件实现图片展开效果,jquery.gallery。仿腾讯QQ空间说说图片展示效果。

    公司的项目http://www.umfun.com/,有个说说的页面(和腾讯QQ空间说说一样),里面有个发表图片功能,上传完图片,需要点击展开的效果. 当时手里面事情比较多(公司就我一个前端),忙不过 ...

  3. 腾讯QQ空间穿越时光轴3D特效

    <DOCTYPE html> <html> <head> <title>腾讯QQ空间穿越光轴3D特效</title> <style&g ...

  4. 腾讯QQ空间应用宽屏接入

    QQ 空间接入宽屏. (与腾讯微博分属两个不同平台) 相关文档:  流动应用画布说明 前端页面规范 多区多服场景说明 应用宽屏根据游戏分为两种.  1: 普通游戏,但想要实现宽屏显示. 2: 多区多服 ...

  5. Android为TV端助力之QQ空间热更新技术

    直接上代码 package com.enjoy.patch; import android.content.Context;import android.os.Build;import android ...

  6. 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践

    本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...

  7. TOP100summit:【分享实录-QQ空间】10亿级直播背后的技术优化

    本篇文章内容来自2016年TOP100summit QQ空间客户端研发总监王辉的案例分享.编辑:Cynthia 王辉:腾讯SNG社交平台部研发总监.腾讯QQ空间移动客户端技术负责人高级工程师.09年起 ...

  8. 【超分辨率】—图像超分辨率(Super-Resolution)技术研究

    一.相关概念 1.分辨率 图像分辨率指图像中存储的信息量,是每英寸图像内有多少个像素点,分辨率的单位为PPI(Pixels Per Inch),通常叫做像素每英寸.一般情况下,图像分辨率越高,图像中包 ...

  9. 然并卵,腾讯QQ认证空间又再次关闭申请

    昨天发布的腾讯QQ认证空间又开放申请的消息,此消息一放出,大家都去关注认证的事情,而马浩周发现在4月27日下午4-5点,腾讯QQ空间认证又再次关闭页面开放申请的通知,变成了以前停止审核的通知了. 可能 ...

随机推荐

  1. iphone CGContextSetLineWidth 画线的问题

    转自:http://blog.csdn.net/jxncwzb/article/details/6267154 CGContextRef context = UIGraphicsGetCurrentC ...

  2. db papers

    http://www.redbook.io/ http://db.cs.berkeley.edu/papers/ https://github.com/rxin/db-readings http:// ...

  3. 解决老是提示找不到Mapper文件无法执行定义的方法问题!

    尼玛,被mybatis的*Mapper.xml文件害惨了!整整两天都在围绕这个问题转圈! 先看问题长啥样吧!下面是通过逆向工程生成的Mapper.xml文件,包路径什么的都没有错! 但是每次调用Map ...

  4. LeetCode: solveSudoku 解题报告

    Sudoku SolverWrite a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are in ...

  5. 解决Django中在.js文件中用ajax请求后端,找不到CSRF问题

    function getCookie(name) { var cookieValue = null; if (document.cookie && document.cookie != ...

  6. mysql utf8mb4 所引起的问题

    有一个项目需要存储ios的表情(emoji表情)这种表情虽然是utf8编码,但是一个字符需要占用4个字节,而MySQL utf8编码只能存放3字节的字符.在MySQL 5.6中,可以设置编码为utf8 ...

  7. word公式编辑器公式

    Linear format equations and Math AutoCorrect in Word Applies To: Word 2016 Outlook 2016 Word 2013 Ou ...

  8. multi-mechanize error: can not find test script: v_user.py问题

    从github上下载,安装multi-mechanize,新建工程,运行工程报错. 环境: win7-x64, python 2.7 multi-mechanize can not find test ...

  9. Java程序员面试之葵花宝典

    程序员面试之葵花宝典 1.面向对象的特征有哪些方面   抽象:抽象就是忽略一个主题中与当前目标 无关的那些方面, 以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而 只是选择其中的一部 ...

  10. Java调用存储过程小结

    学生在学习jdbc的时候,会问到怎么调用存储过程,现在将java调用oracle存储过程的示例总结如下.(关于调用sqlserver的存储过程将在下次进行小结请关注) 一:无返回值的存储过程 存储过程 ...