Skip to content

Repository files navigation

If you find this project useful, consider giving it a star ⭐

arXiv Conference

visitors GitHub Issues GitHub Closed Issues


📰 News


😮 Highlights

⚡ Fast Diffusion for Super-Resolution

We propose a Diffusion GAN framework that significantly reduces the number of diffusion steps, making diffusion-based super-resolution much faster and more practical.

🌊 Wavelet-Based Representation

By leveraging the Discrete Wavelet Transform (DWT), the model operates in a compressed frequency domain, reducing computational cost while preserving fine details.

🖼️ High-Fidelity Image Reconstruction

Our method achieves superior perceptual quality and reconstruction fidelity, outperforming strong baselines such as SR3, DiWa, and ESRGAN.


🚀 Main Results

Quantitative Comparison

Metric ESRGAN SR3 DiWa Ours
PSNR ↑ 21.13 14.65 13.68 23.38
SSIM ↑ 0.59 0.42 0.13 0.68
LPIPS ↓ 0.082 0.365 0.336 0.061
FID ↓ 20.8 99.4 270 47.2

⏱️ Efficiency Comparison

Model Runtime Parameters
ESRGAN 0.04s 31M
SR3 60.3s 98M
DiWa 34.7s 92M
Ours 0.12s 57M

🛠️ Installation

conda create --name=wadigan python=3.10
conda activate wadigan

pip install -r requirements.txt

📂 Dataset Preparation

We train on CelebA-HQ (16×16 → 128×128).

Download dataset:

Prepare dataset:

python datasets_prep/prepare_data.py \
  --path [dataset root] \
  --out [output root] \
  --size 16,128 -l

⚠️ Important:

  • Images must be sequentially numbered for LMDB conversion.

Structure:

data/
└── celebahq_16_128

▶️ How to Run

We provide a unified script:

bash run.sh <DATASET> <MODE> <#GPUS>

Example:

bash run.sh celebahq_16_128 train 1

Arguments:

  • <DATASET>: celebahq_16_128
  • <MODE>: train / test
  • <#GPUS>: number of GPUs

⚠️ Use the same --exp name for training and testing.


🧪 Evaluation

Metrics are computed on the full test set (6000 samples).

Generate Samples

bash run.sh celebahq_16_128 test 1

FID

Add:

--compute_fid --real_img_dir /path/to/real/images

PSNR / SSIM / LPIPS

python benchmark/eval.py -p [result root]

📦 Pretrained Models

Place checkpoints in:

saved_info/srwavediff/<DATASET>/<EXP>

📖 Method Overview

Our framework combines:

  • Diffusion models (reduced timesteps)
  • GAN training paradigm
  • Wavelet-domain processing

This enables:

  • Faster inference
  • Lower memory usage
  • Improved texture reconstruction

📚 Acknowledgements


📌 Citation

@Inbook{aloisi2026wavelet,
author="Aloisi, Lorenzo
and Sigillo, Luigi
and Uncini, Aurelio
and Comminiello, Danilo",
editor="Esposito, Anna
and Faundez-Zanuy, Marcos
and Morabito, Francesco Carlo
and Pasero, Eros
and Cordasco, Gennaro",
title="A Wavelet Diffusion GAN for Image Super-Resolution",
bookTitle="Neural Networks: Overview of Current Theories and Applications",
year="2026",
publisher="Springer Nature Singapore",
address="Singapore",
pages="425--435",
isbn="978-981-95-4072-3",
doi="10.1007/978-981-95-4072-3_36",
url="https://doi.org/10.1007/978-981-95-4072-3_36"
}

⭐ Star History

Star History Chart

About

Pytorch implementation of the paper "A Wavelet Diffusion GAN for Image Super-Resolution"

Resources

Stars

9 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages