This repository is the official PyTorch implementation of "PAN-Crafter: Learning Modality-Consistent Alignment for PAN-Sharpening". PAN-Crafter achieves state-of-the-art results on multiple datasets, outperforming the recent PAN-Sharpening methods.
- Jul 26, 2025: Youtube video about PAN-Crafter is uploaded ✨
- Jul 18, 2025: Codes of PAN-Crafter are released 🔥
- Jun 26, 2025: PAN-Crafter accepted to ICCV 2025 🎉
- May 30, 2025: This repository is created
@inproceedings{do2025pancrafter,
title={PAN-Crafter: Learning Modality-Consistent Alignment for PAN-Sharpening},
author={Do, Jeonghyeok, Kim, Sungpyo, Youk, Geunhyuk, Lee, Jaehyup, and Kim, Munchurl},
booktitle={Proceedings of the IEEE/CVF international conference on computer vision},
year={2025}
}
- Python >= 3.9.19
- PyTorch >= 2.4.0
- Platforms: Ubuntu 22.04, CUDA 11.8
- We have included a dependency file for our experimental environment. To install all dependencies, create a new Anaconda virtual environment and execute the provided file. Run
conda env create -f requirements.yaml
.
We follow the evaluation setup from PanCollection.
Download the datasets here and arrange them as follows:
Pancollection
├── WV3
│ ├── train_wv3.h5
│ ├── valid_wv3.h5
│ ├── train_wv3_pan.h5
│ ├── valid_wv3_pan.h5
│ ├── reduced_examples_h5
│ │ ├── test_wv3_multiExm1.h5
│ │ └── test_wv3_multiExm1_pan.h5
│ └─── full_examples_h5
│ ├── test_wv3_OrigScale_multiExm1.h5
│ └── test_wv3_OrigScale_multiExm1_pan.h5
│
├── QB
│ ├── train_qb.h5
│ ├── valid_qb.h5
│ ├── train_qb_pan.h5
│ ├── valid_qb_pan.h5
│ ├── reduced_examples_h5
│ │ ├── test_qb_multiExm1.h5
│ │ └── test_qb_multiExm1_pan.h5
│ └─── full_examples_h5
│ ├── test_qb_OrigScale_multiExm1.h5
│ └── test_qb_OrigScale_multiExm1_pan.h5
│
└── GF2
├── train_gf2.h5
├── valid_gf2.h5
├── train_gf2_pan.h5
├── valid_gf2_pan.h5
├── reduced_examples_h5
│ ├── test_gf2_multiExm1.h5
│ └── test_gf2_multiExm1_pan.h5
└─── full_examples_h5
├── test_gf2_OrigScale_multiExm1.h5
└── test_gf2_OrigScale_multiExm1_pan.h5
Note: Files with
_pan.h5
(e.g.,train_wv3_pan.h5
,test_qb_multiExm1_pan.h5
) contain the panchromatic image (I_{pan}^{lr}),
which has been down-sampled by a factor of 4 to match the spatial resolution of the multispectral image (I_{ms}^{lr}).
# Download code
git clone https://github.com/KAIST-VICLab/PAN-Crafter
cd PAN-Crafter
# Train PAN-Crafter on WV3
python main.py --config ./config/pancrafter_wv3.yaml
# Train PAN-Crafter on QB
python main.py --config ./config/pancrafter_qb.yaml
# Train PAN-Crafter on GF2
python main.py --config ./config/pancrafter_gf2.yaml
Please visit our project page for more experimental results.
All evaluation metrics were measured using the official MATLAB code from the DLPan-Toolbox.
The source codes can be freely used for research and education only. Any commercial use should get formal permission from the principal investigator (Prof. Munchurl Kim, [email protected]).
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%).
This repository is built upon SkateFormer and U-Know-DiffPAN.