centreborelli / mf2f

Self-supervised training for blind multi-frame video denoising
https://cmla.github.io/mf2f/
26 stars 2 forks source link
deep-learning self-supervised-learning video-denoising

Multi Frame2Frame

DEPENDENCIES

The script for each method are written in python3. We recommend to use a version >= 3.6 to prevent from warning deprecated. You should have installed the modules argparse, iio, numpy, os, scipy, scikit-image and torchvision.

The libraries libtiff, libpng, fftw3 are needed. The code requires parallel to parallelize the computation of the flows and masks.

USAGE OF THE END-TO-END CODE

Run the end-to-end script using the command:
bash run.sh "input_sequence_path" "ref_sequence_path" first last "output_folder_path"

The five arguments are mandatory and represent:

The codes read and store color images in png, jpeg and tiff using iio

OUTPUT FOLDER

The MF2F codes need mask and optical flow results which are computed offline previously to the MF2F codes. The output folder will be created at the location you put in the output_folder_path It will contain eight subfolders:

CONTENTS OF THE RESULT FOLDERS

Each result folder (results_8sigmas, results_online_no_teacher, results_online_with_teacher, results_offline_no_teacher, results_offline_withteacher) contains the result frames obtained by evaluating the fine-tuned network on the training stack (file `training%03d.png) and on the natural stack (file%03d.png`). The first and last four result frames are not computed by any of the methods.

In the online methods, these are the results of the so far fine-tuned network. In the offline methods, theses are the results of the final fine-tuned network.

In addition, the PSNR and SSIM values are stored in file respectively called PSNR.txt and SSIM.txt for the evaluation with the natural stack and PSNR_training.txt, SSIM_training.txt for the evaluation with the training stack. The offline results subfolders also contain files PSNR_tot.txt and SSIM_tot.txt which are the PSNR and SSIM value evaluated on the natural stack for every loss computations for the whole offline fine-tuning.

Moreover, in the file final_mf2f.pth, the network weights and the optimizer parameters are also saved for each method in the corresponding folder.