Web mapping services and programs such as Google Earth
have made all of us users of satellite images that not very long ago were available mainly to government intelligence agencies. There is a great deal more to these images than meets the eye, and extracting that information turns out to be a major computational challenge. But like most problems involving graphical data, the processing of remote sensing data such as satellite imagery is ideally suited for parallel processing and can be accomplished at relatively low cost by doing much of the computation on graphics processing units.
Adobe Photoshop is an example of an image enhancement tool that many computer users are familiar with (and one that uses GPU processing when available to speed its often intense computations.) Photoshop, however, is primarily intended for photographers and other creative artists, while researchers generally need specialized, and often automated tools to extract the information they need.
Satellite view of NVIDIA's Santa Clara, CA, campus in Google Earth
Intelligence work remains one of the important uses of image enhancement. The unmanned Predator unmanned aircrafts over Afghanistan and Iraq are flown by remote control from Nellis Air Force Base in Nevada, and depend on real time processing of images from on board cameras, satellites, and other sources to identify and verify targets. The capabilities of the U.S. National Reconnaissance Office's Keyhole image intelligence satellites is classified, but it is generally believed that they are capable, with enhancement, of resolving features as small as a few centimeters (the U.S. government generally limits civilian satellite imagery to a resolution of one-half meter.)
Scientific research is also a huge user of image processing and climate change is an area of particular concern. Tracking the shrinking of polar ice caps and the extent of sea ice from space is relatively easy, but researchers are often interested in much more subtle alterations, such as the changes in species of trees and other plants that occurs with variation in temperature and rainfall. This requires much better resolution than spotting an iceberg. The mathematical techniques used to process these remote sensing images are computationally intensive and can benefit greatly from GPU computing techniques.
A number of image enhancement techniques can make the information hidden in satellite photos usable. The laws of physics limit how small an object can be resolved depending on the size of the lens or mirror and the distance to the target. But image processing can do better by bringing out features that the optics alone leave fuzzy. One way to improve on that is through edge detection, a mathematical technique that can be used to sharpen out-of-focus images by figuring out where sharp edges should be.
False color imaging is another technique that can be used to discover hidden data in images. Sometimes it is used to highlight features, such as differing types of vegetation, that would be hard to spot in a true color image, where all green plants, for example, look pretty much alike. A common use of false color is to capture data that would otherwise be invisible because it is captured outside the spectrum of visible light, usually in the infrared or ultraviolet.
is a physicist at the Jülich Research Center in southwestern Germany, where he does research in remote sensing and image processing, including geometric and radiometric corrections and map projections of satellite data. He has become a convert to GPU processing to get the maximum computational bang for the buck. (For the technically inclined, he mostly uses the IDL image processing language and ENVI software from ITT Visual Information Systems
and it the author of Image Analysis, Classification, and Change Detection in Remote Sensing: With Algorithms for ENVI/IDL
. He's also been experimenting with Tech-X's GPUlib
as another way to run his computations on a NVIDIA GPU using CUDA.
ENVI used to process false color image of nonlinear clustering (Mort Canty)
'Recently I have been working with nonlinear image transformations, which are quite computationally intensive,' he says. 'GPULib is giving me a tenfold speedup on an old NVIDIA GeForce graphics card (which I hope to replace soon with a Fermi GPU).' He gives the main credit to CUDA's extremely fast execution of matrix operations: 'For someone with limited time or programming abilities, a high-level package like GPULib can open a door to parallel processing which might otherwise have remained closed.'
With satellite data now available either free (from Google and Microsoft) or in specialized forms at low cost, image enhancement software proliferating, and GPUs providing massive processing power, the use of image enhancement to extract information from remote sensing data is likely to explode.
This post is an entry in The World Isn't Flat, It's Parallel series running on nTersect, focused on the GPU's importance and the future of parallel processing. Today, GPUs can operate faster and more cost-efficiently than CPUs in a range of increasingly important sectors, such as medicine, national security, natural resources and emergency services. For more information on GPUs and their applications, keep your eyes on The World Isn't Flat, It's Parallel.