MATCHING DEVICE, MATCHING METHOD, AND PROGRAM
Patent Information
- Application Number
- JP2021048130
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-23
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2041-03-23
AI Technical Summary
【0012】 本発明によれば、検出した地物と、地図データ内の地物とを一対一に適切にマッチングすることができる。
Smart Images

Figure 0007635036000001 
Figure 0007635036000002 
Figure 0007635036000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a matching device, a matching method, and a program. [Background technology]
[0002] In recent years, a SLAM (Simultaneous Localization and Mapping) technique has become known that simultaneously estimates a position and creates a map from captured images, etc. In addition, a technique has been proposed that uses the SLAM technique to match detected objects (e.g., features) with objects in map data (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2018-41431 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, when detecting feature positions using SLAM technology, there are cases where detection errors or noise can cause feature position shifts, features cannot be detected, or features are detected overlapping, etc. Therefore, with the above-mentioned conventional matching technology, it is difficult to match detected features with features in map data on a one-to-one basis.
[0005] The present invention has been made to solve the above-mentioned problems, and its purpose is to provide a matching device, a matching method, and a program that can appropriately match detected features with features in map data on a one-to-one basis. [Means for solving the problem]
[0006] In order to solve the above problem, one aspect of the present invention includes a feature detection processing unit that executes a detection process multiple times to detect features and their positions using SLAM (Simultaneous Localization and Mapping) technology that simultaneously performs position estimation and map creation based on detection data detected by a detection unit, a position estimation processing unit that classifies the detection positions of the features detected multiple times by the feature detection processing unit into clusters by clustering and estimates a representative position of each cluster as an estimated position of the detected feature, and a matching processing unit that matches the detected feature with features in map data that has been generated in advance, based on the estimated position of the detected feature estimated by the position estimation processing unit. The matching processing unit matches the detected feature with a feature in the map data by a Hungarian method so that a total cost of distance between the estimated position of the corresponding detected feature and the position of the feature in the map data is minimized. The matching device is characterized by the above.
[0008] Moreover, in one aspect of the present invention, in the above-mentioned matching device, the matching processing unit performs a conversion process of standardizing a coordinate system of the detected features and a coordinate system of the features in the map data so that a positional relationship between two detected features selected from the detected features and two features selected from the features in the map data matches, mapping each feature among the detected features and each feature among the features in each of the map data in a hash table, and converting the detected features and the features in the map data into the coordinate system corresponding to the pair of the two detected features and the two features for which the two hash tables are most similar, thereby converting the estimated positions of the detected features and the positions of the features in the map data, and performing a matching process of matching the detected features with the features in the map data by a Hungarian method based on the estimated positions of the detected features and the positions of the features in the map data converted by the conversion process so that a total cost of distance between the corresponding estimated positions of the detected features and the positions of the features in the map data is minimized.
[0009] In addition, one aspect of the present invention is characterized in that, in the above matching device, the representative position of the cluster is a center of gravity position of the cluster.
[0010] Also, one aspect of the present invention includes a feature detection step in which a feature detection processing unit executes a detection process multiple times to detect features and positions of the features using a SLAM (Simultaneous Localization and Mapping) technique that simultaneously performs position estimation and map creation based on detection data detected by a detection unit, a position estimation step in which a position estimation processing unit classifies the detection positions of the features detected multiple times by the feature detection step into clusters by clustering and estimates a representative position of each cluster as an estimated position of the detected feature, and a matching step in which a matching processing unit matches the detected feature with a feature in map data generated in advance based on the estimated position of the detected feature estimated by the position estimation step. In the matching step, the matching processing unit matches the detected feature with a feature in the map data by a Hungarian method so that a total cost of distance between the estimated position of the corresponding detected feature and the position of the feature in the map data is minimized. This is a matching method characterized by the above.
[0011] Also, one aspect of the present invention is a method for causing a computer to execute a feature detection step of executing a detection process multiple times to detect features and their positions using a SLAM (Simultaneous Localization and Mapping) technique that simultaneously performs position estimation and map creation based on detection data detected by a detection unit, a position estimation step of classifying the detected positions of the features detected multiple times by the feature detection step into clusters by clustering and estimating a representative position of each cluster as an estimated position of the detected feature, and a matching step of matching the detected feature with features in map data that has been generated in advance, based on the estimated positions of the detected feature estimated by the position estimation step. In the matching step, a process is performed to match the detected feature with a feature in the map data by using a Hungarian method so that a total cost of distance between the estimated position of the corresponding detected feature and the position of the feature in the map data is minimized. This is a program for Effect of the Invention
[0012] According to the present invention, it is possible to appropriately match detected features with features in map data on a one-to-one basis. [Brief description of the drawings]
[0013] [Figure 1] 1 is a block diagram showing an example of a matching device according to an embodiment of the present invention; [Diagram 2] 1 is a diagram illustrating an example of a feature position estimation process according to an embodiment of the present invention; [Diagram 3] 10A and 10B are diagrams illustrating an example of a feature position conversion process using a hash table in this embodiment. [Figure 4] 11A and 11B are diagrams illustrating an example of matching processing according to the Hungarian method in the present embodiment. [Diagram 5] 5 is a flowchart showing an example of the operation of the matching device according to the present embodiment. [Figure 6] 11 is a flowchart illustrating an example of feature detection processing of the matching device according to the present embodiment. [Figure 7] 10 is a flowchart illustrating an example of a feature position estimation process of the matching device according to the present embodiment. [Figure 8] 10 is a flowchart illustrating an example of a matching process of the matching device according to the present embodiment. [Figure 9] FIG. 11 is a diagram showing an example of a matching result of the matching device according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A matching device and a matching method according to an embodiment of the present invention will be described below with reference to the drawings.
[0015] FIG. 1 is a block diagram showing an example of a matching device 1 according to this embodiment. 1 is a device that uses SLAM (Simultaneous Localization and Mapping) technology to detect features such as utility poles and perform matching to establish one-to-one correspondence with features in map data (map database). The matching device 1 is mounted on a moving object such as a vehicle, and detects features such as utility poles based on detection data detected by a detection unit 20 while moving, and performs matching with features in the map data (map database).
[0016] As shown in FIG. 1, the matching device 1 includes an input unit 11, a display unit 12, a detection unit 20, a storage unit 30, and a control unit . The input unit 11 is an input device such as a keyboard or a mouse, and receives various input information in response to operations by a user. The input unit 11 is used when operating the matching device 1.
[0017] The display unit 12 is, for example, a display device such as a liquid crystal display, and displays various information output by the matching device 1. The display unit 12 displays, for example, setting images for various settings, menu images, map data, detected features, matching results, and the like.
[0018] The detection unit 20 is, for example, a camera, a LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging), a radar device, a range finder, etc. The detection unit 20 detects detection data that is input data when performing position estimation and map creation simultaneously using SLAM technology. The detection unit 20 outputs the detected detection data to the control unit 40.
[0019] The storage unit 30 stores various information used by the matching device 1. The storage unit 30 includes a detection data storage unit 31, a map data storage unit 32, a detected feature storage unit 33, a cluster storage unit 34, a center of gravity position storage unit 35, a hash table storage unit 36, a conversion position storage unit 37, and a matching result storage unit 38.
[0020] The detection data storage unit 31 stores detection data detected by the detection unit 20, such as image data captured by a camera and detection data detected by LIDAR. The detection data storage unit 31 stores detection data for multiple times (e.g., 10 times or 20 times) of processing to detect features and their positions using SLAM technology.
[0021] The map data storage unit 32 stores map data including previously measured features. The map data storage unit 32 is, for example, a map database. The detected feature storage unit 33 stores information on detected features detected by the feature detection processing unit 41 described later. The detected feature storage unit 33 stores the identification information of the detected feature (e.g., label information) and the position coordinates of the detected feature in association with each other. Note that the detected feature storage unit 33 stores information on multiple detected features for one detected feature, for example.
[0022] The cluster storage unit 34 stores the results of a clustering process executed by a position estimation processing unit 42, which will be described later. The centroid position storage unit 35 stores the centroid position of each cluster as an estimated position of the detected feature. The cluster storage unit 34 stores, for example, the identification information of the detected feature and the position coordinates of the centroid of the cluster in association with each other.
[0023] The hash table storage unit 36 stores a hash table in which features are mapped for use in the conversion process described below. The converted position storage unit 37 stores the detected position information converted by a conversion process described later and the converted position information of the map data. The converted position storage unit 37 stores the position information obtained by converting the positional relationship of the detected feature and the positional relationship of the feature in the map data so that the shapes, orientations, and sizes roughly match.
[0024] The matching result storage unit 38 stores the results of the matching process executed by the matching device 1. The matching result storage unit 38 stores the identification information of the detected feature and the identification information of the feature in the map data in association with each other. Note that the matching in this embodiment matches (associates) the detected feature with the feature in the map data on a one-to-one basis.
[0025] The control unit 40 includes, for example, a CPU (Central Processing Unit) and performs overall control of the matching device 1. The control unit 40 executes various processes for matching detected features with features in the map data. The control unit 40 stores the detection data detected by the detection unit 20 in the detection data storage unit 31. The control unit 40 acquires multiple pieces of detection data (multiple pieces of detection data detected at the same location) for which feature detection processing is performed from the detection unit 20, and stores them in the detection data storage unit 31. The control unit 40 also includes a feature detection processing unit 41 , a position estimation processing unit 42 , and a matching processing unit 43 .
[0026] The feature detection processing unit 41 executes a detection process multiple times to detect features and their positions using SLAM technology that simultaneously performs position estimation and map creation based on the detection data detected by the detection unit 20. The feature detection processing unit 41 acquires detection data stored in the detection data storage unit 31 and repeatedly executes the detection process to detect features and their positions. The feature detection processing unit 41 executes the process on multiple detection data for the same location. The feature detection processing unit 41 stores the detected features and position information (detection positions) detected multiple times by the feature detection process in the detected feature storage unit 33.
[0027] The position estimation processing unit 42 classifies the detection positions of the features detected by the feature detection processing unit 41 into clusters by clustering, and estimates the representative position of each cluster as the estimated position of the detected feature. The position estimation processing unit 42 acquires the detected features stored in the detected feature storage unit 33, and clusters the estimated positions of the detected objects by a clustering method such as DBSCAN (Density-Based Spatial Clustering of Applications with Noise), K-means method, or GMM (Gaussian Mixture Model) method. The position estimation processing unit 42 stores the result of the clustering process in the cluster storage unit 34.
[0028] Furthermore, the position estimation processing unit 42 calculates the center of gravity of each cluster as a representative position, and sets the calculated center of gravity of each cluster as the estimated position of each detected object. The position estimation processing unit 42 acquires detected features included in each cluster stored in the cluster storage unit 34, and calculates the center of gravity. Here, details of the feature detection process according to this embodiment will be described with reference to FIG. 2.
[0029] FIG. 2 is a diagram for explaining an example of feature position estimation processing in this embodiment. Fig. 2(a) shows the result of clustering the features detected multiple times by the position estimation processing unit 42. In Fig. 2(a), the white circle marks indicate the features detected multiple times. Clusters CL1 to CL4 indicate the results of the clustering process. Furthermore, the black circle marks indicate the centers of gravity of each cluster (cluster CL1 to cluster CL4).
[0030] The position estimation processing unit 42 generates clusters CL1 to CL4 by clustering. The position estimation processing unit 42 stores the clusters CL1 to CL4 in the cluster storage unit 34. After generating the clusters CL1 to CL4, the position estimation processing unit 42 calculates the center of gravity of each of the clusters CL1 to CL4. For example, the center of gravity G1 indicates the center of gravity of the cluster CL1, and the center of gravity G2 indicates the center of gravity of the cluster CL2. The center of gravity G3 indicates the center of gravity of the cluster CL3, and the center of gravity G4 indicates the center of gravity of the cluster CL4.
[0031] As shown in Fig. 2(b), the position estimation processing unit 42 estimates each of the centers of gravity G1 to G4 as an estimated position of the detected object. The position estimation processing unit 42 stores the estimation results of the estimated positions of the detected object as shown in Fig. 2(b) in the center of gravity position storage unit 35. The set of estimated positions of the detected object stored in the center of gravity position storage unit 35 corresponds to map data of the estimated positions of the detected object.
[0032] Returning to the explanation of Fig. 1, the matching processing unit 43 matches the detected feature with features in the map data generated in advance, based on the estimated position of the detected feature estimated by the position estimation processing unit 42. The matching processing unit 43 executes a conversion process for converting the estimated position of the detected feature and the position of the feature in the map data, and a matching process for matching the detected feature with the feature in the map data by the Hungarian method, based on the converted estimated position of the detected feature and the position of the feature in the map data. The matching processing unit 43 includes a conversion processing unit 431 and a Hungarian method processing unit 432.
[0033] The conversion processing unit 431 executes a conversion process using a hash table (e.g., Geometric Hashing) to convert the estimated positions of the detected features and the positions of the features in the map data. Here, the conversion process by the conversion processing unit 431 to convert the estimated positions of the detected features and the positions of the features in the map data using a hash table will be described with reference to Fig. 3.
[0034] FIG. 3 is a diagram for explaining an example of feature position conversion processing using a hash table in this embodiment. FIG. 3(a) shows map data stored in the map data storage unit 32. FIG. 3(d) shows a map of detected features stored in the center of gravity storage unit 35. The conversion processing unit 431 selects two features from among the features in the map data stored in the map data storage unit 32, and converts them into a common coordinate system as shown in FIG. 3(b). Here, the conversion processing unit 431 enlarges, reduces, and rotates the two selected features so that their position coordinates become (0,0) and (1,0), and converts the positions of all features into the common coordinate system. In the example shown in FIG. 3(b), detected feature "4" and detected feature "1" are selected.
[0035] Meanwhile, the conversion processing unit 431 selects two detected features from among the detected features stored in the centroid position storage unit 35, and converts them into a common coordinate system as shown in Fig. 3(e). Here, the conversion processing unit 431 performs enlargement, reduction, and rotation so that the position coordinates of the two selected detected features become (0,0) and (1,0), and converts the positions of all detected features into the common coordinate system. In the example shown in Fig. 3(e), detected feature "4" and detected feature "1" are selected.
[0036] In this way, the conversion processing unit 431 standardizes the coordinate system of the detected features and the coordinate system of the features in the map data so that the positional relationship between two detected features selected from the detected features stored in the centroid position storage unit 35 matches with the positional relationship between two features selected from the features in the map data stored in the map data storage unit 32. In other words, the conversion processing unit 431 performs enlargement, reduction, and rotation to convert all detected features, including features other than the two features, and features in the map data into a common coordinate system so that the positional relationship between the two detected features matches with the two features in the map data.
[0037] The conversion processing unit 431 also maps the detected features and features in the map data that have been converted into the common coordinate system to a hash table. Here, the hash table is a table divided into meshes, and each mesh corresponds to a position in the common coordinate system. For example, the conversion processing unit 431 maps the features converted into the common coordinate system shown in FIG. 3(b) to a hash table as shown in FIG. 3(c). The conversion processing unit 431 repeatedly executes the generation of a hash table as shown in FIG. 3(c) by changing the two features to be selected. Note that the conversion processing unit 431 repeatedly executes the generation of a hash table as shown in FIG. 3(c) until all permutations in which two features are selected from among the detected features or features in the map data are selected. The conversion processing unit 431 generates hash tables for all permutations in which two features are selected from among the features in the map data stored in the map data storage unit 32.
[0038] Furthermore, the conversion processing unit 431 maps the detected features converted into the common coordinate system shown in Fig. 3(e) to a hash table as shown in Fig. 3(f), for example. The conversion processing unit 431 repeatedly executes the generation of a hash table as shown in Fig. 3(f) by changing the two detected features to be selected. The conversion processing unit 431 generates hash tables for all permutations for selecting two of the detected features stored in the centroid position storage unit 35. The conversion processing unit 431 stores the generated hash table of the features of the map data and the hash table of the detected features in the hash table storage unit 36.
[0039] The conversion processing unit 431 compares the generated hash table of the detected feature with the hash table of the feature in the map data, and extracts the most similar pair. Specifically, when the mesh positions of the features in the hash tables match, the conversion processing unit 431 casts one vote and selects the pair with the most votes. The conversion processing unit 431 stores the map data corresponding to each of the selected hash table of the detected feature and the hash table of the feature in the map data in the conversion position storage unit 37.
[0040] In this way, the conversion processing unit 431 converts the detected features and the features in the map data into a coordinate system corresponding to the pair of two detected features and two features whose two hash tables are most similar, and converts the estimated positions of the detected features and the positions of the features in the map data.
[0041] Returning to the explanation of Fig. 1, the Hungarian method processing unit 432 executes a matching process by the Hungarian method to match detected features with features in the map data so that the total cost of the distance between the estimated position of the corresponding detected feature and the position of the feature in the map data is minimized. Here, the matching process by the Hungarian method will be explained with reference to Fig. 4.
[0042] FIG. 4 is a diagram for explaining an example of matching processing according to the Hungarian method in this embodiment. 4, the Hungarian method processing unit 432 calculates the distance between the converted position of the detected feature stored in the converted position storage unit 37 and the position of the feature in the map data as a cost in a round-robin manner, and matches the pair of the detected feature and the feature in the map data that has the smallest total distance cost. The Hungarian method processing unit 432 stores the matching relationship between the detected feature and the feature in the map data that has the smallest total cost in the matching result storage unit 38 as the result of the matching process.
[0043] Next, the operation of the matching device 1 according to the present embodiment will be described with reference to the drawings. FIG. 5 is a flowchart showing an example of the operation of the matching device 1 according to this embodiment.
[0044] 5, the control unit 40 of the matching device 1 acquires detection data for a plurality of times (step S101). The control unit 40 acquires the detection data for a plurality of times from the detection unit 20 in order to execute feature detection processing using the SLAM technique. The control unit 40 stores the acquired detection data for a plurality of times in the detection data storage unit 31.
[0045] Next, the feature detection processing unit 41 of the control unit 40 performs feature detection processing multiple times based on the detection data (step S102). The feature detection processing unit 41 acquires the detection data stored in the detection data storage unit 31, and performs feature detection processing to detect features and their positions based on the detection data. The feature detection processing unit 41 changes the detection data and performs detection processing multiple times for the same feature. The feature detection processing unit 41 stores the feature detection results for the multiple times in the detected feature storage unit 33. Details of the feature detection processing will be described later with reference to FIG. 6.
[0046] Next, the position estimation processing unit 42 of the control unit 40 executes a position estimation process using a clustering technique (step S103). The position estimation processing unit 42 clusters (groups) the detected features stored in the detected feature storage unit 33 by clustering, and determines the centroid position of each cluster as the estimated position of the detected feature. The position estimation processing unit 42 stores the determined estimated position of the detected feature in the centroid position storage unit 35. Details of the position estimation process will be described later with reference to FIG. 7.
[0047] Next, the matching processing unit 43 of the control unit 40 executes a matching process between the features of the map data and the detected features (step S104). The matching processing unit 43 executes a matching process for one-to-one matching between the features of the map data stored in the map data storage unit 32 and the detected features stored in the center of gravity position storage unit 35. The matching processing unit 43 stores the results of the matching process in the matching result storage unit 38. Details of the matching process will be described later with reference to FIG. 8. After the process of step S104, the control unit 40 ends the process.
[0048] 5 corresponds to a feature detection step, the process of step S103 corresponds to a position estimation step, and the process of step S104 corresponds to a matching step.
[0049] Next, with reference to FIG. 6, the process of step S102 shown in FIG. 5 will be described in detail. FIG. 6 is a flowchart showing an example of feature detection processing by the matching device 1 according to this embodiment.
[0050] As shown in FIG. 6, the feature detection processing unit 41 of the matching device 1 first sets the number of repetitions N to "1" (step S201).
[0051] Next, the feature detection processing unit 41 segments the N-th detection data (step S202). The feature detection processing unit 41 acquires the N-th detection data (e.g., captured image data, etc.) from the detection data storage unit 31, and executes, for example, image segmentation (semantic segmentation). As a result, the feature detection processing unit 41 detects features from the detection data and labels them.
[0052] Next, the feature detection processing unit 41 estimates the position of the detected feature by SLAM (step S203). The feature detection processing unit 41 estimates the position of the detected feature from the N-th detection data by using the SLAM technique.
[0053] Next, the feature detection processing unit 41 calculates the coordinates (SLAM coordinate system) of the estimated position of the detected feature (step S204). The feature detection processing unit 41 converts the coordinates of the estimated position of the detected feature into the SLAM coordinate system with the detection unit 20 at the center.
[0054] Next, the feature detection processing unit 41 generates a map of the estimated positions (GPS coordinate system) of the detected features (step S205). The feature detection processing unit 41 converts the estimated positions of the detected features into the GPS coordinate system (world coordinate system) and generates map data in which the detected features are entered at their estimated positions. The feature detection processing unit 41 stores the generated map data of the detected features (positions of the detected features) in the detected feature storage unit 33.
[0055] Next, the feature detection processing unit 41 judges whether the N-th detection data is the last detection data of the multiple detection data (step S206). If the N-th detection data is the last detection data (step S206: YES), the feature detection processing unit 41 ends the feature detection processing. If the N-th detection data is not the last detection data (step S206: NO), the feature detection processing unit 41 advances the processing to step S207.
[0056] In step S207, the feature detection processing unit 41 assigns "N+1" to the number of repetitions N to update the number of repetitions N, and returns the process to step S202. As a result, the feature detection processing unit 41 repeats the processes from step S202 to step S206 multiple times.
[0057] Next, with reference to FIG. 7, the process of step S103 shown in FIG. 5 will be described in detail. FIG. 7 is a flowchart showing an example of the position estimation process of the matching device 1 according to this embodiment.
[0058] 7, the position estimation processing unit 42 of the matching device 1 first performs clustering on the positions of the detected features from multiple times (step S301). The position estimation processing unit 42 uses a clustering method such as DBSCAN, K-means, or GMM to classify the detected features stored in the detected feature storage unit 33 into clusters, for example, as shown in FIG. 2(a).
[0059] Next, the position estimation processing unit 42 calculates the center of gravity of each cluster and sets it as the estimated position of each feature (step S302). The position estimation processing unit 42 calculates the center of gravity (see centers of gravity G1 to G4 in FIG. 2), for example, like the black circle marks shown in FIG. 2(a), and sets the center of gravity as the estimated position of the detected feature.
[0060] Next, the position estimation processing unit 42 generates a map of the estimated positions of the detected features (step S303). The position estimation processing unit 42 generates a map such as that shown in Fig. 2(b), for example, and stores it in the center of gravity position storage unit 35. After the process of step S303, the position estimation processing unit 42 ends the position estimation process.
[0061] Next, with reference to FIG. 8, the process of step S104 shown in FIG. 5 will be described in detail. FIG. 8 is a flowchart showing an example of the matching process of the matching device 1 according to this embodiment.
[0062] 8, the matching processing unit 43 of the matching device 1 first selects two features from among the features of the map data (step S401). The conversion processing unit 431 of the matching processing unit 43 selects two features from among the features of the map data stored in the map data storage unit 32, for example, as shown in FIG.
[0063] Next, the conversion processing unit 431 converts each feature into a common coordinate system based on the positional relationship between the two features (step S402). For example, as shown in FIG. 3(b), the conversion processing unit 431 converts each feature into the common coordinate system by enlarging, reducing, and rotating the two selected features ("4", "1") so that they are located at coordinates (0,0) and (1,0).
[0064] Next, the conversion processing unit 431 maps the position of each feature in the universal coordinate system to a hash table (step S403). The conversion processing unit 431 maps the position of each feature to a hash table, for example, as shown in FIG.
[0065] Next, the conversion processing unit 431 judges whether or not there are the next two features (step S404). The conversion processing unit 431 judges whether or not there are the next two features in the permutation for selecting two features from among the features of the map data. If there are the next two features (step S404: YES), the conversion processing unit 431 returns the process to step S401 and similarly executes the processes from step S401 to step S404 for the next two features. If there are not the next two features (step S404: NO), the conversion processing unit 431 advances the process to step S405.
[0066] In step S405, the conversion processing unit 431 selects two detected features from the detected features stored in the centroid position storage unit 35, for example, from the detected features as shown in FIG.
[0067] Next, the conversion processing unit 431 converts each detected feature into a common coordinate system based on the positional relationship between the two detected features (step S406). For example, as shown in FIG. 3(e), the conversion processing unit 431 converts each detected feature into the common coordinate system by enlarging, reducing, and rotating the two selected detected features ("a" and "b") so that they are located at coordinates (0,0) and coordinates (1,0).
[0068] Next, the conversion processing unit 431 maps the position of each detected feature in the universal coordinate system to a hash table (step S407). The conversion processing unit 431 maps the position of each detected feature to a hash table, for example, as shown in FIG.
[0069] Next, the conversion processing unit 431 determines whether or not there are two next detected features (step S408). The conversion processing unit 431 determines whether or not there are two next detected features in the permutation for selecting two detected features from the detected features stored in the centroid position storage unit 35. If there are two next detected features (step S408: YES), the conversion processing unit 431 returns the process to step S405 and similarly executes the processes from step S405 to step S408 for the next two detected features. If there are not two next detected features (step S408: NO), the conversion processing unit 431 advances the process to step S409.
[0070] In step S409, the conversion processing unit 431 extracts the pair of hash tables that has the most features of the same mesh. The conversion processing unit 431 compares the hash table of the features of the map data with the hash table of the detected features, and extracts the most similar pair of hash tables.
[0071] Next, the conversion processing unit 431 converts the detected features and the features of the map data into a common coordinate system corresponding to the extracted hash table set (step S410). The conversion processing unit 431 generates map data in the common coordinate system as shown in Figures 3(e) and 3(b) corresponding to the extracted hash table set as converted position information. The conversion processing unit 431 stores the generated converted position information corresponding to the detected features and the features of the map data in the converted position storage unit 37.
[0072] Next, the conversion processing unit 431 matches the detected feature with the feature of the map data that has the smallest total distance cost according to the Hungarian method (step S411). The conversion processing unit 431 calculates the total distance cost as described above in FIG. 4, and executes a process of associating the detected feature with the feature of the map data that has the smallest total cost on a one-to-one basis. The conversion processing unit 431 stores the result of the matching process in the matching result storage unit 38. After the process of step S411, the conversion processing unit 431 ends the matching process.
[0073] In addition, in the above-mentioned FIG. 8, the processes from step S401 to step S410 correspond to the conversion process, and the process of step S411 corresponds to the matching process according to the Hungarian method.
[0074] FIG. 9 is a diagram showing an example of a matching result of the matching device 1 according to this embodiment. The example shown in FIG. 9 illustrates an example in which the matching device 1 according to the present embodiment performs matching of a utility pole, which is a feature on the ground.
[0075] Fig. 9(a) is a map showing utility poles in map data, and Fig. 9(b) shows detected utility poles (detected utility poles). As shown in Fig. 9, the matching device 1 according to this embodiment is capable of one-to-one matching between utility poles in map data and detected utility poles. As shown in Fig. 9, one-to-one matching between utility poles in map data and detected utility poles can be used, for example, in a system for detecting utility pole failures.
[0076] As described above, the matching device 1 according to this embodiment includes a feature detection processing unit 41, a position estimation processing unit 42, and a matching processing unit 43. The feature detection processing unit 41 executes a detection process for detecting features and their positions multiple times using SLAM technology that simultaneously performs position estimation and map creation based on detection data detected by the detection unit 20. The position estimation processing unit 42 classifies the detection positions of features detected multiple times by the feature detection processing unit 41 into clusters by clustering, and estimates a representative position of each cluster as an estimated position of the detected feature. The matching processing unit 43 matches the detected feature with features in map data generated in advance based on the estimated position of the detected feature estimated by the position estimation processing unit 42.
[0077] As a result, the matching device 1 according to this embodiment classifies detected features that have been detected multiple times into clusters by clustering and estimates the representative position of each cluster as the estimated position of the detected feature, thereby making it possible to eliminate the effects of feature position shifts due to detection errors or noise, features not being able to be detected, or features being detected in duplicate, etc. Therefore, the matching device 1 according to this embodiment can appropriately match detected features with features in the map data on a one-to-one basis.
[0078] Furthermore, in this embodiment, the matching processing unit 43 matches the detected features with features in the map data using the Hungarian method so that the total cost of the distance between the estimated position of the corresponding detected feature and the position of the feature in the map data is minimized. This allows the matching device 1 according to the present embodiment to more easily perform one-to-one matching between detected features and features in the map data using the Hungarian method.
[0079] In this embodiment, the matching processing unit 43 executes a conversion process and a matching process. In the conversion process, the matching processing unit 43 standardizes the coordinate system of the detected features and the coordinate system of the features in the map data so that the positional relationship between two detected features selected from among the detected features and two features selected from among the features in the map data coincides. In the conversion process, the matching processing unit 43 maps each of the detected features and each of the features in each map data to a hash table, converts the detected features and the features in the map data into a coordinate system corresponding to a pair of two detected features and two features whose two hash tables are most similar, and converts the estimated positions of the detected features and the positions of the features in the map data. In the matching process, the matching processing unit 43 matches the detected features with the features in the map data by the Hungarian method based on the estimated positions of the detected features converted by the conversion process and the positions of the features in the map data so that the total cost of the distance between the corresponding estimated positions of the detected features and the positions of the features in the map data is minimized.
[0080] As a result, the matching device 1 according to this embodiment uses a conversion process to enlarge, reduce, and rotate the estimated positions of the detected features and the positions of the features in the map data so that the shape of the set of features in the map data matches the shape of the set of detected features, making it even easier to perform one-to-one correspondence.The matching device 1 according to this embodiment can also more easily match the detected features with the features in the map data on a one-to-one basis using the Hungarian method.As a result, the matching device 1 according to this embodiment can more appropriately match the detected features with the features in the map data on a one-to-one basis.
[0081] In this embodiment, the representative position of a cluster is the center of gravity of the cluster. As a result, the matching device 1 according to this embodiment can extract an appropriate representative position of a cluster by a simple method of calculating the center of gravity of the cluster, and can appropriately match the detected features with features in the map data on a one-to-one basis.
[0082] The matching method according to the present embodiment includes a feature detection step, a position estimation step, and a matching step. In the feature detection step, the feature detection processing unit 41 executes a detection process for detecting features and their positions multiple times based on the detection data detected by the detection unit 20, using SLAM technology that simultaneously performs position estimation and map creation. In the position estimation step, the position estimation processing unit 42 classifies the detection positions of the features detected multiple times in the feature detection step into clusters by clustering, and estimates a representative position of each cluster as an estimated position of the detected feature. In the matching step, the matching processing unit 43 matches the detected feature with a feature in the map data generated in advance, based on the estimated position of the detected feature estimated in the position estimation step.
[0083] As a result, the matching method according to this embodiment has the same effect as the above-mentioned matching device 1, and can appropriately match detected features with features in the map data on a one-to-one basis.
[0084] The present invention is not limited to the above-described embodiment, and can be modified without departing from the spirit of the present invention. For example, in the above embodiment, the matching processing unit 43 is provided with the conversion processing unit 431 that performs conversion processing using a hash table, but the present invention is not limited to this. The matching processing unit 43 may not include the conversion processing unit 431, and may use the detected features stored in the center of gravity position storage unit 35 for matching as is.
[0085] In addition, in the above embodiment, an example was described in which the matching processing unit 43 uses the Hungarian method as the matching process, but this is not limited to this, and other methods may be used as long as they are suitable for one-to-one matching.
[0086] In the above embodiment, the matching device 1 includes the detection unit 20. However, the present invention is not limited to this example, and the matching device 1 may acquire detection data from an external source.
[0087] In addition, in the above embodiment, an example of calculating the center of gravity position as the representative position of the cluster has been described, but this is not limited to this. For example, the median value of each coordinate in the cluster may be used as the representative position, or another representative position may be used.
[0088] In the above embodiment, the control unit 40 and a part of the storage unit 30 may be provided outside the matching device 1.
[0089] Each of the components of the matching device 1 described above has a computer system inside. A program for realizing the function of each of the components of the matching device 1 described above may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a computer system and executed to perform processing in each of the components of the matching device 1 described above. Here, "reading a program recorded on a recording medium into a computer system and executing it" includes installing the program into a computer system. The "computer system" referred to here includes hardware such as an OS and peripheral devices. Furthermore, a "computer system" may include multiple computer devices connected via a network including the Internet, WAN, LAN, dedicated lines, and other communication lines. Furthermore, a "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into a computer system. In this way, the recording medium storing the program may be a non-transitory recording medium such as a CD-ROM.
[0090] The recording medium also includes a recording medium installed inside or outside and accessible from a distribution server to distribute the program. The program may be divided into a plurality of parts, downloaded at different times, and then combined by each component of the matching device 1, or each divided program may be distributed by a different distribution server. Furthermore, the "computer-readable recording medium" includes a recording medium that holds a program for a certain period of time, such as a volatile memory (RAM) inside a computer system that becomes a server or a client when a program is transmitted via a network. The above program may also be a recording medium for realizing part of the above-mentioned functions. Furthermore, the recording medium may be a so-called difference file (difference program) that can realize the above-mentioned functions in combination with a program already recorded in the computer system.
[0091] In addition, some or all of the above-mentioned functions may be realized as an integrated circuit such as LSI (Large Scale Integration). Each of the above-mentioned functions may be individually processed, or some or all of the functions may be integrated into a processor. The integrated circuit method is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. In addition, if an integrated circuit technology that can replace LSI appears due to advances in semiconductor technology, an integrated circuit based on that technology may be used. [Explanation of symbols]
[0092] 1 Matching device 11 Input section 12 Display section 20 Detection unit 30 Storage section 31 Detection data storage unit 32 Map data storage unit 33 Detected feature memory unit 34 Cluster storage unit 35 Center of gravity position memory section 36 Hash table storage unit 37 Conversion position memory section 38 Matching result storage unit 40 Control section 41 Feature detection processing unit 42 Position estimation processing unit 43 Matching processing section 431 Conversion Processing Unit 432 Hungarian Law Department
Claims
1. a feature detection processing unit that executes a detection process for detecting features and their positions multiple times using a Simultaneous Localization and Mapping (SLAM) technique that simultaneously performs position estimation and map creation based on detection data detected by the detection unit; a position estimation processing unit that classifies the detection positions of the features detected by the feature detection processing unit into clusters by clustering and estimates a representative position of each cluster as an estimated position of the detected feature; a matching processing unit that matches the detected feature with features in pre-generated map data based on the estimated position of the detected feature estimated by the position estimation processing unit; Equipped with The matching processing unit: The detected features are matched with features in the map data in such a way that a total cost of distance between the estimated position of the corresponding detected feature and the position of the feature in the map data is minimized according to the Hungarian method. A matching device characterized by:
2. The matching processing unit: a conversion process for converting the estimated positions of the detected features and the positions of the features in the map data by standardizing the coordinate system of the detected features and the coordinate system of the features in the map data so that the positional relationship between two detected features selected from the detected features and two features selected from the features in the map data coincides, mapping each feature of the detected features and each feature of the features in each of the map data into a hash table, and converting the detected features and the features in the map data into the coordinate system corresponding to the pair of the two detected features and the two features that are most similar in the two hash tables; a matching process for matching the detected feature with a feature in the map data by a Hungarian method based on the estimated position of the detected feature converted by the conversion process and the position of the feature in the map data so that a total cost of distance between the corresponding estimated position of the detected feature and the position of the feature in the map data is minimized; 2. The matching device according to claim 1, wherein the matching device executes the following:
3. The representative position of the cluster is the center of gravity of the cluster.
3. The matching device according to claim 1 or 2.
4. a feature detection step in which the feature detection processing unit executes a detection process to detect features and their positions multiple times using a SLAM (Simultaneous Localization and Mapping) technique that simultaneously estimates a position and creates a map based on the detection data detected by the detection unit; a position estimation step in which a position estimation processing unit classifies the detected positions of the features detected by the feature detection step into clusters by clustering, and estimates a representative position of each cluster as an estimated position of the detected feature; a matching step in which a matching processing unit matches the detected feature with a feature in pre-generated map data based on the estimated position of the detected feature estimated by the position estimation step; Including, In the matching step, the matching processing unit matches the detected feature with the feature in the map data by a Hungarian method so that a total cost of distance between the estimated position of the corresponding detected feature and the position of the feature in the map data is minimized. A matching method comprising:
5. On the computer, a feature detection step of executing a detection process for detecting features and their positions multiple times using a Simultaneous Localization and Mapping (SLAM) technique that simultaneously estimates a position and creates a map based on the detection data detected by the detection unit; a position estimation step of classifying the detected positions of the features by clustering the detected positions of the features for the plurality of times, and estimating a representative position of each cluster as an estimated position of the detected feature; a matching step of matching the detected feature with a feature in pre-generated map data based on the estimated position of the detected feature estimated by the position estimating step; Run the command, In the matching step, a process of matching the detected feature with a feature in the map data is performed by a Hungarian method so that a total cost of distance between an estimated position of the corresponding detected feature and a position of the feature in the map data is minimized. The program to be executed.
Citation Information
Patent Citations
Automated driving system, method for automated driving, and computing device
JP2015155903A
Point group matching method with correspondence taken into account, point group matching device with correspondence taken into account, and program
JP2018041431A
Location and mapping methods
JP2018504710A
Object tracking device, object tracking system, object tracking method, display controller, object detection device, program, and recording medium
JP2019114280A
Information processing device, three-dimensional position estimation method, computer program, and storage medium
JP2019121019A