Skip to content

Latest commit

 

History

History
57 lines (48 loc) · 2.75 KB

README.md

File metadata and controls

57 lines (48 loc) · 2.75 KB

HyperspecAE

This repository contains the pytorch implementation for the paper: Hyperspectral Unmixing Using a Neural Network Autoencoder (Palsson et al. 2018). As a POC, the dataloaders and parameters corresponding to experiments on the Samson dataset are presented.

Dependencies

  • PyTorch 1.8.0
  • Python 3.7.10

Quick Start

Data

The datasets used in the paper are publicly available and can be found here.
Download the Samson dataset from the above-mentioned source. Follow the directory tree given below:

|-- [root] HyperspecAE\
    |-- [DIR] data\
        |-- [DIR] Samson\
             |-- [DIR] Data_Matlab\
                 |-- samson_1.mat
             |-- [DIR] GroundTruth
                 |-- end3.mat
                 |-- end3_Abundances.fig
                 |-- end3_Materials.fig

Training

The shell script that trains the model (samson_train.sh) can be found in the run folder. You can simply alter the hyperparameters and other related model options in this script and run it on the terminal.
You can refer to opts.py to explore other command line arguments to customize model training.

Abundance Map and End-Member Extraction

The shell script that extracts the abundance maps and end-members (extract.sh) can be found in the run folder. Ensure that the charateristics of the model match exactly with the pre-trained version to be used for extraction.

Results

The following are the results of a deep autoencoder, Configuration Name: LReLU (see paper). You can experiment with other configurations by altering the command line arguments during model training.

Pre-trained Model

The pre-trained model for this configuration can be found here.

Abundance Maps

abundances Left: Tree, Middle: Water and Right: Rock.

Extracted Spectral Signature (End-Members)

end_members Left: Tree, Middle: Water and Right: Rock.

References

Original work by the authors

@article{palsson2018hyperspectral,
  title={Hyperspectral unmixing using a neural network autoencoder},
  author={Palsson, Burkni and Sigurdsson, Jakob and Sveinsson, Johannes R and Ulfarsson, Magnus O},
  journal={IEEE Access},
  volume={6},
  pages={25646--25656},
  year={2018},
  publisher={IEEE}
}