一种基于膨胀卷积图像去噪方法与流程

文档序号:15964948发布日期:2018-11-16 23:07阅读:345来源:国知局
本发明属于图像去噪
技术领域
,具体涉及一种基于膨胀卷积图像去噪方法。
背景技术
图像去噪是指减少数字图像中噪声的过程,现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。dncnn是用残差学习在隐层中去掉干净的图像,得到一个噪声图像,再用有噪声的输入图像减去噪声图像从而得到清晰的图像。dncnn采用17层网络,其中第一层是膨胀卷积+非线性激活函数(relu),第2-16层是膨胀卷积+批归一化+非线性激活函数(relu),第17层是膨胀卷积,此类网络层数过深,需要的时间长,所以会降低效率。技术实现要素:为了解决现有技术中存在的上述技术问题,本发明提供了以下技术方案:一种基于膨胀卷积图像去噪方法,包括以下步骤,步骤一、训练数据的准备,准备若干张灰度训练图片,设置缩放因子,采用立方插值的方法生成若干张图片一;设置块尺寸和步长,对图片一进行块的裁取,对裁取后的每张图片一再做水平翻转或者翻转90°操作,得到数个块图像;步骤二、模型的建立,第一层,将输入图像采用零填充的方式与滤波器进行卷积操作得到图像x,再将图像x进行非线性激活操作得到图像x1;第二层,将图像x1采用零填充的方式与滤波器进行膨胀因子为1的卷积操作得到图像out,再将图像out进行批归一化处理得到图像out1,然后对图像out1进行非线性激活操作得到图像out2;第三层,将图像out2采用零填充的方式与滤波器进行膨胀因子为2的卷积操作得到图像out3,再将图像out3进行批归一化处理得到图像out4,然后对图像out4进行非线性激活操作得到图像out5;第四层,设置膨胀因子为3,将图像out5重复第三层步骤得到图像out6;第五层,将图像out6采用零填充的方式与滤波器进行膨胀因子为4的卷积操作得到图像out7,再将图像out7进行批归一化处理得到图像out8,然后将图像out8与第一层得到的图像x1做跳跃连接,形成一个“残差块”,最后将该图像out8进行非线性激活操作得到图像out9,将图像out9作为下一个输入的图像x2;第六层至第九层,将图像x2分别重复第二层至第五层,得到图像x3;第十层至第十三层,将图像x3分别重复第二层至第五层,得到图像x4;第十四层,将图像x4采用零填充的方式与滤波器进行卷积操作得到图像x5,然后将第一层的输入图像与图像x5做相减处理并赋值给图像x5,即得到图像模型;步骤三、将步骤二得到的图像模型采用adam优化器和均方误差损失函数进行编译得到编译后的模型;步骤四、将步骤一中得到的数个块图像按批量尺寸分成多代,每代需要多次迭代,给每一次迭代的图像分别加上加性高斯白噪声得到带有噪声的批量图片;步骤五、将步骤四得到的带有噪声的批量图片采用学习率衰减的方法进行训练,得到训练后的模型;步骤六、测试数据的准备,准备多张测试图片,对测试图片分别加上加性高斯白噪声得到测试图像;步骤七、将得到的测试图像导入到步骤五预测函数模型中,求到去噪后的图像。与现有技术相比,本发明取得的有益效果为:本发明的去噪方法不仅可以恢复锐利的边缘和精细的细节,而且还能在光滑的区域产生令人愉快的视觉效果,并且本方法的网络结构由14层组成,能够减少需要的时间,提高效率。以下将结合附图及实施例对本发明做进一步详细说明。附图说明图1是本发明去噪方法的网络结构示意图。图2是用bm3d方法处理噪声后的图片。图3是用mlp方法处理噪声后的图片。图4是用epll方法处理噪声后的图片。图5是用wnnm方法处理噪声后的图片。图6是用tnrd方法处理噪声后的图片。图7是用dncnn方法处理噪声后的图片。图8是本发明的方法处理噪声后的图片。具体实施方式为进一步阐述本发明达成预定目的所采取的技术手段及功效,以下结合附图及实施例对本发明的具体实施方式、结构特征及其功效,详细说明如下。在现有技术中不仅存在网络层数深的问题,还存在有“网格问题”,由于膨胀卷积是将零填充在卷积核中的两个像素之间,因此该卷积核的感受野仅覆盖具有棋盘模式的区域--仅采样非零值的位置,所以丢失了一些邻近信息。当膨胀因子增加时,“网格问题”会变得更严重,通常是在感受野较大的较高层:卷积核太稀疏,无法覆盖任何局部信息,因为非零值离得太远了。为解决现有技术中存在的网络层数深,并且会出现“网格问题”,本实施例提供一种基于膨胀卷积图像去噪方法,该方法的网络是由14层组成,第一层是卷积(膨胀因子默认为1)+非线性激活函数(relu),第2、3、4、5层分别是由膨胀因子为1、2、3、4的层,它们4层组成一个“残差块”,第6、7、8、9层组成一个“残差块”,第10、11、12、13层组成一个“残差块”,在“残差块”里需要注意的是,跳远连接是连在批归一化与非线性激活函数(relu)之间的,其网络结构如图1所示。上述方法具体包括以下步骤,步骤一、训练数据的准备,准备400张180×180的灰度训练图片,设置缩放因子为[1,0.9,0.8,0.7],采用立方插值的方法生成400×4张图片一,尺寸分别为180×180,162×162,144×144,126×126;设置块尺寸(patchsize)为40×40,步长为10,对得到的400×4张图片一进行块(patch)的裁取,对裁取后的每张图片一再做水平翻转或者翻转90°操作,这样180×180的图片可裁成225张40×40的,160×160的可裁成169张40×40的,144×144可裁成121张40×40的,126×126可裁成81张40×40的,总共得到400×(225+169+121+81)=238400块(patches)图像;步骤二、模型的建立,第一层、将输入图像(input)采用零填充的方式与64个3×3的滤波器进行卷积操作得到图像x,再将图像x进行非线性激活操作(relu)得到图像x1;第二层、将图像x1采用零填充的方式与64个3×3的滤波器进行膨胀因子为1的卷积操作得到图像out,再将图像out进行批归一化处理得到图像out1,然后对图像out1进行非线性激活操作(relu)得到图像out2;第三层、将图像out2采用零填充的方式与64个3×3的滤波器进行膨胀因子为2的卷积操作得到图像out3,再将图像out3进行批归一化处理得到图像out4,然后对图像out4进行非线性激活操作得到图像out5;第四层、设置膨胀因子为3,将图像out5重复第三层步骤得到图像out6;第五层、将图像out6采用零填充的方式与64个3×3的滤波器进行膨胀因子为4的卷积操作得到图像out7,再将图像out7进行批归一化处理得到图像out8,然后将图像out8与第一层得到的图像x1做跳跃连接(跳跃连接可以从某一网络层获取激活,然后迅速反馈给另外一层,甚至是神经网络的更深层,能够节省训练需要的时间,收敛更快),形成一个“残差块”,最后将该图像out8进行非线性激活操作(relu)得到图像out9,将图像out9作为下一个输入的图像x2;第六层至第九层、将图像x2分别重复第二层至第五层,得到图像x3;第十层至第十三层、将图像x3分别重复第二层至第五层,得到图像x4;第十四层、将图像x4采用零填充的方式与1个3×3的滤波器进行卷积操作得到图像x5,此时得到的图像x5是通过残差学习得到的一个噪声图像,需要将第一层的输入(input)图像与该图像x5做相减处理并赋值给图像x5,即得到一个输入为input,输出为x5的图像模型;模型创建完毕;步骤三、将步骤二得到的图像模型采用adam优化器和均方误差损失函数(mse)进行编译得到编译后的模型;步骤四、将步骤一中得到的238400块图像按批量尺寸(batchsize)为123分成每代(epoch)需要238400/128=1862批,即每代(epoch)需要1862次迭代,每一次迭代的批量尺寸(batchsize)是128,给每一次迭代的图像分别加上加性高斯白噪声得到带有噪声的批量图片;步骤五、将步骤四得到的带有噪声的批量图片用fit_generator(keras框架中的函数,利用python的生成器,逐个生成数据的批(batch)并进行训练)函数采用学习率衰减的方法进行训练,得到训练后的模型,采用学习率衰减的方法在30代之后学习率减小,保证了模型在训练后期不会有太大的波动,从而更加接近最优解;步骤六、测试数据的准备,测试数据集是set12的12张图片,我们对其12张图片分别加上加性高斯白噪声得到测试图像;步骤七、将得到的测试图像导入到步骤五模型的predict预测函数(keras框架中的预测函数,按批(batch)获得输入数据对应的输出)得到去噪后的图像。网络训练:采用adam算法,动量(momentum)为0.9,批处理大小(mini-batchsize)为128,初始化学习率为0.001,在30代(epochs)之后将学习率降为0.0001,总共训练50代(epochs)。结果分析:在我们的工作中,峰值信噪比(psnr)被用来评价去噪效果,峰值信噪比(psnr)越高,去噪效果越好。在set12数据集上比较我们的方法和其他的方法,下表列出了灰度图像“船”在不同方法的峰值信噪比(psnr)结果如下表所示:meth-odsbm3dmlpepllwnnmtnrddncnnoursσ=2529.9129.9529.6930.0329.9230.2230.18从上表中可以看出我们的方法和dncnn的方法比其他方法的峰值信噪比都比较高,再结合以下图2-图8可以看出我们的方法超过很多模型,可以达到良好的去噪效果。图2是用bm3d处理噪声图片得到的结果,峰值信噪比为29.91db;图3是用mlp方法处理噪声图片得到的结果,峰值信噪比为29.95db;图4是用epll方法处理噪声图片得到的结果,峰值信噪比为29.69db;图5是用wnnm方法处理噪声图片得到的结果,峰值信噪比为30.03db;图6是用tnrd方法处理噪声图片得到的结果,峰值信噪比为29.92db;图7是用dncnn方法处理图1噪声图片得到的结果,峰值信噪比为30.22db;图8是用我们的方法处理噪声图片得到的结果,峰值信噪比为30.18db。从图2--图8可以看出,bm3d,wnnm,epll和mlp倾向于产生过光滑的边缘和纹理;tnrd在保留锋利的边缘和精细细节的同时,很可能在平滑的区域产生伪影;相比之下,dncnn和ours不仅可以恢复锐利的边缘和精细的细节,而且还能在光滑的区域产生令人愉快的视觉效果。我们的模型优于除dncnn的其他模型,与dncnn模型相比,我们的网络仅需要14的层就能达到与dncnn(17层)的结果,大大地减少了计算量,提高了工作效率。更进一步地,本实施例的去噪方法没有在相同的空间分辨率下使用相同的膨胀因子,而是使用3个残差网络中的“残差块”,每个“残差块”是由膨胀因子分别等于1,2,3,4组成。要注意的是,一个“残差块”里的残差因子不能是有共同的因子(比如2,4,6,8),否则会出现“网格问题”。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属
技术领域
的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1