论文阅读:Dual-Domain Single Image De-Raining Using Conditional Generative Adversarial Network
2019ICIP:Dual-Domain ID-CGAN
通过上一篇看到的文章提出的ID-CGAN,然后看到了这篇文章提出了一种双域的ID-CGAN。
文章主要提出了一种利用空间域和含雨图像小波变换系数的去雨方法,同时使用了CGAN网络。其中,生成器接收含雨图像的空间域和频率域的输入,然后产生5个候选的去雨图像,然后通过一个深度残差网络来合并这些候选去雨图像,预测出一个去雨图像。并且为了保证图像的视觉质量,还使用了感知损失,这些都与ID-CGAN较为相同。
创新之处:
1、提出了一个基于CGAN网络的结合空间域和频率域的去雨方法。
2、使用感知损失函数来保证去雨图像的质量。
3、使用了哈尔小波变换得到图像的频率域信息。
前人工作:
1、雨纹会造成监控、卫星追踪、自动驾驶等很多问题。
2、去雨问题看成一种图像分层问题,将含雨图像分离成一个无雨的背景图像和一个雨纹层图像。由于雨条纹具有较高的像素相关性,大部分采用雨图像的空间域。
3、DDN
4、JORDER
5、通过对稀疏或稠密雨图进行分类,在矩阵分解框架中对雨纹进行建模。
6、ID-CGAN
7、DID-MDN
以上所说,都是利用雨图的空间域信息基于高像素相关性的存在。
8、Shen,也就是下面的启发论文,从相同的雨天图像使用深度CNN网络,利用了哈尔小波和暗通道先验的概念来预测去雨图像的小波系数。
在此基础上,本文发现发现小波子带更适合预测雨纹图,如果在雨纹图的空间域特征的基础上,向网络提供这些频域线索,可以取得显著的改善。
网络结构:
图a 为小波子带LH、HL、HH.
图b 为网络的整体结构,主要分为生成器和判别器两块。
具体实现:
1、颜色空间选取
更理想的颜色空间为YCbCr ,与RGB颜色空间不同,YCbCr是去相关的。
由于雨纹噪声的伪周期加性和高频特性,对得到的不同颜色的条纹 Cb / Y-B和Cr / Y-R进行平滑处理,只在亮度通道中保留噪声。
因此,提出的方法只在Y通道去除雨纹。
该模型除了空间域特征外,还提供了频率域特征作为输入。
虽然从空间到频域的图像变换通常会破坏像素相关性,这给CNN的使用带来了挑战,但是离散小波变换,更具体的说是Haar小波,在一定程度上保持了图像的空间相关性。
小波变换:
小波变换将二维离散信号(如图像)分解成四个强调图像分辨率的子带。
其中,近似子带LL表示图像的背景细节,子带LH表示沿y轴变化,HL表示沿x轴变化,HH表示对角线细节变化。
通常采用LL子带的二进划分进行细节分析。然而,随着大多数背景推断的消除,子带LH, HL和HH保存了关于雨条纹的各种信息。因此,这些子带更适合预测雨纹图,而不是直接将雨图像的亮度通道映射到雨纹图。其余有用的背景细节保留在雨图的亮度通道中,并与选定的小波子带一起作为输入。
即输入 = 选定的小波子带 + 保留背景细节的雨图亮度通道
———–>
将雨图转换到YCbCr 空间。IY表示其亮度通道。
四个小波子带分别为:近似子带LL,水平子带LH,垂直子带HL,对角子带HH
同时,子带Wh IY, WIvY, WIdY在空间上被放大了2倍。
目标函数:
2、生成器网络
生成器的目的是利用含雨图像的空间域和频域来学习多幅候选去雨图像。
如图所示,生成器部分由四个独立的模块组成,分别是P1,P2,P3,P4。
P1接收INY作为输入,处理空间域的线索。P2,3,4分别接收图中三个W作为输入,处理频率域。
其中,P1模块由子网络S-Net组成,S-Net包含六个3×3的卷积层,空域步长1×1,每层分别有4,8,16,32,64,1个滤波器。同时,每层有BN(助快速收敛)+ReLU激活函数。
P1是使用含雨图像的空间特征生成候选的清晰图像C1。
P2,P3,P4模块由子网络F-Net组成,F-Net包含四个3×3的卷积层,空域步长1×1,每层分别有4,8,16,1个滤波器。同时,每层有BN(助快速收敛)+ReLU激活函数。
P2,P3和P4模块是利用更适合生成雨图的小波子带LH、HL和HH中的线索,来输出中间雨图Rh、Rv和Rd。
然后将生成的中间雨图串接之后输入一个十层的ResNet进一步细化生成一个合成的雨图Rmerged。
再之后,生成候选的清晰图像。
C2 = INY – R merged.
C3 = INY – Rh
C4 = INY – Rv
C5 = INY – Rd
最后将生成的五个候选图像串接输入一个34层的ResNet生成最终 的去雨图像。
3、判别器网络
判别器主要目的是最大限度地提高对输入样本进行真假分类的概率,从而激发生成器模型预测更真实的去雨图像。
输入预测或者真实图像,通过五个卷积层,分别有1,2,4,8,1个3×3的滤波器,空域步长为1×1,以及ReLU激活函数。最后是一个128个神经元的全连接层+ReLU激活函数+sigmoid层。
4、损失函数
均方误差MSE:
其中,是模型的输入,是真实图像。
MSE与人类对图像质量的感知并没有很好的相关性,可能会在去雨图像中产生斑点或模糊的伪影。
而感知损失函数通过保留图像的上下文和高层特征来避免这些伪影。
为此,使用一个预先训练好的VGG-16模型(V)对卷积层conv2_2进行特征提取。
感知损失:
鉴别器到控制发生器的熵损失:
总的损失函数:
实验:
数据集为: DID-MDN的数据集
训练图像:128×128大小,192K张
测试图像:512×512大小,1201张
NVIDIA-GTX 1080TiGPU
TensorFlow
42个epoch
学习率 0.01
batch_size = 20
Adam优化
损失函数权重分别设置为:0.989,0.01,0.001
启发论文 2018 ICPR:
Deep Joint rain and haze removal from a single image
这篇文章主要提出了一种基于小波变换和暗通道的卷积神经网络。
基于雨纹对应图像中的高频成分,因此引入了小波变换来分离背景和雨纹。
其中,LL对应背景信息,HL对应雨纹,LH对应边缘。
同时,远距离的雨纹积累使得雨图看起来有一雾层。然后提取暗通道作为特征图,通过增加暗通道输入和输出的映射来实现去雾,并使用后向传播来优化参数。
首先,雨图和真实图通过小波变换被转换成四个子图,然后在小波域中训练不同子图像之间的端到端映射来去除小雨。然后通过暗通道方法来实现因为雨纹积累形成的雾纱的去除。
网络结构:
图为简单的去雨网络(SRR-Net),不包含去雾纱。
就是将含雨图像首先做一个小波变换,通过一个DDN,再进行小波反变换,得到输出图像。
DJRHR-Net,一起去除雨和雾纱。
具体工作
1、雨的建模
JORDER中提出的雨的建模:
2、小波变换去除雨纹
傅里叶变换得到的图像的频谱丢失了很多重要的特性,如局部感受野,使得卷积神经网络难以应用。
而小波变换使图像分析变得更加容易,小波变换基于小波,训练起来更方便。本文使用一种最常用的小波:Haar小波。
目标是将低质量的图片恢复成高质量LQ–>HQ。LQ视作输入,HQ视作标签。
首先,将原始图片对,变换到小波域:
SRR-Net损失函数:
SRR-Net 的过程可表示为:
3、暗通道去除雨纹积累
基于暗通道先验这个统计的无雾图像,利用这种特强先验,可以对雾霾厚度进行估计,直接恢复高质量图像。
在卷积神经网络中提取图像暗通道作为特征图,以去除噪声。直接加入人工特征比深度网络学习的特征更有效。因此,我们增加了输入图像和输出图像的暗通道之间的映射,这有助于通过间接的方式实现对雾霾的去除。
如上图DJRHR-Net所示:
首先:
其中,
为了简便,定义:
一方面,低质量图像的四个小波子带和暗通道通过相同的卷积层:
其中,f代表dense-net。
然后,两部分的损失函数分开计算。
小波变换损失函数为:
暗通道部分:
总的损失函数:
与前面相同,再给处理完的加上一个原始输入,再进行IDWT。
分页符