Track point cloud efficient extraction method and device

By combining the neighborhood constraint method and the ground filtering algorithm, the track point cloud is processed into a grid and the track line is generated, which solves the problems of parameter dependence and insufficient accuracy in the existing technology and realizes efficient and robust track extraction.

CN121170291APending Publication Date: 2025-12-19CHONGQING INST OF SURVEYING & MAPPING SCI & TECH (CHONGQING MAP COMPILATION CENT)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511258752.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-04
Publication Date
2025-12-19

AI Technical Summary

Technical Problem

Existing point cloud segmentation methods require manual setting of a large number of parameters in railway track extraction tasks, have limited generalization ability, and lack segmentation accuracy, making it difficult to meet the real-time processing needs of railway inspection.

Method used

By combining the neighborhood constraint method and the ground filtering algorithm, the orbit point cloud is processed by gridding, candidate grids are extracted and seed points are selected, and linear fitting is performed to generate the orbit line, which reduces the computational complexity and improves the segmentation accuracy.

Benefits of technology

It improves the accuracy and robustness of point cloud segmentation, enhances the generalization ability in complex scenarios, and meets the real-time processing needs of railway inspection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121170291A_ABST
    Figure CN121170291A_ABST
Patent Text Reader

Abstract

The invention provides a track point cloud efficient extraction method and device, and the method comprises the steps: obtaining track point clouds, carrying out the meshing of the track point clouds according to a first size, extracting all the grids of the point clouds containing a track part through employing a neighborhood constraint method, and obtaining a plurality of first candidate grids; screening the track point clouds by using a ground filtering algorithm, and then gridding the track point clouds according to a first size to obtain a plurality of second candidate grids; calculating seed points in each first candidate grid and each second candidate grid; gridding the seed points according to a second size to obtain a plurality of feature grids, and then performing linear fitting on the seed points in each feature grid to obtain a plurality of corresponding seed line segments; and fitting the seed line segments in all the grids to obtain a track line, and then extracting a track point cloud according to the track line. According to the invention, the problems of limited generalization ability and insufficient segmentation precision caused by manual setting of a large number of parameters and related features in point cloud segmentation in the prior art are solved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of three-dimensional laser point cloud semantic segmentation, and particularly relates to a track point cloud efficient extraction method and device. BACKGROUND

[0002] With the rapid development of three-dimensional sensing technology (such as laser radar, structured light scanning, multi-view vision, etc.), point cloud data has become an important data form in the fields of engineering detection, three-dimensional scene modeling, target recognition, etc. Point cloud extraction and segmentation, as a key step of preprocessing, directly affects the accuracy of subsequent feature analysis, classification and modeling. Traditional point cloud extraction and segmentation methods mainly rely on geometric features, statistical characteristics or machine learning models. Traditional methods mainly include methods using geometric features, graph theory methods, traditional machine learning methods, etc.

[0003] Methods based on geometric features, such as region growing algorithm, realize segmentation by selecting initial seed points and iteratively merging adjacent points with similar normal vectors or curvatures, which is effective for continuous surfaces, but sensitive to noise and dependent on manual threshold setting. Density clustering methods such as Euclidean clustering and DBSCAN divide point clouds according to spatial distance or density, which has high computational efficiency, but is prone to failure in non-uniform point clouds or complex scenes. Model fitting methods such as RANSAC extract regular geometric shapes through random sampling and iterative optimization, which is robust to noise, but cannot handle unstructured targets.

[0004] Methods based on graph theory model point clouds as graph structures and use graph cut or super voxel technology for segmentation. Graph cut algorithm realizes global optimization by constructing energy function and solving minimum cut, which can generate smooth segmentation boundaries, but has high computational complexity and usually needs manual intervention. Super voxel method simplifies processing by aggregating point clouds into uniform voxel units, which reduces data volume, but segmentation results are limited by super voxel size and are difficult to adapt to multi-scale scenes. Traditional machine learning methods rely on manually designed features combined with classifiers (such as SVM, random forest) for segmentation, which introduces semantic information, but has limited feature expression ability.

[0005] In the field of railway infrastructure detection and maintenance, rail extraction based on three-dimensional point cloud is a key step for track state analysis, wear detection, and safety evaluation. However, existing point cloud segmentation methods face significant limitations in the rail extraction task. Traditional segmentation algorithms based on geometric features (such as region growing, RANSAC, etc.) can extract regular shapes, but rail point clouds often have complex spatial distribution characteristics, including turnouts, sleeper interference, discontinuity at rail connections, etc., leading to over-segmentation or under-segmentation problems for traditional methods. In addition, point cloud data of the rail scene is usually large in scale and contains a large amount of noise (such as ballast, vegetation, etc.), making clustering or graph optimization-based methods computationally inefficient and difficult to meet the real-time processing requirements of railway inspection.

[0006] Existing point cloud segmentation techniques often require manual setting of a large number of parameters (such as distance threshold, curvature constraint, etc.), and the geometric morphology of rails varies greatly in different lines and different wear states, limiting the generalization ability of traditional methods. In addition, traditional machine learning-based methods (such as feature engineering combined with classifiers) rely on manual feature design and are difficult to adaptively learn the complex geometry and topology of rails, resulting in insufficient segmentation accuracy in complex railway scenes. SUMMARY

[0007] To address the deficiencies in the prior art, the present application provides a high-efficiency rail point cloud extraction method and device, which solves the problem of the need for manual setting of a large number of parameters and related features in point cloud segmentation in the prior art, resulting in limited generalization ability and insufficient segmentation accuracy.

[0008] According to an embodiment of the present application, a high-efficiency rail point cloud extraction method comprises: Obtain the rail point cloud, and grid the rail point cloud at a first size, then use the neighborhood constraint method to extract all grid points containing the rail part, to obtain a plurality of first candidate grids; Filter the rail point cloud using a ground filtering algorithm to obtain a filtered point cloud, then grid the filtered point cloud at a first size to obtain a plurality of second candidate grids; Calculate the average geometric center of the point cloud in each first candidate grid and second candidate grid, and take the point cloud with a distance from the average geometric center as the seed point of the corresponding grid; Grid the seed points at a second size to obtain a plurality of feature grids, then linearly fit the seed points in each feature grid to obtain a plurality of corresponding seed line segments; Fit the seed line segments in all grids to obtain a rail line, then extract the rail point cloud according to the rail line.

[0009] Preferably, after obtaining the rail point cloud, the rail point cloud needs to be filtered, and the filtering method comprises: dividing the track point cloud into multiple two-dimensional grids in the horizontal direction with a preset size; calculating the ground elevation estimate value in each two-dimensional grid , and counting the number of all point clouds with elevation range in -5m, +5m] ; in response to greater than the point cloud noise tolerance threshold, eliminating all point clouds in the two-dimensional grid; in response to less than or equal to the point cloud noise tolerance threshold, eliminating point clouds in the two-dimensional grid with elevation greater than +5m.

[0010] Preferably, the difference between the highest elevation and the lowest elevation of the two-dimensional grid is calculated, and then a first division plane is divided at one-tenth of the difference above the lowest elevation, and the average elevation value of all point clouds between the first division plane and the plane where the lowest elevation is located is taken as the ground elevation estimate value .

[0011] Preferably, after the track point cloud is gridded with the first size, for each grid, the point clouds in the grid are sorted in ascending order according to the elevation size to obtain an ordered point cloud set; After removing multiple point clouds before and after the ordered point cloud set as required, if the number of point clouds in the ordered point cloud set is less than a preset number, the grid is marked as an empty grid.

[0012] Preferably, the method for extracting all grids containing track parts using the neighborhood constraint method to obtain multiple first candidate grids comprises: S1: calculating the highest elevation, the lowest elevation of each non-empty grid, and the average elevation of all point clouds in the grid; S2: for each grid, calculating the difference between the highest elevation of the grid and all adjacent grids, if the difference between the highest elevation of the grid and all adjacent grids is greater than or equal to a preset value, marking the grid, thereby obtaining multiple marked grids; S3: for each marked grid, calculating the difference between the average elevation of the grid and all adjacent grids, and classifying all adjacent grids according to the difference to obtain multiple adjacent classes, and then according to the number of each adjacent class, judging whether the marked grid is a first candidate grid according to a preset rule; S4: traversing all grids and repeating steps S2-S3 to obtain multiple first candidate grids.

[0013] Preferably, the track point cloud is divided into a ground point cloud set and a non-ground point cloud set by using a ground filtering algorithm, and then the non-ground point cloud set is taken as the screening point cloud.

[0014] Preferably, the method for calculating the average geometric center of the point cloud in each first candidate grid and second candidate grid and taking the point cloud away from the average geometric center as the seed point of the corresponding grid comprises: For each first candidate grid and second candidate grid, the difference between the highest elevation and the lowest elevation of the grid is calculated, then a second dividing plane is divided at one-tenth of the difference downward from the highest elevation, and then the space between the second dividing plane and the plane where the highest elevation is located is calculated as a generation space; The average geometric center of all point clouds in the generation space is calculated, and then the point cloud away from the average geometric center in the generation space is taken as the seed point.

[0015] Preferably, the method for performing linear fitting on the seed points in each feature grid to obtain a plurality of seed line segments comprises: The seed points in each feature grid are subjected to Euclidean clustering to generate a plurality of candidate point clusters; Each point cluster is fitted by using a RANSAC algorithm to obtain a straight line segment corresponding to each point cluster; All straight line segments are subjected to linear analysis filtering to obtain a plurality of seed line segments.

[0016] Preferably, the method for fitting the seed line segments in all grids to obtain a track line comprises: The extension direction of all seed line segments is determined, and all seed line segments are converted into directed edges based on the extension direction; For each seed line segment, a target grid opposite to the seed line segment is determined, and a line segment parallel to the seed line segment is extracted in the target grid opposite to the seed line segment as a matching line segment of the seed line segment, to obtain; An initial track line segment is determined according to the extension direction, and the seed line segments or the matching line segments are subjected to progressive track expansion based on the initial track line segment as a starting point, to obtain a plurality of pairs of matching track edges; The center line of each pair of track edges is calculated, and all center lines are merged to obtain a track line.

[0017] In another aspect, the present application provides a computer comprising at least one processor and a memory, wherein the memory stores a computer program configured to be executed by the processor to implement the above-mentioned track point cloud efficient extraction method.

[0018] Compared with the prior art, the present application has the following beneficial effects: (1) The application obtains two different candidate grids through the neighborhood constraint method and the ground filtering algorithm, and selects seed points from each grid to analyze the neighborhood characteristics of the point cloud, collect seed points, reduce the complexity of data calculation, and improve the initial feature point recall rate and segmentation accuracy.

[0019] (2) The seed points are fitted in a specific local range to generate corresponding seed line segments, ensure the quality of the line segments, remove interference, serve as the basic input of the track line generation algorithm, and ensure the extraction robustness in complex scenes and the generalization ability of the track generation algorithm. BRIEF DESCRIPTION OF DRAWINGS

[0020] Figure 1 The figure is a track point cloud efficient extraction method of the embodiment of the application. DETAILED DESCRIPTION

[0021] The technical solutions in the application will be further described below with reference to the drawings and embodiments.

[0022] As shown in the drawings, Figure 1 the embodiment of the application proposes a track point cloud efficient extraction method, which comprises: acquiring a track point cloud, and griding the track point cloud in a first size, then using a neighborhood constraint method to extract all grids containing track part of the point cloud to obtain a plurality of first candidate grids; After acquiring the track point cloud of the track by using a three-dimensional laser radar, in order to reduce noise interference, reduce the amount of calculation, and improve the accuracy of point cloud extraction, the point cloud in the global range is first divided into plane grids, the point cloud elevation in each grid is counted, and filtering is performed, because the track is located on the ground, the upper space of the track belongs to the train driving area, and the point cloud in the space height of 0.5-5m above the ground height should be in a blank state in theory, and the specific processing steps are as follows: (1) Plane grid division: Calculate the minimum boundary value of the point cloud data in the horizontal plane and The point cloud is divided into a plurality of two-dimensional grids according to the plane coordinates with a preset size D (Dx=1m, Dy=1m), wherein the two-dimensional grid Aᵢⱼ to which the point cloud p(x,y) belongs has coordinates: i=floor( ),j=floor( ) (2) Elevation feature filtering: for each two-dimensional grid , execute: ①Calculate the difference between the highest elevation and the lowest elevation of the two-dimensional grid, then divide the first division plane at one-tenth of the difference above the lowest elevation, and then take the average elevation value of all points between the first division plane and the plane where the lowest elevation is located as the ground elevation estimate .

[0023] ②Count the number of all point clouds whose elevation range is within -5m, +5m .

[0024] If when >limit_empty_n, mark the two-dimensional grid as an invalid area (limit_empty_n is the safe clearance area point cloud noise tolerance threshold), and remove all point clouds in the two-dimensional grid.

[0025] For valid areas, remove point clouds with elevations greater than +5m

[0026] These point cloud removals can exclude areas such as masts, buildings, plants, etc., to exclude some interference for subsequent calculations and reduce the calculation amount.

[0027] After filtering the track point cloud, further seed point generation is performed to reduce the calculation complexity, and two methods are used to sample in parallel to improve the richness of the features.

[0028] (1) Neighborhood constraint method The filtered track point cloud is divided into a fine grid plane with a first size (0.07m 0.07m), which is set according to the width of the rail top (the width of the rail top is about 0.07-0.075m), so that the size of the grid can basically align with the width, allowing most of the rail to be divided into 1 or 1-2 adjacent fine grids.

[0029] The specific steps are as follows: Step 1: Point cloud gridding preprocessing The input is the filtered track point cloud P={ | =( , , )} of the railway scene (x is the horizontal coordinate, y is the vertical coordinate, and z is the elevation) and its index, and then the track point cloud is divided into a two-dimensional grid set 0.07m) according to the first size (0.07m At the same time, the first step of the above filtering method can be used to calculate the grid to which each point cloud belongs, and a hash table is used to accelerate the query and insertion of grid keys. The grid to which a point belongs can be directly queried by its coordinates x, y.

[0030] Step 2: Elevation statistics and filtering in the grid Elevation sorting: Sort the point cloud of each grid in ascending order of elevation size to obtain an ordered point set { , ,..., }, which contains normal point clouds and noise point clouds.

[0031] Noise removal: Remove the first / last k noise point clouds in the ordered point set to eliminate suspended matter and ground noise. After removal, if the remaining point number is less than empty_threshold (empty grid point number threshold), mark the grid as empty.

[0032] Feature calculation: Calculate the lowest elevation , the highest elevation , and the average elevation of all point clouds in each non-empty grid.

[0033] Step 3: Track determination with neighborhood constraints Neighborhood definition: For each non-empty grid G, its 8 adjacent grids are the neighborhood grids N(G) = { ,..., }.

[0034] Maximum point determination: Calculate the maximum elevation difference between grid G and its 8 adjacent grids . If there is at least one adjacent grid whose maximum elevation difference with grid G is greater than or equal to -0.05 ( ), mark the grid. If the maximum elevation difference between the 8 adjacent grids and grid G is less than -0.05 ( <-0.05), exclude the grid. In this way, multiple marked grids can be obtained.

[0035] For any marked grid G, calculate the average elevation difference between grid G and its 8 adjacent grids .

[0036] According to the rail height size (about 0.15-0.25m), classify and count the adjacent grids to obtain the following adjacent classes: Track neighborhood: (the 0.05 in the value range depends on the accuracy of the point cloud collection device); Ballast neighborhood: ; Interference neighborhood: ; Empty neighborhood: For the grid that has been excluded.

[0037] Determination rule for whether the marked grid belongs to the track position: If a certain grid is a track, there will be tracks and ballast grids in the vicinity of the 8 neighborhoods. Considering the shape of the track and the uncertainty of the angle between the track direction and the x, y axes, the results of the height difference classification of the 8 neighborhoods are comprehensively counted: If the number of disturbance neighborhoods ≥ 1, exclude G.

[0038] If (2 ≤ the number of track neighborhoods < 4) and (2 ≤ the number of ballast neighborhoods), mark the grid G as the first candidate grid; If (4 ≤ the number of ballast neighborhoods), mark the grid G as the first candidate grid If (3 ≤ the number of ballast neighborhoods) and (1 ≤ the number of empty neighborhoods), mark the grid G as the first candidate grid, which is used to supplement the situation where the ground point cloud is blocked by the track height.

[0039] Step 4: Seed point generation and optimization Centroid calculation: For each first candidate network, calculate the difference between the highest elevation and the lowest elevation of the first candidate grid, then divide the second division plane at one-tenth of the difference below the highest elevation, then calculate the space between the second division plane and the plane where the highest elevation is located as the generation space, and then calculate the average geometric centroid c of all point clouds in the generation space. , , ).

[0040] Seed point query: In the generation space, the point cloud closest to the average geometric centroid is taken as the seed point.

[0041] Output result: The seed point set Set1 of all first candidate grids.

[0042] (2) Ground filtering algorithm Use the ground filtering algorithm to filter the ground first. After filtering, the ground and the tie ground in most areas have been filtered out, and only the upper area of the rail and other non-track area ground noise points remain in the remaining point cloud.

[0043] Ground segmentation: use progressive morphological filtering or surface fitting algorithm to separate the ground point cloud set from the track point cloud and the non-ground point cloud set .

[0044] Non-ground point gridding: the method is the same as step one of the neighborhood constraint method, divide into multiple grids​ , reserve non-empty grid }.

[0045] Each grid carries out seed point extraction: If the number of points in the grid is less than the minimum point threshold, it is an empty grid, and it is skipped.

[0046] For each non-empty grid , the seed point selection is the same as step four of the neighborhood constraint method, and the seed point set Set2 is obtained.

[0047] Finally, the seed point sets Set1 and Set2 obtained by the two methods are merged into the initial set for subsequent calculation. In this way, two different candidate grids are obtained by the neighborhood constraint method and the ground filtering algorithm, respectively, and seed points are selected from each grid to analyze the neighborhood features of the point cloud, collect seed points to reduce the complexity of data calculation, and improve the recall rate of initial feature points and segmentation accuracy.

[0048] Grid the seed points with the second size to obtain multiple feature grids, and then perform linear fitting on the seed points in each feature grid to obtain multiple corresponding seed line segments; For the seed points collected in the local 0.07m grid, perform local geometric feature fitting with 1m grid as the feature fitting control size. The 1m*1m grid can control the local line segment length within 1.4m, control the clustering length, reduce the interference degree of the noise in the rail intersection area and the area with uneven density, and limit the local noise within a single grid.

[0049] Step 1: Divide the seed point cloud into different feature grids 1m) according to the preset grid size (1m ); Step 2: Perform Euclidean clustering on the seed points in each feature grid to generate multiple candidate point clusters; Step 3: Fit each point cluster by RANSAC algorithm to obtain the corresponding straight line segment; Step 4: Perform linear analysis on the fitted straight line and point cloud cluster to filter out the straight line segments that do not meet the threshold in linearity, separation, and length.

[0050] Step 5: Associate each line segment that meets the conditions to the corresponding feature grid to obtain multiple seed line segments.

[0051] Fit the seed line segments in all grids to obtain the track line, and then extract the track point cloud according to the track line.

[0052] In the feature grid Based on the controlled local feature set, trajectory fitting is performed. Through spatial search and geometric constraints, extended edges aligned with the reference trajectory are found. Constraints are applied to core parameters such as direction angle, parallel distance, segment distance, and reference trajectory consistency. Association information is recorded, maintaining the geometric and topological association information of the two trajectories (such as segment order, opposite edge relationships, and associated segments). The main process is as follows: Orbit pair discovery phase: Initial orbit pairs are identified using a seed edge matching algorithm; Bidirectional expansion phase: The two tracks are expanded synchronously in the forward / backward direction. By constraining the track spacing, the difference in the expansion progress of the two tracks is calculated in real time to ensure that the two tracks grow synchronously and avoid excessive extension on one side, which would cause them to gradually deviate due to noise mixing.

[0053] Geometric verification phase: The validity of the track is verified by scoring the geometric feature function through directional consistency, spacing threshold and linearity constraints.

[0054] Association recording phase: Record the geometric information and expansion order of the expanded edges, and maintain the mutual association information between adjacent and opposite edges.

[0055] The specific steps are as follows: (1) Directed edge conversion: Calculate the global directional trend of all seed segments, and convert the seed segments (undirected segments) into directed edges based on the trend direction.

[0056] (2) Initial matching of orbit pairs: (I) Randomly select unmatched seed segments within the control grid. Calculate the target grid position on the opposite side of the line segment. At the point 1.505m normal to the midline point (distance from the track centerline, approximately equal to the inner track distance (1.435) + track width (0.07m)), calculate the grid corresponding to that position. (II) At the target location grid The inner search finds parallel line segments that satisfy the following conditions. : |parallel_distance( , -1.505m|≤∆ and angle( , )≤10° and Length( >0.2m Where parallel_distance( , )for and The parallel distance between them is taken as From the starting point to The vertical distance of the straight line.

[0057] If a unique line segment is found in the target grid, take the line segment as the target line segment .

[0058] If multiple line segments are found in the target grid, sort them according to the order of smaller angle, closer position to the target point, and longer length, and select the line segment at the front of the order as the target line segment .

[0059] If there is no matching line segment in the target grid, find a line segment that meets the angle, distance, and length in the 8-neighborhood of the target grid, and sort them according to the order of smaller angle, closer position to the target point, and longer length, and select the line segment at the front of the order as the target line segment .

[0060] (III) Form a track pair TrackPair with and . If no match is found, continue to randomly select the next line segment that has not been selected, re-initialize the matching, until completion, and enter the expansion phase.

[0061] (3) Expansion priority determination: Before each expansion, according to the current expansion direction of the double track, calculate the projection value of the starting point of the front line segment on the average direction vector , , and preferentially expand the track on the side with smaller projection value; 1) Take the direction vectors of the frontmost directed line segments on both sides of the track and . 2) Calculate the average direction vector

[0062] = , and normalize . 3) Calculate the projections

[0063] and of the two starting points and on . The projection value of the starting point

[0064] : = + The projection value of the starting point : = + ​​ 4) Comparison and : < : The starting point is It's lagging behind in terms of direction. (Choice) Priority expansion > : The starting point is It's lagging behind in terms of direction. (Choice) Priority expansion = The starting positions are the same. Random selection. (4) Perform progressive track expansion on the selected edges, as follows (to expand) (For example) 1) Candidate edge search, starting from the front endpoint The grid to which the location belongs is the candidate grid, and the surrounding neighboring grids are the backup candidate grids.

[0065] 2) Traverse the directed edges within the candidate grid, filter according to the conditions, and process each candidate edge... Perform the following checks: ① Length range: 0.2m ≤ length( )≤ (1.4m) (Filter out line segments that are too short or whose length exceeds the grid range) ② Direction angle: and The included angle is less than the threshold θ ≤ angle_threshold (10°). ③ Parallel distance: arrive perpendicular distance of the line ≤parallel_threshold(0.1m).

[0066] ④ Adjacent distance: arrive Minimum distance of line segment ≤dist_threshold(2m), taking 2m can skip blank positions such as occluded point clouds and connect to track segments that are further away.

[0067] ⑤ Expansion direction: Must be located The "front" (i.e.) exist The vertical projection point on is located at Within the line segment, or in the rearward extension direction of the track).

[0068] 6. Distance to the opposite track: the parallel distance to the frontmost line segment of the opposite track must be equal to the track center distance (1.435 + 0.07 ± ), the perpendicular distance from the midpoint of the directed line segment to the track center line, with an allowed error 3) Extension edge search and selection: Preferably select edges within the candidate grid that meet the constraint conditions, and search for edges from the adjacent grid when not found within the candidate grid. When there are multiple candidate edges that meet the conditions, the optimal edge is selected by weighted scoring (distance, direction, length).

[0069] Scoring formula: Score= + + Where: , , are weight coefficients, respectively distance, angle, length coefficients + =1 , are normalized sub-scores (range [0, 1]) Distance sub-score: =α*(1- )+(1–α)*(1- ), where α ∈ (0, 1) is the influence factor of parallel distance and line segment distance.

[0070] Direction sub-score: =1- Length sub-score: = According to the scoring results, candidate edges with closer positions, more consistent parallel directions, and longer lengths can be preferentially selected, with higher stability.

[0071] 4) Extend the track and record associated information: Mark the grid as an extended grid, record the extension edge sequence and related information, and update the adjacent edge and opposite edge association relationship, and bind the corresponding line segment of the other side of the track closest to the line segment to the opposite edge relationship of the line segment.

[0072] ​​​(5) Cyclic expansion: Repeat (3)~(4) until it can no longer expand.

[0073] (6) Reverse expansion: Change the expansion direction and execute process (3)~(5) to obtain a pair of matching track edges.

[0074] (7) Dynamic release and rematching of invalid track pairs: Track pairs with fewer than 2 line segments automatically release resources so that they can participate in subsequent track expansion after release.

[0075] (8) Global traversal: Repeat (2)~(7) until all grids are processed, at which point multiple pairs of matching track edges can be obtained.

[0076] (9) Based on the extended track pairs and their recorded order and related information, calculate the points on the center line and traverse the extended edges of the track in sequence to generate the center line.

[0077] 1) Obtain this extended line segment midpoint and the line segment of the other side of the track. midpoint .

[0078] 2) Take and The average value is used as the plane coordinate of a point on the center line of the plane. ,by and The average elevation as the elevation of the center point .

[0079] 3) Calculate the points on the center line sequentially according to the expansion order.

[0080] 4) Connect the calculated center points sequentially (check for 'backward' points during the connection process and skip 'backward' points) to obtain the track centerline.

[0081] (10) Based on the outer width W of the track width (track clearance + 2 times the track width), query the buffer range of W / 2 on both sides of the center line to extract the track point cloud. In this way, the seed points are fitted in a specific local range to generate the corresponding seed line segments, ensuring the quality of the line segments and removing interference. This serves as the basic input of the track line generation algorithm, ensuring the robustness of extraction in complex scenarios and the generalization ability of the track generation algorithm.

[0082] On the other hand, the present invention also provides a computer, including at least one processor and a memory, the memory storing a computer program configured to be executed by the processor to implement the above-described method for efficient extraction of orbital point clouds.

[0083] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.

Claims

1. A method for efficient extraction of orbital point clouds, characterized in that: include: Obtain the orbit point cloud and mesh it with a first size. Then, use the neighborhood constraint method to extract the mesh of all point clouds containing the orbit part to obtain multiple first candidate meshes. The orbital point cloud is filtered using a ground filtering algorithm to obtain a filtered point cloud. Then, the filtered point cloud is meshed with a first size to obtain multiple second candidate meshes. Calculate the average geometric centroid of the point cloud in each first and second candidate grid, and use the point cloud points that are far from the average geometric centroid as the seed points of the corresponding grid. The seed points are meshed with the second size to obtain multiple feature grids. Then, linear fitting is performed on the seed points in each feature grid to obtain multiple corresponding seed line segments. The seed line segments in all grids are fitted to obtain the trajectory lines, and then the trajectory point cloud is extracted based on the trajectory lines.

2. The efficient method for extracting orbital point clouds as described in claim 1, characterized in that: After acquiring the orbital point cloud, it needs to be filtered. Filtering methods include: The orbital point cloud is divided into multiple two-dimensional grids in the horizontal direction according to a preset size; Calculate the ground elevation estimate in each two-dimensional grid. And statistically analyze the elevation range within [ -5m, Number of all point clouds within +5m] ; In response to If the noise level exceeds the point cloud noise tolerance threshold, all point clouds within the two-dimensional grid are removed. In response to Point cloud noise tolerance threshold less than or equal to is removed from the two-dimensional grid where the elevation is greater than 1. Point cloud of +5m.

3. The efficient method for extracting orbital point clouds as described in claim 2, characterized in that: Calculate the difference between the highest and lowest elevations of the two-dimensional grid. Then, starting from the lowest elevation, divide the grid into a first boundary plane at a point one-tenth of the difference upwards. Finally, use the average elevation of all point clouds between the first boundary plane and the plane containing the lowest elevation as the ground elevation estimate. .

4. The efficient method for extracting orbital point clouds as described in claim 1, characterized in that: After meshing the orbital point cloud with the first size, for each grid, the point cloud in the grid is sorted in ascending order according to the elevation to obtain an ordered point cloud set; If, after removing multiple point clouds before and after the ordered point cloud set as required, the number of point clouds in the ordered point cloud set is less than the preset number, then the grid is marked as an empty grid.

5. The efficient method for extracting orbital point clouds as described in claim 4, characterized in that: Methods for extracting meshes of point clouds containing orbital portions using the neighborhood constraint method to obtain multiple first candidate meshes include: S1: Calculate the highest elevation, lowest elevation, and average elevation of all point clouds within each non-empty grid. S2: For each grid, calculate the difference in the highest elevation between the grid and all its adjacent grids. If the difference in the highest elevation between the grid and all its adjacent grids is greater than or equal to a preset value, then mark the grid. This process is repeated to obtain multiple marked grids. S3: For each marked grid, calculate the difference in average elevation between the grid and all its neighboring grids, and classify all neighboring grids according to the difference to obtain multiple neighborhood classes. Then, based on the number of each neighborhood class, determine whether the marked grid is the first candidate grid according to the preset rules. S4: Traverse all grids and repeat steps S2-S3 to obtain multiple first candidate grids.

6. The efficient method for extracting orbital point clouds as described in claim 1, characterized in that: A ground filtering algorithm is used to divide the orbital point cloud into a ground point cloud set and a non-ground point cloud set, and then the non-ground point cloud set is used as the filter point cloud.

7. The efficient method for extracting orbital point clouds as described in claim 1, characterized in that: The method for calculating the average geometric centroid of the point cloud in each first and second candidate grid, and using the point cloud points at a distance from this average geometric centroid as seed points for the corresponding grid, includes: For each first candidate grid and second candidate grid, calculate the difference between the highest and lowest elevations of the grid. Then, starting from the highest elevation, divide the second boundary plane downwards by one-tenth of the difference. Then, calculate the space between the second boundary plane and the plane containing the highest elevation as the generated space. Calculate the average geometric centroid of all point clouds in the generated space, and then use the point clouds in the generated space that are far from the average geometric centroid as seed points.

8. The efficient method for extracting orbital point clouds as described in claim 1, characterized in that: Methods for obtaining multiple seed line segments by linear fitting to seed points in each feature grid include: Perform Euclidean clustering on the seed points in each feature grid to generate multiple candidate point clusters; The RANSAC algorithm is used to fit each cluster of points to obtain the line segment corresponding to each cluster of points. Linear analysis filtering is performed on all line segments to obtain multiple seed line segments.

9. The efficient method for extracting orbital point clouds as described in claim 1, characterized in that: Methods for fitting seed line segments in all grids to obtain the trajectory line include: Determine the extension direction of all seed segments, and use the extension direction as a reference to convert all seed segments into directed edges; For each seed line segment, determine the target mesh of the opposite edge of the seed line segment, and extract a line segment parallel to the seed line segment within the target mesh of the opposite edge as the matching line segment of the seed line segment, thus obtaining the result. The initial track segment is determined based on the extension direction, and the seed segment or matching segment is progressively extended from the initial track segment to obtain multiple pairs of matching track edges. Calculate the centerline of each pair of track edges and merge all the centerlines to obtain the track lines.

10. A computer, characterized in that: It includes at least one processor and a memory, the memory storing a computer program configured to be executed by the processor to implement the efficient orbital point cloud extraction method according to any one of claims 1-9.