Available with Image Analyst license.
Available with Spatial Analyst license.
Classify an image
The Classify tool allows you to choose from either unsupervised or supervised classification techniques to classify pixels or objects in a raster dataset. To display the Classify tool, select the raster that is to be classified in the Contents pane, then on the Imagery tab, click the Classification Tools drop-down arrow.
For supervised classification, you need to provide a training samples file. You can create training samples using the Training Samples Manager in the Classification Tools drop-down list, or you can provide an existing training samples file. This can be either a shapefile or feature class that contains your training samples. The following field names are required in the training sample file:
- classname— A text field indicating the name of the class category
- classvalue— A long integer field containing the integer value for each class category
For object-based image analysis, you need to provide a segmented image. You can create a segmented image using the Segmentation tool in the Classification Tools drop-down list.
There are five Classifiers available to classify your data:
- ISO Cluster—The ISO Cluster classifier performs an unsupervised classification. This classifier can process very large segmented images, whose attribute table can be large. Also, the tool can accept a segmented RGB raster from a third-party application. The tool works on standard Esri-supported raster files, as well as segmented raster datasets.
- Maximum Likelihood—The maximum likelihood classifier is a traditional technique for image classification. It is based on two principles: the pixels in each class sample in the multidimensional space are normally distributed, and Bayes' theorem of decision making.
- Random Trees—The random trees classifier is a powerful technique for image classification that is resistant to overfitting, and can work with segmented images and other ancillary raster datasets. For standard image inputs, the tool accepts multiband imagery with any bit depth, and it will perform the random trees classification on a pixel basis, based on the input training feature file.
- Support Vector Machine (SVM)—The SVM classifier provides a powerful, supervised classification method that is able to process a segmented raster input or a standard image. It is less susceptible to noise, correlated bands, and an unbalanced number or size of training sites within each class. This is a classification method that is widely used among researchers.
ISO Cluster
Perform an unsupervised classification using ISO Cluster algorithm, which determines the characteristics of the natural groupings of cells in multidimensional attribute space.
Parameter name | Description |
---|---|
Maximum Number of Classes | Maximum number of desired classes to group pixels or segments. This should be set based on the number of classes in your legend. It is possible that you will get fewer classes than what you specified for this parameter. If you need more, increase this value and aggregate classes after the training process is complete. |
Maximum Number of Iterations | The maximum number of iterations for the clustering process to run. The recommended range is between 10 and 20 iterations. Increasing this value will linearly increase the processing time. |
Maximum Number of Cluster Merges per Iteration | The maximum number of times that a cluster can be merged. Increasing the number of merges will reduce the number of classes that are created. A lower value will result in more classes. |
Maximum Merge Distance | Increasing the distance will allow more clusters to merge, resulting in fewer classes. A lower value will result in more classes. The distance is spectral in nature and is based on RGB color. For example, the distance between a pixel with an RGB value of 100, 100, 100 has a distance of 50 from a pixel with an RGB value of 100, 130, 120. Although you can set this to any value you wish, values from 0 to 5 tend to give the best results. |
Minimum Samples Per Cluster | The minimum number of pixels or segments in a valid cluster or class. The default value of 20 has shown to be effective in creating statistically significant classes. You can increase this number to have more robust classes; however, it may limit the overall number of classes that are created. |
Skip Factor | Number of pixels to skip for a pixel image input. If a segmented image is an input, specify the number of segments to skip. |
Segmented Image | Optionally incorporate a segmented image to perform object-based classification. |
Segment Attributes | When you use a segmented image, you can choose which attributes to use from the segmented image:
|
Output Classified Dataset | Choose the name and output location for your classified output. |
Output Classified Definition File | This is a JSON file that contains attribute information, statistics, hyperplane vectors and other information needed for the classifier. A file with an .ecd extension is created. |
Maximum Likelihood
Perform a maximum likelihood classification which is based on two principles: the pixels in each class sample in the multidimensional space are normally distributed, and Bayes' theorem of decision making.
Parameter name | Description |
---|---|
Training Samples | Select the training sample file or layer that delineates your training sites. These can be either shapefiles or feature classes that contain your training samples. |
Segmented Image | Optionally incorporate a segmented image to perform object-based classification. |
Segment Attributes | When you use a segmented image, you can choose which attributes to use from the segmented image:
|
Output Classified Dataset | Choose the name and output location for your classified output. |
Output Classified Definition File | This is a JSON file that contains attribute information, statistics, hyperplane vectors and other information needed for the classifier. A file with an .ecd extension is created. |
Random Trees
Perform a random trees classification which uses multiple decision trees that are trained using small variations of the same training data. When classifying a sample, the majority vote of these trained trees decides on the output class. This set of trees is less vulnerable to overfitting than a single tree.
Parameter name | Description |
---|---|
Training Samples | Select the training sample file or layer that delineates your training sites. These can be either shapefiles or feature classes that contain your training samples. |
Maximum Number of Trees | The maximum number of trees in the forest. Increasing the number of trees will lead to higher accuracy rates, although this improvement will level off eventually. The number of trees increases the processing time linearly. |
Maximum Tree Depth | The maximum depth of each tree in the forest. Depth is another way of saying the number of rules each tree is allowed to create to come to a decision. Trees will not grow any deeper than this setting. |
Maximum Number of Samples per Class | The maximum number of samples to use for defining each class. The default value of 1000 is recommended when the inputs are nonsegmented rasters. A value that is less than or equal to 0 means that the system will use all the samples from the training sites to train the classifier. |
Segmented Image | Optionally incorporate a segmented image to perform object-based classification. |
Segment Attributes | When you use a segmented image, you can choose which attributes to use from the segmented image:
|
Output Classified Dataset | Choose the name and output location for your classified output. |
Output Classified Definition File | This is a JSON file that contains attribute information, statistics, hyperplane vectors and other information needed for the classifier. A file with an .ecd extension is created. |
Support Vector Machine
Perform a support vector machine classification which maps your input data vectors into a higher dimensional feature space to optimally separate the data into the different classes. Support vector machines can process very large images, and is less susceptible to noise, correlated bands, or an unbalanced number or size of training sites within each class.
Parameter name | Description |
---|---|
Training Samples | Select the training sample file or layer that delineates your training sites. These can be either shapefiles or feature classes that contain your training samples. |
Maximum Number of Samples per Class | The maximum number of samples to use for defining each class. The default value of 500 is recommended when the inputs are nonsegmented rasters. A value that is less than or equal to 0 means that the system will use all the samples from the training sites to train the classifier. |
Segmented Image | Optionally incorporate a segmented image to perform object-based classification. |
Segment Attributes | When you use a segmented image, you can choose which attributes to use from the segmented image:
|
Output Classified Dataset | Choose the name and output location for your classified output. |
Output Classified Definition File | This is a JSON file that contains attribute information, statistics, hyperplane vectors and other information needed for the classifier. A file with an .ecd extension is created. |
Related topics
- Classify function
- Classify Raster
- Train ISO Cluster Classifier
- Train Maximum Likelihood Classifier
- Train Random Trees Classifier
- Train Support Vector Machine Classifier
- Generate Training Samples From Seed Points
- Inspect Training Samples
- Segment Mean Shift function
- ML Classify function
- Understanding segmentation and classification