Skip to content

KAIST-VICLab/U-Know-DiffPAN

Repository files navigation

[CVPR'25] U-Know-DiffPAN: An Uncertainty-aware Knowledge Distillation Diffusion Framework with Details Enhancement for PAN-Sharpening


Sungpyo Kim1, Jeonghyeok Do1, Jaehyup Lee2†, Munchurl Kim1†
1KAIST, South Korea, 2Kyungpook National University, South Korea
†Co-corresponding authors

GitHub Repo stars

📣 News

Updates

  • July 2, 2025: Code released.
  • February 26, 2025: U-Know-DiffPAN accepted to CVPR 2025 🎉.

To-Dos

  • Add instructions for environmental setups.
  • Add instructions for Data preperation setups.
  • Add instructions for Train and Test.

⚙️ Environmental Setups

Clone the repo and install dependencies:

git clone https://github.com/KAIST-VICLab/U-Know-DiffPAN.git
cd U-Know-DiffPAN

conda create -n uknow python=3.8
conda activate uknow

pip install -r requirements.txt

📁 Data Preparations

Pancollection Dataset

  1. We follow the evaluation setup from Pancollection. Download the datasets here and arrange them as follows:
Pancollection
    ├── training_data
    │   ├── train_wv3.h5
    │   ├── train_qb.h5
    │   └── train_gf2.h5
    │
    ├── test_data
    │   ├── test_wv3_OrigScale_multiExm1.h5
    │   ├── test_wv3_multiExm1.h5
    │   └── ...
    │
    └── ...

🚀 Get Started

Training

Before starting training, make sure to modify the configuration files (Prior_config.py, FSA_T_config.py, FSA_S_config.py) to match your local environment (e.g., dataset paths, checkpoint directories, device settings, etc.).

# check if environment is activated properly
conda activate uknow

Priornet pretrain

python main.py --stage Priornet --mode train

Stage 1

# FSA-T Pretrain
python main.py --stage FSA_T --mode train

# Get FSA-T output from train datasets  
python main.py --stage FSA_T --mode save

After getting the .h5 format FSA-T output (dist_feature_map), arrange datasetes as follows:

Pancollection
    ├── training_data
    │   └── ...
    │
    ├── test_data
    │   └── ...
    │
    ├── dist_feature_map
    │   ├── train_wv3.h5
    │   ├── train_qb.h5
    │   └── train_gf2.h5
    │
    └── ...

Stage 2

# FSA-S Train
python main.py --stage FSA_S --mode train

Test

# FSA-S Test
python main.py --stage FSA_S --mode test

Evaluation

TBA ...

Project page

The project page is available at https://kaist-viclab.github.io/U-Know-DiffPAN-site/.

Acknowledgments

This work was supported by National Research Foundation of Korea (NRF) grant funded by the Korean Government [Ministry of Science and ICT (Information and Communications Technology)] (Project Number: RS- 2024-00338513, Project Title: AI-based Computer Vision Study for Satellite Image Processing and Analysis, 100%).

⭐ Citing U-Know-DiffPAN

If you find our repository useful, please consider giving it a star ⭐ and citing our research papers in your work:

@inproceedings{kim2025u,
  title={U-Know-DiffPAN: An Uncertainty-aware Knowledge Distillation Diffusion Framework with Details Enhancement for PAN-Sharpening},
  author={Kim, Sungpyo and Do, Jeonghyeok and Lee, Jaehyup and Kim, Munchurl},
  booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference},
  pages={23069--23079},
  year={2025}
}

About

[CVPR 2025] Official repository of U-Know-DiffPAN

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages