Method and apparatus for generating digital elevation model of autonomous driving scene

By dividing terrain points into slice units and recording their elevation values, the problem of storage space occupation in digital elevation models is solved, achieving efficient storage and data recovery.

CN115713600BActive Publication Date: 2026-05-12EACON TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
EACON TECHNOLOGY CO LTD
Filing Date
2022-11-24
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing digital elevation models (DEMs) contain both planar location information and elevation values, which consume a large amount of storage space, resulting in low storage efficiency.

Method used

Topographic points are divided into corresponding slices, and elevation values ​​are recorded in the slice units. The planar coordinate information is restored by the storage order in the slice units, reducing the redundancy of storing planar position information.

Benefits of technology

It effectively reduces the storage space occupied by digital elevation models, while being able to recover complete spatial information, thus improving storage efficiency and data processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115713600B_ABST
    Figure CN115713600B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of automatic driving, and provides a method and device for generating a digital elevation model of an automatic driving scene. The method comprises the following steps: dividing terrain points into corresponding slices, generating slice units according to the slices, and recording the elevation values of the terrain points in the corresponding slices in each slice unit. In this way, the digital elevation model only includes the elevation values of the terrain points, and does not include the planar position information of the terrain points, thereby effectively reducing the storage space occupied by the digital elevation model when stored. In addition, since the storage order of the elevation values of the terrain points in the slice unit is associated with the positions of the terrain points in the corresponding slice, the planar coordinate information of the terrain points can be recovered based on the storage order of the elevation values of the terrain points in the slice unit, thereby obtaining the complete spatial information of the terrain points.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of autonomous driving technology, and in particular to a method and apparatus for generating a digital elevation model of an autonomous driving scenario. Background Technology

[0002] With the development of autonomous driving technology, the hardware parameters of LiDAR are improving while costs are decreasing. LiDAR based on vehicles, airborne systems, or other platforms can acquire high-density, high-precision point cloud data of target areas at low cost and high efficiency. The collected point cloud data can be used to generate digital elevation models (DEMs), providing fundamental terrain data support for high-precision mapping, terrain analysis, and decision-making in autonomous driving scenarios. However, DEMs in related technologies include the planar location information and elevation values ​​of each point, resulting in significant storage space requirements. Summary of the Invention

[0003] In view of this, embodiments of the present disclosure provide a method and apparatus for generating a digital elevation model for an autonomous driving scenario.

[0004] A first aspect of this disclosure provides a method for generating a digital elevation model (DEM) for an autonomous driving scenario. The method includes: acquiring point cloud data of a target work area of ​​an autonomous vehicle; determining planar position information and elevation values ​​of multiple terrain points in the target work area based on the point cloud data; determining the slice to which a corresponding terrain point belongs in a pre-divided plurality of slices based on the planar position information of each terrain point, wherein different slices correspond to different planar position ranges; generating a DEM of the target work area based on the elevation values ​​of each terrain point and the slice to which each terrain point belongs, and storing the DEM; the DEM includes multiple slice units, each slice unit corresponding to a slice, used to record the elevation values ​​of each terrain point in the corresponding slice; the storage order of the elevation values ​​of each terrain point in the same slice unit is associated with the position of each terrain point in its respective slice.

[0005] A second aspect of this disclosure provides an apparatus for generating a digital elevation model (DEM) for an autonomous driving scenario. The apparatus includes: a first determining module, configured to acquire point cloud data of a target work area for an autonomous vehicle, and determine the planar position information and elevation values ​​of multiple terrain points in the target work area based on the point cloud data; a second determining module, configured to determine the slice to which a corresponding terrain point belongs among multiple pre-divided slices based on the planar position information of each terrain point, with different slices corresponding to different planar position ranges; and a storage module, configured to generate a DEM of the target work area based on the elevation values ​​of each terrain point and the slice to which each terrain point belongs, and to store the DEM; the DEM includes multiple slice units, each slice unit corresponding to a slice, used to record the elevation values ​​of each terrain point in the corresponding slice; the storage order of the elevation values ​​of each terrain point in the same slice unit is associated with the position of each terrain point in its respective slice.

[0006] A third aspect of this disclosure provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the method of the first aspect described above.

[0007] A fourth aspect of this disclosure provides an electronic device 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 method of the first aspect described above.

[0008] The at least one technical solution adopted in this disclosure can achieve the following beneficial effects: by dividing terrain points into corresponding slices and generating slice units according to the slices, and recording the elevation values ​​of each terrain point in the corresponding slice in each slice unit, the digital elevation model only includes the elevation values ​​of each terrain point, and does not include the planar position information of each terrain point, thereby effectively reducing the storage space occupied by the digital elevation model during storage. Furthermore, since the storage order of the elevation values ​​of each terrain point in the same slice unit is related to the position of each terrain point in its respective slice, the planar coordinate information of the terrain points can be recovered based on the storage order of the elevation values ​​in the slice unit, thereby enabling the acquisition of complete spatial information of each terrain point based on the recovered planar coordinate information and the stored elevation values. That is, this disclosure embodiment only needs to store the elevation values ​​of the terrain points in the digital elevation model to achieve the same effect as simultaneously storing the planar position information and elevation values ​​of the terrain points. Attached Figure Description

[0009] To more clearly illustrate the technical solutions in the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0010] Figure 1 This is a schematic diagram illustrating an application scenario in one embodiment of the present disclosure.

[0011] Figure 2 This is a flowchart of a method for generating a digital elevation model of an autonomous driving scenario according to one embodiment of the present disclosure.

[0012] Figure 3 This is a schematic diagram of a slice in one embodiment of the present disclosure.

[0013] Figure 4 This is a schematic diagram of a digital elevation model in one embodiment of the present disclosure.

[0014] Figure 5 This is a schematic diagram of an incremental update process in one embodiment of the present disclosure.

[0015] Figure 6 This is a block diagram of an apparatus for generating a digital elevation model of an autonomous driving scenario according to one embodiment of the present disclosure.

[0016] Figure 7 This is a schematic diagram of an electronic device according to one embodiment of the present disclosure. Detailed Implementation

[0017] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0018] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

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

[0020] With the development of the autonomous driving industry, LiDAR (Light Detection and Ranging) systems based on vehicles, airborne equipment, or other carriers can acquire high-density, high-precision point cloud data of target areas at low cost and high efficiency. The acquired point cloud data can be used to generate Digital Elevation Models (DEMs). DEMs achieve a digital simulation of terrain surfaces or a digital representation of terrain surface morphology through finite terrain elevations. This is achieved by rasterizing the terrain surface and recording the elevation value of each grid point to characterize terrain features. DEMs can provide fundamental terrain data support for high-precision mapping, terrain analysis, and decision-making in autonomous driving scenarios.

[0021] See Figure 1 This diagram illustrates an application scenario of an embodiment of this disclosure. An autonomous vehicle 101 operating in a target work area R (e.g., a mining area) can travel along a pre-planned path tr between loading point S1 and unloading point S2, transporting coal from loading point S1 to unloading point S2. A lidar 101a can be installed on the autonomous vehicle 101. The lidar 101a can collect point cloud data of the target work area R during the movement of the autonomous vehicle 101. The point cloud data can include the three-dimensional coordinate information of any point H within the sensing range of the lidar 101a. This arbitrary point H includes, but is not limited to, ground points on the path tr, points on trees 102 in the target work area R, points on pedestrians 103 in the target work area R, and points on the coal pile 104 at loading point S1. A processing unit can be deployed on the autonomous vehicle 101. The processing unit can generate a digital elevation model of the target work area R based on the point cloud data collected by the lidar 101a. Alternatively, the autonomous vehicle 101 can send the point cloud data collected by the LiDAR 101a to the cloud, so that a digital elevation model of the target work area R can be generated on the cloud based on the received point cloud data. It is understood that the above application scenarios are merely illustrative and are not intended to limit this disclosure. Besides the scenarios described above, the solutions of the embodiments of this disclosure can also be used in other application scenarios.

[0022] In related technologies, digital elevation models (DEMs) include both the planar position information of each point in the target work area R and the elevation values ​​of each point, resulting in a large data volume and thus a significant storage requirement. Therefore, this disclosure provides a method for generating a DEM for an autonomous driving scenario. The following section combines... Figure 1 The application scenarios shown illustrate the methods of this disclosure embodiment. See also... Figure 2 The method includes:

[0023] Step S201: Obtain point cloud data C of the target work area R of the autonomous vehicle 101, and determine the planar position information and elevation value of multiple terrain points H in the target work area R based on the point cloud data C;

[0024] Step S202: Based on the planar position information of each terrain point H, determine the slice to which the corresponding terrain point H belongs in the pre-divided multiple slices. Different slices correspond to different planar position ranges.

[0025] Step S203: Generate a digital elevation model (DEM) of the target work area R based on the elevation values ​​of each topographic point H and the slice to which each topographic point H belongs, and store the digital elevation model (DEM).

[0026] In step S201, the point cloud data C can be acquired by the LiDAR 101a on the autonomous vehicle 101. The point cloud data C may include the three-dimensional coordinate information of multiple terrain points H. Based on the three-dimensional coordinate information of the terrain points, the planar position information and elevation value of the terrain points can be determined. The planar position information can be denoted as (x, y), which characterizes the position information of the terrain point on the terrain surface, where x represents the horizontal coordinate and y represents the vertical coordinate. The elevation value refers to the distance from the terrain point along the vertical direction to the absolute datum plane, and can be denoted as z.

[0027] In some embodiments, point cloud data C can be obtained by preprocessing the raw point cloud data of the target working area R collected by the lidar 101a. The preprocessing may include, but is not limited to, at least one of the following: voxelization filtering, noise filtering, and non-terrain point filtering. Examples of each preprocessing method are given below.

[0028] Voxelization filtering refers to filtering raw point cloud data using voxelized graticets. This involves downsampling the point cloud data to reduce the density per unit distance, thereby reducing the amount of point cloud data while preserving its shape characteristics. For example, the point cloud space can be divided into a certain number and size of voxelized graticets (e.g., cubes), and the centroid of each voxelized graticet can be used to approximate all other points within the graticet, achieving a simplified point cloud data. Voxelization filtering of the raw point cloud data can be performed based on the target resolution of the Digital Elevation Model (DEM), meaning the size of the voxelized graticet is determined based on the target resolution of the DEM. Generally, to ensure the accuracy of the DEM, the side length parameter of the voxelized graticet can be set to a value no less than the target resolution. The target resolution of the DEM can be set based on actual needs. The smaller the target resolution value, the higher the target resolution, the higher the accuracy of the DEM, but the larger the data volume. Therefore, when determining the target resolution, both the accuracy and data volume of the digital elevation model (DEM) can be considered.

[0029] In one embodiment, assuming the target resolution of the digital elevation model (DEM) is 0.1 meters, the side length parameter of the voxelized raster can also be set to 0.1 meters. This approach effectively reduces the amount of point cloud data while preserving the geometric features and accuracy requirements of spatial objects, thereby improving the processing and computational efficiency of point cloud data.

[0030] Noise filtering refers to the process of filtering various types of noise, such as dust, moving points, isolated points, abnormally high points, abnormally low points, and abnormally distant points, from raw point cloud data using one or more filtering algorithms. A complete set of filtering algorithms can be used to filter noise from raw point cloud data, including but not limited to histogram filtering, statistical filtering, and radius filtering. Histogram filtering can count the number of points within different coordinate ranges, thereby filtering out noise such as abnormally high points, abnormally low points, and abnormally distant points. Statistical filtering and radius filtering can determine the density of point cloud data in different regions, thereby filtering out noise such as dust, moving points, and isolated points. Various filtering algorithms can be executed sequentially. By performing noise filtering, various types of noise can be effectively removed, thereby reducing calculation errors in the process of generating a digital elevation model (DEM).

[0031] Non-topographic point filtering refers to semantic segmentation of point cloud data to identify its semantic information. This allows for the filtering out of non-topographic points such as vehicles, buildings, pedestrians, roadblocks, and traffic signs from the original point cloud data. Only topographic points such as roads, slopes, retaining walls, and steps from the original point cloud data are used in the generation of the Digital Elevation Model (DEM), thereby reducing the impact of non-topographic points on the DEM and improving its accuracy. Semantic segmentation of point cloud data can be achieved using pattern recognition, machine learning algorithms, or a combination of both.

[0032] In step S202, unified slice organization rules and data structures can be set. For example... Figure 3 As shown, the planar position range can be pre-divided into multiple slices, with different slices corresponding to different planar position ranges (including different planar x-coordinate ranges and / or different planar y-coordinate ranges). For example, the planar x-coordinate range of a slice is [x1, x2], and the planar y-coordinate range is [y1, y2]. The planar x-coordinate range of an adjacent slice in the same row is [x2, x3], and the planar y-coordinate range is [y1, y2]. The planar x-coordinate range of an adjacent slice in the same column is [x1, x2], and the planar y-coordinate range is [y2, y3]. Here, x1, x2, and x3 are distinct real numbers, and y1, y2, and y3 are also distinct real numbers.

[0033] The dimensions of each slice can be the same or different. For ease of explanation, the following example assumes that all slices have the same size. The row side length RL and column side length CL of the slice can be set based on data management efficiency and flexibility. The row side length RL and column side length CL can be the same or different. Optionally, both the row side length RL and column side length CL can be set to 10 meters.

[0034] In some embodiments, a fixed reference point B0 can be set based on the area of ​​the target work area R, such as... Figure 3 As shown, the coordinates of the reference point are (-10000, 10000). After determining the reference point, the slice with the reference point B0 as its top left corner can be used as the slice in row 0 and column 0, thus obtaining the row and column numbers of each slice.

[0035] Each slice can be identified using its row and column coordinates. For example, {0,0} could identify the slice in row 0, column 0, and {0,1} could identify the slice in row 0, column 1, and so on. Alternatively, slices can be identified by their numbers. For instance, if each row contains u slices, the slices in the first row could be numbered 0, 1, 2, ..., u-1; the slices in the second row could be numbered u, u+1, u+2, ..., 2u-1; and so on.

[0036] It is understood that the above slice organization rules are merely illustrative. For example, in addition to the reference point shown in the figure, points with other coordinate positions can also be used as reference point B0. As another example, a slice with reference point B0 as its lower left, lower right, or upper right corner can be designated as the slice in row 0 and column 0, thus obtaining the row and column numbers of each slice. Appropriate slice organization rules and data structures can be selected according to actual circumstances, which will not be listed in detail here. Through the above method, the elevation values ​​of terrain points are associated and bound with the row and column numbers of the slice to which the terrain point belongs, achieving simple and efficient organization and management of the digital elevation model based on row and column numbers. For ease of explanation, the following uses... Figure 3 The solution of this disclosure embodiment will be described using the slice organization rules shown as an example.

[0037] Based on the above-mentioned slice organization rules, the slice to which the terrain point H belongs can be determined based on the planar position information of the terrain point H, the planar position information of the preset reference point B0, and the dimensions of each slice. The planar position information can include the horizontal coordinate (x) and the vertical coordinate (y). The slice size can be represented by the row side length (RL) and column side length (CL). If the slice is square, its size can also be represented by its area or the length of its diagonal.

[0038] Specifically, the row number of the slice to which terrain point H belongs can be determined based on the planar ordinate of terrain point H, the planar ordinate of reference point B0, and the row side length of each slice. Similarly, the column number of the slice to which terrain point H belongs can be determined based on the planar abscissa of terrain point H, the planar abscissa of reference point B0, and the column side length of each slice. Figure 3In the illustrated embodiment, assuming that the row side length of each slice is CL and the column side length of each slice is RL, a first difference between the planar ordinate of the reference point and the planar ordinate of the terrain point H can be obtained. A first ratio of this first difference to the column side length RL of the slice is determined, and this first ratio is rounded down to obtain the row number m of the slice to which the terrain point H belongs. A second difference between the planar abscissa of the terrain point H and the planar abscissa of the reference point can also be obtained. A second ratio of this second difference to the row side length CL of the slice is determined, and this second ratio is rounded down to obtain the column number n of the slice to which the terrain point H belongs. In some embodiments, the formulas for calculating the row number m and column number n of the slice to which the terrain point H belongs can be written as:

[0039]

[0040] Where B0.x and B0.y represent the planar x-coordinate and y-coordinate of the reference point B0, respectively, Hx and Hy represent the planar x-coordinate and y-coordinate of the terrain point H, respectively, and floor represents the floor operation. When the reference point B0 is the lower left corner of the slice in row 0 and column 0, floor in the above formula (1.1) can be replaced with ceiling, i.e., floor operation. In other embodiments, the row number m and column number n of the slice to which the terrain point H belongs can be adjusted according to the actual situation, and will not be listed here. After obtaining the row number m and column number n of the slice to which the terrain point H belongs, the row number m and column number n can also be converted into the slice number to which the terrain point H belongs. Let's assume... Figure 3 The slice organization rules shown include u slices per row, so the slice number to which the terrain point H belongs can be denoted as u*m+n.

[0041] In step S203, a digital elevation model (DEM) can be generated based on the elevation values ​​of each topographic point H and the slice to which each topographic point belongs. Since the generated DEM only includes the elevation values ​​of each topographic point and not the planar location information of each topographic point, the amount of data in the DEM is effectively reduced, thereby effectively reducing the storage space occupied by the DEM when it is stored.

[0042] The elevation values ​​of each topographic point H in a Digital Elevation Model (DEM) can be organized according to the tile to which that point H belongs. Specifically, a DEM can include multiple tile units, each corresponding to a tile, used to record the elevation values ​​of each topographic point within that tile. For example, see... Figure 4With the number of slices being v, the number of slice units is also v. Each slice is denoted as slice 1, slice 2, ..., slice v, and each slice unit is denoted as slice unit 1, slice unit 2, ..., slice unit v. Slice unit 1 corresponds to slice 1 and is used to record the elevation values ​​of each topographic point in slice 1; slice unit 2 corresponds to slice 2 and is used to record the elevation values ​​of each topographic point in slice 2; and so on.

[0043] In some embodiments, each slice unit records the planar position information of the feature points of the corresponding slice, and the identification information of each slice unit is determined based on the identification information of the slice corresponding to that slice unit (i.e., the row number and column number of the slice, or the slice number). For example, each slice unit can be organized into a slice file, and the identification information of the slice corresponding to each slice file can be used as the file name of that slice file. In this way, the slice corresponding to the slice unit can be determined based on the identification information of the slice unit.

[0044] In other embodiments, each slice unit records the planar position information of the feature points of the corresponding slice and the elevation values ​​of each terrain point in the corresponding slice. The feature points of the slice can be corner points (e.g., the top-left corner point of the slice), the center point of the slice, or the midpoint of an edge of the slice, etc. Taking the top-left corner point of the slice as an example... Figure 3 As shown, the feature point of the slice in the m-th row and n-th column (the slice corresponding to the gray area in the figure) is feature point B. Thus, the slice cell corresponding to the slice in the m-th row and n-th column can record the planar position information of feature point B (including the planar abscissa and ordinate of feature point B), as well as the elevation values ​​of each terrain point in the slice in the m-th row and n-th column.

[0045] The planar position information of the feature points of the slice can be determined based on the planar position information of a preset reference point B0, the position information of the slice within the plurality of slices, and the size of each slice. Figure 3 In the illustrated embodiment, assuming that the row side length of each slice is CL and the column side length of each slice is RL, the first product of the column number and the row side length of the slice can be obtained. The planar abscissa Bx of the feature point B of the slice is determined based on the sum of this first product and the planar abscissa of the reference point. Alternatively, the second product of the row number and the column side length of the slice can be obtained. The planar ordinate By of the feature point B of the slice is determined based on the difference between the planar ordinate of the reference point and this second product. In some embodiments, the formulas for calculating the planar abscissa Bx and planar ordinate By of the feature point B of the slice in the m-th row and n-th column can be denoted as:

[0046]

[0047] When feature point B is the center point of the slice in row m and column n, the planar abscissa Bx of feature point B can be calculated by adding an offset of CL / 2 to formula (1.2), and the planar ordinate By of feature point B can be calculated by adding an offset of RL / 2 to formula (1.2). In other embodiments, the calculation formulas for the planar abscissa Bx and planar ordinate By of feature point B can be adjusted according to the actual situation, and will not be listed here.

[0048] In some embodiments, the storage order of elevation values ​​of terrain points within the same slice unit is associated with the position of each terrain point within its respective slice. For example, a slice can be divided into multiple sub-slices based on the target resolution of a Digital Elevation Model (DEM). Each sub-slice is a raster in a specific row and column of its respective slice. The position of a terrain point within its slice can be represented by the row and column number of the sub-slice to which the terrain point belongs within the corresponding slice. For example, the raster in row 0, column 0 of a slice is one sub-slice, and the raster in row 0, column 1 of a slice is another sub-slice. Each sub-slice may include multiple terrain points. The storage order of elevation values ​​of each terrain point within the corresponding slice unit of the slice can be determined based on the row and column numbers of each sub-slice within its corresponding slice.

[0049] like Figure 4 As shown, the elevation values ​​of terrain points in each sub-slice can be recorded row by row within the slice unit. Specifically, for each slice unit, the elevation values ​​of each terrain point H(row0,col0) in the sub-slice at row 0 and column 0 can be recorded first, then the elevation values ​​of each terrain point H(row0,col1) in the sub-slice at row 0 and column 1 can be recorded, and so on, until the elevation values ​​of each terrain point in the sub-slice at row 0 and column 1 are recorded. Then, the elevation values ​​of each terrain point H(row1,col0) in the sub-slice at row 1 and column 0, the elevation values ​​of each terrain point H(row1,col1) in the sub-slice at row 1 and column 1 are recorded sequentially, and so on, until the elevation values ​​of each terrain point in the sub-slice at row 1 and column 1 are recorded. The elevation values ​​of the terrain points in each sub-slice are recorded row by row in the above manner until the elevation values ​​of the terrain points in all sub-slices of the same slice have been recorded.

[0050] Because point cloud data typically has a high density, the number of terrain points actually collected in a sub-slice may be greater than one. Therefore, a single terrain point can be selected from each sub-slice, or a single terrain point can be fitted based on multiple terrain points included in a sub-slice. This selected or fitted terrain point then represents all terrain points within the corresponding sub-slice. Since sub-slices are divided according to the target resolution of the Digital Elevation Model (DEM), selecting or fitting a terrain point for each sub-slice in this way reduces the amount of data while still meeting the target resolution requirements of the DEM. The selected or fitted terrain point can be called the raster point of the corresponding sub-slice. Based on this, the elevation values ​​of each terrain point recorded in a slice unit can include only the elevation values ​​of the raster points within the corresponding slice.

[0051] Furthermore, the elevation values ​​of multiple terrain points within the same sub-tile can be fused, and the fused elevation value can be used as the elevation value of each terrain point within that sub-tile. Specifically, the elevation values ​​of multiple neighboring terrain points of a grid point in a sub-tile can be determined, and a weighted average of the elevation values ​​of each neighboring terrain point can be performed using an inverse distance weighting algorithm to obtain the elevation value of the grid point. Here, neighboring terrain points refer to terrain points whose distance from the grid point is less than a preset neighborhood radius.

[0052] Using the above method, the planar coordinate information of terrain points can be recovered based on the storage order of their elevation values ​​in the slice unit. This allows for the acquisition of complete spatial information for each terrain point based on the recovered planar coordinate information and the stored elevation values. In other words, this embodiment only requires storing the elevation values ​​of terrain points in the digital elevation model to achieve the same effect as simultaneously storing both the planar position information and elevation values ​​of the terrain points.

[0053] In the above embodiments, the sub-slice to which a terrain point belongs can be determined based on the planar position information of the terrain point, the planar position information of the feature points of the slice to which the terrain point belongs, and the target resolution of the digital elevation model. The sub-slice to which the terrain point belongs can be identified by its row and column numbers within the corresponding slice, or by its index within the corresponding slice. In embodiments where sub-slices are identified by their row and column numbers, a third difference can be obtained between the planar ordinate of a corner point of the slice to which the sub-slice belongs and the planar ordinate of the terrain point within the sub-slice. The row number of the sub-slice is determined based on the ratio of this third difference to the target resolution of the digital elevation model. Similarly, a fourth difference can be obtained between the planar abscissa of the terrain point within the sub-slice and the planar abscissa of a corner point of the slice to which the sub-slice belongs. The column number of the sub-slice is determined based on the ratio of this fourth difference to the target resolution of the digital elevation model. In some embodiments, the formulas for calculating the row and column numbers of sub-slices can be summarized as follows:

[0054]

[0055] Assuming the number of sub-slices in each row of a slice is w, the number of a sub-slice in the corresponding slice can be denoted as w*row+col.

[0056] After generating a Digital Elevation Model (DEM), the planar location information of each terrain point can be recovered from the DEM through certain processing, and the elevation values ​​of each terrain point can be extracted from the DEM. Then, based on the planar location information and elevation values ​​of each terrain point, a visualized topographic map can be rendered, or the terrain factors of the target work area R can be calculated, such as accuracy, latitude, altitude, height, aspect, slope position, surface roughness, terrain relief, and slope shape. High-precision maps can also be generated based on the planar location information and elevation values ​​of each terrain point, and / or path planning and decision control can be performed on the autonomous driving process of the autonomous vehicle 101. An example of how to recover the planar location information of terrain points is given below.

[0057] In some embodiments, the target slice unit of the digital elevation model (DEM) can be read; the sub-slice to which the target terrain point belongs can be determined based on the recording order of the target terrain points in the target slice unit; and the planar position information of the target terrain point can be determined based on the sub-slice to which the target terrain point belongs, the planar position information of the feature points in the target slice unit, and the target resolution of the digital elevation model (DEM).

[0058] The target slice unit can be any slice unit included in the digital elevation model (DEM). The target terrain point can be any terrain point in the target slice unit, or a raster point in any sub-slice included in the slice corresponding to the target slice unit. Since all terrain points and raster points are recorded sequentially in the slice unit, the sub-slice to which the target terrain point belongs can be determined based on the recording order index of the target terrain point.

[0059] Specifically, the total number of columns (sum_col) of sub-slices within a slice can be determined based on the slice's row width and the target resolution of the digital elevation model (DEM), expressed as follows:

[0060] sum_col = CL / resolution (2.1)

[0061] Then, based on the record order index of the target terrain point in the slice unit and the total number of columns in the sub-slice sum_col, the row number (row) and column number (col) of the target terrain point in the corresponding slice are determined. Specifically, the ratio of the record order index of the target terrain point in the slice unit to the total number of columns in the sub-slice sum_col can be obtained, and this ratio can be rounded down to get the row number (row) of the target terrain point. Alternatively, the remainder of the record order index of the target terrain point in the slice unit divided by the total number of columns in the sub-slice sum_col can be used to determine the column number (col) of the target terrain point. The formula for calculating the row number and column number of the target terrain point can be written as:

[0062]

[0063] Then, the row number of the target terrain point can be determined by multiplying it by the third product of the target resolution of the digital elevation model (DEM). The horizontal coordinate of the target terrain point is then determined by summing this third product with the horizontal coordinate of feature point B in the slice containing the target terrain point. Similarly, the column number of the target terrain point can be determined by multiplying it by the fourth product of the target resolution of the DEM. The vertical coordinate of the target terrain point is then determined by the difference between the horizontal coordinate of feature point B in the slice containing the target terrain point and this fourth product. The formulas for reconstructing the horizontal and vertical coordinates of the target terrain point can be expressed as:

[0064]

[0065] In some embodiments, when updated point cloud data is acquired, the slice to which the updated point cloud data belongs (referred to as the slice to be updated) can also be determined, and the elevation values ​​in the slice cells corresponding to the slice to be updated can be updated. For example, see Figure 5 When the slice to be updated, to which the point cloud data belongs, includes the slice in row m and column n, the updated elevation values ​​of each terrain point in the slice in row m and column n can be determined based on the updated point cloud data. Then, the elevation values ​​in the slice units corresponding to the slice in row m and column n are updated based on these updated elevation values. This update process is called incremental update. This embodiment of the present disclosure associates and binds the elevation values ​​of terrain points with the slice in which the terrain points are located, thereby enabling incremental updates based on the row and column numbers of the slices, improving the efficiency and accuracy of incremental updates.

[0066] It is easy to understand that the solutions described in the above embodiments can be freely combined to obtain new solutions when there is no conflict. Due to space limitations, they will not be described in detail here.

[0067] The following are embodiments of the apparatus disclosed herein, which can be used to execute embodiments of the method disclosed herein. For details not disclosed in the apparatus embodiments of this disclosure, please refer to the embodiments of the method disclosed herein.

[0068] Figure 6 This is a schematic diagram of the structure of a device for generating a digital elevation model of an autonomous driving scenario according to an embodiment of this disclosure. Figure 6 As shown, the device includes:

[0069] The first determining module 601 is used to acquire point cloud data of the target work area of ​​the autonomous vehicle, and determine the planar position information and elevation value of multiple terrain points in the target work area based on the point cloud data.

[0070] The second determining module 602 is used to determine the slice to which the corresponding terrain point belongs among multiple pre-divided slices based on the planar position information of each terrain point. Different slices correspond to different planar position ranges.

[0071] Storage module 603 is used to generate a digital elevation model of the target operation area based on the elevation values ​​of each terrain point and the slice to which each terrain point belongs, and to store the digital elevation model.

[0072] The digital elevation model includes multiple slice units, each slice unit corresponding to a slice, used to record the elevation values ​​of each topographic point in the corresponding slice;

[0073] The storage order of elevation values ​​of each terrain point in the same slice unit is related to the position of each terrain point in its respective slice.

[0074] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0075] Figure 7 This is a schematic diagram of the structure of an electronic device according to an embodiment of this disclosure. Figure 7 As shown, the electronic device 70 of this embodiment includes: a processor 701, a memory 702, and a computer program 703 stored in the memory 702 and executable on the processor 701. When the processor 701 executes the computer program 703, it implements the steps in the various method embodiments described above. Alternatively, when the processor 701 executes the computer program 703, it implements the functions of each module / unit in the various device embodiments described above.

[0076] For example, computer program 703 may be divided into one or more modules / units, which are stored in memory 702 and executed by processor 701 to perform the present disclosure. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of computer program 703 in electronic device 70.

[0077] Electronic device 70 can be a desktop computer, laptop, handheld computer, cloud server, or other electronic device. Electronic device 70 may include, but is not limited to, processor 701 and memory 702. Those skilled in the art will understand that... Figure 7 This is merely an example of electronic device 70 and does not constitute a limitation on electronic device 70. It may include more or fewer components than shown, or combine certain components, or different components. For example, electronic device may also include input / output devices, network access devices, buses, etc.

[0078] The processor 701 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0079] The memory 702 can be an internal storage unit of the electronic device 70, such as a hard disk or RAM of the electronic device 70. The memory 702 can also be an external storage device of the electronic device 70, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or FlashCard equipped on the electronic device 70. Furthermore, the memory 702 can include both internal and external storage units of the electronic device 70. The memory 702 is used to store computer programs and other programs and data required by the electronic device. The memory 702 can also be used to temporarily store data that has been output or will be output.

[0080] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this disclosure. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0081] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0082] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.

[0083] In the embodiments provided in this disclosure, it should be understood that the disclosed devices / electronic devices and methods can be implemented in other ways. For example, the device / electronic device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. Multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0084] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0085] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0086] If an integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program may include computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. A computer-readable medium may include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in a computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in a jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0087] The above embodiments are only used to illustrate the technical solutions of this disclosure, and are not intended to limit it. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be included within the protection scope of this disclosure.

[0088] The above embodiments are only used to illustrate the technical solutions of this disclosure, and are not intended to limit it. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be included within the protection scope of this disclosure.

Claims

1. A method for generating a digital elevation model for an autonomous driving scenario, characterized in that, The method includes: Acquire point cloud data of the target work area of ​​the autonomous vehicle, and determine the planar position information and elevation value of multiple terrain points in the target work area based on the point cloud data; Based on the planar location information of each topographic point, the slice to which the corresponding topographic point belongs in a pre-divided set of slices is determined, and different slices correspond to different planar location ranges; A digital elevation model of the target work area is generated based on the elevation values ​​of each terrain point and the slice to which each terrain point belongs, and the digital elevation model is stored. The digital elevation model includes multiple slicing units, each corresponding to a slice, used to record the elevation values ​​of each topographic point in the corresponding slice; each slice is divided into multiple sub-slices according to the target resolution of the digital elevation model; the slicing unit is used to record the elevation values ​​of topographic points in each sub-slice of the corresponding slice line by line; wherein, the sub-slice to which a topographic point belongs is determined based on the planar position information of the topographic point, the planar position information of the feature points of the slice to which the topographic point belongs, and the target resolution of the digital elevation model; The storage order of elevation values ​​of each terrain point in the same slice unit is related to the position of each terrain point in its respective slice.

2. The method according to claim 1, characterized in that, The step of determining the slice to which a corresponding terrain point belongs among multiple pre-divided slices based on the planar location information of each terrain point includes: The slice to which the terrain point belongs is determined based on the planar position information of the terrain point, the planar position information of the preset reference point, and the size of each slice.

3. The method according to claim 1, characterized in that, Each slice unit records the planar position information of the feature points of the corresponding slice and the elevation values ​​of each terrain point in the corresponding slice.

4. The method according to claim 3, characterized in that, The planar position information of the feature points of the slice is determined based on the planar position information of the preset reference points, the position information of the slice in the multiple slices, and the size of each slice.

5. The method according to claim 1, characterized in that, The method further includes: Read the target slice unit of the digital elevation model; The sub-slice to which the target terrain point belongs is determined based on the recording order of the target terrain points in the target slice unit; Based on the sub-slice to which the target terrain point belongs, the planar position information of the feature points in the target slice unit, and the target resolution of the digital elevation model, the planar position information of the target terrain point is determined.

6. The method according to claim 1, characterized in that, The method further includes: Once updated point cloud data is collected, the slice to be updated to which the updated point cloud data belongs is determined, and the updated elevation values ​​of each terrain point in the slice to be updated are determined based on the updated point cloud data. Based on the updated elevation values ​​of each terrain point in the slice to be updated, the elevation values ​​in the slice units corresponding to the slice to be updated are updated.

7. The method according to claim 1, characterized in that, The method further includes: The original point cloud data of the target operation area is preprocessed to obtain the point cloud data; the preprocessing includes at least one of the following: voxelization filtering, noise filtering, and non-terrain point filtering.

8. The method according to claim 3, characterized in that, The method further includes: The elevation values ​​of multiple neighboring terrain points of a sub-slice's grid points are obtained; the grid points of the sub-slice are used to fit multiple terrain points in the sub-slice. The elevation values ​​of the multiple neighboring terrain points are fused to obtain the elevation value of the grid point.

9. A device for generating a digital elevation model for an autonomous driving scenario, characterized in that, The device includes: The first determining module is used to acquire point cloud data of the target work area of ​​the autonomous vehicle, and determine the planar position information and elevation value of multiple terrain points in the target work area based on the point cloud data. The second determining module is used to determine the slice to which the corresponding terrain point belongs among multiple pre-divided slices based on the planar position information of each terrain point. Different slices correspond to different planar position ranges. The storage module is used to generate a digital elevation model of the target operation area based on the elevation values ​​of each terrain point and the slice to which each terrain point belongs, and to store the digital elevation model. The digital elevation model includes multiple slicing units, each corresponding to a slice, used to record the elevation values ​​of each topographic point in the corresponding slice; each slice is divided into multiple sub-slices according to the target resolution of the digital elevation model; the slicing unit is used to record the elevation values ​​of topographic points in each sub-slice of the corresponding slice line by line; wherein, the sub-slice to which a topographic point belongs is determined based on the planar position information of the topographic point, the planar position information of the feature points of the slice to which the topographic point belongs, and the target resolution of the digital elevation model; The storage order of elevation values ​​of each terrain point in the same slice unit is related to the position of each terrain point in its respective slice.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method described in any one of claims 1 to 8.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method according to any one of claims 1 to 8.