A method and device for generating road intersection topology structure
By performing hard and soft clustering on vehicle trajectory segments and extracting the exit and entry points of road intersections, the robustness and adaptability issues of road intersection topology generation in existing technologies are solved, and more accurate road topology structure generation is achieved.
Patent Information
- Application Number
- CN202111593152.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-23
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2041-12-23
AI Technical Summary
The existing technology lacks robustness and adaptability in generating road intersection topology in high trajectory noise environments, resulting in inaccurate recognition of road topology inside the intersection and prone to redundant or lost identification of entry and exit points.
The first clustering model is used to perform hard clustering on the vehicle trajectory segments to obtain the initial trajectory clustering results. Then, the second clustering model, such as the Gaussian mixture model, is used to extract the exit and entry points of the road intersection, and the road topology is generated by combining the trajectory segment fitting.
The accuracy and robustness of road intersection topology generation are improved, noise interference is reduced, the adaptability of the algorithm in high trajectory noise environments is enhanced, and the accuracy of the road topology structure is ensured.
Smart Images

Figure CN116363856B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of navigation road networks, and in particular to a method and device for generating a road intersection topology structure. Background Art
[0002] Urban navigation road networks serve as the data foundation for applications such as route planning, express logistics, travel time estimation, and ride-hailing dispatch. Intersection topology generation is a key step in constructing high-precision navigation road network topology data. With the advent of the big data era, vehicles are recording vast amounts of driving data, which can be used to generate intersection topology. Existing methods primarily identify the location and extent of intersections based on trajectory features such as turning and speed changes, and then reconstruct the internal road topology of the intersection. Key technical approaches include trajectory clustering-based methods and entry / exit point-based methods. Among them, trajectory clustering methods cluster trajectory segments within an intersection to obtain trajectory clusters, then perform centerline fitting on each cluster to generate the intersection's internal roads. These methods require pre-specifying the number of clusters, but in actual production applications, it is difficult to know the number of roads contained within an intersection in advance, resulting in inaccurate clustering. Methods based on entry and exit points first extract the intersection points between the intersection boundary and the original trajectory lines. These intersection points are then clustered using density clustering or graph-based clustering algorithms. The cluster centers are used as the identified intersection entry and exit points, and centerline fitting is performed on the trajectories connecting the entry and exit point pairs to generate the intersection's internal roads. These methods can construct detailed intersection topology models, but due to the influence of trajectory noise and other factors, density clustering or graph-based hard clustering algorithms are prone to redundant or missing entry and exit point identification. Therefore, how to use vehicle driving data to generate road intersection topology and improve the robustness and adaptability of the algorithm in environments with high trajectory noise has become a pressing issue.
[0003] Therefore, it is hoped to provide a method and apparatus for generating a road intersection topology structure, which can construct the topology of roads at the road intersection and improve the accuracy of the road intersection topology. Summary of the Invention
[0004] One embodiment of this specification provides a method for generating a road intersection topology. The method includes: obtaining vehicle trajectory data; obtaining a road intersection recognition result based on the vehicle trajectory data, wherein the recognition result includes the location and range of the road intersection; clustering vehicle trajectory segments within the same road intersection range based on a first clustering model to obtain an initial trajectory clustering result; extracting the exit and entry points of the road intersection from the initial trajectory clustering result based on a second clustering model; and determining the road topology of the road intersection based on the exit and entry points.
[0005] One of the embodiments of this specification provides a device for generating a road intersection topology structure, the device comprising at least one processor and at least one memory, at least one of the memories storing program instructions, and at least one of the processors reading the program instructions and executing the method for generating a road intersection topology structure as described above.
[0006] One embodiment of this specification provides a computer-readable storage medium, wherein the storage medium stores program instructions. After a computer reads the program instructions, it executes the method for generating a road intersection topology structure as described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] This specification will be further described in the form of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting, and in these embodiments, like numbers represent like structures, wherein:
[0008] Figure 1 This is a schematic diagram of an application scenario of a system for generating a road intersection topology structure according to some embodiments of this specification;
[0009] Figure 2 is an exemplary module diagram of an apparatus for generating a road intersection topology structure according to some embodiments of this specification;
[0010] Figure 3 is an exemplary flow chart of a method for generating a road intersection topology structure according to some embodiments of this specification;
[0011] Figure 4 is an exemplary flowchart of extracting entrance and exit points of a road intersection based on a second clustering model according to some embodiments of this specification;
[0012] Figure 5 is an exemplary flow chart of obtaining a road intersection recognition result based on vehicle trajectory data according to some embodiments of this specification;
[0013] Figure 6 is an exemplary flow chart of determining a road topology of a road intersection according to some embodiments of this specification;
[0014] Figure 7 is an exemplary schematic diagram of pre-processed vehicle trajectory data according to some embodiments of this specification.
[0015] Figure 8 is an exemplary schematic diagram of the initial trajectory clustering result according to some embodiments of this specification.
[0016] Figure 9 This is an exemplary schematic diagram of a starting point set and an ending point set according to some embodiments of this specification.
[0017] Figure 10 This is an exemplary schematic diagram of extracting exit points and entry points of a road intersection according to some embodiments of this specification. DETAILED DESCRIPTION
[0018] To more clearly illustrate the technical solutions of the embodiments of this specification, the following briefly describes the drawings required for describing the embodiments. Obviously, the drawings described below are merely examples or embodiments of this specification. Those skilled in the art can apply this specification to other similar scenarios based on these drawings without inventive effort. Unless otherwise apparent from the context or otherwise noted, the same reference numerals in the figures represent the same structure or operation.
[0019] It should be understood that the terms "system," "device," "unit," and / or "module" used herein are a method for distinguishing different components, elements, parts, portions, or assemblies at different levels. However, if other terms can achieve the same purpose, the terms may be replaced by other expressions.
[0020] As used in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not refer to the singular but also include the plural. Generally speaking, the terms "comprises" and "include" only indicate the inclusion of the steps and elements specifically identified, and these steps and elements do not constitute an exclusive list. A method or apparatus may also include other steps or elements.
[0021] Flowcharts are used throughout this specification to illustrate the operations performed by systems according to embodiments of this specification. It should be understood that preceding or following operations do not necessarily need to be performed in exact order. Instead, the steps may be processed in reverse order or simultaneously. Furthermore, other operations may be added to these processes, or one or more operations may be removed from these processes.
[0022] Figure 1 This is a schematic diagram of an application scenario of a system for generating a road intersection topology structure according to some embodiments of this specification.
[0023] like Figure 1 As shown, the road intersection topology structure generation system 100 may include a processing device 110, a network 150, and a storage device 160. The road intersection topology structure generated by the road intersection topology structure generation system 100 may be used for generating a navigation map or a road network.
[0024] In some embodiments, the system 100 for generating a road intersection topology can generate a road intersection topology by implementing the methods and / or processes disclosed herein. For example, in some application scenarios, the processing device 110 can obtain vehicle trajectory data 120 and obtain a road intersection recognition result 130 based on the vehicle trajectory data 120. The recognition result 130 may include the location and range of the road intersection. The processing device 110 can cluster vehicle trajectory segments within the same road intersection based on a first clustering model 111 to obtain an initial trajectory clustering result. The processing device 110 can extract the exit and entry points of the road intersection from the initial trajectory clustering result based on a second clustering model 112, and then determine the road topology 140 of the road intersection based on the exit and entry points.
[0025] The processing device 110 can communicate with the storage device 160 via the network 150 to acquire and / or store data and / or information. For example, the processing device 110 can acquire vehicle trajectory data, a model or algorithm (e.g., a clustering model) for generating a road intersection topology, and the like from the storage device 160 via the network 150. The processing device 110 can execute program instructions based on the acquired data, information, and / or processing results to implement the generation of the road intersection topology. For example, the processing device 110 can cluster vehicle trajectory segments within the road intersection based on a first clustering model to obtain initial trajectory clustering results, and extract the exit and entry points of the road intersection from the initial trajectory clustering results based on a second clustering model. The storage device 160 can store intermediate data or results generated during the generation of the road intersection topology, such as pre-processed vehicle trajectory data, road intersection recognition results, initial trajectory clustering results, exit and entry points of the road intersection, and the road topology of the road intersection. The information transmission relationship between the above devices is merely an example, and the present application is not limited thereto.
[0026] In some embodiments, the processing device 110 may process data and / or information obtained from other devices or system components and execute program instructions based on the data, information, and / or processing results to complete one or more of the processes for generating a road intersection topology described herein. For example, the processing device 110 may obtain vehicle trajectory data 120 from an external data source (e.g., a database) and process the data to obtain a road intersection recognition result 130.
[0027] In some embodiments, the processing device 110 may include a single server or a server group. The server group may be centralized or distributed. In some embodiments, the processing device 110 may be local or remote. For example, the processing device 110 may access information and / or data from a terminal (e.g., a mobile device, a vehicle-mounted device) and / or a storage device 160 via a network 150. For another example, the processing device 110 may be directly connected to a terminal and / or a storage device 160 to access information and / or data. In some embodiments, the processing device 110 may be implemented on a cloud platform. For example, the cloud platform may include one or a combination of private cloud, public cloud, hybrid cloud, community cloud, distributed cloud, cross-cloud, multi-cloud, etc.
[0028] The network 150 can connect the various components of the system and / or connect the system with external resources. The network 150 enables communication between the various components and with other parts outside the system, promoting the exchange of data and / or information. In some embodiments, the network 150 can be any one or more of a wired network or a wireless network. For example, the network 150 can include a cable network, a fiber optic network, a telecommunications network, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), a bus within a device, a line within a device, a cable connection, etc. or any combination thereof. The network connection between the various parts can be in one of the above-mentioned ways, or in multiple ways. In some embodiments, the network can be a point-to-point, shared, centralized, or other topological structure or a combination of multiple topological structures.
[0029] The storage device 160 can be used to store data and / or instructions. The storage device 160 may include one or more storage components, each of which may be a standalone device or part of another device. In some embodiments, the storage device 160 may include random access memory (RAM), read-only memory (ROM), mass storage, removable memory, volatile read-write memory, or any combination thereof.
[0030] In some embodiments, the road intersection topology generation system 100 can communicate with a navigation system. The road intersection topology generation system 100 can send the generated road intersection topology to the navigation system. The navigation system may include an application (e.g., a navigation application) implemented on a terminal. The terminal may include a user interface for enabling interaction between a user and the navigation system through the application. For example, a user can input a destination through the user interface and send it to a server in the navigation system through the application. The server can then plan a route for the user and perform navigation. During the navigation process, the server can display the road intersection topology on the user interface through the application.
[0031] In some embodiments, the road topology of the road intersection can be highlighted in the user interface. For example, the road topology of the road intersection can be displayed in the user interface by a box and a color different from other road signs.
[0032] Figure 2 It is an exemplary module diagram of an apparatus for generating a road intersection topology structure according to some embodiments of this specification.
[0033] like Figure 2 As shown, in some embodiments, the apparatus 200 for generating a road intersection topology may include a trajectory data acquisition module 210 , an intersection identification module 220 , an entrance and exit determination module 230 , and a topology generation module 240 .
[0034] In some embodiments, the trajectory data acquisition module 210 may be used to acquire vehicle trajectory data.
[0035] In some embodiments, the intersection recognition module 220 may be configured to obtain a recognition result of a road intersection based on the vehicle trajectory data. The recognition result may include a location and a range of the road intersection.
[0036] In some embodiments, the entrance / exit determination module 230 may be configured to cluster vehicle trajectory segments within the road intersection based on a first clustering model to obtain an initial trajectory clustering result.
[0037] In some embodiments, the entrance and exit determination module 230 may be configured to extract the exit points and the entrance points of the road intersection from the initial trajectory clustering results based on the second clustering model.
[0038] In some embodiments, the topology generation module 240 may be configured to determine a road topology of a road intersection based on exit points and entry points.
[0039] In some embodiments, the first clustering model includes a density-based clustering model, and the entrance and exit determination module 230 can also be used to determine the trajectory difference of the vehicle trajectory segment, where the trajectory difference is used to represent the difference between any two trajectory segments; and based on the trajectory difference, an initial trajectory clustering result is obtained using a density-based clustering model, where the difference between any two trajectory segments includes at least one of a trajectory distance difference or a trajectory direction difference.
[0040] In some embodiments, the second clustering model includes a Gaussian mixture model, and the entrance and exit determination module 230 can also be used to extract the starting point and the ending point of the trajectory segment in the trajectory clustering result for each trajectory clustering result in the initial trajectory clustering result to obtain a starting point set and an ending point set; using the Gaussian mixture model, under different clustering numbers, cluster the points in the starting point set and the ending point set respectively to determine multiple starting point clustering results and multiple ending point clustering results, each starting point clustering result includes a starting point cluster under a specific cluster number, and each ending point clustering result includes an ending point cluster under a specific cluster number; based on the Bayesian information criterion, determine the final starting point clustering result and the final ending point clustering result from the multiple starting point clustering results and the multiple ending point clustering results; and determine the entry point and the exit point based on the final starting point clustering result and the final ending point clustering result, respectively.
[0041] In some embodiments, the intersection recognition module 220 can also be used to determine the turning angles corresponding to the trajectory points in the vehicle trajectory data; filter the trajectory points based on the turning angles corresponding to the trajectory points to obtain filtered trajectory points; cluster the filtered trajectory points using a third clustering model to obtain multiple trajectory point clusters; filter the multiple trajectory point clusters based on the turning angles corresponding to the trajectory points in the multiple trajectory point clusters to obtain filtered trajectory point clusters; and determine the recognition result of the road intersection based on the filtered trajectory point clusters.
[0042] In some embodiments, the intersection recognition module 220 can also be used to determine multiple enclosing circles corresponding to the filtered trajectory point clusters; for any one of the multiple enclosing circles, determine the buffer range of the enclosing circle based on the minimum distance between the enclosing circle and the other enclosing circles; and determine the recognition result of the road intersection based on the buffer range between the enclosing circle and the enclosing circle.
[0043] In some embodiments, the intersection identification module 220 can also be used to determine the heat value of the trajectory point based on the hot spot analysis model; and remove the trajectory points whose heat value is less than a certain heat threshold and whose turning angle is less than a certain angle threshold from the trajectory points to obtain the filtered trajectory points.
[0044] In some embodiments, the topology structure generation module 240 can be used to determine a trajectory set connecting the same exit point and entry point based on the entry point, exit point, and vehicle trajectory segments within the range of the road intersection; determine a reference trajectory from the trajectory set; determine a centerline fitting model based on the characteristic parameters of the reference trajectory; and perform centerline fitting on the trajectory lines in the trajectory set based on the centerline fitting model to generate a road topology connecting the same exit point and entry point.
[0045] In some embodiments, the characteristic parameters of the reference trajectory include the ratio of the length of the reference trajectory to the distance between the starting point and the end point of the reference trajectory within the road intersection. If the ratio is less than a certain ratio threshold, the topology structure generation module 240 can determine that the centerline fitting model includes a B-spline fitting model; or if the ratio is greater than a certain ratio threshold, the topology structure generation module 240 can determine that the centerline fitting model includes a K-segment main curve fitting model.
[0046] It should be understood that Figure 2 The system and its modules shown can be implemented in various ways. For example, in some embodiments, the system and its modules can be implemented by hardware, software, or a combination of software and hardware.
[0047] It should be noted that the above description of the system and its modules is for convenience only and does not limit this specification to the scope of the embodiments. It is understandable that those skilled in the art, after understanding the principles of the system, may arbitrarily combine the modules or form subsystems connected with other modules without departing from the principles. In some embodiments, Figure 2 The trajectory data acquisition module 210, intersection identification module 220, entrance / exit determination module 230, and topology structure generation module 240 disclosed in the present disclosure may be different modules within a single system, or a single module may implement the functions of two or more of the aforementioned modules. For example, each module may share a storage module, or each module may have its own storage module. Such variations are within the scope of this specification.
[0048] Figure 3 FIG. 1 is an exemplary flow chart of a method for generating a road intersection topology structure according to some embodiments of this specification. Figure 3 As shown, in some embodiments, process 300 may include step 310 , step 320 , step 330 , step 340 , and step 350 .
[0049] Step 310 , obtaining vehicle trajectory data. In some embodiments, step 310 may be performed by the processing device 110 or the trajectory data obtaining module 210 .
[0050] The vehicle trajectory data may include a plurality of trajectory lines of a plurality of vehicles traveling on a road, wherein each trajectory line is formed by a plurality of trajectory points.
[0051] In some embodiments, the trajectory data acquisition module 210 can obtain vehicle trajectory data via a network. For example, the vehicle trajectory data collected by the vehicle's global navigation satellite system can be obtained via the network. In some embodiments, the trajectory data acquisition module 210 can obtain vehicle trajectory data (such as vehicle trajectory data 120) from a storage device (such as storage device 160).
[0052] In some embodiments, the trajectory data acquisition module 210 may preprocess the vehicle trajectory data. Preprocessing may refer to removing abnormal data from the vehicle trajectory data. Preprocessing may include at least one of removing abnormal trajectory segments, reducing noise in the vehicle trajectory data, and converging scattered trajectories on the same road toward the center of the road.
[0053] Due to reasons such as signal obstruction by the global navigation satellite system, adjacent trajectory points in the vehicle trajectory data may have large time intervals and distance intervals, resulting in abnormal distances between adjacent trajectory points and generating abnormal trajectory segments. In some embodiments, abnormal trajectory segments may include time intervals between adjacent trajectory points that are greater than multiples (e.g., three times) the average sampling interval, distance intervals greater than 400 meters, 500 meters, etc., and vehicle speeds at sampling points greater than 100 km / h, 120 km / h, etc. In some embodiments, the trajectory data acquisition module 210 may segment abnormal trajectory segments in the vehicle trajectory data into one or more vehicle trajectory segments and remove abnormal trajectory segments.
[0054] There may be some noise in the vehicle trajectory data, which affects the road topology, and the vehicle trajectory data can be denoised. In some embodiments, the trajectory data acquisition module 210 can denoise the vehicle trajectory data based on the trajectory length and the number of trajectory points. In some embodiments, the trajectory data acquisition module 210 can denoise the vehicle trajectory data after removing abnormal trajectory segments or the initial trajectory data (for example, vehicle trajectory data without removing abnormal trajectory segments). For example, if the length of a trajectory is greater than a length threshold (for example, 300m or 400m), the trajectory is deleted. For another example, if the number of trajectory points in a trajectory is less than a counting threshold (for example, 30, 35, 40, etc.), the trajectory is deleted.
[0055] The signal of the global navigation satellite system may drift sometimes, and the vehicle trajectory may deviate from the center of the road. In some embodiments, the trajectory data acquisition module 210 can use the gravity-repulsion trajectory data aggregation model to aggregate the scattered trajectories on the same road to the center of the road.
[0056] In some embodiments, as Figure 7 As shown, the trajectory data acquisition module 210 can obtain preprocessed vehicle trajectory data 720 by preprocessing the vehicle trajectory data 710. The preprocessed vehicle trajectory data 720 removes abnormal trajectory segments, deletes vehicle trajectories with noise, and aggregates scattered trajectories on the same road to the center of the road, etc., to obtain the following: Figure 7 Vehicle trajectory data 720 is shown.
[0057] In some embodiments of the present specification, vehicle trajectory data is preprocessed by eliminating abnormal trajectory segments, reducing noise on the vehicle trajectory data, and aggregating scattered trajectories on the same road toward the center of the road. Preprocessed vehicle trajectory data is obtained, which can reduce the impact of signal obstruction and drift of the global navigation satellite system on the vehicle trajectory data, ensure the accuracy of the vehicle trajectory data, and be more beneficial to the road topology of the road intersection, thereby improving the accuracy of the road topology structure generated at the intersection.
[0058] Step 320 , obtaining a road intersection recognition result based on the vehicle trajectory data. In some embodiments, step 320 may be performed by the processing device 110 or the intersection recognition module 220 .
[0059] A road intersection may refer to a location where different roads intersect. For example, a vehicle may pass through a road intersection to enter another road from a current road.
[0060] In some embodiments, the recognition results may include the location and range of the road intersection.
[0061] In some embodiments, the intersection identification module 220 can be based on multiple vehicle trajectory data, by extracting the turning angles (also called steering angles) corresponding to the trajectory points in the vehicle trajectory data, filtering the trajectory points based on the turning angles corresponding to the trajectory points through a hotspot analysis model to obtain filtered trajectory points (also called hotspots), clustering the hotspots to obtain trajectory point clusters, and obtaining the location and range of the road intersection by determining multiple enclosing circles of the trajectory point clusters.
[0062] In some embodiments, the intersection recognition module 220 may determine the turning angles corresponding to the trajectory points in the vehicle trajectory data, and filter the trajectory points based on the turning angles corresponding to the trajectory points to obtain filtered trajectory points. The intersection recognition module 220 may cluster the filtered trajectory points using a clustering model (i.e., a third clustering model) to obtain a plurality of trajectory point clusters, filter the plurality of trajectory point clusters based on the turning angles corresponding to the trajectory points in the plurality of trajectory point clusters to obtain filtered trajectory point clusters, and then determine the recognition result of the road intersection based on the filtered trajectory point clusters. For details, please refer to Figure 5 Part of the description.
[0063] In step 330 , the vehicle trajectory segments within the same road intersection are clustered based on the first clustering model to obtain an initial trajectory clustering result. In some embodiments, step 330 may be performed by the processing device 110 or the entrance / exit determination module 230 .
[0064] In some embodiments, the first clustering model may include a hard clustering model. In some embodiments, the first clustering model may include but is not limited to a k-means clustering model, a hierarchical clustering model, a density-based clustering model, and the like.
[0065] In some embodiments, the initial trajectory clustering result may refer to the result of clustering vehicle trajectory segments within the road intersection range using the first clustering model. In some embodiments, the input of the first clustering model 111 may include multiple vehicle trajectory segments within the road intersection range, etc. The output of the first clustering model 111 may include the initial trajectory clustering result. In some embodiments, the initial trajectory clustering result may include trajectory clustering results within multiple road intersections. Each trajectory clustering result may correspond to a road intersection. Figure 8 As shown in FIG, the circled area is a road intersection, and the area inside the circle is the initial trajectory clustering result of the trajectory segments within the road intersection. The initial trajectory clustering result includes the vehicle trajectory segments within the road intersection.
[0066] In some embodiments, the entrance / exit determination module 230 may utilize a density-based clustering model to obtain initial trajectory clustering results. Specifically, the entrance / exit determination module 230 may determine trajectory differences between vehicle trajectory segments and, based on the trajectory differences, utilize a density-based clustering model to obtain initial trajectory clustering results.
[0067] Density-based clustering models can include the DBSCAN clustering model (Density-Based Spatial Clustering of Applications with Noise, DBSCAN), the OPTICS clustering model (Ordering Points To Identify the Clustering Structure, OPTICS), the DENCLUE clustering model (DENsity-based CLUstEring, DENCLUE), etc.
[0068] The trajectory difference may be used to represent the difference between different vehicle trajectory segments. The difference between two trajectory segments may include at least one of a trajectory distance difference or a trajectory direction difference.
[0069] In some embodiments, the difference between any two trajectory segments within the intersection range can be represented in the form of a matrix (i.e., a trajectory difference matrix). For example, the trajectory difference matrix can include multiple elements. Each element can correspond to two trajectory segments, and the element value can represent the difference between the two trajectory segments.
[0070] In some embodiments, the trajectory distance difference may refer to the difference in distance between vehicle trajectory segments. For example, the trajectory distance difference may be represented by a trajectory distance matrix. The trajectory distance matrix may include multiple elements, each element may correspond to two trajectory segments, and the element value may represent the distance difference between the two trajectory segments. In some embodiments, the distance difference between two trajectory segments may be determined by calculating the distance between the two trajectory segments, such as the Hausdorff distance or the Euclidean distance.
[0071] In some embodiments, the trajectory direction difference may refer to a difference in direction between vehicle trajectory segments. For example, the trajectory direction difference may be represented by a trajectory direction matrix. The trajectory direction matrix may include multiple elements, each element may correspond to two trajectory segments, and the element value may represent the direction difference between the two trajectory segments. In some embodiments, the direction difference between the two trajectory segments may be determined by calculating the angle between the vehicle motion directions or motion vectors corresponding to the two trajectory segments.
[0072] In some embodiments, the entrance / exit determination module 230 can calculate the Hausdorff distance between vehicle trajectory segments within the road intersection to construct a trajectory distance matrix. The directional differences between the vehicle trajectory segments are obtained based on the angular differences in the vehicle's travel direction, and a trajectory direction difference matrix is constructed. The trajectory distance matrix and the trajectory direction difference matrix are combined to obtain a trajectory difference matrix. For example, the trajectory difference matrix can be determined as the sum of the trajectory distance matrix and the trajectory direction difference matrix. For another example, the trajectory difference matrix can be determined as the weighted sum of the trajectory distance matrix and the trajectory direction difference matrix.
[0073] As an example, for two trajectory segments A = {a1, a2, ...}, B = {b1, b2, ...} in Euclidean space, the Hausdorff distance calculation formula (1) can be:
[0074]
[0075] Among them, a1, a2, b1, b2, etc. represent the trajectory points in the trajectory segment. According to the calculation formula (1), the Hausdorff distance of multiple vehicle trajectory segments within the road intersection range can be calculated to obtain the trajectory distance matrix (2):
[0076]
[0077] Among them, d 11 d 12d nn etc. represent the different distances between multiple vehicle trajectory segments. For another example, based on the angular difference of the vehicle's driving direction, the direction of the line connecting the starting point to the end point of each of the multiple vehicle trajectory segments is used as the direction of the vehicle trajectory segment, and the direction difference formula between the multiple vehicle trajectory segments is compared using the following calculation formula (3):
[0078]
[0079] Among them, the direction difference matrix (4) is constructed by the direction difference between multiple vehicle trajectory segments obtained by formula (3):
[0080]
[0081] It can be set that when the direction difference between two trajectory segments is greater than a threshold (e.g., 18 degrees), the direction difference between the two trajectories is 1; when the direction difference between two trajectory segments is less than a threshold (e.g., 18 degrees), the direction difference between the two trajectories is 0.
[0082] According to the trajectory distance matrix and the direction difference matrix, the difference between any two trajectory segments is calculated by formula (5) to obtain the trajectory difference matrix TSM. Formula (5) is shown as follows.
[0083] TSM=w1*M Hausdorff +w3*W dirction (5)
[0084] Wherein, w1 and w2 are weight values corresponding to the distance matrix and the difference matrix. In some embodiments, w1 can be equal to 1, and w2 can be set to β can be an empirical value of 3.5.
[0085] In some embodiments, the trajectory difference entrance / exit determination module 230 may obtain initial trajectory clustering results using a DBSCAN clustering model. In some embodiments, the input to the DBSCAN clustering model may include a trajectory difference matrix (TSM). The output of the DBSCAN clustering model may include the initial trajectory clustering results. The entrance / exit determination module 230 may input the trajectory difference matrix (TSM) into the DBSCAN clustering model, which then outputs the initial trajectory clustering results.
[0086] In some embodiments of this specification, initial clustering results are obtained using a density-based clustering model based on trajectory differences. This can simultaneously consider distance differences and direction differences between trajectory segments, resulting in better clustering results and facilitating road topology at intersections. Initial clustering of vehicle trajectory segments within an intersection using a hard clustering algorithm can refine the classification of processed trajectory segments within the intersection, providing more accurate data for subsequent extraction of entry and exit points. For example, initial clustering of vehicle trajectory segments within an intersection using a hard clustering algorithm can remove trajectories that deviate significantly from the lane, preventing these trajectories from being considered as exit or entry points, which could result in the generation of false entry and exit points.
[0087] Step 340 : Extract the exit and entry points of the road intersection from the initial trajectory clustering results based on the second clustering model. In some embodiments, step 340 may be performed by the processing device 110 or the entrance and exit determination module 230 .
[0088] In some embodiments, the second clustering model includes a soft clustering model (or may be called a fuzzy clustering model). In some embodiments, the second clustering model may include but is not limited to a Gaussian Mixed Model (GMM), a fuzzy C-means model, and the like.
[0089] In some embodiments, a road intersection may include an exit point and an entry point. A vehicle may enter the road intersection from the current road through the entry point, and exit the road intersection through the exit point to enter the next road.
[0090] In some embodiments, for each trajectory clustering result in the initial trajectory clustering result, the entrance and exit determination module 230 can extract the starting point and the ending point of the trajectory segment in each trajectory clustering result to obtain a starting point set and an ending point set; the entrance and exit determination module 230 can use a second clustering model (for example, a Gaussian mixture model) to cluster the points in the starting point set and the ending point set under different clustering numbers to determine multiple starting point clustering results and multiple ending point clustering results, each starting point clustering result includes a starting point cluster under a specific cluster number, and each ending point clustering result includes an ending point cluster under a specific cluster number; the entrance and exit determination module 230 can determine the final starting point clustering result and the final ending point clustering result from the multiple starting point clustering results and the multiple ending point clustering results; the entrance and exit determination module 230 can determine the entry point and the exit point based on the final starting point clustering result and the final ending point clustering result. For detailed instructions on the extraction of entrance and exit points, please refer to Figure 4 Part of the description.
[0091] Step 350 : Determine the road topology of the road intersection based on the exit point and the entry point. In some embodiments, step 350 may be performed by the processing device 110 or the topology structure generation module 240 .
[0092] Road topology may refer to constructing roads within the range of road intersections to determine the road structure within the range of road intersections.
[0093] In some embodiments, the topology structure generation module 240 determines the road topology of the road intersection by fitting a model based on the exit points and the entry points.
[0094] In some embodiments, the topology generation module 240 can determine a set of trajectories connecting the same exit point and entry point based on the entry point, exit point, and vehicle trajectory segments within the range of the road intersection. The topology generation module 240 can determine a reference trajectory from the trajectory set and determine a centerline fitting model based on the characteristic parameters of the reference trajectory. Then, based on the centerline fitting model, centerline fitting is performed on the trajectory lines in the trajectory set to generate a road topology connecting the same exit point and entry point. For details, see Figure 6 Part of the description.
[0095] In some embodiments of the present specification, the vehicle trajectory segments within the road intersection are clustered using a first clustering model. Since the first clustering model is a hard clustering algorithm, some trajectories that deviate far from the lane can be removed to avoid treating these trajectories as exit points or entry points, resulting in the generation of false exit and exit points. This can improve the precision of the clustering results, but it is easily disturbed by trajectory noise, and the trajectories on adjacent roads are aggregated into a cluster (i.e., there is an under-segmentation problem). The present invention further uses a soft clustering model (i.e., the second clustering model) to adaptively extract the exit points and entry points of the road intersection, reduce the interference of noise on the vehicle trajectory segments, enhance the adaptability and robustness of the algorithm to different application scenarios (e.g., high trajectory noise conditions), and improve the accuracy of the reconstructed road topology.
[0096] Figure 4 This is an exemplary flow chart of extracting the entrance and exit points of a road intersection based on the second clustering model according to some embodiments of this specification. Figure 4 As shown, in some embodiments, process 400 may include step 410 , step 420 , step 430 , and step 440 .
[0097] In step 410 , for each trajectory clustering result in the initial trajectory clustering result, extract the starting point and ending point of the trajectory segment in the trajectory clustering result to obtain a starting point set and an ending point set. In some embodiments, step 410 may be performed by the entrance / exit determination module 230 .
[0098] The trajectory clustering result in the initial trajectory clustering result may refer to the trajectory clustering result obtained by the first clustering model within the same road intersection. The initial trajectory clustering result may include multiple trajectory clustering results. Different trajectory clustering results may correspond to different roads within the same road intersection. For example, the road intersection may include multiple roads, and multiple roads may correspond to multiple trajectory clustering results. For more information on determining the initial trajectory clustering result, please refer to Figure 3 Detailed description of step 330 in FIG.
[0099] The starting point of a track segment may refer to the starting point of the track segment in the direction of vehicle travel. For example, if the vehicle is traveling from east to west, and the direction of the track segment is also similar to or the same as the vehicle's direction, the starting point of the track segment may be the starting point of the track segment in the direction from east to west.
[0100] The end point of a track segment may refer to the end point of the track segment in the direction of vehicle travel. For example, if the vehicle is traveling from southeast to northwest, and the direction of the track segment is similar to or the same as the vehicle's direction, the end point of the track segment may be the end point of the track segment in the direction from southeast to northwest.
[0101] The starting point set may refer to a set of starting points of multiple trajectory segments within the same road intersection.
[0102] The end point set may refer to a set of end points of multiple trajectory segments within the same road intersection range.
[0103] In some embodiments, the entrance and exit determination module 230 can obtain a starting point set and an ending point set by extracting the starting point and the ending point of each trajectory segment in the trajectory clustering result. For example, if the initial clustering result includes 5 trajectory clustering results, the entrance and exit determination module 230 can extract the starting point and the ending point of each trajectory segment in the trajectory clustering result to obtain 5 starting point sets and 5 ending point sets respectively. Figure 9 As shown, area 910 may be a starting point set or an ending point set, and area 920 indicates the number of different starting point sets and ending point sets.
[0104] In step 420, a second clustering model may be used to cluster the points in the starting point set and the ending point set respectively in different numbers of clusters to obtain starting point clustering results or ending point clustering results corresponding to different numbers of clusters.
[0105] In some embodiments, the second clustering model may include a Gaussian Mixed Model (GMM). In some embodiments, the input of the Gaussian mixture model may include the number of clusters, a starting point set, an ending point set, etc. The output of the Gaussian mixture model may include starting point clustering results or ending point clustering results corresponding to different numbers of clusters. The number of clusters may refer to the number of categories (e.g., clusters) in the clustering results obtained by clustering based on the second clustering model. Each starting point clustering result may include a starting point cluster under a specific number of clusters. Each ending point clustering result may include an ending point cluster under a specific number of clusters. For example, if the number of clusters is 3, the starting point clustering result is a starting point cluster containing 3 starting points, and the ending point clustering result is an ending point cluster containing 3 ending points. For another example, if the number of clusters is 10, the starting point clustering result is a starting point cluster containing 10 starting points, and the ending point clustering result is an ending point cluster containing 10 ending points.
[0106] In some embodiments, different numbers of clusters can be set according to different requirements, and the starting point clusters and ending point clusters corresponding to different numbers of clusters can be obtained using the Gaussian mixture model. For example, the number of clusters can be 2-20, and the Gaussian mixture model can be used to obtain the starting point clusters and ending point clusters corresponding to the number of clusters of 2, 3, ..., 20, etc.
[0107] In step 420 , a Gaussian mixture model may be used to cluster the points in the starting point set and the ending point set under different cluster number conditions to determine multiple starting point clustering results and multiple ending point clustering results.
[0108] In some embodiments, step 420 may include steps 420-1 and 420-2. Step 420-1 utilizes a Gaussian mixture model to cluster the points within the starting point set under different cluster numbers to determine multiple starting point clustering results. Step 420-2 utilizes a Gaussian mixture model to cluster the points within the ending point set under different cluster numbers to determine multiple ending point clustering results. In some embodiments, steps 420-1 and 420-2 may be performed by entrance / exit determination module 230.
[0109] In some embodiments, the entrance and exit determination module 230 may input the number of clusters and the starting point set into the Gaussian mixture model, and the Gaussian mixture model may output the starting point clustering results corresponding to different cluster numbers. o , the number of clusters is k (k = 2, 3, ..., 20), and the starting point clustering results corresponding to different k values can be obtained through the Gaussian mixture model.
[0110] In some embodiments, the entrance and exit determination module 230 may input the number of clusters and the end point set into the Gaussian mixture model, and the Gaussian mixture model may output the end point clustering results corresponding to different cluster numbers. d , the number of clusters is k (k=2, 3, ..., 20), and the end point clustering results corresponding to the corresponding k value can be obtained through the Gaussian mixture model.
[0111] In step 430 , a final starting point clustering result and an ending point clustering result may be determined from the plurality of starting point clustering results and the ending point clustering results respectively based on the Bayesian Information Criterion.
[0112] In some embodiments, step 430 may include steps 430-1 and 430-2. Step 430-1 determines a final starting point clustering result from multiple starting point clustering results based on the Bayesian Information Criterion. Step 430-2 determines a final ending point clustering result from multiple ending point clustering results based on the Bayesian Information Criterion. In some embodiments, steps 430-1 and 430-2 may be performed by the entrance / exit determination module 230.
[0113] The final starting point clustering result may be a clustering result under a specific number of clusters. For example, if the specific number of clusters is 3, the final starting point clustering result refers to a starting point cluster with a cluster number of 3.
[0114] The final end point clustering result may refer to a clustering result under a specific number of clusters. For example, if the specific number of clusters is 3, the final end point clustering result refers to an end point cluster with 3 clusters.
[0115] In some embodiments, the entrance / exit determination module 230 may determine the final starting point clustering result and the final ending point clustering result from multiple starting point clustering results and multiple ending point clustering results based on the Bayesian Information Criterion (BIC). For example, the entrance / exit determination module 230 may select the starting point clustering result with the smallest BIC value from multiple starting point clustering results (k=2, 3, ..., 20) using the Bayesian Information Criterion as the final starting point clustering result. For another example, the entrance / exit determination module 230 may select the ending point clustering result with the smallest BIC value from multiple ending point clustering results (k=2, 3, ..., 20) using the Bayesian Information Criterion as the final ending point clustering result.
[0116] In step 440 , entry and exit points may be determined based on the final start point clustering result and the end point clustering result.
[0117] In some embodiments, step 440 may include step 440-1 and step 440-2. Step 440-1 determines the entry point based on the final starting point clustering result. Step 440-2 determines the exit point based on the final ending point clustering result. In some embodiments, steps 440-1 and 440-2 may be performed by the entry and exit determination module 230.
[0118] In some embodiments, the entrance / exit determination module 230 can calculate the cluster center corresponding to each starting point cluster in the final starting point clustering result, and use the cluster center corresponding to each starting point cluster as the entrance point of the intersection. In some embodiments, the entrance / exit determination module 230 can determine the distance between the cluster centers corresponding to each starting point cluster, merge two starting point clusters whose cluster center distances meet a certain distance threshold to obtain a merged starting point cluster, calculate the cluster center corresponding to each starting point cluster in the merged starting point cluster, and use the cluster center corresponding to each starting point cluster as the entrance point of the intersection. For example, the distance threshold can be set to 2 meters, and starting point clusters whose cluster centers are less than the distance threshold of 2 meters can be merged. The cluster center of the merged starting point cluster is recalculated, and it is determined whether there is a cluster center whose distance from the cluster center of the merged starting point cluster is less than the distance threshold of 2 meters. If so, the merging is continued and the calculation is repeated, and so on, until there is no cluster center whose distance from the cluster center of the multiple merged starting point clusters is less than the distance threshold of 2 meters, and the cluster center of the multiple merged starting point clusters is determined as the entrance point.
[0119] The method of determining the exit point based on the final end point clustering result is similar to the method of determining the entry point based on the final start point clustering result, and will not be repeated here. Figure 10 As shown, Figure 10 The area 1010 and the area 1020 each include four exit points and four entry points, and the area 1030 includes one exit point or one entry point.
[0120] In some embodiments of the present specification, an adaptive soft clustering algorithm is constructed by using a Gaussian mixture model and the Bayesian information criterion to determine the entry and exit points of a road intersection. This can reduce the aggregation of trajectory segments of adjacent roads due to noise, reduce the error rate of clustering, and improve the accuracy of extracting the exit and entry points of a road intersection.
[0121] Figure 5 This is an exemplary flow chart of obtaining the recognition result of a road intersection based on vehicle trajectory data according to some embodiments of this specification. Figure 5 As shown, in some embodiments, process 500 may include step 510 , step 520 , step 530 , step 540 , and step 550 .
[0122] Step 510 , determining the turning angle corresponding to the trajectory point in the vehicle trajectory data. In some embodiments, step 510 may be performed by the intersection recognition module 220 .
[0123] A trajectory point may refer to a point in a vehicle's trajectory.
[0124] The turning angle corresponding to a trajectory point may refer to the angle at which the vehicle's driving direction changes at a certain point in the vehicle trajectory (ie, the steering angle).
[0125] In some embodiments, the intersection recognition module 220 may determine the turning angle corresponding to a trajectory point in the vehicle trajectory data according to certain rules. For example, the turning angle corresponding to the trajectory point may be determined as the angle between the motion vector (or motion direction) corresponding to the vehicle trajectory before the trajectory point and the motion vector (or motion direction) corresponding to the vehicle trajectory after the trajectory point.
[0126] In some embodiments, the intersection recognition module 220 may interpolate each trajectory in the raw vehicle trajectory data to obtain vehicle trajectory data. The raw vehicle trajectory data may be trajectory data obtained directly from a storage device or other data source by the intersection recognition module 220. The raw vehicle trajectory data may be vehicle trajectory data obtained by the intersection recognition module 220 after pre-processing trajectory data obtained from a storage device or other data source.
[0127] In some embodiments, the intersection recognition module 220 may interpolate the original vehicle trajectory data at a certain interval to obtain vehicle trajectory data. For example, the interpolation interval may be set to 5 meters. The intersection recognition module 220 marks each trajectory at a 5-meter interval. Each trajectory may have multiple marked points at a 5-meter interval, and each marked point may be considered a trajectory point.
[0128] In some embodiments, the intersection identification module 220 can determine the turning angle corresponding to a trajectory point based on the directional relationship between the trajectory point and the preceding and following trajectory points. For example, trajectory point a can form a vector A with the fourth trajectory point a4 preceding trajectory point a, pointing from trajectory point a to trajectory point a. Trajectory point a can form a vector B with the fourth trajectory point a4' following trajectory point a, pointing from trajectory point a to trajectory point a4'. The intersection of vectors A and B is trajectory point a, and the angle between vectors A and B is the turning angle corresponding to trajectory point a. The directions of vectors A and B can represent the directional relationship between trajectory point a and the preceding and following trajectory points a4 and a4', respectively.
[0129] In some embodiments of the present specification, each trajectory in the vehicle trajectory data is interpolated and encrypted at a certain distance (e.g., 5 meters) to avoid inaccurate determination of the turning angle corresponding to the trajectory point due to a large difference in distance between the front and rear trajectory points. Interpolation processing can facilitate the determination of the turning angle corresponding to the trajectory point.
[0130] In step 520 , the trajectory points are filtered based on the corners corresponding to the trajectory points to obtain filtered trajectory points. In some embodiments, step 520 may be performed by the intersection recognition module 220 .
[0131] The filtered trajectory points may refer to trajectory points that meet a certain threshold. For example, the filtered trajectory points may be trajectory points whose corresponding turning angle is greater than a certain angle threshold, or whose heat value is greater than a certain heat threshold.
[0132] In some embodiments, the intersection recognition module 220 may filter the trajectory points based on whether the corresponding turning angle of the trajectory points is greater than a certain angle threshold, and obtain the filtered trajectory points. For example, if the angle threshold is 12°, the trajectory points corresponding to the turning angle greater than the angle threshold of 12° are the filtered trajectory points.
[0133] In some embodiments, the intersection identification module 220 may determine the heat value of the trajectory points based on the hotspot analysis model, and remove trajectory points with heat values less than a certain heat threshold and turning angles less than a certain angle threshold from the trajectory points to obtain filtered trajectory points.
[0134] In some embodiments, the input to the hotspot analysis model may include the corner corresponding to the trajectory point. The output of the hotspot analysis model may include the heat value of the trajectory point. The heat value of the trajectory point may indicate the likelihood that the trajectory point is located within the road intersection. The larger the heat value of the trajectory point, the more likely the trajectory point is located within the road intersection.
[0135] In some embodiments, the intersection identification module 220 may input the corner corresponding to the trajectory point into a hotspot analysis model, and the hotspot analysis model outputs the heat value of the trajectory point.
[0136] The heat threshold may refer to the minimum heat value of a track point after it is filtered. For example, the heat threshold may be 1.93, 1.96, 1.98, etc. The angle threshold may refer to the minimum rotation angle of a track point after it is filtered. For example, the angle threshold may be 8°, 10°, 12°, etc.
[0137] In some embodiments, the intersection recognition module 220 may remove hot spots with heat values less than a certain heat threshold from the trajectory points to obtain hot spots, and remove hot spots with angles less than a certain angle threshold to obtain filtered hot spots (i.e., trajectory points). For example, if the heat threshold is 1.96 and the angle threshold is 10°, the intersection recognition module 220 may remove trajectory points with heat values less than 1.96, and then remove trajectory points with corresponding angles less than 10° to obtain filtered trajectory points.
[0138] In some embodiments of the present specification, the heat value of the trajectory point is determined by a hotspot analysis model, and trajectory points with heat values less than a certain heat threshold and trajectory points with angles less than an angle threshold are eliminated from the trajectory points. Trajectory points that are unlikely to be within the range of a road intersection are eliminated, which is conducive to eliminating trajectory points affected by noise and can improve the accuracy of the filtered trajectory points.
[0139] In step 530 , the filtered trajectory points are clustered using a third clustering model to obtain a plurality of trajectory point clusters. In some embodiments, step 530 may be performed by the intersection recognition module 220 .
[0140] The third clustering model may refer to a model for clustering the filtered trajectory points. For example, the adaptive spatial clustering model (ASCDT), the density-based clustering model with noise (DBSCAN), etc. In some embodiments, the input of the third clustering model may include the filtered trajectory points. The output of the third clustering model may include multiple trajectory point clusters.
[0141] In some embodiments, the intersection recognition module 220 can obtain multiple trajectory point clusters using an adaptive spatial clustering model. For example, the intersection recognition module 220 can input the filtered trajectory points into the adaptive spatial clustering model, which can output multiple trajectory point clusters. In some embodiments, the intersection recognition module 220 can obtain multiple trajectory point clusters using a density-based clustering model with noise. For example, the intersection recognition module 220 can input the filtered trajectory points into a density-based clustering model with noise, which can output multiple trajectory point clusters.
[0142] Step 540 : Filter the plurality of trajectory point clusters based on the turning angles corresponding to the trajectory points in the plurality of trajectory point clusters to obtain filtered trajectory point clusters. In some embodiments, step 540 may be performed by the intersection recognition module 220 .
[0143] The filtered trajectory point cluster may refer to a trajectory point cluster that meets a certain threshold. For example, the filtered trajectory point cluster may be a trajectory point cluster in which there are trajectory points with a turning angle greater than a certain angle threshold, or a trajectory point cluster in which the number of trajectory points with a turning angle greater than a certain angle threshold is greater than a certain number threshold, etc.
[0144] In some embodiments, the intersection recognition module 220 may filter multiple trajectory point clusters based on whether the turning angles corresponding to the trajectory points in the trajectory point clusters are greater than a certain angle threshold, and obtain filtered trajectory point clusters. For example, if the angle threshold is 45°, and the turning angles corresponding to the trajectory points in trajectory point cluster D are greater than the angle threshold 45°, trajectory point cluster D is determined to be one of the filtered trajectory point clusters.
[0145] In some embodiments, the intersection recognition module 220 may determine, for each of the plurality of trajectory point clusters, the number of trajectory points in each trajectory point cluster whose turning angles are greater than a first threshold, and remove trajectory point clusters whose number of trajectory points is less than a second threshold to obtain a plurality of filtered trajectory point clusters. The first threshold may be an angle threshold (e.g., 40°, 45°, 50°, etc.). The second threshold may be a number threshold (e.g., 3, 5, 6, etc.). For example, assuming the first threshold is 45° and the second threshold is 3, there are 4 trajectory points in trajectory point cluster A whose turning angle is greater than the first threshold of 45°. The number of 4 trajectory points is greater than the second threshold of 3, and trajectory point cluster A is one of the filtered trajectory point clusters. The number of trajectory points in trajectory point cluster B whose turning angle is greater than the first threshold of 45° is 2, and the number of 2 trajectory points is less than the second threshold of 3, so trajectory point cluster B is removed. The number of trajectory points in trajectory point cluster C whose turning angle is greater than the first threshold of 45° is 5, and the number of 5 trajectory points is greater than the second threshold of 3, so trajectory point cluster C is one of the filtered trajectory point clusters. Similarly, the intersection recognition module 220 can determine each of the multiple trajectory point clusters to obtain multiple filtered trajectory point clusters.
[0146] Step 550 : Determine the road intersection recognition result based on the filtered trajectory point clusters. In some embodiments, step 550 may be performed by the intersection recognition module 220 .
[0147] In some embodiments, the intersection recognition module 220 can determine a road intersection recognition result based on the filtered trajectory point clusters. For example, the intersection recognition module 220 can determine an enclosing circle for the filtered trajectory point clusters and determine the location of the enclosing circle as the location and range of the road intersection. For another example, the intersection recognition module 220 can merge overlapping enclosing circles and determine the location of the merged enclosing circle as the location and range of the road intersection.
[0148] In some embodiments, the intersection identification module 220 may expand the enclosing circles (or the merged enclosing circles) (i.e., add a certain buffer range (e.g., 15 meters)) and determine whether the expanded enclosing circles overlap. If the expanded enclosing circles overlap, the overlapping enclosing circles are further merged and the merged enclosing circle is determined to be the location and range of the road intersection. If the expanded enclosing circles do not overlap, the expanded enclosing circle is directly determined to be the location and range of the road intersection.
[0149] In some embodiments, the intersection recognition module 220 may determine multiple enclosing circles corresponding to the filtered trajectory point clusters. For any of the multiple enclosing circles, the module may determine a buffer zone for the enclosing circle based on the minimum distance between the enclosing circle and the other enclosing circles. The intersection recognition module 220 may determine a road intersection recognition result based on the enclosing circle and the buffer zone between the enclosing circles.
[0150] An enclosing circle refers to a smallest circle that can include every trajectory point in a trajectory point cluster. For example, the enclosing circle corresponding to the trajectory point cluster A described above can include all the trajectory points in the trajectory point cluster A within the enclosing circle. Each filtered trajectory point cluster can correspond to an enclosing circle. In some embodiments, the size of the enclosing circle corresponding to each filtered trajectory point cluster can be the same or different, and is determined according to the situation of the filtered trajectory point cluster. For example, if the trajectory points of a trajectory point cluster are relatively dense, the enclosing circle corresponding to the trajectory point cluster may be smaller; if the trajectory points of a trajectory point cluster are relatively dispersed, the enclosing circle corresponding to the trajectory point cluster may be larger.
[0151] In some embodiments, the intersection identification module 220 can obtain multiple enclosing circles corresponding to a trajectory point cluster through multiple calculations, and then compare and identify the smallest enclosing circle that can contain every trajectory point in the trajectory point cluster, and determine the smallest enclosing circle as the enclosing circle corresponding to the filtered trajectory point cluster. In some embodiments, if adjacent enclosing circles overlap, the enclosing circles can be merged to obtain a new enclosing circle. For example, if the enclosing circle corresponding to trajectory point cluster A and the enclosing circle corresponding to trajectory point cluster C partially overlap, the enclosing circles corresponding to trajectory point clusters A and B can be merged to obtain a new enclosing circle.
[0152] The buffer range of the enclosing circle can refer to the range of expanding the enclosing circle, for example, adding a buffer range of 10 meters, 15 meters, 30 meters, etc. around the enclosing circle.
[0153] In some embodiments, the intersection identification module 220 can determine the buffer range of an enclosing circle based on the minimum distance between the enclosing circle and the other enclosing circles. The minimum distance between two enclosing circles can refer to the length of the line connecting the centers of the two enclosing circles minus the length of the line within the range of the two enclosing circles. The smaller the minimum distance between the two enclosing circles, the smaller the buffer range corresponding to the two enclosing circles. In some embodiments, the buffer range can be less than half of the minimum distance between the two enclosing circles, so that the two enclosing circles do not overlap after expansion. For example, the buffer range of an enclosing circle can be 1 / 3 of the minimum distance between the enclosing circle and the other enclosing circles (exemplarily, the minimum distance between the enclosing circle and the other enclosing circles is 90 meters, and the buffer range of the enclosing circle is 30 meters). In some embodiments, if the buffer ranges of adjacent enclosing circles overlap, the buffer ranges of the enclosing circles can be merged to obtain a new buffer range of the enclosing circle. For example, if the buffer range 1 of an enclosing circle and the buffer range 2 of an enclosing circle partially overlap, the buffer ranges 1 and 2 can be merged to obtain a new buffer range of the enclosing circle until the buffer ranges of each enclosing circle do not overlap. In some embodiments, the intersection recognition module 220 may determine the recognition result of the road intersection based on the enclosing circle and the buffer range of the enclosing circle.
[0154] In some embodiments of the present specification, the buffer range of the enclosing circle is determined by the minimum distance between the enclosing circle and other enclosing circles. By adaptively determining the buffer range of the enclosing circle, the range of the road intersection can be better obtained, and then the recognition result of the road intersection can be determined, which can improve the accuracy of the road intersection recognition result.
[0155] In some embodiments of the present specification, clustering the filtered trajectory points using an adaptive spatial clustering model can improve the accuracy of trajectory point clustering, thereby improving the accuracy of road intersection recognition results.
[0156] Figure 6 FIG. 1 is an exemplary flow chart of determining the road topology of a road intersection according to some embodiments of this specification. Figure 6 As shown, in some embodiments, process 600 may include step 610 , step 620 , step 630 , and step 640 .
[0157] Step 610, based on the entry point, exit point, and vehicle trajectory segments within the range of the road intersection, a set of trajectories connecting the same exit point and entry point is determined. In some embodiments, step 610 can be performed by the topology structure generation module 240. For more descriptions on the extraction of exit points and entry points of road intersections, please refer to the detailed description in other parts of this application, for example, Figure 4 and its description.
[0158] In some embodiments, the topology structure generation module 240 can determine the trajectory set connecting the same exit point and entry point based on whether the vehicle trajectory segment set of the entry point and the vehicle trajectory segment set of the exit point have an intersection. For example, assuming that the vehicle trajectory segment set passing through each exit point or entry point is T r ={Tr1,Tr2,……,Tr n}. At the same road intersection, the set of vehicle trajectory segments connecting entry point 1 is Trs1, and the set of vehicle trajectory segments connecting exit point 1 is Trs2. If Trs1 and Trs2 have an intersection, it means that a vehicle trajectory segment passes through entry point 1 and exit point 1 at the same time, and there is a passable internal road from entry point 1 to exit point 1 in the road intersection. The same vehicle trajectory segments (i.e., the intersection) of Trs1 and Trs2 are determined as the trajectory set connecting the same exit point and entry point. Through the above method, the trajectory set connecting the same exit point and entry point of each road intersection can be determined. In some embodiments, the topology structure generation module 240 can traverse the vehicle trajectories located at the same road intersection to determine the entry point and exit point corresponding to each vehicle trajectory to determine the trajectory set connecting the same exit point and entry point.
[0159] Step 620 , determining a reference trajectory from the trajectory set. In some embodiments, step 620 may be performed by the topology structure generation module 240 .
[0160] In some embodiments, the same road intersection may correspond to multiple trajectory sets connecting the same exit and entry points. Trajectories in each trajectory set have the same entry and exit points; trajectories in different trajectory sets have different entry and / or exit points. The topology generation module 240 may determine a reference trajectory for each trajectory set. In some embodiments, the same road intersection may correspond to a trajectory set connecting the same exit and entry points. The topology generation module 240 may determine a reference trajectory for the trajectory set.
[0161] The reference trajectory can be the trajectory with the smallest total distance from other trajectories, the trajectory in the middle of the trajectory set, etc.
[0162] In some embodiments, the topology structure generation module 240 can determine the distance between each track in the track set, and select the track with the smallest total distance from other tracks in the track set as the reference track. For example, the distance between each track can be the Hausdorff distance. By calculating the Hausdorff distance between each track in the track set, the total distance from each track in the track set to other tracks can be determined, and the track with the smallest total distance from other tracks in the track set can be selected as the reference track. For more information on the calculation method of the Hausdorff distance, please refer to Figure 3 The relevant instructions will not be repeated here.
[0163] Step 630 : Determine a centerline fitting model based on the characteristic parameters of the reference trajectory. In some embodiments, step 630 may be performed by the topology structure generation module 240 .
[0164] The characteristic parameters of the reference trajectory refer to parameters that can represent the shape of the reference trajectory, such as the curvature of the reference trajectory (e.g., maximum curvature, average curvature), the ratio of the length of the reference trajectory to the distance between the starting point and the end point of the reference trajectory within the road intersection, the angle between the line connecting the starting point and the end point of the reference trajectory within the road intersection and the tangent at the starting point or the end point, etc.
[0165] A centerline fitting model may refer to a model used to fit trajectory lines in a trajectory set. In some embodiments, the centerline fitting model may include a B-spline fitting model, a K-segment principal curve fitting model, or the like. The input of the centerline fitting model may include the trajectory set, and the output of the centerline fitting model may include a road topology connecting the same exit and entry points.
[0166] In some embodiments, the topology generation module 240 may determine a centerline fitting model based on characteristic parameters of the reference trajectory. For example, the topology generation module 240 may compare the characteristic parameters of the reference trajectory with a threshold value corresponding to the characteristic parameters. If the characteristic parameters are less than a certain threshold value, the centerline fitting model is determined to include a B-spline fitting model; or if the characteristic parameters are greater than a certain threshold value, the centerline fitting model is determined to include a K-segment master curve fitting model.
[0167] For example, the characteristic parameter of the reference trajectory may include the ratio of the length of the reference trajectory to the distance between the starting point and the end point of the reference trajectory within the road intersection. The ratio threshold may be 1.1, 1.2, 1.3, etc. If the ratio is less than a certain ratio threshold (e.g., 1.2), it is determined that the centerline fitting model includes a B-spline fitting model; or if the ratio is greater than a certain ratio threshold (e.g., 1.2), it is determined that the centerline fitting model includes a K-segment master curve fitting model.
[0168] In some embodiments of the present specification, different centerline fitting models are selected by using the characteristic parameters of the reference trajectory. Straighter trajectory lines (smaller ratios) are better fitted using B-spline fitting, while curved trajectory lines (larger ratios), for example, self-intersecting trajectory lines, are better fitted using the K-segment main curve fitting model. Therefore, different centerline fitting models are selected according to the characteristic parameters of the reference trajectory, thereby realizing the advantages of different centerline fitting models and improving the effect of fitting the trajectory lines in the trajectory set.
[0169] Step 640 : Perform centerline fitting on the trajectory lines in the trajectory set based on the centerline fitting model to generate a road topology connecting the same exit point and entry point. In some embodiments, step 640 may be performed by the topology structure generation module 240 .
[0170] In some embodiments, the topology structure generation module 240 performs centerline fitting on the trajectory lines in the trajectory set based on the centerline fitting model to generate a road topology connecting the same exit point and entry point. For example, steps 620-640 are performed on each trajectory set connecting the same entry point and exit point at a road intersection to generate a road topology of the road intersection, such as Figure 1 A road topology 140 of a road intersection is shown.
[0171] In some embodiments of the present specification, centerline fitting is performed on the trajectory lines in the trajectory set using a centerline fitting model to generate a road topology connecting the same exit point and entry point, which can improve the accuracy of the road topology.
[0172] It should be noted that the above description of the relevant processes is for illustration and purpose only and does not limit the scope of application of this specification. Those skilled in the art may make various modifications and changes to the above processes under the guidance of this specification. However, such modifications and changes are still within the scope of this specification.
[0173] While the basic concepts have been described above, it will be apparent to those skilled in the art that the detailed disclosure is merely illustrative and does not limit this specification. Although not explicitly stated herein, various modifications, improvements, and revisions to this specification may be made by those skilled in the art. Such modifications, improvements, and revisions are suggested in this specification and remain within the spirit and scope of the exemplary embodiments of this specification.
[0174] This specification also uses specific terms to describe the embodiments of this specification. For example, "one embodiment," "an embodiment," and / or "some embodiments" refer to a feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "one embodiment," "an embodiment," or "an alternative embodiment" two or more times in different locations in this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics of one or more embodiments of this specification may be appropriately combined.
[0175] In addition, unless expressly stated in the claims, the order of the processing elements and sequences, the use of alphanumeric characters, or the use of other names described in this specification are not intended to limit the order of the processes and methods of this specification. Although the above disclosure discusses some of the invention embodiments currently considered useful through various examples, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the spirit and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.
[0176] Similarly, it should be noted that, in order to simplify the presentation of this specification and thus facilitate understanding of one or more embodiments of the invention, the foregoing descriptions of the embodiments of this specification sometimes combine multiple features into a single embodiment, figure, or description thereof. However, this disclosure method does not imply that the subject matter of this specification requires more features than those recited in the claims. In fact, an embodiment may have fewer features than all of the features of a single disclosed embodiment.
[0177] In some embodiments, numbers are used to describe the quantity of components and attributes. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise stated, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the description and claims are approximate values, which may change according to the required characteristics of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining digits. Although the numerical domains and parameters used to confirm the breadth of their range in some embodiments of this specification are approximate values, in specific embodiments, the settings of such numerical values are as accurate as possible within the feasible range.
[0178] Each patent, patent application, patent application publication, and other materials, such as articles, books, specifications, publications, and documents, cited in this specification is hereby incorporated by reference in its entirety. This includes application history documents that are inconsistent with or conflict with the content of this specification, as well as documents (currently or subsequently attached to this specification) that limit the broadest scope of the claims of this specification. It should be noted that if the descriptions, definitions, and / or terminology used in the accompanying materials are inconsistent or conflicting with the content of this specification, the descriptions, definitions, and / or terminology used in this specification will control.
[0179] Finally, it should be understood that the embodiments described in this specification are intended only to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, by way of example and not limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly described and illustrated in this specification.
Claims
1. A method for generating a road intersection topology structure, characterized in that: include: Obtain vehicle trajectory data; Acquire a road intersection recognition result based on the vehicle trajectory data, the recognition result including a location and range of the road intersection; Clustering vehicle trajectory segments within the same road intersection based on a first clustering model to obtain an initial trajectory clustering result, wherein the first clustering model is a hierarchical clustering model or a density-based clustering model; extracting the exit point and the entry point of the road intersection from the initial trajectory clustering result based on a second clustering model, where the second clustering model is a soft clustering model; as well as A road topology of the road intersection is determined based on the exit point and the entry point.
2. The method according to claim 1, characterized in that Clustering the vehicle trajectory segments within the road intersection based on the first clustering model to obtain an initial trajectory clustering result includes: determining a trajectory difference of the vehicle trajectory segments, the trajectory difference representing a difference between any two trajectory segments; and Based on the trajectory differences, the initial trajectory clustering result is obtained using the density-based clustering model, wherein the difference between any two trajectory segments includes at least one of a trajectory distance difference or a trajectory direction difference.
3. The method according to claim 1, characterized in that The second clustering model includes a Gaussian mixture model, and extracting the entrance and exit points of the road intersection from the initial trajectory clustering result based on the second clustering model includes: For each trajectory clustering result in the initial trajectory clustering results, Extracting the starting point and the ending point of the trajectory segment in the trajectory clustering result to obtain a starting point set and an ending point set; Using the Gaussian mixture model, under different clustering numbers, clustering the points in the starting point set and the ending point set respectively to determine a plurality of starting point clustering results and a plurality of ending point clustering results, each starting point clustering result including a starting point cluster under a specific clustering number, and each ending point clustering result including an ending point cluster under a specific clustering number; Determining a final starting point clustering result and a final ending point clustering result from the plurality of starting point clustering results and the plurality of ending point clustering results based on a Bayesian information criterion; and The entry point and the exit point are determined based on the final starting point clustering result and the final ending point clustering result respectively.
4. The method according to claim 1, wherein The obtaining of a recognition result of a road intersection based on the vehicle trajectory data includes: Determining a turning angle corresponding to a trajectory point in the vehicle trajectory data; Filtering the trajectory points based on the turning angles corresponding to the trajectory points to obtain filtered trajectory points; Clustering the screened trajectory points using a third clustering model to obtain a plurality of trajectory point clusters; Filtering the plurality of trajectory point clusters based on the turning angles corresponding to the trajectory points in the plurality of trajectory point clusters to obtain filtered trajectory point clusters; and The recognition result of the road intersection is determined based on the filtered trajectory point clusters.
5. The method according to claim 4, characterized in that The determining of the recognition result of the road intersection based on the filtered trajectory point cluster includes: Determining a plurality of enclosing circles corresponding to the filtered trajectory point clusters; For any one of the multiple enclosing circles, Determining a buffer range of the enclosing circle based on a minimum distance between the enclosing circle and other enclosing circles; and The recognition result of the road intersection is determined based on the enclosing circle and the buffer range of the enclosing circle.
6. The method according to claim 4, characterized in that The filtering of the trajectory points based on the turning angles corresponding to the trajectory points to obtain filtered trajectory points includes: Determining the heat value of the trajectory point based on a hot spot analysis model; and Trajectory points whose heat values are less than a certain heat threshold and whose rotation angles are less than a certain angle threshold are eliminated from the trajectory points to obtain the filtered trajectory points.
7. The method according to claim 1, characterized in that The determining of the road topology of the road intersection based on the entry point, the exit point, and the vehicle trajectory segments within the range of the road intersection includes: Determining a trajectory set connecting the same exit point and entry point based on the entry point, the exit point, and the vehicle trajectory segments within the range of the road intersection; determining a reference trajectory from the set of trajectories; Determining a centerline fitting model based on characteristic parameters of the reference trajectory; and Centerline fitting is performed on the trajectory lines in the trajectory set based on the centerline fitting model to generate a road topology connecting the same exit point and entry point.
8. The method according to claim 7, characterized in that The characteristic parameters of the reference trajectory include a ratio of a length of the reference trajectory to a distance between a starting point and an end point of the reference trajectory within the road intersection, and determining a centerline fitting model based on the characteristic parameters of the reference trajectory includes: If the ratio is less than a certain ratio threshold, determining that the centerline fitting model includes a B-spline fitting model; or If the ratio is greater than a certain ratio threshold, it is determined that the centerline fitting model includes a K-segment main curve fitting model.
9. A device for generating a road intersection topology structure, characterized in that: The device includes at least one processor and at least one memory, at least one of the memories stores program instructions, and at least one of the processors reads the program instructions and executes the method for generating a road intersection topology structure according to any one of claims 1 to 8.
10. A storage medium, characterized in that: The storage medium stores program instructions, and the computer reads the program instructions and executes the method for generating a road intersection topology structure according to any one of claims 1 to 8.
Citation Information
Patent Citations
Urban intersection lane-level structure extraction method based on time-space trajectory big data
CN105788274A
Lane mapping and navigation
CN113348338A