What is Change Detection and performing such analysis with open source tools?

Change detection is a common operation/module in remote sensing packages like ENVI or Orfeo toolbox. It usually involves raster data (satellite images for example).

How is the comparison done? With what tools? I feel that the description is not complete. Or something is missing.

Change detection is done by comparing two raster images that were taken at different times but which cover the same area. As the images cover the same area, the images overlay each other. Imagine two grids stacked on top of each other.

It is then a matter of comparing whether the value of a pixel in the new raster is the same as the value of the pixel in the old raster. Pixels that have changed are then marked. The output is usually a raster that covers the same extents as the two images with the changed areas highlighted. It's a simplification of course but you get the idea :)

enter image description here

Where or in which books can I find more information about Change Detection?

You can start with these documents

  • Review Article Digital change detection techniques using remotely-sensed data
  • THE STATE OF CHANGE DETECTION IN GIS
  • How Change Detection Works

What tools should I use to perform such an analysis using the data in a shapefile? (only open-source please)

You can try out Opticks. It has a change detection plugin.


Check out DTclassifier here which you can use with QGIS.

DTclassifier provides simple streamlined interface for raster classification and change detection using decision trees.

Plugin features:

  • integrated approach — perform all operations including training data collection, tree-building and classification in QGIS
  • first example of using computer vision library OpenCV in QGIS
  • use of non-parametric classification algorithm — decision trees.

You can find a tutorial here.

Beside this you can glance at this post here, Entropy change detection

change detection


I don't think you will find many tools for change detection on vector data (like shapefiles) because its a trivial problem - just walk the points, and tell me if they are the same.

Change detection is more typical for raster images (e.g. SAR images, or visual/IR images), where the problem is detecting what has changed from one satellite pass to the next, or from one aircraft overflight to the next, or "before and after" on a site that has experienced natural disaster.

For raster images, one open source toolkit option is Orfeo Toolbox.