Giter Site home page Giter Site logo

dv-fenix / hyperspecae Goto Github PK

View Code? Open in Web Editor NEW
38.0 2.0 6.0 290 KB

Code for the experiments on the Samson Dataset as presented in the paper: Hyperspectral Unmixing Using a Neural Network Autoencoder (Palsson et al. 2018)

License: MIT License

Python 97.74% Shell 2.26%
hyperspectral-unmixing pytorch-implementation autoencoder spectral-angle-mapper

hyperspecae's Introduction

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}
}

hyperspecae's People

Contributors

dv-fenix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

hyperspecae's Issues

What is 'opt' in the train.py?

Code is excellent. I just want to know what is 'opt' in train.py

what argument should I pass when I am calling train module.

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.