这是2018一篇做去雨的论文,主要针对的是目前的去雨方法只能处理一类雨水的图片,而没有考虑不同密度和尺度的雨水,因此通用性不是很好。如果是将数据集给扩展成不同的雨水密度的数据集,单一的网络无法处理这种多密度的雨水分布。如果是为不同密度的雨水设计网络,又缺少灵活性,所以这篇文章的目的是设计一个网络可以同时处理不同密度雨水的去雨工作。基本思路是先设计一个密度分类网络,得到雨水的密度估计,然后将其fuse到雨水去除网络,实现雨水的自动去除。整体结构图如下,下面做分别的介绍:
Residual-aware Rain-density Classifier
这里分类网络的基本架构是残差网络,雨水的密度等级是已经做label的,当然直接使用分类网络的效果并不好,因为直接的分类网络会关注图片上的物体的语义信息,而不是细微的雨水信息,也就是说在高级语义信息上,雨水的信息可能会被损失。所以这里需要估计出带雨图片和干净图片的残差也就是雨水信息,这里使用了一个多流的densenet网络,估计得到雨水的残差信息,然后输入到分类网络。残差估计模块可以看做是特征提取模块。这里在训练时,首先对残差特征提取模块进行训练,然后训练分类网络。最后两步合在一起训练,损失函数表示为:
其中第一项是残差信息像素的欧式距离,第二项是分类的交叉熵损失函数。
Multi-stream Dense Network
由于不同的雨水密度不一样,所以这里使用多尺度的特征更有利于捕捉不同的雨水密度信息,通过使用不同卷积核的densenet实现。最后通过一个concat将这些信息融合在一起,从而融合多尺度的雨水信息。为了将雨水密度信息来引导去雨过程,上采样之后的雨水label被concat到这些雨水feature上,然后这些concat之后的特征被用来估计雨水的残差信息,用有雨水的图片减去残差信息获得coarse的去雨图片,最后通过一个refine的网络去获得输出的去雨之后的图片。每个dense的示意图如下所示:
最后损失函数被定义为:
其中第二项是去雨图片的欧式距离,最后一项是基于relu1_2的VGG的feature loss。