Code and models for "Rethinking Deep Image Prior for Denoising" (ICCV 2021)

Overview

DIP-denosing

This is a code repo for Rethinking Deep Image Prior for Denoising (ICCV 2021).

Addressing the relationship between Deep image prior and effective degrees of freedom, DIP-SURE with STE(stochestic temporal ensemble) shows reasonable result on single image denoising.

If you use any of this code, please cite the following publication:

@article{jo2021dipdenoising,
  author  = {Yeonsik Jo, Se young chun,  and Choi, Jonghyun},
  title     = {Rethinking Deep Image Prior for Denoising},
  booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
  month     = {October},
  year      = {2021},
  pages     = {5087-5096}
}

Working environment

  • TITAN Xp
  • ubuntu 18.04.4
  • pytorch 1.6

Note: Experimental results were not checked in other environments.

Set-up

  • Make your own environment
conda create --name DIP --file requirements.txt
conda avtivate DIP
pip install tqdm

Inference

  • Produce CSet9 result
bash exp_denoising.sh CSet9 <GPU ID>
  • For your own data with sigma=25 setup
mkdir testset/<YOUR_DATASET>
python main.py --dip_type eSURE_new --net_type s2s --exp_tag <EXP_NAME> --optim RAdam --force_steplr --desc sigma25   denoising --sigma 25 --eval_data <YOUR_DATASET>

Browsing experimental result

  • We provide reporting code with invoke.
invoke showtable csv/<exp_type>/<exp_tag> 
  • Example.
invoke showtable csv/poisson/MNIST/
PURE_dc_scale001_new                     optimal stopping : 384.30,     31.97/0.02      | ZCSC : 447.60,         31.26/0.02 | STE 31.99/0.02
PURE_dc_scale01_new                      optimal stopping : 94.70,      24.96/0.12      | ZCSC : 144.60,         24.04/0.14 | STE 24.89/0.12
PURE_dc_scale02_new                      optimal stopping : 70.30,      22.92/0.20      | ZCSC : 110.00,         21.82/0.22 | STE 22.83/0.20
<EXEPRIMENTAL NAME>                      optimal stopping :<STEP>,      <PSNR>/<LPIPS>  | ZCSC : <STEP>,      <PSNR>/<LPIPS>| STE <PSNR>/<LPIPS>

The reported numbers are PSNR/LPIPS.

Results in paper

For the result used on paper, please refer this link.

SSIM score

For SSIM score of color images, I used matlab code same as the author of S2S.
This is the demo code I received from the S2S author.
Thank you Mingqin!

% examples
ref = im2double(imread('gt.png'));
noisy = im2double(imread('noisy.png'));
psnr_result = psnr(ref, noisy);
ssim_result = ssim(ref, noisy);

License

MIT license.

Contacts

For questions, please send an email to [email protected]

Owner
Computer Vision Lab. @ GIST
Some useful codes for computer vision and machine learning.
Computer Vision Lab. @ GIST
The code from the paper Character Transformations for Non-Autoregressive GEC Tagging

Character Transformations for Non-Autoregressive GEC Tagging Milan Straka, Jakub Náplava, Jana Straková Charles University Faculty of Mathematics and

ÚFAL 5 Dec 10, 2022
Pyramid addon for OpenAPI3 validation of requests and responses.

Validate Pyramid views against an OpenAPI 3.0 document Peace of Mind The reason this package exists is to give you peace of mind when providing a REST

Pylons Project 79 Dec 30, 2022
Measuring if attention is explanation with ROAR

NLP ROAR Interpretability Official code for: Evaluating the Faithfulness of Importance Measures in NLP by Recursively Masking Allegedly Important Toke

Andreas Madsen 19 Nov 13, 2022
Mitsuba 2: A Retargetable Forward and Inverse Renderer

Mitsuba Renderer 2 Documentation Mitsuba 2 is a research-oriented rendering system written in portable C++17. It consists of a small set of core libra

Mitsuba Physically Based Renderer 2k Jan 07, 2023
Code release for Universal Domain Adaptation(CVPR 2019)

Universal Domain Adaptation Code release for Universal Domain Adaptation(CVPR 2019) Requirements python 3.6+ PyTorch 1.0 pip install -r requirements.t

THUML @ Tsinghua University 229 Dec 23, 2022
(CVPR 2022) Energy-based Latent Aligner for Incremental Learning

Energy-based Latent Aligner for Incremental Learning Accepted to CVPR 2022 We illustrate an Incremental Learning model trained on a continuum of tasks

Joseph K J 37 Jan 03, 2023
Extract MNIST handwritten digits dataset binary file into bmp images

MNIST-dataset-extractor Extract MNIST handwritten digits dataset binary file into bmp images More info at http://yann.lecun.com/exdb/mnist/ Dependenci

Omar Mostafa 6 May 24, 2021
CONditionals for Ordinal Regression and classification in PyTorch

CONDOR pytorch implementation for ordinal regression with deep neural networks. Documentation: https://GarrettJenkinson.github.io/condor_pytorch About

7 Jul 25, 2022
Official implementation of the paper "Light Field Networks: Neural Scene Representations with Single-Evaluation Rendering"

Light Field Networks Project Page | Paper | Data | Pretrained Models Vincent Sitzmann*, Semon Rezchikov*, William Freeman, Joshua Tenenbaum, Frédo Dur

Vincent Sitzmann 130 Dec 29, 2022
R-Drop: Regularized Dropout for Neural Networks

R-Drop: Regularized Dropout for Neural Networks R-drop is a simple yet very effective regularization method built upon dropout, by minimizing the bidi

756 Dec 27, 2022
SMPL-X: A new joint 3D model of the human body, face and hands together

SMPL-X: A new joint 3D model of the human body, face and hands together [Paper Page] [Paper] [Supp. Mat.] Table of Contents License Description News I

Vassilis Choutas 1k Jan 09, 2023
Experimental code for paper: Generative Adversarial Networks as Variational Training of Energy Based Models

Experimental code for paper: Generative Adversarial Networks as Variational Training of Energy Based Models, under review at ICLR 2017 requirements: T

Shuangfei Zhai 18 Mar 05, 2022
Parameterized Explainer for Graph Neural Network

PGExplainer This is a Tensorflow implementation of the paper: Parameterized Explainer for Graph Neural Network https://arxiv.org/abs/2011.04573 NeurIP

Dongsheng Luo 89 Dec 12, 2022
The challenge for Quantum Coalition Hackathon 2021

Qchack 2021 Google Challenge This is a challenge for the brave 2021 qchack.io participants. Instructions Hello, intrepid qchacker, welcome to the G|o

quantumlib 18 May 04, 2022
Automatic tool focused on deriving metallicities of open clusters

metalcode Automatic tool focused on deriving metallicities of open clusters. Based on the method described in Pöhnl & Paunzen (2010, https://ui.adsabs

2 Dec 13, 2021
A complete, self-contained example for training ImageNet at state-of-the-art speed with FFCV

ffcv ImageNet Training A minimal, single-file PyTorch ImageNet training script designed for hackability. Run train_imagenet.py to get... ...high accur

FFCV 92 Dec 31, 2022
Language model Prompt And Query Archive

LPAQA: Language model Prompt And Query Archive This repository contains data and code for the paper How Can We Know What Language Models Know? Install

127 Dec 20, 2022
A collection of Jupyter notebooks to play with NVIDIA's StyleGAN3 and OpenAI's CLIP for a text-based guided image generation.

StyleGAN3 CLIP-based guidance StyleGAN3 + CLIP StyleGAN3 + inversion + CLIP This repo is a collection of Jupyter notebooks made to easily play with St

Eugenio Herrera 176 Dec 30, 2022
E2EC: An End-to-End Contour-based Method for High-Quality High-Speed Instance Segmentation

E2EC: An End-to-End Contour-based Method for High-Quality High-Speed Instance Segmentation E2EC: An End-to-End Contour-based Method for High-Quality H

zhangtao 146 Dec 29, 2022
HairCLIP: Design Your Hair by Text and Reference Image

Overview This repository hosts the official PyTorch implementation of the paper: "HairCLIP: Design Your Hair by Text and Reference Image". Our single

322 Jan 06, 2023