阅读笔记—-DehazeNet:An End-to-End System for Single Image Haze Removal


除了估计大气光值的大小,估计透射率也是很关键的因素。

该算法的贡献:

  1. end2end系统,直接学习并估计透射率与有雾图像的关系。由特殊的网络结构决定。
  2. 提出新颖的nonlinear激活函数,称为BReLU(双边ReLU)
  3. 与现有的先验知识和假设建立联系,并可以通过网络可以自己学会

 

有雾图像特征:

  1. 暗通道

文献:He等人的暗通道先验

     2.对比度最大值

文献:Tan等人的Visibility in bad weather from a single image

    3.颜色衰减先验

文献:Zhu等人的A fast single image haze removal algorithm using color attenuation prior

    4.色度不一致

文献: Ancuti等人的A fast semiinverse approach to detect and remove the haze from a single image

网络的设计

  1. 第一层是特征提取层,即提取有雾图像特征。根据不同的假设与先验设计不同的滤波器。举的例子中有16个滤波器。其中每四个是上述一种先验特征滤波器。通过maxout unit的激活函数,每四个输出一张图。这里不padding,输入是3*16*16三通道的块。输出的是四个16*12*12,每一个代表一种特征。
  2. 使用多尺度的平行卷积操作。由于多尺度特征被证明有利于去雾并且在inception的模型中也用到了平行卷积,即同一张图用不同尺度的卷积核进行卷积。分别用16个3*3、16个5*5和16个7*7的卷积核进行卷积,每一种尺度产生16个,并且通过padding每张图大小应该是一致的。总共获得48个48*10*10。
  3. Maxpooling对局部数据敏感,另外根据假设透射率有局部不变性,所以用一个7*7局部最大值滤波替代maxpooling。输出是48个48*6*6
  4. 通过1个4*4的卷积核,产生1*1的标量,并且使用的激活函数为BReLU。因为ReLU抑制了小于0的数,只适用于图像分类等方面,并不适合图像复原。因为最后的透射率图允许高于1或者低于0。所以提出了BReLU,既保持了局部线性,又保持了双边的限制。输出的是一个标量,即输入块中心点的透射率值。

     

    

 

测试结果:

 

使用深度学习等方法做去雾的一大缺点就是需要有groundtrue,自然场景中同时拍到有雾与无雾图像几乎是不可能的。所以数据集基本都是室内场景图片加上人工加雾处理。这与自然场景的雾存在偏差,所以把该算法用在自然场景效果不佳。