Keywords

1 Introduction

Grating Projection 3-D measurement technology is an accurate measurement method of three-dimensional profile using phase information. Phase shift method and Fourier transforming profilometry are the main methods to get phases at present. Phase shift method is widely used because of its high precision, resolution and less sensitivity to the surface reflectivity variations [1]. The method calculates wrapped phase values which include surface deformation information by collecting multiple phase-shift fringe patterns. Since the wrapped phase value is in the range of \( [ - \pi ,\pi ] \), in order to acquire continuous phase map, the wrapped phase needs to be unwrapped to get the absolute phase value [2]. Phase unwrapping methods can be divided into single-frequency-based and multiple-frequency-based method. Single-frequency-based method obtains only a set of wrapped phase values when measuring, so there are some deficiencies at unwrapping range, precision and error tolerance. While multiple-frequency-based method gets multiple sets of wrapped phase values, thus it increases the unwrapping range, precision and reduces the error influence. Unwrapping method based on multi-frequency mainly includes Gray codes and multiple frequency phase shift method [3, 4]. Gray code method is more sensitive to light intensity and the surface shade of measured objects, which may lead to incorrect decoding of pixel boundaries, susceptible to noise, and also, the measurement range is restricted to the number of Gray code fringes. Multi-frequency phase-shift method improves the measurement accuracy and measurement range by adding fringes of different frequencies, thus its adaptability is enhanced. Currently, accuracy improvement by increasing the number of frequencies is an important tendency of multi-frequency phase shift method [5]. However, this method requires multiple images taken at different frequencies.

Generally speaking, the grayscale of encoding fringe pattern is cosine distribution in the Grating Projection 3-D measurement technology. However, amount of noise will be caused by the nonlinear output of projection system, electric noise and environmental noise. Errors would be produced in the phase recovery, which can influence the three-dimensional reconstruction of discontinuous object’s surface. So phase error should be reduced by additional method. Firstly, nonlinear correction is used to reduce the phase error in the projection system, but it requires plenty of time and the gamma value of projector should be relatively fixed [6]. Secondly, the phase error should be compensated. Several methods are proposed [7–9]. However, the computation of spline fitting method [7] is rather complex. Look-up-table method [8] needs plenty of time and relatively stable environment. Image filter method [9] based on frequency domain or space domain can eliminate noise and reduce the phase error greatly, but the jump information of object boundary will be lost when the surface contains different height.

Our main contribution is that a method of heterodyne three frequency non-equal step phase shift combined with filter is proposed. Firstly, three frequency cosine waves are selected, and each cosine wave is shifted with different steps. Only by projecting eight fringe patterns, the phase map with rather high quality can be obtained. Secondly, the projection system is optimized by nonlinear correction. Thirdly, before the phase maps are unwrapped, the contour cosine filter method proposed by Fu [10] is used to reduce the noise caused by difference frequency superposition. The advantages of this method are that, accurate measurements can be realized by fewer projection pictures, inconsistent points on wrapped phase maps are filtered effectively by fringe orientation information.

2 Phase Unwrapping Theory of Three Frequency Non-equal Step Phase Shift

In this paper, eight fringe patterns of three different frequencies are projected (intermediate frequency \( f_{2} \) is four step phase-shift fringes, frequency \( f_{1} \) and \( f_{3} \) is two step phase-shift fringes). Firstly, phase unwrapping theory of non-equal step phase shift is used to calculate light intensity of background and wrapped phase value \( \varDelta \varphi_{2} (x,y) \) of frequency \( f_{2} \). The wrapped phase value \( \varDelta \varphi_{1} \left( {x,y} \right) \) and \( \varDelta \varphi_{3} \left( {x,y} \right) \) of \( f_{1} \) and \( f_{3} \) are obtained in the case that the background intensity is known. Then three wrapped phases should be carried on contour sine/cosine filter separately. According to the heterodyne theory, the phase function \( \theta_{12} \left( {x,y} \right) \) of equivalent frequency \( f_{12} \) is obtained by superposing the difference frequency values of \( \varDelta \varphi_{1} \left( {x,y} \right) \) and \( \varDelta \varphi_{2} \left( {x,y} \right) \), and the phase function \( \theta_{23} \left( {x,y} \right) \) of equivalent frequency \( f_{23} \) is obtained by \( \varDelta \varphi_{2} \left( {x,y} \right) \) and \( \varDelta \varphi_{3} \left( {x,y} \right) \). Then the phase functions should be performed sine/cosine filter respectively. The phase function \( \theta_{123} \left( {x,y} \right) \) containing deformation information of object surface is calculated by double heterodyne. Finally, the point cloud data of object surface will be obtained by phase matching method based on binocular stereo vision. The flow chart is shown as Fig. 1.

Fig. 1.
figure 1figure 1

The flowchart of the proposed method

2.1 Non-equal Step Phase Shift Method

In grating projection 3-D measurement system, cosine encoding fringes are projected to the surface of measured object and are modulated to be deformation fringes by object surface information. Assuming that the projection light intensity satisfies the standard cosine distribution, the light intensity distribution function of the deformation fringe patterns is:

$$ I\left( {x,y} \right) = a\left( {x,y} \right) + b\left( {x,y} \right)\cos \left[ {2\pi fx + \varDelta \varphi \left( {x,y} \right)} \right] $$
(1)

Where, \( I\left( {x,y} \right) \) indicates the light intensity of deformation fringe patterns; \( a\left( {x,y} \right) \) is the intensity of background; \( b\left( {x,y} \right) \) is the modulation amplitude; \( f \) is the frequency of fringes; and \( \varDelta \varphi \left( {x,y} \right) \) denotes the phase function to be solved. The formula contains three unknown quantities. Therefore, it requires at least three light intensity functions to solve phase value of one measured point.

Phase unwrapping method based on heterodyne three frequency non-equal step phase shift is using different steps phase shift algorithm to calculate wrapped phase values of fringes with three different frequencies respectively (the three frequencies are denoted as \( f_{1} \), \( f_{2} \) and \( f_{3} \)). The frequency \( f_{2} \) adopts standard four-step phase shift fringes, the cosine gratings are moved four steps, and each step is \( \alpha = {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-0pt} 2} \). So that four images can be collected to obtain phase values of the object. Here, \( I_{n} \left( {x,y} \right) \) represents light intensity of the n-th image, then

$$ I_{n} \left( {x,y} \right) = a\left( {x,y} \right) + b\left( {x,y} \right)\cos \left[ {2\pi f_{2} x + \varDelta \varphi_{2} \left( {x,y} \right) + {{\left( {n - 1} \right)\pi } \mathord{\left/ {\vphantom {{\left( {n - 1} \right)\pi } 2}} \right. \kern-0pt} 2}} \right],\,\,(n = 1,2,3,4) $$
(2)

The phase calculated by the four deformed fringe patterns is:

$$ \varDelta \varphi_{2} \left( {x,y} \right) = \arctan \left[ {\frac{{I_{4} - I_{2} }}{{I_{1} - I_{3} }}} \right] - 2\pi f_{2} x $$
(3)

The surface reflection of the measured object is linear under the condition that cameras and projectors have a considerable depth of field. Then the average light intensity coefficient \( a\left( {x,y} \right) \) of the same pixel point \( \left( {i,j} \right) \) is a constant value in these four images.

$$ a\left( {x,y} \right) = {{\left( {I_{1} \left( {x,y} \right) + I_{2} \left( {x,y} \right) + I_{3} \left( {x,y} \right) + I_{4} \left( {x,y} \right)} \right)} \mathord{\left/ {\vphantom {{\left( {I_{1} \left( {x,y} \right) + I_{2} \left( {x,y} \right) + I_{3} \left( {x,y} \right) + I_{4} \left( {x,y} \right)} \right)} 4}} \right. \kern-0pt} 4} $$
(4)

The frequency \( f_{1} \) and \( f_{3} \) adopt two-step phase shift method, each step is. In this way, both sine and cosine fringe pattern scan be collected, and the functions of light intensity are:

$$ I_{5} \left( {x,y} \right) = a\left( {x,y} \right) + b\left( {x,y} \right)\sin \left( {2\pi f_{1} x + \varDelta \varphi_{1} \left( {x,y} \right)} \right) $$
(5)
$$ I_{6} \left( {x,y} \right) = a\left( {x,y} \right) + b\left( {x,y} \right)\cos \left( {2\pi f_{1} x + \varDelta \varphi_{1} \left( {x,y} \right)} \right) $$
(6)
$$ I_{7} \left( {x,y} \right) = a\left( {x,y} \right) + b\left( {x,y} \right)\sin \left( {2\pi f_{3} x + \varDelta \varphi_{3} \left( {x,y} \right)} \right) $$
(7)
$$ I_{8} \left( {x,y} \right) = a\left( {x,y} \right) + b\left( {x,y} \right)\cos \left( {2\pi f_{3} x + \varDelta \varphi_{3} \left( {x,y} \right)} \right) $$
(8)

Therefore, \( a\left( {x,y} \right) \) can be calculated by formula (4), and wrapped phase values \( \varDelta \varphi_{1} \left( {x,y} \right) \) and \( \varDelta \varphi_{3} \left( {x,y} \right) \) of deformed fringe patterns with \( f_{1} \) and \( f_{3} \) can be obtained by substituting \( a\left( {x,y} \right) \) into formula (9) and (10).

$$ \varDelta \varphi_{1} \left( {x,y} \right) = \arctan \left[ {\frac{{I_{5} \left( {x,y} \right) - a\left( {x,y} \right)}}{{I_{6} \left( {x,y} \right) - a\left( {x,y} \right)}}} \right] - 2\pi f_{1} x $$
(9)
$$ \varDelta \varphi_{3} \left( {x,y} \right) = \arctan \left[ {\frac{{I_{7} \left( {x,y} \right) - a\left( {x,y} \right)}}{{I_{8} \left( {x,y} \right) - a\left( {x,y} \right)}}} \right] - 2\pi f_{3} x $$
(10)

In order to calculate the phase value of a measured point, it needs three light intensity functions at least. Namely, three steps phase shift at least are needed to get wrapped phases by the theory of phase shift method. In the phase unwrapping method using three frequency non-equal step phase shift, the wrapped phase value of intermediate frequency and the light intensity of background are calculated by four-step phase shift method. Wrapped phase values of the other two frequencies can be obtained by two-step phase shift when light intensity of background is known. In this way, projection image scan be reduced. The phase map obtained containing three-dimensional morphologies information of object is in the range of \( [ - \pi ,\pi ] \). Therefore, the phase is unwrapped by heterodyne theory to recover the three-dimensional morphologies of the object.

2.2 Heterodyne Theory for Phase Unwrapping

Heterodyne theory [3] is to obtain a new phase function \( \theta_{12} \left( x \right) \) of frequency \( f_{12} \) by superposing the difference frequencies of fringe phase function \( \varDelta \varphi_{1} \left( x \right) \) and \( \varDelta \varphi_{2} \left( x \right) \) with frequency \( f_{1} \) and \( f_{2} \). As is shown in Fig. 2, \( \lambda_{1} \), \( \lambda_{2} \) and \( \lambda_{12} \) are wavelengths corresponding to fringes of different frequencies \( f_{1} \), \( f_{2} \) and \( f_{12} \).

Fig. 2.
figure 2figure 2

Heterodyne principle

Then, the equivalent wavelength \( \lambda_{12} \) can be expressed as:

$$ \lambda_{12} = \left| {\frac{{\lambda_{1} \lambda_{2} }}{{\lambda_{1} - \lambda_{2} }}} \right| $$
(11)

According to heterodyne theory, the continuous phase map in the whole range can be obtained by unwrapping the phase map wrapped within \( [ - \pi ,\pi ] \). Assuming that wavelengths corresponding to different frequencies are respectively \( \lambda_{1} \), \( \lambda_{2} \) and \( \lambda_{3} \), the equivalent wavelength \( \lambda_{12} \) can be obtained by \( \lambda_{1} \) and \( \lambda_{2} \), \( \lambda_{23} \) is calculated by \( \lambda_{2} \) and \( \lambda_{3} \), and \( \lambda_{123} \) is gotten by \( \lambda_{12} \) and \( \lambda_{23} \). In order to obtain the continuous absolute phase map in the whole range, the equivalent wavelength \( \lambda_{123} \) cannot be smaller than the number of rows pixels \( W \) of fringe image. That is, \( \lambda_{123} \ge W \).

The unwrapping formula for the phases of fringes with different frequencies is:

$$ \phi_{i} = 2\pi N_{i} + \varDelta \varphi_{i} \,_{,} \,\,\left( {i = 1,2,3} \right) $$
(12)

Where, \( \varphi_{i} \) indicates the absolute phase, \( N_{i} \) is series of fringes.

The fringe wavelengths of the same point on the surface of measured object are \( \lambda_{a} \) and \( \lambda_{b} \)(\( a \) equals to 1, 2, 12, and \( b \) equals to 2, 3, 23 respectively). Phase function \( \theta_{ab} \left( x \right) \) of \( \lambda_{ab} \)can be obtained by the following formula:

\( \varDelta \varphi_{a} > \varDelta \varphi_{b}\):

$$ \left\{ \begin{aligned} & \theta_{12} = 2\pi + \varDelta \varphi_{1} - \varDelta \varphi_{2} \\ & \theta_{23} = 2\pi + \varDelta \varphi_{2} - \varDelta \varphi_{3} \\ & \theta_{123} = 2\pi + \varDelta \varphi_{12} - \varDelta \varphi_{23} \\ \end{aligned} \right. $$
(13)

\( \varDelta \varphi_{a} \le \varDelta \varphi_{b} \):

$$ \left\{ \begin{aligned} & \theta_{12} = \varDelta \varphi_{1} - \varDelta \varphi_{2} \\ & \theta_{23} = \varDelta \varphi_{2} - \varDelta \varphi_{3} \\ & \theta_{123} = \varDelta \varphi_{12} - \varDelta \varphi_{23} \\ \end{aligned} \right. $$
(14)

Substituting it into formula (12), the absolute phase \( \phi_{2} \) of deformed fringe patterns with \( f_{2} \) can be obtained by:

$$ \phi_{2 - 12} = \varDelta \varphi_{2} + 2\pi \left( {Round\left( {\frac{{\theta_{123} (x,y)}}{2\pi } \times \frac{{\lambda_{123} }}{{\lambda_{12} }}} \right) * \frac{{\lambda_{12} }}{{\lambda_{2} }} + Round\left( {\frac{{\theta_{12} (x,y)}}{2\pi } \times \frac{{\lambda_{12} }}{{\lambda_{2} }}} \right)} \right) $$
(15)
$$ \phi_{2 - 23} = \varDelta \varphi_{2} + 2\pi \left( {Round\left( {\frac{{\theta_{123} (x,y)}}{2\pi } \times \frac{{\lambda_{123} }}{{\lambda_{23} }}} \right) * \frac{{\lambda_{23} }}{{\lambda_{2} }} + Round\left( {\frac{{\theta_{23} (x,y)}}{2\pi } \times \frac{{\lambda_{23} }}{{\lambda_{2} }}} \right)} \right) $$
(16)
$$ \varphi_{2} = {{\left( {\varphi_{2 - 12} + \varphi_{2 - 23} } \right)} \mathord{\left/ {\vphantom {{\left( {\varphi_{2 - 12} + \varphi_{2 - 23} } \right)} 2}} \right. \kern-0pt} 2} $$
(17)

Where, \( \phi_{2 - 12} \) indicates the absolute phase of deformation fringe pattern with frequency \( f_{2} \) which is obtained by \( \lambda_{12} \) and \( \theta_{12} \left( {x,y} \right) \), \( \phi_{2 - 23} \) is the absolute phase of deformation fringe pattern with \( f_{2} \) obtained by \( \lambda_{23} \) and \( \theta_{23} \left( {x,y} \right) \). In order to reduce the error, the absolute phase \( \phi_{2} \) is the average of \( \phi_{2 - 12} \) and \( \phi_{2 - 23} \).

Eight vertical fringes meeting coding scheme of three frequency non-equal step phase shift are generated by computer, whose corresponding wavelengths are \( \lambda_{1} = 7 \),\( \lambda_{2} = 8 \) and \( \lambda_{3} = 9 \) (Unit: pixels/cycle). The process of phase unwrapping is shown as Fig. 3.

Fig. 3.
figure 3figure 3

Unwrapping algorithm based on three frequency non-equal step phase shift technology

Phase unwrapping by three-frequency heterodyne is the method based on dual-frequency phase shift [4]. The equivalent wavelength \( \lambda_{12} \) is calculated by \( \lambda_{1} \) and \( \lambda_{2} \) with frequency \( f_{1} \) and \( f_{2} \). If wrapped phase of \( \lambda_{1} \) and \( \lambda_{2} \) contains noise, there will be noise of \( \lambda_{12} \) caused by superposition of difference frequency. As is shown in Fig. 4, there are plenty of noises in wrapped phase due to the system interference, environmental noise and other factors. Therefore, the wrapped phase maps need filtering.

Fig. 4.
figure 4figure 4

Phase error and noise

3 Phase Map Filtering

If the absolute wrapped phase is filtered by traditional method directly, the jump information of phase will be lost while removing noises. The periodic jump information of sine/cosine images will not be damaged due to the gray values of the images are continuous. It is proposed to filter wrapped phase maps by sine/cosine filter in this paper. Sine/cosine maps of phase are calculated firstly. Then, the two resultant maps are conducted median filtering in contoured window by fringe orientation information to remove noise. Finally, phase map will be obtained from the filtered sine/cosine images by division operation.

3.1 Gradient Method for Fringe Orientation Images

The minimum difference of pixel along the tangential direction of fringe, and the maximum difference is along the normal direction. Therefore, differences of each point along all directions are calculated, and the direction of fringe is corresponding to the minimum value. Gradient method [5] is frequently used to obtain orientation of fringes defined as:

$$ \theta \left( {x,y} \right) = \arctan \left[ {{{\frac{{\partial \phi \left( {x,y} \right)}}{\partial y}} \mathord{\left/ {\vphantom {{\frac{{\partial \phi \left( {x,y} \right)}}{\partial y}} {\frac{{\partial \phi \left( {x,y} \right)}}{\partial x}}}} \right. \kern-0pt} {\frac{{\partial \phi \left( {x,y} \right)}}{\partial x}}}} \right] \pm \frac{\pi }{2} $$
(18)

Where, \( \theta \left( {x,y} \right) \) is the orientation of fringes, \( \phi \left( {x,y} \right) \) is the phase.

3.2 Determination of Fringes Contoured Windows

The purpose of calculating direction of fringes is to determine the contours and normal curves. Contours are locally parallel to current trend of fringes, and normal curves are partially perpendicular to current trend of fringes.

Here, \( P_{i} \left( {x_{i} ,y_{i} } \right) \) is set as the coordinates of a certain point of the image, the direction of fringe at this point is \( \theta_{i} \). The fringe orientation image shows that direction value \( \theta \) is along the tangential direction of fringe contour. The fringe contour can be approximately replaced by tangential in the neighborhood of current point. The two adjacent points \( P_{i + 1} \left( {x_{i + 1} ,y_{i + 1} } \right) \) and \( P_{i - 1} \left( {x_{i - 1} ,y_{i - 1} } \right) \) of the current point on contour can be obtained according to the fringe orientation image:

$$ \left\{ {\begin{array}{*{20}c} {x_{i + 1} = x_{i} + \cos \theta_{i} } \\ {y_{i + 1} = y_{i} + \sin \theta_{i\,} } \\ \end{array} \,\,,} \right.\,\,\left\{ {\begin{array}{*{20}c} {x_{i - 1} = x_{i} - \cos \theta_{i} } \\ {y_{i - 1} = y_{i} - \sin \theta_{i} } \\ \end{array} } \right. $$
(19)

Similarly, \( P_{i + 2} \left( {x_{i + 2} ,y_{i + 2} } \right) \) and \( P_{i - 2} \left( {x_{i - 2} ,y_{i - 2} } \right) \) can be calculated. A curve through \( P_{i} \left( {x_{i} ,y_{i} } \right) \) and along the direction of fringe can thus be obtained, that is, fringe contour. Phase value of each point on the curve is equal to the phase value of point \( P_{i} \left( {x_{i} ,y_{i} } \right) \), namely, phase of fringe remains unchanged on the contour.

While the point \( \left( {x_{i} ,y_{i} } \right) \) obtained may not be integer. Fringe orientation value of point \( \left( {x_{i} ,y_{i} } \right) \) should be replaced by the linear interpolation of the four integer pixels adjacent to \( \left( {x_{i} ,y_{i} } \right) \). In this way, error caused by fringe orientation images only taking values on integer pixels will be reduced.

3.3 Sine/Cosine Filter Method

Since phase \( \varphi \) of wrapped phase map is discontinuous, current pixel point \( \left( {i,j} \right) \) satisfies:\( - \pi \le \varphi_{i,j} \le \pi ,\quad 1 \le i \le M,\;1 \le j \le N \) where, \( M \times N \) is the size of image. Sine/cosine components \( t_{1} \), \( t_{2} \) are set as \( t_{1} = \sin \varphi \), \( t_{2} = \cos \varphi \), and they are continuous. Namely, the discontinuous phase can be represented by its continuous vector \( \left( {\cos \varphi ,\sin \varphi } \right) \). After that, the sine/cosine images are conducted median filtering sequentially in contoured window. Finally, \( \varphi ' \) can be obtained by \( T_{1} \) and \( T_{2} \):

$$ \varphi ' = \arctan \left( {{\raise0.7ex\hbox{${T_{1} }$} \!\mathord{\left/ {\vphantom {{T_{1} } {T_{2} }}}\right.\kern-0pt} \!\lower0.7ex\hbox{${T_{2} }$}}} \right) $$
(20)

Phase value \( \varphi ' \) obtained by formula (20) is in the range of \( \left[ { - \frac{\pi }{2},\frac{\pi }{2}} \right] \), then quadrants of \( T_{1} \), \( T_{2} \) can be determined according to its plus-minus, and its range should be extended to \( \left[ { - \pi ,\pi } \right] \).

The result of conducting contour sine/cosine filter to the wrapped phase map is shown in Fig. 5.

Fig. 5.
figure 5figure 5

The results of contour sine/cosine filter method in the contoured window. (a) Wrapped phase map. (b) Wrapped phase map after filtering. (c) A line data of wrapped phase map. (d) A line data of wrapped phase map after filtering.

3.4 Procedures and Results

  1. (1)

    Calibration: The system is calibrated using the planar target proposed by Zhang [11], and calibration accuracy is evaluated by back-projection error. The calibration result shows that, the average errors of left, right cameras and the back-projection are 0.121 pixel, 0.110 pixel and 0.097 pixel. Distance between two pixels is calculated according to the calibration of parameters. The result is 0.47 mm, and the error of back-projection is 0.02 mm.

  2. (2)

    Projection: Eight gray fringe patterns of three frequency non-equal step phase shift are generated by computer, and the wavelengths \( \lambda_{1} \), \( \lambda_{2} \) and \( \lambda_{3} \) are 15,17 and 20 (Unit: pixels/cycle, the width of fringes is \( W = 1020 \) pixels). The eight fringe patterns are projected onto surface of the measured object, and the result is shown in Fig. 6(b).

    Fig. 6.
    figure 6figure 6

    Unwrapping process based on three frequency non-equal step phase shift. (a) Unwrapping phase. (b) Fringe patterns of non-equal step phase shift method.

  3. (3)

    Phase Unwrapping: The fringe patterns are taken by the left and right cameras, and wrapped phase values \( \varphi_{1} \), \( \varphi_{2} \) and \( \varphi_{3} \) of the three frequencies are calculated by non-equal step phase shift method respectively. Then \( \varphi_{2} \) is unwrapped, and the absolute phase values of each point can be obtained. Simultaneously, phase values of the left and right cameras are set on a common benchmark. Unwrapping process of fringes captured by the left camera is shown in Fig. 6(a).

  4. (4)

    Matching: Geometry of binocular stereo vision is converted to standard geometry of binocular stereo by polar correction algorithm. Namely, the matching point on right image of arbitrary point on left image is on the polar with same row. Then matching of points on left and right images is realized according to the constraint of phase values.

  5. (5)

    Point Cloud Reconstruction: After the matching points of left and right phases maps are obtained, internal and external parameters of the camera are used to restore the three-dimensional geometry information of objects based on binocular disparity theory. The result is shown in Fig. 7.

    Fig. 7.
    figure 7figure 7

    The 3-D measurement result of the proposed method

A standard plate with size about 400 mm × 400 mm is measured to test the accuracy of the method proposed. Maximum absolute error of the planar is approximately 0.113 mm, and the standard deviation is 0.023 mm.

The planar target of 9 rows and 11 columns markers is placed on 10 different positions, and center distances of adjacent markers are measured. Assuming the horizontal distance between adjacent markers is \( D_{H} \), vertical distance is \( D_{V} \). The total number of \( D_{H} \) is ninety, and the number of \( D_{V} \) is eighty-eight. As shown in Fig. 8(a). The measurement accuracy can be evaluated by the following formula:

Fig. 8.
figure 8figure 8

The markers and measurement results. (a) Calibration target. (b) 3-D data of the markers.

$$ e = \frac{{\sum\limits_{i = 1}^{90} {({{\left| {x_{i} - {\text{D}}_{\text{H}} } \right|} \mathord{\left/ {\vphantom {{\left| {x_{i} - {\text{D}}_{\text{H}} } \right|} {90}}} \right. \kern-0pt} {90}}) + \sum\limits_{j = 1}^{88} {({{\left| {x_{j} - {\text{D}}_{\text{V}} } \right|} \mathord{\left/ {\vphantom {{\left| {x_{j} - {\text{D}}_{\text{V}} } \right|} { 8 8}}} \right. \kern-0pt} { 8 8}})} } }}{ 2} $$
(21)

Where, \( e \) is the standard deviation, \( x_{i} \) indicates the measured distance between two adjacent markers in horizontal direction, \( x_{j} \) is in vertical direction. Figure 8(b) shows the recovered three-dimensional diagram of all markers. The standard deviation is 0.047 mm.

4 Conclusion

Phase unwrapping method of heterodyne three frequency non-equal step phase shift is proposed in this paper. The absolute phase map with high quality can be obtained by only projecting eight fringe patterns. And it is easy to achieve three-dimensional surface restoration and three-dimensional accurate measurement of key points using a small number of fringe patterns. In addition, contour sine/cosine filter method based on the fringe orientation information is adopted to filter the absolute wrapped phases. The noise in wrapped phase maps are filtered out effectively, the amplification of fluctuation error is suppressed, and the blurring of \( 2\pi \) boundaries in wrapped phase maps is weakened. Experimental results show that, accurate measurement with fewer projection images can be realized by exploiting the method of heterodyne three frequency non-equal step phase shift combined with filter.