Object Based Image Analysis on Google Earth Engine
One of the most common ways to perform a supervised classification of satellite images is using pixel classification. This type of classification has its advantages, such as low computational cost, being possible to perform it for large areas. However, some problems are common, such as the salt and pepper noise, where pixels of different classes are found scattered in the image. Another problem is the spectral similarity between pixels of different classes. One way to avoid this problem is to use the segmentation technique, where the image is segmented into regions that are defined as unique elements in the classification. Thus, through the statistics of that region, it’s possible to perform the classification. In this post we’ll perform a classification of high resolution satellite images using GEOBIA (Geographic Object Based Image Analysis) on Google Earth Engine.
Image Data
The satellite image to be classified is an image from the National Agriculture Imagery Program (NAIP), which contains the bands B (Blue), G (Green), R (Red) and N (Near Infrared).
The region of interest is in the City of Burlington on the border between the states of Iowa and Illinois (USA).
SNIC Segmentation
GEOBIA’s main step is image segmentation. An Image segmented in spectrally different regions will make the algorithm classifier well define the patterns of each class, performing a good classification.
For segmentation on Google Earth Engine, we will use the SNIC (Simple Non-Iterative Clustering) algorithm.
More About SNIC:
Paper:
Samples collection
The next step is to collect segments representing each class of land use and land cover. We divided our samples into 5 classes: Urban, Water, Agriculture, Forestry and Grass.
Feature Selection
After collecting samples, the characteristics for classification were selected. In addition to the mean of the spectral bands of the image, we also added the NDVI mean, the Gradient of directions, and some GLCM features, such as contrast, ASM and entropy.
More about GLCM:
we also added some segment properties like area, height and width.
Classification
Finally, we perform the segment classification in the pre-defined classes. As the classifier in Google Earth Engine is standardized by pixel, we define the same values of the features selected before in each pixel in a segment.
Thus we use the training of the Random Forest algorithm with the selected segments and the prediction of the complete image, resulting in our mapping of land use and land cover.
Conclusion
Although the segmentation-based classification methods generate good results, the use of pixel-based ones is recommended for large areas or for low resolutions, due to the high computational cost of segment-based when using several characteristics for the classification. Thank you!
Code Link on GEE: