[GIS] Image classification using google satellite images

cdigital image processinggoogle earthgoogle mapsremote sensing

Currently our expert user classifies locations by viewing the Google earth satellite image of a location. They consider circular areas of a 5km radius at a set zoom level. They evaluate the image for density of buildings or trees in within the circle and assign the location a classification. We get data in the form:

location         | Classification
(lat-long)       |
----------------------------------
123.123, 12.34   | B
122.123, 12.34   | A
121.123, 12.34   | C
120.123, 12.34   | A
119.123, 12.34   | A

I want to use this as training data to build a system that can automatically classify a location based on the satellite image.

To train the system, I would need to extract relevant parameters from the satellite images. I guess the image parameters would need to be rotation independent. Possible parameters:

  • total intensity for RGB values,
  • histogram
  • count of edges
  • ??

I plan on using C# and available AI & image processing libraries (e.g. opencv, encog, AForge) to do implement the training and classification stages.

Some of the image processing tutorials concentrate on object recognition but that's not really what I'm after (I think). It's more about grouping the images into different categories based on more general properties of the image.

Can anyone advise on a) the feasibility of this plan and b) what parameters I should be extracting from the images?

Thanks

Best Answer

The first thing you will want to do is look at the Google Terms of Use and Licensing. Google is very particular on how their data and software can be used. I would look at this first as it may be a show-stopper.

The second thing I would consider is that the imagery in Google isn`t raw imagery; they are chips or tiles of data saved in a web tiling format. Why does this matter? When you are classifying imagery in an automated way, by looking at the pixel values etc. you are reading the DN (digital number) of each pixel on each band. The image tiles made for web maps, such as Google, are compressed images, meaning the DN values have been changed and do not have the raw DN value stored. There are peer-reviewed papers that discuss the validity of using non-raw imagery for classification purposes.

Thirdly, the data on Google is RGB, meaning the imagery represents data from the visual spectrum of the electro-magnetic spectrum. Unfortunately this part of the spectrum is difficult to get accurate classifications from. While it is possible, it may introduce more issues than if you were to use raw data from a satellite or aerial photography source.

Related Question