Restoring rain images is important for many computer vision applications in outdoor scenes since rain streaks can severely degrade the visibility causing many current computer vision algorithms fails to work.
In recent years, various methods mainly based on CNNs have been proposed to address this problem.
This repo records some papers with implementation and finally make comparison between them.
- Python>=3.6
- Pytorch>=1.0.0
- Opencv>=3.1.0
- visdom
pip install -r requirements.txt
- checkpoints : holds checkpoints
- datasets :
- losses: losses like ssim and psnr
- models: holds model for training or testing
- pretrained_models: holds pretrained model for fine-ture
- settings : holds seperate setting config for model
- utils : practical tools
- RESCAN : Rain800
- JORDER : Rain100H,Rain100L
- DID-MDN : DID-MDN
Two parameters:
-c, --config : each networks configuration files which contains the parameter about model and training details.
Example usage:
python train.py -c ./configs/didmdn_didmdn_rain.yaml
In order to test, you need to run the following command and set input_path to the folder with images (optionally, also set img_list to a list with subset of these image names), specify scaling by setting image_size (required for CelebA-HQ), file with network weights (net_path) and output directory (output_path).
Example usage:
python test.py -c ./configs/didmdn_didmdn_rain.yaml -t 'fcn'
-
DID-MDN(SOTA)
-
Current JORDAR
-
RESCAN
-
Attentive-GAN for Raindrop Removal
-
Perceptual-GAN
-
PReNet(CVPR-2019)
-
SPANet(CVPR-2019)
-
Single Image Deraining: A Comprehensive Benchmark Analysis (CVPR19)