Need help with DehazeNet?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

173 Stars 52 Forks 10 Commits 3 Opened issues


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

Services available


Need anything else?

Contributors list

# 316,515
10 commits

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

Bolun Cai, Xiangmin Xu, Kui Jia, Chunmei Qing, Dacheng Tao, [Lingke Zeng]


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 Networks (CNN) based deep architecture, whose layers are specially designed to embody the established assumptions/priors in image dehazing. Specifically, 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 (BReLU), which is able to improve the quality of recovered haze-free image. We establish connections between 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.

If you use these codes in your research, please cite:

    author = {Bolun Cai, Xiangmin Xu, Kui Jia, Chunmei Qing and Dacheng Tao},
    title={DehazeNet: An End-to-End System for Single Image Haze Removal},
    journal={IEEE Transactions on Image Processing},

Test and Train

  • Download the test images and the pre-trained model (.mat)
    git clone
  • Recompile the faster MaxPooling (.mex) under Matlab
    mex convConst.cpp
  • Generate the clear image by simply typing in Matlab
    haze = im2double(imread('filename'));
    dehaze = run_cnn(haze);
    The training code is re-implemented by Lingke Zeng at, and a Caffe branch with BReLU can be cloned at

Comparasion on RESIDE Dataset

RESIDE benchmark [1] is proposed for single image dehazing evaluation, where the learning-based methods (including CAP [2], DehazeNet, MSCNN [3], and AOD-Net [4]) are retrained on the same RESIDE training set. The results are resported as follow:


[1] Li B, Ren W, Fu D, et al. RESIDE: A Benchmark for Single Image Dehazing[J]. arXiv preprint arXiv:1712.04143, 2017.

[2] 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.

[3] Ren W, Liu S, Zhang H, et al. Single image dehazing via multi-scale convolutional neural networks[C]//European conference on computer vision. Springer, Cham, 2016: 154-169.

[4] Li B, Peng X, Wang Z, et al. Aod-net: All-in-one dehazing network[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 4770-4778.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.