Efficient Multi-Stage Video Denoising With Recurrent Spatio-Temporal Fusion.
EMVD is an efficient video denoising method which recursively exploit the spatio temporal correlation inherently present in natural videos through multiple cascading processing stages applied in a recurrent fashion, namely temporal fusion, spatial denoising, and spatio-temporal refinement.
This repo. is an unofficial version od EMVD mentioned by Matteo Maggioni, Yibin Huang, Cheng Li, Shuai Xiao, Zhongqian Fu, Fenglong Song in CVPR 2021.
It is a Pytorch implementation.
- https://openaccess.thecvf.com/content/CVPR2021/papers/Maggioni_Efficient_Multi-Stage_Video_Denoising_With_Recurrent_Spatio-Temporal_Fusion_CVPR_2021_paper.pdf
- https://openaccess.thecvf.com/content/CVPR2021/supplemental/Maggioni_Efficient_Multi-Stage_Video_CVPR_2021_supplemental.pdf
- PyTorch>=1.6
- Numpy
- scikti-image
- tensorboardX (for visualization of loss, PSNR and images)
- torchstat (for computing GFLOPs)
config.py
is the code for setting hyperparameters.dataset.py
and load_data.py is the code for loading data from dataset.train.py
is the code for training processinference.py
is the code for validation process.models.py
and./isp/ISP_CNN.pth
is called byinference.py
for converting .tiff to .png, which refer to the code RViDeNet(https://github.com/cao-cong/RViDeNet).
CRVD Dataset (https://github.com/cao-cong/RViDeNet)
modify data_root
in config.py
, and gt_name/noisy_name
in function decode_data
inload_data.py
, and run train.py
for training process. After convergence, run inference.py
for validation process.
ISO average raw psnr:42.02, iso frame average raw ssim:0.9800 in CRVD datasets (~5.38GFLPs), which is still lower than the experiment results mentioned in paper.
This implementations are inspired by following projects:
- [RViDeNet] (https://github.com/cao-cong/RViDeNet)
Many thanks for coming here! It will be highly appreciated if you offer any suggestion.
Support me by starring or forking this repo., please.