Point cloud segmentation method and system

Through rasterization and fitting plane technology, the problem of inaccuracy and inefficiency of traditional point cloud segmentation methods in complex terrain processing is solved, and more efficient and accurate ground point cloud segmentation is achieved.

CN119850642APending Publication Date: 2025-04-18HUZHOU HONGWEI NEW ENERGY AUTOMOBILE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411717645.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The traditional ground point cloud segmentation method has problems of accuracy and inefficiency when dealing with complex terrain, and fails to fully consider terrain changes and effectively process raw point cloud data.

Method used

By acquiring surface point cloud data, rastering is performed based on the acquisition origin, raster type is determined, and the point cloud data is fitted based on these types to obtain the fitting plane.

Benefits of technology

This method effectively improves the consideration of complex surface morphology changes and the screening of original point cloud data by reducing the computational complexity and improving the accuracy of point cloud segmentation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119850642A_ABST
    Figure CN119850642A_ABST
Patent Text Reader

Abstract

The invention discloses a point cloud segmentation method and system. The point cloud segmentation method comprises the following steps: acquiring surface point cloud data; the surface point cloud data is rasterized according to the collection original point to obtain grid point cloud data, the collection original point is a collection point of the point cloud data, and the grid point cloud data comprises a plurality of grids; traversing the plurality of grids, and determining grid types of the plurality of grids; and fitting the surface point cloud data according to the grid types of the plurality of grids to obtain a fitting plane. Particularly, the technical problem that the accuracy and efficiency of ground point cloud segmentation are low due to the fact that topographic changes are not fully considered and a large amount of original point cloud data are not directly processed is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of point cloud processing, and in particular to a point cloud segmentation method and system. Background Art

[0002] Point cloud segmentation technology is one of the important technologies in LiDAR sensor data processing. In complex environments such as mining areas, unmanned vehicles rely on high-precision ground point cloud segmentation to achieve safe navigation and operation. When processing point cloud data containing terrain features such as slopes, potholes, and gravel, traditional ground point cloud segmentation methods often fail to fully consider complex terrain changes, resulting in under-segmentation or over-segmentation, causing low accuracy of point cloud segmentation, which in turn affects the performance of unmanned driving systems. In addition, in existing ground point cloud segmentation methods, the direct processing of a large amount of raw point cloud data causes the algorithm's computational complexity to increase dramatically, which in turn affects the processing speed and causes low efficiency of point cloud segmentation.

[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0004] The embodiments of the present invention provide a point cloud segmentation method and system, which are particularly suitable for solving the technical problems of low accuracy and efficiency of ground point cloud segmentation caused by not fully considering terrain changes and directly processing a large amount of original point cloud data.

[0005] According to one aspect of an embodiment of the present invention, a point cloud segmentation method is provided, comprising: obtaining surface point cloud data; rasterizing the surface point cloud data according to a collection origin to obtain raster point cloud data, wherein the collection origin is a collection point of the point cloud data, and the raster point cloud data includes multiple grids; traversing multiple grids to determine the grid types of the multiple grids; fitting the surface point cloud data according to the grid types of the multiple grids to obtain a fitting plane. The present application can be applied to any surface, especially the ground, and can solve the technical problems of low accuracy and efficiency of ground point cloud segmentation caused by not fully considering terrain changes and directly processing a large amount of original point cloud data.

[0006] Optionally, the surface point cloud data is rasterized according to the acquisition origin to obtain raster point cloud data, including: dividing the surface point cloud data into multiple point cloud areas according to the acquisition origin; traversing the multiple point cloud areas, and dividing the multiple point cloud areas into grids according to a preset grid size to obtain raster point cloud data, wherein the raster point cloud data includes multiple point cloud areas, and each point cloud area includes multiple grids.

[0007] Optionally, traversing multiple grids and determining grid types of the multiple grids includes: traversing multiple grids and determining the height difference between point cloud data in the multiple grids; and determining the grid type of the currently traversed grid according to the height difference.

[0008] Optionally, the height difference includes a first height difference and a second height difference, and traversing multiple grids to determine the height difference between the point cloud data in the multiple grids includes: traversing multiple grids to determine the height difference between the highest point and the lowest point of the point cloud in the point cloud data in the multiple grids to obtain the first height difference; determining the height difference between the lowest point of the point cloud in the currently traversed grid and the lowest point of the point cloud in the adjacent grid to obtain the second height difference.

[0009] Optionally, the grid type includes a surface type and a non-surface type, and the grid type of the currently traversed grid is determined based on the height difference, including: in response to the first height difference being less than or equal to a first preset threshold, and the second height difference being less than or equal to a second preset threshold, determining that the grid type of the currently traversed grid is a surface type.

[0010] Optionally, the point cloud segmentation method further includes: in response to the first height difference being greater than a first preset threshold, and / or the second height difference being greater than a second preset threshold, determining that the grid type of the currently traversed grid is a non-surface type.

[0011] Optionally, the grid type includes a surface type and a non-surface type, and the surface point cloud data is fitted according to the grid types of multiple grids to obtain a fitting plane, including: traversing multiple point cloud areas, extracting grids with surface types in the currently traversed point cloud area, and obtaining multiple target grids; using a preset fitting algorithm, fitting the point cloud data in the multiple target grids to obtain a fitting plane corresponding to the currently traversed point cloud area.

[0012] Optionally, the grid type includes a surface type and a non-surface type, and the surface point cloud data is fitted according to the grid types of multiple grids to obtain a fitting plane, including: traversing multiple point cloud areas, extracting grids with a surface type in the currently traversed point cloud area to obtain multiple target grids, extracting grids with a non-surface type in the currently traversed point cloud area to obtain multiple non-target grids; using a preset fitting algorithm, fitting the point cloud data in the multiple target grids to obtain an initial plane corresponding to the currently traversed point cloud area; according to the initial plane, determining the distance between the point clouds in the multiple target grids and the initial plane to obtain a first distance; according to the initial plane, determining the distance between the point clouds in the multiple non-target grids and the initial plane to obtain a second distance; determining a surface point cloud set according to the first distance, the second distance, the target grid and the non-target grid; using a preset fitting algorithm, fitting the surface point cloud set to obtain a fitting plane.

[0013] Optionally, a surface point cloud set is determined based on the first distance, the second distance, the target grid and the non-target grid, including: in the target grid, extracting the point cloud whose first distance is less than a first preset distance threshold as the first surface point cloud; in the non-target grid, extracting the point cloud whose second distance is less than a second preset distance threshold as the second surface point cloud, wherein the first preset distance threshold is greater than the second preset distance threshold; and determining the surface point cloud set based on the first surface point cloud and the second surface point cloud.

[0014] Optionally, in the point cloud segmentation method, the surface is the ground.

[0015] According to another aspect of an embodiment of the present invention, a point cloud segmentation system is also provided, including: an acquisition module for acquiring surface point cloud data; a division module for rasterizing the surface point cloud data according to a collection origin to obtain grid point cloud data, wherein the collection origin is a collection point of the point cloud data, and the grid point cloud data includes multiple grids; a determination module for traversing multiple grids to determine the grid types of the multiple grids; a fitting module for fitting the surface point cloud data according to the grid types of the multiple grids to obtain a fitting plane.

[0016] Optionally, in the point cloud segmentation system, the surface is the ground.

[0017] In an embodiment of the present invention, surface point cloud data is acquired; according to the acquisition origin, the surface point cloud data is rasterized to obtain grid point cloud data, wherein the acquisition origin is the acquisition point of the point cloud data, and the grid point cloud data includes multiple grids; the multiple grids are traversed to determine the grid types of the multiple grids; according to the grid types of the multiple grids, the surface point cloud data is fitted to obtain a fitting plane. The present invention achieves the purpose of reducing computational complexity and improving the accuracy of point cloud segmentation by adopting a rasterization method, screening point cloud data based on a determined grid type, and fitting the screened point cloud data, thereby fully considering the changes in complex surface morphology and screening the original point cloud data, and effectively improving the accuracy and efficiency of surface point cloud segmentation. The technical effect is particularly suitable for solving the technical problem of low accuracy and efficiency of ground point cloud segmentation caused by not fully considering terrain changes and directly processing a large amount of original point cloud data. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:

[0019] Figure 1 is a flow chart of a point cloud segmentation method according to one embodiment of the present invention;

[0020] Figure 2 is a schematic diagram of performing area division and rasterization on point cloud data according to one embodiment of the present invention;

[0021] Figure 3 is a flow chart of a ground point cloud segmentation method according to one embodiment of the present invention;

[0022] Figure 4 is a structural block diagram of a point cloud segmentation system according to one embodiment of the present invention;

[0023] Figure 5 is a structural block diagram of an electronic device according to one embodiment of the present invention. DETAILED DESCRIPTION

[0024] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0025] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0026] According to an embodiment of the present invention, an embodiment of a point cloud segmentation method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0027] Figure 1 is a flow chart of a point cloud segmentation method according to one embodiment of the present invention. Figure 1 As shown, the method comprises the following steps:

[0028] Step S101, obtaining surface point cloud data.

[0029] It should be noted that the surface in the present application may be the ground. Therefore, for ease of understanding, the ground is used as a representative of the surface to describe the embodiments of the present application.

[0030] For example, the LiDAR sensor continuously scans the ground environment by emitting laser pulses. When the laser pulse encounters an object and reflects back, the LiDAR sensor records the reflection time and calculates the distance based on the time difference. At the same time, the position and direction information of the LiDAR can determine the coordinates of each point in three-dimensional space to form point cloud data.

[0031] Optionally, after obtaining the complete point cloud data, the point cloud data needs to be preprocessed, including but not limited to denoising, filtering and coordinate transformation, to ensure data quality and consistency. For example, remove points that are too far away or have too low reflection intensity, which may be noise or invalid data; perform coordinate transformation to convert the point cloud data into a coordinate system with the laser radar position as the origin, to facilitate subsequent processing steps.

[0032] Step S102, rasterizing the surface point cloud data according to the acquisition origin to obtain raster point cloud data, wherein the acquisition origin is the acquisition point of the point cloud data, and the raster point cloud data includes a plurality of grids.

[0033] Specifically, the acquisition origin refers to the location of the sensor that collects point cloud data, that is, the LiDAR or other point cloud acquisition equipment. For example, in an unmanned vehicle, the LiDAR is usually installed on the top of the vehicle to ensure that all-round point cloud data of the surrounding environment can be obtained. The selection of the origin is crucial for subsequent data processing. It provides a reference point so that all point cloud data can be located and organized according to their relative position to the LiDAR.

[0034] Specifically, rasterization refers to converting ground point cloud data in a continuous three-dimensional space into a two-dimensional or three-dimensional grid structure. In the present invention, two-dimensional rasterization is mainly performed, that is, the ground point cloud data on the horizontal plane is divided into a plurality of square or rectangular grids. The size of each grid needs to be set according to the density of the point cloud and the efficiency requirements of the algorithm. For example, in areas with higher point cloud density, the grid is set to be smaller in order to more finely capture terrain features; and in areas with lower point cloud density, the grid is set to be larger to reduce the computational burden.

[0035] Optionally, before rasterizing the ground point cloud data, the ground point cloud data needs to be divided into regions to obtain multiple point cloud regions. Region division allows the algorithm to focus on the local features of the point cloud data rather than the entire point cloud collection, which is especially important for processing environments with complex and changing terrain, because different terrains will show different characteristics in a small area, such as flat ground, slopes, potholes, etc. Through local area analysis, these features can be identified more accurately and the accuracy of segmentation can be improved.

[0036] In addition, grid point cloud data is the result of reorganizing the original point cloud data according to the grid structure. Each grid is regarded as a data unit, which contains the collection of all point cloud data in the area. The generation of grid point cloud data not only simplifies the structure of the original data, but also facilitates the efficient access and analysis of local areas in subsequent processing.

[0037] Step S103, traverse multiple grids and determine the grid types of the multiple grids.

[0038] Specifically, after the point cloud data is rasterized, each grid in each area is traversed and visited. Traversal means checking each grid one by one and analyzing the properties of the point cloud data therein for more in-depth classification.

[0039] For example, when traversing each grid, the grid type of the currently traversed grid can be determined by determining the distance from the point cloud data in each grid to the preset fitting plane, or determining the density of the point cloud data in each grid, or determining the height difference of the point cloud data in each grid, etc. Among them, the grid type can be divided into ground grid, ground grid with obstacles, and non-ground grid, etc.

[0040] By determining the grid types of multiple grids, the ground point cloud segmentation method can further refine the recognition of the ground and obstacles, ensure the accuracy and reliability of the segmentation results, while reducing the dependence on high-performance computing units and improving the computational efficiency of the algorithm.

[0041] Step S104: fitting the surface point cloud data according to the grid types of the plurality of grids to obtain a fitting plane.

[0042] Based on the determined grid type, when fitting the ground plane, the focus will be on those grids with the grid type of "ground grid". The point cloud data in these grids are considered to have small height changes and are consistent with the surrounding grid heights, and are more likely to be a true reflection of the ground. Therefore, the data selected from these grids will be used for subsequent plane fitting to improve the accuracy and reliability of the fitting results.

[0043] After selecting the ground point cloud data set for fitting, a plane fitting algorithm, such as the Random Sample Consensus (RANSAC) algorithm, is used to fit these point cloud data to determine the equation of the ground plane. Exemplarily, the RANSAC algorithm fits multiple models by randomly selecting data points and selects the best model through consistency checks. This method is particularly suitable for processing data sets containing noise and outliers, and can effectively improve the robustness of the fitted plane.

[0044] Optionally, after fitting the ground plane equation, the plane can be used as a preliminary fitting plane, and then all grids are traversed again to select point cloud data that meet the preset conditions, and then the plane fitting algorithm is used to fit the point cloud data in the selected grids again to obtain the final fitting plane. Among them, the preset condition can be exemplarily set as the distance from the point cloud data in each grid to the preliminary fitting plane. Through this fine filtering and secondary fitting, the problems of over-segmentation (mistaking obstacles for the ground) and under-segmentation (mistaking ground points for obstacles) can be effectively avoided, and the accuracy of ground segmentation can be improved.

[0045] In an embodiment of the present invention, surface point cloud data is acquired; according to the acquisition origin, the surface point cloud data is rasterized to obtain grid point cloud data, wherein the acquisition origin is the acquisition point of the point cloud data, and the grid point cloud data includes multiple grids; the multiple grids are traversed to determine the grid types of the multiple grids; according to the grid types of the multiple grids, the surface point cloud data is fitted to obtain a fitting plane. The present invention achieves the purpose of reducing computational complexity and improving the accuracy of point cloud segmentation by adopting the method of area division and rasterization, screening point cloud data based on the determined grid type, and fitting the screened point cloud data using a fitting algorithm, thereby achieving the technical effect of effectively improving the accuracy and efficiency of ground point cloud segmentation by fully considering complex terrain changes and screening original point cloud data, thereby solving the technical problem of low accuracy and efficiency of ground point cloud segmentation caused by not fully considering terrain changes and directly processing a large amount of original point cloud data.

[0046] Optionally, in step S102, rasterizing the surface point cloud data according to the acquisition origin to obtain raster point cloud data may include the following steps:

[0047] Step S1021, dividing the surface point cloud data into a plurality of point cloud regions according to the acquisition origin;

[0048] Exemplarily, in the present invention, the position of the laser radar is used as the acquisition origin, and all point cloud data will be spatially positioned with reference to this origin.

[0049] A three-dimensional coordinate system is established with the acquisition origin as the coordinate origin. Based on this coordinate system, the ground point cloud data will be divided into multiple point cloud areas. Specifically, these areas are divided according to the distance between the point cloud data and the origin. Usually, point clouds with large distance differences will be divided into different areas. The advantage of this division is that point cloud data of different distances can be processed separately to avoid interference of long-distance point clouds on the processing of short-distance point clouds. It also helps parallel execution of algorithms and improves processing speed.

[0050] It should be noted that the region division has a certain degree of flexibility and needs to be adjusted according to the actual scene and the characteristics of the point cloud data. For example, in an environment with uneven point cloud density, the size of the region needs to be dynamically adjusted to ensure that the amount of point cloud data in each region is moderate, so that the computing efficiency is not affected by too much data, and the segmentation accuracy is not affected by too little data.

[0051] Step S1022, traverse multiple point cloud areas, divide the multiple point cloud areas into grids according to a preset grid size, and obtain grid point cloud data, wherein the grid point cloud data includes multiple point cloud areas, and each point cloud area includes multiple grids.

[0052] Specifically, after completing the regional division of the ground point cloud data, it is necessary to traverse each point cloud area one by one. Each area contains a certain range of point cloud data, which is divided according to the distance from the acquisition origin.

[0053] Specifically, before rasterization, the grid size needs to be preset. The choice of grid size is determined by the density of the point cloud data and the requirements of the algorithm. If the point cloud is very dense, the grid size can be set smaller, so that the amount of point cloud data in each grid is small, and the feature analysis can be performed more carefully; conversely, if the point cloud is sparse, the grid size may need to be larger to ensure that there is enough point cloud data in each grid for effective analysis.

[0054] In each point cloud region, the region is further divided into grid-like sub-regions, i.e., grids, according to a preset grid size. Each grid is a square or rectangle, and its size is determined by the grid size. For example, Figure 2 FIG. 1 is a schematic diagram of performing region division and rasterization on point cloud data according to one embodiment of the present invention. Figure 2As shown in the figure, the acquired ground point cloud data is divided into three areas, and grid division is performed in area 1. All point cloud data will be assigned to the corresponding grids to form grid point cloud data. Through the above-mentioned rasterization processing, each point cloud area is subdivided into multiple grids, and each grid contains a certain amount of point cloud data. This data organization method not only simplifies the processing of point cloud data, but also improves the algorithm's ability to analyze local features, especially when dealing with complex and changeable mining environments, it can more effectively identify the ground and obstacles.

[0055] It should be noted that the setting of the grid size has a certain degree of flexibility and needs to be adjusted according to the distribution characteristics of the point cloud data and environmental conditions. For example, in areas with high point cloud density, a smaller grid size can be used to perform more detailed feature analysis; in areas with sparse point clouds, a larger grid size can be used to reduce the complexity of data processing.

[0056] Optionally, in step S103, traversing multiple grids to determine grid types of the multiple grids may include the following steps:

[0057] Step S1031, traversing multiple grids to determine the height difference between the point cloud data in the multiple grids;

[0058] After the grid division is completed, all grids in each point cloud area are traversed. The purpose of grid traversal is to perform feature analysis within each grid and between grids, especially the calculation of height difference, so as to identify ground and non-ground areas.

[0059] Optionally, the height difference includes a first height difference and a second height difference, and traversing multiple grids to determine the height difference between the point cloud data in the multiple grids includes:

[0060] Step S10311, traversing multiple grids, determining the height difference between the highest point and the lowest point in the point cloud data in the multiple grids, and obtaining a first height difference;

[0061] Specifically, traverse each grid, find and determine the highest and lowest points in the point cloud data within each grid. This is usually achieved by comparing the height values ​​of all point cloud data in the vertical direction (z axis). The determination of the highest and lowest points provides the basis for calculating the height difference.

[0062] Specifically, after determining the highest and lowest points of the point cloud in the grid, the height difference between the two points is calculated. This height difference is called the first height difference. The first height difference reflects the maximum vertical variation of the point cloud data in the grid, and is an important basis for judging whether a grid can represent ground features.

[0063] Step S10312, determining the height difference between the lowest point of the point cloud in the currently traversed grid and the lowest point of the point cloud in the adjacent grid to obtain a second height difference.

[0064] Specifically, first determine the lowest point of the point cloud inside the current traversal grid. After determining the lowest point of the point cloud of the current traversal grid, identify all adjacent grids of the current traversal grid, and determine the lowest point of the point cloud in each adjacent grid. Each grid has eight adjacent grids, located on its four sides and four diagonal directions, and these adjacent grids are closely connected to the target grid in space, forming a local area.

[0065] After the lowest point of the point cloud of the current traversed grid and all adjacent grids are determined, the height difference between the lowest point of the point cloud of the current traversed grid and the lowest point of the point cloud of each adjacent grid is calculated, and the maximum value of these height differences is recorded as the second height difference. The second height difference reflects the relative height difference between the current traversed grid and the surrounding environment in the vertical direction, and is an important indicator for evaluating whether a grid may belong to the same ground plane.

[0066] Step S1032, determining the grid type of the currently traversed grid according to the height difference.

[0067] The height difference information reflects the height changes within the grid and between the grid and the surrounding environment in the vertical direction. By analyzing the height changes of the point cloud data, it is possible to more accurately determine whether each grid belongs to the ground, thereby optimizing the entire segmentation process.

[0068] Optionally, the grid type includes a surface type and a non-surface type. The grid type of the current traversed grid is determined based on the height difference, including:

[0069] Step S10321: In response to the first height difference being less than or equal to the first preset threshold, and the second height difference being less than or equal to the second preset threshold, determining that the grid type of the currently traversed grid is a surface type.

[0070] Specifically, if the first height difference is less than or equal to the first preset threshold (exemplarily, the first preset threshold can be selected from 25cm-35cm), this means that the height variation of the point cloud in the grid is within the allowable range, the grid is relatively flat, and may be part of the ground. At the same time, if the second height difference is less than or equal to the second preset threshold (exemplarily, the second preset threshold can be selected from 25cm-35cm), this indicates that the height variation of the current grid and the adjacent grid in the vertical direction is also controlled within an acceptable range, and a certain continuity is maintained between the grids. Both conditions are met, indicating that the point cloud data in the current grid is consistent with the surrounding environment in vertical features, increasing the possibility that it belongs to the ground.

[0071] When the first height difference and the second height difference simultaneously meet the corresponding threshold conditions, the type of the currently traversed grid is determined to be "ground type". This means that the point cloud data in the grid will be preliminarily identified as ground point cloud data, which is valuable for further processing and analysis, and is used for subsequent steps such as ground plane fitting.

[0072] It should be noted that the setting of the first preset threshold and the second preset threshold is based on the understanding of the distribution of ground features and point cloud data. The setting of the threshold needs to find a balance between accuracy and computational efficiency. If the threshold is set too low, ground features may be misjudged as non-ground (under-segmentation), while if the threshold is set too high, non-ground features may be misjudged as ground (over-segmentation). Therefore, the selection of the threshold needs to be adjusted and optimized according to the specific application scenario and the specific circumstances of the point cloud data. In addition, the first preset threshold and the second preset threshold are both thresholds used in the first coarse filtering, with the aim of providing better points for subsequent plane fitting.

[0073] Optionally, the point cloud segmentation method further includes:

[0074] Step S10322: In response to the first height difference being greater than a first preset threshold, and / or the second height difference being greater than a second preset threshold, determining that the grid type of the currently traversed grid is a non-surface type.

[0075] Specifically, if the first height difference of the current grid is greater than the first preset threshold, this means that the height of the point cloud data inside the current grid changes significantly, exceeding the preset standard of ground flatness. This may indicate that there are obstacles, potholes, slopes and other non-ground features in the current grid, so the type of the current grid is determined as a non-ground type. In addition, if the second height difference between the current grid and the adjacent grid is greater than the second preset threshold, this indicates that the grid is discontinuous with the surrounding environment in the vertical direction and may be in a protruding or concave position, which is also not suitable for marking as a ground type.

[0076] If any of the above conditions is met, that is, the first height difference is greater than the first preset threshold, or the second height difference is greater than the second preset threshold, then the grid type currently traversed is determined to be a non-ground type. This indicates that the point cloud data in the grid either has large internal fluctuations or is discontinuous in the vertical direction with the surrounding environment, and is likely to be an obstacle or part of a complex terrain area.

[0077] It should be noted that grids marked as non-ground type mean that they are considered to contain no or mainly no point cloud data that can be used to fit the ground plane in the initial screening. However, this does not mean that the point cloud data in these grids is of no value. In subsequent processing steps, the point cloud data contained in the non-ground type grid can be further analyzed to more accurately identify the boundary between the ground and non-ground.

[0078] Optionally, in step S104, the grid type includes a surface type and a non-surface type, and fitting the surface point cloud data according to the grid types of the plurality of grids to obtain a fitting plane may include the following steps:

[0079] Step S104a, traversing multiple point cloud regions, extracting grids of surface type in the currently traversed point cloud region, and obtaining multiple target grids;

[0080] Specifically, all ground-type grids are extracted during the traversal process and marked as "target grids". These target grids form the main data basis for subsequent analysis and processing of the algorithm. The point cloud data inside the target grid will be used to fit the ground plane, thereby more accurately identifying the ground area.

[0081] Step S104b, using a preset fitting algorithm, fitting the point cloud data in the multiple target grids to obtain a fitting plane corresponding to the currently traversed point cloud area.

[0082] After the target grid is determined, the point cloud data within all target grids are extracted from multiple point cloud regions for use in the subsequent fitting process to construct a mathematical model of the ground.

[0083] Exemplarily, the point cloud data is fitted using the RANSAC algorithm, and several candidate plane models are generated by randomly sampling the screened ground point cloud data. Subsequently, the distance from each point to these candidate models is calculated to identify the model that can be supported by the most point cloud data, and this model is used as the fitting plane that best conforms to the actual ground features in the current point cloud area.

[0084] It should be noted that the RANSAC algorithm evaluates the fit of each model with the data set to ensure that the final selected model can best represent the ground points in the data set, which helps to improve the accuracy and precision of ground point cloud segmentation, especially in environments with complex terrain or obstacles. In addition, the RANSAC algorithm only processes a small part of the data set instead of the entire data set in each iteration, which greatly reduces the amount of calculation and processing time, which is particularly important for real-time or high-performance computing resources. Application scenarios with limited resources.

[0085] Optionally, in step S104, the grid type includes a surface type and a non-surface type, and fitting the surface point cloud data according to the grid types of the plurality of grids to obtain a fitting plane may include the following steps:

[0086] Step S1041, traversing multiple point cloud regions, extracting grids whose grid type is a surface type in the currently traversed point cloud region, obtaining multiple target grids, and extracting grids whose grid type is a non-surface type in the currently traversed point cloud region, obtaining multiple non-target grids;

[0087] Specifically, multiple point cloud regions are traversed, all ground-type grids in the current region are extracted and marked as "target grids", and all non-ground-type grids in the current region are extracted and marked as "non-target grids".

[0088] Step S1042, using a preset fitting algorithm, fitting the point cloud data in the plurality of target grids to obtain an initial plane corresponding to the currently traversed point cloud area;

[0089] Specifically, a preset fitting algorithm (such as the RANSAC algorithm) is used to fit the point cloud data in the extracted target grid to generate an initial plane corresponding to the currently traversed point cloud area.

[0090] It should be noted that in the ground point cloud segmentation method, multiple thresholds are usually used to filter the point cloud data to distinguish between ground points and non-ground points. The initial plane is obtained based on the preliminary screening of the coarse threshold. Therefore, on the basis of obtaining the initial plane, the threshold can be further set to finely screen the point cloud data to further distinguish and confirm which points actually belong to the ground, thereby improving the accuracy of plane fitting.

[0091] Step S1043, determining the distances between the point clouds in the plurality of target grids and the initial plane according to the initial plane, and obtaining a first distance;

[0092] Specifically, based on the distance calculation formula from point to plane, the distance between the point cloud data in the target grid and the initial plane is calculated and determined as the first distance. In other words, the first distance is the vertical distance from each point in the target grid to the initial plane, and this distance information provides the position information of each point in the target grid relative to the initial plane.

[0093] Step S1044, determining the distance between the point clouds in the plurality of non-target grids and the initial plane according to the initial plane, and obtaining a second distance;

[0094] Specifically, based on the point-to-plane distance calculation formula, the distance between the point cloud data in the non-target grid and the initial plane is calculated and determined as the second distance. The second distance information provides position information of each point in the non-target grid relative to the initial plane.

[0095] It should be noted that the main purpose of calculating the second distance is to further analyze and confirm whether the point cloud data in the non-target grid should actually belong to the ground. Since the initial screening is based on a looser threshold, some ground points may still be included in the non-target grid, especially when obstacles are closely connected to the ground or the terrain changes are complex. By calculating the second distance and comparing it with a stricter distance threshold, point cloud data that actually belongs to the ground but is initially marked as non-ground can be identified.

[0096] Step S1045, determining a surface point cloud set according to the first distance, the second distance, the target grid and the non-target grid;

[0097] Optionally, determining a surface point cloud set according to the first distance, the second distance, the target grid, and the non-target grid includes:

[0098] Step S10451, in the target grid, extracting a point cloud whose first distance is less than a first preset distance threshold as a first surface point cloud;

[0099] Specifically, for the point cloud data in the target grid, after calculating the first distance, the first distance is compared with the first preset distance threshold (for example, the first preset distance threshold can be selected from 20cm-30cm). If the first distance of a point cloud is less than the first preset distance threshold, then the point cloud will be considered to be very close to the initial plane and is therefore confirmed to belong to the "first ground point cloud". In the target grid, all point clouds that meet the above conditions are extracted to form the first ground point cloud. This process is essentially a secondary verification and refinement of the initially screened ground point cloud data to ensure that only those point cloud data that do belong to ground features are ultimately retained.

[0100] It should be noted that the setting of the first preset distance threshold is usually based on a deep understanding of ground features and the tolerance for point cloud data noise and outliers. The size of the first preset distance threshold determines which point clouds will be finally confirmed as ground points. In addition, compared with the setting of the second preset distance threshold, the setting of the first preset distance threshold is relatively loose.

[0101] Step S10452, in the non-target grid, extracting a point cloud whose second distance is less than a second preset distance threshold as a second surface point cloud, wherein the first preset distance threshold is greater than the second preset distance threshold;

[0102] Specifically, for the point cloud data in the non-target grid, after calculating the second distance, the second distance is compared with the second preset distance threshold (exemplarily, the second preset distance threshold can be selected from 10cm-15cm). If the second distance of a point cloud is less than the second preset distance threshold, then the point cloud will be confirmed as belonging to the "second ground point cloud". In the non-target grid, all point clouds that meet the above conditions are extracted to form the second ground point cloud. Because the point cloud data in the non-target grid is more likely to contain obstacles or terrain changes, through strict screening of the second preset distance threshold, those point cloud data that actually belong to ground features can be accurately identified from the non-target grid.

[0103] It should be noted that due to the complexity of the point cloud data in the non-target grid, the second preset distance threshold is usually set more strictly than the first preset distance threshold. The purpose of this is to minimize the misjudgment of non-ground points as ground points while ensuring the accuracy of segmentation. The setting of the second preset distance threshold needs to comprehensively consider the distribution of point cloud data, environmental characteristics (such as terrain changes in mining areas) and performance requirements of the algorithm to achieve the best segmentation effect.

[0104] Step S10453: determine a surface point cloud set according to the first surface point cloud and the second surface point cloud.

[0105] Specifically, the first ground point cloud and the second ground point cloud that have passed the fine filtration are merged to obtain a ground point cloud set for subsequent further processing.

[0106] It should be noted that the ground point cloud set obtained by merging the first ground point cloud and the second ground point cloud significantly improves the accuracy and robustness of ground segmentation, reduces the demand for computing resources, optimizes the path planning and obstacle avoidance capabilities of the unmanned vehicle, and thus improves the safety and efficiency of the unmanned vehicle in complex environments. The accurate construction of this set provides a solid foundation for the promotion and maturity of unmanned driving technology in practical applications.

[0107] Step S1046, using a preset fitting algorithm, fitting the surface point cloud set to obtain a fitting plane.

[0108] Specifically, after obtaining the ground point cloud set, a preset fitting algorithm is used to process the ground point cloud set to obtain a mathematical plane model that best describes the ground features.

[0109] Exemplarily, the RANSAC algorithm is used to process the ground point cloud set, including: randomly selecting a minimum number of points (usually three points for plane fitting) from the ground point cloud set, and these points are used to construct a preliminary plane model; using the selected points to construct a plane equation, in three-dimensional space, a plane can be represented by the form of Ax+By+Cz+D=0, where A, B, and C are the normal vectors of the plane, and D is the distance between the plane and the origin; calculating the distance from each point in the ground point cloud set to the preliminary constructed plane, if the distance is less than a preset inlier threshold (i.e., less than a first preset distance threshold or a second preset distance threshold, depending on whether the point comes from the first ground point cloud set or the second ground point cloud set), the point is regarded as an inlier that conforms to the model; through iteration, a different set of points is randomly selected each time to construct a plane model, and the number of inliers that conform to the model is checked, and the model with the largest number of inliers is selected as the final fitting plane.

[0110] For example, Figure 3is a flow chart of a ground point cloud segmentation method according to one embodiment of the present invention. Figure 3 As shown in the figure, the detailed steps of ground segmentation are shown. Specifically, the ground point cloud data is obtained; the point cloud data is divided into regions and rasterized; the characteristics of the raster are evaluated based on the height difference information; the raster that meets the preset requirements is marked as a ground raster, and the point cloud contained in it is added to the initial ground point set; the raster that does not meet the preset requirements is marked as other types of raster; the initial ground point set is fitted using the RANSAC fitting algorithm to obtain the initial ground plane of each area; based on the fitted initial ground plane, combined with the grid type, the final ground point set is obtained through fine filtering for further fitting. In addition, based on the fitted initial ground plane, multiple types of rasters can also be finely filtered to obtain a more accurate ground point set to improve the fitting accuracy.

[0111] Optionally, in the point cloud segmentation method, the surface is the ground.

[0112] It should be noted that the point cloud segmentation method in this application is applicable to any surface, and the ground is a typical representative of the surface.

[0113] In the embodiments of the present invention, a point cloud segmentation system is also provided for implementing the above embodiments and preferred implementation modes, which have been described and will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the system described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0114] Figure 4 is a structural block diagram of a point cloud segmentation system 400 according to one embodiment of the present invention. Figure 4 As shown, the system includes: an acquisition module 401, used to acquire surface point cloud data; a division module 402, used to rasterize the surface point cloud data according to the acquisition origin to obtain grid point cloud data, wherein the acquisition origin is the acquisition point of the point cloud data, and the grid point cloud data includes multiple grids; a determination module 403, used to traverse multiple grids and determine the grid types of multiple grids; a fitting module 404, used to fit the surface point cloud data according to the grid types of multiple grids to obtain a fitting plane.

[0115] Optionally, the division module 402 is also used to: divide the surface point cloud data into multiple point cloud areas according to the collection origin; traverse the multiple point cloud areas, and divide the multiple point cloud areas into grids according to a preset grid size to obtain grid point cloud data, wherein the grid point cloud data includes multiple point cloud areas, and each point cloud area includes multiple grids.

[0116] Optionally, the determination module 403 is further used to: traverse multiple grids to determine the height difference between the point cloud data in the multiple grids; and determine the grid type of the currently traversed grid according to the height difference.

[0117] Optionally, the determination module 403 is also used to: traverse multiple grids, determine the height difference between the highest point and the lowest point of the point cloud in the point cloud data in the multiple grids, and obtain a first height difference; determine the height difference between the lowest point of the point cloud in the currently traversed grid and the lowest point of the point cloud in the adjacent grid to obtain a second height difference.

[0118] Optionally, the determination module 403 is further used to: in response to the first height difference being less than or equal to a first preset threshold, and the second height difference being less than or equal to a second preset threshold, determine that the grid type of the currently traversed grid is a surface type.

[0119] Optionally, the determination module 403 is further used to: in response to the first height difference being greater than a first preset threshold, and / or the second height difference being greater than a second preset threshold, determine that the grid type of the currently traversed grid is a non-surface type.

[0120] Optionally, the fitting module 404 is also used to: traverse multiple point cloud areas, extract grids with surface type in the currently traversed point cloud area, and obtain multiple target grids; use a preset fitting algorithm to fit the point cloud data in the multiple target grids to obtain a fitting plane corresponding to the currently traversed point cloud area.

[0121] Optionally, the fitting module 404 is also used to: traverse multiple point cloud areas, extract grids with surface type in the currently traversed point cloud area to obtain multiple target grids, extract grids with non-surface type in the currently traversed point cloud area to obtain multiple non-target grids; use a preset fitting algorithm to fit the point cloud data in the multiple target grids to obtain an initial plane corresponding to the currently traversed point cloud area; determine the distance between the point clouds in the multiple target grids and the initial plane based on the initial plane to obtain a first distance; determine the distance between the point clouds in the multiple non-target grids and the initial plane based on the initial plane to obtain a second distance; determine a surface point cloud set based on the first distance, the second distance, the target grid and the non-target grid; use a preset fitting algorithm to fit the surface point cloud set to obtain a fitting plane.

[0122] Optionally, the fitting module 404 is also used to: in the target grid, extract the point cloud whose first distance is less than a first preset distance threshold as the first surface point cloud; in the non-target grid, extract the point cloud whose second distance is less than a second preset distance threshold as the second surface point cloud, wherein the first preset distance threshold is greater than the second preset distance threshold; determine the surface point cloud set based on the first surface point cloud and the second surface point cloud.

[0123] Optionally, in the point cloud segmentation system, the surface is the ground.

[0124] An embodiment of the present invention further provides an electronic device, comprising: a memory storing an executable program; and a processor for running the program, wherein the point cloud segmentation method described in any of the above embodiments is executed when the program is running.

[0125] For example, Figure 5 is a structural block diagram of an electronic device 500 according to one embodiment of the present invention. Figure 5 As shown, the electronic device includes: a processor 501 for running a program; a memory 502 for storing executable programs and storing intermediate data and final data generated by the processor during processing. The electronic device 500 can also interact with a mouse, keyboard, etc. through an input / output (I / O) interface 504, and can also interact with other devices using a network interface such as a switch, a router, etc. through a network interface 503.

[0126] Optionally, in this embodiment, the processor in the electronic device may be configured to run an executable program to perform the following steps:

[0127] Step S101, obtaining surface point cloud data.

[0128] Step S102, rasterizing the surface point cloud data according to the acquisition origin to obtain raster point cloud data, wherein the acquisition origin is the acquisition point of the point cloud data, and the raster point cloud data includes a plurality of grids.

[0129] Step S103, traverse multiple grids and determine the grid types of the multiple grids.

[0130] Step S104: fitting the surface point cloud data according to the grid types of the plurality of grids to obtain a fitting plane.

[0131] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable program to perform the following steps: dividing the surface point cloud data into multiple point cloud areas according to the collection origin; traversing the multiple point cloud areas, and dividing the multiple point cloud areas into grids according to a preset grid size to obtain grid point cloud data, wherein the grid point cloud data includes multiple point cloud areas, and each point cloud area includes multiple grids.

[0132] Optionally, the processor in the above electronic device can be configured to run an executable program to perform the following steps: traverse multiple grids to determine the height difference between the point cloud data in the multiple grids; and determine the grid type of the currently traversed grid based on the height difference.

[0133] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable program to perform the following steps: traverse multiple grids, determine the height difference between the highest point and the lowest point of the point cloud in the point cloud data in the multiple grids, and obtain a first height difference; determine the height difference between the lowest point of the point cloud in the currently traversed grid and the lowest point of the point cloud in the adjacent grid to obtain a second height difference.

[0134] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable program to perform the following steps: in response to the first height difference being less than or equal to a first preset threshold, and the second height difference being less than or equal to a second preset threshold, determining that the grid type of the currently traversed grid is a surface type.

[0135] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable program to perform the following steps: in response to the first height difference being greater than a first preset threshold, and / or the second height difference being greater than a second preset threshold, determining that the grid type of the currently traversed grid is a non-surface type.

[0136] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable program to perform the following steps: traverse multiple point cloud areas, extract grids whose grid type is a surface type in the currently traversed point cloud area, and obtain multiple target grids; use a preset fitting algorithm to fit the point cloud data in the multiple target grids to obtain a fitting plane corresponding to the currently traversed point cloud area.

[0137] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable program to perform the following steps: traverse multiple point cloud areas, extract grids with surface type in the currently traversed point cloud area to obtain multiple target grids, extract grids with non-surface type in the currently traversed point cloud area to obtain multiple non-target grids; use a preset fitting algorithm to fit the point cloud data in the multiple target grids to obtain an initial plane corresponding to the currently traversed point cloud area; determine the distance between the point clouds in the multiple target grids and the initial plane based on the initial plane to obtain a first distance; determine the distance between the point clouds in the multiple non-target grids and the initial plane based on the initial plane to obtain a second distance; determine a surface point cloud set based on the first distance, the second distance, the target grid and the non-target grid; use a preset fitting algorithm to fit the surface point cloud set to obtain a fitting plane.

[0138] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable program to perform the following steps: in the target grid, extracting a point cloud with a first distance less than a first preset distance threshold as a first surface point cloud; in the non-target grid, extracting a point cloud with a second distance less than a second preset distance threshold as a second surface point cloud, wherein the first preset distance threshold is greater than the second preset distance threshold; and determining a surface point cloud set based on the first surface point cloud and the second surface point cloud.

[0139] Optionally, the surface is ground.

[0140] An embodiment of the present invention further provides a computer-readable storage medium, the computer-readable storage medium including a stored executable program, wherein when the executable program is running, the device where the storage medium is located is controlled to execute the point cloud segmentation method described in any of the above embodiments.

[0141] Optionally, in this embodiment, the above executable program may be configured to store an executable program for performing the following steps:

[0142] Step S101, obtaining surface point cloud data.

[0143] Step S102, rasterizing the surface point cloud data according to the acquisition origin to obtain raster point cloud data, wherein the acquisition origin is the acquisition point of the point cloud data, and the raster point cloud data includes a plurality of grids.

[0144] Step S103, traverse multiple grids and determine the grid types of the multiple grids.

[0145] Step S104: fitting the surface point cloud data according to the grid types of the plurality of grids to obtain a fitting plane.

[0146] Optionally, the above-mentioned executable program can be configured to store an executable program for executing the following steps: dividing the surface point cloud data into multiple point cloud areas according to the acquisition origin; traversing the multiple point cloud areas, and performing grid division on the multiple point cloud areas according to a preset grid size to obtain grid point cloud data, wherein the grid point cloud data includes multiple point cloud areas, and each point cloud area includes multiple grids.

[0147] Optionally, the executable program may be configured to store an executable program for executing the following steps: traversing multiple grids to determine the height difference between the point cloud data in the multiple grids; and determining the grid type of the currently traversed grid according to the height difference.

[0148] Optionally, the above-mentioned executable program can be configured to store an executable program for performing the following steps: traversing multiple grids, determining the height difference between the highest point and the lowest point of the point cloud in the point cloud data in the multiple grids, and obtaining a first height difference; determining the height difference between the lowest point of the point cloud in the currently traversed grid and the lowest point of the point cloud in the adjacent grid to obtain a second height difference.

[0149] Optionally, the above-mentioned executable program can be configured to store an executable program for executing the following steps: in response to the first height difference being less than or equal to a first preset threshold and the second height difference being less than or equal to a second preset threshold, determining that the grid type of the currently traversed grid is a surface type.

[0150] Optionally, the above-mentioned executable program can be configured to store an executable program for performing the following steps: in response to the first height difference being greater than a first preset threshold, and / or the second height difference being greater than a second preset threshold, determining that the grid type of the currently traversed grid is a non-surface type.

[0151] Optionally, the above-mentioned executable program can be configured to store an executable program for executing the following steps: traversing multiple point cloud areas, extracting grids whose grid type is a surface type in the currently traversed point cloud area, and obtaining multiple target grids; using a preset fitting algorithm, fitting the point cloud data in the multiple target grids to obtain a fitting plane corresponding to the currently traversed point cloud area.

[0152] Optionally, the above-mentioned executable program can be configured to store an executable program for executing the following steps: traversing multiple point cloud areas, extracting grids whose grid types are surface types in the currently traversed point cloud area to obtain multiple target grids, extracting grids whose grid types are non-surface types in the currently traversed point cloud area to obtain multiple non-target grids; using a preset fitting algorithm, fitting the point cloud data in the multiple target grids to obtain an initial plane corresponding to the currently traversed point cloud area; based on the initial plane, determining the distance between the point clouds in the multiple target grids and the initial plane to obtain a first distance; based on the initial plane, determining the distance between the point clouds in the multiple non-target grids and the initial plane to obtain a second distance; determining a surface point cloud set based on the first distance, the second distance, the target grid and the non-target grid; using a preset fitting algorithm, fitting the surface point cloud set to obtain a fitting plane.

[0153] Optionally, the above-mentioned executable program can be configured to store an executable program for executing the following steps: in the target grid, extracting a point cloud whose first distance is less than a first preset distance threshold as a first surface point cloud; in the non-target grid, extracting a point cloud whose second distance is less than a second preset distance threshold as a second surface point cloud, wherein the first preset distance threshold is greater than the second preset distance threshold; and determining a surface point cloud set based on the first surface point cloud and the second surface point cloud.

[0154] Optionally, the surface is ground.

[0155] An embodiment of the present invention further provides a computer program product, including a computer program, which implements the point cloud segmentation method described in any of the above embodiments when executed by a processor.

[0156] Optionally, in this embodiment, the above computer program implements the following steps when executed by a processor:

[0157] Step S101, obtaining surface point cloud data.

[0158] Step S102, rasterizing the surface point cloud data according to the acquisition origin to obtain raster point cloud data, wherein the acquisition origin is the acquisition point of the point cloud data, and the raster point cloud data includes a plurality of grids.

[0159] Step S103, traverse multiple grids and determine the grid types of the multiple grids.

[0160] Step S104: fitting the surface point cloud data according to the grid types of the plurality of grids to obtain a fitting plane.

[0161] Optionally, the above-mentioned computer program implements the following steps when executed by the processor: dividing the surface point cloud data into multiple point cloud areas according to the collection origin; traversing the multiple point cloud areas, and dividing the multiple point cloud areas into grids according to a preset grid size to obtain grid point cloud data, wherein the grid point cloud data includes multiple point cloud areas, and each point cloud area includes multiple grids.

[0162] Optionally, the computer program implements the following steps when executed by a processor: traversing multiple grids to determine the height difference between the point cloud data in the multiple grids; and determining the grid type of the currently traversed grid based on the height difference.

[0163] Optionally, the above-mentioned computer program implements the following steps when executed by a processor: traverse multiple grids, determine the height difference between the highest point and the lowest point of the point cloud in the point cloud data in the multiple grids, and obtain a first height difference; determine the height difference between the lowest point of the point cloud in the currently traversed grid and the lowest point of the point cloud in the adjacent grid to obtain a second height difference.

[0164] Optionally, the computer program implements the following steps when executed by a processor: in response to the first height difference being less than or equal to a first preset threshold, and the second height difference being less than or equal to a second preset threshold, determining that the grid type of the currently traversed grid is a surface type.

[0165] Optionally, the computer program implements the following steps when executed by a processor: in response to the first height difference being greater than a first preset threshold, and / or the second height difference being greater than a second preset threshold, determining that the grid type of the currently traversed grid is a non-surface type.

[0166] Optionally, the above-mentioned computer program implements the following steps when executed by the processor: traversing multiple point cloud areas, extracting grids of surface type in the currently traversed point cloud area, and obtaining multiple target grids; using a preset fitting algorithm, fitting the point cloud data in the multiple target grids to obtain a fitting plane corresponding to the currently traversed point cloud area.

[0167] Optionally, the above-mentioned computer program implements the following steps when executed by the processor: traversing multiple point cloud areas, extracting grids with surface type in the currently traversed point cloud area to obtain multiple target grids, extracting grids with non-surface type in the currently traversed point cloud area to obtain multiple non-target grids; using a preset fitting algorithm, fitting the point cloud data in the multiple target grids to obtain an initial plane corresponding to the currently traversed point cloud area; based on the initial plane, determining the distance between the point clouds in the multiple target grids and the initial plane to obtain a first distance; based on the initial plane, determining the distance between the point clouds in the multiple non-target grids and the initial plane to obtain a second distance; determining a surface point cloud set based on the first distance, the second distance, the target grid and the non-target grid; using a preset fitting algorithm, fitting the surface point cloud set to obtain a fitting plane.

[0168] Optionally, the above-mentioned computer program implements the following steps when executed by a processor: in the target grid, extracting the point cloud whose first distance is less than a first preset distance threshold as the first surface point cloud; in the non-target grid, extracting the point cloud whose second distance is less than a second preset distance threshold as the second surface point cloud, wherein the first preset distance threshold is greater than the second preset distance threshold; and determining a surface point cloud set based on the first surface point cloud and the second surface point cloud.

[0169] Optionally, the surface is ground.

[0170] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation modes, and this embodiment will not be described in detail here.

[0171] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0172] In some embodiments provided in the present application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the system embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0173] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed over multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0174] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0175] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.

[0176] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A point cloud segmentation method, characterized in that: include: Obtain surface point cloud data; According to the acquisition origin, the surface point cloud data is rasterized to obtain grid point cloud data, wherein the acquisition origin is the acquisition point of the point cloud data, and the grid point cloud data includes a plurality of grids; Traversing the plurality of grids, and determining grid types of the plurality of grids; The surface point cloud data is fitted according to the grid types of the multiple grids to obtain a fitting plane.

2. The point cloud segmentation method according to claim 1, characterized in that: The step of rasterizing the surface point cloud data according to the acquisition origin to obtain the raster point cloud data includes: Dividing the surface point cloud data into a plurality of point cloud regions according to the acquisition origin; The plurality of point cloud regions are traversed, and grid division is performed on the plurality of point cloud regions according to a preset grid size to obtain the grid point cloud data, wherein the grid point cloud data includes a plurality of point cloud regions, and each of the point cloud regions includes a plurality of the grids.

3. The point cloud segmentation method according to claim 1, characterized in that: The traversing the plurality of grids and determining the grid types of the plurality of grids comprises: Traversing the plurality of grids, and determining height differences between point cloud data in the plurality of grids; The grid type of the currently traversed grid is determined according to the height difference.

4. The point cloud segmentation method according to claim 3, characterized in that: The height difference includes a first height difference and a second height difference, and traversing the plurality of grids to determine the height difference between the point cloud data in the plurality of grids includes: Traversing the plurality of grids, determining a height difference between a highest point of a point cloud and a lowest point of a point cloud in the point cloud data in the plurality of grids, and obtaining the first height difference; The second height difference is obtained by determining the height difference between the lowest point of the point cloud in the currently traversed grid and the lowest point of the point cloud in the adjacent grid.

5. The point cloud segmentation method according to claim 4, characterized in that: The grid type includes a surface type and a non-surface type, and determining the grid type of the currently traversed grid according to the height difference includes: In response to the first height difference being less than or equal to a first preset threshold, and the second height difference being less than or equal to a second preset threshold, it is determined that the grid type of the currently traversed grid is the surface type.

6. The point cloud segmentation method according to claim 5, characterized in that: Also includes: In response to the first height difference being greater than the first preset threshold, and / or the second height difference being greater than the second preset threshold, it is determined that the grid type of the currently traversed grid is the non-surface type.

7. The point cloud segmentation method according to claim 2, characterized in that: The grid type includes a surface type and a non-surface type, and fitting the surface point cloud data according to the grid types of the multiple grids to obtain a fitting plane includes: Traversing a plurality of the point cloud regions, extracting grids whose grid type is the surface type in the currently traversed point cloud region, and obtaining a plurality of target grids; The point cloud data in the plurality of target grids are fitted using a preset fitting algorithm to obtain a fitting plane corresponding to the currently traversed point cloud area.

8. The point cloud segmentation method according to claim 2, characterized in that: The grid type includes a surface type and a non-surface type. The method fits the surface point cloud data according to the grid types of the multiple grids to obtain a fitting plane, including: Traversing the plurality of point cloud regions, extracting grids whose grid type is the surface type in the currently traversed point cloud region to obtain a plurality of target grids, and extracting grids whose grid type is the non-surface type in the currently traversed point cloud region to obtain a plurality of non-target grids; Using a preset fitting algorithm, fitting the point cloud data in the multiple target grids to obtain an initial plane corresponding to the currently traversed point cloud area; According to the initial plane, determining the distance between a plurality of point clouds in the target grid and the initial plane to obtain a first distance; According to the initial plane, determining the distance between the point clouds in the plurality of non-target grids and the initial plane to obtain a second distance; Determine a surface point cloud set according to the first distance, the second distance, the target grid, and the non-target grid; The preset fitting algorithm is used to fit the surface point cloud set to obtain the fitting plane.

9. The point cloud segmentation method according to claim 8, characterized in that: The step of determining a surface point cloud set according to the first distance, the second distance, the target grid, and the non-target grid includes: In the target grid, extracting a point cloud whose first distance is less than a first preset distance threshold as a first surface point cloud; In the non-target grid, extracting a point cloud whose second distance is less than a second preset distance threshold as a second surface point cloud, wherein the first preset distance threshold is greater than the second preset distance threshold; The surface point cloud set is determined according to the first surface point cloud and the second surface point cloud.

10. The point cloud segmentation method according to any one of claims 1 to 9, characterized in that: The surface is the ground.

11. A point cloud segmentation system, characterized in that: include: An acquisition module, used to acquire surface point cloud data; A division module, used for rasterizing the surface point cloud data according to a collection origin to obtain raster point cloud data, wherein the collection origin is a collection point of the point cloud data, and the raster point cloud data includes a plurality of grids; A determination module, used for traversing the plurality of grids and determining grid types of the plurality of grids; The fitting module is used to fit the surface point cloud data according to the grid types of the multiple grids to obtain a fitting plane.

12. The point cloud segmentation system according to claim 11, characterized in that: The surface is the ground.