Track matching data sample mining method and device, equipment and medium
By detecting the difference between the navigation planning section and the initial matching section sequence, and using the target position relationship to determine the trajectory matching data sample, the problem of matching errors and low data mining efficiency of the trajectory data matching algorithm in multi-section crossing scenarios is solved, and more efficient is achieved , accurate trajectory data matching.
Patent Information
- Application Number
- CN202411254212.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-06
- Publication Date
- 2024-12-31
AI Technical Summary
The existing trajectory data matching algorithm has many matching errors in multi-section crossover scenarios, and the efficiency of mining user trajectory data in specific scenarios is low, making it difficult to improve matching accuracy.
By detecting the difference between the navigation planning section sequence and the initial matching section sequence, we determine the trajectory matching data samples that meet specific conditions, and then efficiently mine the trajectory data samples in a specific scenario, and use the target position relationship such as parallel or intersection to locate the matching errors .
It improves the mining efficiency and accuracy of trajectory matching data samples, accurately locates and corrects matching errors, and improves the accuracy of trajectory matching algorithms, especially in complex road conditions and lane-level map scenarios.
Smart Images

Figure CN119226417A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of map technology, in particular to the field of data mining and trajectory data matching technology, and specifically to a method, device, electronic device, computer-readable storage medium and computer program product for mining trajectory matching data samples. Background Art
[0002] The trajectory data matching algorithm aims to match the user's travel trajectory points to the road sections, so as to obtain the user's travel path data for application in various fields such as intelligent traffic analysis, public safety research, and urban planning. In order to improve the accuracy of the trajectory data matching algorithm, it is necessary to apply sample trajectory data to tune and iterate the algorithm.
[0003] The methods described in this section are not necessarily methods that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any method described in this section is considered to be prior art simply because it is included in this section. Similarly, unless otherwise indicated, the issues mentioned in this section should not be considered to have been recognized in any prior art. Summary of the invention
[0004] The present disclosure provides a method, device, electronic device, computer-readable storage medium, and computer program product for mining trajectory matching data samples.
[0005] According to one aspect of the present disclosure, a method for mining trajectory matching data samples is provided, comprising: obtaining an initial matching segment sequence corresponding to user trajectory data, wherein the user trajectory data includes multiple trajectory points of the user in a target trip, and the initial matching segment sequence includes multiple road segments matching the multiple trajectory points; determining a navigation planning segment sequence corresponding to the target trip; in response to determining that the initial matching segment sequence is different from the navigation planning segment sequence, determining at least one target subsequence pair, wherein each target subsequence pair includes a first target subsequence in the initial matching segment sequence and a second target subsequence in the navigation planning segment sequence corresponding to each first target subsequence, wherein the at least A target subsequence pair indicates the difference between the initial matching segment sequence and the navigation planned segment sequence; and for each target subsequence pair in the at least one target subsequence pair, in response to determining that at least one road segment of a first target subsequence in the target subsequence pair satisfies a target position relationship with at least one road segment of a second target subsequence, a trajectory matching data sample is determined, wherein the target position relationship includes parallel or intersection, and wherein the trajectory matching data sample includes trajectory points corresponding to each road segment in the first target subsequence in the target subsequence pair and a target road segment corresponding to each trajectory point, and the target road segment corresponding to each trajectory point is determined based on the second target subsequence in the target subsequence pair.
[0006] According to another aspect of the present disclosure, a device for mining trajectory matching data samples is provided, comprising: a first acquisition unit, configured to acquire an initial matching segment sequence corresponding to user trajectory data, wherein the user trajectory data includes multiple trajectory points of the user in a target trip, and the initial matching segment sequence includes multiple road segments matching the multiple trajectory points; a first determination unit, configured to determine a navigation planning segment sequence corresponding to the target trip; a second determination unit, configured to determine at least one target subsequence pair in response to determining that the initial matching segment sequence is different from the navigation planning segment sequence, wherein each target subsequence pair includes a first target subsequence in the initial matching segment sequence and a second target subsequence in the navigation planning segment sequence corresponding to each first target subsequence subsequence, wherein the at least one target subsequence pair indicates the difference between the initial matching segment sequence and the navigation planned segment sequence; and a third determination unit, configured to determine a trajectory matching data sample for each target subsequence pair in the at least one target subsequence pair in response to determining that at least one road segment of the first target subsequence in the target subsequence pair satisfies a target position relationship with at least one road segment of the second target subsequence, wherein the target position relationship includes parallel or intersection, and wherein the trajectory matching data sample includes a trajectory point corresponding to each road segment in the first target subsequence in the target subsequence pair and a target road segment corresponding to each trajectory point, and the target road segment corresponding to each trajectory point is determined based on the second target subsequence in the target subsequence pair.
[0007] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned method for mining trajectory matching data samples.
[0008] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned method for mining trajectory matching data samples.
[0009] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program can implement the above-mentioned method for mining trajectory matching data samples when executed by a processor.
[0010] According to one or more embodiments of the present disclosure, the mining efficiency of trajectory matching data samples can be improved.
[0011] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0013] Figure 1 A schematic diagram showing an exemplary system in which the various methods described herein may be implemented according to an exemplary embodiment of the present disclosure;
[0014] Figure 2 A flow chart of a method for mining trajectory matching data samples according to an exemplary embodiment of the present disclosure is shown;
[0015] Figure 3 A schematic diagram showing a target scene according to an exemplary embodiment of the present disclosure is shown;
[0016] Figure 4 A flow chart of a method for mining trajectory matching data samples according to an exemplary embodiment of the present disclosure is shown;
[0017] Figure 5 A schematic diagram showing a mining process of trajectory matching data samples according to an exemplary embodiment of the present disclosure is shown;
[0018] Figure 6 A schematic diagram showing training data of a trajectory matching model according to an exemplary embodiment of the present disclosure is shown;
[0019] Figure 7 A structural block diagram of a device for mining trajectory matching data samples according to an exemplary embodiment of the present disclosure is shown;
[0020] Figure 8 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0021] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0022] In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, timing relationship, or importance relationship of these elements, and such terms are only used to distinguish one element from another element. In some examples, the first element and the second element may refer to the same instance of the element, and in some cases, based on the description of the context, they may also refer to different instances.
[0023] The terms used in the description of various examples in this disclosure are only for the purpose of describing specific examples and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element can be one or more. In addition, the term "and / or" used in this disclosure covers any one of the listed items and all possible combinations.
[0024] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0025] Figure 1 FIG. 1 is a schematic diagram of an exemplary system 100 in which various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.
[0026] In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable the execution of a mining method for trajectory matching data samples.
[0027] In some embodiments, server 120 may also provide other services or software applications, which may include non-virtualized environments and virtualized environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.
[0028] exist Figure 1In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may in turn utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
[0029] The user may use client devices 101, 102, 103, 104, 105 and / or 106 to send user trajectory data. The client device may provide an interface that enables a user of the client device to interact with the client device. The client device may also output information to the user via the interface. Figure 1 Only six client devices are depicted, but one skilled in the art will appreciate that the present disclosure may support any number of client devices.
[0030] Client devices 101, 102, 103, 104, 105 and / or 106 may include various categories of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, game systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various categories and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems, such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android. Portable handheld devices may include cellular phones, smart phones, tablet computers, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Game systems may include various handheld game devices, Internet-enabled game devices, etc. The client device is capable of executing a variety of different applications, such as various Internet-related applications, communication applications (eg, email applications), short message service (SMS) applications, and may use various communication protocols.
[0031] The network 110 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including but not limited to TCP / IP, SNA, IPX, etc. By way of example only, one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.
[0032] Server 120 may include one or more general purpose computers, dedicated server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
[0033] The computing units in the server 120 may run one or more operating systems including any of the above operating systems and any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
[0034] In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.
[0035] In some embodiments, the server 120 may be a server of a distributed system, or a server combined with a blockchain. The server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. A cloud server is a host product in a cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and virtual private servers (VPS) services.
[0036] The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. The databases 130 may reside in various locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. The databases 130 may be of different categories. In some embodiments, the databases used by the server 120 may be, for example, relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.
[0037] In some embodiments, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different categories of databases, such as a key-value store, an object store, or a conventional store backed by a file system.
[0038] Figure 1 The system 100 may be configured and operated in various ways to enable the application of various methods and apparatuses described in the present disclosure.
[0039] The trajectory data matching algorithm aims to match the trajectory points of the user's travel to the road sections, so as to obtain the user's travel path data. In order to improve the accuracy of the trajectory matching algorithm, it is usually necessary to apply sample trajectory data in various road scenarios for training. For example, the trajectory matching algorithm may be more prone to matching errors in intersection scenarios where multiple road sections intersect. By applying sample trajectory data in complex road conditions to perform targeted tuning of the trajectory matching algorithm, the accuracy of the trajectory matching algorithm can be improved. In related technologies, when it is necessary to mine user trajectory data in a specific scenario, it can only be traversed and searched in a large amount of trajectory data and road networks, and the mining efficiency is low.
[0040] Based on this, the present disclosure provides a method for mining trajectory matching data samples, which more efficiently locates data information where trajectory matching errors occur by detecting the difference between the navigation planned road segment sequence of the user's travel and the initial matching road segment sequence of the travel trajectory, and then determines the trajectory matching data samples in a specific scenario based on the difference that meets specific conditions, thereby more efficiently mining trajectory data samples that meet specific conditions.
[0041] Figure 2 FIG. 4 is a flow chart showing a method for mining trajectory matching data samples according to an exemplary embodiment of the present disclosure. Figure 2 As shown, the method 200 includes:
[0042] Step S201, obtaining an initial matching road segment sequence corresponding to user trajectory data, wherein the user trajectory data includes a plurality of trajectory points of the user in a target trip, and the initial matching road segment sequence includes a plurality of road segments matching the plurality of trajectory points;
[0043] Step S202, determining a navigation planning section sequence corresponding to the target trip;
[0044] Step S203, in response to determining that the initial matching road segment sequence is different from the navigation planned road segment sequence, determining at least one target subsequence pair, wherein each target subsequence pair includes a first target subsequence in the initial matching road segment sequence and a second target subsequence in the navigation planned road segment sequence corresponding to each first target subsequence, wherein the at least one target subsequence pair indicates a difference between the initial matching road segment sequence and the navigation planned road segment sequence; and
[0045] Step S204: for each target subsequence pair in the at least one target subsequence pair, in response to determining that at least one road segment of a first target subsequence in the target subsequence pair satisfies a target position relationship with at least one road segment of a second target subsequence, determine a trajectory matching data sample, wherein the target position relationship includes parallel or intersection, and wherein the trajectory matching data sample includes a trajectory point corresponding to each road segment in the first target subsequence in the target subsequence pair and a target road segment corresponding to each trajectory point, and the target road segment corresponding to each trajectory point is determined based on the second target subsequence in the target subsequence pair.
[0046] By applying the above method 200, on the basis of obtaining the trajectory data of the user's trip and the corresponding initial matching segment sequence, the difference between the navigation planning segment sequence corresponding to the trip and the initial matching segment sequence is detected, and the difference is detected whether it meets the preset target position relationship, and then the trajectory data sample in a specific scenario is determined based on the difference that meets the target position relationship condition. Since most users in actual scenarios travel according to the navigation planning information, by applying the above method, the navigation planning segment sequence can be assumed to be the true value of the trajectory data matching, and then the matching error value in the initial matching result can be mined, based on which the sample trajectory data that meets the conditions can be more efficiently located.
[0047] It is understandable that when a user uses a navigation service during a trip, the navigation service needs to obtain and use the user's trajectory data during the navigation process. The user trajectory data can be obtained, for example, by obtaining the positioning data of the user terminal, or by obtaining the positioning data of the vehicle using the navigation service. When the navigation service records the trajectory data corresponding to multiple trips of the user, the above method 200 can be applied to detect and mine the trajectory data corresponding to each trip.
[0048] In some examples, obtaining the initial matching road segment sequence corresponding to the user trajectory data in step S201 may include: inputting the user trajectory data into a trajectory matching model to obtain the initial matching road segment sequence output by the trajectory matching model. In one example, the trajectory matching model may be a Hidden Markov Model (HMM).
[0049] In some examples, the above operation of using the trajectory matching model to obtain the initial matching road segment sequence may also be completed in advance, so that the user trajectory data and its corresponding initial matching road segment sequence may be obtained by querying the database in step S201.
[0050] In actual application scenarios, there may be dense trajectory points in the user trajectory data. In this case, multiple trajectory points that are closely spaced may correspond to the same road segment. When the original matching process determines the corresponding initial matching segment for each trajectory point, the same road segment will appear multiple times in succession in the obtained initial matching segment sequence. Based on this, in some examples, step S201 may be based on the following steps to obtain the initial matching segment sequence: using the trajectory matching model to obtain the road segment corresponding to each trajectory point in the multiple trajectory points to obtain the initial matching segment sequence; and performing a deduplication operation on the multiple road segments in the initial matching segment sequence determined in the previous step. By performing a deduplication operation on the multiple road segments in the initial matching segment sequence, it is possible to avoid duplicate content affecting the subsequent step of finding the difference between the initial matching segment sequence and the navigation planning segment sequence.
[0051] In some examples, the target position relationship can be pre-set according to actual needs. When the target position relationship is parallel, it can be detected whether the difference between the initial matching segment sequence indicated by the target subsequence pair and the navigation planned segment sequence is a parallel segment, that is, in the initial matching process, the adjacent segment parallel to the user's actual driving segment is mistakenly used as a matching result. When the target position relationship is intersecting, it can be detected whether the difference between the initial matching segment sequence indicated by the target subsequence pair and the navigation planned segment sequence is an intersecting segment, that is, in the initial matching process, the adjacent segment intersecting with the user's actual driving segment is mistakenly used as a matching result, thereby locating the matching error phenomenon that occurs in the initial trajectory matching algorithm in the fork in the road scenario.
[0052] As mentioned above, conventional technology usually involves traversing and searching through a large amount of trajectory data and road networks to determine data samples in parallel road scenarios. It is understandable that since there may be a large number of parallel sections on the road in actual scenarios, the parallel road scene mining results obtained in this way are usually not unique. For example, when searching for a parallel section corresponding to a certain road section, multiple parallel section retrieval results may be obtained, that is, it is difficult to obtain adjacent sections that are parallel to each other and conform to the actual travel scenario. By applying the above-mentioned method 200 to mine trajectory data samples in parallel road scenarios, it is possible to accurately determine the erroneous matching results of the existing trajectory matching algorithm in parallel road scenarios, thereby obtaining adjacent sections that are parallel to each other and conform to the actual travel scenario in multiple groups of parallel sections.
[0053] According to some embodiments, the initial matching road segment sequence includes at least one lane-level road segment. As a result, sample mining can be performed on lane-level trajectory matching data, and then trajectory matching data samples that can be applied to lane-level map products can be obtained. For example, the mined lane-level trajectory matching data can be used to tune the trajectory matching algorithm, and then the optimized trajectory matching algorithm can be used to determine the lane matching result corresponding to the user's trajectory, which is equivalent to obtaining lane-level path information that can indicate the user's movement or driving in the road network. Based on this, more accurate lane-level navigation services can be provided to users.
[0054] In actual application scenarios, multiple lanes in a road are usually parallel to each other. Therefore, when the trajectory matching data includes lane-level road sections, parallel lane mismatches are more likely to occur. In this case, the target position relationship can be set to parallel, that is, the method 200 can be applied to more efficiently and accurately mine data samples of parallel lane mismatches in the lane-level map, and then the mined trajectory matching data samples can be applied to specifically optimize the matching accuracy of the trajectory matching algorithm in the parallel lane scenario, so as to improve the accuracy of the trajectory matching algorithm in the lane-level map product.
[0055] According to some embodiments, determining the navigation planned segment sequence consisting of multiple road segments corresponding to the target itinerary in step S202 includes: obtaining multiple historical navigation planned segment sequences of the user; and based on the information of the target itinerary or the initial matching segment sequence, querying the navigation planned segment sequence corresponding to the target itinerary from the multiple historical navigation planned segment sequences.
[0056] As mentioned above, when a user uses the navigation service during a trip, the navigation service can record the navigation planning segment sequences corresponding to the user's multiple trips. By querying the navigation planning segment sequence corresponding to the target trip from the set of historical navigation paths, a navigation planning segment sequence that can more accurately indicate the user's actual travel path can be obtained, thereby making it easier and more efficient to mine the error values in the initial matching results, thereby improving mining efficiency and accuracy.
[0057] According to some embodiments, based on the information of the target trip or the initial matching segment sequence, querying the navigation planning segment sequence corresponding to the target trip from the multiple historical navigation planning segment sequences includes: obtaining the starting point and the end point of the target trip; and querying the navigation planning segment sequence corresponding to the target trip from the multiple historical navigation planning segment sequences based on the starting point and the end point. Thus, the navigation planning segment sequence corresponding to the target trip can be conveniently determined by matching the start and end points.
[0058] In some examples, the starting point and end point information of the target trip may be explicit information recorded by the navigation service, and then directly matched and queried with the starting point and end point information of the historical navigation planning segment sequence to obtain a navigation planning segment sequence consistent with the starting point and end point of the target trip, that is, corresponding to the navigation planning route provided by the navigation service in the user's target trip. In some examples, the starting point and end point information may also be determined based on the initial matching segment sequence, and then matched and queried with the starting point and end point information of the historical navigation planning segment sequence.
[0059] According to some embodiments, in response to determining that the initial matching road segment sequence is different from the navigation planning road segment sequence in step S203, determining at least one target subsequence pair includes: in response to determining that the initial matching road segment sequence is different from the navigation planning road segment sequence, using a first pointer and a second pointer different from the first pointer to traverse the initial matching road segment sequence and the navigation planning sequence from the beginning and end of the initial matching road segment sequence and the navigation planning sequence respectively; and determining the at least one target subsequence pair based on the traversal result. By using two pointers to traverse from both ends of the initial matching road segment sequence respectively, that is, using a double-end approximation method to more efficiently and accurately find the difference part, the mining efficiency is improved.
[0060] Figure 3 FIG. 1 is a schematic diagram showing a target scene according to an exemplary embodiment of the present disclosure. Figure 3 , which shows the navigation planning segment sequence abcdes, the user's trajectory points and the initial matching segment sequence amfncdxzys from top to bottom. In this example, the part of the initial matching segment sequence that is different from the navigation planning segment sequence includes the subsequence mfn and the subsequence xzy, the target subsequence corresponding to the subsequence mfn in the navigation planning segment sequence is the b segment, and the target subsequence corresponding to the subsequence xzy is the e segment.
[0061] According to some embodiments, the following steps are used to determine whether at least one road segment of the first target subsequence and at least one road segment of the second target subsequence in the target subsequence pair satisfy the target position relationship: by querying the road network data, determining the first coordinate information corresponding to at least one road segment of the first target subsequence and the second coordinate information corresponding to at least one road segment of the second target subsequence in the target subsequence pair; performing target calculation based on the first coordinate information and the second coordinate information, wherein the formula of the target calculation is configured for the target position relationship; and determining whether at least one road segment of the first target subsequence and at least one road segment of the second target subsequence in the target subsequence pair satisfy the target position relationship based on the result of the target calculation. By performing calculations based on the road network coordinate information of the road segments, it is possible to simply and accurately verify whether the difference segments of the initial matching segment sequence indicated by the target subsequence pair and the navigation planning sequence meet the preset target position relationship.
[0062] In some examples, the initial matching segment sequence and the navigation planning segment sequence may only include the segment identifiers of each road segment. In this case, the specific positioning information of each road segment can be queried based on the segment identifier.
[0063] In some examples, the position information of the road segment included in the road network data may be defined by the coordinates of two endpoints of the road segment. In this case, the positional relationship between the road segments can be determined based on the endpoint coordinates of the road segments in the first target subsequence and the second target subsequence. The positional relationship between the road segments may include various types such as parallel and intersecting, or the intersecting positional relationship may be further divided into specific types such as perpendicular and common endpoints, so as to more accurately indicate the relative positional relationship between the road segments.
[0064] See above for further details. Figure 3In the example shown, in this example, the road segment b in the navigation planning segment sequence and the road segment f in the initial matching segment sequence are a set of different segments. In this case, when the segment vector coordinates of segment f in the road network data are (x1, y1) and the segment vector coordinates of segment b in the road network data are (x2, y2), it is possible to verify whether the two segment vectors are parallel vectors based on the formula x1*y2=y1*x2, and then determine whether the segment f and segment b meet the target position relationship of parallelism.
[0065] In this example, the road segment b in the navigation planning segment sequence is parallel to the road segment f in the initial matching segment sequence, and the road segment e in the navigation planning segment sequence is parallel to the road segment z in the initial matching segment sequence. In this case, the sample trajectory data can be determined based on the road segments b and f, and the sample trajectory data can include the trajectory points corresponding to the road segment f, and the target road segment corresponding to the trajectory points is b. Similarly, the sample trajectory data can be determined based on the road segments e and z, and the sample trajectory data can include the trajectory points corresponding to the road segment z, and the target road segment corresponding to the trajectory points is e.
[0066] According to some embodiments, the user trajectory data also includes trajectory timestamps of the multiple trajectory points, and the method further includes: obtaining the deviation time information of the user in the target trip, wherein the deviation time information is determined based on the user trajectory data and the location information of multiple road segments in the navigation planning segment sequence; and for each first target subsequence in the at least one first target subsequence, in response to determining that the trajectory timestamp of the trajectory point corresponding to any road segment in the first target subsequence is the same as the deviation time information, deleting the first target subsequence from the at least one first target subsequence. By filtering based on the deviation time information, the difference in matching results caused by deviation can be eliminated, thereby improving the accuracy of data mining.
[0067] According to some embodiments, the deviation time information is determined based on the user trajectory data and the position information of multiple road sections in the navigation planning section sequence. Thus, the deviation time information can be directly obtained based on the trajectory data, and then the deviation time information is used to further filter the matching results, thereby improving the accuracy of data mining.
[0068] As mentioned above, in some examples, when a user uses a navigation service during a trip, the navigation service can record the user's deviation information. In this case, the user's deviation information is determined based on the user's location information (i.e., equivalent to the location of the trajectory point in the user's trajectory data) and the location information of multiple road segments in the navigation planning segment sequence, that is, it can accurately indicate whether the user has deviated. It can be understood that when the user deviates, the navigation planning segment sequence is no longer the true value of the trajectory data matching. By terminating the execution of method 200 based on the deviation time information, it is possible to avoid the erroneous results affecting the mining of trajectory matching data samples.
[0069] In some examples, the deviation time information may also be determined by other means. For example, when the user trajectory data corresponds to the driving trajectory of the autonomous vehicle, the driving decision information of the autonomous vehicle in the target trip can be directly obtained, and then it can be determined whether there is a moment in the target trip when the autonomous vehicle does not travel along the navigation planning path, that is, the deviation time information can be obtained.
[0070] According to some embodiments, method 200 further includes: determining the similarity between the initial matching segment sequence and the navigation planning segment sequence; and in response to determining that the similarity is less than a similarity threshold, performing a filtering operation on the initial matching segment sequence. Thus, it is possible to determine whether the group of initial matching segment sequences and navigation planning segment sequences need to be discarded based on the similarity between the initial matching segment sequence and the navigation planning segment sequence. It is understandable that when the similarity between the initial matching segment sequence and the navigation planning segment sequence is too low, the navigation planning segment sequence is likely to be unsuitable as the true value of the trajectory data matching. By checking the similarity between the initial matching segment sequence and the navigation planning segment sequence to terminate the execution of method 200, it is possible to avoid erroneous results from affecting the mining of trajectory matching data samples, while reducing the amount of data processing and improving mining efficiency.
[0071] According to some embodiments, the determining of the similarity between the initial matching road segment sequence and the navigation planning road segment sequence comprises: determining the longest common subsequence between the initial matching road segment sequence and the navigation planning road segment sequence; and determining the similarity between the initial matching road segment sequence and the navigation planning road segment sequence based on the ratio of the length of the longest common subsequence to the length of the initial matching road segment sequence. By calculating the longest common subsequence between the initial matching road segment sequence and the navigation planning road segment sequence, the similarity between the two can be determined simply and efficiently.
[0072] In some examples, the similarity between the initial matching road segment sequence and the navigation planning road segment sequence can also be determined by other means. For example, the similarity between the path shape corresponding to the initial matching road segment sequence and the path shape corresponding to the navigation planning road segment sequence can be calculated. For another example, the similarity between the initial matching road segment sequence and the navigation planning road segment sequence can also be determined by detecting the proportion of the difference between the initial matching road segment sequence and the navigation planning road segment sequence in the entire sequence.
[0073] Figure 4 FIG. 4 is a flow chart showing a method for mining trajectory matching data samples according to an exemplary embodiment of the present disclosure. Figure 4 As shown, the mining method of trajectory matching data samples includes the following steps:
[0074] Step S1: Obtain user trajectory data.
[0075] Step S2: Determine an initial matching road segment sequence. In this step, for example, the user trajectory data may be input into a trajectory matching model to obtain an initial matching road segment sequence output by the model.
[0076] Step S3: determining a navigation planning section sequence based on the start and end point information of the user trajectory data.
[0077] Step S4: Determine the difference road segment set between the initial matching road segment sequence and the navigation planning road segment sequence. In this example, the difference road segment set data may include the time stamp information corresponding to the difference road segments.
[0078] Step S5: judging whether the difference road section belongs to the deviation point according to the timestamp. When a group of difference road sections belongs to the deviation point, the process is jumped to step S9 to end the process, otherwise, the subsequent steps are continued.
[0079] Step S6, searching for road network data corresponding to the difference road section. In this step, the specific location information of the difference road section may be retrieved in the road network, such as the endpoint coordinates of the road section or the direction vector of the road section.
[0080] Step S7, determine whether the difference road section meets the scene condition. On the basis of the road network data corresponding to the difference road section that has been retrieved, calculations can be performed based on this to determine whether the difference road section meets the preset conditions. For example, the direction vector can be calculated to determine whether the difference road section is a parallel road. When the difference road section does not meet the scene condition, the process can be skipped to step S9 to end, otherwise continue to execute subsequent steps. In this example, the scene condition for screening the difference road section can be defined according to the preset target position relationship between road sections. For example, the technical means described above can be applied to make a judgment based on the coordinate information of the difference road section in the road network data and the preset verification conditions.
[0081] Step S8, storing sample data in a database. When it is determined that the difference road section meets the scenario conditions, sample data can be constructed based on the difference road section and stored in a sample database to obtain trajectory data samples that meet the scenario conditions.
[0082] Figure 5 FIG. 1 is a schematic diagram showing a mining process of a trajectory matching data sample according to an exemplary embodiment of the present disclosure. Figure 5 As shown, the sample data mining module 505 is used to execute the method 200 described above to realize the mining of trajectory matching data samples. The road network database 501, the navigation database 502, and the trajectory database 503 are respectively used to store the road network data, the navigation planning road segment sequence corresponding to the user's itinerary, and the user's yaw data and trajectory data. The trajectory matching module 504 is used to determine the initial matching road segment sequence based on the user's trajectory data. The sample data mining module 505 can obtain data from the road network database 501, the navigation database 502, the trajectory database 503, and the trajectory matching module 504 to realize the mining of trajectory matching data samples, and then store the trajectory data samples in the sample database 506.
[0083] According to one aspect of the present disclosure, a method for training a trajectory matching model is also provided, the training method comprising: inputting sample trajectory data including a plurality of sample trajectory points into a trajectory matching model to obtain a first predicted matching road segment sequence corresponding to the sample trajectory data output by the trajectory matching model; and adjusting parameters of the trajectory matching model based on the first predicted matching road segment sequence and a target road segment corresponding to each sample trajectory point, wherein the target road segment corresponding to each sample trajectory point is determined using the method 200 described above.
[0084] In some examples, the trajectory matching model may be a Hidden Markov Model (HMM). Figure 6 A schematic diagram of training data of a trajectory matching model according to an exemplary embodiment of the present disclosure is shown. In this example, the hidden Markov model used to implement trajectory matching can implement trajectory data matching based on the transition probability from road segment to road segment and the emission probability from trajectory point to road segment. Figure 6As shown, it is assumed that the transition probability from section A to section B is p1, the transition probability from section A to section C is p2, the emission probability from trajectory point a to section B is p3, and the emission probability from trajectory point a to section C is p4. It can be understood that the above p1-p4 can affect the matching results of trajectory points a and b. When the matching true value of trajectory points a and b indicated by the sample trajectory data is section A-section B, the matching effect can be optimized by configuring weights for the relevant transition probabilities and emission probabilities. For example, when it is detected that the attribute of section C in the road network data is a connecting road, it indicates that section C can point to other sections that constitute a parallel fork scene with the matching true value (section B). In this case, the transition probability from section A to section C can be adjusted from p2 to m*p2, and the emission probability from trajectory point a to section C can be adjusted from p4 to n*p4, where m and n are decimals between 0 and 1. By reducing the weights of the corresponding transition probability and emission probability, the probability of trajectory points a and b being matched to section C-section D can be reduced, so that the final matching result tends to match the true value (section B).
[0085] According to some embodiments, the training method of the trajectory matching model further includes: determining a first matching accuracy of the trajectory matching model based on the first predicted matching segment sequence and the target road segment corresponding to each trajectory point in the sample trajectory data; inputting the sample trajectory data into the trajectory matching model after adjusting parameters to obtain a second predicted matching segment sequence corresponding to the sample trajectory data output by the trajectory matching model after adjusting parameters; determining a second matching accuracy of the trajectory matching model based on the second predicted matching segment sequence and the target road segment corresponding to each trajectory point in the sample trajectory data; and in response to determining that the second matching accuracy is less than the first matching accuracy, re-adjusting the parameters of the trajectory matching model. By applying the above steps, the trajectory data sample containing the matching true value can be used to evaluate the parameter adjustment effect of the trajectory matching model, thereby improving the optimization efficiency of the trajectory matching model.
[0086] According to one aspect of the present disclosure, a trajectory matching method is also provided, which comprises: inputting user trajectory data including a plurality of trajectory points into a trajectory matching model to obtain a target matching road segment sequence corresponding to the user trajectory data output by the trajectory matching model, wherein the target matching road segment sequence comprises a plurality of road segments matching the plurality of trajectory points, and the trajectory matching model is trained using the above-mentioned trajectory matching model training method.
[0087] It can be understood that after determining the road segment matching result corresponding to the user trajectory, it is equivalent to obtaining user path data that can indicate the road path information of the user moving or traveling in the road network, which can be applied to various fields.
[0088] In one example, the user path data that has been determined during the user's travel process can be analyzed, and on the premise of determining the user's current location based on this, further travel path navigation planning information can be better provided to the user.
[0089] In one example, the user path data of multiple users in the current traffic scenario (for example, in a city or a region) can be analyzed to obtain traffic congestion prediction information, and further travel path navigation planning information can be provided to users more accurately based on the traffic congestion prediction information.
[0090] In one example, the user path data of the user in the historical travel can be analyzed to obtain the user's travel habits and preference information, so as to better provide the user with further travel path navigation planning information.
[0091] In one example, the user path data of multiple users in a certain area within a certain period of time can be analyzed to obtain the spatiotemporal characteristics of traffic congestion in the area, which can provide data support for traffic relief or urban planning plans.
[0092] The user trajectory data and user path data in the above examples have been anonymized and do not contain any user personal information or privacy content.
[0093] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0094] According to one aspect of the present disclosure, a device for mining trajectory matching data samples is also provided. Figure 7 FIG. 8 shows a structural block diagram of a mining device 700 for tracking matching data samples according to an exemplary embodiment of the present disclosure. Figure 7 As shown, the apparatus 700 includes:
[0095] A first acquisition unit 701 is configured to acquire an initial matching segment sequence corresponding to user trajectory data, wherein the user trajectory data includes a plurality of trajectory points of the user in a target trip, and the initial matching segment sequence includes a plurality of road segments matching the plurality of trajectory points;
[0096] A first determining unit 702 is configured to determine a navigation planning segment sequence corresponding to the target trip;
[0097] a second determining unit 703, configured to determine at least one target subsequence pair in response to determining that the initial matching road segment sequence is different from the navigation planned road segment sequence, wherein each target subsequence pair includes a first target subsequence in the initial matching road segment sequence and a second target subsequence in the navigation planned road segment sequence corresponding to each first target subsequence, wherein the at least one target subsequence pair indicates a difference between the initial matching road segment sequence and the navigation planned road segment sequence; and
[0098] The third determination unit 704 is configured to determine, for each target subsequence pair in the at least one target subsequence pair, a trajectory matching data sample in response to determining that at least one road segment of a first target subsequence in the target subsequence pair satisfies a target position relationship with at least one road segment of a second target subsequence, wherein the target position relationship includes parallel or intersection, and wherein the trajectory matching data sample includes trajectory points corresponding to each road segment in the first target subsequence in the target subsequence pair and a target road segment corresponding to each trajectory point, and the target road segment corresponding to each trajectory point is determined based on the second target subsequence in the target subsequence pair.
[0099] According to some embodiments, a fourth determination unit is used to determine whether at least one road segment of a first target subsequence in a target subsequence pair and at least one road segment of a second target subsequence satisfy a target position relationship, and the fourth determination unit includes: a first determination subunit, configured to determine first coordinate information corresponding to at least one road segment of the first target subsequence in the target subsequence pair and second coordinate information corresponding to at least one road segment of the second target subsequence by querying road network data; a calculation subunit, configured to perform target calculation based on the first coordinate information and the second coordinate information, wherein a formula for the target calculation is configured for the target position relationship; and a second determination subunit, configured to determine whether at least one road segment of the first target subsequence in the target subsequence pair and at least one road segment of the second target subsequence satisfy the target position relationship based on a result of the target calculation.
[0100] According to some embodiments, the second determination unit 703 includes: a traversal subunit, configured to, in response to determining that the initial matching road segment sequence is different from the navigation planned road segment sequence, traverse the initial matching road segment sequence and the navigation planned sequence from the beginning and the end of the initial matching road segment sequence and the navigation planned sequence respectively using a first pointer and a second pointer different from the first pointer; and a third determination subunit, configured to determine the at least one target subsequence pair based on the traversal result.
[0101] According to some embodiments, the user trajectory data also includes trajectory timestamps of the multiple trajectory points, and the device 700 also includes: a second acquisition unit, configured to obtain deviation time information of the user's deviation during the target itinerary; and a deletion unit, configured to, for each target subsequence pair in the at least one target subsequence pair, delete the target subsequence pair from the at least one target subsequence pair in response to determining that the trajectory timestamp of the trajectory point corresponding to any road segment of the first target subsequence in the target subsequence pair conforms to the deviation time information.
[0102] According to some embodiments, the off-course time information is determined based on the user trajectory data and position information of a plurality of road segments in the navigation planned segment sequence.
[0103] According to some embodiments, the first determination unit 702 includes: an acquisition subunit, configured to acquire multiple historical navigation planned segment sequences of the user; and a query subunit, configured to query a navigation planned segment sequence corresponding to the target itinerary from the multiple historical navigation planned segment sequences based on the information of the target itinerary or the initial matching segment sequence.
[0104] According to some embodiments, the query subunit is configured to: obtain the starting point and the end point of the target trip; and query the navigation planned segment sequence corresponding to the target trip from the multiple historical navigation planned segment sequences based on the starting point and the end point.
[0105] According to some embodiments, the device 700 also includes: a fifth determination unit, configured to determine the similarity between the initial matching road segment sequence and the navigation planned road segment sequence; and a sixth determination unit, configured to determine not to mine the trajectory data sample based on the initial matching road segment sequence in response to determining that the similarity is less than a similarity threshold.
[0106] According to some embodiments, the fifth determination unit includes: a fourth determination subunit, configured to determine the longest common subsequence between the initial matching road segment sequence and the navigation planned road segment sequence; and a fifth determination subunit, configured to determine the similarity between the initial matching road segment sequence and the navigation planned road segment sequence based on the ratio of the length of the longest common subsequence to the length of the initial matching road segment sequence.
[0107] According to some embodiments, the initial matching road segment sequence includes at least one lane-level road segment.
[0108] It should be understood that Figure 7 The operations of the various units of the mining device 700 for matching the data samples with the trajectory shown in FIG. 7 can be compared with Figure 2The steps in the method 200 for mining trajectory matching data samples described above correspond to each other. Therefore, the operations, features and advantages described above for the method 200 are also applicable to the apparatus 700 and the various units included therein. For the sake of brevity, some operations, features and advantages are not described in detail here.
[0109] According to one aspect of the present disclosure, a training device for a trajectory matching model is also provided. In some embodiments, the training device for the trajectory matching model includes: a first input unit, configured to input sample trajectory data including a plurality of sample trajectory points into the trajectory matching model to obtain a first predicted matching road segment sequence corresponding to the sample trajectory data output by the trajectory matching model; and an adjustment unit, configured to adjust the parameters of the trajectory matching model based on the first predicted matching road segment sequence and the target road segment corresponding to each sample trajectory point, wherein the target road segment corresponding to each sample trajectory point is determined using the device 700 described above.
[0110] According to some embodiments, the training device of the trajectory matching model also includes: a seventh determination unit, configured to determine a first matching accuracy of the trajectory matching model based on the first predicted matching segment sequence and the target road segment corresponding to each trajectory point in the sample trajectory data, wherein the first input unit is further configured to input the sample trajectory data into the trajectory matching model after adjusting parameters to obtain a second predicted matching segment sequence corresponding to the sample trajectory data output by the trajectory matching model after adjusting parameters; and an eighth determination unit, configured to determine a second matching accuracy of the trajectory matching model based on the second predicted matching segment sequence and the target road segment corresponding to each trajectory point in the sample trajectory data, wherein the adjustment unit is further configured to readjust the parameters of the trajectory matching model in response to determining that the second matching accuracy is less than the first matching accuracy.
[0111] According to one aspect of the present disclosure, a trajectory matching device is also provided. In some embodiments, the trajectory matching device includes: a trajectory matching model trained by the trajectory matching model training device described above; and a second input unit configured to input user trajectory data including multiple trajectory points into the trajectory matching model to obtain a target matching segment sequence corresponding to the user trajectory data output by the trajectory matching model, wherein the target matching segment sequence includes multiple road segments matching the multiple trajectory points.
[0112] According to another aspect of the present disclosure, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned method for mining trajectory matching data samples.
[0113] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is further provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned method for mining trajectory matching data samples.
[0114] According to another aspect of the present disclosure, a computer program product is further provided, including a computer program, wherein the computer program implements the above-mentioned method for mining trajectory matching data samples when executed by a processor.
[0115] refer to Figure 8 , a block diagram of an electronic device 800 that can be used as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0116] like Figure 8 As shown, the device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0117] Multiple components in the device 800 are connected to the I / O interface 805, including: an input unit 806, an output unit 807, a storage unit 808, and a communication unit 809. The input unit 806 can be any type of device that can input information to the device 800. The input unit 806 can receive input digital or character information and generate key signal input related to user settings and / or function control of the electronic device, and can include but is not limited to a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and / or a remote controller. The output unit 807 can be any type of device that can present information, and can include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 808 can include but is not limited to a disk, an optical disk. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and can include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0118] The computing unit 801 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 801 performs the various methods and processes described above, such as the mining method of the trajectory matching data sample. For example, in some embodiments, the mining method of the trajectory matching data sample may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of the mining method of the trajectory matching data sample described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to execute the mining method of the trajectory matching data sample in any other appropriate manner (for example, by means of firmware).
[0119] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0120] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0121] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0122] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0123] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.
[0124] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0125] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0126] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples. Various elements in the embodiments or examples may be omitted or may be replaced by their equivalent elements. In addition, each step may be performed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples may be combined in various ways. It is important that with the evolution of technology, many elements described herein may be replaced by equivalent elements that appear after the present disclosure.
Claims
1. A method for mining trajectory matching data samples, comprising: Acquire an initial matching road segment sequence corresponding to the user trajectory data, wherein the user trajectory data includes a plurality of trajectory points of the user in the target trip, and the initial matching road segment sequence includes a plurality of road segments matching the plurality of trajectory points; Determining a navigation planning segment sequence corresponding to the target trip; In response to determining that the initial matching segment sequence is different from the navigation planned segment sequence, determining at least one target subsequence pair, wherein each target subsequence pair includes a first target subsequence in the initial matching segment sequence and a second target subsequence in the navigation planned segment sequence corresponding to each first target subsequence, wherein the at least one target subsequence pair indicates a difference between the initial matching segment sequence and the navigation planned segment sequence; and For each target subsequence pair in the at least one target subsequence pair, in response to determining that at least one road segment of a first target subsequence in the target subsequence pair satisfies a target position relationship with at least one road segment of a second target subsequence, a trajectory matching data sample is determined, wherein the target position relationship includes parallel or intersection, and wherein the trajectory matching data sample includes trajectory points corresponding to each road segment in the first target subsequence in the target subsequence pair and a target road segment corresponding to each trajectory point, and the target road segment corresponding to each trajectory point is determined based on the second target subsequence in the target subsequence pair.
2. The method of claim 1, wherein: The following steps are used to determine whether at least one road segment of the first target subsequence and at least one road segment of the second target subsequence in the target subsequence pair satisfy the target position relationship: Determine, by querying the road network data, first coordinate information corresponding to at least one road segment of a first target subsequence and second coordinate information corresponding to at least one road segment of a second target subsequence in the target subsequence pair; Performing target calculation based on the first coordinate information and the second coordinate information, wherein a formula for the target calculation is configured for the target position relationship; as well as Based on the result of the target calculation, it is determined whether at least one road segment of the first target subsequence and at least one road segment of the second target subsequence in the target subsequence pair satisfy the target position relationship.
3. The method according to claim 1 or 2, wherein: In response to determining that the initial matching segment sequence is different from the navigation planned segment sequence, determining at least one target subsequence pair comprises: In response to determining that the initial matching road segment sequence is different from the navigation planned road segment sequence, traversing the initial matching road segment sequence and the navigation planned sequence from the beginning and the end of the initial matching road segment sequence and the navigation planned sequence respectively using a first pointer and a second pointer different from the first pointer; and The at least one target subsequence pair is determined based on the traversal result.
4. The method according to any one of claims 1 to 3, wherein: The user trajectory data also includes trajectory timestamps of the multiple trajectory points, and the method further includes: Acquiring deviation time information of the user during the target trip; and For each target subsequence pair in the at least one target subsequence pair, in response to determining that a trajectory timestamp of a trajectory point corresponding to any road segment of a first target subsequence in the target subsequence pair conforms to the yaw time information, the target subsequence pair is deleted from the at least one target subsequence pair.
5. The method of claim 4, wherein: The deviation time information is determined based on the user trajectory data and position information of multiple road segments in the navigation planning segment sequence.
6. The method according to any one of claims 1 to 5, wherein: Determining a navigation planning segment sequence corresponding to the target trip includes: Obtain multiple historical navigation planning route sequences of the user; and Based on the information of the target trip or the initial matching segment sequence, a navigation planned segment sequence corresponding to the target trip is queried from the multiple historical navigation planned segment sequences.
7. The method of claim 6, wherein: The querying of the navigation planning segment sequence corresponding to the target trip from the plurality of historical navigation planning segment sequences based on the target trip information or the initial matching segment sequence comprises: Obtaining the starting point and the end point of the target trip; and Based on the starting point and the end point, a navigation planned segment sequence corresponding to the target trip is queried from the plurality of historical navigation planned segment sequences.
8. The method according to any one of claims 1 to 7, further comprising: Determining the similarity between the initial matching road segment sequence and the navigation planned road segment sequence; as well as In response to determining that the similarity is less than a preset similarity threshold, it is determined not to mine the trajectory data sample based on the initial matching road segment sequence.
9. The method of claim 8, wherein: Determining the similarity between the initial matching road segment sequence and the navigation planning road segment sequence comprises: Determining the longest common subsequence between the initial matching segment sequence and the navigation planning segment sequence; and Based on the ratio of the length of the longest common subsequence to the length of the initial matching segment sequence, the similarity between the initial matching segment sequence and the navigation planned segment sequence is determined.
10. The method according to any one of claims 1 to 9, wherein: The initial matching road segment sequence includes at least one lane-level road segment.
11. A method for training a trajectory matching model, comprising: Inputting sample trajectory data including a plurality of sample trajectory points into a trajectory matching model to obtain a first predicted matching road segment sequence output by the trajectory matching model and corresponding to the sample trajectory data; as well as Based on the first predicted matching road segment sequence and the target road segment corresponding to each sample trajectory point, the parameters of the trajectory matching model are adjusted, wherein the target road segment corresponding to each sample trajectory point is determined using the method described in any one of claims 1-10.
12. The method of claim 11, further comprising: Determining a first matching accuracy rate of the trajectory matching model based on the first predicted matching road segment sequence and a target road segment corresponding to each trajectory point in the sample trajectory data; Inputting the sample trajectory data into the trajectory matching model after adjusting parameters, so as to obtain a second predicted matching road segment sequence corresponding to the sample trajectory data and output by the trajectory matching model after adjusting parameters; Determining a second matching accuracy rate of the trajectory matching model based on the second predicted matching road segment sequence and the target road segment corresponding to each trajectory point in the sample trajectory data; as well as In response to determining that the second matching accuracy is less than the first matching accuracy, parameters of the trajectory matching model are readjusted.
13. A trajectory matching method, comprising: Inputting user trajectory data including multiple trajectory points into a trajectory matching model to obtain a target matching road segment sequence corresponding to the user trajectory data output by the trajectory matching model, wherein the target matching road segment sequence includes multiple road segments respectively matched with each trajectory point of the multiple trajectory points, and the trajectory matching model is trained using the method described in claim 11 or 12.
14. A device for mining trajectory matching data samples, comprising: A first acquisition unit is configured to acquire an initial matching segment sequence corresponding to user trajectory data, wherein the user trajectory data includes a plurality of trajectory points of the user in a target trip, and the initial matching segment sequence includes a plurality of road segments matching the plurality of trajectory points; A first determining unit is configured to determine a navigation planning segment sequence corresponding to the target trip; a second determining unit, configured to determine at least one target subsequence pair in response to determining that the initial matching road segment sequence is different from the navigation planned road segment sequence, wherein each target subsequence pair includes a first target subsequence in the initial matching road segment sequence and a second target subsequence in the navigation planned road segment sequence corresponding to each first target subsequence, wherein the at least one target subsequence pair indicates a difference between the initial matching road segment sequence and the navigation planned road segment sequence; and A third determination unit is configured to determine, for each target subsequence pair in the at least one target subsequence pair, a trajectory matching data sample in response to determining that at least one road segment of a first target subsequence in the target subsequence pair satisfies a target position relationship with at least one road segment of a second target subsequence in the target subsequence pair, wherein the target position relationship includes parallel or intersection, and wherein the trajectory matching data sample includes trajectory points corresponding to each road segment in the first target subsequence in the target subsequence pair and a target road segment corresponding to each trajectory point, and the target road segment corresponding to each trajectory point is determined based on the second target subsequence in the target subsequence pair.
15. The device of claim 14, wherein: A fourth determination unit is used to determine whether at least one road segment of a first target subsequence and at least one road segment of a second target subsequence in the target subsequence pair satisfy a target position relationship, wherein the fourth determination unit comprises: A first determining subunit is configured to determine, by querying the road network data, first coordinate information corresponding to at least one road segment of a first target subsequence and second coordinate information corresponding to at least one road segment of a second target subsequence in the target subsequence pair; a calculation subunit configured to perform target calculation based on the first coordinate information and the second coordinate information, wherein a formula for the target calculation is configured for the target position relationship; and The second determination subunit is configured to determine whether at least one road segment of the first target subsequence and at least one road segment of the second target subsequence in the target subsequence pair satisfy the target position relationship based on the result of the target calculation.
16. The device according to claim 14 or 15, wherein: The second determining unit includes: a traversal subunit, configured to, in response to determining that the initial matching segment sequence is different from the navigation planned segment sequence, traverse the initial matching segment sequence and the navigation planned segment sequence from the beginning and the end of the initial matching segment sequence and the navigation planned segment sequence respectively using a first pointer and a second pointer different from the first pointer; and The third determining subunit is configured to determine the at least one target subsequence pair based on the traversal result.
17. The device according to any one of claims 14 to 16, wherein: The user trajectory data further includes trajectory timestamps of the plurality of trajectory points, and the device further includes: A second acquisition unit is configured to acquire the deviation time information of the user during the target trip; and The deleting unit is configured to, for each target subsequence pair in the at least one target subsequence pair, delete the target subsequence pair from the at least one target subsequence pair in response to determining that a trajectory timestamp of a trajectory point corresponding to any road segment of a first target subsequence in the target subsequence pair conforms to the yaw time information.
18. The device of claim 17, wherein: The deviation time information is determined based on the user trajectory data and position information of multiple road segments in the navigation planning segment sequence.
19. The device according to any one of claims 14 to 18, wherein: The first determining unit includes: An acquisition subunit configured to acquire a plurality of historical navigation planning route sequence of the user; and The query subunit is configured to query the navigation planned segment sequence corresponding to the target trip from the multiple historical navigation planned segment sequences based on the information of the target trip or the initial matching segment sequence.
20. The device of claim 19, wherein: The query subunit is configured as follows: Obtaining the starting point and the end point of the target trip; as well as Based on the starting point and the end point, a navigation planned segment sequence corresponding to the target trip is queried from the plurality of historical navigation planned segment sequences.
21. The apparatus of any one of claims 14 to 20, further comprising: a fifth determining unit, configured to determine a similarity between the initial matching road segment sequence and the navigation planned road segment sequence; as well as A sixth determining unit is configured to determine not to mine the trajectory data sample based on the initial matching road segment sequence in response to determining that the similarity is less than a similarity threshold.
22. The device of claim 21, wherein: The fifth determining unit includes: a fourth determining subunit, configured to determine the longest common subsequence between the initial matching road segment sequence and the navigation planned road segment sequence; and The fifth determining subunit is configured to determine the similarity between the initial matching road segment sequence and the navigation planned road segment sequence based on the ratio of the length of the longest common subsequence to the length of the initial matching road segment sequence.
23. The device according to any one of claims 14 to 22, wherein: The initial matching road segment sequence includes at least one lane-level road segment.
24. A training device for a trajectory matching model, comprising: A first input unit is configured to input sample trajectory data including a plurality of sample trajectory points into a trajectory matching model to obtain a first predicted matching road segment sequence output by the trajectory matching model and corresponding to the sample trajectory data; as well as An adjustment unit is configured to adjust the parameters of the trajectory matching model based on the first predicted matching segment sequence and the target road segment corresponding to each sample trajectory point, wherein the target road segment corresponding to each sample trajectory point is determined using the device described in any one of claims 14-23.
25. The apparatus of claim 24, further comprising: a seventh determining unit, configured to determine a first matching accuracy of the trajectory matching model based on the first predicted matching road segment sequence and a target road segment corresponding to each trajectory point in the sample trajectory data, The first input unit is further configured to input the sample trajectory data into the trajectory matching model after adjusting parameters, so as to obtain a second predicted matching road segment sequence corresponding to the sample trajectory data and output by the trajectory matching model after adjusting parameters; and an eighth determining unit, configured to determine a second matching accuracy of the trajectory matching model based on the second predicted matching road segment sequence and the target road segment corresponding to each trajectory point in the sample trajectory data, The adjustment unit is further configured to readjust the parameters of the trajectory matching model in response to determining that the second matching accuracy is less than the first matching accuracy.
26. A trajectory matching device, comprising: A trajectory matching model trained using the device of claim 24 or 25; as well as The second input unit is configured to input user trajectory data including multiple trajectory points into the trajectory matching model to obtain a target matching segment sequence corresponding to the user trajectory data output by the trajectory matching model, wherein the target matching segment sequence includes multiple road segments matching the multiple trajectory points.
27. An electronic device comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 13.
28. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to make a computer execute the method according to any one of claims 1-13.
29. A computer program product comprising a computer program, wherein: The computer program implements the method according to any one of claims 1-13 when executed by a processor.
