3.1. Gradient-Based Subpixel Matching Method
Although the gradient-based method has the advantage of high efficiency for subpixel matching, Pan pointed out that the accuracy should be improved using additional steps [
26], especially when the true subpixel displacement is far away from the interpolation center. This phenomenon is related to accuracy reduction using an extrapolation technique since the accurate
gx and
gy in Equation (4) can only be acquired around the interpolation center. To solve this problem, the best matching integral pixel point is selected as the center for the bicubic spline interpolation. However, the accuracy of the calculated subpixel displacement will decrease unacceptably when the subpixel distance is farther than 0.5 pixel. This phenomenon can be explained using the following numerical simulation.
An 8-bit speckle pattern with a resolution of 256 × 256 pixels was obtained using the iterative spatial-gradient based algorithm [
20], as shown in
Figure 3a. Ten translated images were generated with an equal distance in
x direction, corresponding to a shift of 0.1 pixels between two successive speckle images. Thus, only subpixel displacement extraction in
x direction was considered here. A total of 576 (24 × 24) points located in the intersection of grid of 10 pixels were chosen to calculate subpixel displacement, that is, the distance between each point was 10 pixels, as shown in
Figure 3a. Moreover, two adjacent integral pixels (here 0 represents the left pixel and 1 denotes right pixel) to each point were employed as the interpolation center, and then subpixel displacements corresponding to all 576 points were extracted using the traditional gradient-based (GB) method. The mean error and standard variance of subpixel displacement calculated using 576 points at each deformed image were plotted in
Figure 4. The dots represent the mean error, and the upper and lower bars represent the 90% deviation lines. It was shown that mean error would increase significantly when the distance between the actual subpixel displacement and the interpolation center exceeded 0.5 pixel. This trend is directly related to the first-order derivatives used in Equation (4), which are accurate only in the vicinity of the interpolation center. Meanwhile, the standard deviation error has the same trend, which will increase from 0.003 to 0.007 when the distance between the actual subpixel position and interpolation center is near or beyond 0.5 pixel.
Furthermore, images may be contaminated by a variety of noise sources, such as photon noise, thermal noise, readout noise, and shot noise [
28]. A high noise level will lead to unacceptable errors using the gradient-based method. To practically simulate random noise occurring in real situations, Gaussian noises with zero mean and five different standard deviations (varying from 1 to 5) [
26] were added into the first image set (noiseless image) to generate five other image sets. The image with standard deviation (SD) 5 is depicted in
Figure 3b. For all five sets of images with various noise levels, the same operation procedure in the noise-free case was implemented and results are shown in
Figure 5.
As can be seen from
Figure 5, mean errors and standard deviations increased with the augment of noise variance levels. It can be concluded that the noise in the image must be considered to improve the subpixel matching accuracy.
3.2. Double Precision Gradient-Based (DPG) Method
To calculate the subpixel displacement, the GB method uses the nearest integral pixel as the center for the five-point bicubic spline interpolation, and reasonable accuracy will be acquired when the appropriate integer pixel is chosen. Unfortunately, it is impossible to take the appropriate integral pixel as the center every time. Therefore, these two near neighborhood integer pixels along one direction are used to calculate subpixel displacement associated with white noise, and then the identified displacement is linearly combined via a weight coefficient to obtain the final identification results. Only the details in the x direction are described in the following part since the subpixel matching is recognized in x and y directions under 2D measurement conditions.
Firstly, the subpixel displacements Δ
x0 and Δ
x1 were extracted with the traditional GB method using the left and right pixel as an interpolation center, respectively. Then, the final subpixel displacement Δ
x was obtained by
where
aSD,d represents the weight coefficient, subscript
d denotes the subpixel position and
SD corresponds to the noise variance.
From
Figure 4a, the mean error is very small when the true subpixel displacement is closer to the interpolation center, that is, Δ
x should be equal to Δ
x0 if the true subpixel displacement is 0 and the left pixel is used as interpolation center. Correspondingly, Δ
x should be equal to Δ
x1 when the true subpixel displacement is 1 and the right pixel is utilized as interpolation center. At the same time, the mean errors calculated from either interpolation center were almost equal when the true subpixel displacement is round 0.5 pixel, so the weight for Δ
x0 and Δ
x1 should be equal. Therefore, it is easy to draw the conclusion that
aSD,0 = 0,
aSD,1 = 1 and
aSD,0.5 = 0.5.
Then, the discrete point
aSD,d was obtained by substituting the data in
Figure 5 into Equation (5), and results from the first two images, where the true subpixel displacement is 0.1 and 0.2 pixel respectively, are plotted in
Figure 6. According to the distribution rule of discrete points
a:,d (denotes the
aSD,d under different variance of noise) in
Figure 6, it is known that the weight coefficient
a:,d first increases with the variance and then tends to be stable. Consequently, a formula in exponential form was adopted to fit the parameter
a:,d for a fixed subpixel displacement:
where
c1,
c2, and
c3 are fitting parameters and
SD represents the variance of noise. It should be noted that we assumed that the noise level was the same for the reference image and a series of deformed images. For example, these factors, such as lighting and noise, remained unchanged during the measurement procedure. Furthermore, parameters in Equation (6) for other
a:,d were obtained and are listed in
Table 1 using the same operation.
Therefore, the parameter
aSD,d in Equation (5) was further obtained by fitting using the spline curve as,
Figure 7 shows the curved surface of the weight coefficient
aSD,d under different
SD and the pre-assigned displacement at decile points between 0 and 1. Extracting parameter
aSD,d from this surface, the subpixel displacement Δ
x could then be calculated using Equation (5).
The detailed procedure of the proposed DPG method is as follows:
Step 1: Calculate the noise variance SD. Before the test, two consecutive images under the test condition are taken and the noise variance SD is obtained by calculating the mean square error of the gray-scale intensity of these two consecutive images.
Step 2: Determine Δx0 and Δx1. For the subpixel matching, as a point P’ in the deformed image is selected, the subpixel displacement Δxt is computed using the traditional GB method. If Δxt is less than 0.5 pixels, replace Δxt with Δx0. Then, taking the integral pixel at the right of the point P’ as the interpolation center, the subpixel displacement Δx1 is further extracted using the GB method; if Δxt is greater than 0.5 pixels, replace Δxt with Δx1. Taking the integral pixel at the left of the point P′ as the interpolation center, the subpixel displacement Δx0 is then computed using the GB method.
Step 3: Determine the d. Calculate d using d = min(|Δx0|, |1 − Δx1|).
Step 4: Calculate the weight coefficient
aSD,d. The
a:,d was obtained by Equation (6) according to the
SD and parameters
cj (
j =1,2,3) in
Table 1. Substitute the
a:,d into Equation (7) and determine the weight coefficient
aSD,d using the subscript
SD and
d.
Step 5: Calculate the subpixel displacement Δx. Substitute aSD,d, Δx0, and Δx1 into Equation (5) to get the identification subpixel displacement Δx.
Subpixel displacement in the y direction can be calculated using the same procedure, so it will not be described in detail here.