Machine Learning

Land Classification with Supervised Machine Learning


Teaching: 25 min
Exercises: 0 min
  • How can I create a simple image pixel classifier using python?

  • Gain insight into setting up a geospatial machine learning model, understand differences in imagery types, create testing and training data for supervised modelling, evalaute performance against multiple model types, gain knowledge of streaming pixels from the cloud.

Perform Land Classification using Supervised Machine Learning


In this tutorial, you will work with nadir-looking imagery to run supervised machine learning models to perform land classification. From this exercise, you will:


Land classification is the technique of labelling each individual pixel in an image with its relevant class (e.g. water, road, tree, etc). In remote sensing, there is a long history of this process, largely driven by manual labor. With the rise of increased acquisition from digital sensor platforms, at high resolution, manual classification is unscalable and can have inherent human biases. Machine learning is ideal for land classification in its ability to scale the pixel-wise labelling exponentially. A Support Vector Machine implementation is very straightforward, and is discussed here. However, for large-scale processing workflows, Convolutional Neural Networks (CNN) have become ideal.


Figure 1. RGB overhead imagery (left) is used in combination with truth data to perform a pixel-size land classification (far right), where each pixel is translated from an RGB value to a label class. In this case, the classes are pool (cyan), impervious surface (grey), tree/shrub (dark green), irrigated lawn (light green), shadows (dark grey), natural/non-irrirgated lawn (brown). This land classification map was produced using a deep learning Convolutional Neural Network.

For this tutorial, you will be using this jupyter notebook.

Key Points