Information processing device
By dynamically dividing maps into branch and non-branch areas and optimizing graph editing costs, the information processing device accurately extracts differences between reference and input maps, addressing the errors in existing methods.
Patent Information
- Application Number
- JP2023163106
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2025-04-07
- Estimated Expiration
- 2043-09-26
AI Technical Summary
Existing methods for extracting differences between two maps are prone to errors due to incorrect association of nodes and edges, especially when there are errors in the map data, leading to inappropriate difference extraction.
An information processing device that divides the maps into branch and non-branch areas, determines corresponding regions between the reference and input maps, and finds graph editing paths with minimum editing cost to accurately extract differences.
This approach enables more accurate extraction of differences between reference and input maps by dynamically dividing areas based on road topology and optimizing graph editing costs, thereby improving the accuracy and efficiency of map difference evaluation.
Smart Images

Figure 2025053964000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an information processing device, and more particularly to an information processing device that extracts a difference between two maps. [Background technology]
[0002] As a method for extracting the differences between two maps, we disclose a method of dividing the maps into meshes and extracting the differences for each mesh. However, if there is an error in the maps, the same node or edge may be included in different meshes, and the meshes or edges may not be matched or may be matched incorrectly, making it difficult to extract the differences appropriately. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2017-223797 A [Non-patent literature]
[0004] [Non-Patent Document 1] Zeina Abu-Aisheh, Romain Raveaux, Jean-Yves Ramel, Patrick Martineau. An Exact Graph Edit Distance Algorithm for Solving Pattern Recognition Problems. 4th International Conference on Pattern Recognition Applications and Methods 2015, Jan 2015, Lisbon, Portugal. 2015, <10.5220 / 0005209202710278>. <hal-01168816> Summary of the Invention [Problem to be solved by the invention]
[0005] One aspect of the present disclosure has an object to provide a technology that can extract the difference between a reference map and an input map with greater accuracy than conventional techniques. [Means for solving the problem]
[0006] One aspect of the present disclosure is an information processing device that detects a difference between a reference map and an input map, the information processing device having a control unit that executes the following operations: acquiring a reference map and an input map, each of which includes a plurality of nodes and a plurality of edges; dividing each area of the reference map and the input map into branching areas where branching roads or lanes exist and non-branching areas other than the branching areas; determining branching areas and non-branching areas of the input map that correspond to the branching areas and non-branching areas of the reference map based on a degree of overlap between the branching areas of the reference map and the branching areas of the input map and a degree of overlap between the non-branching areas of the reference map and the non-branching areas of the input map; determining, for each of the corresponding areas, a graph editing path that minimizes an editing cost defined by a predetermined criterion; and outputting the graph editing paths for a plurality of corresponding areas as differences between the reference map and the input map. Effect of the Invention
[0007] According to an aspect of the present disclosure, it is possible to extract the difference between a reference map and an input map with higher accuracy than in the past. [Brief description of the drawings]
[0008] [Figure 1] 1A and 1B are a functional block diagram of a map difference evaluation device (information processing device) according to an embodiment and a flowchart of a map difference extraction process; [Diagram 2] FIG. 2 is a diagram illustrating a format of map data according to an embodiment. [Diagram 3] FIG. 2 is a diagram illustrating division of a map into regions and association of the divided regions according to an embodiment. [Figure 4] FIG. 13 is a diagram illustrating graph simplification and lane numbering in one embodiment. [Diagram 5] FIG. 11 is a diagram illustrating an example of a graph editing cost according to an embodiment. [Figure 6] FIG. 11 is a diagram illustrating a difference extraction result according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. The configurations of the following embodiments are merely examples, and the present disclosure is not limited to the configurations of the embodiments.
[0010] (System Configuration) 1(A) is a diagram showing the configuration of a map difference evaluation device 100 according to one embodiment. The map difference evaluation device 100 is an information processing device (computer) having a configuration in which a processor 110, a memory 120, a communication device 130, an input device 140, and an output device 150 are communicatively connected to one another via a bus.
[0011] The processor 110 is a calculation device such as a CPU, and operates according to a program stored in the memory 120. The processor 110 corresponds to a control unit in this disclosure. The memory 120 is a main storage device into which execution programs are loaded, and is also used by the processor 110 as a temporary storage device. The communication device 130 is a device for communicating with other information processing devices via wired or wireless communication. The input device 140 is a keyboard or mouse, and accepts input from a user. The output device 150 is a display device or audio playback device, and outputs calculation results, etc. to a user.
[0012] The execution program loaded into memory 120, when executed by processor 110, causes processor 110 to function as a map acquisition unit 121, an area division unit 122, a response determination unit 123, a difference extraction unit 124, and a result output unit 128. The difference extraction unit 124 includes, as sub-functional units, a simplification unit 125, a lane number assignment unit 126, and a graph editing path determination unit 127. Details of each functional unit will be described below with reference to a flowchart.
[0013] (process) FIG. 1B is a flowchart showing the flow of the map difference evaluation process executed by the map difference evaluation device 100.
[0014] In step S10, the map acquisition unit 121 acquires a reference map and an input map. The reference map is a map that serves as a reference for difference evaluation, and the map difference evaluation device 100 evaluates how the input map differs from the reference map, or how much it differs. As an example, the reference map is a map generated at a certain time, and the input map is a map generated at a later time. In this case, the map difference evaluation device 100 is used, for example, to evaluate what kind of difference has occurred over time. As another example, the reference map is a high-precision map generated by a high-cost but highly accurate method, and the input map is a map generated by a low-cost automatic generation method. In this case, the map difference evaluation device 100 is used, for example, to evaluate the accuracy of the automatically generated map, and therefore the accuracy of the automatic generation algorithm.
[0015] The reference map and the input map have the same format, and both include a plurality of nodes and a plurality of edges (links). In this embodiment, the map includes at least nodes and edges for each lane. The map may also include nodes and edges for each road. may include information for identifying an area where a road exists (road area). Road areas may be divided into intersection areas (branch areas) and non-intersection areas (non-branch areas), and the map may include information for identifying the intersection areas and non-intersection areas.
[0016] FIG. 2 is a diagram for explaining an example of map data, showing an example of a map showing an intersection where a two-lane road and a one-lane road intersect. In this example, the map data includes a road area 200, a road link 201, and a lane link 202. More specifically, the lane link 202 is composed of a plurality of lane nodes and edges (links) connecting the nodes. The interval between the nodes is, for example, about several meters. The connection relationship between the lanes can be understood from the lane link. For example, in the example of FIG. 2, it can be seen that a left turn is possible in all directions, but a right turn is possible from a two-lane road to a one-lane road, but the reverse is prohibited.
[0017] In step S12, the area division unit 122 divides each of the areas of the reference map and the input map into branching areas where roads or lanes branch, and non-branching areas other than the branching areas. Figure 3(A) is a diagram showing the result of this area division process, showing that a road area 301 of the reference map or the input map is divided into a branching area 302 indicated by a solid line and a non-branching area 303 indicated by a dashed line. Hereinafter, each of these areas will also be referred to as a divided area.
[0018] For example, if information (e.g., labels) for identifying intersection areas (branch areas) and non-intersection areas (non-branch areas) is added to the map data, the division process by the area division unit 122 is performed according to this information. Alternatively, the division process by the area division unit 122 may be performed based on the position of a node (branch node) to which three or more edges are connected from the map data. Specifically, the area division unit 122 may extract branch nodes, obtain an area in which the branch nodes exist by a clustering process, and determine the obtained area as a branch area and the other road areas as non-branch areas. The area division method may be a method other than the method shown here.
[0019] In step S14, the correspondence determination unit 123 determines the branching area of the input map corresponding to the branching area of the reference map, and the non-branching area of the input map corresponding to the non-branching area of the reference map. The correspondence determination unit 123 performs this correspondence based on the degree of overlap between the divided area of the reference map and the branching area of the input map, and the degree of overlap between the non-branching area of the reference map and the non-branching area of the input map. Here, the degree of overlap may be evaluated based on a relative criterion, for example, the ratio of the overlapping area to the size (area) of the branching area of the reference map or the input map. Alternatively, the degree of overlap may be evaluated based on an absolute criterion, for example, the size (area) of the overlapping area. The degree of overlap may also be evaluated by a combination of the ratio of the overlapping area and the size of the overlapping area.
[0020] 3(B) is a diagram showing the results of area division for the reference map and the input map. The thick solid lines represent branching areas on the reference map, the thick dashed lines represent non-branching areas on the reference map, the thin solid lines represent branching areas on the input map, and the thin dashed lines represent non-branching areas on the input map. Through the above-mentioned correspondence determination process, for example, branching area 311 on the reference map is associated with branching area 312 on the input map, and non-branching area 313 on the reference map is associated with non-branching area 314 on the input map.
[0021] 3B, the divided areas of the reference map and the input map are depicted as having the same shape and in an approximately one-to-one correspondence, but there may be cases where one divided area in the reference map is divided to correspond to multiple divided areas in the input map, or vice versa. In such cases, the correspondence determination unit 123 may combine the multiple divided areas into one and then determine the correspondence relationship.
[0022] The loop process L1 of steps S16 to S18 is performed by each of the This is performed for each pair of partitioned regions.
[0023] Step S16 is pre-processing of the difference extraction process, and includes a graph simplification process by the simplification unit 125 and a lane number assignment process by the lane number assignment unit 126.
[0024] The simplification unit 125 simplifies the graph by deleting nodes in the region that are unnecessary for processing. Specifically, as shown in FIG. 4(A), the simplification unit 125 deletes a non-branching intermediate node and edits the graph so that the nodes at both ends of the non-branching intermediate node are connected by an edge (link). The non-branching intermediate node is a node other than the entrance end and exit end of a divided region (branching region or non-branching region) and is not a branching node. The entrance end node is a node that is connected from a node in an adjacent divided region, and the exit end node is a node that is connected to a node in an adjacent divided region. In the example of FIG. 4(A), the node b between the branching nodes a and c corresponds to the non-branching intermediate node, and the simplification process deletes the node b and edits the graph so that the node a and node c are connected. As a result, the edges (a, b) and (b, c) are replaced with the edge (a, c).
[0025] The simplification unit 125 may also integrate a branch node connected to an entrance or exit node with the entrance or exit node. This process can also be considered as a process of deleting a branch node and editing an edge connected to the branch node so that the edge is connected to the entrance or exit node. In the example of FIG. 4(B), node e, which is a branch node, is connected to node d, which is an entrance or exit node, so node e is deleted and edges (e,f) and (e,g) connected to node e are replaced with edges (d,f) and (d,g).
[0026] Through these processes, all nodes within the divided area are deleted, leaving only the entry and exit nodes. Figure 4(C) shows an example of graph simplification. Graph 401 shows the graph before simplification, and graph 402 shows the graph after simplification. Although no nodes are shown for graph 401, in reality the nodes are densely present (every few meters). On the other hand, nodes are shown for graph 402. Graph 402 has only entry and exit nodes, and there are only edges connecting the entry and exit nodes.
[0027] Simplifying the graph in this way reduces the problem size of the graph editing path optimization problem, while at the same time improving the accuracy of difference extraction by leaving only semantically important nodes.
[0028] The lane number assigning unit 126 assigns lane numbers to the lanes included in each road in a predetermined order. The lane number assigning process may be performed on the graph after simplification or on the graph before simplification. With reference to FIG. 4(D), the lane number assigning process will be described taking as an example a situation in which three lane nodes 411-413 at the entrance ends exist on a road 410. The lane number assigning unit 126 obtains the coordinates of each of the nodes 411-413 in a local coordinate system in which the lane direction is the X-axis and the width direction of the lane is the Y-axis, and assigns lane numbers in descending order of the Y-axis positions. For example, the coordinates of node 411 are (1.1, 8.0), the coordinates of node 412 are (1.0, 5.0), and the coordinates of node 413 are (1.1, 2.0). Therefore, lane number 0 is assigned to node 411, lane number 1 is assigned to node 412, and lane number 2 is assigned to node 413. Note that it is not essential to assign lane numbers in descending order of Y-axis position, and lane numbers may be assigned in ascending order of Y-axis position, or may be assigned in an order determined by any other deterministic procedure. The lane number assignment unit 126 may assign lane numbers to the lane nodes at both the entry end and the exit end, or may assign lane numbers to only one of the nodes at the entry end and the exit end.
[0029] In step S18, the graph editing path determination unit 127 performs the simplification process and the lane number A graph edit path with the minimum edit cost is found for the reference map and input map after the annotation process has been performed. A graph edit path is a sequence of edit operations for matching a first graph with a second graph, and the edit operations include adding, deleting, and replacing nodes, and adding, deleting, and replacing edges (links). Any existing algorithm (for example, Non-Patent Document 1) can be used to find a graph edit path with the minimum edit cost.
[0030] The editing cost for each graph editing operation can be determined according to a predetermined criterion.
[0031] In this embodiment, the cost of node substitution (replacement) is basically set to be smaller the closer the positions of two nodes are, and larger the farther the positions are. However, when determining the distance between two nodes, the evaluation is performed with weighting that increases the influence of the distance in the lane width direction rather than the distance in the lane direction. Figures 5(A) and 5(B) are diagrams explaining the cost of node substitution based on position. Figure 5(A) shows nodes N1 and N2 of the reference map and nodes M1 to M4 of the input map. Figure 5(A) is shown in a global coordinate system, with the up-down direction corresponding to the latitude direction and the left-right direction corresponding to the longitude direction, and the distance (length) on the drawing corresponds to the actual distance (length). In this example, it can be said that it is appropriate to associate node N1 of the reference map with node M1 of the input map. However, if the evaluation is simply based on the distance between nodes, if the distance D1 between nodes N1-M1 is greater than the distance D2 between nodes N1-M3, node N1 will be associated with node M3. Therefore, in this embodiment, the cost is evaluated so that the influence of the distance in the lane width direction is greater as follows. First, a local coordinate system is introduced in which the lane direction at node N1 is the X-axis and the direction perpendicular to the lane direction is the Y-axis. Here, the lane direction at node N1 may be, for example, the direction of an edge connecting from a divided area adjacent to node N1, or the direction of an edge in the same divided area connecting to node N1. Then, the scale in the X-axis direction is compressed and the scale in the Y-axis direction is maintained. The compression ratio can be, for example, 0.5, but it may be any value greater than 0 and less than 1. FIG. 5(B) shows a graph after the coordinate transformation and compression in the X-axis direction. The distance between nodes after this transformation is evaluated as the node replacement cost. In the example of FIG. 5(B), since the distance D3 is smaller than the distance D4, the node of the input map that is associated with node N1 of the reference map is appropriately determined as node M1. In the evaluation of the map, the positional deviation in the width direction of the road has a greater impact than the positional deviation in the traveling direction of the road. In other words, the difference associated with a node with less positional deviation in the width direction can be a better difference. It should be noted that the above explanation is for explaining the concept of node replacement cost, and the actual processing needs to be performed according to the above concept, and does not have to be performed according to the above procedure.
[0032] Furthermore, in this embodiment, the cost of node substitution (replacement) may be determined depending on whether the lane numbers assigned to the nodes are the same or different. For example, the editing cost of replacing a node with a node with a different lane number is set to be higher than the editing cost of replacing the node with a node with the same lane number. In other words, the editing cost of associating nodes with different lane numbers is set to be higher than the editing cost of associating nodes with the same lane number. By using such a cost criterion, a difference in which semantically identical lanes are associated can be made a better difference.
[0033] The cost of node substitution may be the sum of the location-based cost described above and a cost based on lane number identity.
[0034] The costs of adding and deleting a node may be set appropriately.
[0035] The cost of adding, deleting, and replacing an edge may be set in the same way as the cost of adding, deleting, and replacing a node. For example, the cost of replacing an edge may be the sum of the costs of replacing the nodes on both ends of the edge.
[0036] 6(A) to 6(C) are diagrams for explaining the calculation results of the graph editing path. FIG. 6(A) shows a simplified graph of the reference map, FIG. 6(B) shows a simplified graph of the input map, and FIG. 6(C) shows the graph editing path for these two maps (graphs) that minimizes the editing cost. In the node editing operation, the replacement of node 1 with node a is expressed as "1 → a", the deletion of node 1 is expressed as "1 → ε", and the addition of node a is expressed as "ε → a". Similarly, the replacement of edge (1,2) with edge (a,b) is expressed as "(1,2) → (a,b)", the deletion of edge (1,2) is expressed as "(1,2) → ε", and the addition of edge (a,b) is expressed as "ε → (a,b)". In the example of Figures 6(A) to 6(C), node 6 is deleted, nodes 1 to 5 are replaced by nodes a to e, respectively, edges (4, 6) and (2, 6) are deleted, and edge (b, c) is added.
[0037] In this manner, the difference extraction unit 124 finds a graph edit path that minimizes the edit cost for one pair of corresponding divided areas. Then, in loop processing L1, a graph edit path is similarly found for each pair of corresponding divided areas.
[0038] In step S20, the result output unit 128 outputs the result of the difference evaluation to the output device 150. An example of the evaluation result is the difference or dissimilarity (or distance) between the reference map and the input map. The difference between the reference map and the input map is calculated as the union of the graph editing paths for each pair of divided areas. The difference between the reference map and the input map is calculated as the sum of the graph editing costs for each pair of divided areas. The result output unit 128 may output both the difference and the dissimilarity, or may output only one of them.
[0039] (Advantageous Effects of the Present Embodiment) According to this embodiment, the complex task of evaluating the difference between two maps is divided into a simple task of evaluating the difference for each divided area, thereby enabling high-speed and high-precision evaluation of the difference. Here, when dividing an area, if static division is performed, a node may be included in a different area due to a position error, but in this embodiment, dynamic division is performed taking into account branching areas and non-branching areas, so that such a problem can be avoided. In other words, in this embodiment, dynamic area division is performed taking into account the macro topology of roads, making it possible to perform division and area correspondence such that corresponding nodes of the reference map and input map are included in corresponding areas.
[0040] Furthermore, when extracting differences in a map (graph), simplifying the graph allows for the removal of elements that have little effect on accuracy, enabling efficient difference extraction. By simplifying the problem, it is possible to adopt a difference extraction algorithm that has a high calculation load but is more accurate, thereby improving the accuracy of difference extraction. Furthermore, when evaluating the editing cost, by setting the cost of position misalignment to be higher for misalignment in the lane width direction than for misalignment in the direction of travel, appropriate difference evaluation can be performed that takes into account the actual road shape. Furthermore, by taking lane numbers into account and setting a lower cost for replacing the same lane number, appropriate difference evaluation can be performed that takes into account the actual road shape.
[0041] As described above, according to the present embodiment, the amount of information is reduced to make the problem size smaller, while context such as lane numbers and lane directions is retained and used to perform difference evaluation, thereby enabling high-speed and high-precision difference evaluation.
[0042] (Other embodiments) The above-described embodiment is merely an example, and the present disclosure can be modified and implemented as appropriate without departing from the spirit and scope of the present disclosure.
[0043] The present disclosure can also be realized by supplying a computer program implementing the functions described in the above embodiments to a computer, and having one or more processors of the computer read and execute the program. Such a computer program may be provided to the computer by a non-transitory computer-readable storage medium connectable to the system bus of the computer, or may be provided to the computer via a network. Non-transitory computer-readable storage media include, for example, any type of disk, such as a magnetic disk (floppy disk, hard disk drive (HDD), etc.), an optical disk (CD-ROM, DVD disk, Blu-ray disk, etc.), a read-only memory (ROM), a random access memory (RAM), an EPROM, an EEPROM, a magnetic card, a flash memory, an optical card, and any type of medium suitable for storing electronic instructions. [Explanation of symbols]
[0044] 100: map difference evaluation device (information processing device), 110: processor, 120: memory 130: communication device, 140: input device, 150: output device 121: map acquisition unit, 122: area division unit, 123: correspondence determination unit, 124: difference extraction unit 125: simplification unit, 126: lane number assignment unit, 127: graph editing path determination unit 128: Result output section
Claims
1. An information processing device that detects a difference between a reference map and an input map, obtaining a reference map and an input map, each of which includes a plurality of nodes and a plurality of edges; Dividing each of the regions of the reference map and the input map into branching regions where branching of roads or lanes exists and non-branching regions other than the branching regions; determining branching regions and non-branching regions of the input map corresponding to the branching regions and non-branching regions of the reference map based on an overlapping degree between the branching regions of the reference map and the branching regions of the input map and an overlapping degree between the non-branching regions of the reference map and the non-branching regions of the input map; determining, for each of the corresponding regions, a graph edit path that minimizes an edit cost defined by a predetermined criterion; outputting the graph edit path for a plurality of corresponding regions as a difference between the reference map and the input map; 13. An information processing apparatus comprising: a control unit that executes the above-mentioned steps.
2. The control unit outputs a sum of the editing costs for the corresponding regions as a distance or a difference between the reference map and the input map.
2. The information processing apparatus according to claim 1,
3. the control unit divides each of the areas of the reference map and the input map into the branching area and the non-branching area based on positions of branching nodes included in the reference map and the input map, or based on information specifying a branching area assigned to the reference map and the input map.
2. The information processing apparatus according to claim 1,
4. the control unit deletes a non-branching intermediate node that is a node other than an entrance end and an exit end of the branching region or the non-branching region and is not a branching node, edits the graph so that nodes on both ends of the non-branching intermediate node are connected by an edge, and then determines the graph edit path.
2. The information processing apparatus according to claim 1,
5. The control unit assigns lane numbers to lanes included in each road in a predetermined order, The editing cost of matching nodes with different lane numbers is greater than the editing cost of matching nodes with the same lane number.
2. The information processing apparatus according to claim 1,
6. the farther the position of the associated node is, the larger the editing cost is, and a larger editing cost is assigned to a positional deviation in a direction perpendicular to the traveling direction of the road corresponding to the node than to a positional deviation in the traveling direction of the road; 2. The information processing apparatus according to claim 1,
Citation Information
Patent Citations
Navigation device and distribution system
JP2014209070A
On-vehicle device, map updating system
JP2018165617A
Map creation device, map creation method, map creation program thereof, and recording medium
JP2019012150A
Information processor, and information processing method
JP2022158530A
Map update data management device, map data update system and update data structure for map
JP2017223797A