3.1. 3D Point Cloud Data Acquisition
In order to verify the effectiveness of the proposed method, after the three-dimensional measurement system is calibrated according to
Figure 1, a Hello Kitty doll is selected as object 1 to be measured in the three-dimensional reconstruction experiment. This 3D measurement experiment uses a Texas Instruments (TI) DLPLCR4500EVM projector with a resolution of
pixels and a Basler ace industrial camera with a resolution of
pixels. The proposed method is implemented using MATLAB2020b software and tested on a computer (16 GB Random Access Memory, CPU Intel i5-9300 2.40 GHz main frequency, GPU GTX1650 4 GB). A doll is selected as the experimental object, as shown in
Figure 5a, and one of the deformed fringe images captured by the camera is shown in
Figure 5b. According to the three-dimensional topography measurement principle based on dual-wavelength fringe projection in
Figure 1, the absolute phase map is obtained by analyzing and phase unwrapping multiple deformed fringe patterns by PSP, as shown in
Figure 5c. Combining the 3D calibration parameters and the absolute phase map of the object for 3D reconstruction, the reconstructed 3D point cloud is shown in
Figure 5d. According to the results of 3D reconstruction, there are scattered and blocky noise point clouds around the 3D point cloud of the object, and it is necessary to perform a point cloud filtering operation on the 3D point cloud.
3.3. Point Cloud Denoising Experiment 1
A point cloud denoising experiment based on image segmentation is carried out on the object1. The image of the point cloud denoising experiment is shown in
Figure 6. According to
Section 3.2, image segmentation, the point cloud map in
Figure 6a is segmented into regions. Set the initial point, that is, the growth region seed point
; the window size of the region growth is 3 pixels
3 pixels, the step size of the region growth is 1 pixel, and the threshold of each region growth threshold is
. A schematic diagram of the region’s growing process is shown in
Figure 7. The table in
Figure 7 is part of the point cloud mapping image pixel values; the initial point is (717,499). In the first region growing, (716,500) in 8 neighbor pixel points of (717,499) only can satisfy the region growing principle. (716,500) is the point of the growing region. (716,500) is the judgment point for the next region growing. In the second region growing, only (715,501) in eight neighbor pixel points satisfies the region growing criterion and is a pixel in the growing region, then (715,501) is also a pixel in the growing region. In the third region growing, there are four pixels that meet the region growing criterion and are eight neighbor pixels of (715,501), respectively (714,501), (714,502), (715,502), (716,502). According to the above steps, the regional growth is continued for the four pixels until all the growth points do not satisfy the calculation of the region growth criterion, then, the regional growth is stopped, and the region is recorded. Calculate the area of the region according to Equation (4), and the area of the region is
. The recorded region is shown in
Figure 8a, and the area is deleted in the point cloud mapping image, as shown in
Figure 8b. Continue to select the initial points that satisfy Equation (3) in the remaining regions to be segmented as the seed points for region growth until all non-zero pixel points in the figure are in each segmented region. After the image is segmented, use different RGB values to represent each segmented area on the point cloud mapping image. In the KNN algorithm, the parameter settings are
and Euclidean distance threshold
. We select the nearest neighbor point in the reference region and the undetermined region, respectively, to calculate the Euclidean distance between the two points. The calculated distance is compared with D to determine whether the undetermined region is a noise region.
Table 1 shows the results of region segmentation of point cloud mapping images through region growth and noise region judgment. In
Table 1, there are a total of 95 regions after image segmentation. Among these 95 regions, there are three reference regions without noise, 66 noise regions, and 26 undetermined regions. Undetermined regions are regions that may contain noise.
Table 2 shows the results of further judgment on the undetermined regions in
Table 1 by using the KNN algorithm. According to
Table 1 and
Table 2, there are 66 noise regions after image segmentation, and the undetermined region is judged by the k-nearest neighbor algorithm to obtain the undetermined There are 25 noise regions in the region. Therefore, a total of 81 noise regions were recorded. All the pixels in the 81 regions are indexed in the point cloud mapping image, and the pixel value of the pixel where the noise region is located is set to 0 to achieve the effect of noise removal. The 3D point cloud is restored according to the noise removal region, and the 3D point cloud model after noise removal is obtained, as shown in
Figure 6d.
According to the position index of the denoising point cloud on the three-dimensional point number mapping image in
Figure 6d, the binary image of the point cloud mapping of the noise removal regions is established, as shown in
Figure 9a. In
Figure 9a, only the values of the pixels containing the point cloud are set to 1.
Figure 9b is the binary image of the point cloud map image in
Figure 5d. The point cloud map image after denoising in
Figure 9a and the point cloud map image without denoising in
Figure 9b is calculated according to the restored point cloud in
Section 3.5 outside the regions of the noise-free point cloud, and The XOR operation is performed in the three noise-free point cloud regions in
Table 1, and the mapping image of the restored regions in
Figure 9c is obtained. Phase recovery is carried out according to the recovery regions, and the recovered absolute phase information is obtained. According to
Figure 1, combined with the original 3D calibration parameters, 3D reconstruction is performed on the new absolute phase image to obtain a noise-free 3D point cloud.
Figure 10a is the original image of part of the absolute phase, and
Figure 10b is the restored absolute phase image; it can be concluded that after the noise regions are deleted and restored according to the reference phase, the restored absolute phase information is more accurate than the original image, no new point cloud noise will be generated.
Figure 11 is a noise-free point cloud image obtained after a three-dimensional reconstruction of the restored absolute phase image.
In order to verify the robustness of the proposed method, the proposed method is compared with the radius filtering algorithm [
35] and voxel filtering algorithm [
36] commonly used in image processing, as well as the point cloud filter algorithm proposed in [
37], and the point cloud denoising results are compared and analyzed.
Table 3 is the comparative analysis of point cloud denoising results of object 1. According to
Table 3, it can be seen that the fastest speed of the voxel filtering algorithm in the comparative analysis is only 0.081 s, but
is higher than other methods and
is lower than other methods. The algorithm does not have a high degree of discrimination for noise areas, and the accuracy of point clouds is not high, only 13.977%. The radius filtering algorithm is better, the point cloud denoising accuracy can reach 89.314%, and the required time is only 0.755 s,
is larger than the proposed method and the algorithm proposed in the literature [
37]. Compared with the literature [
37], the proposed method uses a region growing and image segmentation to replace the image processing part in literature [
37] to achieve 3D point cloud denoising, and the proposed method has higher point cloud accuracy, which can reach 99.974%, The point cloud denoising time is 0.954 s.
3.4. Point Cloud Denoising Experiment 2
In order to verify the robustness of the proposed method, a Rubber Duck doll is selected as object 2 to be measured in the three-dimensional reconstruction experiment. The experimental process of 3D reconstruction of object 2 is shown in
Figure 12. It can also be known from
Figure 12d that the 3D point cloud model of object 2 also has point cloud noise. It is also necessary to perform a point cloud denoising on object 2.
A point cloud denoising experiment is carried out on object 2, and a comparison analysis is carried out with other denoising algorithms mentioned above. In the point cloud denoising experiment, the selected image segmentation parameters, including the selection of region growth seed points, growth step size, growth window, color feature extraction method, region growth threshold
, and Euclidean distance threshold
remain unchanged.
Figure 13 is the experimental image of the point cloud denoising method based on image segmentation.
Table 4 and
Table 5, respectively, show the results of image segmentation of the point cloud mapping image of object 2 and the results of further judging whether all undetermined regions are noise regions according to the above steps. In
Table 4, object 2 is divided into 22 regions in total, including 1 reference region, 9 noise regions, and 12 undetermined regions. In
Table 5, it is judged that there are 11 undetermined area noise regions. According to
Table 4 and
Table 5, all recorded noises are removed from the point cloud mapping image in
Figure 13b, and the point cloud mapping image of the noise-removed area is obtained, as shown in
Figure 13c.
According to the denoised 3D point cloud of object 2 and the creation of the point cloud mapping image, a binary point cloud mapping image is generated, as shown in
Figure 14. The corresponding operations are then applied to the mapped images in
Figure 14a,b for point cloud restoration, resulting in the recovery point cloud mapping image depicted in
Figure 14c. The absolute phase information is restored based on the recovery region in
Figure 14c, resulting in
Figure 15, which displays the absolute phase image of part 2 of the object. By denoising the initial absolute phase using the point cloud, an absolute reference phase is established through the coordinate points of the noise region, and accurate restored absolute phase information is obtained through calculation. As depicted in
Figure 15b, the recovered absolute phase appears smoother without the occurrence of sharp phase changes seen in
Figure 15a.
Figure 16 illustrates a noise-free point cloud image obtained through a three-dimensional reconstruction of the restored absolute phase image.
Table 6 is the comparative analysis of point cloud denoising results of object 2. According to
Table 6, the point cloud denoising accuracy Q of the proposed method is the highest, which is 99.944%, and the denoising time is 0.875 s.
According to the point cloud experiments, the proposed method employs image segmentation to quickly identify and remove scattered and blocky noise points in the 3D point cloud reconstructed using fringe projection. The denoised point cloud, obtained through absolute phase recovery, improves the accuracy of denoising. The entire denoising process takes less than 1 s, demonstrating real-time performance. However, the noise-free 3D point cloud model exhibits vacancies due to the coverage during the fringe projection process, leading to the loss of 3D information in those regions. Future research will focus on combining the proposed method with 3D point cloud registration technology to enhance its practicality.
3.5. Parameter Selection Comparison
In this section, we compare the performance of our proposed algorithm under different parameter settings to demonstrate that our chosen parameters are optimal. We will compare the following key parameters: the region growth threshold and the Euclidean distance threshold in the KNN algorithm.
The performance of the proposed method under different region growth thresholds and Euclidean distance thresholds is evaluated. We set different region growth thresholds: 0–100 and experimented on the same objects. The parameter comparison results are shown in
Figure 17. We set different Euclidean distance thresholds: 0–100 and experimented on the same objects. The parameter comparison results are shown in
Figure 18.
The experimental results show that when the region growth threshold is , and the Euclidean distance threshold is , the proposed method achieves the best performance index and has the highest point cloud denoising accuracy. A lower region growth threshold or Euclidean distance threshold results in a lot of segmented regions, and the removal of too many noise regions leads to lower accuracy of point cloud denoising. A higher region growth threshold or Euclidean distance threshold will result in very few segmented regions, resulting in the situation that some point cloud noise cannot be removed, reducing the accuracy of point cloud denoising.
According to the above comparative experiments, we determined that the region growth threshold is , and the Euclidean distance threshold is . These parameters are set in the point cloud data centers of the two objects in the point cloud denoising experiment to achieve the best performance with the highest point cloud denoising accuracy. The experimental results show that the parameters we choose have an important impact on the performance of the algorithm and prove its rationality and effectiveness in our algorithm.