A point cloud recognition method, medium and computing device

By segmenting the road space into a voxel grid and calculating the normal vectors of the local point cloud, combined with cross-validation from at least two laser sources, the problem of low efficiency and insufficient accuracy in point cloud recognition in existing technologies is solved, achieving efficient and refined road surface point cloud recognition.

CN115856932BActive Publication Date: 2026-03-20AUTONAVI SOFTWARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-03
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Existing technologies struggle to efficiently and accurately identify road surface point clouds from point clouds, often overlooking point clouds of local road surfaces and exhibiting insufficient accuracy.

Method used

The road space is divided into multiple voxel grids. The point cloud is then segmented into local point clouds using the voxel grids. The angle between the normal vector of the local point cloud and the upward direction in the road space is calculated to determine whether it belongs to the road surface point cloud. Cross-validation is performed using at least two laser sources.

Benefits of technology

It achieves efficient and accurate identification of road surface point clouds, avoiding the inefficient and time-consuming nearest neighbor algorithm in existing technologies, and improving the refinement and accuracy of identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115856932B_ABST
    Figure CN115856932B_ABST
Patent Text Reader

Abstract

Embodiments disclosed in the specification provide a point cloud recognition method, a medium and a computing device. A road space is divided into a plurality of voxel grids, and a point cloud obtained by laser scanning of the road space (hereinafter referred to as an overall point cloud) can be divided into local point clouds falling into different voxel grids by using the voxel grids. A normal vector is calculated for each local point cloud, and an angle between the normal vector of the local point cloud and an upward direction in the road space is used to determine whether the local point cloud belongs to a road surface point cloud. If the angle is small enough, the local point cloud can be recognized as a road surface point cloud.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The embodiments of the present specification relate to the technical field of high-definition map, and particularly relate to a point cloud recognition method, medium and computing device. BACKGROUND

[0002] Laser point cloud, which can be simply referred to as point cloud, refers to a set of laser scanning points obtained by laser scanning the surface of an object in space.

[0003] In the business scenario related to high-definition map, it is usually necessary to collect point clouds for road space and identify the road surface point cloud part in the collected point clouds.

[0004] Therefore, a technical solution is needed to accurately and efficiently identify the road surface point cloud in the point cloud. SUMMARY

[0005] The embodiments of the present specification provide a point cloud recognition method, medium and computing device to accurately and efficiently identify the road surface point cloud in the point cloud.

[0006] According to a first aspect of the embodiments of the present specification, a point cloud recognition method is provided, comprising:

[0007] dividing a road space into a plurality of voxel grids, and obtaining a whole point cloud corresponding to each laser source by laser scanning the road space by at least one laser source;

[0008] For each whole point cloud, the whole point cloud is divided into a plurality of local point clouds based on the plurality of voxel grids; wherein different local point clouds of the same whole point cloud fall into different voxel grids;

[0009] For each local point cloud, a normal vector of the local point cloud is calculated, and an included angle of the normal vector with respect to an upward direction in the road space is obtained;

[0010] For each voxel grid, if each local point cloud falling into the voxel grid meets a set condition, each local point cloud falling into the voxel grid is identified as a road surface point cloud; wherein the set condition at least includes that the included angle is less than a set angle.

[0011] According to a second aspect of the embodiments of the present specification, a computer readable storage medium is provided, which stores a computer program, and the program is executed by a processor to implement the method of the first aspect.

[0012] According to a third aspect of the embodiments of the present specification, a computing device is provided, comprising a memory, a processor; the memory is configured to store computer instructions executable on the processor, and the processor is configured to implement the method of the first aspect when executing the computer instructions.

[0013] In the above technical solution, the road space is divided into a plurality of voxel grids, and the voxel grids are used to divide the point cloud obtained by laser scanning of the road space (referred to as the overall point cloud in this paper) into local point clouds falling into different voxel grids. The normal vector of each local point cloud is calculated, and the angle between the normal vector of the local point cloud and the upward direction in the road space is used to determine whether the local point cloud belongs to the road surface point cloud. For the case of a single overall point cloud obtained by laser scanning of the road space with a single laser source, there will be only one local point cloud in the same voxel grid. For the case of at least two overall point clouds obtained by laser scanning of the road space with at least two laser sources, the same overall point cloud is divided into a plurality of local point clouds by voxel grids, so that at least two local point clouds may fall into the same voxel grid, and different local point clouds in the same voxel grid are derived from overall point clouds obtained by different laser sources. Regardless of which case, as long as all local point clouds in the same voxel grid meet the set condition (i.e., the angle between the normal vector of each local point cloud and the upward direction in the road space is small enough), it can be determined that all local point clouds in the same voxel grid belong to the road surface point cloud.

[0014] Through the above technical solution, the following technical effects can be achieved:

[0015] 1. Since the overall point cloud is divided into a plurality of local point clouds by voxel grids, it is not necessary to use the existing technology to identify the road surface point cloud by performing the nearest neighbor algorithm on a single laser scanning point (such as the RANSAC fitting technology), which can avoid the low efficiency and time-consuming shortcomings of the nearest neighbor algorithm, and can more efficiently identify the road surface point cloud from the overall point cloud.

[0016] 2. Since the overall point cloud is divided into a plurality of local point clouds by voxel grids, and it is determined whether each local point cloud meets the set condition, this can realize the localization and detailed analysis of the overall point cloud, and the entire road surface point cloud in the overall point cloud can be obtained by splicing all local point clouds belonging to the road surface point cloud in the same overall point cloud. Unlike the existing technology, which assumes that the entire road surface is relatively flat in terms of ups and downs, ignores the differences in ups and downs between different parts of the road surface, and analyzes the overall point cloud, this method is prone to miss some local road surface point clouds, resulting in significant missing of the identified entire road surface point cloud.

[0017] 3、As described above, if at least two laser sources are used to scan the road space to obtain at least two overall point clouds, at least two local point clouds from different laser sources may fall into the same voxel grid. Since each laser source may have errors in the point cloud obtained by scanning, although theoretically the local point clouds in the same voxel grid (equivalent to the same position region in the calibrated road space) should coincide in position, in fact the local point clouds in the same voxel grid may not coincide in position. In this way, all local point clouds in the same voxel grid meet the set condition, so that each local point cloud in the same voxel grid is determined to belong to the road surface point cloud, and therefore, the cross-verification recognition of whether the local point cloud corresponding to the same position region in the road space is a road surface point cloud is realized by using at least two laser sources, which can improve the accuracy of identifying road surface point clouds. BRIEF DESCRIPTION OF DRAWINGS

[0018] Figure 1 An exemplary schematic diagram of dividing a space into a plurality of voxel grids is provided.

[0019] Figure 2 An exemplary schematic diagram of point clouds obtained by scanning the same object surface by two laser sources not coinciding is provided.

[0020] Figure 3 An exemplary flowchart of a point cloud recognition method is provided.

[0021] Figure 4 An exemplary schematic diagram of identifying road surface point clouds and non-road surface point clouds from overall point clouds is provided.

[0022] Figure 5 An exemplary structural schematic diagram of a computing device is provided.

[0023] In the drawings, the same or corresponding reference numbers represent the same or corresponding parts. The number of elements in the drawings is used for illustration and not limitation, and any naming is only used for differentiation and does not have any limiting meaning. DETAILED DESCRIPTION

[0024] In order for those skilled in the art to better understand the technical solutions in the specification, the technical solutions in the specification will be described clearly and completely below in conjunction with the drawings in the specification. Obviously, the described embodiments are only part of the embodiments of the specification, not all the embodiments. Based on the embodiments in the specification, all other embodiments obtained by those skilled in the art without creative labor should be within the scope of protection of the specification.

[0025] It should be noted that the steps of the respective methods need not necessarily be performed in the order shown and described in this specification in other embodiments. In some other embodiments, the methods thereof can include more or fewer steps than those described in this specification. Furthermore, a single step described in this specification can in other embodiments be split into multiple steps to be described; and multiple steps described in this specification can in other embodiments be combined into a single step to be described.

[0026] The road space described in this disclosure refers to a natural space containing a road. Generally, in addition to including a road, the road space also often includes non-road objects such as trees, railings, pedestrians, buildings on the road surface, etc.

[0027] The point cloud described in this disclosure is obtained by scanning the road space with a laser light source. In the business scenario related to high-definition maps, the laser light source is installed on a radar to form a lidar. The map data collection device (such as a map data collection vehicle) loaded with the lidar can be located in the road space to perform laser scanning on the road space to obtain a point cloud.

[0028] For the convenience of description, the point cloud obtained by laser scanning on the road space is referred to as an overall point cloud, which means a point cloud corresponding to the overall road space.

[0029] The road surface point cloud described in this disclosure refers to the point cloud formed by the reflection of laser light on the road surface of the road in the road space. The non-road surface point cloud described in this disclosure refers to the point cloud formed by the reflection of laser light on other objects in the road space other than the road surface.

[0030] The voxel described in this disclosure is a short form of volume element, and the voxel grid refers to a grid of volume elements in space. Figure 1 An exemplary schematic diagram of dividing a space into multiple voxel grids is provided. As shown in Figure 1 The imaginary space is a cubic cube, which can be divided into multiple small cubes, and each small cube can be regarded as a voxel grid.

[0031] The present disclosure provides a technical solution capable of accurately and efficiently identifying road surface point clouds in point clouds. The road space is divided into a plurality of voxel grids, and the point clouds obtained by laser scanning of the road space (referred to herein as overall point clouds) can be divided into local point clouds falling into different voxel grids by using the voxel grids. The normal vector is calculated for each local point cloud, and the angle between the normal vector of the local point cloud and the upward direction in the road space is used to determine whether the local point cloud belongs to the road surface point cloud. For the case of a single overall point cloud obtained by laser scanning of the road space with a single laser source, there will be only one local point cloud in the same voxel grid, and for the case of at least two overall point clouds obtained by laser scanning of the road space with at least two laser sources, the same overall point cloud is divided into a plurality of local point clouds by using the voxel grid, so that at least two local point clouds can fall into the same voxel grid, and different local point clouds in the same voxel grid are derived from overall point clouds obtained by different laser sources. Regardless of which case, as long as all local point clouds in the same voxel grid meet the set condition (i.e., the angle between the normal vector of each local point cloud and the upward direction in the road space is small enough), it can be determined that all local point clouds in the same voxel grid belong to the road surface point cloud.

[0032] The above technical solution can achieve the following technical effects:

[0033] 1. Since the overall point cloud is divided into a plurality of local point clouds by using the voxel grid, it is not necessary to use the existing technology to perform the nearest neighbor algorithm on a single laser scanning point to identify the road surface point cloud (such as the RANSAC fitting technology), which can avoid the low efficiency and time-consuming shortcomings of the nearest neighbor algorithm, and can more efficiently identify the road surface point cloud from the overall point cloud.

[0034] 2. Since the overall point cloud is divided into a plurality of local point clouds by using the voxel grid, it is determined whether each local point cloud meets the set condition, which can realize the localization and detailed analysis of the overall point cloud, and the entire road surface point cloud in the overall point cloud can be obtained by splicing all local point clouds belonging to the road surface point cloud in the same overall point cloud. Unlike the existing technology, which assumes that the entire road surface is relatively flat and ignores the difference in the degree of ups and downs between different parts of the road surface, the overall point cloud is analyzed, which can easily miss some local road surface point clouds, resulting in significant missing of the identified entire road surface point cloud.

[0035] 3、As mentioned above, if at least two laser sources are used to scan the road space to obtain at least two overall point clouds, at least two local point clouds from different laser sources may fall into the same voxel grid. Since each laser source may have errors in the obtained point cloud, although theoretically the local point clouds in the same voxel grid (equivalent to the same position region in the calibrated road space) should coincide in position, in fact the local point clouds in the same voxel grid may not coincide in position (see Figure 2 , Figure 2 An exemplary schematic diagram showing that the point clouds obtained by scanning the same object surface by two laser sources do not coincide). In this way, all local point clouds in the same voxel grid meet the set condition, so that it can be determined that each local point cloud in the same voxel grid belongs to the road surface point cloud, and therefore, by using at least two laser sources, cross-verification recognition of whether the local point cloud corresponding to the same position region in the road space is a road surface point cloud is achieved, which can improve the accuracy of recognizing road surface point clouds.

[0036] The technical solutions provided by the present disclosure are described in detail below.

[0037] Figure 3 An exemplary flowchart of a point cloud recognition method is provided, including the following steps:

[0038] S300: dividing the road space into a plurality of voxel grids.

[0039] S302: obtaining an overall point cloud corresponding to each laser source by laser scanning of the road space by at least one laser source.

[0040] The size of the voxel grid can be set according to actual needs. In some embodiments, considering the sparsity of the distribution of laser scanning points in the point cloud obtained by laser scanning of the road space, if the distribution of laser scanning points is relatively sparse, a voxel grid with a larger size (i.e., a larger voxel resolution) is often needed, so that a batch of laser scanning points forming a local point cloud can fall into the same voxel grid. If the distribution of laser scanning points is relatively dense, a voxel grid with a smaller size is often needed, so that the number of laser scanning points contained in a single local point cloud falling into the voxel grid is reduced, and the fineness of the implementation effect of the present solution is reduced.

[0041] Therefore, the road space is divided into a plurality of voxel grids based on the sparsity of the distribution of laser scanning points in each overall point cloud; wherein the size of a single voxel grid is positively correlated with the sparsity described above. Generally, even if two or more laser sources are used to scan the road space, the sparsity of the distribution of laser scanning points in different overall point clouds obtained is generally consistent.

[0042] The number of laser sources can be single or at least two. In some embodiments, a single overall point cloud can be obtained by using only a single laser source, and the single overall point cloud is segmented into multiple local point clouds by using multiple voxel grids. In other embodiments, at least two overall point clouds can be obtained by using at least two laser sources, and for each overall point cloud, the overall point cloud is segmented into multiple local point clouds by using multiple voxel grids. In summary, different local point clouds of the same overall point cloud fall into different voxel grids, and for the case of using at least two laser sources, at least two local point clouds can fall into the same voxel grid, and the different local point clouds falling into the same voxel grid are derived from different overall point clouds.

[0043] In some embodiments, considering that the road surface in the road space is not particularly high even if it has ups and downs, the height range in which the height of the laser scanning point corresponding to the road surface in the road space (i.e., the length of the perpendicular line of the laser scanning point relative to the horizontal plane of the road space) falls into can be estimated. Then, the point cloud formed by the laser scanning points in the overall point cloud whose height does not fall into the height range can be directly identified as not belonging to the road surface point cloud.

[0044] Specifically, before segmenting the same overall point cloud into multiple local point clouds, the height of each laser scanning point in the same overall point cloud in the road space can be obtained; the laser scanning points whose height does not fall into the set height range are filtered out from the same overall point cloud; wherein the set height range is [H-A, H+A], H is the height of the laser source scanning the same overall point cloud in the road space (i.e., the length of the perpendicular line relative to the horizontal plane of the road space), and A is a distance constant less than or equal to H. In this way, the overall point cloud is filtered by laser scanning points once, and the laser scanning points that obviously belong to the non-road surface point cloud are filtered out (which also means that part of the non-road surface point cloud is identified), and then the filtered overall point cloud is segmented into multiple local point clouds by using multiple voxel grids. The main benefit of this is to improve the efficiency of implementing the scheme, because the calculation efficiency of the normal vector of the local point cloud in the subsequent step is positively related to the number of laser scanning points in the local point cloud.

[0045] In the business scenario related to high-definition maps, if the road space is scanned by using the laser radar loaded on the map data collection device, the above-mentioned H can be set to the height of the center of mass of the data collection device (such as a collection vehicle) in the road space.

[0046] S304: For each overall point cloud, segment the overall point cloud into multiple local point clouds based on the multiple voxel grids.

[0047] S306: For each local point cloud, a normal vector of the local point cloud is calculated, and an included angle of the normal vector with respect to an upward direction in the road space is obtained.

[0048] S308: For each voxel grid, if each local point cloud falling into the voxel grid meets a set condition, each local point cloud falling into the voxel grid is identified as a road surface point cloud.

[0049] In the case where the number of laser sources is at least two, for step S308, for each voxel grid, if each local point cloud falling into the voxel grid corresponds to one of the laser sources, and each local point cloud meets a set condition, each local point cloud falling into the voxel grid is determined as a road surface point cloud.

[0050] S310: For each voxel grid, if the local point cloud falling into the voxel grid does not meet a set condition, the local point cloud falling into the voxel grid which does not meet the set condition is identified as a non-road surface point cloud.

[0051] For step S310, if the local point cloud falling into the voxel grid does not meet a set condition, it can be that only the local point cloud falling into the voxel grid which does not meet the set condition is identified as a non-road surface point cloud, and the local point cloud falling into the voxel grid which meets the set condition is identified as a road surface point cloud; or it can be that each local point cloud falling into the voxel grid is identified as a non-road surface point cloud.

[0052] The set condition for determining a single local point cloud can at least include that an included angle of a normal vector of the single local point cloud with respect to an upward direction in the road space is less than a set angle.

[0053] That is, when determining whether a single local point cloud belongs to a road surface point cloud, an index that can be referred to includes whether an included angle of a normal vector of the local point cloud with respect to an upward direction in the road space is small enough (such as less than 30 degrees), and if the included angle is small enough, it means that the local point cloud is likely to belong to a road surface point cloud.

[0054] It is easy to understand that the normal vector of the local point cloud can be understood as the comprehensive result of the normal vectors of each laser scanning point in the local point cloud relative to the position of the road surface where the laser scanning point is located, and the direction of the normal vector of the local point cloud can represent the comprehensive direction of the normal vectors of the most densely distributed batch of laser scanning points in the local point cloud, which is also the most suitable direction for distinguishing whether the surface of the object corresponding to the local point cloud is a road surface. Since the normal vector of the ideal flat road surface points to the positive direction in the road space, and the real road surface often has a certain ups and downs, the degree of ups and downs is not too high, which means that the angle between the direction of the normal vector of the real road surface and the upward direction in the road space is not too large. Therefore, whether the angle between the normal vector of the local point cloud and the upward direction in the road space is small enough indicates that the local point cloud is more likely to belong to the road surface point cloud.

[0055] There are many methods for calculating the normal vector of the point cloud, and an example is given here. For example, the principal component analysis (PAC) can be applied to the local point cloud, and the vector corresponding to the smallest eigenvalue B among the obtained eigenvalues is determined as the normal vector of the local point cloud. The direction of the vector corresponding to the smallest eigenvalue represents the comprehensive direction of the normal vectors of the most densely distributed batch of laser scanning points in the local point cloud, which can be used as the direction of the normal vector of the local point cloud.

[0056] Further, in the embodiment of applying PAC to calculate the normal vector of the local point cloud, the set condition required to be met by a single local point cloud can also include: M*B

[0057] The PAC outputs generally have three eigenvalues, and the direction of the vector corresponding to the intermediate eigenvalue between the minimum eigenvalue and the maximum eigenvalue can represent the comprehensive direction of the normal vectors of the batch of laser scanning points that are not the most dense or the most sparse in the local point cloud. If the difference between the minimum eigenvalue and the intermediate eigenvalue is large, it means that the degree of density of the batch of laser scanning points that are the most dense in the local point cloud is much higher than that of other batches of laser scanning points, which can prove that the local point cloud is more likely to belong to the road surface point cloud, excluding non-road surface objects (such as wire frames, power lines, etc.) that have a shape similar to the road surface. Although the surface of the non-road surface object with a shape similar to the road surface has a certain degree of extension in the front and back directions like the road surface, the left and right widths of the non-road surface object with a shape similar to the road surface are relatively small, which often leads to a large difference between the minimum eigenvalue and the intermediate eigenvalue when PAC is applied to calculate the point cloud of the non-road surface object with a shape similar to the road surface. Therefore, the above-mentioned condition "M*B

[0058] Figure 4is a schematic diagram provided by the present disclosure for identifying road surface point clouds and non-road surface point clouds from a whole point cloud. As shown in Figure 4 The dark part is the road surface point cloud, and the light part is the non-road surface point cloud.

[0059] In addition, in some embodiments, if at least two laser light sources are used, the local point clouds falling into the same voxel grid can be determined as different local point clouds obtained by different laser sources scanning the same object surface. That is, the same voxel grid calibrates the same position area in the road space, and the local point clouds falling into the same voxel grid are obtained by different laser sources scanning the same object surface in the same position area based on different errors. Therefore, the local point clouds falling into the same voxel grid have a matching relationship, and after the matching relationship is determined, a group of road surface point clouds or non-road surface point clouds with a matching relationship obtained by different laser sources can be used for error correction to obtain road surface point clouds or non-road surface point clouds with smaller errors.

[0060] The present disclosure also provides a computer readable storage medium, which stores a computer program. The program is executed by a processor to implement the method of the embodiments of the present disclosure.

[0061] The present disclosure also provides a computing device, which includes a memory and a processor. The memory is used to store computer instructions executable on the processor, and the processor is used to implement the method of the embodiments of the present disclosure when executing the computer instructions.

[0062] Figure 5 is a structural schematic diagram of a computing device provided by the present disclosure. The computing device 15 can include but is not limited to a processor 151, a memory 152, and a bus 153 connecting different system components including the memory 152 and the processor 151.

[0063] The memory 152 stores computer instructions executable by the processor 151, so that the processor 151 can execute the method of any embodiment of the present disclosure. The memory 152 can include a random access memory unit RAM 1521, a cache memory unit 1522, and / or a read-only memory unit ROM 1523. The memory 152 can also include a program tool 1525 having a set of program modules 1524, which include but are not limited to an operating system, one or more application programs, other program modules, and program data, which can include implementation of a network environment in one or more combinations.

[0064] The bus 153 can include, for example, a data bus, an address bus, and a control bus, among others. The computing device 15 can also communicate with external devices 155, such as a keyboard, a Bluetooth device, etc., via the I / O interface 154. The computing device 150 can also communicate with one or more networks, such as a local area network, a wide area network, a public network, etc., via the network adapter 156. As shown, the network adapter 156 can also communicate with other modules of the computing device 15 via the bus 153.

[0065] Moreover, although the operations of the method(s) of the present disclosure are described in a particular, sequential order, this order is not meant to be a limitation and is not intended to imply that there is an absolute requirement that the operations be performed in the order described. On the contrary, certain of the operations can be performed in a different order, or performed concurrently or in parallel, or omitted.

[0066] While the principles of the disclosure have been described above in connection with specific apparatuses and methods, it is to be understood that this description is made only by way of example and not as limitation as there is a broad scope of modification and variations to the concepts disclosed herein.

[0067] The systems, apparatuses, modules or units illustrated by the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0068] For the sake of description, the above apparatuses are described in functional division and are described respectively. Of course, the functions of each unit can be implemented in the same or more software and / or hardware when implementing the present specification.

[0069] Those skilled in the art should understand that embodiments of the present disclosure can be provided as a method, a system, or a computer program product. Therefore, the present disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present disclosure can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0070] The present application is described in reference to the flowchart and / or block diagrams of the methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart and / or block diagrams, and combinations of blocks in the flowchart and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart and / or block diagram block or blocks. Figure 1 Figure 1 The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and / or block diagram block or blocks.

[0071] The specification can be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and the like, that perform particular tasks or implement particular abstract data types. Computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and / or block diagram block or blocks.

[0072] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the flowchart and / or block diagram block or blocks. Figure 1 Figure 1 The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and / or block diagram block or blocks.

[0073] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and / or block diagram block or blocks. Figure 1 Figure 1 The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and / or block diagram block or blocks.

[0074] The memory can include non-persistent memory and / or persistent memory, such as flash memory, read-only memory (ROM), and / or random access memory (RAM, which can be a volatile or non-volatile type), among others. The memory is an example of computer-readable media.

[0075] ​​​Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, disk storage, quantum memory, graphene-based storage medium or other magnetic storage device, or any other non-transmission medium that can be used to store information accessible by a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.

[0076] It should also be noted that the terms "comprising", "containing", or any other variant thereof are intended to cover non-exclusive inclusions, such that a process, method, article or apparatus that comprises a list of elements does not only include those elements, but also other elements not explicitly listed, or other elements inherent to such a process, method, article or apparatus. Without more limitations, the element defined by the phrase "comprising a" does not exclude the presence of additional identical elements in the process, method, article or apparatus comprising the element.

[0077] The above describes several embodiments of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from the order in the embodiments and still achieve the desired result. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or sequential order shown to achieve the desired results. In some embodiments, multi-task processing and parallel processing are possible or can be advantageous.

[0078] The terms used in the several embodiments of the present specification are only for the purpose of describing specific embodiments, and are not intended to limit the several embodiments of the present specification. The singular forms "a", "an" and "the" used in the several embodiments of the present specification and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein means and includes any or all possible combinations of one or more associated listed items.

[0079] It should be understood that although the terms first, second, third, etc., may be used to describe various information in various embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first information may also be referred to as second information without departing from the scope of various embodiments of this specification, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."

[0080] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, the method embodiments are basically similar to the method embodiments and are therefore described simply; relevant parts can be referred to the descriptions of the method embodiments. The method embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate. When implementing the embodiments of this specification, the functions of each module can be implemented in one or more software and / or hardware. Alternatively, some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0081] The above description is merely a preferred embodiment of the various embodiments of this specification and is not intended to limit the various embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the various embodiments of this specification should be included within the protection scope of the various embodiments of this specification.

Claims

1. A point cloud recognition method, comprising: The road space is divided into multiple voxel grids, and at least two laser sources are used to perform laser scanning on the road space to obtain the overall point cloud corresponding to each laser source; For each overall point cloud, based on the multiple voxel grids, the overall point cloud is divided into multiple local point clouds; wherein, different local point clouds of the same overall point cloud fall into different voxel grids, and at least two local point clouds from different laser sources fall into the same voxel grid. For each local point cloud, calculate the normal vector of that local point cloud and obtain the angle between the normal vector and the positive upward direction in the road space; For each voxel grid, if each local point cloud falling within the voxel grid meets the set conditions, then each local point cloud falling within the voxel grid is identified as a road surface point cloud; wherein, the set conditions include at least: the included angle is less than a set angle.

2. The method as described in claim 1, comprising dividing the road space into multiple voxel grids, including: Based on the sparsity of the distribution of laser scanning points in each overall point cloud, the road space is divided into multiple voxel grids; wherein the size of a single voxel grid is positively correlated with the sparsity.

3. The method of claim 1, further comprising, before segmenting each overall point cloud into multiple local point clouds: Obtain the height of each laser scanning point in the overall point cloud within the road space; Laser scanning points whose height does not fall within the set height range are filtered out from the overall point cloud; wherein, the set height range is [HA, H+A], H is the height of the laser source that scanned the overall point cloud in the road space, and A is a distance constant less than or equal to H.

4. The method of claim 3, further comprising: The point cloud formed by the laser scanning points filtered out from the overall point cloud is identified as a non-road surface point cloud.

5. The method as described in claim 1, calculating the normal vector of the local point cloud, includes: Applying Principal Component Analysis (PAC) to the local point cloud, the vector corresponding to the smallest eigenvalue B among the obtained eigenvalues ​​is determined as the normal vector of the local point cloud.

6. The method of claim 5, wherein the setting conditions further include: M*B<C; where M is a constant greater than 1, and C is the eigenvalue between the minimum and maximum eigenvalues.

7. The method of claim 1, wherein for each voxel grid, if each local point cloud falling within the voxel grid meets a set condition, then identifying each local point cloud falling within the voxel grid as a road surface point cloud, includes: For each voxel grid, if each local point cloud falling within the voxel grid corresponds one-to-one with the laser source, and each local point cloud meets the set conditions, then each local point cloud falling within the voxel grid is determined to be a road surface point cloud.

8. The method of claim 1, further comprising: For each voxel grid, if a local point cloud falling within that voxel grid does not meet the set conditions, then the local point cloud falling within that voxel grid that does not meet the set conditions is identified as a non-road surface point cloud.

9. A computing device, comprising a memory and a processor; the memory being configured to store computer instructions executable on the processor, the processor being configured to implement the method of any one of claims 1 to 8 when executing the computer instructions.

10. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method of any one of claims 1 to 8.

Citation Information

Patent Citations

  • Voxel based ground plane estimation and object segmentation

    CN110770790A

  • Three-dimensional laser point cloud pavement segmentation method and system, computer equipment and medium

    CN113077473A