Guiding point determination method and device, electronic equipment and medium

CN115683144BActive Publication Date: 2025-11-07BEIJING BAIDU NETCOM SCI & TECH CO LTD
-1 Cites 0 Cited by

Patent Information

Application Number
CN202211358808.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-01
Publication Date
2025-11-07
Estimated Expiration
2042-11-01

Smart Images

  • Figure CN115683144B_ABST
    Figure CN115683144B_ABST
Patent Text Reader

Abstract

The present disclosure provides a guide point determination method and device, electronic equipment and medium, relates to the technical field of computers, and particularly relates to the technical field of intelligent traffic, map navigation and the like. The implementation scheme is as follows: a plurality of historical trajectories with a target point of interest as a navigation destination are acquired; end point road sections of the plurality of historical trajectories are determined; a direction road section of the target point of interest is determined based on the end point road sections of the plurality of historical trajectories; and a guide point of the target point of interest is determined based on the direction road section.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of computer technology, in particular to the technical field of map navigation, intelligent transportation and the like, and specifically relates to a guide point determination method and device, electronic equipment, computer readable storage medium and computer program product. BACKGROUND

[0002] With the development of technology, people increasingly rely on the convenience of travel experience brought by navigation technology. Users can more intuitively understand road conditions and point of interest (POI) information through a navigation application (App). The point of interest can be a hospital, a shopping mall, a scenic spot, a residential area, etc., and the point of interest information includes the name, category, location, etc. of the point of interest.

[0003] In the technical field of map navigation, a guide point is a navigation destination for guiding a user to reach a point of interest, and a navigation application can plan a reasonable navigation path for the user based on a navigation starting point and a navigation destination. Therefore, to enable the user to accurately and efficiently reach the point of interest according to the navigation path planned by the navigation application, the accuracy of the guide point of the point of interest needs to be ensured.

[0004] The methods described in this section can not have been previously conceived or made. Unless otherwise indicated herein, the methods described in this section are not to be assumed to have been in the prior art merely because they are described in this section. Similarly, issues mentioned in this section are not to be assumed to have been recognized in the art unless otherwise indicated. SUMMARY

[0005] The present disclosure provides a guide point determination method, device, electronic equipment, computer readable storage medium and computer program product.

[0006] According to an aspect of the present disclosure, a guide point determination method is provided, comprising: obtaining a plurality of historical trajectories with a target point of interest as a navigation destination; determining a terminal road segment of each of the plurality of historical trajectories, wherein the terminal road segment is a road segment where the terminal point of the corresponding historical trajectory is located; determining a facing road segment of the target point of interest based on the terminal road segment of each of the plurality of historical trajectories, wherein the facing road segment is a road segment faced by a passable facade of the target point of interest; and determining a guide point of the target point of interest based on the facing road segment.

[0007] According to an aspect of the present disclosure, there is provided a guide point determination apparatus, comprising: an acquisition module configured to acquire a plurality of historical trajectories with a target point of interest as a navigation destination; a terminal road segment determination module configured to determine a terminal road segment of each of the plurality of historical trajectories, wherein the terminal road segment is a road segment on which a terminal point of the corresponding historical trajectory is located; a facing road segment determination module configured to determine a facing road segment of the target point of interest based on the terminal road segment of each of the plurality of historical trajectories, wherein the facing road segment is a road segment on which a passable facade of the target point of interest faces; and a guide point determination module configured to determine a guide point of the target point of interest based on the facing road segment.

[0008] According to an aspect of the present disclosure, there is provided an electronic device, comprising: at least one processor; and a memory communicatively connected with 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 to enable the at least one processor to perform the guide point determination method.

[0009] According to an aspect of the present disclosure, there is provided a non-transitory computer readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform the guide point determination method.

[0010] According to an aspect of the present disclosure, there is provided a computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the guide point determination method.

[0011] According to one or more embodiments of the present disclosure, the accuracy of the guide point can be improved.

[0012] It is to be understood that the details described in this section are not intended to identify key or critical elements of embodiments of the present disclosure or to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0013] The accompanying drawings are included to provide an example illustration of embodiments and constitute a part of the specification. Together with the written description, the drawings serve to explain illustrative embodiments of the application. The illustrated embodiments are merely examples and do not limit the scope of the claims. In all the drawings, like reference numerals refer to like elements, but not necessarily on the same scale.

[0014] Figure 1 A schematic diagram of an exemplary system in which the various methods described herein can be implemented according to some embodiments of the present disclosure is shown;

[0015] Figure 2 A flowchart of a guide point determination method according to some embodiments of the present disclosure is shown;

[0016] Figure 3 A schematic diagram of a guide point determination method is shown in accordance with some embodiments of the present disclosure;

[0017] Figure 4 A flowchart of a terminal point road segment determination method is shown in accordance with some embodiments of the present disclosure;

[0018] Figure 5 A schematic diagram of a terminal point road segment determination method is shown in accordance with some embodiments of the present disclosure;

[0019] Figure 6 A schematic diagram of an orientation road segment determination method is shown in accordance with some embodiments of the present disclosure;

[0020] Figure 7 A block diagram of a guide point determination apparatus is shown in accordance with some embodiments of the present disclosure; and

[0021] Figure 8 A block diagram of an exemplary electronic device that can be used to implement some embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0022] Exemplary embodiments of the present disclosure are described herein with reference to the accompanying drawings, which are incorporated in this specification, wherein various specific details are set forth to facilitate a thorough understanding of the present disclosure. It should be understood that these embodiments are only examples of the present disclosure and that various changes and modifications can be made thereto without departing from the scope of the present disclosure. As well, the present disclosure will address its objects and advantages in connection with the described embodiments, but there can be others that are not expressly mentioned hereinfirstly, secondly, etc. are used to describe various elements only and are not intended to confer relative positions, temporal sequences or importance of the elements. In some examples, a first element and a second element can refer to the same instance of the element, and in some cases, based on the context of the description, they can also refer to different instances.

[0023] In the present disclosure, the terms "first", "second", etc. used in the description of various described examples are not intended to denote a position relationship, a time sequence relationship or an importance relationship of the elements, and such terms are only used to distinguish one element from another. In some examples, the first element and the second element can refer to the same instance of the element, and in some cases, based on the context of the description, they can also refer to different instances.

[0024] The terms used in the description of various described examples in the present disclosure are only for the purpose of describing specific examples, and are not intended to be limiting. Unless the number of elements is specifically limited, the element can be one or more than one. In addition, the term "and / or" used in the present disclosure covers any one of the listed items and all possible combinations.

[0025] The collection, storage, use, processing, transmission, provision and disclosure of user personal information in the technical solutions of the present disclosure comply with relevant laws and regulations and do not violate public order and good customs.

[0026] The guide point is a location point based on the interest point. A user can plan a navigation route based on the guide point to quickly and accurately reach the interest point, and the guide point is applicable to multiple application scenarios such as driving, taking a taxi, public transportation, cycling, and walking. Therefore, the guide point plays a crucial role in navigation applications.

[0027] In the related art, the guide point is usually determined based on static features such as the signboard of the interest point and the door address. Because the coverage rate of the static features is low (only a small amount of signboards and door addresses of the interest points are recorded in the map data) and the timeliness is poor, there is a deviation between the guide point position and the actual situation of the interest point, which causes the user to not be able to accurately and efficiently reach the interest point according to the navigation route planned based on the existing guide point.

[0028] In the actual navigation process, the navigation application plans a navigation route with the existing guide point as the navigation destination. The user will first drive to the vicinity of the interest point according to the planned navigation route. If the user discovers the interest point before reaching the navigation destination, the user can slow down and end the navigation in advance. Or, if the user still cannot reach the interest point after reaching the navigation destination, the user can continue to drive to the interest point and then slow down and end the navigation.

[0029] To address the above issues, the present disclosure provides a guide point determination method. The method determines the guide point of the interest point based on historical trajectories. The historical trajectories can truly reflect the user behavior characteristics, thereby ensuring the timeliness and accuracy of the guide point and being conducive to improving the user's navigation experience.

[0030] Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0031] Figure 1 A schematic diagram of an example system 100 in which the various methods and apparatus described herein can be implemented in accordance with embodiments of the present disclosure is shown. Referring to 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 that couple the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 can be configured to execute one or more application programs.

[0032] In embodiments of the present disclosure, the server 120 can run one or more services or software applications that enable the guide point determination method to be performed.

[0033] In certain embodiments, the server 120 can also provide other services or software applications, which can include non-virtual and virtual environments. In certain embodiments, these services can be provided as web-based services or cloud services, for example, to users of the client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.

[0034] In Figure 1 In the illustrated configuration, the server 120 can include one or more components that implement the functionality performed by the server 120. These components can include software components that are executable by one or more processors, hardware components, or combinations thereof. Users operating the client devices 101, 102, 103, 104, 105, and / or 106 can in turn utilize one or more client applications to interact with the server 120 to utilize the services provided by the components. It should be understood that a wide variety of system configurations are possible, which can differ from 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.

[0035] The client devices 101, 102, 103, 104, 105, and / or 106 can provide an interface that enables a user of the client device to interact with the client device. The client device can also output information to the user via the interface. Although Figure 1 Only six client devices are depicted, but one of skill in the art will understand that the present disclosure can support any number of client devices.

[0036] Client devices 101, 102, 103, 104, 105, and / or 106 can 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 kiosk devices, service robots, in-vehicle devices, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, and the like. These computer devices can 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; or including various mobile operating systems, such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android. Portable handheld devices can include cellular telephones, smartphones, tablet computers, personal digital assistants (PDAs), and the like. Wearable devices can include head-mounted displays, such as smart glasses, and other devices. Gaming systems can include various handheld gaming devices, Internet-enabled gaming devices, and the like. Client devices are capable of executing a variety of different applications, such as various Internet-related applications, communication applications (e.g., email applications), short message service (SMS) applications, and can use various communication protocols.

[0037] Network 110 can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of available protocols, including without limitation TCP / IP, SNA, IPX, etc. As examples only, one or more of networks 110 can 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., a Bluetooth, Wi-Fi, and / or any combination of these and / or other networks.

[0038] Server 120 can include one or more general purpose computers, special purpose server computers (e.g., PC (personal computer) servers, UNIX servers, midrange servers), blade servers, mainframe computers, server clusters, or any other appropriate arrangement and / or combination. Server 120 can include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for servers). In various embodiments, server 120 can run one or more services or software applications that provide the functionality described below.

[0039] The computing units in server 120 can run one or more operating systems including any of the operating systems described above, as well as any commercially available server operating systems. Server 120 can also run any of a variety of additional server applications and / or mid-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.

[0040] In some embodiments, server 120 can include one or more applications to analyze and consolidate data feeds and / or event updates from users of client devices 101, 102, 103, 104, 105, and / or 106. Server 120 can also include one or more applications to present the data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and / or 106.

[0041] In some embodiments, server 120 can be a server of a distributed system, or a server in combination with a blockchain. Server 120 can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. The cloud server is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business expansion in traditional physical host and virtual private server (VPS, Virtual Private Server) services.

[0042] System 100 can also include one or more databases 130. In certain embodiments, these databases can be used to store data and other information. For example, one or more of databases 130 can be used to store information such as audio files and video files. Databases 130 can reside in a variety of locations. For example, databases used by server 120 can reside locally to server 120, or can be remote from server 120 and can communicate with server 120 via a network- or application-specific connection. Databases 130 can be of different types. In certain embodiments, databases used by server 120 can be, for example, relational databases. One or more of these databases can store, update, and retrieve data to and from the databases in response to commands.

[0043] In certain embodiments, one or more of databases 130 can also be used by applications to store application data. Databases used by applications can be different types of databases, such as key-value stores, object stores, or regular stores backed by file systems.

[0044] Figure 1 System 100 can be configured and operated in various ways to enable the application of the various methods and apparatuses described in accordance with this disclosure.

[0045] In some embodiments, the client devices 101, 102, 103, 104, 105, and 106 can include a navigation application that can provide various functions based on electronic maps, such as map browsing, guide point searching, path planning, etc., and can send user data generated based on navigation services, such as trajectories, information related to trajectory points, etc., to the server 120 through the network 110. Accordingly, the server 120 can be a server corresponding to the navigation application. The server 120 can include a service program that can provide navigation services to the navigation application running in the client devices based on electronic map data (including point of interest information, guide point information, etc.) stored in the database 130. Alternatively, the server 120 can provide electronic map data to the client devices, and the navigation application running in the client devices can provide navigation services. The server 120 can also include a calculation program that can determine guide points of points of interest on an electronic map based on user data (such as trajectories, information related to trajectory points, etc.) sent by the client devices. Accordingly, the guide point determination apparatus is generally arranged in the server 120.

[0046] It should be noted that, in addition to being sent from the client devices to the server 120 through the network 110, user data involved in determining guide points can also be obtained from pre-stored user data in the database 130. Meanwhile, the client devices can also include a calculation program that can also determine guide points of points of interest on an electronic map based on user data. Accordingly, the guide point determination apparatus can be arranged in the client devices 101, 102, 103, 104, 105, and 106.

[0047] Specifically, the server 120 or the client devices 101, 102, 103, 104, 105, and 106 can execute the guide point determination method of the embodiments of the present disclosure to determine guide points of points of interest based on historical trajectories, which can truly reflect user behavior characteristics and ensure the timeliness and accuracy of guide points. The guide points determined according to the method described in the present disclosure can accurately and efficiently guide users to reach points of interest, which is beneficial to improving the navigation experience of users.

[0048] Figure 2 A flowchart of a guide point determination method 200 according to an embodiment of the present disclosure is shown. The execution subject of each step of the method 200 is generally a server (such as the server 120 shown in Figure 1 In some cases, the execution subject of each step of the method 200 can also be a client device (such as the client devices 101-106 shown in Figure 1

[0049] As shown in Figure 2 ​As shown, the method 200 includes steps S210-S240.

[0050] In step S210, a plurality of historical trajectories with the target point of interest as the navigation destination are acquired.

[0051] In step S220, end point road segments of the plurality of historical trajectories are determined. The end point road segment is the road segment where the end point of the corresponding historical trajectory is located.

[0052] In step S230, a direction road segment of the target point of interest is determined based on the end point road segments of the plurality of historical trajectories. The direction road segment is the road segment faced by the accessible facade of the target point of interest.

[0053] In step S240, a guide point of the target point of interest is determined based on the direction road segment.

[0054] According to an embodiment of the present disclosure, the direction of the target point of interest is determined based on the historical trajectories with the target point of interest as the navigation destination, and the guide point of the target point of interest is determined based on the direction. Since the trajectory belongs to dynamic features, the real behavior of the user can be more intuitively reflected, avoiding the problems of low feature coverage and poor timeliness when the guide point is determined based on static features, and improving the accuracy of the guide point.

[0055] According to some embodiments of the present disclosure, the position of the optimal guide point of the point of interest can be determined or changed based on the user behavior. For example, Figure 3 As shown, the point of interest 300 currently has a guide point 310 located in the east. When the user drives to the north of the point of interest 300 based on the navigation path planned with the guide point 310 as the navigation end point, the user discovers the point of interest 300 (for example, discovers the signboard, entrance, etc. of the point of interest 300). Although the user has not reached the navigation end point (i.e., the guide point 310) at this time, under the premise that the user has discovered the point of interest 300, the user may not drive according to the planned navigation path, but slow down in advance and end the navigation. For example, as can be seen from the trajectory 320, the user ends the navigation at the trajectory point 330 on the trajectory, and the trajectory point 330 can be used as the end point of the trajectory 320. The trajectory can be used as a feature for determining the guide point, and can also be used to verify the accuracy of the original guide point. For example, the end point 330 of the trajectory is inconsistent with the original guide point 310 (i.e., the navigation end point), indicating that the original guide point 310 is not accurate enough.

[0056] The following will introduce each step of the method 200 in detail.

[0057] In step S210, a plurality of historical trajectories with the target point of interest as the navigation destination are acquired.

[0058] The historical trajectory refers to a trajectory that has reached the target interest point. The trajectory is usually composed of a plurality of trajectory points, each of which includes information such as position, speed, and data recording time (time stamp).

[0059] According to some embodiments, the plurality of historical trajectories can be obtained through steps S211 and S212 as follows:

[0060] In step S211, a plurality of candidate historical trajectories with the target interest point as the navigation destination are obtained.

[0061] The candidate historical trajectory refers to a trajectory that has reached the target interest point. Similarly, the candidate historical trajectory is composed of a plurality of trajectory points, each of which includes information such as position, speed, and data recording time (time stamp).

[0062] In step S212, for any candidate historical trajectory in the plurality of candidate historical trajectories: the plurality of trajectory points included in the candidate historical trajectory are screened to obtain a plurality of valid trajectory points; and a historical trajectory is generated based on the plurality of valid trajectory points.

[0063] The candidate historical trajectory is composed of a plurality of trajectory points, so that the trajectory points on any candidate historical trajectory can be screened to obtain a plurality of valid trajectory points for determining the guide point, and a historical trajectory is generated based on the plurality of valid trajectory points.

[0064] Since the trajectory points may have positioning drift problems, the position information of some trajectory points may be abnormal, for example, the car drives on the road but is wrongly positioned in the nearby school, and such trajectory points are noise points (i.e., invalid trajectory points). According to the above embodiments, the invalid trajectory points in the candidate historical trajectory can be filtered out, and the historical trajectory is generated based on the valid trajectory points only, thereby improving the accuracy of the historical trajectory and the accuracy of the guide point determined by using the historical trajectory.

[0065] According to some embodiments, the step S212 of "screening the plurality of trajectory points included in the candidate historical trajectory to obtain a plurality of valid trajectory points" includes: obtaining a plurality of road segments corresponding to the plurality of trajectory points respectively; and determining whether any trajectory point in the plurality of trajectory points is a valid trajectory point based on the corresponding road segment.

[0066] The road segment corresponding to the trajectory point can be a road segment closest to the trajectory point, and the road segment can be a road segment near the target interest point. The road segment corresponding to the trajectory point can be determined based on a road network feature, which is not limited herein. Determining the road segment corresponding to the trajectory point can be referred to as "binding a road" to the trajectory point. Since a user usually travels on a road segment, the position of the trajectory point should also be on the road segment, that is, the road segment corresponding to the trajectory point can be used to verify the accuracy of the trajectory point. Based on the corresponding road segment, determining the valid trajectory point can filter out trajectory points with abnormal positioning data, and improve the accuracy of the user behavior reflected by the trajectory point.

[0067] According to some embodiments, "determining, based on the corresponding road segment, whether any trajectory point in the plurality of trajectory points is a valid trajectory point" includes: in response to a distance from the trajectory point to the corresponding road segment being less than a first threshold, determining the trajectory point as a valid trajectory point.

[0068] Due to weak GPS (Global Positioning System) signals and other reasons, the positioning accuracy of the trajectory point can be low, and some trajectory points can be positioned incorrectly outside the road. Therefore, it is necessary to filter out valid trajectory points based on the distance from the trajectory point to the road segment, for example, a point with a distance from the trajectory point to the corresponding road segment less than a first threshold is determined as a valid trajectory point. The specific value of the first threshold can be set or changed according to actual conditions, for example, the first threshold can be set to 3 meters. If the distance from the trajectory point to the corresponding road segment is greater than or equal to the first threshold, the trajectory point is determined as an invalid trajectory point.

[0069] According to some embodiments, "determining, based on the corresponding road segment, whether any trajectory point in the plurality of trajectory points is a valid trajectory point" further includes: in response to a line connecting the trajectory point and the target interest point not having an intersection with any road segment other than the corresponding road segment, determining the trajectory point as a valid trajectory point.

[0070] The line connecting the trajectory point and the target interest point refers to a line connecting the coordinates of the two points. If the line has an intersection with any road segment other than the corresponding road segment, it indicates that the trajectory point can be incorrectly positioned too far away from the target interest point, and therefore such incorrectly positioned trajectory points need to be filtered out.

[0071] According to some embodiments, in response to the number of valid trajectory points on a candidate historical trajectory being greater than a second threshold (for example, 5). If the number of valid trajectory points is too small, the generated historical trajectory cannot represent the real behavior of the user, and the accuracy is low. According to this embodiment, the accuracy of the historical trajectory can be ensured.

[0072] In step S220, the end road segments of the plurality of historical trajectories are determined.

[0073] The end road segment is a road segment on which the end point of the corresponding historical trajectory is located.

[0074] According to some embodiments, determining the end point of each of the plurality of historical trajectories comprises: for any historical trajectory in the plurality of historical trajectories: determining an end point trajectory segment of the historical trajectory, the end point trajectory segment comprising a plurality of tail trajectory points of the historical trajectory; determining an end point road segment of the historical trajectory based on the end point trajectory segment.

[0075] In actual navigation, a user reaches a target point of interest and slows down and ends the navigation. Therefore, the speed of a trajectory point and the distance to the target point of interest can be used as a criterion for determining whether the user has reached the target point of interest. That is, the end point trajectory segment of a historical trajectory can be determined based on the speed and the distance.

[0076] According to some embodiments, each trajectory point in a historical trajectory has speed information, and a trajectory point in the historical trajectory with speed information less than a third threshold (for example, 10 km / h) and a distance to the target point of interest less than a fourth threshold (for example, 20 meters) can be determined as a tail trajectory point.

[0077] According to some embodiments, “determining an end point road segment of the historical trajectory based on the end point trajectory segment” comprises: obtaining a road segment corresponding to each of the plurality of tail trajectory points; and determining the end point road segment of the historical trajectory based on the road segments corresponding to each of the plurality of tail trajectory points. Generally, the proportion of the number of tail trajectory points on a road segment to the total number of tail trajectory points (i.e., tail trajectory point proportion) can be calculated, and the road segment with the highest tail trajectory point proportion is determined as the end point road segment of the historical trajectory.

[0078] Figure 4 A flowchart of an end point road segment determination method 400 according to an embodiment of the present disclosure is shown. The method 400 describes the process of the end point road segment determination method based on some embodiments of the above steps S210 and S220.

[0079] As shown in FIG. 4, the method 400 comprises steps S410-S480: Figure 4

[0080] In step S410, a plurality of candidate historical trajectories are obtained, and the road segment corresponding to each trajectory point in each candidate historical trajectory is determined, i.e., the road is bound to each trajectory point.

[0081] In step S420, it is determined whether the distance of the trajectory point to the corresponding road segment is less than a first threshold (for example, 3 meters). If yes, step S430 is performed to determine whether the line connecting the trajectory point and the target point of interest and the road segment other than the corresponding road segment have no intersection.

[0082] If the result of step S430 is “yes”, the trajectory point is determined as a valid trajectory point.

[0083] ​If the result of the determination in either of steps S420 and S430 is "No", i.e. the distance from the trajectory point to the corresponding road segment is greater than or equal to the first threshold value or the line connecting the trajectory point and the target interest point and any road segment other than the corresponding road segment have intersection, the trajectory point is determined as an invalid trajectory point in step S431.

[0084] In step S440, it is determined whether the number of valid trajectory points on each candidate historical trajectory is greater than a second threshold value (e.g. 5). If yes, step S450 is performed to generate a plurality of historical trajectories based on the valid trajectory points. If no, step S441 is performed to determine the candidate historical trajectory with the number of valid trajectory points less than or equal to the second threshold value as an invalid trajectory, and the trajectory points included in the invalid trajectory are determined as invalid trajectory points, so as to ensure the accuracy of the historical trajectories.

[0085] In step S460, it is determined whether each trajectory point in the historical trajectory has a speed less than a third threshold value (e.g. 10 km / h) and a distance to the target interest point less than a fourth threshold value (e.g. 20 meters). If yes, step S470 is performed to determine the trajectory point as a tail trajectory point, and to determine the end point trajectory segment of each historical trajectory based on the corresponding tail trajectory point. The tail trajectory point can accurately reflect that the user has arrived near the target interest point.

[0086] If the result of the determination in step S460 is "No", i.e. the speed information of the trajectory point is greater than or equal to the third threshold value (e.g. 10 km / h) or the distance to the target interest point is greater than or equal to the fourth threshold value (e.g. 20 meters), the trajectory point is determined as a non-tail trajectory point in step S461. Since the non-tail trajectory point has a too large speed or is too far away from the target interest point, such trajectory point cannot be used to determine the end point road segment of the trajectory.

[0087] In step S480, the end point road segment of each historical trajectory is determined based on the end point trajectory segment.

[0088] For the above process, Figure 5 A schematic diagram of the end point road segment determination method 500 is shown. As Figure 5As shown, taking one candidate historical trajectory as an example, the candidate historical trajectory 550 is a trajectory with the interest point 500 as the destination. The candidate historical trajectory 550 includes 8 trajectory points 551-558. The trajectory points 551-558 are bound to the roads to obtain that the road segments corresponding to the trajectory points 551-555 are the road segment 510, the road segment corresponding to the trajectory points 556 and 557 is the road segment 540, and the road segment corresponding to the trajectory point 558 is the road segment 530. Among them, the distance between the trajectory points 551-556 and the corresponding road segment is less than the first threshold value, and the line connecting the target interest point and the corresponding road segment has no intersection with the road segment other than the corresponding road segment, so they are determined as valid trajectory points. The distance between the trajectory point 557 and the corresponding road segment is greater than the first threshold value, and the line connecting the target interest point and the corresponding road segment has an intersection with the road segment other than the corresponding road segment (the road segment 540), so they are determined as invalid trajectory points. The candidate historical trajectory 550 includes 6 valid trajectory points, which is greater than the second threshold value (for example, 5), so the candidate historical trajectory 550 is determined as the historical trajectory 550. The trajectory points 551-556 meet the requirements of speed and distance from the target interest point at the same time, so they are determined as tail trajectory points 551-556. The road segment corresponding to the tail trajectory points 551-555 is the road segment 510, and the road segment corresponding to the tail trajectory point 557 is the road segment 540. Therefore, the road segment 510 corresponding to the tail trajectory points with more quantity is determined as the end point road segment of the historical trajectory.

[0089] In step S230, based on the end point road segments of the plurality of historical trajectories respectively, the orientation road segment of the target interest point is determined.

[0090] The orientation road segment is a road facing the passable facade of the target interest point. The passable facade can be a facade where the entrance or exit of the interest point is located, a facade where the parking lot of the interest point is located, etc., which can be used to indicate that most users reach the interest point based on the facade.

[0091] According to some embodiments, first, the confidence that each end point road segment in the end point road segment set is the orientation road segment is determined, i.e., the probability that each end point road segment is the orientation road segment of the target interest point. The end point road segment set includes the end point road segments of the plurality of historical trajectories, and the confidence is determined based on the number of historical trajectories corresponding to the end point road segment. Generally, the end point road segment with the largest confidence is determined as the orientation road segment. For example, the confidence c that any end point road segment is the orientation road segment can be calculated based on the following manner:

[0092]

[0093] In formula (1), L m is any end point road segment, N is the total number of historical trajectories, N m is the number of historical trajectories corresponding to the end point road segment.

[0094] Figure 6 A schematic diagram of a direction road segment determination method is shown according to some embodiments of the present disclosure. As shown, road segments 610, 620, 630 and 640 are road segments located around a point of interest 600. The point of interest 600 has 5 historical trajectories 650, 660, 670, 680 and 690. The historical trajectories 650-670 each have a corresponding trajectory endpoint 651-671 located on road segment 610, i.e., the endpoint road segment of the historical trajectories 650-670 is road segment 610. The historical trajectory 680 has a corresponding trajectory endpoint 681 located on endpoint road segment 640, i.e., the endpoint road segment of the historical trajectory 680 is road segment 640; the historical trajectory 690 has a corresponding trajectory endpoint 691 located on endpoint road segment 630, i.e., the endpoint road segment of the historical trajectory 690 is 630. Therefore, endpoint road segment 610 has 3 historical trajectories, and its confidence as a direction road segment of the target point of interest is 0.6; endpoint road segment 620 has 0 historical trajectories, and its confidence as a direction road segment of the target point of interest is 0; endpoint road segment 630 has 1 historical trajectory, and its confidence as a direction road segment of the target point of interest is 0.2; and endpoint road segment 640 has 1 historical trajectory, and its confidence as a direction road segment of the target point of interest is 0.2. The endpoint road segment 610 with the highest confidence is determined as the direction road segment of the point of interest 600. Figure 6

[0095] In step S240, a guide point of the target point of interest is determined based on the direction road segment.

[0096] According to some embodiments, a location point on the direction road segment closest to the coordinates of the target point of interest (e.g., the center coordinates, entrance / exit coordinates, etc. of the target point of interest) can be determined as the guide point of the target point of interest. The guide point can also be set inside the target point of interest based on the direction road segment, e.g., the entrance, exit, parking lot, etc. of the target point of interest facing the direction road segment is determined as the guide point.

[0097] According to embodiments of the present disclosure, a guide point determination apparatus is provided. Figure 7 A structural block diagram of a guide point determination apparatus 700 according to embodiments of the present disclosure is shown. As shown, Figure 7 The apparatus 700 includes an acquisition module 710, an endpoint road segment determination module 720, a direction road segment determination module 730 and a guide point determination module 740.

[0098] The acquisition module 710 is configured to acquire a plurality of historical trajectories with a target point of interest as a navigation destination.

[0099] The endpoint road segment determination module 720 is configured to determine an endpoint road segment of each of the plurality of historical trajectories, wherein the endpoint road segment is a road segment on which an endpoint of the corresponding historical trajectory is located.

[0100] ​The orientation road segment determination module 730 is configured to determine an orientation road segment of the target interest point based on end road segments of the plurality of historical trajectories respectively, wherein the orientation road segment is a road segment faced by a passable facade of the target interest point.

[0101] The guide point determination module 740 is configured to determine a guide point of the target interest point based on the orientation road segment.

[0102] According to some embodiments, the obtaining module 710 comprises: an obtaining unit configured to obtain a plurality of candidate historical trajectories with the target interest point as a navigation destination; and a screening unit configured to, for any candidate historical trajectory in the plurality of candidate historical trajectories: screen a plurality of trajectory points comprised in the candidate historical trajectory to obtain a plurality of valid trajectory points; and generate a historical trajectory based on the plurality of valid trajectory points.

[0103] According to some embodiments, the screening unit is further configured to: obtain road segments respectively corresponding to the plurality of trajectory points; and determine whether any trajectory point in the plurality of trajectory points is a valid trajectory point based on the corresponding road segment.

[0104] According to some embodiments, the end road segment determination module 720 is further configured to: for any historical trajectory in the plurality of historical trajectories: determine an end trajectory segment of the historical trajectory, the end trajectory segment comprising a plurality of tail trajectory points of the historical trajectory; and determine an end road segment of the historical trajectory based on the end trajectory segment.

[0105] According to some embodiments, the end road segment determination module 720 comprises: a first determination unit configured to determine, as a tail trajectory point, a trajectory point in the historical trajectory that has a speed less than a third threshold value and a distance to the target interest point less than a fourth threshold value.

[0106] According to some embodiments, the end road segment determination module 720 comprises: an obtaining unit configured to obtain road segments respectively corresponding to the plurality of tail trajectory points; and a second determination unit configured to determine the end road segment of the historical trajectory based on the road segments respectively corresponding to the plurality of tail trajectory points.

[0107] According to some embodiments, the orientation road segment determination module 730 comprises: a confidence determination unit configured to determine a confidence of each end road segment in an end road segment set as the orientation road segment, wherein the end road segment set is a set of end road segments of the plurality of historical trajectories respectively, and the confidence is determined based on a number of historical trajectories corresponding to the end road segment; and an orientation road segment determination unit configured to determine the end road segment with the largest confidence as the orientation road segment.

[0108] It should be understood that, Figure 7 The various modules or units of the apparatus 700 shown in FIG. 7 can be implemented in hardware, software, or a combination thereof. For example, one or more of the various modules or units of the apparatus 700 can be implemented in hardware, such as in an integrated circuit (IC), ASIC, field-programmable gate array (FPGA), or the like. One or more of the various modules or units of the apparatus 700 can also be implemented in software and / or firmware, such as in machine-readable media having instructions that, when executed by one or more processors, perform the techniques described herein. Figure 2The various steps in the described method 200 correspond. Thus, the operations, features, and advantages described above for the method 200 apply equally to the apparatus 700, including the various modules and units thereof. For the sake of brevity, some of the operations, features, and advantages are not described again here.

[0109] Although specific functions are discussed above with reference to particular modules, it should be noted that the functions of the various modules discussed herein can be split into multiple modules and / or at least some of the functions of multiple modules can be combined into a single module.

[0110] It should also be understood that the various techniques described herein can be implemented in software, hardware, elements, or program modules. The Figure 7 The various modules described above in the method 200 can be implemented in hardware or in hardware in combination with software and / or firmware. For example, the modules can be implemented as computer program code / instructions configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, the modules can be implemented as hardware logic / circuitry. For example, in some embodiments, one or more of the modules 710-740 can be implemented together in a System on Chip (SoC). The SoC can include an integrated circuit chip (which includes one or more of a processor (e.g., a Central Processing Unit (CPU), a microcontroller, a microprocessor, a Digital Signal Processor (DSP), etc.), a memory, one or more communication interfaces, and / or other circuitry), and can optionally execute received program code and / or include embedded firmware to perform functions.

[0111] According to an embodiment of the disclosure, an electronic device is also provided, which includes at least one processor, and a memory communicatively connected with the at least one processor, and storing 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 perform the method for determining a guide point according to the embodiments of the disclosure.

[0112] According to an embodiment of the disclosure, a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method for determining a guide point according to the embodiments of the disclosure is also provided.

[0113] According to an embodiment of the disclosure, a computer program product is also provided, which includes a computer program, and the computer program, when executed by a processor, implements the method for determining a guide point according to the embodiments of the disclosure.

[0114] Reference is made to Figure 8The present invention describes a structural block diagram of an electronic device 800 that can serve as a server or client of the present disclosure, 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, workstations, 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 assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0115] like Figure 8 As shown, the electronic 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. The RAM 803 may also store various programs and data required for the operation of the electronic device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0116] Multiple components in electronic device 800 are connected to I / O interface 805, including: input unit 806, output unit 807, storage unit 808, and communication unit 809. Input unit 806 can be any type of device capable of inputting information to electronic device 800. Input unit 806 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of electronic device, and can include, but is not limited to, a mouse, keyboard, touchscreen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 807 can be any type of device capable of presenting information, and can include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 808 can include, but is not limited to, disk and optical disk. Communication unit 809 allows electronic device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and can include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets such as Bluetooth. TM Equipment, 802.11 equipment, Wi-Fi equipment, WiMAX equipment, cellular communication equipment and / or the like.

[0117] The computing unit 801 can be various general and / or special purpose 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 specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs various methods and processes described above, such as the method 200 and the method 400. For example, in some embodiments, the method 200 and the method 400 can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded onto the RAM 803 and executed by the computing unit 801, one or more steps of the method 200 and the method 400 described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform the method 200 and the method 400 by any other suitable means, such as by means of firmware.

[0118] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0119] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces a means for implementing the functions / acts specified in the flowcharts and / or block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine and partially on a remote machine or entirely on a remote machine or server.

[0120] In the context of this disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0121] To provide for interaction with a user, the systems and techniques described here 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 a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, 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, speech, or tactile input.

[0122] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end 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.

[0123] The computer system can include clients and servers. This relationship can be remote or on-site. The servers can be cloud servers, servers of a distributed system, or servers combined with a blockchain.

[0124] It should be understood that the various forms of flow shown above can be used to reorder, add, or delete steps. For example, the steps described in the present disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, which are not limited herein.

[0125] Although embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-described methods, systems, and devices are merely exemplary embodiments or examples, and the scope of the present disclosure is not limited by these embodiments or examples, but only by the granted claims and their equivalent scope. Various elements in the embodiments or examples can be omitted or replaced by equivalent elements. In addition, each step can be performed in an order different from that described in the present disclosure. Further, various elements in the embodiments or examples can be combined in various ways. It is important that many of the elements described herein can be replaced by equivalent elements that appear after the present disclosure as technology evolves.

Claims

1. A method for determining a guide point, comprising: obtaining a plurality of historical trajectories with a target point of interest as a navigation destination, including: obtaining a plurality of candidate historical trajectories that have reached the target point of interest; and for any candidate historical trajectory in the plurality of candidate historical trajectories: screening a plurality of trajectory points included in the candidate historical trajectory to obtain a plurality of valid trajectory points, including: obtaining road segments corresponding to the plurality of trajectory points respectively; and determining whether any trajectory point in the plurality of trajectory points is a valid trajectory point based on the corresponding road segment, including: determining the trajectory point as a valid trajectory point in response to a distance from the trajectory point to the corresponding road segment being less than a first threshold value, and a line connecting the trajectory point and the target point of interest not having any intersection with any road segment other than the corresponding road segment; and generating a historical trajectory based on the plurality of valid trajectory points; determining end road segments of the plurality of historical trajectories respectively, wherein the end road segment is a road segment on which an end point of a corresponding historical trajectory is located; determining a facing road segment of the target point of interest based on the end road segments of the plurality of historical trajectories, wherein the facing road segment is a road segment faced by a passable facade of the target point of interest; and determining a guide point of the target point of interest based on the facing road segment.

2. The method of claim 1, wherein, The generating a historical trajectory based on the plurality of valid trajectory points includes: generating a historical trajectory based on the plurality of valid trajectory points in response to a number of the plurality of valid trajectory points being greater than a second threshold value.

3. The method of claim 1 or 2, wherein, The determining the end road segments of the plurality of historical trajectories includes: for any historical trajectory in the plurality of historical trajectories: determining an end trajectory segment of the historical trajectory, the end trajectory segment including a plurality of tail trajectory points of the historical trajectory; and determining the end road segment of the historical trajectory based on the end trajectory segment.

4. The method of claim 3, wherein, Each trajectory point in the historical trajectory has speed information, the determining the end trajectory segment of the historical trajectory includes: determining a trajectory point in the historical trajectory as a tail trajectory point in response to the speed information of the trajectory point being less than a third threshold value and a distance from the trajectory point to the target point of interest being less than a fourth threshold value.

5. The method of claim 3, wherein, The determining the end road segment of the historical trajectory based on the end trajectory segment includes: obtaining road segments corresponding to the plurality of tail trajectory points respectively; and determining the end road segment of the historical trajectory based on the road segments corresponding to the plurality of tail trajectory points respectively.

6. The method of claim 1 or 2, wherein, The determining the facing road segment of the target point of interest based on the end road segments of the plurality of historical trajectories includes: determining a confidence degree of each end road segment in an end road segment set as the facing road segment, wherein the end road segment set is a set of the end road segments of the plurality of historical trajectories, and the confidence degree is determined based on a number of historical trajectories corresponding to the end road segment; and determining an end road segment with a maximum confidence degree as the facing road segment. 7.An apparatus for determining a guide point, comprising: an obtaining module configured to obtain a plurality of historical trajectories with a target point of interest as a navigation destination; an end road segment determining module configured to determine end road segments of the plurality of historical trajectories respectively, wherein the end road segment is a road segment on which an end point of a corresponding historical trajectory is located; and a direction road segment determination module configured to determine a direction road segment of the target interest point based on end road segments of the plurality of historical trajectories, wherein the direction road segment is a road segment faced by a passable facade of the target interest point; and a guide point determination module configured to determine a guide point of the target interest point based on the direction road segment, wherein the obtaining module comprises: an obtaining unit configured to obtain a plurality of candidate historical trajectories that have reached the target interest point; and a screening unit configured to, for any candidate historical trajectory in the plurality of candidate historical trajectories: screen a plurality of trajectory points comprised in the candidate historical trajectory to obtain a plurality of valid trajectory points; and generate a historical trajectory based on the plurality of valid trajectory points, wherein the screening unit is further configured to: obtain road segments corresponding to the plurality of trajectory points respectively; and determine whether any trajectory point in the plurality of trajectory points is a valid trajectory point based on the corresponding road segment, comprising: in response to a distance of the trajectory point to the corresponding road segment being less than a first threshold value, and a line connecting the trajectory point and the target interest point not having any intersection with any road segment other than the corresponding road segment, determining the trajectory point as a valid trajectory point.

8. The apparatus of claim 7, wherein, the end road segment determination module is further configured to: for any historical trajectory in the plurality of historical trajectories: determine an end trajectory segment of the historical trajectory, the end trajectory segment comprising a plurality of tail trajectory points of the historical trajectory; and determine an end road segment of the historical trajectory based on the end trajectory segment.

9. The apparatus of claim 8, wherein, the end road segment determination module comprises: a first determination unit configured to determine, as a tail trajectory point, a trajectory point in the historical trajectory that has a speed information less than a third threshold value and a distance to the target interest point less than a fourth threshold value.

10. The apparatus of claim 8 or 9, wherein, the end road segment determination module comprises: an obtaining unit configured to obtain road segments corresponding to the plurality of tail trajectory points respectively; and a second determination unit configured to determine an end road segment of the historical trajectory based on the road segments corresponding to the plurality of tail trajectory points respectively.

11. The apparatus of claim 8 or 9, wherein, the direction road segment determination module comprises: a confidence determination unit configured to determine a confidence of each end road segment in an end road segment set as the direction road segment, wherein the end road segment set is a set of end road segments of the plurality of historical trajectories, and the confidence is determined based on a quantity of historical trajectories corresponding to the end road segment; and a direction road segment determination unit configured to determine an end road segment with the largest confidence as the direction road segment.

12. An electronic device comprising: at least one processor; and a memory connected to the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-6.

13. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable a computer to perform the method of any one of claims 1-6.

14. A computer program product comprising a computer program, wherein, The computer program, when executed by a processor, implements the method of any one of claims 1-6. The computer program, when executed by a processor, implements the method of any one of claims 1-6.