Real-time point cloud denoising method and device, computer device and readable storage medium
By combining buffers and raster maps, laser point quality fractions are calculated using normal consistency and point cloud density for denoising. This solves the problem of excessive time consumption in traditional point cloud denoising methods in real-time applications, and achieves real-time and efficient point cloud denoising.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN XGRIDS-INNOVATION CO LTD
- Filing Date
- 2026-05-18
- Publication Date
- 2026-07-21
AI Technical Summary
Traditional point cloud denoising methods cannot meet real-time requirements in real-time applications due to the excessive time required for neighborhood search.
A method combining buffers and raster maps is adopted. The raster map is updated by the latest point cloud at the tail of the buffer, and a neighborhood search is performed in the raster map. The quality fraction of the laser points is calculated by using normal consistency and point cloud density for denoising.
It achieves real-time point cloud denoising, reduces computational complexity, improves the accuracy of distinguishing edge points from noise in dynamic scenes, and balances real-time performance and robustness.
Smart Images

Figure CN122199319B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer vision technology, and in particular to a real-time point cloud denoising method, apparatus, computer device, and readable storage medium. Background Technology
[0002] The traditional Statistical Outlier Removal (SOR) process for point cloud denoising first requires completing a 3D point cloud of the structure and constructing a k-dimensional tree. Then, for a point in space, it performs neighborhood search, density calculation, and density statistics to remove noise. Because it requires directly performing SOR based on the output results, the neighborhood search is too time-consuming and does not meet real-time requirements. Summary of the Invention
[0003] In view of this, the purpose of the present invention is to overcome the shortcomings of the prior art and provide a real-time point cloud denoising method, apparatus, computer equipment and readable storage medium.
[0004] This invention provides the following technical solution: In a first aspect, the present invention provides a real-time point cloud denoising method, the method comprising: The current raw point cloud is acquired in real time, and the point cloud at the end of the buffer is updated based on the current raw point cloud. The raster map is updated based on the latest point cloud at the tail in the buffer. Based on the oldest point cloud in the buffer, a neighborhood search is performed on the grid map to obtain multiple neighborhood points corresponding to each laser point in the oldest point cloud. Calculate the normal consistency and point cloud density of each laser point based on multiple neighboring points corresponding to each laser point; The mass fraction corresponding to each laser point is calculated based on the normal consistency and the point cloud density, and the laser points are denoised based on the mass fraction.
[0005] In an optional implementation, obtaining the current original point cloud and updating the end of the buffer based on the current original point cloud includes: Obtain the radar pose and displacement corresponding to the current original point cloud; The current original point cloud is transformed into a coordinate system based on the radar pose and the displacement to obtain the current target point cloud. The current target point cloud is then updated to the tail of the buffer. The data at the tail of the buffer is the latest data, and the data at the head of the buffer is the data before a preset time window.
[0006] In an optional implementation, the step of calculating the normal uniformity and point cloud density of each laser point based on multiple neighboring points corresponding to each laser point includes: For each laser point, based on principal component analysis, the local normal of the laser point and the local normal of each of the neighboring points are determined according to the multiple neighboring points corresponding to the laser point; The normal consistency of the laser point is calculated based on the local normal of the laser point and the local normal of each of the neighboring points. The point cloud density of the laser point is calculated based on the Euclidean distance between each of the neighboring points and the laser point.
[0007] In an optional implementation, calculating the normal consistency of the laser point based on the local normal of the laser point and the local normals of each of the neighboring points includes: Determine the sine value of the angle between the local normal of each of the neighboring points and the local normal of the laser point; The average value of the sine of each of the aforementioned included angles is taken as the normal uniformity.
[0008] In an optional implementation, calculating the point cloud density of the laser point based on the Euclidean distance between each of the neighboring points and the laser point includes: Calculate the Euclidean distance between each of the neighboring points and the laser point, calculate the average value of each of the Euclidean distances, and obtain the initial density; If the number of neighboring points corresponding to the laser point is a preset maximum value, then the initial density is the point cloud density; If the number of neighboring points is less than a preset maximum value, then the product of the initial density and the number of neighboring points is calculated to obtain the first product; Calculate the difference between the preset maximum value and the number of neighboring points to obtain the target difference; Calculate the product of the target difference and the Manhattan distance corresponding to the neighborhood search to obtain the second product; The point cloud density is obtained by dividing the sum of the first product and the second product by the preset maximum value.
[0009] In an optional implementation, the step of performing a neighborhood search on the grid map based on the oldest point cloud in the buffer to obtain multiple neighboring points corresponding to each laser point in the oldest point cloud includes: For each of the laser points, determine the target grid of the laser point in the grid map; The neighboring grids corresponding to the target grid are determined based on Manhattan distance; Multiple neighboring points corresponding to the laser point are obtained based on the neighboring grid.
[0010] In an optional implementation, the step of calculating the mass fraction corresponding to each laser point based on the normal uniformity and the point cloud density, and denoising each laser point based on the mass fraction, includes: For each laser point, the mass fraction of the laser point is calculated based on the normal uniformity and the point cloud density, and the mean and standard deviation are calculated based on the mass fraction of each laser point. Calculate the product of the number of neighboring points corresponding to the laser point and the standard deviation to obtain the third product; Calculate the sum of the third product and the mean, and use it as the score threshold; If the quality score is greater than the score threshold, then the laser point is treated as noise and denoised.
[0011] In a second aspect, the present invention provides a real-time point cloud denoising device, the device comprising: The acquisition module is used to acquire the current raw point cloud in real time and update the point cloud at the end of the buffer based on the current raw point cloud. The update module is used to update the raster map based on the latest point cloud at the tail in the buffer. The search module is used to perform a neighborhood search on the grid map based on the oldest point cloud in the buffer, and obtain multiple neighborhood points corresponding to each laser point in the oldest point cloud. The calculation module is used to calculate the normal consistency and point cloud density of each laser point based on the multiple neighboring points corresponding to each laser point. The denoising module is used to calculate the mass fraction corresponding to each laser point based on the normal consistency and the point cloud density, and to denoise each laser point based on the mass fraction.
[0012] Thirdly, the present invention provides a computer device including a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, it implements the real-time point cloud denoising method as described in any of the foregoing embodiments.
[0013] Fourthly, the present invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the real-time point cloud denoising method as described in any of the foregoing embodiments.
[0014] This invention discloses a real-time point cloud denoising method, apparatus, computer device, and readable storage medium. It acquires the current raw point cloud in real time, updates the point cloud at the tail of the buffer based on the current raw point cloud, updates the raster map based on the latest point cloud at the tail of the buffer, performs a neighborhood search on the raster map based on the oldest point cloud at the head of the buffer, obtains multiple neighboring points corresponding to each laser point in the oldest point cloud at the head, calculates the normal consistency and point cloud density of each laser point based on the multiple neighboring points corresponding to each laser point, calculates the quality score corresponding to each laser point based on the normal consistency and the point cloud density, and denoises each laser point based on the quality score. Thus, the latest point cloud at the tail of the buffer is used to update the map, and the oldest point cloud at the head is used to evaluate denoising, avoiding the serial bottleneck of single-frame tree building, search, and statistics; at the same time, the raster-based neighborhood search can significantly reduce computational complexity; the quality score fused from normal consistency and density improves the distinction accuracy between edge points and noise points in dynamic scenes, balancing real-time performance and robustness. Attached Figure Description
[0015] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the embodiments will be briefly described below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope of protection of the present invention. In the various drawings, similar components are numbered similarly.
[0016] Figure 1 This paper presents a flowchart illustrating the real-time point cloud denoising method proposed in this example. Figure 2 This illustrates another flowchart of the real-time point cloud denoising method proposed in this example; Figure 3 This shows another flowchart of the real-time point cloud denoising method proposed in this example; Figure 4 A schematic diagram of the real-time point cloud denoising method proposed in this example is shown. Figure 5 The comparison chart of the noise reduction effect proposed in this example is shown; Figure 6 A schematic diagram of the real-time point cloud denoising device proposed in this example is shown.
[0017] Explanation of reference numerals in the attached diagram: 600 - Real-time point cloud denoising device; 601 - Acquisition module; 602 - Update module; 603 - Search module; 604 - Calculation module; 605 - Denoising module. Detailed Implementation
[0018] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.
[0019] The components of the embodiments of the invention described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the invention without inventive effort are within the scope of protection of the invention.
[0020] In the following, the terms “comprising,” “having,” and their cognates, which may be used in various embodiments of the invention, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as excluding, firstly, the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations thereof.
[0021] Furthermore, the terms "first," "second," and "third" are used only to distinguish descriptions and should not be interpreted as indicating or implying relative importance.
[0022] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of the invention pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be interpreted as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of the invention.
[0023] Example 1 This disclosure provides a real-time point cloud denoising method. Please refer to [link to relevant documentation]. Figure 1 The real-time point cloud denoising method includes steps S101 to S105, and each step is described in detail below.
[0024] Step S101: Obtain the current original point cloud in real time, and update the point cloud at the tail of the buffer according to the current original point cloud.
[0025] In this embodiment, point clouds are acquired in real time to obtain the current raw point cloud, and the current raw point cloud is updated to a circular buffer. The circular buffer structure is used to manage the temporal point cloud flow, which can support sliding time window constraints and provide spatiotemporal consistency guarantee for subsequent neighborhood search of the oldest point cloud in the buffer on the grid map.
[0026] Please see Figure 2 In one specific embodiment, step S101 includes steps S1011 to S1012, and each step is described in detail below.
[0027] Step S1011: Obtain the radar pose and displacement corresponding to the current original point cloud.
[0028] In this embodiment, the radar pose and displacement corresponding to the current original point cloud can be obtained and used for coordinate system transformation.
[0029] Step S1012: Perform coordinate system transformation on the current original point cloud according to the radar pose and the displacement to obtain the current target point cloud, and update the current target point cloud to the tail of the buffer; the data at the tail of the buffer is the latest data, and the data at the head of the buffer is the data before the preset time window.
[0030] In this embodiment, the coordinate system of the current original point cloud is transformed to the world coordinate system using radar pose and displacement to obtain the current target point cloud. The current target point cloud is then updated to the tail of the buffer, where the data at the tail is the latest data and the data at the head is the data from a preset time window. For example, if the preset time window is 2 seconds, then the head contains the data from 2 seconds ago.
[0031] It should be noted that the length of the buffer can be set according to requirements, or it can be the product of the point cloud acquisition frequency and the preset time window. This embodiment does not limit it here.
[0032] Step S102: Update the raster map based on the latest point cloud at the tail in the buffer.
[0033] In this embodiment, during real-time point cloud scanning, the latest point cloud at the tail end of the buffer can be used to augment the raster map for updating, thus obtaining the raster map. Only the latest frame of point cloud is used to incrementally update the raster, avoiding the overhead of full map reconstruction.
[0034] As an example, the latest point cloud from the tail is projected onto the grid of the raster map. If there are points in the grid, the new points are included in the subsequent averaging calculation along with the existing points, thus maintaining the mean position of the points within that grid. Furthermore, all grids that are more than a preset threshold away from the current sensor position, i.e., remote areas beyond the effective sensing range, are directly cleared from memory. Grids that have not had any new points added for a continuous period of time, i.e., static empty areas that have not been observed for a long time, are also cleared from memory. Together, these measures ensure that map memory usage remains controllable and adapts to the resource constraints of the embedded platform.
[0035] Step S103: Based on the oldest point cloud in the buffer, perform a neighborhood search on the grid map to obtain multiple neighborhood points corresponding to each laser point in the oldest point cloud.
[0036] In this embodiment, during the real-time scanning of the point cloud, a neighborhood search can be performed on each laser point within the oldest point cloud at the head of the buffer (i.e., data from 2 seconds ago) to obtain multiple neighborhood points corresponding to each laser point.
[0037] Understandably, the time spent on neighborhood search is compressed into the real-time scanning process, while the time-efficient statistics are placed at the end, achieving the effect of real-time noise reduction.
[0038] In one specific embodiment, step S103 includes: for each laser point, determining the target grid of the laser point in the grid map; determining the neighboring grid corresponding to the target grid based on the Manhattan distance; and obtaining multiple neighboring points corresponding to the laser point according to the neighboring grid.
[0039] In this embodiment, for each laser point in the oldest point cloud of the head, the target grid in the grid map where the laser point is located is determined.
[0040] Furthermore, the grid cells that are Manhattan distance away from the target grid cell are designated as neighboring grid cells and sorted in ascending order of distance.
[0041] Furthermore, based on the maximum number of neighboring points, the multiple laser points within the neighboring grid that are closest to the laser point are selected as neighboring points.
[0042] Step S104: Calculate the normal consistency and point cloud density of each laser point based on the multiple neighboring points corresponding to each laser point.
[0043] In this embodiment, based on principal component analysis and Euclidean distance, the normal consistency and point cloud density of each laser point are calculated according to multiple neighboring points corresponding to each laser point. Normal consistency reflects the magnitude of the normal difference between the laser point and its neighboring points, measuring the continuity of the geometric structure; point cloud density reflects the density of the neighboring point cloud, measuring whether the laser point belongs to a continuous surface region. Therefore, combining normal consistency and point cloud density can be used to distinguish noise points.
[0044] Please see Figure 3 In one specific embodiment, step S104 includes steps S1041 to S1043, and each step is described in detail below.
[0045] Step S1041: For each laser point, based on principal component analysis, determine the local normal of the laser point and the local normal of each of the neighboring points according to the multiple neighboring points corresponding to the laser point.
[0046] In this embodiment, for each laser point in the oldest point cloud of the head, principal component analysis is performed on each neighboring point of the laser point, and the direction of the eigenvector corresponding to the minimum eigenvalue is used as the local normal of the laser point; at the same time, for each neighboring point of the laser point, principal component analysis is performed on the K-nearest neighbor point cloud of the neighboring point, and the direction of the eigenvector corresponding to the minimum eigenvalue is used as the local normal of the neighboring point.
[0047] Step S1042: Calculate the normal consistency of the laser point based on the local normal of the laser point and the local normal of each of the neighboring points.
[0048] In this embodiment, the normal consistency is calculated based on the angle between the local normal of the laser point and the local normals of its corresponding neighboring points.
[0049] In one specific embodiment, step S1042 includes: determining the sine value of the angle between the local normal of each of the neighboring points and the local normal of the laser point; and taking the average value of the sine values of each angle as the normal consistency.
[0050] In this embodiment, the sine value of the angle between the local normal of the laser point and the local normals of all its neighboring points is calculated. The angle is typically an acute angle between 0° and 90°. The arithmetic mean of all the sine values is then taken as the normal consistency of the laser point. That is, normal consistency. The calculation formula is: ,1≤ ≤ In the formula, For the first The sine value of the angle between the local normal of a neighboring point and the local normal of the laser point. is the number of neighborhood points of the laser point.
[0051] Step S1043: Calculate the point cloud density of the laser point based on the Euclidean distance between each of the neighboring points and the laser point.
[0052] In this embodiment, the point cloud density of the laser point is calculated based on the Euclidean distance between the laser point and its corresponding neighboring points.
[0053] In one specific embodiment, step S1043 includes: calculating the Euclidean distance between each of the neighboring points and the laser point, calculating the average value of each of the Euclidean distances to obtain an initial density; if the number of neighboring points corresponding to the laser point is a preset maximum value, then the initial density is the point cloud density; if the number of neighboring points is less than the preset maximum value, then calculating the product of the initial density and the number of neighboring points to obtain a first product; calculating the difference between the preset maximum value and the number of neighboring points to obtain a target difference; calculating the product of the target difference and the Manhattan distance corresponding to the neighborhood search to obtain a second product; dividing the sum of the first product and the second product by the preset maximum value to obtain the point cloud density.
[0054] In this embodiment, the Euclidean distance between each neighboring point and the laser point is calculated, and the average value of each Euclidean distance is calculated to obtain the initial density.
[0055] Furthermore, if the actual number of neighboring points of the laser point is the preset maximum value (maximum number of neighboring points), then the initial density will be the point cloud density of the laser point.
[0056] Correspondingly, if the number of neighboring points is less than the preset maximum value (maximum number of neighboring points), the formula for calculating the point cloud density is: In the formula, Point cloud density, For the initial density, For Manhattan distance, The maximum value (maximum number of neighboring points) is preset so that the distance of the other nearest neighbors of the laser point must be close to or even much greater than the Manhattan distance, so that the density value increases as the number of neighboring points decreases, thus more reasonably reflecting the local sparsity.
[0057] Step S105: Calculate the mass fraction corresponding to each laser point based on the normal consistency and the point cloud density, and denoise each laser point based on the mass fraction.
[0058] In this embodiment, for each laser point in the oldest point cloud of the head, the quality score corresponding to the laser point is calculated based on the normal consistency and the point cloud density of the laser point, thereby effectively distinguishing whether the laser point is a noise point; and the quality score of the laser point determines whether to denoise the laser point.
[0059] Please see Figure 4 In one specific embodiment, step S105 includes steps S1051 to S1053, and each step is described in detail below.
[0060] Step S1051: For each laser point, calculate the mass fraction of the laser point based on the normal uniformity and the point cloud density, and calculate the mean and standard deviation based on the mass fraction of each laser point.
[0061] In this embodiment, for each laser point in the oldest point cloud of the head, the normal uniformity and point cloud density corresponding to that laser point are weighted and summed to obtain the quality score of that laser point, and the average quality score of all laser points is calculated. and standard deviation .
[0062] Step S1052: Calculate the product of the number of neighboring points corresponding to the laser point and the standard deviation to obtain a third product. Calculate the sum of the third product and the mean as the score threshold.
[0063] In this embodiment, the expression for the score threshold is: .
[0064] Step S1053: If the quality score is greater than the score threshold, then the laser point is treated as noise point for noise removal.
[0065] In this embodiment, if the mass fraction of the laser point is greater than the fraction threshold, the laser point is treated as a noise point for noise reduction.
[0066] Understandably, this embodiment does not directly perform a neighborhood search on the latest point cloud. Instead, it uses a circular buffer to cache multiple frames of point clouds, updates the raster map with the latest point cloud increments at the tail of the buffer, and simultaneously searches for the oldest point cloud at the head (already registered and with stable coordinates) in the raster map using Manhattan distance. The neighborhood search is executed in parallel pipelined with point cloud acquisition and map updates. The search time is amortized into the entire scanning cycle, and the denoising judgment is based on pre-calculated normal consistency and point cloud density, achieving truly real-time output.
[0067] Please see Figure 5After the original point cloud is denoised using the real-time point cloud denoising method proposed in this embodiment, effective denoising of the point cloud can be achieved. At the same time, please refer to Table 1 to compare the denoising speed of the traditional SOR method and the real-time point cloud denoising method of this embodiment. It can be seen that the real-time point cloud denoising method of this embodiment can effectively improve the real-time performance of denoising.
[0068] Table 1:
[0069] The real-time point cloud denoising method proposed in this embodiment acquires the current original point cloud in real time, updates the point cloud at the tail of the buffer based on the current original point cloud, updates the raster map based on the latest point cloud at the tail of the buffer, performs a neighborhood search on the raster map based on the oldest point cloud at the head of the buffer, obtains multiple neighborhood points corresponding to each laser point in the oldest point cloud at the head, calculates the normal consistency and point cloud density of each laser point based on the multiple neighborhood points corresponding to each laser point, calculates the quality score corresponding to each laser point based on the normal consistency and the point cloud density, and denoises each laser point based on the quality score. In this way, the latest point cloud at the tail of the buffer is used to update the map, and the oldest point cloud at the head is used to evaluate denoising, avoiding the serial bottleneck of single-frame tree building, search, and statistics; at the same time, the neighborhood search based on the raster can significantly reduce the computational complexity; the quality score fused from normal consistency and density improves the differentiation accuracy between edge points and noise points in dynamic scenes, taking into account both real-time performance and robustness.
[0070] Example 2 Furthermore, this disclosure provides a real-time point cloud denoising device 600, please refer to [link to relevant documentation]. Figure 6 The device includes: The acquisition module 601 is used to acquire the current original point cloud in real time and update the point cloud at the end of the buffer according to the current original point cloud. Update module 602 is used to update the raster map based on the latest point cloud at the tail in the buffer. The search module 603 is used to perform a neighborhood search on the grid map based on the oldest point cloud in the buffer, and obtain multiple neighborhood points corresponding to each laser point in the oldest point cloud. The calculation module 604 is used to calculate the normal consistency and point cloud density of each laser point based on the multiple neighboring points corresponding to each laser point. The denoising module 605 is used to calculate the mass fraction corresponding to each laser point based on the normal consistency and the point cloud density, and to denoise each laser point based on the mass fraction.
[0071] In one embodiment, the acquisition module 601 is further configured to acquire the radar pose and displacement corresponding to the current original point cloud; perform coordinate system transformation on the current original point cloud according to the radar pose and displacement to obtain the current target point cloud; and update the current target point cloud to the tail of the buffer; the data at the tail of the buffer is the latest data, and the data at the head of the buffer is the data before the preset time window.
[0072] In one embodiment, the calculation module 604 is further configured to, for each laser point, determine the local normal of the laser point and the local normal of each of the neighboring points based on principal component analysis; calculate the normal consistency of the laser point based on the local normal of the laser point and the local normal of each of the neighboring points; and calculate the point cloud density of the laser point based on the Euclidean distance between each of the neighboring points and the laser point.
[0073] In one embodiment, the calculation module 604 is further configured to determine the sine value of the angle between the local normal of each of the neighboring points and the local normal of the laser point; and to use the average value of the sine values of each angle as the normal consistency.
[0074] In one embodiment, the calculation module 604 is further configured to calculate the Euclidean distance between each of the neighboring points and the laser point, calculate the average value of each of the Euclidean distances, and obtain an initial density; if the number of neighboring points corresponding to the laser point is a preset maximum value, then the initial density is the point cloud density; if the number of neighboring points is less than the preset maximum value, then the product of the initial density and the number of neighboring points is calculated to obtain a first product; the difference between the preset maximum value and the number of neighboring points is calculated to obtain a target difference; the product of the target difference and the Manhattan distance corresponding to the neighborhood search is calculated to obtain a second product; and the sum of the first product and the second product is divided by the preset maximum value to obtain the point cloud density.
[0075] In one embodiment, the search module 603 is further configured to: determine the target grid of each laser point in the grid map; determine the neighboring grid corresponding to the target grid based on the Manhattan distance; and obtain multiple neighboring points corresponding to the laser point based on the neighboring grid.
[0076] In one embodiment, the denoising module 605 is further configured to: calculate the quality score of each laser point based on the normal consistency and the point cloud density; calculate the mean and standard deviation based on the quality score of each laser point; calculate the product of the number of neighboring points corresponding to the laser point and the standard deviation to obtain a third product; calculate the sum of the third product and the mean as a score threshold; and if the quality score is greater than the score threshold, then the laser point is treated as a noise point for denoising.
[0077] The apparatus provided in this embodiment can perform the steps of the real-time point cloud denoising method provided in Embodiment 1. To avoid repetition, it will not be described again.
[0078] The real-time point cloud denoising device proposed in this embodiment acquires the current original point cloud in real time, updates the point cloud at the tail of the buffer based on the current original point cloud, updates the raster map based on the latest point cloud at the tail of the buffer, performs a neighborhood search on the raster map based on the oldest point cloud at the head of the buffer, obtains multiple neighborhood points corresponding to each laser point in the oldest point cloud at the head, calculates the normal consistency and point cloud density of each laser point based on the multiple neighborhood points corresponding to each laser point, calculates the quality score corresponding to each laser point based on the normal consistency and the point cloud density, and denoises each laser point based on the quality score. In this way, the latest point cloud at the tail of the buffer is used to update the map, and the oldest point cloud at the head is used to evaluate denoising, avoiding the serial bottleneck of single-frame tree building, search, and statistics; at the same time, the neighborhood search based on the raster can significantly reduce the computational complexity; the quality score fused from normal consistency and density improves the differentiation accuracy between edge points and noise points in dynamic scenes, taking into account both real-time performance and robustness.
[0079] Example 3 Furthermore, this disclosure provides a computer device including a memory and a processor. The memory stores a computer program, which, when executed by the processor, implements the real-time point cloud denoising method described in Embodiment 1.
[0080] The device provided in this embodiment can perform the steps of the real-time point cloud denoising method provided in Embodiment 1. To avoid repetition, the steps will not be repeated.
[0081] Example 4 This disclosure provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the real-time point cloud denoising method described in Embodiment 1.
[0082] In this embodiment, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.
[0083] The computer-readable storage medium provided in this embodiment can implement the real-time point cloud denoising method provided in Embodiment 1. To avoid repetition, it will not be described again here.
[0084] In all examples shown and described herein, any specific values should be interpreted as merely exemplary and not as limitations; therefore, other examples of exemplary embodiments may have different values.
[0085] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0086] The above-described embodiments are merely illustrative of several implementations of the present invention, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of the invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these modifications and improvements all fall within the scope of protection of the present invention.
Claims
1. A real-time point cloud denoising method, characterized in that, The method includes: The current raw point cloud is acquired in real time, and the point cloud at the end of the buffer is updated based on the current raw point cloud. The raster map is updated based on the latest point cloud at the tail in the buffer. Based on the oldest point cloud in the buffer, a neighborhood search is performed on the grid map to obtain multiple neighborhood points corresponding to each laser point in the oldest point cloud. Calculate the normal consistency and point cloud density of each laser point based on multiple neighboring points corresponding to each laser point; The mass fraction corresponding to each laser point is calculated based on the normal consistency and the point cloud density, and the laser points are denoised based on the mass fraction. The step of obtaining the current original point cloud and updating the point cloud at the tail of the buffer based on the current original point cloud includes: Obtain the radar pose and displacement corresponding to the current original point cloud; The current original point cloud is transformed into a coordinate system based on the radar pose and the displacement to obtain the current target point cloud. The current target point cloud is then updated to the tail of the buffer. The data at the tail of the buffer is the latest data, and the data at the head of the buffer is the data before a preset time window. The step involves performing a neighborhood search on the raster map based on the oldest point cloud in the buffer to obtain multiple neighboring points corresponding to each laser point in the oldest point cloud, including: For each of the laser points, determine the target grid of the laser point in the grid map; The neighboring grids corresponding to the target grid are determined based on Manhattan distance; Multiple neighboring points corresponding to the laser point are obtained based on the neighboring grid.
2. The real-time point cloud denoising method according to claim 1, characterized in that, The step of calculating the normal uniformity and point cloud density of each laser point based on multiple neighboring points corresponding to each laser point includes: For each laser point, based on principal component analysis, the local normal of the laser point and the local normal of each of the neighboring points are determined according to the multiple neighboring points corresponding to the laser point; The normal consistency of the laser point is calculated based on the local normal of the laser point and the local normal of each of the neighboring points. The point cloud density of the laser point is calculated based on the Euclidean distance between each of the neighboring points and the laser point.
3. The real-time point cloud denoising method according to claim 2, characterized in that, The step of calculating the normal consistency of the laser point based on the local normal of the laser point and the local normals of each of the neighboring points includes: Determine the sine value of the angle between the local normal of each of the neighboring points and the local normal of the laser point; The average value of the sine of each of the aforementioned included angles is taken as the normal uniformity.
4. The real-time point cloud denoising method according to claim 2, characterized in that, The step of calculating the point cloud density of the laser point based on the Euclidean distance between each of the neighboring points and the laser point includes: Calculate the Euclidean distance between each of the neighboring points and the laser point, calculate the average value of each of the Euclidean distances, and obtain the initial density; If the number of neighboring points corresponding to the laser point is a preset maximum value, then the initial density is the point cloud density; If the number of neighboring points is less than a preset maximum value, then the product of the initial density and the number of neighboring points is calculated to obtain the first product; Calculate the difference between the preset maximum value and the number of neighboring points to obtain the target difference; Calculate the product of the target difference and the Manhattan distance corresponding to the neighborhood search to obtain the second product; The point cloud density is obtained by dividing the sum of the first product and the second product by the preset maximum value.
5. The real-time point cloud denoising method according to claim 1, characterized in that, The step of calculating the mass fraction corresponding to each laser point based on the normal consistency and the point cloud density, and denoising each laser point based on the mass fraction, includes: For each laser point, the mass fraction of the laser point is calculated based on the normal uniformity and the point cloud density, and the mean and standard deviation are calculated based on the mass fraction of each laser point. Calculate the product of the number of neighboring points corresponding to the laser point and the standard deviation to obtain the third product; Calculate the sum of the third product and the mean, and use it as the score threshold; If the quality score is greater than the score threshold, then the laser point is treated as noise and denoised.
6. A real-time point cloud denoising device, characterized in that, The device includes: The acquisition module is used to acquire the current raw point cloud in real time and update the point cloud at the end of the buffer based on the current raw point cloud. The update module is used to update the raster map based on the latest point cloud at the tail in the buffer. The search module is used to perform a neighborhood search on the grid map based on the oldest point cloud in the buffer, and obtain multiple neighborhood points corresponding to each laser point in the oldest point cloud. The calculation module is used to calculate the normal consistency and point cloud density of each laser point based on the multiple neighboring points corresponding to each laser point. The denoising module is used to calculate the mass fraction corresponding to each laser point based on the normal consistency and the point cloud density, and to denoise each laser point based on the mass fraction. The acquisition module is further configured to acquire the radar pose and displacement corresponding to the current original point cloud; perform coordinate system transformation on the current original point cloud according to the radar pose and displacement to obtain the current target point cloud; and update the current target point cloud to the tail of the buffer; the data at the tail of the buffer is the latest data, and the data at the head of the buffer is the data before the preset time window; The search module is further configured to: determine the target grid of each laser point in the grid map; determine the neighboring grid corresponding to the target grid based on the Manhattan distance; and obtain multiple neighboring points corresponding to the laser point based on the neighboring grid.
7. A computer device, characterized in that, It includes a memory and a processor, the memory storing a computer program that, when executed by the processor, implements the real-time point cloud denoising method as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the real-time point cloud denoising method as described in any one of claims 1 to 5.