GithubHelp home page GithubHelp logo

azouaoui-cv / misicnet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from behnoodrasti/misicnet

0.0 0.0 0.0 18.91 MB

MiSiCNet: Minimum Simplex Convolutional Network for Deep Hyperspectral Unmixing

License: Apache License 2.0

Python 100.00%

misicnet's Introduction

MiSiCNet

MiSiCNet: Minimum Simplex Convolutional Network for Deep Hyperspectral Unmixing

If you use this code and/or our simulated datasets please do not forget cite the following paper: B. Rasti, B. Koirala, P. Scheunders and J. Chanussot, "MiSiCNet: Minimum Simplex Convolutional Network for Deep Hyperspectral Unmixing," in IEEE Transactions on Geoscience and Remote Sensing, doi: 10.1109/TGRS.2022.3146904.

MiSiCNet is a deep learning-based technique for blind hyperspectral unmixing. MiSiCNet copes with highly mixed scenarios and complex datasets with no pure pixels. Unlike all the deep learning-based unmixing methods proposed in the literature, the proposed convolutional encoder-decoder architecture incorporates spatial and geometrical information of the hyperspectral data, in addition to the spectral information. The spatial information is incorporated using convolutional filters and implicitly applying a prior on the abundances. The geometrical information is exploited by incorporating a minimum simplex volume penalty term in the loss function for the endmember extraction. This term is beneficial when there are no pure material pixels in the data, which is often the case in real-world applications. We generated simulated datasets, where we considered two different no-pure pixel scenarios. There are no pure pixels in the first scenario but at least two pixels on each facet of the data simplex (i.e., mixtures of 2 pure materials). The second scenario is a complex case with no pure pixels and only one pixel on each facet of the data simplex.

We provided all the datasets and the ground references used in the manuscript in HS folder except the WDC dataset which you can download here https://www.dropbox.com/s/tj65r3c027nbpth/Y_clean.mat?dl=0

To run the code, change the path to the correct directory. You need to install the dependencies, i. e., torch, numpy, and matplotlib (for plotting), scipy, tqdm (for simulated datasets). You need to select the value of lambda (we use 100 for real datasets but for your dataset might be diiferent) and rmax (the number of endmembers). Here are the results of training over iterations. The gifs show how the endmembers and abundances converge over the iterations for a highly mixed scenario and a noisy simulated dataset (20 dB). Here, we also show the ground truth endmembers (left) for comparing with the estimated one visually.

To speed up the processing time you can make the PLOT flag False or set show_every=1000.

misicnet's People

Contributors

behnoodrasti avatar

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.