图像在采集、存储、记录和传输过程中常常会受到众多不良因素的干扰影响, 从而导致图像在一定程度上会退化失真, 质量下降, 导致获取的图像中有噪声的存在, 从而影响图像的质量. 图像去噪是在保持原始图像细节信息完整的同时, 去除图像中的无用噪声信息, 以便于后续对图像进行应用[1, 2]. 图像去噪是计算机视觉研究中的一个经典问题, 同时也是图像领域中一个具有挑战性的研究课题[3-5].
传统的图像去噪方法主要是高斯滤波降噪[6, 7], 这种方法属于局部平滑滤波, 这种去噪方法针对图像的非平滑部分, 不能进行有效的处理. 非局部均值降噪[8]方法可以解决图像的非平滑这一问题, 该方法利用了图像中存在的冗余信息进行去噪处理, 能够较好地去除图像中存在的高斯噪声, 该方法的最大缺陷就是计算复杂度太高, 程序非常耗时, 导致该算法不够实用. 小波阈值降噪[9, 10]主要是利用滤除高频信号这一原理, 小波阈值降噪如果选择的阈值过大, 会导致图像中的高频信息被无区别的抑制, 从而导致图像边缘信息, 纹理细节丢失. 如果阈值过小, 就不能对高频噪声进行有效的去除. Dabov等人在2007年提出了一种基于融合变换算法的块匹配和三维滤波降噪方法[11], 简称为BM3D (block matching and 3D filtering), 该方法采用不同的去噪策略, 通过与相邻图像块进行匹配搜索, 在三维空间进行滤波, 得到块评估值, 最后通过加权求和将各个块复原得到最终去噪效果. BM3D降噪方法虽然去噪效果显著, 但时间复杂度比较高. 采用传统图像去噪算法的复杂度较低, 实时性比较强, 处理速度快, 但在去噪过程中边缘细节信息和纹理信息很容易丢失.
随着深度学习特别是卷积神经网络(CNN)[12, 13]在计算机领域的逐渐发展, CNN被众多研究学者应用在图像去噪问题上并取得了较好的研究成果. Holt[14]在研究神经网络去噪的过程中, 其选用的研究方法是多层感知机(multi layer perceptron, MLP). 在他看来多层感知机网络具有强大的拟合能力和非线性能力, 通过学习带噪声的图像和无噪声图像来实现图像之间的映射关系, MLP模型对各种类型的噪声影响不大, 通过对含有此类噪声的图像进行分类, 可以获得良好的效果. 这种模型的缺点是由于不能很好地处理各种等级噪声, 因此用不同等级噪声图像进行训练, 则很难获得较好的去噪效果. Mao等人[15]提出了一种深卷积编解码网络应用于图像去噪, 该网络具有对称结构的编码(encoding)和解码(decoding), 每一层编码卷积和解码卷积之间都有跳跃连接, 可以获得更好的泛化能力. 但是由于网络变深会导致图像细节的丢失. Zhang等人[16]提出用较深层的CNN网络实现图像去噪, 称为DnCNN, 该网络模型通过利用残差学习[17]和归一化[18]的共同作用, 提高去噪性能, 该算法使用端到端的神经网络模型来进行降噪, 同时该算法具有较好的盲去高斯噪声的能力. 但是, 由于所建立的神经网络模型是由单一大小的卷积核卷积运算完成, 因此, 图像的特征信息提取很少. Zhang等人[19]采用扩张卷积来学习残差图像并提出了IRCNN模型, 该模型基于半二次方分裂(HQS)算法, 利用卷积神经网络学习快速有效的去噪器, 以此来处理不同的图像修复问题, 但是该模型收敛速度慢, 计算成本大, 比较耗时. Zhang等人将估计的噪声水平和图像下采样后的多张子图像作为输入, 提出了快速灵活的图像去噪网络FFDNet[20], 该模型能够在较大程度上改善降噪性能, 同时能较好地处理真实场景下的图像去噪问题. 该方法只有在噪声水平较大时, 才能保持更好的视觉效果, 当噪声较小时, 去噪后的视觉效果不佳. Creswell等人[21]介绍了GAN用于图像合成、图像超分辨率和图像分类. Wang等人提出了一种基于GAN和CNN相结合的图像去噪网络[22], 该网络采用GAN进行降噪处理, 采用CNN实现对图像细节的恢复. 该方法存在网络训练不稳定, 收敛速度慢, 模型不可控等问题. 席志红等人[23]提出了一种深层残差神经网络用于图像的超分辨率重建, 通过实验验证该网络可以更好地还原图像中的细节信息, 消除伪影. 但该方法特征表达能力不足, 难以去除密集的噪声. 陈人和等人[24]采用对抗损失和重建损失的加权和, 该网络虽然能够去除噪声并且针对图像的细节信息得到保留, 然而该算法可能会导致图像的边缘模糊. 秦毅等人[25]针对不同类型的图像, 通过采用一个边缘感知损失函数去除图像噪声, 同时恢复图像的边缘细节. 该算法的浅层像素级信息利用率低, 纹理细节容易丢失. 朱斯琪等人[26]提出一种循环一致性生成对抗网络, 实现了从低剂量CT图像到标准剂量CT图像的端到端映射, 同时将密集型残差学习网络模型引入到该网络生成器中, 利用残差网络的特征复用性来恢复图像细节, 但是该方法在去除噪声后仍然会有伪影存在, 且该方法目前只适用于腹部CT图像.
上述图像去噪算法尽管在网络结构设计, 目标损失函数以及数据集的选择上存在差异, 但是这些算法都能够取得显著的成果. 上述这些算法在进行网络训练时, 图像特征不能被充分学习, 导致图像细节丢失, 降低去噪效果. 因此为进一步改善图像去噪质量, 本文在去除噪声的过程中, 保存图像的边缘特征信息的基础上, 提出一种密集连接残差块的卷积神经网络去噪算法. 该网络模型由卷积层, Leaky ReLU层, 批量归一化, 密集残差块组成, 其中密集残差块通过多级残差网络和密集连接, 用优化的残差映射代替原始的卷积层, 相邻的卷积层之间通过短连接, 以提高残差网络的学习能力. 该网络结构以含噪声的图像作为输入, 去噪后的图片作为输出, 构成了由噪声图像到去噪后图像的非线性映射. 本文算法在去除噪声的同时, 能够保留更多的图像细节信息和图像边缘特征, 去噪后的图像视觉效果更好, 且具有更高的峰值信噪比值和结构相似性值.
1 相关技术原理 1.1 基于卷积神经网络的图像去噪算法Zhang等人[16]设计出一种经典的基于残差学习的卷积神经网络去噪模型称为DnCNN, 相比于MLP和BM3D等传统的图像去噪算法, 去噪性能有明显的提高.
DnCNN网络共有17层, 其中第1层由64个大小为
$ x = y - F(x) $ | (1) |
其中,
为了提高卷积神经网络的精确度, 通常情况下都是通过简单的堆叠网络增加网络的深度, 与此同时网络的加深致使网络梯度发生爆炸或者衰减到很小, 误差值乘上权重后向后传播, 使得权重越来越小, 神经网络的训练精度先上升然后达到饱和, 因此提出残差学习用来解决网络性能退化的问题. He等人[17]提出了残差学习的方法, 其框架结构如图1所示.
$ H(x) = F(x) + x \Rightarrow F(x) = H(x) - x $ | (2) |
带泄露修正线性单元函数(Leaky ReLU)[27]是基于ReLU激活函数的改进, 带泄露修正线性单元函数在保留ReLU函数的优点的同时, 还可以做到修正数据分布. 激活函数如图2所示, 通过在ReLU函数的负半区间引入一个泄露值, 解决部分神经元因为失活不能参与参数的更新.
在反向传播过程中, 经过激活函数负区间的神经元在参与网络训练过程时, 由于泄露值的存在, 神经元对应的权重和偏置参数也得到了更新, 计算得到的梯度不会恒为0, 网络的拟合能力得到提高. 由于图像在噪声环境下的有效特征信息相对来说较为有限, 因此在网络训练中对于图像中的特性信息需要充分挖掘. Leaky ReLU函数替换掉原始网络中的ReLU激活函数, 该激活函数可以实现网络梯度更快的更新, 同时拥有比原始网络更好的图像去噪效果.
2 结合残差密集块的卷积神经网络去噪算法 2.1 密集连接残差块(RRDB)结构卷积神经网络的输入都是上一层的输出, 不同卷积层所提取到的特征各不相同, 所以通过单一层的卷积不能尽可能多地获取到图像的特征信息, 仅依靠残差块的叠加同样会限制网络的性能, 所以为了优化残差网络的性能, Huang等人[28]提出了一种新的密集连接残差模块, 用于缓解梯度消失问题, 加强特征传播与特征复用, 极大地减少了参数量. 本文提出了一个密集连接残差(RRDB)的卷积神经网络结构. RRDB模块如图3所示.
RRDB模块包括3个dense block块, 每一个dense block里面又包含4组卷积层与Leaky ReLU激活函数, 卷积核的大小为
通过多级残差网络和密集连接, 用优化的残差映射代替原始的卷积层, 相邻的卷积层之间通过短连接, 以提高残差网络的学习能力. RRDB模块中的卷积与卷积之间以跳跃连接的方式, 让模块中每一层卷积层的特征可以做到被充分利. RRDB模块提高了网络的整体训练的速度, 加深了网络的深度, 通过每一层特征的融合, 输出的特征图可以更好地包含原图像的特征信息.
2.2 网络模型结构图像去噪是通过对含噪图像进行处理, 通过非线性映射到噪声图像, 从而得到去噪后图像的过程.
为了对网络进行特征提取, 同时为了降低网络训练的复杂度, 通过结合密集连接残差块, 设计了一种基于密集连接残差的卷积神经网络模型(DRCNN). 图4展示了本文算法网络整体架构示意图, 该模型结构分为3个部分: 特征提取模块, 密集连接残差模块(RRDB)和重建模块.
本文提出的去噪网络, 共有12层, 网络架构由3部分组成: 卷积层(Conv), 激活函数(ReLU), 批规范化操作处理(BN), 具体如下:
网络模型第1层: Conv + Leaky ReLU, 由64个卷积核大小为
网络模型第2层: dense block + dense block + dense block, 结构如图3所示, 每一个dense block里面又包含4组卷积层与Leaky ReLU激活函数, 卷积层由32个卷积核大小为
网络模型第3–11层: Conv + BN + Leaky ReLU, 由64个卷积核大小为
网络模型第12层: Conv, 采用
在网络结构中, 采用0填充的方法保持每层卷积特征图的大小保持不变, 用来防止产生边界伪影.
2.3 损失函数通过从预测的噪声图片中恢复无噪声图片, 训练数据是带有噪声的图像
$ L(\theta ) = \frac{1}{{2N}}\sum\nolimits_{i = 1}^N {||R({y_i};\theta ) - ({y_i} - {x_i})||_F^2} $ | (3) |
其中,
$ {m_t} = {\beta _1}{m_{t - 1}} + (1 - {\beta _1}){g_t} $ | (4) |
$ {v_t} = {\beta _2}{v_{t - 1}} + (1 - {\beta _2}){g_t}^2 $ | (5) |
$ {\hat m _t} = \frac{{{m_t}}}{{1 - {\beta _1}^t}}, {\hat v _t} = \frac{{{v_t}}}{{1 - \beta _2^t}} $ | (6) |
$ {\theta _{t + 1}} = {\theta _t} - \frac{\eta }{{\sqrt {\mathop {{v_t}}\limits^ \wedge } + \xi }}\mathop {{m_t}}\limits^ \wedge $ | (7) |
其中,
本文使用来自伯克利分割数据集(BSD)的400幅大小为
3.2 评价指标
为了评估去噪后的图像质量, 通常从峰值信噪比(PSNR)和结构相似性(SSIM)两方面进行定量的评估分析, 其中PSNR是一种基于对应像素点之间误差的指标, PSNR和SSIM的值越大, 就代表失真越少, 图像去噪效果更好. 计算公式如下:
(1)峰值信噪比(PSNR)
$ {\textit{PSNR}} = 10{\log _{10}}\left(\frac{{{{({2^n} - 1)}^2}}}{\textit{MSE}}\right) $ | (8) |
n为每像素的比特数, 一般取8, 即像素灰阶数为256, 单位为dB.
(2)均方误差(MSE)
$ {\textit{MSE}} = \frac{1}{{M \times N}}\sum\nolimits_{i = 1}^M {\sum\nolimits_{j = 1}^N {{{(\hat f (i, j) - f(i, j))^2}}} } $ | (9) |
MSE表示当前图像
(3)结构相似性(SSIM)
结构相似性分别从样本图像的亮度(
$ l(x, y) = \frac{{2{u_x}{u_y} + {c_1}}}{{u_x^2 + u_y^2 + {c_1}}} $ | (10) |
$ c(x, y) = \frac{{2{\sigma _x}{\sigma _y} + {c_2}}}{{\sigma _x^2 + \sigma _y^2 + {c_2}}} $ | (11) |
$ s(x, y) = \frac{{{\sigma _{xy}} + {c_3}}}{{{\sigma _x}{\sigma _y} + {c_3}}} $ | (12) |
其中,
$ \begin{split} {\textit{SSIM}}(x, y) &= [l(x, y) \times c(x, y) \times s(x, y)] \\ & = \frac{{(2{u_x}{u_y} + {c_1})(2{\sigma _{xy}} + {c_2})}}{{(u_x^2 + u_y^2 + {c_1})(\sigma _x^2 + \sigma _y^2 + {c_2})}} \end{split} $ | (13) |
为了验证本文所提出的网络结构的去噪性能, 将本文所提出的算法与BM3D, DnCNN, FFDNet, IRCNN几种常见的卷积神经网络去噪模型进行了实验对比, 为了验证图像在不同等级噪声下网络去噪性能的影响, 分别对训练集添加噪声等级为5, 10, 15, 25, 50的高斯噪声.
为了对本文所设计的算法进行验证, 实验的硬件配置为GPU为Tesla P4, 内存为8 GB, 软件配置为CUDA 10.1, Python 3.7, 神经网络的搭建采用深度学习框架PyTorch 0.4. 采用Adam优化器进行训练, 学习率设置为
为了考察不同的dense block模块对网络去噪模型的影响, 将分别对含有1, 2, 3个Conv+Leaky ReLU层的dense block模块进行图像去噪性能比较, 实验结果如表1、表2所示. 表1表示在噪声等级为25时, 不同数量的dense block在测试集Set12上的PSNR和SSIM值. 表2表示在噪声等级为25时, 不同数量的dense block在测试集BSD68上的PSNR和SSIM值.
从表1和表2中可以看出, 将3个dense block模块进行串联拼接, 可以融合更多的图像特征信息, 在网络输出时可以对输入图像进行更细节的恢复, 平均峰值信噪比和结构相似性均具有较好的效果. 此实验说明dense block模块的特征融合对图像去噪是有效的.
对Set12和BSD68两种数据集分别添加不同等级
图6选取了Set12数据集中的5幅图像, 在5种不同噪声等级下, 通过不同的算法对含噪声图像进行去噪, 每一张去噪后的图片给出了局部放大效果, 图片中的白框区域为放大区域, 图片右下角为局部细节放大图, 由图可见, 本文提出的方法在去噪时很好地保留了图像的纹理细节, 有效地较少边界伪影和边缘细节损失.
4 结论与展望
本文针对图像去噪存在不能充分提取图像特征导致图像细节丢失且收敛时间过长的问题, 提出了一种基于残差密集块的卷积神经网络图像去噪方法, 该模型通过引入密集连接残差块并添加Leaky ReLU激活函数操作进一步提高网络性能, 能够有效去除不同等级强度的噪声, 同时利用PSNR和SSIM值进行网络性能评估. 与经典图像去噪算法相比较, 实验结果显示, 本文提出算法的PSNR和SSIM均有明显的提升, 本文算法提高了图像去噪的性能, 提升图像的纹理细节信息, 随着残差结构的加入, 网络训练的过程也随之加快, 与此同时减少了边界伪影, 但本文所提出的算法针对高噪声环境下的图像进行去噪时, 依然存在图像细节丢失问题, 针对该问题, 后续将针对该网络模型作进一步的研究. 此外, 结合真实场景, 例如医学成像、遥感图像产生的真实噪声问题, 需要继续研究.
[1] |
魏江, 刘潇, 梅少辉. 基于卷积神经网络的遥感图像去噪算法. 微电子学与计算机, 2019, 36(8): 59-62, 67. |
[2] |
张文秀, 朱振才, 张永合, 等. 基于残差块和注意力机制的细胞图像分割方法. 光学学报, 2020, 40(17): 1710001. |
[3] |
李传朋, 秦品乐, 张晋京. 基于深度卷积神经网络的图像去噪研究. 计算机工程, 2017, 43(3): 253-260. DOI:10.3969/j.issn.1000-3428.2017.03.042 |
[4] |
尹海涛, 邓皓. 基于混合注意力的对偶残差去噪网络. 激光与光电子学进展, 2021, 58(14): 1410002. |
[5] |
尹佳琪, 王世勇, 李范鸣. 基于改进主成分分析的分焦平面偏振图像去噪算法. 光学学报, 2021, 41(7): 64–73.
|
[6] |
Buades A, Coll B, Morel JM. A review of image denoising algorithms, with a new one. Multiscale Modeling & Simulation, 2005, 4(2): 490-530. |
[7] |
Guan XP, Zhao LX, Tang YG. Mixed filter for image denoising. Journal of Image and Graphics, 2005, 10(3): 332-337. |
[8] |
Mairal J, Bach F, Ponce J, et al. Non-local sparse models for image restoration. Proceedings of the 2009 IEEE 12th International Conference on Computer Vision. Kyoto: IEEE, 2009. 2272–2279.
|
[9] |
Xu YS, Weaver JB, Healy DM, et al. Wavelet transform domain filters: A spatially selective noise filtration technique. IEEE Transactions on Image Processing, 1994, 3(6): 747-758. DOI:10.1109/83.336245 |
[10] |
Donoho DL, Johnstone IM. Ideal spatial adaptation by wavelet shrinkage. Biometrika, 1994, 81(3): 425-455. DOI:10.1093/biomet/81.3.425 |
[11] |
Dabov K, Foi A, Katkovnik V, et al. Image denoising by sparse 3-D transform-domain collaborative filtering. IEEE Transactions on Image Processing, 2007, 16(8): 2080-2095. DOI:10.1109/TIP.2007.901238 |
[12] |
Jain V, Seung HS. Natural image denoising with convolutional networks. Proceedings of the 21st International Conference on Neural Information Processing Systems. Vancouver: Curran Associates Inc., 2008. 769–776.
|
[13] |
林景栋, 吴欣怡, 柴毅, 等. 卷积神经网络结构优化综述. 自动化学报, 2020, 46(1): 24-37. |
[14] |
Holt MJJ. Comparison of generalization in multi-layer perceptrons with the log-likelihood and least-squares cost functions. Proceedings of the 11th IAPR International Conference on Pattern Recognition. Vol. II. Conference B: Pattern Recognition Methodology and Systems. The Hague: IEEE, 1992. 17–20.
|
[15] |
Mao XJ, Shen CH, Yang YB. Image restoration using very deep convolutional encoder-decoder networks with symmetric skip connections. Proceedings of the 30th International Conference on Neural Information Processing Systems. Barcelona: Curran Associates Inc., 2016. 2810–2818.
|
[16] |
Zhang K, Zuo WM, Chen YJ, et al. Beyond a Gaussian denoiser: Residual learning of deep CNN for image denoising. IEEE Transactions on Image Processing, 2017, 26(7): 3142-3155. DOI:10.1109/TIP.2017.2662206 |
[17] |
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.
|
[18] |
Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift. Proceedings of the 32nd International Conference on Machine Learning. Lille: PMLR, 2015. 448–456.
|
[19] |
Zhang K, Zuo WM, Gu SH, et al. Learning deep CNN denoiser prior for image restoration. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 2808–2817.
|
[20] |
Zhang K, Zuo WM, Zhang L. FFDNet: Toward a fast and flexible solution for CNN-based image denoising. IEEE Transactions on Image Processing, 2018, 27(9): 4608-4622. DOI:10.1109/TIP.2018.2839891 |
[21] |
Creswell A, White T, Dumoulin V, et al. Generative adversarial networks: An overview. IEEE Signal Processing Magazine, 2018, 35(1): 53-65. DOI:10.1109/MSP.2017.2765202 |
[22] |
Wang Z, Li JW, Song G. DTDN: Dual-task de-raining network. Proceedings of the 27th ACM International Conference on Multimedia. Nice: ACM, 2019. 1833–1841.
|
[23] |
席志红, 侯彩燕, 袁昆鹏, 等. 基于深层残差网络的加速图像超分辨率重建. 光学学报, 2019, 39(2): 0210003. |
[24] |
陈人和, 赖振意, 钱育蓉. 改进的生成对抗网络图像去噪算法. 计算机工程与应用, 2021, 57(5): 168-172. DOI:10.3778/j.issn.1002-8331.2003-0336 |
[25] |
秦毅, 赵二刚. 基于轻量深度残差网络的图像多类型噪声去除算法. 计算机应用与软件, 2021, 38(9): 250-255. DOI:10.3969/j.issn.1000-386x.2021.09.039 |
[26] |
朱斯琪, 王珏, 蔡玉芳. 基于改进型循环一致性生成对抗网络的低剂量CT去噪算法. 光学学报, 2020, 40(22): 2210002.
|
[27] |
Zhang XH, Zou YX, Shi W. Dilated convolution neural network with LeakyReLU for environmental sound classification. Proceedings of the 2017 22nd International Conference on Digital Signal Processing. London: IEEE, 2017. 1–5.
|
[28] |
Huang G, Liu Z, van der Maaten L, et al. Densely connected convolutional networks. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 2261–2269.
|
[29] |
Lim B, Son S, Kim H, et al. Enhanced deep residual networks for single image super-resolution. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Honolulu: IEEE, 2017. 1132–1140.
|
[30] |
Szegedy C, Ioffe S, Vanhoucke V, et al. Inception-v4, inception-ResNet and the impact of residual connections on learning. Proceedings of the 31st AAAI Conference on Artificial Intelligence. San Francisco: AAAI, 2017. 4278–4284.
|