Supervised classification (Tutorial)

From AWF-Wiki
(Difference between revisions)
Jump to: navigation, search
(Training phase)
(Training phase)
Line 21: Line 21:
 
* In the search engine of mapla, type {{typed|text=TrainImages}} and double click '''TrainImagesClassifer'''.
 
* In the search engine of mapla, type {{typed|text=TrainImages}} and double click '''TrainImagesClassifer'''.
 
* In the {{button|text=Input Image List}} click on {{button|text=+}} and select a (or optional: several) multispectral images: '''Subset_S2A_MSIL2A_20170619T_MUL.tif '''.
 
* In the {{button|text=Input Image List}} click on {{button|text=+}} and select a (or optional: several) multispectral images: '''Subset_S2A_MSIL2A_20170619T_MUL.tif '''.
* In the {{button|text=Input Vector Data List}} choose a vector polygon file with training areas: '''lab07_training_input.shp'''.
+
* In the {{button|text=Input Vector Data List}} choose a vector polygon file with training areas: '''lucc_training_input.shp'''.
* Activate the checkbox {{button|text=Validation Vector Data List}} and choose a vector polygon file with an independent sample of validation areas: '''lab07_validation_input.shp'''
+
* Activate the checkbox {{button|text=Validation Vector Data List}} and choose a vector polygon file with an independent sample of validation areas: '''lucc_validation.shp'''
* In the {{button|text=Output model}} specify an output model file: e.g. '''SVM.model'''
+
* In the {{button|text=Output model}} specify an output model file: e.g. '''lucc_svm.model'''
* Activate the checkbox and save the {{button|text=Output confusion matrix or contingency table}} as '''ConfusionMatrixSVM.csv'''.
+
* Activate the checkbox and save the {{button|text=Output confusion matrix or contingency table}} as '''lucc_svm_confusion.csv'''.
 
* In the {{button|text=Bound sample number by minimum}} field type {{typed|text=1}}.
 
* In the {{button|text=Bound sample number by minimum}} field type {{typed|text=1}}.
 
* Set the {{button|text=training and validation sample ratio}} to {{typed|text=0 }}. (0 = all training data).
 
* Set the {{button|text=training and validation sample ratio}} to {{typed|text=0 }}. (0 = all training data).
* Set {{button|text=Field containing the class integer label}} to ''C_ID'' (C_ID refers to the column that contains the LUC code in the training and validation vector file).
+
* Mark  ''C_ID''  in the {{button|text=Field containing the class integer label}} (C_ID refers to the column that contains the LUC code in the training and validation vector file).
 
* Choose {{button|text=LibSVM classifier}} from the drop down list as Classifier to use for the training.
 
* Choose {{button|text=LibSVM classifier}} from the drop down list as Classifier to use for the training.
 
* The SVM Kernel Type is {{button|text=Linear}}.
 
* The SVM Kernel Type is {{button|text=Linear}}.
 +
* The SVM Model Type is {{button|text=C support vector classification}}.
 
* Switch the Parameters optimization to {{button|text=on}}.
 
* Switch the Parameters optimization to {{button|text=on}}.
* Set user defined seed with an integer value.
+
* Check user defined seed and enter an integer value.
 
* Click on {{button|text=Execute}}.
 
* Click on {{button|text=Execute}}.
[[File:qgis-otb-trainImagesClassifier_svm.png|500px]]
+
[[File:otb_trainimages.png|500px]]
  
 
==Classification phase==
 
==Classification phase==

Revision as of 14:25, 4 July 2019

Contents

Per pixel classification with QGIS and OTB processing plugin

Training phase

  • In the search engine of Processing Toolbox, type TrainImages and open TrainImagesClassifer.
  • In the Input Image List select a (or optional: several) multispectral images: Subset_S2A_MSIL2A_20170619T_MUL.tif .
  • In the Validation Vector Data List and choose a vector polygon file with an independent sample of validation areas: lucc_validation.shp.
  • Type C_ID in the {button|text=Field Name}} text field.
  • Choose Support Vector Machine Classifer libsvm from the drop down list.
  • SVM Model Type is csvc
  • The SVM Kernel Type is Linear.
  • Switch checkbox Parameters optimization on.
  • In the Output model specify an model file: e.g. lucc_svm.model
  • Define an output file for Output confusion matrix or contingency table (e.g.lucc_svm_confusion.csv).
  • Click Run.

Qgis otb trainimages.png

Classification phase

Per pixel classification with OTB standalone

Training phase

  • Type into the search box of the Windows taskbar: mapla.bat. Click on mapla.bat to open Monteverdi Application Launcher.
  • In the search engine of mapla, type TrainImages and double click TrainImagesClassifer.
  • In the Input Image List click on + and select a (or optional: several) multispectral images: Subset_S2A_MSIL2A_20170619T_MUL.tif .
  • In the Input Vector Data List choose a vector polygon file with training areas: lucc_training_input.shp.
  • Activate the checkbox Validation Vector Data List and choose a vector polygon file with an independent sample of validation areas: lucc_validation.shp
  • In the Output model specify an output model file: e.g. lucc_svm.model
  • Activate the checkbox and save the Output confusion matrix or contingency table as lucc_svm_confusion.csv.
  • In the Bound sample number by minimum field type 1.
  • Set the training and validation sample ratio to 0. (0 = all training data).
  • Mark C_ID in the Field containing the class integer label (C_ID refers to the column that contains the LUC code in the training and validation vector file).
  • Choose LibSVM classifier from the drop down list as Classifier to use for the training.
  • The SVM Kernel Type is Linear.
  • The SVM Model Type is C support vector classification.
  • Switch the Parameters optimization to on.
  • Check user defined seed and enter an integer value.
  • Click on Execute.

Otb trainimages.png

Classification phase

  • In the search engine of mapla, type ImageClassifier and double click ImageClassifier
  • Set Subset_S2A_MSIL2A_20170619T_MUL.tif as Input image.
  • Set SVM.model as Model file.
  • Save the Output image as svm_classification.tif.

Qgis-otb-ImageClassifier SVM.png

  • Evaluate classification results:
    • Load the multispectral Sentinel-2 image Subset_S2A_MSIL2A_20170619T_MUL.tif into QGIS.
    • Data source Manager --> Browser --> XYZ Tiles. Select Google Satellite as background layer.
    • Load the European Urban Atlas as vector layer Subset-Goe_DE021L1_GOTTINGEN_UA2012_UTM32N.shp
    • Add svm_classification.tif to the QGIS project.
    • Download the style file classifcation.qml from Stud.IP.
    • Right click svm_classification.tif in the TOC and select Properties --> Style --> Style --> Load Style.
    • Select the style file classification.qml. OK.
    • Open the text file ConfusionMatrixSVM.csv and calculate overall, user and producer accuracies.
Personal tools
Namespaces

Variants
Actions
Navigation
Development
Toolbox
Print/export