Map updating method and device, electronic equipment and computer readable storage medium
By constructing and registering point cloud sets from different types of sensors, an optimized map is generated, which solves the offset problem in map updates and achieves high-precision update results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- DITU (BEIJING) TECH CO LTD
- Filing Date
- 2024-12-02
- Publication Date
- 2026-06-02
Smart Images

Figure CN122130052A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and more specifically to a map updating method, apparatus, electronic device, and computer-readable storage medium. Background Technology
[0002] In current high-precision map update algorithms, the data collection vehicles or LiDAR sensors used for map updates are consistent with those used in existing maps. However, with the continuous upgrading of LiDAR sensors and the expansion of operating areas leading to scenarios where multiple models of data collection vehicles coexist, the sensor requirements for data collection during map updates will inevitably affect the efficiency and scope of map updates. If different models of sensors are used directly for mapping, there will inevitably be a discrepancy between the mapping results of the new sensor and the existing maps for the same location, resulting in unsatisfactory map update results. Summary of the Invention
[0003] In view of this, the purpose of this invention is to provide a map update method that reduces map offset and optimizes map update results while updating the map based on new sensor data.
[0004] In a first aspect, embodiments of the present invention aim to provide a map updating method, the method comprising:
[0005] Get the update points from the cloud;
[0006] Obtain the initial point cloud set corresponding to the generated map. The updated point cloud set and the initial point cloud set are point cloud sets collected by different types of sensors.
[0007] Construct the first pose graph based on the update point set;
[0008] A second pose graph is constructed based on the initial point cloud set under the target form, wherein the target form is the data organization form of the point cloud in the updated point cloud set;
[0009] The nodes in the first pose graph are registered according to the second pose graph to generate the registered optimized graph;
[0010] The generated map is updated based on the optimized map to generate an updated map.
[0011] Further, the step of registering nodes in the first pose graph according to the second pose graph to generate a registered optimized graph includes:
[0012] Determine the existing nodes in the first pose graph;
[0013] Determine the first registration error of each existing node in the first pose graph and the second pose graph;
[0014] Determine the second registration error between adjacent nodes in the first pose graph;
[0015] Based on the first registration error and the second registration error, the nodes in the first pose graph are registered to generate the optimized graph after registration.
[0016] Furthermore, obtaining the initial point cloud corresponding to the generated map includes:
[0017] Retrieve map data from the generated map;
[0018] The map data is converted into a point cloud to generate the original point cloud set corresponding to the generated map;
[0019] Mine point clouds within the target geographic range from the original point cloud set to determine the corresponding initial point cloud set, where the target geographic range is the target geographic range covered by the updated point cloud set.
[0020] Furthermore, the acquisition of the update point cloud includes:
[0021] Acquire source points;
[0022] In response to the source point cloud set meeting preset requirements for coverage and / or data integrity, the source point cloud set is determined as the update point cloud set.
[0023] Furthermore, constructing the first pose graph based on the update point set includes:
[0024] The point cloud data in the updated point cloud set is processed based on laser odometry to determine the corresponding first pose.
[0025] Furthermore, the method also includes:
[0026] The updated map is then evaluated for quality.
[0027] Furthermore, the quality assessment of the updated map includes:
[0028] The updated map is evaluated for quality using a preset evaluation method, which includes at least one of a gradient calculation method and a map fuzziness detection algorithm.
[0029] Furthermore, the quality assessment of the updated map includes:
[0030] Road test simulations are performed using the map data from the updated map to determine the quality assessment results of the updated map based on the simulation results.
[0031] Secondly, embodiments of the present invention aim to provide a map updating device, the device comprising:
[0032] An acquisition unit is used to acquire an updated point cloud set and to acquire an initial point cloud set corresponding to the generated map, wherein the updated point cloud set and the initial point cloud set are point cloud sets collected by different types of sensors.
[0033] The construction unit is used to construct the first pose graph based on the set of update points;
[0034] An optimization unit is configured to construct a second pose graph based on the initial point cloud set under a target form, wherein the target form is the data organization form of the point cloud in the updated point cloud set; and to register the nodes in the first pose graph based on the second pose graph to generate a registered optimized graph.
[0035] The update unit is used to update the generated map according to the optimized map, and generate an updated map.
[0036] Thirdly, embodiments of the present invention aim to provide a computer program product, the computer program product including a computer program / instruction, which, when executed by a processor, implements the method described in any of the preceding claims.
[0037] Fourthly, embodiments of the present invention aim to provide an electronic device, including a memory and a processor, wherein the memory is used to store one or more computer program instructions, wherein the one or more computer program instructions are executed by the processor to implement the method as described in any of the preceding claims.
[0038] Fifthly, embodiments of the present invention aim to provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in any of the preceding claims.
[0039] The technical solution of this invention converts the data organization form of the initial point cloud set into the same target form as the data organization form of the updated point cloud set. A first pose map and a second pose map are constructed based on the updated point cloud set and the initial point cloud set under the same data organization form. The first pose map constructed based on the updated point cloud set is then registered using the second pose map constructed based on the initial point cloud set, generating a registered optimized map. The generated map is then updated based on the optimized map. This method can register point cloud data from different types of sensors and optimize the pose map corresponding to new types of sensors using graph optimization methods. While updating the generated map using new sensor data that differs from existing types, it also ensures that the map update accuracy based on new sensor data remains consistent with that of a single type of sensor, thereby reducing map offset during map updates and optimizing the map update results. Attached Figure Description
[0040] The above and other objects, features and advantages of the present invention will become clearer from the following description of embodiments of the invention with reference to the accompanying drawings, in which:
[0041] Figure 1 This is a flowchart of the map update method according to an embodiment of the present invention;
[0042] Figure 2 This is a flowchart illustrating the acquisition of the update point cloud in an embodiment of the present invention;
[0043] Figure 3 This is a flowchart of obtaining the initial point cloud according to an embodiment of the present invention;
[0044] Figure 4 This is a flowchart illustrating the generation of the optimization graph according to an embodiment of the present invention;
[0045] Figure 5 This is a schematic diagram of the map update process according to an embodiment of the present invention;
[0046] Figure 6 This is a schematic diagram illustrating the generation and updating of a map according to an embodiment of the present invention;
[0047] Figure 7 This is a schematic diagram of the graph optimization process according to an embodiment of the present invention;
[0048] Figure 8 This is a schematic diagram of a map updating device according to an embodiment of the present invention;
[0049] Figure 9 This is a schematic diagram of an electronic device according to an embodiment of the present invention. Detailed Implementation
[0050] The present application is described below based on embodiments, but it is not limited to these embodiments. In the detailed description of the present application below, certain specific details are described in detail. Those skilled in the art can fully understand the present application without these details. To avoid obscuring the substance of the present application, well-known methods, processes, flows, elements, and circuits are not described in detail.
[0051] Furthermore, those skilled in the art should understand that the accompanying drawings provided herein are for illustrative purposes only and are not necessarily drawn to scale.
[0052] Unless the context explicitly requires it, words such as "including" or "contains" throughout the application should be interpreted as including rather than exclusive or exhaustive; that is, meaning "including but not limited to".
[0053] In the description of this application, it should be understood that the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Furthermore, in the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0054] The solutions described in this specification and embodiments, if involving information acquisition, will collect data under legal and compliant conditions, ensuring the legality of the data source, and will take appropriate technical and management measures to ensure data security. If involving personal information processing, processing will be carried out under legal grounds (e.g., obtaining the consent of the personal information subject, or being necessary for contract performance), and will only be conducted within the prescribed or agreed scope. A user's refusal to process personal information beyond what is necessary for basic functions will not affect the user's use of basic functions.
[0055] In high-precision map updates, situations arise where different types of sensor data coexist. If sensor data of a different type than that used to generate the map is directly used to update the existing map, map shift and poor mapping quality will occur. Therefore, this invention aims to provide a map update method that, while updating the map based on novel sensor data of a different sensor type than that used in the generated map, reduces map shift and optimizes the map update effect.
[0056] Figure 1 This is a flowchart of a map update method according to an embodiment of the present invention. Figure 1 As shown, map updates are implemented in this embodiment using the following method.
[0057] In step S110, the update point cloud is obtained.
[0058] In this embodiment, when map features in an already generated map change, an updated point cloud set at the changed location is mined. The updated point cloud set can be a collection of point clouds collected by a LiDAR sensor from a road test vehicle. The point cloud data in the updated point cloud set is the mapping data to be used when updating the map, and the type of LiDAR sensor used to generate the updated point cloud set is different from the type of LiDAR sensor used when generating the already generated map. The point cloud data includes point cloud pose information, the number of points, point cloud distribution information (such as resolution, range, data organization form, etc.), and point cloud topology information.
[0059] Optionally, to further improve the accuracy of map updates, this embodiment uses methods such as... Figure 2 The method shown retrieves the update point cloud.
[0060] In step S210, the source point cloud is obtained.
[0061] In this embodiment, the source point cloud is the point cloud data corresponding to the map data to be built that is expected to be used for map updates when the generated map changes.
[0062] In step S220, it is determined whether the source point cloud meets the preset requirements.
[0063] Optionally, in this embodiment, the coverage, data integrity, and / or other attribute information of the source point cloud are verified by determining whether the source point cloud meets the preset requirements, so that a higher quality update point cloud that meets the preset requirements can be used to update the generated map in the future.
[0064] Furthermore, in this embodiment, when determining whether a source point cloud meets preset requirements, the coverage and / or data integrity of the source point cloud are assessed. Specifically, in this embodiment, point cloud trajectories are generated using point cloud data from the source point cloud according to the acquisition order of the point cloud frames. The source point cloud is then verified based on the coverage area and / or data continuity of the point cloud trajectory. If the point cloud trajectory covers a certain area and / or is continuous, the corresponding source point cloud is determined to meet the preset requirements. Conversely, if the coverage area of the point cloud trajectory is less than a certain area and / or the point cloud trajectory is discontinuous, the corresponding source point cloud is determined to not meet the preset requirements.
[0065] However, it should be understood that the attribute information of the source point cloud and the preset requirements corresponding to the attribute information used when verifying the source point cloud in this embodiment can be selected according to the actual application scenario. The example given here is only an example and does not limit the scope of the application.
[0066] In this embodiment, if the source point cloud meets the preset requirements based on the above method, step S230 is executed. If the source point cloud does not meet the preset requirements, step S210 is returned to execute, and the source point cloud is acquired again until the acquired source point cloud meets the preset requirements.
[0067] In step S230, in response to the source point cloud set's coverage and / or data integrity meeting preset requirements, the source point cloud set is determined as the update point cloud set, so as to update the generated map based on the update point cloud set.
[0068] In this embodiment, when the coverage and / or data integrity of the source point cloud meet preset requirements, it indicates that the source point cloud is of good quality and can pass the verification. At this time, the source point cloud is determined as the update point cloud and used for subsequent map updates.
[0069] Optionally, in this embodiment, after obtaining the update point cloud, in order to further improve the accuracy of subsequent map updates using the update point cloud, this embodiment will also perform preprocessing operations such as denoising, filtering, and downsampling on the update point cloud, and perform map updates based on the preprocessed update point cloud, so as to improve the efficiency and accuracy of subsequent processing.
[0070] In step S120, the initial point cloud set corresponding to the generated map is obtained, and the point cloud set and the initial point cloud set are updated to point cloud sets collected by different types of sensors.
[0071] In this embodiment, when the generated map changes, the initial point cloud corresponding to the generated map is obtained to update the map based on the map corresponding to the initial point cloud. Simultaneously, the update point cloud used for map updating and the initial point cloud used when generating the generated map are obtained through different types of sensors. For example, the initial point cloud obtained from a type A sensor is used to generate the generated map before the map update, and the update point cloud obtained from a type B sensor is used to update map features in some or all areas of the generated map. Therefore, this embodiment can use different types of sensor data to generate and update maps, facilitating timely map updates and improving map real-time performance.
[0072] Optionally, to improve the processing efficiency of map updates and the accuracy of the updated map, this embodiment uses a point cloud set with the same geographical coverage as the updated point cloud set to obtain the initial point cloud set corresponding to the generated map.
[0073] Figure 3 This is a flowchart illustrating the acquisition of the initial point cloud according to an embodiment of the present invention. For example... Figure 3 As shown, the method for obtaining the initial point cloud in this embodiment includes the following steps.
[0074] In step S310, the map data of the generated map is obtained.
[0075] In step S320, the map data is converted into a point cloud to generate the original point cloud set corresponding to the generated map.
[0076] In this embodiment, the map data for the generated map can be in formats such as Digital Elevation Model (DEM), vector map, and raster image. When converting the map data into a point cloud, corresponding tools or libraries can be used to parse the map data according to its format. For example, for vector map data, libraries such as Shapely can be used to read and process vector map data (Shapefile). Then, geographic coordinate information (such as longitude, latitude, and elevation) is extracted from the parsed map data. Finally, the extracted geographic coordinate information is converted into point cloud format, and the point cloud data is added to the original point cloud set for subsequent map updates. The data format of the point clouds in the original point cloud set is consistent with the data format of the point cloud data collected by the LiDAR sensor used to generate the map, thereby improving the reliability of the original point cloud set and enhancing the accuracy of the updated map.
[0077] In step S330, point clouds within the target geographic range are mined from the original point cloud set to determine the corresponding initial point cloud set. The target geographic range is the target geographic range covered by the updated point cloud set.
[0078] In this embodiment, since each point cloud in the original point cloud set has a represented geographical location, the geographical area covered by the point cloud in the original point cloud set is usually relatively large. When updating the map elements within the target geographical area based on the updated point cloud set corresponding to the target geographical area, this embodiment will mine the point cloud corresponding to the target geographical area from the original point cloud set according to the geographical region corresponding to the target geographical area, and generate the initial point cloud set corresponding to the target geographical area based on the mined point cloud.
[0079] In step S130, the first pose graph is constructed based on the update point cloud.
[0080] In this embodiment, the updated point cloud set typically includes multiple consecutive frames of point clouds, where each frame represents the dataset obtained by the LiDAR sensor after completing a full 360-degree scan. Optionally, when constructing the point cloud pose map based on the updated point cloud set, this embodiment can utilize a laser odometry to process the point cloud data in the updated point cloud set and determine the corresponding first pose map. The laser odometry can continuously record laser point cloud data during vehicle movement, and this data can be used to create high-precision maps. As the vehicle continues to move and data accumulates, the laser odometry can also be used for real-time map updates and optimization.
[0081] Specifically, feature points or feature regions are first extracted from the point cloud data of each frame within the updated point cloud set. Then, feature matching algorithms (such as ICP algorithm, NDT algorithm, etc.) are used to calculate the relative pose transformation between adjacent frames. The relative pose transformation is accumulated to obtain the absolute position (i.e., position and orientation in the world coordinate system) of each frame. After that, the pose of each frame is used as a node in the pose graph. Edges are added to the pose graph according to the pose constraints (i.e., relative pose relationships) between adjacent frames, and the weights of the edges are set. Finally, the first pose graph corresponding to the updated point cloud set is generated.
[0082] In step S140, a second pose graph is constructed based on the initial point cloud set in the target form, where the target form is the data organization form of the point cloud in the updated point cloud set.
[0083] In this embodiment, point cloud data can be represented in different data organization formats, each corresponding to a different point cloud arrangement. For example, it can be arranged in chronological order or by control position order. Different point cloud organization formats will affect the processing and analysis of the point cloud data. Therefore, when the data organization format of the initial point cloud set corresponding to the generated map differs from the data organization format of the updated point cloud set used when updating the map, this embodiment will convert the initial point cloud set from its existing data organization format to the target format to achieve accurate and effective map updates. This ensures that point cloud data under the same data organization format is used during map updates, avoiding map feature offsets caused by different data organization formats, which could lead to inaccurate map updates and poor map update results.
[0084] Furthermore, after converting the data organization form of the initial point cloud to generate the initial point cloud in the target form, this embodiment can use the same method as the aforementioned method for constructing the first pose graph to construct the second pose graph using the initial point cloud in the target form. The specific construction process has been described in the foregoing content and will not be repeated here.
[0085] In step S150, the nodes in the first pose graph are registered according to the second pose graph to generate the registered optimized graph.
[0086] In this embodiment, after constructing the first pose map based on the updated point cloud and the second pose map based on the initial point cloud under the target form, the nodes in the first pose map are registered according to the second pose map to generate a registered optimized map. Therefore, by optimizing the registration of the first pose map using the above method, this embodiment ensures that when updating the map based on the updated point cloud, there will be no misalignment or offset with the already generated map. This guarantees that the updated part of the map maintains the same accuracy as the existing part, improves the accuracy of the map update, and optimizes the map update effect.
[0087] Optionally, since map updates are performed on an already generated map, the nodes in the first pose map can be registered and optimized based on the deviation between the second pose map corresponding to the already generated map and the existing nodes representing the same map features in the first pose map; alternatively, the nodes in the second pose map can be registered and optimized based on the registration error between the existing nodes in the first pose map and the adjacent nodes in the second pose map, and an optimized map corresponding to the second pose map can be generated.
[0088] Figure 4 This is a flowchart illustrating the generation of the optimized graph according to an embodiment of the present invention. For example... Figure 4 As shown, in this embodiment, the optimized image after registration of the first pose image is generated using the following method.
[0089] In step S410, the existing nodes in the first pose graph are determined.
[0090] In this embodiment, the nodes shared by the first pose graph and the second pose graph are determined by the point cloud pose represented by the nodes, and the shared nodes are determined as existing nodes in the first pose graph.
[0091] In step S420, the first registration error of each existing node in the first pose and the second pose is determined.
[0092] Optionally, in this embodiment, the ICP algorithm is used to determine the first registration error of each existing node in the first pose and the second pose. The ICP algorithm, or Iterative Closest Point algorithm, optimizes the transformation matrix by continuously iterating through the nearest points to maximize the overlap between the two point clouds.
[0093] In calculating the first registration error, this embodiment first combines the same nodes in the first pose map and the second pose map to form corresponding point pair sets; then calculates the error between nodes in each point pair set based on the point cloud data of the nodes in the point pair set; finally, calculates the root mean square error (RMSE) corresponding to each error based on the error corresponding to each point pair set, and determines the root mean square error as the first registration error.
[0094] In step S430, the second registration error between adjacent nodes in the first pose graph is determined.
[0095] Optionally, in this embodiment, the ICP algorithm is used to determine the second registration error between adjacent nodes in the first pose image. When calculating the second registration error, a set of point pairs is formed using two adjacent nodes in the first pose image. The error between nodes in the corresponding point pair set is calculated based on the point cloud data of different nodes in each point pair set. Finally, the root mean square error (RMSE) of the error corresponding to each point pair set is calculated, and this RMSE is determined as the second registration error between adjacent nodes in the first pose image.
[0096] In step S440, the nodes in the first pose graph are registered according to the first registration error and the second registration error to generate the registered optimized graph.
[0097] In this embodiment, the purpose of registration is to merge point cloud data collected by different sensors into a unified coordinate system using a certain algorithm or method to form a complete data point cloud. Optionally, in this embodiment, the Ceres algorithm is used to register the nodes in the first pose map to generate a registered optimized map.
[0098] Specifically, after determining the first and second registration errors corresponding to the first pose graph, the Ceres algorithm is used to determine the overall registration error based on the first and second registration errors. The nodes in the first pose graph are then registered and corrected based on this overall registration error, thereby optimizing the first pose graph and generating the registered optimized graph. The calculation formula for the Ceres algorithm is as follows:
[0099]
[0100] Where f is the overall registration error; I pri Characterizing the first registration error; r pri Weights representing the first registration error; I odo Characterizing the second registration error; r odo The weights representing the second registration error; the function min() is used to adjust the node pose matrix ε of the point cloud data including all nodes in the first pose map so that the overall registration error value f reaches the minimum value.
[0101] In step S160, the generated map is updated based on the optimized map to generate an updated map.
[0102] In this embodiment, when generating an updated map based on the optimized map, the updated map can be generated using the corresponding map generation algorithm according to the format of the already generated map.
[0103] When generating the updated map, an empty map is first initialized based on the format of the already generated map. Then, each node and edge in the optimized map is traversed sequentially according to the node order. For each node, the corresponding area in the map is updated based on the node's point cloud data. For example, if the map format is raster, the raster state is updated; if the map format is feature map, feature points are added or updated. After traversing all nodes, the corresponding updated map is generated.
[0104] Optionally, to further improve the accuracy of map elements in the updated map, in this embodiment, when updating the generated map based on the optimized map corresponding to the update point cluster, other types of sensor data, such as environmental images, can also be used simultaneously to generate the updated map.
[0105] Optionally, to improve the quality of the updated map, this embodiment can optimize the generated updated map after it is generated, including smoothing the map, removing noise, filling holes, and other operations, so as to further improve the accuracy and usability of the updated map.
[0106] Optionally, in this embodiment, after generating the updated map, a quality assessment is performed on the updated map. Further, in this embodiment, the quality assessment of the updated map can be performed using a preset assessment method, which includes at least one of a gradient calculation method and a map fuzziness detection algorithm; alternatively, road tests and / or road test simulations can be performed using the map data of the updated map to determine the quality assessment result of the updated map based on the road test results and / or simulation results.
[0107] The technical solution of this invention converts the data organization form of the initial point cloud set into the same target form as the data organization form of the updated point cloud set. A first pose map and a second pose map are constructed based on the updated point cloud set and the initial point cloud set under the same data organization form. The first pose map constructed based on the updated point cloud set is then registered using the second pose map constructed based on the initial point cloud set, generating a registered optimized map. The generated map is then updated based on the optimized map. This method can register point cloud data from different types of sensors and optimize the pose map corresponding to new types of sensors using graph optimization methods. While updating the generated map using new sensor data that differs from existing types, it also ensures that the map update accuracy based on new sensor data remains consistent with that of a single type of sensor, thereby reducing map offset during map updates and optimizing the map update results.
[0108] Figure 5 This is a schematic diagram of the map update process according to an embodiment of the present invention. Figure 5 As shown, the map update process in this embodiment includes the following steps.
[0109] In step S510, automated data mining is performed.
[0110] In this embodiment, in response to changes in map features in the generated map, source point clouds of the changed target geographic area are automatically mined to update the map based on the point cloud data in the source point clouds. The type of LiDAR sensor used to generate the source point clouds is different from the type of LiDAR sensor used to generate the generated map.
[0111] In step S520, it is determined whether the preset requirements are met.
[0112] In this embodiment, the coverage and data integrity of the point cloud data in the source point cloud set are checked to determine whether the source point cloud set meets the preset requirements. If both the coverage and data integrity of the source point cloud set meet the preset requirements, the source point cloud set is determined to meet the preset requirements, and it is identified as the updated point cloud set, and step S540 is continued. If at least one of the coverage and data integrity of the source point cloud set does not meet the preset requirements, the source point cloud set is determined to not meet the preset requirements, and step S530 is continued.
[0113] In step S530, manual data mining is performed.
[0114] In this embodiment, when a source point cluster that meets the preset requirements is not found and the real-time requirements for map updates are high, manual data mining methods can be used to obtain an update point cluster that meets the preset requirements, so as to perform subsequent map updates based on the update point cluster.
[0115] In step S540, constraints are constructed.
[0116] In this embodiment, after obtaining the update point cloud set for map updating, the data organization of the point cloud data in the update point cloud set is referenced, and a single frame of point cloud data in the target format is virtually constructed based on the map data of the generated map. This is used for subsequent graph-based registration optimization. In other words, the process of constructing constraints involves referencing the data organization of the update point cloud set and, based on the map data of the generated map, virtually constructing point cloud data with a similar organization to the target format. The target format is the data organization of the point cloud in the update point cloud set; the point cloud data organization used when generating the generated map is different from the target format.
[0117] In step S550, the graph is optimized.
[0118] In this embodiment, after constructing point cloud data in a virtual target organization form based on the map data of the generated map, graph optimization is performed on the pose graph constructed by the updated point cloud set based on the virtual point cloud data to generate an updated map of the target geographic area.
[0119] Figure 6 This is a schematic diagram illustrating the generation and updating of a map according to an embodiment of the present invention; as shown below. Figure 6 As shown, the map update process in this embodiment includes the following steps.
[0120] In step S610, a first pose map is constructed based on the laser odometry.
[0121] In this embodiment, the update point cloud is processed based on the laser odometry, and the first pose map corresponding to the update point cloud is generated according to the acquisition order of each frame of point cloud in the update point cloud.
[0122] In step S620, the map data of the generated map is obtained.
[0123] In this embodiment, when the generated map changes, the map data of the generated map is obtained.
[0124] In step S630, the point cloud is transformed.
[0125] In this embodiment, after obtaining the map data of the generated map, the map data is parsed and processed according to the format of the map data, the map data is converted into point cloud data format, and the original point cloud set corresponding to the generated map is generated.
[0126] In step S640, the point cloud is segmented.
[0127] In this embodiment, the original point cloud set corresponding to the generated map is segmented according to the geographic grid, and the point cloud data corresponding to the target geographic range is mined from the segmented original dataset to generate the initial point cloud set corresponding to the target geographic range.
[0128] In step S650, a second pose graph is constructed.
[0129] In this embodiment, after obtaining the initial point cloud, the initial point cloud is first converted from its original data organization form to the same data organization form as the updated point cloud (i.e., the target form), and then the second pose graph is constructed using the initial point cloud in the target form.
[0130] In step S660, the nodes in the first pose graph are registered according to the second pose graph to optimize the first pose graph and generate an updated map.
[0131] Figure 7 This is a schematic diagram of the graph optimization process according to an embodiment of the present invention; as shown below. Figure 7 As shown, in this embodiment, when performing node registration and graph optimization on the first pose graph, the nodes common to the first pose graph and the second pose graph are first determined based on the point cloud pose represented by the nodes (such as...). Figure 7 The triangular and circular nodes in the same column shown are used to determine the edges of existing nodes in the first and second pose graphs using the ICP algorithm. Figure 7 The first registration error is corresponding to the map edge in the first pose graph; then the ICP algorithm is used to determine the edge of each adjacent node in the first pose graph (i.e., Figure 7The second registration error is corresponding to the continuous edges in the first pose graph; finally, the Ceres algorithm is used to register and correct the nodes in the first pose graph according to the first and second registration errors until the overall registration error is minimized, thereby optimizing the graph of the first pose graph and generating the registered optimized graph.
[0132] After generating the registered optimized map, the point cloud data in the optimized map is processed using the corresponding map generation algorithm according to the format of the generated map to generate the corresponding updated map.
[0133] In step S560, it is determined whether the quality inspection meets the requirements.
[0134] In this embodiment, after generating the updated map, the quality of the updated map is evaluated using a gradient calculation method and a map fuzziness detection algorithm to determine whether the quality of the updated map meets the requirements. If the quality of the updated map does not meet the requirements, i.e., the quality inspection does not meet the requirements, step S570 is executed. If the quality inspection meets the requirements, step S580 is executed.
[0135] In step S570, data repair is performed.
[0136] In this embodiment, when the quality inspection of the updated map generated based on the updated point cloud set fails to meet the requirements, point cloud data related to the target geographic area can be collected based on the same type of sensor used when the map was generated. The generated map can then be updated based on point cloud data in the same format as the generated map, thereby ensuring the map update efficiency and map real-time performance.
[0137] In step S580, it is determined whether the local simulation has passed.
[0138] In this embodiment, after the updated map meets the requirements, local road test simulation is performed using the updated map data in a simulated road test scenario to test indicators such as connectivity and convenience of the updated map, and to determine the corresponding simulation results. If the simulation results indicate that the connectivity and convenience of the updated map do not meet expectations, the local simulation is determined to have failed, and step S570 is executed. Conversely, if the simulation results indicate that the connectivity and convenience of the updated map meet expectations, the local simulation is determined to have passed, and step S580 is executed.
[0139] In step S590, it is determined whether the road test is passed.
[0140] In this embodiment, after the local simulation result of the updated map passes, it indicates that the updated map meets the actual road test requirements. The map data of the updated map can then be implanted into the road test vehicle for on-site road testing to verify the performance of the updated map. If the road test result is inconsistent with the local simulation result, it indicates that the road test has failed, and the process returns to step S570. Conversely, if the road test result is consistent with the local simulation result, it indicates that the road test has passed, and the process continues to step S5A0.
[0141] In step S5A0, update the map.
[0142] The technical solution of this embodiment updates the map using the method described above, enabling map updates to be achieved using point cloud data with a different data organization format than that used during map generation. Simultaneously, by constructing a second pose map using point cloud data corresponding to the generated map, and registering and optimizing the first pose map constructed based on the updated point cloud set according to the second pose map, map updates using point cloud data from different sources will not result in misalignment or offset with the already generated map, and the accuracy will remain consistent with the existing map, thereby improving the accuracy of map updates and optimizing the map update effect.
[0143] Figure 8 This is a schematic diagram of a map updating device according to an embodiment of the present invention. Figure 8 As shown, the map updating device in this embodiment includes an acquisition unit 81, a construction unit 82, an optimization unit 83, and an updating unit 84. The acquisition unit 81 is used to acquire an updated point cloud set and an initial point cloud set corresponding to the generated map. The updated point cloud set and the initial point cloud set are point cloud sets collected by different types of sensors. The construction unit 82 is used to construct a first pose map based on the updated point cloud set. The optimization unit 83 is used to construct a second pose map based on the initial point cloud set in a target form, where the target form is the data organization form of the point cloud in the updated point cloud set; and to register the nodes in the first pose map based on the second pose map to generate a registered optimized map. The updating unit 84 is used to update the generated map based on the optimized map to generate an updated map.
[0144] Optionally, in this embodiment, the acquisition unit 81, when acquiring the updated point cloud set, is specifically used to acquire the source point cloud set; in response to the source point cloud set's coverage and / or data integrity meeting preset requirements, the source point cloud set is determined as the updated point cloud set. When acquiring the initial point cloud set, map data of the generated map is acquired; point cloud conversion is performed on the map data to generate the original point cloud set corresponding to the generated map; point clouds within the target geographical range are mined from the original point cloud set to determine the corresponding initial point cloud set, where the target geographical range is the target geographical range covered by the updated point cloud set.
[0145] Optionally, in this embodiment, when constructing the first pose map based on the updated point cloud set, the construction unit 82 is also used to process the point cloud data in the updated point cloud set based on the laser odometry to determine the corresponding first pose map.
[0146] Optionally, in this embodiment, when generating the registered optimized map, the optimization unit 83 is further configured to: determine the existing nodes in the first pose graph; determine the first registration error of each existing node in the first pose graph and the second pose graph; determine the second registration error between adjacent nodes in the first pose graph; and register the nodes in the first pose graph according to the first registration error and the second registration error to generate the registered optimized map.
[0147] Optionally, the updating unit 84 in this embodiment is further configured to perform a quality assessment on the updated map after it has been generated. More specifically, the updating unit 84 is configured to perform a quality assessment on the updated map using a preset assessment method, which includes at least one of a gradient calculation method and a map fuzziness detection algorithm; and to perform road test simulations using the map data of the updated map to determine the quality assessment result of the updated map based on the simulation results.
[0148] Figure 9 This is a schematic diagram of an electronic device according to an embodiment of the present invention. (For example...) Figure 9 As shown, Figure 9 The illustrated electronic device is a general-purpose data processing device, comprising a general-purpose computer hardware architecture, including at least a processor 91 and a memory 92. The processor 91 and memory 92 are connected via a bus 93. The memory 92 is adapted to store instructions or programs executable by the processor 91. The processor 91 can be a standalone microprocessor or a collection of one or more microprocessors. Thus, the processor 91 executes the instructions stored in the memory 92, thereby performing the method flow of the embodiments of the present invention as described above to process data and control other devices. The bus 93 connects the aforementioned components together, and also connects these components to a display controller 94, a display device, and an input / output (I / O) device 95. The input / output (I / O) device 95 can be a mouse, keyboard, modem, network interface, touch input device, motion-sensing input device, printer, and other devices known in the art. Typically, the input / output device 95 is connected to the system via an input / output (I / O) controller 96.
[0149] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus (devices), or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0150] This application is described with reference to flowchart illustrations of methods, apparatus (devices), and computer program products according to embodiments of this application. It should be understood that each step in the flowchart can be implemented by computer program instructions.
[0151] These computer program instructions may be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including an instruction means, the implementation process of which is described in the instruction means. Figure 1 The function specified in one or more processes.
[0152] These computer program instructions may also be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing device, produce instructions for implementing processes. Figure 1 A device for a function specified in one or more processes.
[0153] Another embodiment of the present invention relates to a non-volatile storage medium for storing a computer-readable program for use by a computer to execute some or all of the above-described method embodiments.
[0154] That is, those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program specifying the relevant hardware. This program is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0155] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A map updating method, characterized in that, The method includes: Get the update points from the cloud; Obtain the initial point cloud set corresponding to the generated map. The updated point cloud set and the initial point cloud set are point cloud sets collected by different types of sensors. Construct the first pose graph based on the update point set; A second pose graph is constructed based on the initial point cloud set under the target form, wherein the target form is the data organization form of the point cloud in the updated point cloud set; The nodes in the first pose graph are registered according to the second pose graph to generate the registered optimized graph; The generated map is updated based on the optimized map to generate an updated map.
2. The method according to claim 1, characterized in that, The step of registering nodes in the first pose graph according to the second pose graph to generate a registered optimized graph includes: Determine the existing nodes in the first pose graph; Determine the first registration error of each existing node in the first pose graph and the second pose graph; Determine the second registration error between adjacent nodes in the first pose graph; Based on the first registration error and the second registration error, the nodes in the first pose graph are registered to generate the optimized graph after registration.
3. The method according to claim 1, characterized in that, The process of obtaining the initial point cloud corresponding to the generated map includes: Retrieve map data from the generated map; The map data is converted into a point cloud to generate the original point cloud set corresponding to the generated map; Mine point clouds within the target geographic range from the original point cloud set to determine the corresponding initial point cloud set, where the target geographic range is the target geographic range covered by the updated point cloud set.
4. The method according to claim 1, characterized in that, The acquired update point cloud includes: Source point aggregation; In response to the source point cloud set meeting preset requirements for coverage and / or data integrity, the source point cloud set is determined as the update point cloud set.
5. The method according to claim 1, characterized in that, The step of constructing the first pose graph based on the update point set includes: The point cloud data in the updated point cloud set is processed based on laser odometry to determine the corresponding first pose.
6. The method according to claim 1, characterized in that, The method further includes: The updated map is then evaluated for quality.
7. The method according to claim 1, characterized in that, The quality assessment of the updated map includes: The updated map is evaluated for quality using a preset evaluation method, which includes at least one of a gradient calculation method and a map fuzziness detection algorithm.
8. The method according to claim 1, characterized in that, The quality assessment of the updated map includes: Road test simulations are performed using the map data from the updated map to determine the quality assessment results of the updated map based on the simulation results.
9. A map updating device, characterized in that, The device includes: An acquisition unit is used to acquire an updated point cloud set and to acquire an initial point cloud set corresponding to the generated map, wherein the updated point cloud set and the initial point cloud set are point cloud sets collected by different types of sensors. The construction unit is used to construct the first pose graph based on the set of update points; An optimization unit is configured to construct a second pose graph based on the initial point cloud set under a target form, wherein the target form is the data organization form of the point cloud in the updated point cloud set; and to register the nodes in the first pose graph based on the second pose graph to generate a registered optimized graph. The update unit is used to update the generated map according to the optimized map, and generate an updated map.
10. A computer program product, characterized in that, The computer program product includes a computer program / instruction that, when executed by a processor, implements the method of any one of claims 1-8.
11. An electronic device comprising a memory and a processor, characterized in that, The memory is used to store one or more computer program instructions, wherein the one or more computer program instructions are executed by the processor to implement the method of any one of claims 1-8.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of any one of claims 1-8.