CN112559664A - Method, device, equipment and storage medium for updating map data - Google Patents

Method, device, equipment and storage medium for updating map data Download PDF

Info

Publication number
CN112559664A
CN112559664A CN202011487435.5A CN202011487435A CN112559664A CN 112559664 A CN112559664 A CN 112559664A CN 202011487435 A CN202011487435 A CN 202011487435A CN 112559664 A CN112559664 A CN 112559664A
Authority
CN
China
Prior art keywords
pose
nodes
map data
node
pose nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011487435.5A
Other languages
Chinese (zh)
Inventor
王民康
王飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN202011487435.5A priority Critical patent/CN112559664A/en
Publication of CN112559664A publication Critical patent/CN112559664A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The present disclosure relates to a method, apparatus, device, and storage medium for updating map data. The method described herein includes determining a first set of pose nodes in first map data and a second set of pose nodes adjacent to the first set of pose nodes in second map data, each pose node being indicative of position information and pose information. The method further includes determining respective distances between the first set of pose nodes and the second set of pose nodes based on the position information indicated by the first set of pose nodes and the second set of pose nodes, and adjusting the second set of pose nodes based on the determined respective distances, resulting in an adjusted second set of pose nodes. The method also includes updating the second map data with the first set of pose nodes and the adjusted second set of pose nodes. With this arrangement, the quality of the updated map data can be ensured.

Description

Method, device, equipment and storage medium for updating map data
Technical Field
The present disclosure relates generally to the field of maps, and more particularly, to methods, apparatuses, devices, and computer-readable storage media for updating map data.
Background
Map data, particularly high-precision point cloud maps, are commonly used in application scenarios such as object perception, automatic driving, and the like. Map data for a particular geographic area may be collected by way of laser scanning. For point cloud maps, the map data may be represented as a pose graph that includes a series of pose nodes, each pose node indicating position information and pose information. With the change of the geographic environment, the existing map data may need to be updated by the newly acquired map data to ensure the freshness of the map data, so that a better basis can be provided for other applications on the upper layer, such as positioning and perception applications. Due to the complexity of the point cloud, consistency of pose nodes in the overall map data needs to be ensured when the old map data is updated with the new map data.
Disclosure of Invention
According to some embodiments of the present disclosure, a scheme for updating map data is provided.
In a first aspect of the present disclosure, a method of updating map data is provided. The method includes determining a first set of pose nodes in first map data and a second set of pose nodes adjacent to the first set of pose nodes in second map data, each pose node indicating position information and pose information; determining respective distances between the first set of pose nodes and the second set of pose nodes based on the position information indicated by the first set of pose nodes and the second set of pose nodes; adjusting the second set of pose nodes based on the determined corresponding distances to obtain an adjusted second set of pose nodes; and updating the second map data with the first set of pose nodes and the adjusted second set of pose nodes.
In a second aspect of the present disclosure, an apparatus for updating map data is provided. The device includes: a pose node determination module configured to determine a first set of pose nodes in the first map data and a second set of pose nodes adjacent to the first set of pose nodes in the second map data, each pose node indicating position information and pose information; a distance determination module configured to determine respective distances between the first set of pose nodes and the second set of pose nodes based on the position information indicated by the first set of pose nodes and the second set of pose nodes; a pose node adjustment module configured to adjust a second set of pose nodes based on the determined respective distances, resulting in an adjusted second set of pose nodes; and a map data update module configured to update the second map data with the first set of pose nodes and the adjusted second set of pose nodes.
In a third aspect of the present disclosure, there is provided an electronic device comprising one or more processors and memory for storing computer-executable instructions for execution by the one or more processors to implement a method according to the first aspect of the present disclosure.
In a fourth aspect of the present disclosure, a computer-readable storage medium is provided having computer-executable instructions stored thereon, wherein the computer-executable instructions, when executed by a processor, implement a method according to the first aspect of the present disclosure.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the disclosure, nor is it intended to be used to limit the scope of the disclosure.
Drawings
Features, advantages and other aspects of exemplary embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. Several embodiments of the present disclosure are illustrated herein by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which:
FIG. 1 illustrates a block diagram of an example environment in which embodiments of the present disclosure can be implemented;
FIG. 2 illustrates a flow diagram of a process of updating map data, according to some embodiments of the present disclosure;
FIG. 3 illustrates a flow diagram of a process of clearing overlapping pose nodes, according to some embodiments of the present disclosure;
4A and 4B illustrate examples of poses corresponding to example pose nodes, according to some embodiments of the present disclosure;
fig. 5 illustrates a flow diagram of a process of pose node adjustment according to some embodiments of the present disclosure;
FIG. 6 illustrates a block diagram of an apparatus for updating map data, in accordance with some embodiments of the present disclosure; and
FIG. 7 illustrates a block diagram of an electronic device in which one or more embodiments of the disclosure may be implemented.
Detailed Description
Some example embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The term "include" and variations thereof as used herein is meant to be inclusive in an open-ended manner, i.e., "including but not limited to". Unless specifically stated otherwise, the term "or" means "and/or". The term "based on" means "based at least in part on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first," "second," and the like may refer to different or the same object. Other explicit and implicit definitions are also possible below.
FIG. 1 illustrates a block diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. As shown in FIG. 1, environment 100 includes a map acquisition device 110 and a map processing device 120. It should be understood that the description of the structure and function of environment 100 is for exemplary purposes only and does not imply any limitation as to the scope of the disclosure. For example, embodiments of the present disclosure may also be applied to environments other than environment 100.
The map acquisition device 110 may move along a certain trajectory to acquire map data. The map capture device 110 may include, but is not limited to, a capture cart or other device for capturing map data. For example, a lidar may be mounted on the map acquisition device 110 for acquiring data for a particular geographic area. Map capture device 110 may move within a particular geographic area during a capture period (e.g., daytime) to capture data used to make a map. Data collected by lidar and like devices is sometimes referred to as "point cloud data". The "point cloud data" as referred to herein refers to data information of respective points of an object surface returned when a laser beam is irradiated on the object surface, including coordinate information of each point (for example, coordinate values in a three-dimensional coordinate system) and a laser reflection intensity (also referred to as a "reflection value").
The map acquisition device 110 may generate first map data 115 (also referred to as a "point cloud map" or a "high precision map") about a particular geographic area based on the acquired data. Although only a single entity is shown, multiple map-capture devices may be utilized to travel within a particular geographic area to obtain the first map data 115. In acquiring the first map data 115, the map acquisition device 110 may not traverse the entire geographic area, but rather some of the geographic areas.
The first map data 115 may be provided to the map processing device 120 as newly acquired map data for updating existing map data for a particular geographic area, such as the second map data 140 stored in the data block 130. At the time of map data update, it is desirable to incorporate a data portion of the first map data 115 that can reflect the update into the second map data 140. Such an update may be, for example, the appearance or removal of new roads, landmarks, ground landmarks, etc. in the geographic area, or the expansion of the coverage area of the second map data 140.
The first map data 115 and the second map data 140 may be composed of a plurality of pose (position) nodes. Each pose node may indicate respective position information and pose information. The location information may include coordinate information of the geospatial point, which may include, for example, longitude, latitude, and altitude coordinates of the geospatial point. The attitude information is used to indicate an attitude of a map acquisition device (e.g., the map acquisition device 110 of the first map data 115) when performing corresponding map data acquisition, and may include angular information such as yaw (yaw), pitch (pitch), and roll (roll), among others.
In some embodiments, each pose node in the first map data 115 and the second map data 140 is also associated with a corresponding set of point clouds that includes surrounding point cloud data perceived at the position and pose indicated by the pose node. In some examples, each pose node in the first map data 115 and the second map data 140 may also be associated with other information, including velocity information, acceleration information, temperature information, etc., which may be sensed by respective types of sensors.
In some embodiments, the first map data 115 and the second map data 140 may be represented as a pose graph (position graph), respectively. The pose graph can be obtained by performing front-stage processing of synchronous positioning and mapping (SLAM) on the raw data acquired by the map acquisition device. Pose nodes can be considered as vertices in the pose graph, and different pose nodes can be connected by corresponding edges, each edge representing a constraint between connected pose nodes.
The updated second map data 145 obtained by the map processing device 120 after performing the update can comprehensively reflect the current state of the specific geographic area. The updated second map data 145 may be provided back to the database 130 for subsequent use, such as in positioning, perception, etc. tasks for a particular geographic area.
In a conventional map data updating process, it is mainly considered that a new pose node is identified from newly acquired map data for adding to existing map data, and pose nodes (including position information and attitude information) that need to be retained in the existing map data remain unchanged. However, such addition may cause the added pose node to be inconsistent with the existing pose node, resulting in poor quality of the updated map data.
Embodiments of the present disclosure propose a scheme for updating map data. In this scheme, the first map data is to be used to update the second map data. A second set of pose nodes adjacent to the first set of pose nodes in the first map data is determined from the second map data. The first set of pose nodes are new pose nodes to the second map data, and the second set of pose nodes can be considered a buffer area in the second map data adjacent to the first set of pose nodes to be used for updating. The second set of pose nodes is adjusted based on respective distances between the first set of pose nodes and the second set of pose nodes to achieve optimization of the second set of pose nodes. Updating the second map data with the first set of pose nodes and the adjusted second set of pose nodes.
According to the scheme, in the process of updating the map data, besides the pose node to be updated, the pose node of the buffer area in the existing map data is adjusted, so that the consistency of the newly added pose node and the existing pose node in the updated map data can be ensured, and the quality of the updated map data is ensured.
Some example embodiments of the disclosure will now be described with continued reference to the accompanying drawings.
Fig. 2 shows a schematic diagram of a process 200 for updating map data, according to some embodiments of the present disclosure. For ease of discussion, the process of updating map data is discussed with reference to FIG. 1. The process 200 may be performed, for example, at the map processing device 120 shown in fig. 1. It should be understood that process 200 may also include blocks not shown and/or may omit blocks shown. The scope of the present disclosure is not limited in this respect.
At block 210, the mapping device 120 determines a first set of pose nodes in the first map data 115 and a second set of pose nodes in the second map data 140 that are adjacent to the first set of pose nodes. As mentioned above, the first map data 115 and the second map data 140 may be constituted by pose nodes. Each pose node indicates position information and pose information. In some embodiments, the first map data 115 and the second map data 140 may be represented in the form of a pose graph that includes a plurality of pose nodes and edge connections between the pose nodes. In some embodiments, each pose node may also be associated with a respective point cloud set.
In an embodiment of the present disclosure, the first map data 115 is used to update the second map data 140. In some embodiments, the first map data 115 includes new map data collected in the target geographic area. For example, in the environment of fig. 1, the first map data 115 may be new map data collected by the map collection device 110. In some embodiments, the first map data 115 may include new map data collected over at least a portion of the target geographic area covered by the second map data 140 to update the ground conditions over the portion. In some embodiments, the first map data 115 may include new map data collected outside of the target geographic area covered by the second map data 140 in order to extend the coverage of the second map data 140.
In some embodiments, if it is determined that the first map data 115 is more "fresh" map data than the second map data 140 (e.g., map data collected after the second map data 140), the map processing device 120 may perform data cleansing of the second map data 140 based on the first map data 115. The data cleaning includes deleting the pose node overlapping the pose node in the first map data 115 from the second map data 140, resulting in the adjusted second map data 140. The data cleansing performed on the second map data 140 will be discussed in more detail below with reference to FIG. 3. After performing the data cleansing, all the pose nodes in the first map data 115 may be considered as newly added pose nodes with respect to the adjusted second map data 140, and may be determined as a so-called first set of pose nodes for incorporation into the adjusted second map data 140. Thus, the first set of pose nodes may sometimes be referred to as "newly added pose nodes".
In the second map data 140, or in embodiments where data cleansing is performed, in the adjusted second map data 140, a second set of pose nodes may be determined that are adjacent to the first set of pose nodes in the first map data 115. The second set of pose nodes may be determined based on distances from the first set of pose nodes, for example may include pose nodes having distances from one or more of the first set of pose nodes less than a predetermined threshold distance. The second set of pose nodes may be considered to be a buffered geographic area located near the area where the map data update occurred. Thus, the second set of pose nodes may sometimes be referred to as "buffered pose nodes". As will be discussed in detail below, during a map data update, the second set of pose nodes may be adjusted according to the distance from the first set of pose nodes. In addition to the second set of pose nodes, the second map data 140 or other pose nodes in the adjusted second map data 140 obtained in the data cleansing may not change, and these pose nodes may be referred to as fixed pose nodes.
At block 220, the mapping device 120 determines respective distances between the first set of pose nodes and the second set of pose nodes based on the position information indicated by the first set of pose nodes and the second set of pose nodes. For each pose node in the second set of pose nodes, a distance between the pose node and each pose node in the first set of pose nodes may be calculated. In some embodiments, the distance between two pose nodes may include a distance between two points in a three-dimensional spatial coordinate system of position information (e.g., longitude, latitude, and altitude) of the two pose nodes. In some cases, the height information may also be omitted when determining the distance.
At block 230, the mapping device 120 adjusts the second set of pose nodes based on the determined respective distances, resulting in an adjusted second set of pose nodes. For each pose node in the second set of pose nodes, its distance from the first set of pose nodes indicates the degree to which the pose node may be affected or constrained by the first set of pose nodes. Based on such distance information, the second set of pose nodes may be adjusted such that consistency between the second set of pose nodes and the first set of pose nodes is maintained.
In some embodiments, for each pose node in the second set of pose nodes, its distance from the first set of pose nodes may be considered in performing pose constraints, such embodiments being discussed in further detail below with reference to fig. 5.
At block 240, the map processing device 120 updates the second map data 140 with the first set of pose nodes and the adjusted second set of pose nodes, resulting in updated second map data 145. Since the second set of pose nodes in the second map data 140 have been adjusted with respect to the first set of pose nodes, this avoids pose node consistency deviations, allows consistency between pose nodes in the updated second map data, and improves the quality of the map data.
In the updated second map data 145, the original second set of pose nodes is replaced by the adjusted second set of pose nodes. Further, the first set of pose nodes may be added to the second map data 140. In some embodiments, the first set of pose nodes may also be optimized accordingly in the overall optimization process, for example by performing pose constraints, as will be discussed in more detail below. The adjusted first set of pose nodes may be added to the second map data 140 to form updated second map data 145.
As mentioned above, when updating the second map data 140 with the first map data 115, the map processing apparatus 120 may perform data cleansing of the second map data 140 based on the first map data 115 to delete pose nodes from the second map data 140 that may overlap with the pose nodes in the first map data 115. Fig. 3 illustrates a flow diagram of a process 300 of clearing overlapping pose nodes, according to some embodiments of the present disclosure.
At block 310, the map processing device 120 selects a pose node (referred to as a "first pose node" for ease of discussion) in the first map data 115 for comparison with the second map data 140. For each pose node in the first map data 115, the process 300 may be iteratively performed to filter out pose nodes from the second map data 140 that overlap with that pose node.
At block 315, the mapping device 120 determines a set of pose nodes from the second map data 140 that covers the geographic range within which the selected first pose node falls. Because there are a large number of pose nodes in the first map data 115 and the second map data 140, in order to reduce the complexity of comparing pose nodes by pose node, a set of pose nodes that may intersect with the first pose node are determined from the second map data 140. As will be discussed later, comparing the first pose node to the selected set of pose nodes, rather than comparing all of the pose nodes of the second map data 140 to filter overlapping pose nodes, may reduce overall complexity.
The pose nodes of the second map data 140 may be divided into a plurality of groups, each group covering a particular geographic range. In some embodiments, the pose nodes may be aggregated according to the travel length and/or the degree of change in the travel direction of the map capture device of the second map data 140 to obtain a plurality of sets of pose nodes. Each set of pose nodes of the second map data 140 may be identified with a corresponding geographic coverage. In some embodiments, the pose nodes in the second map data 140 may be considered individual constituent units in the pose graph. A number of pose nodes may constitute a block of the pose graph, where each block corresponds to a set of pose nodes. Similarly, the pose nodes of the first map data 115 may also be divided by block.
For the first pose node selected at block 310, a set of pose nodes that may overlap with the first pose node may be determined by comparing the position information indicated by the first pose node to the coverage of each set of pose nodes in the second map data 140. The position of the first pose node is determined to fall within the coverage of the set of pose nodes.
At block 320, the mapping device 120 selects one pose node (referred to as a "second pose node" for ease of discussion) from the set of pose nodes determined in the second map data 140 for comparison with the first pose node. For each pose node in the determined set of pose nodes, a comparison with the first pose node may be iteratively performed.
At block 325, the map processing device 120 determines a threshold distance for the second pose node based on the pose difference between the first pose node and the second pose node.
The map processing device 120 may determine a pose difference between the first pose node and the second pose node based on the pose information indicated by the first pose node and the pose information indicated by the second pose node. In some embodiments, a yaw angle difference between yaw angles in pose information indicated by the first and second pose nodes may be determined, and a pose difference may be determined based on the yaw angle difference. The yaw angle in the pose information may indicate a direction of travel of the map capture device when capturing map data, so a difference in yaw angle between two pose nodes may indicate a difference in direction of travel of the map capture device. In some embodiments, a pose difference upper limit, such as a yaw angle difference upper limit, may also be set to limit the pose difference (e.g., yaw angle difference) between the first pose node and the second pose node to the set pose difference upper limit (e.g., yaw angle difference upper limit).
For example, the pose difference may be determined as follows:
yawdiff=min(Anglediff(yawold-yawnew) Max _ diff) equation (1)
Wherein rawoldRepresents a yaw angle corresponding to the second pose node in the second map data 140; rawnewRepresents a yaw angle corresponding to the first pose node in the first map data 115; ang1ediff () represents determining the angle difference; max _ diff represents the yaw angle difference upper limit; min () represents selecting the minimum among the items in parentheses; rawdiffRepresenting the determined yaw angle difference.
The pose difference may be used to determine a dynamic threshold distance for the second pose node. For example, the attitude difference may be used to adjust between a preset upper threshold distance limit and a preset lower threshold distance limit such that the determined threshold distance does not exceed the preset upper and lower limits. In some embodiments, in determining the threshold distance based on the pose difference, the threshold distance may be determined by performing linear interpolation (e.g., linear interpolation) on the upper threshold distance limit and the lower threshold distance limit based on the pose difference. The attitude difference may be used to calculate a scale factor for the linear difference. In determining the threshold distance, it is desirable that the threshold distance be determined to be smaller with a larger difference in posture. For example, the threshold distance may be determined as follows:
Threshold=Interpolate(Max_threshold,Min_threshold,yawdiffmax _ diff) formula (2)
Wherein Threshold represents the determined Threshold distance; max _ threshold and Min _ threshold represent the upper threshold distance limit and the lower threshold distance limit, respectively; interplate () represents a linear interpolation process;yawdiffmax _ diff represents a scale factor for linear interpolation such that the determined threshold distance follows yawdiffIs increased and is decreased.
As will be discussed below, the determined threshold distance is used to measure the distance between the first pose node and the second pose node to determine whether the second pose node belongs to a pose node to be cleaned. For example, if the distance between the second pose node and the first pose node is less than the determined threshold distance, it may be determined that the second pose node is in high proximity to the first pose node, has a high probability of overlap, and may be purged from the second map data 140. In the example embodiment of fig. 3, the threshold distance is determined based on pose differences between pose nodes. In other words, the clearing of the pose nodes takes into account the distance between the pose nodes, as well as the pose (e.g., direction of travel). This is to take into account the effect of the pose of the map capture device on its captured data.
Fig. 4A and 4B show examples of different poses. In fig. 4A, assume that map acquisition device 410 performs point cloud data acquisition at its corresponding location, with its position and pose (e.g., yaw angle as indicated by arrow 412) recorded in the first pose node. Meanwhile, assume that map acquisition device 420 performs point cloud data acquisition at its corresponding location, where the location and pose (e.g., yaw angle as shown by arrow 422) are recorded in a second pose node. In the example of fig. 4A, the first pose node is a close distance from the second pose node and the pose difference is also small, meaning that data overlapping map capture device 420 may be captured at that location and pose by map capture device 410. Therefore, the second pose node should be deleted with a large probability.
In fig. 4B, map capture device 420 has a small difference in position relative to map capture device 410, but a large difference in pose. In other words, the two map collecting devices may collect in different driving directions. As shown, the yaw angle indicated by arrow 422 is significantly offset from the yaw angle indicated by arrow 412. Accordingly, the distance difference between the corresponding first posture node and the second posture node is small, and the posture difference is also large. In this case, it is a better choice to retain the second pose node in the second map data 140 to avoid deleting non-overlapping pose nodes, resulting in map data holes.
As described above, when the difference in posture is large, as in the example of fig. 4B, the threshold distance may be determined to be a small value. Based on such a threshold distance, the second pose node may only be deleted if the distance between the first and second pose nodes is sufficiently small due to the small pose difference. Therefore, pose nodes with relatively close clear distances but large pose differences are avoided. When the pose difference is small, as in the example of fig. 4A, the threshold distance may be determined to be a large value. Based on such a threshold distance, the second pose node may only be deleted if the distance between the second pose node and the first pose node is sufficiently large, since the pose difference is not large.
With continued reference back to fig. 3, at block 330 of process 300, the mapping device 120 determines a distance between the first pose node and the second pose node. In some embodiments, the mapping device 120 may determine the distance between the two pose nodes based on the position information indicated by the two pose nodes. In some embodiments, the mapping device 120 may determine the horizontal distance between two pose nodes without regard to the height difference between the two pose nodes.
At block 335, the map processing device 120 compares the determined distance to the threshold distance determined for the second pose node. If it is determined that the distance between the first pose node and the second pose node is less than the threshold distance, the map processing device 120 deletes the second pose node from the second map data 140 at block 340. For example, the mapping device 120 may mark the second pose node as needing cleaning in the second mapping 140. When the updated second map data 145 is finally generated, the second pose node is deleted therefrom.
If the distance between the first and second pose nodes is greater than or equal to the threshold distance, the mapping device 120 will retain the second pose node in the second map data 140 at block 345.
After performing the determination of deletion or preservation for one pose node in the set of pose nodes determined in block 315, the map processing device 120 may continue to iteratively perform the operations of blocks 325 through 345 for the other pose nodes. Specifically, at block 350, the map processing device 120 determines whether there are any unselected pose nodes in the determined set of pose nodes. If there are more unselected pose nodes, process 300 returns to block 320 to continue selecting a second pose node from the unselected pose nodes for comparison with the currently selected first pose node.
If a determination has been made for all of the currently determined set of pose nodes, at block 355 the mapping device 120 determines whether there are any unselected pose nodes in the first map data 115. If there are more pose nodes that have not been selected, the process 300 returns to block 310 to continue selecting a first pose node therefrom for filtering out potentially overlapping pose nodes from the second map data 140.
Through the iterative process described above, for each new pose node in the first map data 115, the pose node in the second map data 140 that overlaps it can be determined and filtered. If it is determined at block 355 that each pose node in the first map data 115 has been selected, the process 300 ends.
Through the process 300, adjusted second map data 140 may be determined with some pose nodes cleared. As mentioned above, the map processing device 120 may select a second set of pose nodes from the adjusted second map data 140 that is adjacent to the first set of pose nodes in the first map data 115 as cached pose nodes. In the map data updating, the buffer pose nodes are adjusted so as to realize the overall optimization of the map data. The other pose nodes (i.e., fixed pose nodes) in the adjusted second map data 140 may remain unchanged in the map data update.
As mentioned above, in adjusting the second set of pose nodes in the second map data 140, the respective distances between the first set of pose nodes and the second set of pose nodes in the first map data 115 are referenced. In some embodiments, the adjustment of the second set of pose nodes may be achieved by optimizing pose constraints for the second set of pose nodes and/or registration constraints for the second set of pose nodes.
The first map data 115 and the second map data 140 may be represented as pose graphs, respectively, and therefore, optimization of the pose nodes may be considered as a graph optimization problem. The optimization goal can be achieved by constructing a graph optimization model such that the error of the graph optimization model is minimized. In graph optimization, pose constraints and registration constraints are common constraints.
Pose constraints are used to constrain the position and pose of the pose nodes before and after adjustment. In some embodiments, the distance between the first set of pose nodes and the second set of pose nodes is used to affect pose constraints for the second set of pose nodes in the optimization process. In particular, respective weights for pose constraints for each pose node in the second set of pose nodes may be adaptively determined based on distance from the first set of pose nodes. In some embodiments, pose constraints for the first set of pose nodes are also performed to adjust the first set of pose nodes. In other words, the first set of pose nodes and the second set of pose nodes may each be jointly adjusted by pose constraints to achieve optimization goals related to the pose constraints.
In point cloud based map construction, registration or matching refers to determining a transformation matrix (e.g., a three-dimensional rigid body transformation matrix) between two point cloud sets associated with two pose nodes such that the points of the overlapping regions of the two point cloud sets are aligned. The registration may be achieved by, for example, an Iterative Closest Point algorithm (ICP), a Normal Distribution Transform (NDT), or other registration algorithms. After registration, a registration transformation relationship between a pair of pose nodes may be determined, which may be represented by a transformation matrix (denoted T), for example. Since the two pose nodes may not be acquired at the same position in space, the registration process may introduce random errors. The registration constraint is used to constrain the errors introduced when performing registration between pose nodes. In the pose graph, registration constraints are represented as edge connections between pose nodes in the pose graph.
In some embodiments, registration constraints for the first and second sets of pose nodes may be performed to jointly adjust the first and second sets of pose nodes. In some embodiments, the registration constraints between the first set of pose nodes and/or the registration constraints between the second set of pose nodes are considered in performing the registration constraints, i.e. there are edge connections between the first set of pose nodes and these edge connections are to satisfy the registration constraints, and there are also edge connections between the second set of pose nodes and are to satisfy the registration constraints. Alternatively or additionally, registration constraints between the first set of pose nodes and the second set of pose nodes may also be considered, as the two sets of pose nodes are adjacent and there may also be edge connections that need to satisfy the registration constraints. Alternatively or additionally, registration constraints between the second set of pose nodes and other pose nodes (e.g., those not deleted, referred to as fixed pose nodes) in the second map data 140 may also be considered.
In some embodiments, pose constraints for individual pose nodes and registration constraints between pose nodes may be performed jointly to achieve a global optimization goal. The graph optimization model based on pose constraints and registration constraints can be represented, for example, as follows:
Figure BDA0002839733390000141
in formula (3), P represents a set of pose nodes to be adjusted. In some embodiments, P includes a first set of pose nodes (i.e., the newly added pose nodes provided by the first map data 115) and a second pose node (i.e., the buffered pose nodes determined from the second map data 140). In the formula (3), piRepresents one pose node in the set P,
Figure BDA0002839733390000142
representing p after reaching the optimization goaliAnd determining the adjusted pose nodes.
Optimization of the graph expressed by equation (3)In the model, nonlinear optimization (e.g., iteratively adjusting pose nodes) is performed on the set of pose nodes P such that the determined optimized (adjusted) pose nodes satisfy the optimization objective. In equation (3), the first term after the Argmin function represents a pose constraint for each pose node in the set P, and the second term represents a registration constraint associated with each pose node in the set P. EiRepresenting connections from other pose nodes to pose node p in the pose graphiWherein e isi,jRepresenting pose node pjAnd pose node piThe edge of (2). Dependent on the pose node piThe registration constraints to be considered may be different from the first set of pose nodes or the second set of pose nodes.
Figure BDA0002839733390000151
Representing nodes p for registering posesjAnd pose node piWhich may be determined, for example, from a registration process.
Figure BDA0002839733390000152
Representing pose node piA transformation matrix registered to a standard coordinate system (e.g., world coordinate system).
Figure BDA0002839733390000153
Representing a transformation matrix that registers pose nodes pj to a standard coordinate system (e.g., the world coordinate system).
For the second map data 140, the second set of pose nodes and the undeleted pose nodes therein may be determined after performing global optimization based on the results measured from the map capture device. Thus, in some embodiments, further adjustments to the second set of pose nodes are made based on previous optimization results. Registration transformation relationships between the second set of pose nodes and other pose nodes are also determined based on the previous optimization. The first set of pose nodes is from the newly acquired first map data 115, so the initial values of the optimization for the first set of pose nodes can be considered as measurements that have not been optimized.
Argmin in equation (3) represents the adjustment of each pose node in the set of pose nodes P to bring the equation to the optimization goal (e.g., minimum). The adjustment of the pose node may include an adjustment of position information and/or pose information. By iteratively optimizing each pose node in the set P, the adjusted pose node set P that achieves the optimization goal can be determined.
In equation (3), the pose constraint is represented by a corresponding weight W1And (6) carrying out adjustment. Weight W1Mainly used for adjusting the second group of pose nodes in the set P. For each pose node in the second set of pose nodes, a weight for pose constraint may be dynamically determined based on a distance between the pose node and the first set of pose nodes. This is discussed in detail below with reference to fig. 5.
In equation (3), the registration constraint may also be defined by a corresponding weight W2And (6) carrying out adjustment. In some embodiments, W2Primarily for adjusting the registration constraints between the second set of pose nodes and the fixed pose nodes in the second map data 140. In some embodiments, the weight W2May be set to a fixed value, for example may be determined to be a maximum. This means that the fixed pose nodes are not changed while the second set of pose nodes (i.e., the buffer pose nodes) are aligned as closely as possible in satisfying the registration constraints.
In the optimization process discussed above, the adjustment (or optimization) of the second set of pose nodes is influenced by the respective weights (e.g., weight W)1) The weights are dependent on the distance between the second set of pose nodes and the first set of pose nodes. Fig. 5 illustrates a flow diagram of a process 500 of pose node adjustment according to some embodiments of the present disclosure. The process 500 generally involves how to determine respective weights for the second set of pose nodes.
At block 510, for each pose node in the second set of pose nodes, the map processing apparatus 210 selects a reference distance for the pose node from the respective distances between the pose node and the respective pose node in the first set of pose nodes. In this way, a set of reference distances for each pose node in the second set of pose nodes may be obtained. In some embodiments, the distance between each pose node in the second set of pose nodes and each pose node in the first set of pose nodes may be calculated separately based on the distance indicated by each pose node. In some embodiments, the reference distance may be selected as the smallest of the respective distances to the first set of pose nodes. In this way, the pose constraint of each pose node in the second set of pose nodes will be affected by the newly added pose node that is closest to it (i.e., the node in the first set of pose nodes). Of course, for pose nodes in the second set of pose nodes, other reference distances may also be selected, for example, one distance may be randomly selected from the determined distances as the reference distance, or an average or other statistical value may be calculated based on the determined distances as the reference distance.
At block 520, for each pose node in the second set of pose nodes, the map processing apparatus 210 determines a weight for the pose node based on the reference distance for the pose node. In this way, a set of weights for respective pose nodes in the second set of pose nodes may be obtained.
In some embodiments, for each pose node in the second set of pose nodes, the smaller the reference distance, the greater the weight may be determined to be. That is, if a pose node in the second set of pose nodes is closer in distance to a pose node in the first set of pose nodes, then the pose constraint weight for that pose node in the second set of pose nodes is greater.
In some embodiments, the weights for the second set of pose nodes may be adjusted between an upper weight limit and a lower weight limit. The upper weight limit may be, for example, a weight for the registration constraint. The upper weight limit and the lower weight limit may be predetermined. In some embodiments, the weights may be determined by performing linear interpolation (e.g., linear interpolation) on the upper weight limit and the lower weight limit based on the reference distance.
In some embodiments, the weights for a single pose node may globally consider the respective distances between the second set of pose nodes and the first set of pose nodes in addition to the reference distances for that pose node. In particular, the map processing device 210 may select two target reference distances (referred to as a "first target reference distance" and a "second target reference distance") from a set of reference distances determined for a second set of pose nodes. The first target reference distance is selected to be a small value, e.g., less than a first threshold distance, and the second target reference distance is selected to be a large value, e.g., greater than a second threshold distance. In some embodiments, the first target reference distance is a minimum distance in a set of reference distances and the second target reference distance is a maximum distance in the set of reference distances. The map processing device 210 may determine a reference distance difference between the first target reference distance and the second target reference distance. Then, for each pose node in the second set of pose nodes, a distance difference between the pose node and the first target reference distance (i.e., the smaller distance) is determined, and a weight for the pose node is determined based on a ratio of the determined reference distance difference to the distance difference. In an example that considers performing linear interpolation between weight upper and lower limits, for a given pose node in the second set of pose nodes, its weight may be determined as follows:
Figure BDA0002839733390000171
wherein WeightiRepresenting for a given pose node P in the second set of pose nodesiThe weight of (c); max _ weight and Min _ weight respectively represent weight upper limit and weight lower limit; interplate () represents a linear interpolation process; diRepresenting a node P for a given poseiWhich may be, for example, a given pose node PiA distance to a closest pose node of the first set of pose nodes; dminRepresenting a minimum distance of a set of reference distances for a second set of pose nodes; and DmaxRepresenting the smallest distance in the set of reference distances for the second set of pose nodes.
In the formula (4), the first and second groups,
Figure BDA0002839733390000172
scale factors representing linear interpolation such that a node P is at a given poseiReference distance D ofiThe larger the case, the node P for that poseiThe smaller the weight of (c) is determined to be.
At block 530, the mapping device 210 adjusts the second set of pose nodes by performing pose constraints for the second set of pose nodes based on the set of weights. The adjustment of the second set of pose nodes goes into the optimization process described above. In some embodiments, the second set of pose nodes are adjusted along with the first set of pose nodes to achieve an optimization goal related to pose constraints (and possibly registration constraints).
In some embodiments, the original second set of pose nodes is replaced with the adjusted second set of pose nodes when updating the second map data 140. In embodiments where the first set of pose nodes is also adjusted, the adjusted first set of pose nodes is incorporated into the second map data 140 as new pose nodes. Thus, by adjusting the existing buffered pose nodes, the pose nodes in the updated second map data 145, including the newly added pose node, are consistent.
Fig. 6 illustrates a schematic block diagram of an apparatus 600 for updating map data according to some embodiments of the present disclosure. The apparatus 600 may be implemented as or included in the map processing apparatus 120.
As shown, the apparatus 600 includes a pose node determination module 610 configured to determine a first set of pose nodes in the first map data and a second set of pose nodes adjacent to the first set of pose nodes in the second map data, each pose node being indicative of position information and pose information. The apparatus 600 further includes a distance determination module 620 configured to determine respective distances between the first set of pose nodes and the second set of pose nodes based on the position information indicated by the first set of pose nodes and the second set of pose nodes. The apparatus 600 further comprises a pose node adjustment module 630 configured to adjust the second set of pose nodes based on the determined respective distances, resulting in an adjusted second set of pose nodes. The apparatus 600 further includes a map data update module 640 configured to update the second map data with the first set of pose nodes and the adjusted second set of pose nodes.
In some embodiments, the second map data includes previous map data collected in the target geographic area. In some embodiments, the first map data includes new map data acquired in at least a portion of the target geographic area or outside of the target geographic area.
In some embodiments, the pose node determination module 610 includes a pose node deletion module configured to delete pose nodes that overlap pose nodes in the first map data from the second map data based on respective distances and pose differences between the first set of pose nodes and the second set of pose nodes, resulting in adjusted second map data; and an adjacent pose node determination module configured to determine a second set of pose nodes adjacent to the first set of pose nodes from the adjusted second map data.
In some embodiments, the pose node deletion module comprises: for a first pose node in the first map data, a group pose node determining module configured to determine a group of pose nodes covering a position range in which the first pose node falls from a plurality of groups of pose nodes in the second map data, the plurality of groups of pose nodes respectively covering corresponding position ranges; a pose difference determination module configured to determine, for a second pose node of the set of pose nodes, a pose difference between the first pose node and the second pose node based on the pose information indicated by the first pose node and the pose information indicated by the second pose node; and a threshold distance determination module configured to determine a threshold distance for the second pose node based on the determined pose difference; a distance determination module configured to determine a distance between the first pose node and the second pose node based on the position information indicated by the first pose node and the position information indicated by the second pose node; and a deletion module configured to delete the second pose node from the second map data if the determined distance is less than the determined threshold distance.
In some embodiments, the pose difference determination module comprises: a yaw angle difference calculation module configured to calculate a yaw angle difference between a yaw angle in the pose information indicated by the first pose node and a yaw angle in the pose information indicated by the second pose node; and a yaw-based difference determination module configured to determine a difference in pose based on the yaw angle difference.
In some embodiments, the threshold distance determination module is configured to determine the threshold distance by performing linear interpolation on an upper threshold distance limit and a lower threshold distance limit based on the pose difference, wherein the larger the pose difference, the smaller the threshold distance is determined to be.
In some embodiments, the pose node adjustment module 630 includes: a reference distance selection module configured to, for each pose node of the second set of pose nodes, select a reference distance for the pose node from the respective distances between the pose node and the respective pose node of the first set of pose nodes, resulting in a set of reference distances for the respective pose node of the second set of pose nodes; a weight determination module configured to determine, for each pose node in the second set of pose nodes, a weight for the pose node based on the reference distance for the pose node, resulting in a set of weights for the respective pose node in the second set of pose nodes; and a pose constraint module configured to adjust the second set of pose nodes by performing pose constraints for the second set of pose nodes based on the set of weights.
In some embodiments, the reference distance module is configured to select, for each pose node in the second set of pose nodes, a minimum distance from the respective distances between the pose node and the respective pose node in the first set of pose nodes.
In some embodiments, the weight determination module comprises: a target reference distance selection module configured to select a first target reference distance and a second target reference distance from a set of reference distances, the first target reference distance being less than a first threshold distance, the second target reference distance being greater than a second threshold distance; a reference distance difference determination module configured to determine a reference distance difference based on a distance difference between the first target reference distance and the second target reference distance; and a distance difference ratio-based weight determination module configured to determine, for each pose node of the second set of pose nodes, a weight based on a ratio of the reference distance difference to: a distance difference between the reference distance for the pose node and the first target reference distance. In some embodiments, the first target reference distance is the smallest distance in a set of reference distances. In some embodiments, the second target reference distance is the largest distance in the set of reference distances.
In some embodiments, the pose node adjustment module 630 further comprises: a joint pose constraint module configured to jointly adjust the first set of pose nodes and the second set of pose nodes to achieve an optimization goal related to pose constraints by performing pose constraints for the second set of pose nodes based on a set of weights for the second set of pose nodes and performing pose constraints for the first set of pose nodes.
In some embodiments, the map data update module 640 includes: a merging module configured to merge the adjusted first set of pose nodes into second map data; and a replacement module configured to replace the second set of pose nodes in the second map data with the adjusted second set of pose nodes.
In some embodiments, the pose node adjustment module 630 further comprises: a registration constraint module configured to adjust the second set of pose nodes by performing at least one registration constraint of: registration constraints between the first set of pose nodes, registration constraints between the second set of pose nodes, registration constraints between the first set of pose nodes and the second set of pose nodes, registration constraints between the second set of pose nodes and other pose nodes in the second map data.
FIG. 7 illustrates a block diagram that shows an electronic device 700 in which one or more embodiments of the disclosure may be implemented. It should be understood that the electronic device 700 illustrated in FIG. 7 is merely exemplary and should not be construed as limiting in any way the functionality and scope of the embodiments described herein. The electronic device 700 shown in fig. 7 may be included in or implemented as the map processing device 120 of fig. 1.
As shown in fig. 7, the electronic device 700 is in the form of a general purpose computing device. The electronic device 700 may also be any type of computing device or server. Components of electronic device 700 may include, but are not limited to, one or more processors or processing units 710, memory 720, storage 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. The processing unit 710 may be a real or virtual processor and may be capable of performing various processes according to programs stored in the memory 720. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capabilities of the electronic device 700.
Electronic device 700 typically includes a number of computer storage media. Such media may be any available media that is accessible by electronic device 700 and includes, but is not limited to, volatile and non-volatile media, removable and non-removable media. Memory 720 may be volatile memory (e.g., registers, cache, Random Access Memory (RAM)), non-volatile memory (e.g., Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory), or some combination thereof. Storage 730 may be a removable or non-removable medium and may include a machine-readable medium, such as a flash drive, a magnetic disk, or any other medium that may be capable of being used to store information and/or data (e.g., map data) and that may be accessed within electronic device 700.
The electronic device 700 may further include additional removable/non-removable, volatile/nonvolatile storage media. Although not shown in FIG. 7, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to a bus (not shown) by one or more data media interfaces. Memory 720 may include a computer program product 725 having one or more program modules configured to perform the various methods or acts of the various embodiments of the disclosure.
Communication unit 740 enables communication with other computing devices over a communication medium. Additionally, the functionality of the components of the electronic device 700 may be implemented in a single computing cluster or multiple computing machines, which are capable of communicating over a communications connection. Thus, the electronic device 700 may operate in a networked environment using logical connections to one or more other servers, network Personal Computers (PCs), or another network node.
Input device 750 may be one or more input devices such as a mouse, keyboard, trackball, or the like. Output device 760 may be one or more output devices such as a display, speakers, printer, or the like. Electronic device 700 may also communicate with one or more external devices (not shown), such as storage devices, display devices, etc., communication with one or more devices that enable a user to interact with electronic device 700, or communication with any devices (e.g., network cards, modems, etc.) that enable electronic device 700 to communicate with one or more other computing devices, via communication unit 740, as desired. Such communication may be performed via input/output (I/O) interfaces (not shown).
According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions or a program are stored, wherein the computer-executable instructions or the program are executed by a processor to implement the above-described method or function. The computer-readable storage medium may include a non-transitory computer-readable medium. According to an exemplary implementation of the present disclosure, there is also provided a computer program product comprising computer executable instructions or a program, which are executed by a processor to implement the above described method or function. The computer program product may be tangibly embodied on a non-transitory computer-readable medium.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus, devices and computer program products implemented in accordance with the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-executable instructions or programs.
These computer-executable instructions or programs may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-executable instructions or programs may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer-executable instructions or programs may be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer-implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various implementations of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The foregoing has described implementations of the present disclosure, and the above description is illustrative, not exhaustive, and not limited to the implementations disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The terminology used herein was chosen in order to best explain the principles of various implementations, the practical application, or improvements to the technology in the marketplace, or to enable others of ordinary skill in the art to understand various implementations disclosed herein.

Claims (16)

1. A method of updating map data, comprising:
determining a first set of pose nodes in first map data and a second set of pose nodes adjacent to the first set of pose nodes in second map data, each pose node indicating position information and pose information;
determining respective distances between the first set of pose nodes and the second set of pose nodes based on the position information indicated by the first set of pose nodes and the second set of pose nodes;
adjusting the second set of pose nodes based on the determined respective distances, resulting in an adjusted second set of pose nodes; and
updating the second map data with the first set of pose nodes and the adjusted second set of pose nodes.
2. The method of claim 1, wherein the second map data comprises previous map data collected in a target geographic area; and is
Wherein the first map data comprises new map data acquired in at least a portion of the target geographic area or outside of the target geographic area.
3. The method of claim 1, wherein determining the second set of pose nodes comprises:
deleting pose nodes overlapped with the pose nodes in the first map data from the second map data based on corresponding distances and posture differences between the first set of pose nodes and the second set of pose nodes to obtain adjusted second map data; and
determining the second set of pose nodes adjacent to the first set of pose nodes from the adjusted second map data.
4. The method of claim 3, wherein deleting pose nodes from the second map data that overlap pose nodes in the first map data comprises: for a first pose node in the first map data,
determining a set of pose nodes covering a position range in which the first pose node falls from a plurality of sets of pose nodes of the second map data, wherein the plurality of sets of pose nodes respectively cover corresponding position ranges;
for a second pose node of the set of pose nodes, determining a pose difference between the first and second pose nodes based on pose information indicated by the first and second pose nodes;
determining a threshold distance for the second pose node based on the determined pose difference;
determining a distance between the first pose node and the second pose node based on the position information indicated by the first pose node and the position information indicated by the second pose node; and
deleting the second pose node from the second map data if the determined distance is less than the determined threshold distance.
5. The method of claim 4, wherein determining the difference in pose comprises:
calculating a yaw angle difference between a yaw angle in the pose information indicated by the first pose node and a yaw angle in the pose information indicated by the second pose node; and
determining the attitude difference based on the yaw angle difference.
6. The method of claim 4, wherein determining the threshold distance comprises:
determining the threshold distance by performing linear interpolation on an upper threshold distance limit and a lower threshold distance limit based on the pose difference, wherein the larger the pose difference, the smaller the threshold distance is determined to be.
7. The method of claim 1, wherein adjusting the second set of pose nodes comprises:
for each pose node in the second set of pose nodes, selecting a reference distance for the pose node from the respective distances between the pose node and the respective pose node in the first set of pose nodes, resulting in a set of reference distances for the respective pose node in the second set of pose nodes;
for each pose node in the second set of pose nodes, determining a weight for that pose node based on the reference distance for that pose node, resulting in a set of weights for the respective pose node in the second set of pose nodes; and
adjusting the second set of pose nodes by performing pose constraints for the second set of pose nodes based on the set of weights.
8. The method of claim 7, wherein selecting the reference distance for the pose node comprises:
for each pose node in the second set of pose nodes, selecting a minimum distance from the respective distances between that pose node and the respective pose node in the first set of pose nodes.
9. The method of claim 7, wherein determining the weight comprises:
selecting a first target reference distance and a second target reference distance from the set of reference distances, the first target reference distance being less than a first threshold distance, the second target reference distance being greater than a second threshold distance;
determining a reference distance difference based on a distance difference between the first target reference distance and the second target reference distance; and
for each pose node in the second set of pose nodes, determining the weight based on a ratio of the reference distance difference to: a distance difference between the reference distance for that pose node and the first target reference distance.
10. The method according to claim 9, wherein the first target reference distance is the smallest distance in the set of reference distances, and/or
Wherein the second target reference distance is a largest distance in the set of reference distances.
11. The method of claim 7, wherein adjusting the second set of pose nodes further comprises:
jointly adjusting the first set of pose nodes and the second set of pose nodes to achieve an optimization goal related to the pose constraints by performing pose constraints for the second set of pose nodes based on the set of weights for the second set of pose nodes and performing pose constraints for the first set of pose nodes.
12. The method of claim 11, wherein updating the second map data comprises:
merging the adjusted first set of pose nodes into the second map data; and
replacing the second set of pose nodes in the second map data with the adjusted second set of pose nodes.
13. The method of claim 7, wherein adjusting the second set of pose nodes comprises:
adjusting the second set of pose nodes by also performing at least one of the following registration constraints:
a registration constraint between the first set of pose nodes,
a registration constraint between the second set of pose nodes,
a registration constraint between the first set of pose nodes and the second set of pose nodes,
a registration constraint between the second set of pose nodes and other pose nodes in the second map data.
14. An apparatus for updating map data, comprising:
a pose node determination module configured to determine a first set of pose nodes in first map data and a second set of pose nodes in second map data adjacent to the first set of pose nodes, each pose node indicating position information and pose information;
a distance determination module configured to determine respective distances between the first set of pose nodes and the second set of pose nodes based on the position information indicated by the first set of pose nodes and the second set of pose nodes;
a pose node adjustment module configured to adjust the second set of pose nodes based on the determined respective distances, resulting in an adjusted second set of pose nodes; and
a map data update module configured to update the second map data with the first set of pose nodes and the adjusted second set of pose nodes.
15. An electronic device, comprising:
one or more processors; and
a memory storing computer-executable instructions that, when executed by the one or more processors, cause the electronic device to implement the method of any of claims 1-13.
16. A computer-readable storage medium having computer-executable instructions stored thereon, wherein the computer-executable instructions, when executed by a processor, implement the method of any one of claims 1 to 13.
CN202011487435.5A 2020-12-16 2020-12-16 Method, device, equipment and storage medium for updating map data Pending CN112559664A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011487435.5A CN112559664A (en) 2020-12-16 2020-12-16 Method, device, equipment and storage medium for updating map data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011487435.5A CN112559664A (en) 2020-12-16 2020-12-16 Method, device, equipment and storage medium for updating map data

Publications (1)

Publication Number Publication Date
CN112559664A true CN112559664A (en) 2021-03-26

Family

ID=75064165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011487435.5A Pending CN112559664A (en) 2020-12-16 2020-12-16 Method, device, equipment and storage medium for updating map data

Country Status (1)

Country Link
CN (1) CN112559664A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094462A (en) * 2021-04-30 2021-07-09 腾讯科技(深圳)有限公司 Data processing method and device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108827249A (en) * 2018-06-06 2018-11-16 歌尔股份有限公司 A kind of map constructing method and device
CN109087359A (en) * 2018-08-30 2018-12-25 网易(杭州)网络有限公司 Pose determines method, pose determining device, medium and calculates equipment
US20200284590A1 (en) * 2019-03-05 2020-09-10 DeepMap Inc. Distributed processing of pose graphs for generating high definition maps for navigating autonomous vehicles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108827249A (en) * 2018-06-06 2018-11-16 歌尔股份有限公司 A kind of map constructing method and device
CN109087359A (en) * 2018-08-30 2018-12-25 网易(杭州)网络有限公司 Pose determines method, pose determining device, medium and calculates equipment
US20200284590A1 (en) * 2019-03-05 2020-09-10 DeepMap Inc. Distributed processing of pose graphs for generating high definition maps for navigating autonomous vehicles

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094462A (en) * 2021-04-30 2021-07-09 腾讯科技(深圳)有限公司 Data processing method and device and storage medium
CN113094462B (en) * 2021-04-30 2023-10-24 腾讯科技(深圳)有限公司 Data processing method and device and storage medium

Similar Documents

Publication Publication Date Title
CN111780763B (en) Visual positioning method and device based on visual map
CN108537876B (en) Three-dimensional reconstruction method, device, equipment and storage medium
Schöps et al. Surfelmeshing: Online surfel-based mesh reconstruction
US8199977B2 (en) System and method for extraction of features from a 3-D point cloud
CN101996420B (en) Information processing device, information processing method and program
JP4974975B2 (en) Method and system for locating an object in an image
EP4058983A1 (en) Method and system for scene image modification
US20190370989A1 (en) Method and apparatus for 3-dimensional point cloud reconstruction
CN113436238B (en) Point cloud registration accuracy evaluation method and device and electronic equipment
CN110223380B (en) Scene modeling method, system and device fusing aerial photography and ground visual angle images
WO2022179002A1 (en) Image matching method and apparatus, electronic device, and storage medium
CN115372989A (en) Laser radar-based long-distance real-time positioning system and method for cross-country automatic trolley
WO2022088723A1 (en) Data processing method and apparatus
CN113689535B (en) Building model generation method and device based on unmanned aerial vehicle image
KR20190070514A (en) Apparatus for Building Grid Map and Method there of
CN115953535A (en) Three-dimensional reconstruction method and device, computing equipment and storage medium
EP3326156A1 (en) Consistent tessellation via topology-aware surface tracking
CN116088503A (en) Dynamic obstacle detection method and robot
CN111578959A (en) Unknown environment autonomous positioning method based on improved Hector SLAM algorithm
CN114896679A (en) Three-dimensional model optimization method for building, intelligent terminal and storage medium
CN112559664A (en) Method, device, equipment and storage medium for updating map data
CN110989619B (en) Method, apparatus, device and storage medium for locating objects
CN113532420A (en) Visual inertial odometer method integrating point-line characteristics
Zhu et al. 3D reconstruction of plant leaves for high-throughput phenotyping
Dold Extended Gaussian images for the registration of terrestrial scan data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination