Coder Social home page Coder Social logo

meiqihu / unmixing_spectral_variability Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ricardoborsoi/unmixing_spectral_variability

0.0 0.0 0.0 118.09 MB

A complete toolbox for spectral unmixing with spectral variability

C++ 2.19% Python 0.54% C 2.46% MATLAB 94.35% M 0.46%

unmixing_spectral_variability's Introduction

This projects contain a Matlab spectral unmixing toolbox related to the paper

Borsoi, R.A., Imbiriba, T., Bermudez, J.C.M., Richard, C., Chanussot, J., Drumetz, L., Tourneret, J.Y., Zare, A. and Jutten, C.
Spectral Variability in Hyperspectral Data Unmixing: A Comprehensive Review.
IEEE Geoscience and Remote Sensing Magazine, 2021.

It contains a comparative evaluation of some spectral unmixing algorithms which consider endmember variability, using realistic synthetically generated data. See Section 6 of the reference above for further details.

Setup and running

Executing main.m or main_montecarlo.m on Matlab should generate the synthetic data, process it with the unmixing algorithms, and display the results. The main.m code runs a single realization and display the estimated endmembers and abundance maps,main_montecarlo.m runs a Monte Carlo simulation and only displays the average quantitative metrics.

Synthetic data generation

The algorithms are evaluated using synthetic endmember variability data, generated according to simplifications of some radiative transfer models. These were:

  • A simplification of Hapke's model, to generate soil endmembers according to different viewing angles
  • The PROSPECT-D model, to generate vegetation endmembers according to different biophysical parameters
  • A simplified atmospheric compensation model, to generate water endmembers according to different viewing angles

See Section 6-A of the reference above for further details.

Spectral unmixing methods

The unmixing algorithms are contained in the folder named "methods", and are easily interfaced with the main.m code using adaptor codes. The following algorithms are included:

  • FCLS (Fully Constrained Least Squares): Uses fixed endmembers (i.e., do not considers spectral variability)
  • MESMA (Multiple Endmember Spectral Mixture Analysis): Needs spectral libraries, perform an exhaustive search for the endmembers therein which best fit the image pixels
  • Sparse Unmixing with Fractional Norms: Needs spectral libraries, formulates unmixing as a sparse regression problem using a mixed norm regularization
  • ELMM (Extended Linear Mixing Model): Employs a parametric endmember model which assumes that the spectral variability is well represented as the linear scaling of reference spectral signatures
  • DeepGUn (Deep Generative Endmember Model): Employs a parametric endmember model represented as a neural network that is learned using pure pixels extracted from the observed image
  • RUSAL (Robust Unmixing): Addresses the effects of spectral variability by using an additive residual term in the Linear Mixing Model
  • NCM (Normal Compositional Model): Bayesian strategy, represents the endmembers as Gaussian random variables
  • BCM (Beta Compositional Model): Bayesian strategy, represents the endmembers as Beta random variables

For more details on these algorithms, see the full references, which are included below.

Library extraction

Spectral libraries containing different instances of endmember spectra are required by some of the unmixing algorithms to address spectral variability. They were extracted directly from the observed hyperspectral image using the procedure proposed in

Somers, B., Zortea, M., Plaza, A. and Asner, G.P.
Automated extraction of image-based endmember bundles for improved spectral unmixing.
IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 5(2), pp.396-408 (2012).

Contributors

Codes for many of the algorithms used in this toolbox have been generously made publicly available by the the authors of the original papers. These include:

  • Sparse Unmixing with Fractional Norms: Provided by Lucas Drumetz and collaborators, and can be found here
  • ELMM: Provided by Lucas Drumetz and collaborators, and can be found here
  • RUSAL: Provided by Abderrahim Halimi and collaborators, and can be found here
  • NCM: Provided by Olivier Eches and collaborators, and can be found here
  • BCM: Provided by Xiaoxiao Du and Alina Zare (see the section below for the full reference to this software package), and can be found here
  • Spectral libraries extraction: Codes for the extraction of spectral libraries from observed hyeprspectral images were provided by Lucas Drumetz and collaborators, in this software package
  • The Matlab codes simulating the PROSPECT-D vegetation variability model was provided by Jean-Baptiste Feret and collaborators, and can be found here

References

  1. FCLS:

    Heinz, D.C.
    Fully constrained least squares linear spectral mixture analysis method for material quantification in hyperspectral imagery.
    IEEE transactions on geoscience and remote sensing, 39(3), pp.529-545 (2001).

  2. MESMA:

    Roberts, D.A., Gardner, M., Church, R., Ustin, S., Scheer, G. and Green, R.O.
    Mapping chaparral in the Santa Monica Mountains using multiple endmember spectral mixture models.
    Remote sensing of environment, 65(3), pp.267-279 (1998).

  3. Sparse Unmixing with Fractional Norms:

    Drumetz, L., Meyer, T.R., Chanussot, J., Bertozzi, A.L. and Jutten, C.
    Hyperspectral image unmixing with endmember bundles and group sparsity inducing mixed norms.
    IEEE Transactions on Image Processing, 28(7), pp.3435-3450 (2019).

  4. ELMM:

    Drumetz, L., Veganzones, M.A., Henrot, S., Phlypo, R., Chanussot, J. and Jutten, C.
    Blind hyperspectral unmixing using an extended linear mixing model to address spectral variability. IEEE Transactions on Image Processing, 25(8), pp.3890-3905 (2016).

  5. DeepGUn:

    Borsoi, R.A., Imbiriba, T. and Bermudez, J.C.M.
    Deep generative endmember modeling: An application to unsupervised spectral unmixing.
    IEEE Transactions on Computational Imaging, 6, pp.374-384 (2019).

  6. RUSAL:

    Halimi, A., Bioucas-Dias, J.M., Dobigeon, N., Buller, G.S. and McLaughlin, S.
    Fast hyperspectral unmixing in presence of nonlinearity or mismodeling effects.
    IEEE Transactions on Computational Imaging, 3(2), pp.146-159 (2016).

  7. NCM:

    Eches, O., Dobigeon, N., Mailhes, C. and Tourneret, J.Y.
    Bayesian estimation of linear mixtures using the normal compositional model. Application to hyperspectral imagery.
    IEEE Transactions on Image Processing, 19(6), pp.1403-1413 (2010).

  8. BCM:

    Du, X., Zare, A., Gader, P. and Dranishnikov, D.
    Spatial and spectral unmixing using the beta compositional model.
    IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 7(6), pp.1994-2003 (2014).

    [Software] Du, X. and Zare, A.
    GatorSense/BetaCompositionalModel: Initial Release (Version v1.0).
    Zenodo. http://doi.org/10.5281/zenodo.2638288 (2019).

unmixing_spectral_variability's People

Contributors

ricardoborsoi 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.