A PyTorch implementation of RCDNet based on CVPR 2020 paper A Model-driven Deep Neural Network for Single Image Rain Removal.
conda install pytorch=1.10.1 torchvision cudatoolkit -c pytorch
Rain100L, Rain100H, Rain1400 and SPA-Data are used, download these datasets and make sure the directory like this:
|-- data
|-- rain100L
|-- train
|-- rain
norain-1.png
...
`-- norain
norain-1.png
...
`-- test
|-- rain100H
same as rain100L
`-- rain1400
same as rain100L
|-- spa
same as rain100L
You can easily train and test the model by running the script below. If you want to try other options, please refer to utils.py.
python main.py --data_name rain100L --seed 0
python main.py --data_name rain100H --model_file result/rain100H.pth
The models are trained on one NVIDIA GeForce RTX 3090 GPU (24G). All the hyper-parameters are the default values.
Method | Rain100L | Rain100H | Rain1400 | SPA-Data | Download | ||||
---|---|---|---|---|---|---|---|---|---|
PSNR | SSIM | PSNR | SSIM | PSNR | SSIM | PSNR | SSIM | ||
Ours | 40.29 | 0.9869 | 32.02 | 0.9180 | 33.28 | 0.9494 | 37.81 | 0.9631 | MEGA |
Official | 40.00 | 0.9860 | 31.28 | 0.9093 | 33.04 | 0.9472 | 41.47 | 0.9834 | Github |
More results could be downloaded from Dropbox.