Point cloud ground detection methods, devices, vehicles and storage media
By iteratively optimizing the algorithm, point cloud data of the vehicle in the preset direction is obtained and divided into sub-point cloud data. The angle between the normal vectors is calculated, which solves the problem of abnormal planes in point cloud ground detection, realizes accurate detection of slopes and uneven ground, and improves detection accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-09
- Publication Date
- 2026-03-13
Smart Images

Figure CN115523935B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent driving technology for vehicles, and in particular to a point cloud ground detection method, device, vehicle, and storage medium. Background Technology
[0002] In recent years, with the rapid development of intelligent transportation and artificial intelligence, intelligent vehicles have become a common mode of transportation. Therefore, ensuring intelligent driving while improving vehicle safety has become an important factor for people when choosing a vehicle. This mainly involves the following aspects:
[0003] Intelligent driving technology is a technology that enables vehicles to perceive their surroundings and navigate without human intervention. It utilizes various technologies, including radar, laser, ultrasound, GPS (Global Positioning System), odometer, and computer vision, to perceive its surroundings. Through advanced computing and control systems, it identifies obstacles and various signs, and plans appropriate routes to control the vehicle's movement.
[0004] LiDAR (Light Detection and Ranging) technology is a radar system that uses emitted laser beams to detect the position, velocity, and other characteristics of targets. Its working principle involves emitting a detection signal (laser beam) towards the target, then comparing the received signal reflected back from the target (target echo) with the emitted signal. After appropriate processing, relevant information about the target can be obtained, such as its distance, azimuth, altitude, velocity, attitude, and even shape. This allows for the detection, tracking, and identification of targets such as aircraft and missiles.
[0005] Ground detection technology: Ground detection technology is a preprocessing technology commonly used in autonomous driving technology. It extracts the road portion from the point cloud data in LiDAR and provides a geometric representation of the plane, which facilitates subsequent 3D pedestrian detection and reduces the difficulty of subsequent point cloud data processing.
[0006] In related technologies, most use RANSAC or DBSCAN algorithms to randomly detect point clouds on the ground.
[0007] However, this algorithm is prone to generating abnormal planes by randomly initializing the ground, which can lead to false ground detection and the inability to correctly identify it as ground on sloping road sections. These technical problems urgently need to be solved. Summary of the Invention
[0008] This application provides a point cloud ground detection method, apparatus, vehicle, and storage medium to solve the problem that the randomness of algorithms in related technologies can lead to abnormal planes in sampling and the inability to detect uneven ground conditions such as slopes and bridges. By iteratively optimizing the algorithm, the uneven parts of the ground are removed, and the ground is divided into multiple grid blocks for detection, thereby improving the accuracy of road surface detection.
[0009] The first aspect of this application provides a point cloud ground detection method, including the following steps:
[0010] Obtain point cloud data of the vehicle in a first preset direction, and classify the point cloud data according to a preset distance to obtain multiple sub-point cloud data;
[0011] Based on a preset sub-point cloud algorithm, each sub-point cloud data is calculated to obtain the point cloud plane corresponding to each sub-point cloud data; and
[0012] Calculate the angle between the normal vectors of the point cloud plane corresponding to two adjacent sub-point cloud data. When the angle between the normal vectors is greater than a preset angle, divide the two adjacent sub-point cloud data into multiple new sub-point cloud data. Calculate the angle between the normal vectors of the point cloud plane corresponding to two adjacent sub-point cloud data in the multiple new sub-point cloud data. Continue until the angle between the normal vectors is less than or equal to a preset angle. Generate ground detection results based on all the sub-point cloud data.
[0013] According to one embodiment of this application, the step of calculating each sub-point cloud data based on a preset sub-point cloud algorithm to obtain the point cloud plane corresponding to each sub-point cloud data includes:
[0014] The point cloud data is sorted along the second preset direction of the vehicle, and the point cloud data that does not meet the first preset condition is removed to obtain the initial point cloud data.
[0015] Obtain multiple initial sub-cloud data that meet the second preset condition from the initial point cloud data, and calculate the average height value of the multiple initial sub-cloud data;
[0016] Multiple sub-point cloud data to be fitted are obtained from the initial point cloud data, and the height value is less than the sum of the average height value and the first preset value. The point cloud data to be fitted is obtained based on the multiple sub-point cloud data to be fitted. After fitting the point cloud data to be fitted to obtain an initial plane, the point cloud data with a distance less than the plane is taken as the point cloud data to be fitted, until the preset iteration condition is met, and the point cloud plane corresponding to each sub-point cloud data is obtained.
[0017] According to one embodiment of this application, dividing the two adjacent sub-point cloud data into multiple new sub-point cloud data and calculating the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the multiple new sub-point cloud data includes:
[0018] The two adjacent sub-point cloud data are divided into four new sub-point cloud data;
[0019] Calculate the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data;
[0020] If the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data is greater than the preset angle, then return to the step of dividing the two adjacent sub-point cloud data into four new sub-point cloud data.
[0021] According to one embodiment of this application, the first preset direction is the forward direction of the vehicle.
[0022] According to the point cloud ground detection method of this application embodiment, point cloud data of a vehicle in a first preset direction is acquired, classified according to a preset distance to obtain multiple sub-point cloud data, and the corresponding point cloud plane is obtained by the sub-point cloud algorithm. Then, the angle between the normal vectors of the point cloud planes is calculated. When the angle between the normal vectors is greater than a preset angle, two adjacent sub-point cloud data are divided into multiple new sub-point cloud data, and the angle between the normal vectors of the point cloud planes corresponding to the two adjacent sub-point cloud data is calculated, until the angle between the normal vectors is less than or equal to the preset angle. Ground detection results are generated based on all the sub-point cloud data. This solves the problem in related technologies where the algorithm has randomness, leading to abnormal planes in sampling and the inability to detect uneven ground conditions such as slopes and bridges. By iteratively optimizing the algorithm, uneven parts of the ground are removed, and the ground is divided into multiple grid blocks for detection, thereby improving the accuracy of road surface detection.
[0023] A second aspect of this application provides a point cloud ground detection device, comprising:
[0024] The acquisition module is used to acquire point cloud data of the vehicle in a first preset direction, and classify the point cloud data according to a preset distance to obtain multiple sub-point cloud data.
[0025] The calculation module is used to calculate each sub-point cloud data based on a preset sub-point cloud algorithm, and obtain the point cloud plane corresponding to each sub-point cloud data; and
[0026] The detection module is used to calculate the angle between the normal vectors of the point cloud plane corresponding to two adjacent sub-point cloud data, and when the angle between the normal vectors is greater than a preset angle, divide the two adjacent sub-point cloud data into multiple new sub-point cloud data, and calculate the angle between the normal vectors of the point cloud plane corresponding to two adjacent sub-point cloud data in the multiple new sub-point cloud data, until the angle between the normal vectors is less than or equal to the preset angle, and generate ground detection results based on all sub-point cloud data.
[0027] According to one embodiment of this application, the computing module is specifically used for:
[0028] The point cloud data is sorted along the second preset direction of the vehicle, and the point cloud data that does not meet the first preset condition is removed to obtain the initial point cloud data.
[0029] Obtain multiple initial sub-cloud data that meet the second preset condition from the initial point cloud data, and calculate the average height value of the multiple initial sub-cloud data;
[0030] Multiple sub-point cloud data to be fitted are obtained from the initial point cloud data, and the height value is less than the sum of the average height value and the first preset value. The point cloud data to be fitted is obtained based on the multiple sub-point cloud data to be fitted. After fitting the point cloud data to be fitted to obtain an initial plane, the point cloud data with a distance less than the plane is taken as the point cloud data to be fitted, until the preset iteration condition is met, and the point cloud plane corresponding to each sub-point cloud data is obtained.
[0031] According to one embodiment of this application, the detection module is specifically used for:
[0032] The two adjacent sub-point cloud data are divided into four new sub-point cloud data;
[0033] Calculate the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data;
[0034] If the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data is greater than the preset angle, then return to the step of dividing the two adjacent sub-point cloud data into four new sub-point cloud data.
[0035] According to one embodiment of this application, the first preset direction is the forward direction of the vehicle.
[0036] According to the point cloud ground detection device of this application embodiment, point cloud data of a vehicle in a first preset direction is acquired, classified according to a preset distance to obtain multiple sub-point cloud data, and the corresponding point cloud plane is obtained by the sub-point cloud algorithm. The angle between the normal vectors of the point cloud planes is then calculated. When the angle between the normal vectors is greater than a preset angle, two adjacent sub-point cloud data are divided into multiple new sub-point cloud data, and the angle between the normal vectors of the point cloud planes corresponding to the two adjacent sub-point cloud data is calculated, until the angle between the normal vectors is less than or equal to the preset angle. A ground detection result is generated based on all the sub-point cloud data. This solves the problem in related technologies where the algorithm has randomness, leading to abnormal planes in sampling and the inability to detect uneven ground conditions such as slopes and bridges. By iteratively optimizing the algorithm, uneven areas of the ground are removed, and the ground is divided into multiple grid blocks for detection, thereby improving the accuracy of road surface detection.
[0037] A third aspect of this application provides a vehicle, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the point cloud ground detection method as described in the above embodiments.
[0038] A fourth aspect of this application provides a computer-readable storage medium storing computer instructions for causing the computer to perform the point cloud ground detection method as described in the above embodiments.
[0039] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0040] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:
[0041] Figure 1 This is a flowchart of a point cloud ground detection method provided according to an embodiment of this application;
[0042] Figure 2 This is a schematic diagram of the overall logic for point cloud ground detection according to an embodiment of this application;
[0043] Figure 3 This is a schematic diagram of sub-point cloud processing logic according to an embodiment of this application;
[0044] Figure 4 This is an example diagram of a point cloud ground detection device according to an embodiment of this application;
[0045] Figure 5 This is a structural schematic diagram of a vehicle provided according to an embodiment of this application. Detailed Implementation
[0046] The embodiments of this application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0047] The following description, with reference to the accompanying drawings, outlines a point cloud ground detection method, apparatus, vehicle, and storage medium according to embodiments of this application. Addressing the issues mentioned in the background section regarding the randomness of algorithms in point cloud ground detection methods, which can easily lead to abnormal sampling planes and the inability to detect uneven ground conditions such as slopes and bridges, this application provides a point cloud ground detection method. In this method, point cloud data from a vehicle in a first preset direction is acquired, classified according to a preset distance to obtain multiple sub-point cloud data, and the corresponding point cloud plane is obtained using a sub-point cloud algorithm. The angle between the normal vectors of the point cloud planes is then calculated. When the angle between the normal vectors is greater than a preset angle, two adjacent sub-point cloud data are divided into multiple new sub-point cloud data, and the angle between the normal vectors of the point cloud planes corresponding to the two adjacent sub-point cloud data is calculated, until the angle between the normal vectors is less than or equal to a preset angle. Finally, a ground detection result is generated based on all the sub-point cloud data. This solves the problem that the randomness of algorithms in related technologies can lead to abnormal sampling planes and the inability to detect uneven road conditions such as slopes and bridges. By iteratively optimizing the algorithm, uneven parts of the ground are removed, and the ground is divided into multiple grid blocks for detection, thereby improving the accuracy of road surface detection.
[0048] Specifically, Figure 1 This is a flowchart illustrating a point cloud ground detection method provided in an embodiment of this application.
[0049] like Figure 1 As shown, the point cloud ground detection method includes the following steps:
[0050] In step S101, point cloud data of the vehicle in the first preset direction is acquired, and the point cloud data is classified according to a preset distance to obtain multiple sub-point cloud data.
[0051] The first preset direction can be the vehicle's forward direction, and the preset distance can be a distance threshold set by the user or a distance threshold obtained through computer simulation; no specific limitation is made here.
[0052] Specifically, such as Figure 2As shown, in this embodiment of the application, the initial point cloud is first filtered based on the distance between the ground and the height of the mobile driving lidar, and the point cloud data is classified according to the distance D along the vehicle's direction of travel on the ground, thereby obtaining multiple sub-point cloud data, such as sub-point cloud 1, sub-point cloud 2, etc., and the multiple sub-point cloud data are processed separately.
[0053] In step S102, based on a preset sub-point cloud algorithm, each sub-point cloud data is calculated to obtain the point cloud plane corresponding to each sub-point cloud data.
[0054] Further, in some embodiments, based on a preset sub-point cloud algorithm, each sub-point cloud data is calculated to obtain a point cloud plane corresponding to each sub-point cloud data, including: sorting the point cloud data along a second preset direction of the vehicle and removing point cloud data that do not meet a first preset condition to obtain initial point cloud data; obtaining multiple initial sub-point cloud data that meet the second preset condition from the initial point cloud data, and calculating the average height value of the multiple initial sub-point cloud data; obtaining multiple sub-point cloud data to be fitted from the initial point cloud data whose height value is less than the sum of the average height value and the first preset value, and obtaining the point cloud data to be fitted based on the multiple sub-point cloud data to be fitted, and after fitting the point cloud data to be fitted to obtain an initial plane, point cloud data whose distance from the plane is less than the second preset value is used as the point cloud data to be fitted, until the preset iteration condition is met to obtain the point cloud plane corresponding to each sub-point cloud data.
[0055] In this embodiment, the preset sub-point cloud algorithm can be an iterative optimization algorithm, the second preset direction can be the vehicle height direction, the first preset condition can be a point cloud with too low a height, the second preset condition can be a point cloud with a height less than the sum of the average height and the threshold, the first preset value and the second preset value can be a threshold set by the user, or a threshold obtained by computer simulation, such as the first preset value denoted as thresh_1 and the second preset value denoted as thresh_2, which are not specifically limited here.
[0056] Specifically, such as Figure 3As shown in the embodiment of this application, the point cloud data is classified according to the ground along the vehicle's direction of travel at regular intervals of distance D. After obtaining multiple sub-point cloud data, firstly, the point cloud data is sorted along the vehicle's height direction, and point cloud data with excessively low heights are removed to obtain initial point cloud data. Secondly, in the lidar coordinate system, k sub-point clouds O with excessively low heights from the initial point cloud data are selected as initial seed point clouds, and their average height value avg_h is calculated. Finally, by setting a threshold thresh_1 for multiple initial sub-point cloud data, and including those with height values less than avg_h and thresh_1 in the initial point cloud data... Multiple initial sub-point cloud data are used as multiple sub-point cloud data to be fitted and iterated. The number of iterations is 1 to N. Then, the point cloud data to be fitted is obtained based on the multiple sub-point cloud data to be fitted. The initial plane P is obtained by fitting the point cloud data W. After obtaining the initial plane P, the points in O that are less than thresh_2 away from the plane P are used as the updated point cloud data W to be fitted. This process continues until the iteration condition is met, and the point cloud plane corresponding to each sub-point cloud data is obtained. For example, the point cloud plane P0 is obtained by sub-point cloud 1 through the sub-point cloud algorithm, and the point cloud plane P1 is obtained by sub-point cloud 2 through the sub-point cloud algorithm, etc.
[0057] In step S103, the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data is calculated. When the angle between the normal vectors is greater than a preset angle, the two adjacent sub-point cloud data are divided into multiple new sub-point cloud data. The angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the multiple new sub-point cloud data is calculated until the angle between the normal vectors is less than or equal to the preset angle. Ground detection results are generated based on all the sub-point cloud data.
[0058] Furthermore, in some embodiments, dividing two adjacent sub-point cloud data into multiple new sub-point cloud data and calculating the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the multiple new sub-point cloud data includes: dividing two adjacent sub-point cloud data into four new sub-point cloud data; calculating the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data; if the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data is greater than a preset angle, then returning to the step of dividing two adjacent sub-point cloud data into four new sub-point cloud data.
[0059] The preset angle can be a user-defined angle or an angle obtained through multiple computer simulations; no specific limitation is made here.
[0060] Specifically, in this embodiment of the application, after obtaining the point cloud plane corresponding to each sub-point cloud data through the sub-point cloud algorithm, the angle between the normal of the point cloud plane corresponding to two adjacent sub-point cloud data and the normal vector formed by the vehicle's Z-axis is calculated. If the angle between the normal vectors is greater than a preset angle, such as thesh_3, then the two adjacent sub-point cloud data are divided into multiple new sub-point cloud data, such as four new sub-point cloud data. If the angle between the normal vectors of the point cloud plane corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data is still greater than the preset angle, then the step of dividing the two adjacent sub-point cloud data into four new sub-point cloud data is returned.
[0061] In other words, when the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data is greater than thesh_3, the two adjacent sub-point cloud data are divided into four new sub-point cloud data, and processed separately. The angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data is calculated until the angle difference is less than thesh_3, thereby solving the error problem of plane detection and random initial plane search in sloping road sections.
[0062] According to the point cloud ground detection method of this application embodiment, point cloud data of a vehicle in a first preset direction is acquired, classified according to a preset distance to obtain multiple sub-point cloud data, and the corresponding point cloud plane is obtained by the sub-point cloud algorithm. Then, the angle between the normal vectors of the point cloud planes is calculated. When the angle between the normal vectors is greater than a preset angle, two adjacent sub-point cloud data are divided into multiple new sub-point cloud data, and the angle between the normal vectors of the point cloud planes corresponding to the two adjacent sub-point cloud data is calculated, until the angle between the normal vectors is less than or equal to the preset angle. Ground detection results are generated based on all the sub-point cloud data. This solves the problem in related technologies where the algorithm has randomness, leading to abnormal planes in sampling and the inability to detect uneven ground conditions such as slopes and bridges. By iteratively optimizing the algorithm, uneven parts of the ground are removed, and the ground is divided into multiple grid blocks for detection, thereby improving the accuracy of road surface detection.
[0063] Next, the point cloud ground detection device proposed according to the embodiments of this application is described with reference to the accompanying drawings.
[0064] Figure 4 This is a block diagram of a point cloud ground detection device according to an embodiment of this application.
[0065] like Figure 4 As shown, the point cloud ground detection device 10 includes: an acquisition module 100, a calculation module 200, and a detection module 300.
[0066] The acquisition module 100 is used to acquire point cloud data of the vehicle in the first preset direction and classify the point cloud data according to the preset distance to obtain multiple sub-point cloud data.
[0067] The calculation module 200 is used to calculate each sub-point cloud data based on a preset sub-point cloud algorithm, and obtain the point cloud plane corresponding to each sub-point cloud data; and
[0068] The detection module 300 is used to calculate the angle between the normal vectors of the point cloud plane corresponding to two adjacent sub-point cloud data. When the angle between the normal vectors is greater than a preset angle, the two adjacent sub-point cloud data are divided into multiple new sub-point cloud data. The normal vector angle between the point cloud plane corresponding to two adjacent sub-point cloud data in the multiple new sub-point cloud data is calculated until the angle between the normal vectors is less than or equal to the preset angle. The ground detection result is generated based on all the sub-point cloud data.
[0069] Furthermore, in some embodiments, the computing module 200 is specifically used for:
[0070] The point cloud data is sorted along the second preset direction of the vehicle, and the point cloud data that does not meet the first preset condition is removed to obtain the initial point cloud data.
[0071] Obtain multiple initial sub-cloud data that meet the second preset condition from the initial point cloud data, and calculate the average height value of the multiple initial sub-cloud data;
[0072] Multiple sub-point cloud data to be fitted are obtained from the initial point cloud data, and the height value is less than the sum of the average height value and the first preset value. The point cloud data to be fitted is obtained based on the multiple sub-point cloud data to be fitted. After fitting the point cloud data to be fitted to obtain the initial plane, the point cloud data with a distance from the plane less than the second preset value is used as the point cloud data to be fitted, until the preset iteration condition is met, and the point cloud plane corresponding to each sub-point cloud data is obtained.
[0073] Furthermore, in some embodiments, the detection module 300 is specifically used for:
[0074] Divide two adjacent sub-point cloud data into four new sub-point cloud data;
[0075] Calculate the angle between the normal vectors of the point cloud plane corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data;
[0076] If the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data is greater than a preset angle, then return to execute the step of dividing the two adjacent sub-point cloud data into four new sub-point cloud data.
[0077] Furthermore, in some embodiments, the first preset direction is the forward direction of the vehicle.
[0078] According to the point cloud ground detection device of this application embodiment, point cloud data of a vehicle in a first preset direction is acquired, classified according to a preset distance to obtain multiple sub-point cloud data, and the corresponding point cloud plane is obtained by the sub-point cloud algorithm. The angle between the normal vectors of the point cloud planes is then calculated. When the angle between the normal vectors is greater than a preset angle, two adjacent sub-point cloud data are divided into multiple new sub-point cloud data, and the angle between the normal vectors of the point cloud planes corresponding to the two adjacent sub-point cloud data is calculated, until the angle between the normal vectors is less than or equal to the preset angle. A ground detection result is generated based on all the sub-point cloud data. This solves the problem in related technologies where the algorithm has randomness, leading to abnormal planes in sampling and the inability to detect uneven ground conditions such as slopes and bridges. By iteratively optimizing the algorithm, uneven areas of the ground are removed, and the ground is divided into multiple grid blocks for detection, thereby improving the accuracy of road surface detection.
[0079] Figure 5 A schematic diagram of the structure of a vehicle provided in an embodiment of this application. The vehicle may include:
[0080] The memory 501, the processor 502, and the computer program stored on the memory 501 and capable of running on the processor 502.
[0081] When processor 502 executes the program, it implements the point cloud ground detection method provided in the above embodiments.
[0082] Furthermore, the vehicle also includes:
[0083] Communication interface 503 is used for communication between memory 501 and processor 502.
[0084] The memory 501 is used to store computer programs that can run on the processor 502.
[0085] The memory 501 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0086] If the memory 501, processor 502, and communication interface 503 are implemented independently, then the communication interface 503, memory 501, and processor 502 can be interconnected via a bus to complete communication between them. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 5 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0087] Optionally, in a specific implementation, if the memory 501, processor 502, and communication interface 503 are integrated on a single chip, then the memory 501, processor 502, and communication interface 503 can communicate with each other through an internal interface.
[0088] Processor 502 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application.
[0089] This embodiment also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the point cloud ground detection method described above.
[0090] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0091] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0092] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more N executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.
[0093] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which programs can be printed, because programs can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.
[0094] It should be understood that the various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, the N steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0095] Those skilled in the art will understand that all or part of the steps of the methods described in the above embodiments can be implemented by a program instructing related hardware, and the program can be stored in a computer-readable storage medium. When executed, the program includes one or a combination of the steps of the method embodiments.
[0096] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0097] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of this application.
Claims
1. A method for detecting point cloud ground, characterized in that, Includes the following steps: Obtain point cloud data of the vehicle in a first preset direction, and classify the point cloud data according to a preset distance to obtain multiple sub-point cloud data; Based on a preset sub-point cloud algorithm, each sub-point cloud data is calculated to obtain the point cloud plane corresponding to each sub-point cloud data; and Calculate the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data. When the angle between the normal vectors is greater than a preset angle, divide the two adjacent sub-point cloud data into multiple new sub-point cloud data. Calculate the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the multiple new sub-point cloud data. Continue until the angle between the normal vectors is less than or equal to a preset angle. Generate ground detection results based on all the sub-point cloud data. The step of calculating each sub-point cloud data and obtaining the point cloud plane corresponding to each sub-point cloud data based on a preset sub-point cloud algorithm includes: sorting the point cloud data along a second preset direction of the vehicle and removing point cloud data that do not meet a first preset condition to obtain initial point cloud data; obtaining multiple initial sub-point cloud data that meet the second preset condition from the initial point cloud data and calculating the average height value of the multiple initial sub-point cloud data; obtaining multiple sub-point cloud data to be fitted from the initial point cloud data whose height value is less than the sum of the average height value and the first preset value, obtaining the point cloud data to be fitted based on the multiple sub-point cloud data to be fitted, and fitting the point cloud data to be fitted to obtain an initial plane, then using point cloud data whose distance from the plane is less than the second preset value as the point cloud data to be fitted, until a preset iteration condition is met to obtain the point cloud plane corresponding to each sub-point cloud data; The step of dividing two adjacent sub-point cloud data into multiple new sub-point cloud data and calculating the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the multiple new sub-point cloud data includes: dividing the two adjacent sub-point cloud data into four new sub-point cloud data; calculating the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data; if the angle between the normal vectors of the point cloud planes corresponding to two adjacent sub-point cloud data in the four new sub-point cloud data is greater than the preset angle, then returning to the step of dividing the two adjacent sub-point cloud data into four new sub-point cloud data.
2. The method according to claim 1, characterized in that, The first preset direction is the forward direction of the vehicle.
3. A point cloud ground detection device, characterized in that, include: The acquisition module is used to acquire point cloud data of the vehicle in a first preset direction, and classify the point cloud data according to a preset distance to obtain multiple sub-point cloud data. The calculation module is used to calculate each sub-point cloud data based on a preset sub-point cloud algorithm to obtain the point cloud plane corresponding to each sub-point cloud data. as well as The detection module is used to calculate the angle between the normal vectors of the point cloud plane corresponding to two adjacent sub-point cloud data, and when the angle between the normal vectors is greater than a preset angle, divide the two adjacent sub-point cloud data into multiple new sub-point cloud data, and calculate the angle between the normal vectors of the point cloud plane corresponding to two adjacent sub-point cloud data in the multiple new sub-point cloud data, until the angle between the normal vectors is less than or equal to the preset angle, and generate ground detection results based on all sub-point cloud data; Specifically, the calculation module is used to: sort the point cloud data along the second preset direction of the vehicle, and remove point cloud data that does not meet the first preset condition to obtain initial point cloud data; obtain multiple initial sub-cloud data that meet the second preset condition from the initial point cloud data, and calculate the average height value of the multiple initial sub-cloud data. Multiple sub-point cloud data to be fitted are obtained from the initial point cloud data, and the height value is less than the sum of the average height value and the first preset value. The point cloud data to be fitted is obtained based on the multiple sub-point cloud data to be fitted. After fitting the point cloud data to be fitted to obtain an initial plane, the point cloud data with a distance less than the plane is taken as the point cloud data to be fitted, until the preset iteration condition is met, and the point cloud plane corresponding to each sub-point cloud data is obtained. The detection module is specifically used for: dividing the two adjacent sub-point cloud data into four new sub-point cloud data; calculating the angle between the normal vectors of the point cloud planes corresponding to the two adjacent sub-point cloud data in the four new sub-point cloud data; if the angle between the normal vectors of the point cloud planes corresponding to the two adjacent sub-point cloud data in the four new sub-point cloud data is greater than the preset angle, then returning to execute the step of dividing the two adjacent sub-point cloud data into four new sub-point cloud data.
4. The apparatus according to claim 3, characterized in that, The first preset direction is the forward direction of the vehicle.
5. A vehicle, characterized in that, include: The memory, the processor, and the computer program stored in the memory and executable on the processor, the processor executing the program to implement the point cloud ground detection method as described in any one of claims 1-2.
6. A computer-readable storage medium having a computer program stored thereon, characterized in that, The program is executed by the processor to implement the point cloud ground detection method as described in any one of claims 1-2.
Citation Information
Patent Citations
A method and a system for detecting terrain in front of a vehicle
CN111427059A
Road edge detection method and device, high-precision map, vehicle and storage medium
CN112964264A
Ground detection method and device, server and medium
CN113763308A