Optical rotary scanning measuring instrument three-dimensional point cloud denoising method based on point neighborhood distance clustering
By using a point neighborhood distance-based clustering method, the problem of denoising complex types of noise in optical rotation scanning measurement systems was solved, achieving efficient and accurate point cloud data processing and reducing algorithm execution time.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA UNIV OF PETROLEUM (EAST CHINA)
- Filing Date
- 2024-12-20
- Publication Date
- 2026-04-24
AI Technical Summary
Existing optical rotation scanning measurement systems struggle to effectively remove noise interference when measuring composite noisy point clouds, leading to inaccurate measurement results. Furthermore, traditional denoising algorithms have high time complexity and long execution times.
A point cloud denoising method based on point neighborhood distance is adopted. By calculating the distance between each point in the point cloud data and its neighboring points, the data is divided into clusters. The group with the most points is retained and the rest are filtered out.
It effectively removes composite noise, improves measurement accuracy, reduces the time complexity of the denoising algorithm, and enhances denoising efficiency.
Smart Images

Figure CN119809973B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of optical measurement technology. Specifically, this invention relates to a method for denoising three-dimensional point clouds in an optical rotating scanning measuring instrument based on point neighborhood distance clustering. Background Technology
[0002] Key components in the aerospace industry, such as engine bladed disks and sealing grooves, in the automotive industry, such as transmission valve bodies and engine cylinders, and in the defense industry, such as guns and cannons, are characterized by complex internal structures, narrow spaces, and large depth-to-width ratios. The current challenges in accurately measuring the key geometric parameters of these components are that they are "unmeasurable," "inaccurate," and "slow to measure."
[0003] The optical rotary scanning measurement system is a modular, non-contact optical aperture measurement system. Internally, the system features a slender probe structure with optical fibers and reflectors, enabling it to measure the surface of objects within confined spaces and with varying dimensions and shapes.
[0004] When performing shape detection in a narrow space, a rotary motor drives the probe to rotate, scanning the object being measured in a non-contact manner to obtain a large number of three-dimensional point clouds located inside the narrow space. This allows the geometric dimensions and shape tolerances of the object to be measured to be calculated, achieving high-precision three-dimensional measurement.
[0005] Due to installation deviations during the actual machining and assembly of parts, the actual light emission point and direction of the probe do not coincide with the ideal measurement coordinate system. Simultaneously, the error motion of the rotating probe causes the measurement coordinates to fail to accurately reflect the true measurement value. These problems result in significant noise interference in the final point cloud data. Furthermore, this noise is not a simple, uniform type of noise, but rather a composite noise composed of multiple noise types, interfering with subsequent calculations of geometric dimensions and shape tolerances.
[0006] Traditional denoising algorithms are basically designed to filter out one type of noise point cloud. They are difficult to effectively remove this type of composite noise. Therefore, a denoising algorithm that can effectively remove this type of composite noise is needed.
[0007] In view of the above-mentioned shortcomings of the existing technology, the present invention is proposed. Summary of the Invention
[0008] To address the problems mentioned in the background technology, this invention proposes a 3D point cloud denoising method for optical rotating scanning measuring instruments based on point neighborhood distance clustering. This method calculates the distance between each point and its neighboring points based on the point cloud data to be processed, and then performs clustering based on this feature to obtain several groups. The group with the most points is retained, and the remaining groups are removed, thereby achieving the purpose of denoising and obtaining the target point cloud data.
[0009] To achieve the objective of this invention, the technical solution provided by this invention is as follows:
[0010] A method for denoising 3D point clouds in an optical rotating scanning measuring instrument based on point neighborhood distance clustering includes the following steps:
[0011] Step S1: During the measurement process, the optical rotation scanning measuring instrument system obtains the three-dimensional coordinates of a large number of points located inside a narrow space, and finally generates point cloud data.
[0012] Step S2: Iterate through each point in the point cloud to be processed, calculate the distance between the current point and the next point, and obtain an array distances consisting of the distance values between two points;
[0013] Step S3: Traverse the distance array distances and determine the parameter for subsequent grouping based on the distance information of the overall point cloud;
[0014] Step S4: Iterate through the distance array again and further divide the array into multiple groups based on the parameter determined in step S3. Each group consists of several distance information.
[0015] Step S5: Iterate through all groups in step S4 and find the group with the most members.
[0016] Iterate through the groups in the group collection and find the group with the most elements, which is denoted as the maximum group MaxGroup.
[0017] Step S6: Obtain the indices of the initial and last elements in the group with the largest number of members found in step S5.
[0018] Obtain the index BeginIndex of the initial element and the index EndIndex of the last element in the largest group MaxGroup found in step S5; where BeginIndex is the starting index of the target point cloud in the initial point cloud, denoted as minIndex; EndIndex+1 is the ending index of the target point cloud in the initial point cloud, denoted as maxIndex, thus obtaining the index range of the target point cloud in the initial point cloud [minIndex, maxIndex].
[0019] Step S7: Based on the two indices obtained in step S6, obtain the index range of the point cloud to be retained, filter out the point cloud outside the index range, obtain the target point cloud, realize point cloud filtering, and complete point cloud denoising.
[0020] A point cloud index object is created based on the index range [minIndex, maxIndex] determined in step S6. An extractor object is then applied to retain the point cloud in the index object and filter out the remaining noisy point cloud to achieve a denoising effect.
[0021] The preferred technical solution provided by this invention is as follows:
[0022] Step S2 specifically includes:
[0023] Step S21: Calculate the distance between the current point and the next point, as follows:
[0024]
[0025] In the formula x i y i z i Let x be the three-dimensional coordinates of the current traversed point. i+1 y i+1 z i+1 The three-dimensional coordinates of the next adjacent points of the current traversed point; dis is the calculated distance between the two points.
[0026] Step S22: Store the distance values obtained in step S21 into an array in sequence to obtain an array distances consisting of the distance values between two points. The index i in the array is the same as the index i of the point during traversal.
[0027] A further preferred technical solution provided by the present invention is as follows:
[0028] In step S3, specifically:
[0029] Step S31: Traverse the distances array and calculate the expected value of each distance value in the array, as follows:
[0030]
[0031] The average is the expected value, n is the total number of elements in the array, and dis is the expected value. i This represents the i-th distance value in the array;
[0032] Step S32: Use a multiple of this expectation as a parameter to measure the magnitude of change in the distance value, as follows:
[0033] parameter = k × average (3)
[0034] Where k is a multiple.
[0035] A more preferred technical solution provided by the present invention is as follows:
[0036] In step S4, specifically:
[0037] Step S41: Iterate through the distances array again, and pair the distance value of each element with its current index, as follows:
[0038] pair = [i, dis i (4)
[0039] i is the index of the current element, dis i It represents the distance value of the current element, and pair is the key-value pair formed by them.
[0040] Step S42: Add the current key-value pair to the group, and compare the difference between the current distance value and the next distance value, as follows:
[0041] difference=|dis i -dis i+1 | (5)
[0042] dis i This represents the distance value of the i-th element in the array, and difference represents the absolute value of the difference between two adjacent distances;
[0043] Step S43: Compare the difference with the parameter. If the difference is greater than the parameter, store the current group in the group collection groups; otherwise, do not execute.
[0044] Step S44: Repeat steps S41 to S43, and finally divide the data into several groups based on the distance values, and store them in the group set groups.
[0045] Compared with the prior art, the beneficial effects of the present invention are:
[0046] 1. Existing point cloud denoising algorithms mostly target single-type noise points. When multiple types of noise exist, it is difficult to effectively remove all of them, often resulting in incomplete or inadequate denoising. This invention proposes a point-neighborhood distance-based clustering method that divides the point cloud into several groups based on the neighborhood distance relationships between points. The group with the largest number of points is extracted, and the remaining groups are considered noise to be filtered out. A single filtering step yields the denoised target point cloud.
[0047] 2. The time complexity of common point cloud denoising algorithms is mostly between O(n*logN) and O(n logN). 2When the number of point clouds becomes large enough, the algorithm execution time becomes extremely long. This invention fully considers the point-by-point generation characteristics of point cloud data obtained by the rotating scanning head system. Based on this characteristic, a customized point cloud denoising process is developed, controlling the algorithm's time complexity to O(n), reducing the execution time required for the denoising algorithm, and effectively improving the denoising efficiency. Even when the number of point clouds expands to a large extent, the denoised result can be obtained in a relatively short time. Attached Figure Description
[0048] Figure 1 This is a schematic diagram of the rotating scanning probe system used in this invention;
[0049] Figure 2 for Figure 1 A schematic diagram of the point cloud data to be processed obtained by the scanning system;
[0050] Figure 3 This is a flowchart of the noise reduction method based on point neighborhood distance clustering of the present invention;
[0051] Figure 4 This is a schematic diagram of the group partitioning process based on distance parameters. Detailed Implementation
[0052] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0053] The point cloud data targeted by this invention is... Figure 1 The measurements were obtained using the optical rotation scanning measurement system shown. Figure 1 This is a schematic diagram of the rotating scanning probe system used in this invention, as shown below. Figure 1As shown, the optical rotation scanning measurement system applied in this invention includes, but is not limited to, a one-dimensional displacement stage, a rotating probe, and a grating sensor. When performing three-dimensional topographic detection within a narrow space, the measurement beam is emitted from an absolute distance measuring device through a fiber optic probe, passes through a reflector, is emitted radially along the probe rod, and contacts the surface of the object under test. The beam then returns along the same path, passing through the reflector and fiber optic probe before finally returning to the absolute distance measuring device. Through this process, the system can measure the distance (denoted as d) from the light emission point of the probe rod to the surface of the object under test. Simultaneously, the one-dimensional displacement of the rotating probe is measured by a long grating sensor (denoted as l), and the angular rotation is measured by an angle sensor (denoted as θ). Based on these data, the system can obtain a large number of three-dimensional coordinates of points located within the narrow space during the measurement process, ultimately generating point cloud data. The point cloud data obtained by this system has the characteristic of being generated point-by-point, and this invention is based on this characteristic.
[0054] To address the problems raised in the background technology, this invention proposes a 3D point cloud denoising method for optical rotating scanning measuring instruments based on point neighborhood distance clustering. This method first calculates the distance between each point and its neighboring points based on the point cloud data to be processed. Based on this feature, it performs clustering to obtain several groups. The group with the most points is retained, and the remaining groups are removed, thereby achieving denoising and obtaining the target point cloud data.
[0055] Specifically, the following steps are included:
[0056] Step S1, using as follows Figure 1 The optical rotation scanning measurement system shown obtains a large number of three-dimensional coordinates of points located inside a narrow space during the measurement process, and finally generates point cloud data;
[0057] The final point cloud data to be processed obtained by the scanning system is as follows: Figure 2 As shown, the target point cloud contains composite noise points, namely sparse and dense noise points, which surround the target point cloud. Traditional denoising algorithms effectively remove sparse noise points. However, dense noise points, with their density and other characteristics similar to the target point cloud, are difficult to remove effectively. The neighborhood distance-based clustering denoising algorithm of this invention can remove all these composite noise points surrounding the target point cloud in one go, yielding a complete target point cloud.
[0058] Figure 3 This is a flowchart of the denoising method based on point neighborhood distance clustering of the present invention; combined with Figure 3 As shown,
[0059] Step S2: Iterate through each point in the point cloud to be processed, calculate the distance between the current point and the next point, and obtain an array distances consisting of the distance values between two points;
[0060] Step S21: Calculate the distance between the current point and the next point, as follows:
[0061]
[0062] In the formula x i y i z i Let x be the three-dimensional coordinates of the current traversed point. i+1 y i+1 z i+1 The three-dimensional coordinates of the next adjacent points of the current traversed point; dis is the calculated distance between the two points.
[0063] Step S22: Store the distance values obtained in step S21 into an array in sequence to obtain an array distances consisting of the distance values between two points. The index i in the array is the same as the index i of the point during traversal.
[0064] Step S3: Traverse the distance array distances and determine the parameter for subsequent grouping based on the distance information of the overall point cloud;
[0065] Step S31: Traverse the distances array and calculate the expected value of each distance value in the array, as follows:
[0066]
[0067] The average is the expected value, n is the total number of elements in the array, and dis is the expected value. i This represents the i-th distance value in the array;
[0068] Step S32: Use a multiple of this expectation as a parameter to measure the magnitude of change in the distance value, as follows:
[0069] parameter = k × average (3)
[0070] Where k is a multiple.
[0071] Step S4: Iterate through the distance array again and further divide the array into multiple groups based on the parameter determined in step S3. Each group consists of several distance information.
[0072] Step S41: Iterate through the distances array again, and pair the distance value of each element with its current index, as follows:
[0073] pair = [i, dis] i(4)
[0074] i is the index of the current element, dis i It represents the distance value of the current element, and pair is the key-value pair formed by them.
[0075] Step S42: Add the current key-value pair to the group, and compare the difference between the current distance value and the next distance value, as follows:
[0076] difference=|dis i -dis i+1 | (5)
[0077] dis i This represents the distance value of the i-th element in the array, and difference represents the absolute value of the difference between two adjacent distances;
[0078] Step S43: Compare the difference with the parameter. If the difference is greater than the parameter, store the current group in the group collection groups; otherwise, do not execute.
[0079] Step S44: Repeat steps S41 to S43, and finally divide the data into several groups based on the distance values, and store them in the group set groups.
[0080] Step S5: Iterate through all groups in step S4 and find the group with the most members.
[0081] Iterate through the groups in the group collection and find the group with the most elements, which is denoted as the maximum group MaxGroup.
[0082] Step S6: Obtain the indices of the initial and last elements in the group with the largest number of members found in step S5.
[0083] Obtain the index BeginIndex of the initial element and the index EndIndex of the last element in the largest group MaxGroup found in step S5; where BeginIndex is the starting index of the target point cloud in the initial point cloud, denoted as minIndex; EndIndex+1 is the ending index of the target point cloud in the initial point cloud, denoted as maxIndex, thus obtaining the index range of the target point cloud in the initial point cloud [minIndex, maxIndex].
[0084] Step S7: Based on the two indices obtained in step S6, obtain the index range of the point cloud to be retained, filter out the point cloud outside the index range, obtain the target point cloud, realize point cloud filtering, and complete point cloud denoising.
[0085] A point cloud index object is created based on the index range [minIndex, maxIndex] determined in step S6. An extractor object is then applied to retain the point cloud in the index object and filter out the remaining noisy point cloud to achieve a denoising effect.
[0086] Although the functions and working processes of the present invention have been described above in conjunction with the accompanying drawings, the present invention is not limited to the specific functions and working processes described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims, and all of these are within the protection scope of the present invention.
Claims
1. A method for denoising 3D point clouds in an optical rotating scanning measuring instrument based on point neighborhood distance clustering, characterized in that: Includes the following steps, Step S1: During the measurement process, the optical rotation scanning measuring instrument system obtains the three-dimensional coordinates of a large number of points located inside a narrow space, and finally generates point cloud data. Step S2: Iterate through each point in the point cloud to be processed, calculate the distance between the current point and the next point, and obtain an array distances consisting of the distance values between two points; Step S3: Traverse the distance array distances and determine the parameter for subsequent grouping based on the distance information of the overall point cloud; Step S4: Iterate through the distance array again and further divide the array into multiple groups based on the parameter determined in step S3. Each group consists of several distance information. In step S4, specifically: Step S41: Iterate through the distances array again, and pair the distance value of each element with its current index to form a key-value pair. The details are as follows: (4) The index of the current element. This represents the distance value to the current element. That is, the key-value pairs they form; Step S42: Set the current key-value pair Add to group In the process, the difference between the current distance value and the next distance value is compared, as follows: (5) Represents the first element in the array. The distance value of each element. This represents the absolute value of the difference between two adjacent distances; Step S43: Compare the difference With parameters The size, if Greater than Store the current group in the group collection. ; Otherwise, it will not be executed; Step S44: Repeat steps S41 to S43, and finally divide the data into several groups based on the distance values, and store them in the group set groups; Step S5: Traverse all groups in step S4 and find the group with the most members. Iterate through the groups in the group collection and find the group with the most elements, which is denoted as the maximum group MaxGroup. Step S6: Obtain the indices of the initial and last elements in the group with the largest number of members found in step S5. Obtain the index BeginIndex of the initial element and the index EndIndex of the last element in the maximum group MaxGroup found in step S5. BeginIndex is the starting index of the target point cloud in the initial point cloud, denoted as minIndex; EndIndex+1 is the ending index of the target point cloud in the initial point cloud, denoted as maxIndex, thus obtaining the index range of the target point cloud in the initial point cloud. ; Step S7: Based on the two indices obtained in step S6, obtain the index range of the point cloud to be retained, filter out the point cloud outside the index range, obtain the target point cloud, realize point cloud filtering, and complete point cloud denoising. Based on the index range determined in step S6 Create a point cloud index object, and apply an extractor object to retain the point cloud in the index object while filtering out other noisy point clouds to achieve a noise reduction effect.
2. The method for denoising three-dimensional point clouds of an optical rotating scanning measuring instrument based on point neighborhood distance clustering according to claim 1, characterized in that: Step S2 specifically includes: Step S21: Calculate the distance between the current point and the next point, as follows: (1) In the formula , , These are the three-dimensional coordinates of the current traversed point. , , The three-dimensional coordinates of the next adjacent points of the current traversed point; This is the calculated distance between the two points; Step S22: Store the distance values obtained in step S21 into an array to obtain an array called distances consisting of the distance values between two points. index of the point during traversal Consistent.
3. The method for denoising three-dimensional point clouds of an optical rotating scanning measuring instrument based on point neighborhood distance clustering according to claim 1, characterized in that: In step S3, specifically: Step S31: Traverse the distances array and calculate the expected value of each distance value in the array, as follows: (2) That is, the desired expectation. The total number of elements in the array. For the first element in the array One distance value; Step S32: Use a multiple of this expectation as a parameter to measure the magnitude of change in the distance value, as follows: (3) in It is a multiple.
Citation Information
Patent Citations
Denoising method and device for point cloud data and readable storage medium
CN112819700A
Image denoising method and system based on fusion of point sparseness and straight-through filter
CN118429212A