• Stars
    star
    231
  • Rank 173,434 (Top 4 %)
  • Language
    Python
  • Created over 4 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Danfeng Hong, Lianru Gao, Jing Yao, Bing Zhang, Antonio Plaza, Jocelyn Chanussot. Graph Convolutional Networks for Hyperspectral Image Classification, IEEE Trans. Geosci. Remote Sens., 2021, 59(7): 5966-5978.

Graph Convolutional Networks for Hyperspectral Image Classification

Danfeng Hong, Lianru Gao, Jing Yao, Bing Zhang, Antonio Plaza, Jocelyn Chanussot

The code in this toolbox implements the "Graph Convolutional Networks for Hyperspectral Image Classification". More specifically, it is detailed as follow.

alt text

Citation

Please kindly cite the papers if this code is useful and helpful for your research.

D. Hong, L. Gao, J. Yao, B. Zhang, A. Plaza, J. Chanussot. Graph Convolutional Networks for Hyperspectral Image Classification, IEEE Trans. Geosci. Remote Sens., 2021, 59(7): 5966-5978.

 @article{hong2021graph,
  title     = {Graph Convolutional Networks for Hyperspectral Image Classification},
  author    = {D. Hong and L. Gao and J. Yao and B. Zhang and A. Plaza and J. Chanussot},
  journal   = {IEEE Trans. Geosci. Remote Sens.}, 
  volume    = {59},
  number    = {7},
  pages     = {5966--5978},
  year      = {2021},
  publisher = {IEEE}
 }

System-specific notes

The data were generated by Matlab R2016a or higher versions, and the codes of various networks were tested in Tensorflow 1.14 version (a little bit different from 2.0 version in some functions) in Python 3.7 on Windows 10 machines.

How to use it?

Here an example experiment is given by using Indian Pine data. Directly run .py functions with different networks to reproduce the results on the Indian Pine data, which exists in the aforementioned paper. Please note that we fixed the randomness of the parameter initialization to reproduce the unchanged results.

This toolbox consists of eight hyperspectral classification networks as follows

1DCNN: one-dimensional convolutional neural network
2DCNN: two-dimensional convolutional neural network
3DCNN๏ผšthree-dimensional convolutional neural network, which can be found from the paper (Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks, Chen et al., TGRS 2016)
GCN: graph convolutional network
miniGCN: mini-batch GCN
FuNet-A: fusion networks with additive fusion
FuNet-M: fusion networks with element-wise multiplicative fusion
FuNet-C: fusion networks with concatenation fusion

If you want to run the code in your own data, you have to

first of all, use the matlab functions in the folder of DataGenerate_Funciton to prepare the network input data;
next, change the save route or directly copy the generated data into the folder of HSI_CNN or HSI_GCN;
finally, run the .py networks.

Moreover, we provide the fucntion of draw_ClassificaitonMap.m to draw the classification maps with the given colormap function, i.e., giveColorCM_HH.m.

If you encounter the bugs while using this code, please do not hesitate to contact us.

โ— The variable in X_test.mat was converted to single-precision for efficient use of memory, which may cause slight admissible perturbation on actual results. Due to its large size, you may need to manually download X_test.mat to your local in the folder under path IEEE_TGRS_GCN/HSI_CNN/ by the given the links of google drive or baiduyun as follows

Google drive: https://drive.google.com/file/d/1JonHPynVZWCQ9EvZA-oXiFEPU-giIaYt/view?usp=sharing

Baiduyun: https://pan.baidu.com/s/1XRcKsckcYTqnD_zjOvWHoQ (access code: mrdf)

We also provide the fixed training and testing images for Pavia University, i.e., TRpaviaU.mat and TEpaviaU.mat.

โ— When you use the large-scale data (e.g., testing samples) for generating the graph, if out-of-memory (just in case you do not have a super PC), you can split the testing samples into several groups and handle them separately.

Licensing

Copyright (C) 2020 Danfeng Hong

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program.

Contact Information:

Danfeng Hong: [email protected]
Danfeng Hong is with the Univ. Grenoble Alpes, CNRS, Grenoble INP, GIPSA-lab, 38000 Grenoble, France.

More Repositories

1

IEEE_TGRS_SpectralFormer

Danfeng Hong, Zhu Han, Jing Yao, Lianru Gao, Bing Zhang, Antonio Plaza, Jocelyn Chanussot. Spectralformer: Rethinking hyperspectral image classification with transformers, IEEE Transactions on Geoscience and Remote Sensing (TGRS), 2021
Python
213
star
2

IEEE_TPAMI_SpectralGPT

Hong, D., Zhang, B., Li, X., Li, Y., Li, C., Yao, J., Yokoya, N., Li, H., Ghamisi, P., Jia, X., Plaza, A. and Gamba, P., Benediktsson, J., Chanussot, J. (2024). SpectralGPT: Spectral remote sensing foundation model. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2024. DOI:10.1109/TPAMI.2024.3362475.
Python
160
star
3

IEEE_TIP_UIU-Net

Xin Wu, Danfeng Hong, Jocelyn Chanussot. UIU-Net: U-Net in U-Net for Infrared Small Object Detection, IEEE Trans. Image. Process., 2022, 32: 364-376.
Python
129
star
4

IEEE_TGRS_MDL-RS

Danfeng Hong, Lianru Gao, Naoto Yokoya, Jing Yao, Jocelyn Chanussot, Qian Du, Bing Zhang. More Diverse Means Better: Multimodal Deep Learning Meets Remote Sensing Imagery Classification, IEEE TGRS, 2021, 59(5): 4340-4354.
Python
101
star
5

ISPRS_S2FL

Danfeng Hong, JIngliang Hu, Jing Yao, Jocelyn Chanussot, Xiao Xiang Zhu. Multimodal Remote Sensing Benchmark Datasets for Land Cover Classification with A Shared and Specific Feature Learning Model, ISPRS JP&RS, 2021.
MATLAB
97
star
6

ECCV2020_CUCaNet

Cross-Attention in Coupled Unmixing Nets for Unsupervised Hyperspectral Super-Resolution, ECCV, 2020. (PyTorch)
Python
90
star
7

IEEE_TNNLS_EGU-Net

Danfeng Hong, Lianru Gao, Jing Yao, Naoto Yokoya, Jocelyn Chanussot, Uta Heiden, Bing Zhang. Endmember-Guided Unmixing Network (EGU-Net): A General Deep Learning Framework for Self-Supervised Hyperspectral Unmixing, IEEE TNNLS, 2021.
Python
55
star
8

SpectralMamba

Yao, Jing, Danfeng Hong, Chenyu Li, and Jocelyn Chanussot. "SpectralMamba: Efficient Mamba for Hyperspectral Image Classification." arXiv preprint arXiv:2404.08489, 2024.
51
star
9

RSE_Cross-city

Danfeng Hong, Bing Zhang, Hao Li, Yuxuan Li, Jing Yao, Chenyu Li, Martin Werner, Jocelyn Chanussot, Alexander Zipf, Xiao Xiang Zhu. Cross-City Matters: A Multimodal Remote Sensing Benchmark Dataset for Cross-City Semantic Segmentation using High-Resolution Domain Adapation Networks, Remote Sensing of Enviroment, 2023.
Python
46
star
10

IEEE_GRSL_EndNet

Danfeng Hong, Lianru Gao, Renlong Hang, Bing Zhang, Jocelyn Chanussot. Deep Encoder-Decoder Networks for Classification of Hyperspectral and LiDAR Data, IEEE GRSL, 2020.
Python
45
star
11

IEEE_TGRS_CCR-Net

Xin Wu, Danfeng Hong, Jocelyn Chanussot. Convolutional Neural Networks for Multimodal Remote Sensing Data Classification, IEEE Transactions on Geoscience and Remote Sensing, 2021.
Python
43
star
12

ISPRS_HD-Net

Yuxuan Li, Danfeng Hong, Chenyu Li, Jing Yao, Jocelyn Chanussot. HD-Net: High-resolution decoupled network for building footprint extraction via deeply supervised body and boundary decomposition, ISPRS Journal of Photogrammetry and Remote Sensing, 2024.
Python
23
star
13

IEEE_TGRS_J-SLoL

Lianru Gao, Danfeng Hong, Jing Yao, Bing Zhang, Paolo Gamba, Jocelyn Chanussot. Spectral Superresolution of Multispectral Imagery with Joint Sparse and Low-Rank Learning, IEEE TGRS, 2020.
MATLAB
20
star
14

IEEE_TGRS_SeCoDe

Matlab code of the TGRS paper entitled "Sparsity-Enhanced Convolutional Decomposition: A Novel Tensor-Based Paradigm for Blind Hyperspectral Unmixing".
MATLAB
18
star
15

Information_Fusion_CasFormer

Li, Chenyu, Bing Zhang, Danfeng Hong, Jun Zhou, Gemine Vivone, Shutao Li, and Jocelyn Chanussot. "CasFormer: Cascaded transformers for fusion-aware computational hyperspectral imaging." Information Fusion, 2024, 102408.
Python
16
star
16

Outcome-of-the-2023-IEEE-WHISPERS-C2Seg-Challenge

Python
16
star
17

ALMM_TIP

Danfeng Hong, Naoto Yokoya, Jocelyn Chanussot, Xiaoxiang Zhu. An Augmented Linear Mixing Model to Address Spectral Variability for Hyperspectral Unmixing, IEEE TIP, 2019.
MATLAB
13
star
18

ISPRS_LeMA

Danfeng Hong, Naoto Yokoya, Nan Ge, Jocelyn Chanussot, Xiaoxiang Zhu. Learnable Manifold Alignment (LeMA): A Semi-supervised Cross-modality Learning Framework for Land Cover and Land Use Classification, ISPRS JP&RS, 2019.
MATLAB
10
star
19

ECCV2018_J-Play

Danfeng Hong, Naoto Yokoya, Jian Xu, Xiaoxiang Zhu. Joint & Progressive Learning from High-Dimensional Data for Multi-Label Classification, ECCV, 2018.
MATLAB
9
star
20

IEEE_JSTSP_SULoRA

SULoRA: Danfeng Hong, Xiaoxiang Zhu. Subspace Unmixing with Low-Rank Attribute Embedding for Hyperspectral Data Analysis, IEEE JSTSP, 2018.
MATLAB
9
star
21

IEEE_JSTARS_RLML

Danfeng Hong, Naoto Yokoya, Xiaoxiang Zhu. Learning a Robust Local Manifold Representation for Hyperspectral Dimensionality Reduction, IEEE JSTARS, 2017.
MATLAB
7
star
22

IEEE_GRSL_LCSC

Danfeng Hong, Xin Wu, Lianru Gao, Bing Zhang, Jocelyn Chanussot. Learning Locality-Constrained Sparse Coding for Spectral Enhancement of Multispectral Imagery, IEEE GRSL, 2020.
7
star
23

IEEE_TGRS_LRR-Net

7
star
24

IEEE_TGRS_CoSpace

Danfeng Hong, Naoto Yokoya, Jocelyn Chanussot, Xiaoxiang Zhu. CoSpace: Common Subspace Learning From Hyperspectral-Multispectral Correspondences, IEEE TGRS, 2019.
MATLAB
6
star
25

IEEE_TGRS_IAPs

Danfeng Hong, Xin Wu, Pedram Ghamisi, Jocelyn Chanussot, Naoto Yokoya, Xiaoxiang Zhu. Invariant Attribute Profiles: A Spatial-Frequency Joint Feature Extractor for Hyperspectral Image Classification, IEEE TGRS, 2020, 58(6): 3791-3808.
C++
6
star