PyTorch implementation for Multi-Scale Adaptive Network for Single Image Denoising (NeurIPS 2022).
- Python 3.6.13
- Pytorch 1.9.0
- mmcv 1.3.14
- h5py, pillow, numpy, scikit-image, etc.
First, for testing on real noise images, please organize each test dataset as follows
|--test_dataset
| |--clean
| | |--*.png
| |--noise
| | |--*.png
and run test.py through
python test.py \
--real \ # flag of real noise images
--save_result \ # flag of saving the denoised results
--ckpt_pth ckpt/real_with_jpeg.pth \ # path to models
--data_root dataset/test/ \ # path to datasets
--datasets "['Nam_PNG']" # list of datasets
For testing on synthetic noise images, please organize each test dataset as follows
|--test_dataset
| |--clean
| | |--*.png
| |--sig30
| | |--*.png
| |--sig50
| | |--*.png
| |--sig70
| | |--*.png
and run test.py for color noise image denoising through
python test.py \
--save_result \ # flag of saving the denoised results
--sigma 30 \ # noise level
--ckpt_pth ckpt/color_sig30.pth \ # path to models
--data_root dataset/test/ \ # path to datasets
--datasets "['CMcMaster']" # list of datasets
as well as grayscale noise image denoising through
python test.py \
--gray \ # flag of grayscale noise images
--save_result \ # flag of saving the denoised results
--sigma 30 \ # noise level
--ckpt_pth ckpt/gray_sig30.pth \ # path to models
--data_root dataset/test/ \ # path to datasets
--datasets "['GMcMaster']" # list of datasets
To train your own models, please modify the arguments in the train.py and run it through
python train.py
If this work is helpful, please cite it, thanks! >_<
@inproceedings{msanet,
title={Multi-Scale Adaptive Network for Single Image Denoising},
author={Yuanbiao Gou and Peng Hu and Jiancheng Lv and Joey Tianyi Zhou and Xi Peng},
booktitle={Advances in Neural Information Processing Systems},
year={2022}
}
This work uses some packages from mmcv in the implementation, thanks for their excellent work!