/All-In-One-Image-Dehazing-Tensorflow

Deep learning based image dehazing

Primary LanguageJupyter Notebook

All-In-One-Image-Dehazing-Tensorflow

Tensorflow implementation of an extremely light weight All In One Image Dehazing (AOD) network as described here

An explanation and walk-through is provided here.

Training & Validation

  • Data has been downloaded from here. This includes ~1500 images from the NYU2 dataset and ~27K synthetically hazed images
  • Image size was set to 480x640 and were normalized to [0,1]
  • 90% of the data was kept for training and the rest 10% for validation
  • Adam optimizer with learning rate of 0.0001 was used. Gradient norm was clipped at 0.1.
  • Weights were initialized with a Gaussian distribution (Mean 0.0, STD 0.02) and a weight decay of 0.0001 was used.
  • 8 epoch were run, although significant improvement was not observed after 3 epochs.
  • Loss function was MSE. Train MSE and Validation MSE were about ~ 0.015

Evaluation

  • Model checkpoint files have been included in the models folder
  • To evaluate, add .jpeg or .jpg images in the test_images folder and run the Evaluation section in the Python notebook.
  • Dehazed images are saved to the dehazed_test_images folder

Results

Original Hazy Image Dehazed Image

References

@InProceedings{Li_2017_ICCV,
author = {Li, Boyi and Peng, Xiulian and Wang, Zhangyang and Xu, Jizheng and Feng, Dan},
title = {AOD-Net: All-In-One Dehazing Network},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {Oct},
year = {2017}
}

https://github.com/TheFairBear/PyTorch-Image-Dehazing - PyTorch Implementation