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
Pytorch implementation of Learning Rate Dropout.

Learning-Rate-Dropout Pytorch implementation of Learning Rate Dropout. Paper Link: https://arxiv.org/pdf/1912.00144.pdf Train ResNet-34 for Cifar10: r

42 Nov 25, 2022
Inference pipeline for our participation in the FeTA challenge 2021.

feta-inference Inference pipeline for our participation in the FeTA challenge 2021. Team name: TRABIT Installation Download the two folders in https:/

Lucas Fidon 2 Apr 13, 2022
WHENet: Real-time Fine-Grained Estimation for Wide Range Head Pose

WHENet: Real-time Fine-Grained Estimation for Wide Range Head Pose Yijun Zhou and James Gregson - BMVC2020 Abstract: We present an end-to-end head-pos

368 Dec 26, 2022
Vertical Federated Principal Component Analysis and Its Kernel Extension on Feature-wise Distributed Data based on Pytorch Framework

VFedPCA+VFedAKPCA This is the official source code for the Paper: Vertical Federated Principal Component Analysis and Its Kernel Extension on Feature-

John 9 Sep 18, 2022
PyTorch implementation of probabilistic deep forecast applied to air quality.

Probabilistic Deep Forecast PyTorch implementation of a paper, titled: Probabilistic Deep Learning to Quantify Uncertainty in Air Quality Forecasting

Abdulmajid Murad 13 Nov 16, 2022
Alleviating Over-segmentation Errors by Detecting Action Boundaries

Alleviating Over-segmentation Errors by Detecting Action Boundaries Forked from ASRF offical code. This repo is the a implementation of replacing orig

13 Dec 12, 2022
HybVIO visual-inertial odometry and SLAM system

HybVIO A visual-inertial odometry system with an optional SLAM module. This is a research-oriented codebase, which has been published for the purposes

Spectacular AI 320 Jan 03, 2023
An unofficial implementation of "Unpaired Image Super-Resolution using Pseudo-Supervision." CVPR2020

UnpairedSR An unofficial implementation of "Unpaired Image Super-Resolution using Pseudo-Supervision." CVPR2020 turn RCAN(modified) -- xmodel(xilinx

JiaKui Hu 10 Oct 28, 2022
Winners of the Facebook Image Similarity Challenge

Winners of the Facebook Image Similarity Challenge

DrivenData 111 Jan 05, 2023
A self-supervised 3D representation learning framework named viewpoint bottleneck.

Pointly-supervised 3D Scene Parsing with Viewpoint Bottleneck Paper Created by Liyi Luo, Beiwen Tian, Hao Zhao and Guyue Zhou from Institute for AI In

63 Aug 11, 2022
GPU Accelerated Non-rigid ICP for surface registration

GPU Accelerated Non-rigid ICP for surface registration Introduction Preivous Non-rigid ICP algorithm is usually implemented on CPU, and needs to solve

Haozhe Wu 144 Jan 04, 2023
Neon: an add-on for Lightbulb making it easier to handle component interactions

Neon Neon is an add-on for Lightbulb making it easier to handle component interactions. Installation pip install git+https://github.com/neonjonn/light

Neon Jonn 9 Apr 29, 2022
Evolution Strategies in PyTorch

Evolution Strategies This is a PyTorch implementation of Evolution Strategies. Requirements Python 3.5, PyTorch = 0.2.0, numpy, gym, universe, cv2 Wh

Andrew Gambardella 333 Nov 14, 2022
Let's create a tool to convert Thailand budget from PDF to CSV.

thailand-budget-pdf2csv Let's create a tool to convert Thailand Government Budgeting from PDF to CSV! รวมพลัง Dev แปลงงบ จาก PDF สู่ Machine-readable

Kao.Geek 88 Dec 19, 2022
LQM - Improving Object Detection by Estimating Bounding Box Quality Accurately

Improving Object Detection by Estimating Bounding Box Quality Accurately Abstract Object detection aims to locate and classify object instances in ima

IM Lab., POSTECH 0 Sep 28, 2022
Bayesian Optimization Library for Medical Image Segmentation.

bayesmedaug: Bayesian Optimization Library for Medical Image Segmentation. bayesmedaug optimizes your data augmentation hyperparameters for medical im

Şafak Bilici 7 Feb 10, 2022
code for generating data set ES-ImageNet with corresponding training code

es-imagenet-master code for generating data set ES-ImageNet with corresponding training code dataset generator some codes of ODG algorithm The variabl

Ordinarabbit 18 Dec 25, 2022
A PyTorch Implementation of Gated Graph Sequence Neural Networks (GGNN)

A PyTorch Implementation of GGNN This is a PyTorch implementation of the Gated Graph Sequence Neural Networks (GGNN) as described in the paper Gated G

Ching-Yao Chuang 427 Dec 13, 2022
EvoJAX is a scalable, general purpose, hardware-accelerated neuroevolution toolkit

EvoJAX: Hardware-Accelerated Neuroevolution EvoJAX is a scalable, general purpose, hardware-accelerated neuroevolution toolkit. Built on top of the JA

Google 598 Jan 07, 2023
diablo2 resurrected loot filter

Only For Chinese and Traditional Chinese The filter only for Chinese and Traditional Chinese, i didn't change it for other language.Maybe you could mo

elmagnifico 249 Dec 04, 2022