Uncertainty-aware Graph-based Hyperspectral Image Classification
March 13, 2024 · View on GitHub
This repository presents the experiments of the paper:
Uncertainty-aware Graph-based Hyperspectral Image Classification
Linlin Yu, Yifei Lou, Feng Chen
International Conference on Learning Representations (ICLR), 2024.
[paper]
Requirements
To install requirements:
conda env create -f environment.yaml
conda activate uhsic
Data Preprocessing & Running Experiments
The experiments include three datasets: PaviaU, KSC and Houston2013.
- Download the raw files including the feature and classification ground-truth matrix and save them under the folder
raw_data/{dataset}/; - Run an unsupervised unmixing model and get the endmember matrix as the prior knowledge for the proposed architecture; In our paper, we use the '[Blind Hyperspectral Unmixing Based on Graph Total Variation Regularization (https://ieeexplore.ieee.org/document/9200736)]' to generate the predicted abundance matrix and endmember matrix, and note that we need to run a permutation algorithm to match the endmember matrix with the material label (we provide sample code in the
data/find_perm). The generated matrix should be saved under the folderdata/{dataset}/unmxing/; Then we need to - Run
data/data_preprocess.py, which will generate a folder underdata/{dataset}/rawfor required matrices; - For 'GKDE' based models, first run
alpha_prior_generation.pyandprobability_teacher_generation.py, which will generate and save GKDE teacher and probability teacher tensors under folderteacher; - For experiments related to misclassification detection, please execute the Python files that end with
clearngraph. For out-of-distribution (OOD) detection experiments, run the Python files ending withoodgraph. For experiments involving softmax graph convolutional networks (GCN), execute the Python files that begin withclassification. For experiments on enhanced GCN (EGCN) models based on Gaussian Kernel Density Estimation (GKDE), run Python files starting withGKDE. Lastly, for experiments related to 'GPN' based models, please run Python files beginning withGPN.
Cite
Please cite our paper if you use the model or this code in your own work:
@inproceedings{
yu2024uncertaintyaware,
title={Uncertainty-aware Graph-based Hyperspectral Image Classification},
author={Linlin Yu and Yifei Lou and Feng Chen},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
url={https://openreview.net/forum?id=8dN7gApKm3}
}