Hyperspectral image reconstruction from random projections on GPU
Hyperspectral data compression and dimensionality reduction has received considerable interest in recent years due to the high spectral resolution of these images. Contrarily to the conventional dimensionality reduction schemes, the spectral compressive acquisition method (SpeCA) performs dimensionality reduction based on random projections. The SpeCA methodology has applications in Hyperspectral Compressive Sensing and also in dimensionality reduction. Due to the extremely large volumes of data collected by imaging spectrometers, high performance computing architectures are needed for data compression of high dimensional hyperspectral data under real-time constrained applications. In this paper a parallel implementation of SpeCA on Graphics Processing Units (GPUs) using the compute unified device architecture (CUDA) is proposed. The proposed implementation is performed in a pixel-by-pixel fashion using coalesced accesses to memory and exploiting shared memory to store temporary data. Furthermore, the kernels have been optimized to minimize the threads divergence, therefore, achieving high GPU occupancy. The experimental results obtained for simulated and real hyperspectral data sets reveal speedups up to 21 times, which demonstrates that the GPU implementation can significantly accelerate the methods execution over big datasets while maintaining the methods accuracy.