CN110136072B - Point cloud noise removing method, denoising system, computer device and storage medium - Google Patents

Point cloud noise removing method, denoising system, computer device and storage medium Download PDF

Info

Publication number
CN110136072B
CN110136072B CN201810128719.1A CN201810128719A CN110136072B CN 110136072 B CN110136072 B CN 110136072B CN 201810128719 A CN201810128719 A CN 201810128719A CN 110136072 B CN110136072 B CN 110136072B
Authority
CN
China
Prior art keywords
point
points
noise
point cloud
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201810128719.1A
Other languages
Chinese (zh)
Other versions
CN110136072A (en
Inventor
胡玮
高翔
郭宗明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN201810128719.1A priority Critical patent/CN110136072B/en
Publication of CN110136072A publication Critical patent/CN110136072A/en
Application granted granted Critical
Publication of CN110136072B publication Critical patent/CN110136072B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

The invention provides a method for removing point cloud noise, a denoising system, computer equipment and a computer readable storage medium, wherein the method for removing the point cloud noise comprises the following steps: acquiring point cloud data; determining abnormal points in the point cloud, and deleting the abnormal points; and determining noise points in the point cloud after the abnormal points are deleted, and deleting the noise points. The invention achieves the purpose of point cloud denoising through two main steps of abnormal point deletion and noise point deletion, achieves better point cloud denoising effect and improves the processing speed of point cloud denoising.

Description

Point cloud noise removing method, denoising system, computer device and storage medium
Technical Field
The invention relates to the technical field of image processing, in particular to a point cloud noise removing method, a denoising system, computer equipment and a computer readable storage medium.
Background
In the related art, the three-dimensional point cloud data of the acquired image usually has noise erosion. In terms of hardware, noise may occur due to precision errors of the depth camera or the three-dimensional laser scanner; on the software side, the point may be placed in the wrong position during the algorithm that generates the point cloud due to the error in the angle measurement or the inaccuracy of the floating point number operation. In terms of environment, the collected point cloud may be affected due to environmental factors (e.g., dust in the air, diffuse reflection occurring on the surface of an object, etc.).
For the three-dimensional point cloud data with noise like the above, there are two main types of denoising algorithms: a denoising algorithm based on a plane and a filtering algorithm based on image signal processing.
The plane-based denoising method utilizes the characteristic that noise is far away from the surface of an object, a plane is fitted for each small point set on the point cloud, the distance between each point and the plane is calculated, and points with overlarge distances are regarded as noise and are deleted. The method mainly comprises the following three methods: (1) firstly, k neighbors of each point are calculated, then a least square method is applied to fit the points into a plane, and finally the k neighbors are moved to the corresponding fit plane to achieve the purpose of denoising. However, the method needs to solve the fitting surface by using a moving least square method and needs to solve the nonlinear optimization problem, so that the calculation amount is large and the complexity is high. (2) An asymptotic plane algorithm: first of all, some theorems have been proposed and proven by which a progressive plane of a set of small points can be easily constructed. And then, the distance between the point and the plane can be calculated to judge which points need to be deleted. The algorithm removes noise from smooth surfaces well, but the processing of details is still insufficient. (3) And (3) hybrid algorithm: and similarly, constructing a progressive plane, calculating a threshold while constructing the plane, comparing the threshold when calculating the distance between a point and the plane, and respectively adopting a plane projection algorithm and a bilateral filtering algorithm according to the comparison result. The algorithm makes up the deficiency of the detailed processing of the algorithm to a certain extent, but distortion still exists in partial positions.
The filtering-based denoising method generally performs denoising by performing a certain filtering rule in the time domain or the frequency domain. The method mainly comprises the following three methods: (1) firstly, the three-dimensional point cloud data is processed in a blocking mode, and then point data is sampled again for each block. And finally, applying the discrete Fourier spectrum analysis to digital image processing, and carrying out noise reduction processing on the sampled data. (2) And (3) noise reduction is carried out by adopting a graph signal processing mode: and constructing the point cloud into an undirected graph by using a k-nearest neighbor algorithm, establishing an optimization equation at the same time, and reducing noise of the point cloud by solving the optimization equation. The method eliminates noise to a certain degree, but has poor effect when aiming at three-dimensional point cloud data with low signal-to-noise ratio. (3) A denoising algorithm combining a modified C-Means (C-Means) algorithm with a bilateral filtering algorithm: firstly, a modified C-Means algorithm is used for removing a plurality of large-scale noises, and whether a relevant point is noise or not is judged mainly through the size of each C-Means classification. The remaining smaller scale noise is then smoothed using a bilateral filtering algorithm. And denoising the three-dimensional point cloud data through the two steps.
The above method has mainly the following two limitations: (1) the distribution of the noise of the point cloud is not pointed out in the above work, and for partial work, only slight white gaussian noise is added on the basis of the original point cloud data, and then the white gaussian noise on the point cloud is denoised, so that the methods have obvious limitations. (2) Most of the above works are applicable to convex geometry with regular surface, and for point clouds with complex structure, the effect obtained by using the above method is not ideal, and the corresponding algorithm complexity is very high.
Disclosure of Invention
The present invention is directed to solving at least one of the problems of the prior art or the related art.
To this end, an aspect of the present invention is to provide a method for removing point cloud noise.
Another aspect of the present invention is to provide a system for removing noise of point cloud.
Yet another aspect of the invention is directed to a computer device.
Yet another aspect of the present invention is to provide a computer-readable storage medium.
In view of the above, according to an aspect of the present invention, a method for removing point cloud noise is provided, including: acquiring point cloud data; determining abnormal points in the point cloud, and deleting the abnormal points; and determining noise points in the point cloud after the abnormal points are deleted, and deleting the noise points.
The invention provides a method for removing point cloud noise, which comprises two main steps: outlier deletion, surface noise deletion. In the process of deleting the abnormal value, if some points are far away from the point cloud main body and are very sparse, the points are regarded as the abnormal points and are directly deleted. After the outliers are removed, some noise still floats on the image surface, and these points are called noise points, and the noise points are removed. The invention achieves the purpose of point cloud denoising after the two main steps, achieves better point cloud denoising effect and improves the processing speed of point cloud denoising.
The method for removing the point cloud noise can also have the following technical characteristics:
in the above technical solution, preferably, the step of determining an abnormal point in the point cloud and deleting the abnormal point includes: setting an initial distance; determining the number of points in a range with any point in the point cloud as a center and the initial distance as a radius; and if the number is smaller than the preset value, determining the point as an abnormal point, and deleting the abnormal point.
In this solution, for an arbitrary noisy point cloud, if some points in the point cloud are far away from the main body of the point cloud and are very sparse, these points will be regarded as outliers, and need to be deleted. Specifically, a suitable initial distance, i.e., an initial radius, is selected, and then, for each point in the point cloud, the number of points included in a sphere with the point as a center of the sphere and the initial distance as a radius is calculated, i.e., the number of neighbor points corresponding to each point is calculated. At this time, a preset value can be selected, and the points with the number of the neighbor points smaller than the preset value are regarded as abnormal points and deleted. The abnormal points are accurately identified through the distance relation between the points, and then preliminary denoising of the points in the point cloud is carried out.
In any of the above technical solutions, preferably, the noise in the point cloud after the outlier is deleted is determinedThe method comprises the following steps of sound point deletion, noise point deletion and noise point deletion, and specifically comprises the following steps: decomposing the point cloud into a plurality of point cloud blocks, and then decomposing each point cloud block into a plurality of surface patches; fitting a fitted surface of each surface patch, and calculating the distance from each point in any surface patch to the fitted surface to form a distance vector of the fitted surface; building the surface patch as an undirected graph, and obtaining a graph Laplace matrix of the undirected graph; establishing an optimization equation according to the distance vector of the fitted surface and the graph Laplace matrix, and solving the optimization equation to obtain an optimal distance vector; comparing the optimal distance vector with the distance vector of the fitting curved surface, if the absolute difference value is greater than a preset difference value, determining the point as a noise point, and deleting the noise point; wherein, the fitted surface is z ═ f (x, y), and the optimization equation is
Figure BDA0001574279010000031
The optimal distance vector is
Figure BDA0001574279010000032
q is the distance vector of the fitted surface, L is the graph Laplace matrix, I is the identity matrix, τ1、τ2Are parameters.
In the technical scheme, when noise points are deleted, an octree decomposition algorithm is used for decomposing each point cloud into a plurality of point cloud blocks, each point cloud block is decomposed into a plurality of patches by a Normalized Cuts (Normalized cutting) algorithm, an analytic expression of a curved surface is fitted for each patch by a polynomial surface fitting algorithm, and for each patch, the distance from each point in the patch to the fitted curved surface is calculated to form a distance vector. And building a patch into an undirected graph by using a K-NN (K Nearest Neighbor, K neighborhood) algorithm, and obtaining a graph Laplacian matrix of the undirected graph. And establishing an optimization equation according to the obtained distance vector and the graph Laplace matrix, and solving the optimization equation to obtain the optimal distance vector. And comparing the solved optimal distance vector with the calculated distance vector, and regarding the point with larger difference as a noise point so as to delete the noise point. By the method, the accuracy of distinguishing the noise points is improved, the calculation complexity is reduced, and the calculation speed is increased.
In any of the above technical solutions, preferably, the step of calculating a distance from each point in any patch to the fitted surface to form a distance vector of the fitted surface includes: acquiring the projection point of each point on any panel on the x0y plane, calculating the distance from the projection point to the point, and selecting a preset step length according to the distance from the projection point to the point; correspondingly determining a plurality of curve points on the fitting curve according to a preset step length, respectively calculating the distance from each point to each curve point, and taking the minimum distance in the distances from the points to the curve points as the distance from the points to the fitting curve; forming a distance vector of the fitting curved surface according to the distance between each point and the fitting curved surface; wherein p isi(xi,yi,zi) Is the coordinate of a point, p'i(xi,yi,z'i) Is the coordinate of the projected point, z'i=f(xi,yi),d=||zi-z'iI is the distance from the projection point to the point, d/l is a preset step length, and l belongs to Z+A plurality of curved surface points are
Figure BDA0001574279010000041
In the technical scheme, for any point on a patch, calculating a projection point of the point on an x0y plane, calculating the distance from the projection point to the point, then selecting a step length, generating a plurality of curve points on a curved surface according to the step length, and considering the distance from the point to a fitted curved surface as the minimum value of the distance from the point to the curve points. And calculating the distance from all points on the surface to the fitted surface to form a distance vector, and further realizing accurate discrimination of the noise points by using the distance vector.
In any of the above technical solutions, preferably, the step of building the patch as an undirected graph and obtaining a graph laplacian matrix of the undirected graph includes: taking each point on the surface patch as a vertex, and taking the distance vector of the fitted surface as a vertex attribute; building a patch into an undirected graph, and calculating the weight of an edge between connecting vertexes according to a first calculation formula; for any vertex, selecting a preset number of vertexes with weighted values from small to large in the weights of a plurality of edges of the vertex as neighbor points of the vertex; reserving neighbor pointsSetting the weights of the rest edges to be 0, forming a weighted adjacent matrix of the undirected graph by using the weights of all the edges as matrix elements, and calculating a degree matrix according to a second calculation formula; taking the difference value of the degree matrix and the weighted adjacent matrix as a graph Laplacian matrix of the undirected graph; wherein the first calculation formula is wi,j=exp(-β||qi-qj||2),wi,jThe weight of the edge connecting vertex i and vertex j, beta is a parameter, and the second calculation formula is
Figure BDA0001574279010000051
Di,jIs a degree matrix.
In the technical scheme, according to spectrogram theory, a surface patch is built into an undirected graph by using a k-NN algorithm, coordinates of each point can be regarded as a graph signal defined on the undirected graph, and a distance vector of a fitted surface is taken as the graph signal. Therein, graph signals refer to data residing on the vertices of a graph, such as social networks, traffic networks, sensor networks, and neuronal networks. In the process of establishing the graph, the method for judging the mutual connection of the vertexes is to determine the neighbor point of any vertex by comparing the weights between two points, specifically, k vertexes with smaller weight values are used as the neighbor points of the vertex, and the degree matrix is further calculated according to whether the k vertexes are the neighbor points to determine the element of the weighted adjacent matrix of the undirected graph. And finally, taking the difference value of the degree matrix and the weighted adjacent matrix as a graph Laplacian matrix of the undirected graph, and further realizing accurate discrimination of noise points by utilizing the graph Laplacian matrix.
According to another aspect of the present invention, a system for removing point cloud noise is provided, including: the data acquisition module is used for acquiring point cloud data; the abnormal point deleting module is used for determining abnormal points in the point cloud and deleting the abnormal points; and the noise point deleting module is used for determining the noise points in the point cloud after the abnormal points are deleted and deleting the noise points.
The invention provides a system for removing point cloud noise, which mainly comprises: outlier deletion, surface noise deletion. In the process of deleting the abnormal value, if some points are far away from the point cloud main body and are very sparse, the points are regarded as the abnormal points and are directly deleted. After the outliers are removed, some noise still floats on the image surface, and these points are called noise points, and the noise points are removed. The invention achieves the purpose of point cloud denoising after the two main steps, achieves better point cloud denoising effect and improves the processing speed of point cloud denoising.
The system for removing the point cloud noise according to the present invention may further have the following technical features:
in the foregoing technical solution, preferably, the abnormal point deleting module includes: the setting module is used for setting an initial distance; the number determining module is used for determining the number of points in a range taking any point in the point cloud as a center and taking the initial distance as a radius; and the abnormal point deleting module is specifically used for determining the point as the abnormal point and deleting the abnormal point if the number is smaller than the preset value.
In this solution, for an arbitrary noisy point cloud, if some points in the point cloud are far away from the main body of the point cloud and are very sparse, these points will be regarded as outliers, and need to be deleted. Specifically, a suitable initial distance, i.e., an initial radius, is selected, and then, for each point in the point cloud, the number of points included in a sphere with the point as a center of the sphere and the initial distance as a radius is calculated, i.e., the number of neighbor points corresponding to each point is calculated. At this time, a preset value can be selected, and the points with the number of the neighbor points smaller than the preset value are regarded as abnormal points and deleted. The abnormal points are accurately identified through the distance relation between the points, and then preliminary denoising of the points in the point cloud is carried out.
In any one of the above technical solutions, preferably, the noise point deleting module includes: the decomposition module is used for decomposing the point cloud into a plurality of point cloud blocks and then decomposing each point cloud block into a plurality of surface patches; the first calculation module is used for fitting a fitted curved surface of each surface patch, calculating the distance from each point in any surface patch to the fitted curved surface and forming a distance vector of the fitted curved surface; a matrix obtaining module for building the patch into an undirected graph and obtaining the graph of the undirected graphA matrix of Si; the first calculation module is further used for establishing an optimization equation according to the distance vector of the fitted curved surface and the graph Laplace matrix, and solving the optimization equation to obtain an optimal distance vector; the noise point deleting module is specifically used for comparing the optimal distance vector with the distance vector of the fitting curved surface, determining a point as a noise point if the absolute difference value is greater than a preset difference value, and deleting the noise point; wherein, the fitted surface is z ═ f (x, y), and the optimization equation is
Figure BDA0001574279010000061
The optimal distance vector is
Figure BDA0001574279010000062
q is the distance vector of the fitted surface, L is the graph Laplace matrix, I is the identity matrix, τ1、τ2Are parameters.
In the technical scheme, when noise points are deleted, an octree decomposition algorithm is used for decomposing each point cloud into a plurality of point cloud blocks, each point cloud block is decomposed into a plurality of patches by a Normalized Cuts algorithm, a polynomial surface fitting algorithm is used for fitting an analytic expression of a curved surface for each patch, and for each patch, the distance between each point in the patch and the fitted curved surface is calculated to form a distance vector. And building the patch into an undirected graph by using a k-NN algorithm, and obtaining a graph Laplacian matrix of the undirected graph. And establishing an optimization equation according to the obtained distance vector and the graph Laplace matrix, and solving the optimization equation to obtain the optimal distance vector. And comparing the solved optimal distance vector with the calculated distance vector, and regarding the point with larger difference as a noise point so as to delete the noise point. By the method, the accuracy of distinguishing the noise points is improved, the calculation complexity is reduced, and the calculation speed is increased.
In any one of the above technical solutions, preferably, the first calculating module is specifically configured to: acquiring the projection point of each point on any panel on the x0y plane, calculating the distance from the projection point to the point, and selecting a preset step length according to the distance from the projection point to the point; correspondingly determining a plurality of curves on the fitting curved surface according to the preset step lengthThe surface points are respectively used for calculating the distance from the point to each curved surface point, and the minimum distance in the distances from the point to the curved surface points is used as the distance from the point to the fitted curved surface; forming a distance vector of the fitting curved surface according to the distance between each point and the fitting curved surface; wherein p isi(xi,yi,zi) Is the coordinate of a point, p'i(xi,yi,z'i) Is the coordinate of the projected point, z'i=f(xi,yi),d=||zi-z'iI is the distance from the projection point to the point, d/l is a preset step length, and l belongs to Z+A plurality of curved surface points are
Figure BDA0001574279010000071
In the technical scheme, for any point on a patch, calculating a projection point of the point on an x0y plane, calculating the distance from the projection point to the point, then selecting a step length, generating a plurality of curve points on a curved surface according to the step length, and considering the distance from the point to a fitted curved surface as the minimum value of the distance from the point to the curve points. And calculating the distance from all points on the surface to the fitted surface to form a distance vector, and further realizing accurate discrimination of the noise points by using the distance vector.
In any one of the above technical solutions, preferably, the matrix obtaining module includes: the vertex determining module is used for taking each point on the surface patch as a vertex and taking the distance vector of the fitted surface as a vertex attribute; the second calculation module is used for building the patch into an undirected graph and calculating the weight of the edge between the connected vertexes according to the first calculation formula; for any vertex, selecting a preset number of vertexes with weighted values from small to large in the weights of a plurality of edges of the vertex as neighbor points of the vertex; keeping the weights of the edges corresponding to the neighbor points, setting the weights of the rest edges to be 0, forming a weighted adjacent matrix of the undirected graph by taking the weights of all the edges as matrix elements, and calculating a degree matrix according to a second calculation formula; the matrix acquisition module is specifically used for taking the difference value of the degree matrix and the weighted adjacent matrix as a graph Laplacian matrix of the undirected graph; wherein the first calculation formula is wi,j=exp(-β||qi-qj||2),wi,jThe weight of the edge connecting vertex i and vertex j, beta is a parameter, and the second calculation formula is
Figure BDA0001574279010000072
Di,jIs a degree matrix.
In the technical scheme, according to spectrogram theory, a surface patch is built into an undirected graph by using a k-NN algorithm, coordinates of each point can be regarded as a graph signal defined on the undirected graph, and a distance vector of a fitted surface is taken as the graph signal. Therein, graph signals refer to data residing on the vertices of a graph, such as social networks, traffic networks, sensor networks, and neuronal networks. In the process of establishing the graph, the method for judging the mutual connection of the vertexes is to determine the neighbor point of any vertex by comparing the weights between two points, specifically, k vertexes with smaller weight values are used as the neighbor points of the vertex, and the degree matrix is further calculated according to whether the k vertexes are the neighbor points to determine the element of the weighted adjacent matrix of the undirected graph. And finally, taking the difference value of the degree matrix and the weighted adjacent matrix as a graph Laplacian matrix of the undirected graph, and further realizing accurate discrimination of noise points by utilizing the graph Laplacian matrix.
According to a further aspect of the present invention, a computer device is provided, which comprises a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the steps of the method for removing point cloud noise according to any one of the above methods when executing the computer program.
The invention provides a computer device, wherein a processor realizes abnormal value deletion and surface noise deletion when executing a computer program. In the process of deleting the abnormal value, if some points are far away from the point cloud main body and are very sparse, the points are regarded as the abnormal points and are directly deleted. After the outliers are removed, some noise still floats on the image surface, and these points are called noise points, and the noise points are removed. The invention achieves the purpose of point cloud denoising after the two main steps, achieves better point cloud denoising effect and improves the processing speed of point cloud denoising.
According to yet another aspect of the present invention, a computer-readable storage medium is proposed, on which a computer program is stored, which computer program, when being executed by a processor, realizes the steps of the method for removing point cloud noise according to any one of the above.
The present invention provides a computer-readable storage medium, and a computer program that, when executed by a processor, implements outlier deletion and surface noise deletion. In the process of deleting the abnormal value, if some points are far away from the point cloud main body and are very sparse, the points are regarded as the abnormal points and are directly deleted. After the outliers are removed, some noise still floats on the image surface, and these points are called noise points, and the noise points are removed. The invention achieves the purpose of point cloud denoising after the two main steps, achieves better point cloud denoising effect and improves the processing speed of point cloud denoising.
Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
Drawings
The above and/or additional aspects and advantages of the present invention will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
FIG. 1 is a flow chart of a method for removing point cloud noise according to an embodiment of the present invention;
FIG. 2 is a schematic flow chart of a method for removing point cloud noise according to another embodiment of the present invention;
FIG. 3 is a flow chart of a method for removing point cloud noise according to another embodiment of the present invention;
FIG. 4a shows a schematic of an original point cloud of one embodiment of the present invention;
FIG. 4b shows a schematic diagram of the point cloud after adding noise according to one embodiment of the invention;
FIG. 4c shows a schematic diagram of the denoised point cloud according to one embodiment of the invention;
FIG. 5a shows a schematic of an original point cloud of another embodiment of the present invention;
FIG. 5b shows a schematic diagram of the point cloud after noise addition according to another embodiment of the present invention;
FIG. 5c is a schematic diagram of a denoised point cloud according to another embodiment of the invention;
FIG. 6 shows a schematic block diagram of a point cloud noise removal system of one embodiment of the present invention;
FIG. 7 shows a schematic block diagram of a point cloud noise removal system of another embodiment of the present invention;
FIG. 8 shows a schematic block diagram of a point cloud noise removal system of yet another embodiment of the present invention;
FIG. 9 shows a schematic block diagram of a computer device of one embodiment of the present invention.
Detailed Description
In order that the above objects, features and advantages of the present invention can be more clearly understood, a more particular description of the invention will be rendered by reference to the appended drawings. It should be noted that the embodiments and features of the embodiments of the present application may be combined with each other without conflict.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention, however, the present invention may be practiced in other ways than those specifically described herein, and therefore the scope of the present invention is not limited to the specific embodiments disclosed below.
First, a spectrum theory will be introduced, which will be the core of the embodiments of the present invention. The spectrum theory includes the following contents:
(1) graph and graph laplacian:
an undirected graph is defined, G ═ V, E, W. V is the set of vertexes on the graph, | V | ═ N; e is a set of edges; w is the weighted adjacency matrix. Where W is an NxN real symmetric matrix, Wi,jIs a weight of an edge connecting vertex i and vertex j, and a non-negative value is generally used as the weight.
The graph laplacian is generally defined as L ═ D-W, where D is the diagonal matrix,
Figure BDA0001574279010000091
(2) graph signal and graph signal smoothing theory:
graph signals refer to data residing at the vertices of a graph, such as social networks, traffic networks, sensor networks, and neuronal networks. For example, if a k-NN map is constructed on a point cloud, the coordinates of each point may be viewed as a map signal defined on the k-NN map.
For a signal z defined on the graph G, the topology of the signal z with respect to G is said to be smooth if the following condition is satisfied:
Figure BDA0001574279010000101
where e is a parameter and i-j represent two vertices in the graph that are connected. To satisfy the above formula, ziAnd zjIt must be similar for the more heavily weighted edges, and z for the less heavily weighted edgesiAnd zjMay be completely different. Thus, the above formula forces z to adapt to the topology of G, thereby creating the smoothness of the graph signal. Due to zTLz=∑i~jwi,j(zi-zj)2The above formula can also be written as zTLz<E. This theory will be used in the subsequent steps.
An embodiment of the first aspect of the present invention provides a method for removing point cloud noise, and fig. 1 shows a schematic flow chart of the method for removing point cloud noise according to an embodiment of the present invention. Wherein, the method comprises the following steps:
step 102, point cloud data is obtained;
step 104, determining abnormal points in the point cloud, and deleting the abnormal points;
and step 106, determining noise points in the point cloud after the abnormal points are deleted, and deleting the noise points.
The invention provides a method for removing point cloud noise, which comprises two main steps: outlier deletion, surface noise deletion. In the process of deleting the abnormal value, if some points are far away from the point cloud main body and are very sparse, the points are regarded as the abnormal points and are directly deleted. After the outliers are removed, some noise still floats on the image surface, and these points are called noise points, and the noise points are removed. The invention achieves the purpose of point cloud denoising after the two main steps, achieves better point cloud denoising effect and improves the processing speed of point cloud denoising.
Fig. 2 is a schematic flow chart illustrating a method for removing point cloud noise according to another embodiment of the present invention. Wherein, the method comprises the following steps:
step 202, point cloud data is obtained;
step 204, setting an initial distance; determining the number of points in a range with any point in the point cloud as a center and the initial distance as a radius; if the number is smaller than the preset value, determining the point as an abnormal point, and deleting the abnormal point;
and step 206, determining the noise points in the point cloud after the abnormal points are deleted, and deleting the noise points.
In this embodiment, for an arbitrary noisy point cloud, if some points in the point cloud are far from the main body of the point cloud and very sparse, these points will be considered outliers and need to be deleted. Specifically, a suitable initial distance, i.e., an initial radius, is selected, and then, for each point in the point cloud, the number of points included in a sphere with the point as a center of the sphere and the initial distance as a radius is calculated, i.e., the number of neighbor points corresponding to each point is calculated. At this time, a preset value can be selected, and the points with the number of the neighbor points smaller than the preset value are regarded as abnormal points and deleted. The abnormal points are accurately identified through the distance relation between the points, and then preliminary denoising of the points in the point cloud is carried out.
Fig. 3 is a flow chart of a point cloud noise removing method according to still another embodiment of the present invention. Wherein, the method comprises the following steps:
step 302, point cloud data is obtained.
Step 304, setting an initial distance; determining the number of points in a range with any point in the point cloud as a center and the initial distance as a radius; and if the number is smaller than the preset value, determining the point as an abnormal point, and deleting the abnormal point.
For an arbitrary noisy point cloud, if some points in the point cloud are far away from the main body of the point cloud and very sparse, these points will be considered as outliers, which need to be deleted. Specifically, a suitable initial distance, i.e., an initial radius, is selected, and then, for each point in the point cloud, the number of points included in a sphere with the point as a center of the sphere and the initial distance as a radius is calculated, i.e., the number of neighbor points corresponding to each point is calculated. At this time, a preset value can be selected, and the points with the number of the neighbor points smaller than the preset value are regarded as abnormal points and deleted. The abnormal points are accurately identified through the distance relation between the points, and then preliminary denoising of the points in the point cloud is carried out.
Step 306, decomposing the point cloud into a plurality of point cloud blocks. The point cloud is decomposed into blocks using an octree decomposition algorithm, and steps 308 to 316 are repeated to process each point cloud block in a loop.
At step 308, each cloud block is decomposed into a plurality of patches. And (3) for each point cloud block, decomposing the point cloud block into a plurality of patches by implementing a Normalized Cuts algorithm, and repeating the steps 310 to 316 to process each patch.
And 310, fitting the fitted surface of each surface patch by using a polynomial surface fitting algorithm, and calculating the distance from each point in any surface patch to the fitted surface to form a distance vector of the fitted surface. The analytical formula of the obtained fitting curved surface is as follows:
z=f(x,y)
calculating the distance from each point in any patch to the fitted surface to form a distance vector of the fitted surface, which may include: for any point p on the patchi(xi,yi,zi) Calculating the projected point p 'of the point on the x0y plane'i(xi,yi,z'i) Wherein z'i=f(xi,yi) (ii) a Calculating projected point p'iTo point piDistance d ═ z | | | zi-z'iL according to projection point p'iTo point piSelecting a preset step length d/l from the distance; correspondingly determining a plurality of curve points on the fitting curve according to the preset step length d/l:
Figure BDA0001574279010000121
calculate the point p separatelyiDistance to each curve point, point piThe minimum distance from the distance to the curved surface point is taken as the distance from the point to the fitted curved surface; the distance from each point on the surface to the surface is represented by a vector q.
Step 312, the patch is built into an undirected graph, and a graph laplacian matrix of the undirected graph is obtained.
Every point p on the surface patchiTaking the distance vector q of the fitted surface as a vertex attribute; and building the patch into an undirected graph by applying a k-NN algorithm, and calculating the weight of the edge between the connected vertexes according to a first calculation formula. Wherein the first calculation formula is:
wi,j=exp(-β||qi-qj||2)
wi,jβ is a parameter, which is a weight of an edge connecting vertex i and vertex j.
For any vertex piSelecting k vertexes with the weight values from small to large in the weights of a plurality of edges as vertexes piThe neighbor point of (2); keeping the weights of the edges corresponding to the neighbor points, and setting the weights of the rest edges to be 0, so that the weights of the edges connecting the vertexes are expressed as follows:
Figure BDA0001574279010000122
wherein p isi~pjRepresenting two vertices connected.
Forming a weighted adjacent matrix W of the undirected graph by taking the weights of all edges as matrix elements, and calculating a degree matrix D according to a second calculation formula, wherein the second calculation formula is as follows:
Figure BDA0001574279010000123
and taking the difference D-W between the degree matrix and the weighted adjacent matrix as a graph Laplacian matrix L of the undirected graph.
And step 314, establishing an optimization equation according to the distance vector of the fitted surface and the graph Laplace matrix, and solving the optimization equation to obtain an optimal distance vector. Wherein, the optimization equation is as follows:
Figure BDA0001574279010000124
the optimal distance vector is:
Figure BDA0001574279010000131
i is an identity matrix, τ1、τ2Are parameters.
And step 316, comparing the optimal distance vector with the distance vector of the fitted curved surface, determining the point as a noise point if the absolute difference value is greater than the distance threshold, and deleting the noise point. I.e. for any vertex piIf, if
Figure BDA0001574279010000132
h is the distance threshold, the vertex piIs determined as a noise point.
Fig. 4a shows a schematic diagram of an original point cloud of an embodiment of the present invention, fig. 4b shows a schematic diagram of a point cloud after adding noise of an embodiment of the present invention, wherein the signal-to-noise ratio of the added noise is 30, and fig. 4c shows a schematic diagram of a point cloud after denoising of an embodiment of the present invention. Fig. 5a shows a schematic diagram of an original point cloud of another embodiment of the present invention, fig. 5b shows a schematic diagram of a point cloud after adding noise, wherein the signal-to-noise ratio of the added noise is 10, and fig. 5c shows a schematic diagram of a point cloud after denoising of another embodiment of the present invention. As can be seen from fig. 4a to 4c and fig. 5a to 5c, the point cloud denoising effect by using the method for removing point cloud noise according to the embodiment of the present invention is ideal.
In the second aspect of the present invention, a system for removing point cloud noise is provided, and fig. 6 shows a schematic block diagram of a system 600 for removing point cloud noise according to an embodiment of the present invention. Wherein the system 600 comprises:
a data obtaining module 602, configured to obtain point cloud data; an abnormal point deleting module 604, configured to determine an abnormal point in the point cloud and delete the abnormal point; and a noise point deleting module 606, configured to determine a noise point in the point cloud after the abnormal point is deleted, and delete the noise point.
The invention provides a system 600 for removing point cloud noise, which mainly comprises: outlier deletion, surface noise deletion. In the process of deleting the abnormal value, if some points are far away from the point cloud main body and are very sparse, the points are regarded as the abnormal points and are directly deleted. After the outliers are removed, some noise still floats on the image surface, and these points are called noise points, and the noise points are removed. The invention achieves the purpose of point cloud denoising after the two main steps, achieves better point cloud denoising effect and improves the processing speed of point cloud denoising.
Fig. 7 shows a schematic block diagram of a point cloud noise removal system 700 according to another embodiment of the invention. Among other things, the system 700 includes:
a data acquisition module 702, configured to acquire point cloud data;
an abnormal point deleting module 704, configured to determine an abnormal point in the point cloud and delete the abnormal point;
an outlier deletion module 704, comprising: a setting module 742 for setting an initial distance; a number determination module 744, configured to determine the number of points in a range where any point in the point cloud is taken as a center and the initial distance is taken as a radius; an abnormal point deleting module 704, configured to determine a point as an abnormal point and delete the abnormal point if the number is smaller than a preset value;
a noise point deleting module 706, configured to determine a noise point in the point cloud after the abnormal point is deleted, and delete the noise point;
a noise point removal module 706 comprising: a decomposition module 762, configured to decompose the point cloud into a plurality of point cloud blocks, and then decompose each point cloud block into a plurality of patches; the first calculating module 764 is configured to fit a fitted surface of each patch, calculate a distance from each point in any patch to the fitted surface, and form a distance vector of the fitted surface; the matrix obtaining module 766 is configured to build the patch into an undirected graph and obtain a graph laplacian matrix of the undirected graph; the first calculating module 764 is further configured to establish an optimization equation according to the distance vector of the fitted curved surface and the graph laplacian matrix, and solve the optimization equation to obtain an optimal distance vector; the noise point deleting module 706 is specifically configured to compare the optimal distance vector with the distance vector of the fitted surface, determine a point as a noise point if the absolute difference is greater than a preset difference, and delete the noise point.
Wherein, the fitted surface is z ═ f (x, y), and the optimization equation is
Figure BDA0001574279010000141
The optimal distance vector is
Figure BDA0001574279010000142
q is the distance vector of the fitted surface, L is the graph Laplace matrix, I is the identity matrix, τ1、τ2Are parameters.
In this embodiment, for an arbitrary noisy point cloud, if some points in the point cloud are far from the main body of the point cloud and very sparse, these points will be considered outliers and need to be deleted. Specifically, a suitable initial distance, i.e., an initial radius, is selected, and then, for each point in the point cloud, the number of points included in a sphere with the point as a center of the sphere and the initial distance as a radius is calculated, i.e., the number of neighbor points corresponding to each point is calculated. At this time, a preset value can be selected, and the points with the number of the neighbor points smaller than the preset value are regarded as abnormal points and deleted. The abnormal points are accurately identified through the distance relation between the points, and then preliminary denoising of the points in the point cloud is carried out.
When noise points are deleted, firstly, an octree decomposition algorithm is used for decomposing each point cloud into a plurality of point cloud blocks, each point cloud block is decomposed into a plurality of patches by a Normalized Cuts algorithm, an analytic expression of a curved surface is fitted for each patch by a polynomial surface fitting algorithm, and for each patch, the distance between each point in the patch and the fitted curved surface is calculated to form a distance vector. And building the patch into an undirected graph by using a k-NN algorithm, and obtaining a graph Laplacian matrix of the undirected graph. And establishing an optimization equation according to the obtained distance vector and the graph Laplace matrix, and solving the optimization equation to obtain the optimal distance vector. And comparing the solved optimal distance vector with the calculated distance vector, and regarding the point with larger difference as a noise point so as to delete the noise point. By the method, the accuracy of distinguishing the noise points is improved, the calculation complexity is reduced, and the calculation speed is increased.
FIG. 8 shows a schematic block diagram of a point cloud noise removal system 800 according to yet another embodiment of the invention. Among other things, the system 800 includes:
a data obtaining module 802, configured to obtain point cloud data.
And an abnormal point deleting module 804, configured to determine an abnormal point in the point cloud, and delete the abnormal point.
An outlier deletion module 804, comprising: a setting module 842 for setting an initial distance; a number determining module 844 configured to determine the number of points within a range centered at any point in the point cloud and having an initial distance as a radius; the outlier deleting module 804 is specifically configured to determine a point as an outlier if the number is smaller than the preset value, and delete the outlier.
And a noise point deleting module 806, configured to determine a noise point in the point cloud after the abnormal point is deleted, and delete the noise point.
A noise point removal module 806 comprising: a decomposition module 862 for decomposing the point cloud into a plurality of point cloud blocks, and then decomposing each point cloud block into a plurality of patches.
The first calculating module 864 is configured to fit a fitted surface of each patch, and calculate a distance between each point of any patch and the fitted surface to form a distance vector of the fitted surface.
Specifically, the method comprises the steps of obtaining projection points of each point on any panel on an x0y plane, calculating the distance between the projection points and the points, and selecting a preset step length according to the distance between the projection points and the points; correspondingly determining a plurality of curve points on the fitting curve according to a preset step length, respectively calculating the distance from each point to each curve point, and taking the minimum distance in the distances from the points to the curve points as the distance from the points to the fitting curve; forming a distance vector of the fitting curved surface according to the distance between each point and the fitting curved surface; wherein p isi(xi,yi,zi) Is the coordinate of a point, p'i(xi,yi,z'i) Is the coordinate of the projected point, z'i=f(xi,yi),d=||zi-z'iI is the distance from the projection point to the point, d/l is a preset step length, and l belongs to Z+A plurality of curved surface points are
Figure BDA0001574279010000151
The matrix obtaining module 866 is configured to build the patch as an undirected graph and obtain a graph laplacian matrix of the undirected graph.
The matrix obtaining module 866 includes: a vertex determining module 820, configured to use each point on the patch as a vertex, and use the distance vector of the fitted surface as a vertex attribute; a second calculating module 822, configured to build a patch as an undirected graph, and calculate a weight of an edge between connected vertices according to a first calculation formula; for any vertex, selecting a preset number of vertexes with weighted values from small to large in the weights of a plurality of edges of the vertex as neighbor points of the vertex; keeping the weights of the edges corresponding to the neighbor points, setting the weights of the rest edges to be 0, forming a weighted adjacent matrix of the undirected graph by taking the weights of all the edges as matrix elements, and calculating a degree matrix according to a second calculation formula; a matrix obtaining module 866, configured to specifically use a difference value between the degree matrix and the weighted adjacent matrix as a graph laplacian matrix of the undirected graph; wherein the first calculation formula is wi,j=exp(-β||qi-qj||2),wi,jThe weight of the edge connecting vertex i and vertex j, beta is a parameter, and the second calculation formula is
Figure BDA0001574279010000161
Di,jIs a degree matrix.
The first calculating module 864 is further configured to establish an optimization equation according to the distance vector of the fitted curved surface and the graph laplacian matrix, and solve the optimization equation to obtain an optimal distance vector.
The noise point deleting module 806 is specifically configured to compare the optimal distance vector with the distance vector of the fitted surface, determine a point as a noise point if the absolute difference is greater than a preset difference, and delete the noise point.
Wherein, the fitted surface is z ═ f (x, y), and the optimization equation is
Figure BDA0001574279010000162
The optimal distance vector is
Figure BDA0001574279010000163
q is the distance vector of the fitted surface, L is the graph Laplace matrix, I is the identity matrix, τ1、τ2Are parameters.
In this embodiment, for any point on the patch, the projection point of the point on the x0y plane is calculated, the distance from the projection point to the point is calculated, then a step size is selected, a plurality of curve points are generated on the surface according to the step size, and the distance from the point to the fitting surface can be regarded as the minimum value of the distance from the point to the curve points. And calculating the distance from all points on the surface to the fitted surface to form a distance vector, and further realizing accurate discrimination of the noise points by using the distance vector.
According to spectrogram theory, a surface patch is built into an undirected graph by using a k-NN algorithm, and the coordinates of each point can be regarded as a graph signal defined on the undirected graph, wherein a distance vector of a fitted surface is used as the graph signal. Therein, graph signals refer to data residing on the vertices of a graph, such as social networks, traffic networks, sensor networks, and neuronal networks. In the process of establishing the graph, the method for judging the mutual connection of the vertexes is to determine the neighbor point of any vertex by comparing the weights between two points, specifically, k vertexes with smaller weight values are used as the neighbor points of the vertex, and the degree matrix is further calculated according to whether the k vertexes are the neighbor points to determine the element of the weighted adjacent matrix of the undirected graph. And finally, taking the difference value of the degree matrix and the weighted adjacent matrix as a graph Laplacian matrix of the undirected graph, and further realizing accurate discrimination of noise points by utilizing the graph Laplacian matrix.
In a third aspect of the present invention, a computer device is provided, and fig. 9 shows a schematic block diagram of a computer device 900 according to an embodiment of the present invention. Wherein the computer device 900 comprises:
a memory 902, a processor 904, and a computer program stored on the memory 902 and executable on the processor 904, the processor 904 when executing the computer program implementing the steps of the method for removing point cloud noise as any one of the above.
The present invention provides a computer device 900 that implements outlier deletion and surface noise deletion when the processor 904 executes a computer program. In the process of deleting the abnormal value, if some points are far away from the point cloud main body and are very sparse, the points are regarded as the abnormal points and are directly deleted. After the outliers are removed, some noise still floats on the image surface, and these points are called noise points, and the noise points are removed. The invention achieves the purpose of point cloud denoising after the two main steps, achieves better point cloud denoising effect and improves the processing speed of point cloud denoising.
An embodiment of the fourth aspect of the present invention proposes a computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, implements the steps of the method for removing point cloud noise according to any one of the above.
The present invention provides a computer-readable storage medium, and a computer program that, when executed by a processor, implements outlier deletion and surface noise deletion. In the process of deleting the abnormal value, if some points are far away from the point cloud main body and are very sparse, the points are regarded as the abnormal points and are directly deleted. After the outliers are removed, some noise still floats on the image surface, and these points are called noise points, and the noise points are removed. The invention achieves the purpose of point cloud denoising after the two main steps, achieves better point cloud denoising effect and improves the processing speed of point cloud denoising.
In the description herein, the description of the terms "one embodiment," "some embodiments," "specific embodiments," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A method for removing point cloud noise, the method comprising:
acquiring point cloud data;
determining abnormal points in the point cloud, and deleting the abnormal points;
determining noise points in the point cloud after the abnormal points are deleted, and deleting the noise points;
the step of determining the noise point in the point cloud after the abnormal point is deleted and deleting the noise point specifically includes:
decomposing the point cloud into a plurality of point cloud blocks, and then decomposing each point cloud block into a plurality of surface patches;
fitting a fitted curved surface of each surface patch, and calculating the distance from each point in any surface patch to the fitted curved surface to form a distance vector of the fitted curved surface;
building the surface patch as an undirected graph, and obtaining a graph Laplace matrix of the undirected graph;
establishing an optimization equation according to the distance vector of the fitted curved surface and the graph Laplace matrix, and solving the optimization equation to obtain an optimal distance vector;
comparing the optimal distance vector with the distance vector of the fitting curved surface, if the absolute difference value is greater than a preset difference value, determining the point as the noise point, and deleting the noise point;
wherein the fitted surface is z ═ f (x, y), and the optimization equation is
Figure FDA0002761801440000011
The optimal distance vector is
Figure FDA0002761801440000012
q is the distance vector of the fitted surface, L is the graph Laplace matrix, I is the identity matrix, τ1、τ2Are parameters.
2. The method for removing point cloud noise according to claim 1, wherein the step of determining the abnormal point in the point cloud and deleting the abnormal point specifically comprises:
setting an initial distance;
determining the number of points in a range with any point in the point cloud as a center and the initial distance as a radius;
and if the number is smaller than a preset value, determining the point as the abnormal point, and deleting the abnormal point.
3. The method for removing point cloud noise according to claim 1, wherein the step of calculating a distance between each point in any of the patches and the fitted surface to form a distance vector of the fitted surface includes:
acquiring a projection point of each point on an x0y plane on any patch, calculating the distance between the projection point and the point, and selecting a preset step length according to the distance between the projection point and the point;
correspondingly determining a plurality of curve points on the fitted curve according to the preset step length, respectively calculating the distance from the point to each curve point, and taking the minimum distance in the distances from the point to the curve points as the distance from the point to the fitted curve;
forming a distance vector of the fitted surface from the distance of each point to the fitted surface;
wherein p isi(xi,yi,zi) Is the coordinate of said point, p'i(xi,yi,z'i) Is the coordinate of the projected point, z'i=f(xi,yi),d=‖zi-z'iII is the distance from said projected point to said point, d/l is said predetermined step size, [ epsilon ] Z+A plurality of said curved surface points are
Figure FDA0002761801440000021
4. The method for removing point cloud noise according to claim 3, wherein the step of building the patch into an undirected graph and obtaining a graph Laplacian matrix of the undirected graph specifically includes:
taking each point on the patch as a vertex, and taking the distance vector of the fitted surface as a vertex attribute;
building the surface patch into an undirected graph, and calculating the weight of an edge connecting the vertexes according to a first calculation formula;
for any vertex, selecting a preset number of vertexes with weight values from small to large in the weights of the edges of the vertex as neighbor points of the vertex;
reserving the weights of the edges corresponding to the neighbor points, setting the weights of the rest edges to be 0, forming a weighted adjacent matrix of the undirected graph by using the weights of all the edges as matrix elements, and calculating a degree matrix according to a second calculation formula;
taking the difference value of the degree matrix and the weighted adjacent matrix as a graph Laplace matrix of the undirected graph;
wherein the first calculation formula is wi,j=exp(-β‖qi-qj2),wi,jIs the weight of the edge connecting the vertex i and the vertex j, beta is a parameter, and the second calculation formula is
Figure FDA0002761801440000022
Di,jIs the degree matrix.
5. A system for removing noise from a point cloud, the system comprising:
the data acquisition module is used for acquiring point cloud data;
the abnormal point deleting module is used for determining abnormal points in the point cloud and deleting the abnormal points;
the noise point deleting module is used for determining the noise points in the point cloud after the abnormal points are deleted and deleting the noise points;
the noise point deleting module comprises:
the decomposition module is used for decomposing the point cloud into a plurality of point cloud blocks and then decomposing each point cloud block into a plurality of surface patches;
the first calculation module is used for fitting a fitted curved surface of each surface patch, calculating the distance from each point in any surface patch to the fitted curved surface and forming a distance vector of the fitted curved surface;
the matrix acquisition module is used for building the surface patch into an undirected graph and obtaining a graph Laplacian matrix of the undirected graph;
the first calculation module is further configured to establish an optimization equation according to the distance vector of the fitted surface and the graph laplacian matrix, and solve the optimization equation to obtain an optimal distance vector;
the noise point deleting module is specifically configured to compare the optimal distance vector with the distance vector of the fitted surface, determine the point as the noise point if an absolute difference value is greater than a preset difference value, and delete the noise point;
wherein the fitted surface is z ═ f (x, y), and the optimization equation is
Figure FDA0002761801440000031
The optimal distance vector is
Figure FDA0002761801440000032
q is the distance vector of the fitted surface, L is the graph Laplace matrix, I is the identity matrix, τ1、τ2Are parameters.
6. The system for removing point cloud noise according to claim 5, wherein the outlier deleting module comprises:
the setting module is used for setting an initial distance;
the number determining module is used for determining the number of points which are within a range with any point in the point cloud as a center and the initial distance as a radius;
the abnormal point deleting module is specifically configured to determine the point as the abnormal point and delete the abnormal point if the number is smaller than a preset value.
7. The system for removing point cloud noise according to claim 5, wherein the first computing module is specifically configured to:
acquiring a projection point of each point on an x0y plane on any patch, calculating the distance between the projection point and the point, and selecting a preset step length according to the distance between the projection point and the point;
correspondingly determining a plurality of curve points on the fitted curve according to the preset step length, respectively calculating the distance from the point to each curve point, and taking the minimum distance in the distances from the point to the curve points as the distance from the point to the fitted curve;
forming a distance vector of the fitted surface from the distance of each point to the fitted surface;
wherein p isi(xi,yi,zi) Is the coordinate of said point, p'i(xi,yi,z'i) Is the coordinate of the projected point, z'i=f(xi,yi),d=‖zi-z'iII is the distance from said projected point to said point, d/l is said predetermined step size, [ epsilon ] Z+A plurality of said curved surface points are
Figure FDA0002761801440000041
8. The system for removing point cloud noise according to claim 7, wherein the matrix obtaining module comprises:
the vertex determining module is used for taking each point on the patch as a vertex and taking the distance vector of the fitted surface as a vertex attribute;
the second calculation module is used for building the patch into an undirected graph and calculating the weight of an edge connecting the vertexes according to a first calculation formula; for any vertex, selecting a preset number of vertexes with weight values from small to large in the weights of the edges of the vertex as neighbor points of the vertex; reserving the weights of the edges corresponding to the neighbor points, setting the weights of the rest edges to be 0, forming a weighted adjacent matrix of the undirected graph by using the weights of all the edges as matrix elements, and calculating a degree matrix according to a second calculation formula;
the matrix obtaining module is specifically configured to use a difference value between the degree matrix and the weighted adjacent matrix as a graph laplacian matrix of the undirected graph;
wherein the first calculation formula is wi,j=exp(-β‖qi-qj2),wi,jIs the weight of the edge connecting the vertex i and the vertex j, beta is a parameter, and the second calculation formula is
Figure FDA0002761801440000042
Di,jIs the degree matrix.
9. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method of point cloud noise removal according to any one of claims 1 to 4 when executing the computer program.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of removing point cloud noise according to any one of claims 1 to 4.
CN201810128719.1A 2018-02-08 2018-02-08 Point cloud noise removing method, denoising system, computer device and storage medium Expired - Fee Related CN110136072B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810128719.1A CN110136072B (en) 2018-02-08 2018-02-08 Point cloud noise removing method, denoising system, computer device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810128719.1A CN110136072B (en) 2018-02-08 2018-02-08 Point cloud noise removing method, denoising system, computer device and storage medium

Publications (2)

Publication Number Publication Date
CN110136072A CN110136072A (en) 2019-08-16
CN110136072B true CN110136072B (en) 2021-02-09

Family

ID=67567648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810128719.1A Expired - Fee Related CN110136072B (en) 2018-02-08 2018-02-08 Point cloud noise removing method, denoising system, computer device and storage medium

Country Status (1)

Country Link
CN (1) CN110136072B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115643809A (en) * 2019-09-26 2023-01-24 深圳市大疆创新科技有限公司 Signal processing method of point cloud detection system and point cloud detection system
CN111275633B (en) * 2020-01-13 2023-06-13 五邑大学 Point cloud denoising method, system, device and storage medium based on image segmentation
CN111275810B (en) * 2020-01-17 2022-06-24 五邑大学 K nearest neighbor point cloud filtering method and device based on image processing and storage medium
CN111310108A (en) * 2020-02-06 2020-06-19 西安交通大学 Linear fitting method and system and storage medium
US11609333B2 (en) 2020-03-26 2023-03-21 Baidu Usa Llc Point cloud feature-based obstacle filter system
CN111679297A (en) * 2020-05-08 2020-09-18 四川超影科技有限公司 Noise point drift removal method for GPS positioning track
CN112213735A (en) * 2020-08-25 2021-01-12 上海主线科技有限公司 Laser point cloud noise reduction method for rainy and snowy weather
CN112669230B (en) * 2020-12-23 2022-07-08 天津博迈科海洋工程有限公司 Point cloud data denoising method based on convolutional neural network
CN112733813B (en) * 2021-03-30 2021-07-30 北京三快在线科技有限公司 Data noise reduction method and device
CN113240537A (en) * 2021-05-28 2021-08-10 北京无线电测量研究所 Method and system for acquiring social network diagram and electronic equipment
CN114612598A (en) * 2022-02-16 2022-06-10 苏州一径科技有限公司 Point cloud processing method and device and laser radar
CN115015875A (en) * 2022-08-08 2022-09-06 探维科技(北京)有限公司 Point cloud data processing method and device and electronic equipment
CN117455270A (en) * 2023-12-22 2024-01-26 成都理工大学 Fire emergency treatment method, system, electronic equipment and medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609912A (en) * 2012-01-16 2012-07-25 黑龙江科技学院 Method for searching contour noise points of three-dimensional point cloud data
CN104463871A (en) * 2014-12-10 2015-03-25 武汉大学 Streetscape facet extraction and optimization method based on vehicle-mounted LiDAR point cloud data
CN104715509A (en) * 2015-03-23 2015-06-17 江苏大学 Grid rebuilding method based on scattered-point cloud feature
CN106599129A (en) * 2016-12-02 2017-04-26 山东科技大学 Multi-beam point cloud data denoising method considering terrain characteristics
CN106918813A (en) * 2017-03-08 2017-07-04 浙江大学 A kind of three-dimensional sonar point cloud chart image intensifying method based on distance statistics
CN107369161A (en) * 2017-07-19 2017-11-21 无锡信捷电气股份有限公司 A kind of workpiece point cloud segmentation method at random based on the European cluster of improvement
CN107392875A (en) * 2017-08-01 2017-11-24 长安大学 A kind of cloud data denoising method based on the division of k neighbours domain

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609912A (en) * 2012-01-16 2012-07-25 黑龙江科技学院 Method for searching contour noise points of three-dimensional point cloud data
CN104463871A (en) * 2014-12-10 2015-03-25 武汉大学 Streetscape facet extraction and optimization method based on vehicle-mounted LiDAR point cloud data
CN104715509A (en) * 2015-03-23 2015-06-17 江苏大学 Grid rebuilding method based on scattered-point cloud feature
CN106599129A (en) * 2016-12-02 2017-04-26 山东科技大学 Multi-beam point cloud data denoising method considering terrain characteristics
CN106918813A (en) * 2017-03-08 2017-07-04 浙江大学 A kind of three-dimensional sonar point cloud chart image intensifying method based on distance statistics
CN107369161A (en) * 2017-07-19 2017-11-21 无锡信捷电气股份有限公司 A kind of workpiece point cloud segmentation method at random based on the European cluster of improvement
CN107392875A (en) * 2017-08-01 2017-11-24 长安大学 A kind of cloud data denoising method based on the division of k neighbours domain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Point Cloud Noise and Outlier Removal for Image-Based 3D Reconstruction;Katja Wolff et al;《2016 Fourth International Conference on 3D Vision》;20161231;全文 *
保持特征的散乱点云数据去噪;崔鑫 等;《光学精密工程》;20171231;第25卷(第12期);全文 *

Also Published As

Publication number Publication date
CN110136072A (en) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110136072B (en) Point cloud noise removing method, denoising system, computer device and storage medium
CN107123164B (en) Three-dimensional reconstruction method and system for keeping sharp features
Vieira et al. Surface mesh segmentation and smooth surface extraction through region growing
US8711143B2 (en) System and method for interactive image-based modeling of curved surfaces using single-view and multi-view feature curves
CN108986048B (en) Three-dimensional point cloud rapid composite filtering processing method based on line laser scanning
CN109740227B (en) Miniature complex part modeling method based on feature recognition
Fan et al. Robust feature-preserving mesh denoising based on consistent subneighborhoods
KR100810294B1 (en) Method for simplification feature-preserving of 3d mesh data
CN106548520A (en) A kind of method and system of cloud data denoising
Leal et al. A linear programming approach for 3D point cloud simplification
WO2019010916A1 (en) Workpiece three-dimensional point cloud data smoothing method
CN111581776B (en) Iso-geometric analysis method based on geometric reconstruction model
TW201616449A (en) System and method for simplifying grids of point clouds
CN111612888B (en) Automatic generation method, system and storage medium for cultural relic building graph
WO2023024482A1 (en) Interior structured reconstruction method and apparatus, and computer-readable storage medium
CN106960470B (en) Three-dimensional point cloud curved surface reconstruction method and device
CN114332291A (en) Oblique photography model building outer contour rule extraction method
Gao et al. Graph-based point cloud denoising
CN115222879B (en) Model face reduction processing method and device, electronic equipment and storage medium
Nieser et al. Patch layout from feature graphs
CN111915724A (en) Point cloud model slice shape calculation method
US8698800B2 (en) Method and apparatus for non-shrinking mesh smoothing using local fitting
Vančo et al. Surface reconstruction from unorganized point data with quadrics
CN111932566B (en) Model contour diagram generation method, device and system
JP2006277713A (en) Device, program and method for feature ridge line extraction device for three-dimensional mesh model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230411

Address after: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee after: Peking University

Address before: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee before: Peking University

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210209