Official Pytorch Code for "Exploring Overcomplete Representations for Single Image Deraining using CNNs" - IEEE Journal of Selected Topics in Signal Processing
- Python >= 3.6
- Pytorch >= 1.0
- Torchvision >= 0.2.2
- Numpy >= 1.14.3
git clone https://github.com/jeya-maria-jose/Derain_OUCD_Net
cd Derain_OUCD_Net
- Download the rain datasets and arrange the rainy images and clean images in the following order
- Save the image names into text file (dataset_filename.txt)
.
├── data
| ├── train # Training
| | ├── derain
| | | ├── <dataset_name>
| | | | ├── rain # rain images
| | | | └── norain # clean images
| | | └── dataset_filename.txt
| └── test # Testing
| | ├── derain
| | | ├── <dataset_name>
| | | | ├── rain # rain images
| | | | └── norain # clean images
| | | └── dataset_filename.txt
Mention the txt file of the dataset in line 13 of train_data.py and val_data.py, for example
train_list = train_data_dir + train_filename + "rain800.txt"
val_list = val_data_dir + 'val_list_rain800.txt'
python train.py -net OUCD -category derain -train_batch_size 2 -save_dir rain800_OUCD -num_epochs 200
Choose the model you want to load from the checkpoint. Change the epoch and bestp variables with the model you need to test. Then, run
python test.py -category derain -exp_name OUCD
@misc{yasarla2020exploring,
title={Exploring Overcomplete Representations for Single Image Deraining using CNNs},
author={Rajeev Yasarla and Jeya Maria Jose Valanarasu and Vishal M. Patel},
year={2020},
eprint={2010.10661},
archivePrefix={arXiv},
primaryClass={eess.IV}
}