How sumitlaha/haar-attention-dehazing works
This repository implements a TensorFlow image-dehazing research workflow: datasets are loaded or synthesized into hazy/clear pairs, HaarNet learns to reconstruct clear images, and evaluation reports image-quality metrics and displays examples. The model’s documented core is multi-scale Haar decomposition with channel and spatial attention. Training and testing are coordinated by main.py, with callbacks handling summaries, checkpoints, and qualitative display. The graph follows the sampled calls; dataset and model internals are represented at their enclosing module paths.
Main entry points: main.py Train/test runner · haarnet.py HaarNet · callbacks.py Training callback · losses.py Composite loss
Components 19
Training workflow
- Train/test runner
main.py - Training callback
callbacks.py - Model checkpoints
tf_ckpts - Training summaries
Data preparation
- Dataset loader
dataloader.py - Image datasets
- Hazy/clear batches
dataloader.py
Dehazing network
- HaarNet
models/haarnet.py - Haar encoder-decoder
models/layers.py - Wavelet attention
models/layers.py
Loss and evaluation
- Composite loss
losses.py - Perceptual loss
losses.py - Frozen VGG features
models/vgg.py - Wavelet loss
losses.py - PSNR and SSIM
metrics.py - Image utilities
utils.py
Other components
- Researcher
- Haar transforms
- Dehazed images
Connections 25
- Researcher → Train/test runner: starts
- Train/test runner → Dataset loader: loads datasets
- Image datasets → Dataset loader: provides images
- Dataset loader → Hazy/clear batches: prepares batches
- Train/test runner → HaarNet: constructs and runs
- Train/test runner → Composite loss: configures loss
- Train/test runner → Training callback: registers
- Train/test runner → Model checkpoints: restores
- Hazy/clear batches → HaarNet: supplies batches
- HaarNet → Haar encoder-decoder: forwards images
- Haar encoder-decoder → Wavelet attention: uses attention blocks
- Haar encoder-decoder → Haar transforms: uses Haar transforms
- HaarNet → Composite loss: computes training loss
- Composite loss → Perceptual loss: includes
- Perceptual loss → Frozen VGG features: compares features
- Composite loss → Wavelet loss: includes
- Wavelet loss → Haar transforms: transforms images
- HaarNet → PSNR and SSIM: updates quality metrics
- PSNR and SSIM → Image utilities: standardizes images
- Train/test runner → Dehazed images: evaluates predictions
- Training callback → Training summaries: writes summaries
- Training callback → Model checkpoints: saves checkpoints
- Training callback → HaarNet: predicts examples
- Training callback → Image utilities: displays examples
- HaarNet → Dehazed images: returns predictions