I was introduced to machine learning and remote sensing recently. My task was to classify the satellite images into vegetation and non vegetation. We were introduced to two approaches.

  1. Supervised learning - where we had wkt or geojson files made from ground truth. These files had polygons which were used to train the model. satellite images from WorldView-3 Satellite Sensor
  2. Unsupervised classification where the pixels were classified based on NDVI values using clustering models such as K-means, Fuzzy C-means clustering. satellite images from landsat 8

While all of these things were virtually spoon fed and I took the code samples from here and there. I still fail to understand which method is used where, specifically with context of crop forecasting.

What is the advantage of collecting the ground truth, when we can use the unsupervised learning to classify the images?

If it is about accuracy, then are there any specific examples as to how ground truth helps in accuracy in crop forecasting?

4 Answers 4


Both supervised and unsupervised classification methods require some degree of knowledge of the area of interest. Most important are 1) the quality of the spectral data in which the classification algorithm is to be used and 2) the level of class detail required.

Unsupervised classification algorithms require the analyst to assign labels and combine classes after the fact into useful information classes (e.g. forest, agricultural, water, etc). In many cases, this after the fact assignment of spectral clusters is difficult or not possible because these clusters contain assemblages of mixed land cover types. Generally speaking, unsupervised classification is useful for quickly assigning labels to uncomplicated, broad land cover classes such as water, vegetation/non-vegetation, forested/non-forested, etc). Furthermore, unsupervised classification may reduce analyst bias.

Supervised classification allows the analyst to fine tune the information classes--often to much finer subcategories, such as species level classes. Training data is collected in the field with high accuracy GPS devices or expertly selected on the computer. Consider for example if you wished to classify percent crop damage in corn fields. A supervised approach would be highly suited to this type of problem because you could directly measure the percent damage in the field and use these data to train the classification algorithm. Using training data on the result of an unsupervised classification would likely yield more error because the spectral classes would contain more mixed pixels than the supervised approach. Similarly, collecting in the field crop species training data is preferable to expertly selecting pixels on screen as it is often very difficult to determine which crops are growing visually.

I highly recommend reviewing research from Dr. Russell Congalton, who has produced many landmark accuracy assessment papers pertaining to remote sensing classification approaches. Here are some references to get you started:

  1. Congalton, R. G. (1991). A review of assessing the accuracy of classifications of remotely sensed data. Remote sensing of environment, 37(1), 35-46.
  2. Congalton, R. G., & Green, K. (2008). Assessing the accuracy of remotely sensed data: principles and practices. CRC press.
  • 1
    Thank you so much, This is exactly what I was looking for. Commented Jan 31, 2017 at 12:31
  • 1
    The papers suggested really helped me increase my knowledge. My next question is a bit out of context, but I believe you can answer this. Do different types of vegetation need different supervised algos? For example if two crops are growing together, then will I need a specific set of supervised modeling techniques? @Aaron is there any repository of previously tried algos which can throw some light on this? Commented Jan 31, 2017 at 12:39
  • 2
    @sinhavartika This is a great follow-up question that I would recommend asking as a separate question. The short answer is that the quality of the data is more important than the algorithm. For example, World View 3 imagery with 16 bands of spectral information will be able to discriminate crops to species much better than, for example, 4 band NAIP imagery.
    – Aaron
    Commented Jan 31, 2017 at 13:08
  • 1
    thanks for the direction. I will read more about it. Get some clarity and then probably, ask a question. Commented Feb 3, 2017 at 4:41

The use of either supervised or unsupervised classification algorithms is ultimately driven by the nature of what you are trying to achieve. Sometimes the data you have, or the result you wish to attain, will dictate what algorithm is the most efficient to use. This will be a result of a trade-off between time, accuracy and complexity/detail of your expected result.

Ultimately, supervised classifications generally attain greater accuracies because they are trained on 'user knowledge'. For example, if you were to classify imagery of your home area, you would likely know some information on the land cover classes, compared with a place half the world away where you have no prior knowledge. This knowledge could be used to gather accurate training data to input into your algorithm. In comparison, unsupervised algorithms have to define their own classes based on the number that you tell it you want. This can cause error if there are more classes in the scene than you have asked it to classify - in this instance you will find that classes have merged. Unsupervised algorithms will also seek to 'find' the classes that are most different, which may not accurately differentiate subtly different classes that you could train within a supervised algorithm.

However, supervised algorithms require the collection of training data and are therefore more time-consuming to construct. Subsequently, they will only be as accurate as the training data that you use. If your training data is not representative of your land cover then the classification will not perform well. There are also caveats regarding the underlying assumptions of the algorithm. For instance, a maximum-likelihood algorithm assumes that your training class data is normally distributed whilst a Random Forests or KNN algorithm does not.

The classification of vegetation and non-vegetation is a relatively straightforward task. In this instance, depending on the input data you have, you are only looking to achieve two classes from data that will be very spectrally different. In this instance, an unsupervised classification will likely perform as well as a supervised algorithm, whilst doing so in a much shorter time. However, as the complexity of the scene increases the accuracy of the classification will likely decrease with continued use of an unsupervised algorithm. Imagine you now have to classify a scene not only by land cover (i.e. forest, grass, soil) but also by species - this is a lot more complex. How do you know the total number of classes needed? Which classes are only subtly different?

The choice of what algorithm to use is therefore dependent on your goal. If for example, you wanted to create a vegetation/non-vegetation map as an input layer into a larger land cover classification, then an unsupervised algorithm could be an accurate method of quickly achieving this, before you implement a more time-consuming supervised algorithm to classify specific land cover classes/species.

  • 1
    I get the point where you say that supervised learning should be more useful where I am trying to model with respect to a very specific band of spectrum, ignoring all other bands. For example I just want to identify the fields for potato, tomato, dates and coconut. Here supervised learning will make more sense. Thank you for taking the time to elaborate. Commented Jan 31, 2017 at 12:24

Ground truth will help you to mark accurate classes, accurate because they are taken from field observations. Of course, you must plan for detailed ground truth, location using GPS, extent of site, background soil conditions etc.

Second, keep aside about half of ground truth sites for testing - check whether these test sites fall on the proper class in classified image. This will give a good idea of classification accuracy.


One way to evaluate whether to use supervised vs unsupervised classification is if you have knowledge of the area of interest. If you do, and you can accurately create the sample training features (from field samples or high resolution aerials) then supervised may give you a better model, if not then I see unsupervised as the fallback method.

  • 1
    can you point me into the direction as to how ground truth helps in better accuracy? perhaps a study. Commented Jan 30, 2017 at 15:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.