Image Processing and Machine Learning for Hyperspectral Unmixing: An Overview and the HySUPP Python Package
Behnood Rasti, Alexandre Zouaoui, Julien Mairal, Jocelyn Chanussot
TL;DR
The paper addresses hyperspectral unmixing by reviewing linear models and their variants, and by introducing HySUPP, a first open-source Python package that unifies supervised, semi-supervised, and blind approaches. It categorizes methods into three knowledge regimes, compares them on synthetic and real data (including Cuprite), and provides extensive benchmarking, reproducibility, and extensibility features. Key contributions include a technical overview, a comprehensive, extensible Python toolkit, and practical guidance on method choice under spectral variability and endmember uncertainty. The work advances open-science in hyperspectral unmixing by offering reproducible experiments, a broad method suite, and practical recommendations for researchers and practitioners. Overall, HySUPP and the accompanying analysis help users select appropriate linear or near-linear unmixing strategies and illuminate remaining challenges in robustness, scalability, and endmember variability handling.
Abstract
Spectral pixels are often a mixture of the pure spectra of the materials, called endmembers, due to the low spatial resolution of hyperspectral sensors, double scattering, and intimate mixtures of materials in the scenes. Unmixing estimates the fractional abundances of the endmembers within the pixel. Depending on the prior knowledge of endmembers, linear unmixing can be divided into three main groups: supervised, semi-supervised, and unsupervised (blind) linear unmixing. Advances in Image processing and machine learning substantially affected unmixing. This paper provides an overview of advanced and conventional unmixing approaches. Additionally, we draw a critical comparison between advanced and conventional techniques from the three categories. We compare the performance of the unmixing techniques on three simulated and two real datasets. The experimental results reveal the advantages of different unmixing categories for different unmixing scenarios. Moreover, we provide an open-source Python-based package available at https://github.com/BehnoodRasti/HySUPP to reproduce the results.
