摘要:
在单幅图像去雨方面的大多数进展都遇到了一个关键的挑战,即在保留图像细节的同时去除不同尺度和形状的雨条纹。现有的单幅图像消雨方法将消雨条纹直接视为像素级回归过程。然而,他们在过度降雨(如去除无雨区域的纹理细节)和去雨不足(如留下雨纹)之间缺乏平衡。在本文中,我们首先提出了一种由粗到细的渐进式网络(GraNet),它由粗步骤和细步骤组成,用于研究具有不同粒度的单图像去雨。具体来说,为了揭示粗粒度的雨条纹特征(例如,长而厚的雨条纹/雨滴),我们提出了一个粗粒度阶段,通过一个由区域感知块组成的局部-全局子网络来利用局部-全局空间依赖性。将粗阶段重建的输出和原图像的残差值作为细粒度阶段输入,细粒度阶段通过去除细粒雨纹(如小雨纹、水雾),利用具有密集块和合并块的上下文合并子网络得到统一的无雨、重建良好的输出图像。通过对合成数据和真实数据的坚实而全面的实验表明,我们的GraNet在去除不同密度、尺度和形状的雨纹的同时,还能很好地保留无雨区域的图像细节,从而显著优于最先进的方法。
正文:
Motivation:
作者分析了以往方法的缺点,主要是在过度去雨和去雨不足之间找不到平衡点:
1.过度去雨造成无雨区域的细节丢失,c图所示。
2.去雨不足导致还存在雨纹 ,b图所示。
3.内隐学习倾向于阻碍网络行为的可解释性,在试图理解去雨过程时造成混乱。
因此作者提出了GraNet,用两阶段的方法进行去雨,粗阶段是主要是进行去雨,细阶段是解决上述的平衡问题,进行细节重建或者去除尚存的雨纹。
网络结构:
如图所示,作者提出的去雨网络包含了Coarse-Fine两个stage,作用概括来说就是,Coarse Stage进行粗粒度的去雨,Fine Stage使用输入图像与Coarse stage的残差值作为输入,对图像进行细粒度的去雨并重建图像的细节。
Coarse Stage:Encoder-Decoder带pooling indices的结构,RAblock是region-aware,从文章中看的是non-local dense blocks NLDB,所以这部分整体上就是NLEDN(ACM2018-去雨文章,详情可见之前分享)的网络结构,但是稍有区别。
Fine Stage:输入是一个亮点,是一个粗粒度去雨的图像送入dense block+多层融合的细粒度网络中,针对粗粒度中处理不足的缺点进行修正。相当于是一个递归网络的思想。其中Merging Block是受到pixel shuffle的启发,将输入A先分成K个组[A_0,A_1,A_k],用下述公式进行融合:
损失函数:MAE Loss
实验结果:
1.Implementation Details:
有一个不能理解的点,训练的时候输入尺寸是需要Resize到长边<=512的,但是测试的时候是保持原尺寸的。
其他都是常规的操作。
2.四个标准数据集上的效果(SOTA,但是不如ICCV2019-ERL-Net):
3.消融实验:
RA:Non-local block Context:Contextual Merging blocks