Skip to content

Repository files navigation

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

arXivConference

visitorsGitHub IssuesGitHub 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

MetricESRGANSR3DiWaOurs
PSNR ↑21.1314.6513.6823.38
SSIM ↑0.590.420.130.68
LPIPS ↓0.0820.3650.3360.061
FID ↓20.899.427047.2

⏱️ Efficiency Comparison

ModelRuntimeParameters
ESRGAN0.04s31M
SR360.3s98M
DiWa34.7s92M
Ours0.12s57M

🛠️ 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, Lorenzoand Sigillo, Luigiand Uncini, Aurelioand Comminiello, Danilo",
editor="Esposito, Annaand Faundez-Zanuy, Marcosand Morabito, Francesco Carloand Pasero, Erosand 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