陈剑涛
(1.华侨大学工学院,泉州362021;2.华侨大学工业智能化技术与系统福建省高校工程研究中心,泉州362021)
科技和经济的进步,信息互联网时代的信息以爆炸式的方式增长,而这些信息的主要载体为音频、视频和图像。根据调查显示,人们日常生活主要的信息来源于视觉方面,由于图像能更加直观传递信息,大约占据了所有信息获取途径的60%,由此可以看出图像对于信息传递具有非常重要的作用。
近些年来,安防、医学、遥感等领域对图像的需求以及质量都越来越高。图像的分辨率是衡量图像质量的重要指标之一,如何获取更分辨率的图像已经成为科学研究中的重要热点了。图像的分辨率指的是,在单位面积中能够存放的像素点的个数,分辨率越高的图像,表示图像中存储的信息量也就越大。一方面,由于硬件设备的局限性,使得人们通过摄像头所采集的图像往往很难获得更高质量的图像,甚至丢失很多重要的细节信息,比如道路安全监控图像。另一方面,在网络的传输过程中,为了节约资源,用户常常会选择低分辨率图像储存或是传递信息。为了提高图像的分辨率,可以对硬件设备进行改进升级,但此方法需要大量的成本,难以广泛应用。而通过软件实现对图像像素的放大,提高图像质量则能够有效解决这类问题,也就是利用图像超分辨率重建技术。图像超分辨率重建技术可以分为三类:基于插值[1]、基于重建[2]和基于学习的方法。
基于插值的超分辨率算法是一种早期提出的图像放大算法。基于插值的方法可以分为线性和非线性。插值算法利用待插值位置周围分布的像素值,通过插值核逼近原始图像信息。其算法模型较为简单,计算量低且实时性高,对于硬件的要求低,因此应用较为广泛。但由于缺少引入外部信息的特点,图像退化后高频特征的丢失无法恢复,存在明显的模糊和振铃效应,图像失真严重,特别是在色彩丰富、结构复杂的区域中。常用的插值算法有最邻插值算法、双线性插值算法、双三次插值算法。为了优化图像的插值效果,提高算法的鲁棒性,学者们提出了自适应的插值算法,利用最小二乘法降低了图像内部区域块模糊问题。虽然自适应插值有效的提高了图像重建质量,但是其计算复杂度太高,不易于实现。
基于重建的超分辨率算法利用图像的先验知识对图像的重建过程建立数学模型,主要可以分为空域法和频域法。频域法根据消除的频谱混叠提高图像的分辨率,由于缺乏引入的空间域先验知识,因此这类分支不是基于重建算法的研究热点。相反,空域法具备空间域的先验知识,研究应用相对广泛,其经典的方法包括:迭代反投影法、凸集投影法和最大后验概率估计的重建算法[3]。基于重建的方法相比基于插值的方法,尽管提升显著,但是随着图像重建倍数的增大,此类算法在图像高频特征往往出现平滑模糊的问题。
基于学习的超分辨率算法是现在最为主流的算法,它根据学习成对高低分辨率图像块之间的映射关系,主要分为基于稀疏表示算法和基于深度学习算法。其中,稀疏表示法通过训练高、低样本从而获得稀疏字典,重建高分辨率图像。但随着深度学习在计算机视觉领域的发展,2014 年Dong 等人[4]第一次提出基于卷积神经网络的图像超分辨率算法SRCNN(Super-Resolution using Convolutional Neural Network),构造了一个三层的端到端网络模型,实现了图像重建。这三层的卷积层分别对应了低分辨率(Low Resolution,LR)图像的特征提取,建立高分辨率图像(High Resolution,HR)和低分辨率图像之间的非线性映射关系,以及图像重建的三个步骤。通过对公式(1)最小化L进行模型训练,
其中W={w1,w2,w3,b1,b2,b3,}为模型中的卷积层的权重值和偏置值,xi和yi分别为成对的HR 图像块和LR 图像块,N为训练样本的批次数。
由于SRCNN 只采用3 层卷积层的结构,参数量较小,并不能很好地提取出图像更深层次的特征。为了保证模型的重建能力和一定的训练时长,提出基于深度特征学习的SRCNN 算法,将SRCNN 优化为5 层卷积层结构,卷积核参数统一压缩为3×3 大小的卷积核,其数量为64。同时该改进算法引入残差学习,在第一层浅层特征提取层后,增加一条残差跳跃连接,加到第四层卷积层的输出位置,提高算法模型的浅层特征利用率。
实验采用Windows 10 系统,PyCharm 开发工具,使用PyTorch 框架,是由Facebook 人工智能研究院推出的一个开源Python 机器学习库,版本为PyTorch1.0.0。实验训练SRCNN 模型以及基于深度特征学习的SRCNN 算法,采用BSDS200 数据集的200 张图像作为训练集,测试采用Urban100 数据集的100 张图像作为测试集。
实验将训练集裁剪成128 大小的图像块作为高分辨率图像训练集,并采用下采样4 倍的方式获得相对应的低分辨率图像训练集。实验使用Adam[5]优化器更新权重参数,并且设置学习率为0.001,其余参数保持默认设置。设置批次batch_size 大小为16,总共训练迭代次数为100 个周期。
评价图像重建客观指标采用峰值信噪比(Peak Single to Noise Ratio,PSNR),作用在于衡量图像的失真大小,其计算公式为:
其中,I1表示原始的高分辨率图像,I2表示重建后的高分辨率图像,w和h分别对应图像的宽度和高度。峰值信噪比的值与图像重建质量好坏成正比,数值越大则表示图像重建的效果越好。表1 展示了SRCNN 算法和提出的基于深度特征学习的SRCNN 算法在Urban100 数据集上,4 倍尺度下的测试实验结果,其峰值信噪比由26.0231dB 提高到了26.2288dB,上升了0.2057dB。由此可见随着网络模型深度以及参数量的增加,会有利于重建图像的质量,其客观指标峰值信噪比也相应提高。
表1 SRCNN 算法与其改进优化算法PSNR 比较结果
图1 展示出了SRCNN 与其改进模型算法重建图像质量比较。从图中可以看出,在经过优化后的模型算法能够生成质量更高,边缘更加清晰的图像。图像的细节与边缘更加锐利,降低了模糊效应,更有利于重要信息的采集。
图1 SRCNN算法(左)与改进算法(右)重建图像比较
图像超分辨率重建技术是近几年来计算机视觉任务重要的分支之一,它不仅具有重要的理论意义,而且对于实际的工业应用需求也急剧增加。例如在医学诊断领域中,对于CT 图像和MRI 图像,可以通过图像超分辨率重建技术放大图像,能够更加有效辅助医生找到病变区域,诊断病人病情,找到更佳的治疗方案。在游戏领域中,许多游戏通过体感等设备获取玩家的动作,进行人机交互,超分辨率重建出更高质量的图像,给游戏玩家带来更加真实的游戏体验。在视频监控领域中,超分辨率技术可以帮助警察交警侦破案件,更有利于找到肇事车辆和犯罪分子,降低犯罪率,维持一个更加安稳的生活环境。在自动驾驶领域,超分辨率重建可以针对车辆采集到的周围图像概况,获得更加精确的描述,帮助车辆避开障碍与行人。当然,随着超分辨率重建的发展和成熟,对于科研学者要求更高,同时也是一个不小的挑战。
超分辨率重建技术是对于原始图像复原上的一种形式,适用于经典的图像复原任务存在的领域,同时也具备更好的效果。虽然具有广泛的应用前景,但是该领域仍然存在许许多多需要解决的问题。例如,需要建立更加复合实际生活与应用场景的数据集。在当前的重建任务公开数据集中,研究者们大都采用了具有非常高的峰值信噪比的场景图,并不适用于在实际下所采集到的退化场景。其次,基于深度学习的超分辨率算法虽然表现突出,但是神经网络的训练也耗时巨大,对于在终端设备上的部署要求也会提高。因此,在研究更加复杂有效的网络模型的同时,也需要尽可能地降低模型参数,更加符合于实际。