Point cloud segmentation method, system and movable platform
By obtaining the point cloud data in the target area and calculating its density value, the point cloud data is segmented, and the problem of low point cloud segmentation accuracy in the existing technology is solved, achieving a more efficient point cloud segmentation effect.
Patent Information
- Application Number
- CN201980034128.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-08-29
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2039-08-29
AI Technical Summary
In point cloud segmentation, the prior art has a large difference in point cloud density and changes with distance, resulting in undersegment or oversegment, and the accuracy is low.
By obtaining point cloud data in the target area, and obtaining the one-dimensional index value of each point cloud data based on the boundary information and raster resolution of the three-dimensional map of the target area, the density value of each point cloud data is obtained, and the point cloud data is segmented based on the density value to obtain multiple point cloud clusters.
It improves the accuracy of point cloud segmentation, can more effectively segment point cloud data into independent entities, and improves the accuracy of data processing.
Smart Images

Figure CN112166457B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of movable platforms, and in particular to a point cloud segmentation method, system and movable platform. Background Art
[0002] LiDAR is a scanning sensor that works as follows: it detects targets by emitting laser beams, and forms point cloud data by collecting reflected beams. The point cloud data can be generated into an accurate three-dimensional image after photoelectric processing. Through LiDAR, high-precision physical space environment information can be accurately obtained, and the ranging accuracy can reach the centimeter level. Therefore, LiDAR has become the most core sensor equipment in the fields of autonomous driving, unmanned driving, positioning and navigation, space mapping, security and protection.
[0003] Among them, the segmentation of point cloud data is one of the important issues in data processing. The main function of point cloud segmentation is to segment point cloud data into multiple independent entities, such as people, cars, bicycles, facades, columns, etc. At present, point cloud data is usually clustered and segmented based on the distance threshold judgment method. However, the real-time point cloud density generated by LiDAR varies greatly and changes with distance. Inconsistent point cloud density will lead to under-segmentation or over-segmentation, and the accuracy of point cloud segmentation is low. Summary of the invention
[0004] The present application provides a point cloud segmentation method, system and movable platform, which improve the accuracy of point cloud segmentation.
[0005] In a first aspect, the present application provides a point cloud segmentation method, comprising:
[0006] Acquire the point cloud data to be processed in the target area;
[0007] According to the boundary information and grid resolution of the three-dimensional map of the target area, a one-dimensional index value of each point cloud data is obtained;
[0008] Acquire a density value of each point cloud data according to a one-dimensional index value of each point cloud data, wherein the density value of the point cloud data is used to indicate the point cloud density in a preset three-dimensional space, and the preset three-dimensional space includes the point cloud data;
[0009] The point cloud data to be processed is segmented according to the density value of each point cloud data to obtain a plurality of point cloud clusters.
[0010] In a second aspect, the present application provides a point cloud segmentation system, comprising: a memory, a processor, and a point cloud sensor;
[0011] The point cloud sensor is used to obtain point cloud data to be processed in the target area;
[0012] The memory is used to store program code;
[0013] The processor calls the program code, and when the program code is executed, is used to perform the following operations:
[0014] According to the boundary information and grid resolution of the three-dimensional map of the target area, a one-dimensional index value of each point cloud data is obtained;
[0015] Acquire a density value of each point cloud data according to a one-dimensional index value of each point cloud data, wherein the density value of the point cloud data is used to indicate the point cloud density in a preset three-dimensional space, and the preset three-dimensional space includes the point cloud data;
[0016] The point cloud data to be processed is segmented according to the density value of each point cloud data to obtain a plurality of point cloud clusters.
[0017] In a third aspect, the present application provides a movable platform, comprising: a point cloud segmentation system provided in any embodiment of the second aspect of the present application.
[0018] In a fourth aspect, the present application provides a computer storage medium, wherein the storage medium stores a computer program, and the computer program implements the method provided in the first aspect when executed.
[0019] The present application provides a point cloud segmentation method, system and mobile platform, which obtains the point cloud data to be processed in the target area, obtains the one-dimensional index value of each point cloud data according to the boundary information and grid resolution of the three-dimensional map of the target area, obtains the density value of each point cloud data according to the one-dimensional index value of each point cloud data, and segments the point cloud data to be processed according to the density value of each point cloud data to obtain multiple point cloud clusters. Since the point cloud data in the target area is segmented according to the density value of each point cloud data to obtain multiple point cloud clusters, the accuracy of point cloud segmentation is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0021] Figure 1 A schematic diagram of an application scenario involved in this application;
[0022] Figure 2 A flow chart of a point cloud segmentation method provided in an embodiment of the present application;
[0023] Figure 3 A schematic diagram of a three-dimensional map and grid resolution of a target area provided in an embodiment of the present application;
[0024] Figure 4 A flowchart of another point cloud segmentation method provided in an embodiment of the present application;
[0025] Figure 5A-Figure 5B A schematic diagram of the effect of point cloud data segmentation provided in an embodiment of the present application;
[0026] Figure 6 A schematic diagram of the structure of a point cloud segmentation system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0027] This application can be applied to the scene of processing the point cloud data obtained by the laser radar. For example, it can be applied to the intelligent driving fields such as autonomous driving, assisted driving, and safe driving, and can detect obstacles such as vehicles and pedestrians in road scenes by processing the point cloud data. For another example, it can be applied to the field of drones to detect obstacles in drone flight scenes. For another example, it can be applied to the security field to detect objects entering a designated area.
[0028] For example, Figure 1 This is a schematic diagram of an application scenario involved in this application. Figure 1 As shown, the intelligent driving vehicle may include a laser radar (not shown). The present application does not limit the number and type of laser radars. For example, the laser radar may be a rotating scanning multi-line laser radar with a multi-transmitter and multi-receiver sensor, etc. During the driving process of the intelligent driving vehicle, the laser radar can obtain point cloud data of objects in the lane ahead (such as fallen rocks, scattered objects, dead branches, pedestrians, vehicles, etc.). By segmenting the point cloud data, objects can be identified and detected based on the point cloud data, and detection information such as the three-dimensional position, attitude orientation, and three-dimensional size of the object can be obtained, and the state of intelligent driving can be planned based on these detection information, such as changing lanes, slowing down, or stopping.
[0029] It should be noted that Figure 1 This is a schematic diagram of an application scenario of the present application. The application scenarios of the present application include but are not limited to Figure 1 shown.
[0030] The technical solution of the present application is described in detail with specific embodiments below. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0031] It should be noted that, in order to clearly describe the technical solution of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish the same or similar items with substantially the same functions and effects. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.
[0032] Figure 2 A flowchart of a point cloud segmentation method provided in an embodiment of the present application. The point cloud segmentation method provided in this embodiment can be executed by a point cloud segmentation system. Optionally, the point cloud segmentation system can be a separate device, such as a point cloud sensor with data processing function. Optionally, the point cloud segmentation system can also be a distributed system, such as a memory, a processor and a point cloud sensor set at different locations of the vehicle. Figure 2 As shown, the point cloud segmentation method provided in this embodiment may include:
[0033] S201, obtaining point cloud data to be processed in the target area.
[0034] The target area may be different for different application scenarios. For example, in the field of intelligent vehicle driving, the target area may be the road area in front of the vehicle detected by the point cloud sensor. In the field of drones, the target area may be the area detected by the point cloud sensor in the drone flight scene. The point cloud sensor may be a laser radar, a time of flight (TOF) sensor, etc., mounted on or integrated on a movable platform.
[0035] S202: Obtain a one-dimensional index value of each point cloud data according to the boundary information and grid resolution of the three-dimensional map of the target area.
[0036] Specifically, in this embodiment, the range of the target area is greater than or equal to the range of the three-dimensional map of the target area. For example. In the intelligent driving scenario, the vehicle is about to pass a bridge. Then, the target area can be an area that can be detected by the laser radar on the vehicle, and the three-dimensional map of the target area can be a three-dimensional map of the bridge. Among them, the grid resolution is used to divide the three-dimensional map of the target area into grids. The grid is a basic unit in a three-dimensional coordinate system. According to the boundary information and grid resolution of the three-dimensional map of the target area, the three-dimensional map of the target area can be divided into multiple grids, so as to obtain a one-dimensional index value of each point cloud data. Among them, the one-dimensional index value of each point cloud data is related to the grid where the point cloud data is located, and the one-dimensional index value of each point cloud data also reflects the relative position of the point cloud data in the target area or in the three-dimensional map of the target area. Optionally, the one-dimensional index values of the point cloud data included in the same grid may be the same.
[0037] The boundary information of the three-dimensional map of the target area is used to define the three-dimensional position of the three-dimensional map. This embodiment does not limit the implementation method of the boundary information. For example, the boundary information of the three-dimensional map of the target area may include the coordinate values of the boundary points of the three-dimensional map, and the boundary points of the three-dimensional map can uniquely determine the three-dimensional map. For another example, the boundary information of the three-dimensional map of the target area may include the minimum and maximum values of the three-dimensional map of the target area on the three coordinate axes in the three-dimensional coordinate system. For example, the minimum and maximum values on the X coordinate axis are respectively represented as X min and X max , the minimum and maximum values on the Y axis are represented by Y min and Y max , the minimum and maximum values on the Z coordinate axis are represented by Z min and Z max By X min , X max , Y min , Y max , Z min and Z max , the three-dimensional map can be uniquely determined.
[0038] Optionally, the grid resolution may include unit resolutions of three coordinate axes in the three-dimensional coordinate system, and this embodiment does not limit the specific value of the unit resolution. Figure 3 A schematic diagram of a three-dimensional map and grid resolution of a target area provided in an embodiment of the present application. Figure 3 As shown, the grid resolution may include the unit resolution X of the X axis in the three-dimensional coordinate system. res , Y-axis unit resolution Y res and the unit resolution Z of the Z axis res . For example, according to the boundary information and grid resolution of the three-dimensional map of the target area, the three-dimensional map of the target area can be divided into 8 grids. Among them, this embodiment does not limit the identification information of each grid. For example, they can be marked as grid 1 to grid 8, or they can be marked as grid A to grid H.
[0039] S203 . Obtain a density value of each point cloud data according to a one-dimensional index value of each point cloud data.
[0040] The density value of the point cloud data is used to indicate the point cloud density in a preset three-dimensional space, and the preset three-dimensional space includes the point cloud data.
[0041] Also Figure 3 As an example, the density value of point cloud data is exemplified.
[0042] exist Figure 3In the example, for point cloud data A, the density value of point cloud data A is used to indicate the point cloud density in a preset three-dimensional space. For example, the preset three-dimensional space may include grid 3, grid 1, grid 4, and grid 7.
[0043] exist Figure 3 In the example, for point cloud data B, the density value of point cloud data B is used to indicate the point cloud density in a preset three-dimensional space. For example, the preset three-dimensional space may include grid 8, grid 6, grid 7, and grid 4.
[0044] It should be noted that this embodiment does not limit the preset three-dimensional space.
[0045] S204 , segmenting the point cloud data to be processed according to the density value of each point cloud data to obtain a plurality of point cloud clusters.
[0046] Generally, the density of the point cloud data acquired by the laser radar is uneven, and the density of the point cloud data changes with the change of distance. The closer the distance to the laser radar, the greater the density of the point cloud data. The farther the distance to the laser radar, the smaller the density of the point cloud data. If the point cloud data is segmented based on the method of distance threshold determination, the accuracy of the point cloud segmentation will be low. In this embodiment, a one-dimensional index value of each point cloud data is obtained according to the boundary information and grid resolution of the three-dimensional map of the target area. The one-dimensional index value can reflect the relative position relationship of the point cloud data in the target area. The density value of each point cloud data is obtained according to the one-dimensional index value of each point cloud data, so that the point cloud data in the target area is segmented according to the density value of each point cloud data to obtain multiple point cloud clusters. Since the density of the point cloud data is taken into account, the accuracy of the point cloud segmentation is improved.
[0047] Optionally, in this embodiment, the point cloud data to be processed in the target area may be point cloud data other than ground point cloud data in the point cloud data acquired by the laser radar.
[0048] Specifically, in the application scenario of intelligent vehicles, the point cloud data obtained by the LiDAR includes the point cloud data corresponding to the ground part, which is useless for the subsequent detection and recognition of objects. Therefore, by eliminating the ground point cloud data, not only the amount of point cloud data is reduced, the amount of calculation is reduced, but also the accuracy of point cloud data segmentation is improved.
[0049] Optionally, the point cloud segmentation method provided in this embodiment may further include, before obtaining the density value of each point cloud data according to the one-dimensional index value of each point cloud data in S203:
[0050] Invalid point cloud data is deleted from the point cloud data to be processed, wherein the invalid point cloud data is point cloud data that is not in the three-dimensional map.
[0051] Specifically, in this embodiment, the point cloud data to be processed in the target area are not necessarily all valid point cloud data. Only the point cloud data located in the three-dimensional map of the target area is valid point cloud data. By eliminating invalid point cloud data, not only the amount of point cloud data is reduced, the amount of calculation is reduced, but also the accuracy of valid point cloud data segmentation is improved.
[0052] Optionally, the point cloud segmentation method provided in this embodiment may further include:
[0053] Get the number of point cloud data in each point cloud cluster.
[0054] If the number of point cloud data in a point cloud cluster is less than the preset value, the point cloud cluster will be deleted.
[0055] Specifically, if the point cloud cluster includes a small amount of point cloud data, the point cloud cluster is more likely to be an invalid point cloud cluster. By deleting the point cloud cluster with less point cloud data, the accuracy and effectiveness of the obtained point cloud cluster are further improved.
[0056] Optionally, in S203, obtaining the density value of each point cloud data according to the one-dimensional index value of each point cloud data may include:
[0057] If adjacent point cloud data is searched in the preset three-dimensional space according to the one-dimensional index value of each point cloud data, the number of adjacent point cloud data is obtained, wherein the preset three-dimensional space is the first three-dimensional space.
[0058] The density value of the point cloud data is obtained according to the number of adjacent point cloud data and the first three-dimensional space.
[0059] Specifically, the one-dimensional index value of the point cloud data can reflect the relative position relationship of the point cloud data in the target area. For each point cloud data, other point cloud data adjacent to the point cloud data can be searched in the preset three-dimensional space corresponding to the point cloud data according to the one-dimensional index value of all point cloud data in the target area, and the number of other adjacent point cloud data can be obtained. For the sake of convenience, the preset three-dimensional space can be referred to as the first three-dimensional space. Then, according to the number of adjacent point cloud data and the first three-dimensional space, the density value of the point cloud data is obtained.
[0060] Combine the following Figure 3 An exemplary description is given.
[0061] Assume that the number of point cloud data to be processed in the target area is 1000. Each point cloud data corresponds to a one-dimensional index value. The first three-dimensional space corresponding to point cloud data A can be called space H. For point cloud data A, according to the one-dimensional index values of 1000 point cloud data in the target area, the number of other point cloud data adjacent to point cloud data A is searched in space H, assuming that the number is 200. Then, the density value of point cloud data A can be obtained according to the number of adjacent point cloud data 200 and space H.
[0062] It should be noted that this embodiment does not limit the shape and size of the first three-dimensional space.
[0063] Optionally, the first three-dimensional space may be a spherical space with the point cloud data as the center and the first preset distance as the radius. Accordingly, obtaining the density value of the point cloud data according to the number of neighboring points and the first three-dimensional space includes:
[0064] The density value of the point cloud data is obtained according to the number of adjacent point cloud data and the volume of the spherical space.
[0065] In this embodiment, the specific value of the first preset distance is not limited.
[0066] Optionally, the point cloud segmentation method provided in this embodiment may further include:
[0067] Arrange the one-dimensional index value of each point cloud data in ascending or descending order to obtain an index value sequence.
[0068] Accordingly, searching for adjacent point cloud data in a preset three-dimensional space according to the one-dimensional index value of each point cloud data may include:
[0069] According to the index value sequence and the preset three-dimensional space, grids included in the preset three-dimensional space are determined.
[0070] Search for adjacent point cloud data within a grid contained in a preset three-dimensional space.
[0071] Specifically, when obtaining the density value of the point cloud data, the preset three-dimensional space is the above-mentioned first preset three-dimensional space. Since the one-dimensional index value of the point cloud data can reflect the relative position relationship of the point cloud data in the target area, by arranging the one-dimensional index value of the point cloud data in ascending or descending order, the obtained index value sequence can further reflect the proximity relationship between the point cloud data in the target area. According to the index value sequence and the first preset three-dimensional space, the grid included in the first preset three-dimensional space is determined. Thus, the adjacent point cloud data is searched in the grid included in the first preset three-dimensional space.
[0072] The grid included in the preset three-dimensional space is determined by the sorted index value sequence, and then other point cloud data adjacent to a certain point cloud data are determined based on the point cloud data included in the grid, avoiding the processing of all point cloud data in the target area, greatly reducing the amount of calculation for searching adjacent point cloud data, and improving processing efficiency and accuracy.
[0073] The present embodiment provides a point cloud segmentation method, including: obtaining point cloud data to be processed in a target area, obtaining a one-dimensional index value of each point cloud data according to the boundary information and grid resolution of a three-dimensional map of the target area, obtaining a density value of each point cloud data according to the one-dimensional index value of each point cloud data, and segmenting the point cloud data to be processed according to the density value of each point cloud data to obtain multiple point cloud clusters. The point cloud segmentation method provided in the present embodiment segments the point cloud data based on the density of the point cloud data, thereby improving the accuracy of point cloud segmentation.
[0074] Optionally, based on the point cloud segmentation method provided in the above method embodiment, in another embodiment, an implementation method for obtaining a one-dimensional index value of point cloud data is provided. In this embodiment, in S202, obtaining a one-dimensional index value of each point cloud data according to the boundary information and grid resolution of the three-dimensional map of the target area may include:
[0075] For each point cloud data in the point cloud data to be processed, if the point cloud data is in the three-dimensional map, a one-dimensional index value of each point cloud data is obtained according to the position information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution.
[0076] If the point cloud data is not in the three-dimensional map, the one-dimensional index value of the point cloud data is determined to be a preset invalid value.
[0077] Specifically, for each point cloud data in the target area, it is first determined whether the point cloud data is located in the three-dimensional map of the target area. If it is located in the three-dimensional map, the point cloud data can be determined to be valid point cloud data, and further according to the location information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution, the one-dimensional index value of each point cloud data is obtained. If it is not located in the three-dimensional map, the point cloud data is determined to be invalid point cloud data, and the one-dimensional index value of the invalid point cloud data is directly determined to be a preset invalid value.
[0078] By first determining whether the point cloud data is valid and then obtaining the one-dimensional index value of the point cloud data, the amount of calculation is reduced, the processing speed and efficiency are improved, and the accuracy and effectiveness of the one-dimensional index value of the point cloud data are improved.
[0079] The present embodiment does not limit the specific value of the preset invalid value, for example, it can be any negative integer, such as -1.
[0080] Optionally, obtaining a one-dimensional index value of each point cloud data according to the location information of the point cloud data, the boundary information of the three-dimensional map, and the grid resolution may include:
[0081] According to the location information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution, the three-dimensional index value of the point cloud data is obtained. The three-dimensional index value includes the index value of the grid where the point cloud data is located on the three-dimensional coordinate axis corresponding to the three-dimensional map.
[0082] The one-dimensional index value of the point cloud data is obtained according to the three-dimensional index value and the number of grids respectively included in the three-dimensional map on the three-dimensional coordinate axis.
[0083] The following is an explanation using examples.
[0084] Assume that the location information of the point cloud data in the three-dimensional map of the target area is represented by (Px, Py, Pz). The grid resolution may include the unit resolution X of the X axis in the three-dimensional coordinate system. res , Y-axis unit resolution Y res and the unit resolution Z of the Z axis res The number of three-dimensional maps on the X-axis, Y-axis, and Z-axis in the three-dimensional coordinate system is expressed as (X num , Y num , Z num ). The three-dimensional index value of the point cloud data is expressed as (Px i , Py i , Pz i ). The minimum and maximum values of the three-dimensional map of the target area on the X-axis, Y-axis, and Z-axis in the three-dimensional coordinate system are represented as X min , X max , Y min , Y max , Z min and Z max .
[0085] Optionally, in one implementation, the three-dimensional index value of the point cloud data may be obtained by the following formula:
[0086]
[0087]
[0088]
[0089] It should be noted that the three-dimensional index value of the point cloud data can also be obtained by other means, which is not limited in this embodiment. For example, each grid in the three-dimensional map has a preset index value. The grid where the point cloud data is located can be determined based on the location information of the point cloud data, and then the preset index value of the grid can be determined as the three-dimensional index value of the point cloud data.
[0090] Optionally, in one implementation, the one-dimensional index value Hash of the point cloud data p It can be determined by the following formula:
[0091] Hash p =P xi *Y num *Z num +P yi *Z num +P zi
[0092] Optionally, in another implementation, the one-dimensional index value Hash of the point cloud data p It can be determined by the following formula:
[0093] Hash p =P yi *X num *Z num +P xi *Z num +P zi
[0094] It should be noted that the one-dimensional index value of the point cloud data may also be obtained by other methods, which is not limited in this embodiment.
[0095] Optionally, based on the point cloud segmentation method provided in the above method embodiment, in yet another embodiment, an implementation method for obtaining point cloud clusters is provided. Figure 4 Flow chart of another point cloud segmentation method provided in an embodiment of the present application. Figure 4 As shown, in S204, the point cloud data to be processed is segmented according to the density value of each point cloud data to obtain multiple point cloud clusters, which may include:
[0096] S401, traverse the point cloud data to be processed to obtain a neighbor relationship tree.
[0097] S402: Acquire multiple point cloud clusters according to the neighbor relationship tree.
[0098] Wherein, S401, traversing the point cloud data to be processed, may include:
[0099] If adjacent point cloud data is searched in the preset three-dimensional space according to the one-dimensional index value of each point cloud data, a connection relationship between the point cloud data and the adjacent point cloud data is generated, wherein the preset three-dimensional space is the second three-dimensional space.
[0100] If adjacent point cloud data is searched in the preset three-dimensional space according to the one-dimensional index value of each point cloud data, and the density value of the adjacent point cloud data is greater than the density value of the point cloud data, a connection relationship between the point cloud data and the adjacent point cloud data is generated. The preset three-dimensional space is a third three-dimensional space, and the third three-dimensional space is greater than the second three-dimensional space.
[0101] In this embodiment, for the sake of convenience of explanation, the second three-dimensional space and the third three-dimensional space are involved. It should be noted that this embodiment does not limit the shape and size of the second three-dimensional space and the third three-dimensional space. Optionally, the second three-dimensional space can be a spherical space with the point cloud data as the center and the second preset distance as the radius. The third three-dimensional space can be a spherical space with the point cloud data as the center and the third preset distance as the radius. This embodiment does not limit the specific values of the second preset distance and the third preset distance. Optionally, the value of the second preset distance can be the same as the value of the first preset distance mentioned above.
[0102] The following is an explanation using examples.
[0103] Assume that the second preset distance is represented by r2 and the third preset distance is represented by r3.
[0104] For each point cloud data P to be processed in the target area, in one processing process, the adjacent point cloud data is searched in a spherical space with the point cloud data P as the center and r2 as the radius according to the one-dimensional index value of all the point cloud data in the target area, and a connection relationship between the point cloud data P and the adjacent point cloud data is generated. In this processing process, whether the point cloud data is adjacent is determined based on the distance between the point cloud data, and then a connection relationship is generated. In another processing process, the adjacent point cloud data is searched in a spherical space with the point cloud data P as the center and r3 as the radius according to the one-dimensional index value of all the point cloud data in the target area. If the density value of the searched adjacent point cloud data is greater than the density value of the point cloud data P, a connection relationship between the point cloud data P and the adjacent point cloud data is generated. In this processing process, whether the point cloud data is adjacent is determined based on the distance between the point cloud data and the density of the point cloud data, and then a connection relationship is generated.
[0105] It can be seen that for each point cloud data in the target area, in a space with a relatively small distance from the point cloud data, the point cloud density is relatively high. According to the one-dimensional index value of the point cloud data in the target area, other point cloud data adjacent to the point cloud data can be searched, and the connection relationship between the point cloud data is obtained based on the distance judgment, which improves the accuracy of establishing the neighboring relationship. In a space with a relatively large distance from the point cloud data, the point cloud density is relatively low. According to the one-dimensional index value and density value of the point cloud data in the target area, other point cloud data adjacent to the point cloud data can be searched, and the connection relationship between the point cloud data is obtained based on the distance judgment and the point cloud density, which improves the accuracy of establishing the neighboring relationship. Therefore, the method provided in this embodiment improves the accuracy of establishing the neighboring relationship, and then improves the accuracy of point cloud segmentation in subsequent processing.
[0106] Optionally, in S402, obtaining multiple point cloud clusters according to the neighbor relationship tree may include:
[0107] Multiple point cloud data with the same root node in the neighbor relationship tree are divided into the same point cloud cluster.
[0108] Specifically, through the above two processing processes, the neighbor relationship between the point cloud data is established. Therefore, multiple point cloud data with the same root node in the neighbor relationship tree can be segmented into the same point cloud cluster, thereby completing the segmentation of the point cloud data.
[0109] Optionally, in this embodiment, the following may also be included:
[0110] Arrange the one-dimensional index value of each point cloud data in ascending or descending order to obtain an index value sequence.
[0111] Accordingly, searching for adjacent point cloud data in a preset three-dimensional space according to the one-dimensional index value of each point cloud data may include:
[0112] According to the index value sequence and the preset three-dimensional space, grids included in the preset three-dimensional space are determined.
[0113] Search for adjacent point cloud data within a grid contained in a preset three-dimensional space.
[0114] For details, please refer to Figure 3 The relevant descriptions in the embodiments shown in the figure, the technical principles and technical effects are similar and will not be repeated here. Figure 3 In the illustrated embodiment, the method is applied to obtain the density value of the point cloud data, and the preset three-dimensional space can be referred to as the first three-dimensional space. In the present embodiment, the method is applied to obtain the point cloud clusters. The preset three-dimensional spaces involved can be referred to as the second three-dimensional space and the third three-dimensional space.
[0115] Below, the processing results of the point cloud segmentation method provided in this application are exemplarily described by examples. Figure 5A-Figure 5B This is a schematic diagram of the effect of point cloud data segmentation provided in the embodiment of the present application. Figure 5A As shown, in the application scenario of intelligent vehicles, a laser radar can be set on the vehicle to obtain point cloud data in the road scene. The point cloud data does not include ground point cloud data. Figure 5B The figure shows the point cloud clusters obtained according to the point cloud segmentation method provided by the present application.
[0116] Figure 6 The structure diagram of the point cloud segmentation system provided in the embodiment of the present application is as follows. The point cloud segmentation system provided in the embodiment of the present application is used to perform Figure 2 to Figure 4 Any implementation method provides a point cloud segmentation method. Figure 6 As shown, the point cloud segmentation system provided in this embodiment may include: a memory 62, a processor 61, and a point cloud sensor 63. In some embodiments, the point cloud segmentation system may be a separate sensor device, such as a point cloud sensor with a data processing function; in other embodiments, the point cloud segmentation system may also be a distributed system, such as a memory, a processor, and a point cloud sensor arranged at different locations of a vehicle.
[0117] Wherein, the point cloud sensor 63 is used to obtain the point cloud data to be processed in the target area;
[0118] The memory 62 is used to store program codes;
[0119] The processor 61 calls the program code, and when the program code is executed, is used to perform the following operations:
[0120] According to the boundary information and grid resolution of the three-dimensional map of the target area, a one-dimensional index value of each point cloud data is obtained;
[0121] Acquire a density value of each point cloud data according to a one-dimensional index value of each point cloud data, wherein the density value of the point cloud data is used to indicate the point cloud density in a preset three-dimensional space, and the preset three-dimensional space includes the point cloud data;
[0122] The point cloud data to be processed is segmented according to the density value of each point cloud data to obtain a plurality of point cloud clusters.
[0123] Optionally, the processor 61 is specifically configured to:
[0124] For each point cloud data in the point cloud data to be processed, if the point cloud data is in the three-dimensional map, a one-dimensional index value of each point cloud data is obtained according to the position information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution.
[0125] Optionally, the processor 61 is specifically configured to:
[0126] According to the position information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution, a three-dimensional index value of the point cloud data is obtained; the three-dimensional index value includes the index value of the grid where the point cloud data is located on the three-dimensional coordinate axis corresponding to the three-dimensional map;
[0127] A one-dimensional index value of the point cloud data is obtained according to the three-dimensional index value and the number of grids respectively included in the three-dimensional map on the three-dimensional coordinate axis.
[0128] Optionally, the processor 61 is further configured to:
[0129] If the point cloud data is not in the three-dimensional map, it is determined that the one-dimensional index value of the point cloud data is a preset invalid value.
[0130] Optionally, the processor 61 is specifically configured to:
[0131] If adjacent point cloud data is searched in the preset three-dimensional space according to the one-dimensional index value of each point cloud data, the number of the adjacent point cloud data is obtained; wherein the preset three-dimensional space is a first three-dimensional space;
[0132] A density value of the point cloud data is acquired according to the number of the adjacent point cloud data and the first three-dimensional space.
[0133] Optionally, the first three-dimensional space is a spherical space with the point cloud data as the center and a first preset distance as the radius; the processor 61 is specifically used for:
[0134] The density value of the point cloud data is obtained according to the number of the adjacent point cloud data and the volume of the spherical space.
[0135] Optionally, the processor 61 is specifically configured to:
[0136] Traversing the point cloud data to be processed to obtain a neighbor relationship tree;
[0137] Acquire the plurality of point cloud clusters according to the neighbor relationship tree;
[0138] Wherein, traversing the point cloud data to be processed includes:
[0139] If adjacent point cloud data is searched in a preset three-dimensional space according to the one-dimensional index value of each point cloud data, a connection relationship between the point cloud data and the adjacent point cloud data is generated; wherein the preset three-dimensional space is a second three-dimensional space;
[0140] If adjacent point cloud data is searched in the preset three-dimensional space according to the one-dimensional index value of each point cloud data, and the density value of the adjacent point cloud data is greater than the density value of the point cloud data, a connection relationship between the point cloud data and the adjacent point cloud data is generated; wherein the preset three-dimensional space is a third three-dimensional space, and the third three-dimensional space is larger than the second three-dimensional space.
[0141] Optionally, the processor 61 is specifically configured to:
[0142] The multiple point cloud data with the same root node in the neighbor relationship tree are divided into the same point cloud cluster.
[0143] Optionally, the processor 61 is further configured to:
[0144] Arrange the one-dimensional index value of each point cloud data in ascending or descending order to obtain an index value sequence;
[0145] The step of searching for adjacent point cloud data in a preset three-dimensional space according to the one-dimensional index value of each point cloud data comprises:
[0146] Determine, according to the index value sequence and the preset three-dimensional space, a grid included in the preset three-dimensional space;
[0147] Adjacent point cloud data are searched within a grid included in the preset three-dimensional space.
[0148] Optionally, the processor 61 is further configured to:
[0149] Before obtaining the density value of each point cloud data according to the one-dimensional index value of each point cloud data, invalid point cloud data is deleted from the point cloud data to be processed; the invalid point cloud data is point cloud data that is not in the three-dimensional map.
[0150] Optionally, the point cloud data to be processed is point cloud data other than ground point cloud data in the point cloud data acquired by the laser radar.
[0151] Optionally, the processor 61 is further configured to:
[0152] Get the number of point cloud data in each point cloud cluster;
[0153] If the number of point cloud data in the point cloud cluster is less than a preset value, the point cloud cluster is deleted.
[0154] Optionally, the point cloud segmentation system is a laser radar.
[0155] The point cloud segmentation system provided in this embodiment is used to perform Figure 2 to Figure 4 The point cloud segmentation method, technical solution and technical effect provided by any implementation are similar and will not be elaborated here.
[0156] It should be noted that the memory 62, the processor 61 and the point cloud sensor 63 can be integrated into one device, for example, integrated into a laser radar. The laser radar can segment the point cloud data. The memory 62, the processor 61 and the point cloud sensor 63 can also be integrated into different devices. For example, the memory 62 and the processor 61 can be integrated into an electronic device with data processing capabilities, and the point cloud sensor 63 can be set in the laser radar. After acquiring the point cloud data, the laser radar can send the point cloud data to the electronic device.
[0157] The present application also provides a movable platform, which may include Figure 6 Point cloud segmentation system provided in the embodiment shown. It should be noted that the present embodiment does not limit the type of movable platform, and it can be any device that can segment point cloud data, for example, it can be a drone, a vehicle or other transportation tool.
[0158] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0159] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the embodiments of the present application, rather than to limit them. Although the embodiments of the present application have been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. These modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A point cloud segmentation method, characterized in that: include: Acquire the point cloud data to be processed in the target area; According to the boundary information and grid resolution of the three-dimensional map of the target area, a one-dimensional index value of each point cloud data is obtained; wherein the one-dimensional index value of the point cloud data is used to reflect the relative position relationship of the point cloud data in the target area; Acquire a density value of each point cloud data according to a one-dimensional index value of each point cloud data, wherein the density value of the point cloud data is used to indicate the point cloud density in a preset three-dimensional space, and the preset three-dimensional space includes the point cloud data; The point cloud data to be processed is segmented according to the density value of each point cloud data to obtain a plurality of point cloud clusters.
2. The method according to claim 1, characterized in that The step of obtaining a one-dimensional index value of each point cloud data according to the boundary information and grid resolution of the three-dimensional map of the target area includes: For each point cloud data in the point cloud data to be processed, if the point cloud data is in the three-dimensional map, a one-dimensional index value of each point cloud data is obtained according to the position information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution.
3. The method according to claim 2, characterized in that The step of obtaining a one-dimensional index value of each point cloud data according to the position information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution includes: According to the position information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution, a three-dimensional index value of the point cloud data is obtained; the three-dimensional index value includes the index value of the grid where the point cloud data is located on the three-dimensional coordinate axis corresponding to the three-dimensional map; A one-dimensional index value of the point cloud data is obtained according to the three-dimensional index value and the number of grids respectively included in the three-dimensional map on the three-dimensional coordinate axis.
4. The method according to any one of claims 2 to 3, characterized in that: Also includes: If the point cloud data is not in the three-dimensional map, it is determined that the one-dimensional index value of the point cloud data is a preset invalid value.
5. The method according to claim 1, characterized in that The obtaining the density value of each point cloud data according to the one-dimensional index value of each point cloud data comprises: If adjacent point cloud data is searched in the preset three-dimensional space according to the one-dimensional index value of each point cloud data, the number of the adjacent point cloud data is obtained; wherein the preset three-dimensional space is a first three-dimensional space; A density value of the point cloud data is acquired according to the number of the adjacent point cloud data and the first three-dimensional space.
6. The method according to claim 5, characterized in that The first three-dimensional space is a spherical space with the point cloud data as the center and the first preset distance as the radius; The acquiring the density value of the point cloud data according to the number of the neighboring points and the first three-dimensional space includes: The density value of the point cloud data is obtained according to the number of the adjacent point cloud data and the volume of the spherical space.
7. The method according to claim 1, characterized in that The step of segmenting the point cloud data to be processed according to the density value of each point cloud data to obtain a plurality of point cloud clusters includes: Traversing the point cloud data to be processed to obtain a neighbor relationship tree; Acquire the plurality of point cloud clusters according to the neighbor relationship tree; Wherein, traversing the point cloud data to be processed includes: If adjacent point cloud data is searched in a preset three-dimensional space according to the one-dimensional index value of each point cloud data, a connection relationship between the point cloud data and the adjacent point cloud data is generated; wherein the preset three-dimensional space is a second three-dimensional space; If adjacent point cloud data is searched in the preset three-dimensional space according to the one-dimensional index value of each point cloud data, and the density value of the adjacent point cloud data is greater than the density value of the point cloud data, a connection relationship between the point cloud data and the adjacent point cloud data is generated; wherein the preset three-dimensional space is a third three-dimensional space, and the third three-dimensional space is larger than the second three-dimensional space.
8. The method according to claim 7, characterized in that The step of acquiring the plurality of point cloud clusters according to the neighbor relationship tree comprises: The multiple point cloud data with the same root node in the neighbor relationship tree are divided into the same point cloud cluster.
9. The method according to claim 5 or 7, characterized in that: Also includes: Arrange the one-dimensional index value of each point cloud data in ascending or descending order to obtain an index value sequence; The step of searching for adjacent point cloud data in a preset three-dimensional space according to the one-dimensional index value of each point cloud data comprises: Determine, according to the index value sequence and the preset three-dimensional space, a grid included in the preset three-dimensional space; Adjacent point cloud data are searched within a grid included in the preset three-dimensional space.
10. The method according to any one of claims 1-3 and 5-8, before obtaining the density value of each point cloud data according to the one-dimensional index value of each point cloud data, further comprising: Deleting invalid point cloud data from the point cloud data to be processed; The invalid point cloud data is point cloud data that is not in the three-dimensional map.
11. The method according to any one of claims 1-3, 5-8, characterized in that: The point cloud data to be processed is point cloud data other than ground point cloud data in the point cloud data acquired by the laser radar.
12. The method according to any one of claims 1-3, 5-8, characterized in that: Also includes: Get the number of point cloud data in each point cloud cluster; If the number of point cloud data in the point cloud cluster is less than a preset value, the point cloud cluster is deleted.
13. A point cloud segmentation system, characterized in that: include: Memory, processors, and point cloud sensors; The point cloud sensor is used to obtain point cloud data to be processed in the target area; The memory is used to store program codes; The processor calls the program code, and when the program code is executed, is used to perform the following operations: According to the boundary information and grid resolution of the three-dimensional map of the target area, a one-dimensional index value of each point cloud data is obtained; wherein the one-dimensional index value of the point cloud data is used to reflect the relative position relationship of the point cloud data in the target area; Acquire a density value of each point cloud data according to a one-dimensional index value of each point cloud data, wherein the density value of the point cloud data is used to indicate the point cloud density in a preset three-dimensional space, and the preset three-dimensional space includes the point cloud data; The point cloud data to be processed is segmented according to the density value of each point cloud data to obtain a plurality of point cloud clusters.
14. The system according to claim 13, characterized in that The processor is specifically used for: For each point cloud data in the point cloud data to be processed, if the point cloud data is in the three-dimensional map, a one-dimensional index value of each point cloud data is obtained according to the position information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution.
15. The system according to claim 14, characterized in that The processor is specifically used for: According to the position information of the point cloud data, the boundary information of the three-dimensional map and the grid resolution, a three-dimensional index value of the point cloud data is obtained; the three-dimensional index value includes the index value of the grid where the point cloud data is located on the three-dimensional coordinate axis corresponding to the three-dimensional map; A one-dimensional index value of the point cloud data is obtained according to the three-dimensional index value and the number of grids respectively included in the three-dimensional map on the three-dimensional coordinate axis.
16. The system according to any one of claims 14-15, characterized in that: The processor is further configured to: If the point cloud data is not in the three-dimensional map, it is determined that the one-dimensional index value of the point cloud data is a preset invalid value.
17. The system according to claim 13, characterized in that The processor is specifically used for: If adjacent point cloud data is searched in the preset three-dimensional space according to the one-dimensional index value of each point cloud data, the number of the adjacent point cloud data is obtained: wherein, The preset three-dimensional space is a first three-dimensional space; A density value of the point cloud data is acquired according to the number of the adjacent point cloud data and the first three-dimensional space.
18. The system according to claim 17, characterized in that The first three-dimensional space is a spherical space with the point cloud data as the center and the first preset distance as the radius; the processor is specifically used for: The density value of the point cloud data is obtained according to the number of the adjacent point cloud data and the volume of the spherical space.
19. The system according to claim 13, characterized in that The processor is specifically used for: Traversing the point cloud data to be processed to obtain a neighbor relationship tree; Acquire the plurality of point cloud clusters according to the neighbor relationship tree; Wherein, traversing the point cloud data to be processed includes: If adjacent point cloud data is searched in a preset three-dimensional space according to the one-dimensional index value of each point cloud data, a connection relationship between the point cloud data and the adjacent point cloud data is generated; wherein the preset three-dimensional space is a second three-dimensional space; If adjacent point cloud data is searched in the preset three-dimensional space according to the one-dimensional index value of each point cloud data, and the density value of the adjacent point cloud data is greater than the density value of the point cloud data, a connection relationship between the point cloud data and the adjacent point cloud data is generated; wherein the preset three-dimensional space is a second three-dimensional space, and the second three-dimensional space is greater than the second three-dimensional space.
20. The system according to claim 19, characterized in that The processor is specifically used for: The multiple point cloud data with the same root node in the neighbor relationship tree are divided into the same point cloud cluster.
21. The system according to claim 17 or 19, characterized in that The processor is further configured to: Arrange the one-dimensional index value of each point cloud data in ascending or descending order to obtain an index value sequence; The step of searching for adjacent point cloud data in a preset three-dimensional space according to the one-dimensional index value of each point cloud data comprises: Determine, according to the index value sequence and the preset three-dimensional space, a grid included in the preset three-dimensional space; Adjacent point cloud data are searched within a grid included in the preset three-dimensional space.
22. According to the system described in any one of claims 13-15 and 17-20, the processor is also used to delete invalid point cloud data from the point cloud data to be processed before obtaining the density value of each point cloud data according to the one-dimensional index value of each point cloud data; the invalid point cloud data is point cloud data that is not in the three-dimensional map.
23. The system according to any one of claims 13-15, 17-20, characterized in that: The point cloud data to be processed is point cloud data other than ground point cloud data in the point cloud data acquired by the laser radar.
24. The system according to any one of claims 13-15, 17-20, characterized in that: The processor is further configured to: Get the number of point cloud data in each point cloud cluster; If the number of point cloud data in the point cloud cluster is less than a preset value, the point cloud cluster is deleted.
25. The system according to any one of claims 13-15, 17-20, characterized in that: The point cloud segmentation system is a laser radar.
26. A movable platform, characterized in that: include: A point cloud segmentation system as described in any one of claims 13 to 25.
27. The movable platform according to claim 26, characterized in that: The movable platform is a vehicle or a drone.
28. A computer storage medium, characterized in that The storage medium stores a computer program, and when the computer program is executed, the method according to any one of claims 1 to 12 is implemented.
Citation Information
Patent Citations
Vehicular point cloud clustering method and system
CN107292276A