Railway scene three-dimensional laser point cloud data denoising method and device

By processing 3D laser point cloud data of railway scenes using mesh projection and CUDA fast point cloud clustering algorithm, the problem of low denoising efficiency in existing technologies is solved, and efficient real-time denoising in railway scenes is achieved.

CN115423701BActive Publication Date: 2026-02-10BEIJING IMAP TECH +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211005684.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-22
Publication Date
2026-02-10
Estimated Expiration
2042-08-22

AI Technical Summary

Technical Problem

Existing technologies have low noise reduction efficiency when processing large-scale, massive point cloud data in railway scenarios, which cannot meet the application requirements for real-time and high efficiency.

Method used

The algorithm employs a grid projection algorithm and a CUDA-based fast point cloud clustering algorithm. By projecting point cloud data segments onto a two-dimensional plane and performing gridding, it combines hierarchical clustering algorithm to identify and remove noise points, and leverages the parallel computing capabilities of GPUs to accelerate the computation process.

Benefits of technology

It significantly improves the denoising efficiency of point cloud data, meets the real-time denoising requirements in real railway scenarios, and improves the denoising effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115423701B_ABST
    Figure CN115423701B_ABST
Patent Text Reader

Abstract

The application discloses a railway scene three-dimensional laser point cloud data denoising method and device, and relates to the field of railway mobile measurement technology, and the method comprises the steps of: acquiring point cloud data along a railway through a laser point cloud acquisition device, and dividing the point cloud data into multiple point cloud data segments; acquiring multiple coordinate values obtained by projecting each point cloud data segment onto a two-dimensional plane; dividing the two-dimensional plane into multiple grids, and determining multiple grid index points corresponding to the multiple coordinate values; taking each grid index point vector as a clustering center, respectively clustering the multiple grid index points, and determining multiple initial categories of the grid index points; according to a hierarchical clustering algorithm, merging each two initial categories in the multiple initial categories of the grid index points, obtaining multiple final categories of the grid index points and the number of grid index points contained in each final category; determining noise points in the multiple grid index points, determining and removing noise data corresponding to the noise points in the point cloud data segment, and quickly and efficiently denoising.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of railway mobile measurement technology, and in particular to a method and apparatus for denoising three-dimensional laser point cloud data of railway scenes. Background Technology

[0002] This section is intended to provide background or context for the embodiments of the invention set forth in the claims. The description herein is not an admission that it is prior art simply because it is included in this section.

[0003] With the rapid development of railways, the intelligent and digital construction of railways is urgently needed, and laser scanning technology plays a crucial role in the field of railway operation environment safety monitoring. However, point cloud data collected by high-precision lidar is affected by equipment and on-site environmental factors, resulting in a large amount of noise. This noise significantly impacts downstream analysis tasks of point cloud data, such as point cloud analysis and point cloud reconstruction. Therefore, it is urgent to research efficient point cloud denoising algorithms to remove noise interference in order to provide high-quality point cloud data for subsequent downstream tasks such as point cloud recognition.

[0004] Traditional methods for point cloud denoising mainly include point cloud filtering and kernel density estimation. Some works have also proposed utilizing other feature differences in point cloud data, such as curvature and color, for denoising. In recent years, with the development of deep learning, researchers have used deep learning methods for point cloud denoising, or combined point cloud classification and reconstruction for denoising. Although these works have achieved good performance in point cloud denoising tasks, they still suffer from low denoising efficiency, especially when processing large-scale, massive point cloud data in railway scenarios, resulting in long processing times and poor denoising effects, failing to meet the real-time and efficient application requirements of railway scenarios. Summary of the Invention

[0005] This invention provides a method for denoising 3D laser point cloud data in railway scenarios, which can quickly identify noise data in point cloud data, significantly improve the denoising efficiency of point cloud data, improve the denoising effect of point cloud data, and meet the real-time denoising requirements in real railway scenarios. The method includes:

[0006] Point cloud data along the railway line is acquired by laser point cloud acquisition equipment. The point cloud data is divided into multiple point cloud data segments according to the preset mileage. The laser point cloud acquisition equipment is installed in front of the railway inspection vehicle. The point cloud data is three-dimensional spatial data.

[0007] For each point cloud data segment, the point cloud data segment is projected onto a two-dimensional plane to obtain multiple coordinate values ​​after the point cloud data segment is projected onto the two-dimensional plane. The two-dimensional plane is composed of two other directional dimensions in three-dimensional space besides the direction of the railway inspection vehicle's operation. According to the preset grid width, the two-dimensional plane is divided into multiple grids, and multiple grid index points corresponding to multiple coordinate values ​​are determined.

[0008] Construct multiple grid index point vectors corresponding to multiple grid index points, and use each grid index point vector as a cluster center to calculate the Euclidean distance between each cluster center and the multiple grid index point vectors; based on whether the Euclidean distance between each cluster center and the multiple grid index point vectors is less than a preset threshold, cluster the multiple grid index points to determine multiple initial categories of grid index points and one or more grid index points contained in each initial category;

[0009] According to the hierarchical clustering algorithm, for each pair of initial categories among multiple initial categories of grid index points, the Euclidean distance between the point vectors constructed by any two grid index points between the two initial categories is calculated. When there are grid index points between two initial categories whose Euclidean distance between point vectors is less than a preset threshold, the two initial categories are merged. This step is repeated until the number of categories of grid index points no longer changes, resulting in multiple final categories of grid index points and one or more grid index points contained in each final category.

[0010] Based on the multiple final categories of grid index points and the one or more grid index points contained in each final category, noise points among the multiple grid index points are determined. Based on the mapping relationship between the point cloud data segment and the multiple grid index points, the noise data corresponding to the noise points in the point cloud data segment is determined, and the noise data corresponding to the noise points is removed.

[0011] This invention also provides a 3D laser point cloud data denoising device for railway scenarios, used to quickly determine noise data in point cloud data, significantly improve the denoising efficiency of point cloud data, improve the denoising effect of point cloud data, and meet the real-time denoising requirements in real railway scenarios. The device includes:

[0012] The point cloud data acquisition and segmentation module is used to acquire point cloud data along the railway line through a laser point cloud acquisition device. The point cloud data is divided into multiple point cloud data segments according to a preset mileage. The laser point cloud acquisition device is installed in front of the railway inspection vehicle. The point cloud data is three-dimensional spatial data.

[0013] The point cloud data segment projection and grid index point determination module is used to project each point cloud data segment onto a two-dimensional plane, obtain multiple coordinate values ​​after the point cloud data segment is projected onto the two-dimensional plane, and the two-dimensional plane is composed of two other dimensions in three-dimensional space besides the direction of railway inspection vehicle operation; according to the preset grid width, the two-dimensional plane is divided into multiple grids, and multiple grid index points corresponding to multiple coordinate values ​​are determined.

[0014] The initial category determination module is used to construct multiple grid index point vectors corresponding to multiple grid index points. Each grid index point vector is used as a cluster center, and the Euclidean distance between each cluster center and multiple grid index point vectors is calculated. Based on whether the Euclidean distance between each cluster center and multiple grid index point vectors is less than a preset threshold, the multiple grid index points are clustered to determine multiple initial categories of grid index points and one or more grid index points contained in each initial category.

[0015] The final category determination module is used to calculate the Euclidean distance between the point vectors constructed by any two grid index points in each of the multiple initial categories of grid index points according to the hierarchical clustering algorithm. When there are grid index points in two initial categories whose point vectors have an Euclidean distance of less than a preset threshold, the two initial categories are merged. This step is repeated until the number of categories of grid index points no longer changes, resulting in multiple final categories of grid index points and one or more grid index points contained in each final category.

[0016] The noise point identification and noise data removal module is used to identify noise points among multiple grid index points based on multiple final categories of grid index points and one or more grid index points contained in each final category, determine the noise data corresponding to the noise points in the point cloud data segment based on the mapping relationship between the point cloud data segment and the multiple grid index points, and remove the noise data corresponding to the noise points.

[0017] This invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the above-mentioned method for denoising three-dimensional laser point cloud data of a railway scene.

[0018] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method for denoising three-dimensional laser point cloud data of a railway scene.

[0019] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-mentioned method for denoising three-dimensional laser point cloud data of a railway scene.

[0020] In this embodiment of the invention, multiple grid index points are obtained by performing grid projection processing on point cloud data segments, and the multiple grid index points are clustered. This can quickly identify noisy data in point cloud data, significantly improve the denoising efficiency of point cloud data, improve the denoising effect of point cloud data, and meet the real-time denoising requirements in real railway scenarios. Attached Figure Description

[0021] To more clearly illustrate the technical solutions in the embodiments of the present invention 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 some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:

[0022] Figure 1 This is a flowchart illustrating the denoising method for three-dimensional laser point cloud data in a railway scene according to an embodiment of the present invention.

[0023] Figures 2(a) and 2(b) are the effect diagrams of grid projection on a point cloud data segment in an embodiment of the present invention;

[0024] Figure 3 This is a flowchart of a method for determining noise points in a grid index point according to an embodiment of the present invention;

[0025] Figure 4(a) is a noise diagram of a tunnel scene in an embodiment of the present invention;

[0026] Figure 4(b) is a schematic diagram of the tunnel scene after noise reduction processing in an embodiment of the present invention;

[0027] Figure 5(a) is a noise diagram of an open scene in an embodiment of the present invention;

[0028] Figure 5(b) is a schematic diagram of the denoising process applied to an open scene in an embodiment of the present invention.

[0029] Figure 6 This is a schematic diagram of the structure of the 3D laser point cloud data denoising device for a railway scene in an embodiment of the present invention;

[0030] Figure 7 This is a schematic diagram of a specific example of a 3D laser point cloud data denoising device for a railway scene according to an embodiment of the present invention;

[0031] Figure 8 This is a schematic diagram of a computer device structure according to an embodiment of the present invention. Detailed Implementation

[0032] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings. Here, the illustrative embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.

[0033] First, the technical terms used in the embodiments of this invention will be explained:

[0034] Laser scanning measurement technology is widely used in 3D spatial measurement. It can directly provide geometric information of objects and has the advantages of being fast, real-time, accurate, and efficient. It also boasts a wide imaging range and long distance, is not easily affected by lighting conditions, and maintains good robustness in complex environments. With the rapid development of autonomous driving technology, using laser scanning technology to generate 3D spatial point clouds to complete visual tasks such as target detection, recognition, and scene semantic segmentation has become a research hotspot in academia and industry, and has been widely applied in fields such as geographic surveying, mobile surveying, and autonomous driving.

[0035] CUDA (Compute Unified Device Architecture): CUDA is a parallel computing platform and programming model invented by NVIDIA. It significantly improves computing performance by leveraging the processing power of graphics processing units (GPUs). It is a complete GPU solution, providing a direct hardware access interface, unlike traditional methods that rely on graphics APIs to access the GPU. Architecturally, it employs a completely new computing architecture to utilize the hardware resources provided by the GPU, thus offering a more powerful computing capability than the CPU for large-scale data computing applications. CUDA uses C as its programming language, providing extensive high-performance computing instruction development capabilities, enabling developers to build more efficient, data-intensive computing solutions based on the powerful computing capabilities of the GPU.

[0036] The inventors discovered that current point cloud denoising methods for railway scenarios often employ relatively simple design approaches, such as point cloud filtering, density estimation, and curvature discrimination, which are not well-suited for railway scenarios to achieve good denoising results. Furthermore, these methods have high time complexity and are often inefficient when processing large volumes of high-density point cloud data, failing to meet the real-time detection requirements of practical applications. Therefore, this invention combines the Gridded Projection (GP) algorithm and the CUDA-based Fast Point Cloud Clustering Algorithm (FPC) to provide a denoising method for 3D laser point cloud data in railway scenarios. This method can quickly identify noisy data in point cloud data, significantly improve the denoising efficiency and effect, and meet the real-time denoising requirements of real railway scenarios.

[0037] This invention addresses the rapid denoising of 3D laser point cloud data in railway scenarios, achieving fast and efficient denoising primarily through the following two aspects:

[0038] Firstly, in this invention, the point cloud data is acquired by a laser point cloud acquisition device installed in front of the railway inspection vehicle, which scans along the railway line. Therefore, the point cloud data has the characteristic of extending along the direction of train operation. Based on this characteristic, the point cloud data can be split into data segments and then projected. This can convert the three-dimensional data into two-dimensional data for dimensionality reduction, and then perform meshing, which is equivalent to downsampling the two-dimensional data, further achieving the effect of reducing the amount of data and reducing the amount of computation.

[0039] Secondly, this invention utilizes the characteristics of GPUs, which excel at parallel computing and can efficiently process matrix operations. Before performing the clustering algorithm, the input data is organized into matrix data, and the algorithm is specially designed in the clustering operation to make matrix operations be used as much as possible during the algorithm calculation process. The GPU's ability to perform efficient matrix operations can accelerate the calculation speed. Although this method may involve some redundant calculations, the actual operation results show that it can still significantly improve the calculation efficiency.

[0040] Figure 1 This is a flowchart illustrating the denoising method for 3D laser point cloud data in a railway scene according to an embodiment of the present invention. Figure 1 As shown, the method for denoising 3D laser point cloud data of a railway scene in this embodiment of the invention may include:

[0041] Step 101: Acquire point cloud data along the railway line using a laser point cloud acquisition device. Divide the point cloud data into multiple point cloud data segments according to the preset mileage. The laser point cloud acquisition device is installed in front of the railway inspection vehicle. The point cloud data is three-dimensional spatial data.

[0042] Step 102: For each point cloud data segment, project the point cloud data segment onto a two-dimensional plane and obtain multiple coordinate values ​​after the point cloud data segment is projected onto the two-dimensional plane. The two-dimensional plane is composed of two other directional dimensions in three-dimensional space besides the direction of the railway inspection vehicle's operation. According to the preset grid width, divide the two-dimensional plane into multiple grids and determine multiple grid index points corresponding to multiple coordinate values.

[0043] Step 103: Construct multiple grid index point vectors corresponding to multiple grid index points, and use each grid index point vector as a cluster center to calculate the Euclidean distance between each cluster center and multiple grid index point vectors; based on whether the Euclidean distance between each cluster center and multiple grid index point vectors is less than a preset threshold, cluster the multiple grid index points to determine multiple initial categories of grid index points and one or more grid index points contained in each initial category;

[0044] Step 104: According to the hierarchical clustering algorithm, for every two initial categories among the multiple initial categories of grid index points, calculate the Euclidean distance between the point vectors constructed by any two grid index points between the two initial categories. When there are grid index points between two initial categories whose Euclidean distance between point vectors is less than a preset threshold, merge the two initial categories. Repeat this step until the number of categories of grid index points no longer changes, and obtain multiple final categories of grid index points and one or more grid index points contained in each final category.

[0045] Step 105: Based on the multiple final categories of grid index points and the one or more grid index points contained in each final category, determine the noise points among the multiple grid index points. Based on the mapping relationship between the point cloud data segment and the multiple grid index points, determine the noise data corresponding to the noise points in the point cloud data segment, and remove the noise data corresponding to the noise points.

[0046] Since this invention focuses on denoising point cloud data in railway scenarios, and this type of point cloud data typically extends along the train's direction of travel, in step 101, after acquiring point cloud data along the railway line using a laser point cloud acquisition device, the point cloud data can be divided into multiple point cloud data segments based on mileage. Then, in step 102, each point cloud data segment can be subjected to gridded projection to achieve dimensionality reduction and downsampling of the point cloud data.

[0047] In step 102, since the point cloud data is three-dimensional spatial data, it can be assumed that a point cloud data segment consists of n three-dimensional points (x, y, z), where x is the data in the direction of the railway inspection vehicle's operation, y is the data in another dimension of the planar space, and z is the data in another dimension of the vertical space.

[0048] Figures 2(a) and 2(b) show the effect of mesh projection on a point cloud data segment in an embodiment of the present invention. As shown in Figure 2(a), when performing mesh projection on the point cloud data segment, the point cloud data segment can first be projected onto the yoz plane along the x-direction dimension. Then, as shown in Figure 2(b), the yoz plane is divided into multiple grids with a grid width. The n coordinate values ​​(y, z) obtained after the point cloud data segment is projected onto the yoz plane can be obtained, and the n grid index points corresponding to the n coordinate values ​​(y, z) are determined according to the grid width.

[0049] In one embodiment, determining multiple grid index points corresponding to multiple coordinate values ​​may include: determining multiple grid index points corresponding to multiple coordinate values ​​according to the following formula:

[0050]

[0051] Among them, P yz These are the multiple coordinate values ​​obtained after projecting point cloud data segment P onto a two-dimensional plane, where 'a' is the preset grid width, and 'G' is the coordinates. origin Multiple grid index points corresponding to multiple coordinate values.

[0052] The following is a concrete example illustrating the process of determining grid index points. Assume that point cloud data segment P contains 5 3D points:

[0053] [1.000, 0.2000, 0.5000]

[0054] [1.000, 1.1000, 2.6000]

[0055] [1.000, 3.4000, 5.8000]

[0056] [2,000, 3,5000, 5,6000]

[0057] [2,000, 8,0000, 8,2000]

[0058] Each row represents a point, and each column, from left to right, represents the x, y, and z coordinates. Projecting the point cloud data segment P along the x-axis onto the yoz plane yields the five coordinate values ​​P obtained after projecting P onto the yoz plane. yz :

[0059] [0.2000, 0.5000]

[0060] [1.1000, 2.6000]

[0061] [3.4000, 5.8000]

[0062] [3.5000, 5.6000]

[0063] [8.0000, 8.2000]

[0064] Then P yz Divide the 5 coordinate values ​​in the grid by the grid width (assuming the grid width is 1) to determine the 5 grid index points G corresponding to the 5 coordinate values. origin :

[0065] [0, 0]

[0066] [1, 2]

[0067] [3, 5]

[0068] [3, 5]

[0069] [8, 8]

[0070] In one embodiment, after determining multiple grid index points corresponding to multiple coordinate values, the method may further include: obtaining duplicate points among the multiple grid index points and removing duplicate points; determining the number of points in each grid based on the remaining grid index points and the removed duplicate points. In specific implementation, after removing duplicate points, subsequent grid index point classification calculations are performed based on the remaining grid index points.

[0071] Still using G origin Taking G as an example, origin The grid contains two grid index points [3, 5]. One duplicate point needs to be removed, leaving four grid index points G. Based on the remaining grid index points and the removed duplicate point, the number of points F within each grid can be determined, as shown below, where G is on the left and F is on the right:

[0072] [0, 0][1]

[0073] [1, 2][1]

[0074] [3, 5][2]

[0075] [8, 8][1]

[0076] In practical implementation, since point cloud data can be viewed as matrix data, the grid index points can be processed in matrix form. The specific execution steps of the grid projection algorithm in this embodiment of the invention are as follows:

[0077]

[0078] As mentioned above, after dimensionality reduction and downsampling through grid projection, the point cloud data segment to be processed can be converted into multiple grid index points, which greatly reduces the amount of computation.

[0079] Next, in steps 103 to 105, noise points and normal points can be classified based on the remaining grid index points after deduplication. Since the point cloud data of the railway scene is a dense point cloud, noise points are mainly outliers, and this characteristic is also preserved in the converted grid index points. Therefore, a clustering algorithm can be used to identify noise points. However, traditional clustering algorithms are usually designed to run on the CPU. Due to the high time complexity of clustering algorithms, it is often time-consuming when clustering large amounts of point cloud data. Considering that point cloud data can be regarded as matrix data, and that GPUs are good at handling rectangular operations and parallel computing, this invention utilizes this characteristic to design a fast point cloud clustering algorithm based on CUDA.

[0080] When applying a fast point cloud clustering algorithm, the Euclidean distance between points can be used as the clustering standard. Clustering is performed by using a preset Euclidean distance as a threshold. The process is divided into two parts: calculating the Euclidean distance matrix between the remaining grid index points and clustering the remaining grid index points based on the Euclidean distance matrix. In this embodiment of the invention, matrix operations are used in the calculation process of both parts to achieve the effect of acceleration.

[0081] After obtaining the grid index point matrix according to the grid projection algorithm, the Euclidean distance between grid points is calculated using the grid index point matrix. This part can be derived by first using the Euclidean distance formula between point vectors constructed from two grid index points to derive the Euclidean distance formula between two index point matrices, and finally obtaining the fast matrix calculation formula for obtaining the Euclidean distance between point sets using matrix operations.

[0082] (1) For calculating the Euclidean distance between two points, assume that the two input points are represented as vectors p(y) n ,z n ), q(y m ,z m If ), then its Euclidean distance can be expressed as:

[0083] distance(p,q)=(y n -y m ) 2 +(z n -z m ) 2

[0084] =y n 2 +z n 2 +y m 2 +z m 2 -2y n y m -2z n zm

[0085] =p 2 +q 2 -2p·q

[0086] (2) When dealing with the Euclidean distance between two point cloud sets, assume that the two input point sets are represented as matrices P[N,2] and Q[M,2], and let P = [p1,p2,...,p n ];q=[q1,q2,...,q m Then its Euclidean distance can be expressed as:

[0087]

[0088] in Let represent the Hadamard product, sum represent the summation of the matrix rows, and T represent the transpose. The above formula transforms the calculation of Euclidean distance between point sets into matrix operations, ultimately yielding the Euclidean distance matrix between the point sets. This process can be accelerated using CUDA.

[0089] Since point cloud noise in railway scenarios mainly consists of outliers, this invention can perform clustering based on the Euclidean distance between points. Using the fast Euclidean distance calculation formula described above, the Euclidean distance between two point sets can be obtained. When the two input data are from the same point set, the Euclidean distance matrix between points within that set can be calculated. Let the grid index point matrix obtained through grid projection be G, G∈Z. m×2 Then the calculated Euclidean distance matrix D,D∈Z m*m If d ij If (i,j=1,2,…,m) are elements in D, then d ij Let represent the Euclidean matrix between the i-th and j-th points of the matrix. Therefore, matrix D is a symmetric matrix, and the elements on the main diagonal are 0, where:

[0090]

[0091] Since D is a symmetric matrix, therefore

[0092] The classification process of the remaining multiple grid index points in this invention will be described below with reference to specific embodiments.

[0093] In this embodiment of the invention, after determining multiple grid index points corresponding to multiple coordinate values ​​and deduplicating the multiple grid index points, multiple grid index point vectors corresponding to the remaining grid index points can be constructed. Each of the remaining grid index point vectors is used as a cluster center, and the Euclidean distance between each cluster center and the multiple grid index point vectors corresponding to the remaining grid index points is calculated. Based on whether the Euclidean distance between each cluster center and the multiple grid index point vectors corresponding to the remaining grid index points is less than a preset threshold, the remaining multiple grid index points are clustered to determine multiple initial categories of grid index points and one or more grid index points contained in each initial category.

[0094] In one embodiment, taking each of the remaining grid index point vectors as a cluster center, and calculating the Euclidean distance between each cluster center and the multiple grid index point vectors corresponding to the remaining grid index points, may include:

[0095] Based on the multiple grid index point vectors corresponding to the remaining grid index points, the corresponding grid index point vector matrix is ​​obtained;

[0096] Calculate the Euclidean distance between the vector matrices of the same grid index points to obtain the Euclidean distance matrix. Each element value of the Euclidean distance matrix corresponds to one of the remaining grid index point vectors, representing the Euclidean distance between its corresponding grid index point vector as the cluster center and multiple grid index point vectors corresponding to the remaining grid index points. The Euclidean distance matrix is ​​a symmetric matrix.

[0097] In specific implementation, let's take the grid index point matrix G obtained from the grid algorithm as an example. As mentioned above, the remaining four grid index points in G are: grid index point 1: (0, 0), grid index point 2: (1, 2), grid index point 3: (3, 5), and grid index point 4: (8, 8). First, we can obtain the corresponding grid index point vector matrix G1 from the grid index point matrix G. Let G1 = G2, calculate the Euclidean distance between G1 and G2, and obtain the Euclidean distance matrix D, D = distance(G1, G2). Based on the vector matrix formed by the four grid index points, we can calculate:

[0098]

[0099] In one embodiment, clustering is performed on the remaining grid index points based on whether the Euclidean distance between each cluster center and the vectors of the remaining grid index points is less than a preset threshold, thereby determining multiple initial categories of the grid index points and one or more grid index points contained in each initial category, including:

[0100] Based on whether the element values ​​of the Euclidean distance matrix are less than a preset threshold, the Euclidean distance matrix is ​​converted into a threshold 0-1 matrix, where element values ​​less than the preset threshold are converted to 1, and element values ​​greater than or equal to the preset threshold are converted to 0. The threshold 0-1 matrix is ​​a symmetric matrix.

[0101] Based on the threshold 0-1 matrix obtained by the transformation, multiple initial categories of grid index points and the number of grid index points contained in each initial category are determined. The number of rows in the threshold 0-1 matrix is ​​equal to the number of initial categories of grid index points. The element with a value of 1 in each row of the threshold 0-1 matrix corresponds to one or more grid index points contained in each initial category.

[0102] In practice, based on whether the Euclidean distance between each cluster center and the vectors of the remaining grid index points is less than a preset threshold, all neighboring points within the preset threshold range of each cluster center can be obtained, and the cluster center and all its neighboring points are regarded as an initial category. Therefore, the number of initial categories is determined by the number of grid index points remaining after deduplication, and there are duplicate grid index points within these initial categories.

[0103] Taking the Euclidean distance matrix D calculated above as an example, assuming the threshold is 15, the Euclidean distance matrix D can be converted into a threshold 0-1 matrix A, as shown below:

[0104]

[0105] In the threshold 0-1 matrix A, the first row represents: grid index point 1 and grid index point 2 are less than the threshold distance from grid index point 1; the second row represents: grid index point 1, grid index point 2 and grid index point 3 are less than the threshold distance from grid index point 2; the third row represents: grid index point 2 and grid index point 3 are less than the threshold distance from grid index point 3; and the fourth row represents: grid index point 4 is less than the threshold distance from point 4.

[0106] Since each grid index point vector serves as the cluster center, the initial number of clusters for each grid index point is equal to the number of grid index points. Treating each row of the threshold 0-1 matrix A as an initial cluster, in this example, the four grid index points have four initial clusters. The column corresponding to a value of 1 in each row represents the element within that cluster. For example, if the first row is initial cluster 1, then grid index points 1 and 2 are elements within that cluster; if the second row is initial cluster 2, then grid index points 1, 2, and 3 are elements within that cluster; if the third row is initial cluster 3, then grid index points 2 and 3 are elements within that cluster; and if the fourth row is initial cluster 4, then grid index point 4 is an element within that cluster.

[0107] Next, it is necessary to determine whether any two initial categories can be merged. According to the hierarchical clustering algorithm, for each pair of initial categories among the multiple initial categories of grid index points, the Euclidean distance between the point vectors constructed by any two grid index points between the two initial categories can be calculated. When there are grid index points between two initial categories whose Euclidean distance between point vectors is less than a preset threshold, the two initial categories are merged. This step is repeated until the number of categories of grid index points no longer changes, resulting in multiple final categories of grid index points and one or more grid index points contained in each final category.

[0108] In one embodiment, according to a hierarchical clustering algorithm, for every two initial categories among multiple initial categories of grid index points, the Euclidean distance between the point vectors constructed by any two grid index points between the two initial categories is calculated. When there are grid index points between two initial categories whose Euclidean distance between point vectors is less than a preset threshold, the two initial categories are merged. This step is repeated until the number of categories of grid index points no longer changes. This may include:

[0109] Based on the operational characteristics of symmetric matrices and hierarchical clustering algorithms, the square of the threshold 0-1 matrix is ​​calculated to obtain the intermediate matrix. The intermediate matrix is ​​then converted into an intermediate 0-1 matrix based on whether any element value is greater than 0. Elements greater than 0 in the intermediate matrix are converted to 1, and elements equal to 0 remain 0. The calculation stops when the intermediate 0-1 matrix equals the threshold 0-1 matrix. If the intermediate 0-1 matrix does not equal the threshold 0-1 matrix, the threshold 0-1 matrix and the intermediate 0-1 matrix are updated repeatedly using the following steps until the updated intermediate 0-1 matrix equals the updated threshold 0-1 matrix:

[0110] The intermediate 0-1 matrix is ​​used as the updated threshold 0-1 matrix. The square of the updated threshold 0-1 matrix is ​​calculated to obtain the updated intermediate matrix. The updated intermediate matrix is ​​then transformed based on whether the element values ​​of the updated intermediate matrix are greater than 0 to obtain the updated intermediate 0-1 matrix.

[0111] In specific implementation, in the threshold 0-1 matrix A, to determine whether initial category 1 and initial category 2 can be merged, the first and second rows of threshold 0-1 matrix A are multiplied by a dot product, the result of which is 2, which is greater than 0, so they can be merged; to determine whether initial category 1 and initial category 3 can be merged, the first and third rows of threshold 0-1 matrix A are multiplied by a dot product, the result of which is 1, which is greater than 0, so they can be merged; to determine whether initial category 1 and initial category 4 can be merged, the first and fourth rows of threshold 0-1 matrix A are multiplied by a dot product, the result of which is 0, which is not greater than 0, so they cannot be merged; to determine whether initial category 2 and initial category 3 can be merged, the second and third rows are multiplied by a dot product, the result of which is 2, which is greater than 0, so they can be merged.

[0112] Similarly, since the threshold 0-1 matrix A is a symmetric matrix, each row and its corresponding column are the same. For example, the four values ​​in the first row and the four values ​​in the first column are the same. Therefore, for ease of calculation, instead of performing a dot product of the first and second rows of the threshold 0-1 matrix A, we can perform a dot product of the first row and the second column. Since each row and column needs to be calculated, and matrix operations can be accelerated using a graphics card, we can directly calculate A×A to obtain the intermediate matrix, as shown below:

[0113]

[0114] Then, the intermediate matrix can be converted into an intermediate 0-1 matrix M based on whether the element values ​​are greater than 0. In this intermediate matrix, the element values ​​greater than 0 are converted to 1, and the element values ​​equal to 0 remain 0. The result is shown below:

[0115]

[0116] Next, after assigning matrix M to A, A becomes the updated threshold 0-1 matrix. We then calculate A×A to obtain the updated intermediate matrix. Based on whether the element values ​​of the updated intermediate matrix are greater than 0, we perform another transformation and assign the result to M to obtain the updated intermediate 0-1 matrix. In this example, the updated threshold 0-1 matrix A is the same as the updated intermediate 0-1 matrix M.

[0117]

[0118] This indicates that clustering has been completed. The rows in the above matrix are then deduplicated, and the result is shown below: 1 1 1 0 0 0 0 1

[0121] The four grid index points are divided into two categories: grid index point 1, grid index point 2, and grid index point 3 belong to category 1, while grid index point 4 belongs to category 2. These four points represent grid index points, each corresponding to one of the four grids.

[0122] Note that the points here are the projected grid index points. Therefore, during denoising, it is necessary to map the grid index points back to the original input point cloud data. As mentioned in the previous section on grid projection, the original point cloud data contains 5 points, with the 3rd and 4th points projected onto the same grid. Therefore, we can assume that final category 1 is Ω1, containing the 1st, 2nd, 3rd, and 4th points from the original point cloud data, a total of 4 points; and final category 2 is Ω2, containing only the 5th point from the original point cloud.

[0123] In practical implementation, since point cloud data can be viewed as matrix data, the grid index points can be processed in matrix form. The specific execution steps of the grid projection algorithm in this embodiment of the invention are as follows:

[0124]

[0125] By implementing the fast clustering algorithm described above, which extensively employs matrix operations during the implementation process, the computational efficiency can be significantly improved by leveraging the acceleration effect of CUDA and GPU computing.

[0126] After the aforementioned fast clustering algorithm, multiple final categories of grid index points and the number of grid index points contained in each final category can be obtained. These categories include normal point categories and outlier point categories, with noise points mostly belonging to the outlier point category. To filter out the outlier point categories among the multiple grid index points, multiple filtering strategies can be combined, including counting the number of points within a category, calculating the maximum distance within a category, and calculating the minimum distance between categories, to comprehensively determine the noise points among the grid index points. Based on the mapping relationship between the point cloud data segment and multiple grid index points, the noise data corresponding to the noise points in the point cloud data segment is determined, and the noise data corresponding to the noise points is removed.

[0127] Figure 3 This is a flowchart of a method for determining noise points in a grid index point according to an embodiment of the present invention, as shown below. Figure 3 As shown, noise points among multiple grid index points are determined based on multiple final categories of grid index points and one or more grid index points contained in each final category, including:

[0128] Step 301: Obtain the operating environment data of the railway inspection vehicle, and determine the characteristics of the operating environment based on the operating environment data of the railway inspection vehicle;

[0129] Step 302: For the same final category, calculate the maximum distance between grid index point vectors within the category based on one or more grid index point vectors contained in each final category;

[0130] Step 303: For different final categories, based on the multiple final categories of grid index points and the one or more grid index point vectors contained in each final category, calculate the minimum distance between grid index point vectors between any two final categories;

[0131] Step 304: Based on the characteristics of the operating environment, one or more grid index points contained in each final category, the maximum distance between grid index point vectors within a category, and the minimum distance between grid index point vectors between any two final categories, determine the noise points among multiple grid index points.

[0132] Railway scenarios can include various types of scenarios, such as tunnel scenarios, open scenarios, and tree scenarios. Since the operating environment of railway inspection vehicles is different in different scenarios, and the noise point types, locations, and quantities corresponding to different operating environment characteristics are also different, noise points in the grid index points can be determined by combining the operating environment characteristics, thereby improving the accuracy of noise point determination.

[0133] In one embodiment, calculating the maximum distance between intra-class grid index point vectors based on one or more grid index point vectors contained in each final class may include: calculating the maximum distance between intra-class grid index point vectors according to the following formula:

[0134]

[0135] in, Ω represents the maximum distance between grid index point vectors within a class. i (i = 1, 2, 3... k) represents the k final clusters obtained after clustering. Represents Ω i Sample points in the class, Represents Ω i Two random sample points are given in the class, and d represents the function used to calculate the Euclidean distance.

[0136] In one embodiment, calculating the minimum distance between grid index point vectors between every two final categories, based on multiple final categories of grid index points and one or more grid index point vectors contained in each final category, may include: calculating the minimum distance between grid index point vectors between every two final categories according to the following formula:

[0137]

[0138] in, Ω represents the minimum distance between the grid index point vectors between any two final categories. i (i = 1, 2, 3... k) represents the k final clusters obtained after clustering. Represents Ω i Sample points in the class, Represents Ω j Sample points in the class, Represents Ω i One sample point in the class, Represents Ω j For each sample point in the class, d represents the function used to calculate the Euclidean distance.

[0139] In practical implementation, the number of internal points of each type is N (Ω). i Given the formula ) = Ni, and combining the above calculation formulas, different thresholds can be set to filter different noise categories to adapt to different scene environments (tunnel scenes, tree scenes, open scenes) and different acquisition areas (e.g., track surface area, central open area). This noise filtering strategy, by analyzing noise characteristics and reasonably integrating multiple filtering methods, can achieve good denoising results in the denoising problem of 3D laser point cloud data in railway scenes.

[0140] In this embodiment of the invention, the computational load is first reduced through various means, including projection and meshing. Then, a clustering algorithm accelerated by CUDA is used with a special design to obtain clustering results. Finally, noise points are analyzed and judged based on multiple attributes. The efficiency and accuracy of point cloud denoising are both quite good.

[0141] The following experiments verify the improvement in denoising efficiency and its impact on the denoising results achieved by the mesh projection module, as well as the acceleration effect of the CUDA-based clustering algorithm designed in this invention. The experimental environment for this algorithm is a 64-bit Windows 10 operating system, an AMD Ryzen 9 5900HX CPU, an NVIDIA GeForce RTX 3070 GPU, and Python 3.8 programming language.

[0142] First, the efficiency of the fast clustering algorithm module was compared on both CPU and GPU, and the results are shown in Table 1:

[0143] Table 1. Efficiency comparison of fast clustering algorithms on CPU and GPU.

[0144]

[0145] As can be seen from Table 1, the faster clustering algorithm designed in this invention is more efficient and has a greater speedup ratio when the number of points processed is greater.

[0146] Regarding the gridded projection module of this invention, different projection spacing and grid widths affect both computational efficiency and denoising results. Although larger parameter scales result in smaller computational loads and higher computational efficiency, they also reduce denoising accuracy. Therefore, the efficiency and effect of the final denoising were evaluated for different parameter scales, and the results are shown in Tables 2 and 3.

[0147] Table 2 Comparison of the impact of different grid widths on noise reduction effect

[0148]

[0149] Table 3 Comparison of the impact of different projection lengths on noise reduction effect

[0150]

[0151] From Table 2 and Figure 3 The results show that the greater the projection length and the larger the grid width, the higher the efficiency. However, due to the loss of more original data information, the accuracy also decreases. Therefore, in practical applications, it is usually necessary to select parameters according to one's own needs.

[0152] The noise reduction effect of the present invention will be compared and shown below. Figure 4(a) is a noise diagram of the tunnel scene in the embodiment of the present invention. The black dots in Figure 4(a) are the noise points of the tunnel scene. Figure 4(b) is a schematic diagram of the tunnel scene after noise reduction processing in the embodiment of the present invention.

[0153] Figure 5(a) is a noise diagram of an open scene in an embodiment of the present invention. The black dots in Figure 5(a) are the noise points in the open scene. Figure 5(b) is a schematic diagram of the open scene after noise reduction processing in an embodiment of the present invention.

[0154] This invention also provides a denoising device for three-dimensional laser point cloud data in railway scenes, as described in the following embodiments. Since the principle behind this device is similar to the denoising method for three-dimensional laser point cloud data in railway scenes, its implementation can refer to the implementation of the denoising method for three-dimensional laser point cloud data in railway scenes; repeated details will not be elaborated further.

[0155] Figure 6 This is a schematic diagram of the structure of a 3D laser point cloud data denoising device for a railway scene in an embodiment of the present invention. Figure 6 As shown, the 3D laser point cloud data denoising device for railway scenes in this embodiment of the invention may specifically include:

[0156] The point cloud data acquisition and segmentation module 601 is used to acquire point cloud data along the railway inspection vehicle through a laser point cloud acquisition device, and to divide the point cloud data into multiple point cloud data segments according to a preset mileage. The laser point cloud acquisition device is installed in front of the railway inspection vehicle, and the point cloud data is three-dimensional spatial data.

[0157] The point cloud data segment projection and grid index point determination module 602 is used to project each point cloud data segment onto a two-dimensional plane, obtain multiple coordinate values ​​after the point cloud data segment is projected onto the two-dimensional plane, and the two-dimensional plane is composed of two other directional dimensions in three-dimensional space besides the direction of railway inspection vehicle operation; according to the preset grid width, the two-dimensional plane is divided into multiple grids, and multiple grid index points corresponding to multiple coordinate values ​​are determined;

[0158] The initial category determination module 603 is used to construct multiple grid index point vectors corresponding to multiple grid index points, and to calculate the Euclidean distance between each cluster center and multiple grid index point vectors, using each grid index point vector as a cluster center; and to cluster the multiple grid index points according to whether the Euclidean distance between each cluster center and multiple grid index point vectors is less than a preset threshold, thereby determining multiple initial categories of grid index points and one or more grid index points contained in each initial category.

[0159] The final category determination module 604 is used to calculate the Euclidean distance between the point vectors constructed by any two grid index points in each of the multiple initial categories of grid index points according to the hierarchical clustering algorithm. When there are grid index points in the two initial categories whose point vectors have an Euclidean distance less than a preset threshold, the two initial categories are merged. This step is repeated until the number of categories of grid index points no longer changes, and multiple final categories of grid index points are obtained, as well as one or more grid index points contained in each final category.

[0160] The noise point identification and noise data removal module 605 is used to identify noise points among multiple grid index points based on multiple final categories of grid index points and one or more grid index points contained in each final category, identify noise data corresponding to noise points in point cloud data segments based on the mapping relationship between point cloud data segments and multiple grid index points, and remove noise data corresponding to noise points.

[0161] In one embodiment, the point cloud data segment projection and grid index point determination module 602 is specifically used for:

[0162] The multiple grid index points corresponding to the multiple coordinate values ​​are determined using the following formula:

[0163]

[0164] Among them, P yz These are multiple coordinate values ​​obtained after projecting a point cloud data segment onto a two-dimensional plane, where 'a' is the preset grid width and 'G' is the coordinates. origin Multiple grid index points corresponding to multiple coordinate values.

[0165] Figure 7 This is a schematic diagram of a specific example of a 3D laser point cloud data denoising device for a railway scene, as described in an embodiment of the present invention. Figure 7 As shown in the embodiment, Figure 6 The 3D laser point cloud data denoising device for the railway scene shown also includes:

[0166] The removal module 701 is used after the point cloud data segment projection and grid index point determination module 602 determines multiple grid index points corresponding to multiple coordinate values:

[0167] Extract duplicate points from multiple grid index points and remove duplicate points;

[0168] Determine the number of points in each grid based on the remaining grid index points and the removed duplicate points.

[0169] In one embodiment, the initial category determination module 603 is specifically used for:

[0170] Based on the multiple grid index point vectors corresponding to the remaining grid index points, the corresponding grid index point vector matrix is ​​obtained;

[0171] Calculate the Euclidean distance between the vector matrices of the same grid index points to obtain the Euclidean distance matrix. Each element value of the Euclidean distance matrix corresponds to one of the remaining grid index point vectors, representing the Euclidean distance between its corresponding grid index point vector as the cluster center and multiple grid index point vectors corresponding to the remaining grid index points. The Euclidean distance matrix is ​​a symmetric matrix.

[0172] In one embodiment, the initial category determination module 603 is specifically used for:

[0173] Based on whether the element values ​​of the Euclidean distance matrix are less than a preset threshold, the Euclidean distance matrix is ​​converted into a threshold 0-1 matrix, where element values ​​less than the preset threshold are converted to 1, and element values ​​greater than or equal to the preset threshold are converted to 0. The threshold 0-1 matrix is ​​a symmetric matrix.

[0174] Based on the threshold 0-1 matrix obtained by the transformation, multiple initial categories of grid index points are determined, and one or more grid index points are contained in each initial category. The number of rows in the threshold 0-1 matrix is ​​equal to the number of initial categories of grid index points, and the element with a value of 1 in each row of the threshold 0-1 matrix corresponds to one or more grid index points contained in each initial category.

[0175] In one embodiment, the final category determination module 604 is specifically used for:

[0176] Based on the operational characteristics of symmetric matrices and hierarchical clustering algorithms, the square of the threshold 0-1 matrix is ​​calculated to obtain the intermediate matrix. The intermediate matrix is ​​then converted into an intermediate 0-1 matrix based on whether any element value is greater than 0. Elements greater than 0 in the intermediate matrix are converted to 1, and elements equal to 0 remain 0. The calculation stops when the intermediate 0-1 matrix equals the threshold 0-1 matrix. If the intermediate 0-1 matrix does not equal the threshold 0-1 matrix, the threshold 0-1 matrix and the intermediate 0-1 matrix are updated repeatedly using the following steps until the updated intermediate 0-1 matrix equals the updated threshold 0-1 matrix:

[0177] The intermediate 0-1 matrix is ​​used as the updated threshold 0-1 matrix. The square of the updated threshold 0-1 matrix is ​​calculated to obtain the updated intermediate matrix. The updated intermediate matrix is ​​then transformed based on whether the element values ​​of the updated intermediate matrix are greater than 0 to obtain the updated intermediate 0-1 matrix.

[0178] In one embodiment, the noise point determination and noise data removal module 605 is specifically used for:

[0179] Obtain operating environment data of railway inspection vehicles, and determine the characteristics of the operating environment based on the operating environment data of railway inspection vehicles;

[0180] For the same final category, calculate the maximum distance between grid index point vectors within the category, based on one or more grid index point vectors contained in each final category;

[0181] For different final categories, the minimum distance between grid index point vectors between any two final categories is calculated based on the multiple final categories of grid index points and the one or more grid index point vectors contained in each final category.

[0182] Based on the characteristics of the operating environment, one or more grid index points contained in each final category, the maximum distance between grid index point vectors within a category, and the minimum distance between grid index point vectors between any two final categories, noise points among multiple grid index points are determined.

[0183] In one embodiment, the noise point determination and noise data removal module is specifically used for:

[0184] The maximum distance between grid index point vectors within a class is calculated using the following formula, based on one or more grid index point vectors contained in each final class:

[0185]

[0186] in, Ω represents the maximum distance between grid index point vectors within a class. i (i = 1, 2, 3... k) represents the k final clusters obtained after clustering. Represents Ω i Sample points in the class, Represents Ω i Two random sample points are given in the class, and d represents the function used to calculate the Euclidean distance.

[0187] In one embodiment, the noise point determination and noise data removal module 605 is specifically used for:

[0188] The minimum distance between grid index point vectors between any two final categories is calculated using the following formula, based on multiple final categories of grid index points and one or more grid index point vectors contained in each final category:

[0189]

[0190] in, Ω represents the minimum distance between the grid index point vectors between any two final categories. i (i = 1, 2, 3... k) represents the k final clusters obtained after clustering. Represents Ω i Sample points in the class, Represents Ω j Sample points in the class, Represents Ω i One sample point in the class, Represents Ω j For each sample point in the class, d represents the function used to calculate the Euclidean distance.

[0191] Based on the aforementioned inventive concept, such as Figure 8 As shown, the present invention also proposes a computer device 800, including a memory 810, a processor 820, and a computer program 830 stored in the memory 810 and executable on the processor 820. When the processor 820 executes the computer program 830, it implements the aforementioned method for denoising three-dimensional laser point cloud data of railway scenes.

[0192] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method for denoising three-dimensional laser point cloud data of a railway scene.

[0193] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-mentioned method for denoising three-dimensional laser point cloud data of a railway scene.

[0194] In summary, in this embodiment of the invention, point cloud data along the railway line is acquired using a laser point cloud acquisition device. The point cloud data is divided into multiple point cloud data segments based on mileage. The laser point cloud acquisition device is installed in front of the railway inspection vehicle, and the point cloud data is three-dimensional spatial data. For each point cloud data segment, the segment is projected onto a two-dimensional plane, and multiple coordinate values ​​are obtained after the projection. The two-dimensional plane consists of two dimensions in three-dimensional space other than the direction of the inspection vehicle's movement. Based on a preset grid width, the two-dimensional plane is divided into multiple grids, and multiple grid index points corresponding to the multiple coordinate values ​​are determined. Multiple grid index point vectors corresponding to the multiple grid index points are constructed. Each grid index point vector is used as a cluster center, and the Euclidean distance between each cluster center and the multiple grid index point vectors is calculated. Based on whether the Euclidean distance between each cluster center and the multiple grid index point vectors is less than a preset threshold, the multiple grid index points are further analyzed. Clustering is performed on the grid index points to determine multiple initial categories and the number of grid index points in each initial category. Using a hierarchical clustering algorithm, for every two initial categories, the Euclidean distance between the point vectors constructed from any two grid index points in those two initial categories is calculated. If there are grid index points in two initial categories whose Euclidean distance is less than a preset threshold, the two initial categories are merged. This step is repeated until the number of grid index point categories no longer changes, resulting in multiple final categories of grid index points and the number of grid index points in each final category. Based on these final categories and the number of grid index points in each final category, noise points are identified among the multiple grid index points. Based on the mapping relationship between the point cloud data segment and the multiple grid index points, the noise data corresponding to the noise points in the point cloud data segment is determined, and the noise data corresponding to the noise points is removed.

[0195] By performing grid projection processing on point cloud data segments to obtain multiple grid index points, and then clustering these multiple grid index points, noisy data in point cloud data can be quickly identified, significantly improving the denoising efficiency and effect of point cloud data, and meeting the real-time denoising requirements in real railway scenarios.

[0196] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0197] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0198] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0199] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0200] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A method for denoising 3D laser point cloud data in a railway scene, characterized in that, include: The laser point cloud acquisition device acquires point cloud data along the railway inspection vehicle. The point cloud data is divided into multiple point cloud data segments according to the preset mileage. The laser point cloud acquisition device is installed in front of the railway inspection vehicle. The point cloud data is three-dimensional spatial data. For each point cloud data segment, the point cloud data segment is projected onto a two-dimensional plane to obtain multiple coordinate values ​​after the point cloud data segment is projected onto the two-dimensional plane. The two-dimensional plane is composed of two other directional dimensions in three-dimensional space besides the direction of the railway inspection vehicle's operation. According to the preset grid width, the two-dimensional plane is divided into multiple grids, and multiple grid index points corresponding to multiple coordinate values ​​are determined. Construct multiple grid index point vectors corresponding to multiple grid index points, and use each grid index point vector as a cluster center to calculate the Euclidean distance between each cluster center and the multiple grid index point vectors; based on whether the Euclidean distance between each cluster center and the multiple grid index point vectors is less than a preset threshold, cluster the multiple grid index points to determine multiple initial categories of grid index points and one or more grid index points contained in each initial category; According to the hierarchical clustering algorithm, for each pair of initial categories among multiple initial categories of grid index points, the Euclidean distance between the point vectors constructed by any two grid index points between the two initial categories is calculated. When there are grid index points between two initial categories whose Euclidean distance between point vectors is less than a preset threshold, the two initial categories are merged. This step is repeated until the number of categories of grid index points no longer changes, resulting in multiple final categories of grid index points and one or more grid index points contained in each final category. Based on the multiple final categories of grid index points and the one or more grid index points contained in each final category, noise points among the multiple grid index points are determined. Based on the mapping relationship between the point cloud data segment and the multiple grid index points, the noise data corresponding to the noise points in the point cloud data segment is determined, and the noise data corresponding to the noise points is removed.

2. The method as described in claim 1, characterized in that, Determine multiple grid index points corresponding to multiple coordinate values, including: determining multiple grid index points corresponding to multiple coordinate values ​​using the following formula: Among them, P yz These are multiple coordinate values ​​obtained after projecting a point cloud data segment onto a two-dimensional plane, where 'a' is the preset grid width and 'G' is the coordinates. origin Multiple grid index points corresponding to multiple coordinate values.

3. The method as described in claim 1, characterized in that, After determining the multiple grid index points corresponding to multiple coordinate values, the process also includes: Extract duplicate points from multiple grid index points and remove duplicate points; Determine the number of points in each grid based on the remaining grid index points and the removed duplicate points.

4. The method as described in claim 3, characterized in that, Using each of the remaining grid index point vectors as the cluster center, calculate the Euclidean distance between each cluster center and the multiple grid index point vectors corresponding to the remaining grid index points, including: Based on the multiple grid index point vectors corresponding to the remaining grid index points, the corresponding grid index point vector matrix is ​​obtained; Calculate the Euclidean distance between the vector matrices of the same grid index points to obtain the Euclidean distance matrix. Each element value of the Euclidean distance matrix corresponds to one of the remaining grid index point vectors, representing the Euclidean distance between its corresponding grid index point vector as the cluster center and multiple grid index point vectors corresponding to the remaining grid index points. The Euclidean distance matrix is ​​a symmetric matrix.

5. The method as described in claim 4, characterized in that, Based on whether the Euclidean distance between each cluster center and the vectors of multiple remaining grid index points is less than a preset threshold, the remaining grid index points are clustered to determine multiple initial categories of the grid index points and one or more grid index points contained in each initial category, including: Based on whether the element values ​​of the Euclidean distance matrix are less than a preset threshold, the Euclidean distance matrix is ​​converted into a threshold 0-1 matrix, where element values ​​less than the preset threshold are converted to 1, and element values ​​greater than or equal to the preset threshold are converted to 0. The threshold 0-1 matrix is ​​a symmetric matrix. Based on the threshold 0-1 matrix obtained by the transformation, multiple initial categories of grid index points are determined, and one or more grid index points are contained in each initial category. The number of rows in the threshold 0-1 matrix is ​​equal to the number of initial categories of grid index points, and the element with a value of 1 in each row of the threshold 0-1 matrix corresponds to one or more grid index points contained in each initial category.

6. The method as described in claim 5, characterized in that, According to the hierarchical clustering algorithm, for every two initial categories of grid index points, the Euclidean distance between the point vectors constructed by any two grid index points in the two initial categories is calculated. When there are grid index points in two initial categories whose Euclidean distance between point vectors is less than a preset threshold, the two initial categories are merged. This step is repeated until the number of categories of grid index points no longer changes, including: Based on the operational characteristics of symmetric matrices and hierarchical clustering algorithms, the square of the threshold 0-1 matrix is ​​calculated to obtain the intermediate matrix. The intermediate matrix is ​​then converted into an intermediate 0-1 matrix based on whether any element value is greater than 0. Elements greater than 0 in the intermediate matrix are converted to 1, and elements equal to 0 remain 0. The calculation stops when the intermediate 0-1 matrix equals the threshold 0-1 matrix. If the intermediate 0-1 matrix does not equal the threshold 0-1 matrix, the threshold 0-1 matrix and the intermediate 0-1 matrix are updated repeatedly using the following steps until the updated intermediate 0-1 matrix equals the updated threshold 0-1 matrix: The intermediate 0-1 matrix is ​​used as the updated threshold 0-1 matrix. The square of the updated threshold 0-1 matrix is ​​calculated to obtain the updated intermediate matrix. The updated intermediate matrix is ​​then transformed based on whether the element values ​​of the updated intermediate matrix are greater than 0 to obtain the updated intermediate 0-1 matrix.

7. The method as described in claim 1, characterized in that, Based on multiple final categories of grid index points and one or more grid index points contained in each final category, noise points among multiple grid index points are identified, including: Obtain operating environment data of railway inspection vehicles, and determine the characteristics of the operating environment based on the operating environment data of railway inspection vehicles; For the same final category, calculate the maximum distance between grid index point vectors within the category, based on one or more grid index point vectors contained in each final category; For different final categories, the minimum distance between grid index point vectors between any two final categories is calculated based on the multiple final categories of grid index points and the one or more grid index point vectors contained in each final category. Based on the characteristics of the operating environment, one or more grid index points contained in each final category, the maximum distance between grid index point vectors within a category, and the minimum distance between grid index point vectors between any two final categories, noise points among multiple grid index points are determined.

8. The method as described in claim 7, characterized in that, Calculate the maximum distance between intra-class grid index point vectors based on one or more grid index point vectors contained in each final class, including: calculating the maximum distance between intra-class grid index point vectors according to the following formula: in, Ω represents the maximum distance between grid index point vectors within a class. i (i = 1, 2, 3... k) represents the k final clusters obtained after clustering. Represents Ω i Sample points in the class, Represents Ω i Two random sample points are given in the class, and d represents the function used to calculate the Euclidean distance.

9. The method as described in claim 7, characterized in that, Given multiple final categories of grid index points and one or more grid index point vectors contained in each final category, calculate the minimum distance between grid index point vectors between any two final categories, including: Calculate the minimum distance between grid index point vectors between any two final categories according to the following formula: in, Ω represents the minimum distance between the grid index point vectors between any two final categories. i (i = 1, 2, 3... k) represents the k final clusters obtained after clustering. Represents Ω i Sample points in the class, Represents Ω j Sample points in the class, Represents Ω i One sample point in the class, Represents Ω j For each sample point in the class, d represents the function used to calculate the Euclidean distance.

10. A denoising device for three-dimensional laser point cloud data in a railway scene, characterized in that, include: The point cloud data acquisition and segmentation module is used to acquire point cloud data along the railway line through a laser point cloud acquisition device. The point cloud data is divided into multiple point cloud data segments according to a preset mileage. The laser point cloud acquisition device is installed in front of the railway inspection vehicle. The point cloud data is three-dimensional spatial data. The point cloud data segment projection and grid index point determination module is used to project each point cloud data segment onto a two-dimensional plane, obtain multiple coordinate values ​​after the point cloud data segment is projected onto the two-dimensional plane, and the two-dimensional plane is composed of two other dimensions in three-dimensional space besides the direction of railway inspection vehicle operation; according to the preset grid width, the two-dimensional plane is divided into multiple grids, and multiple grid index points corresponding to multiple coordinate values ​​are determined. The initial category determination module is used to construct multiple grid index point vectors corresponding to multiple grid index points. Each grid index point vector is used as a cluster center, and the Euclidean distance between each cluster center and multiple grid index point vectors is calculated. Based on whether the Euclidean distance between each cluster center and multiple grid index point vectors is less than a preset threshold, the multiple grid index points are clustered to determine multiple initial categories of grid index points and one or more grid index points contained in each initial category. The final category determination module is used to calculate the Euclidean distance between the point vectors constructed by any two grid index points in each of the multiple initial categories of grid index points according to the hierarchical clustering algorithm. When there are grid index points in two initial categories whose point vectors have an Euclidean distance of less than a preset threshold, the two initial categories are merged. This step is repeated until the number of categories of grid index points no longer changes, resulting in multiple final categories of grid index points and one or more grid index points contained in each final category. The noise point identification and noise data removal module is used to identify noise points among multiple grid index points based on multiple final categories of grid index points and one or more grid index points contained in each final category, determine the noise data corresponding to the noise points in the point cloud data segment based on the mapping relationship between the point cloud data segment and the multiple grid index points, and remove the noise data corresponding to the noise points.

11. The apparatus as claimed in claim 10, characterized in that, The point cloud data segment projection and grid index point determination module is specifically used for: The multiple grid index points corresponding to the multiple coordinate values ​​are determined using the following formula: Among them, P yz These are multiple coordinate values ​​obtained after projecting a point cloud data segment onto a two-dimensional plane, where 'a' is the preset grid width and 'G' is the coordinates. origin Multiple grid index points corresponding to multiple coordinate values.

12. The apparatus as claimed in claim 10, characterized in that, It also includes a removal module, used after the point cloud data segment projection and grid index point determination module determines multiple grid index points corresponding to multiple coordinate values: Extract duplicate points from multiple grid index points and remove duplicate points; Determine the number of points in each grid based on the remaining grid index points and the removed duplicate points.

13. The apparatus as claimed in claim 12, characterized in that, The initial category determination module is specifically used for: Based on the multiple grid index point vectors corresponding to the remaining grid index points, the corresponding grid index point vector matrix is ​​obtained; Calculate the Euclidean distance between the vector matrices of the same grid index points to obtain the Euclidean distance matrix. Each element value of the Euclidean distance matrix corresponds to one of the remaining grid index point vectors, representing the Euclidean distance between its corresponding grid index point vector as the cluster center and multiple grid index point vectors corresponding to the remaining grid index points. The Euclidean distance matrix is ​​a symmetric matrix.

14. The apparatus as claimed in claim 13, characterized in that, The initial category determination module is specifically used for: Based on whether the element values ​​of the Euclidean distance matrix are less than a preset threshold, the Euclidean distance matrix is ​​converted into a threshold 0-1 matrix, where element values ​​less than the preset threshold are converted to 1, and element values ​​greater than or equal to the preset threshold are converted to 0. The threshold 0-1 matrix is ​​a symmetric matrix. Based on the threshold 0-1 matrix obtained by the transformation, multiple initial categories of grid index points are determined, and one or more grid index points are contained in each initial category. The number of rows in the threshold 0-1 matrix is ​​equal to the number of initial categories of grid index points, and the element with a value of 1 in each row of the threshold 0-1 matrix corresponds to one or more grid index points contained in each initial category.

15. The apparatus as claimed in claim 14, characterized in that, The final category determination module is specifically used for: Based on the operational characteristics of symmetric matrices and hierarchical clustering algorithms, the square of the threshold 0-1 matrix is ​​calculated to obtain the intermediate matrix. The intermediate matrix is ​​then converted into an intermediate 0-1 matrix based on whether any element value is greater than 0. Elements greater than 0 in the intermediate matrix are converted to 1, and elements equal to 0 remain 0. The calculation stops when the intermediate 0-1 matrix equals the threshold 0-1 matrix. If the intermediate 0-1 matrix does not equal the threshold 0-1 matrix, the threshold 0-1 matrix and the intermediate 0-1 matrix are updated repeatedly using the following steps until the updated intermediate 0-1 matrix equals the updated threshold 0-1 matrix: The intermediate 0-1 matrix is ​​used as the updated threshold 0-1 matrix. The square of the updated threshold 0-1 matrix is ​​calculated to obtain the updated intermediate matrix. The updated intermediate matrix is ​​then transformed based on whether the element values ​​of the updated intermediate matrix are greater than 0 to obtain the updated intermediate 0-1 matrix.

16. The apparatus as claimed in claim 10, characterized in that, The noise point identification and noise data removal module is specifically used for: Obtain operating environment data of railway inspection vehicles, and determine the characteristics of the operating environment based on the operating environment data of railway inspection vehicles; For the same final category, calculate the maximum distance between grid index point vectors within the category, based on one or more grid index point vectors contained in each final category; For different final categories, the minimum distance between grid index point vectors between any two final categories is calculated based on the multiple final categories of grid index points and the one or more grid index point vectors contained in each final category. Based on the characteristics of the operating environment, one or more grid index points contained in each final category, the maximum distance between grid index point vectors within a category, and the minimum distance between grid index point vectors between any two final categories, noise points among multiple grid index points are determined.

17. The apparatus as claimed in claim 16, characterized in that, The noise point identification and noise data removal module is specifically used for: The maximum distance between grid index point vectors within a class is calculated using the following formula, based on one or more grid index point vectors contained in each final class: in, Ω represents the maximum distance between grid index point vectors within a class. i (i = 1, 2, 3... k) represents the k final clusters obtained after clustering. Represents Ω i Sample points in the class, Represents Ω i Two random sample points are given in the class, and d represents the function used to calculate the Euclidean distance.

18. The apparatus as claimed in claim 16, characterized in that, The noise point identification and noise data removal module is specifically used for: The minimum distance between grid index point vectors between any two final categories is calculated using the following formula, based on multiple final categories of grid index points and one or more grid index point vectors contained in each final category: in, Ω represents the minimum distance between the grid index point vectors between any two final categories. i (i = 1, 2, 3... k) represents the k final clusters obtained after clustering. Represents Ω i Sample points in the class, Represents Ω j Sample points in the class, Represents Ω i One sample point in the class, Represents Ω j For each sample point in the class, d represents the function used to calculate the Euclidean distance.

19. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 9.

20. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of any one of claims 1 to 9.

21. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 9.

Citation Information

Patent Citations

  • Three-dimensional grid-based airborne LiDAR point cloud denoising method

    CN105719249A

  • Point cloud noise reduction method and device suitable for various scenes

    CN114581331A