Code and dataset for ECCV20 paper Practical Deep Raw Image Denoising on Mobile Devices.
The dataset includes two 7zip files:
reno10x_noise.7z
contains DNG raw images shot by an OPPO Reno 10x phone for noise parameter estimation (refer Sec 3.1 and 5.1 in the paper)PMRID.7z
is the benchmark dataset described in Sec 5.2 in the paper
The structure of PMRID.7z
is
- benchmark.json # meta info
- Scene1/
\- Bright/
\- exposure-case1/
\- input.raw # RAW data for noisy image in uint16
- gt.raw # RAW data for clean image in uint16
+ case2/
+ Dark/
+ Secne2/
All metadata for images are listed in benchmark.json
:
{
"input": "path/to/noisy_input.raw",
"gt": "path/to/clean_gt.raw",
"meta": {
"name": "case_name",
"scene_id": "scene_name",
"light": "light condition",
"ISO": "ISO",
"exp_time": "exposure time",
"bayer_pattern": "BGGR",
"shape": [3000, 4000],
"wb_gain": [r_gain, g_gain, b_gain],
"CCM": [ # 3x3 color correction matrix
[c11, c12, c13],
[c21, c22, c23],
[c31, c32, c33]
],
"ROIs": [ # patch ROIs to calculate PSNR and SSIM, x0 is topleft
[topleft_w, topleft_h, bottomright_w, bottomright_h]
]
}
}
Both PyTorch and MegEngine pre-trained models are provided in the models
directory.
The benchmark script is written for models trained with MegEngine. Python >= 3.6
is required to run the benchmark script.
pip install -r requirements.txt
python3 run_benchmark.py --benchmark /path/to/PMRID/benchmark.json models/mge_pretrained.ckp
@inproceedings{wang2020,
title={Practical Deep Raw Image Denoising on Mobile Devices},
author={Wang, Yuzhi and Huang, Haibin and Xu, Qin and Liu, Jiaming and Liu, Yiqun and Wang, Jue},
booktitle={European Conference on Computer Vision (ECCV)},
year={2020},
pages={1--16}
}