一种基于卷积神经网络的超分辨率图像重建方法

文档序号:25172500发布日期:2021-05-25 14:43阅读:122来源:国知局
一种基于卷积神经网络的超分辨率图像重建方法

本发明涉及图像处理技术领域,具体涉及一种基于卷积神经网络的超分辨率图像重建方法。



背景技术:

神经网络已经成为图像识别和图像分类领域的重要技术手段,且有着壮大的趋势,所以应用超分辨率卷积神经网络技术,将模糊不清的图片重建为高清的图像技术的研究,对计算机的视觉发展及人工智能的发展都具有重要的价值和意义。使用计算机技术对图片、视频、语音等目标进行操作时,由于受限于电脑cpu、gpu等硬件条件的影响,当我们想要更加高效、快速地获得高质量的目标内容时,只能退而求其次地对网络结构(例如:网络模型的框架、上采样方法、网络设计等)进行修改和整合,来尽可能地满足我们的需求。

超分辨率图像重建(superresolutionimagereconstruction,srir)是近年来计算机视觉处理和图像处理领域的一个研究热点,由于其应用场景的广泛和理论价值的实用,超分辨率图像重建技术得到研究者更密切的关注。超分辨率图像重建技术,在本质上讲是由一幅或多幅低分辨率(lowresolution,lr)图像经过网络模型的处理,最终生成具有良好视觉效果且更接近真实图像的高分辨率(highresolution,hr)图像的技术。在该技术的日常应用中,为了减缓由于传送图像、存储图像所造成的一系列图像质量问题,一般对图像采用下采样的操作来降低图像的质量,但降质操作具有不可逆转性,因此该问题是病态问题。将低分辨率图像重建为高分辨率图像的关键是找到低分辨率和高分辨率图像之间的逼近映射关系。

目前主流的超分辨率重构技术可大致分为基于插值、基于重建和基于学习三类方法。其中基于插值的方法(例如最近邻域插值和双三次插值),能够简单且有效地增强图像的分辨率,但会出现图像部分边缘模糊。而基于重建的方法能够恢复简单图像丢失的高频信息,且该方法操作简单、工作量低,但该方法不能很好地处理结构较复杂的图像信息。基于学习的方法是近年来的主流方法,该类方法旨在通过对大量数据样本的学习,建立低分辨率图像和高分辨率图像之间的逼近映射关系。其中,基于深度学习的超分辨率重建相比于只能由人工提取特征的传统技术进行的简单函数拟合的浅层卷积网络学习来说,深度学习可以自动学习得到不同层次化的特征表示,实现更加复杂的非线性函数模型逼近,有更强的实用价值。因此,基于深度学习的算法在性能上超越了以前的很多经典算法。但是现有的基于卷积神经网络的超分辨率图像重建方法存在参数较多、计算量较大、训练时间较长、图像纹理模糊等问题,难以有效获得高质量重建图像。



技术实现要素:

鉴于以上问题,本发明提出一种基于卷积神经网络的超分辨率图像重建方法,用以解决现有的超分辨率卷积神经网络的运行速度慢、得到的图像质量不理想、图像分辨率较低、训练网络梯度易消失等问题。

根据本发明一方面,提出一种基于卷积神经网络的超分辨率图像重建方法,该方法包括以下步骤:

步骤一、获取训练图像数据集和测试图像数据集;其中,所述图像为低分辨率图像;

步骤二、设定训练参数和内容损失函数,构建改进的超分辨率卷积神经网络模型;

步骤三、使用所述训练图像数据集作为所述改进的超分辨率卷积神经网络模型的输入,调整所述训练参数直至所述内容损失函数最小化,获得训练好的超分辨率卷积神经网络模型;

步骤四、将所述测试图像数据集输入训练好的超分辨率卷积神经网络模型,获得高分辨率图像。

进一步地,步骤二中训练参数包括学习率和训练次数;所述内容损失函数为均方误差。

进一步地,步骤二中所述改进的超分辨率卷积神经网络模型包括特征提取模块、非线性映射模块、上采样模块和特征重组模块,特征提取模块的输出与非线性映射模块的输入相连,非线性映射模块的输出与上采样模块的输入相连,上采样模块的输出与特征重组模块的输入相连;其中,所述特征提取模块用于采用卷积操作从低分辨率图像中提取特征信息;所述非线性映射模块用于将特征信息映射到高维向量上,获得多个高维特征图;所述上采样模块用于对高维特征图进行放大;所述特征重组模块用于将放大后的多个高维特征图重组,获得高分辨率图像。

进一步地,所述非线性映射模块中加入了跳跃连接的多个残差块,所述残差块的结构依次是卷积、块的标准化、激活函数、卷积、块的标准化、各元素对应乘积后求和,其中,所述激活函数是relu函数;所述上采样模块采用亚像素层卷积方法对特征图进行重构,所述亚像素层卷积方法为:将多通道特征图上的单个像素,按一定的组合方式形成一个特征图单位,并且每个特征图上的像素等价于新特征图上的亚像素。

进一步地,步骤二中所述改进的超分辨率卷积神经网络模型还包括降维模块,所述降维模块用于采用卷积操作将特征图的通道数降为rgb的3维通道。

根据本发明另一方面,又提出一种基于卷积神经网络的超分辨率图像重建方法,该方法包括以下步骤:

步骤一、获取训练图像数据集和测试图像数据集;其中,所述图像为低分辨率图像;

步骤二、设定训练参数和内容损失函数,构建改进的超分辨率卷积神经网络模型;

步骤三、使用所述训练图像数据集作为所述改进的超分辨率卷积神经网络模型的输入,调整所述训练参数直至所述内容损失函数最小化,获得训练好的超分辨率卷积神经网络模型;

步骤四、将训练好的超分辨率卷积神经网络模型作为生成对抗网络模型中的生成网络模型,使用生成对抗损失函数同时训练所述生成网络模型和生成对抗网络模型中的判别网络模型,直到生成网络和判别网络达到纳什平衡,获得最终训练好的生成网络模型和判别网络模型;

步骤五、将所述测试图像数据集输入步骤四中最终训练好的生成网络模型中,获得高分辨率图像。

进一步地,步骤二中训练参数包括学习率和训练次数;所述内容损失函数为均方误差。

进一步地,步骤二中所述改进的超分辨率卷积神经网络模型包括特征提取模块、非线性映射模块、上采样模块和特征重组模块,特征提取模块的输出与非线性映射模块的输入相连,非线性映射模块的输出与上采样模块的输入相连,上采样模块的输出与特征重组模块的输入相连;其中,所述特征提取模块用于采用卷积操作从低分辨率图像中提取特征信息;所述非线性映射模块用于将特征信息映射到高维向量上,获得多个高维特征图;所述上采样模块用于对高维特征图进行放大;所述特征重组模块用于将放大后的多个高维特征图重组,获得高分辨率图像。

进一步地,所述非线性映射模块中加入了跳跃连接的多个残差块,所述残差块的结构依次是卷积、块的标准化、激活函数、卷积、块的标准化、各元素对应乘积后求和,其中,所述激活函数是relu函数;所述上采样模块采用亚像素层卷积方法对特征图进行重构,所述亚像素层卷积方法为:将多通道特征图上的单个像素,按一定的组合方式形成一个特征图单位,并且每个特征图上的像素等价于新特征图上的亚像素。

进一步地,步骤四中所述生成对抗损失函数包括内容损失函数和对抗损失函数,所述生成对抗损失函数的公式表示为:

其中,表示内容损失函数,也即均方误差;表示对抗损失函数。

本发明的有益技术效果是:

本发明首先将缩放图像发生在模型前段位置的预上采样操作,改进为发生在后段的后上采样操作,这样做的目的既解决了图像缩放操作发生在高维空间所带来的计算复杂度高、运行速度慢等问题,也使网络结构更加清晰易懂;其次,将基于插值的上采样方法改进为基于学习的上采样方法,解决了插值方法在插值后产生图像的画质质量较差、图像像素较低、图像边缘模糊不清等问题,可以获得质量效果更好、分辨率更高的图像内容,从而提高了图像分辨率;再次加深了网络层数,并为了改善梯度消失等问题在网络中加入了残差网络,残差网络的跨层连接使得网络模型更加稳定;最后,将上述改进的超分辨率卷积神经网络模型作为生成对抗网络中的生成网络,并和对抗网络相结合,进一步提高图像重建效果。

附图说明

本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。

图1是传统的超分辨率卷积神经网络模型中预上采样操作示意图;

图2是本发明改进的超分辨率卷积神经网络模型中后上采样操作示意图;

图3是本发明改进的超分辨率卷积神经网络模型的结构示意图;

图4是本发明改进的超分辨率卷积神经网络模型中上采样方法的过程示意图;

图5是本发明生成对抗网络中生成网络模型的结构示意图;

图6是本发明生成对抗网络中对抗网络模型的结构示意图;

图7是本发明方法与传统超分辨率卷积神经网络-srcnn方法对图像进行重建后的效果对比示意图;其中,(a)表示srcnn方法;(b)表示本发明方法;(c)表示原始图像;

图8是本发明方法与对抗网络相结合后与传统超分辨率卷积神经网络-srcnn方法对图像进行重建后的效果对比示意图;其中,(a)表示原始图像;(b)表示本发明方法;(c)表示srcnn方法;

图9是不同图像重建方法的psnr值折线对比示意图。

具体实施方式

在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

超分辨率卷积神经网络是一项涉及改变图像大小(一般为增大图像的尺寸),并提升原来图像质量的技术方法。超分辨率卷积神经网络直接学习低、高分辨率图像之间的映射。传统的超分辨率卷积神经网络是基于插值方式的,首先进行图像的预处理,即利用双三次插值(又称为双立方插值)将原来的低分辨率图像放大为所需要的尺寸大小;然后通过学习得到一个映射关系,包括以下的操作:特征小块的提取和表示、特征向量的非线性映射和特征图像的重建。

本发明是在传统的超分辨率卷积神经网络的基础上,分别对其模型框架、上采样方法(亚像素)及网络设计三方面进行改进,并针对现有的基于卷积神经网络的图像超分辨率算法参数较多、计算量较大、训练时间较长、图像纹理模糊等问题,进一步结合现有的图像分类网络模型和视觉识别算法对生成对抗网络进行改进。

首先,对于模型框架的改进说明如下。

如图1所示,传统的超分辨率卷积神经网络框架采用的是预上采样[1]操作,即将图像输入该网络后,首先进行的是将输入的图像采用插值方法放大为目标尺寸大小的操作过程。

通过预上采样方法在一开始就得到目标尺寸大小的图像,其后续操作不需进行图像尺寸的改变,只需对上采样后的图像进行特征提取等细节操作,但该方法导致了放大尺寸之后的高维空间学习的难度。由于将输入图像采用预上采样这一操作之后的特征提取等其他操作,均是以放大后的图像为基础进行的,因此会产生放大图像的噪声、增大图像的模糊等问题,且由于图像经过预上采样操作后的所有操作均是在大尺寸图像上执行,显然相比于其它小尺寸的网络模型框架,所需的处理时间更长。因此,为了提升网络运行速度及简便网络模型计算的复杂程度,将预上采样操作进行改进。

如图2所示,本发明改进之处在于将输入的图像首先不进行目标尺寸的放缩图像,而是先对输入的图像进行特征提取、非线性映射等操作,得到想要的高质量图像后,再进行图像的缩放,这样的上采样操作不仅将特征提取等定位在了低维空间上,而且还显著地降低模型的空间复杂度和计算复杂度,并提高网络模型的训练速度。因此改进后的模型中采用后上采样操作的模型框架方法。

图3示出了本发明改进的超分辨率卷积神经网络模型。如图3所示,第一部分,首先从低分辨率图像通过卷积操作利用不同的卷积核来提取图像的不同特征图;将提取后的特征图表示为高维向量的特征映射,该部分公式为:

在特征提取部分中,得到的每一个特征图都是由输入图像的特征所决定,并且特征提取后使用修正线性单元函数relu作为激活函数。

然后,对于网络设计的改进说明如下。

残差网络是一种常见的网络模型,一般应用于深层卷积神经网络中。残差网络在结构上是指从上一层接收的输入,通过该网络能将其输入传递给后面的任意的、非相邻的层的一种网络模型结构。残差网络内部的残差块,与普通网络的连接是不同的,其区别在于残差网络使用了跨层连接(也称跳跃连接),这也是残差网络可以用来缓解在深度神经网络中因增加网络深度带来的梯度消失问题的主要因素。

残差网络通常由多个残差模块组成,在一个残差模块中的连接一般只跨越两到三层,也可以根据需要跨越多层,但是网络模块的计算难度也会增加。残差学习是在网络模型内部的不同深度的每两层节点之间添加一个快捷连接方式,以此来减少因为网络层数的加深所带来的退化问题。单个残差模块的输出计算公式为:

h(x)=f(x)+x(2)

其中,x是输入,f(x)是卷积层的输出,h(x)是残差块的输出。

如图3所示,第二部分,非线性映射是指将特征图的一个高维向量映射到另一个更高维向量的操作,且在该层中加入了残差块的跨层连接,使得每一个映射向量都可以表示成一个高分辨率的特征块,也保证了网络中梯度的问题。向量按特定的规则组合构成新的特征图。通过非线性映射操作后,得到多个特征图,用于下层的高分辨率特征小块的重建。

第三部分,由上一层得到的多个高分辨率特征小块,通过卷积和多通道之间的重组得到高分辨率的特征图,以此重建出最终完整的三通道彩色高分辨率图像。最终重建后的公式为:

然后,对于上采样方法的改进说明如下。

超分辨率卷积神经网络框架中,实现上采样的方法较常用的是插值方法,基于插值方法的上采样是指根据图像自身的像素点进行图像尺寸的放大,且没有其他的信息内容的引入。这种基于插值的上采样方法根据自身像素点计算得到的插值像素点,插值后会产生插值后图像的画质质量较差、图像像素较低、图像边缘模糊不清等负面后果。为了减小或改善画质质量差等问题,为了更好的完善超分辨率卷积神经网络图像的效果,本发明中上采样方法为基于学习的上采样方法-亚像素方法。

任意的两个像素在宏观上看是紧密的连接在一起的,但在微观视觉上任意两个像素之间都存在着间距,而在彼此的间距之间还存在着很多肉眼不可见的“小像素”,且这些存在于任意两个像素之间的“小像素”被认为是真实存在的,而一般称这些“小像素”为“亚像素”。

如图4所示,亚像素层可以通过实现从小矩形到大矩形的映射来提高图像的分辨率。采用亚像素层卷积的方式,实现从低分辨图像到高分辨图像的重构操作,将多通道特征图上的单个像素,按一定的组合方式形成一个特征图单位,并且每个特征图上的像素等价于新特征图上的亚像素。如果对原图放大r倍,那么就应生成r2(通道数)个相同尺寸的特征图,然后将生成r2个相同尺寸的特征图拼接成一个r倍的大图,该操作称为亚像素层操作。则第层的亚像素公式可表示为:

其中,表示第层输出的特征图;表示上层的特征图;ps表示周期变换算子,它将的张量元素变换为的张量元素(表示第层特征图的长和宽,表示特征图的通道数);表示第层的权值变量;表示第层的偏置,大小为是维的向量。

通过基于学习的上采样操作可以得到相比于插值方法得到质量效果更好、分辨率更高的图像,从而可以得出改进的上采样方法在提高超分辨率卷积神经网络图像的分辨率上是可行的。

最后,对生成对抗网络进行改进说明如下。

基于生成对抗网络的超分辨率网络能够在单图像超分辨率的生成图像中生成逼真的纹理效果。为了更进一步提升生成图像细节上的伪影问题,改进超分辨率生成对抗网络的网络结构、对抗性损失和感知域损失这三个主要部分,增强的超分辨率生成对抗网络诞生。增强的超分辨率生成对抗网络对感知域损失进行改进,使用激活前的特征,这样可以为亮度一致性和纹理恢复提供更强的监督。增强的超分辨率生成对抗网络可以得到更好视觉质量以及更逼真和自然的图像纹理。

增强的超分辨率生成对抗网络的改进中,网络中的残差块由基本的残差块变为密集残差块中的残差块rrdb;生成对抗网络改进为相对性平均生成对抗网络;最后改进感知域损失函数,使用激活前的vgg特征,这个改进会提供更尖锐的边缘和更符合视觉的结果[2]

一个基础的生成对抗网络包含两个神经网络构成的模型:生成模型(generativemodel,g)和判别模型(adversarialmodel,d),又称生成器(用g表示)和判别器(用d表示)。生成器能够产生逼真的数据分布;判别器用来判别数据是仿真的还是真实的。生成器和判别器均可采用神经网络模型的形式来实现。生成对抗网络的训练过程是使g产生的仿真数据足以以假乱真,使d判别真假的概率均为0.5。

超分辨率生成对抗网络(super-resolutiongenerativeadversarialnetworks,srgan),是基于生成对抗网络的超分辨率网络模型,且该网络模型也分为生成网络模型和判别网络模型。由于生成对抗网络本身存在的缺陷,在目标实现过程中很难达到最理想状态,也即纳什均衡状态,其缺陷具体表现为生成对抗网络模型在训练过程中不稳定、计算损失忽高忽低、训练结果也不一定能达到最优点、收敛结果不彻底、并且还可能出现模式崩溃等问题而导致训练效果非常差,即使增加训练时间也无法改善,所以在srgan的网络模型中也存在着类似的问题。因此,本发明对模型进行改进。

生成对抗网络的图像超分辨率方法的生成网络模型结构如图5所示,其中不同模块的颜色表示不同的网络层,相同颜色表示相同内容操作。在该网络模型中,首先输入一张低分辨率图像,将输入的低分辨率图像进行卷积和激活函数relu的处理,目的是进行图像的特征提取;然后进入含有5个残差块的残差模块且每个残差块中的结构依次是卷积、块的标准化、激活函数、卷积、块的标准化、各元素对应乘积后求和,其中该部分使用的激活函数是relu。且每个残差块之间均使用跳跃连接,使用残差块的目的是,残差块的跳跃连接可以保持梯度以避免网络模型的退化;经过残差模块后,进入含有两个上采样操作的卷积层,该上采样操作由亚像素卷积层实现,每层可放大2倍,两层上采样共可放大4倍;经过上采样操作之后再进行一次卷积操作,目的是将特征图的通道数降为rgb的3维通道,最终输出高分辨率的彩色图像。

对抗网络又称为“判别网络”,其本质相当于一个特征提取模块,首先将图像输入,经过卷积层和激活函数后,进入包含7个相同操作的模块层,每个模块分别包含卷积层、激活函数、块的标准化,其中该部分使用的激活函数是leakyrelu,但在模型的7个模块中,每层卷积层的卷积核的个数是不同的,它们卷积核的个数分别为64、128、128、256、256、512、512;在该操作之后再进入全连接层、激活函数、全连接层,其中该部分使用的激活函数也是leakyrelu,最后经过sigmoid激活函数输出最终图像的分类结果。该网络的结构模型如图6所示。在卷积神经网络领域判别模型是一种对未知数据和已知数据之间关系进行建模的方法。判别模型是一种基于概率理论的方法。已知输入变量x,判别模型通过构建条件概率分布p(y|x)预测y。

在传统的图像超分辨率方法的学习中,使用的损失函数大多是均方误差mse。mse的计算公式中是对误差取了平方(误差=真实值-预测值),因此若误差>1,则mse增大误差。如果数据中存在异常点,那么误差的值就会很大。因此,使用mse计算损失,会赋予异常点更大的权重,这就会降低模型的整体性能。且当使用mse损失函数在图像放大倍数为4倍时,会生成平滑且缺少细节上真实感的图像。因此,本发明对生成网络定义的损失函数采用生成对抗网络的损失函数。

生成对抗网络的损失也称为感知损失,感知损失包括内容损失和对抗性损失,内容损失是指在生成图像过程中图像本身造成的损失;对抗性损失是指通过判别网络所产生的损失。而这样的损失函数相比于mse损失来说,生成对抗损失更能有效地提升生成图像的最终效果。生成对抗损失函数的公式:

其中,表示内容损失,也即mse函数;表示对抗性损失,其计算方法是计算判别网络返回的概率(0~1之间的值)与理想值1之间的交叉熵,并在后者之前加一个权值,以控制两类损失对于总损失的影响,初始值设为10-3

其中,ilr表示低分辨率图像,表示重构图像的概率估计。且为了更好的梯度,使用代替进行损失的最小化。

损失计算都是在判别器d输出处产生的,目标是判别器的输出结果越能准确分辨出图像以及其生成的图像还是真实图像越好,而生成器g生成的图像则是越接近真实图像、效果越逼真越好。当然判别器在训练过程中不是一下就可以变成完美的分辨器,此时,判别器就会产生比较大的误差,而产生的较大误差会更新g,那么g就会生成更逼真的图像,如此反复进行,最终以求达到平衡状态,即生成器生成的图像更加接近于原始图像,判别器也不能分辨出该幅图像是真实图像还是生成器生成的虚假图像。

具体实施例一

卷积神经网络的训练过程需要大量的矩阵运算,该运算在cpu上实现超分辨率的训练,实施例采用训练集为https://github.com/xinntao/basicsr中的div2k数据集,数据集中包含800张hr(highresolution简称hr)图像的训练集,100张hr测试集。该div2k中数据集的图像均为彩色的图像,这是一种用于图像复原任务的高质量(2k分辨率)图像数据集。

本实施例评价标准是通过计算原图像与生成图像的峰值信噪比psnr(peaksignal-to-noiseratio,psnr)指标进行评价。峰值信噪比(psnr)通常用于测量有损变换(如图像压缩、图像修复)的重建图像,是一种评估和对比模型的量化质量方法,表示重建后和原始图像像素值的接近程度。图像的像素值,一般由均方误差mse进行定义。psnr公式为:

其中,(2n-1)2表示的是图像点颜色的最大数值的平方,n表示采样点的位数(通常每个采样点用8位表示,那么就是28-1=255)。psnr值越高,代表重建结果的像素值与标准越接近。

在实施例中,使用opencv先将训练的高分辨率图像进行图像压缩,将其作为输入的低分辨率图像,然后通过本发明方法生成高清图像。并为了提高网络的学习能力,将训练集图像进行随机训练。本实施例使用gpu进行运算处理,将低分辨率图像分别输入传统超分辨率卷积神经网络模型与改进后的超分辨率卷积神经网络模型中,并将两个模型生成的效果图进行对比,具体实施例过程叙述如下。

步骤1:将div2k训练集中的高清图像转化为低分辨率图像作为生成网络的图像输入;

步骤2:第一层采用卷积操作进行特征提取(卷积核大小为3×3,步长为1,卷积个数为64),然后进行激活函数relu的计算;

步骤3:进入残差网络。残差网络包含3个残差块和1个卷积层,且每个残差块结构为:卷积层→批量处理标准化→卷积层→批量处理标准化,且在每层批量处理标准化后进行激活函数relu的计算;

步骤4:根据上面得到残差网络的输出结果,再进行卷积(卷积核大小为3×3,步长为1,卷积个数为256);进入亚像素进行卷积上采样;重复两次该操作;

步骤5:最后再进行卷积(卷积核尺寸为1×1),使用激活函数tanh计算后,输出重建后的目标图像。

通过训练集进行模型的训练,训练完成后将模型用于测试图像进行测试,生成高分辨率图像。为了验证本发明方法的有效性,随机选出四幅图像分别在传统超分辨率卷积神经网络-srcnn[3]方法和本发明方法(improvedmethod)进行测试,效果对比如图7所示,峰值信噪比(psnr)结果如表1所示。

表1图像的psnr比较数据表

在上述对比实验中为了保证数据的准确性,均使用相同的训练集、测试集和相同的训练次数。从表1中可以清楚的看出,本发明方法与传统超分辨率卷积神经网络-srcnn方法相比,image1在采用srcnn方法重建后的psnr值为19.87db,而采用本发明方法重建后的psnr值为22.14db,提升了11.42%;采用本发明方法进行图像重建得到的image2、image3、image4的psnr值相比于srcnn方法分别提升了19.94%、14.25%、8.54%。由此可以看出本发明改进的超分辨率卷积神经网络模型在客观评价上有着更良好的性能。

从图7中可以看到,image1、image2、image3、image4中采用本发明方法进行重建得到的图像更加锐利清晰,且边缘层次分明,效果更加明显,整体的视觉效果有效提升,更接近原始图像的视觉效果。

具体实施例二

本实施例在具体实施例一网络模型的基础上,加入了生成对抗网络中判别网络的部分。同样在cpu上进行训练,使用div2k的开源数据集进行模型的训练和测试。使用python中的pil库进行图像的处理,pil库允许使用不同的卷积核做过滤、颜色空间的转换、图像的大小转换、图像旋转及各种仿射变换。先将训练的高分辨率图像进行图像处理使其变成要处理的低分辨率图像,然后将处理的低分辨率图像通过本发明改进的超分辨率卷积神经网络方法得到重建后的高分辨率图像。并将训练集图像进行随机训练,提高网络的泛化能力。

(1)训练深层网络的实验技巧:对残差信息进行比例缩放,即将残差信息乘以一个0到1之间的数,用于防止网络的不稳定;更小的初始化,当初始化参数的方差变小时,残差结构更容易进行训练。

(2)训练细节:放大倍数:4;mini-batch:16;通过python对高分辨率图像进行降采样得到低分辨率图像;高分辨率模块大小:128×128。由实验经验发现,使用大的模块训练深层网络的效果会更好,因为一个增大的感受野会帮助模型捕捉更有意义的信息。

(3)训练过程:训练一个基于psnr指标的模型(l1loss),初始化学习率:2×1e-4,每200000个mini-batch学习率乘以0.5;以具体实施例一中训练的模型作为生成网络的初始化;初始学习率:1e-4,且模型在迭代50k,100k,200k,300k后减半。

基于像素损失函数进行优化的预训练模型,不仅可以避免生成网络的局部最优,而且在预训练后,判别网络所得到的输入图像的质量是相对较好的,而不是完全初始化的图像,这样会使判别器更注重图像纹理的判别,最后使用adam(β1=0.9,β2=0.999)的优化器,来交替更新生成网络和判别网络,直到收敛。是帮助基于生成对抗网络的模型生成更符合视觉效果的主要原因。

(4)实验步骤:

步骤1、使用python训练有丰富纹理信息的div2k数据集,使训练集中的高清图像转化为低分辨率图像作为生成网络的图像输入;

步骤2、第一层是含有64个3×3卷积的特征提取操作,然后进行激活函数relu的计算;

步骤3、进入包含3个残差块和1个卷积层的残差网络,每个残差块结构:卷积层→批量归一化→relu→卷积层→批量归一化→relu;

在该层中使用批量归一化的目的为:a.加快收敛速度:在深度神经网络中若每层的数据分布都不一致,将会导致网络难以收敛和训练,因此将每层数据的值都转换为0~1之间,这样的分布使得训练更容易收敛;b.防止梯度爆炸和梯度消失;c.防止过拟合:在网络的训练中,网络每次随机取小块,使得该网络不同方向的不同学习,一定程度上避免了过拟合;

步骤4、根据上层的输出结果,进行再卷积(卷积核大小为3×3,步长为1,卷积个数为256);之后进入上采样;

步骤5、最后再使用1×1卷积核进行卷积计算,重建目标图像;

将上面的网络结构作为生成对抗网络模型的生成网络,用来生成高分辨率图像。

步骤6、将改进的生成对抗网络模型的对抗网络作为改进超分辨率卷积神经网络的对抗网络,用来判别生成网络生成图像的真假。

通过div2k中的训练集进行改进的网络模型的训练,然后将测试集用于改进的网络模型的测试,最终生成高分辨率图像。如图8所示,基于div2k集合中测试集随机重建3幅图像,其对应的psnr值如表2所示。

表2图像的psnr比较数据表

本实施例由于加入了对抗网络对生成图像进行判别,使得生成的图像更加接近于原始图像。根据psnr值来评估,从表2可以看出,本发明方法相比于传统超分辨率卷积神经网络-srcnn方法将psnr值分别提高了13.72db、14.21db、9.46db,这表明本发明方法能更好地恢复图像的特征信息。

从图8中还可以看出,本发明方法显著提升了重建图像的质量。上采样模块的位置加剧了由输入图像中像素退化引起的伪影,因此,在生成网络中改变上采样的位置可以有效地抑制伪影,生成更清晰的图像。使用对抗网络来训练、优化模型时,从表1和表2中可以综合看出psnr值都有一定的提高,这是因为模型是专门针对该指标进行优化的。改进生成网络后,图像质量有一定程度的上升。该改进使网络模型生成的超分辨率图像更接近真实图像,这有助于后续加入对抗网络后重建出更清晰的高分辨率图像。

最后,将采用本实施例图像重建方法、传统超分辨率卷积神经网络-srcnn方法、双三次插值(bicubicinterpolation)图像重建方法所生成图像的psnr值进行对比,如图9所示,可以清楚地看出,网络模型的psnr值随着训练次数的增加而逐渐增大,其中,双三次插值算法的psnr值曲线相比于相同次数的其他方法的psnr值曲线来说曲线的位置更低,而传统超分辨率卷积神经网络-srcnn方法的psnr值的曲线也是逐渐递增的,但是其与本实施例方法的psnr值的曲线有多个交点,开始是本实施例方法的psnr值最大,其次是传统超分辨率卷积神经网络-srcnn方法、双三次插值算法;然后随着迭代次数的增加,本实施例方法的psnr值与传统超分辨率卷积神经网络-srcnn方法的psnr值彼此不分上下,而双三次插值的曲线一直在两条曲线的下方。随着模型运行的次数再次增多,本实施例方法的psnr值逐渐上升至最高,而srcnn方法的psnr值的曲线仅次于本实施例方法。随着迭代次数的不断增加,虽然每条曲线的psnr值的大小都在增加,但是相比于迭代的刚开始,曲线的上升速度越来越缓慢,曲线增加的幅度越来越小,说明网络模型训练的结果基本趋于稳定。因此可以得出,本发明改进的超分辨率卷积神经网络的性能优于传统的超分辨率卷积神经网络。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

本发明援引的文献如下:

[1]dongc,loycc,hek,etallearningadeepconvolutionalnetworkforimagesuper-resolution[c]//europeanconferenceoncomputervision.springer,cham,2014.

[2]wangx,yuk,us,etal.esrgan:enhancedsuper-resolutiongenerativeadversarialnetworks.computervision,eccv2018workshops.2018.

[3]dongc,loycc,hek,etal.imagesuper-resolutionusingdeepconvolutionalnetworks[j].patternanalysisandmachineintelligence,ieeetransactionson,2016,38(2):295-307.

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1