Hyperspectral Unmixing via Dual Attention Convolutional Neural Networks
Graduation Thesis of Henan Polytechnic University.
In this article, we design an end-to-end hyperspectral unmixing method based on dual attention convolutional neural network (DACN), which adds two types of attention modules on the basis of feature extraction by CNN, and models the semantic information on spectral-spatial dimensions to adaptively fuse local and global features. Furthermore, Layer normalization and Maxpooling are used on DACN to avoid over fitting. The evaluation of the complete performance is carried out on two hyperspectral datasets: Jasper Ridge and Urban. Compared with that of the existing method, our method can extract spectral-spatial feature information more effectively, and the precision is improved significantly.
- Python 3.8
- TensorFlow 2.3.0
Recommend use conda create a virtual environment and to install dependencies using:
pip install -r requirements.txt
After setting the parameters in config/config.json
, enter the following command in the terminal:
python run.py
More Details:
Use python run.py -h
to get more parameters setting details.
We provide two processed datasets: Jasper Ridge(jasper), Urban(urban) in datasets.
-
data.npy: hyperspectral data file.
-
data_gt.npy: ground truth file.
-
data_m.npy: endmembers file.
Fig 2. training loss of the Jasper Ridge datasets by different methods. | Fig 3. training loss of the Urban datasets by different methods. |
If you find DACN useful in your research, please consider citing.
Code has been tested under:
- Windows 10 with 32GB memory, a RTX2060 6G GPU and AMD R7-4800H CPU.