Having plenty of satellites available is nice. Having continuous imagery since the 80’s is great. Having better and better satellite imagery is amazing. But it comes a time when all these images must come together. All multi-sensor or long time-series satellite imagery datasets (they usually get long by merging multiple sensors) suffer from slight geographical misalignments. Sometimes these shifts are not important, e.g. creating a gif with urban expansion, but other times are critical, e.g. if the satellite imagery is used to plan pipes. We mostly look at forests, which doesn’t strike to be a particularly precision hungry application, but mixing very different sensors, such as radar, multispectral, and high-resolution optical make coregistration a necessity. So, we decided to test 2, free and off-the-shelf solutions and see how they perform at co-registering Sentinel-1 and Sentinel-2 imagery.

  1. AROSICS says that
  • “[…] is a python package to perform automatic subpixel co-registration of two satellite image datasets based on an image matching approach working in the frequency domain, combined with a multistage workflow for effective detection of false-positives”
  • “[…] detects and corrects local as well as global misregistrations between two input images […] [and] is robust against the typical difficulties of multi-sensoral/multi-temporal images”
  1. Orfeo toolbox is
  • “[…] an open-source project for state-of-the-art remote sensing”
  • “[provides a] wide variety of applications are available: from ortho-rectification or pansharpening, all the way to classification, SAR processing, and much more!” While they both fit the bill for our purpose, from the get-go, we can see that AROSICS is focused on co-registration, while Orfeo is a more comprehensive tool for dealing with satellite imagery.

The general, overly simplified theory on how co-registration works is that contrasting, or salient, objects are searched for in the first image, and then their match is searched for in the second image. Once a good deal of matching points are available, a formula is determined for changing one image to match the other. The formula can be an average for all the matching points, or separate local formulas can be calculated for each patch. The first one is faster, but less accurate and it’s usually called a global co-registration, and the former, local co-registration, takes longer and will produce more accurate, but warped results. Obviously, the quality of the final output is a function on how many good matching points the software was able to find. For this reason, we selected 2 test sites with very different conditions. One is an urban site (Riau - Indonesia), with plenty of salient points, and the other is a nearby forest site. http://bigeoanalytics.wur.nl/images/test-sites.png