结合感受野优化与残差激励的图像去噪*

2023-09-29 05:52周先春
计算机与数字工程 2023年6期
关键词:残差卷积噪声

葛 超 周先春,2 殷 豪 吴 迪

(1.南京信息工程大学电子与信息工程学院 南京 210044)

(2.南京信息工程大学江苏省大气环境与装备技术协同创新中心 南京 210044)

1 引言

目前的去噪算法多种多样,在传统的图像去噪算法中基于偏微分方程(PDE)[1]和三维块匹配算法(BM3D)[2~3]去噪效果较为优秀。偏微分方程的图像去噪方法可以在去掉图像噪声的同时保持图像的边缘和纹理等细节,但在图像平滑区域会产生阶梯效应。而BM3D 通过块匹配操作寻找相似块,同时结合硬阈值滤波和维纳滤波的优势进行去噪,不仅有突出的峰值信噪比(PSNR),而且视觉效果较好,然而计算时间耗时比较大。近些年来随着硬件的提升和大数据的爆发,掀起了深度学习浪潮,从AlexNet[4]到VGGNet[5],再到Inception v1~v4[6~8]网络等取得的成果,展现了深度学习带来的图像识别和分类等领域的进步。随着深度学习的发展,国内外学者开始使用卷积神经网络对图像去噪领域的应用,如使用多层感知机(MLP)[9],Vincent 等提出了去噪自编码的概念,而Xie 等则将去噪自编码器应用于图像去噪工作[10];Chen 等构建了一种前馈深层网络(TNRD)[11],去噪效果较为理想。2017 年,Zhang等提出了一种结合批标准化算法和残差学习的网络模型(DnCNN)[12~14],使得图像去噪达到了新的高度;次年,又提出一种快速、灵活的基于CNN的图像去噪方案(FFDNet)[15],使得网络更具有鲁莽性。

过去的去噪研究,一般都是建立在单一的3×3卷积核的基础上,感受野只有加深卷积层才能得到提升,但随着卷积层数的提升,图像的边缘信息往往容易丢失,且训练更加困难。根据现有的前人的研究成果,提出了由不同卷积核并联连接组成的Concatenate block,随后对Concatenate block 内部的卷积的大小、通道数和Concatenate block 数量的选择进行大量研究对比,最终得出一个图像去噪效果与边缘信息保存完整的优秀模型;并通过残差激励把浅层的图像信息连接到末尾,更好地保护了图像细节的丢失。最后本文的图像去噪模型加入了批标准化算法(BN)、残差学习、Adma 优化算法[16]和ReLU非线性激活函数等。

当前人们对于卷积神经网络处于研究阶段,如何进行参数选择、卷积核的尺寸大小、学习率的变化和如何选择最优的网络层数等还需要经过严格的证明与研究,本文主要针对以上问题继续研究。

2 基于Concatenate block 图像去噪的研究

2.1 提出一个Concatenate block新框架

在图像分类中,由于使用了不同的卷积运算可以获得输入图像的不同特征信息,并行处理这些运算并结合所有结果将获得更好的图像表征。因此提出构造一个新的Concatenate block 的框架,如图1 所示。Concatenate block 的输入层为上一层非线性激活函数的输出,经过不同的卷积核再通过依次并连输出。

图1 新的Concatenate block框架

2.2 构造基于Concatenate block 的CCNN 实验模型

为了找出不同卷积核组合的优异性,进行concatenate block 的实验模型用来检验不同卷积核的去噪效果;如图2所示。设置(1)1×1、3×3、5×5;(2)3×3、5×5、7×7;(3)5×5、7×7、9×9;(4)1×1、3×3、5×5、7×7;(5)3×3、5×5、7×7、9×9;五种不同的Concatenate block 组合进行实验对比。为了简化参数量,根据卷积核大小,通道数量依次递减设置为64-32-32或64-32-16-16,但总的通道数量需要保持128 不变,且仅包含三层Concatenate block。最终定义相同的损失函数作为评判标准。

图2 基于Concatenate block的实验模型

实验在BSD400 公开数据集中进行训练,如图3 所示,图中纵坐标为损失函数曲线(越低越好),横坐标为训练一次正反传播的次数。经过实验可知,其中5-7-9 的实验结果比较接近3-5-7-9 的效果,但是考虑到随着层数的增加,5-7-9 构成的CCNN网络参数远超3-5-7-9的网络,不利于训练,并且因为浅层而带来的感受野优势也会消失,最终本文选择3-5-7-9 卷积核组成的Concatenate block应用于的图像去噪。

图3 不同卷积核的损失函数变化

如表1,使用Set12 数据集进行测试,检测3-5-7-9 组成的简单CCNN 模型在噪声水平为25下对比BM3D、EPLL、MLP 和TNRD 算法的平均PSNR(dB),已经比BM3D 算法高出0.15(dB)。证明本文构想的CCNN网络可行性。

表1 简单CCNN模型对比不同算法在Set12数据集上的平均PSNR(dB)

2.3 CCNN模型的进一步改进

卷积神经网络模型旨在学习输入图像到残差图像之间的端到端映射函数。根据2.2节的实验结果,实现了如图4 所示的Concatenate block 框架。输入层为上一层非线性激活函数ReLU 层的输出,分别经过3×3×64、5×5×32、7×7×16和9×9×16卷积核后进入Concatenate 函数,为了顺利进行连接操作,对不同的卷积层都加入对应大小的padding 操作,使得图像大小保持不变并且可以更好地保留更多的边缘细节。经过Concatenate 函数后最终就得到了不同的卷积核组成宽通道,更有利于对学习图像中的特征和噪声的分布。对Concatenate 函数后面加上批量归一化(BN)层,最后在采用非线性激活函数ReLU作为输出前加上一个跳跃连接。

图4 优化的Concatenate block框架

2.4 自适应最优Concatenate block层数设计

为了确定提出的CCNN 网络最佳网络层数,本文选择使用BSD400数据集训练新模型。图像去噪与图像识别、分类不同,图像去噪不需要完整的物体轮廓信息,因此本文在BSD400数据集基础上,进行如下设计:

Step1:以步长为10 裁剪patch 大小为(40×40)的图像,以最低的成本扩充了大量的训练样本。为了加快运行效率,批处理大小为128,最终构成238336张40×40大小的图像为训练样本H。

Step2:以2个Concatenate block为一个步长,依次串联组成图像去噪模型,输入训练样本集H。用平方误差函数定义代价函数,则引入代价函数如式(1):

其中hw,b(x)是预测图像,优化的目标主要是为了使代价函数Loss 最小,就是L(w,b)最小,需要对权重w和偏置b进行不断调整来实现,初始化时,为了方便训练会将它们设置成随机的、各不相同的很小的数据,每一次迭代,权重w与偏置b都通过式(2)与式(3)进行更新:

式中,L表示当前网络层数,α为学习率。同时设置循环为50次,每个循环训练为2000次,得到实验网络模型,再将Set12 数据集经过已经训练好的网络模型,求出平均峰值信噪比(PSNR)作为判定条件。为了防止出现过拟合现象,可以使用提前终止算法减缓过拟合现象。

同时在每层中的非线性映射之前结合归一化步骤完成尺度和移位步骤,能够将神经网络中某层的将激活值规整到均值为0,方差为1 的正态分布范围内的数据,然后向后输入,来缓解内部协变量移位的问题,解决随着网络层数加深而使得导致网络训练难度增大的问题。

规范化计算方式:

在经过标准化操作后,不论神经元发生什么变化,输出结果都会被规范化到这样的范围中,另外平移参数和缩放参数可以自适应学习,引入参数少,并且可以使用反向传播进行更新,能够一定程度上加快神经网络训练的收敛速度,降低了对网络参数初始化过程的依赖程度。

Step3:以2 个Concatenate block 构建初始CCNN 图像去噪网络,输入训练样本H。经过Step2后得到的PSNR 为评价标准,获得峰值信噪比PSNR=PSNRn,PSNR越高说明图像去噪效果越好。

Step4:以2个Concatenate block为一个步长,迭代增加Concatenate block 构建新的CCNN 图像去噪网络。采用与Step2 相同的步骤得到新CCNN 网络的PSNRn+2。

Step5:若满足PSNRn+2>PSNR,则PSNR=PSNRn+2,然后再继续执行Step4;若满足PSNRn+2

Step6:针对Step5 中确定的网络N层数,再对N-1层和N+1层进行训练并对比三者最终PSNR的大小,对比返回最大PSNR 值对应的网络层数,并以此层数确定为最终的网络层数。

经过Step1~Step6 训练出不同层数的结果,如图5 所示。首先根据Step5~Step6 的实验结果得到6 个Concatenate block 的去噪效果最优,再对比测试6-1 和6+1 层的PSNR 值,经过实验数据对比最终确定本文的选择6 个Concatenate block 构造CCNN图像去噪模型。

图5 Concatenate block数量对PSNR(dB)的影响

3 基于CCNN模型的图像去噪

由第2 节的实验数据,本文提出最终的CCNN模型如图6 所示。在参考了Inception 网络基础上,第一层使用3×3×64 的卷积层,仅使用ReLU 激活函数;第二层使用3×3×128 卷积后,在ReLU 激活函数后加上增加批量规范化(BN),后面连接上文提出的6 个Concatenate block,最后一层仅采用3×3×1 的卷积层。

图6 CCNN图像去噪模型

通过shortcut 函数实现残差激励,使得CCNN模型更加容易保留图像的浅层的噪声特征信息;使用Concatenate block提取噪声特征。最后使用输入图像减去(Subtract)最后卷积核3×3×1 的输出信息。使得整个模型学习的是噪声的特征信息,相比较于图像的各类特征,噪声的高频特征更容易训练。

4 实验结果与分析

为了评估所提出的CCNN 模型去噪效果,本文在BSD400数据集上裁剪patch大小为(40×40)的图像。设置σ=25 和σ=50 两个噪声级别。采用Orthogonal初始化和Adam优化器进行训练,学习速率变化区间为0.001~0.00005。选择常用的指标,即峰值信噪比(PSNR)以评估去噪性能。

选取的对比算法中有三维块匹配算法(BM3D)、前馈深层网络(TNRD)、DnCNN 和本文提出的CCNN模型。如图7所示,在Set12数据集中选取C.man,starfish,peppers 三幅图像在噪声水平25下局部细节放大对比图。

图7 噪声σ=25时,不同算法的图像去噪局部放大图

从图7 和表2 中可以看出,经过CCNN 模型处理后的图像视觉效果有明显的改善,且图像的边缘信息保存完好,图像质量得到了显著改进。如C.man 图像为例,BM3D 的顶楼黑色部分已经模糊消失,TNRD 的楼房边缘噪声信息明显,而DnCNN 和CCNN 都能较好的还原原图信息。本文不仅对C.man 的高楼、海星的白圈和辣椒枝干图片的噪声信息处理的效果明显,而且细节信息保存完好。

表2 在Set12数据集中不同照片面对不同算法的PSNR(dB)

为了防止数据的偶然性,选择样本更多的测试集(BSD68)上进行实验并计算出平均PSNR。与文献综述[17]的多种算法实验数据做对比,对比结果如表3所示。

表3 不同噪声水平时,多种算法在BSD68上的平均PSNR(dB)

由表2、3 可知,对Set12 和BSD68 的数据集进行测试,表明CCNN 模型都取得最优秀的去噪效果。其中,与经典算法中最好的BM3D 相比,平均PSNR 高出了0.50dB~0.65dB。与卷积神经网络中最新的去噪方法FFDNet、ADNet 等方法相比,本文提出的方法去噪结果也更优秀。

5 结语

本文提出了一种结合感受野优化和残差激励的图像去噪模型,即CCNN 模型。该模型针对图像去噪中图像边缘细节容易丢失的特点,提出由不同的卷积核并联的Concatenate block,使得模型在浅层时候就获得了更大的感受野,从而获取更多的特征信息,并实现自适应Concatenate block 层数。通过输入图像跨尾连接的残差激励更好地避免因随着卷积层的加深而丢失特征信息,并且利用残差学习结合噪声特点,使得模型更易于训练。实验结果表明,在Set12 和BSD68 的测试数据集中加入不同程度的高斯白噪声,本文的CCNN 不仅相较于传统的图像去噪方法视觉效果优秀且耗时短,而且与当前先进出色的DnCNN 和在高噪声表现突出的FFDNet网络比较,也取得了更好的PSNR值。

猜你喜欢
残差卷积噪声
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
噪声可退化且依赖于状态和分布的平均场博弈
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
控制噪声有妙法
平稳自相关过程的残差累积和控制图
一种基于白噪声响应的随机载荷谱识别方法