Details algorithms and planning of the SOCIS project
- 1 Scope
- 2 Planning
- 3 Algorithms
- 4 Limitations
- 5 Progress
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 www.infoterra.de.
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 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.
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.
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).
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).
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
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
Implement SNAPHU wrapper in OTB
Flat Earth Removal
Weekly reports describing activities and progress are available at http://groups.google.com/group/otb-developers.
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.