超越高斯去噪器深度CNN的残差学习进行图像去噪
超越高斯去噪器深度CNN的残差学习进行图像去噪
图像去噪是计算机视觉领域的重要研究课题,近年来基于深度学习的图像去噪方法取得了显著进展。本文介绍了一种名为DnCNN的深度卷积神经网络模型,该模型通过残差学习和批归一化技术显著提升了图像去噪性能。
一、引言
图像去噪是低层视觉领域经典而活跃的研究课题,其目标是从含噪观测图像y中恢复干净图像x,通常建模为y=x+v,其中v为标准差为σ的加性高斯白噪声(AWGN)。基于贝叶斯框架,在已知似然函数的情况下,图像先验建模成为去噪的核心。过去几十年间,研究者提出了多种先验模型,包括非局部自相似性(NSS)模型、稀疏模型、梯度模型和马尔可夫随机场(MRF)模型。其中,NSS模型在BM3D等先进方法中表现突出。
然而,基于先验的方法存在两大局限:
- 计算效率低:去噪过程需解决复杂优化问题,导致耗时较长;
- 模型灵活性不足:非凸模型中存在手动调参问题,限制了性能提升空间。
为突破这些限制,近期研究转向判别式学习方法,通过截断推理过程学习图像先验,避免测试阶段的迭代优化。例如,Schmidt和Roth提出的级联收缩场(CSF)将随机场模型与半二次优化结合;Chen等人的可训练非线性反应扩散(TNRD)通过展开梯度下降步骤学习先验。但这些方法仍受限于显式先验的特定形式,且需针对不同噪声水平单独训练模型,难以实现盲去噪。
二、DnCNN模型设计
本文提出去噪卷积神经网络(DnCNN),将去噪视为纯粹的判别式学习问题,通过前馈CNN分离噪声与干净图像。其设计动机包括:
- 深度架构优势:深层CNN能有效捕捉图像复杂特征;
- 训练技术改进:ReLU激活、批归一化(BN)和残差学习加速训练并提升性能;
- 并行计算潜力:适配GPU加速,提升实时性。
2.1 网络架构
DnCNN的深度为D时,其网络包含三种类型的层:
- 首层(Conv+ReLU):使用64个尺寸为3×3×c的卷积核(c为图像通道数:灰度图像c=1,彩色图像c=3),生成64个特征图,并通过ReLU激活函数(ReLU(x)=max(0,x))引入非线性。
- 中间层(Conv+BN+ReLU,第2至D-1层):每层采用64个3×3×64的卷积核,在卷积操作后插入批归一化(Batch Normalization, BN)层,再通过ReLU激活。
- 末层(Conv):使用c个3×3×64的卷积核重建输出图像,直接预测残差。
2.2 残差学习与批归一化的协同优势
- 残差学习的优化特性:直接学习噪声残差v比学习原始映射x=F(y)更易优化,尤其当噪声水平较低时,y更接近x,残差映射可避免恒等映射的冗余。实验表明,残差学习结合批归一化后(图2),收敛速度与去噪性能均显著优于传统方法(如TNRD)。
- 批归一化的作用:批归一化缓解了内部协变量偏移问题,使各层输入分布稳定,加速训练并提升泛化能力。在残差框架下,批归一化进一步强化了噪声分布的独立性,使网络更专注于残差特征的提取。
2.3 与TNRD的联系及扩展
- 与单阶段TNRD的关联:DnCNN可视为单阶段TNRD的泛化形式,通过以下改进:
- 用ReLU替代复杂的影响函数(Influence Function)。
- 增加网络深度以提升特征建模能力。
- 集成批归一化提升性能。
- 这种端到端设计避免了传统迭代优化(如梯度下降推理)的计算开销。
- 通用图像去噪任务的扩展:单一DnCNN模型可处理多类任务(如盲高斯去噪、超分辨率、JPEG去块),通过调整输入和损失函数实现任务自适应性。
三、实验结果
3.1 实验设置
训练与测试数据:
高斯去噪(已知或未知噪声水平):采用文献[16]的方法,使用400张尺寸为180×180的图像进行训练。实验发现增大训练数据集仅能带来微小改进。
已知噪声水平的DnCNN-S模型:针对噪声水平σ=15、25、50分别训练,裁剪128×1600个40×40的图像块作为输入。
盲高斯去噪的DnCNN-B模型:噪声水平范围设为[0,55],裁剪128×3000个50×50的图像块。
测试数据集:使用包含68张自然图像的BSD68数据集16和12张标准测试图像(见图3)。
彩色图像盲去噪模型(CDnCNN-B):测试数据为BSD68的彩色版本,训练数据包含伯克利分割数据集中的432张彩色图像,噪声水平范围[0,55],裁剪128×3000个50×50的图像块。
多任务通用去噪模型(DnCNN-3):训练数据包含91张图像[36]和伯克利分割数据集的200张图像,噪声水平范围[0,55],同时处理超分辨率重建(SISR)和JPEG去块效应任务。生成128×8000个50×50的图像块,并进行旋转/翻转增强。
参数设置与网络训练:
网络深度:DnCNN-S为17层,DnCNN-B、CDnCNN-B和DnCNN-3为20层。
损失函数与优化:采用式(1)的残差映射损失,权重初始化方法参考[27],使用随机梯度下降(SGD)优化器(权重衰减0.0001,动量0.9),批量大小128,训练50个周期。
学习率:从1e-1指数衰减至1e-4。
硬件环境:基于MatConvNet包[37],在Matlab(R2015b)环境下运行,硬件配置为Intel i7-5820K CPU和Nvidia Titan X GPU。训练耗时分别为:DnCNN-S约6小时,DnCNN-B/CDnCNN-B约1天,DnCNN-3约3天。
3.2 对比方法
将提出的DnCNN方法与多种先进去噪方法进行对比,包括:
- 基于非局部相似性的方法:BM3D、WNNM
- 生成式方法:EPLL
- 判别式训练方法:MLP、CSF、TNRD
所有对比方法的代码均来自作者公开实现,参数保持默认设置。DnCNN测试代码可在GitHub获取。
3.3 定量与定性评估
定量结果
在BSD68数据集上的PSNR对比如下表所示:
方法 | σ=15 | σ=25 | σ=50 |
---|---|---|---|
BM3D | 28.57 | 28.83 | 28.92 |
WNNM | 28.83 | 29.15 | 29.23 |
DnCNN-S | 29.23 | 29.47 | 29.60 |
DnCNN-B | 29.19 | 29.42 | 29.58 |
关键发现:
- DnCNN-S在已知噪声水平下比BM3D平均提升0.6dB(σ=50时接近理论极限0.7dB)。
- 单模型DnCNN-B(盲去噪)仍优于所有对比方法。
定性分析
- 传统方法的局限性:BM3D/WNNM/EPLL/MLP在规则纹理(如重复结构)表现良好,但对不规则纹理易产生过度平滑。TNRD虽能保留边缘细节,但在平滑区域易引入伪影。
- DnCNN的优势:在保留锐利边缘(如建筑轮廓)的同时,恢复精细纹理(如毛发、织物)。彩色图像去噪中,DnCNN避免了CBM3D的色偏问题,色彩更自然。
噪声鲁棒性分析
如图8所示,DnCNN-B/CDnCNN-B在不同噪声水平(σ=10~50)下均显著优于BM3D/CBM3D,验证了其对宽范围盲高斯噪声的适应性。
图8. 我们的DnCNN-B/CDnCNN-B模型在不同噪声水平下相较于BM3D/CBM3D的平均PSNR提升效果(基于灰度/彩色BSD68数据集的评估结果)。
3.4 运行时间分析
除视觉质量外,图像复原方法的测试速度也是重要指标。表IV展示了不同方法在噪声水平σ=25时处理256×256、512×512和1024×1024图像的运行时间。由于CSF、TNRD及DnCNN均支持GPU并行计算,表中同时给出GPU端的运行时间(使用NVIDIA cuDNN v5加速,不计CPU-GPU数据传输时间)。
关键结论:
- CPU性能:DnCNN速度快于MLP和CSF,但略慢于BM3D和TNRD。
- GPU性能:DnCNN展现出显著优势,例如在512×512图像盲去噪中仅需60毫秒,远快于TNRD。
3.5 单一模型处理多任务的实验验证
为验证DnCNN的通用性,我们训练单一DnCNN-3模型同时处理以下三个任务:
- 盲高斯去噪:对比BM3D、TNRD,测试集为BSD68;
- 单图像超分辨率(SISR):对比TNRD(单尺度模型)、VDSR(多尺度模型),测试集为Set5、Set14、BSD100、Urban100;
- JPEG去块:对比AR-CNN(分质量因子训练)、TNRD,测试集为Classic5、LIVE1。
实验结果(表V)
- 盲高斯去噪:DnCNN-3超越非盲方法BM3D和TNRD,PSNR提升0.2~0.6dB;
- SISR:与VDSR性能相当,显著优于TNRD(尤其在高倍率放大时);
- JPEG去块:PSNR较AR-CNN提升0.3dB,较TNRD提升0.1dB。
视觉对比(图9-12)
- SISR任务:DnCNN-3与VDSR均能恢复锐利边缘与细节,而TNRD易产生模糊与线条扭曲;
- JPEG去块:DnCNN-3在保持直线结构完整性上优于AR-CNN和TNRD;
- 复合退化修复:即使输入图像不同区域存在多级失真,DnCNN-3仍能生成视觉自然的结果。
实验意义
- 效率与性能平衡:DnCNN在GPU端实现实时处理(如512×512图像60ms),满足实际应用需求;
- 模型通用性突破:首次通过单一模型解决三类异质图像复原任务,减少部署复杂度;
- 跨任务知识迁移:联合训练使模型学习通用特征表示,优于传统任务专用模型。
四、结论
本文提出了一种用于图像去噪的深度卷积神经网络(DnCNN),通过采用残差学习策略,将噪声从含噪观测中分离。通过将批量归一化(Batch Normalization)与残差学习相结合,不仅加速了训练过程,还显著提升了去噪性能。与传统判别式模型需针对特定噪声水平训练独立模型不同,本文提出的单一DnCNN模型能够处理未知噪声水平的盲高斯去噪。此外,研究展示了通过训练单一DnCNN模型同时处理三种通用图像去噪任务的可行性,包括:
- 未知噪声水平的高斯去噪
- 多缩放因子的单图像超分辨率重建
- 不同质量因子的JPEG图像去块效应
实验验证表明:
- 在定量指标(如PSNR、SSIM)和视觉质量上,DnCNN均优于传统方法(如BM3D、TNRD)及早期深度学习模型(如AR-CNN)。
- 通过GPU加速实现,模型在保持高性能的同时具备高效运行速度。例如,在JPEG去块任务中,DnCNN的PSNR比AR-CNN提升约0.3dB,且能恢复更清晰的边缘细节(如图11所示)。
技术突破点:
- 残差学习:通过隐式学习残差映射(噪声部分),而非直接预测干净图像,解决了深度网络训练中的梯度消失和退化问题。
- 多任务适应性:单一模型通过调整残差映射的抽象层级,可泛化至不同失真类型的图像恢复任务,例如同时处理混合噪声和压缩伪影的图像(如图12)。
未来方向:研究可进一步探索DnCNN在真实复杂噪声场景(如低光照传感器噪声)的泛化能力,并拓展至其他图像修复任务(如去模糊、修复等)。
图12. 展示本文模型处理三种任务的综合能力示例
输入图像由以下六部分构成:
- 噪声图像:噪声水平15(左上)和25(左下);
- 双三次插值低分辨率图像:放大因子2(中上)和3(中下);
- JPEG压缩图像:质量因子10(右上)和30(右下)。
注:输入图像中的白线仅用于区分六个区域,残差图像被归一化至[0,1]范围以便可视化。尽管输入图像不同区域存在多类型失真,复原图像仍呈现自然视觉效果且无明显伪影。