一种快速有效的单幅图像去雨网络
A FAST AND EFFICIENT NETWORK FOR SINGLE IMAGE DERAINING
本文提出了一种新的自适应扩展网络(ADN)来去除单幅图像中的雨条纹,同时使用较少的参数而且运行速度比以往的方法快。具体地说,构造了一个自适应扩展块(ADB)作为ADN的子模块。在ADB中,使用一个共享的扩展块来提取多尺度特征。然后添加一个扩展的选择块来利用不同尺度下特征的重要性。所有的多尺度特征融合在一起,得到具有丰富雨水细节的特征。为了进一步模拟融合特征之间的相互依赖关系,ADB采用特征选择块为每个特征分配不同的权重。此外,将每个ADB提取的层次特征串接在一起,并输入到一个雨图生成器中,以估计雨层。实验结果表明,该方法在使用较少参数的情况下,在性能和运行时间上均优于现有的方法。源代码位于https://github.com/nnUyi/ADN
提出了一种自适应扩展网络(ADN)来模拟不同尺度、形状和方向的复杂雨纹,并快速有效地去除这些雨纹。如图1所示,ADN在保持期望性能的同时需要较少的运行时间和参数。本文的主要贡献有:
(1)提出了一种自适应扩展网络(ADN)快速有效地去除雨滴图像中的雨滴条纹
(2) 在ADN中,构造了一个有效的自适应扩展块(ADB)来模拟雨纹的复杂分布,利用不同尺度下特征的重要性,自适应地模拟特征之间的相互依赖关系
(3) 与现有的方法相比,本文提出的ADN在四个合成数据集和一个真实的雨天图像集上获得了更好的性能。
方法介绍:
提出的ADN包含浅层特征抽取器、自适应扩展块(ADB)和雨图生成器。首先,利用浅层特征抽取器对雨天图像进行浅层特征提取。
其中表示浅层特征;表示conv-leaky relu操作
由于降雨图像中的雨纹具有不同的尺度、形状和方向,为了有效地模拟雨纹的复杂分布,我们采用多个adb来充分提取多尺度特征。
其中表示通过第i层ADB进行特征提取;D表示ADB最大层数,
所有的层次特征被连接在一起,并输入到一个雨图生成器来估计雨层。
最后,从含雨图像中加入负降雨层R,得到去雨图像
损失函数
自适应扩张块Adaptive Dilated Block(ADB)
自适应扩展块由共享扩展块、扩展选择块和特征选择块组成。
共用扩张块 在共享扩张块中,采用不同扩张因子的扩张卷积提取多尺度特征。为了关注不同尺度下的降雨细节,减少参数个数,每个扩张卷积层在并行共享相同参数的同时,采用不同的扩张因子来捕捉多尺度特征。
扩展的选择块 为了自适应地利用特征在不同尺度上的重要性,采用了扩展的选择块,使得ADB在多尺度特征选择中更加灵活。扩展选择块首先对所有多尺度特征进行全局平均合并,得到全局特征。采用嵌入层融合全局特征信息。在嵌入层的输入和输出之间保持相同的维数。基于图2的观察,使用softmax函数从具有不同扩张因子的扩张卷积中捕获特征图的重要因子。
特征选择块 将扩展选择块得到的所有特征相加,得到包含不同尺度雨纹的融合特征。特征选择块用于为每个融合特征分配不同的权重。特征选择块包括两个步骤:收缩步骤用于挖掘融合特征中的上下文信息,扩展步骤用于充分利用收缩步骤中聚集的信息。然后采用sigmoid函数将扩展步长的输出映射到(0,1),作为融合特征的权值。
相关参数
网络中堆叠了5个ADB(D=5)。在每个ADB中,采用3条路径(P=3)。所有卷积层的内核大小为3× 3除了第一层的雨图生成器内核大小为1× 1.将每个卷积层的步长设置为1,特别是将每个卷积层中的特征映射F的个数设置为16、32、64,得到ADN-16、ADN-32、ADN-64,损失函数的权重设置为λ = 1.0. 在训练过程中,每迭代1次,从输入图像对中随机生成64*64尺寸的32对切片。学习率从0.001开始,经过30000次迭代后下降到0.0001。Adam优化器采用β1=0.9和β2=0.999。我们使用Tensorflow库[26]实现ADN,并在NVIDIA Geforce GTX 1070 GPU上进行50000次迭代。
总结:
提出了自适应的扩张卷积网络(ADN)
有效地描述雨纹的复杂分布的自适应扩展块(ADB)