Abstract

Remote sensing data has known an explosive growth in the past decade. This has led to the need for efficient dimensionality reduction techniques, mathematical procedures that transform the high-dimensional data into a meaningful, reduced representation. Principal Component Analysis (PCA) is a well-known dimensionality reduction technique used in the field of hyperspectral satellite images. However, PCA suffers from high computational costs and increased complexity, an issue that led to elaborating PCA adaptations capable of running on multi-core computing architectures. This paper proposes a parallel implementation of the geometrical PCA approximation (gaPCA) algorithm. Three parallel implementations are studied: two on multi-core CPUs and a NVIDIA Graphics Processing Units (GPU) CUDA accelerated implementation. Our results show significant speedups of the parallel implementations when applied on hyperspectral image datasets. Our results show that on the Intel Core i5 CPU, Python multi-core implementation is up to 2.01$\times$ faster than its Matlab equivalent. Our GPU PyCUDA implementation is considerably faster than both our Python multi-core CPU implementations: up to 1.76$\times$ faster than Intel Core i5-6200U and up to 5.72$\times$ faster than the NVIDIA Jetson Nano quad-core ARM A53 CPU. We performed data analysis on the output data for the three methods and the maxim relative error was less than 0.001%.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call