RYF-Net: Deep Fusion Network for Single Image Haze Removal

641 阅读4分钟

IEEE Transactions on Image Processing 2020

Akshay Dudhane Student Member, IEEE and Subrahmanyam Murala, Member, IEEE

简介

文章提出了名为RYF-Net的网络,该网络分别通过使用关于RGB颜色空间的RNet和关于YCbCr颜色空间的YNet到了两个传输图(Transmission Map)。另外还提出了一个融合传输图的网络,称为FNet。故其合称为RYF-Net。

思想

文章先讨论了两个先验,一个是DCP(暗通道先验)一个是CAP(色衰减先验) 这些先验分别通过RGB和HSV颜色模型提取雾度相关特征。 这两个假设相互补充,因为雾度与DChP直接相关,而与CAP相反。

其中,CAP先验认为,在HSV颜色空间中,图像的饱和度和雾浓度成反比,亮度与雾浓度成正比。CAP先验使用公式表述如下:

d(x)\propto c(x)\propto (HI^b(x)-HI^s(x))

其中d(x)表示场景深度,c(x)表示雾浓度,HI^b(x)表示亮度,HI^s(x)表示对比度。DCP和CAP先验存在固有的缺陷:

  • DCP无法较好的处理天空区域,会在大梯度处产生光晕。绝大部分先验知识会在各种极端条件下失效,但这些先验知识可以被深度学习使用。

  • 对于复杂场景,CAP难以保证传输图局部的结构一致性。但可以使用其雾浓度与饱和度和亮度相关的信息,因此使用YCbCr颜色模型来表示其饱和度和亮度的信息。

此外,在《Investigating haze-relevant features in a learning framework for image dehazing》中提出了一种学习各种先验的传输图的回归模型,该文章认为这种方式会放大由于先验本身的缺陷而导致的错误。但同时文章认为其在集成了来自各种颜色模型的不同雾度的相关特征。文章受其启发,提出了从RGB(RNet)和YCbCr(YNet)颜色模型提取的雾度相关特征的FNet。

网络介绍

RNet

RNet是在C^2MSNet的基础上修改而来的,降低了网络的计算复杂度,保留了其基本功能。如上图(b)所示。

在Cardinal Color Fusion(C^2)模块中,Channel-wise Concatenation(CWC)将RGB卷积的结果各个通道拆分合并后,在Channel-wise Pooling(CwP)中,采用了通道池化,即:

O^k_2(x)=\max_{c\in[R,G,B]}\{O^{c,k}_1(x)\}

即三通道中取最大值。文章认为,将RGB三通道分离后再卷积,有助于保持颜色信息。

在Multi-channel Multi-scale CNN(MS)模块中,使用了多尺度并行卷积,即图中Multi-scale filter bank所示,公式为:

O^i_3=f^{[m,m,F_i],i}_2\ast O_2+b_2

其中m \in[3,5,7]表示滤波器尺寸,F_i表示输出通道数,i\in [1,F_i]表示输出的第几张特征图,b_2表示偏置。

在RNet最后,使用了BiReLU激活函数,因为输出的传输图应该处于[0,1]的范围内,故不使用ReLU。ReLU和BiReLU见下图。

YNet

虽然在上文中指出,三通道合并卷积会使图像失去色彩特征,但在YCbCr模型中,CbCr分量(色度分量)和Y分量(亮度分量)一样,都是RGB三个通道乘以相应的权重,认为其已经融合,没有分开卷积的必要。其余网络部分可以看到和RNet基本一致。

FNet

FNet将RNet和YNet得到的结果堆叠后,进行了卷积-池化-卷积-激活的操作。

训练和数据集

数据集

文章训练使用了D-HAZY数据集,是由NYU-Depth V2合成的。文章将其裁为20W个64*64的块(包括深度图)。由于NYU-Depth V2数据集均为室内图像,因此文章还从ImageNet引入了15W个64*64的块,其使用大气散射模型合成,具体操作和DehazeNet类似 。最后一共得到35W个图像块,使用其中15W个图像来训练,20W来验证。

训练

  • RNet使用C^2MSNet作为其初始化权重,YNet和FNet随机初始化。
  • 使用SDG进行反向传播训练。
  • 批大小为64
  • 学习率为0.0001
  • 损失函数为MSE(l_2
  • 训练25个epoch

测试和对比

传输图估计对比(D-HAZY)

在传输图估计对比中可以看出,RNet提供了更高的SSIM和PSNR,并且最终得到的RYFNet的SSIM和PSNR都要高于RNet和YNet,这证明了FNet的有效性。

去雾结果对比(D-HAZY)

在去雾结果对比中,C^2MS-YFNet表示使用C^2MSNet代替RNet。可以发现,C^2MS-YFNet的SSIM和PSNR均略好于RYFNet_BiReLU。

运行时间对比(100*100)

去雾结果对比(SOTS)

去雾结果对比(HazeRD)

使用BiReLU比ReLU得到更高的SSIM和PSNR。

去雾结果展示(D-HAZY)

去雾结果展示(户外真实图像)