Phase correlation
From Wikipedia, the free encyclopedia
In image processing, phase correlation is a fast frequency-domain approach to estimate the relative translative movement between two images.
Contents |
[edit] Method
Given two input images and :
Apply a window function (e.g., a Hamming window) on both images to reduce edge effects. Then, calculate the discrete 2D Fourier transform of both images.
Calculate the cross-power spectrum by taking the complex conjugate of the second result, multiplying the Fourier transforms together elementwise, and normalizing this product elementwise.
Obtain the normalized cross-correlation by applying the inverse Fourier transform.
Determine the location of the peak in (possibly using sub-pixel edge detection).
[edit] Rationale
The method is based on the Fourier shift theorem. Let the two images and be circularly-shifted versions of each other:
(where the images are in size).
Then, the discrete Fourier transforms of the images will be shifted relatively in phase:
One can then calculate the normalized cross-power spectrum to factor out the phase difference:
since the magnitude of a complex exponential always is one, and the phase of always is zero.
The inverse Fourier transform of a complex exponential is a Kronecker delta, i.e. a single peak:
This result could have been obtained by calculating the cross correlation directly. The advantage of this method is that the discrete Fourier transform and its inverse can be performed using the fast Fourier transform, which is much faster than correlation for large images.
[edit] Limitations
In practice, it is more likely that will be a simple linear shift of , rather than a circular shift as required by the explanation above. In such cases, will not be a simple delta function, which will reduce the performance of the method. In such cases, a window function should be employed during the Fourier transform to reduce edge effects. However, if the images consist of a flat background, with all detail situated away from the edges, then a linear shift will be equivalent to a circular shift, and the above derivation will hold exactly.
For periodic images (such as a chessboard), phase correlation may yield ambiguous results with several peaks in the resulting spectrum.
[edit] Example
The following image demonstrates the usage of phase correlation to determine relative translative movement between two images corrupted by independent Gaussian noise. One can clearly see a peak in the phase-correlation image approximately at (30,33).
[edit] See also
[edit] References
- E. De Castro and C. Morandi "Registration of Translated and Rotated Images Using Finite Fourier Transforms", IEEE Transactions on pattern analysis and machine intelligence, Sept. 1987