Skip to content

dongjinkim9/IDF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IDF: Iterative Dynamic Filtering Networks
for Generalizable Image Denoising

* Equal contribution. Corresponding author.

arXiv   Project_page   Hugging_Face   Colab


Framework overview

We introduce a compact iterative dynamic filtering (IDF) framework for image denoising that predicts pixel-adaptive denoising kernels. Even though IDF is trained with extremely limited data (e.g., a single-level Gaussian noise), it generalizes effectively to diverse unseen noise types and levels with only ~0.04M parameters.

📦 Installation

git clone https://github.com/dongjinkim9/IDF.git
cd IDF
pip install -r requirements.txt

🚀 Demo

You can try IDF in several ways:

  • Hugging Face: Hugging_Face

  • Colab: Colab

  • Local (Python script):

python demo.py

📁 Dataset Preparation

Dataset Type Dataset
Training CBSD432
Testing (Synthetic Noise) CBSD68
McMaster
Kodak24
Urban100
Testing (Real-World Noise) SIDD
SIDD+
PolyU
Nam
MonteCarlo
  1. Download datasets individually from the table above, or download the full bundled dataset package.

  2. After downloading, set the dataset root path (dataroot) in the dataset configuration YAML files located in configs/datasets.

dataset:
  target: idf.datasets.gaussian.GaussianDataset
  params:
    dataroot: {dataset_root_path}/{train|test}/{dataset_name}

🏋️ Training & Evaluation

A. Train IDF

python main.py --config configs/train_lit_denoising.yaml

B. Validation / Testing

python main.py --config configs/test_lit_denoising.yaml

C. Reproducing Results

  1. Pretrained checkpoints are available in the pretrained_models directory.
  2. To evaluate a pretrained model:
python main.py --config configs/test_lit_denoising.yaml

D. Configuration Details

For detailed options related to training, datasets, and the model settings, please refer to:

  • Training / Testing: configs/{train|test}_lit_denoising.yaml
  • Datasets:
    • Training: configs/datasets/train/gaussian.yaml
    • Testing: configs/datasets/test/synthetic.yaml
  • Model: configs/models/idfnet.yaml

🎇 Results

Full qualitative comparisons are available on the project page: Project_page

🧪 Synthetic Noise

Synthetic noise results

🌏 Real-World Noise

Real-world noise results

📚 Citation

Please cite us if our work is useful for your research:

@InProceedings{Kim_2025_ICCV,
    author    = {Kim, Dongjin and Ko, Jaekyun and Ali, Muhammad Kashif and Kim, Tae Hyun},
    title     = {IDF: Iterative Dynamic Filtering Networks for Generalizable Image Denoising},
    booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
    month     = {October},
    year      = {2025},
    pages     = {12180-12190}
}

About

[ICCV 2025] IDF: Iterative Dynamic Filtering Networks for Generalizable Image Denoising

Topics

Resources

License

Stars

Watchers

Forks

Languages