This invention relates to digital speckle photogrammetry and, more particularly, to an improved digital processing technique for extracting subpixel displacements from digital photographs of speckle patterns for the purpose of calculating strain.
When a diffusely reflecting object is illuminated by laser light and observed by a lens system, the resulting image has a speckled texture due to the random interference of light reflected by the microstructure of the object. It was noticed in the late 1960s that, when an object surface was in focus, the speckles moved as if attached to the object surface and that photographic recordings of these speckles could be used to measure object surface displacements. During the 1970s, this technique developed into a practical method of measurement of object displacements called speckle photography, and this technique is comprehensively described in Reference 1 cited above. As this technology evolved, various applications were proposed to use it to measure strain, which may be defined as the fractional elongation of materials due to stress. Reference 2 above describes a technique involving the recording of pairs of speckle photographs, positioned in tandem, and comparing the relative speckle movements at common points to determine the complete strain and rotation matrix for an object surface.
It was learned in the work of Ref. 2 that the main difficulty with such applications was the lack of accuracy with which speckle displacements could be measured. The common technique employed was to illuminate a small region of the specklegram (i.e. the speckle photograph) with a narrow, converging beam of laser light and observe the diffracted light (usually called the halo) in the plane where the illuminating beam came to focus. A double exposure specklegram in which the speckle pattern was translated between exposures, when thus illuminated, generates fringes within the halo pattern whose spacing is inversely proportional to the speckle displacement. This analysis technique is based upon the Fourier transform relationship between the transmittance function of a beam of coherent light and the diffraction pattern it scatters at the focus of such a beam. The main problems with this analysis method are that at least one fringe is needed for such an analysis and that there are limits on the accuracy with which the spacing of the fringes in such a pattern can be measured.
In order to overcome the limitations of halo fringe analysis of specklegrams, a heterodyne technique was developed as described in reference 3 above. In this technique, separate specklegram recordings were made for each of two states of an object, one before and one after stress was applied. The two specklegrams were then placed in separate beams of an interferometer and their halos combined by means of a beamsplitter to create interference fringes. In such an apparatus, it is possible to introduce an optical frequency shift into one of the interfering beams and cause the halo interference fringes to travel across the field of view. Photodetectors placed in such a pattern will generate sinusoidal signals that can be evaluated by an electronic phase meter that can measure phase to 0.1 degree. Changes in fringe spacings are thereby converted into changes in electronic phase, and such a system has the accuracy needed for practical strain measurement, as described in references 4-6.
The analysis of photographic specklegrams by an interferometric photocomparator is, none-the-less, slow, costly, and dependent upon photographic recordings. For that reason, applications of heterodyne speckle photogrammetry focused mainly on static high-temperature strain measurements where other methods were generally not available. As such, this technique has not seen widespread use. Regardless of that, the field of speckle photogrammetry has remain ed active, and new technology has resulted in the development of a digital form of this technology called digital speckle photogrammetry, which is described comprehensively in reference 7. The technique of digital speckle photogrammetry involves the numerical processing of digital photographs of speckle patterns and also dates back some 20 years. These techniques involve tracking the movements of digitally recorded speckle patterns by numerically correlating sectors of one recording with those of another, again where the two recordings are before and after some stress is applied to an object. Whereas these techniques are very effective for measurement of large values of strain, they do not have the degree of displacement resolution and dynamic range associated with optical heterodyne speckle photogrammetry.
This invention consists of a numerical processing procedure that extracts object displacements from digital speckle photographs to an accuracy that is a small fraction of the pixel (picture element) size of the digital photograph. The numerical procedure is analogous to the optical procedure used in heterodyne speckle photogrammetry, but is carried out solely by numerical methods.
According to the present invention, digital photographs are recorded of a speckle pattern observed on the surface of the object before and after some stress is applied to the object. The camera used to record these speckle photographs is positioned so as to be aligned parallel to the object surface normal. In the case that strain is required on a vibrating object, the object is illuminated stroboscopically so as to capture its position first at one extreme of its vibration cycle and then at the other extreme. The camera is chosen to provide a digital output of the irradiance values of its pixels to an accuracy of 12 bits or better. The images are stored as data files in a digital computer. It is important to note that the speckle pattern used for this process may be either a speckle pattern created by illumination with laser light, or a so called white light speckle pattern created by some actual reflecting structure on the object such as droplets of paint, toner powder, or retroreflecting beads, etc. It must also be noted that the lens system used with the camera system recording these speckle patterns must be designed to provide a telecentric image wherein all points on the object are observed from the same direction, so as to eliminate apparent changes in magnification due to translations of the object toward the camera. The processing of these images then consists of the following steps:
It is not obvious how this procedure allows the measurement of speckle displacements that are smaller than the pixel size of the recording. That this is possible can be seen from consideration of the fact that the speckle pattern recorded can be decomposed into various sinusoidal patterns of various frequencies, each of which contributes to a component in the Fourier transform of the total pattern. Each sinusoidal component in the speckle pattern is sampled by the pixel array in a manner akin to what is called spatial phase stepping.8 This means that each pixel integrates the irradiance of a sector of the sinusoidal pattern for a sector of its wavelength. It is possible to calculate, from such a sampling, the phase of the sinusoidal pattern, and this will, in fact, be the phase of the component of the Fourier transform corresponding to that spatial frequency. A shift of the speckle pattern as a whole shifts each of these sinusoidal components by the same distance and this constitutes an increasing fraction of the cycle as the spatial frequency increases. Thus a shift alters the phase of these sinusoidal components in an amount proportional to the spatial frequency of these components. Thus, the greater the displacement, the more rapid the increase in phase of Fourier transform as a function of spatial frequency. Since the measurement of this phase change is made in a manner equivalent to phase stepping, the accuracy with which subpixel displacements can be calculated depends upon the accuracy with which the pixel irradiances measured by the digital camera. If the irradiance measurements made by the digital camera are resolved to 12 bits, then the phase can be measured, in theory, to one part in 4096.
This reasoning also provides an indication of a limitation to be imposed on the use of the Fourier transform array for calculating the slope of a phase difference function and thus the displacement. Given an input array of N-by-N values, a digital Fourier transform will generate an output transform also containing values ranging from −N/2 to +N/2, each of these corresponding to a spatial frequency value. When the magnitude of the index in the output array exceeds N/4, however, aliasing occurs with regard to the phase measurement, because too few pixels are being used to sample each spatial frequency component. Therefore, the slope of the transform phase difference array must be calculated only from those values within a circle of radius N/4.
Appendix 1—Calculation of Scaling Constant for Speckle Displacement
The calculation of the digital Fourier transform may be described by the equation
F(j,k)=Σm=0 to m-1Σn=0toN-1f(m,n) exp[−i2π(jm/M+kn/N)], (1)
where:
A displacement of one pixel in the x direction for the function f(m,n) will generate a phase function in the transform plane whose slope is 2π/M and a displacement in the y direction of one pixel will generate a phase function whose slope is 2π/N. If sj and sk are the measured slopes in the j and k directions in the transform plane, then the corresponding displacements, dx and dy are
dx=pxsjM/2π, and (2)
dy=pyskN/2π, (3)
where px and py are the pixel spacings in the x and y directions.
Appendix 2—Calculation of Strain from Pixel Displacements
Identify four sectors in a rectangular array and indicate them by the subscripts shown below.
The average relative displacements of these sectors may be defined as:
Δxx=(dx12−dx11+dx22−dx21)/2 (4)
is the average x expansion in the x direction.
Δyy=(dy11−dy21+dy12−dy21)/2 (5)
is the average y expansion in the y direction.
Δxy=(dx11−dx21+dx12−dx22)/2 (6)
is the average x expansion in the y direction.
Δyx=(dy12−dy11+dy22−dy21)/2 (7)
is the average y expansion in the x direction.
Given the fact that the sectors are separated in x by M pixels and in y by N pixels, the x strain, y strain, and shear are defined as:
εxx=Δxx/pxM (8)
εyy=Δyy/pxN (9)
εxy=(Δyx/pxM+Δxy/pyN)/2 (10)
When Eqs. (2) and (3) are substituted into Eqs. (4)-(7), and the results substituted into Eqs. (8)-(10), it is seen that the factors of pxM and pyN cancel from the strain calculations.
Equations (8)-(10) may be rewritten in terms of the measured fourier transform plane slopes as
εxx=(sx12−sx11+sx22−sx21)/4π (11)
εyy=(sy11−sy21+sy12−sy22)/4π (12)
εxy=(sx11−sx21+sx12−sx22+sy12−sy11+sy22−sy21)/4π (13)