Land Cover Signature Classification: a New Method using SCP

This tutorial is about the an innovative method of classification: Land Cover Signature Classification. This method was developed for the Semi-Automatic Classification Plugin (SCP), and it is based on the definition of spectral ranges (thresholds). A pixel belongs to class X if pixel spectral signature is completely contained in the spectral region defined by class X. For more information read this.

For this tutorial, it is assumed that one has the basic knowledge of SCP and Basic Tutorials.
Following the video of this tutorial.

First download the sample image from this link (© Copernicus Sentinel data 2016) which is a Sentinel-2 image, and unzip the file.

1. Create the Band Set

Open the tab bandset_tool Band set, click the button open_file and select the bands of the downloaded Sentinel-2 image. In the table Band set definition order the band names in ascending order (click order_by_name to sort bands by name automatically), then highlight band 8A (i.e. single click on band name in the table) and use the buttons move_up or move_down to place this band at number 8. Finally, select Sentinel-2 from the list Quick wavelength settings, in order to set automatically the Center wavelength of each band and the Wavelength unit (required for spectral signature calculation).

Band set definition

2. Create the ROIs and Define the Spectral Thresholds

In the SCP dock click the button new_file and define a file name for the Training input. We are going to create ROIs similarly to Tutorial 2: Land Cover Classification of Sentinel-2 Images.
We are going to use the following Macroclass IDs (see Classes and Macroclasses).
Macroclass nameMacroclass ID
Bare soil4

In addition, we can mask clouds in the image, creating ROIs of clouds and assigning the special MC ID = 0.
In the list RGB= of Working toolbar define a Color Composite such as RGB = 3-2-1 or RGB = 7-3-2.

Color composite

Now create some ROIs. ROIs are used in Land Cover Signature Classification for defining a spectral region. The Land Cover Signature Classification can use additional classification algorithms for pixels falling inside overlapping regions or outside any spectral region (in this tutorial we are going to use Minimum Distance), therefore it is important that ROIs are homogeneous in order to train correctly the additional algorithm. Following the ROI creation we are going to change the signature thresholds in the LCS threshold.

ROI creation

After the ROI creation, in the ROI Signature list highlight these spectral signatures, then click the button sign_plot.

Signature plot

Spectral signatures are displayed with the respective colors; also, the semi-transparent area represents the spectral range of each ROI. The minimum and maximum values of these spectral range are displayed in the Plot Signature list. You can manually edit these ranges or use the tools Automatic thresholds. It is worth noticing the same spectral ranges (of spectral signatures in ROI Signature list) are displayed in the Signature threshold.
In Classification algorithm select Use checkbox LCS to use the in Land Cover Signature Classification. Now create a classification preview over the lake (see Create a Classification Preview).

Classification preview

You can see that several pixels are unclassified (black) because they are outside any spectral range. In the Plot Signature list highlight a signature of macroclass Water and click the buttonFrom pixel LCS_threshold_set_tool. This tool allows you to extend the spectral range to include a pixel signature. Click an unclassified pixel in the map over the lake; you should see that the spectral range of highlighted signature is larger now. Click the button preview_redo in the Working toolbar.

Classification preview

Now the area classified as water is larger and should include the pixel that was clicked before. Create a temporary ROI over the unclassified area of the lake and click the button From ROI LCS_threshold_ROI_tool.

Signature plot: the spectral range is extended

This way, the spectral range is extended to include the minimum and maximum value of this ROI for each band.

Signature plot: the spectral range is extended

Creating another classification preview we can see that the classified area is extended according to the temporary ROI.

Classification preview

You can extend the spectral range to classify the whole lake as water.
TIP : During ROI creation, click the button roi_single in Working toolbar and right click on the map for displaying the spectral signature of a pixel in the Spectral Signature Plot. This can be useful for assessing unclassified pixels and extend one or more spectral ranges.
Particular attention should be posed on the spectral similarity of classes. For instance soil and built-up can have very similar spectral signatures. Therefore, several ROIs should be collected in the attempt to separate these classes.
Spectral ranges should not overlap in order to avoid unclassified pixels. In the following figure, two signatures have overlapping ranges (it means that potentially there is a signature whose values fall in two classes); these signatures are highlighted in orange in the Plot Signature list (also in the LC Signature threshold) and the combinations MC ID - C ID of overlapping signatures are displayed in the column Color [overlap MC_ID-C_ID].

Overlapping signatures

It is possible to reduce the range with the button From ROI LCS_threshold_ROI_tool or From pixel LCS_threshold_set_tool if the checkbox checkbox  is checked. In this case, the range is reduced to exclude the values of selected pixels or ROIs.
In addition, it is possible to edit the range directly from the plot. In the Plot Signature list highlight a signature, click the button sign_edit_range, then click inside the plot to extend or reduce the range. As a general procedure, you should compare spectral signatures and identify one or more values that could separate the overlapping ranges (if spectral ranges are not overlapping at least in one band then classes are correctly separated).
In case two spectral regions belonging to different classes are overlapping, you should consider reducing the ranges, collecting other spectral signatures with reduced ranges, or extending the spectral range of one signature to include the range of the other spectral signature that will be deleted. For instance, it could be convenient to create two spectral ranges (with two spectral signatures) for the same class in order to easily separate a third spectral signature whose values are comprised between the minimum and maximum values of the other two ranges.
TIP : Check the radiobutton Automatic plot to display automatically the plot of a temporary ROI in the Spectral Signature Plot, and assess the spectral range before saving the ROI.

The plot of a temporary ROI

Now check checkbox MC ID in Classification algorithm. When checkbox MC ID is checked, the classification is performed using all the spectral signatures (without any modification of original spectral values) but assigning the macroclass code. Moreover, only overlapping signatures belonging to different macroclasses are highlighted in Plot Signature list. This allows spectral signatures sharing the same MC ID to be overlapping.

Overlapping regions belonging to the same MC ID

Also, open the tab LCS threshold for checking the overlap of all the spectral signatures saved in the Training input.

LCS threshold. Overlapping regions are highlighted in orange

3. Land Cover Classification

After the creation of several ROIs and the definition of spectral ranges, we can perform the classification for the whole image.
Having selected checkbox MC ID and checkbox LCS in Classification algorithm, click the button run in the Classification output and select an output destination. After the processing, the classification will be displayed in QGIS.

LCS classification

Unclassified pixels, displayed in black, are pixels whose spectral signature is not completely contained in any spectral region. Also, pixels contained in more than one spectral region (having different MC ID) are classified as Class Overlap.

LCS classification. Class Overlap

We could create other spectral regions in order to classify all the unclassified pixels. Alternatively, we can use the selected Algorithm for classifying those pixels. Check the checkbox Algorithmin Land Cover Signature Classification and select the Minimum Distance in Algorithm; then click the button run in the Classification output.

LCS classification. Classification using the additional classification algorithm

Pixels that were unclassified by LCS now are classified using the Minimum Distance, which compares calculates the Euclidean distance between pixels and spectral signatures. Black pixels are clouds classified using the special MC ID = 0.
In addition, we can use the Minimum Distance to classify only pixels that were labelled Class Overlap by LCS, leaving unclassified pixels whose spectral signature is not completely contained in any spectral region. Check checkbox only overlap in Land Cover Signature Classification, leaving checked checkbox Algorithm; then click the button run in the Classification output.

LCS classification. Classification using the additional classification algorithm only for Class Overlap

The Land Cover Signature Classification can be useful for the classification of a single land cover class, defining only the spectral ranges that identify our objective. For instance, if we were interested in built-up classification only, we could collect only ROIs for this class, obtaining a classification such as in the following image.

LCS classification. Classification of the class Built-up

This classification method should ease the identification of materials at the ground, compared to other algorithms such as Maximum Likelihood, allowing for the selection of every spectral signature belonging to a land cover class. Considering the availability of very high resolution images, the definition of spectral ranges should be easy and reliable.

For any comment or question, join the Facebook group and the Google+ Community about the Semi-Automatic Classification Plugin.