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.
- 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
- 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
Original Hazy Image | Dehazed Image |
@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