一种基于持续性记忆密集网络的图像高效去噪方法与流程

文档序号:17731925发布日期:2019-05-22 02:54阅读:164来源:国知局
一种基于持续性记忆密集网络的图像高效去噪方法与流程

本发明涉及一种基于持续性记忆密集网络的图像高效去噪方法,属于图像处理技术领域。



背景技术:

图像去噪是计算机视觉中的一个经典基本问题,该问题在学术研究以及工业应用中均获得了广泛关注。去噪的目标是从一个含噪图像y=x+n中恢复出清晰图像x,其中的噪声n常被假设为加性高斯白噪声。从贝叶斯分析的角度看,在似然值已知的条件下,图像的先验模型对去噪起到相当关键的作用。在过去的数十年里,去噪方法已囊括了大部分的图像先验,包括非局部自相似性模型,稀疏模型,梯度模型和隐马尔科夫域模型等,其中基于自相似模型的方法,如bm3d等的去噪效果均表现良好。

然而,基于先验方法的去噪模型存在的一个明显不足之处在于,测试阶段需要较长的时间进行优化计算,并且鉴于原有技术基础理论突破有限,图像的去噪性能已到达瓶颈阶段,要进一步大幅度提高复原效果正变得越来越难。同时,由于去噪模型为非凸问题,优化过程中涉及到的一些参数需要进行手动设定,这也进一步约束了去噪性能的进一步提高。近几年来,随着深度学习技术在图像分类、识别等工程领域接连出现较大突破,学术界正试图结合使用深度卷积网络来进行图像去噪,并在探索过程中引入了一些性能突出的算法。

2008年,virenjain等人提出使用卷积网络的方法(naturalimagedenoisingwithconvolutionalnetworks,简称cn1)来进行自然图像的去噪,该方法结合特定的噪声模型来生成训练样本,通过训练,获得了优于基于小波方法和基于马尔科夫随机场的相关方法,在盲去噪中的性能与其他基于非盲设定的模型不相上下。作者认为,基于卷积网络与基于马尔科夫随机场(mrf)的方法在数学表示上有一定的联系,但mrf方法在概率模型的参数估计和推断中占用了大量的计算资源。卷积网络的方法则避免进行密度估计的统计分析,而是将去噪过程转化为回归分析问题。2012年,xiejunyuan等人提出堆叠稀疏噪声自编码方法(stackedsparsedenoisingauto-encoderarchitecture,简称ssda),该方法结合使用稀疏编码和深度网络来进行图像去噪,其中深度网络使用预训练的去噪自编码来进行初始化。与cn1的训练过程相似,ssda逐层增加网络隐藏层,并利用前面多层的权重参数来初始化下一个隐藏层的初始参数值。而在每增加一个隐藏层后,引入kl散度来计算当前所有层状态下模型的损失值,即通过使用较小的对数权重来使隐藏单元的均值激活值尽可能趋于零从而达到稀疏的效果。以上两种方法的网络是逐层训练的,并且网络的权重初始值并非自动生成,而是在每层内部都需要人为干预,该做法会在一定程度上约束原模型性能的达到最优值,并且整体的训练过程费时。同时,模型的构造都是全连接网络上的逐层堆叠,这将促使生成模型的总体参数在网络深度较浅时也异常大。

2016年,maoxiaojiao等人提出对称跨层连接的深度卷积编码解码网络red30用于图像去噪,该网络由多个卷积层与去卷积层作为基本单元,直接进行从噪声图像到清晰图像之间的端到端学习。由于使用了对称连接,使得图像信号能在反向传播的过程直接传递回距离输入图像较近的浅层,故能极大程度上加速网络整体的训练,且很好地缓解了梯度消失问题;同时由于卷积过程是从原图像中直接进行信息提取,而去卷积层负责对提取特征进行重建,故信息之间的直接流动能最大程度上避免原图像信号的丢失。从该网络开始,与图像去噪相关的神经网络开始逐步向更深层发展。2017年,zhangkai等人提出dncnn,该方法使用残差学习和批量归一化来加速网络训练。其中残差学习策略的应用使网络仅学习噪声信息,通过输入值与噪声信息之间的差值来得到最终输出。上述两种算法在图像去噪上均表现出优异性能,但并未在有限层内充分利用图像的特征信息,而仅仅是使用卷积层进行简单的平面堆叠或使用残差块进行堆叠。基本块的链式连接结构到一定深度后容易导致梯度消失的问题,而其深度不足又难以获得一个复杂的映射过程。为此,本发明通过引入密集网络结构来解除这两个因素之间存在的相互制约关系。



技术实现要素:

本发明提供了一种基于持续性记忆密集网络的图像高效去噪方法,能实现图像的高效去噪,同时尽可能多地保留原图像的细节。

本发明的技术方案是:一种基于持续性记忆密集网络的图像高效去噪方法(hierarchicalnestingdenseblockforsingle-imagesuper-resolution,简称dbsr),包括如下步骤:

step1、选取训练集、验证集及测试集,并对训练集和验证集进行预处理,得到带噪声的退化块与不带噪声的清晰块;

step2、通过浅层特征抽取模块、持续性记忆密集网络模块、内层嵌套网络模块和残差求值模块对带噪声的退化块进行处理,得到预估去噪块;

首先使用浅层特征抽取模块对输入图像进行初步噪声特征抽取,随后将抽取所得的信息传递到持续性记忆密集网络模块,由该模块使用残差密集单元的堆叠进行精细噪声特征的提取;经过多个残差密集单元输出的三维组合后,所得信息进一步传递到二通路的内层嵌套网络模块进行特征精细化过程;此时所得到的信息为即为网络的抽取得到的噪声,由浅层特征抽取模块的输出与内层嵌套网络模块的输出值进行相减即可得到预估去噪块;

step3、使用网络输出的预估去噪块与已知不带噪声的清晰块计算均方误差,以进行损失值度量;

step4、从网络末端开始,使用adam算子求权值梯度值并更新网络参数;

step5、循环步骤step2-step4,待网络收敛后训练终止并获得去噪模型;

step6、在训练好的去噪模型输入含高斯噪声图像得到去除噪声的图像。

进一步地,所述步骤step1中,选用图像复原与增强比赛ntire中所使用的900张2k高清png图像作为模型的训练集、验证集,其中前800张图像用于模型训练,后100张用于验证;选用图像去噪标准数据集set12,bsd68对网络模型进行测试,在训练集与验证集中,对每张2k高清原图添加高斯白噪声,随后以步长27分别在高清原图和噪声图的相同位置截取大小为96×96的图像块,得到不带噪声的清晰块ynf和带噪声的退化块x。

进一步地,所述步骤2中,网络首层使用包含单个卷积块的浅层特征抽取模块初步抽取噪声特征;随后,以残差密集单元作为基本单位,并通过基本单位的逐层嵌套来构造持续性记忆密集网络模块,以抽取多粒度噪声特征信息;在网络的后半部分,内层嵌套网络使用两个并行子网络对噪声特征图谱进行通道整合,通过不同个数、不同大小的卷积核实现噪声信息特征的精细化,以得到图像高频噪声信息;最后,网络末端将包含高频噪声信息的图像内容与初步抽取的噪声特征进行综合,通过残差求值模块中求差值的做法来去除噪声的图像。

进一步地,所述步骤step2的具体步骤:

step2.1、浅层特征抽取模块初步抽取噪声特征:以带噪声的退化块x作为输入值,通过浅层特征抽取模块增加输入块的通道数,并对其进行噪声信息的初步提取;

浅层特征抽取模块以带噪声的退化块x作为输入,经过卷积操作conv、权值偏置和带参数修正线性单元prelu后,输出t-1;该过程用数学公式表达为:t-1=prelu(ac1,c1),其中c1=w1*x+b1为卷积偏置过程的输出,w1为卷积操作的权重参数,b1为偏置量,a为带参数修正线性单元prelu的初始值;

step2.2、持续性记忆密集网络模块精细化噪声特征信息:

持续性记忆密集网络模块(persistentmemorydenseblock,pmdb)以残差密集单元(residualdenseunit,rdu)作为其基本单位,通过在rdu内部进一步嵌套rdu的做法来达到抽取多粒度噪声特征信息的目的;

具体做法为:pmdb以浅层特征抽取模块的输出值t-1作为输入,经过一个卷积块后得到输出值t0;随后t0被传递到含有递归连接的多个rdu单元,得到输出值tpmdb;由于pmdb整个模块的主要构成为rdu单元,故先对rdu单元展开描述;

为方便理解,首先对不带嵌套的rdu单元其中信息的传递进行说明;以rduk表示pmdb上堆叠的第k个rdu,其中为pmdb所在层rdu单元的总个数;则其输入值为rduk-1,输出值为rduk+1;在rduk内部,使用一个卷积块对输入值的维度进行压缩,得到噪声特征rduk,b1,符号b1用于标识该卷积块,紧接着,该噪声特征输入到一个持续性记忆密集网络ndense,输出rduk,nd,符号nd用于标识该密集网络,在密集网络中,使用了8个卷积块,每个卷积块输出的特征图谱个数为64,故最后将8个卷积块以通道连接的方式结合起来时,得到64×8=512个特征图谱;由于特征图谱维数过高容易导致内存负载过重,故在密集网络末端使用1×1的卷积核将通道数从512下降到64;持续性记忆密集网络ndense用数学表示为:

rduk,nd=hl([d1,…,di,…,d8])

其中hl为ndense末端的通道降维过程,di表示ndense内部第i个卷积块rduk,di的输出值,符号[·]表示三维合并操作concatenation,最后,使用一个全局残差连接将噪声特征提取出来,数学表达为:rduk+1=rduk-1-rduk,nd=frdu(rduk-1),其中frdu表示rdu该单元所对应的映射函数;

在带嵌套rdu单元的pmdb中,除了持续性记忆密集网络ndense内部卷积块rduk,di的输入值不同以外,带嵌套rdu单元内部使用的卷积块个数、通道连接的方式以及特征图谱降维都与不带嵌套的rdu单元保持一致;在非嵌套rdu单元内部的密集网络ndense,输出结果为di的卷积块其输入值为di-1,而在带嵌套rdu单元内部的密集网络,每个卷积块的输入值来自于另一个rdu单元,即输出结果为di的卷积块其输入值为frdu(di-1);

在持续性记忆密集网络模块pmdb末端,使用递归连接的方式将前面各层的输出进行三维合并堆叠,得到该模块的输出值tpmdb,其中的三维合并操作表示为:tpmdb=[rdu1,…,rduk,…,rdud],其中的rduk表示第k个rdu单元;

step2.3、内层嵌套网络模块进行噪声信息的精细化:内层嵌套网络模块以持续性记忆密集网络模块的输出值tpmdb作为输入,其内部使用两个并行子网络对噪声信息作进一步的精细化抽取;其中一个网络通路使用大小为1×1的滤波器将图像原特征通道下降到64个,另一个通路也先采用同样的方法降低维度,随后使用3×3的滤波器将64个通道降低到32;嵌套网络模块能在不增加过多参数的情况下给网络引入更复杂的非线性映射,模块末端将两个通路的特征图谱进行三维合并,此时得到的输出结果tnin为在原清晰图像中加入的噪声信息;

step2.4、残差求值模块:该模块主要将浅层网络抽取所得的特征t-1与内层嵌套网络模块的输出tnin进行相减并使用卷积块对差值微调,得到预估去噪块yest。

进一步地,所述步骤step3包括:

使用网络输出的预估去噪块yest与已知不带噪声的清晰块ynf进行损失值的计算;具体是使用均方误差值衡量两者之间的距离,数学表达为:其中n为一次迭代所输入的带噪声退化块x的总个数,yest(i)表示第i张带噪声退化块在经过网络训练后得到的预估去噪块结果,ynf(i)则为第i张输入带噪声退化块所对应的不带噪声的清晰块,θ为step2中所有参数的统称。

进一步地,所述步骤step4、step5的具体内容如下:

对网络权值使用adam算子进行更新,循环步骤step2-step3,迭代的停止条件是,网络损失值在相邻迭代次数之间变化小于1e-3;或网络在收敛时的迭代次数达到200次,迭代完成后,得到训练好的网络模型。

本发明的有益效果是:

1、特征提取过程使用了持续性记忆密集网络模块,使提取得到的噪声点更加精确;

2、在持续性记忆密集网络模块中使用了迭代块连接,受噪声影响程度不同的块能被统一组合起来进行处理;

3、噪声特征抽取后期加入了内层嵌套网络模块,该模块有助于在网络内部加入更复杂的映射,保证了在抽取噪声点的同时不至于过多地破坏原图像的结构信息;

4、网络末端加入残差求值模块能极大程度上减轻网络训练的难度;

5、通过不同的训练集,该模型能用于图像去块、去模糊过程,在进一步加入上采样层后,能应用到图像超分辨率重建过程;

6、本发明在不破坏原图像纹理边缘信息的情况下,能以较高精度处理自然图像中存在的高斯白噪声。

附图说明

图1为本发明步骤step2的流程图;

图2为高斯白噪声标准差σ=45时模型训练的收敛图及各种算法相应的psnr值;

图3为多种算法在标准测试集set12的图片“img004”上,标准差σ=45时,去噪效果及局部放大图,其中(3a)原始图像;(3b)带噪图像;(3c)epll算法;(3d)bm3d算法;(3e)ncsr算法;(3f)dncnn算法;(3g)memnet算法;(3h)本发明的dbsr算法;

图4为多种算法在标准测试集set12的图片“img011”上,标准差σ=15时,去噪效果及局部放大图,其中(4a)原始图像;(4b)带噪图像;(4c)epll算法;(4d)bm3d算法;(4e)ncsr算法;(4f)dncnn算法;(4g)memnet算法;(4h)本发明的dbsr算法。

具体实施方式

实施例1:如图1-4所示,一种基于持续性记忆密集网络的图像高效去噪方法,包括如下步骤:

step1、选取训练集、验证集及测试集,并对训练集和验证集进行预处理,得到带噪声的退化块与不带噪声的清晰块;

step2、通过浅层特征抽取模块、持续性记忆密集网络模块、内层嵌套网络模块和残差求值模块对带噪声的退化块进行处理,得到预估去噪块;

首先使用浅层特征抽取模块对输入图像进行初步噪声特征抽取,随后将抽取所得的信息传递到持续性记忆密集网络模块,由该模块使用残差密集单元的堆叠进行精细噪声特征的提取;经过多个残差密集单元输出的三维组合后,所得信息进一步传递到二通路的内层嵌套网络模块进行特征精细化过程;此时所得到的信息为即为网络的抽取得到的噪声,由浅层特征抽取模块的输出与内层嵌套网络模块的输出值进行相减即可得到预估去噪块;

step3、使用网络输出的预估去噪块与已知不带噪声的清晰块计算均方误差,以进行损失值度量;

step4、从网络末端开始,使用adam算子求权值梯度值并更新网络参数;

step5、循环步骤step2-step4,待网络收敛后训练终止并获得去噪模型;

step6、在训练好的去噪模型输入含高斯噪声图像得到去除噪声的图像。

进一步地,所述步骤step1中,选用图像复原与增强比赛ntire中所使用的900张2k高清png图像作为模型的训练集、验证集,其中前800张图像用于模型训练,后100张用于验证;选用图像去噪标准数据集set12,bsd68对网络模型进行测试,在训练集与验证集中,对每张2k高清原图添加高斯白噪声,随后以步长27分别在高清原图和噪声图的相同位置截取大小为96×96的图像块,得到不带噪声的清晰块ynf和带噪声的退化块x。

进一步地,所述步骤2中,网络首层使用包含单个卷积块的浅层特征抽取模块初步抽取噪声特征;随后,以残差密集单元作为基本单位,并通过基本单位的逐层嵌套来构造持续性记忆密集网络模块,以抽取多粒度噪声特征信息;在网络的后半部分,内层嵌套网络使用两个并行子网络对噪声特征图谱进行通道整合,通过不同个数、不同大小的卷积核实现噪声信息特征的精细化,以得到图像高频噪声信息;最后,网络末端将包含高频噪声信息的图像内容与初步抽取的噪声特征进行综合,通过残差求值模块中求差值的做法来去除噪声的图像。

进一步地,所述步骤step2的具体步骤:

step2.1、浅层特征抽取模块初步抽取噪声特征:以带噪声的退化块x作为输入值,通过浅层特征抽取模块增加输入块的通道数,并对其进行噪声信息的初步提取;

浅层特征抽取模块以带噪声的退化块x作为输入,经过卷积操作conv、权值偏置和带参数修正线性单元prelu后,输出t-1;该过程用数学公式表达为:t-1=prelu(ac1,c1),其中c1=w1*x+b1为卷积偏置过程的输出,w1为卷积操作的权重参数,b1为偏置量,a为带参数修正线性单元prelu的初始值;

step2.2、持续性记忆密集网络模块精细化噪声特征信息:

持续性记忆密集网络模块(persistentmemorydenseblock,pmdb)以残差密集单元(residualdenseunit,rdu)作为其基本单位,通过在rdu内部进一步嵌套rdu的做法来达到抽取多粒度噪声特征信息的目的;

具体做法为:pmdb以浅层特征抽取模块的输出值t-1作为输入,经过一个卷积块后得到输出值t0;随后t0被传递到含有递归连接的多个rdu单元,得到输出值tpmdb;由于pmdb整个模块的主要构成为rdu单元,故先对rdu单元展开描述;

为方便理解,首先对不带嵌套的rdu单元其中信息的传递进行说明;以rduk表示pmdb上堆叠的第k个rdu,其中为pmdb所在层rdu单元的总个数;则其输入值为rduk-1,输出值为rduk+1;在rduk内部,使用一个卷积块对输入值的维度进行压缩,得到噪声特征rduk,b1,符号b1用于标识该卷积块,紧接着,该噪声特征输入到一个持续性记忆密集网络ndense,输出rduk,nd,符号nd用于标识该密集网络,在密集网络中,使用了8个卷积块,每个卷积块输出的特征图谱个数为64,故最后将8个卷积块以通道连接的方式结合起来时,得到64×8=512个特征图谱;由于特征图谱维数过高容易导致内存负载过重,故在密集网络末端使用1×1的卷积核将通道数从512下降到64;持续性记忆密集网络ndense用数学表示为:

rduk,nd=hl([d1,…,di,…,d8])

其中hl为ndense末端的通道降维过程,di表示ndense内部第i个卷积块rduk,di的输出值,符号[·]表示三维合并操作concatenation,最后,使用一个全局残差连接将噪声特征提取出来,数学表达为:rduk+1=rduk-1-rduk,nd=frdu(rduk-1),其中frdu表示rdu该单元所对应的映射函数;

在带嵌套rdu单元的pmdb中,除了持续性记忆密集网络ndense内部卷积块rduk,di的输入值不同以外,带嵌套rdu单元内部使用的卷积块个数、通道连接的方式以及特征图谱降维都与不带嵌套的rdu单元保持一致;在非嵌套rdu单元内部的密集网络ndense,输出结果为di的卷积块其输入值为di-1,而在带嵌套rdu单元内部的密集网络,每个卷积块的输入值来自于另一个rdu单元,即输出结果为di的卷积块其输入值为frdu(di-1);

在持续性记忆密集网络模块pmdb末端,使用递归连接的方式将前面各层的输出进行三维合并堆叠,得到该模块的输出值tpmdb,其中的三维合并操作表示为:tpmdb=[rdu1,…,rduk,…,rdud],其中的rduk表示第k个rdu单元;

step2.3、内层嵌套网络模块进行噪声信息的精细化:内层嵌套网络模块以持续性记忆密集网络模块的输出值tpmdb作为输入,其内部使用两个并行子网络对噪声信息作进一步的精细化抽取;其中一个网络通路使用大小为1×1的滤波器将图像原特征通道下降到64个,另一个通路也先采用同样的方法降低维度,随后使用3×3的滤波器将64个通道降低到32;嵌套网络模块能在不增加过多参数的情况下给网络引入更复杂的非线性映射,模块末端将两个通路的特征图谱进行三维合并,此时得到的输出结果tnin为在原清晰图像中加入的噪声信息;

step2.4、残差求值模块:该模块主要将浅层网络抽取所得的特征t-1与内层嵌套网络模块的输出tnin进行相减并使用卷积块对差值微调,得到预估去噪块yest。

进一步地,所述步骤step3包括:

使用网络输出的预估去噪块yest与已知不带噪声的清晰块ynf进行损失值的计算;具体是使用均方误差值衡量两者之间的距离,数学表达为:其中n为一次迭代所输入的带噪声退化块x的总个数,yest(i)表示第i张带噪声退化块在经过网络训练后得到的预估去噪块结果,ynf(i)则为第i张输入带噪声退化块所对应的不带噪声的清晰块,θ为step2中所有参数的统称。

本发明的网络训练参数及训练目标说明如下:

step2中包含的训练参数有:浅层特征抽取模块中单个卷积块,持续性记忆密集网络模块pmdb以及内层嵌套网络模块中所包含的卷积核大小,卷积核个数,带参数修正线性单元的初始值;step4中adam算子所涉及的学习率,迭代过程的迭代次数等。

本发明的训练目标是step3中,在模型完成训练时计算得到的损失值已经收敛到一个较低值。

进一步地,所述步骤step4、step5的具体内容如下:

对网络权值使用adam算子进行更新,循环步骤step2-step3,迭代的停止条件是,网络损失值在相邻迭代次数之间变化小于1e-3;或网络在收敛时的迭代次数达到200次,迭代完成后,得到训练好的网络模型。

为了说明本发明的效果,如图2所示为高斯白噪声标准差σ=45时模型训练的收敛图及各种算法相应的psnr值;

从图2可看出,本发明所提出的去噪算法在峰值信噪比psnr上有较大优势,相比于最近提出的memnet其提升幅度为0.11db,相比于传统经典去噪算法bm3d,提升幅度较明显,大小为1.54db.

图3定性比较了若干种经典算法,在去除噪声的同时对原图像细节信息的保真度。对比发现,经典算法如bm3d、ncsr的复原图像中仍有较多噪声,而基于深度学习的算法dncnn/memnet复原图像的噪声已被有效去除,但细节信息有所失真。本发明在去除噪声与对原信息的保真情况两方面均明显优于前述算法。

图4定性比较了若干种经典算法,在对原图像细节信息的保真度较高的情况下对噪声去除的能力。对比发现,经典算法如bm3d、ncsr和基于深度学习的算法dncnn上的噪声信息仍较多,而memnet和本发明处理的噪声图像其噪声已经得到有效抑制,但本发明在信息保真度方面要优于memnet算法。

上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

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