Graphics processing units revolutionize hyperspectral data processing

Advanced image-processing algorithms achieve improvements in performance of up to two orders of magnitude compared with current optimal implementations.
29 October 2009
Rusty Topping

Hyperspectral imagery (HSI)—images formed from visible and nonvisible bands in the electromagnetic spectrum—provides an innovative means of remote sensing. These images can contain hundreds of frequency bands, each with as much information as traditional visible-spectrum ones. This depth of data can be exploited for remote-sensing applications, such as mineral exploration, agriculture, bathymetry (underwater-depth mapping), and environmental studies.

HSI data sets present significant processing challenges. Some useful techniques can require very large numbers of calculations for each HSI vector (pixel). The high computational load of processing realistic data sets renders many promising approaches impractical. In addition, the ability to process data as it is collected is essential for a wide range of HSI applications. Processing optimizations on traditional computer architectures is well understood and operates within mathematically defined limits, which have essentially been reached. Providing significant reductions in processing time requires a different approach to the problem.


Figure 1. Hyperspectral data from a coastal marsh. (top) Nonlinear processing of the data set illustrates significantly more detail than (bottom) the linearly processed data. (Images courtesy of Bachmann et al.1)

Recent advances in graphics-processing-unit (GPU) technologies—those phenomenal video cards that make your computer-gaming experience so realistic—have placed supercomputer performance within everyone's budget. The current generation of video cards provides nearly a TeraFLOP (where FLOP is short for floating-point operations per second) of computational power on a single card (e.g., the NVIDIA GeForce GTX 295). In addition, card manufacturers provide software tools that allow us to use this hardware for more than gaming. Over the last two years, we have applied this new hardware to the HSI processing problem and achieved encouraging results. Along the way, we pushed parallel-algorithm development, learned that GPUs are not suitable for every problem, and rediscovered that there is no substitute for understanding when it comes to algorithm optimization.

Through an alliance with leading researchers in the field at the Remote Sensing Division of the Naval Research Laboratory (Washington, DC), we have gained access to algorithmic techniques that model the nonlinear aspects of HSI.1–3 Processing hyperspectral imagery using a nonlinear coordinate representation provides exciting insights into the data that remain hidden when using traditional techniques. These nonlinear algorithms have an exceptionally high computational load that makes them impractical for implementation on conventional computing architecture. However, they hold the promise of a very high payoff in terms of increased signal-to-noise ratio (SNR) and discrimination capabilities (see Figure 1).

In developing an optimized GPU-based solution, we began by understanding existing nonlinear HSI algorithms and, more importantly, the rationale behind them. We subsequently set about replicating the algorithms in a manner that could be efficiently implemented in a ‘single instruction, multiple data’ (SIMD) computing platform. This required recreating the processing steps from the ground up. The optimization approach for the GPU platform is counterintuitive, with most of the classical optimization tradeoffs (memory use for processing cycles, etc.) being reversed. Traditional implementations of common algorithms such as nearest-neighbor searches, shortest-path algorithms, and Fourier transforms do not run efficiently on the GPU, while SIMD-optimized versions are not readily available due to the recency of the platform. We developed the required new implementations of these algorithms to extract the desired hardware performance. Part of our work involved inventing an efficient K-nearest-neighbor algorithm that significantly outperforms published approaches. This algorithm is an adaptation of an efficient approach1 that was tuned specifically to the GPU architecture.

By recasting the algorithms to run efficiently on the GPU, we achieved processing accelerations of more than 58 times the speed of an optimized CPU-based approach with a single GPU card. The table shows the processing times on an Intel E8660 quad-core platform with and without GPU acceleration, using software independently optimized for each platform. The data file processed is representative of 10 minutes of HSI sensor collection.

Table 1. Processing times for central-processing-unit (CPU) and GPU implementations
PlatformIntel E8600 (quad core)E8600 with NVIDIA 280 GPU
Processing time (min)456.627.79

The CPU-based implementations required hours to process minutes worth of data. In contrast, the GPU-based approach can process the data in less time than it took to perform the collection, making our technique suitable for real-time data analysis and exploitation. Thus, techniques that are very computationally intensive can now be employed to yield better SNRs and discrimination without sacrificing time and usability.

The GPU implementation has surmounted the computational burden of creating nonlinear HSI data representations, moving the application from one that took several hours to enabling near-real-time processing and exploitation. We continue to work on additional performance enhancements involving multiple GPU architectures and frameworks, as well as accelerating other portions of the HSI processing chain, including data registration and correction (atmospheric, calibration, etc.). We are also developing advanced pattern-recognition and visualization techniques to exploit the data and realize the potential of the nonlinear HSI data representations.

This work is based on a Cooperative Research and Development Agreement with the Naval Research Laboratory (NCRADA-NRL-07-426).


Rusty Topping
Celestech Inc.
Phoenix, AZ

Rusty Topping is general manager and executive vice president. He directs Celestech's research and development in the areas of high-performance algorithm development, pattern recognition, predictive modeling, and communications applications for sensor and precision-timing applications. He holds Bachelor's and Master's degrees in computer science from Florida Tech.


PREMIUM CONTENT
Sign in to read the full article
Create a free SPIE account to get access to
premium articles and original research