Change Detection Analysis encompasses a broad range of methods used to identify, describe, and quantify differences between images of the same scene at different times or under different conditions. You can use tools such as Band Math or Principal Components Analysis independently, or in combination, as part of a change detection analysis. In addition, the routines found under the Toolbox menu Change Detection offer a straightforward approach to measuring changes between a pair of images that represent an initial state and final state. Use Change Detection Statistics for classification images; use Change Detection Difference Map for gray scale (single-band) images.
See the following topics:
Change Detection Difference Map
Use Change Detection Difference Map to produce an ENVI classification image characterizing the differences between any pair of initial state and final state images. The input images may be single-band images of any data type. The difference is computed by subtracting the initial state image from the final state image (that is, final - initial), and the classes are defined by change thresholds. A positive change identifies pixels that became brighter (final state brightness was greater than the initial state brightness), while a negative change identifies pixels that became dimmer (final state brightness was less than initial state brightness).
As an optional pre-processing step, you can normalize the input images to a data range between zero and one, or standardize them to a zero mean and unit variance. The input images must be coregistered or georeferenced. For the most accurate results, carefully coregister the images before processing. If the input images are not coregistered, the Change Detection Difference Map tool uses the available map information to automatically coregister the images, using the initial state image as the base if re-projection or resampling is required.
Tips for Successful Analyses
When performing a change detection analysis on non-thematic images (gray scale data), it is important to consider all of the factors that can cause scenes of the same area to look different. The following are a few notable factors:
- Differences in the instrument or sensor: Consider the similarity of the sensors that collected the images. Even bands collected in the same part of the spectrum (for example, two red bands) may have different band center wavelengths, or different spectral response functions, which can lead to different pixel values for the same material.
- Differences in the collection date and time: Seasonal changes can impart big differences in scenes containing vegetation (due to plant senescence and canopy architecture development). Differences in the season and time of day will also affect the solar azimuth and elevation.
- Differences in Atmospheric Conditions: The dominant weather conditions can affect atmospheric transmission and scattering. Consistent differences in gross atmospheric conditions are often associated with seasonal changes. For example, differences in the predominant wind direction can be important (winds blowing in over the ocean contain different aerosols with different scattering properties from those blowing in over an urban area). Another common, yet consistent, atmospheric difference is the water content of the atmosphere. Summer atmospheres tend to be wetter than winter atmospheres. Atmospherically corrected images can reduce such influences.
- Differences in Image Calibrations: For the most accurate change detection results, it is important to work with images that are calibrated into the same units. If a calibration into physical units (such as radiance) is not possible, a relative calibration may be better than none at all (especially if the instruments that collected the images have different dynamic ranges).
- Differences in Image Resolution: Differing pixel sizes can lead to false change detections. It is important that the original images (prior to resampling or re-projection) have the same pixel resolution. For scenes with large swaths (such as AVHRR, SeaWiFS, or MODIS) the actual pixel sizes differ across the scene. In such cases, differences in the sensor viewing geometry can also be important.
Coregistration Accuracy: Accurately coregistered images are critical for change detection analyses. While the Compute Difference Map routine will automatically coregister the input images using the available map information, if the differences in the image geometry are substantial, it is well worth the effort to ensure that the coregistration is as accurate as possible before performing a change detection.
The Change Detection Difference Map tool does not compensate for any of these (or other) conditions. Its results are strictly dependent on pixel-for-pixel comparisons.
From the Toolbox, select Change Detection > Change Detection Difference Map. The Select the ‘Initial State’ Image dialog appears.
The input images must be georeferenced or coregistered. If the images are not coregistered, then the available map information will be used to automatically coregister the area common to both.
- Select a single band image representing the initial state and perform optional spatial subsetting, then click OK. The Select the ‘Final State’ Image dialog appears.
- Select a single band image representing the final state and perform optional spatial subsetting, then click OK. The Compute Difference Map Input Parameters dialog appears.
- Enter the number of classes to use. Each class is defined by a difference threshold that represents a varying amount of change between the two images. The minimum number of classes is two. The default classification thresholds are evenly spaced between (-1) and (+1) for simple differences, and (-100%) and (+100%) for percent differences. The default class definitions attempt to produce symmetric classes, with an equal number of positive and negative change classes surrounding a No Change category. The order in which the classes are defined is as follows:
- For n classes, where n is odd, the first (n/2) classes represent positive changes, starting with the largest positive changes and ending with the smallest.
- The middle class, (n/2) + 1, represents no change.
- The last (n/2) classes represent negative changes, starting with the smallest negative changes end ending with the largest.
- For an even number of classes the definitions remain the same except that the number of negative classes is reduced by one. In short, the default class definitions range from positive to negative, with the magnitude of the change increasing with distance from the middle No Change class.
To modify or view the classification thresholds, define names for the classes, or import classification thresholds from a previous result, click Define Class Thresholds. (If using default thresholds, this step is unnecessary.) The Define Class Simple Difference Thresholds dialog appears. Each class is defined by one line in the dialog.
While you are encouraged to customize the criteria to use to define the change thresholds, It is recommended that the classes retain their default symmetrical property, with an equal number of positive and negative classes surrounding a No Change class. Retaining the default position (order) and type (negative or positive) of classes will make the results easier to interpret using the classification color assignments.
Set the Change Type:
- Define class names by placing the cursor in the field next to the class you wish to rename, and enter the new class name.
Modify class thresholds by selecting logical operators from the drop-down lists and enter numeric values in the fields to define the thresholds for any selected class. When you click OK, ENVI saves the changes. To further modify class thresholds, click Define Class Thresholds again. The first and last class have only one logical operator and are intended to be open-ended.
To revert to the default classification thresholds, click Apply Defaults at the bottom of the dialog. The defaults that are applied are dependent on the Change Type selected in the Compute Difference Map Input Parameters dialog (the Change Type is also indicated by the title bar of the Define Class Thresholds dialog).
To undo changes made since the Define Class Thresholds dialog was last opened, click Reset. All changes made since the dialog was brought up will be removed.
To automatically set the classification change thresholds to match those used in a previous analysis, click Match Previous Result. The Select a Previous Difference Map Classification Result dialog appears.
Choose a Difference Map classification image produced previously using the Compute Difference Map routine that contains the thresholds you wish to reuse, and click OK.
If necessary, the number of classes for the current analysis will be reset to match the number of classes used in the previous analysis.
Select one of the following optional Data Pre-Processing options:
- Simple Difference: Subtracts the initial state image from the final state image.
- Percent Difference: The simple difference divided by the initial state value.
Select output to File or Memory.
If the input images require warping or resampling in order to produce a coregistered pair, then an extra section appears which allows saving the auto-coregistered images to File or Memory.
- Normalization: Subtracts the image minimum and dividing by the image data range: Normalization = (DN - min) / (max - min).
- Standardization: Subtracts the image mean and dividing by the standard deviation: Standardization = (DN - mean) / stdev.
Click OK. The resulting Difference Map classification image is color coded to indicate the magnitude of the change between the two images. Positive changes display in shades of red, grading from gray for no change to bright red for largest positive change. Negative changes display in shades of blue, grading from gray for no change to bright blue for the largest negative change.
If the number of positive and negative change classes or the order in which the classes are defined has changed from the default settings, the interpretation of the color scheme may not match that described here.
Change Detection Statistics
Use Change Detection Statistics to compile a detailed tabulation of changes between two classification images. The changes detected using this routine differ significantly from a simple differencing of the two images. While the statistics report does include a class-for-class image difference, the analysis focuses primarily on the initial state classification changes; that is, for each initial state class, the analysis identifies the classes into which those pixels changed in the final state image. ENVI can report changes as pixel counts, percentages, and areas. In addition, you can produce a special type of mask image (classification mask) that provides a spatial context for the tabular report. The class masks are ENVI classification images with class colors matching the final state image, making it easy to identify not only where changes occurred but also the class into which the pixels changed.
The input images must be coregistered or georeferenced. For the most accurate results, carefully coregister the images before processing. If the input images are not coregistered, ENVI uses the available map information to automatically coregister the images, using the initial state image as the base if re-projection or resampling is required.
- From the Toolbox, select Change Detection > Change Detection Statistics.
The Select the ‘Initial State’ Image dialog appears.
- Select a classification image representing the initial state and perform optional spatial subsetting, then click OK. The Select the ‘Final State’ Image dialog appears.
- Select a classification image representing the final state and perform optional spatial subsetting, then click OK. The Define Equivalent Classes dialog appears.
Match the classes from the Initial and final state images by selecting the matching names in the two lists and clicking Add Pair.
Add only the classes you wish to include in the change detection analysis (you do not have to pair all classes). The class combinations are shown in a list at the bottom of the dialog. If the classes in each image have the same names, they are automatically paired.
- Click OK. The Change Detection Statistics Output dialog appears.
- Select the Report Type. You may choose any combination of Pixels, Percent, and Area.
- Click the Output Classification Mask Images? toggle button to specify whether or not to create class masks.
- If the Output Classification Mask Images? toggle button is Yes, select output to File or Memory.
- Click OK. If an Area Report was requested but the initial state image does not have pixel sizes defined, the Define Pixel Sizes for Area Statistics dialog displays.
- Enter the pixel sizes.
- Click OK. ENVI adds the resulting output to the Layer Manager and opens the statistics in the Change Detection Statistics window.
The Change Detection Statistics Report
The Change Detection Statistics window contains all of the statistics tables that you selected from the Report Type field in the Change Detection Statistics Output dialog box, separated by tabs. It also contains a Reference tab, which includes additional information about the analysis, such as the names of the input images and the equivalent class pairings. Below is a sample Change Detection Statistics Report.
The statistics tables list the initial state classes in the columns and the final state classes in the rows. However, the columns include only the selected (paired) initial state classes, while the rows contain all of the final state classes. This is required for a complete accounting of the distribution of pixels that changed classes. For each initial state class (that is, each column), the table indicates how these pixels were classified in the final state image. For example, the table above shows that 999 pixels initially classified as "Estuarine Aquatic Bed" changed into the "Unconsolidated Shore" class in the final state image.
- The Class Total row indicates the total number of pixels in each initial state class, and the Class Total column indicates the total number of pixels in each final state class. The table above shows that 211,633 pixels were classified as "Estuarine Aquatic Bed" in the initial state image.
The Row Total column is a class-by-class summation of all final state pixels that fell into the selected initial state classes.
Note: This may not be the same as the Final State Class Totals because it is not required that all initial state classes be included in the analysis.
- The Class Changes row indicates the total number of initial state pixels that changed classes. In the table above, the total Class Changes for "Water" is 8,193 pixels. In other words, 8,193 pixels that were initially classified as "Water" changed into final state classes other than water.
- The Image Difference row is the difference in the total number of equivalently classed pixels in the two images, computed by subtracting the Initial State Class Totals from the Final State Class Totals. An Image Difference that is positive indicates that the class size increased. For example, in table above, the "Water" class grew by 467,119 pixels.
Select the tabs along the top of the Change Detection Statistics dialog to show equivalent information for the class changes in terms of Percentage and Area. In the Percent report (not shown here) the increase in the size of the Water class corresponds to a growth of 21%:
(final state - initial state) / initial state = (390381 - 322763) / 322763 = 0.209
Additional Features of the Change Detection Statistics Report
Options from the Change Detection Statistics Report dialog menu bar are:
- To change the floating-point precision displayed in the report, select Options > Set Report Precision.
- To convert the units for the Area report, select Options > Convert Area Units.
- To save the statistics reports to an ASCII text file, select File > Save to Text File. The Save Change Detection Stats to Text dialog appears; you can optionally add a descriptive line of header text to the file being written. The data is saved in a tab delimited format to facilitate importing into other software programs.
The Classification Mask Images
The classification masks complement the statistics tables by spatially identifying which initial state pixels changed classes, and into which class they changed. By examining the masks, you can often see patterns of changes. The masks can also help highlight coregistration errors.
ENVI saves the class mask images as a multi-band image with one mask for each paired class. To help identify the class into which a pixel changed, the masks are stored as ENVI classification images with the class assignments (names, colors, and values) matching the final state. A value of zero in the mask indicates that no change occurred from the initial to the final state; non-zero values indicate a change.
To differentiate pixels that did not change classes from those that changed into the Unclassified class (which typically has a classification value of zero), pixels that changed into the Unclassified class are assigned a value equal to the number of final state classes plus one, and color coded white. For example, in the sample analysis shown in the figure above, the final state image contains 6 classes; therefore, any pixel in the mask that changed into the Unclassified class would be assigned a value of 7.
Image Change, Thematic Change, SPEAR Change Detection, THOR Change Detection