Details algorithms and planning of the SOCIS project

From OTBWiki
Jump to: navigation, search


This page describes the details of the 2011 SOCIS project, such as algorithms, planning, progress and results.

The chosen project for this year is the implementation of an interferometric framework in OTB.

The main InSAR pair used was the Uluru set from the TerraSAR-X demo set available from

Uluru subset Uluru subset



Coregistration of complex InSAR pairs will require two main steps: coarse and fine registration. In order to be able to generate an interferogram from the master and slave images, a registration accuracy of better than 1/8 of a pixel is needed so that high coherency is preserved.

The coarse registration will be done using a grid of tie points from the master image for which cross product in frequency domain with related points on the slave image will be calculated. Finding maximal values for each tie point will provide coarse offset. A threshold is used to determine if coherence values are high enough to keep tie points. The tie point pairs will then be used for an affine transformation estimation using least-square solving.

The fine registration will require subpixel accuracy. A grid of pixel will be used to get a deformation field of displacements to get a proper warped slave image. A window around each grid position will be padded to 8 times it's size so that the FFT will be produced at 1/8 of a pixel resolution. Coherence will be estimated and the maximal value will be transposed in the slave image geometry to get local offsets.

The master and registered slave images used are shown below.


Interferogram formation

Interferogram formation is pretty simple: take the finely coregistered master and slave images, compute the complex product of master with conjugate of slave. Some filtering will probably be needed to account for speckle noise. Upsampling the images before interferogram formation will also create a better interferogram.

The resulting interferogram in shown below. Notice the repeating fringes that are present on all the region.

Complex interferogram Interferogram overlaid on original image

Flat Earth removal

Flat Earth removal is needed to account for the curvature of the Earth's surface. The difference in position between master and slave image affects the frequency of flat earth fringes. Knowing this frequency value and the position of a real elevation point, these fringes can be removed to obtain a wrapped phase interferogram of elevation. Multiple methods exist and should be evaluated before selecting one.

The simple method of using the FFT to get the main frequency to calculate and remove the fringes is show here.

Complex interferogram - Flat Earth removed Flat Earth removed Interferogram overlaid on original image

Phase unwrapping

Phase unwrapping takes care of phase ambiguities by following phase direction to construct a phase ambiguity free interferogram that can later be used for height estimtation and digital elevation model creation.

A popular unwrapping algorithm is currently used by most software doing InSAR processing: SNAPHU. It is available freely and the license should be compatible with OTB (if the CS2 filter is not used).


Coarse registration

The first step of the InSAR framework is to obtain a coarse registration (up to 1 pixel precision in range and azimuth). The proposed algorithm is the following:

1. Define a regular grid on the master image (NxM)
2. For each point p1 of the grid :
   a. Find the corresponding point p2 in slave image according to sensor model
   b. Extract a (RxR) region around the current point in master image
   c. Extract a (RxR) region around the corresponding point in slave image
   d. Forward FFT of master extract
   e. Forward FFT of slave extract
   f. Cross-product of both FFTs
   g. Inverse FFT of result
   h. Look for global maximum offset v
   i. Add (p1,p2+v) in the tie points set if coherence is higher than threshold value
3. Estimate an affine transform from the tie points with Least-Square estimator

If R is large enough (around 1024), sensor modelling might not be necessary. We will give a try to sensor models with small R (64 or 128).

Fine registration

The second step of the InSAR framework is to obtain a fine registration (at least 1/8 of a pixel precision in range and azimuth). The proposed algorithm is the following:

1. Generate a block grid of 16x16 pixels:
   a. For each end points:
      i. Get a 32x32 window
      ii. Pad the window to 256x256
      iii. Perform FFT on padded window
      iv. Calculate correlation by formulae: a*conj(b)
      v. Normalize to get coherence
      vi. Keep offset value of greatest coherence
2. Use displacement map with complex interpolation to warp slave image

Interferogram formation

The third step of the InSAR framework is to obtain the complex interferogram. The proposed algorithm is the following:

1. For each pixel:
   a. Multiply master value with the complex conjugate value of the slave
2. Save interferogram

Flat Earth removal

The fourth step of the InSAR framework is to remove the flat earth fringes. The current algorithm is the following:

1. Transform interferogram image with FFT
2. Get modulus image of FFT result
3. Get value of peak frequency
4. For each pixel in the image:
   a. Multiply value with the complex simulated flat earth phase at the pixel position
5. Save interferogram with fringes removed

Phase unwrapping

Implement SNAPHU wrapper in OTB


Coming soon...


Flat Earth Removal


Weekly reports

Weekly reports describing activities and progress are available at


06-09-2011: Julien, Patrick and David had a starter meeting in order to define the required parts for a successful and fast coarse registration.

21-09-2011: Julien, Patrick, Emmanuel and David had a progress meeting in order to verify that all is good for the coarse registration step and to determine which steps to take in order to achieve fine registration.

14-10-2011: Julien, Patrick and David had a progress meeting with the aim of setting a proper validation scheme and verification of the fine registration part.

18-11-2011: Julien Michel, Emmanuel, Julien Malicks and David had a final meeting in order to discuss final results, limitations and what should be done to complete the framework.