DehazeNet: An End-to-End System for Single Image Haze Removal

项目主页:http://caibolun.github.io/DehazeNet/

GitHub代码 :https://github.com/caibolun/DehazeNet

BReLU+Caffe :https://github.com/zlinker/mycaffe

其他复现:(1)https://github.com/zlinker/DehazeNet    (2)https://github.com/allenyangyl/dehaze

总结:

提出一种名为DehazeNet的可训练的端到端系统,用于传输值估计。 DehazeNet将模糊图像作为输入,并输出其中间透射图,随后用于通过大气散射模型恢复无雾图像。 DehazeNet采用基于卷积神经网络的深层架构,其层专门设计用于体现图像去雾中已建立的假设/先验。具体而言,Maxout单位的图层用于特征提取,这可以生成几乎所有与雾相关的特征。我们还在DehazeNet中提出了一种新的非线性激活函数,称为双边整流线性单元,它能够提高恢复的无雾图像的质量。我们在提议的DehazeNet的组件与现有方法中使用的组件之间建立连接。基准图像的实验表明,DehazeNet比现有方法具有更高的性能,同时保持高效和易用。

摘要

背景:Single image haze removal is a challenging ill-posed problem.

现存方法:Existing methods use various constraints/priors to get plausible dehazing solutions. The key to achieve haze removal is to estimate a medium transmission map for an input hazy image.

提出的方法:In this paper, we propose a trainable end-to-end system called DehazeNet, for medium transmission estimation. DehazeNet takes a hazy image as input, and outputs its medium transmission map that is subsequently used to recover a haze-free image via atmospheric scattering model. DehazeNet adopts convolutional neural network-based deep architecture, whose layers are specially designed to embody the established assumptions/priors in image dehazing. Specifically, the layers of Maxout units are used for feature extraction, which can generate almost all haze- relevant features. We also propose a novel nonlinear activation function in DehazeNet, called bilateral rectified linear unit, which is able to improve the quality of recovered haze-free image. We establish connections between the components of the proposed DehazeNet and those used in existing methods. Experiments on benchmark images show that DehazeNet achieves superior performance over existing methods, yet keeps efficient and easy to use. 

贡献:

  • DehazeNet是一个端到端系统。 它直接学习和估计模糊图像patches与其传输图之间的映射关系。 这是通过其深层架构的特殊设计来实现的,以体现已建立的图像去雾原理。
  • 提出了一种新的非线性激活函数,称为双边整流线性单元1(BReLU)。 BReLU扩展了整流线性单元(ReLU)并证明了其在获得精确图像恢复方面的重要性。 从技术上讲,BReLU使用双边约束来减少搜索空间并改善收敛。
  • 在DehazeNet的组件与现有的去雾方法中使用的假设/先验之间建立联系,并解释DehazeNet通过自动从头到尾自动学习所有这些组件来改进这些方法。 

图像去雾的核心

现有的图像去雾(Image Dehazing)技术离不开一个简单的自然模型——大气散射模型(Atmospheric Scattering Model)。大气散射模型描述了,在雾霾和光照的共同作用下的成像机制:

阳光在物体表面形成反射光 J(x),反射光在穿过雾霾的过程发生散射,只有部分能量 J(x)t(x) 能到达摄像头。与此同时,阳光也在悬浮颗粒表面散射形成大气光 α 被摄像头接收。因此,摄像头中的成像 I(x) 可由两部分组成,透射的物体亮度 J(x)t(x) 和散射的大气光照 α(1-t(x)):

其中,t(x) 是媒介透射率(medium transmission),顾名思义表示能顺利透过雾霾到达摄像头的比率。因此,透射率跟物体与摄像头距离 d(x) 成反比,离摄像头越远的物体受雾霾影响更大。当距离 d(x) 趋于无穷大时,透射率 t(x) 趋于零,I(x) 趋近于 α,α=maxy∈{x|t(x)≤t0}I(y)。综上所述,去雾的核心是如何更精确地估计媒介透射率 t(x)。

基于人工特征

手工特征是传统机器视觉的基础,讲究的是熟能生巧,依赖的是实践出真知。通过“观察→经验→设计”构建各式各样的特征来满足各式各样的任务需求。图像去雾技术也是沿着手工特征逐步地发展起来。

(1)暗通道先验[2](Dark Channel Prior,DCP)

说起去雾特征,不得不提起的暗通道先验(DCP)。大道之行在于简,DCP作为CVPR 2009的最佳论文,以简洁有效的先验假设解决了雾霾浓度估计问题。

观察发现,清晰图像块的RGB颜色空间中有一个通道很暗(数值很低甚至接近于零)。因此基于暗通道先验,雾的浓度可由最暗通道的数值近似表示:

(2)最大对比度[3](Maximum Contrast,MC)

根据大气散射模型,雾霾会降低物体成像的对比度:Σx‖ΔI(x)‖=tΣx‖ΔJ(x)‖≤Σx‖ΔJ(x)‖。因此,基于这个推论可利用局部对比度来近似估计雾霾的浓度。同时,也可以通过最大化局部对比度来还原图像的颜色和能见度。

(3)颜色衰减先验[4](Color Attenuation Prior,CAP)

颜色衰减先验(CAP)是一种与暗通道先验(DCP)相似的先验特征。观察发现雾霾会同时导致图像饱和度的降低和亮度的增加,整体上表现为颜色的衰减。根据颜色衰减先验,亮度和饱和度的差值被应用于估计雾霾的浓度:

基于深度智能

人的视觉系统并不需依赖这些显式的特征变换,便可以很好地估计雾的浓度和场景的深度。DehazeNet是一个特殊设计的深度卷积网络,利用深度学习去智能地学习雾霾特征,解决手工特征设计的难点和痛点。

(1)特征提取(Feature Extraction)

特征提取有别于传统卷积神经网络,DehazeNet采用“卷积+Maxout[5]”的结构作为网络第一层:

并且可以证明,“卷积+Maxout”等价于传统的手工去雾特征:

当W1是反向(Opposite)滤波器,通道的最大等价于通道的最小值,等价于暗通道先验(DCP);当W1是环形(Round)滤波器, 等价于对比度提取,等价于最大对比度(MC);当W1同时包含反向(Opposite)滤波器和全通(All-pass)滤波器,等价于RGB到HSV颜色空间转换,等价于颜色衰减先验(CAP)。

此外,从机器学习角度看,Maxout是一种样条函数,具有更强的非线性拟合能力,如下图(d)。

(2)多尺度映射(Multi-scale Mapping)与局部极值(Local Extremum)

多尺度特征会提高不同分辨率下特征提取的鲁棒性。传统去雾方法中也会采用不同尺度的滤波器(均值、中值、最小值)来增强特征在不同尺度下的鲁棒性。借鉴于GoogLeNet中的inception结构,采用3组不同尺度(3×3,5×5,7×7)的滤波器实现DehazeNet的尺度鲁棒性:

局部极值(MAX Pooling)是深度卷积神经网络的经典操作。局部极值约束了透射率的局部一致性,可以有效抑制透射率的估计噪声。此外,局部极值也对应于暗通道先验(DCP)的局部最小值和最大对比度(MC)的局部最大值。

(3)非线性回归(Non-linear Regression)

大气透射率是一个概率(0到1),不可能无穷大,也不可能无穷小。受到Sigmoid和ReLU激励函数的启发,提出双边纠正线性单元(Bilateral Rectified Linear Unit,BReLU),在双边约束的同时,保证局部的线性。

BReLU的非线性回归对应于传统去雾方法中的边缘抑制操作(如DCP和CAP)。双边约束引入先验信息缩小参数搜索空间,使得网络更加容易训练;局部线性避免Sigmoid函数梯度不一致带来的收敛困难。

DehazeNet基于手工特征,又超出传统方法,从人工到智能。因此,DehazeNet取得了更好的去雾结果,更多的对比实验和代码资源:

参考文献

[1] Cai B, Xu X, Jia K, et al. DehazeNet: An End-to-End System for Single Image Haze Removal [J]. IEEE Transactions on Image Processing, 2016, 25(11): 5187-5198.

[2] He K, Sun J, Tang X. Single image haze removal using dark channel prior[J]. IEEE transactions on pattern analysis and machine intelligence, 2011, 33(12): 2341-2353.

[3] Tan R T. Visibility in bad weather from a single image[C]//Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. IEEE, 2008: 1-8.

[4] Zhu Q, Mai J, Shao L. A fast single image haze removal algorithm using color attenuation prior[J]. IEEE Transactions on Image Processing, 2015, 24(11): 3522-3533.

[5] Goodfellow I J, Warde-Farley D, Mirza M, et al. Maxout networks[J]. ICML (3), 2013, 28: 1319-1327.

在单个图像去雾算法中,使用暗通道先验方法(matlab single image haze removal using dark channel prior)是一种常用的方法。 该方法利用了图像中的暗像素值数据来对图像中的雾进行估计和消除。在图像中,由于雾的存在,远处的物体会有较高的亮度减弱,而靠近观察点的物体则有较高的亮度增强。由于光照强度不均匀,较暗的像素通常代表空气中的雾浓度较低,而较亮的像素通常代表雾浓度较高。 暗通道先验方法的基本思想是,通过查找图像中的暗像素值,可以估计出该区域中的最小远景透射率。透射率是雾的浓度与雾气对光的散射强度之间的比例关系。通过估计最小透射率,可以推断出雾浓度的分布,从而进行雾的去除。这个估计过程可以通过计算图像每个像素点的一个小窗口内的最小像素值来实现。 具体的暗通道先验算法包括以下步骤: 1. 对输入的雾图像进行预处理,包括图像的亮度归一化和颜色空间转换。 2. 计算每个像素点对应的暗通道,即选择一个固定大小的窗口,在窗口内找到最小像素值。 3. 估计最小透射率,最常用的方法是使用暗像素值和其相应的原始像素值计算得到。 4. 通过估计的透射率和原始图像进行重建,可以得到去雾后的图像。 暗通道先验方法是一种简单但有效的去雾算法,可以在图像中消除大部分的雾效果,提高图像的清晰度和可见度。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女王の专属领地

您的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值