Home

Awesome

Real_R2R_denoising

Unsupervised R2R Denoising for Real Image Denosing

This repository is an PyTorch implementation of the paper Recorrupted-to-Recorrupted: Unsupervised Deep Learning for Image Denoising. The network we adopted is DnCNN and our implementation is based on DnCNN-PyTorch. We give the author credit for the implementation of DnCNN. We give the author credit for the implementation of DnCNN. The Gaussian denoising version is available R2R.

1.Dependencies

2. Download and generate SIDD training data

Here we adapt SIDD Medium data for training. The training data and validation data can be download in SIDD website. After downloading, move both the "Data" folder and "noise_level_functions.csv" of training data to "sidd_dataset" folder.

To generate training patch, please run the following commands.

cd gen_data
bash gen_sidd.sh

3. Run Experiments on SIDD real noise removal

Training

python train_sidd_dncnn.py --gpu 0 

The pretrained model is available on './experiments/pre_trained.pth'

Validation

python test_sidd_dncnn.py --gpu 0 --phase validation --model_path 'path of pretrained model' --val_path 'path of validation data'

Test

python test_sidd_dncnn.py --gpu 0 --phase test --model_path 'path of pretrained model' --val_path 'path of test data'

Any other NNs can be adapted here by changing the model architecture.

4.Citation

@InProceedings{Pang_2021_CVPR,
    author    = {Pang, Tongyao and Zheng, Huan and Quan, Yuhui and Ji, Hui},
    title     = {Recorrupted-to-Recorrupted: Unsupervised Deep Learning for Image Denoising},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2021},
    pages     = {2043-2052}
}