基于深度学习的图像超分辨率重构技术

2022-10-23 12:22苟东强
信息记录材料 2022年8期
关键词:低分辨率高分辨率插值

苟东强

(重庆邮电大学软件工程学院 重庆 400065)

0 引言

深度学习是机器学习的一个分支,这种技术已经出现很久了。所谓深度学习,就是“很多层”的神经网络,从简单的部件构成复杂对象的过程。深度学习非常适合图像处理,尤其是图像超分辨率重构。2014年,Dong等[1]使用卷积神经网络进行图像超分辨率重建,提出了SRCNN。2017年,Ledig等[2]提出SRGAN方法,将生成对抗网络应用到图像超分辨率算法中。

本文着重从基于生成对抗网络的图像超分辨率方法,使用上采样的图像超分辨率方法,基于卷积神经网络的图像超分辨率方法等三方面进行了研究,解决了传统图像超分辨率方法准确度和效率不足的问题。

1 传统的图像超分辨率方法

在深度学习出现之前,就已经有图像超分辨率重构的方法了。1964年,Harris[3]提出了图像超分辨率处理的概念,使用的是外推频谱方法,效果并不理想。20世纪80年代,Tsai[4]利用傅里叶变换建立低分辨率图像与高分辨率图像之间的线性关系,结合多幅低分辨率图像重建出一幅高分辨率图像,但并没有主流应用。21世纪初,Chang等[5]提出了基于邻域的图像超分辨率重建方法,该方法利用高分辨率图像块与低分辨率图像块之间的对应关系,重建高分辨率图像。上述方法对系统性能要求较高,且效果不好。因此,将深度学习引入图像超分辨率领域是有必要的。

2 深度学习的概念

在介绍深度学习之前,先给出机器学习的概念。机器学习是一门致力于研究如何通过计算手段,利用经验来改善系统性能的学科。这里的“经验”在计算机中以数据的形式存在,机器学习中有一个重要概念,就是神经元模型和生物学中的神经元类似,这里的神经元也会接受输入并产生输出。神经元能接受多个输入,每个输入都被赋予了相应的权值,当总输入大于阈值时,就会产生输出。图1是一个简单的神经元模型。

当一个神经元的输出作为另一个神经元的输入时,就有了层的概念。一个典型的多层神经网络可由输入层、隐层、输出层构成。图2就是一个双隐层神经网络。而深度学习则是含有很深层神经网络的模型,也即含有很多的隐层的神经网络。由于隐层的增多,相应的神经元连接权、阈值等参数也就多了,模型的复杂度也大幅增加。

3 基于深度学习的图像超分辨率重构方法

近年来,计算机的性能飞速发展,对AI的研究逐渐深入。这是深度学习发展的必要条件。将深度学习技术应用到图像超分辨率处理上,是有必要的。这能解决人们对高分辨率图片的需求,而且相比传统方法的效果更好。

专栏小编:刚才我们谈到经济下行、中美贸易摩擦、提振内需、就业问题、民营经济,这些问题叠加在一起,与其说给企业的试卷不如说是给政府部门的试卷。那么如何解决?大家来议一议吧。

图像超分辨重建是计算机视觉和图像处理领域的重要研究方向之一。下面介绍这种技术在单幅图像上的应用,单幅图像超分辨重建仅利用一幅低分辨率图像为输入,重建高分辨率图像。下面将介绍3种使用深度学习进行图像超分辨率重构的方法。

3.1 使用生成对抗网络的图像超分辨率方法

3.1.1 生成对抗网络原理

生成对抗网络(GAN)的基本原理是,生成器依靠从大量样本中学习的规律来生成新的图像,发送给判别器,判别器的目的则是利用从大量样本中学习的规律来判断输入的图像是来自生成器还是真实样本。两者互相反馈,生成器不断生成更真实的样本去“欺骗”判别器,判别器则通过之前的判断过程不断提升抗“欺骗”能力。经过大量训练后,生成器就能生成以假乱真的图像。GAN模型示意图如图3所示。

3.1.3 SRGAN的网络结构

基于生成对抗网络的图像超分辨率重构的网络结构主要由生成器和判别器组成,网络结构如图5所示在样本训练阶段,低分辨率源图像先由生成器生成超分辨率图像,然后判别器结合之前的训练模型和高分辨率真实数据对生成器传来的超分辨率图像进行判别,判断其是否为真实图像,如果判定结果为真,则输出该图像,如果判定结果为否,则将图像返回给生成器,生成器则会对自身参数进行调节,然后再次生成新的超分辨率图像传递给判别器进行判别。

3.1.2 SRGAN基本模型

基于生成对抗网络的图像超分辨率重构(SRGAN)的基本原理是,生成器依靠从大量样本中学习的规律来对原始低分辨率图像进行插值处理,生成具有更高分辨率的图像,发送给判别器,判别器的目的则是利用从大量样本中学习的规律来判断来自生成器的高分辨率图像是否准确以及分辨率是否达标。两者互相反馈,生成器不断生成更准确的图像给判别器,判别器则通过之前的判断过程不断提升判断能力。经过大量训练后,生成器就能生成足够准确和清晰的图像。在实际训练中,首先将原始图像输入给生成器,生成器依托训练数据生成一个高分辨率图像,并把该图像输出到判别器,判别器通过内置的二分类器对图像进行检验,判断是否符合要求,如果正确,则将该图像作为最终结果输出,如果失败则返回给生成器,并将该次判断作为一个新的训练样本,这种方法称为SRGAN。SRGAN将低分辨率图像输入至生成器G中进行图像重建,由判别器D将生成图像与真实图像对抗训练,最后输出训练后的图像[6]。SRGAN基本结构示意图如图4所示,低分辨率源(LR Source)传递给生成器G,生成器通过学习得到的模型结合插值算法,生成一个超分辨率图像(SR Image)传递给判别器D。D接受的样本,如果是真实高分辨率目标(HR Target),则标记为1,D接受的样本如果判定为来自生成器G,则标记为0。生成器的目标就是让自己生成的图像在判别器上的表现与真实数据一致,即判别器对生成图像标记为1。两者互相对抗迭代优化。

3.1.4 生成器的结构

生成器主要用于接受原始的低分辨率图像,并提取图像中的信息,并将这些特征信息结合之前进行的样本训练进行插值处理,从而生成高分辨率图像。生成器的中间层使用的是一个n×n的卷积核,使用基于领域的上采用方法进行插值处理。由于输入的是原始图像,因此性能开销较低。同时为了使神经网络训练的过程更加稳定,可以在初始低分辨率源图像传递给上采样层前的多个隐藏上添加n个残差块。

3.1.5 判别器的结构

判别器用于接收生成器输出的图像,并对其进行检验,结合之前训练产生的模型对输入的图像进行判定,判定结果有两种可能正确和错误。因此,判定器本质是一个二分类器,在判定过程中,需要使用到决策树的理论,改进决策树模型也可以提高判定器的效率。判定器的卷积层也有一个类似生成器的n×n卷积核。判定器使用的激活函数是Sigmoid函数。

3.2 使用上采样的图像超分辨率方法

基于插值的上采样方法指通过传统的图像插值操作进行图像尺寸的放大。常用的插值方法主要有最近邻插值、双线性插值和双立方插值[7]。但上采样方法是可以和深度学习结合起来的。基于深度学习的上采样方法指以端到学习的方式进行上采样,可以通过在网络结构中加入转置卷积层或者亚像素卷积层实现。该模型首先会利用大量的图像样本进行训练,通过训练建立一个学习模型,该模型的目的是让系统能对像素进行补充。例如,当系统进行一组关于苹果图像的样本训练后,系统能知道苹果图像中红色像素点的邻近像素也应该是红色或者接近红色的颜色。当系统拿到低分辨率图像后,先对其进行插值放缩处理,例如让其长宽均拉伸为2倍,这样该图片的分辨率也就变为了原始图像的4倍。当然多出的像素用空白进行填充,系统利用之前训练得到的学习模型对这些像素进行填充,就能获得超分辨率的效果。该模型也会用到GAN网络,也需要大量的学习样本、学习过程中也会不断进行生成对抗反馈。

3.3 使用卷积神经网络的图像超分辨率方法

3.3.1 SRCNN原理

基于卷积神经网络的图像超分辨率方法(SRCNN)相比SRGAN方法有一定的优势,其中一个原因是SRCNN算法可以在原始低分辨率源图像和高分辨率目标图像之间建立一个映射[8]。该网络采用梯度下降方法进行神经网络训练。神经网络中,位于前层的神经元可以从原始低分辨率源图像中提取出像素矩阵的特征值,这些特征值将通过神经元连接传递给后层神经元,后层神经元接收到前层传递过来的特征值后,可根据之前训练得出的模型恢复出一些原始低分辨率源图像丢失的像素信息,这样即可合成出一些图像的高分辨率信息。

3.3.2 SRCNN的网络结构

SRCNN使用三个卷积层,在原始低分辨率源图像和高分辨率目标图像之间有端到端的映射[9]。该网络结构可直接学习低分辨率图像与高分辨率图像之间的映射,其网络结构如图6所示。

当该模型接收到原始低分辨率源图像时,先会使用插值算法对其进行缩放,这里将使用插值算法后生成的图像称为X,高分辨率目标图像称为Y,经过三个卷积层后输出的最终图像称为F(X),该神经网络训练的目标就是使F(X)无限接近于Y,这里的插值算法使用Bicubic插值,因为Bicubic插值算法的效果相对较好。上述过程称为SRCNN 方法的预处理操作步骤,目的使用插值方法将原本的低分辨率图像放大到目标尺寸,作为后面的三层卷积核模型的输入[10]。然后通过三层卷积操作,学习低分辨率图像与高分辨率图像之间的映射关系,该卷积网络主要由以下3个步骤组成:

1)特征提取和表示:该操作使用64个9×9的卷积核,从低分辨率图像中提取特征,并将其表示为一个高维向量。图像块的提取是在原始低分辨率源图像X上按照一定的像素矩阵分割算法提取出固定像素数的低分辨率图像块,之后便将每个图像块表示为一个高维向量,再将这些高维向量作为原始低分辨率源图像的特征图。以上操作的卷积运算由下列公式1和公式2表示,其中的*表示卷积运算

2)非线性映射:该操作使用32个1×1的卷积核,将原本的高维向量映射成为另一个向量,用于增加网络的非线性。在经过特征提取和表示后,将得到的每个高维向量通过非线性的映射方式对应到另一个向量上。将该向量称为目标向量,这些目标向量可以转化为一个高分辨率图像块,这些高分辨率图像块即可组成高分辨率图像的特征图。上述非线性映射算法可由公式3和公式4表示。

3)重建:该操作使用5×5大小的卷积核,输出1个特征图即为最终重建出的高分辨率图像。将非线性映射得到的高分辨率图像块按照一定的算法结合起来,最终得到目标图像。该操作也可看作是一种卷积运算。因此可表示为下述公式5和公式6。

4 基于深度学习的图像超分辨率的应用价值

4.1 计算机视觉领域

基于深度学习的图像超分辨率重构技术在计算机视觉领域有着广泛应用。计算机视觉主要致力于图像识别和目标检测,基于深度学习的图像超分辨率重构由于其高效和准确的特性,能使图像的分辨率和保真率大幅提升,图像从仅可检测水平提升到可准确识别水平。这样计算机在得到一张分辨率不足的图像时,便能准确识别图像的内容。一个较为常用的例子是目标物识别。比如分析某一区域的人流量或人脸识别,有了图像超分辨率技术,计算机在分析图像时就不必采用数据量巨大的高分辨率图像,从而大幅节省性能。

4.2 视频的帧截取

从视频中截取图像是十分常用的,不论是在工业应用或是日常生活中。当我们观看视频时,由于视频本身就是由每秒几十帧的图像组成,并且视频具有动态补偿技术,因此,视频每一张图像的噪声在帧与帧的过渡中得以掩盖。然而,当我们从视频中截取一张图像时,图像的噪声将被暴露,图像的内容将难以被准确识别。使用基于深度学习的图像超分辨率重构将解决这种问题。该算法将多张连续图像结合在一起,后一帧图像将对上一帧图像进行采样,分析像素的位移向量,并结合系统通过深度学习进行的大量样本训练得出的模型,从而实现视频静止帧的去动态模糊和高清化。这一技术在视频的静态图像捕捉上起到了重要作用。

4.3 卫星遥感领域

环地卫星对地球进行扫描并输出图像是十分常用的。由于卫星与地表的距离极其遥远,并且高分辨率相机造价昂贵,不是所有卫星都能配备好的高分辨率相机,因此,卫星输出的图像往往是模糊的。这时,使用基于深度学习的图像超分辨率方法对拍摄的图像进行超分辨率,从而得到高清的地表扫描图像。这对地球地形资料库的建立以及地面目标识别有着重要的作用。

5 结语

5.1 总结

本文对基于深度学习的图像超分辨率重构进行了研究,包括使用生成对抗网络的图像超分辨率重构,基于插值的图像超分辨率修复以及基于卷积神经网络的图像超分辨率重构,说明了基于深度学习的方法进行的图像超分辨率重构相比传统方法在效果和性能上的优势。文末列举了图像超分辨率重构技术的应用现状,体现研究价值。

5.2 对未来的展望

随着计算机科技的发展,多媒体技术已渗透了人类世界的各个领域,科技、工业、教育、娱乐等信息传播都离不开图像,图像处理越来越重要。人们对图像质量的要求也越来越高。如果使用传统方法,高质量的图像不管是创建还是传播都对系统性能有着很高的要求。因此,基于深度学习的图像处理技术十分重要。目前已经有很多高校、科研机构、企业加入了基于深度学习的图像处理的研究行列,这对该领域的发展很有帮助。

猜你喜欢
低分辨率高分辨率插值
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
二元Barycentric-Newton混合有理插值
探讨高分辨率CT在肺部小结节诊断中的应用价值
基于边缘学习的低分辨率图像识别算法
高分辨率合成孔径雷达图像解译系统
基于pade逼近的重心有理混合插值新方法
树木的低分辨率三维模型资源创建实践
智能相架
关于为“一带一路”提供高分辨率遥感星座的设想
高分辨率对地观测系统