Point cloud outlier removal method, point cloud processing method, device and related equipment

By layering point clouds and setting bounding boxes, and combining nearest neighbor points and Euclidean distance for judgment, outliers in point clouds can be effectively removed while preserving detailed features, thus solving the problems of insufficient processing efficiency and generalization ability in existing technologies.

CN115661421BActive Publication Date: 2026-07-07SUN YAT SEN UNIVERSITY SHENZHEN +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SUN YAT SEN UNIVERSITY SHENZHEN
Filing Date
2022-08-16
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively remove outliers while preserving detailed features when processing 3D point clouds, and deep learning-based methods require substantial data and time support, exhibiting poor generalization capabilities.

Method used

The point cloud is evenly divided into multiple layers along the reference coordinate axis. A bounding box centered on each point is set to remove isolated points. The first nearest neighbor set of each point is determined, and the removal of points is determined by the nearest neighbor Euclidean distance and standard deviation. At the same time, the frame difference method is used to process the remaining point cloud.

Benefits of technology

While preserving detailed features, it intuitively and conveniently removes outliers in point clouds, improving processing efficiency and generalization ability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115661421B_ABST
    Figure CN115661421B_ABST
Patent Text Reader

Abstract

The application discloses a point cloud outlier removal method, a point cloud processing method, a device and related equipment. The method comprises the following steps: dividing a point cloud to be processed into multiple layers along a reference coordinate axis; determining whether to remove each point in each layer of the point cloud based on the bounding box of the point, and obtaining a second point cloud; obtaining the average nearest neighbor Euclidean distance of the second point cloud, that is, the nearest neighbor Euclidean distance of each point; and determining whether to remove each point in the second point cloud based on the difference between the nearest neighbor Euclidean distance of the point and the average nearest neighbor Euclidean distance, and the standard deviation of the nearest neighbor Euclidean distance of each point in the second point cloud and the average nearest neighbor Euclidean distance. Through the above steps, the application can remove the outliers in the point cloud more intuitively and conveniently while retaining the detailed features.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer graphics processing technology, and more specifically, to a method for removing outliers in point clouds, a point cloud processing method, an apparatus, and related equipment. Background Technology

[0002] 3D point clouds are currently the representative format for displaying the three-dimensional shape of real-world objects or scenes, and have been widely used in many fields, such as pose estimation, target tracking, remote sensing, and cultural relic restoration. 3D point clouds are primarily acquired using depth cameras or laser scanning equipment. However, due to factors such as ambient light interference, changes in target reflectivity, or sensor instability, a large number of outliers often appear in 3D point clouds. Therefore, before transmitting the acquired 3D point cloud to subsequent high-level applications such as reconstruction, segmentation, and detection, it is necessary to remove these outliers.

[0003] Traditional point cloud outlier handling methods primarily leverage the temporal differences between true and outlier values, using feature descriptors such as density, projection, clustering, and normal vectors to directly detect and remove outliers from the original point cloud. However, limited by their algorithmic architecture, traditional methods cannot effectively balance outlier removal rate and detail feature preservation rate. While deep learning-based methods can address these issues, their network training requires massive amounts of data and time, and their generalization ability is poor. When the feature distribution of the input point cloud differs significantly from that of the training data, deep learning-based methods become completely ineffective. Summary of the Invention

[0004] In view of this, this application provides a method, a method, an apparatus, and related equipment for removing outliers in point clouds, so as to remove outliers in point clouds while preserving detailed features.

[0005] To achieve the above objectives, the first aspect of this application provides a method for removing point cloud outliers, comprising:

[0006] The point cloud to be processed is uniformly divided into multiple layers along the reference coordinate axis;

[0007] For each point in each layer of the point cloud, a bounding box is set with the point as the center. If the bounding box contains only the point, the point is removed to obtain the second point cloud.

[0008] For each point in the second point cloud, a first nearest neighbor set is determined, wherein the number of first nearest neighbor points contained in the first nearest neighbor set of each point is the same, and the Euclidean distance from the first nearest neighbor point to the point is less than the Euclidean distance from any point outside the first nearest neighbor set to the point.

[0009] Obtain the nearest neighbor Euclidean distance of each point in the second point cloud, and obtain the average nearest neighbor Euclidean distance of the second point cloud, wherein the nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and each of its first nearest neighbor points, and the average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of each point in the second point cloud.

[0010] For each point in the second point cloud, a determination is made as to whether to remove the point based on the difference between the nearest Euclidean distance and the average nearest Euclidean distance of the point, and the standard deviation of the nearest Euclidean distance and the average nearest Euclidean distance of all points in the second point cloud.

[0011] Preferably, the process of uniformly dividing the point cloud to be processed into multiple layers along the reference coordinate axis includes:

[0012] The thickness value δ is calculated using the following equation:

[0013]

[0014] Where n1 is the total number of points in the point cloud, S xoy S yoz and S xoz These are the projected areas of the point cloud on the xoy, yoz, and xoz planes, respectively;

[0015] Based on the thickness value δ, the point cloud to be processed is uniformly divided into l layers along the Z-axis:

[0016] l = |z max -z min | / δ

[0017] Among them, z max Let z be the maximum value of the point cloud along the Z-axis. min The minimum value of the point cloud along the Z-axis is given.

[0018] Preferably, the process of setting a bounding box centered on the point includes:

[0019] A square is drawn with the point as its center, and this square is defined as the bounding box. The side length ξ of the square is calculated by the following equation:

[0020]

[0021] Where α is a preset bounding box threshold, n1 is the total number of points in the point cloud, and S xoy S yoz and S xoz These are the projected areas of the point cloud on the xoy, yoz, and xoz planes, respectively.

[0022] Preferably, the process of determining the first nearest neighbor set of each point in the second point cloud includes:

[0023] For each point in the second point cloud, calculate the Euclidean distance between the point and every other point in the second point cloud to obtain (n²-1) distance values;

[0024] From the (n²-1) distance values, determine the k1 smaller distance values, and form the first nearest neighbor set of the point by the k1 distance values;

[0025] Where n2 is the total number of points in the second point cloud, and k1 is a preset natural number.

[0026] Preferably, for each point in the second point cloud, the process of determining whether to remove the point based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of the point, and the standard deviation of the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of all points in the second point cloud, includes:

[0027] Determine the nearest neighbor Euclidean distance D(i) and the average nearest neighbor Euclidean distance for any point i in the second point cloud. Does the difference satisfy the following equation:

[0028]

[0029] If not, remove point i, where σ is a preset standard deviation threshold and n2 is the total number of points in the second point cloud.

[0030] A second aspect of this application provides a device for removing point cloud outliers, comprising:

[0031] Point cloud layering unit is used to uniformly divide the point cloud to be processed into multiple layers along the reference coordinate axis;

[0032] The first removal unit is used to set a bounding box centered on each point in each layer of the point cloud. If the bounding box contains only the point, the point is removed to obtain the second point cloud.

[0033] The nearest neighbor determination unit is used to determine a first nearest neighbor set for each point in the second point cloud, wherein the number of first nearest neighbor points contained in the first nearest neighbor set of each point is the same, and the Euclidean distance from the first nearest neighbor point to the point is less than the Euclidean distance from any point outside the first nearest neighbor set to the point.

[0034] The distance determination unit is used to obtain the nearest neighbor Euclidean distance of each point in the second point cloud and to obtain the average nearest neighbor Euclidean distance of the second point cloud, wherein the nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and each of its first nearest neighbor points, and the average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of each point in the second point cloud.

[0035] The second removal unit is used to determine whether to remove a point for each point in the second point cloud based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of the point, and the standard deviation of the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of each point in the second point cloud.

[0036] A third aspect of this application provides a device for removing point cloud outliers, comprising: a memory and a processor;

[0037] The memory is used to store programs;

[0038] The processor is used to execute the program to implement each step of the above-described method for removing point cloud outliers.

[0039] A fourth aspect of this application provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the point cloud outlier removal method described above.

[0040] The fifth aspect of this application provides a point cloud processing method, including:

[0041] The point cloud outlier removal method described above is used to remove outliers from the point cloud to be processed, resulting in a coarsely processed point cloud.

[0042] The point cloud outlier removal method described above is used to remove outliers from the coarsely processed point cloud to obtain an incomplete point cloud.

[0043] The difference between the coarse point cloud and the incomplete point cloud is calculated using the frame difference method to obtain multiple fill points;

[0044] Obtain the second nearest neighbor set of each filling point in the incomplete point cloud, wherein the number of second nearest neighbor points contained in the second nearest neighbor set of each filling point is the same, and the Euclidean distance from the second nearest neighbor point to the filling point is less than the Euclidean distance from any point outside the second nearest neighbor set to the filling point.

[0045] Obtain the mean and covariance of each set of second nearest neighbors, where the mean of the set of second nearest neighbors is the mean of the coordinates of each second nearest neighbor in the set of second nearest neighbors, and the covariance of the set of second nearest neighbors is the covariance of each second nearest neighbor in the set of second nearest neighbors.

[0046] Based on the mean and covariance of the second nearest neighbor set of each filled point, determine whether to incorporate the filled point into the incomplete point cloud, obtain the processed incomplete point cloud, and output the processed incomplete point cloud.

[0047] Preferably, the process of determining whether to incorporate the filled point into the incomplete point cloud based on the mean and covariance of the second nearest neighbor set of each filled point includes:

[0048] Calculate the fill point f using the following equation. i To the surface Q i Mahalanobis distance M(i):

[0049]

[0050] Among them, c i Fill point f i The mean of the set of the second nearest neighbors is calculated as follows:

[0051]

[0052] cov(Q i ) is the fill point f i The covariance of the second nearest neighbor set is calculated as follows:

[0053]

[0054] Among them, surface Q i Fill point f i The geometric surface formed by the points in the second nearest neighbor set, where k2 is the number of the second nearest neighbors in the second nearest neighbor set, (x i,j ,y i,j ,z i,j ) is the surface Q i The j-th point q i,j 3D coordinates;

[0055] If M(i) is less than the preset threshold, then fill point f. i It is incorporated into the incomplete point cloud.

[0056] The sixth aspect of this application provides a point cloud processing apparatus, comprising:

[0057] The first removal unit is used to remove outliers from the point cloud to be processed using the point cloud outlier removal method as described in any one of claims 1 to 5, to obtain a coarsely processed point cloud.

[0058] The second removal unit is used to remove outliers from the coarsely processed point cloud using the point cloud outlier removal method as described in any one of claims 1 to 5, to obtain an incomplete point cloud.

[0059] The first acquisition unit is used to calculate the difference between the coarse point cloud and the incomplete point cloud using the frame difference method to obtain multiple fill points;

[0060] The second acquisition unit is used to acquire the second nearest neighbor set of each filling point in the incomplete point cloud, wherein the number of second nearest neighbor points contained in the second nearest neighbor set of each filling point is the same, and the Euclidean distance from the second nearest neighbor point to the filling point is less than the Euclidean distance from any point outside the second nearest neighbor set to the filling point.

[0061] The third acquisition unit is used to acquire the mean and covariance of each second nearest neighbor set, wherein the mean of the second nearest neighbor set is the mean of the coordinates of each second nearest neighbor in the second nearest neighbor set, and the covariance of the second nearest neighbor set is the covariance of each second nearest neighbor in the second nearest neighbor set.

[0062] A filling unit is used to determine whether to incorporate the filling point into the incomplete point cloud based on the mean and covariance of the second nearest neighbor set of each filling point, to obtain a processed incomplete point cloud, and to output the processed incomplete point cloud.

[0063] A seventh aspect of this application provides a point cloud processing device, including: a memory and a processor;

[0064] The memory is used to store programs;

[0065] The processor is used to execute the program to implement the various steps of the point cloud processing method described above.

[0066] The eighth aspect of this application provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements the various steps of the point cloud processing method described above.

[0067] As described in the above technical solution, this application first divides the point cloud to be processed into multiple layers uniformly along the reference coordinate axis. Then, for each point in each layer of the point cloud, a bounding box is set with the point as its center. If the bounding box contains only the point, the point is removed, resulting in a second point cloud. It is understood that the points within the object's point cloud should exist continuously within a certain range. When the bounding box is set large enough, and only discrete points exist within it, these discrete points can be identified as anomalous points and should be removed. Next, for each point in the second point cloud, a first nearest neighbor set is determined. The first nearest neighbor set for each point contains the same number of first nearest neighbors, and the Euclidean distance from the first nearest neighbor to the point is less than the Euclidean distance from any point outside the first nearest neighbor set to the point. Then, the nearest neighbor Euclidean distances of each point in the second point cloud and the average nearest neighbor Euclidean distance of the second point cloud are obtained. Wherein, the nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and its first nearest neighbors, reflecting the average distance from a point in the point cloud to its first nearest neighbors; the average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of all points in the second point cloud, reflecting the overall average distance from all points in the point cloud to their first nearest neighbors. Finally, for each point in the second point cloud, based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance, and the standard deviation of the nearest neighbor Euclidean distances of all points in the second point cloud compared to the average nearest neighbor Euclidean distance, it is determined whether to remove the point. Through the above steps, this application can intuitively and conveniently remove outliers in a point cloud while preserving detailed features. Attached Figure Description

[0068] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0069] Figure 1 This is a schematic diagram of the point cloud outlier removal method disclosed in an embodiment of this application;

[0070] Figure 2 This is a schematic diagram of the point cloud processing method disclosed in the embodiments of this application;

[0071] Figure 3 An illustration of the original point cloud containing 30% outliers is provided.

[0072] Figure 4This example illustrates the effect of processing the original point cloud using the SOR method.

[0073] Figure 5 This example illustrates the effect of processing the original point cloud using the local density method.

[0074] Figure 6 An example illustration shows the effect of processing the original point cloud using the method of this application;

[0075] Figure 7 An illustration of the original point cloud containing 50% outliers is provided.

[0076] Figure 8 This example illustrates the effect of processing the original point cloud using the SOR method.

[0077] Figure 9 This example illustrates the effect of processing the original point cloud using the local density method.

[0078] Figure 10 An example illustration shows the effect of processing the original point cloud using the method of this application;

[0079] Figure 11 This is a schematic diagram of the point cloud outlier removal device disclosed in the embodiments of this application;

[0080] Figure 12 This is a schematic diagram of the point cloud processing device disclosed in the embodiments of this application;

[0081] Figure 13 This is a schematic diagram of the point cloud outlier removal device and point cloud processing device disclosed in the embodiments of this application. Detailed Implementation

[0082] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0083] The following describes a method for removing point cloud outliers provided in an embodiment of this application. This method is actually a layered statistical outlier removal method (LSOR). Please refer to [link to relevant documentation]. Figure 1 The point cloud outlier removal method provided in this application embodiment may include the following steps:

[0084] Step S101: Divide the point cloud to be processed into multiple layers evenly along the reference coordinate axis.

[0085] It is understood that the point cloud processed in this application is a three-dimensional point cloud. Assuming that the coordinate system of the three-dimensional point cloud is the XYZ coordinate system and the reference coordinate axis is the Z-axis, the three-dimensional point cloud can be divided into multiple layers parallel to the xoy plane along the Z-axis, where o is the origin of the coordinate system.

[0086] Step S102: For each point in each layer of the point cloud, set a bounding box centered on that point. If the bounding box contains only that point, remove that point to obtain the second point cloud.

[0087] The size of the bounding box can be set according to the specific parameters and characteristics of the point cloud. If the bounding box is set large enough, it is easy to identify an outlier when it contains only one point, and thus the point can be removed. After all outliers in the point cloud to be processed are removed, the resulting point cloud is called the second point cloud.

[0088] Step S103: For each point in the second point cloud, determine the set of the first nearest neighbors of that point.

[0089] In this context, the number of first nearest neighbors contained in the first nearest neighbor set of each point is the same. Furthermore, for each point, the Euclidean distance from the first nearest neighbor to that point is less than the Euclidean distance from any point outside the first nearest neighbor set to that point.

[0090] Step S104: Obtain the nearest neighbor Euclidean distance of each point in the second point cloud, and obtain the average nearest neighbor Euclidean distance of the second point cloud.

[0091] The nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and its first nearest neighbors. In other words, the nearest neighbor Euclidean distance of a point depends on the point itself and its first nearest neighbors.

[0092] The average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of all points in the second point cloud.

[0093] Step S105: For each point in the second point cloud, determine whether to remove the point based on the difference between the nearest Euclidean distance and the average nearest Euclidean distance of the point, and the standard deviation of the nearest Euclidean distance and the average nearest Euclidean distance of each point in the second point cloud.

[0094] The embodiments described above first divide the point cloud to be processed into multiple layers uniformly along the reference coordinate axis. Then, for each point in each layer of the point cloud, a bounding box is set with that point as its center. If the bounding box contains only that point, then that point is removed to obtain a second point cloud. It is understood that the points in the object point cloud should exist continuously within a certain range. When the bounding box is set large enough, and only discrete points are contained within the bounding box, then these discrete points can be identified as outliers and should be removed. Next, for each point in the second point cloud, the first nearest neighbor set of that point is determined. The first nearest neighbor set of each point contains the same number of first nearest neighbor points, and the Euclidean distance from each first nearest neighbor point to that point is less than the Euclidean distance from any point outside the first nearest neighbor set to that point. Then, the nearest neighbor Euclidean distances of each point in the second point cloud and the average nearest neighbor Euclidean distance of the second point cloud are obtained. The nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and its first nearest neighbors, reflecting the average distance from a point in the point cloud to its first nearest neighbors. The average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of all points in the second point cloud, reflecting the overall average distance from each point in the point cloud to its first nearest neighbor. Finally, for each point in the second point cloud, based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance, and the standard deviation of the nearest neighbor Euclidean distances of all points in the second point cloud compared to the average nearest neighbor Euclidean distance, it is determined whether to remove the point. Through the above steps, this application can intuitively and conveniently remove outliers from point clouds while preserving detailed features.

[0095] In some embodiments of this application, the process of uniformly dividing the point cloud to be processed into multiple layers along the reference coordinate axis in step S101 may include:

[0096] S1, the thickness value δ is calculated using the following equation:

[0097]

[0098] Where n1 is the total number of points in the point cloud, S xoy S yoz and S xoz These are the projected areas of the point cloud in the xoy, yoz, and xoz planes, respectively, which can be calculated using the following equations:

[0099]

[0100] Where, x max Let x be the maximum value of the point cloud on the X-axis. min The minimum value of the point cloud along the X-axis; y max The maximum value of the point cloud on the Y-axis is y. minz is the minimum value of the point cloud along the Y-axis; max Let z be the maximum value of the point cloud along the Z-axis. min This is the minimum value of the point cloud along the Z-axis.

[0101] S2, based on the thickness value δ, divide the point cloud to be processed into l layers uniformly along the Z-axis:

[0102] l = |z max -z min | / δ

[0103] Among them, z max Let z be the maximum value of the point cloud along the Z-axis. min This is the minimum value of the point cloud along the Z-axis.

[0104] In some embodiments of this application, the process of setting a bounding box centered on the point in step S102 may include:

[0105] Set a square with that point as the center, and define that square as the bounding box.

[0106] The side length ξ of the square is calculated using the following equation:

[0107]

[0108] Where α is the preset bounding box threshold, n1 is the total number of points in the point cloud, and s xoy s yoz and s xoz These are the projected areas of the point cloud on the xoy, yoz, and xoz planes, respectively.

[0109] Understandably, the α value directly affects the identification of outliers. If the α value is set too large, there may be cases of missed detection, that is, points that should be identified as outliers are identified as normal points. If the α value is set too small, there may be cases of misjudgment, that is, points that should not be identified as outliers are identified as outliers.

[0110] Since the bounding box is a two-dimensional surface, and even with a small thickness value δ, each layer in the point cloud is still a three-dimensional volume, when the bounding box is set to a square, this square is a square parallel to the xoy plane. In step S102 above, the process of determining whether the bounding box contains only that point for each point in each layer of the point cloud can include:

[0111] S1, from the layer where the point is located, obtain the target point whose x and y values ​​are within the bounding box.

[0112] S2, determine whether there is only one target point; if yes, determine that the bounding box contains only that point; if no, determine that the bounding box contains more than one target point.

[0113] In some embodiments of this application, step S103, which involves determining the first nearest neighbor set for each point in the second point cloud, may include:

[0114] S1. For each point in the second point cloud, calculate the Euclidean distance between that point and every other point in the second point cloud, and obtain (n2-1) distance values.

[0115] Where n2 is the total number of points in the second point cloud.

[0116] S2, determine the k1 smaller distance values ​​from the (n2-1) distance values, and form the first nearest neighbor set of the point by the k1 distance values.

[0117] Where k1 is a preset natural number. For example, the (n2-1) distance values ​​can be sorted in ascending order, and the first k1 distance values ​​can be determined as the first nearest neighbor of the point, forming the first nearest neighbor set.

[0118] In some embodiments of this application, step S105, which determines whether to remove a point for each point in the second point cloud based on the difference between the nearest Euclidean distance and the average nearest Euclidean distance of that point, and the standard deviation of the nearest Euclidean distance and the average nearest Euclidean distance of all points in the second point cloud, may include:

[0119] Determine the nearest Euclidean distance D(i) and the average nearest Euclidean distance of any point i in the second point cloud. Does the difference satisfy the following equation:

[0120]

[0121] If not, remove point i.

[0122] Where σ is the preset standard deviation threshold, n2 is the total number of points in the second point cloud, and the average nearest neighbor Euclidean distance is... Let D(i) be the mean of the nearest neighbor Euclidean distances (i = 1, 2, ..., n2).

[0123] The nearest neighbor Euclidean distance D(i) of any point i can be calculated using the following equation:

[0124]

[0125] Where, d i (j) is the Euclidean distance between the i-th point in the second point cloud and its j-th first nearest neighbor, which can be calculated using the following equation:

[0126]

[0127] Among them, (x i ,y i ,z i Let (x) be the coordinates of the i-th point in the second point cloud. i ,y i ,z i Let be the three-dimensional coordinates of the j-th first nearest neighbor of the i-th point in the second point cloud.

[0128] Based on the point cloud outlier removal methods provided in the above embodiments, this application also provides a point cloud processing method. The point cloud processing method provided in the embodiments of this application is described below. Please refer to... Figure 2 The point cloud processing method provided in this application embodiment may include the following steps:

[0129] Step S201: Use the point cloud outlier removal method to remove outliers from the point cloud to be processed, and obtain a coarsely processed point cloud.

[0130] Step S202: Use the point cloud outlier removal method to remove outliers from the coarsely processed point cloud to obtain an incomplete point cloud.

[0131] The point cloud outlier removal methods mentioned in steps S201 and S202 are the same as those provided in the above embodiments. It is understood that steps S202 and S201 use different parameters (α, k1, σ) or (α, k2, σ) for outlier removal from the point cloud, and the parameters used in step S202 are more stringent, allowing for a second processing of the coarsely processed point cloud after the first processing, and a second removal of outliers based on the coarsely processed point cloud. Therefore, the parameters (α, k1, σ) used in step S201 can be defined as relaxation parameters, with typical values ​​of (5, 30, 2); the parameters (α, k2, σ) used in step S202 can be defined as stringent parameters, with typical values ​​of (3, 30, 1).

[0132] Step S203: Calculate the difference between the coarse point cloud and the incomplete point cloud using the frame difference method to obtain multiple fill points.

[0133] The process of calculating the difference between the coarsely processed point cloud and the incomplete point cloud using the frame difference method includes:

[0134] S1, compare the coarsely processed point cloud with the incomplete point cloud to obtain points with the same position;

[0135] S2, based on the points with the same position, obtain points with different positions;

[0136] S3, identify the differences between these points at different locations.

[0137] For example, suppose the point cloud to be processed in step S201 is P = [p1, p2, ..., p N ]∈R N×3 After processing in step S201, the coarse point cloud obtained is P′=[p1,p2,…,p N′ ]∈R N′×3 After processing in step S202, the incomplete point cloud obtained is P″=[p1,p2,…,p N″ ]∈R N″×3 Therefore, the filling points obtained after step S203 are F = [f1, f2, ..., f m ]∈R m×3 , where m=N′-N″.

[0138] Step S204: Obtain the set of the second nearest neighbors of each filled point in the incomplete point cloud.

[0139] In this case, the number of second nearest neighbors contained in the second nearest neighbor set of each filling point is the same, and the Euclidean distance from the second nearest neighbor to the filling point is less than the Euclidean distance from any point outside the second nearest neighbor set to the filling point.

[0140] Step S205: Obtain the mean and covariance of each second nearest neighbor set.

[0141] The mean of the second nearest neighbor set is the mean of the coordinates of each second nearest neighbor point within the second nearest neighbor set, and the covariance of the second nearest neighbor set is the covariance of each second nearest neighbor point within the second nearest neighbor set.

[0142] For example, for the fill point f i Its second nearest neighbor set is Q. i ={q ij Given the set of points Q, where j = 1, 2, ..., k2, then the second nearest neighbor set Q is... i The mean c i It can be calculated using the following equation:

[0143]

[0144] The second nearest neighbor set Q i covariance cov(Q) i It can be calculated using the following equation:

[0145]

[0146] Where k2 is the number of second nearest neighbors in the set of second nearest neighbors, (x i,j ,y i,j ,z i,j ) is the surface Q i The j-th point qi,j The three-dimensional coordinates.

[0147] Step S206: Based on the mean and covariance of the second nearest neighbor set of each filled point, determine whether to incorporate the filled point into the incomplete point cloud, obtain the processed incomplete point cloud, and output the processed incomplete point cloud.

[0148] In some embodiments of this application, the process of determining whether to incorporate a fill point into the incomplete point cloud based on the mean and covariance of the second nearest neighbor set of each fill point may include:

[0149] S1, calculate the filling point f using the following equation. i To the surface Q i Mahalanobis distance M(i):

[0150]

[0151] Among them, c i Fill point f i The mean of the set of second nearest neighbors, cov(Q) i ) is the fill point f i The covariance of the set of the second nearest neighbors.

[0152] S2, if M(i) is less than the preset threshold, then fill point f. i It is incorporated into the incomplete point cloud.

[0153] To verify the accuracy of the point cloud processing method provided in the embodiments of this application, tests were conducted using publicly available datasets. The simulation results of this invention are as follows: Figures 3 to 10 As shown. Among them, Figure 3 The visualization of the original point cloud, which includes 30% outliers, is shown. Figures 4 to 6 The results of three outlier handling methods on the original point cloud are shown. Figure 4 and Figure 5 The results are shown for the SOR method and the local density method, respectively. It can be seen that some outliers around the real points were not removed. Figure 6 As shown in the processing results of the method of the present invention, it can be seen that for point clouds containing 30% outliers, the processing results of the method of the present invention contain almost no outliers, and the detailed features of the point cloud are completely preserved.

[0154] Figure 7 The visualization of the original point cloud, which includes 50% outliers, is shown. Figures 8 to 10 The results of three outlier handling methods on the original point cloud are shown. Figure 8The results of the SOR method show that when the outlier ratio increases to 50%, the SOR method fails to remove outliers. Figure 9 The results of the local density method show that it can effectively process point clouds with a high proportion of outliers, but some detailed features of the target (such as the rabbit's ears) are missing. Figure 10 As shown in the processing results of the method of the present invention, it can be seen that for point clouds containing 50% outliers, the method of the present invention can still obtain excellent outlier removal and detail feature preservation results.

[0155] The point cloud outlier removal device provided in the embodiments of this application is described below. The point cloud outlier removal device described below can be referred to in correspondence with the point cloud outlier removal method described above.

[0156] Please see Figure 11 The point cloud outlier removal device provided in this application embodiment may include:

[0157] Point cloud layering unit 21 is used to uniformly divide the point cloud to be processed into multiple layers along the reference coordinate axis;

[0158] The first removal unit 22 is used to set a bounding box centered on each point in each layer of the point cloud. If the bounding box contains only the point, the point is removed to obtain the second point cloud.

[0159] The nearest neighbor determination unit 23 is used to determine the first nearest neighbor set of each point in the second point cloud, wherein the number of first nearest neighbor points contained in the first nearest neighbor set of each point is the same, and the Euclidean distance from the first nearest neighbor point to the point is less than the Euclidean distance from any point outside the first nearest neighbor set to the point.

[0160] The distance determination unit 24 is used to obtain the nearest neighbor Euclidean distance of each point in the second point cloud and to obtain the average nearest neighbor Euclidean distance of the second point cloud, wherein the nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and each of its first nearest neighbor points, and the average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of each point in the second point cloud.

[0161] The second removal unit 25 is used to determine whether to remove a point for each point in the second point cloud based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of the point, and the standard deviation of the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of each point in the second point cloud.

[0162] In some embodiments of this application, the process by which the point cloud layering unit 21 uniformly divides the point cloud to be processed into multiple layers along a reference coordinate axis may include:

[0163] The thickness value δ is calculated using the following equation:

[0164]

[0165] Where n1 is the total number of points in the point cloud, S xoy S yoz and S xoz These are the projected areas of the point cloud on the xoy, yoz, and xoz planes, respectively;

[0166] Based on the thickness value δ, the point cloud to be processed is uniformly divided into l layers along the Z-axis:

[0167] l = |z max -z min | / δ

[0168] Among them, z max Let z be the maximum value of the point cloud along the Z-axis. min The minimum value of the point cloud along the Z-axis is given.

[0169] In some embodiments of this application, the process of the first removal unit 22 setting a bounding box centered on the point may include:

[0170] A square is drawn with the point as its center, and this square is defined as the bounding box. The side length ξ of the square is calculated by the following equation:

[0171]

[0172] Where α is a preset bounding box threshold, n1 is the total number of points in the point cloud, and S xoy S yoz and S xoz These are the projected areas of the point cloud on the xoy, yoz, and xoz planes, respectively.

[0173] In some embodiments of this application, the process by which the nearest neighbor determination unit 23 determines the first nearest neighbor set for each point in the second point cloud may include:

[0174] For each point in the second point cloud, calculate the Euclidean distance between the point and every other point in the second point cloud to obtain (n²-1) distance values;

[0175] From the (n²-1) distance values, determine the k1 smaller distance values, and form the first nearest neighbor set of the point by the k1 distance values;

[0176] Where n2 is the total number of points in the second point cloud, and k1 is a preset natural number.

[0177] In some embodiments of this application, the process by which the second removal unit 25 determines whether to remove a point for each point in the second point cloud, based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of that point, and the standard deviation of the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of all points in the second point cloud, may include:

[0178] Determine the nearest neighbor Euclidean distance D(i) and the average nearest neighbor Euclidean distance for any point i in the second point cloud. Does the difference satisfy the following equation:

[0179]

[0180] If not, remove point i, where σ is a preset standard deviation threshold and n2 is the total number of points in the second point cloud.

[0181] The point cloud outlier removal device provided in this application embodiment can be applied to point cloud outlier removal devices, such as computers. Optionally, Figure 13 The hardware structure block diagram of the point cloud outlier removal device is shown, referencing... Figure 13 The hardware structure of the point cloud outlier removal device may include: at least one processor 31, at least one communication interface 32, at least one memory 33 and at least one communication bus 34.

[0182] In this embodiment, the number of processor 31, communication interface 32, memory 33 and communication bus 34 is at least one, and processor 31, communication interface 32 and memory 33 communicate with each other through communication bus 34;

[0183] The processor 31 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application.

[0184] The memory 32 may include high-speed RAM, and may also include non-volatile memory, such as at least one disk storage device;

[0185] The memory 33 stores a program, and the processor 31 can call the program stored in the memory 33. The program is used for:

[0186] The point cloud to be processed is uniformly divided into multiple layers along the reference coordinate axis;

[0187] For each point in each layer of the point cloud, a bounding box is set with the point as the center. If the bounding box contains only the point, the point is removed to obtain the second point cloud.

[0188] For each point in the second point cloud, a first nearest neighbor set is determined, wherein the number of first nearest neighbor points contained in the first nearest neighbor set of each point is the same, and the Euclidean distance from the first nearest neighbor point to the point is less than the Euclidean distance from any point outside the first nearest neighbor set to the point.

[0189] Obtain the nearest neighbor Euclidean distance of each point in the second point cloud, and obtain the average nearest neighbor Euclidean distance of the second point cloud, wherein the nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and each of its first nearest neighbor points, and the average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of each point in the second point cloud.

[0190] For each point in the second point cloud, a determination is made as to whether to remove the point based on the difference between the nearest Euclidean distance and the average nearest Euclidean distance of the point, and the standard deviation of the nearest Euclidean distance and the average nearest Euclidean distance of all points in the second point cloud.

[0191] Optionally, the refined and extended functions of the program can be found in the description above.

[0192] This application embodiment also provides a storage medium that can store a program suitable for execution by a processor, the program being used for:

[0193] The point cloud to be processed is uniformly divided into multiple layers along the reference coordinate axis;

[0194] For each point in each layer of the point cloud, a bounding box is set with the point as the center. If the bounding box contains only the point, the point is removed to obtain the second point cloud.

[0195] For each point in the second point cloud, a first nearest neighbor set is determined, wherein the number of first nearest neighbor points contained in the first nearest neighbor set of each point is the same, and the Euclidean distance from the first nearest neighbor point to the point is less than the Euclidean distance from any point outside the first nearest neighbor set to the point.

[0196] Obtain the nearest neighbor Euclidean distance of each point in the second point cloud, and obtain the average nearest neighbor Euclidean distance of the second point cloud, wherein the nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and each of its first nearest neighbor points, and the average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of each point in the second point cloud.

[0197] For each point in the second point cloud, a determination is made as to whether to remove the point based on the difference between the nearest Euclidean distance and the average nearest Euclidean distance of the point, and the standard deviation of the nearest Euclidean distance and the average nearest Euclidean distance of all points in the second point cloud.

[0198] Optionally, the refined and extended functions of the program can be found in the description above.

[0199] The point cloud processing apparatus provided in the embodiments of this application is described below. The point cloud processing apparatus described below can be referred to in correspondence with the point cloud processing method described above.

[0200] Please see Figure 12 The point cloud processing apparatus provided in this application embodiment may include:

[0201] The first removal unit 41 is used to remove outliers from the point cloud to be processed using the point cloud outlier removal method provided in the above embodiments, so as to obtain a coarsely processed point cloud.

[0202] The second removal unit 42 is used to remove outliers from the coarsely processed point cloud using the point cloud outlier removal method provided in the above embodiments to obtain an incomplete point cloud.

[0203] The first acquisition unit 43 is used to calculate the difference between the coarse point cloud and the incomplete point cloud using the frame difference method to obtain multiple fill points;

[0204] The second acquisition unit 44 is used to acquire the second nearest neighbor set of each filling point in the incomplete point cloud, wherein the number of second nearest neighbor points contained in the second nearest neighbor set of each filling point is the same, and the Euclidean distance from the second nearest neighbor point to the filling point is less than the Euclidean distance from any point outside the second nearest neighbor set to the filling point.

[0205] The third acquisition unit 45 is used to acquire the mean and covariance of each second nearest neighbor set, wherein the mean of the second nearest neighbor set is the mean of the coordinates of each second nearest neighbor in the second nearest neighbor set, and the covariance of the second nearest neighbor set is the covariance of each second nearest neighbor in the second nearest neighbor set.

[0206] The filling unit 46 is used to determine whether to incorporate the filling point into the incomplete point cloud based on the mean and covariance of the second nearest neighbor set of each filling point, to obtain the processed incomplete point cloud, and to output the processed incomplete point cloud.

[0207] In some embodiments of this application, the process by which the filling unit 46 determines whether to incorporate the filling point into the incomplete point cloud based on the mean and covariance of the second nearest neighbor set of each filling point may include:

[0208] Calculate the fill point f using the following equation. i To the surface Q i Mahalanobis distance M(i):

[0209]

[0210] Among them, c i Fill point f i The mean of the set of the second nearest neighbors is calculated as follows:

[0211]

[0212] cov(Q i ) is the fill point f i The covariance of the second nearest neighbor set is calculated as follows:

[0213]

[0214] Among them, surface Q i Fill point f i The geometric surface formed by the points in the second nearest neighbor set, where k2 is the number of the second nearest neighbors in the second nearest neighbor set, (x i,j ,y i,j ,z i,j ) is the surface Q i The j-th point q i,j 3D coordinates;

[0215] If M(i) is less than the preset threshold, then fill point f. i It is incorporated into the incomplete point cloud.

[0216] The point cloud processing apparatus provided in this application embodiment can be applied to point cloud processing devices, such as computers. Optionally, Figure 13 The hardware structure block diagram of the point cloud processing device is shown below. Figure 13 The hardware structure of the point cloud processing device may include: at least one processor 31, at least one communication interface 32, at least one memory 33 and at least one communication bus 34.

[0217] In this embodiment, the number of processor 31, communication interface 32, memory 33 and communication bus 34 is at least one, and processor 31, communication interface 32 and memory 33 communicate with each other through communication bus 34;

[0218] The processor 31 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application.

[0219] The memory 32 may include high-speed RAM, and may also include non-volatile memory, such as at least one disk storage device;

[0220] The memory 33 stores a program, and the processor 31 can call the program stored in the memory 33. The program is used for:

[0221] The point cloud outlier removal method provided in the above embodiments is used to remove outliers from the point cloud to be processed, resulting in a coarsely processed point cloud.

[0222] The outlier removal method for point cloud provided in the above embodiments is used to remove outliers from the coarsely processed point cloud to obtain an incomplete point cloud.

[0223] The difference between the coarse point cloud and the incomplete point cloud is calculated using the frame difference method to obtain multiple fill points;

[0224] Obtain the second nearest neighbor set of each filling point in the incomplete point cloud, wherein the number of second nearest neighbor points contained in the second nearest neighbor set of each filling point is the same, and the Euclidean distance from the second nearest neighbor point to the filling point is less than the Euclidean distance from any point outside the second nearest neighbor set to the filling point.

[0225] Obtain the mean and covariance of each set of second nearest neighbors, where the mean of the set of second nearest neighbors is the mean of the coordinates of each second nearest neighbor in the set of second nearest neighbors, and the covariance of the set of second nearest neighbors is the covariance of each second nearest neighbor in the set of second nearest neighbors.

[0226] Based on the mean and covariance of the second nearest neighbor set of each filled point, determine whether to incorporate the filled point into the incomplete point cloud, obtain the processed incomplete point cloud, and output the processed incomplete point cloud.

[0227] Optionally, the refined and extended functions of the program can be found in the description above.

[0228] This application embodiment also provides a storage medium that can store a program suitable for execution by a processor, the program being used for:

[0229] The point cloud outlier removal method provided in the above embodiments is used to remove outliers from the point cloud to be processed, resulting in a coarsely processed point cloud.

[0230] The outlier removal method for point cloud provided in the above embodiments is used to remove outliers from the coarsely processed point cloud to obtain an incomplete point cloud.

[0231] The difference between the coarse point cloud and the incomplete point cloud is calculated using the frame difference method to obtain multiple fill points;

[0232] Obtain the second nearest neighbor set of each filling point in the incomplete point cloud, wherein the number of second nearest neighbor points contained in the second nearest neighbor set of each filling point is the same, and the Euclidean distance from the second nearest neighbor point to the filling point is less than the Euclidean distance from any point outside the second nearest neighbor set to the filling point.

[0233] Obtain the mean and covariance of each set of second nearest neighbors, where the mean of the set of second nearest neighbors is the mean of the coordinates of each second nearest neighbor in the set of second nearest neighbors, and the covariance of the set of second nearest neighbors is the covariance of each second nearest neighbor in the set of second nearest neighbors.

[0234] Based on the mean and covariance of the second nearest neighbor set of each filled point, determine whether to incorporate the filled point into the incomplete point cloud, obtain the processed incomplete point cloud, and output the processed incomplete point cloud.

[0235] Optionally, the refined and extended functions of the program can be found in the description above.

[0236] In summary:

[0237] This application first divides the point cloud to be processed into multiple layers uniformly along a reference coordinate axis. Then, for each point in each layer of the point cloud, a bounding box is set with the point as its center. If the bounding box contains only the point, the point is removed, resulting in a second point cloud. It is understood that the points within the object's point cloud should exist continuously within a certain range. When the bounding box is set large enough, and only discrete points are present within it, these discrete points can be identified as outliers and should be removed. Next, for each point in the second point cloud, a first nearest neighbor set is determined. The first nearest neighbor set for each point contains the same number of first nearest neighbors, and the Euclidean distance from each first nearest neighbor to the point is less than the Euclidean distance from any point outside the first nearest neighbor set to the point. Then, the nearest neighbor Euclidean distances for each point in the second point cloud and the average nearest neighbor Euclidean distance of the second point cloud are obtained. Wherein, the nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and its first nearest neighbors, reflecting the average distance from a point in the point cloud to its first nearest neighbors; the average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of all points in the second point cloud, reflecting the overall average distance from all points in the point cloud to their first nearest neighbors. Finally, for each point in the second point cloud, based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance, and the standard deviation of the nearest neighbor Euclidean distances of all points in the second point cloud compared to the average nearest neighbor Euclidean distance, it is determined whether to remove the point. Through the above steps, this application can intuitively and conveniently remove outliers in a point cloud while preserving detailed features.

[0238] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0239] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can be referred to each other.

[0240] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for removing outliers in a point cloud, characterized in that, include: The point cloud to be processed is uniformly divided into multiple layers along the reference coordinate axis; For each point in each layer of the point cloud, a bounding box is set with the point as the center. If the bounding box contains only the point, the point is removed to obtain the second point cloud. For each point in the second point cloud, a first nearest neighbor set is determined, wherein the number of first nearest neighbor points contained in the first nearest neighbor set of each point is the same, and the Euclidean distance from the first nearest neighbor point to the point is less than the Euclidean distance from any point outside the first nearest neighbor set to the point. Obtain the nearest neighbor Euclidean distance of each point in the second point cloud, and obtain the average nearest neighbor Euclidean distance of the second point cloud, wherein the nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and each of its first nearest neighbor points, and the average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of each point in the second point cloud. For each point in the second point cloud, based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of the point, and the standard deviation of the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of all points in the second point cloud, it is determined whether to remove the point; The process of uniformly dividing the point cloud to be processed into multiple layers along the reference coordinate axis includes: The thickness value is calculated using the following equation. : in, The total number of points in the point cloud. , and The point cloud is respectively in , and The projected area of ​​a plane; Based on the thickness value The point cloud to be processed is along The axis is evenly divided into layer: in, For the point cloud in The maximum value of the axis. For the point cloud in Minimum value of the axis; The process of setting a bounding box centered on the point includes: A square is drawn centered at the point mentioned above, and this square is defined as the bounding box. The side length of the square is... It is calculated from the following equation: in, The preset bounding box threshold, The total number of points in the point cloud. , and The point cloud is respectively in , and The projected area of ​​a plane.

2. The method according to claim 1, characterized in that, The process of determining the first nearest neighbor set of each point in the second point cloud includes: For each point in the second point cloud, calculate the Euclidean distance between that point and every other point in the second point cloud. One distance value; From the above Among the distance values, the smaller one is determined. A distance value, from the aforementioned The distance values ​​constitute the first nearest neighbor set of the point; in, This represents the total number of points in the second point cloud. It is a pre-defined natural number.

3. The method according to claim 2, characterized in that, For each point in the second point cloud, the process of determining whether to remove the point, based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of the point, and the standard deviation of the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of all points in the second point cloud, includes: Determine any point in the second point cloud The nearest neighbor Euclidean distance The average nearest neighbor Euclidean distance Does the difference satisfy the following equation: If not, remove the point. ,in, The preset standard deviation threshold, This represents the total number of points in the second point cloud.

4. A point cloud processing method, characterized in that, include: The point cloud outlier removal method as described in any one of claims 1 to 3 is used to remove outliers from the point cloud to be processed, resulting in a coarsely processed point cloud. The point cloud outlier removal method as described in any one of claims 1 to 3 is used to remove outliers from the coarsely processed point cloud to obtain an incomplete point cloud. The difference between the coarse point cloud and the incomplete point cloud is calculated using the frame difference method to obtain multiple fill points; Obtain the second nearest neighbor set of each filling point in the incomplete point cloud, wherein the number of second nearest neighbor points contained in the second nearest neighbor set of each filling point is the same, and the Euclidean distance from the second nearest neighbor point to the filling point is less than the Euclidean distance from any point outside the second nearest neighbor set to the filling point. Obtain the mean and covariance of each set of second nearest neighbors, where the mean of the set of second nearest neighbors is the mean of the coordinates of each second nearest neighbor in the set of second nearest neighbors, and the covariance of the set of second nearest neighbors is the covariance of each second nearest neighbor in the set of second nearest neighbors. Based on the mean and covariance of the second nearest neighbor set of each filled point, determine whether to incorporate the filled point into the incomplete point cloud, obtain the processed incomplete point cloud, and output the processed incomplete point cloud.

5. The method according to claim 4, characterized in that, The process of determining whether to incorporate the filled point into the incomplete point cloud based on the mean and covariance of the second nearest neighbor set of each filled point includes: Calculate the fill point using the following equation To the curved surface Mahalanobis distance : in, Fill point The mean of the set of the second nearest neighbors is calculated as follows: Fill point The covariance of the second nearest neighbor set is calculated as follows: Among them, curved surface Fill point The geometric surface formed by the points in the set of the second nearest neighbors. The number of the second nearest neighbors in the set of second nearest neighbors. It is a curved surface The Middle Points 3D coordinates; like If the value is less than the preset threshold, then fill the point. It is incorporated into the incomplete point cloud.

6. A device for removing outliers in a point cloud, characterized in that, include: Point cloud layering unit is used to uniformly divide the point cloud to be processed into multiple layers along the reference coordinate axis; The first removal unit is used to set a bounding box centered on each point in each layer of the point cloud. If the bounding box contains only the point, the point is removed to obtain the second point cloud. The nearest neighbor determination unit is used to determine a first nearest neighbor set for each point in the second point cloud, wherein the number of first nearest neighbor points contained in the first nearest neighbor set of each point is the same, and the Euclidean distance from the first nearest neighbor point to the point is less than the Euclidean distance from any point outside the first nearest neighbor set to the point. The distance determination unit is used to obtain the nearest neighbor Euclidean distance of each point in the second point cloud and to obtain the average nearest neighbor Euclidean distance of the second point cloud, wherein the nearest neighbor Euclidean distance is the average of the Euclidean distances between a point and each of its first nearest neighbor points, and the average nearest neighbor Euclidean distance is the average of the nearest neighbor Euclidean distances of each point in the second point cloud. The second removal unit is used to determine whether to remove a point for each point in the second point cloud based on the difference between the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of the point, and the standard deviation of the nearest neighbor Euclidean distance and the average nearest neighbor Euclidean distance of each point in the second point cloud. The point cloud layering unit divides the point cloud to be processed into multiple layers uniformly along the reference coordinate axis, including: The thickness value is calculated using the following equation. : in, The total number of points in the point cloud. , and The point cloud is respectively in , and The projected area of ​​a plane; Based on the thickness value The point cloud to be processed is along The axis is evenly divided into layer: in, For the point cloud in The maximum value of the axis. For the point cloud in Minimum value of the axis; The process of the first removal unit setting a bounding box centered on the point includes: A square is drawn centered at the point mentioned above, and this square is defined as the bounding box. The side length of the square is... It is calculated from the following equation: in, The preset bounding box threshold, The total number of points in the point cloud. , and The point cloud is respectively in , and The projected area of ​​a plane.

7. A point cloud processing device, characterized in that, include: The first removal unit is used to remove outliers from the point cloud to be processed using the point cloud outlier removal method as described in any one of claims 1 to 3, to obtain a coarsely processed point cloud. The second removal unit is used to remove outliers from the coarsely processed point cloud using the point cloud outlier removal method as described in any one of claims 1 to 3, to obtain an incomplete point cloud. The first acquisition unit is used to calculate the difference between the coarse point cloud and the incomplete point cloud using the frame difference method to obtain multiple fill points; The second acquisition unit is used to acquire the second nearest neighbor set of each filling point in the incomplete point cloud, wherein the number of second nearest neighbor points contained in the second nearest neighbor set of each filling point is the same, and the Euclidean distance from the second nearest neighbor point to the filling point is less than the Euclidean distance from any point outside the second nearest neighbor set to the filling point. The third acquisition unit is used to acquire the mean and covariance of each second nearest neighbor set, wherein the mean of the second nearest neighbor set is the mean of the coordinates of each second nearest neighbor in the second nearest neighbor set, and the covariance of the second nearest neighbor set is the covariance of each second nearest neighbor in the second nearest neighbor set. A filling unit is used to determine whether to incorporate the filling point into the incomplete point cloud based on the mean and covariance of the second nearest neighbor set of each filling point, to obtain a processed incomplete point cloud, and to output the processed incomplete point cloud.

8. A point cloud processing device, characterized in that, include: Memory and processor; The memory is used to store programs; The processor is configured to execute the program to implement the point cloud outlier removal method as described in any one of claims 1 to 3, or the various steps of the point cloud processing method as described in claim 4 or 5.