edn-gtm
edn-gtm copied to clipboard
EDN-GTM Scheme for Single Image Dehazing
EDN-GTM: Encoder-Decoder Network with Guided Transmission Map for Effective Image Dehazing
Introduction
Network Architecture:
Requirements
Main dependencies (or equivalent):
- CUDA 10.0
- CUDNN 7.6
- OpenCV
- Tensorflow 1.14.0
- Keras 2.1.3
For other packages, simply run:
$ pip install -r requirements.txt
Test using Pre-trained Weights
Step 1: Download Pre-trained Weights
- Download pre-trained weights from GoogleDrive or HuggingFace
- Pre-trained weights are available for test on: I-HAZE, O-HAZE, Dense-HAZE, NH-HAZE, SOTS-Outdoor datasets (respective to their filenames)
- Create a folder 'weights' to place downloaded weight files
Step 2: Correct Data Paths in test_on_images.py
- Path to pre-trained weight: weight_path
- Path to output directory: output_dir
- Path to folder containing test images: img_src
Step 3: Run Test Script
$ python test_on_images.py
Train
Step 1: Prepare Dataset
- Each image in a clean-hazy image pair must have the same name
- Make Folder 'A' and Folder 'B' containing hazy and clean images, respectively
Step 2: Correct Data Paths in train.py
- Path to folder containing train data: path/to/data
- Note that path/to/data nevigates to the parent directory of 'A' and 'B' like below:
-- path/to/data /
|- A (containing hazy images)
|- B (containing clean images)
Step 3: Run Train Script
$ python train.py
Results
A. Quantitative Results (#Params: number of parameters, MACs: multiply-accumulate operations)
Results on I-HAZE & O-HAZE Datasets:
Types | Methods | I-HAZE | O-HAZE | #Params | MACs | ||
---|---|---|---|---|---|---|---|
PSNR | SSIM | PSNR | SSIM | ||||
Prior | CAP | 12.24 | 0.6065 | 16.08 | 0.5965 | - | - |
DCP | 14.43 | 0.7516 | 16.78 | 0.6532 | - | - | |
BCCR | 14.15 | 0.7046 | 14.07 | 0.5103 | - | - | |
NLID | 14.12 | 0.6537 | 15.98 | 0.5849 | - | - | |
CNN | AOD-Net | 13.98 | 0.7323 | 15.03 | 0.5385 | 0.002M | 0.46G |
MSCNN | 15.22 | 0.7545 | 17.56 | 0.6495 | 0.008M | 2.10G | |
DehazeNet | 15.93 | 0.7734 | 19.99 | 0.6885 | 0.009M | 2.32G | |
FFA-Net | 17.20 | 0.7943 | 22.74 | 0.8339 | 4.46M | 1151G | |
CycleGAN | 17.80 | 0.7500 | 18.92 | 0.5300 | 11.38M | 232G | |
Cycle-Dehaze | 18.03 | 0.8000 | 19.92 | 0.6400 | 11.38M | 232G | |
PPD-Net | 22.53 | 0.8705 | 24.24 | 0.7205 | 31.28M | 204G | |
CNN (ours) | EDN-GTM-S | 21.23 | 0.8181 | 22.91 | 0.8016 | 8.4M | 56G |
EDN-GTM-B | 22.66 | 0.8311 | 23.43 | 0.8283 | 33M | 220G | |
EDN-GTM-L | 22.90 | 0.8270 | 23.46 | 0.8198 | 49M | 308G |
Results on Dense-HAZE & NH-HAZE Datasets
Types | Methods | Dense-HAZE | NH-HAZE | #Params | MACs | ||
---|---|---|---|---|---|---|---|
PSNR | SSIM | PSNR | SSIM | ||||
Prior | NLID | 9.15 | 0.4141 | 8.94 | 0.3584 | - | - |
DCP | 10.06 | 0.3856 | 10.57 | 0.5196 | - | - | |
CAP | 11.01 | 0.4874 | 12.58 | 0.4231 | - | - | |
BCCR | 11.24 | 0.3514 | 12.48 | 0.4233 | - | - | |
CNN | DehazeNet | 13.84 | 0.4252 | 16.62 | 0.5238 | 0.009M | |
AOD-Net | 13.14 | 0.4144 | 15.40 | 0.5693 | 0.002M | 0.46G | |
GridDehaze | 13.31 | 0.3681 | 13.80 | 0.5370 | 0.956M | 85.9G | |
KDDN | 14.28 | 0.4074 | 17.39 | 0.5897 | 5.99M | 40.6G | |
FFA-Net | 14.39 | 0.4524 | 19.87 | 0.6915 | 4.46M | 1151G | |
MSBDN | 15.37 | 0.4858 | 19.23 | 0.7056 | 31.35M | 166G | |
AECR-Net | 15.80 | 0.4660 | 19.88 | 0.7173 | 2.61M | 209G | |
CNN (ours) | EDN-GTM-S | 15.20 | 0.5160 | 19.04 | 0.6961 | 8.4M | 56G |
EDN-GTM-B | 15.46 | 0.5359 | 19.80 | 0.7064 | 33M | 220G | |
EDN-GTM-L | 15.43 | 0.5200 | 20.24 | 0.7178 | 49M | 308G |
B. Qualitative Results
Results on I-HAZE & O-HAZE Datasets

Results on Dense-HAZE & NH-HAZE Datasets

Results on SOTS-Outdoor & HSTS Datasets

C. Application to Object Detection
Dehazing in Driving Scenes
Visual dehazing results on synthetic hazy scenes:

Visual dehazing results on realistic hazy scenes:

Object Detection
(Red: ground-truth, Green: detection)
Visual dehazing + detection results on synthetic hazy scenes:

Visual dehazing + detection results on realistic hazy scenes:

Citation
@article{tran2022novel,
title={A novel encoder-decoder network with guided transmission map for single image dehazing},
author={Tran, Le-Anh and Moon, Seokyong and Park, Dong-Chul},
journal={Procedia Computer Science},
volume={204},
pages={682--689},
year={2022},
publisher={Elsevier}
}
@article{tran2024encoder,
title={Encoder-decoder networks with guided transmission map for effective image dehazing},
author={Tran, Le-Anh and Park, Dong-Chul},
journal={The Visual Computer},
pages={1--24},
year={2024},
publisher={Springer}
}
Have fun!
LA Tran