Obstacle determination method and device, electronic equipment and storage medium
By projecting lidar point cloud data to a two-dimensional grid and filling it into a three-dimensional grid, and combining the state information of the neighboring three-dimensional point cloud grid, the problem of low accuracy in obstacle detection caused by the reduction of point cloud data density is solved, and higher accuracy in obstacle determination and lower computational complexity are achieved.
Patent Information
- Application Number
- CN202510021645.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-06
- Publication Date
- 2025-05-02
AI Technical Summary
The point cloud data collected by lidar increases with distance and decreases in density, resulting in low accuracy in obstacle detection.
By projecting point cloud data onto a two-dimensional grid and filling it onto a three-dimensional grid, combining the state information of the neighboring three-dimensional point cloud grid, we determine whether there are obstacles in the two-dimensional grid.
The accuracy of determination of obstacles is improved, the problem of low detection accuracy caused by uneven distribution of point cloud data is avoided, and the problem of poor calculation time and low adaptability is reduced.
Smart Images

Figure CN119916391A_ABST
Abstract
Description
[0001] Technology Neighborhood
[0002] The present application relates to the field of autonomous driving technology, and more specifically, to an obstacle determination method, device, electronic device, and storage medium. Background Art
[0003] With the rapid development of autonomous driving technology, radar sensors play an important role in vehicle perception systems. LiDAR has become the first choice for autonomous driving systems due to its small size, high ranging accuracy and strong adaptability. However, the density of point cloud data collected by LiDAR decreases as the distance increases, resulting in point cloud merging or splitting problems during obstacle detection based on point cloud data, which leads to low accuracy in obstacle determination. Therefore, how to improve the accuracy of obstacle determination has become an urgent problem to be solved. Summary of the invention
[0004] In view of this, the embodiments of the present application propose a method, device, electronic device and storage medium for determining an obstacle to improve the above-mentioned problem.
[0005] According to a first aspect of an embodiment of the present application, a method for determining an obstacle is provided, the method comprising: acquiring multiple point cloud data of an environment where a vehicle is located, and projecting the point cloud data into a two-dimensional grid to obtain multiple two-dimensional point cloud grid data; determining a three-dimensional grid according to a current position of the vehicle, and filling the multiple point cloud data into the three-dimensional grid to obtain a three-dimensional point cloud grid; for three-dimensional point cloud grids in the same height layer in the height direction of the three-dimensional point cloud grid, determining the status information of each three-dimensional point cloud grid according to the status information of neighboring three-dimensional point cloud grids adjacent to each three-dimensional point cloud grid in the same height layer, the status information including being in an occupied state or not being in an occupied state; for two-dimensional grids corresponding to multiple two-dimensional point cloud grid data, determining whether there is an obstacle at the current position according to the status information of multiple three-dimensional point cloud grids corresponding to the two-dimensional grid in the height direction.
[0006] According to a second aspect of an embodiment of the present application, a device for determining an obstacle is provided, the device comprising: an acquisition module, for acquiring multiple point cloud data of an environment where a vehicle is located, and projecting the point cloud data into a two-dimensional grid to obtain multiple two-dimensional point cloud grid data; a three-dimensional point cloud grid determination module, for determining a three-dimensional grid according to a current position of the vehicle, and filling the multiple point cloud data into the three-dimensional grid to obtain a three-dimensional point cloud grid; for three-dimensional point cloud grids in the same height layer in the height direction of the three-dimensional point cloud grid, determining the status information of each three-dimensional point cloud grid according to the status information of neighboring three-dimensional point cloud grids adjacent to each three-dimensional point cloud grid in the same height layer, the status information including being in an occupied state or not being in an occupied state; for two-dimensional grids corresponding to multiple two-dimensional point cloud grid data, determining whether there is an obstacle at the current position according to the status information of multiple three-dimensional point cloud grids corresponding to the two-dimensional grid in the height direction.
[0007] According to a third aspect of an embodiment of the present application, an electronic device is provided, comprising: a processor; and a memory, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the obstacle determination method as described above is implemented.
[0008] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor, the obstacle determination method as described above is implemented.
[0009] In the scheme of the present application, multiple point cloud data of the environment where the vehicle is located are projected into a two-dimensional grid to obtain multiple two-dimensional point cloud grids, and a three-dimensional grid is determined based on the current position of the vehicle, so that multiple point cloud data are filled into the three-dimensional grid to obtain a three-dimensional point cloud grid, and then for the three-dimensional point cloud grids at the same height layer in the height direction of the three-dimensional point cloud grid, the state information of each three-dimensional point cloud grid is determined according to the state information of the three-dimensional point cloud grids in the field adjacent to each three-dimensional point cloud grid in the same height layer, and finally, for the two-dimensional grids corresponding to the multiple two-dimensional point cloud grid data, it can be determined whether there is an obstacle area at the current position according to the state information of the multiple three-dimensional point cloud grids in the height direction of the two-dimensional grid. The embodiment of the present application determines whether there is an obstacle in the corresponding two-dimensional grid through the state information of the neighborhood three-dimensional point cloud grid, thereby avoiding the problem of low obstacle detection accuracy due to uneven distribution of point cloud data, and judging whether there is an obstacle at the current position through the state information of the neighborhood three-dimensional point cloud grid can effectively avoid the problem of time difference and low adaptability in calculating point cloud data in the prior art.
[0010] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0012] Figure 1 It is a flowchart of a method for determining an obstacle according to an embodiment of the present application.
[0013] Figure 2 It is a schematic diagram showing the determination of status information of multiple target three-dimensional point cloud grids according to an embodiment of the present application.
[0014] Figure 3 It is a flowchart of a method for determining an obstacle according to another embodiment of the present application.
[0015] Figure 4 It is a flowchart of a method for determining an obstacle according to another embodiment of the present application.
[0016] Figure 5 It is a schematic diagram of determining a sequence of three-dimensional point cloud grids according to an embodiment of the present application.
[0017] Figure 6 It is a flowchart of a method for determining an obstacle according to another embodiment of the present application.
[0018] Figure 7 It is a schematic diagram showing determination of multiple height grids according to an embodiment of the present application.
[0019] Figure 8 It is a flowchart of a method for determining an obstacle according to another embodiment of the present application.
[0020] Fig. 9 It is a schematic diagram showing the determination of multiple three-dimensional sub-borders according to an embodiment of the present application.
[0021] Fig.10 It is a flowchart showing the specific steps of step 540 according to an embodiment of the present application.
[0022] Fig.11 It is a block diagram of an obstacle determination device according to an embodiment of the present application.
[0023] Fig.12It is a hardware structure diagram of an electronic device according to an embodiment of the present application.
[0024] Through the above-mentioned drawings, clear embodiments of the present invention have been shown, which will be described in more detail hereinafter. These drawings and textual descriptions are not intended to limit the scope of the present invention in any way, but to illustrate the concept of the present invention for those skilled in the art through specific embodiments. DETAILED DESCRIPTION
[0025] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; on the contrary, these embodiments are provided so that this application will be more comprehensive and complete, and the concept of example embodiments will be fully conveyed to technicians in the field.
[0026] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0027] See also Figure 1 , Figure 1 The obstacle determination method provided by an embodiment of the present application is shown. In a specific embodiment, the obstacle determination method can be applied to the following: Fig.11 The obstacle determination device 600 and the electronic device 700 equipped with the obstacle determination device 600 are shown in FIG. Fig.12 ). The specific process of this embodiment will be described below. Of course, it can be understood that the method can be executed by a vehicle terminal with computing and processing capabilities. Figure 1 The process shown is described in detail, and the method for determining obstacles may specifically include the following steps:
[0028] Step 110 , obtaining a plurality of point cloud data of the environment where the vehicle is located, and projecting the point cloud data into a two-dimensional grid to obtain a plurality of two-dimensional point cloud grid data.
[0029] As a method, a laser radar can be installed in the vehicle to obtain multiple point cloud data of the environment where the vehicle is located based on the laser radar sensor on the vehicle. Optionally, in order to make the multiple point cloud data of the environment where the vehicle is located more accurate and rich, multiple laser radar sensors can be installed on the right front, left front, right rear, left rear and both sides of the vehicle body to obtain point cloud data around the vehicle, so as to ensure that the subsequent determination of obstacles in the environment where the vehicle is located is more accurate.
[0030] Optionally, the two-dimensional grid can be determined by obtaining information such as a two-dimensional navigation map of the vehicle. For example, the two-dimensional navigation map corresponding to the vehicle's location is rasterized according to a preset size to obtain a two-dimensional grid, and then the association relationship between the multiple point cloud data and the two-dimensional grid is determined based on the two-dimensional coordinates corresponding to each of the multiple point cloud data and the coordinate range corresponding to each grid in the two-dimensional grid. Based on the association relationship, the multiple point cloud data are projected into the two-dimensional grid to obtain multiple two-dimensional point cloud grids.
[0031] Step 120 , determining a three-dimensional grid according to the current position of the vehicle, and filling the plurality of point cloud data into the three-dimensional grid to obtain a three-dimensional point cloud grid.
[0032] As a method, the current position of the vehicle can be determined by the vehicle's navigation and positioning system. After the current position of the vehicle is determined, the center of the rear axle of the vehicle is used as the origin to determine the three-dimensional grid based on the vehicle's body information, and then the multiple point cloud data are filled into the three-dimensional grid at the corresponding position according to the three-dimensional coordinates corresponding to each of the multiple point cloud data, thereby obtaining a three-dimensional point cloud grid. It can be understood that after the current position of the vehicle is determined, the space within a certain range corresponding to the current position of the vehicle is divided into three-dimensional grids of fixed size to obtain a three-dimensional grid.
[0033] Step 130, for the three-dimensional point cloud grids at the same height layer in the height direction of the three-dimensional point cloud grid, determine the status information of each three-dimensional point cloud grid according to the status information of the neighboring three-dimensional point cloud grids adjacent to each three-dimensional point cloud grid in the same height layer, and the status information includes whether it is in an occupied state or not in an occupied state.
[0034] As a method, the three-dimensional grids corresponding to different height layers in the height direction can be first determined in the three-dimensional point cloud grid, so as to determine the status information of each three-dimensional point cloud grid for the status information of the three-dimensional point cloud grid in the same height layer. Optionally, the height value range corresponding to different height layers can be preset to determine multiple three-dimensional grids within different height value ranges.
[0035] Optionally, after determining the three-dimensional point cloud grids at the same height layer, the domain three-dimensional point cloud grids corresponding to each three-dimensional point cloud grid in the three-dimensional point cloud grid at the same height layer can be determined first, and then the three-dimensional point cloud grid and the domain three-dimensional point cloud grid corresponding to each three-dimensional point cloud grid are expanded, so that the three-dimensional point cloud grid and the domain three-dimensional point cloud grid are placed in the same column of three-dimensional point cloud grids, so as to determine the status information of each three-dimensional point cloud grid based on the status information of each grid in the same column of three-dimensional point cloud grids.
[0036] Optionally, the method of expanding each 3D point cloud grid and each 3D point cloud grid's corresponding neighboring 3D point cloud grid may be to determine the neighboring 3D point cloud grid in an occupied state according to the state information of the 3D point cloud grid and its corresponding neighboring 3D point cloud grid, and determine the grid position relationship between the neighboring 3D point cloud grid in an occupied state and the corresponding 3D point cloud grid, thereby filling the occupancy state of the grid corresponding to the 3D point cloud grid in the same column of 3D grids according to the grid position relationship, to establish a grid indicating the occupancy status of each reference 3D grid and the neighboring 3D point cloud grid in the height direction. Figure 2 As shown, the determined three-dimensional point cloud grid is used as the expansion position, and the neighboring three-dimensional point cloud grids adjacent to it are used as the neighborhood, and the three-dimensional point cloud grid with point cloud data is determined to be in an occupied state, and based on the three-dimensional point cloud grid in the occupied state and the neighboring three-dimensional point cloud grid, it is supplemented in the height direction to obtain the status information of each grid in the same column of three-dimensional point cloud grids.
[0037] Step 140 , for the two-dimensional grids corresponding to the plurality of two-dimensional point cloud grid data, determine whether there is an obstacle at the current position according to the state information of the plurality of three-dimensional point cloud grids corresponding to the two-dimensional grids in the height direction.
[0038] As a method, in order to determine multiple three-dimensional point cloud grids corresponding to a two-dimensional grid in the height direction, the index information corresponding to each of the two-dimensional grids can be determined according to the position information corresponding to the point cloud data in each two-dimensional grid. The index information can be the coordinate information of the point cloud data corresponding to the two-dimensional grid on the plane. After the two-dimensional grid is determined, multiple three-dimensional point cloud grids with the same index information are determined in the three-dimensional point cloud grid according to the index information corresponding to the two-dimensional grid, so as to determine whether there is an obstacle at the current position based on the status information of the multiple three-dimensional point cloud grids.
[0039] Optionally, after determining the status information corresponding to each of multiple three-dimensional point cloud meshes, after determining the status information of each grid in the same column of three-dimensional point cloud meshes based on the status information corresponding to each of the three-dimensional point cloud meshes at the same height layer, a specified number of continuous three-dimensional point cloud meshes can be randomly selected. When the number of three-dimensional point cloud meshes in an occupied state is greater than a quantity threshold, it is determined that there is an obstacle at the current position of the two-dimensional grid corresponding to the three-dimensional point cloud mesh. If the number of three-dimensional point cloud meshes in an occupied state is less than or equal to the quantity threshold, it is determined that there is no obstacle at the current position of the two-dimensional grid corresponding to the three-dimensional point cloud mesh.
[0040] Optionally, if the number of three-dimensional point cloud grids in the occupied state in the status information of each grid in the same column of three-dimensional point cloud grids is less than or equal to a quantity threshold, the three-dimensional point cloud grid is marked as visited and added to the search queue, and then the neighboring three-dimensional point cloud grids (i.e., other grids in the same column of three-dimensional point cloud grids) of the three-dimensional point cloud grid marked as visited are determined respectively, and the number of neighboring three-dimensional point cloud grids in the occupied state is determined, so that when the number of neighboring three-dimensional point cloud grids in the occupied state is greater than the quantity threshold, the point cloud data corresponding to the three-dimensional point cloud grid marked as visited and the corresponding neighboring three-dimensional point cloud grids are determined as obstacle point cloud data.
[0041] Optionally, when acquiring the point cloud data of the environment where the vehicle is located, point cloud noise and non-obstacle point cloud data may exist in the point cloud data due to the acquisition accuracy and equipment of the acquisition device, and the point cloud data corresponding to the obstacle is continuous, while the point cloud data or point cloud noise of the non-obstacle is discrete. Therefore, in order to improve the accuracy of determining whether there are obstacles around the environment where the vehicle is located based on the point cloud data, the non-obstacle point cloud and point cloud noise are screened by determining the number of grids occupied by the point cloud data in a certain range in the three-dimensional point cloud grid. For example, the point cloud data and point cloud noise of non-obstacles rarely occupy more than half of the eight surrounding grids in the three-dimensional point cloud grid. Therefore, by determining the number of three-dimensional point cloud grids in the eight adjacent grids that are in an occupied state, it can be determined whether the corresponding point cloud data in the eight adjacent grids is the point cloud data of the obstacle, and whether there is an obstacle in the environment of the current position of the vehicle can be determined.
[0042] In the embodiment of the present application, a three-dimensional grid is determined based on the current position of the vehicle, so that multiple point cloud data are filled into the three-dimensional grid to obtain a three-dimensional point cloud grid, and then for the three-dimensional point cloud grids at the same height layer in the height direction of the three-dimensional point cloud grid, the status information of each three-dimensional point cloud grid is determined according to the status information of the three-dimensional point cloud grids in the field adjacent to each three-dimensional point cloud grid in the same height layer, and finally, for the two-dimensional grid corresponding to the multiple two-dimensional point cloud grid data, it can be determined whether there is an obstacle area at the current position according to the status information of the multiple three-dimensional point cloud grids in the height direction of the two-dimensional grid. The embodiment of the present application determines whether there is an obstacle in the corresponding two-dimensional grid through the status information of the neighborhood three-dimensional point cloud grid, thereby avoiding the problem of low obstacle detection accuracy due to uneven distribution of point cloud data, and judging whether there is an obstacle at the current position through the status information of the neighborhood three-dimensional point cloud grid can effectively avoid the problems of time difference and low adaptability in calculating point cloud data in the prior art.
[0043] See also Figure 3 , Figure 3 The following is a method for determining obstacles provided by an embodiment of the present application. Figure 3 The process shown in the figure is described in detail, and the method for determining the obstacle may specifically include the following steps:
[0044] Step 210 , obtaining a plurality of point cloud data of the environment where the vehicle is located, and projecting the point cloud data into a two-dimensional grid to obtain a plurality of two-dimensional point cloud grid data.
[0045] Step 220 , determining a three-dimensional grid according to the current position of the vehicle, and filling the plurality of point cloud data into the three-dimensional grid to obtain a three-dimensional point cloud grid.
[0046] Step 230, for the three-dimensional point cloud grids at the same height layer in the height direction in the three-dimensional point cloud grid, determine the number of target neighboring three-dimensional point cloud grids whose status information is in an occupied state according to the status information of the neighboring three-dimensional point cloud grids adjacent to each of the three-dimensional point cloud grids in the same height layer.
[0047] As a method, after determining the three-dimensional point cloud grid at the same altitude layer, the eight three-dimensional point cloud grids around the three-dimensional point cloud grid in the same altitude layer can be used as the domain three-dimensional point cloud grid to determine whether there is point cloud data in the neighborhood three-dimensional point cloud grid to determine the status information of the neighborhood three-dimensional point cloud grid. When point cloud data exists, the status information of the neighborhood three-dimensional point cloud grid can be determined as a placeholder state, and the domain three-dimensional point cloud grid can be determined as the target domain three-dimensional point cloud grid.
[0048] Optionally, when filling point cloud data into a three-dimensional grid, the status information of each grid in the three-dimensional grid can be filled in according to the position information corresponding to each grid in the three-dimensional grid and the position information corresponding to each point cloud in multiple point cloud data, so as to obtain a three-dimensional point cloud grid including a status identifier, and then, the number of target neighborhood three-dimensional point cloud grids and target neighborhood three-dimensional point cloud grids in an occupied state can be determined by obtaining the status identifier in the neighborhood three-dimensional point cloud grid.
[0049] Step 240: If the number is greater than a preset number, it is determined that the three-dimensional point cloud grid is in an occupied state.
[0050] As a method, when it is determined that the number of target neighborhood three-dimensional point cloud grids in an occupied state is greater than a first preset number, the point cloud data corresponding to the target neighborhood three-dimensional point cloud grid can be determined to be continuous point cloud data, which can be determined as point cloud data corresponding to an obstacle, and thus it can be determined that an obstacle exists at the current position. The first preset number can be 3 or other numbers, and the specific threshold of the first preset number can be set according to actual needs, and is not specifically limited here.
[0051] Step 250: If the number is less than or equal to the preset number, it is determined that the three-dimensional point cloud grid is not in an occupied state.
[0052] As a method, when it is determined that the number of target neighborhood three-dimensional point cloud grids in an occupied state is less than or equal to a first preset number, the point cloud data corresponding to the target neighborhood three-dimensional point cloud grids can be determined to be discrete point cloud data, thereby determining the point cloud data corresponding to non-obstacles or point cloud noise, and therefore it can be determined that there are no obstacles at the current position.
[0053] Step 260 , for the two-dimensional grids corresponding to the plurality of two-dimensional point cloud grid data, determine whether there is an obstacle at the current position according to the state information of the plurality of three-dimensional point cloud grids corresponding to the two-dimensional grids in the height direction.
[0054] The specific step descriptions of step 210 to step 220 and step 260 can refer to step 110 to step 120 and step 140, which will not be repeated here.
[0055] In this embodiment, whether there is an obstacle at the current position is determined by the number of grids in an occupied state in the neighborhood three-dimensional point cloud grid, thereby avoiding the problem of low accuracy in obstacle determination due to uneven distribution of point cloud data.
[0056] See also Figure 4 , Figure 4 The following is a method for determining obstacles provided by an embodiment of the present application. Figure 4The process shown is described in detail, and the method for determining obstacles may specifically include the following steps:
[0057] Step 310 , obtaining a plurality of point cloud data of the environment where the vehicle is located, and projecting the point cloud data into a two-dimensional grid to obtain a plurality of two-dimensional point cloud grid data.
[0058] Step 320 , determining a three-dimensional grid according to the current position of the vehicle, and filling the plurality of point cloud data into the three-dimensional grid to obtain a three-dimensional point cloud grid.
[0059] Step 330, for the three-dimensional point cloud grids at the same height layer in the height direction of the three-dimensional point cloud grid, determine the status information of each three-dimensional point cloud grid according to the status information of the neighboring three-dimensional point cloud grids adjacent to each three-dimensional point cloud grid in the same height layer, and the status information includes whether it is in an occupied state or not in an occupied state.
[0060] The specific step descriptions of step 310 to step 330 may refer to step 110 to step 130, which will not be repeated here.
[0061] Step 340 , determining a sliding window including a specified number, and determining a specified number of target three-dimensional point cloud grid data in a plurality of three-dimensional point cloud grids corresponding to the two-dimensional grid in the height direction through the sliding window.
[0062] As a method, the point cloud data corresponding to each two-dimensional grid in the three-dimensional grid can be first determined to determine the height values corresponding to each two-dimensional grid, so that multiple two-dimensional grids in the height direction can be sorted according to the height values, so that multiple two-dimensional grid sequences sorted according to the height values in the height direction can be obtained, so that the corresponding target three-dimensional point cloud grid in the height direction can be determined through a specified number of sliding windows.
[0063] Optionally, after determining the grid sequence, a specified number of target two-dimensional grids are selected based on a sliding window from grids with low height values to grids with high height values according to the height values of each grid in the grid sequence, so as to determine the multiple three-dimensional point cloud grids corresponding to the target two-dimensional grid. Optionally, in order to determine whether there is an obstacle, whether there is point cloud data in the neighborhood grid of a point cloud grid can be determined by whether the point cloud data in the grid and the neighborhood grid are point cloud data of the obstacle. Therefore, the number of neighborhood grids can be set as the specified number to obtain a specified number of domain three-dimensional point cloud grid groups and the target three-dimensional point cloud grid. Optionally, the specified number can be 8 or other numbers, which are not specifically limited here.
[0064] Step 350: If the number of three-dimensional point cloud grids indicating an occupied state in the specified number of target three-dimensional point cloud grid data is greater than a preset number, it is determined that an obstacle exists at the current position corresponding to the two-dimensional grid.
[0065] As a method, since a specified number of target three-dimensional point cloud grids are all neighborhood three-dimensional point cloud grids of the same three-dimensional point cloud grid, when it is determined that the number of occupied grids in the specified number of target three-dimensional point cloud grids is greater than a preset number, it can be determined that the three-dimensional point cloud grids surrounded by the target three-dimensional point cloud grid are in an occupied state, and then it can be determined in the two-dimensional grid that there is an obstacle at the current position corresponding to the two-dimensional grid corresponding to the three-dimensional point cloud grid surrounded by the target three-dimensional point cloud grid.
[0066] Step 360: if the number of the specified number of target three-dimensional point cloud mesh data indicating that they are occupied is less than or equal to the preset number, then reselect the specified number of target three-dimensional point cloud mesh data from the multiple three-dimensional point cloud meshes corresponding to the sliding window in the height direction, and determine whether the number of three-dimensional point cloud meshes indicated by the reselected target three-dimensional point cloud mesh data as being occupied is greater than the preset number, until all three-dimensional point cloud meshes corresponding to the two-dimensional mesh in the height direction are traversed according to the sliding window.
[0067] As a method, since a specified number of target three-dimensional point cloud grids are all neighborhood three-dimensional point cloud grids of the same three-dimensional point cloud grid, when it is determined that the number of occupied grids in the specified number of target three-dimensional point cloud grids is less than or equal to a preset number, it can be determined that the three-dimensional point cloud grids surrounded by the target three-dimensional point cloud grid may not be in an occupied state. Therefore, in order to determine whether the three-dimensional point cloud grids surrounded by the target two-dimensional point cloud grid are in an occupied state, the principle of sliding window can be used to reselect a specified number of target three-dimensional point cloud grids for re-judgment.
[0068] Optionally, when it is determined that the number of occupied target three-dimensional point cloud meshes in a specified number is less than or equal to a preset number, the three-dimensional point cloud mesh with the lowest height value in the specified number of target three-dimensional point cloud meshes can be first determined, and the three-dimensional point cloud mesh with the lowest height value can be deleted, and then a specified number of target three-dimensional point cloud meshes with gradually increasing height values can be re-selected in sequence from multiple three-dimensional point cloud meshes in the same height layer according to their height values, wherein the three-dimensional point cloud mesh with the highest height value in the re-selected specified number of target three-dimensional point cloud meshes is the newly added three-dimensional point cloud mesh.
[0069] Optionally, if the number of the re-selected specified number of target three-dimensional point cloud meshes in an occupied state is still less than or equal to the preset number or the number of the re-selected specified number of target three-dimensional point cloud meshes in an occupied state is greater than the preset number, the specified number of target three-dimensional point cloud meshes are reselected again until all three-dimensional point cloud meshes are selected, so as to repeatedly determine whether there is an obstacle at the current position corresponding to each two-dimensional grid.
[0070] As another method, when it is determined that the number of occupied target three-dimensional point cloud meshes in a specified number is less than or equal to a preset number, the specified number of target three-dimensional point cloud meshes can be reselected from multiple three-dimensional point cloud meshes in sequence based on the height values, so that the target three-dimensional point cloud mesh corresponding to the lowest height value is determined as the sequence three-dimensional point cloud mesh, and the specified number of target three-dimensional point cloud meshes are selected upward in sequence based on the sequence three-dimensional point cloud meshes.
[0071] As another way, if the status information of the sequential three-dimensional point cloud mesh is a non-occupied state, it can be determined that the sequential three-dimensional point cloud mesh is in a non-occupied state due to factors such as the shape of the obstacle. In order to accurately determine whether there is an obstacle at the current position of the vehicle, the sequential three-dimensional point cloud mesh can be deleted to update multiple three-dimensional point cloud meshes, and then a specified number of target three-dimensional point cloud meshes can be determined in the updated multiple three-dimensional point cloud meshes according to the order of height values.
[0072] As another method, after determining that the state information of the sequential 3D point cloud grid is in a non-occupied state, a 3D point cloud grid can be slid upward on the basis of the sequential 3D point cloud grid by the principle of sliding window to obtain a specified number of target 3D point cloud grids, such as Figure 5 As shown, the three-dimensional point cloud mesh with the lowest height value is the sequential point cloud mesh, and the occupancy information of the sequential point cloud mesh is in a non-occupied state, then one grid can be slid upward in the grid sequence along the height value to obtain a specified number of target three-dimensional point cloud meshes, until it is determined that the number of the specified number of target three-dimensional point cloud meshes in an occupied state is greater than a second preset number or the state information of the sequential target three-dimensional point cloud mesh is in an occupied state.
[0073] In this embodiment, a specified number of sliding windows are used to determine whether there is an obstacle at the current position of the corresponding two-dimensional grid by comparing the number of target three-dimensional point cloud grids in an occupied state in the height direction, thereby avoiding the problem of low obstacle detection accuracy caused by changes in point cloud density.
[0074] See also Figure 6 , Figure 6 The following is a method for determining obstacles provided by an embodiment of the present application. Figure 6The process shown in the figure is described in detail, and the method for determining the obstacle may specifically include the following steps:
[0075] Step 410 , obtaining a plurality of point cloud data of the environment where the vehicle is located, and projecting the point cloud data into a two-dimensional grid to obtain a plurality of two-dimensional point cloud grid data.
[0076] Step 420: determining a plurality of height grids in the height direction according to a preset height difference, and determining height thresholds corresponding to each of the plurality of height grids.
[0077] As a way, in order to make the determination of obstacles more accurate, when filling the point cloud data into the three-dimensional grid, multiple point cloud data can be pre-screened, and then the screened point cloud data can be filled. Optionally, in order to avoid misdetection of obstacles due to obstacles that the vehicle needs to pay attention to (such as obstacles that will affect the normal driving of the vehicle) and obstacles due to uneven terrain, multiple point cloud data can be pre-screened according to the height values corresponding to the point cloud data.
[0078] Optionally, the height difference and the height range of obstacles that the vehicle needs to pay attention to can be preset, so that multiple height grids can be determined in the height direction according to the height range and the preset height difference, wherein the height difference of each height grid is the preset height difference, for example, Figure 7 As shown, the preset height difference can be set to 0.16m, and the height range is set to a range that can store a 32-bit unsigned integer, and the corresponding height range is 0-5.12m.
[0079] Optionally, since the preset height difference corresponding to each height grid is the same, but the height thresholds corresponding to multiple height grids in the height direction are different due to the height values, the height thresholds corresponding to each of the multiple height grids can be determined according to the preset height difference and the order of the height grids in the height direction. For example, the height threshold of the height grid with the lowest height is [0, 0.16], and the height threshold of the height grid with the highest height is [4.96, 5.12].
[0080] Step 430 : determining height differences between the plurality of height grids and corresponding point cloud data in the plurality of point cloud data respectively according to the height thresholds corresponding to the plurality of height grids and the height values corresponding to the plurality of point cloud data.
[0081] As a method, in order to screen multiple point cloud data, it can be achieved by determining the height difference between the multiple point cloud data and each height grid in the multiple height grids for comparison. Optionally, the height values corresponding to each of the multiple point cloud data can be subtracted from the height thresholds corresponding to the multiple height grids to determine the height difference between the multiple height grids and the corresponding point cloud data in the multiple point cloud data. Optionally, the height difference can be determined by subtracting the minimum height threshold corresponding to each height grid from the height value corresponding to each of the multiple point cloud data.
[0082] Step 440 , filtering the plurality of point cloud data according to the height difference value, and filling the filtered plurality of point cloud data into the three-dimensional grid to obtain the three-dimensional point cloud grid.
[0083] As a method, after determining the height difference, the point cloud data whose height difference meets the preset conditions is retained and filled into the grid corresponding to the three-dimensional grid, so as to obtain a three-dimensional point cloud grid, wherein the preset condition can be that the height difference is less than 0, or the height difference is greater than 0.16, or other conditions, and the preset conditions can be set according to actual needs.
[0084] Optionally, point cloud data below a certain height or point cloud data above a certain height may be screened to ensure that the point cloud data used for subsequent obstacle determination is the point cloud data that the vehicle needs to pay attention to, thereby ensuring the accuracy of obstacle determination.
[0085] Step 450, for the three-dimensional point cloud grids at the same height layer in the height direction of the three-dimensional point cloud grid, determine the status information of each three-dimensional point cloud grid according to the status information of the neighboring three-dimensional point cloud grids adjacent to each three-dimensional point cloud grid at the same height layer, and the status information includes whether it is in an occupied state or not in an occupied state.
[0086] Step 460 , for the two-dimensional grids corresponding to the plurality of two-dimensional point cloud grid data, determine whether there is an obstacle at the current position according to the state information of the plurality of three-dimensional point cloud grids corresponding to the two-dimensional grids in the height direction.
[0087] The specific step descriptions of step 410 and step 450 - step 460 can refer to step 110 and step 130 - step 140, which will not be repeated here.
[0088] In this embodiment, by creating multiple height grids in the height direction, the height difference between the multiple height grids and the corresponding point cloud data in the multiple point cloud data can be determined according to the height thresholds corresponding to the multiple height grids and the height values corresponding to the multiple point cloud data. Then, the multiple point cloud data can be screened according to the height difference, so as to avoid the problem of low accuracy in obstacle determination due to factors such as uneven terrain or non-obstacle point clouds and point cloud noise.
[0089] In this embodiment, by creating multiple height grids in the height direction, the height difference between the multiple height grids and the corresponding point cloud data in the multiple point cloud data can be determined according to the height thresholds corresponding to the multiple height grids and the height values corresponding to the multiple point cloud data. Then, the multiple point cloud data can be screened according to the height difference, so as to avoid the problem of low accuracy in obstacle determination due to factors such as uneven terrain or non-obstacle point clouds and point cloud noise.
[0090] See also Figure 8 , Figure 8 The following is a method for determining obstacles provided by an embodiment of the present application. Figure 8 The process shown is described in detail, and the method for determining obstacles may specifically include the following steps:
[0091] Step 510: If it is determined that there is an obstacle at the current position, a three-dimensional frame corresponding to the obstacle is determined.
[0092] As a way, in order for the vehicle to accurately perform assisted driving behaviors such as obstacle avoidance driving or route planning according to the position of the obstacle, the multiple point cloud data obtained can be classified to achieve this according to multiple categories of point cloud data. Therefore, after determining that there is an obstacle at the current position, the three-dimensional bounding box corresponding to the obstacle can be determined first. The three-dimensional bounding box can be a three-dimensional bounding box determined based on the distribution of the multiple point cloud data obtained, or it can be a bounding box corresponding to the point cloud data determined by roughly classifying the point cloud data in the three-dimensional point cloud grid.
[0093] Step 520: Determine obstacle point cloud data corresponding to the obstacle according to the three-dimensional bounding box and the three-dimensional point cloud grid.
[0094] As a method, after determining the three-dimensional border, point cloud data corresponding to the area surrounded by the three-dimensional border can be determined in the three-dimensional point cloud grid, and the point cloud data corresponding to the area surrounded by the three-dimensional border can be determined as obstacle point cloud data. Optionally, the obstacle point cloud data is point cloud data corresponding to at least one obstacle.
[0095] Step 530: Determine a plurality of three-dimensional sub-frames according to the three-dimensional frame and the obstacle point cloud data, wherein each three-dimensional sub-frame includes an obstacle point cloud or does not include an obstacle point cloud.
[0096] As a method, after determining the three-dimensional bounding box and obstacle point cloud data, the three-dimensional bounding box can be first divided into a specified number of cubes of the same size, and then the obstacle point cloud data in each cube is determined. If the obstacle point cloud data included in any cube indicates that the obstacle point cloud in the corresponding cube is greater than the quantity threshold, the cube is further divided into a specified number of sub-cubes of the same size until each cube includes at most one obstacle point cloud (i.e., includes one obstacle point cloud or does not include an obstacle point cloud), thereby determining the sub-cube that includes at most one obstacle point cloud as the three-dimensional sub-bounding box. Fig. 9 As shown, the three-dimensional border is the current cube. After dividing the current cube into 8 smaller cubes of the same size, the number of point clouds in each cube is determined. In this way, the cube is subdivided again when the point cloud refresh forest is greater than 1, until each cube table includes at most one point cloud.
[0097] Optionally, before determining multiple three-dimensional sub-borders, the obstacle point cloud data may be downsampled, so as to replace the original point cloud data in the three-dimensional border with the centroid as the obstacle point cloud data. The downsampling operation may be performed by determining the number of point clouds included in each unit space in the three-dimensional border. If the number of point clouds included in each unit space is at least one, the coordinate average of all point clouds corresponding to the unit space may be determined based on the point cloud data included in the unit space, and the point cloud corresponding to the coordinate average may be used as the centroid corresponding to the unit space, so as to use the centroid as the point cloud corresponding to the unit space. Optionally, the point cloud located at the center of the unit space or closest to the center of the unit space may be determined based on the point cloud data included in the unit space, so as to use the point cloud as the centroid corresponding to the unit space.
[0098] Step 540 , performing point cloud search according to the multiple three-dimensional sub-boundaries and classifying the obstacle point cloud data to obtain at least one category of obstacle point cloud set.
[0099] As a method, after determining multiple three-dimensional sub-frames, the search radius can be determined by the coordinates of the corresponding point cloud in each of the multiple three-dimensional sub-frames in the plane coordinate system, so that the obstacle point cloud data is searched based on the search radius, so that the obstacle point cloud data located in different search radii are respectively determined, so that the obstacle point cloud data are classified according to different search radii, so that the obstacle point cloud data located in the same search radius are determined as an obstacle point cloud set of one category, so as to obtain at least one category of obstacle point cloud set.
[0100] In some embodiments, Fig.10 As shown, step 540 includes:
[0101] Step 541, obtaining the search ratio and search constant.
[0102] As a method, the search ratio and search constant for classifying obstacle point cloud data can be pre-set, so that when searching the obstacle point cloud data, the search ratio and search constant can be directly obtained, wherein the specific values of the search ratio and search constant can be specifically limited according to actual needs.
[0103] Step 542, determine the point cloud coordinates corresponding to each of the multiple three-dimensional sub-borders, and determine the search radius corresponding to each of the multiple three-dimensional sub-borders according to the point cloud coordinates corresponding to each of the multiple three-dimensional sub-borders, the search ratio and the search constant.
[0104] As a method, the horizontal coordinate values of the point clouds included in each of the multiple 3D sub-frames can be determined by determining the plane coordinates of the point clouds included in each of the multiple 3D sub-frames, and the search radius corresponding to each of the multiple 3D sub-frames can be determined according to the horizontal coordinate values, the search ratio and the search constant. Optionally, the formula R = k*D i +b to determine the search radius, where k is the search ratio, b is the search constant, R is the search radius, and D i is the horizontal coordinate of the i-th point cloud.
[0105] Step 543 , performing point cloud search according to the search radius corresponding to each of the multiple three-dimensional sub-frames and classifying the obstacle point cloud data to obtain at least one category of obstacle point cloud set.
[0106] As a method, after determining the search radius corresponding to each of the multiple 3D sub-frames, the search area can be determined according to the search radius, and then the obstacle point cloud data can be classified according to the determined search area to obtain at least one category of obstacle point cloud set. Among them, the obstacle point cloud data located in the same search area are determined as the point cloud data of the same category, so as to obtain at least one category of obstacle point cloud set.
[0107] In some embodiments, step 543 includes: determining multiple search areas according to the search radii corresponding to each of the multiple three-dimensional sub-borders; respectively determining the obstacle point cloud data located in the multiple search areas, and classifying the obstacle point cloud data according to the multiple search areas and the obstacle point cloud data corresponding to each of the multiple search areas to determine at least one category of obstacle point cloud set.
[0108] As a method, after determining the search radius corresponding to each of multiple three-dimensional sub-boundaries, a spherical search area can be determined according to the search radius, and then the point cloud data located in the spherical search areas corresponding to each of the multiple search radii are respectively determined, and the point cloud data located in the corresponding spherical search areas are determined as point cloud data of the same category, so as to obtain at least one category of obstacle point cloud set.
[0109] In this embodiment, obstacle point cloud data corresponding to the obstacle is determined by comparing the three-dimensional bounding box and the three-dimensional point cloud grid corresponding to the obstacle, and then the three-dimensional bounding box is divided according to the obstacle point cloud data to obtain multiple three-dimensional sub-bounding boxes including one obstacle point cloud or excluding obstacle point cloud, and then the search area is determined according to the point cloud coordinates, search constant and search ratio of the obstacle point cloud data corresponding to the multiple three-dimensional sub-bounding boxes, and then the obstacle point cloud data is classified according to the search areas corresponding to the multiple three-dimensional sub-bounding boxes to obtain at least one category of obstacle point cloud set, so as to effectively distinguish closely adjacent obstacles and prevent long-distance obstacles from being divided into multiple clusters. It is also possible to detect suspended obstacles, and further improve the accuracy of obstacle determination.
[0110] Fig.11 is a block diagram of an obstacle determination device according to an embodiment of the present application, such as Fig.11 As shown, the obstacle determination device 600 includes an acquisition module 610 , a three-dimensional point cloud grid determination module 620 , a state information determination module 630 and an obstacle determination module 640 .
[0111] The acquisition module 610 is used to acquire multiple point cloud data of the environment where the vehicle is located, and project the point cloud data into a two-dimensional grid to obtain multiple two-dimensional point cloud grid data; the three-dimensional point cloud grid determination module 620 is used to determine a three-dimensional grid according to the current position of the vehicle, and fill the multiple point cloud data into the three-dimensional grid to obtain a three-dimensional point cloud grid; the state information determination module 630 is used to determine the state information of each three-dimensional point cloud grid in the three-dimensional point cloud grid that is at the same height layer in the height direction according to the state information of the neighboring three-dimensional point cloud grids adjacent to each three-dimensional point cloud grid in the same height layer, and the state information includes being in an occupied state or not in an occupied state; the obstacle determination module 640 is used to determine whether there is an obstacle at the current position according to the state information of multiple three-dimensional point cloud grids corresponding to the two-dimensional grid in the height direction.
[0112] In some embodiments, the status information determination module 630 includes: a quantity determination submodule, which is used to determine the number of target neighboring three-dimensional point cloud grids whose status information is in an occupied state for the three-dimensional point cloud grids at the same height layer in the height direction in the three-dimensional point cloud grid, according to the status information of the neighboring three-dimensional point cloud grids adjacent to each three-dimensional point cloud grid in the same height layer; a first determination submodule, which is used to determine that the three-dimensional point cloud grid is in an occupied state if the number is greater than a preset number; or a second determination submodule, which is used to determine that the three-dimensional point cloud grid is not in an occupied state if the number is less than or equal to the preset number.
[0113] In some embodiments, the obstacle determination module 640 includes: a target three-dimensional point cloud mesh data determination submodule, which is used to determine a sliding window including a specified number, and determine a specified number of target three-dimensional point cloud mesh data in multiple three-dimensional point cloud meshes corresponding to the two-dimensional grid in the height direction through the sliding window; a first obstacle determination submodule, which is used to determine that there is an obstacle at the current position corresponding to the two-dimensional grid if the number of three-dimensional point cloud meshes indicated as being occupied in the specified number of target three-dimensional point cloud mesh data is greater than a preset number; a second obstacle determination submodule, which is used to re-select a specified number of target three-dimensional point cloud mesh data from multiple three-dimensional point cloud meshes corresponding to the sliding window in the height direction if the number of occupied is less than or equal to the preset number in the specified number of target three-dimensional point cloud mesh data, and determine whether the number of three-dimensional point cloud meshes indicated as being occupied in the re-selected target three-dimensional point cloud mesh data is greater than the preset number, until the two-dimensional grid is traversed according to the sliding window.
[0114] In some embodiments, the three-dimensional point cloud grid determination module 620 includes: a height threshold determination submodule, which is used to determine multiple height grids in the height direction according to a preset height difference, and determine the height threshold corresponding to each of the multiple height grids; a height difference determination submodule, which is used to determine the height difference between the multiple height grids and the corresponding point cloud data in the multiple point cloud data according to the height thresholds corresponding to each of the multiple height grids and the height values corresponding to each of the multiple point cloud data; a three-dimensional point cloud grid determination submodule, which is used to filter the multiple point cloud data according to the height difference, and fill the filtered multiple point cloud data into the three-dimensional grid to obtain the three-dimensional point cloud grid.
[0115] In some embodiments, the obstacle determination device 600 also includes: a three-dimensional border determination module, which is used to determine the three-dimensional border corresponding to the obstacle if it is determined that there is an obstacle at the current position; an obstacle point cloud data determination module, which is used to determine the obstacle point cloud data corresponding to the obstacle based on the three-dimensional border and the three-dimensional point cloud grid; a three-dimensional sub-border determination module, which is used to determine multiple three-dimensional sub-borders based on the three-dimensional border and the obstacle point cloud data, wherein each three-dimensional sub-border includes an obstacle point cloud or does not include an obstacle point cloud; a classification module, which is used to perform point cloud search based on the multiple three-dimensional sub-borders and classify the obstacle point cloud data to obtain at least one category of obstacle point cloud set.
[0116] In some embodiments, the classification module includes: an acquisition submodule, used to acquire a search ratio and a search constant; a search radius determination submodule, used to determine the point cloud coordinates corresponding to each of the multiple three-dimensional sub-borders, and determine the search radius corresponding to each of the multiple three-dimensional sub-borders based on the point cloud coordinates corresponding to each of the multiple three-dimensional sub-borders, the search ratio and the search constant; a classification submodule, used to perform point cloud search based on the search radius corresponding to each of the multiple three-dimensional sub-borders and classify the obstacle point cloud data to obtain at least one category of obstacle point cloud set.
[0117] In some embodiments, the classification submodule includes: a search area determination unit, used to determine multiple search areas according to the search radii corresponding to each of the multiple three-dimensional sub-borders; a classification unit, used to respectively determine the obstacle point cloud data located in the multiple search areas, and classify the obstacle point cloud data according to the multiple search areas and the obstacle point cloud data corresponding to each of the multiple search areas, to determine at least one category of obstacle point cloud set.
[0118] According to one aspect of the embodiments of the present application, an electronic device is also provided, such as Fig.12 As shown, the electronic device 700 includes a processor 710 and one or more memories 720. The one or more memories 720 are used to store program instructions executed by the processor 710. When the processor 710 executes the program instructions, the above-mentioned obstacle determination method is implemented.
[0119] Furthermore, the processor 710 may include one or more processing cores. The processor 710 runs or executes instructions, programs, code sets or instruction sets stored in the memory 720, and calls data stored in the memory 720. Optionally, the processor 710 may be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 710 may integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. Among them, the CPU mainly processes the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing display content; and the modem is used to process wireless communications. It is understandable that the above-mentioned modem may not be integrated into the processor, but may be implemented separately through a communication chip.
[0120] According to one aspect of the present application, the present application further provides a computer-readable storage medium, which may be included in the electronic device described in the above embodiments; or may exist independently without being assembled into the electronic device. The above computer-readable storage medium carries computer-readable instructions, and when the computer-readable storage instructions are executed by a processor, the method in any of the above embodiments is implemented.
[0121] It should be noted that the computer-readable medium shown in the embodiment of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, - but not limited to - an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by an instruction execution system, device or device or used in combination with it. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0122] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.
[0123] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0124] Other embodiments of the present application will be readily apparent to those skilled in the art after considering the specification and practicing the embodiments disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary technical means in the art that are not disclosed in the present application.
[0125] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A method for determining an obstacle, characterized in that: The method comprises: Acquire a plurality of point cloud data of the environment where the vehicle is located, and project the point cloud data into a two-dimensional grid to obtain a plurality of two-dimensional point cloud grid data; Determine a three-dimensional grid according to the current position of the vehicle, and fill the plurality of point cloud data into the three-dimensional grid to obtain a three-dimensional point cloud grid; For the three-dimensional point cloud grids at the same height layer in the height direction in the three-dimensional point cloud grids, determine the state information of each three-dimensional point cloud grid according to the state information of the neighboring three-dimensional point cloud grids adjacent to each three-dimensional point cloud grid in the same height layer, wherein the state information includes whether the grid is in an occupied state or not in an occupied state; For the two-dimensional grids corresponding to the multiple two-dimensional point cloud grid data, it is determined whether there is an obstacle at the current position according to the state information of the multiple three-dimensional point cloud grids corresponding to the two-dimensional grids in the height direction.
2. The method according to claim 1, characterized in that The method of determining the status information of each of the three-dimensional point cloud grids according to the status information of the neighboring three-dimensional point cloud grids adjacent to each of the three-dimensional point cloud grids in the same height layer in the height direction of the three-dimensional point cloud grids includes: For the three-dimensional point cloud grids at the same height layer in the height direction in the three-dimensional point cloud grids, determine the number of target neighboring three-dimensional point cloud grids whose state information is in an occupied state according to the state information of neighboring three-dimensional point cloud grids adjacent to each of the three-dimensional point cloud grids at the same height layer; If the number is greater than a preset number, determining that the three-dimensional point cloud grid is in an occupied state; or If the number is less than or equal to the preset number, it is determined that the three-dimensional point cloud grid is not in an occupied state.
3. The method according to claim 1, characterized in that The determining whether there is an obstacle at the current position according to the state information of the multiple three-dimensional point cloud grids corresponding to the two-dimensional grids in the height direction includes: Determine a sliding window including a specified number, and determine a specified number of target three-dimensional point cloud grid data in a plurality of three-dimensional point cloud grids corresponding to the two-dimensional grid in the height direction through the sliding window; If the number of three-dimensional point cloud grids indicating an occupied state in the specified number of target three-dimensional point cloud grid data is greater than a preset number, it is determined that an obstacle exists at the current position corresponding to the two-dimensional grid; If the number of occupied grids indicated in the specified number of target three-dimensional point cloud mesh data is less than or equal to the preset number, the specified number of target three-dimensional point cloud mesh data is reselected from the multiple three-dimensional point cloud grids corresponding to the sliding window in the height direction, and it is determined whether the number of three-dimensional point cloud grids indicated in the occupied state by the re-selected target three-dimensional point cloud mesh data is greater than the preset number, until all three-dimensional point cloud grids corresponding to the two-dimensional grid in the height direction are traversed according to the sliding window.
4. The method according to claim 1, characterized in that: Filling the three-dimensional point cloud mesh data into the three-dimensional mesh to obtain the three-dimensional point cloud mesh includes: Determine a plurality of height grids in the height direction according to a preset height difference, and determine a height threshold corresponding to each of the plurality of height grids; Determine, according to the height thresholds corresponding to the plurality of height grids and the height values corresponding to the plurality of point cloud data, the height differences between the plurality of height grids and the corresponding point cloud data in the plurality of point cloud data; The plurality of point cloud data are screened according to the height difference value, and the screened plurality of point cloud data are filled into the three-dimensional grid to obtain the three-dimensional point cloud grid.
5. The method according to claim 1, characterized in that After determining whether there is an obstacle at the current position according to the state information of the multiple three-dimensional point cloud grids corresponding to the two-dimensional grids corresponding to the multiple two-dimensional point cloud grid data in the height direction, the method further includes: If it is determined that there is an obstacle at the current position, determining a three-dimensional frame corresponding to the obstacle; Determine obstacle point cloud data corresponding to the obstacle according to the three-dimensional frame and the three-dimensional point cloud grid; Determine a plurality of three-dimensional sub-frames according to the three-dimensional frame and the obstacle point cloud data, wherein each three-dimensional sub-frame includes an obstacle point cloud or does not include an obstacle point cloud; Point cloud search is performed according to the multiple three-dimensional sub-frames and the obstacle point cloud data is classified to obtain at least one category of obstacle point cloud set.
6. The method according to claim 5, characterized in that The step of performing point cloud search according to the multiple three-dimensional sub-frames and classifying the obstacle point cloud data to obtain at least one category of obstacle point cloud set includes: Get the search ratio and search constant; Determine the point cloud coordinates corresponding to each of the plurality of three-dimensional sub-frames, and determine the search radius corresponding to each of the plurality of three-dimensional sub-frames according to the point cloud coordinates corresponding to each of the plurality of three-dimensional sub-frames, the search ratio, and the search constant; Point cloud search is performed according to the search radius corresponding to each of the multiple three-dimensional sub-frames, and the obstacle point cloud data is classified to obtain an obstacle point cloud set of at least one category.
7. The method according to claim 6, characterized in that The step of performing point cloud search according to the search radius corresponding to each of the plurality of three-dimensional sub-frames and classifying the obstacle point cloud data to obtain at least one category of obstacle point cloud set includes: Determine multiple search areas according to the search radii corresponding to the multiple three-dimensional sub-frames; Obstacle point cloud data located in the multiple search areas are determined respectively, and the obstacle point cloud data are classified according to the multiple search areas and the obstacle point cloud data corresponding to each of the multiple search areas to determine at least one category of obstacle point cloud set.
8. An obstacle determination device, characterized in that: The device comprises: An acquisition module, used for acquiring a plurality of point cloud data of the environment where the vehicle is located, and projecting the point cloud data into a two-dimensional grid to obtain a plurality of two-dimensional point cloud grid data; A three-dimensional point cloud mesh determination module, used to determine a three-dimensional mesh according to the current position of the vehicle, and fill the plurality of point cloud data into the three-dimensional mesh to obtain a three-dimensional point cloud mesh; A state information determination module is used to determine the state information of each 3D point cloud grid at the same height layer in the height direction of the 3D point cloud grid according to the state information of the neighboring 3D point cloud grids adjacent to each 3D point cloud grid at the same height layer, wherein the state information includes whether the grid is in an occupied state or not in an occupied state; The obstacle determination module is used to determine whether there is an obstacle at the current position according to the state information of multiple three-dimensional point cloud grids corresponding to the two-dimensional grids in the height direction for the two-dimensional grids corresponding to the multiple two-dimensional point cloud grid data.
9. An electronic device, characterized in that: The electronic device comprises: processor; A memory having computer-readable instructions stored thereon, wherein when the computer-readable instructions are executed by the processor, the method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program codes, which can be called by a processor to execute the method according to any one of claims 1 to 7.