A denoising method of three-dimensional point cloud data
By employing a multi-stage noise reduction method, including threshold segmentation, Z-axis denoising, and statistical filtering, the noise problem of LiDAR scanning in silos is solved, ensuring the accuracy of material level monitoring. This method is suitable for point cloud data processing in silos and chemical industries.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-24
- Publication Date
- 2026-04-07
AI Technical Summary
In the field of animal husbandry, dust generated by feed stored in silos causes discrete LiDAR scan values, resulting in noise, which affects the accuracy of feed level monitoring, makes it difficult to construct the correct three-dimensional shape inside the feed tower, and affects feed quantity calculation.
A multi-stage noise reduction method for 3D point cloud data is adopted, including threshold segmentation, Z-axis denoising, KD-tree-based statistical filtering, and machine learning algorithms, to remove noise from the point cloud data and form a complete 3D point cloud shape.
Effectively removes noise, accurately constructs the internal shape of the material tower, ensures the accuracy of material level monitoring, and is suitable for point cloud scanning maps in silos, stockpiles, and chemical industries, solving noise interference problems.
Smart Images

Figure CN120107105B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing technology, and in particular to a method for noise reduction processing of three-dimensional point cloud data. Background Technology
[0002] In livestock farming, feed stored in silos is often corn or wheat. The large amounts of dust generated during the storage process make it difficult to accurately and consistently monitor feed levels. This can lead to safety accidents such as silo overflows due to excessively high feed levels.
[0003] Each feeding process generates a significant amount of dust, severely impacting the accuracy of radar scans and creating discrete data points. These discrete data points prevent the lidar from accurately scanning the three-dimensional shape of the object, thus hindering the precise reconstruction of the material tower's internal shape. Accurately reconstructing the internal shape of the material tower is fundamental for establishing a 3D model of the material surface and calculating the material volume.
[0004] LiDAR level gauges are non-contact, continuous measurement devices that can accurately scan the three-dimensional shape of objects. However, due to the large size of some silos and high dust levels, the penetration of LiDAR is insufficient, leading to inaccurate scan values and noise. Additionally, the presence of one or more cables inside the silo for measuring temperature and humidity causes these cables to sway with material feeding and discharging. This noise significantly impacts the accuracy of subsequent level calculations.
[0005] Noise reduction is the most fundamental and crucial part of point cloud data preprocessing. Due to inherent defects in radar scanning equipment, scanning errors, and foreign objects present in the silo, noise inevitably occurs during the scanning process, and these error values can severely affect the validity of 3D point cloud data. Therefore, this invention proposes a noise reduction method for 3D point cloud data. Summary of the Invention
[0006] This invention provides a method for denoising 3D point cloud data, effectively removing noise from the point cloud data without affecting the 3D point cloud shape of the object to be measured. It can handle point cloud images with varying noise levels scanned from different feed towers or within the same feed tower, forming a correct and complete 3D point cloud shape, thereby enabling accurate volume calculation.
[0007] According to one aspect of this disclosure, a method for denoising three-dimensional point cloud data is provided, the method comprising:
[0008] S1, obtain the initial point cloud map of the silo and the first point cloud map after the change in the material quantity in the silo;
[0009] S2, perform threshold segmentation on the initial point cloud map and the first point cloud map to obtain the second point cloud map and the third point cloud map;
[0010] S3, the second point cloud map and the third point cloud map are denoised by the Z-axis denoising method, including: obtaining a point cloud map with the Z-axis perpendicular by calibrating the second point cloud map and the third point cloud map by Z-axis calibration, and deleting the messy discrete points at the top of the point cloud map according to the Z-axis coordinate size to obtain the fourth point cloud map and the fifth point cloud map;
[0011] S4, statistical filtering is performed on the fourth and fifth point cloud maps using the KD-tree nearest neighbor search method to obtain the sixth and seventh point cloud maps;
[0012] S5, merge the sixth and seventh point cloud maps into a closed eighth point cloud map, which is used to calculate the change in the amount of material in the silo.
[0013] In one possible implementation, step S2, which involves threshold segmentation of the initial point cloud image and the first point cloud image to obtain a second point cloud image and a third point cloud image, includes:
[0014] Calculate the nearest distance from each point in the initial point cloud to the first point cloud, and obtain the nearest distance array D1;
[0015] Create a Boolean mask M1, set a threshold T1, select points in array D1 whose distance is greater than the threshold T1, and obtain the second point cloud map;
[0016] Calculate the nearest distance from each point in the first point cloud to the initial point cloud, and obtain the nearest distance array D1;
[0017] Create a Boolean mask M2, set a threshold T2, select points in array D2 whose distance is greater than the threshold, and obtain the third point cloud map.
[0018] In one possible implementation, the calculation of the nearest distance from each point in the initial point cloud to the first point cloud, resulting in a nearest distance array D1, includes:
[0019] For the initial point cloud And the first point cloud For each point ,turn up To minimize the Euclidean distance d, the specific formula is as follows:
[0020] (1)
[0021] in It is a point and The Euclidean distance between them is given by the following formula:
[0022] (2)
[0023] In formula (2), x, y, and z represent three-dimensional coordinates, and i and j represent the indexes of points in different point clouds. The distance array is obtained through formula (2). ,in It is a point With the nearest point The distance between them.
[0024] In one possible implementation, the creation of a Boolean mask M1, setting a threshold T1, and selecting points in array D1 whose distance is greater than the threshold T1 to obtain a second point cloud map includes:
[0025] Create a Boolean mask M1 as in formula (3), set a threshold T1 as in formula (4), and select points in array D1 whose distance is greater than the threshold.
[0026] (3)
[0027] (4)
[0028] (5)
[0029] Among them, coefficient Used to adjust the threshold value according to the actual situation. This represents the mean distance in array D1;
[0030] The points corresponding to the initial point cloud P are filtered out using mask M1 to obtain the second point cloud P. new2 : (6).
[0031] In one possible implementation, the second point cloud map P is obtained. new2 The third point cloud map P is obtained using the same method. new3 .
[0032] In one possible implementation, step S3 involves obtaining a Z-axis-vertical point cloud map by Z-axis calibration of the second and third point cloud maps, and deleting cluttered discrete points at the top of the point cloud map based on the Z-axis coordinates to obtain a fourth and fifth point cloud map, including:
[0033] Let P be the coordinate matrix of the points in the point cloud, and let its dimension be . , where N is the number of points, and each row represents the three-dimensional coordinates (x, y, z) of a point.
[0034] (7)
[0035] Obtain the roll angle value (roll) from the attitude sensor mounted on the radar, and calculate the rotation matrix R:
[0036] (8)
[0037] Rotate the point cloud matrix P using rotation matrix R, i.e.: (9)
[0038] in It is the transpose of the rotation matrix R. This represents the rotated point cloud coordinate matrix, with dimensions of... ;
[0039] After Z-axis calibration, a point cloud map with Z-axis perpendicularity is obtained. The top cluttered discrete points are removed according to the Z-axis size to obtain the fourth point cloud map. The fifth point cloud map is obtained by the same method as obtaining the fourth point cloud map.
[0040] In one possible implementation, S4, statistical filtering is performed on the fourth and fifth point cloud maps using a nearest neighbor search method to obtain the sixth and seventh point cloud maps, including:
[0041] Use a KD-tree to find the point in the fourth point cloud map. Let the K nearest neighbors be denoted as set. ;
[0042] (10)
[0043] Where N is the total number of points in the fourth point cloud map;
[0044] For each point Calculate its k nearest neighbors The average Euclidean distance is calculated using the following formula:
[0045] (11)
[0046] in, It is a point To the nearest point European distance,
[0047] The formula for the statistical filtering threshold is: (12)
[0048] In the formula, std is the standard deviation coefficient, used to control the influence of the standard deviation on the distance threshold. For all The average value, that is: (13)
[0049] In the formula The standard deviation of the distance:
[0050] (14)
[0051] Remove points whose distance is greater than the filtering threshold to obtain the sixth point cloud map. Process the fifth point cloud map in the same way to obtain the seventh point cloud map.
[0052] Compared with the prior art, the beneficial effects of the present invention are:
[0053] This disclosure discloses a method for denoising 3D point cloud data, capable of processing noise in point cloud images scanned from different feed towers or within the same feed tower, forming a correct and complete 3D point cloud shape, thereby enabling accurate volume calculation. Accurately constructing the shape inside the feed tower is fundamental for establishing a 3D model of the material surface and calculating the material volume. This method can be applied to monitoring feed levels in silos during livestock farming, and can also be used to calculate the levels of various solids and liquids in industrial applications.
[0054] By processing point cloud images in multiple stages and combining them with machine learning algorithms, the accuracy and applicability of denoising can be further enhanced. It effectively denoises point cloud images. It is not only suitable for point cloud images of silos, but also for point cloud scan images in fields such as stockpiling and chemical processing, effectively solving the problem of noise interference. Attached Figure Description
[0055] Figure 1 A flowchart illustrating a method for denoising three-dimensional point cloud data according to an embodiment of the present disclosure is shown. Detailed Implementation
[0056] Various exemplary embodiments, features, and aspects of this disclosure will now be described in detail with reference to the accompanying drawings. The same reference numerals in the drawings denote elements that have the same or similar functions. Although various aspects of the embodiments are shown in the drawings, they are not necessarily drawn to scale unless specifically indicated otherwise.
[0057] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.
[0058] Furthermore, to better illustrate this disclosure, numerous specific details are set forth in the following detailed description. Those skilled in the art will understand that this disclosure can be practiced without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art have not been described in detail in order to highlight the main points of this disclosure.
[0059] According to one aspect of this disclosure, a method for denoising three-dimensional point cloud data is provided, the method comprising:
[0060] S1, obtain the initial point cloud map of the silo and the first point cloud map after the change in the material quantity in the silo;
[0061] S2, perform threshold segmentation on the initial point cloud map and the first point cloud map to obtain the second point cloud map and the third point cloud map;
[0062] S3, the second point cloud map and the third point cloud map are denoised by the Z-axis denoising method, including: obtaining a point cloud map with the Z-axis perpendicular by calibrating the second point cloud map and the third point cloud map by Z-axis calibration, and deleting the messy discrete points at the top of the point cloud map according to the Z-axis coordinate size to obtain the fourth point cloud map and the fifth point cloud map;
[0063] Each coordinate in a 3D point cloud data set has three values: (x, y, z). The value of the z-axis coordinate is the value of the vertical coordinate z.
[0064] S4, statistical filtering is performed on the fourth and fifth point cloud maps using the KD-tree nearest neighbor search method to obtain the sixth and seventh point cloud maps;
[0065] S5, merge the sixth and seventh point cloud maps into a closed eighth point cloud map, which is used to calculate the change in the amount of material in the silo.
[0066] In one possible implementation, step S2, which involves threshold segmentation of the initial point cloud image and the first point cloud image to obtain a second point cloud image and a third point cloud image, includes:
[0067] Calculate the nearest distance from each point in the initial point cloud to the first point cloud, and obtain the nearest distance array D1;
[0068] Create a Boolean mask M1, set a threshold T1, select points in array D1 whose distance is greater than the threshold T1, and obtain the second point cloud map;
[0069] Calculate the nearest distance from each point in the first point cloud to the initial point cloud, and obtain the nearest distance array D1;
[0070] Create a Boolean mask M2, set a threshold T2, select points in array D2 whose distance is greater than the threshold, and obtain the third point cloud map.
[0071] In one possible implementation, the calculation of the nearest distance from each point in the initial point cloud to the first point cloud, resulting in a nearest distance array D1, includes:
[0072] For the initial point cloud And the first point cloud For each point ,turn up To minimize the Euclidean distance d, the specific formula is as follows:
[0073] (1)
[0074] in It is a point and The Euclidean distance between them is given by the following formula:
[0075] (2)
[0076] In formula (2), x, y, and z represent three-dimensional coordinates, and i and j represent the indexes of points in different point clouds. The distance array is obtained through formula (2). ,in It is a point With the nearest point The distance between them.
[0077] In one possible implementation, the creation of a Boolean mask M1, setting a threshold T1, and selecting points in array D1 whose distance is greater than the threshold T1 to obtain a second point cloud map includes:
[0078] Create a Boolean mask M1 as in formula (3), set a threshold T1 as in formula (4), and select points in array D1 whose distance is greater than the threshold.
[0079] (3)
[0080] (4)
[0081] (5)
[0082] Among them, coefficient Used to adjust the threshold value according to the actual situation. This represents the mean distance in array D1;
[0083] If the threshold is too large, it will result in the loss of effective points; if the threshold is too small, the noise reduction effect will be insignificant.
[0084] The points corresponding to the initial point cloud P are filtered out using mask M1 to obtain the second point cloud P. new2 : (6).
[0085] In one possible implementation, the second point cloud map P is obtained. new2 The third point cloud map P is obtained using the same method. new3 .
[0086] Threshold segmentation can effectively remove the identical parts in two point cloud images, thus revealing the different parts of the point cloud images caused by changes in the amount of material in the silo.
[0087] In the actual point cloud scanning of the silo, during the feeding process, due to excessive dust, some dense and far-reaching point clusters often remain at the top and are not removed. Therefore, for all point cloud images obtained in step S3, a Z-axis noise reduction method is further applied. The parts of the point cloud image that are close to the zero point are directly deleted. Further removal of useless parts from the scanned point cloud image is also performed.
[0088] In one possible implementation, step S3 involves obtaining a Z-axis-vertical point cloud map by Z-axis calibration of the second and third point cloud maps, and deleting cluttered discrete points at the top of the point cloud map based on the Z-axis coordinates to obtain a fourth and fifth point cloud map, including:
[0089] Let P be the coordinate matrix of the points in the point cloud, and let its dimension be . , where N is the number of points, and each row represents the three-dimensional coordinates (x, y, z) of a point.
[0090] (7)
[0091] Obtain the roll angle value (roll) from the attitude sensor mounted on the radar, and calculate the rotation matrix R:
[0092] (8)
[0093] Rotate the point cloud matrix P using rotation matrix R, i.e.: (9)
[0094] in It is the transpose of the rotation matrix R. This represents the rotated point cloud coordinate matrix, with dimensions of... ;
[0095] After Z-axis calibration, a point cloud map with Z-axis perpendicularity is obtained. The top cluttered discrete points are removed according to the Z-axis size to obtain the fourth point cloud map. The fifth point cloud map is obtained by the same method as obtaining the fourth point cloud map.
[0096] The Z-axis calibration method involves calculating the rotation matrix of the points in the point cloud by obtaining the roll angle value from the attitude sensor installed on the radar, so that the scanned point cloud map is perpendicular to the ground.
[0097] The Z-axis denoising method removes noise from the top of the point cloud image, but some discrete points are still outside the range of Z-axis deletion. Combining machine learning algorithms with statistical filtering removes these discrete points. This method is based on the average distance from a point to all its neighbors within a certain range, ensuring it doesn't exceed a threshold, thus filtering out outliers that don't meet the requirements. It performs better when dealing with uneven noise distribution and significant density differences.
[0098] In one possible implementation, S4, statistical filtering is performed on the fourth and fifth point cloud maps using a nearest neighbor search method to obtain the sixth and seventh point cloud maps, including:
[0099] Use a KD-tree to find the point in the fourth point cloud map. Let the K nearest neighbors be denoted as set. : (10)
[0100] Where N is the total number of points in the fourth point cloud map;
[0101] For each point Calculate its k nearest neighbors The average Euclidean distance is calculated using the following formula:
[0102] (11)
[0103] in, It is a point To the nearest point European distance,
[0104] The formula for the statistical filtering threshold is: (12)
[0105] In the formula, std is the standard deviation coefficient, used to control the influence of the standard deviation on the distance threshold. For all The average value, that is: (13)
[0106] In the formula The standard deviation of the distance:
[0107] (14)
[0108] Remove points whose distance is greater than the filtering threshold to obtain the sixth point cloud map. Process the fifth point cloud map in the same way to obtain the seventh point cloud map.
[0109] The statistical filtering method uses a nearest neighbor search, which employs an exhaustive search to find the nearest point, resulting in a time complexity of O(N). Therefore, a KD-tree is used to accelerate the nearest neighbor search, allowing a point to be found in O(logN) time. Finding the nearest neighbor significantly reduces complexity compared to the O(N) time complexity of a direct brute-force search.
[0110] The KDTree method is further employed to perform a fast neighborhood search, and points that are too far away are removed by setting a threshold. This results in a more accurate point cloud map.
[0111] By processing point cloud images in multiple stages and combining them with machine learning algorithms, the accuracy and applicability of denoising can be further enhanced. It effectively denoises point cloud images. It is not only suitable for point cloud images of silos, but also for point cloud scan images in fields such as stockpiling and chemical processing, effectively solving the problem of noise interference.
[0112] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0113] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for denoising three-dimensional point cloud data, characterized in that, The method includes: S1, obtain the initial point cloud map of the silo and the first point cloud map after the change in the material quantity in the silo; S2, perform threshold segmentation on the initial point cloud map and the first point cloud map to obtain the second point cloud map and the third point cloud map; S3, the second point cloud map and the third point cloud map are denoised by the Z-axis denoising method, including: obtaining a point cloud map with the Z-axis perpendicular by calibrating the second point cloud map and the third point cloud map by Z-axis calibration, and deleting the messy discrete points at the top of the point cloud map according to the Z-axis coordinate size to obtain the fourth point cloud map and the fifth point cloud map; S4, statistical filtering is performed on the fourth and fifth point cloud maps using the KD-tree nearest neighbor search method to obtain the sixth and seventh point cloud maps; S5, merge the sixth point cloud map and the seventh point cloud map into a closed eighth point cloud map. The eighth point cloud map is used to calculate the change in the amount of material in the silo. S2 involves threshold segmentation of the initial point cloud image and the first point cloud image to obtain a second point cloud image and a third point cloud image, including: Calculate the nearest distance from each point in the initial point cloud to the first point cloud, and obtain the nearest distance array D1; Create a Boolean mask M1, set a threshold T1, select points in array D1 whose distance is greater than the threshold T1, and obtain the second point cloud map; Calculate the nearest distance from each point in the first point cloud to the initial point cloud, and obtain the nearest distance array D2; Create a Boolean mask M2, set a threshold T2, select points in array D2 whose distance is greater than the threshold T2, and obtain the third point cloud map; The calculation of the nearest distance from each point in the initial point cloud to the first point cloud is used to obtain the nearest distance array D1, which includes: For the initial point cloud And the first point cloud For each point ,turn up To minimize the Euclidean distance d, the specific formula is as follows: (1) in It is a point and The Euclidean distance between them is given by the following formula: (2) In formula (2), x, y, and z represent three-dimensional coordinates, and i and j represent the indexes of points in different point clouds. The distance array is obtained through formula (2). ,in It is a point With the nearest point The distance between them; The process of creating a Boolean mask M1, setting a threshold T1, and selecting points in array D1 whose distance is greater than the threshold T1, yields a second point cloud map, including: Create a Boolean mask M1 as in formula (3), set a threshold T1 as in formula (4), and select points in array D1 whose distance is greater than the threshold. (3) (4) (5) Among them, coefficient Used to adjust the threshold value according to the actual situation. This represents the mean distance in array D1; The points corresponding to the initial point cloud P are filtered out using mask M1 to obtain the second point cloud P. new2 : (6) The second point cloud map P is obtained by using it. new2 The third point cloud map P is obtained using the same method. new3 .
2. The method for denoising three-dimensional point cloud data according to claim 1, characterized in that, In S3, a point cloud map perpendicular to the Z-axis is obtained by Z-axis calibration of the second and third point cloud maps. Based on the Z-axis coordinates, cluttered discrete points at the top of the point cloud map are removed, resulting in a fourth and fifth point cloud map, including: Let P be the coordinate matrix of points in the point cloud, with dimensions N×3, where N is the number of points, and each row represents the three-dimensional coordinates (x, y, z) of a point. (7) Obtain the roll angle value (roll) from the attitude sensor mounted on the radar, and calculate the rotation matrix R: (8) Rotate the point cloud matrix P using rotation matrix R, i.e.: (9) in It is the transpose of the rotation matrix R. This represents the rotated point cloud coordinate matrix, which has a dimension of N×3; After Z-axis calibration, a point cloud map with Z-axis perpendicularity is obtained. The top cluttered discrete points are removed according to the Z-axis size to obtain the fourth point cloud map. The fifth point cloud map is obtained by the same method as obtaining the fourth point cloud map.
3. The method for denoising three-dimensional point cloud data according to claim 1, characterized in that, S4, statistical filtering is performed on the fourth and fifth point cloud maps using a nearest neighbor search method to obtain the sixth and seventh point cloud maps, including: Use a KD-tree to find the point in the fourth point cloud map. Let the K nearest neighbors be denoted as set. : (10) Where N is the total number of points in the fourth point cloud map; For each point Calculate its k nearest neighbors The average Euclidean distance is calculated using the following formula: (11) in, It is a point To the nearest point European distance, The formula for the statistical filtering threshold is: (12) In the formula, std is the standard deviation coefficient, used to control the influence of the standard deviation on the distance threshold. For all The average value, that is: (13) In the formula The standard deviation of the distance: (14) Remove points whose distance is greater than the filtering threshold to obtain the sixth point cloud map. Process the fifth point cloud map in the same way to obtain the seventh point cloud map.
Citation Information
Patent Citations
Three-dimensional measurement point cloud optimization registration method
CN108564605A
Statistical and bilateral filtering point cloud denoising method based on improved neighborhood search
CN114049267A
Tunnel three-dimensional laser scanning data denoising method
CN118333889A
Three-dimensional point cloud reconstruction volume calculation method
CN119107354A