Hole Filling Method for Ordered Hierarchical Simplification of Scattered Point Clouds
By simplifying scattered point clouds based on orderly stratification, using KD tree preprocessing and NURBS curve fitting, the problem of long time to fill point cloud holes in the existing technology is solved, and faster and more efficient hole filling effect is achieved.
Patent Information
- Application Number
- CN202111236964.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-24
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2041-10-24
AI Technical Summary
The existing point cloud slice research methods are complex in the calculation when filling three-dimensional point cloud holes, with high computer requirements and many calculations, and have low accuracy requirements or a long time to fill some holes.
The method of streamlining scattered point clouds based on orderly stratification is adopted, and the steps of KD tree preprocessing, hierarchical processing, local quadratic parameter surface fitting and NURBS curve fitting are used to reduce the single processing time and improve the filling speed.
It effectively reduces the time for single processing of point clouds, improves the speed and accuracy of hole filling, and reduces unnecessary calculations.
Smart Images

Figure CN114049471B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of machine vision in artificial intelligence, and particularly relates to a hole filling method for ordered hierarchical reduction of scattered point clouds. Background Art
[0002] Point cloud models are widely used in fields such as reverse engineering, topographic mapping, virtual scene construction, and medical diagnosis. A complete point cloud model is the basis for downstream applications. However, in the actual process of point cloud data acquisition, due to various factors such as operation techniques, the physical object itself, and the measurement environment, the measured point cloud data is incomplete, forming various holes in the point cloud model. The existence of hole defects in the point cloud model not only affects the display effect of the point cloud model but also has a greater impact on subsequent point cloud data processing and analysis operations. Therefore, it is necessary to repair the holes in the point cloud model to ensure the integrity of the point cloud data and lay a foundation for downstream model reconstruction, rapid prototyping, and simulation analysis.
[0003] After a three-dimensional object obtains a point cloud model through various means, the process of filling the missing point cloud on the model surface is hole filling. Current research on hole repair methods based on slicing mainly includes: Wang Yungang introduced slicing technology for complex hole repair and proposed a point cloud hole repair method based on bidirectional slicing on this basis. Wang Yungang's method first finds hole boundary points and then performs slicing processing and repair. Therefore, the accuracy of point cloud feature and hole boundary point extraction will directly affect the subsequent repair operations of the two methods. Its disadvantage is that it only makes a simple projection of the sliced point cloud.
[0004] In 2016, Wang Yinghui et al. from Xi'an University of Technology invented a point cloud hole repair method based on slicing (authorization announcement number: CN107464223). Its advantage is that the hole repair method of direct slicing processing and hierarchical hole filling reduces the influence of other factors on the hole repair effect and maintains the sharp features of hole repair, solving the problem of inconsistent distribution of repaired hole points and existing neighborhood points on the hole boundary. Its disadvantage is that only making a simple projection of the sliced point cloud has a greater impact on subsequent repair steps.
[0005] In 2017, Zhang Senlin et al. from Zhejiang University invented an underwater terrain point cloud hole repair method based on an improved cubic B-spline curve (authorization announcement number: CN110379011). Its advantage is that by fitting with an improved cubic B-spline curve, it can well consider the local characteristics of point cloud slicing as well as the uniformity and continuity of the overall point cloud, closely combining the characteristics of equally spaced bathymetric sampling, and maximizing the restoration of the original underwater terrain undulation while effectively repairing the underwater terrain point cloud holes. Its disadvantage is that it has a good fitting effect for point clouds with a large actual distance, and only making a simple projection of the layered point cloud will have a certain impact on subsequent curve fitting.
[0006] The existing research methods for point cloud slicing mainly focus on the precise filling of holes in 3D point clouds. Such methods have good effects in restoring the defects of ordered point cloud models. However, the restoration requires high computer requirements and a large number of operations. Moreover, for the filling of holes with relatively low precision requirements or on the regular parts of the point cloud model surface, unnecessary calculations often need to be repeated many times, greatly increasing the time for filling point cloud holes. Summary of the Invention
[0007] The purpose of the present invention is to provide a method for filling holes in scattered point clouds based on ordered hierarchical reduction, which can reduce the time for processing point clouds once, reduce the operation time, and effectively improve the speed of filling holes in 3D point clouds by performing quadratic parametric surface fitting on the local part of a single layer of point clouds, obtaining the corresponding characteristics of the local point clouds, and then performing projection.
[0008] The technical solution for achieving the purpose of the present invention is as follows:
[0009] A method for filling holes in scattered point clouds based on ordered hierarchical reduction includes the following steps:
[0010] Step 1: Preprocess the obtained scattered point clouds based on the KD tree;
[0011] Step 2: Perform hierarchical processing on the point clouds based on the number of point clouds;
[0012] Step 3: Perform local surface fitting on each layer of point clouds based on quadratic polynomials;
[0013] Step 4: Perform fitting and filling on the dimensionality-reduced point set based on NURBS curves;
[0014] Step 5: Project and restore each layer of point clouds and perform smoothing processing.
[0015] Furthermore, the specific content of Step 1 includes:
[0016] Preprocess the obtained 3D scattered point clouds. First, preprocess the initial point clouds based on the KD tree, construct the KD tree, and randomly select points from the initial point clouds to solve the average value of the distances between this point and other points. Delete all points whose distances exceed twice the average value to obtain the topological relationship of the scattered point clouds. Then, calculate the point cloud density using the topological relationship of the scattered point clouds established by the KD tree, define the distance threshold as the discrimination parameter. Finally, use K-neighborhood search to calculate the distances between each point and its K neighborhood points. The points with distances greater than the threshold are boundary points, and the point set N of the boundary points is obtained.
[0017] Furthermore, the specific content of Step 2 includes:
[0018] According to the obtained three-dimensional point cloud boundary point set \(N\) in step 1, obtain the corresponding number of point clouds \(n\), divide the point cloud into \(t\) layers, and the thickness of each layer of point cloud is \(S\). i , denote the projection plane of the \(i\)-th layer of point cloud as \(z = z\). i , and the value range of \(z\) of the \(i\)-th layer of point cloud set And extract the point sets of each layer of point cloud respectively. Denote the point cloud set of the \(i\)-th layer of point cloud as \(N\). i , where is the coordinate of the \(j\)-th point of the \(i\)-th layer of point cloud.
[0019] Furthermore, step 3 specifically includes:[[]]END]
[0020] First, regard a single layer of point cloud as being composed of multiple quadratic surfaces spliced together. The local quadratic surface can accurately describe the local shape of the complex surface. The matrix form of the quadratic surface equation is \(X\). T \(AX + B\). T \(X + c = 0\), where The point cloud set of the \(i\)-th layer of point cloud is \(N\). i , where Among them, there are 10 unknowns in the quadratic surface equation. Randomly select a point from \(N\). i Denote it as Take 9 adjacent points through the gradient algorithm. Substitute 10 non-coincident points into \(X\). T \(AX + B\). T \(X + c = 0\) to obtain the corresponding parameter matrix. and Convert it into the general form of the quadratic surface equation:[[]]END]
[0021]
[0022] \(z = z\). i Substitute it to obtain the curve equation about \(x,y\):[[]]END]
[0023]
[0024] The value range of is the range between the maximum and minimum of the coordinate values among the 10 points, and evenly take points. Replace the original scattered point set. Denote the obtained three-dimensional point set as And remove the \(z\) coordinates of each point in the three-dimensional point set to obtain a two-dimensional point set.
[0025] Furthermore, step 4 specifically includes:[[]]END]
[0026] First, for the two-dimensional point set Perform NURBS curve fitting. The defining formula of the NURBS curve is:
[0027]
[0028] where -∞ < t < +∞ is the m-th basis function, P i is the control point, R i is the weight factor. Substitute the two-dimensional point set into the defining formula of the NURBS curve to obtain the corresponding NURBS curve fitting curve. Then calculate the distance Δs between adjacent two points i and the average distance between the two points If then take the points on the NURBS curve to fill between the two points to obtain the point set which are the coordinates of the k points in the i-th layer.
[0029] Further, the specific steps of step 5 include:
[0030] Add the z-axis coordinate value to the two-dimensional point set obtained in step 4, that is Then merge the point clouds of the t-th layer to complete the hole filling.
[0031] Compared with the prior art, the significant advantages of the present invention are:
[0032] 1. Improve the projection method. By performing quadratic parametric surface fitting on the local part of the single-layer point cloud, the corresponding features of the local point cloud are obtained, and then projection is performed. The projection points are closer to the actual positions. 2. Reduce the time for processing the point cloud each time. The operation time can be reduced through multi-threaded operation.
[0033] The following further describes the present invention in detail with reference to the accompanying drawings and specific embodiments. Description of the Drawings
[0034] Figure 1 is the flow chart of the hole filling method for the ordered hierarchical reduction of scattered point clouds based on the present invention. Specific Embodiments
[0035] Combined with Figure 1 , a hole filling method for the ordered hierarchical reduction of scattered point clouds includes the following steps:
[0036] Step 1: Preprocess the acquired scattered point cloud based on the KD tree;
[0037] Step 2: Perform hierarchical processing on the point cloud based on the number of point clouds;
[0038] Step 3: Perform local surface fitting on each layer of point cloud based on the quadratic polynomial;
[0039] Step 4: Fit and fill the dimensionality-reduced point set based on the NURBS curve;
[0040] Step 5: Project and restore each layer of point cloud and perform smoothing processing.
[0041] Further, the specific steps of Step 1 include:
[0042] Preprocess the obtained three-dimensional scattered point cloud. First, preprocess the initial point cloud based on the KD tree, construct the KD tree and randomly sample points from the initial point cloud to solve the average value of the distances between this point and other points. Delete all points whose distances exceed twice the average value to obtain the topological relationship of the scattered point cloud. Then, calculate the point cloud density using the topological relationship of the scattered point cloud established by the KD tree, define the distance threshold as the discrimination parameter, and finally use the K-neighborhood search to calculate the distances between each point and its K neighborhood points. The points with distances greater than the threshold are boundary points, and the point set N of the boundary points is obtained.
[0043] Further, the specific steps of Step 2 include:
[0044] Obtain the corresponding number of point clouds n according to the three-dimensional point cloud boundary point set N obtained in Step 1, divide the point cloud into t layers, and the thickness of each layer of point cloud is S i , denote the projection plane of the i-th layer of point cloud as z = z i , and the value range of z of the i-th layer of point cloud set And extract the point set of each layer of point cloud respectively. Denote the point cloud set of the i-th layer of point cloud as N i , where is the coordinate of the j-th point of the i-th layer of point cloud.
[0045] Further, the specific steps of Step 3 include:
[0046] First, regard a single layer of point cloud as composed of multiple quadratic surfaces spliced together. The local quadratic surface can accurately describe the local shape of the complex surface. The matrix form of the quadratic surface equation is X T AX + B T X + c = 0, where Taking the i-th layer of point cloud as an example, the point cloud set of the i-th layer of point cloud is N i , where There are 10 unknowns in the quadratic surface equation. Randomly select a point from N i and denote it as Take 9 adjacent points through the gradient algorithm Substitute 10 non-coincident points into X T AX + B T X + c = 0 to obtain the corresponding parameter matrices and Convert to the general form of the quadric surface equation:
[0047]
[0048] z = z i Substitute it to obtain the curve equation about x and y:
[0049]
[0050] The value range is the range between the maximum and minimum of the coordinate values of 10 points, and points are evenly taken Replace the original scattered point set Record the obtained three-dimensional point set as And remove the z coordinates of each point in the three-dimensional point set to obtain a two-dimensional point set
[0051] Furthermore, the specific steps of step 4 include:
[0052] First, perform NURBS curve fitting on the two-dimensional point set The definition formula of the NURBS curve is:
[0053]
[0054] Where -∞ < t < +∞ is the m-th basis function, P i is the control point, R i is the weight factor. Substitute the two-dimensional point set into the definition formula of the NURBS curve to obtain the corresponding NURBS curve fitting curve, and then calculate the distance Δs between adjacent two points i and the average distance between the two points If Then take the points on the NURBS curve between the two points to fill in, and obtain the point set are the coordinates of the k points in the i-th layer.
[0055] Furthermore, the specific steps of step 5 include:
[0056] Add the z-axis coordinate value to the two-dimensional point set obtained in step 4, that is Then merge the point clouds of the t-th layer to complete the hole filling.
[0057] The basic principles, main features and advantages of the present invention have been shown and described above. Those skilled in the art should understand that the present invention is not limited by the above embodiments. What is described in the above embodiments and the specification only illustrates the principles of the present invention. Without departing from the spirit and scope of the present invention, the present invention will have various changes and improvements, and these changes and improvements all fall within the scope of the present invention claimed. The scope of protection claimed by the present invention is defined by the appended claims and their equivalents.
Claims
1. A method for filling holes in an ordered hierarchical simplified scattered point cloud, characterized in that, It includes the following steps: Step 1: Preprocess the obtained scattered point cloud based on the KD tree; Step 2: Perform hierarchical processing on the point cloud based on the number of point clouds; Step 3: Perform local surface fitting on each layer of point cloud based on the quadratic polynomial; The specific content of Step 3 includes: First, consider the single-layer point cloud as being composed of multiple quadratic surfaces spliced together. The local quadratic surface can accurately describe the local shape of the complex surface. The matrix form of the quadratic surface equation is X T AX + B T X + c = 0, where The point cloud set of the i-th layer of point cloud is N i , where There are 10 unknowns in the quadratic surface equation. Randomly select a point from N i and denote it as Take 9 adjacent points through the gradient algorithm Substitute 10 non-coincident points into X T AX + B T X + c = 0 to obtain the corresponding parameter matrix and Convert it into the general form of the quadratic surface equation: z = z i Substitute it into the equation, and the curve equation about x and y can be obtained: The value range is the range between the maximum and minimum of the coordinate values among 10 points, and points are evenly sampled. Replace the original scattered point set Denote the obtained three-dimensional point set as Remove the z coordinates of each point in the three-dimensional point set to obtain a two-dimensional point set Step 4: Fit and fill the dimensionality-reduced point set based on the NURBS curve; Step 5: Project and restore each layer of point cloud and perform smoothing processing.
2. The method for filling holes in an ordered hierarchical simplified scattered point cloud according to claim 1, characterized in that The specific content of Step 1 includes: For the obtained three-dimensional scattered point cloud, preprocess it. First, preprocess the initial point cloud based on the KD tree, construct the KD tree and randomly sample points from the initial point cloud to calculate the average value of the distances between this point and other points. Delete all points whose distances exceed twice the average value to obtain the topological relationship of the scattered point cloud. Then, calculate the point cloud density using the topological relationship of the scattered point cloud established by the KD tree, define the distance threshold as the discrimination parameter. Finally, use the K-neighborhood search to calculate the distances between each point and its K neighborhood points. The points with distances greater than the threshold are boundary points, and obtain the point set N of the boundary points.
3. The hole filling method based on ordered layered simplification of scattered point clouds according to claim 2 is characterized in that: The specific content of Step 2 includes: According to the obtained three-dimensional point cloud boundary point set N in step 1, the corresponding number of point clouds n is obtained, and the point cloud is divided into t layers, with the thickness of each layer of point cloud being S i , denote the projection plane of the i-th layer of point cloud as z = z i , and the value range of z of the i-th layer of point cloud set And extract the point sets of each layer of point cloud respectively. Denote the point cloud set of the i-th layer of point cloud as N i , where is the coordinate of the j-th point of the i-th layer of point cloud.
4. The method for filling holes in an ordered hierarchical simplified scattered point cloud according to claim 3, wherein The specific content of Step 4 includes: First, perform NURBS curve fitting on the two-dimensional point set The defining equation of the NURBS curve is as follows: Among them -∞ < t < +∞ is the m-th basis function, P i is the control point, R i is the weight factor. Substitute the two-dimensional point set into the definition formula of the NURBS curve to obtain the corresponding NURBS curve fitting curve, and then calculate the distance Δs between adjacent two points i and the average distance between the two points If then take the points on the NURBS curve to fill in between the two points to obtain the point set which are the coordinates of the k points in the i-th layer.
5. The method for filling holes in an ordered hierarchical simplified scattered point cloud according to claim 4, characterized in that, The specific content of Step 5 includes: Add the z-axis coordinate value to the two-dimensional point set obtained in step 4 That is Then merge the point clouds of the t-th layer to complete the hole filling
Citation Information
Patent Citations
A slicing-based point cloud hole repairing method
CN107464223A
Protective edge point cloud hole repair method based on two-dimensional projection
CN107610061A