Computer-implemented method for map-based localization of a navigation system in a motor vehicle, navigation system, computer program, computer-readable storage medium and motor vehicle

The described method addresses inefficiencies in vehicle localization by refining the registration transformation between detected and mapped road markings, enhancing accuracy and reducing computational complexity, particularly in scenarios with parallel lines.

DE102023112926B4Active Publication Date: 2025-01-23CARIAD SE +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE102023112926
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-05-16
Publication Date
2025-01-23
Estimated Expiration
2043-05-16

AI Technical Summary

Technical Problem

Existing localization algorithms for motor vehicle navigation systems face challenges in accurately determining the transformation between recognized road markings and map segments, particularly when dealing with parallel lines, leading to inefficiencies and inaccuracies in positioning.

Method used

A computer-implemented procedure that determines candidate pairs of detection and navigation line segments, calculates a transformation using a two-dimensional translation space, and iteratively refines the registration transformation to align the detection field with the navigation card, incorporating filters and confidence criteria to optimize the localization process.

Benefits of technology

The proposed method enhances the accuracy and efficiency of vehicle localization by reducing computational complexity and improving alignment precision, even in scenarios with parallel lines, while maintaining robustness against measurement noise.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The invention relates to a computer-implemented method for map-based localization of a navigation system in a motor vehicle, the navigation system comprising a two-dimensional detection field (10) of an environment (14) of the motor vehicle detected by a detector device of the motor vehicle and a two-dimensional navigation map (12) of the environment (14) or a part thereof, wherein the detection field (10) comprises a plurality of detection line segments (16) and the navigation map (12) comprises a plurality of navigation line segments (18), wherein the detection field (10) and the navigation map (12) or a respective part thereof are at least partially mappable to each other by a registration transformation of the localization.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention relates to a computer-implemented method for map-based localization of a navigation system in a motor vehicle. The invention further relates to a navigation system, a computer program, a computer-readable storage medium, and a motor vehicle.

[0002] For localization, a motor vehicle may have a map of the vehicle's surroundings, where the map contains linear map orientation markers, such as lane markings or curbs, and be equipped with a camera device that can detect such markers. Since these markers are located at ground level, the problem can be assumed to be 2D. The task of a localization algorithm is to refine an initial hypothesis about the position and attitude of the motor vehicle by computing a pose update that reconciles the detected line segments and the segments from the map. For this purpose, it must be determined which of the many detected segments corresponds to which of the many segments on the map.

[0003] There are various approaches in the literature that address this type of matching situation. A first example of a localization algorithm is the Random Sample Consensus (RANSAC) method, which addresses localization in a general framework.

[0004] The RANSAC method is known from the following literature: [1] M. Fischler, C. Bolles “Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography,” Communications of the ACM, Vol 24, Issue 6 (1981).

[0005] The idea behind the RANSAC method is to randomly select a minimal set of pairs of detected markers and map orientation markers from which a transformation can be determined, and then check how many other detected markers can be mapped to the map orientation markers using this transformation. This process is repeated for several minimal sets until a statistical criterion indicates that the correct set of matches has been found with a high probability. In the case of a 2D line matching problem, the minimal set would generally consist of two pairs of detected marker and map orientation marker. A problem with this approach, however, is that map matching may frequently encounter parallel line pairs (e.g., the boundaries of a lane), and in such a situation, two pairs do not uniquely determine the transformation.Since there may be situations where the only correct matches come from parallel lines, this can be an obstacle for the RANSAC system.

[0006] A second example of a localization algorithm is the Hough transform, which addresses localization in a more general framework. The Hough transform is known from the following literature: [2] DH Ballard “Generalizing the Hough Transform To Detect Arbitrary Shapes,” Pattern Recognition, Vol 13, No 2, 1981.

[0007] The Hough transform involves constructing a 3D histogram, where each bin represents a potential transformation (thus, the three dimensions of the histogram are the yaw angle and the two components of the translation vector). The algorithm loops over all possible pairs of map orientation markers and detected markers. For each such pair, there is a 1D family of transformations (the angle and the component of the translation vector orthogonal to a map orientation marker can be determined from the pair, but the component tangent to the map orientation marker is unknown). The idea is to update the bins of the histogram corresponding to this family. Each of these bins contains a list of correspondences between map orientation markers and detected markers, and the pair in question is added to each bin of the 1D family of transformations.After all candidate pairs have been processed, the bin with the highest number of entries is considered the best match. A disadvantage of the Hough transform can be the unavoidable discretization of the transformations required to create finite histograms. Particularly for angles, discretization can lead to inaccurate transformations for detections far from the origin of the coordinate system due to a leverage effect. Increasing the number of bins in the histogram to obtain more precise discriminations in angle can increase both memory requirements and computation time.

[0008] A third example of a localization algorithm is the max-clique method. The max-clique method is known from the following literature: [3] Bustos et. al “A Practical Maximum Clique Algorithm for Matching with Pairwise constraints”.

[0009] In this approach, a graph is constructed where each node represents a candidate pair for the detected label. Two pairs are considered consistent if there exists a transformation that aligns both simultaneously. Edges are drawn in the graph between consistent pairs. Then, a maximal clique is found—that is, a subset of the nodes such that every node in this subset is consistent with every other node. This subset is then considered the best list of matches. One issue with this approach can be the running time. The general max-clique problem is NP-complete, and the best known algorithm has exponential complexity. While there are various approaches to speeding it up due to the special structure of the problem, runtime can be a hindrance.

[0010] EP 2 752 725 A2 discloses a method for aligning a first digital map and a second digital map based on a first direction estimate relative to the first map and a second direction estimate relative to the second map.

[0011] US 2021 / 0 407 130 A1 discloses a method for calibrating two sensors to each other based on the detection of location information of a road marking by the two sensors.

[0012] Furthermore, US 2015 / 0 161 454 A1 and US 2018 / 0 010 915 A1 are state of the art.

[0013] The object of the invention is to create an improved localization algorithm for computer-implemented localization of a motor vehicle.

[0014] To achieve this object, the invention provides a computer-implemented method for map-based localization of a navigation system in a motor vehicle according to claim 1. A navigation system, a computer program, a computer-readable storage medium and a motor vehicle are the subject of the independent claims. Advantageous embodiments are the subject of the subclaims.

[0015] According to one aspect, the invention provides a computer-implemented method for map-based localization of a navigation system in a motor vehicle, the navigation system comprising: a two-dimensional detection field in which an environment of the motor vehicle detected by a detector device of the motor vehicle is mapped, and a two-dimensional navigation map of the environment or a part thereof, wherein the detection field comprises a plurality of detection line segments and the navigation map comprises a plurality of navigation line segments, wherein the detection field and the navigation map or a respective part thereof are to be mapped onto one another at least partially by a registration transformation of the localization in order to determine a vehicle position in the navigation map, the method comprising: a) Determine a plurality N mcof candidate pairs each comprising one of the detection line segments and one of the navigation line segments, wherein the detection line segment on the one hand and the navigation line segment or a respective virtual geometrically extending continuation thereof on the other hand can each be mapped to one another by a candidate pair transformation, wherein the candidate pair transformation comprises on the one hand a rotation by a candidate pair rotation angle for a parallel alignment of navigation line segment and detection line segment and on the other hand a two-dimensional candidate pair translation by a candidate pair translation vector in a respective two-dimensional, intrinsic translation space, and determining the candidate pair rotation angle; b) For each of the plurality N mc of candidate pairs determined n anchor candidate pairs, 1 ≤ n ≤ N mc , respectively: b1) determining the corresponding candidate pair translation vector in the translation space of the anchor candidate pair (24); and b2) defining the corresponding candidate pair transformation of the anchor candidate pair (24) with the corresponding candidate pair rotation angle known from step a) and the corresponding candidate pair translation vector determined in step b1); c) determining the registration transformation based on the candidate pair transformations of the n anchor candidate pairs; and d) Localizing the navigation system based on the registration transformation determined in step c).

[0016] The method according to the invention can localize a navigation system for a motor vehicle. For this purpose, the navigation system is in a pre-registered or roughly or provisionally localized state. The method determines an optimal transformation to map a detection field of a detector device of the motor vehicle onto a navigation map of the navigation system. By mapping the detection field onto the navigation map and localizing the navigation system, the navigation of the motor vehicle can be improved. The invention can also be used in autonomous motor vehicles.

[0017] It is preferred that step b1) comprises: b1.1) in the respective translation space: determining a first translation component of the candidate pair translation vector for mapping the detection line segment (16) and the corresponding navigation line segment (18) and / or the respective continuation thereof; b1.2) in the respective translation space of the anchor candidate pair (24): representing a still missing second translation component of the candidate pair translation vector of the anchor candidate pair (24) as a plurality of line or area units (26), each having a line intersection counter for counting line intersections; b1.3) For from the multitude N mc candidate pairs (20) selected from candidate pairs (20), each of which does not match the anchor candidate pair (24): b1.3.1) performing step b1.1) for the selected candidate pairs (20) and representing the first and second translation components of the translation vector of the selected candidate pair (20) in the translation space of the anchor candidate pair (24) as a test line or a test strip; and b1.3.2) for the anchor candidate pair (24): accumulating the respective line intersection counter of those line or area units (26) which are intersected by the test line or the test strip in the translation space of the anchor candidate pair (24); and b1.4) Determining the corresponding candidate pair translation vector in the translation space of the anchor candidate pair (24) with an associated number N match,c of line intersections by means of the first translation component of the candidate pair translation vector of the anchor candidate pair (24) and by selecting the line or area unit (26) with the largest number of counted line intersections; and that step b2) comprises: b2.1) Defining the corresponding candidate pair transformation of the anchor candidate pair (24) with the corresponding candidate pair rotation angle known from step a) and the corresponding candidate pair translation vector determined in step b1.4) with the associated number N match,c .

[0018] It is preferred that the translation space is defined by a first basis vector that is directed normal to the navigation line segment and the detection line segment of the respective candidate pair that is aligned parallel thereto, and by a second basis vector that is directed normal to the first basis vector.

[0019] By choosing this translation space, the navigation line segments and the detection line segments can be described, for example, by a Hessian normal form. This simplifies the procedure.

[0020] It is preferred that step b1.3) comprises: b1.3.3) Selecting candidate pairs for which a deviation of the corresponding candidate pair rotation angle from the candidate pair rotation angle of the corresponding anchor candidate pair is less than a predefined rotation angle threshold.

[0021] By selecting candidate pairs in step b1.3.3) for which the deviation of the corresponding candidate pair rotation angle from the candidate pair rotation angle of the corresponding anchor candidate pair is less than a predefined rotation angle threshold, candidate pairs with a significantly different candidate pair rotation angle are excluded from the outset, since these candidate pairs have a different candidate pair transformation than the anchor candidate pair. This can accelerate the process.

[0022] It is preferred that the method further comprises: e) Pre-registering the navigation system such that the registration transformation corresponds to an identical mapping within predefined limits.

[0023] The navigation system is preferably already pre-registered or roughly localized. Pre-registration can be performed, for example, by a vehicle's geopositioning system. Typically, the geoposition is then known to a certain degree of accuracy. However, the pose—i.e., the orientation or alignment—of the vehicle is not known. In other cases, at least a rough estimate of the pose can be known by evaluating geoposition data at different times. This limits the number of candidate pairs. The method can determine the still unknown information by overlaying the navigation map and the detection field.

[0024] It is preferred that step a) comprises one, two or all of the following steps: a1) determining the plurality of candidate pairs under the criterion that the corresponding candidate pair transformations correspond to an identical mapping within predefined limits; a2) determining the plurality of candidate pairs under the criterion that the corresponding candidate pair rotation angle is less than a predefined rotation angle threshold; and a3) Determining the plurality of candidate pairs under the criterion that an attribute of the detection line segment and an attribute of the navigation line segment match.

[0025] Preferably, only candidate pairs are determined for which the candidate pair transformation corresponds to an identical mapping within predefined limits. For example, for such candidate pair transformations, the candidate pair rotation angle and / or the candidate pair translation are small. Assuming a pre-registered or roughly localized navigation system, incompatible candidate pair transformations can be excluded, further accelerating the process.

[0026] It is preferred that step b1.2) comprises: b1.5) Representing the missing second translation component as a plurality of equidistant line and / or area units (26).

[0027] It is preferred that step b1.2) and / or b1.3) comprises: b1.6) Predefining a unit width (28) of the line or area units (26) and / or the test line or test strip based on an accuracy of the detector device of the motor vehicle.

[0028] It is preferred that step b1.3) comprises: b1.7) Predefining a length of the test line or strip, preferably based on the accuracy of the vehicle's detector device.

[0029] By predefining the unit width and / or length, for example, an inaccuracy in the detector device can be taken into account. A possible inaccuracy in the detector device therefore does not necessarily have a negative impact on the method. Furthermore, by predefining the unit width, the method can be applied to a wide variety of detector devices.

[0030] It is preferred that step c) further comprises one or both of the following steps: c1) Determine the registration transformation with a number N match of intersection lines based on a plurality n of anchor candidate pairs by selecting the corresponding candidate pair transformation with the largest N match,c ; and c2) Determine the registration transformation with a number N match of intersection lines based on a plurality n of anchor candidate pairs by selecting the corresponding candidate pair transformation that best matches an identical mapping according to a specification.

[0031] By selecting the candidate transformation with the largest N match,cFor example, the registration transformation that yields the best results is determined. Furthermore, depending on the degree of pre-registration or the coarse or preliminary localization, a candidate pair transformation can be selected that best matches an identical image according to a specification. A specification might be, for example, that the candidate pair rotation angle and / or the candidate pair translation are small. If the pre-registration is already good, the specification can be chosen more stringently. Thus, the method can be adapted to the degree of pre-registration.

[0032] It is preferred that steps b) and c) are carried out sequentially until n≥ln(1−pconf)ln(1−NmatchNmc) is satisfied, where p conf corresponds to a predefined confidence probability. N mc is, as already described, the number of candidate pairs.

[0033] The process does not need to be performed for all specific anchor candidate pairs, but can be stopped when the criterion is met. Then, the optimal registration transformation can be determined using a predefined confidence probability. This further accelerates the process.

[0034] It is preferred that the continuation be a linear continuation.

[0035] For use cases or application situations that may arise during the method and which are not explicitly described here, it may be provided that, in accordance with the method, an error message and / or a request to enter user feedback is issued and / or a default setting and / or a predetermined initial state is set.

[0036] According to a further aspect, the invention provides a navigation system for a motor vehicle, comprising means for carrying out the method according to one of the preceding embodiments.

[0037] The invention also includes the navigation system for the motor vehicle. The navigation system can have a data processing device or a processor device that is configured to carry out an embodiment of the method according to the invention. For this purpose, the processor device can have at least one microprocessor and / or at least one microcontroller and / or at least one FPGA (Field Programmable Gate Array) and / or at least one DSP (Digital Signal Processor). Furthermore, the processor device can have program code that is configured to carry out the embodiment of the method according to the invention when executed by the processor device. The program code can be stored in a data memory of the processor device. The processor circuit of the processor device can, for example, have at least one circuit board and / or at least one SoC (System on Chip).

[0038] The invention also includes further developments of the navigation system according to the invention that have features already described in connection with the further developments of the method according to the invention. For this reason, the corresponding further developments of the navigation system according to the invention are not described again here.

[0039] According to a further aspect, the invention provides a computer program comprising instructions which, when the program is executed on a computer of a navigation system, cause the computer to carry out the method according to one of the preceding embodiments.

[0040] According to a further aspect, the invention provides a computer-readable storage medium on which the computer program is stored.

[0041] As a further solution, the invention also encompasses a computer-readable storage medium comprising program code which, when executed by a processor circuit of a computer or computer network, causes the processor circuit or computer network to carry out an embodiment of the method according to the invention. The storage medium can, for example, be provided at least partially as a non-volatile data memory (e.g. as a flash memory and / or as an SSD - solid state drive) and / or at least partially as a volatile data memory (e.g. as a RAM - random access memory). The storage medium can be arranged in the processor circuit in its data memory. However, the storage medium can also be operated, for example, as a so-called app store server on the Internet. The computer or computer network can provide a processor circuit with at least one microprocessor.The program code may be provided as binary code or assembler and / or as source code of a programming language (e.g. C) and / or as a program script (e.g. Python).

[0042] According to a further aspect, the invention provides a motor vehicle comprising the navigation system and a detector device for detecting an environment of the motor vehicle.

[0043] The motor vehicle according to the invention is preferably designed as a motor vehicle, in particular as a passenger car or truck, or as a passenger bus or motorcycle.

[0044] The invention also encompasses combinations of the features of the described embodiments. The invention therefore also encompasses implementations that each comprise a combination of the features of several of the described embodiments, unless the embodiments are described as mutually exclusive.

[0045] Exemplary embodiments of the invention are described below. Shown are: Fig. 1 shows an embodiment of a two-dimensional detection field and an embodiment of a two-dimensional navigation map of a navigation system in a motor vehicle; Fig. 2 shows an embodiment of a computer-implemented method for map-based localization of the navigation system of the motor vehicle; Fig. 3 a result of a step of the method for a first anchor candidate pair; Fig. 4 the result of the step of the method for a second anchor candidate pair; Fig. 5 a navigation line segment in a translation space for the first anchor candidate pair and the second anchor candidate pair; Fig. 6 the result of a step of the method for a discretized navigation line segment of an anchor candidate pair and for a navigation segment of a first selected candidate pair in the translation space; Fig. 7 the result of the step of the method for the discretized navigation line segment of the anchor candidate pair from Fig. 6 and for a navigation line segment of a second selected candidate pair in the translation space; Fig. 8 the result of a step of the method for the discretized navigation line segment of another anchor candidate pair and for a navigation line segment of another first selected candidate pair in the translation space; Fig. 9 the result of the step of the method for the discretized navigation line segment of the further anchor candidate pair from Fig. 8 and for a navigation line segment of a further second selected candidate pair in the translation space; and Fig. 10 a running time of the method depending on a number of parallel lines in comparison to a known method.

[0046] The exemplary embodiments explained below are preferred embodiments of the invention. In the exemplary embodiments, the described components of the embodiments each represent individual features of the invention that can be considered independently of one another, each of which also develops the invention independently of one another. Therefore, the disclosure is intended to encompass combinations of the features of the embodiments other than those shown. Furthermore, the described embodiments can also be supplemented by further features of the invention already described.

[0047] In the figures, the same reference symbols designate elements with the same function.

[0048] Fig. 1 shows an embodiment of a two-dimensional detection field 10 and an embodiment of a two-dimensional navigation map 12 of a navigation system in a motor vehicle.

[0049] The detection field 10 can be detected by a detector device of the motor vehicle and represents an environment 14 of the motor vehicle. The detector device can, for example, be a camera system of the motor vehicle.

[0050] The navigation map 12 is stored in the navigation system, for example, and / or can be downloaded from it by a remote data processing device and represents the environment 14 or a part thereof.

[0051] The detection field 10 comprises a plurality of detection line segments 16, each of which represents a line bounded by two points, for example. The navigation map 12 comprises a plurality of navigation line segments 18, each of which also represents a line bounded by two points, for example. The detection line segments 16 and / or the navigation line segments 18 can also deviate from a straight line between the two points. For example, the detection line segments 16 and / or the navigation line segments 18 can each represent curved lines bounded by two points. However, a curved line can again be represented by a plurality of straight lines. In this context, a line can represent any type of connection between the bounding points.

[0052] In Fig. 1, the detection field 10 comprises the detection line segments "A," "B," and "C," while the navigation map 12 comprises the navigation line segments "1," "2," and "3." Of course, any other number of detection line segments 16 and navigation line segments 18 is also possible. The number of detection line segments 16 and the number of navigation line segments 18 can also be different.

[0053] The detection line segments 16 and the navigation line segments 18 represent, for example, markings and / or courses of a roadway and / or a lane of a roadway.

[0054] The detection field 10 and the navigation map 12 are shown in Fig. 1 can be mapped to one another at least partially by a registration transformation. For this purpose, the navigation system can be pre-registered or roughly localized such that the registration transformation corresponds to an identical mapping within predefined limits. An identical mapping in this context represents a mapping that maps the detection line segments 16 and / or the navigation line segments 18 to one another, so that no further localization of the navigation system is required.

[0055] For example, the navigation system may be pre-registered by a geo-positioning system of the motor vehicle, whereby the geo-positioning system can only determine the geo-position of the motor vehicle to a certain degree of accuracy, so that the detection field 10 and the navigation map 12 may not exactly match.

[0056] One aim of embodiments of the invention is to determine the registration transformation and to localize the navigation system in a map-based manner based on the determined registration transformation.

[0057] Fig. 2 shows an embodiment of a computer-implemented method for map-based localization of the navigation system in the motor vehicle.

[0058] In a step S11, the method comprises: - Determine a multiplicity N mcof candidate pairs 20 each comprising one of the detection line segments 16 and one of the navigation line segments 18, wherein the detection line segment 16 on the one hand and the navigation line segment 18 or a respective virtual geometrically extending continuation thereof on the other hand can each be mapped to one another by a candidate pair transformation, wherein the candidate pair transformation on the one hand comprises a rotation by a candidate pair rotation angle for a parallel alignment of navigation line segment 18 and detection line segment 16 and on the other hand a two-dimensional candidate pair translation by a candidate pair translation vector in a respective two-dimensional, intrinsic translation space 22, and determining the candidate pair rotation angle.

[0059] For example, a candidate pair 20 can be the pair “1C” from Fig. 1, which is formed from the detection line segment "C" and the navigation line segment "1". This pair "1C" can be mapped to each other by performing a candidate pair transformation, which involves a rotation by a candidate pair angle and an additional two-dimensional candidate pair translation by a candidate pair translation vector in a two-dimensional, intrinsic translation space 22. In this context, the term "intrinsic" is intended to indicate that the translation space is spanned after the rotation and with respect to the rotated elements. Further candidate pairs 20, such as "2A" and "3B" from Fig. 1 are possible, which can also be mapped to each other by a corresponding candidate pair transformation.

[0060] For example, the pairs “1A” and “2C” from Fig. 1 as candidate pairs 20. The mentioned pairs “1C”, “1A”, “2C”, “2A” and “3B” represent only a selection of possible candidate pairs 20.

[0061] In step S11, a plurality N mc of candidate pairs 20, in this example “1C”, “1A”, “2C”, “2A” and “3B” with N mc = 5, determined.

[0062] In a step S12, the method comprises: - For each of the plurality N mc from candidate pairs 20 determined n anchor candidate pairs 24, 1 ≤ n ≤ N mc , perform steps S13 to S19.

[0063] In other words, in step S12, n anchor candidate pairs 24 are selected from the plurality N mc of candidate pairs 20 are determined, and steps S13 to S19 are executed for the n anchor candidate pairs 24. The execution of steps S13 to S19 can be carried out sequentially or simultaneously for the n anchor candidate pairs 24.

[0064] The number n can be a predefined number of the procedure. For example, it can be dependent on N mc Alternatively or additionally, steps S13 to S19 can also initially be carried out for only one anchor candidate pair 24, wherein according to the method, after execution of steps S13 to S19 for this one anchor candidate pair 24, a decision can be made according to a condition as to whether steps S13 to S19 should be carried out for a further anchor candidate pair 24 (sequential execution). Alternatively or additionally, steps S13 to S19 can be carried out for all candidate pairs 20 of the plurality N mc of candidate pairs 20 (sequentially or simultaneously).

[0065] In step S13, the method comprises: - In the respective translation space: determining a first translation component of the candidate pair translation vector for mapping the detection line segment 16 and the navigation line segment 18 and / or the respective continuation thereof.

[0066] To determine the first translation component of the corresponding candidate pair translation vector, the corresponding detection line segment 16 and the corresponding navigation line segment 18 are aligned parallel by rotating them by the corresponding candidate pair rotation angle. For parallel alignment, for example, a distance between the corresponding detection line segment 16 and the corresponding navigation line segment 18 can be calculated at two different points on the segments 16, 18. For example, endpoints of the detection line segment 16 and / or the navigation line segment 18 can be used for this purpose. Other solutions, such as calculating a Hessian normal form and / or incorporating a curvature of the detection line segment 16 and / or the navigation line segment 18 for parallel alignment, are possible.

[0067] Fig. 3 shows a result of step S13 for the detection field 10 and the navigation map 12 from Fig. 1 for the anchor candidate pair “2A”. Fig. 4 shows the result of step S13 for the detection field 10 and the navigation map 12 from Fig. 1 for the anchor candidate pair “2C”.

[0068] In step S14, the method comprises: - In the respective translation space of the anchor candidate pair 24: Representing a still missing second translation component of the candidate pair translation vector of the anchor candidate pair 24 as a plurality of line or area units 26, each having a line intersection counter for counting line intersections.

[0069] Fig. Figure 5 shows the navigation line segment 18 in the translation space 22 for the anchor candidate pair "2A" and the anchor candidate pair "2C." The navigation line segments 18 for the anchor candidate pairs "2A" and "2C" are arranged side by side in the translation space 22, since, in particular, the corresponding candidate pair translation vector differs.

[0070] To represent the still missing translation component, the navigation line segment 18 of the anchor candidate pair 24 is divided into a plurality of line or area units 26 in the translation space 22. Each line or area unit 26 is assigned a line intersection counter for counting line intersections.

[0071] As from Fig. As can be seen from Figure 5, in a preferred embodiment of the method, the navigation line segment 18 of the anchor candidate pair 24 in the translation space 22 is expanded into a plurality of equidistant area units 26 with a predefined unit width 28 around the navigation line segment 18 in the translation space 22. The unit width 28 can be predefined, for example, based on the accuracy of the detector device of the motor vehicle.

[0072] In step S15, the method comprises: - For from the multitude N mc of candidate pairs 20 selected candidate pairs 20, each of which does not match the anchor candidate pair 24, execute steps S16 and S17.

[0073] In step S15, from the plurality N mc of candidate pairs 20 candidate pairs 20 are selected, each of which does not match the anchor candidate pair 24.

[0074] For example, for the anchor candidate pair “2A”, the candidate pairs “1C”, “1A”, “2C” and “3B” are selected, and for the anchor candidate pair “2C”, the candidate pairs “1C”, “1A”, “2A” and “3B” are selected.

[0075] In step S16, the method comprises: - performing step S13 for the selected candidate pairs 20 and representing the first and second translation components of the translation vector of the selected candidate pair in the translation space of the anchor candidate pair 24 as a check line or check strip 29.

[0076] In other words, step S13 is executed for the selected candidate pairs “1C”, “1A”, “2C”, and “3B” of the anchor candidate pair “2A”, and step S13 is executed for the selected candidate pairs “1C”, “1A”, “2A”, and “3B” of the anchor candidate pair “2C”. In this step, the results of step S13 for the anchor candidate pairs “2A” and “2C” (from Fig. 3) can be used, since the anchor candidate pairs “2A” and “2C” each also represent a selected pair.

[0077] In step S17, the method comprises: - for the anchor candidate pair 24: accumulating the line intersection counter of those line and area units 26 which are intersected by the test line or the test strip 29 in the translation space of the anchor candidate pair 24.

[0078] Fig. 6 shows the result of step S17 for the navigation segment 18 of the anchor candidate pair “2C” represented in area units 26 and for the navigation segment 18 of the selected candidate pair “1A” in the translation space 22 of the anchor candidate pair “2C”. Fig. 7 shows a result of step S17 for the navigation segment 18 of the anchor candidate pair “2C” represented in area units 26 and for the navigation segment 18 of the selected candidate pair “3B” in the translation space 22 of the anchor candidate pair “2C”.

[0079] As from Fig. 6 and Fig. 7, in a preferred embodiment of the method, the first and second translation components of the translation vector of the selected candidate pair 20 in the translation space 22 of the anchor candidate pair 24 are represented by the test strip 29 with a predefined unit width 28 and a predefined length.

[0080] The test strip 29 of the selected candidate pair “1A” cuts in Fig. 6, the navigation segment 18 of the anchor candidate pair "2C" represented in area units 26 is not changed. Accordingly, the line intersection counter of no area units 26 is changed.

[0081] The test strip 29 of the selected candidate pair “3B” cuts in Fig. 7 the navigation segment 18 of the anchor candidate pair "2C" represented in area units 26. Accordingly, the line intersection counter for the intersected area units 26 is accumulated.

[0082] Fig. 8 shows a result of step S17 for navigation segment 18 of anchor candidate pair “2A” represented in area units 26 and for the navigation segment 18 of the selected candidate pair “1C” in the translation space 22 of anchor candidate pair “2A”. Fig. 9 shows a result of step S17 for the navigation line segment 18 of the anchor candidate pair “2A” represented in area units 28 and for the navigation segment 18 of the selected candidate pair “3B” in the translation space 22 of the anchor candidate pair “2A”.

[0083] The test strip 29 of the selected candidate pair “1C” cuts in Fig. 8 the navigation segment 18 of the anchor candidate pair “2A” represented in area units 26 in all area units 26. Accordingly, the line intersection counter of all area units 26 is accumulated.

[0084] The test strip 29 of the selected candidate pair “3B” cuts in Fig. 9 the navigation segment 18 of the anchor candidate pair "2A" represented in area units 26. Accordingly, the line intersection counter for the intersected area units 26 is accumulated.

[0085] In step S18, the method comprises: - Determining the corresponding candidate pair translation vector in the translation space of the anchor candidate pair 24 with an associated number N mateh,c of line intersections using the first translation component of the candidate pair translation vector of the anchor candidate pair 24 and by selecting the line or area unit 26 with the largest number of counted line intersections.

[0086] In other words, for each anchor candidate pair 24, the corresponding candidate pair translation vector with a number N match,c of line intersections is determined by selecting the line or area unit 26 with the most counted line intersections. The first translation component of the corresponding candidate pair translation vector of the anchor candidate pair 24 is known from step S13. The missing second translation component is determined by selecting the line or area unit 26 with the largest number of counted line intersections.

[0087] In step S19, the method comprises: - Defining the corresponding candidate transformation of the anchor candidate pair 24 with the corresponding candidate pair rotation angle known from step S11 and the corresponding candidate pair translation vector determined in step S18 with the assigned number N match,c .

[0088] In other words, the corresponding candidate pair transformation is defined for each anchor candidate pair 24. From step S11, the corresponding candidate pair rotation angle is known, and in step S18, the corresponding candidate pair translation vector with the assigned number N match,c certainly.

[0089] In a step S20, the method comprises: - Determining the registration transformation based on the candidate pair transformations of the n anchor candidate pairs 24.

[0090] One way to determine the registration transformation based on the candidate pair transformations of the n anchor candidate pairs 24 is to select the anchor candidate pair 24 whose candidate pair transformation has the largest N match,c , i.e. Nmatch=maxc{Nmatch,c}, Alternatively or additionally, the registration transformation can be determined by selecting the anchor candidate pair 24 whose candidate pair transformation best matches an identical mapping according to a specification. The specification can be, for example, that the candidate pair rotation angle is the smallest and / or the components or a magnitude of the candidate transformation vector is the smallest.

[0091] In a step S21, the method comprises: - Localizing the navigation system based on the registration transformation determined in step S20.

[0092] Fig. Figure 10 shows a runtime 30 of the method as a function of the number of parallel lines 32 for a synthetic scene compared to the max-clique algorithm using a Bron-Kerbosch method ("state of the art"). As can be seen from the figure, the runtime 30 increases more slowly with the number of parallel lines 32 in the described method than in the known method.

[0093] The invention also encompasses the navigation system (not shown) for the motor vehicle. Furthermore, the invention encompasses a computer program (not shown) comprising instructions that, when executed on a computer of a navigation system, cause the computer to execute the described method. Furthermore, the invention encompasses a computer-readable storage medium (not shown) on which the computer program is stored. Furthermore, the invention encompasses the motor vehicle (not shown) with the navigation system and the detector device.

[0094] An idea of ​​preferred embodiments of the invention can be described as follows: An algorithm is presented that allows for finding correspondences between pre-registered 2D line segments. Given two sets of 2D line segments, the algorithm is designed to determine which line in the first set corresponds to which line in the second set. The fact that the lines are pre-registered means that the corresponding lines are close to each other in position and orientation, but not exactly aligned.

[0095] The algorithm is based on the following assumptions: - There are two sets of 2D line segments. One is called "landmarks" and the other is called "detections." Some detections have corresponding landmarks (however, there may also be false detections without corresponding landmarks). There may be multiple landmarks corresponding to the same detection, and vice versa. - There is an unknown registration transformation that aligns the detections and landmarks. This means that the segment endpoints are mapped to the infinite 2D line that the landmark extends through this registration transformation. It does not mean that the detection endpoints are mapped to the landmark endpoints, as the extraction of line segment endpoints is typically unstable. Since detections typically contain some measurement noise, the registration is imperfect; the transformed detection endpoint is close to the landmark line but not exactly aligned with it. - The line segments are pre-registered, which means that the unknown registration transformation is close to the identity. Since a 2D Euclidean transformation can be represented by a rotation angle (yaw angle) and two components of a translation vector, the assumption of pre-registration means that the yaw angle and the components of the translation vector lie within a known interval around zero.

[0096] The task is to find all corresponding pairs of recognition points and landmarks.

[0097] The algorithm proposed here is a hybrid of the RANSAC method and the Hough transform. The idea is to determine the angles in a RANSAC-like manner and use a type of Hough transform for the translation components. The following sections describe the different parts of the algorithm. Creating initial pairs:

[0098] Based on the list of landmark and detection segments and the known uncertainty of the pre-registration, all landmark detection pairs that match the pre-registration are found. Additional filters can also be applied in this step, for example, attributes such as the color of the line segment or the style (solid or dashed) can be used to exclude certain pairs (see Fig. 1). We call the selected pairs "match candidates." This process is a rough filtering process and will usually still contain many false associations, which will be eliminated in subsequent steps. Setting up pose histograms:

[0099] The algorithm loops over all candidate matches. Each candidate determines the rotation angle of the registration transformation and a component of the translation vector. Since some prior knowledge of the registration transformation exists from pre-registration, this means that the set of feasible translations forms a line segment in translation space that is parallel to the landmark line segment. To account for inaccurate detections, this line segment is widened into a rectangle with a width determined by the detector's accuracy. This is a simplification; a more realistic error model would produce an hourglass shape. However, the rectangle offers a good compromise between an acceptable error model and computational simplicity. This rectangle is then divided into bins, forming a 1D histogram in translation space.

[0100] These histograms (i.e., a finite set of squares in translation space) form the basis for an accumulation scheme similar to a Hough transform. However, note that there are different 1D histograms for each match candidate, rather than a global 3D histogram as in the Hough transform. Looking for support:

[0101] Using the translation histogram found for a particular match candidate (called the anchor pair), an attempt is made to find all other match candidates that support some of the translation hypotheses encoded in this histogram. To do this, a loop is drawn over all other match candidates. Those are selected whose rotation angle matches that of the anchor pair (to a certain extent). Given the rotation angle of the anchor pair for each other match candidate, there is another line segment in the translation space (expanded to a rectangle) representing all transformations that map the center of detection to the landmark. This segment is compared to the histogram, and the candidate pair is added to all bins of the histograms it intersects. As in Fig.3 to 9, this gathers support for the anchor pair. The current best list of matches comes from the bin with the largest number of support matches across all anchors processed so far (the anchor is added to this list). Early retirement:

[0102] It is generally not necessary to run this process over all anchor pairs. If it is sufficiently certain that one of the anchors processed so far was a correct correspondence, then processing that anchor has produced the correct list of matching pairs, and the process can therefore be stopped to save runtime. In the RANSAC literature, there is a statistical test to check whether the process can be stopped. If a probability of p conf required that the correct list of matches has been found, it N mcThere are candidate matches and the best hypothesis so far is a list of N match matching pairs, then the process can be stopped when the number n of processed anchors satisfies the relationship: n≥ln(1−pconf)ln(1−NmatchNmc). Complexity of the algorithm:

[0103] The complexity of this algorithm, preferably in the worst case, is quadratic with the number of match candidates. This already compares favorably with the exponential complexity of the max-clique method. Due to RANSAC's early exit criterion, the complexity is less than the quadratic upper bound in most cases. Experiments have shown almost linear growth. Advantageous extensions:

[0104] The algorithm can be extended to process other geometric primitives or basic shapes: Instead of straight line segments, curved objects can also be used, represented as polylines. While the basic algorithm remains the same, the histograms in the translation space would preferably form not one rectangle, but several rectangles, each with a different rotation angle (corresponding to a different assignment of individual segments of the landmark and the detection polyline). The line segments described here should therefore be understood as either straight or curvilinear line segments. - It is also possible to include point-like objects in the algorithm. These would then require two match candidates instead of one to form an anchor. However, the resulting histogram would then have only one bin (since two point matches completely determine the registration transformation).

[0105] Furthermore, it is also possible to extend the algorithm to a 3D situation. In this case, the registration transformation consists of six parameters (three translations, three rotations), and a single matching line pair defines four degrees of freedom and has two remaining unknowns (the translation along the landmark line and a rotation with the landmark line as the axis). Therefore, one would create a 2D histogram for each anchor pair instead of a 1D histogram; otherwise, the algorithm would work in the same way. Thus, the algorithm described here should not be considered limited to 2D analysis.

[0106] In its pure form, the algorithm does not favor any pose compatible with the pre-registration; only the number of matching line segments determines the quality of a match. In the case where two lists of hypotheses have the same number of matches, it is possible to add a tiebreaker. This could, for example, favor the hypothesis with the smallest difference from the pre-registration transformation.

[0107] Overall, this paper presents a matching algorithm for sets of inaccurately pre-registered 2D line segments. The algorithm combines elements of RANSAC and a Hough transform. It can handle both parallel and non-parallel lines and avoids the problems of angle discretization. It has a quadratic complexity in the number of match candidates and is quite fast in practical applications.

[0108] Overall, the examples show how an algorithm for matching two-dimensional line segments can be provided. List of reference symbols: 10 Detection field 12 Navigation map 14 Surroundings 16 detection line segments 18 Navigation line segment 20 candidate pairs 22 Translation space 24 anchor candidate pair 26 line or area unit 28 unit width 29 Test line or test strip 30 term 32 Number of parallel lines

Claims

[1] A computer-implemented method for map-based localization of a navigation system in a motor vehicle, the navigation system comprising: a two-dimensional detection field (10) in which an environment (14) of the motor vehicle detected by a detector device of the motor vehicle is mapped, and a two-dimensional navigation map (12) of the environment (14) or a part thereof, wherein the detection field (10) comprises a plurality of detection line segments (16) and the navigation map (12) comprises a plurality of navigation line segments (18), wherein the detection field (10) and the navigation map (12) or a respective part thereof are to be mapped onto one another at least partially by a registration transformation of the localization in order to determine a vehicle position in the navigation map, the method comprising: a) Determine a plurality N mcof candidate pairs (20), each comprising one of the detection line segments (16) and one of the navigation line segments (18), wherein the detection line segment (16) on the one hand and the navigation line segment (18) or a respective virtual geometrically extending continuation thereof on the other hand can each be mapped to one another by a candidate pair transformation, wherein the candidate pair transformation comprises, on the one hand, a rotation by a candidate pair rotation angle for a parallel alignment of the navigation line segment (18) and the detection line segment (16) and, on the other hand, a two-dimensional candidate pair translation by a candidate pair translation vector in a respective two-dimensional, intrinsic translation space (22), and determining the candidate pair rotation angle; b) For each of the plurality N mc of candidate pairs (20) determined n anchor candidate pairs (24), 1 ≤ n ≤ N mc , respectively: b1) determining the corresponding candidate pair translation vector in the translation space (22) of the anchor candidate pair (24); and b2) defining the corresponding candidate pair transformation of the anchor candidate pair (24) with the corresponding candidate pair rotation angle known from step a) and the corresponding candidate pair translation vector determined in step b1); c) determining the registration transformation based on the candidate pair transformations of the n anchor candidate pairs (24); and d) Localizing the navigation system based on the registration transformation determined in step c). [2] Method according to claim 1, characterized by that step b1) includes: b1.1) in the respective translation space (22): determining a first translation component of the candidate pair translation vector for mapping the detection line segment (16) and the corresponding navigation line segment (18) and / or the respective continuation thereof; b1.2) in the respective translation space (22) of the anchor candidate pair (24): representing a still missing second translation component of the candidate pair translation vector of the anchor candidate pair (24) as a plurality of line or area units (26), each with a line intersection counter for counting line intersections; b1.3) For from the multitude N mc candidate pairs (20) selected from candidate pairs (20), each of which does not match the anchor candidate pair (24): b1.3.1) performing step b1.1) for the selected candidate pairs (20) and representing the first and second translation components of the translation vector of the selected candidate pair (20) in the translation space (22) of the anchor candidate pair (24) as a test line or a test strip (29); and b1.3.2) for the anchor candidate pair (24): accumulating the respective line intersection counter of those line or area units (26) which are intersected by the test line or the test strip in the translation space (22) of the anchor candidate pair (24); and b1.4) Determining the corresponding candidate pair translation vector in the translation space (22) of the anchor candidate pair (24) with an associated number N match,cof line intersections by means of the first translation component of the candidate pair translation vector of the anchor candidate pair (24) and by selecting the line or area unit (26) with the largest number of counted line intersections; and that step b2) comprises: b2.1) Defining the corresponding candidate pair transformation of the anchor candidate pair (24) with the corresponding candidate pair rotation angle known from step a) and the corresponding candidate pair translation vector determined in step b1.4) with the associated number N match,c . [3] Method according to one of the preceding claims, wherein the translation space (22) is defined by a first basis vector which is directed normal to the navigation line segment (18) and the detection line segment (16) of the respective candidate pair (20) aligned parallel thereto, and by a second basis vector which is directed normal to the first basis vector. [4] Method according to claim 2 or claim 3 as far as dependent on claim 2, characterized by that step b1.3) includes: b1.3.3) Selecting candidate pairs (20) for which a deviation of the corresponding candidate pair rotation angle from the candidate pair rotation angle of the corresponding anchor candidate pair (24) is less than a predefined rotation angle threshold. [5] Method according to one of the preceding claims, further comprising: e) Pre-registering the navigation system such that the registration transformation corresponds to an identical mapping within predefined limits. [6] Method according to one of the preceding claims, characterized by that step a) comprises one, two or all of the following steps: a1) determining the plurality of candidate pairs (20) under the criterion that the corresponding candidate pair transformations correspond to an identical mapping within predefined limits; a2) determining the plurality of candidate pairs (20) under the criterion that the corresponding candidate pair rotation angle is less than a predefined rotation angle threshold; and a3) determining the plurality of candidate pairs (20) under the criterion that an attribute of the detection line segment (16) and an attribute of the navigation line segment (18) match. [7] Method according to claim 2 or according to one of claims 3 to 6 as far as dependent on claim 2, characterized by that step b1.2) includes: b1.5) Representing the missing second translation component as a plurality of equidistant line and / or area units (26). [8] Method according to claim 2 or according to one of claims 3 to 7 as far as dependent on claim 2, characterized by that step b1.2) and / or b1.3) further comprises: b1.6) predefining a unit width (28) of the line or area units (26) and / or the test line or test strip (29) based on an accuracy of the detector device of the motor vehicle; and / or b1.7) Predefining a length of the test line or test strip (29), preferably based on the accuracy of the detector device of the motor vehicle. [9] Method according to claim 2 or according to one of claims 3 to 8 as far as dependent on claim 2, characterized by that step c) further comprises one or both of the following steps: c1) Determine the registration transformation with a number N matchof intersection lines based on a plurality n of anchor candidate pairs (24) by selecting the corresponding candidate pair transformation with the largest N match,c ; and c2) Determine the registration transformation with a number N match of intersection lines based on a plurality n of anchor candidate pairs (24) by selecting the corresponding candidate pair transformation that best matches an identical mapping according to a specification. [10] Method according to claim 9, characterized by that steps b) and c) are carried out sequentially until n≥ln(1−pconf)ln(1−NmatchNmc) is satisfied, where p conf corresponds to a predefined confidence probability. [11] Method according to one of the preceding claims, characterized by that the sequel is a linear sequel. [12] Navigation system for a motor vehicle, comprising means for carrying out the method according to one of the preceding claims. [13] Computer program comprising instructions which, when executed on a computer of a navigation system, cause the computer to carry out the method according to one of claims 1 to 11. [14] A computer-readable storage medium on which the computer program according to claim 13 is stored. [15] Motor vehicle comprising a navigation system according to claim 12 and a detector device for detecting an environment of the motor vehicle.

Citation Information

Patent Citations

  • Lane detection system and method

    US20150161454A1

  • Vehicles, vehicle controller systems, methods for controlling a vehicle, and methods for controlling a plurality of vehicles

    US20180010915A1

  • Augmented mobile platform localization

    EP2752725A2

  • Multi-sensor calibration system

    US20210407130A1