Skip to content

nachifur/RDDM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Residual Denoising Diffusion Models

This repository is the official implementation of Residual Denoising Diffusion Models.

Note:

  1. The current setting is to train two unets (one to estimate the residuals and one to estimate the noise), which can be used to explore partially path-independent generation process.
  2. Other tasks need to modify a) [self.alphas_cumsum[t]*self.num_timesteps, self.betas_cumsum[t]*self.num_timesteps]] -> [t,t] (in L852 and L1292). b) For image restoration, generation=False in L120, convert_to_ddim=False in L640. c) modify the corresponding experimental settings (see Table 4 in the Appendix).
  3. The code is being updated.

Requirements

To install requirements:

conda env create -f install.yaml

Dataset

Raindrop

GoPro

ISTD

SID-RGB: kexu or download

LOL

CelebA

Training

To train RDDM, run this command:

python train.py

or

accelerate launch train.py

Evaluation

To evaluate image generation, run:

cd eval/image_generation_eval/
python fid_and_inception_score.py path_of_gen_img

For image restoration, MATLAB evaluation codes in ./eval.

Pre-trained Models

The pre-trained models will be provided later.

Results

See Table 3 in main paper.

Other experiments

We can convert a pre-trained DDIM to RDDM by coefficient transformation (see code).

Citation

If you find our work useful in your research, please consider citing:

@article{liu2023residual,
    title={Residual Denoising Diffusion Models}, 
    author={Jiawei Liu and Qiang Wang and Huijie Fan and Yinong Wang and Yandong Tang and Liangqiong Qu},
    year={2023},
    journal={arXiv preprint arxiv:2308.13712}
}

Contact

Please contact Jiawei Liu if there is any question (liujiawei18@mails.ucas.ac.cn).

About

CVPR 2024: Residual Denoising Diffusion Models

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published