Use the Class Activation to Classification tool to create a classification raster from a class activation raster that was generated by a deep learning model. The class membership of each pixel can be determined automatically or by specifying an explicit threshold to use.

You can also write a script to create a classification raster from a class activation raster using the ClassActivationToClassification task.

Classification rasters have a background class (value = 0) in addition to the feature classes. It is assumed that an input class activation raster with multiple bands includes the background class as the first band.

If you are training a deep learning model to find a single feature, the output classification raster will be binary: one background class (0) and a single feature class (1). In this case, the Class Activation to Classification tool accepts either a threshold value or method. If you specify a threshold value, that takes precedence. If you do not specify a value, a designated thresholding method is used to automatically compute the threshold value. If the feature class value for a given pixel is greater than or equal to the threshold value, the pixel will be designated as "feature" (value = 1).

If you are training a deep learning model to find multiple features, the output classification raster will have multiple values: one background class (0) and integers that range from 1 to the number of feature classes. In this case, the Class Activation to Classification tool accepts an optional threshold value and ignores the thresholding method. If you do not specify a threshold value, the class assigned to each pixel is that with the highest value out of all the classes, including the background class. If you specify a threshold value, the class assigned to each pixel is the feature class with the highest value, if it is greater than or equal to the threshold value. If it is less than the threshold value, the pixel is assigned the background class.

Follow these steps:

  1. Open the Class Activation to Classification dialog using one of the following options:
    • In the ENVI Toolbox, select Deep Learning > Pixel Segmentation > Class Activation to Classification.
    • In the Post-Classification panel of the Deep Learning Guide Map, click the Class Activation to Classification button.
  2. In the Input Raster field of the Class Activation to Classification dialog, select a class activation raster that you created using the TensorFlow Pixel Classification tool. It must be a floating-point raster with pixel values that range from 0 to 1.
  3. Use the Threshold the slider bar or up/down arrow buttons to specify the minimum value in the class activation raster that will be used to differentiate feature pixels from background pixels.
  4. If you set the Threshold value to 0 (the default) and you only have one feature class, select an automatic thresholding method to use from the Automatic Threshold Method drop-down list. The choices are:

    • Isodata: Works iteratively by calculating an initial threshold that is half the dynamic range of the image or layer, effectively dividing the image into feature (above the initial threshold) and background (below the initial threshold) pixels. Next, the algorithm separately calculates the sample mean of the feature and background pixels, using these new sample means to calculate a new threshold value (the average of the sample means). The process repeats using each new, successive threshold value until the resulting threshold value ceases to change (Ridler and Calvard, 1978).

    • Mean: Takes the mean value of the gray levels as the threshold (Glasbey, 1993).
    • Maximum Entropy: Considers the thresholding image as two classes of events, with each class characterized by a Probability Density Function (PDF). It then maximizes the sum of the entropy of the two PDFs to converge on a single threshold value (Kapur, Sahoo, and Wong, 1985).
    • Minimum Error: Approximates the histogram as a bimodal Gaussian distribution and finds a cutoff point. The cost function is based on the Bayes classification rule (Kittler and Illingworth, 1986).
    • Moments: Considers the grayscale image as a blurred version of an ideal binary image. This method determines the threshold so that the first three moments of the input image are preserved in the output image (Tsai, 1985).
    • Otsu: (default) A histogram shape-based method. It is based on discriminate analysis and uses the zero- and the first-order cumulative moments of the histogram for calculating the value of the thresholding level (Otsu, 1979).
  5. Select an output location and filename in the Output Raster field.
  6. Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the view. See the Preview topic in ENVI Help for details on the results. To preview a different area in your image, pan and zoom to the area of interest and reenable the Preview option.
  7. Enable the Display result check box to display the output in the view when processing is complete.

  8. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow next to the OK button and select Save Parameter Values, then specify the location and filename to save to. Note that some parameter types, such as rasters, vectors, and ROIs, will not be saved with the file. To apply the saved task settings, click the down arrow and select Restore Parameter Values, then select the file where you previously stored your settings.

  9. To run the process in the background, click the down arrow and select Run Task in the Background. If an ENVI Server has been set up on the network, the Run Task on remote ENVI Server name is also available. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See the ENVI Servers topic in ENVI Help for more information.

  10. Click OK.

References:

Glasbey, C. "An Analysis of Histogram-Based Thresholding Algorithms." CVGIP: Graphical Models and Image Processing 55 (1993): 532-537.

Kapur, J., P. Sahoo, and A. Wong. "A New Method for Gray-Level Picture Thresholding Using the Entropy of the Histogram." Graphical Models and Image Processing 29, No. 3 (1985): 273-285.

Kittler, J., and J. Illingworth. "Minimum Error Thresholding." Pattern Recognition 19 (1986): 41-47.

Otsu, N. "A Threshold Selection Method from Gray-Level Histograms." IEEE Transactions on Systems, Man and Cybernetics 9 (1979): 62–66.

Ridler, T., and S. Calvard. "Picture Thresholding Using an Iterative Selection Method." IEEE Transactions on Systems, Man and Cybernetics 8 (1978): 630 - 632.

Tsai, W. "Moment-Preserving Thresholding: a New Approach." Computer Vision, Graphics, and Image Processing 29 (1985): 377-393.