真实噪声:Densely Connected Hierarchical Network for Image Denoising(CVPRW2019) 阅读理解

Deep Iterative Down-Up CNN for Image Denoising  CVPRW2019

Densely Connected Hierarchical Network for Image Denoising  CVPRW2019

相同作者:NTIRE 2019真实图像去噪挑战上RawRGB两个赛道分别获得第二第三。

效果看还行。

整个文章的主体结构:

u-net 网络结构 +  通过基于预训练模型实现单个模型处理不同级别的噪声 + 通过自集成策略进一步提升模型效果

1 为什么选择U-net 结构网络:

      U-Net的核心原则是通过降低特征的分辨率来增加接受域,然后通过匹配分辨率级的串联来重用特征,从而最大限度地减少由上向下标度引起的信息损失。U-Net的u形结构在去噪时的效率得到了验证,其原因在于其接受域大,GPU内存效率高,计算成本低。DBPN[25]证明了特征图的迭代向上缩放对于学习图像超分辨率任务是有效的。

  观点:同等计算量下,增大感受野和参数量有利于提升模型效果。例如空洞卷积就是一种增大感受野的直接方法。

1.1 小改进:在亚像素层之前,通过1×1卷积层来增加feature map的数量,以保持信息密度。提供足够数量的特征可以减少向上缩放过程中的损失。

1.2 DUB模块设计:主要借鉴了FFDNet和DBPN,FDNet通过成对子采样和亚像素卷积实现了可逆的上下缩放,提高了GPU的存储效率和接受域。DBPN在图像超分辨率工作中,使用反卷积层和跨步为2的卷积层,通过迭代的向上缩放和向下缩放特征图,获得了向上缩放的过程,并取得了最先进的性能(误差反射)。

2 多级别噪声处理:

目前大多去噪网络都是针对单一噪声级别进行训练,一个模型处理多种级别噪声比较难。FFDNet/ UDN等网络通过noise map作为输入来解决多级别噪声问题。作者则借鉴了EDSR中的论述,较低尺度下的权值作为较高尺度下的权值初值,得到了快速收敛和改进的结果。作者认为,在超分辨率任务中,不同尺度是相互关联的。那么不同噪声级别应该也是关联的。所以训练高级别噪声的时候,用低噪声模型的参数作为初始值,使得一个模型在不同级别噪声上表现都还行。另外U-net的参数量大这特点也使它能够考虑足够的参数来处理单一模型的多级噪声。(这个地方感觉有点扯)

3 自集成策略

应用集成技术有效地训练多级噪声模型,提高降噪性能,三种集成:快照集成和自集成[3]和模型集成:

快照集成:即训练一次的时候,每一个epoch都有模型,将这些模型进行集成。

自集成:自集成通过一个输入的旋转和翻转产生8个输入,通过同一个模型总共产生8个输出。然后对输出进行反向转换并取平均值,以创建最终的输出。

模型集成:训练多个模型,模型结果取平均,效果有时不好。

 

个人理解:U-net 中的下采样导致空间信息丢失,靠同层直接的连接来弥补不一定完全恢复,所以目前还是很多人对于这种

    low-level 视觉任务采用resnet结构。

[1]FFDNet:Toward a fast and flexible solution for CNN-based image denoising

[2]DBPN:Deep back-projection networks for super-resolution. In CVPR 2018

[3] Seven ways to improve example-based single image resolution cvpr2016