近日,华为推出了 HiSR 超分辨率技术,该模型借助第一款人工智能手机芯片 Kirin 970 和深度学习算法将低分辨率图片转化生成高清图片,并在移动端实现了快速预览高清图片的效果。本文简要介绍了华为 HiSR 模型的结构与效果。
前言
超分辨率算法是一种将低分辨率图片重建为尺寸更大、像素更多、质量更高的计算机视觉技术。最常见的传统图像处理算法是双三次插值(Bicubic Interpolation),该方法能创造出比双线性插值更平滑的图像边缘,且速度也较快。但是 Bicubic 算法对于重建高清作品里生动的细节有些力不从心,图像的细节和纹理等信息难以恢复。
华为推出的新技术 HiSR(Hisilicon Super-Resolution)在同样的标准下,处理效果相比 Google 的 RAISR 超分算法有明显的提升,此外 HISR 通过 Kirin 970 芯片的 HiAI 移动人工智能平台加速,首次实现了移动端的深度网络超分辨率算法,不仅达到了实时处理的速度,还保证了图片的效果,能效比提升了 50%。以下是 HiSR 算法提升的效果对比图:
HiSR 算法提升效果对比图:左图为原图,右图为 HiSR 算法生成的图片HiSR 超分辨率模型
深度网络
首先,HiSR 构建了一个七层深度的卷积神经网络,该模型能够有效地提升图片的质量,解决了深度网络研究存在的很多问题,比如说图片超分辨率时出现的块效应和细节丢失、边缘纹理不清晰的问题。该网络能够在 Kirin 970 的 HiAI 移动人工智能平台实现实时运算速度,相对普通的 CPU 计算,速度提升了 25 倍,即使相对于能够并行处理的 GPU,速度也提升了 6 倍。HiSR 网络结构如下图所示:
HiSR 超分辨率深度网络结构卷积层
图像的卷积操作相当于对图像进行一系列的滤波操作,在一定程度上,卷积神经网络的工作就在于构建这些滤波器。通常,图像经过第一个卷积层之后会有效的提取图片的低阶特征,比如边缘、角点、曲线等。通过第二个卷积层的输出可以得到边缘、角点、曲线等低阶特征的组合等情况(例如四边形、半圆等),如此累积,深层的卷积网络可以检测越来越复杂的特征。事实上,我们人类大脑也遵循这样的低阶特征到高阶特征的模式进行视觉信息处理的。
本网络采用了七个卷积层,能够通过学习获取图像各个方面的信息,有效的提取图片的整体特征。模型采用先进的 1x1 的卷积核和计算量较小的 3x3 卷积核,且整个过程保持 feature map 的尺寸不变,保证图像的细节不丢失。
反卷积层
相对于大多数超分辨率的深度网络来说,例如 SRCNN 和 TSR 等超分算法,都是通过采用 Bicubic 算法先将图片直接放大到需要的尺寸,然后再进行卷积操作,也就是说这类算法的操作都是为了改善 Bicubic 算法的缺陷,计算量比较大,运行的时间较长,而且效果往往也会局限于 Bicubic 算法的限制,得不到很大的提升。
HiSR 超分辨率深度学习网络采用先进的反卷积的结构,反卷积(Deconvolution)的概念第一次出现是 Zeiler 在 2010 年发表的论文 Deconvolutional networks 中。随着反卷积在神经网络可视化上的成功应用,其被越来越多的工作所采纳比如:超分辨率、场景分割、生成模型等。
HiSR 采用了一层反卷积实现图片的放大和还原,而且反卷积同样通过学习实现参数的更新,可以保留丰富的细节和纹理,实现了超分辨率图片的还原。
模型输入
在模型输入方面,原始图片从 RGB 转换成 YCbCr 格式,其中 Y 是指亮度分量,Cb 指蓝色色度分量,而 Cr 指红色色度分量。CbCr 与 Y 通道分离后,HiSR 只对 Y 通道数据进行超分处理的方法提高处理速度。
YCbCr 是色彩空间的一种,因为人的肉眼对 Y 分量更敏感,在通过对色度分量进行子采样来减少色度分量后,肉眼将察觉不到的图像质量的变化,因此常常用于影片中的影像连续处理,或是数字摄影系统中。Cb 和 Cr 为蓝色和红色的浓度偏移量成份,Y 是所谓的流明 (Luminance),表示光的强度。
模型训练
在模型的训练过程中,通过专业的图像处理算法,构造出数百万张网络模型的训练的图片,然后对图片进行降采样从而构成一对训练图片。通过专有的图像处理算法得到的 data 和 label 数据,可以保留图像中丰富的特征,使得 HiSR 网络通过学习能够提取出相应的纹理和细节;另外训练过程中不断优化相应的学习参数,并且还进行了分批多层次的训练,可以让整个网络学习的更加的充分,最后使得网络处理后的图片具有更好的视觉效果。
HiSR 网络实现
我们知道,终端上面大部分的网站或者社交网络上面的图片都会经过压缩进行传输,这样可以节约大量的带宽,但是由于压缩比率太大导致细节损失非常严重,因此我们针对这类图片采用 HiSR 超分辨率网络进行细节和纹理的复原。
HiSR 网络具有很强的适应性和扩展性。针对当前主流的网络压缩传输应用,比如微信,facebook, 今日头条等的压缩方式进行调研,我们针对压缩之后不同分辨率的图像,提供两种可选的网络用于图片的增强(1x 网络)和放大(3x 网络):
1x 网络
HiSR 采用独立训练的 1x 网络对图片进行了处理,通过该网络的处理,图像的细节不断的增强,各种块效应也消失了,图片的鲜艳程度也提高了,给用户带来了强烈的视觉体验。网络结构如下:
HiSR 采用的 1x 网络将最后一个反卷积层改为卷积层,然后再采用同比例的图像作为训练集,进行有针对性的训练,该网络收敛效果好,保证了图片的细节和色彩的恢复。
3x 网络
当然,终端大部分的网络传输的图片分辨率相对来说都是比较小的,经过我们的调研和分析,大部分分辨率较小的图片放大到华为以及市面上大多数手机屏幕的分辨率,需要 3 倍的网络进行放大,因此我们没有采用大多数算法那样,主要工作集中在 2x 的图片放大。3x 网络的放大意味着更多细节和更多纹理的恢复,因此挑战性更大。
HiSR 采用独立训练的 3x 网络对图片进行了处理,该网络只需要在 1x 的网络上进行很小的改动,加入了反卷积层,还原高分辨率图像的特征,图像的细节通过卷积层的不断学习和增强,可以有效的提升高分辨率图像的质量。HiSR 的 3x 网络结构如下:
HiSR 的 3x 网络采用反卷积层,训练时在原来的网络上进行优化,采用三倍的图片进行训练,可以稳定的提升图像的质量和效果。
网络效果
下面展示了 HiSR 对图片处理的效果。
1x 网络效果
左边是原图,右边是 HiSR 超分辨率算法处理后的图片3x 网络效果
左边是 Bicubic 处理后的图片,右边是 HiSR 超分辨率算法处理后的图片 对比 Google RAISR 算法注:左边是 Google RAISR 处理后的图片,右边是 HiSR 超分辨率算法处理后的图片参考文献
[1] Romano Y, Isidoro J, Milanfar P. RAISR: Rapid and Accurate Image Super Resolution[J]. IEEE Transactions on Computational Imaging, 2017, 3(1):110-125.[2] D. Chao, C. C. Loy, H. Kaiming, and T. Xiaoou,「Image super-resolution using deep convolutional networks,」IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 38, no. 2, pp. 295–307, Feb 2016. 2, 7, 20, 22[3] C. Dong, C. C. Loy, K. He, and X. Tang,「Learning a deep convolutional network for image super-resolution,」in ECCV, 2014, pp. 184–199. 2, 7, 20, 22[4] Dong C, Chen C L, Tang X. Accelerating the Super-Resolution Convolutional Neural Network[J]. 2016:391-407.[5] R. Keys,「Cubic convolution interpolation for digital image processing,」IEEE Trans. on Acoustics, Speech and Signal Proc., vol. 29, no. 6, pp. 1153–1160, 1981. 2[6] K. He, J. Sun, and X. Tang,「Guided image filtering,」in ECCV, 2010, pp. 1–14. 3, 19[7] D. Martin, C. Fowlkes, D. Tal, and J. Malik,「A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics,」in ICCV, vol. 2. IEEE, 2001, pp. 416–423. 25