End-to-End Learning for Joint Image Demosaicing, Denoising and Super-Resolution (CVPR 2021)
- Python >= 3
- Keras = 2.3.1
- Tensorflow-gpu = 1.14.0
- Python packages:
pip install opencv-python scipy scikit-image
conda create --name JDNDMSR
conda activate JDNDMSR
conda install keras=2.3.1 tensorflow-gpu=1.14.0 tensorflow
pip install opencv-python scipy scikit-image
- Clone github repository
git clone https://github.com/xingwz/End-to-End-JDNDMSR.git JDNDMSR
cd JDNDMSR
- Preprocess test data: run
preprocess/preprocess.m
to downscale the image. Remember to change folders:Your_GT_Path
andYour_LR_Path
. - Test our JDNDMSR+ model (trained with data whose scale factor is 2 and noise level is from 0 to 20.)
python test.py -test_image_folder_path_LR "Your_LR_Path" -noise 10.0 -scale_factor 2
- If input raw images, remember to shift the pixel to match our model's Bayer pattern (RGGB).
python test.py -test_image_folder_path_LR "Your_LR_Path" -input_raw True -offset_x 1
- Preprocess data: run
preprocess/preprocess.m
- Train your model. The super-resolution can be turned off by set
scale_factor
as 1. Remember to change folders:Your_GT_Path
andYour_LR_Path
.
python train.py
- You can transfer parameters from our pre-trained JDMSR model by set parameter
transfer
asTrue
.
@inproceedings{xing2021end,
title={End-to-End Learning for Joint Image Demosaicing, Denoising and Super-Resolution},
author={Xing, Wenzhu and Egiazarian, Karen},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={3507--3516},
year={2021}
}