Elevation data optimization method, apparatus, and computer program product

By extracting skeleton points from road data, constructing an objective function, and solving it based on constraints, the elevation values ​​are optimized, solving the problems of discontinuity and insufficient logical consistency of existing elevation data, and improving the smoothness and consistency of high-precision maps.

CN122364337APending Publication Date: 2026-07-10AUTONAVI SOFTWARE CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
AUTONAVI SOFTWARE CO LTD
Filing Date
2026-03-24
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

Existing methods for generating elevation data are highly dependent on GNSS signals, resulting in discontinuous data, insufficient logical consistency, and difficulties in fusion and edge processing of multiple data passes, thus failing to meet the requirements of smoothness, continuity, and global consistency for high-precision maps.

Method used

By extracting skeleton point data from road data, constructing an objective function and solving it based on constraints, the elevation values ​​are optimized. This includes constructing a graph network to characterize differences in elevation-related indicators and employing sparse matrix iterative solution techniques to ensure that the elevation data conforms to the physical laws of the real environment.

Benefits of technology

It effectively optimized elevation data, improved the quality of high-precision maps, ensured the smoothness, continuity and logical consistency of data, solved the problems of data discontinuity and topological contradictions, and improved the overall consistency of high-precision maps.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122364337A_ABST
    Figure CN122364337A_ABST
Patent Text Reader

Abstract

This application discloses an elevation data optimization method, apparatus, and computer program product. The specific implementation scheme is as follows: Data of skeleton points in roads is extracted from road data, including initial elevation values; an objective function is constructed based on the skeleton point data, representing the differences in elevation-related indicators of skeleton points with specified positional relationships; the objective function is solved based on constraints to obtain the optimized elevation values ​​of the skeleton points, where the constraints indicate limitations on the differences. This scheme can transform the elevation constraints existing between skeleton points in the real environment into mathematical constraints, thereby solving for elevation data that satisfies the constraints, achieving effective optimization of elevation data, overcoming the defects existing in the original elevation data, and improving the quality of high-precision maps.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of map data technology, and in particular to methods, apparatus and computer program products for optimizing elevation data. Background Technology

[0002] High-precision maps are a key technology for achieving high-precision navigation, providing road geometry, topology, and semantic information with centimeter-level accuracy.

[0003] Elevation data of roads is one of the core data of roads in high-precision maps. It is crucial for accurate vehicle positioning and route planning. For example, based on elevation data, complex road conditions such as uphill and downhill slopes, bridges, and tunnels can be accurately perceived.

[0004] The methods for generating elevation data in related technologies have some inherent defects that affect the quality of high-precision maps. Summary of the Invention

[0005] This application provides a method, apparatus, and computer program product for optimizing elevation data.

[0006] This application provides the following solution: According to the first aspect, a method for optimizing elevation data is provided, the method comprising: Extract data of skeleton points from road data. The data of skeleton points includes the initial elevation value. An objective function is constructed based on the data of skeleton points with specified positional relationships. The objective function is used to characterize the differences in elevation-related indicators of skeleton points with specified positional relationships. The objective function is solved based on the constraints to obtain the optimized elevation values ​​of the skeleton points. The constraints represent the constraint relationships of the elevation-related indices of the skeleton points with specified positional relationships.

[0007] As an optional approach, the objective function includes at least one of a first objective function, a second objective function, and a third objective function; The first objective function is used to characterize the slope difference between connected skeleton points, the difference in the rate of change of slope between connected skeleton points, and the sum of the actual height difference between connected skeleton points. The constraint condition corresponding to the first objective function is: to minimize the sum of the slope difference, the slope change rate difference, and the actual height difference; The second objective function is used to characterize the height difference between skeleton points located in two adjacent road layers and whose projections overlap; The constraint condition corresponding to the second objective function is: the height difference between skeleton points located on two adjacent road layers and whose projections overlap is not less than the first preset height difference; The third objective function is used to characterize the height difference between skeleton points located on the same road surface; The constraint condition corresponding to the third objective function is: the height difference between skeleton points located on the same road surface is not greater than the second preset height difference.

[0008] As an optional approach, the objective function includes a first objective function, and the constraints also include specifying that the elevation of a skeleton point in the skeleton points is its initial elevation value. The objective function is then solved based on these constraints, including: Substitute the elevation values ​​of the specified skeleton points into the first objective function to obtain the optimized first objective function; The optimized first objective function is solved based on the first constraint condition.

[0009] As an optional approach, the objective function includes a first objective function, a second objective function, and a third objective function. The objective function is solved based on constraints, including: The second objective function is solved based on the second constraint, and the third objective function is solved based on the third constraint to obtain the target elevation value; Based on the target elevation value, calculate the slope change of the upper skeleton point and the slope change of the lower skeleton point among the skeleton points located in two adjacent road layers with overlapping projections. The tensile strength is determined based on the slope changes of the upper and lower skeleton points. Remove the first objective function corresponding to the skeleton point whose stretch does not meet the preset value requirement, and solve the remaining first objective function based on the first constraint condition.

[0010] As an alternative approach, the above methods also include: A graph network is constructed based on the data of skeleton points. The graph network uses skeleton points as nodes and the connections between skeleton points as edges. The graph network is used to determine skeleton points that have a specified positional relationship.

[0011] As an optional approach, data on skeleton points in the road are extracted from the road data, including: Extract skeleton line data from road data; Data extraction of skeleton points based on skeleton lines.

[0012] As an alternative approach, the above methods also include: Based on the optimized elevation values, map elements in the high-precision map are assigned values ​​to generate the high-precision map.

[0013] As an optional approach, the objective function can be solved based on constraints, including: Based on the constraints, the objective function is transformed into a sparse matrix, and the sparse matrix is ​​solved iteratively.

[0014] According to a second aspect, an elevation data optimization device is provided, the device comprising: The skeleton point extraction module is used to extract skeleton point data from road data. The skeleton point data includes the initial elevation value. The objective function construction module is used to construct an objective function based on the data of skeleton points with a specified positional relationship. The objective function is used to characterize the differences in elevation-related indicators of skeleton points with a specified positional relationship. The solver module is used to solve the objective function based on constraints to obtain the optimized elevation values ​​of the skeleton points. The constraints represent the constraint relationships of elevation-related indices of skeleton points with specified positional relationships.

[0015] According to a third aspect, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the steps of the above-described elevation data optimization method.

[0016] According to the specific embodiments provided in this application, the following technical effects are disclosed: In this application, data on skeleton points in roads are extracted from road data. An objective function representing the differences in elevation-related indicators is constructed based on this skeleton point data. The objective function is then solved based on constraints to obtain the optimized elevation values ​​of the skeleton points. This scheme transforms the elevation constraints between skeleton points existing in the real environment into mathematical constraints, thereby solving for elevation data that satisfies these real-world constraints. This achieves effective optimization of the elevation data, overcomes the deficiencies of the original elevation data, and improves the quality of high-precision maps.

[0017] Of course, any product implementing this application does not necessarily need to achieve all of the advantages described above at the same time. Attached Figure Description

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

[0019] Figure 1 This is a system architecture diagram applicable to the embodiments of this application.

[0020] Figure 2 This is a flowchart illustrating the elevation data optimization method provided in an embodiment of this application.

[0021] Figure 3 This is a schematic diagram of the distribution of skeleton points with a hierarchical relationship provided in an embodiment of this application.

[0022] Figure 4 This is a schematic diagram of the distribution of skeleton points with a hierarchical relationship provided in an embodiment of this application.

[0023] Figure 5 This is a schematic diagram illustrating the optimized road effect provided in an embodiment of this application.

[0024] Figure 6 , Figure 7 These are schematic flowcharts illustrating a specific implementation of the method provided in the embodiments of this application.

[0025] Figure 8 This is a schematic diagram of the elevation data optimization device provided in an embodiment of this application.

[0026] Figure 9 A schematic block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0027] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.

[0028] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.

[0029] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0030] Depending on the context, the word "if" as used here can be interpreted as "when," "when," "in response to determination," or "in response to detection." Similarly, depending on the context, the phrase "if determination" or "if detection (of the stated condition or event)" can be interpreted as "when determination," "in response to determination," "when detection (of the stated condition or event)," or "in response to detection (of the stated condition or event)."

[0031] In related technologies, the acquisition of elevation data largely relies on a combined navigation system of Global Navigation Satellite System-Real-time Kinematic (GNSS-RTK) and Inertial Measurement Unit (IMU). This system uses GNSS to provide position, RTK technology for differential correction to improve accuracy, and the IMU to perform dead reckoning when GNSS signals are interrupted. This process yields the three-dimensional coordinates of the high-precision map acquisition vehicle's trajectory, thus obtaining the elevation data.

[0032] The elevation data obtained using the above method has the following drawbacks: (1) It is highly dependent on GNSS signals and has the problem of data discontinuity. When in areas such as tunnels, cities, canyons, and tall trees, GNSS signals are lost or weakened. During the GNSS failure period, relying solely on IMU for dead reckoning will produce errors that accumulate over time, causing the elevation values ​​of the trajectory to drift or exhibit unreasonable jumps, which disrupts the spatial continuity of elevation data and makes it impossible for the elevation data generated in the obscured area to transition smoothly, which is inconsistent with the actual physical world.

[0033] (2) Lack of logical consistency guarantee, which easily leads to topological contradictions. When solving elevation data, the above methods rely heavily on traditional data fusion algorithms (such as Kalman filtering). These data fusion algorithms pursue mathematical extrema or idealized solutions too much, but do not fully consider the inherent spatial logical rules of the road network. This may lead to logical errors in the topological relationships of the generated elevation data. For example, the elevation value of the road under the bridge may be higher than that of the road on the bridge surface due to data errors, or there may be unreasonable jumps in the elevation values ​​of adjacent lanes.

[0034] (3) Difficulty in fusing and stitching multiple data sets. The generation of high-precision maps requires the fusion of multiple data sets collected at different times and by different devices. Due to variations in atmospheric conditions, receiver status, and other factors, the elevation values ​​calculated from different batches of GNSS-RTK data may have systematic deviations of several centimeters to tens of centimeters. If the data is stitched together directly, obvious "seams" or elevation discontinuities will be generated at the boundaries of different data blocks, which will destroy the global consistency and flatness of the entire map data.

[0035] Therefore, the elevation data generated based on the above method is insufficient in terms of smoothness, continuity, logical consistency and global consistency, and cannot meet the requirements of high-precision maps.

[0036] In view of this, this application provides a new approach. To facilitate understanding of this application, the system architecture on which this application is based is first described. For example... Figure 1 The diagram shows an exemplary system architecture that can be applied to embodiments of this application, such as... Figure 1 As shown, the system architecture may include: a server-side component and a user-side component running on a user terminal.

[0037] The server-side and the client-side are the two main components of an application service. The server-side uses a server as its primary hardware infrastructure and can include one or more software service modules. The client-side can be a client application, a mini-program, or a web application running through a browser.

[0038] The user terminal can include, but is not limited to, smart mobile terminals, wearable devices, and PCs (Personal Computers). Smart mobile devices can include smartphones, tablets, PDAs (Personal Digital Assistants), and connected car terminals. Wearable devices can include smartwatches, smart glasses, smart bracelets, VR (Virtual Reality) devices, AR (Augmented Reality) devices, and mixed reality devices (devices that support both virtual and augmented reality), etc.

[0039] A server can be a standalone server, a server cluster, or a cloud server. A cloud server, also known as a cloud computing server or cloud host, is a hosting product within the cloud computing service system, designed to address the shortcomings of traditional physical hosts and Virtual Private Servers (VPS) services, such as high management difficulty and weak service scalability.

[0040] As an alternative approach, the server can execute the elevation data optimization method provided in this application to obtain optimized elevation values, thereby creating a high-precision map based on these values. The user client can request high-precision map data from the server during navigation to obtain high-precision navigation.

[0041] It should be understood that, Figure 1 The number of servers, clients, and user terminals shown is merely illustrative. Depending on implementation needs, there can be any number of servers, clients, and user terminals.

[0042] Figure 2 This is a flowchart of an elevation data optimization method provided in an embodiment of this application. The method can be... Figure 1 The server-side execution in the system shown. For example... Figure 2 As shown, the method may include the following steps: Step S210: Extract the data of the skeleton points in the road from the road data. The data of the skeleton points includes the initial elevation value. Step S220: Construct an objective function based on the data of the skeleton points. The objective function is used to characterize the differences in elevation-related indicators of skeleton points with a specified positional relationship. Step S230: Solve the objective function based on the constraints to obtain the optimized elevation values ​​of the skeleton points, wherein the constraints are used to indicate the limiting conditions of the differences.

[0043] As can be seen from the above process, this application extracts data of skeleton points in road data, constructs an objective function representing the differences in elevation-related indicators based on the data of skeleton points with specified positional relationships, and solves the objective function based on constraints to obtain the optimized elevation values ​​of the skeleton points. In this scheme, by constructing an objective function for skeleton points with specified positional relationships and solving the objective function based on constraints, the elevation constraints between skeleton points in the real environment can be transformed into mathematical constraints, thereby solving for elevation data that meets the elevation constraints in the real environment. This achieves effective optimization of elevation data, overcomes the deficiencies of the original elevation data in terms of data smoothness, continuity, and logical rationality, and improves the quality of high-precision maps.

[0044] The following describes in detail each step of the above process and the effects that can be further produced, with reference to the embodiments.

[0045] First, the above step S210, namely "extracting data of skeleton points in the road from the road data, the data of the skeleton points including the initial elevation value;", will be described in detail with reference to the embodiments.

[0046] Road data, used to describe roads in high-precision maps, is a complex dataset containing road geometry, topology, and semantic information.

[0047] For example, road data can be generated based on data collected by a specialized data acquisition vehicle equipped with multiple sensors. This vehicle can integrate devices such as a Global Navigation Satellite System (GNSS), an Inertial Measurement Unit (IMU), a LiDAR (Light Detection and Ranging) system, and a high-resolution camera. The GNSS / IMU combination provides centimeter-level vehicle positioning and attitude measurement, while the LiDAR scans the environment by emitting laser beams to generate a high-density 3D point cloud, accurately recording the spatial position of the road and surrounding objects. The camera simultaneously captures panoramic images for identifying and labeling semantic information such as traffic signs and lane lines. Road data is generated by processing the data collected by these systems. In this example, the data collected by the multiple sensors can be pre-aligned before being used to generate road data to ensure its accuracy.

[0048] For example, skeleton point data can be extracted from road data of a specific geographical area (such as a city or region) for subsequent elevation value optimization. Alternatively, a specific geographical area (such as a city or region) can be divided into grids according to predetermined rules, and skeleton point data can be extracted from road data of the corresponding area of ​​each grid for subsequent elevation value optimization.

[0049] In this embodiment, skeleton points can be understood as points extracted from the skeleton lines of a road, which can reflect the geometric shape and topological relationship of the road.

[0050] For example, skeleton lines can be extracted based on a preset skeleton point extraction algorithm, or the centerline of the road can be used as the skeleton line, and skeleton points can be extracted from the skeleton line. For instance, skeleton points can be extracted from the skeleton line at preset distance intervals. Furthermore, for some key points, such as the projection overlap points of multi-level roads and road nodes, skeleton points can be added at the locations of these key points.

[0051] For example, the data for skeleton points may include longitude, latitude, and elevation values. The data for skeleton points may also record their connections to adjacent skeleton points, providing a basis for subsequent analysis of the positional relationships of the skeleton points.

[0052] Road data contains road surface elevation values, and the elevation values ​​of the skeleton points directly extracted from the road data can be recorded as the initial elevation values. The initial elevation values ​​are directly inherited from the elevation data in the road data, which will have the aforementioned shortcomings in smoothness, continuity, logical consistency, and global consistency.

[0053] The following describes in detail step S220, namely "constructing an objective function based on the data of skeleton points, wherein the objective function is used to characterize the difference in elevation-related indicators of skeleton points with a specified positional relationship", with reference to the embodiments.

[0054] Among them, elevation-related indicators refer to indicators that are related to elevation values ​​and are used to describe the spatial relationship of skeleton points at the elevation level. Elevation-related indicators can include elevation values, slope, slope change rate, etc.

[0055] The specified positional relationship refers to the specific three-dimensional spatial relationship between skeleton points, such as connection relationship, upper and lower layer relationship, same layer relationship, etc. Skeleton points with specified positional relationships must meet specific elevation constraints, that is, the elevation-related indicators must meet certain difference restrictions.

[0056] The objective function is a mathematical expression that represents the difference between elevation-related indicators of skeleton points. For example, for skeleton points located on the same road surface, the objective function can be used to describe the difference in elevation values ​​of different skeleton points on the same road surface.

[0057] The following describes in detail step S230, namely, "solving the objective function based on constraints to obtain the optimized elevation values ​​of the skeleton points, wherein the constraints are used to indicate the limiting conditions of the differences," with reference to the embodiments.

[0058] Constraints are used to constrain the differences in elevation-related indices between skeleton points with specified positional relationships in a real-world 3D spatial environment. This transforms real-world elevation constraints into numerical constraints in mathematical equations. Different constraints can be matched to different specified positional relationships. For example, if the specified positional relationships include connectivity, hierarchical relationships, and same-level relationships, corresponding constraints can be configured for skeleton points with these relationships to provide limitations on the differences in their elevation-related indices.

[0059] In this embodiment, solving the objective function based on constraints abstracts the complex road elevation optimization problem into a process of solving the objective function under constraints. By using the elevation values ​​of the skeleton points in the objective function as the solution target, elevation data that satisfies the physical laws of the real environment can be obtained, thus achieving optimization of the elevation data.

[0060] In this scheme, by constructing an objective function and solving the objective function based on constraints, the elevation constraints between skeleton points in the real environment can be transformed into mathematical constraints, so that the solved elevation values ​​satisfy the elevation constraints in the real environment, thereby ensuring the logical consistency of the elevation data and avoiding topological contradictions.

[0061] In this scheme, the objective function uses the elevation values ​​of global skeleton points as the solution variable to achieve global modeling. This modeling method can ensure that the optimization is not a local or scattered patching, but a global coordinated optimization, thereby solving the aforementioned problems of multi-pass data fusion and edge processing difficulties, and effectively ensuring the global consistency of elevation data.

[0062] In one optional embodiment of this application, the constraints include a first constraint, and a first objective function is used to characterize the minimization of the sum of the slope difference between skeleton points indicating a connection relationship, the slope change rate difference between skeleton points indicating a connection relationship, and the actual height difference between skeleton points indicating a connection relationship.

[0063] The specified positional relationships can include the connection relationships between skeleton points, that is, two adjacent skeleton points on the route. The first constraint condition can limit the sum of the slope difference, slope change rate difference, and actual height difference of skeleton points with connection relationships.

[0064] The slope difference between connected skeleton points indicates the smoothness of the road; the smaller the slope difference, the smoother the road. In elevation optimization, the goal is to minimize the slope difference to ensure road smoothness.

[0065] The difference in the rate of change of slope between connected skeleton points indicates how fast or slow the road slope changes; the smaller the difference in the rate of change of slope, the slower the road slope changes. In elevation optimization, the goal is to minimize the rate of change of slope difference to ensure the smoothness and continuity of the road.

[0066] The actual height difference reflects the deviation between the optimized elevation value and the initial measured elevation value. It represents the fidelity of the optimization result to the original data. The actual height difference can be understood as a fidelity term, preventing the optimization process from completely deviating from the actual measurement data in pursuit of excessive smoothness, and ensuring that the final result still maintains practical accuracy.

[0067] In the first constraint, by constraining the slope difference and slope change rate difference between skeleton points with connection relationships, the continuity and smoothness of the skeleton points can be guaranteed to meet the requirements. However, if the continuity and smoothness of the skeleton points are pursued blindly, it will cause too much difference from the real environment. Therefore, the actual height difference can be introduced as a fidelity constraint to avoid too much difference between the optimized elevation value and the real environment, and to ensure the high confidence of the optimized elevation value.

[0068] In this embodiment, the objective function is solved by minimizing the sum of the slope difference, the slope change rate difference, and the actual height difference. This allows for the determination of the comprehensive optimized elevation value while ensuring continuity and smoothness, taking into account the differences from the real environment.

[0069] For example, the first number of constraint conditions can be represented by the following formula 1.

[0070] ;(Formula 1); in, The weights corresponding to the slope difference. The weights corresponding to the differences in slope change rates. The weights corresponding to the actual height differences. , The initial elevation values ​​are given for three consecutive skeleton points, and d represents the distance between adjacent skeleton points. In this example, the distance between adjacent skeleton points can be considered the same to reduce the amount of computation. After indicating The adjusted elevation value obtained after solving.

[0071] In one optional embodiment of this application, the constraints are further used to indicate that the elevation value of a specified skeleton point in the skeleton points is its initial elevation value, and the objective function is solved based on the constraints, including: Substitute the elevation values ​​of the specified skeleton points into the objective function to obtain the optimized objective function; The optimized objective function is solved based on the first constraint condition.

[0072] The specified skeleton point can be a skeleton point with a high confidence level in elevation value. The elevation value of the specified skeleton point can be used as an anchor point and substituted into the objective function. Then, the objective function optimized based on the anchor point can be solved based on the first constraint condition to reduce the number of variables, simplify the amount of calculation during the solution, and increase the accuracy of the solved elevation value.

[0073] For example, the specified skeleton point may include a skeleton point with a high confidence elevation value collected in an open area with high GNSS signal quality, or it may include a skeleton point within an adjacent map tile that has already undergone elevation value optimization, such as a skeleton point at the edge of an adjacent map tile.

[0074] In one optional embodiment of this application, the constraint conditions include a second constraint condition, or include both a second constraint condition and a third constraint condition; The second constraint condition is used to indicate that the height difference between the skeleton points located on the upper and lower levels of the road is not less than the first preset height difference; The third constraint condition is used to indicate that the height difference between skeleton points on the same level road is not greater than the second preset height difference.

[0075] The specified positional relationship can include the relationship between skeleton points located on the upper and lower layers of the road, that is, there is an upper and lower layer relationship. The upper and lower layer relationship means that the skeleton points are located on the upper and lower layers respectively and are vertically opposite each other, such as the skeleton points in the road above the bridge and the skeleton points in the road below the bridge that are vertically opposite each other.

[0076] In this embodiment of the application, the second constraint condition is used to constrain the height difference between skeleton points with upper and lower layer relationships to be no less than the first preset height difference, so as to ensure the logical consistency of the elevation data and avoid logical errors (such as the height of the interval between the upper and lower road layers being too large or too small).

[0077] The specified positional relationship can also include the relationship between skeleton points located on the same road surface, that is, the same layer relationship.

[0078] It should be noted that the same-layer relationship in this case can cover all structured elements belonging to the same road, such as lanes in the same direction, lanes in different directions, lane surfaces, and curbs (roadside stones). The skeleton points located at these structured elements all fall within the scope of the same-layer relationship.

[0079] Skeleton points located on the same road surface generally maintain a stable and reasonable height difference in their planes. Therefore, by constraining the height difference between skeleton points with the same layer relationship to not exceed the second preset height difference through the third constraint condition, unreasonable jumps in elevation values ​​can be avoided, thus ensuring the logical consistency of elevation data.

[0080] It should be noted that the terms "first" and "second" used in this disclosure do not have any restrictions on size, order, or quantity; they are merely used to distinguish between two different constraints, such as "first constraint" and "second constraint."

[0081] It is understandable that, in addition to the connection relationship, hierarchical relationship, and same-level relationship mentioned above, there may be other types of specified positional relationships. For example, specified positional relationships may also include spatial proximity relationship, trend consistency relationship, etc.

[0082] Spatial proximity relationship refers to the relationship between any two skeleton points that are less than a preset distance threshold. The constraint condition configured for spatial proximity relationship can be that the elevation difference between skeleton points with spatial proximity relationship is less than a third preset height difference, that is, constraining spatially adjacent points to have similar elevation values, thereby ensuring that the local road area has elevation consistency or continuity.

[0083] Trend consistency refers to the relationship where skeleton points share the same road change trend, such as skeleton points being on a downhill or uphill road. The constraint for trend consistency can be that the elevation changes between skeleton points with a trend consistency relationship should be consistent with the road change trend. For example, for a continuous downhill road with a gradient of -3%, all skeleton points on this road share this downhill trend, and the gradient is constant. A linear equation can be constructed to represent the downhill trend of the road, with the constraint that the elevation values ​​of all skeleton points on the downhill road should satisfy this linear equation.

[0084] In one optional embodiment of this application, solving the objective function based on constraints includes: The objective function is solved based on the second constraint, or based on both the second and third constraints, to obtain the target elevation value. Based on the target elevation value, the stretching degree corresponding to the skeleton points located in the upper and lower layers of the road is determined. The stretching degree is used to represent the degree of deformation of the skeleton points located in the upper and lower layers of the road after optimization by the second constraint condition or the second and third constraint conditions. Remove the second constraint on skeleton points whose stretching does not meet the preset value requirement, and solve the objective function based on the first constraint.

[0085] In this embodiment, the constraints may specifically include a first constraint, a second constraint, and a third constraint; that is, the objective function is solved under the constraints of the first, second, and third constraints. Alternatively, the constraints may specifically include a first constraint and a second constraint; that is, the objective function is solved under the constraints of the first and second constraints. Solving the objective function based on multiple constraints enables multiple optimizations of the elevation value.

[0086] When the skeleton points with hierarchical relationships are too densely distributed in a short local road segment, it will result in too many layers of constraints, leading to abnormal slope.

[0087] Figure 3 This is a schematic diagram of the distribution of skeleton points with a hierarchical relationship provided in an embodiment of this application.

[0088] like Figure 3 In the road segment shown in (3a), there are three groups of skeleton points with upper and lower layer relationships, namely a1 and a2, b1 and b2, and c1 and c2. The skeleton points with upper and lower layer relationships in this road segment are too dense, which leads to abnormal road slope after the elevation value is optimized based on the constraints of these skeleton points, such as the abnormal slope of the upper road in (3a).

[0089] In response to the above situation, if the constraints on these skeletal points that cause abnormal slopes can be removed, the overall rationality of the slope can be maintained. For example... Figure 3 As shown in (3b), after removing a1 and a2, c1 and c2, the slope of the upper road can be made reasonable.

[0090] In view of the above, this application provides a method for removing constraints on skeleton points with abnormal slopes from the skeleton points of the upper and lower layer relationships during the elevation optimization process, as follows: First, the objective function can be solved based on the second constraint, or the objective function can be solved based on the second and third constraints to obtain the target elevation value. That is, the elevation value of the skeleton point can be optimized based on the elevation constraints of the upper and lower roads or the elevation constraints of the upper and lower roads and the same level roads.

[0091] Then, based on the target elevation value, the stretching degree corresponding to the skeleton points located in the upper and lower layers of the road can be determined. The stretching degree is used to represent the degree of deformation of the skeleton points located in the upper and lower layers of the road after optimization by the second constraint condition or the second and third constraint conditions.

[0092] When the stretching does not meet the preset value requirement, it indicates that the change in slope between the upper and lower road layers at that skeleton point is abnormal and no longer in line with reality. In this case, the second constraint condition on the skeleton point where the stretching does not meet the preset value requirement can be removed to ensure the rationality of the optimization.

[0093] For example, the preset value requirement is that the stretching degree is greater than a preset value (e.g., greater than 0). Figure 4 This is a schematic diagram of the distribution of skeleton points with an upper and lower layer relationship provided in an embodiment of this application. The upper layer road includes skeleton points A, E, and B, and the lower layer road includes skeleton points C, F, and D. When the stretching is greater than 0, it indicates that the slope of the upper and lower layers of road at points E and F is in an abnormally "contracted" state, which is clearly not consistent with reality.

[0094] After removing the second constraint on the skeleton points whose stretching does not meet the preset value requirement, the remaining first objective function can be solved based on the first constraint.

[0095] In this scheme, by optimizing based on the second constraint, the stretching degree between skeleton points with upper and lower layer relationships is determined, and some optimization results with obviously abnormal slopes and inconsistent with reality are removed based on the stretching degree. This can ensure the accuracy of the elevation value and reduce the amount of computation when solving the objective function.

[0096] Furthermore, considering that adjusting elevation values ​​based on the smoothness constraints of connected skeleton points will smooth the slope of each skeleton point, affecting the accuracy of the stretching calculation and making it impossible to effectively remove skeleton points with abnormal stretching, the above method first optimizes the elevation values ​​of skeleton points based on the elevation constraints of upper and lower level roads and the same level roads, then calculates the stretching and removes the constraints of skeleton points with abnormal stretching. Finally, the elevation value is adjusted based on the smoothness constraints of connected skeleton points to ensure the accuracy of the stretching calculation and the effective removal of skeleton points with abnormal stretching, thereby improving the optimization effect of the elevation values.

[0097] In one optional embodiment of this application, determining the stretching corresponding to the skeleton points located on the upper and lower road layers based on the target elevation value includes: Based on the target elevation value, calculate the slope change of the upper skeleton point and the slope change of the lower skeleton point among the skeleton points of the upper and lower roads. The tensile strength is determined based on the slope changes of the upper and lower skeleton points.

[0098] After calculating the target elevation value, the slope changes of the upper and lower skeleton points in adjacent road layers with overlapping projections can be calculated based on this elevation value. The stretching degree is then determined based on these slope changes. The stretching degree represents the slope change at skeleton points with an upper-lower relationship after elevation adjustment. For example, the difference between the slope changes of the upper and lower skeleton points can be used to determine the stretching degree.

[0099] For example, Figure 4 This is a schematic diagram illustrating the optimized road effect provided in an embodiment of this application.

[0100] Without removing constraints from skeleton points with abnormal slopes in the upper and lower layer skeleton points, the road optimization effect is as follows: Figure 4 As shown in (4a), excessive constraints lead to abnormal road slopes after optimization.

[0101] After removing constraints from skeleton points with abnormal slopes in the upper and lower layer relationships, the road optimization effect is as follows: Figure 4 As shown in (4b), the road slope has been restored to a reasonable level.

[0102] This application provides a method for removing constraints on skeleton points with abnormal slopes from the skeleton points of the upper and lower layer relationships during the elevation optimization process. It can be seen that removing excessive constraints can ensure the rationality of the optimized road slope.

[0103] In one optional embodiment of this application, constructing an objective function based on the data of the skeleton points includes: A graph network is constructed based on the data of skeleton points. The graph network uses skeleton points as nodes and the connection relationships between skeleton points as edges. Construct the objective function based on the graph network.

[0104] One approach is to construct a graph network based on skeleton points. This graph network uses skeleton points as nodes and the connections between skeleton points as edges. It provides a global model of skeleton points and can serve as a data model representing the data and topological relationships of skeleton points in a road.

[0105] In this scheme, the complex road network is transformed into a graph network. This graph network clearly encodes the spatial adjacency and topological connectivity of road elements, thereby facilitating the rapid acquisition of the relationships between the skeleton points based on the graph network to construct the objective function.

[0106] In one optional embodiment of this application, extracting skeleton point data from road data includes: Extract skeleton line data from road data; Data extraction of skeleton points based on skeleton lines.

[0107] Road data typically includes complete data describing the road surface. Skeleton lines can be extracted from the road data to achieve a route-based representation of the road.

[0108] For example, a skeleton line extraction algorithm can be used to extract the skeleton line, or the center line of the road can be used as the skeleton line.

[0109] After determining the skeleton points, skeleton points can be extracted from the skeleton lines to represent the skeleton lines.

[0110] For example, skeleton points can be extracted from the skeleton line at preset distance intervals. Simultaneously, for some key points, such as the projection overlap points of multi-level roads, road nodes, etc., skeleton points can be added at the locations of these key points.

[0111] In one alternative embodiment of this application, the above method further includes: Based on the optimized elevation values, map elements in the high-precision map are assigned values ​​to generate the high-precision map.

[0112] Map elements can include ground elements, such as lane lines, lane center lines, and lane directional arrows, as well as aerial elements, such as signs.

[0113] After solving for the optimized elevation values ​​of each skeleton point, the elevation values ​​of the skeleton points can be used as elevation benchmarks, spread out, and assigned to the relevant map elements.

[0114] For example, for a ground guide arrow located between two adjacent skeleton points, the elevation value of the ground guide arrow can be determined by linear interpolation based on the distance between the ground guide arrow and the two adjacent skeleton points.

[0115] In this scheme, by using the optimized elevation value as a benchmark to uniformly assign values ​​to map elements in the road, the accuracy and rationality of the elevation of the high-precision map can be ensured, thereby guaranteeing the quality of the high-precision map.

[0116] In one optional embodiment of this application, solving the objective function based on constraints includes: Based on the constraints, the objective function is transformed into a sparse matrix, and the sparse matrix is ​​solved iteratively.

[0117] In this embodiment of the application, considering the sparsity of data in the elevation optimization scenario, when solving the objective function based on constraints, sparse matrix technology can be used to convert the objective function into a sparse matrix based on constraints, and Cholesky decomposition can be used for iterative solution, thereby achieving efficient iterative solution and improving computational efficiency.

[0118] The proposed solution uses a method to solve the objective function that transforms the complex constrained optimization problem into a sparse linear matrix problem that is more suitable for computation. This approach can effectively balance computational efficiency and solution accuracy when dealing with large-scale, high-dimensional optimization problems, thereby achieving good optimization results.

[0119] For example, Figure 6 , Figure 7 These are schematic flowcharts illustrating a specific implementation of the method provided in the embodiments of this application.

[0120] like Figure 6 As shown, multi-source data acquisition includes RTK data, IMU data, and point cloud data. After subsequent processing, road data can be obtained based on the acquired multi-source data, and the data of skeleton points can be extracted.

[0121] Constructing a multi-dimensional self-consistent constraint model involves creating an objective function and adding constraints for the skeleton points of a specified relationship. Constraints can be set based on continuity, smoothness, up / down movement (i.e., upper and lower layers), parallel paths on the same layer (i.e., same layer), fixed anchor points (i.e., skeleton points at specified locations), etc.

[0122] Global optimization and Z-value reconstruction involve solving the objective function based on constraints. During the solution process, the objective function can be transformed into a sparse matrix based on the constraints, and then Cholesky decomposition is used for iterative solving. For skeleton points with abnormal stretching (i.e., not meeting preset numerical conditions), i.e., skeleton points with abnormal slope, their relevant constraints can be removed.

[0123] After solving the target matrix and obtaining the optimized elevation of the skeleton points, elevation values ​​can be assigned to lane lines, ground markings (such as ground directional arrows), and aerial markings (such as signs) to generate a high-precision map.

[0124] like Figure 7 As shown, road skeleton data can be input to construct a graph network.

[0125] For any point, construct constraints such as vertical, same layer, slope, and slope change rate. That is, for skeleton points in the graph network that have specified relationships, construct an objective function and add constraints.

[0126] The constraints are transformed into Compressed Column Storage (CCS) and passed to the sparse matrix. Compressed Column Storage is a data organization method that stores data from the same column contiguously in a database or data warehouse and applies efficient compression algorithms. The objective function under the constraints is converted into a sparse matrix using Compressed Column Storage.

[0127] The sparse matrix is ​​regularized into a pseudo-inverse expression, and then iteratively solved after Cholesky decomposition. In other words, the sparse matrix is ​​regularized into a pseudo-inverse expression, and then iteratively solved using Cholesky decomposition.

[0128] Whether the skeleton points are in an unreasonable "stretched state", that is, whether there are skeleton points whose stretching does not meet the preset value conditions, or whether there are skeleton points with abnormal slope.

[0129] Remove skeleton point constraints with abnormal stretching, that is, remove the first objective function corresponding to skeleton points whose stretching does not meet the preset numerical conditions, and then solve the remaining first objective function.

[0130] Output the skeleton Z, which is the final optimized elevation value.

[0131] The methods provided in this application embodiment can be applied to various application scenarios, including but not limited to: elevation data optimization in high-precision map production.

[0132] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0133] According to another embodiment, an elevation data optimization device is provided. Figure 8 A schematic block diagram of the elevation data optimization apparatus according to one embodiment is shown, the apparatus being disposed in... Figure 1 The server side in the illustrated architecture. For example... Figure 6 As shown, the elevation data optimization device 800 includes: The skeleton point extraction module 810 is used to extract data of skeleton points in the road from road data. The data of the skeleton points includes the initial elevation value. The objective function construction module 820 is used to construct an objective function based on the data of the skeleton points. The objective function is used to characterize the difference in elevation-related indicators of skeleton points with a specified positional relationship. The solver module 830 is used to solve the objective function based on the constraints to obtain the optimized elevation values ​​of the skeleton points. The constraints are used to indicate the limitations of the differences.

[0134] As an alternative, the constraint condition includes a first constraint condition, which is used to indicate that the sum of the slope difference between the connected skeleton points, the slope change rate difference between the connected skeleton points, and the actual height difference between the connected skeleton points should be minimized.

[0135] As an optional approach, the constraint condition is also used to indicate that the elevation value of a specified skeleton point among the skeleton points is its initial elevation value. When solving the objective function based on the constraint condition, the solution module 830 is specifically used to: Substitute the elevation values ​​of the specified skeleton points into the objective function to obtain the optimized objective function; The optimized objective function is solved based on the first constraint.

[0136] As an alternative, the constraint condition includes a second constraint condition, or includes both the second constraint condition and a third constraint condition; The second constraint condition is used to indicate that the height difference between the skeleton points located on the upper and lower levels of the road is not less than the first preset height difference; The third constraint condition is used to indicate that the height difference between the skeleton points on the same level road is not greater than the second preset height difference.

[0137] As an optional method, when solving the objective function based on the constraints, the solver module 830 is specifically used for: The objective function is solved based on the second constraint, or the objective function is solved based on the second and third constraints to obtain the target elevation value; Based on the target elevation value, the stretching degree corresponding to the skeleton point located in the upper and lower layers of the road is determined. The stretching degree is used to represent the degree of deformation of the skeleton point located in the upper and lower layers of the road after optimization by the second constraint condition or the second constraint condition and the third constraint condition. Remove the second constraint on the skeleton points where the stretching does not meet the preset value requirement, and solve the objective function based on the first constraint.

[0138] As an optional approach, when determining the stretching corresponding to the skeleton points located on the upper and lower road layers based on the target elevation value, the solver module 830 is specifically used for: Based on the target elevation value, calculate the slope change of the upper skeleton point and the slope change of the lower skeleton point among the skeleton points located on the upper and lower layers of the road. The tensile strength is determined based on the slope changes of the upper and lower skeleton points.

[0139] As an optional approach, the objective function construction module 820, when constructing the objective function based on the skeleton point data, is specifically used for: A graph network is constructed based on the data of the skeleton points, wherein the graph network uses the skeleton points as nodes and the connection relationships between the skeleton points as edges. Construct the objective function based on the graph network.

[0140] As an optional method, when solving the objective function based on constraints, the solver module 830 is specifically used for: Based on the constraints, the objective function is transformed into a sparse matrix, and the sparse matrix is ​​solved iteratively.

[0141] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for system or system embodiments, since they are basically similar to method embodiments, the description is relatively simple, and relevant parts can be referred to the descriptions in the method embodiments. The systems and system embodiments described above are merely illustrative. 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 modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0142] In addition, embodiments of this application also provide a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of any of the methods in the foregoing method embodiments.

[0143] And an electronic device, comprising: One or more processors; and A memory associated with one or more processors, the memory being used to store program instructions that, when read and executed by one or more processors, perform the steps of any of the methods in the foregoing method embodiments.

[0144] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the methods in the foregoing method embodiments.

[0145] in, Figure 9 An exemplary architecture of an electronic device is shown, which may include a processor 910, a video display adapter 911, a disk drive 912, an input / output interface 913, a network interface 914, and a memory 920. The processor 910, video display adapter 911, disk drive 912, input / output interface 913, network interface 914, and memory 920 can communicate with each other via a communication bus 930.

[0146] The processor 910 can be implemented using a general-purpose CPU, microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits to execute relevant programs in order to implement the technical solution provided in this application.

[0147] The memory 920 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 920 can store the operating system 921 for controlling the operation of the electronic device 900, and the basic input / output system (BIOS) 922 for controlling the low-level operations of the electronic device 900. Additionally, it can store a web browser 923, a data storage management system 924, and an elevation data optimization device 925, etc. The aforementioned elevation data optimization device 925 can be the application program that specifically implements the aforementioned steps in this embodiment. In summary, when the technical solution provided in this application is implemented through software or firmware, the relevant program code is stored in the memory 920 and is called and executed by the processor 910.

[0148] Input / output interface 913 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touch screens, microphones, various sensors, etc., and output devices may include displays, speakers, vibrators, indicator lights, etc.

[0149] Network interface 914 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0150] Bus 930 includes a pathway for transmitting information between various components of the device, such as processor 910, video display adapter 911, disk drive 912, input / output interface 913, network interface 914, and memory 920.

[0151] It should be noted that although the above-described device only shows the processor 910, video display adapter 911, disk drive 912, input / output interface 913, network interface 914, memory 920, bus 930, etc., in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the solution of this application, and does not necessarily include all the components shown in the figures.

[0152] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer program product. This computer program product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods of various embodiments or some parts of the embodiments of this application.

[0153] The technical solutions provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A method for optimizing elevation data, characterized in that, include: Extract data of skeleton points in the road from the road data, the data of which includes the initial elevation value; An objective function is constructed based on the data of the skeleton points. The objective function is used to characterize the differences in elevation-related indicators of the skeleton points that have a specified positional relationship. The objective function is solved based on the constraints to obtain the optimized elevation values ​​of the skeleton points. The constraints are used to indicate the limitations on the differences.

2. The method according to claim 1, characterized in that, The constraints include a first constraint, which indicates that the sum of the slope difference between connected skeleton points, the slope change rate difference between connected skeleton points, and the actual height difference between connected skeleton points should be minimized.

3. The method according to claim 2, wherein the constraint condition is further used to indicate that the elevation value of a specified skeleton point among the skeleton points is its initial elevation value, and the step of solving the objective function based on the constraint condition includes: Substitute the elevation values ​​of the specified skeleton points into the objective function to obtain the optimized objective function; The optimized objective function is solved based on the first constraint.

4. The method according to claim 2 or 3, characterized in that, The constraint conditions include a second constraint condition, or include both the second constraint condition and a third constraint condition; The second constraint condition is used to indicate that the height difference between the skeleton points located on the upper and lower levels of the road is not less than the first preset height difference; The third constraint condition is used to indicate that the height difference between the skeleton points on the same level road is not greater than the second preset height difference.

5. The method according to claim 4, characterized in that, Solving the objective function based on constraints includes: The objective function is solved based on the second constraint, or the objective function is solved based on the second and third constraints to obtain the target elevation value; Based on the target elevation value, the stretching degree corresponding to the skeleton point located in the upper and lower layers of the road is determined. The stretching degree is used to represent the degree of deformation of the skeleton point located in the upper and lower layers of the road after optimization by the second constraint condition or the second constraint condition and the third constraint condition. Remove the second constraint on the skeleton points where the stretching does not meet the preset value requirement, and solve the objective function based on the first constraint.

6. The method according to claim 5, characterized in that, Determining the stretching corresponding to the skeleton points located on the upper and lower road layers based on the target elevation value includes: Based on the target elevation value, calculate the slope change of the upper skeleton point and the slope change of the lower skeleton point among the skeleton points located on the upper and lower layers of the road. The tensile strength is determined based on the slope changes of the upper and lower skeleton points.

7. The method according to any one of claims 1-3, characterized in that, The construction of the objective function based on the data of the skeleton points includes: A graph network is constructed based on the data of the skeleton points, wherein the graph network uses the skeleton points as nodes and the connection relationships between the skeleton points as edges. Construct the objective function based on the graph network.

8. The method according to any one of claims 1-3, characterized in that, Solving the objective function based on constraints includes: Based on the constraints, the objective function is converted into a sparse matrix, and the sparse matrix is ​​solved iteratively.

9. A height data optimization device, characterized in that, include: The skeleton point extraction module is used to extract data of skeleton points in the road from road data. The data of the skeleton points includes the initial elevation value. The objective function construction module is used to construct an objective function based on the data of the skeleton points. The objective function is used to characterize the differences in elevation-related indicators of the skeleton points that have a specified positional relationship. The solution module is used to solve the objective function based on the constraints to obtain the optimized elevation values ​​of the skeleton points, wherein the constraints are used to indicate the limitations of the differences.

10. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the steps of the method according to any one of claims 1-8.