The present invention relates to two-dimensional code patterns and more particularly to the automatic demodulation of fringe patterns. The present invention also relates to the automatic estimation of pattern and texture orientation of an image. The present invention further relates to phase demodulation of a sequence of fringe patterns with arbitrary and unknown phase shifts between them. Such patterns typically occur in optical interferograms, but can also occur in interferograms produced by more general waves such as acoustic, synthetic aperture radar (SAR), ultrasound, and x-ray More general image sequences, such as video, can in some cases also be modelled as fringe pattern sequences.
Methods exist for demodulating fringe patterns. Examples of such patterns are illustrated in
In addition to ambiguities other defects and errors may also be produced by the preliminary demodulation process. An example of this can be found in the classic Fourier (Hilbert) transform method (FTM). When the FTM is applied to a whole image, artefacts are produced, the artefacts being related to discontinuities introduced by the half-plane filter used in Fourier space. The artefacts result in errors in phase estimation, and specifically in regions where an angle of the fringe pattern is close to perpendicular with the half-plane discontinuity line.
A method adopted to overcome this problem is to choose the half-plane filter in Fourier space such that the discontinuity line does not cut through the signal in Fourier space.
However, the frequency components derived from circular or elliptical fringe patterns are also “circular” and no discontinuity line could be defined which does not cut through the frequency signal.
Other methods based on local (small kernel) demodulation may avoid the errors of the FTM, but typically fail to disambiguate correctly when there are strong perturbations in the underlying fringe pattern. Features such as bifurcations and fringe endings represent typically strong perturbations.
Images are often characterised by a number of features including pattern and texture. A number of image processing operations depend upon the estimation of the orientation of these image features.
Image processing/analysis applications where the estimation of orientation is important include:
One such area where the estimation of orientation is particularly important is the demodulation of fringe patterns or equivalently, AM-FM modulated patterns. One area where such patterns exist is in fingerprint analysis. Other areas include the analysis of naturally formed patterns such as an iris diaphragm, ripples in sand, and fluid convection in thin layers. The primary reason why it is useful to know the fringe orientation when demodulating such a fringe pattern is because it allows for 1-dimensional demodulators to be aligned correctly.
Another area where the estimation of pattern orientation is used is in image re-sampling and enhancement.
Known methods for estimating pattern orientation include gradient-based methods. A serious deficiency with such gradient-based methods is that at the ridges and valleys of images, the gradient has zero magnitude. Gradient methods are therefore unable to provide information about pattern direction in such regions.
Interferometry refers to experiments involving the interference of two light waves that have suffered refraction, diffraction or reflection in the interferometer. Such experiments typically involve the testing of lenses, mirrors and other optical components. The principle parameter of interest in interferometry is the phase difference between interfering beams.
Present methods of demodulating sequences of phase-related fringe-patterns generally rely on a priori knowledge of the phase-shifts between each of the individual patterns. When these relative phase-shifts are available, it is possible to estimate the spatial phase by using a generalised phase-shifting algorithm (PSA). In cases where the relative phase-shifts are not a priori known, the estimated spatial phase will be incorrect unless special error-reducing PSAs are used or methods to estimate the actual phase-shift between patterns are used.
Error-reducing PSAs are useful where the deviation of the actual phase-shift from the expected phase-shift is small (typically less than 0.1 radian) and deterministic. When the phase-shift deviation is larger and/or non-deterministic (ie essentially random), then other methods must be used.
Methods have been developed to estimate phase shifts between phase-related fringe patterns. Certain of the methods, based on statistical (least squares) estimation, requires at least 5 fringe patterns to work. Methods based on fitting the phase shifts to an ellipse also require at least 5 fringe patterns. Methods based on the statistical properties of spatial phase histograms have been proposed, but are heavily dependent on certain restrictive, and often unrealistic criteria. More recently methods based upon the correlation between patterns have been proposed but are very sensitive to the number of full fringes in the frames. These correlation methods assume that the fringes are essentially linear in the frame, which means only trivial fringe patterns can be processed. Methods based on the maximum and minimum variation of individual pixels in different patterns typically require at least 15 frames to operate effectively.
Accordingly, current methods of demodulating sequences of phase-related fringe-patterns are unsatisfactory in many situations, especially for a small number of phase-related fringe-patterns, and many algorithms do not work in the case of three or four frames.
It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements.
According to a first aspect of the invention, there is provided a method of demodulating a real two-dimensional pattern, the method comprising the steps of:
estimating a quadrature two-dimensional pattern from said real two-dimensional pattern using a two-dimensional spiral phase filter; and
creating a demodulated image by combining said real two-dimensional pattern and said estimated quadrature two-dimensional pattern.
According to another aspect of the invention, there is provided an apparatus for demodulating a real two-dimensional pattern, the apparatus comprising:
means for estimating a quadrature two-dimensional pattern from said real two-dimensional pattern using a two-dimensional spiral phase filter; and
means for creating a demodulated image by combining said real two-dimensional pattern and said estimated quadrature two-dimensional pattern.
According to another aspect of the invention there is provided an apparatus for calculating a quadrature conjugate of a real two-dimensional code pattern, the apparatus comprising:
a first spatial light modulator for modulating coherent light to produce said real two-dimensional pattern;
a first lens for Fourier transformation of said real two-dimensional pattern to produce a first Fourier transformed image;
a second spatial light modulator or spiral phase plate for phase modulating said first Fourier transformed image to produce a phase modulated image;
a second lens for Fourier transformation of said phase modulated image to produce a second Fourier transformed image;
a third spatial light modulator or spiral phase plate for phase modulating said second Fourier transformed image to produce said conjugate of said real two-dimensional pattern; and
an image sensor for capturing said conjugate of said real two-dimensional pattern.
According to yet another aspect of the invention there is provided a method of estimating an orientation angle of a pattern in an image, said method comprising the steps of:
applying a complex energy operator to the image to provide an energy encoded image;
determining a phase component of said energy encoded image; and
calculating said orientation angle from said phase component of said energy encoded image.
According to yet another aspect of the invention there is provided an apparatus for estimating an orientation angle of a pattern in an image, said apparatus comprises.
means for applying a complex energy operator to the image to provide an energy encoded image;
means for determining a phase component of said energy encoded image; and
means for calculating said orientation angle from said phase component of said energy encoded image.
According to yet another aspect of the invention there is provided a method of estimating a spatial phase of fringe pattern images in a sequence of fringe patterns, said method comprising the steps of:
a) removing offsets from each of said fringe pattern images to obtain pure AMFM patterns;
b) determining contingent analytic images corresponding to each of said AMFM patterns;
c) determining phase differences from dependent pairs of said contingent analytic images;
d) estimating phase shifts between pairs of said contingent analytic images; and
e) estimating a spatial phase of said fringe pattern images.
According to yet another aspect of the invention there is provided an apparatus for estimating relative phase shifts between fringe pattern images in a sequence of phase-related fringe patterns, said apparatus comprising:
means for removing offsets from each of said fringe pattern images to obtain pure AMFM patterns;
means for determining contingent analytic images corresponding to each of said AMFM patterns;
means for determining phase differences from dependent pairs of said contingent analytic images; and
means for estimating phase shifts between pairs of said contingent analytic images, wherein said phase shifts between pairs of said contingent analytic images are said relative phase shifts between fringe pattern images.
A number of embodiments of the present invention will now be described with reference to the drawings and appendix, in which:
Consider a two-dimensional fringe pattern with intensity of the fringe pattern as follows
f(x,y)=a(x,y)+b(x,y), cos [2π(u0{x−x0}+v0{y−y0})−χ] (1)
Position coordinates (x,y) may be continuous for an analog pattern or discrete for digital patterns. A background level is denoted by a(x,y) while an amplitude modulation term is denoted by b(x,y), both assumed to be slowly varying functions. Phase term χ(x0,y0) presents the local offset of the overall phase term in the square brackets [ ] of Equation (1).
Referring to
A noise term is omitted from Equation (1), but may be present in real fringe patterns due to the occurrence of blurring, non-linearities, quantisation errors, smudging, scratches, cuts, dust, etc.
The intensity pattern f(x,y) is (generally) a rapidly varying function of position coordinates (x,y).
The Fourier transform (FT) of the above fringe pattern region Ω is:
wherein ι=√{square root over (b−1)}
From Equation (2) it is clear that the Fourier transform FΩ of the fringe pattern f has 3 lobe centres, the first being at the origin and another two at spectral coordinates (u0,v0) and (−u0,−v0). The last two lobe centres are mirror images of each other with regards to the origin. The effect of windowing the fringe pattern f over a small region Ω is to blur the otherwise sharp lobes. The central lobe AΩ, representing the zero frequency component, can be removed, and will therefore be disregarded in the following analysis. Methods that may be used for removal of the zero frequency components include using a suitably matched high pass filter. The remaining spectral lobes are illustrated in
The local spatial frequency components u0 and v0 of the fringe pattern f satisfies the following Equations:
wherein β0 is an angle of the normal to the fringes with the x-axis and λ0 is the spacing between fringes.
The conventional Fourier transform method (FTM) of fringe analysis is based on the assumption that the angle β0 is confined to a small range for the entire fringe pattern, typically much less than π radians. However, when considering fringe patterns with circular, elliptical carrier patterns or other closed curves, the angle β0 covers the entire angle range from 0 to 2π radians. The FTM would therefore be deficient in solving fringe patterns created with closed curve carriers. The reason for this failure is related to the inability of the FTM to isolate the two (mirrored) lobes of the FT. As noted above, the frequency components derived from closed curve fringe patterns are also “closed curves”. Therefore, referring again to Equation (2), both the second and third terms will have “closed curve” spectral components, causing a total lobe overlap.
The preferred implementation removes directional discontinuities in the Fourier processing of the fringe pattern f by smoothly encoding the fringe direction by utilizing a filter with odd (180° rotational) symmetry, but (unlike the FTM) a smooth transition between adjacent frequencies. Also, the filter used in the preferred implementation does not alter the strength of different frequency components, and is therefore a unit magnitude or phase only filter.
A (complex) Fourier representation P(u,v) of the filter preferably has the following anti-symmetry qualities:
P(u,v)=exp[iX(u,v)]=P(−u,−v)=−exp[i(X(u,v)+π)] (4)
A preferred filter chosen has a phase X(u,v) which is set equal to the polar angle
φ:
X(u,v)=φ (5)
where
The resulting filter is termed a “spiral phase filter” because the filter phase X increases linearly as the polar angle φ increases. The magnitude of the filter is constant (so the filter is a pure phase filter) and the phase has the form of a spiral or helical surface with just one turn. An equivalent form of the filter is simply:
The Fourier transform of the fringe pattern after the central lobe has been removed is as follows:
GΩ(u,v)=(BΩ(u−u0,v−v0)exp[iχ]+BΩ(u+u0,v+v0)exp[−iχ])e−2π(ux
Applying the spiral phase filter P(u,v) to Equation (8) changes the lobe symmetry to give:
Equation (9) can be inverse transformed, as is shown in Equation (10), by implicitly assuming that the polar angle φ(u,v)≈±β0 remains constant over each lobe. This is equivalent to assuming that the lobe subtends a small polar angle φ, which is a reasonable assumption for typical fringe patterns f.
The desired sine component of the local fringe pattern ĝ(x,y) can then be extracted by multiplying ĝ(x,y) with an orientational phase component, exp[−iβ0] as follows
ĝ(x,y).exp[−iβ0]=i sin [2π(u0{x−x0}+v0{y−y0})+χ] (11)
Conceptually the process is repeated for all fringe regions with their corresponding fringe orientation angles β. In practice the procedure can be applied to all regions simultaneously. It is noted that the original (conceptual) windowing is not actually required.
The aforementioned process depends upon the functions b(x,y), β(x,y), χ(x,y), u0(x,y), v0(x,y), and σ0(x,y) having suitably slow variation. However, it is found in practice that the preferred implementation can be successfully implemented on any fringe patterns f with a suitably smooth variation in orientation β(x,y) and spacing λ0. For fringe patterns f with circular fringes and constant or quadratic (chirp) fringe spacing λ0, the preferred implementation only breaks down near the very center of the fringe pattern f due to the assumption of small polar angle subtense failing near the centre.
Equation (11) represents an estimation of the imaginary part of the analytic function (or image) related to the original real fringe pattern f. This component is also called the quadrature component or analytic conjugate. By forming a new (complex) output image comprising the original real image f and the estimated imaginary image, the phase and magnitude of the resulting complex fringe representation can be obtained as follows:
(f−a)+(ĝ(x,y)exp{−iβ0})≈b.exp{i[2πi(u0{x−x0}+v0{y−y0})+χ]} (12)
The DC component (lobe) of the transform F(u,v) is removed in step 130. In step 40, the spiral phase filter P(u,v) is applied to the output from step 130. In step 150, the inverse Fourier transform is calculated. This may be performed by again applying a 2-dimensional FFT.
In step 160, an orientational phase filter is applied to the resulting image of step 150. In step 170 the real part is discarded, leaving only the imaginary part, which is then added to the input fringe pattern image f(x,y) in step 180 to produce an output image in step 190.
The fringe pattern image f(x,y) is captured in step 210. In the phase demodulation process 200, steps 120 to 150 of the phase demodulation process 100 shown in
wherein
The result after such a convolution on the fringe pattern image f(x,y) of
Referring again to
One method of estimating the fringe orientation β is to compute the 2-D energy operator which gives uniform estimates over the fringe pattern image f(x,y). In contrast, typical gradient based methods fail to give reliable orientation estimates at the peaks and valleys of the fringes.
An alternative method of estimating the fringe orientation β is to use an uniform orientation estimator, but to utilise local environmental constraints (such as topology of smoothly varying fringes) to resolve or unravel the orientational ambiguity.
It is noted that an estimate of the orientation can be obtained from the output of step 150 in
A preferred implementation of estimating the fringe orientation β is described in detail below.
In step 240 the real part is discarded, leaving only the imaginary part, which is then added to the input fringe pattern image f(x,y), in step 250 to produce an output image in step 260.
The method of
In the special case where the input image is a circularly symmetric fringe pattern, then the SLM 306 has the simple form of a spiral phase with opposite sign to SLM 304.
Returning to the description of the estimation of the fringe orientation β, it is noted that in recent years, an efficient method of signal demodulation using a concept known as an “energy operator” has become popular. The operator can be used for demodulation of AM and FM signals, including combined AM-FM signals, using a result from the analysis of simple harmonic motion (SHM). The energy operator Ψ is defined as:
A particularly useful property of the energy operator Ψ is that it gives uniform estimates of modulation parameters anywhere on the signal f. Essentially this is due to the fact that, at local peaks (and troughs) of the signal f, the energy is concentrated in the potential energy component, represented by the second term in Equation (16), whereas at the zero crossings, the energy is in the kinetic component represented by the first term in Equation (16). In other words, the rapidly varying sine and cosine components associated with AM-FM signals are exactly cancelled out by the energy operator Ψ, leaving an underlying constant representing total energy.
The operation of the energy operator Ψ has also been extended to N-dimensions. This is described in the publication “A multi-dimensional energy operator for image processing”, SPIE Conference on Visual Communications and Image Processing, Boston, Mass., [1992], 177–186, by P. Maragos, A. C. Bovik, and J. F. Quartieri.
Utilising the energy operator Ψ on images, (i.e. data sets formed in 2-dimensions,) separate x and y components may be calculated and added together to obtain an overall 2-dimensional energy operator.
However, the energy operator Ψ defined in this simple way has certain deficiencies. The main deficiency being that the orientation associated with the energy components is strictly limited to the positive quadrant of the x-y plane, which means that visually very different orientations are indistinguishable using two positive energy components.
Referring again to
g(x,y)=b(x,y). cos [2π(u0{x−x0}+v0{y−y0})+χ] (17)
wherein any slowly varying (non-multiplicative) background offsets a(x,y) are removed with an appropriate high-pass filter. The local spatial frequency components u0 and v0 satisfy Equations (3).
The x and y component energy operators Ψx and Ψy respectively may be performed on the fringe pattern defined in Equation (17) as follows:
Substituting Equations (18) and (19) into Equations (3), the local frequency and orientation of the local fringe pattern may alternatively be expressed as follows:
Equation (21) indicates a loss in sign information, which corresponds to an inability to distinguish between fringes at four different orientations β0, −β0, π+β0, π−β0. This is very undesirable because the human eye can clearly separate orientation β0 from π−β0, and −β0 from π+β0. In general, however, it is not possible to distinguish (on a local level at least) between any orientation and the π rotated orientation.
An alternative approach to extending the energy operator Ψ to two dimensions is by defining a two dimensional complex operator Ψc which encodes the energy in the magnitude and the orientation in the phase:
Ψx{g}+Ψy{g}=(2πb)2(u02+iv02) (22)
As mentioned above, the simple x and y components alone fail to represent the orientation correctly. A preferable approach would be to have a 2D energy operator that has the following output:
Ψc{g(x)}=(2πb)2(u0+iv0)2=(2πσ0b)2 exp(2iβ0) (23)
The complex energy operator Ψc enables the isolation of the fringe spacing λ0, as seen in
The complex energy operator Ψc can then be defined as follows:
(D{g})2−gD2{g}=(2πσ0b)2exp(2iβ0)=Ψc{g} (25)
With the Fourier transform defined as follows:
the operator D can be implemented in the Fourier space, providing the following relationship:
wherein
2π(u+iv)≡2πq.exp(iφ) (28)
and the polar coordinate transforms are:
The corresponding Fourier operation of Equation (27) provides for the multiplication of the Fourier transform of the fringe pattern G(u,v) with a spiral phase filter, q exp(iφ) The spiral phase filter has the characteristic of linearly (conical) increasing in magnitude with frequency. The Fourier transformation pairs may be written as:
G(u,v)g(x,y) (30)
(2πi)q exp(iφ)G(u,v)D{g(x,y)} (31)
(2πi)2 q2 exp(2iφ)G(u,v)D2{g(x,y)} (32)
The derivatives in Equation (25) can therefore be implemented as 2-dimensional Fourier filters with spiral phase and conical magnitude.
By applying the differential operators defined in Equations (30) to (32) as filters through simple multiplication of the image of
All the above calculations and derivations may alternatively be implemented as convolution operators without Fourier transformation.
However, when the energy operator Ψc is applied to a fringe pattern f containing noise, such as that shown in
One possible correction is to apply a low pass filter function to the input image or the result. However, the energy operator Ψ is not a linear (shift invariant) operator It is dependent on products of the input function g and its derivatives ∂g/∂x and ∂2g/∂x2, as can be seen from Equation (16). Low pass filtering results in the image becoming blurred.
To overcome the deficiencies of the complex energy operator Ψc, while maintaining the ease of calculation of the orientation angle β0, a pure phase operator DM, thus having uniform (spectral) magnitude, is created by setting q in Equations (31) and (35) to unity, to define the following Fourier transform pair:
exp(iφ)GDM{g(x,y)} (33)
The pure phase operator DM is a spiral phase (or vortex) operator which results in the removal of noise without significant blurring of the signal. By applying the modified energy operator ΨM defined as:
ΨM{g}=(DM{g})2−gDM2{g} (34)
to the image in
It is noted that, similar to the energy operator Ψ, the modified energy operator ΨM is also non-linear. A consequence of this is that it is generally not possible to obtain the performance of the modified energy operator ΨM by merely applying a low pass filter to the input function, nor by filtering the output function, of the energy operator Ψ.
The modified energy operator ΨM has a property of scale invariance, which it inherits from the scale invariant DM operator. Scale invariance is another aspect of the operator's spectral neutrality and means that the operator essentially gives outputs independent of feature size.
To further illustrate the advantages of the modified energy operator ΨM, the complex energy operator Ψc and the modified energy operator ΨM are respectively applied to an image with uniform noise in the range ±64 greylevels shown in
Another comparative example wherein the performance of the modified energy operator ΨM can be seen is shown in
It is further noted that since the underlying fringe pattern of the images in
The modified energy operator ΨM may be implemented entirely in the Fourier space domain by using complex convolution kernels that correspond to the pure phase spirals. With the kernel k and its Fourier transform K, the Fourier transform pair can be defined as:
wherein the spatial polar coordinates satisfy the following:
The convolution kernel k reduces by the inverse square of the radius, and also has a spiral phase structure, but rotated by 90° with respect of the x-y coordinates. According to the above, since it is now known those operations required to be performed to extract local orientation information from a fringe pattern, it is not necessary to perform such calculations in the Fourier domain. Rather, the desired functions may be recalculated in the real domain thereby facilitating ease of processing. In many cases the desired functions may be approximated by suitably truncated kernels. The inverse square drop-off allowing relatively small truncation errors even for small kernels
Referring again to
Where Equation (17) is representative, the modified energy operator ΨM, as defined in Equation (34), may be used for the calculation of the orientation angle β0 of all such images.
An example of such an image and the operation of the modified energy operator ΨM are shown in
A flow diagram of a method 400 of estimating the pattern and texture orientation of images is shown in
Although the preceding analysis has been in terms of continuous functions and continuous operations, the analysis is also directly applicable to discretely sampled functions (images) and discrete operations.
A Fourier transform of the image is calculated in step 410, typically using the Fast Fourier Transform (FFT). The Fourier transformed image is multiplied with a term exp(iφ) in step 420.
An output of step 420 is again multiplied with the term exp(iφ) in step 430 before it is inverse Fourier transformed, typically using an Inverse Fast Fourier Transform (IFFT) in step 440. The result is then multiplied with the input signal in step 470.
The output from step 420 is also inverse Fourier transformed in step 450 before it is squared in step 460. The output from step 470 is subtracted from the output of step 460 in step 480. From this complex signal, the angle of the signal is calculated in step 490 before it is halved in step 494 to provide an orientation angle β0 as an output in step 496.
As noted above, the orientation estimate is modulo π but can be unwrapped using continuity constraints to obtain an estimate that is modulo 2π.
Interferometry is the use of interference phenomena for measurement purposes. This allows for the measurement of very small angles or small displacements of objects relative to one another. An interferometer is a device to make such measurements, which typically uses a beam of light, coming from a single source, such as a star, a laser or a lamp, and two or more flat mirrors to split off different light beams. These beams are then combined so as to ‘interfere’ with each other. The beams interfere with each other by constructively adding together and cancelling each other out, thereby forming alternating bands of light and dark, called fringe patterns.
What makes the interferometer such a precise measuring instrument is that these fringes are only one light-wavelength apart, which for visible light corresponds to about 590 nm. With the fringe patterns having a cyclic nature with phases that shifted, the important measurement parameter is the relative phase-shifts between these phase-related fringe patterns.
Consider an intensity fn(x,y) of the nth fringe pattern in a sequence of phase-related fringe patterns with the following mathematical form:
fn(x,y)=a(x,y)+b(x,y)cos [χ(x,y)+δn] (37)
wherein a(x,y) is again denotes a background or offset, b(x,y) the amplitude modulation, and χ(x,y) the phase. Each fringe pattern has a phase shift parameter δn. An example of such a fringe pattern is shown in
An improved method of estimating relative phase-shifts between phase-related fringe patterns fn is proposed. The method is based on an isotropic quadrature transform. The isotropic quadrature transform is used to estimate the spatial phase [χ(x,y)+δn] in one fringe pattern fn, followed by comparing the spatial phase [χ(x,y)+δn] between fringe patterns fn to estimate the relative phase-shift(s). With 3 or more frames, the method is independent of background variations a(x,y).
The exact value of phase χ(x,y) can be calculated from three or more fringe patterns fn if the values of the phase shift parameter δn is known for each fringe pattern fn. For more than three fringe patterns fn(x,y), the phase χ(x,y) is over-determined and is usually estimated in a maximum likelihood process. Other estimation processes may be more appropriate in cases where additional systematic error or distortion effects apply to Equation (37).
Consider a least squares estimate for the phase χ(x,y) from N fringe patterns:
where cn=cos δn, and sn=sin δn, and the summations are over N fringe patterns ie.
Least squares Equation (38) can be inverted, providing cn and sn are such that a singular matrix does not occur, as follows:
Equation (39) allows for the offset a(x,y), the amplitude modulation b(x,y), and the phase χ(x,y) to be calculated. However, before Equation (39) can be used, all the phase shift parameters δn must be known,
The phase shift parameter δn of each fringe pattern is estimated by using a 2-D quadrature technique based on a spiral phase Fourier operator. Estimation of phase χ(x,y) in the above manner has many advantages related to the extraordinary demodulation properties of the spiral phase Fourier operator.
A first step in determining the phase shift parameters δn is to remove the background (offset) a(x,y) from each of the fringe patterns fn(x,y). In the preferred implementation, this is done by forming inter-frame differences between pairs of fringe patterns fn(x,y) as follows:
gnm=fn−fm=−gmn=b{cos[χ+δn]−cos [χ+δm]} (40)
The inter-frame difference function gnm is a pure AMFM (amplitude modulation and frequency modulation) function without offset and therefore can be demodulated if the inter-frame difference function gnm, which is also a fringe pattern, is locally simple. For the fringe pattern gnm to be locally simple, it has to have a unique orientation β(x,y) and spacing λ(x,y) at each location (x,y), except, perhaps, at a finite number of locations where the orientation β(x,y) and/or spacing λ(x,y) may be uncertain. Advantageously, local simplicity is a property which distinguishes fringe patterns from other, more general, patterns.
A spiral phase Fourier operator V{ }, hereinafter referred to as a vortex operator, is defined as follows:
The Fourier operator F{ } transforms a general function f(x,y) from the spatial domain (x,y) to the spatial frequency domain (u,v). The Inverse Fourier operator F−1{ } transforms a spatial frequency domain signal back to the spatial domain (x,y). In practice, for discretely sampled images, the Fourier and the Inverse Fourier transforms are efficiently performed by a Fast Fourier transform algorithm and an Inverse Fast Fourier transform algorithm.
The spiral phase exp[iφ] is wholly a function of the angular component of the spatial frequency polar coordinates (q,φ) shown in
V{gnm}≅i exp[iβ]b[sin(χ+δn)−sin(χ+δm)] (42)
From Equation (42) it can be seen that the vortex operator V{ } is an isotropic quadrature operator in that it converts cosine fringes at any orientation β(x,y) into sine fringes at the same orientation β(x,y). The approximation in Equation (42) is valid except in regions where the amplitude modulation b(x,y), spacing λ(x,y) or orientation β(x,y) vary too rapidly. Areas where the radius of curvature of the fringe pattern gnm is smaller than the fringe spacing λ(x,y) also give a lower accuracy approximation. However, for most typical fringe patterns gnm, the approximation is good and any errors are isotropically distributed. In contrast, conventional methods, such as the half-plane Hilbert transform, cause highly directional errors, and are not suitable for high precision demodulation of general fringe patterns.
Next, the local orientation β(x,y) is compensating for. To do so, the orientation β(x,y) must be estimated. There are a number of ways to do this. One method relies on the gradient of the fringe pattern gnm. The ratio of the x and y components gives the tangent angle β(x,y) from the local Taylor's series expansion of the phase χ(x,y) about the point (x0,y0):
The gradient components are:
The ratio of the gradient components gives the tangent angle:
Again the approximation of Equation (45) is valid in regions with smoothly varying parameters as defined for the vortex operator V{ }. Other methods of orientation estimation may be used. For example, methods based on the multi-dimensional energy operator or the vortex operator itself may be used. Generic orientation estimation is assumed at this point, and the orientation β for any fringe pattern fn or inter-frame difference function gnm may be calculated. Alternatively the orientation β may be estimated from combinations of the previous methods in a statistically advantage manner It will be assumed hereinafter that there is just one orientation estimate, which shall be called orientation estimate βe. The orientation estimate βe typically contains an ambiguity in the sign:
Different orientation estimates βe typically have the sign ambiguities in different places. It is worth noting that the overall sign ambiguity arises from the general difficulty in distinguishing a fringe at orientation β from a fringe at orientation β+π.
Equation (40) is rewritten as:
gnm=2b sin [χ+(δm+δn)/2] sin [(δm−δn)/2] (47)
and Equation (42) as:
exp[−iβe]V{gnm}≅2ib exp[i(β−βe)] cos [χ+(δm+δn)/2] sin [(δm−δn)/2] (48)
The complex exponential in Equation (48) has possible values {−1;1}, depending on the orientation estimate βe, and shall be called a polarity factor h(x,y):
h(x,y)=exp[i(β−βe)] (49)
A contingent analytic image {hacek over (g)}nm is defined as:
{hacek over (g)}nm=i(gnm−exp[−iβc]V{gnm}) (50)
By substituting Equations (47), (48) and (49) into Equation (50), the contingent analytic image {hacek over (g)}nm is rewritten as:
{hacek over (g)}nm≅2b sin [(δm−δn)/2](h cos [χ+(δm+δn)/2]+i sin [χ+(δm+δn)/2]) (51)
This definition of an analytic image is contingent upon the orientation function βe used in the definition shown in Equation (50). It is noted that the contingent analytic image {hacek over (g)}nm can be achieved by placing the inter-frame difference function gnm in the imaginary part of a complex image, and placing the imaginary output of the vortex operator V{ } in the real part.
A phase αnm of the contingent analytic image {hacek over (g)}nm is calculated as follows.
αnm=Arg{ignm−i exp[−iβc]V{gnm}}≅h[χ+(δm+δn)/2] (52)
The calculation of phase αnm is possible as long as sin [(δm−δn)/2]≠0, which only occurs if δm−δn≠2πj where j is an integer. Clearly the failure to calculate phase αnm in such a case is due to the phase shifts δm and δm being essentially equal and the inter-frame difference function gnm being identically zero.
The phase difference between dependent pairs of contingent analytic images, such as {hacek over (g)}nm and {hacek over (g)}mk, is calculated as follows:
αnm−αmk=h[χ+(δm+δn)/2]−h[χ+(δk+δm)/2]=h[(δn−δk)/2 ] (53)
This allows a difference in phase between any two fringe patterns fn and fk to be found, namely (δn−δk), with a sign ambiguity as a result of the polarity factor h. It is noted that all phase calculations, including phase differences, are calculated modulo 2π. Various methods may be used to extract both the polarity factor h and the phase differences (δn−δk). In a simplest implementation, from Equation (53), the absolute values of the phase difference between two fringe patterns fn and fk are averaged over the full fringe pattern area S:
A preferred implementation uses a weighted integral with weighting w(x,y) over the fringe pattern area S. The weighting w(x,y) used should be a measure of the estimated accuracy of the local estimate of the phase αnm. This is related to the AMFM characteristics of the fringe patterns fn(x,y) in the sequence of phase-related fringe patterns. Thus, the absolute values of the phase difference (δn−δk) between two fringe patterns fn and fk, weighted averaged over the full fringe pattern area S is:
This allows for a very low (or zero) weighting w(x,y) to be used where the phase αnm varies quickly, as is the case for discontinuities, or areas where the modulation b(x,y) is low Equation (53) can be rewritten as:
By arbitrarily taking the phase difference (δn−δk) for these particular values of n and k as positive, from Equation (56) follows an estimated polarity factor he as:
This estimated polarity factor function he can be used in all further computations, because a global sign convention has effectively been set for the phase difference (δn−δk) in the fringe pattern sequence.
Next, the phase difference δn−δk may be calculated for all possible pairs. The minimum requirement is to calculate the phase difference δn−δk for all sequential pairs, which amounts to N values for N fringe patterns fn. By also calculating the phase difference an δn−δk for non-sequential pairs, additional statistical robustness in the estimates is achieved. The number of combinations of two-phase differences δn−δk from N phases are:
In the particularly interesting case where N=3, the number of combination is also 3, which equals the number of sequential differences too.
In situations where the hinge patterns fn contain noise and/or other distortions, the best phase differences estimates {overscore (γ)}mn may come from a two dimensional fit of all the points corresponding to exp(iδn), as shown in
Without loss of generality, one of the phase shift parameters δn may be set to zero. For convenience the first phase shift parameter δ1=0 is set. This is consistent with the idea that the absolute value of the phase χ(x,y) is undefined and only phase differences γmn=δm−δn are really meaningful. The remaining (relative) phase shift parameters {overscore (δ)}n are calculated as follows:
{overscore (δ)}1=0
{overscore (δ)}2={overscore (δ)}1+{overscore (γ)}21
{overscore (δ)}3={overscore (δ)}2+{overscore (γ)}32
{overscore (δ)}4={overscore (δ)}3+{overscore (γ)}43
{overscore (δ)}5={overscore (δ)}4+{overscore (γ)}54 (60)
These values of the phase shift parameters δn are substituted back into the general PSA defined by Equation (39). This allows for all the fringe pattern parameters, namely the offset a(x,y), the amplitude modulation b(x,y), and a phase χ′(x,y) to be calculated. It is noted that the calculated phase χ′(x,y) then includes a common phase shift, namely the phase shift δ1.
However, there may be some residual calibration error due to the original vortex operator failing in certain areas. These errors are rectified by re-evaluating the weight function w(x,y) based on the present estimates of the offset a(x,y), the amplitude modulation b(x,y), and phase χ′(x,y), as well as their partial derivatives. This allows for the assessment of how well the original fringe patterns, in the form of the inter-frame difference functions gnm, fulfilled the smoothness requirements of the vortex operator V{ }. Areas where the phase αnm varies too quickly, or areas where the modulation b(x,y) is too low, the weighting function w(x,y) is reduced or set to zero. Once a new weight function w(x,y) is formed, the phase calibration process, from Equation (55) onwards, is repeated, resulting in better estimates for the phase shift parameters {overscore (δ)}n.
The accuracy of the estimates for the phase shift parameters {overscore (δ)}n may be expressed as the variance of phase difference, as follows:
wherein
Care is needed in evaluating Equations (61) and (62), as the phase χ′(x,y) is periodic and false discontinuities can disrupt the calculations if {overscore (α)}nk near −π or π.
Other methods for estimating these parameters {overscore (α)}nk that specifically incorporate the cyclic nature may be used instead of Equation (62), for example:
Step 630 forms analytic images {hacek over (g)}nm corresponding to the inter-frame differences gnm as defined in Equation (51). This is preferably achieved by placing the inter-frame difference function gnm in the imaginary part of a complex image, and placing the imaginary output of the vortex operator V{gnm} in the real part.
Step 140 extracts the phase difference αnm−αmk (modulo 2π) from two dependent analytic images {hacek over (g)}nm and {hacek over (g)}mk.
allowing the values to be displayed. The dark areas 710 and 711 have values close to zero on the representation, which corresponds to values for close to −π in the phase difference αnm−αmk, whereas the light areas 720 and 721 have values close to 255 in the representation, which corresponds to values close to π in the phase difference αnm−αmk. Accordingly, a value of 128 in the representation corresponds to a value of 0 in the phase difference αnm−αmk. The spread of values in the representation is shown in the histogram of
Step 150 determines a modulus of the phase difference |αnm−αmk|.
As can be seen from
Step 660 calculates the estimated polarity factor he(x,y), using Equation (37). The result is shown in
The relative phase-shift parameters {overscore (δ)}n are then substituted into the general PSA defined by Equation (39) and the fringe pattern offset a(x,y), the modulation b(x,y), and phase χ′(x,y) are estimated in step 680. The resultant modulation b(x,y), phase χ′(x,y) and offset a(x,y) of the fringe pattern fn(x,y) of the example are shown in
Step 690 estimates the likely errors in the earlier contingent analytic images {hacek over (g)}nm and {hacek over (g)}mk by means of a direct comparison of the analytic image {hacek over (g)}nm and the PSA image. Step 692 determines whether these errors are higher than a preset threshold. If the errors are smaller than the threshold, the method 600 ends in step 696. If these errors are higher than the threshold, the errors are incorporated into the weighting w(x,y) in step 694 and the method 600 returns to step 670 in an iterative manner, where the new weighting w(x,y) is applied to the estimation of the mean phase-difference {overscore (γ)}mn, until the errors are sufficiently low. In a simplest embodiment, the weighting w(x,y) is set to 1 for coordinates (x,y) where the comparison is good and 0 where the comparison is poor.
It is generally noted that in Equations with integrals over all values of x and y, such as Equations (41, 54, 55, 59 and 61), the integrals may be replaced by discrete summations for discretely sampled images.
The implementation is applicable to interferometric testing of optical components and optical systems. The embodiment may also be used in non-destructive testing to study the deformation of objects under stress, and the study of vibrating objects to identify vibration modes. Often, optical techniques are also used to visualise fluid flows, and variations in density are displayed in the form of fringe patterns.
The methods of demodulating a two-dimensional pattern, of estimating an orientation angle of a pattern in an image, and of estimating relative phase shifts between fringe pattern images may be practiced using a conventional general-purpose computer system 100, such as that shown in
The computer system 800 comprises a computer module 802, input devices such as a keyboard 810 and mouse 812, output devices including a printer 808 and a display device 804.
The computer module 802 typically includes at least one processor unit 814, a memory unit 818, for example formed from semiconductor random access memory (RAM) and read only memory (ROM), input/output (I/O) interfaces including a video interface 822, and an I/O interface 816 for the keyboard 810 and mouse 812. A storage device 824 is provided and typically includes a hard disk drive 826 and a floppy disk drive 828. A magnetic tape drive (not illustrated) may also be used. A CD-ROM drive 820 is typically provided as a non-volatile source of data. The components 814 to 828 of the computer module 802, typically communicate via an interconnected bus 830 and in a manner which results in a conventional mode of operation of the computer system 100 known to those in the relevant art. Examples of computers on which the embodiments can be practised include IBM-PC's and compatibles, Sun Sparcstations or alike computer systems evolved therefrom.
Typically, the application program of the preferred embodiment is resident on the hard disk drive 826 and read and controlled in its execution by the processor 814. Intermediate storage of the program may be accomplished using the semiconductor memory 818, possibly in concert with the hard disk drive 826. In some instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive 820 or 828, or alternatively may be read by the user from a network via a modem device (not illustrated). Still further, the software can also be loaded into the computer system 800 from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer module 802 and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets including email transmissions and information recorded on websites and the like. The foregoing is merely exemplary of relevant computer readable mediums. Other computer readable mediums may be practiced without departing from the scope and spirit of the invention.
The methods may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions. Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiment being illustrative and not restrictive.
Number | Date | Country | Kind |
---|---|---|---|
PQ4964 | Jan 2000 | AU | national |
PQ6913 | Apr 2000 | AU | national |
PQ9157 | Aug 2000 | AU | national |
Number | Name | Date | Kind |
---|---|---|---|
6614914 | Rhoads et al. | Sep 2003 | B1 |
Number | Date | Country | |
---|---|---|---|
20010024311 A1 | Sep 2001 | US |