Real-time implementation of a full hyperspectral unmixing chain on graphics processing units
Satellite Data Compression, Communications, and Processing VII
Hyperspectral unmixing is a very important task for remotely sensed hyperspectral data exploitation. It amounts at estimating the abundance of pure spectral signatures (called endmembers) in each mixed pixel of the original hyperspectral image, where mixed pixels arise due to insufficient spatial resolution and other phenomena. The full spectral unmixing chain comprises three main steps: 1) dimensionality reduction, in which the original hyperspectral data is brought to an adequate subspace; 2)
... equate subspace; 2) endmember extraction, in which endmembers are automatically identified from the image data; and 3) abundance estimation, in which the fractional coverage of each endmember is estimated for each pixel of the hyperspectral scene. The hyperspectral unmixing process can be time-consuming, particularly for high-dimensional hyperspectral images. Parallel computing architectures have offered an attractive solution for fast unmixing of hyperspectral data sets, but these systems are expensive and difficult to adapt to on-board data processing scenarios, in which low-weight and low-power integrated components are essential to reduce mission payload and obtain analysis results in (near) real-time. In this paper, we develop a real-time implementation of a full unmixing chain for hyperspectral data on graphics processing units (GPUs). These hardware accelerators can bridge the gap towards on-board processing of this kind of data. The considered chain comprises principal component analysis (PCA) for dimensionality estimation, extraction of endmembers using the N-FINDR algorithm, and unconstrained linear spectral unmixing. The proposed GPU implementation is shown to perform strictly in real-time for hyperspectral data sets collected by the NASA's Airborne Visible Infra-Red Imaging Spectrometer (AVIRIS).