Point cloud denoising method based on point cloud partition density
By using a point cloud partition density-based method, and by calculating the density difference between point cloud partitions, point cloud denoising is optimized. This solves the problems of incorrect information removal and high hardware requirements of existing methods, and achieves efficient and accurate point cloud denoising and structural optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANDONG JIAOTONG UNIV
- Filing Date
- 2023-03-08
- Publication Date
- 2026-07-31
AI Technical Summary
Existing point cloud denoising methods are prone to accidentally removing necessary point cloud information when removing noise points, and deep learning models have high hardware requirements in practical applications, making them difficult to apply efficiently in industry.
A denoising method based on point cloud partition density is adopted. By calculating the point cloud partition structure and density difference, the point cloud structure is optimized, and noise points are removed using the discrete distance standard, thus avoiding complex model structures.
It achieves optimization of point cloud structure while removing noise, improves the accuracy of point cloud data denoising algorithm, simplifies hardware requirements, and is suitable for industrial applications.
Smart Images

Figure QLYQS_1 
Figure QLYQS_2 
Figure QLYQS_3
Abstract
Description
Technical Field
[0001] This invention relates to a point cloud denoising method based on point cloud partition density, belonging to the field of denoising algorithm technology. Background Technology
[0002] Due to the limitations of scanning equipment such as radar, environmental factors, and the nature of the scanned object, point cloud data inevitably contains some noise. This noise not only increases the size of the point cloud data but also affects the accuracy of subsequent modeling and neural network models, necessitating its removal.
[0003] There are many common point cloud denoising methods, such as pass-through filters, voxel filters, and Gaussian filters. However, these methods inevitably result in some false noise removal, meaning that necessary point cloud information is also mistakenly removed during the noise reduction process.
[0004] Currently, in the field of point cloud denoising, traditional methods and deep learning methods coexist, and it's difficult to say which is superior. However, deep learning, as a learning tool, is very valuable for point cloud denoising. Examples include neural network point cloud denoising models such as PointCleanNet and DUP-Net. However, most of these models are overly complex and place higher demands on hardware in actual industrial operations. Summary of the Invention
[0005] The purpose of this invention is to provide a point cloud denoising method based on point cloud partition density. The model is based on the point cloud partition structure and uses the density difference of the point cloud to remove point cloud noise while partially optimizing the point cloud structure. Using the partitioned point cloud, the discrete noise points in the point cloud are optimized based on the point cloud density. Throughout the optimization process, the discrete distance is always used as the standard, which avoids the problem of overly complex model structure and achieves both denoising and optimization in one.
[0006] To achieve the above objectives, the present invention employs the following technical solution:
[0007] A point cloud denoising method based on point cloud partition density includes the following steps:
[0008] 1) Input R 3 Or R 6 The structured point cloud data, where R is the number of points in the point cloud, is processed by dimensionality reduction and compression of the point cloud in sequence for x, y, z coordinates, and then assigned values to obtain (n, y, z), (x, n, z), and (x, y, n), where n = 0;
[0009] 2) Adding w to n and assigning it again, we get (n+w, y, z), (x, n+w, z), and (x, y, n+w); adding w to n again and assigning it again, we get (n+2w, y, z), (x, n+2w, z), and (x, y, n+2w); thus, we have obtained 9 data points, which are the results of three special assignments to the compressed images of the three coordinate systems.
[0010] 3) Divide the compressed data into regions: When the compressed point cloud data is input, the entire two-dimensional image is divided equally based on the two-dimensional coordinates and the four poles of the point cloud. After compression, the density value of the point cloud in the segmented region is calculated.
[0011] 4) Calculate the density value difference multiple times for each coordinate-based compressed image. The calculation method is to take the average of the three density values and find the region with the largest difference from the average.
[0012] Select the region represented by the excessively large difference, and delete or keep the point in the region that is farthest from the core k;
[0013] 5) After removing point clouds with excessively large discrete distances, the point cloud denoising work is completed, and a refined point cloud structure is obtained.
[0014] Based on the point cloud denoising method based on point cloud partition density, the dimensionality reduction and compression process is as follows: 1) Set the input point cloud data as A, and take the x coordinate as the reference, replace the coordinate information (x, y, z) of all point clouds with (n, y, z). At this time, the first round of x-axis compression is completed.
[0015] 2) Input A, using the y-coordinate as the reference, replace the coordinate information (x, y, z) of all point clouds with (x, n, z), thus completing the first round of y-axis compression;
[0016] 3) Input A, using the x-coordinate as the reference, replace the coordinate information (x, y, z) of all point clouds with (x, y, n), thus completing the first round of z-axis compression.
[0017] Based on the point cloud denoising method based on point cloud partition density described above, the formula for calculating W is:
[0018]
[0019] Based on the point cloud denoising method based on point cloud partition density described above, the formula for calculating the density value of the point cloud within the segmented region is as follows: This represents the density value within region j in the i-th stage. This represents the number of point clouds in the j-th region of stage i. This represents the area of the j-th region in stage i.
[0020] Based on the point cloud denoising method based on point cloud partition density described above, the formula for calculating the density difference is as follows: The underscore (_) represents the density difference in the same region between stage i and stage i+1. This represents the density value within region j in the i-th stage. This represents the density value within region j in the (i+1)th stage.
[0021] Based on the point cloud denoising method based on point cloud partition density described above, the formula for calculating the maximum value from each point within a region to the core point is as follows: d(k, p) i () represents the distance from point i to core point k within the region. p represents the average distance from each point within the region to the core point k. n represents a point cloud point, and n represents the number of point clouds within the region.
[0022] The advantages of this invention are as follows: the model is based on a point cloud partitioning structure, and while using the density difference of the point cloud to remove point cloud noise, it also partially optimizes the point cloud structure. Using the partitioned point cloud, the discrete noise points in the point cloud are optimized based on the point cloud density. Throughout the optimization process, the discrete distance is always used as the standard, thus avoiding overly complex model structures and achieving a combination of denoising and optimization, thereby improving the accuracy of point cloud data denoising algorithms. Detailed Implementation
[0023] The technical solutions in the embodiments of the present invention will be clearly and completely described below. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0024] To address the noise generated in the output point cloud results due to irregularities and local information errors during the fusion process, a fine-scale reduction process is designed to solve this problem. The output of the fine-scale reduction is the predicted displacement vector of the deformed local point set: This is represented as the density difference between the actual point cloud and the point cloud predicted by the neural network.
[0025] Specifically, it includes the following steps:
[0026] 1. Input point cloud data as A, where A is R. 3 Or R 6 The structure is defined by R, which represents the number of points in the point cloud. Based on the spatial coordinate axes, the point cloud is compressed into two dimensions for each coordinate axis, thus compressing the 3D point cloud into a 2D structure. The corresponding values can be replaced with 0 using Python to manipulate the data.
[0027] The dimensionality reduction and compression process is as follows:
[0028] (1) The input point cloud data is in R3 or R6 data format. Each row represents the information of one point, and all data are in the range [-1, 1]. Take the first three columns of the input point cloud data, that is, the spatial coordinate information (x, y, z) of the point cloud, and initialize n = 0;
[0029] (2) Input point cloud data as A, and replace the coordinate information (x, y, z) of all point clouds with (n, y, z) based on the x coordinate. This completes the first round of x-axis compression.
[0030] (3) Input A, and replace the coordinate information (x, y, z) of all point clouds with (x, n, z) based on the y coordinate. This completes the first round of y-axis compression.
[0031] (4) Input A, and replace the coordinate information (x, y, z) of all point clouds with (x, y, n) based on the x coordinate. This completes the first round of z-axis compression.
[0032] (5) Add w to n and perform the assignment operation again to get (n+w, y, z), (x, n+w, z), (x, y, n+w); add w to n again and perform the assignment operation again to get (n+2w, y, z), (x, n+2w, z), (x, y, n+2w); so far we have obtained 9 data, which are the three special assignment results of the compressed images of the three coordinate systems;
[0033] The formula for calculating W is:
[0034]
[0035] 2. Divide the compressed data into regions: When the compressed point cloud data is input, the entire two-dimensional image is divided equally based on the two-dimensional coordinates and the four poles of the point cloud. The size of the division is a custom number v. After testing, v is set to 10~20. The distance between points can be represented by coordinates. At this point, the compressed point cloud becomes v*v small regions.
[0036] 3. After compression, calculate the density value of the point cloud within the segmented region. The calculation method is to subtract the number of point clouds in the i-1 segmented regions from the total number of point clouds; subtract the size of the i-1 segmented regions from the size of the point cloud slice; divide the two to get the density value of this region. The point cloud density calculation within the segmented region uses a Python function, which counts the number of points within the region coordinates.
[0037] Select the region represented by the excessively large difference, and delete or keep the point in the region that is farthest from the core k;
[0038] 4. After removing point clouds with excessively large discrete distances, the point cloud denoising work is completed, and a refined point cloud structure is obtained.
[0039] In this embodiment, the density value difference is calculated multiple times for each coordinate-based compressed image. The calculation method is to take the average of the three density values and find the segmentation region with the largest difference from the average. The specific process is as follows:
[0040] 1) Calculate the density of the image after compression along the x-axis. The x-axis has undergone three compressions. Calculate the density difference of the corresponding regions after the three compressions.
[0041] 2) Calculate the density of the image after compression along the y-axis. The y-axis has undergone three compressions. Calculate the density difference of the corresponding regions after the three compressions.
[0042] 4) Calculate the density of the image after compression along the z-axis. The z-axis has undergone three compressions. Calculate the density difference of the corresponding regions after the three compressions.
[0043] 4) For example, after three compressions of the X-axis, three compressed images, A, B, and C, are formed. Each image has j (j = 1, 2, ..., v*v) small regions. If when j = 6, calculate A... j=6 B j=6 C j=6 Each time, the density of the six small regions is averaged, and the region with the largest difference from the average is selected. Then, j is incremented by 1, and so on.
[0044] In this embodiment, the region represented by the excessively large difference is selected, and the point farthest from the core k within the region is either deleted or retained. The deletion logic is as follows:
[0045] 1) If the density difference between regions in each stage is too large, perform a deletion operation; otherwise, do not perform any other operations and output the result.
[0046] 2) If a deletion operation is performed;
[0047] 3) Calculate the distance (d) from each point within the region to the core point, and calculate their mean.
[0048] 4) Select d and Delete the point with the largest discrepancy;
[0049] 5) Return to stage (1) Re-determine until no more deletion operations are performed.
[0050] In this example, the formula for calculating the density value of the point cloud within the segmented region is:
[0051] The formula for calculating the density difference is as follows:
[0052] The formula for calculating the maximum value from each point within the region to the core point is:
[0053]
[0054] but:
[0055] γ represents the density difference in the same region between stage i and stage i+1. This represents the density value within region j in the i-th stage. γ represents the density value in region j during stage i+1, and γ represents the density difference between the same region in stage i and stage i+1. Pi represents the point cloud point with the largest distance from the core point. This represents the number of point clouds in the j-th region of stage i. p represents the area of the j-th region in stage i, where the area does not change with stage. n Let d(k, p) represent the points in the point cloud, n represent the number of points in the region, and d(k, p) represent the points in the point cloud. i () represents the distance from point i to core point k within the region. p represents the average distance from each point within the region to the core point k. n represents a point cloud point, and n represents the number of point clouds within the region.
[0056] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A point cloud denoising method based on point cloud partition density, characterized in that, Includes the following steps: (1) Input or The structured point cloud data, where R is the number of points in the point cloud, is processed by sequentially reducing the dimensionality of the point cloud along the x, y, and z coordinates, followed by value assignment, to obtain... , where n=0; The dimensionality reduction and compression process is as follows: 1) Input point cloud data as A. Using the x-coordinate as the reference, replace the coordinate information (x, y, z) of all point clouds with (n, y, z). This completes the first round of x-axis compression. 2) Input A, using the y-coordinate as the reference, replace the coordinate information (x, y, z) of all point clouds with (x, n, z), thus completing the first round of y-axis compression; 3) Input A, using the z coordinate as the reference, replace the coordinate information (x, y, z) of all point clouds with (x, y, n), and the first round of z-axis compression is completed; (2) Adding w to n and performing the assignment operation again, we get , , ; Adding w to n and performing the assignment operation again, we get... , , Thus, we have obtained nine types of data, which are the results of three special assignments to the compressed images in three coordinate systems. The formula for calculating w is: ; (3) Divide the compressed data into regions: When the compressed point cloud data is input, the entire two-dimensional image is divided equally based on the two-dimensional coordinates and the four poles of the point cloud. After compression, the density value of the point cloud in the segmented region is calculated. The formula for calculating the density value of the point cloud within the segmented region is as follows: , This represents the density value within region j in the i-th stage. This represents the number of point clouds in the j-th region of stage i. This represents the area of the j-th region in stage i; (4) Calculate the density value difference multiple times for each image after compression based on each coordinate. The calculation method is to take the average of the three density values and find the region with the largest difference from the average. Select the region represented by the largest difference and delete or keep the point in the region that is farthest from the core k. The formula for calculating the density difference is: , This represents the density difference in the same region between stage i and stage i+1. This represents the density value within region j in the i-th stage. This represents the density value within region j in the (i+1)th stage; (5) After removing point clouds with excessively large discrete distances, the point cloud denoising work is completed, and the refined point cloud structure is obtained.
2. The point cloud denoising method based on point cloud partition density according to claim 1, characterized in that, The formula for calculating the maximum value from each point within the region to the core point is: , Let i represent the distance from point i within the region to the core point k. This represents the average distance from all points within the region to the core point k. represents a point cloud point, and n represents the number of point clouds within the region.