Sub-Pixel Extraction of Laser Stripe Center Using an Improved Gray-Gravity Method

Laser stripe center extraction is a key step for the profile measurement of line structured light sensors (LSLS). To accurately obtain the center coordinates at sub-pixel level, an improved gray-gravity method (IGGM) was proposed. Firstly, the center points of the stripe were computed using the gray-gravity method (GGM) for all columns of the image. By fitting these points using the moving least squares algorithm, the tangential vector, the normal vector and the radius of curvature can be robustly obtained. One rectangular region could be defined around each of the center points. Its two sides that are parallel to the tangential vector could alter their lengths according to the radius of the curvature. After that, the coordinate for each center point was recalculated within the rectangular region and in the direction of the normal vector. The center uncertainty was also analyzed based on the Monte Carlo method. The obtained experimental results indicate that the IGGM is suitable for both the smooth stripes and the ones with sharp corners. The high accuracy center points can be obtained at a relatively low computation cost. The measured results of the stairs and the screw surface further demonstrate the effectiveness of the method.


Introduction
As a non-contact measuring apparatus, the line structured light sensor (LSLS) can effectively obtain a huge amount of surface data from objects with the advantages of simple construction, low cost and moderate precision. It has been widely used for profile measurement [1], reverse engineering [2], welding inspection [3], visual tracking [4], etc. The principle of the LSLS is to project a linear laser stripe onto the cross-section profile to be measured, and then compute the profile's world coordinates according to the stripe image that is captured by the camera and the system parameters from the calibration process [5]. The laser stripe usually has a width of several to tens of pixels and the center extraction is a critical step for the measurement process [6].
Many researchers have studied the center extraction methods aiming at better precision, higher efficiency, more robustness, and lower noise. According to the minimum coordinate value, these algorithms can be divided into two categories: pixel level center extraction and sub-pixel center extraction. The simplest pixel level center extraction method is the extreme value method. It is achieved just by choosing the pixel with the maximum gray value as the center of the specific transverse profile. Its disadvantages are also obvious: low precision and sensitive to noise [7]. The direction template [8] and the improved direction template methods [9] can also obtain the stripe center at the pixel level.

Traditional Gray-Gravity Method (GGM)
Assume I M×N is the image that contains the perturbed laser stripe. It is captured by the camera with the pixels of M rows and N columns. The gray value for the pixel at the ith row and jth column is denoted by I(i,j) and the maximum gray value of the image is I max . Thus, the normalized gray value for I(i,j) can be calculated as: I n (i,j) = I(i,j)/I max . The sequence number for the center point at the jth column is denoted as p with a center coordinate of C p (x p ,y p ). Using the GGM, the center coordinates can be computed as: To successfully obtain the center coordinates using the GGM, the relationship between the camera and the linear laser projector should be carefully adjusted to guarantee that each column of the image only intersects with the stripe once at most. Some columns may not intersect with the stripe, so p is no larger than N. It can be seen from Equation (1) that the GGM is simple and therefore fast. Its disadvantages are also obvious: the center extraction is not in the transverse direction of the stripe and it is sensitive to noise.

Improved Gray-Gravity Method (IGGM)
The computation principle of the IGGM is shown in Figure 1. The dots are the pixels of the image with I n larger than the threshold value T 0 . C p is the center coordinate for the jth column computed using the GGM; n j and t j are the normal and the tangential vectors at C p , respectively. F p denotes the line function that crosses C p and coincides with t j expressed by: Ax + By + C = 0. The coordinate of the new center point C p ' computed using the IGGM is achieved in the rectangular region. The width of the rectangular region, w j , adapts to the radius of curvature at C p .

Traditional Gray-Gravity Method (GGM)
Assume IM×N is the image that contains the perturbed laser stripe. It is captured by the camera with the pixels of M rows and N columns. The gray value for the pixel at the ith row and jth column is denoted by I(i,j) and the maximum gray value of the image is Imax. Thus, the normalized gray value for I(i,j) can be calculated as: In(i,j) = I(i,j)/Imax. The sequence number for the center point at the jth column is denoted as p with a center coordinate of Cp(xp,yp). Using the GGM, the center coordinates can be computed as: To successfully obtain the center coordinates using the GGM, the relationship between the camera and the linear laser projector should be carefully adjusted to guarantee that each column of the image only intersects with the stripe once at most. Some columns may not intersect with the stripe, so p is no larger than N. It can be seen from Equation (1) that the GGM is simple and therefore fast. Its disadvantages are also obvious: the center extraction is not in the transverse direction of the stripe and it is sensitive to noise.

Improved Gray-Gravity Method (IGGM)
The computation principle of the IGGM is shown in Figure 1. The dots are the pixels of the image with In larger than the threshold value T0. Cp is the center coordinate for the jth column computed using the GGM; nj and tj are the normal and the tangential vectors at Cp, respectively. Fp denotes the line function that crosses Cp and coincides with tj expressed by: Ax + By + C = 0. The coordinate of the new center point Cp ' computed using the IGGM is achieved in the rectangular region. The width of the rectangular region, wj, adapts to the radius of curvature at Cp. Sometimes, the stripe that is captured by camera is discontinuous. The center coordinates obtained by the GGM need to be divided into several sections based on the discontinuity points. In each continuous section, nj, tj, and the radius of curvature ρj for Cp are calculated using the moving least square method [27]. Assuming the fitting Equation is: where p(x) = [p1(x), p2(x),…, pm(x)] T is a mth-degree basis function, and α = [α1, α2,…, αm] T is the vector of the undetermined coefficients. The weighted fitting error can be computed as: Sometimes, the stripe that is captured by camera is discontinuous. The center coordinates obtained by the GGM need to be divided into several sections based on the discontinuity points. In each continuous section, n j , t j , and the radius of curvature ρ j for C p are calculated using the moving least square method [27]. Assuming the fitting Equation is: where p(x) = [p 1 (x), p 2 (x), . . . , p m (x)] T is a mth-degree basis function, and α = [α 1 , α 2 , . . . , α m ] T is the vector of the undetermined coefficients. The weighted fitting error can be computed as: In function (3), n is the number of center points in the selected area named C j ; r j is the normalized distance between C j and C p , and can be computed as: where R s is the supporting radius of the fitting domain, and ω(r j ) is a spline weighted function with fourth-degree, computed as: The undetermined coefficients, α, can be obtained by solving the linear Equation of @J(α)/@α l = 0, where l = 0,1, . . . ,m. Using the fitting Equation (2), n j , t j and ρ j can be easily computed. The minimum radius of curvature is denoted as ρ min and the maximum radius of curvature is ρ max .
The complexity of the laser stripes relies on the surface being measured. The stripe may contain arc segments, sharp corners and straight-line segments. For the straight-line portion, the value of its radius of curvature is infinite, while for the sharp corner, the radius of curvature is very small. If the width of the rectangular region, w j , linearly depends on ρ j , it could be extremely large. To limit w j in a reasonable range, a nominal radius of curvature is defined as: Furthermore, w j can be computed by where s is a scale factor; w max and w min are the upper and lower limits of w j , respectively. The length of the rectangular region, l j , is manually set according to the different surface reflective characteristics of the objects. To enhance the computation efficiency for C p ' , a searching region can be defined based on the four corner coordinates of the rectangular region, named D j,1 (x j,1 ,y j,1 ), D j,2 (x j,2 ,y j,2 ), D j,3 (x j,3 ,y j,3 ) and D j,4 (x j,4 ,y j,4 ), as shown by Figure 1. However, only the pixels that are within the rectangular region contribute to the computation of the new center and the selection criteria for I n (i,j) is: When I n (i,j) meets the selection criteria, its distance to F p can be calculated as: If I n is above F p , the sign is positive, otherwise it is negative. Then, the modified distance in the normal direction can be achieved by: The new center C p (x p , y p ) can be computed as: where θ is the angle between t j and the X axis.

Model of Uncertainty Analysis
Because the pixel coordinates of the center points are obtained one by one in the transverse direction of the stripe using the same computing strategy, the uncertainty analysis is carried out only in one transverse section using the Monte Carlo method which is a numerical method and can be achieved by adding uniform random noise to the input data [28]. Most of the time, the intensity of the laser stripes in the transverse direction follows the Gaussian distribution [17] and can be expressed by where H is the amplitude of the laser stripe; d 0 determines the position of the center; d k is the pixel coordinate of the kth pixel in the transverse direction; σ is the standard deviation; ε k is the noise value generated by a uniform random generator; and a 0 is the amplitude; on this basis, the cross profile can be generated with various noise amplitudes. For each cross section with different noise amplitudes, its center coordinates can be obtained using different center extraction methods and the extraction uncertainty can be computed as [29] (16) where d p is the average value of the multiple sampling; d p,r is the rth sampling value; M is the sampling number; and u(d p ) is the uncertainty value of center extraction.

Uncertainty Analysis for Center Extraction
To analyze the uncertainty of the center extraction, the simulated transverse profiles of the laser stripe can be generated using Equation (14). For easy analysis, d 0 is assumed to be 0 and H = 1. Before the center calculation, the profile data should be normalized as I n = I k /max(I). Thus, only two parameters are left to determine the cross-section profile: σ and a 0 . The parameter σ determines the width of the laser stripe. With the decrease of σ, the cross section becomes smaller and smaller, as shown in Figure 2a,b. a 0 is the amplitude of the uniform noise generator. The smaller a 0 is, the better the intensity of the laser stripe conforms to the Gaussian distribution. In Figure 2, a 0 was set as 0.05 and the threshold value T 0 = 0.1. The normalized gray value that is smaller than T 0 was set to be 0 for the subsequent computation. The uncertainty analysis was carried out by adopting different system parameters to the Gaussian distribution with a point step of 1, and the sampling number M = 4000; this means that for a specific cross section, its center was computed 4000 times at a given random generated noise amplitude. After that, the center coordinate was computed using the GGM, and the uncertainty value was computed using Equation (16). The results are shown in Figure 3a; they clearly indicate that the uncertainty of the center increases in accordance with the amplitude of the noise. For a given noise amplitude, the thinner the laser cross section, the smaller the center uncertainty will be.
Then, the width of the stripe was fixed (σ = 2), and the random generated noise with different amplitudes was added to the cross-section profile. Three different methods were used for the center computation. One is the GGM; its uncertainty values under different noise amplitudes have been obtained. The second method is the Gaussian fitting (GF), which is achieved by fitting the cross section using the Gaussian distribution Equation [30]. The third method is the proposed IGGM. The sampling number is M = 4000 for all of the cases. It should be noted that when the IGGM is adopted, the number of cross-section points is related with the width of the selected rectangular region. For most of the cases, the width of the adaptive region wj is within 2~8 pixels. Thus, the mean value of five pixels was chosen for the simulation which corresponds to a point interval of 0.2 pixels. The uncertainty values are shown in Figure 3b. From this figure, it can also be seen that the uncertainty values for the three methods increase with the noise amplitudes. Furthermore, the proposed IGGM can achieve smaller uncertainty values than the other two for all of the noise amplitudes. This validates the advantages of the proposed method.   Different from the traditional GGM which has a minimum point interval, s p , of 1 pixel across the stripe, the proposed IGGM computes the center coordinate by projecting the pixels of the nearby rectangular region onto the cross section. Thus, the number of points for the center computation increased significantly within the same width of the stripe and the s p decreased, as shown in Figure 2c.
The uncertainty analysis was carried out by adopting different system parameters to the Gaussian distribution with a point step of 1, and the sampling number M = 4000; this means that for a specific cross section, its center was computed 4000 times at a given random generated noise amplitude. After that, the center coordinate was computed using the GGM, and the uncertainty value was computed using Equation (16). The results are shown in Figure 3a; they clearly indicate that the uncertainty of the center increases in accordance with the amplitude of the noise. For a given noise amplitude, the thinner the laser cross section, the smaller the center uncertainty will be. The uncertainty analysis was carried out by adopting different system parameters to the Gaussian distribution with a point step of 1, and the sampling number M = 4000; this means that for a specific cross section, its center was computed 4000 times at a given random generated noise amplitude. After that, the center coordinate was computed using the GGM, and the uncertainty value was computed using Equation (16). The results are shown in Figure 3a; they clearly indicate that the uncertainty of the center increases in accordance with the amplitude of the noise. For a given noise amplitude, the thinner the laser cross section, the smaller the center uncertainty will be.
Then, the width of the stripe was fixed (σ = 2), and the random generated noise with different amplitudes was added to the cross-section profile. Three different methods were used for the center computation. One is the GGM; its uncertainty values under different noise amplitudes have been obtained. The second method is the Gaussian fitting (GF), which is achieved by fitting the cross section using the Gaussian distribution Equation [30]. The third method is the proposed IGGM. The sampling number is M = 4000 for all of the cases. It should be noted that when the IGGM is adopted, the number of cross-section points is related with the width of the selected rectangular region. For most of the cases, the width of the adaptive region wj is within 2~8 pixels. Thus, the mean value of five pixels was chosen for the simulation which corresponds to a point interval of 0.2 pixels. The uncertainty values are shown in Figure 3b. From this figure, it can also be seen that the uncertainty values for the three methods increase with the noise amplitudes. Furthermore, the proposed IGGM can achieve smaller uncertainty values than the other two for all of the noise amplitudes. This validates the advantages of the proposed method.   Then, the width of the stripe was fixed (σ = 2), and the random generated noise with different amplitudes was added to the cross-section profile. Three different methods were used for the center computation. One is the GGM; its uncertainty values under different noise amplitudes have been obtained. The second method is the Gaussian fitting (GF), which is achieved by fitting the cross section using the Gaussian distribution Equation [30]. The third method is the proposed IGGM. The sampling number is M = 4000 for all of the cases. It should be noted that when the IGGM is adopted, the number of cross-section points is related with the width of the selected rectangular region. For most of the cases, the width of the adaptive region w j is within 2~8 pixels. Thus, the mean value of five pixels was chosen for the simulation which corresponds to a point interval of 0.2 pixels. The uncertainty values are shown in Figure 3b. From this figure, it can also be seen that the uncertainty values for the three methods increase with the noise amplitudes. Furthermore, the proposed IGGM can achieve smaller uncertainty values than the other two for all of the noise amplitudes. This validates the advantages of the proposed method.

Center Extraction of Laser Stripes
To extract the center using the IGGM, the traditional GGM should be firstly adopted to obtain the initial center point C p for each column. Then, the tangent vector, the normal vector and the radius of curvature for each point can be achieved via the moving least squares method. The base function of the moving least squares method is p(x) = [x 3 , x 2 , x, 1] T ; the supporting radius is R s = 5; and the scale factor is s = 5. Different from the GGM which only considered one cross-section profile for the center calculation, the IGGM would consider all the pixels within the rectangular region around C p .
To analyze the effluence of the width of the rectangular region, w j , on the center extraction, two rectangular regions were established for the same laser stripe and at the same initial center point, but with different width values, as shown in Figure 4a,b. For each pixel point within the rectangular region, its distance d k to the line Equation F p can be computed using Equation (11). Figure 4c,d denotes the gray pixels that were taken into account for the center computation. The offsets of the new centers in the normal direction are d p = −0.036 pixel, and d p = −0.022 pixel, respectively. From the uncertainty analysis, it can be seen that the uncertainty value of the center coordinates would become smaller with the increase of the width of the rectangular region.

Center Extraction of Laser Stripes
To extract the center using the IGGM, the traditional GGM should be firstly adopted to obtain the initial center point Cp for each column. Then, the tangent vector, the normal vector and the radius of curvature for each point can be achieved via the moving least squares method. The base function of the moving least squares method is p(x) = [x 3 , x 2 , x, 1] T ; the supporting radius is Rs = 5; and the scale factor is s = 5. Different from the GGM which only considered one cross-section profile for the center calculation, the IGGM would consider all the pixels within the rectangular region around Cp.
To analyze the effluence of the width of the rectangular region, wj, on the center extraction, two rectangular regions were established for the same laser stripe and at the same initial center point, but with different width values, as shown in Figure 4a,b. For each pixel point within the rectangular region, its distance dk to the line Equation Fp can be computed using Equation (11). Figure 4c,d denotes the gray pixels that were taken into account for the center computation. The offsets of the new centers in the normal direction are dp = −0.036 pixel, and dp = −0.022 pixel, respectively. From the uncertainty analysis, it can be seen that the uncertainty value of the center coordinates would become smaller with the increase of the width of the rectangular region.  For the actual center extraction process, the width of the rectangular region adapts to the radius of the curvature. To better show the advantages of the IGGM, a comparison experiment was carried out for a laser stripe with a sharp corner, as shown in Figure 5. In Figure 5a, the width of the rectangular region is fixed during the center extraction. In Figure 5b, the width decreased with the radius of the curvature accordingly. To clearly show the rectangular regions during the center For the actual center extraction process, the width of the rectangular region adapts to the radius of the curvature. To better show the advantages of the IGGM, a comparison experiment was carried out for a laser stripe with a sharp corner, as shown in Figure 5. In Figure 5a, the width of the rectangular region is fixed during the center extraction. In Figure 5b, the width decreased with the radius of the curvature accordingly. To clearly show the rectangular regions during the center extraction process, they were plotted every seven points. This figure shows that the recalculated centers are smoother than the GGM. When the width of the rectangular region is fixed, the extracted centers have a large deviation with the expected stripe center at the corner region. When using this proposed IGGM, fine extraction results can also be obtained at the corner region. The proposed IGGM can be applied for the center extraction of various laser stripes. Figure 6 lists four representative laser stripes together with the center extraction results. Though the complexity of the stripe increased accordingly, the obtained center curves of the stripes all conform well to the expected centers of the stripes. The quantitative analysis of the center extraction results can be found in the following sections.

Accuracy Analysis
The evaluation of center accuracy was conducted by comparing the center extraction methods with the classical Steger method which can reach sub-pixel accuracy when proper parameters are selected. Thus, it can be used as the reference for the accuracy evaluation. For this study, the sizes of the Guassian kernels are all 7 × 7, and their values are all generated out of the center extraction program to enhance the computation efficiency. Fine standard deviation of the Gaussian kernels The proposed IGGM can be applied for the center extraction of various laser stripes. Figure 6 lists four representative laser stripes together with the center extraction results. Though the complexity of the stripe increased accordingly, the obtained center curves of the stripes all conform well to the expected centers of the stripes. The quantitative analysis of the center extraction results can be found in the following sections. The proposed IGGM can be applied for the center extraction of various laser stripes. Figure 6 lists four representative laser stripes together with the center extraction results. Though the complexity of the stripe increased accordingly, the obtained center curves of the stripes all conform well to the expected centers of the stripes. The quantitative analysis of the center extraction results can be found in the following sections.

Accuracy Analysis
The evaluation of center accuracy was conducted by comparing the center extraction methods with the classical Steger method which can reach sub-pixel accuracy when proper parameters are selected. Thus, it can be used as the reference for the accuracy evaluation. For this study, the sizes of the Guassian kernels are all 7 × 7, and their values are all generated out of the center extraction

Accuracy Analysis
The evaluation of center accuracy was conducted by comparing the center extraction methods with the classical Steger method which can reach sub-pixel accuracy when proper parameters are selected. Thus, it can be used as the reference for the accuracy evaluation. For this study, the sizes of the Guassian kernels are all 7 × 7, and their values are all generated out of the center extraction program to enhance the computation efficiency. Fine standard deviation of the Gaussian kernels and the threshold of the eigenvalues were found by many center extraction experiments to exclude the excess center points [21], and guarantee a fine center extraction result. The center pixels and the sub-pixel center points that were detected by the Steger method for Figure 6a, are shown in Figure 7a. It can be seen that although there may be multiple pixel responses to the stripe, their sub-pixel location conforms with the center perfectly. the sub-pixel center extraction accuracy, the Split-and-Merge approach was not employed. Figure 7b is an enlarged portion of the center extraction result of Figure 6d. In this figure, it can be seen that the center points obtained by the proposed IGGM are closer to the center curve computed by the Steger method, than that of the UM. This is because the center extraction of the UM computes the center coordinates in the column direction as illustrated by R1, not in the normal direction. The computation region of the IGGM denoted by R2, on the other hand, is along the normal direction which conforms with that of the Steger method. To analyze the center extraction error quantitatively, the stripe center of the images in Figure 6 was computed by the Steger method, the UM and the IGGM, respectively. For the pth point that was obtained by the UM, its distance to the center curve of the Steger method is denoted as ep, and can be considered as the extraction error of this point. Then, the maximum deviation, the meam value and the root mean squares value of the UM can be easily computed. The center extraction error of the IGGM can be obtained using the same procedure as listed in Table 1. To better compare the accuracy of the center extraction, the relative error reduction (RER) from of the UM to the IGGM was also computed. It can be concluded from Table 1 that (1) the center extraction errors of the IGGM are all smaller than those of the UM; (2) the center extraction error is affected by the shape and the noise of the stripe. When the stripe lies in a horizontal direction and has low noise, as shown in Figure 6b, the center extraction error of the IGGM is a bit less than that of the UM. This is because the normal direction of the laser stripe is generally in the column direction which is the same as the UM. However, when the noise is increasing and the shape of the stripe is becoming complicated as shown in Figure 6c, the IGGM shows significant advantages over the UM. The three error evaluation parameters can all be reduced by more than 50%.
In addition, when the stripe has a sharp corner, the center points obtained by the UM would have a large deviation from the true stripe center, similar to that of Figure 5a. The deviation value grows with the width of the window for the center computation. Furthermore, this deviation error is hard to fix by the subsequent Split-and-Merge procedure. The IGGM, on the other hand, can alter Then, the center points of the stripe images in Figure 6 were computed by use of the Usamentiaga's method (UM) and the proposed IGGM. It should be noted that, in order to analyze the sub-pixel center extraction accuracy, the Split-and-Merge approach was not employed. Figure 7b is an enlarged portion of the center extraction result of Figure 6d. In this figure, it can be seen that the center points obtained by the proposed IGGM are closer to the center curve computed by the Steger method, than that of the UM. This is because the center extraction of the UM computes the center coordinates in the column direction as illustrated by R 1 , not in the normal direction. The computation region of the IGGM denoted by R 2 , on the other hand, is along the normal direction which conforms with that of the Steger method.
To analyze the center extraction error quantitatively, the stripe center of the images in Figure 6 was computed by the Steger method, the UM and the IGGM, respectively. For the pth point that was obtained by the UM, its distance to the center curve of the Steger method is denoted as e p , and can be considered as the extraction error of this point. Then, the maximum deviation, the meam value and the root mean squares value of the UM can be easily computed. The center extraction error of the IGGM can be obtained using the same procedure as listed in Table 1. To better compare the accuracy of the center extraction, the relative error reduction (RER) from of the UM to the IGGM was also computed. It can be concluded from Table 1 that (1) the center extraction errors of the IGGM are all smaller than those of the UM; (2) the center extraction error is affected by the shape and the noise of the stripe. When the stripe lies in a horizontal direction and has low noise, as shown in Figure 6b, the center extraction error of the IGGM is a bit less than that of the UM. This is because the normal direction of the laser stripe is generally in the column direction which is the same as the UM. However, when the noise is increasing and the shape of the stripe is becoming complicated as shown in Figure 6c, the IGGM shows significant advantages over the UM. The three error evaluation parameters can all be reduced by more than 50%.
In addition, when the stripe has a sharp corner, the center points obtained by the UM would have a large deviation from the true stripe center, similar to that of Figure 5a. The deviation value grows with the width of the window for the center computation. Furthermore, this deviation error is hard to fix by the subsequent Split-and-Merge procedure. The IGGM, on the other hand, can alter the width of the window according to the radius of the curvature of the stripe. Thus, it can precisely obtain the center of the stripe both at the smooth region and the corner region.

Run Time
In this experiment, the computer for the image processing has a CPU of Intel i5-3470 3.2GHz and a RAM of 4GB. The software environment is Matlab R2012b. For ease of comparison studies, the sizes of the images of Figure 6 are all 500 × 250 pixels. For each image, the center extraction program was run 10 times, and the average times of different center extraction methods are illustrated in Table 2. From this table, it can be seen that the GGM is the most efficient and the Steger method always needs the longest computation time. This is because the GGM has the simplest computational strategies as shown by Equation (1), while the Steger method needs to convolve all the pixels of the image with the Gaussian kernels five times. The UM was realized by the center extraction and subsequent Split-and-Merge process. The window size for the center calculation is W = 4 and the Akiama splines are used for the fitting with a threshold of ε = 2. Unlike other methods, its center extraction time is related with the stripe images. The more complex the stripe is, the more interactive steps are needed to restrict the fitting error within the threshold, and the more computation time is needed.  The IGGM has a longer computation time than that of the UM. This is because the moving least squares method is applied to estimate the normal vector of each center point. Furthermore, the center extraction in the normal direction leads to better accuracy. Moreover, the computation time of the IGGM is less than 0.1 s which is only one thirtieth of the Steger method. Thus, it can be applied for the 2D profile measurement and also for the 3D shape measurements by combining it with other motional axes. A lower computation time can be expected by transferring the algorithm to another software environment.

2D Profile Measurement
For accuracy evaluation, a workpiece with stairs was fabricated by a precision milling machine, as shown in Figure 8a. The LSLS was calibrated by using of the numerical calibration method [5]. It can effectively eliminate the effect of lens distortion on the measuring results. Besides this, the bottom face of the workpiece also needs to fit well with the supporting plane to make the stairs perpendicular to the laser plane. The measured stair profile is shown in Figure 8b. A reference line was firstly defined by linear fitting of the line segments from the reference surface. Then, the value of the stair heights, named H 1 , H 2 and H 3 , are defined as the average distance between the stair points and the reference line. The profile was also inspected by CMM (Coordinate Measuring Machine). The height values were computed using the same procedure and were taken as the true value. The measuring results are shown in Table 3. It can be seen that the maximum deviation is 0.0352 mm and the maximum relative error is 0.1933%. This indicates the high accuracy of the LSLS.

3D Measurement
The IGGM was also used to extract the center coordinates of the laser stripe during the measurement of a screw surface, as shown in Figure 9. Figure 9a is the measurement system that consisted of a linear laser projector, a CCD camera, a rotation axis and a linear stage. The LSLS, which has a linear laser projector and a CCD camera, was well calibrated before assembling with the motional axes. For this study, two motional axes are used for the surface inspection. One is the rotation axis that is driven by a servo motor with a resolution of 0.0055°. Another is a linear stage from NSK Ltd. (Tokyo, Japan) with a resolution of 0.5 μm. Figure 9b is the measured result of the screw surface mounted on the rotation axis. The linear stage carries the screw surface linearly under the LSLS; the position of the stage and the cross profile of the rotor were recorded. Then, the rotation axis moves to the position of 120° and 240°, and the same procedure was carried out. The measurement results further prove that the proposed IGGM can also be used for the measurement of the complex 3D surfaces.

3D Measurement
The IGGM was also used to extract the center coordinates of the laser stripe during the measurement of a screw surface, as shown in Figure 9.

3D Measurement
The IGGM was also used to extract the center coordinates of the laser stripe during the measurement of a screw surface, as shown in Figure 9. Figure 9a is the measurement system that consisted of a linear laser projector, a CCD camera, a rotation axis and a linear stage. The LSLS, which has a linear laser projector and a CCD camera, was well calibrated before assembling with the motional axes. For this study, two motional axes are used for the surface inspection. One is the rotation axis that is driven by a servo motor with a resolution of 0.0055°. Another is a linear stage from NSK Ltd. (Tokyo, Japan) with a resolution of 0.5 μm. Figure 9b is the measured result of the screw surface mounted on the rotation axis. The linear stage carries the screw surface linearly under the LSLS; the position of the stage and the cross profile of the rotor were recorded. Then, the rotation axis moves to the position of 120° and 240°, and the same procedure was carried out. The measurement results further prove that the proposed IGGM can also be used for the measurement of the complex 3D surfaces. Figure 9a is the measurement system that consisted of a linear laser projector, a CCD camera, a rotation axis and a linear stage. The LSLS, which has a linear laser projector and a CCD camera, was well calibrated before assembling with the motional axes. For this study, two motional axes are used for the surface inspection. One is the rotation axis that is driven by a servo motor with a resolution of 0.0055 • . Another is a linear stage from NSK Ltd. (Tokyo, Japan) with a resolution of 0.5 µm. Figure 9b is the measured result of the screw surface mounted on the rotation axis. The linear stage carries the screw surface linearly under the LSLS; the position of the stage and the cross profile of the rotor were recorded. Then, the rotation axis moves to the position of 120 • and 240 • , and the same procedure was carried out. The measurement results further prove that the proposed IGGM can also be used for the measurement of the complex 3D surfaces.

Conclusions
An IGGM was proposed which can precisely extract the laser stripe center at sub-pixel level. Using this method, each center coordinate was not obtained by considering only one transverse section of the laser stripe, but a rectangular region nearby. Based on the relationship established between the width of the rectangular region and the radius of curvature of the stripe, the width of the rectangular region would automatically change with the radius of curvature within a reasonable range. Thus, the precise sub-pixel center coordinates can be obtained from the perturbed stripe not only for the smooth region, but also for the region with sharp corners. From the Monte Carlo simulation, it can be seen that the uncertainty values for the center extraction are lower than the GGM and the GF under different noise amplitudes. The center coordinates of the sloping straight line, the steps, the arc, and the irregular laser stripe are all successfully extracted by use of the IGGM. Compared with the UM, the proposed IGGM can achieve higher center extraction accuracy. Its average run time is only one thirtieth of the Steger method. Thus, the IGGM is suitable for precision measurement of the workpieces. The measurement results of a stairs profile and a 3D screw surface further prove that the IGGM can be used for actual applications.