/bpn

Primary LanguagePythonMIT LicenseMIT

Basis Prediction Networks for Effective Burst Denoising with Large Kernels

A Tensorflow 2 re-implementation of Basis Prediction Networks for Burst Denoising. The original source code of the paper was implemented in TF1, but could not be shared due to patent issues.

Basis Prediction Networks for Effective Burst Denoising with Large Kernels (CVPR 2020)
Zhihao Xia1, Federico Perazzi2, Michael Gharbi2, Kalyan Sunkavalli2, Ayan Chakrabarti1
1WUSTL, 2Adobe Research

Dependencies

Python 3 + Tensorflow-2.3

Download pre-trained models

Our pre-trained models for grayscale and color burst denoising can be found here. You can run

bash ./scripts/download_models.sh

to download and unzip them.

Download grayscale and color test sets

We use the grayscale test set provided by Mildenhall et al., which can be found here. For color burst denoising test, we sythetically generate the test set with 100 images from the validation set of Open Images Dataset. The noisy and clean bursts can be found here. You can also download both test sets by running

bash ./scripts/download_testset.sh

Test with pre-trained models

Run

python test.py [--color] [--gain NOISE_LEVEL]

to test grayscale and color burst denoising with pre-trained models on different noise levels.

Training your own models

Our model is trained on the training set of the Open Images Dataset. To train your own model, download the dataset and update data/train.txt and data/val.txt with path to each image. Then run

python train.py [--color]

You can press ctrl-c at any time to stop the training and save the checkpoints (model weights and optimizer states). The training script will resume from the latest checkpoint (if any) in the model directory and continue training.

Citation

If you find the code useful for your research, we request that you cite the paper. Please contact zhihao.xia@wustl.edu with any questions.

@inproceedings{xia2020basis,
  title={Basis prediction networks for effective burst denoising with large kernels},
  author={Xia, Zhihao and Perazzi, Federico and Gharbi, Micha{\"e}l and Sunkavalli, Kalyan and Chakrabarti, Ayan},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={11844--11853},
  year={2020}
}

Acknowledgments

This work was supported by the National Science Foundation under award no. IIS-1820693. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors, and do not necessarily reflect the views of the National Science Foundation.

License

This re-implementation is licensed under the MIT License.