Classify Pixels Using Deep Learning (Map Viewer Classic)

Classify Pixels Using Deep Learning The Classify Pixels Using Deep Learning tool runs a trained deep learning model on an input image to produce a classified raster.

Note:

This tool is now available in Map Viewer, the modern map-making tool in ArcGIS Enterprise on Kubernetes.

To run this tool, the organization must be configured for raster analytics.

If you do not see this tool in Map Viewer Classic, contact your organization administrator. Your portal may not be configured for raster analysis, or you may not have the privileges required to run the tool.

Workflow diagram

Classify Pixels Using Deep Learning workflow

Example

Given a multiband satellite image, generate a land cover raster using a trained deep learning model.

Usage notes

With this tool running, the raster analysis server calls a third-party deep learning Python API and uses the specific Python raster function to process each raster tile.

The input deep learning model for this tool must be a deep learning package (.dlpk) item stored in your portal. You can generate a .dlpk item using the Train Deep Learning Model geoprocessing tool in ArcGIS Pro or the ArcGIS REST API raster analysis tool.

After the input model is selected or specified, model arguments are obtained from the raster analysis server. The tool may fail to obtain this information if the model is invalid or if the raster analysis server isn't properly configured for deep learning.

The input .dlpk item must include an Esri model definition file (.emd). See the sample .emd file below.

{
    "Framework":"TensorFlow",
    "ModelConfiguration":"deeplab",

    "ModelFile":"\\Data\\ImgClassification\\TF\\froz_inf_graph.pb",
    "ModelType":"ImageClassification",
    "ExtractBands":[0,1,2],
    "ImageHeight":513,
    "ImageWidth":513,

    "Classes" : [
        {
            "Value":0,
            "Name":"Evergreen Forest",
            "Color":[0, 51, 0]
         },
         {
            "Value":1,
            "Name":"Grassland/Herbaceous",
            "Color":[241, 185, 137]
         },
         {
            "Value":2,
            "Name":"Bare Land",
            "Color":[236, 236, 0]
         },
         {
            "Value":3,
            "Name":"Open Water",
            "Color":[0, 0, 117]
         },
         {
            "Value":4,
            "Name":"Scrub/Shrub",
            "Color":[102, 102, 0]
         },
         {
            "Value":5,
            "Name":"Impervious Surface",
            "Color":[236, 236, 236]
         }
    ]
}

If Use current map extent is checked, only the pixels that are visible in the current map extent will be analyzed. If unchecked, the entire input imagery layer will be analyzed.

The parameters for this tool are listed in the following table:

ParameterExplanation
Choose image used to classify pixels

The input image that will be classified.

Choose deep learning model used to classify pixels

The input deep learning package (.dlpk) item.

The deep learning package contained the Esri model definition JSON file (.emd), the deep learning binary model file, and optionally, the Python raster function to be used.

Specify deep learning model arguments

The function arguments are defined in the Python raster function referenced by the input model. This is where you list additional deep learning parameters and arguments for refinement, such as a confidence threshold for adjusting sensitivity.

The names of the arguments are populated by the tool from reading the Python module.

Processing mode

Specifies how all raster items in an image service will be processed.

  • Process as mosaicked image—All raster items in the image service will be mosaicked together and processed. This is the default.
  • Process all raster items separately—All raster items in the image service will be processed as separate images.
.

Result layer name

The name of the layer that will be created in My Content and added to the map. The default name is based on the tool name and the input layer name. If the layer already exists, you will be prompted to provide another name.

You can specify the name of a folder in My Content where the result will be saved using the Save result in drop-down box.

Environments

Analysis environment settings are additional parameters that affect a tool's results. You can access the tool's analysis environment settings by clicking the settings button Analysis Environments at the top of the tool pane.

This tool honors the following Analysis Environments:

  • Output coordinate system—Specifies the coordinate system of the output layer.
  • Extent—Specifies the area to be used for analysis.
  • Snap Raster—Adjusts the extent of the output so it matches the cell alignment of the specified snap raster layer.
  • Cell size—The cell size to use in the output layer.
  • Parallel processing factor—Controls the raster processing CPU or GPU instances.
  • Processor type—Specifies whether the GPU or the CPU will be used to process data.

Similar tools and raster functions

Use the Classify Pixels Using Deep Learning tool to classify pixels in an image. Other tools may be useful in solving similar problems.

Map Viewer Classic analysis tools and raster functions

Use the Detect Objects Using Deep Learning tool to detect the location of objects in an image. Use the Classify Objects Using Deep Learning tool to classify objects in an image.

Use the Classify or MLClassify raster functions for other classification options.

ArcGIS Pro analysis tools and raster functions

The Classify Pixels Using Deep Learning geoprocessing tool is available in the Image Analyst toolbox. Other tools in the Deep Learning toolset perform deep learning workflows.

ArcGIS Enterprise developer resources

If you are working in ArcGIS REST API, use the Classify Pixels Using Deep Learning operation.

If you are working in ArcGIS API for Python, perform deep learning tasks ArcGIS for Python API website using the arcgis.learn module.