Endmember-Guided Unmixing Network (EGU-Net): A General Deep Learning Framework for Self-Supervised Hyperspectral Unmixing
Danfeng Hong, Lianru Gao, Jing Yao, Naoto Yokoya, Jocelyn Chanussot, Uta Heiden, Bing Zhang
The code in this toolbox implements the "Endmember-Guided Unmixing Network (EGU-Net): A General Deep Learning Framework for Self-Supervised Hyperspectral Unmixing". More specifically, it is detailed as follows.
Please kindly cite the papers if this code is useful and helpful for your research.
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 Transactions on Neural Networks and Learning Systems, 2021, DOI: 10.1109/TNNLS.2021.3082289.
@article{hong2021endmember,
title = {Endmember-Guided Unmixing Network (EGU-Net): A General Deep Learning Framework for Self-Supervised Hyperspectral Unmixing},
author = {D. Hong and L. Gao and J. Yao and N. Yokoya and J. Chanussot and U. Heiden and B. Zhang},
journal = {IEEE Trans. Neural Netw. Learn. Syst.},
year = {2021},
note = {DOI: 10.1109/TNNLS.2021.3082289},
publisher = {IEEE}
}
The data were generated by Matlab R2016a or higher versions, and the codes of various networks were tested in Tensorflow 1.14 version in Python 3.7 on Windows 10 machines.
This toolbox consists of two self-supervised unmixing network architectures, i.e., pixel-wise EGU-Net using fully-connected networks (EGU-Net-pw), spatial-spectral EGU-Net using convolutional neural networks (EGU-Net-ss). For more details, please refer to the paper.
The used data (named TNNLS_Data) for the network input, including the original hyperspectral image, the extracted endmembers (spectral bundles), and the corresponding pseudo abundances, can be downloaded from
Google Drive: https://drive.google.com/file/d/167bWkNbqYd4ZT7isDcYX0HCYesak_d4t/view?usp=sharing
Baiduyun: https://pan.baidu.com/s/17ucmeLihLWv9t8-gtW74DQ (access code: ulvh).
PS: the endmembers (spectral bundles) can be extracted from the original hyperspectral image using the provided Pseudo_endmembers_generation.m function.
More specifically, for using the proposed network, you first need to download the data from the given link and copy them to "TNNLS_Data". If you wanna run the codes in your own data, you need to first extract the endmembers using the provided Pseudo_endmembers_generation.m function and meanwhile generate the corresponding abundances. Then, you can further copy and use them in your proposed networks.
If you encounter bugs while using this code, please do not hesitate to contact us.
Copyright (C) 2021 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.
Danfeng Hong: hongdanfeng1989@gmail.com
Danfeng Hong is with the Univ. Grenoble Alpes, CNRS, Grenoble INP, GIPSA-lab, 38000 Grenoble, France.
with the Remote Sensing Technology Institute (IMF), German Aerospace Center (DLR), 82234 Wessling, Germany.