• 【论文阅读笔记】Pyramid Real Image Denoising Network


    论文简介

      本文是19年的论文,网络名为PRIDNet。代码地址为https://github.com/491506870/PRIDNet。在1080ti上,PRIDNet处理512x512图像需要大约50ms;

      尽管深度卷积神经网络在特定噪声和去噪方面展示出非凡能力,但对于真实世界的噪声图像仍然表现不佳。主要原因在于真实世界的噪声更加复杂和多样化。为了解决盲去噪问题,本文提出了一种“金字塔真实去噪网络”(Pyranud Real Image Denoising Network,PRIDNet)。网络的设计如下图所示,分为三个阶段:(1)Channel注意力机制模块,来校准输入噪声的Channel重要性;(2)使用金字塔模块提取多尺度特征;(3)特征融合阶段使用内核选择模块自适应融合多尺度特征。
    在这里插入图片描述

      与特定噪声(高斯白噪声、散粒噪声)不同,真实噪声来自于拍摄环境、图像处理管道,所以真实噪声的形势呈现出复杂性和多样性。
      在之前,有一些工作致力于消除特定噪声,提出了一些结构。比如为消除高斯噪声,使用带有skip-connect的非常深的全卷积编解码网络,REDNet。也有文章证明了融合残差学习和BN层的去噪CNN(DnCNN)可以比基于非CNN的传统方法要好。但是,上述这些对于特定噪声的方法,如果用于真实世界的噪声上,可能表现比BM3D等具有代表性的传统方法要差。很少有研究盲去噪的方法,特别是针对真实噪声图像的开发。通过交互相对高的噪声水平,FFDNnet可以处理更加复杂的噪声。CBDNet进一步利用噪声估计子网络,所以其整个网络可以实现端到端的盲去噪。Path-Restore使用多路径CNN,可以为每块图像区域动态地选择合适的路径,特别是对真实图像的各种噪声分布。作为Photoshop的商业插件,**Neat Image(NI)**也用于盲降噪。
      尽管上述方法对于真实图像去噪获得了巨大的改善,仍有三个问题需要注意:(1)大部分基于CNN的方法,所有的feature map channel都相同对待。(2)前面所提到的方法,都使用了相同的感受野,无法获得多样化的特征。参考传统去噪的方法BM3D,在整张图上进行相似块的搜索,这样可以充分利用上下文信息,而不是局限于小区域范围内。(3)对于多尺度特征的融合,大部分方法使用Add或者Concat算子进行融合,而没有进行区分,忽略了尺度特征的空间和通道特异性。意思是没有使用作者退出的channel attention机制,多尺度特征提取模块,以及特征融合模块。

      网络结构如上图所示,分为三个阶段:噪声估计阶段,多尺度去噪阶段和特征融合阶段。
    第一阶段的噪声估计阶段使用没有BN层的五组卷积 + ReLU的方式,每个卷积的输出Channel为32(最后一层为3或1),卷积核大小为3。在最后一层卷积前,使用Channel Attention模块。Channel Attention模块如下图所示:是标准的全局池化层 + FC层的结构,中间有一个通道压缩的过程,FC层中间Cahnnel为2。这个设置为2,有必要去验证一下是否这个attention有效,对比普通的1*1如何
    在这里插入图片描述
      第二阶段,多尺度特征阶段。需要注意的是,在多层不同尺度池化层之后,使用的是带有skip-connect的深层encoding-decoding的UNet结构。不同Unet结构不共享参数。
      第三阶段,特征融合阶段,使用的kernel选择模块结构如下图所示:输入U通过三个不同卷积核大小的卷积,卷积核大小分别为3,5,7。经过element-wise以及Channel Attention(与之前的Channel Attention不同的是,最后没有使用Sigmoid激活函数,而是Softmax算子)后,再与之前卷积进行交互。需要注意的是,这个Softmax算子,不是作用于同一个FC输出上的,而是不同FC的相同Channel上。这种操作,也断绝了速度上的可能性这Softmax算子的应用,更像是进行了每个Channel的权重赋值操作,所以最后进行了一个element-wise算子进行整合。
    在这里插入图片描述

    论文实验

      训练阶段,使用来自智能手机去噪图像数据集(SIDD)的320个图像对,都是在raw-RGB空间和sRGB空间的。然后,使用另外的来自40张图像的1280个256x256截图块作为验证集,用于消融实验。
      测试阶段,使用两个广泛使用的基准数据集DNDNC12。DND是由消费级相机拍摄的50张真实高分辨率图像。因为只对外提供了噪声图像,所以只能通过在线提交系统获得PSNR和SSIM。NC12有12张噪声图片,但Ground truth的干净图像无法获得,所以只能展示去噪结果,对这些图像进行定性评估。也就是说,这两个测试集,对于平常实验是无法定量比较的。

      本文训练两个模型,一个目标是raw images,一个目标是sRGB images。损失函数为 L 1 L_1 L1,优化器为Adam, β 1 = 0.9 , β 2 = 0.999 , ϵ = 1 0 − 8 \beta_1=0.9,\beta_2=0.999,\epsilon=10^{-8} β1=0.9,β2=0.999,ϵ=108。两个模型都训练 4000 4000 4000个epoch,初始学习率 1 0 − 4 10^{-4} 104训练 1500 1500 1500个epoch,然后学习率降到 1 0 − 5 10^{-5} 105进行finetune。PatchSize设为256,BatchSize对于raw模型是2,对于sRGB模型是8。所有实现和完成都在GPU 1080ti上tensorflow实现。

      在测试集的表现结果如下表所示。需要注意的是,PRIDNet处理512x512图像需要大约50ms;
    在这里插入图片描述

  • 相关阅读:
    htmx-使HTML更强大
    Java集成阿里云的实时语音识别遇到的一些问题
    DOM常用方法以及项目
    Redis数据持久化
    MySQL 和 SQL Server之间的数据迁移方法
    关于业务库从MySQL迁移到DM8的操作指南
    【听课笔记】复旦大学遗传学_01孟德尔遗传
    Unity 鼠标拖拽旋转平面内2D物体 解决方案
    【编码】PHP中文路径问题详解
    layui2.4.3版本下拉框实现多选
  • 原文地址:https://blog.csdn.net/qq_19784349/article/details/128117268