Road trajectory determination method and device, electronic device and medium
By adding velocity information to the distance determination criteria during the trajectory point clustering process, the problem of poor clustering of trajectory points at curves or sharp turns is solved, and the accuracy of road trajectory fitting is improved.
Patent Information
- Application Number
- CN202210333436.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-30
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2042-03-30
AI Technical Summary
The prior art is difficult to accurately cluster when clustering road trajectory points, especially at curves or sharp turns, resulting in poor road trajectory fitting effect.
By acquiring the trajectory point data of multiple vehicles, when determining the set of adjacent trajectory points of the trajectory points, velocity information is added to the distance determination criteria to more accurately judge the adjacent points of the trajectory points, thereby improving the accuracy of clustering.
The rationality of trajectory point distance calculation is improved, the trajectory point clustering effect is enhanced at curves or sharp turns, and the accuracy of road trajectory fitting is improved.
Smart Images

Figure CN114691809B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computers, in particular to the fields of intelligent transportation and data processing technology, and specifically to a road trajectory determination method, device, electronic device, computer-readable storage medium, and computer program product. Background Art
[0002] With the development of urban and inter-city transportation networks, daily travel is increasingly dependent on high-precision maps. Usually, high-precision maps can be drawn by crowdsourcing. During the drawing process, the collected trajectory point data needs to be clustered and fused to fit and determine the corresponding road trajectory. Summary of the invention
[0003] The present disclosure provides a road trajectory determination method, device, electronic device, computer-readable storage medium, and computer program product.
[0004] According to one aspect of the present disclosure, a road trajectory determination method is provided, comprising: acquiring first trajectory point data of multiple vehicles, wherein the first trajectory point data comprises multiple trajectory points collected by the multiple vehicles during driving, each trajectory point comprises a position coordinate and speed information of the corresponding vehicle at the trajectory point; determining a set of adjacent trajectory points of at least one trajectory point among the multiple trajectory points, and for each determined set, a distance between each trajectory point in the set and a corresponding trajectory point among the at least one trajectory point is not greater than a preset threshold, wherein the distance is determined according to the position coordinate and the speed information; determining a cluster obtained by clustering the multiple trajectory points based on all determined sets of adjacent trajectory points; and determining a road trajectory based on the obtained cluster.
[0005] According to another aspect of the present disclosure, a road trajectory determination device is provided, comprising: an acquisition unit, configured to acquire first trajectory point data of multiple vehicles, wherein the first trajectory point data comprises multiple trajectory points collected by the multiple vehicles during driving, and each trajectory point comprises a position coordinate and speed information of the corresponding vehicle at the trajectory point; a first determination unit, configured to determine a set of adjacent trajectory points of at least one trajectory point among the multiple trajectory points, and for each determined set, a distance between each trajectory point in the set and a corresponding trajectory point among the at least one trajectory point is not greater than a preset threshold, wherein the distance is determined according to the position coordinate and the speed information; a second determination unit, configured to determine, based on all determined sets of adjacent trajectory points, a cluster obtained after clustering the multiple trajectory points; and a third determination unit, configured to determine a road trajectory based on the obtained cluster.
[0006] 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; the memory stores instructions executable 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 execute the method described in the present disclosure.
[0007] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided. The computer instructions are used to cause a computer to execute the method described in the present disclosure.
[0008] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, which implements the method described in the present disclosure when executed by a processor.
[0009] According to one or more embodiments of the present disclosure, when determining a set of adjacent trajectory points of a trajectory point, speed information is added to the distance determination criterion to more accurately determine the adjacent trajectory points of the trajectory point, thereby improving the rationality of point distance calculation.
[0010] 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
[0011] 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.
[0012] Figure 1 A schematic diagram showing an exemplary system in which the various methods described herein may be implemented according to an embodiment of the present disclosure;
[0013] Figure 2 A flow chart of a road trajectory determination method according to an embodiment of the present disclosure is shown;
[0014] Figure 3 A flowchart of determining a road trajectory based on the obtained clusters according to an embodiment of the present disclosure is shown;
[0015] Figure 4 A flow chart of determining a road trajectory based on trajectory point data of multiple vehicles according to an embodiment of the present disclosure is shown;
[0016] Figure 5 A schematic diagram of an algorithm for clustering curves according to an embodiment of the present disclosure is shown;
[0017] Figure 6 A structural block diagram of a road trajectory determination device according to an embodiment of the present disclosure is shown; and
[0018] Figure 7 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
[0019] 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.
[0020] 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.
[0021] 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.
[0022] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0023] 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.
[0024] In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable the method of crowdsourcing-based road trajectory determination to be performed.
[0025] In some embodiments, server 120 may also provide other services or software applications that 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.
[0026] exist Figure 1 In 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.
[0027] The user may upload the collected vehicle track point data using client devices 101, 102, 103, 104, 105 and / or 106. The client device may provide an interface that enables the 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.
[0028] Client devices 101, 102, 103, 104, 105 and / or 106 may include various types 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 types 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. Client devices are capable of executing various different applications, such as various Internet-related applications, communication applications (such as email applications), short message service (SMS) applications, and may use various communication protocols.
[0029] 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, the 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 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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 track point data. 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 types. In some embodiments, the database used by the server 120 may be, for example, a relational database. One or more of these databases may store, update, and retrieve data to and from the database in response to commands.
[0035] 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 types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.
[0036] 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.
[0037] Crowdsourcing is an Internet concept that refers to the practice of a company or organization outsourcing work tasks that were previously performed by employees to non-specific (and usually large) volunteers on a voluntary basis. In the field of high-precision mapping, crowdsourcing refers to distributing the task of collecting road information to a large number of volunteer vehicles in order to build high-precision maps based on their driving data.
[0038] In crowdsourcing mapping algorithms, vehicle trajectory points are clustered and aggregated, and then the aggregated trajectory points are fitted to obtain the corresponding road trajectory. In current clustering algorithms, the corresponding road trajectory can generally be clustered well on straight roads, but the clustering effect is often poor on curves or sharp turns, and irrelevant trajectory points will be clustered together, resulting in poor road trajectory fitting.
[0039] Therefore, according to the embodiments of the present disclosure, Figure 2 As shown, a road trajectory determination method 200 is provided, including: obtaining first trajectory point data of multiple vehicles, the first trajectory point data including multiple trajectory points collected by the multiple vehicles during driving, each trajectory point including position coordinates and speed information of the corresponding vehicle at the trajectory point (step 210); determining a set of adjacent trajectory points of at least one trajectory point among the multiple trajectory points, for each determined set, a distance between each trajectory point in the set and a corresponding trajectory point in the at least one trajectory point is not greater than a preset threshold, and the distance is determined according to the position coordinates and the speed information (step 220); based on all the determined sets of adjacent trajectory points, determining a cluster obtained after clustering the multiple trajectory points (step 230); and determining a road trajectory based on the obtained cluster (step 240).
[0040] In crowdsourcing-based map data collection, users usually collect road data during driving through the vehicle's own sensors or other installed data collectors and upload them to the cloud. The cloud processing system fuses the data collected by multiple vehicles and improves the data accuracy through data aggregation to complete the production of high-precision maps. For example, the acquired data set may include driving data of 500 taxis or other cars in the past 30 days. The sampling time interval of the vehicle driving data is, for example, 1 minute, and the sampled driving data may be geographic location data. By clustering the collected geographic location data of the 500 taxis, the corresponding road trajectories are drawn.
[0041] In the algorithm for clustering vehicle trajectory points, clustering is usually based on the density of trajectory points. For example, the DBSCAN clustering algorithm can divide areas with sufficiently high density into clusters by defining clusters as the largest set of density-connected points, and can find clusters of arbitrary shapes in a noisy spatial database. Based on spatial position information, this algorithm excludes trajectory points in low-density areas and regards high-density areas as valid points. For straight scenes, which are relatively simple, the clustering algorithm can achieve good clustering effects; however, on curves, especially sharp curves, density clustering is performed only based on spatial position information. Because different vehicle trajectories on curves are easily confused, the clustered fitting point set will incorrectly exclude many useful information points and introduce noise points. If trajectory fitting is performed based on incorrectly clustered fitting points, the fitting effect will inevitably decrease.
[0042] However, it is found in the study that the speed information (such as speed, acceleration, etc.) between adjacent trajectory points does not change dramatically, and the difference in speed and acceleration values of points farther away changes greatly. Therefore, in the present disclosure, when determining the set of adjacent trajectory points of a trajectory point, the speed information is added to the distance determination criterion to more accurately determine the adjacent trajectory points of the trajectory point, thereby improving the rationality of point distance calculation.
[0043] It is understandable that the “distance” in the present disclosure is not a straight-line distance in a spatial sense, but a parameter that can be used to characterize the distance in position and time between two points.
[0044] According to some embodiments, the speed information includes any one of a speed and an acceleration, the distance includes a first distance and a second distance, and the first distance and the second distance each correspond to a corresponding weight value. The first distance is determined based on the position coordinates of the trajectory point in the set of adjacent trajectory points and the position coordinates of the corresponding trajectory point in the at least one trajectory point. The second distance is determined based on any one of the speed and the acceleration of the trajectory point in the set of adjacent trajectory points and any one of the speed and the acceleration of the corresponding trajectory point.
[0045] Specifically, in some examples, the speed information may be speed, that is, the distance between the two trajectory points may be determined based on the position coordinates and the speed. In this case, the first distance is determined based on the position coordinates between the two trajectory points, and the second distance is determined based on the speed between the two trajectory points. The first distance and the second distance correspond to weight values 1 and 2, respectively, and the distance is formed by weighted summation, and the sum of weight values 1 and 2 is 1.
[0046] In some examples, the velocity information may be acceleration, that is, the distance between the two trajectory points may be determined based on the position coordinates and the acceleration. In this case, the first distance is determined based on the position coordinates between the two trajectory points, and the second distance is determined based on the acceleration between the two trajectory points. The first distance and the second distance correspond to weight values 1 and 2, respectively, and the distance is formed by weighted summation, and the sum of weight values 1 and 2 is 1.
[0047] According to some embodiments, the velocity information further includes the other of the velocity and the acceleration, the distance is a weighted sum of the first distance, the second distance and a third distance, and the third distance is determined based on the other of the velocity and the acceleration of the trajectory point in the set of adjacent trajectory points and the other of the velocity and the acceleration of the corresponding trajectory point.
[0048] Specifically, in some examples, the velocity information includes velocity and acceleration, that is, the distance between two trajectory points can be determined based on the position coordinates, velocity, and acceleration. At this time, the first distance can be determined based on the position coordinates between the two trajectory points, the second distance can be determined based on the velocity between the two trajectory points, and the third distance can be determined based on the acceleration between the two trajectory points. The first distance, the second distance, and the third distance correspond to weight values 1, 2, and 3, respectively, and the distance is formed by weighted summation, and the sum of weight values 1, 2, and 3 is 1.
[0049] In some embodiments, the first distance may be obtained based on the Euclidean distance between the two trajectory points. Of course, other distance calculation methods are also possible, such as cosine distance, etc., which are not limited here.
[0050] In some embodiments, the second distance may be obtained based on the square root of the speed of the two trajectory points. Of course, other methods for determining the speed change of the two trajectory points are also possible, such as mean square error, which is not limited here.
[0051] In some embodiments, the third distance may be obtained based on the second norm of the difference between the accelerations of the two trajectory points (eg, acceleration vectors). Of course, other methods for determining the acceleration change of the two trajectory points are also possible, such as mean square error, which is not limited here.
[0052] For example, in the example of clustering vehicle trajectory points based on the DBSCAN clustering algorithm, this distance is the E neighborhood. Then, the E neighborhood radius distance can be defined as:
[0053] D=w1*EU(p1,p2)+w2*SQRT[v(p1)-v(p2)]+w2*‖a(p1)-a(p2)‖ 2
[0054] Where D represents the new definition of the distance between two points in space, EU(p1,p2) represents the Euclidean distance between two trajectory points p1 and p2, SQRT[v(p1)-v(p2)] represents the square root of the difference in the velocities of the two trajectory points, ‖a(p1)-a(p2)‖ 2 The second norm represents the difference in acceleration between two trajectory points (acceleration vector can be used), w1, w2, w2 are weight factors, and the sum of the three is 1.
[0055] Taking the DBSCAN clustering algorithm to cluster vehicle trajectory points as an example, the input trajectory point set A to be clustered is (x 1 ,x 2 ,x 3 ,…,x m ), neighborhood parameter (∈, MinPts), that is, the distance between each trajectory point in the determined adjacent trajectory point set and the corresponding trajectory point is no greater than ∈, and when the number of trajectory points in the adjacent trajectory point set is greater than MinPts, the trajectory point corresponding to the adjacent trajectory point set is the core object. In step 1, initialize the core object set Initialize the number of clusters k = 0, initialize the set of unvisited trajectory points Γ = A, and the clusters In step 2, for i=1, 2, ..., m, find all the core objects in the trajectory points according to the following steps: a) calculate the distance D by the method described above, and find the sample x i The ∈-neighborhood sub-trajectory point set (i.e., sample x i The set of adjacent trajectory points) N(x i ); b) If the number of trajectory points in the sub-trajectory point set satisfies N(x i )≥MinPts, the sample x i Add core object set: Ω=Ω∪{x i}. In step 3, if the core object collection Then the algorithm ends, otherwise it goes to step 4. In step 4, randomly select a core object o from the core object set Ω and initialize the core object queue Ω of the current cluster cur = {o}, initialize category number k = k + 1, initialize current cluster C k = {o}, update the unvisited trajectory point set Γ = Γ-{o}. In step 5, if the core object queue of the current cluster The current cluster C k Generation is complete, update the aggregated cluster C = {C 1 ,C 2 ,…,C k}, update the core object set Ω = Ω-C k, go to step 3. Otherwise update the core object set Ω = Ω - C k In step 6, in the core object queue Ω of the current cluster cur Take out a core object o′, find all the ∈-neighborhood sub-trajectory point sets N(o′) through the neighborhood distance threshold ∈, let Δ=N(o′)∩Γ, and update the current cluster C k =C k ∪Δ, update the set of unvisited trajectory points Γ=Γ-Δ, update Ω cur =Ω cur ∪(Δ∩Ω)-o′, go to step 5. The output result is: the aggregated cluster C = {C 1 ,C 2 ,…,C k}.
[0056] In some embodiments, there are often many vehicles used for crowdsourcing mapping. As described above, the acquired data set may include driving data of 500 taxis or other cars in the past 30 days. The sampling time interval of the vehicle driving data is, for example, 1 minute, and the sampled driving data may be geographic location data. After obtaining the driving data collected by the 500 vehicles in the past 30 days, the clustering operation of the trajectory points can be performed. Because the speed of different vehicles under different driving conditions may vary greatly, but under the condition of a certain road, its position coordinates and acceleration usually do not change dramatically. Therefore, according to some embodiments, the weight value corresponding to the speed can be set to be less than the weight value corresponding to the acceleration and position coordinates. Thereby, the influence of speed on the calculation of the E neighborhood radius distance is reduced.
[0057] According to some embodiments, the first track point data may include a vehicle identification, that is, the data of each track point may include position coordinates, speed information, identification information, etc. Therefore, determining a set of adjacent track points of at least one track point among the plurality of track points includes: determining a track point corresponding to each of the plurality of vehicles based on the vehicle identification; and for each vehicle, determining a set of adjacent track points of at least one track point among the track points corresponding to the vehicle.
[0058] Therefore, based on the adjacent trajectory point set corresponding to each vehicle, clusters obtained after clustering the second trajectory point data corresponding to each vehicle can be determined respectively.
[0059] According to some embodiments, Figure 3As shown, determining the road trajectory based on the obtained clusters may include: fitting a first function to the trajectory points in each cluster respectively to determine a fitted first curve (step 310); clustering all the fitted first curves to obtain a plurality of curve clusters (step 320); resampling each curve cluster respectively to obtain a plurality of sampling points corresponding to each curve cluster (step 330); and fitting a second function to the plurality of sampling points corresponding to each curve cluster respectively to determine the road trajectory based on the fitted second curve (step 340).
[0060] In one embodiment according to the present disclosure, Figure 4 As shown, the driving trajectory point data of multiple vehicles, i.e., the first trajectory point set of vehicles 1-n, is obtained (step S401); the driving trajectory point data of a single vehicle, i.e., the second trajectory point set, is obtained according to the identification information (e.g., ID) of the vehicle (step S402); the second trajectory point set is clustered by a clustering algorithm to obtain a point cluster (step S403), wherein the clustering algorithm adds speed information when calculating the distance between two trajectory points. Step S404 is repeated multiple times to obtain a point cluster corresponding to each vehicle in vehicles 1-n. For each point cluster, curve fitting is performed (step S405). Here, the parameters and dimensions of the curve to be fitted (e.g., one-dimensional function, two-dimensional function, or higher-dimensional function, etc.) can be designed according to the actual scenario. Thus, the fitted curves are clustered to obtain curve clusters (step S406). After obtaining multiple curve clusters, the curves in each curve cluster are resampled to obtain multiple sampling points corresponding to each cluster (step S407). Curve fitting is performed on the points sampled from each curve cluster to obtain the corresponding road trajectory (step S408).
[0061] It can be understood that in an embodiment in which the obtained driving trajectory point data of multiple vehicles (i.e., the first trajectory point set) are uniformly clustered, after obtaining the point clusters, curve fitting can be performed on the points in each point cluster to obtain the corresponding road trajectory.
[0062] In some examples, clustering all the fitted first curves may adopt any suitable clustering algorithm, including but not limited to the DBSCAN algorithm. For example, clustering the fitted curves may determine corresponding curve clusters based on the similarity between two curves. Figure 5 As shown, when determining the similarity between two curves, the deviation degree of each parameter of the two curve equations and the position coordinates of the corresponding sampling points can be calculated respectively. Figure 5In the example shown, the gap between the parameters corresponding to the two curves is determined by calculating the square root of the difference, and the distance between the position coordinates of the sampling points corresponding to the two curves is determined by calculating the Euclidean distance, so that the proximity between the two curves is determined by taking weighted sum of the gaps between the various parameters and the distances between the position coordinates of the sampling points.
[0063] According to the embodiments of the present disclosure, Figure 6 As shown, a road trajectory determination device 600 is also provided, comprising: an acquisition unit 610, configured to acquire first trajectory point data of a plurality of vehicles, wherein the first trajectory point data comprises a plurality of trajectory points collected by the plurality of vehicles during driving, and each trajectory point comprises a position coordinate and speed information of the corresponding vehicle at the trajectory point; a first determination unit 620, configured to determine a set of adjacent trajectory points of at least one trajectory point among the plurality of trajectory points, and for each determined set, a distance between each trajectory point in the set and a corresponding trajectory point among the at least one trajectory point is not greater than a preset threshold, wherein the distance is determined according to the position coordinate and the speed information; a second determination unit 630, configured to determine a cluster obtained by clustering the plurality of trajectory points based on all the determined sets of adjacent trajectory points; and a third determination unit 640, configured to determine a road trajectory based on the obtained cluster. .
[0064] Here, the operations of the above-mentioned units 610-640 of the crowdsourcing-based road trajectory determination device 600 are respectively similar to the operations of the above-described steps 210-240, and are not repeated here.
[0065] 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.
[0066] According to an embodiment of the present disclosure, an electronic device, a readable storage medium and a computer program product are also provided.
[0067] refer to Figure 7, a block diagram of an electronic device 700 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.
[0068] like Figure 7 As shown, the electronic device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the electronic device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0069] Multiple components in the electronic device 700 are connected to the I / O interface 705, including: an input unit 706, an output unit 707, a storage unit 708, and a communication unit 709. The input unit 706 can be any type of device that can input information to the electronic device 700. The input unit 706 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 707 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 708 can include but is not limited to a disk, an optical disk. The communication unit 709 allows the electronic device 700 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.
[0070] The computing unit 701 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 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 701 performs the various methods and processes described above, such as method 200. For example, in some embodiments, the method 200 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the method 200 described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the method 200 in any other appropriate manner (e.g., by means of firmware).
[0071] 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.
[0072] 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.
[0073] 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.
[0074] 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).
[0075] The systems and techniques described herein may be implemented in a computing system that includes back-end 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 front-end 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 back-end components, middleware components, or front-end components. The components of the system may 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), and the Internet.
[0076] 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.
[0077] 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.
[0078] 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, but only by the claims after authorization and their equivalent scope. Various elements in the embodiments or examples can be omitted or replaced by their equivalent elements. In addition, each step can be performed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples can be combined in various ways. It is important that with the evolution of technology, many elements described herein can be replaced by equivalent elements that appear after the present disclosure.
Claims
1. A method for determining a road trajectory, comprising: Acquire first trajectory point data of a plurality of vehicles, wherein the first trajectory point data comprises a plurality of trajectory points collected by the plurality of vehicles during driving, and each trajectory point comprises position coordinates and speed information of the corresponding vehicle at the trajectory point; Determine a set of adjacent trajectory points of at least one trajectory point among the multiple trajectory points, for each determined set, a distance between each trajectory point in the set and a corresponding trajectory point among the at least one trajectory point is not greater than a preset threshold, wherein the distance is determined according to a change in the position coordinates and the speed information, wherein the speed information includes any one of a speed and an acceleration, and the distance includes a first distance and a second distance, wherein the first distance and the second distance each correspond to a corresponding weight value, wherein, The first distance is determined based on the position coordinates of the trajectory points in the set and the position coordinates of the corresponding trajectory point in the at least one trajectory point; and The second distance is determined based on the any one of the velocity and the acceleration of the trajectory point in the set and the any one of the velocity and the acceleration of the corresponding trajectory point; Determining a cluster obtained by clustering the plurality of trajectory points based on a set of all determined adjacent trajectory points; and A road trajectory is determined based on the obtained clusters.
2. The method of claim 1, wherein: The speed information further includes the other of the speed and the acceleration, the distance further includes a third distance, and the third distance corresponds to a corresponding weight value, wherein, The third distance is determined based on the other one of the velocity and the acceleration of the trajectory point in the set and the other one of the velocity and the acceleration of the corresponding trajectory point.
3. The method of claim 2, wherein: The weight value corresponding to the velocity is smaller than the weight values corresponding to the acceleration and the position coordinates.
4. The method of claim 1, wherein: Each of the trajectory points includes a vehicle identification of the corresponding vehicle, wherein: Determining a set of adjacent trajectory points of at least one trajectory point among the plurality of trajectory points comprises: Determining a trajectory point corresponding to each of the plurality of vehicles based on the vehicle identification; and For each vehicle, a set of adjacent trajectory points of at least one trajectory point among the trajectory points corresponding to the vehicle is determined.
5. The method of claim 4, wherein: Determining the road trajectory based on the obtained clusters includes: Performing a first function fitting on the trajectory points in each cluster respectively to determine a first curve obtained by fitting; Clustering all the first curves obtained by fitting to obtain multiple curve clusters; Resampling each curve cluster respectively to obtain a plurality of sampling points corresponding to each curve cluster; and A second function is fitted to a plurality of sampling points corresponding to each curve cluster, so as to determine a road trajectory based on the fitted second curve.
6. A road trajectory determination device, comprising: an acquisition unit configured to acquire first trajectory point data of a plurality of vehicles, wherein the first trajectory point data comprises a plurality of trajectory points collected by the plurality of vehicles during driving, each trajectory point comprises a position coordinate and speed information of the corresponding vehicle at the trajectory point; A first determining unit is configured to determine a set of adjacent trajectory points of at least one trajectory point of the plurality of trajectory points, wherein for each determined set, a distance between each trajectory point in the set and a corresponding trajectory point of the at least one trajectory point is not greater than a preset threshold, wherein the distance is determined according to a change in the position coordinates and the speed information, wherein the speed information includes any one of a speed and an acceleration, and the distance includes a first distance and a second distance, wherein the first distance and the second distance each correspond to a corresponding weight value, wherein, The first distance is determined based on the position coordinates of the trajectory points in the set and the position coordinates of the corresponding trajectory point in the at least one trajectory point; and The second distance is determined based on the any one of the velocity and the acceleration of the trajectory point in the set and the any one of the velocity and the acceleration of the corresponding trajectory point; a second determining unit configured to determine, based on a set of all determined adjacent trajectory points, a cluster obtained by clustering the plurality of trajectory points; and The third determining unit is configured to determine a road trajectory based on the obtained clusters.
7. The device according to claim 6, wherein: The speed information further includes the other of the speed and the acceleration, the distance further includes a third distance, and the third distance corresponds to a corresponding weight value, wherein, The third distance is determined based on the other one of the velocity and the acceleration of the trajectory point in the set and the other one of the velocity and the acceleration of the corresponding trajectory point.
8. The device according to claim 7, wherein: The weight value corresponding to the velocity is smaller than the weight values corresponding to the acceleration and the position coordinates.
9. The device according to claim 6, wherein: Each of the trajectory points includes a vehicle identification of a corresponding vehicle, wherein the first determination unit includes: A unit for determining a track point corresponding to each of the plurality of vehicles based on the vehicle identification; and A unit is used for determining, for each vehicle, a set of adjacent trajectory points of at least one trajectory point among the trajectory points corresponding to the vehicle.
10. The device of claim 9, wherein: The third determining unit includes: A unit for fitting a first function to the trajectory points in each cluster to determine a first curve obtained by fitting; A unit for clustering all fitted first curves to obtain a plurality of curve clusters; A unit for resampling each curve cluster respectively to obtain a plurality of sampling points corresponding to each curve cluster; and A unit for fitting a second function to a plurality of sampling points corresponding to each curve cluster, so as to determine a road trajectory based on the fitted second curve.
11. 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 5.
12. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-5.
13. A computer program product comprising a computer program, wherein: When the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Road condition recognition method and related device
CN111932891A
Lane-level urban road extraction method based on track position and direction information of floating car
CN113538482A