Navigation method and device, computing device, storage medium and computer program product
By obtaining alternative roads near the navigation starting point location and generating picture data for analysis, the navigation deviation caused by inaccurate navigation starting point location is solved, and the accuracy and user experience of navigation are improved.
Patent Information
- Application Number
- CN202210106679.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-28
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-01-28
AI Technical Summary
In navigation applications, inaccurate navigation starting point location or dense nearby roads lead to deviations in determining navigation starting point roads, affecting navigation accuracy and reducing user experience.
By acquiring positioning data, identifying alternative roads near the navigation starting point position, and generating picture data based on the positioning data, and determining the most suitable navigation starting point road through image data analysis.
It improves the accuracy of determining the starting point of navigation, enhances the accuracy of navigation services, and thus improves the user experience.
Smart Images

Figure CN114396956B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and more particularly, to a navigation method, a navigation device, a computing device, a computer-readable storage medium, and a computer program product. Background Art
[0002] With the continuous development of computer technology, the use of navigation applications is becoming more and more widespread in the field of transportation. Navigation applications can be used to provide route guidance services to users while they are walking or driving, and can also be used in the travel process of unmanned vehicles, robots and other equipment. Generally speaking, when starting navigation, it is necessary to determine the navigation starting road based on the navigation starting position. When the positioning of the navigation starting position is not accurate enough or the roads near the navigation starting position are dense, the determined navigation starting road may deviate. This will affect the accuracy of navigation, cause trouble to users using navigation applications, and have an adverse impact on user experience. Summary of the invention
[0003] In view of this, the present disclosure provides a navigation method, a navigation apparatus, a computing device, a computer-readable storage medium and a computer program product, which can alleviate, mitigate or even eliminate the above-mentioned problems.
[0004] According to one aspect of the present disclosure, a navigation method is provided, comprising: acquiring positioning data, the positioning data comprising a navigation starting point position and map data related to the navigation starting point position; determining at least one alternative road from the map data based on the navigation starting point position; for each alternative road, generating picture data based on the positioning data; and determining the navigation starting point road from the at least one alternative road based on the picture data.
[0005] In some embodiments, the image data includes at least one of the following: direction information of the navigation starting point, accuracy information of the navigation starting point, road information in the vicinity of the navigation starting point, and information of upstream roads connected to the alternative roads.
[0006] In some embodiments, the positioning data also includes multiple historical positions of navigation objects related to the navigation starting position, and wherein generating image data based on the positioning data includes at least one of the following steps: generating a direction channel picture based on the direction information of the navigation starting position and the multiple historical positions; generating an accuracy channel picture based on the accuracy information of the navigation starting position and the multiple historical positions; generating an adjacent road channel picture based on multiple roads in the adjacent area of the navigation starting position; generating an upstream road channel picture based on the alternative road and the upstream road connected to the alternative road.
[0007] In some embodiments, generating a direction channel picture based on the direction information of the navigation starting position and multiple historical positions includes: determining the positions of multiple points in the direction channel picture corresponding to the navigation starting position and the multiple historical positions respectively based on the navigation starting position and the multiple historical positions; determining the grayscale of the corresponding multiple points according to the direction information of the navigation starting position and the multiple historical positions.
[0008] In some embodiments, determining the grayscale of multiple corresponding points based on the direction information of the navigation starting point position and multiple historical positions includes: mapping the directions of the navigation starting point position and multiple historical positions to corresponding grayscale values according to a linear mapping scheme from direction to grayscale; and determining the grayscale of multiple corresponding points based on the grayscale values obtained by mapping.
[0009] In some embodiments, generating a precision channel image based on the accuracy information of the navigation starting position and multiple historical positions includes: determining positions of multiple points in the precision channel image corresponding to the navigation starting position and the multiple historical positions respectively based on the navigation starting position and the multiple historical positions; determining the grayscale of the corresponding multiple points according to the accuracy information of the navigation starting position and the multiple historical positions.
[0010] In some embodiments, determining the grayscale of multiple points based on the accuracy information of the navigation starting point position and multiple historical positions includes: mapping the accuracy of the navigation starting point position and multiple historical positions to corresponding grayscale values according to a linear mapping scheme from accuracy to grayscale; and determining the grayscale of the corresponding multiple points based on the grayscale values obtained by mapping.
[0011] In some embodiments, generating a surrounding road channel picture based on at least part of the multiple roads around the navigation starting point location includes: determining the positions of multiple lines in the surrounding road channel picture corresponding to at least part of the roads based on the positions of at least part of the multiple roads around the navigation starting point location; and determining the grayscale of the corresponding multiple lines according to the driving directions of the multiple roads.
[0012] In some embodiments, generating an upstream road channel picture based on the alternative road and the upstream road connected to the alternative road includes: determining the positions of at least two lines in the upstream road channel picture corresponding to the alternative road and the upstream road connected to the alternative road, respectively, based on the positions of the alternative road and the upstream road connected to the alternative road; and determining the grayscale of the line corresponding to the alternative road and the line corresponding to the upstream road as different grayscale values.
[0013] In some embodiments, generating the image data based on the positioning data includes: generating the image data using the navigation starting point position as the center position of the image.
[0014] In some embodiments, based on the navigation starting point location, determining at least one alternative road from the map data includes: for each road of at least some of the roads in the map data, determining the correlation between the road and the navigation starting point location based on at least one of the distance difference and the direction difference between the road and the navigation starting point location; based on the correlation, determining at least one road of at least some of the roads as an alternative road.
[0015] In some embodiments, determining a navigation starting point road from at least one alternative road based on the image data includes: determining a probability of selection of each alternative road based on the image data; and determining the alternative road with the highest probability of selection among the at least one alternative road as the navigation starting point road.
[0016] In some embodiments, determining the probability of selection of each alternative road based on image data includes: for each alternative road, performing the following steps: extracting image features from the image data corresponding to the alternative road; based on the image features, determining a numerical pair used to characterize the probability of selection and the probability of non-selection of the alternative road; and normalizing the numerical pair to obtain the probability of selection of the alternative road.
[0017] In some embodiments, based on the image data, determining the probability of selection of each alternative road includes: inputting the image data corresponding to each alternative road into the navigation starting road determination in sequence to obtain the probability of selection of each alternative road, wherein the navigation starting road determination model is a pre-trained machine learning model.
[0018] In some embodiments, the navigation starting road determination model is trained by the following steps: obtaining multiple groups of sample navigation data, each group of sample navigation data including sample positioning data, a sample navigation starting road and a sample actual starting road, the sample positioning data including the sample navigation starting position and map data related to the sample navigation starting position; for each group of sample navigation data, generating sample image data based on the sample navigation starting road and the sample positioning data; taking the sample image data in which the sample actual starting road is the same as the sample navigation starting road as a positive sample, and taking the sample image data in which the sample actual starting road is different from the sample navigation starting road as a negative sample, and training the machine learning model to maximize the accuracy of the machine learning model in determining that the input sample image data is a positive sample or a negative sample.
[0019] According to another aspect of the present disclosure, a navigation device is provided, comprising: an acquisition module configured to acquire positioning data, the positioning data comprising a navigation starting point position and map data related to the navigation starting point position; a first determination module configured to determine at least one alternative road from the map data based on the navigation starting point position; a generation module configured to generate image data for each alternative road based on the positioning data; and a second determination module configured to determine the navigation starting point road from the at least one alternative road based on the image data.
[0020] According to yet another aspect of the present disclosure, a computing device is provided, comprising: a memory configured to store computer-executable instructions; and a processor configured to execute the navigation method described according to the aforementioned aspects when the computer-executable instructions are executed by the processor.
[0021] According to yet another aspect of the present disclosure, a computer-readable storage medium is provided, which stores computer-executable instructions. When the computer-executable instructions are executed, the navigation method described in the above aspects is executed.
[0022] According to yet another aspect of the present disclosure, a computer program product includes computer instructions, and when the computer instructions are executed by a processor, the navigation method described in the above aspects is implemented.
[0023] Through the navigation method provided by the present disclosure, at least one alternative road can be selected near the navigation starting point position, and then for each alternative road, image data is generated based on the navigation starting point position in the positioning data and the map data related to the navigation starting point position, and then the navigation starting point road is determined in at least one alternative road by analyzing the image data. In this way, in the process of determining the navigation starting point road, various information in the navigation starting point position and related map data, especially the relationship between the navigation starting point position and related roads, can be more fully and comprehensively considered by means such as image analysis and processing, so that the correct, more practical and more reliable navigation starting point road can be screened from at least one alternative road on the basis of comprehensive consideration of various information, avoiding the deviations and even errors that may be caused by the related technology simply relying on positioning data to determine the navigation starting point road. This helps to improve the accuracy of determining the navigation starting point road, and then helps to improve the accuracy of navigation services, thereby improving user experience.
[0024] These and other aspects of the disclosure will be apparent from and elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Further details, features and advantages of the present disclosure are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which:
[0026] Figure 1 An example scenario in which the navigation solution provided by some embodiments of the present disclosure can be applied is schematically shown;
[0027] Figure 2 Schematically illustrates an example navigation interface according to some embodiments of the present disclosure;
[0028] Figure 3 An example flowchart of a navigation method according to some embodiments of the present disclosure is schematically shown;
[0029] Figures 4A-4D Schematically illustrates an example of a channel picture according to some embodiments of the present disclosure;
[0030] Figure 5 Schematically shows an example structural diagram of a convolutional neural network model according to some embodiments of the present disclosure;
[0031] Figure 6 An example flow chart schematically illustrates a method for training a machine learning model according to some embodiments of the present disclosure;
[0032] Figure 7A-7B schematically illustrates an example of sample navigation data according to some embodiments of the present disclosure;
[0033] Figure 8 An example block diagram of a navigation device according to some embodiments of the present disclosure is schematically shown;
[0034] Fig. 9 An example block diagram of a computing device according to some embodiments of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0035] The technical solutions in this application will be described clearly and completely below in conjunction with the drawings in this application. The described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments of this application, all other embodiments obtained by ordinary technicians in this field without creative work belong to the scope of protection of this application.
[0036] Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.
[0037] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, as well as machine learning / deep learning, autonomous driving, smart transportation, automatic control and other major directions.
[0038] Machine Learning (ML) is a multi-disciplinary subject involving probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory and other disciplines. It specializes in studying how computers simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications are spread across all areas of artificial intelligence. Machine learning and deep learning usually include artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, self-learning, active learning and other technologies.
[0039] With the research and advancement of artificial intelligence technology, artificial intelligence technology has been studied and applied in many fields, such as common smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, unmanned driving, automatic driving, drones, robots, smart medical care, smart customer service, Internet of Vehicles, automatic driving, smart transportation, etc. I believe that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important role.
[0040] Before describing the embodiments of the present disclosure in detail, some related concepts are first explained.
[0041] In the embodiments of the present disclosure, the navigation starting position refers to the starting position when the user uses the navigation service. The starting position may be the user's location, or may be another location set by the user. The starting position may be automatically measured or manually input by the user.
[0042] In the embodiments of the present disclosure, the navigation starting point road refers to the road used as the starting point of the navigation planning road when the user uses the navigation service.
[0043] Some embodiments of the present disclosure can be implemented with the aid of a convolutional neural network (CNN). A convolutional neural network is a type of neural network model designed for processing image data, which can achieve very good results in image recognition applications. A convolutional neural network is usually composed of an input layer, a hidden layer, and an output layer, wherein the input layer can generally be used to receive a one-dimensional, two-dimensional, or higher-dimensional array, the hidden layer generally includes a convolutional layer, a pooling layer, and a fully connected layer, and sometimes may also include other modules such as a residual module, and the output layer is generally used to output classification results, which can be implemented with the aid of a logical function or a normalized exponential function, etc. According to actual application requirements, a convolutional neural network can be trained through supervised learning or unsupervised learning.
[0044] The embodiments of the present disclosure can be applied to the field of transportation, and can be applied to related scenarios such as intelligent transportation system (ITS), automatic driving, assisted driving, etc. Intelligent transportation system, also known as intelligent transportation system (ITS), is to effectively and comprehensively apply advanced science and technology (information technology, computer technology, data communication technology, sensor technology, electronic control technology, automatic control theory, operations research, artificial intelligence, etc.) to transportation, service control and vehicle manufacturing, strengthen the connection between vehicles, roads and users, and thus form a comprehensive transportation system that ensures safety, improves efficiency, improves the environment and saves energy.
[0045] Figure 1 An example scenario 100 is schematically shown to which the navigation solution provided by the embodiments of the present disclosure can be applied.
[0046] like Figure 1 As shown, scene 100 includes a computing device 110. The navigation solution provided by the embodiment of the present disclosure can be deployed on the computing device 110 and used to determine the navigation starting point road. The computing device may include but is not limited to a mobile phone, a computer, an intelligent voice interaction device, a smart home appliance, a vehicle terminal, an aircraft, etc. The embodiment of the present disclosure can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, assisted driving, etc.
[0047] Exemplarily, the user 120 may use the navigation service through the computing device 110. For example, the user 120 may input instructions through a user interface provided by the computing device 110, such as through relevant physical or virtual keys, text, voice or gesture instructions, etc., so as to start a navigation application deployed on the computing device 110 and / or the server 130, view a navigation route, etc.
[0048] The scene 100 may also include a server 130. Optionally, the navigation solution provided by the embodiment of the present disclosure may also be deployed on the server 130. Alternatively, optionally, the navigation solution provided by the embodiment of the present disclosure may also be deployed on a combination of the computing device 110 and the server 130. The present disclosure is not specifically limited in this regard. For example, the user 120 may access the server 130 via the network 150 through the computing device 110 to obtain the services provided by the server 130.
[0049] The server 130 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. In addition, it should be understood that the server 130 is shown only as an example, and in fact, other devices or combinations of devices with computing and storage capabilities may be used instead or in addition to provide corresponding services.
[0050] Optionally, computing device 110 and / or server 130 may be linked to database 140 via network 150, so as to obtain map data etc. from database 140. Exemplarily, database 140 may be an independent data storage device or device group, or may also be a backend data storage device or device group related to other online services.
[0051] In addition, in the present disclosure, network 150 can be a wired network connected via cables, optical fibers, etc., or a wireless network such as 2G, 3G, 4G, 5G, Wi-Fi, Bluetooth, ZigBee, Li-Fi, etc., or an internal connection line of one or several devices, etc.
[0052] Figure 2 An example navigation interface 200 according to an embodiment of the present disclosure is schematically shown. For example, the navigation interface 200 may be presented on a user's terminal device such as a mobile phone, a tablet computer, a car navigation device, a smart watch, etc., so that the user can view the navigation route. For example, the navigation interface 200 may be applied to Figure 1 The scene 100 is shown and may be presented on a display screen of a computing device 110 .
[0053] As shown in the figure, the navigation interface 200 may include a map display area 210, which may display a map near the current navigation position, such as information about roads, buildings, green belts, etc. The map display area 210 may present a mark 220 indicating the current navigation position, where the mark 220 indicates the navigation starting point position, which may indicate the direction of the navigation starting point position by an arrow, and the direction may be the orientation of a navigation positioning device (such as a satellite navigation receiver, etc.). In addition, optionally, a mark about the direction may be displayed, for example, a mark about at least one of east, west, south, and north may be displayed around the mark 220. The arrow at the mark 220 may indicate the direction of travel of the navigation route. The navigation interface 200 may also include a text navigation area 230, which may indicate the navigation route by arrows, text, or a combination of the two. The navigation interface 200 may also include a road condition overview strip 240, which may display the degree of congestion of different sections of the navigation route in different colors, patterns, etc. The navigation interface 200 may also include an information presentation area 250, which may display information about the length of the navigation route, the estimated travel time, the estimated arrival time, the number of traffic lights along the route, etc. In addition, according to actual application scenario requirements, the navigation interface 200 may also alternatively or additionally include other elements or areas.
[0054] It should be understood that the navigation interface 200 is only exemplary. In fact, different navigation interfaces can be designed according to actual needs, or the navigation route can be presented in the form of voice broadcast, text broadcast, etc.
[0055] In the related art, when determining the navigation starting point road, the roads are usually screened by characteristic dimensions such as the distance and direction relationship between the navigation starting point and the road. For example, multiple screening strategies can be used to select roads, and parameter thresholds can be set for each screening strategy (such as distance, direction angle difference, etc.) to determine whether a road meets the requirements of the navigation starting point road.
[0056] However, the inventors found that due to the unstable strength of the positioning signal or due to the user device itself, the navigation starting point position is sometimes inaccurate, that is, there is a deviation from the actual starting point position. Therefore, in actual use, the above-mentioned scheme in the related art has the following shortcomings. First, the accuracy of the navigation starting point road is low. Due to the inaccurate navigation starting point position, it is easy to make a misjudgment when determining the navigation starting point road through a fixed screening strategy. For example, when screening by example and direction strategy, the inaccurate navigation starting point position may cause the road with the closest distance and the most matching direction to be not the road where the user's actual starting point position is located. Second, the optimization iteration speed is slow. When formulating a screening strategy or optimizing an existing screening strategy, experienced personnel are required to formulate or optimize the strategy, and the new strategy needs to be tested and compared repeatedly, which makes the online speed or optimization speed of the navigation function very slow. Third, the coverage of the problem is narrow. When solving the problem of wrong selection of the navigation starting point road by optimizing the screening strategy, multiple mutually exclusive optimization scenarios are often faced. For example, when it is hoped to increase the influence of the direction of the navigation starting point position in some scenarios, a road farther away may be selected, which may have a negative impact on other scenarios. Therefore, when solving the problem of inaccurate navigation starting point road selection, the optimization coverage of the screening strategy is narrow, and it is difficult to consider the problem in all aspects and meet the needs of different scenarios.
[0057] Based on the above considerations, the inventors propose a new navigation method, which helps to solve or alleviate the above-mentioned deficiencies in the related art.
[0058] Figure 3 The following schematically shows an example flow chart of a navigation method 300 according to an embodiment of the present disclosure. Figure 1 The computing device 110 or the server 130 in the illustrated scenario 100 may be deployed on a combination of the two.
[0059] In step 310, positioning data may be obtained, and the positioning data may include the navigation starting point position and map data related to the navigation starting point position. The navigation starting point position may be described by two-dimensional coordinates consisting of longitude and latitude, three-dimensional coordinates consisting of longitude and latitude and altitude, or two-dimensional or three-dimensional coordinates under other coordinate systems, or may also be described by relative positions to roads, intersections, landmark addresses, etc. The map data related to the navigation starting point position may refer to map data within a range near the navigation starting point position, such as map data within a range of a preset distance threshold from the navigation starting point position, such as map data within a range of 10 meters, 20 meters, 50 meters, 100 meters, 200 meters, 300 meters, etc. from the navigation starting point position. It should be understood that the preset distance threshold may be set manually or automatically according to specific application requirements. Alternatively, optionally, the map data related to the navigation starting point position may also refer to map data within a township, county, prefecture or provincial administrative region including the navigation starting point position, or may also refer to map data within a full range including the navigation starting point position, etc. The map data may include road information and may include other relevant information, such as one or more of building information, green belt information, water area information, public facility information, etc.
[0060] Optionally, the positioning data may be generated locally or obtained from an external device, or may be partially generated locally and partially obtained from an external device. Figure 1 In the illustrated scenario 100, if the navigation method 300 is deployed on the computing device 110 of the user 120, the navigation starting point location may be generated by the computing device 110, and the map data associated with the navigation starting point location may be stored locally, or may be obtained from the server 130 or the database 140 via a network; if the navigation method 300 is deployed on the server 130, the navigation starting point location may be received from the computing device 110 via a network, and the map data associated with the navigation starting point location may be stored locally, or may be obtained from an external device such as the database 140 via a network.
[0061] Exemplarily, the navigation starting point position can be determined in various ways. For example, the navigation starting point position can be determined with the help of satellite navigation systems such as the Global Positioning System (GPS), the GLONASS Satellite Navigation System (GLONASS), the Galileo Satellite Navigation System (GALILEO) and the Beidou Satellite Navigation System (BDS). In this example, the navigation object (such as a vehicle, a mobile terminal, a robot, etc.) can be equipped with a satellite signal receiver, which can receive satellite signals and determine the position of the navigation object according to the received satellite signals. Alternatively, the navigation starting point position can also be determined with the help of other navigation schemes, such as using a combination of one or more of a telecommunications base station, a WiFi signal, a Zigbee signal, a high-precision map, a vehicle sensor system including an accelerometer, a wheel encoder, etc. to determine the navigation starting point position. Alternatively, the navigation starting point position can also be manually set by the user.
[0062] In step 320, at least one alternative road may be determined from the map data based on the navigation starting point. Exemplarily, all roads or a part of the roads in the acquired map data related to the navigation starting point may be used as alternative roads. For example, roads in a certain vicinity of the navigation starting point may be used as alternative roads, such as roads within 10 meters, 20 meters, 50 meters, 100 meters, 200 meters or other distances from the navigation starting point as alternative roads; or, a preset number of roads that are close to the navigation starting point may be determined as alternative roads, such as 3, 5, 8, 10, 15 or other number of roads that are close to the navigation starting point as alternative roads; or, roads whose difference between the road driving direction and the direction of the navigation starting point is within a preset angle range may be used as alternative roads, or a preset number of roads whose difference between the road driving direction and the direction of the navigation starting point is small may be used as alternative roads. Similarly, the preset angle range or the preset number may be set according to actual needs; or, alternative roads may be determined according to other mechanisms or by integrating two or more mechanisms.
[0063] In step 330, image data may be generated for each alternative road based on the positioning data. Exemplarily, single-channel or multi-channel image data may be generated based on the positioning data, wherein the multi-channel image may include multiple color channels (such as RGB images) or multiple custom channels. For example, a single-channel grayscale image or a multi-channel color image may be generated based on all or part of the information in the map data related to the navigation starting point position, and the navigation starting point position and the alternative roads may be marked in a preset form in the generated image, for example, the navigation starting point position may be marked by a dotted mark of a preset shape and / or color, and the alternative roads may be marked by a preset color, pattern, line type, etc. Alternatively, the image data may be generated by other mechanisms, so that the image data may at least reflect information about the navigation starting point position and the alternative roads, and may optionally reflect information about at least one other road and other optional information.
[0064] In step 340, the navigation starting point road can be determined from at least one alternative road based on the picture data. The navigation starting point road can be determined based on the picture data by means of various image analysis means. Exemplarily, each channel in the single-channel picture data or the multi-channel picture data can include a plurality of pixels, each pixel can have a corresponding grayscale value, whereby each channel in the single-channel picture data or the multi-channel picture data can be represented as a matrix, and each element in the matrix can be the grayscale value of the corresponding pixel. Such data can be analyzed by various data analysis means to determine which alternative road is most suitable as the navigation starting point road. Exemplarily, the picture data can also be pre-processed by cropping, filtering, etc., so as to better determine the navigation starting point road based thereon.
[0065] Through the navigation method 300, in the process of determining the navigation starting point road, the conversion of positioning data into image data can be realized, and the various information in the navigation starting point position and related map data can be more fully and comprehensively considered by means of image analysis, so that the correct navigation starting point road can be screened from at least one candidate road based on the integration of multiple factors. This helps to improve the accuracy of the determined navigation starting point road, and further helps to improve the quality of navigation services, thereby improving user experience.
[0066] In some embodiments, the image data generated in step 330 may include at least one of the following: direction information of the navigation starting point position, accuracy information of the navigation starting point position, road information in the vicinity of the navigation starting point position, and information of the upstream road connected to the alternative road. Exemplarily, the direction information and / or accuracy information of the navigation position can be represented in the image data in the form of shape, color features, etc. The road information in the vicinity of the navigation starting point position may include one or more of the position information, driving direction information, or other attribute information of the road, wherein the vicinity may be an area within a preset threshold distance range near the navigation starting point position, such as an area within 10 meters, 20 meters, 50 meters, 100 meters, 200 meters, or other distance ranges around the navigation starting point position. The information of the upstream road connected to the alternative road may include one or more of the position information, driving direction information, or other attribute information of the upstream road, wherein the upstream road may refer to a road that can drive into the alternative road and is directly connected to the alternative road. There may be 1, 2, or more upstream roads connected to an alternative road. Similarly, illustratively, the road information in the vicinity of the navigation starting point position and / or the information of the upstream road connected to the alternative road may be represented in the picture data in the form of shape, color features, etc.
[0067] By including one or more of the direction information of the navigation starting point, the accuracy information of the navigation starting point, the road information in the neighborhood of the navigation starting point, and the information of the upstream road connected to the alternative road in the image data, it is helpful to improve the accuracy of the navigation starting point. Specifically, the direction information of the navigation starting point can reflect the current orientation of the navigation object, which is helpful to determine its possible driving direction, and then to help screen a suitable navigation starting road; the accuracy information of the navigation starting point can reflect the accuracy of the navigation starting point itself, which can be used as reference information when screening the navigation starting road, for example, to adjust the degree of dependence of the navigation starting road on the navigation starting point; the road information in the neighborhood of the navigation starting point can reflect the overall road distribution near the navigation starting point, which is helpful to comprehensively consider the distribution of other nearby roads when determining the navigation starting road; the information of the upstream road connected to the alternative road can reflect the road that can enter the alternative road, which helps to reduce the probability of misselection of the navigation starting road when combined with the historical trajectory of the navigation object.
[0068] According to actual application requirements, the above-mentioned image data may also include other information alternatively or additionally. In addition, it should be understood that the above-mentioned image data may include multi-channel images, wherein each channel image may only reflect one of the above-mentioned various information. This can highlight different information in each channel image, which helps to improve the analysis efficiency and analysis effect of the image data. Alternatively, according to specific settings, the above-mentioned various information can also be reflected in a single-channel image, or a channel image in a multi-channel image can reflect two or more of the above-mentioned various information.
[0069] In some embodiments, the positioning data may also include multiple historical positions of the navigation object related to the navigation starting point position. The multiple historical positions may be stored locally or obtained from an external device. The historical position of the navigation object related to the navigation starting point position may refer to a position obtained within a time period before the moment when the navigation object is at the navigation starting point position, or may refer to a preset number of positions obtained before the navigation starting point position, or may also be a position within a distance range obtained before the navigation object is at the navigation starting point position. Exemplarily, the multiple historical positions may be a series of positioning points obtained by satellite navigation systems such as GPS, GLONASS, GALILEO, and BDS, which may play an auxiliary judgment role in the determination process of the navigation starting point road. Exemplarily, the multiple historical positions may be positions obtained within a period of time before the current moment or before the navigation object stopped moving last time, such as positions obtained within the previous 50s, 60s, 70s, 80s or other time periods, or, for example, 50, 60, 70, 80 or other number of positions obtained before the navigation starting point position, and so on. Optionally, the multiple historical positions may be positions obtained continuously, or may be positions obtained by sampling continuously obtained positions. In some embodiments, the process of generating image data based on positioning data may include generating at least one of the following: a direction channel image, a precision channel image, a neighboring road channel image, and an upstream road channel image. In addition, optionally, the generated image data may also include other forms of channel images.
[0070] Figures 4A-4D The direction channel picture 400A, the accuracy channel picture 400B, the adjacent road channel picture 400C and the upstream road channel picture 400D according to an embodiment of the present invention are schematically shown respectively. It should be understood that Figures 4A-4D The coordinate information on the left and bottom sides of each channel image in is only shown for ease of understanding, and the channel image actually generated may not include such coordinate information. In addition, for the sake of clarity and simplicity, Figures 4A-4D Grayscale information is not shown, various points or lines therein may have grayscale, and their grayscale values may be determined according to various embodiments described below.
[0071] In some embodiments, the following may be generated based on the navigation starting point location and the direction information of multiple historical locations: Figure 4A Directional channel image 400A is shown.
[0072] In some embodiments, a directional channel image can be generated based on the directional information of the navigation starting position and multiple historical positions by the following steps: based on the navigation starting position and multiple historical positions, determine the positions of multiple points in the directional channel image that correspond to the navigation starting position and multiple historical positions respectively; and determine the grayscale of the corresponding multiple points based on the directional information of the navigation starting position and multiple historical positions. Exemplarily, the obtained navigation starting position and each position in the multiple historical positions can be mapped to the position of the corresponding pixel point in the directional channel image according to a preset scale. For example, Figure 4A As shown, the navigation start position can be mapped to pixel point 411 at (100, 100), that is, the center pixel point of the direction channel image, and multiple historical positions can be mapped to a series of pixel points 412 marked by a dotted box. Optionally, each position can be represented by one or a group of pixel points.
[0073] The grayscale of the pixel point 411 corresponding to the navigation starting point position and the pixel point 412 corresponding to the multiple historical positions can be determined according to their direction information. Exemplarily, when using GPS positioning, the obtained GPS positioning can carry a corresponding direction angle value, which can be used as the direction information of the navigation starting point position and the historical position. The direction angle value can be based on a preset direction, such as the north direction. In some embodiments, the grayscale of each point can be determined by the following steps: according to a linear mapping scheme from direction to grayscale, the directions of the navigation starting point position and the multiple historical positions are mapped to corresponding grayscale values; based on the grayscale values obtained by mapping, the grayscale of the corresponding multiple points is determined. The linear mapping scheme from direction to grayscale can map the direction angle from 0 to 360 degrees (or, -180 to 180 degrees or other ranges) to a grayscale value from 0 to 255, or to a grayscale value interval between 0 and 255, for example, to a grayscale value interval [36,216] or other grayscale value intervals. Grayscale values outside the above grayscale value range can be reserved for other purposes, such as the background grayscale of the direction channel image, the corresponding grayscale of the position that does not carry direction information, etc.
[0074] Alternatively, the above linear mapping scheme from direction to grayscale can be described by the following mapping function:
[0075]
[0076] in, is the direction angle, and are the maximum and minimum values of the direction angle, for example, they can be 360 and 0 respectively. is the grayscale upper limit set. is the grayscale lower limit set, for example, the values can be 216 and 36 respectively. Optionally, if there is a position without direction information in the starting navigation position and multiple historical positions, the grayscale of the corresponding point can be set to a preset fixed grayscale value, for example, set to 255 or other values.
[0077] In addition, in the direction channel picture, the pixel points corresponding to the navigation starting position and the adjacent positions in the multiple historical positions can be connected by a line segment to more clearly display the travel trajectory of the navigation object. Here, the adjacent position refers to the position adjacent in the acquisition time. The grayscale of the connecting line segment between the adjacent positions can be determined as a preset fixed grayscale value, which can be a grayscale value outside the grayscale value interval involved in the linear mapping scheme from direction to grayscale.
[0078] In some embodiments, the following information may be generated based on the navigation starting point location and the accuracy information of multiple historical locations: Figure 4B Precision channel image 400B is shown.
[0079] In some embodiments, the following steps can be used to generate a precision channel image based on the precision information of the navigation starting position and multiple historical positions: based on the navigation starting position and multiple historical positions, determine the positions of multiple points in the precision channel image that correspond to the navigation starting position and multiple historical positions respectively; based on the precision information of the navigation starting position and multiple historical positions, determine the grayscale of the corresponding multiple points. Similar to the aforementioned direction channel image, illustratively, the acquired navigation starting position and multiple historical positions can be mapped to the positions of corresponding pixel points in the direction channel image according to a preset scale. For example, Figure 4B As shown, the navigation start position can be mapped to a pixel point 421 at (100, 100), that is, the center pixel point of the direction channel image, and multiple historical positions can be mapped to a series of pixel points 422 marked by a dotted box. Optionally, each position can be represented by one or a group of pixel points.
[0080] The grayscale of the pixel point 421 corresponding to the navigation starting point position and the pixel point 422 corresponding to the multiple historical positions can be determined according to their accuracy information. Exemplarily, when using GPS positioning, the obtained GPS positioning can carry a corresponding accuracy factor, which can be used as the accuracy information of the navigation starting point position and the historical position. The accuracy factor can be obtained by the GPS receiver based on factors such as the strength of the satellite signal, its relative position to multiple satellites, etc. In some embodiments, the grayscale of each point can be determined by the following steps: according to a linear mapping scheme from accuracy to grayscale, the accuracy of the navigation starting point position and multiple historical positions is mapped to a corresponding grayscale value; based on the grayscale value obtained by mapping, the grayscale of the corresponding multiple points is determined. The linear mapping scheme from accuracy to grayscale can map the accuracy interval to a grayscale value of 0 to 255, or to a grayscale value interval between 0 and 255, for example, to a grayscale value interval [36,216] or other grayscale value intervals. Grayscale values outside the above grayscale value intervals can be reserved for other purposes, such as the background grayscale of the accuracy channel image, the corresponding grayscale of the position that does not carry accuracy information, etc. The above precision range may include all possible precisions, or only a part of the possible precisions. For example, the above precision range may be set to [0,250], and the precision exceeding 250 is directly set to 250. Since the precision reaches a certain level, it can accurately represent the correct initial navigation position. Therefore, the higher precision can be unified with a certain precision value to save computing resources and increase the grayscale difference of the precision within the low precision range after mapping, which helps to improve the effect of image processing and improve the accuracy of the final navigation starting point road.
[0081] Alternatively, the above linear mapping scheme from precision to grayscale can be described by the following mapping function:
[0082]
[0083] Among them, acc is the accuracy value, and They are the maximum and minimum values of the precision value, for example, they can be 250 and 0 respectively (the precision value exceeding 250 can be directly set to 250). is the grayscale upper limit set. is the grayscale lower limit set, for example, the values can be 216 and 36 respectively. Optionally, if there is a position without precision information in the starting navigation position and multiple historical positions, the grayscale of the corresponding point can be set to a preset fixed grayscale value, for example, set to 255 or other values.
[0084] In addition, similar to what is described about the direction channel image, in the accuracy channel image, the pixel points corresponding to the navigation starting position and the adjacent positions in multiple historical positions can also be connected by line segments to more clearly display the movement trajectory of the navigation object.
[0085] In some embodiments, a navigation start point may be generated based on multiple roads in the vicinity of the navigation start point. Figure 4C A picture 400C of an adjacent roadway is shown.
[0086] In some embodiments, a surrounding road channel picture can be generated based on at least part of the multiple roads around the navigation starting point through the following steps: based on the positions of at least part of the multiple roads around the navigation starting point, determine the positions of multiple lines in the surrounding road channel picture corresponding to the at least part of the roads; and determine the grayscale of the corresponding multiple lines according to the driving directions of the multiple roads. Exemplarily, the positions of multiple lines in the surrounding road channel picture can be determined based on the roads in the vicinity of the navigation starting point, where each line corresponds to a road. For example, Figure 4C As shown, the roads in the vicinity of the navigation starting point position can be mapped as multiple lines 431 in the adjacent road channel picture 400C. The roads in the adjacent area can be roads within 10 meters, 20 meters, 50 meters, 100 meters, 200 meters, 300 meters or other distances from the navigation starting point position, or can be roads that fall entirely or partially within the drawing area. Exemplarily, the positions of the corresponding shape points can be determined in the surrounding road channel picture based on the positions of the shape points of at least some of the roads around the navigation starting point position, and then these shape points can be connected to determine the positions of the lines corresponding to the corresponding roads. Alternatively, the positions of the multiple lines corresponding to the roads in the surrounding road channel picture can also be determined by other means, for example, by means of the positions of preset nodes in the road, etc.
[0087] The grayscale of the lines corresponding to at least part of the multiple roads around the navigation starting point position can be determined according to the driving direction of the corresponding road. Exemplarily, the driving direction at the point on the road closest to the navigation initial position can be determined as the driving direction of the road; or, the average driving direction at the point on the road whose distance from the navigation initial position is less than a preset threshold can be determined as the driving direction of the road; and so on. In some embodiments, the grayscale of each line can be determined by the following steps: according to a linear mapping scheme from driving direction to grayscale, the formal direction of the road is mapped to a corresponding grayscale value; based on the grayscale value obtained by mapping, the grayscale of the corresponding multiple lines is determined. The linear mapping scheme from driving direction to grayscale can map the driving direction angle of 0 to 360 degrees (or, -180 to 180 degrees or other ranges) to a grayscale value of 0 to 255, or to a grayscale value interval between 0 and 255, for example, to a grayscale value interval [36,216] or other grayscale value intervals. The linear mapping scheme from driving direction to grayscale can be described by a mapping function similar to the linear mapping scheme from direction to grayscale, which will not be repeated here. However, the grayscale upper limit and grayscale lower limit in the two linear mapping schemes can be set the same or differently according to actual needs.
[0088] In some embodiments, a road map such as the following may be generated based on the candidate road and the upstream road connected to the candidate road: Figure 4D An upstream road access image 400D is shown.
[0089] In some embodiments, an upstream road channel image can be generated based on the candidate road and the upstream road connected to the candidate road by the following steps: based on the positions of at least some of the multiple roads around the navigation starting point, determine the positions of at least two lines in the upstream road channel image corresponding to the candidate road and the upstream road connected to the candidate road respectively; determine the grayscale of the line corresponding to the candidate road and the line corresponding to the upstream road to be different grayscale values. Exemplarily, the grayscale value can be determined based on the method similar to that of Figure 4C The process described above is used to determine the position of the corresponding line based on the candidate road and the corresponding upstream road. Figure 4C As shown, the candidate road can be mapped to the line marked by the dotted frame 441 in the upstream road channel picture 400C, and the upstream road can be mapped to the line marked by the dotted frame 442. The grayscales of the lines corresponding to the candidate road and the upstream road can be determined as different preset fixed values, for example, the grayscale of the line corresponding to the candidate road can be determined as 112, and the grayscale of the line corresponding to the upstream road can be determined as 45. Alternatively, the above-mentioned grayscale preset fixed values can also be set to other values.
[0090] In some embodiments, the above picture data can be generated with the navigation starting point as the center of the picture. Figures 4A-4D Each channel picture shown can use the navigation starting point as the center position of the channel picture. This helps to more comprehensively reflect the trajectory information, road information, etc. in all directions around the navigation starting point. In addition, when the image data includes multiple channel pictures, this also helps to synchronize the display areas of each channel picture. In this way, the processing efficiency and processing effect of the image data can be further improved, so as to determine the navigation starting point road faster and more accurately. Optionally, the navigation starting point position can also be set to other positions in the picture. In addition, the scales of each channel picture can be kept consistent, so as to ensure that the spatial range displayed by each channel picture remains consistent.
[0091] It should be understood that in reference Figures 4A-4D Due to the limitation of image size and scale, some roads or historical locations may not be fully drawn in the channel images described. For example, among the multiple historical locations obtained, only some of them may be reflected in the direction channel image and the accuracy channel image; in the surrounding road channel image, only some sections of one or more roads may be reflected; in the upstream road channel image, only some sections of the candidate roads or upstream roads may be reflected, or even the upstream roads may not be reflected; and so on.
[0092] Furthermore, alternatively or additionally, it is possible to use Figures 4A-4D Other forms of channel images other than the channel images described above. For example, a channel image may be generated based on at least part of the multiple roads around the navigation start location and the candidate roads to reflect the relationship between the surrounding roads and the candidate roads; a channel image may be generated based on the location and / or direction of the navigation start location and the candidate roads to reflect the relationship between the navigation start location and the candidate roads; and so on.
[0093] In some embodiments, Figure 3The step 320 shown can be implemented by the following steps: for each of at least some of the roads in the map data, determine the relevance of the road to the navigation starting point based on at least one of the distance difference and the direction difference between the road and the navigation starting point; based on the relevance, determine at least one of the at least some of the roads as an alternative road. Exemplarily, the distance between the navigation starting point and at least some of the roads in the map data can be determined, and the distance can be the shortest distance from the navigation starting point to a point on the road. And, alternatively or additionally, the direction difference between the direction of the navigation starting point and the driving direction of at least some of the roads in the map data can be determined, the driving direction of the road can refer to the driving direction at the point closest to the navigation starting point, and the direction difference can refer to the difference in the direction angles of the two. Roads with a distance less than a preset threshold and / or a direction difference less than a preset threshold can be determined as candidate roads; or, the two and other optional metrics can be combined into a single relevance value, and roads with relevance values that meet the threshold conditions can be determined as candidate roads; or, roads can be sorted according to distance and / or direction difference or according to relevance values, and a preset number of roads in the front row (i.e., with a small distance and / or small direction difference, or a high relevance) can be determined as candidate roads. Through the above steps, at least one suitable candidate road can be determined conveniently. In addition, preliminary screening of roads near the navigation starting point helps to improve the efficiency of determining the navigation starting point road.
[0094] In some embodiments, Figure 3 Step 340 shown can be implemented by the following steps: determining the probability of each candidate road being selected based on the image data; and determining the candidate road with the highest probability of being selected among at least one candidate road as the navigation starting point road. Exemplarily, the probability of the corresponding candidate road being selected can be determined based on the image data by various image data analysis means. For example, a machine learning model or other data feature analysis means can be used.
[0095] In some embodiments, the probability of selection of each candidate road can be determined based on the image data in the following manner: for each candidate road, the following steps are performed: extracting image features from the image data corresponding to the candidate road; determining a numerical pair for characterizing the probability of selection and the probability of non-selection of the candidate road based on the image features; and normalizing the numerical pair to obtain the probability of selection of the candidate road. Exemplarily, the process can be implemented by a machine learning model, or can also be implemented by other image data analysis means.
[0096] In some embodiments, the probability of selection of each alternative road can be determined based on the image data by the following steps: the image data corresponding to each alternative road is sequentially input into the navigation starting point road determination model to obtain the probability of selection of each alternative road, wherein the navigation starting point road determination model is a pre-trained machine learning model. Optionally, the machine learning model can be various existing or self-designed models, such as a general convolutional neural network model, a VGG model, a Resnet model, etc. With the help of the machine learning model, on the one hand, the relationship between the navigation starting point position, the historical position and the related roads can be learned from the spatial dimension, so as to correctly screen the alternative roads, so that the accuracy of the determined navigation starting point road is higher. On the other hand, the machine learning model can learn many complex situations that cannot be judged by many artificially defined rules and strategies, which can avoid the drawbacks of slow function optimization iteration and high policy formulation experience requirements in related technologies, effectively reduce the computational complexity, improve work efficiency, save network resources, and optimize network resource scheduling.
[0097] Exemplarily, the above machine learning model may be a convolutional neural network model. Figure 5 The convolutional neural network model 500 shown in FIG. 1 is used to determine the probability of each candidate road being selected based on the image data. Figure 5 As shown, the convolutional neural network model 500 includes three convolutional layers 502, 504, 506 and three fully connected layers 508, 509, 510. Exemplarily, the convolutional layers 502, 504 and 506 can all use a 3*3 convolution kernel, and the step size can all be 2. Each convolutional layer can be followed by a pooling layer 503, 505 or 507. Exemplarily, the pooling layers 503, 505 and 507 can all use a 2*2 pooling window. Exemplarily, the image data generated in the aforementioned step 330 can be input to the input layer 501 of the neural network model 500, wherein the input image data can include information about Figures 4A-4D The four channel images described in the invention can be pre-set to 200*200 pixels, or other channel numbers and / or pixel values can be pre-set according to specific needs. Subsequently, the input image data can be processed by the aforementioned convolutional layer, pooling layer and fully connected layer to extract features, and finally obtain two output values, which can be used to characterize the probability of selection and non-selection of the alternative roads. Finally, the two output values can be normalized, for example, by means of a softmax function, to obtain the final classification result. The classification result can include two values, namely, the probability of selection and non-selection of the alternative road. The higher the probability of selection, the more suitable the corresponding alternative road is as the navigation starting point road.
[0098] Through experiments, when determining the probability of selecting an alternative road based on image data, Figure 5 The convolutional neural network model 500 described above can well balance the relationship between accuracy and efficiency, and can achieve a faster processing speed while ensuring the desired accuracy. Therefore, the model can well meet the performance requirements of online use. However, those skilled in the art will appreciate that Figure 5 The convolutional neural network model described is only exemplary, and other types of machine learning models can actually be used to determine the probability of selection of alternative roads based on image data. Alternatively, when using a convolutional neural network model, different network structures can also be used, such as using different numbers of convolutional layers, pooling layers, and fully connected layers, or using different sizes of convolutional kernels, pooling windows, and the number of fully connected layer units, or using different numbers of channels, etc. In other words, the above-mentioned various values can be adjusted according to actual application requirements.
[0099] In some embodiments, the above-mentioned machine learning model can be pre-trained by the training method 600 shown in Figure 6 to obtain a navigation starting point road determination model.
[0100] In step 610, multiple groups of sample navigation data may be obtained, each group of sample navigation data may include sample positioning data, sample navigation starting road and sample actual starting road, and the sample positioning data may include the sample navigation starting position and map data related to the sample navigation starting position. Exemplarily, the sample navigation data may be obtained based on log data related to the navigation starting road selection process in the historical navigation. For example, the navigation history log data and the user's real trajectory may be combined to obtain multiple groups of sample navigation data, wherein the sample positioning data and the sample navigation starting road may be obtained from the navigation history log data, the sample navigation starting road may be the navigation starting road determined in the historical navigation process, and the sample actual starting road may be determined according to the user's real trajectory, and the sample actual starting road may be the starting road actually selected by the user. If the sample navigation starting road in the navigation history log data is consistent with the sample actual starting road determined by the user's real trajectory, the determined sample navigation starting road may be considered correct, otherwise it may be considered wrong. Optionally, a large amount of sample navigation data may be collected to improve the training effect.
[0101] For example, Fig. 7A and 7B Two sets of sample navigation data are schematically shown. Fig. 7AAs shown, in the sample navigation data 700A, the sample navigation starting point location 711 and the map data related to the sample navigation starting point location 711 are presented, and the sample navigation starting point road 713 and the user's actual trajectory 714 are also presented. In addition, the sample navigation data 700A also presents multiple optional sample historical locations 712, which are similar to the multiple historical locations described above. It can be seen that in the sample navigation data 700A, the sample navigation starting point road 713 and the sample actual starting point road obtained from the user's actual trajectory 714 are consistent, so the sample navigation starting point road 713 can be considered correct. Figure 7B As shown, in the sample navigation data 700B, a sample navigation starting position 721 and map data related to the sample navigation starting position 721 are presented, and a navigation starting road 723 and a sample actual starting road 724 are also presented. In addition, the sample navigation data 700B also presents a plurality of optional sample historical positions 722, which are similar to the historical positions described above. It can be seen that in the sample navigation data 700B, the sample navigation starting road 723 and the sample actual starting road obtained from the user's real trajectory 724 are inconsistent, and therefore, the sample navigation starting road 723 can be considered to be wrong.
[0102] In step 620, for each set of sample navigation data, sample image data may be generated based on the sample navigation starting point road and the sample positioning data. Figure 3 The various embodiments described in step 330 are implemented, wherein the sample navigation starting point road is used instead of the alternative road to perform the relevant steps. The generated sample image data can constitute the data set used in the model training process.
[0103] In step 630, the sample image data whose actual starting point road of the sample is the same as the sample navigation starting point road can be used as a positive sample, and the sample image data whose actual starting point road of the sample is different from the sample navigation starting point road can be used as a negative sample to train the machine learning model to maximize the accuracy of the machine learning model in determining that the input sample image data is a positive sample or a negative sample. Exemplarily, each group of sample navigation data generated can be sequentially input into the machine learning model to be trained, and then the probability of selection of the sample navigation starting point road can be determined based on the output of the machine learning model, and the probability of selection can be regarded as the probability that the corresponding sample navigation data is a positive sample. Exemplarily, the labels of the positive sample and the negative sample are set to 1 and 0 respectively, so that the accuracy of the machine learning model can be measured by comparing the difference between the probability of selection obtained based on the output of the machine learning model and the label. Exemplarily, a loss function can be constructed based on the difference between the probability of selection obtained based on the output of the machine learning model and the label, and various model parameters can be adjusted during the training process to minimize the loss function.
[0104] In some embodiments, the data set consisting of sample image data can be split, and 70% of the sample image data is randomly selected as a training data set, 10% as a verification data set, and 20% as a test data set. The training data set can be used to train the model, the verification data set can be used to verify whether the model has completed the training, and the test data set can be used to test the model effect. Thus, through the training, verification and testing process, the training effect of the model can be effectively guaranteed, so that the trained model can be reliably and accurately used to determine the navigation starting point road. Optionally, the data set can also be split according to other proportions.
[0105] Figure 8 An example block diagram of a navigation device 800 according to some embodiments of the present disclosure is schematically shown. Figure 8 As shown, the navigation device 800 includes an acquisition module 810, a first determination module 820, a generation module 830, and a second determination module 840. Exemplarily, the navigation device 1000 may be deployed in Figure 1 The computing device 110, the server 130, or a combination of both are shown.
[0106] Specifically, the acquisition module 810 can be configured to acquire positioning data, the positioning data including the navigation starting point position and map data related to the navigation starting point position; the first determination module 820 can be configured to determine at least one alternative road from the map data based on the navigation starting point position; the generation module 830 can be configured to generate image data for each alternative road based on the positioning data; the second determination module 840 can be configured to determine the navigation starting point road from at least one alternative road based on the image data.
[0107] It should be understood that the navigation device 800 can be implemented in software, hardware or a combination of software and hardware. Multiple different modules can be implemented in the same software or hardware structure, or one module can be implemented by multiple different software or hardware structures.
[0108] In addition, the navigation device 800 can be used to implement the navigation method 300 described above, and the relevant details have been described in detail above, and will not be repeated here for the sake of brevity. The navigation device 800 can have the same features and advantages as described in relation to the above method.
[0109] Fig. 9 An example block diagram of a computing device 900 according to some embodiments of the present disclosure is schematically shown. Figure 1 The computing device 110 or the server 130 in the embodiment, or other computing devices that can be used to deploy the navigation device 800 provided by the present disclosure.
[0110] As shown, the example computing device 900 includes a processing system 901, one or more computer-readable media 902, and one or more I / O interfaces 903 that are communicatively coupled to each other. Although not shown, the computing device 900 may also include a system bus or other data and command transmission system that couples the various components to each other. The system bus may include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus utilizing any of a variety of bus architectures, or may also include such as control and data lines.
[0111] Processing system 901 represents the functionality of performing one or more operations using hardware. Therefore, processing system 901 is illustrated as including hardware elements 904 that can be configured as processors, functional blocks, etc. This can include implementing a dedicated integrated circuit in hardware or other logic devices formed using one or more semiconductors. Hardware element 904 is not limited by the materials from which it is formed or the processing mechanism used therein. For example, a processor can be composed of (multiple) semiconductors and / or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor executable instructions can be electronic executable instructions.
[0112] The computer-readable medium 902 is illustrated as including a memory / storage device 905. The memory / storage device 905 represents a memory / storage device associated with one or more computer-readable media. The memory / storage device 905 may include volatile storage media (such as random access memory (RAM)) and / or non-volatile storage media (such as read-only memory (ROM), flash memory, optical disk, magnetic disk, etc.). The memory / storage device 905 may include fixed media (e.g., RAM, ROM, fixed hard drive, etc.) and removable media (e.g., flash memory, removable hard drive, optical disk, etc.). Exemplarily, the memory / storage device 905 may be used to store various map data, navigation data, etc. mentioned in the above embodiments. The computer-readable medium 902 may be configured in various other ways as further described below.
[0113] One or more input / output interfaces 903 represent functions that allow a user to enter commands and information into the computing device 900 and also allow the information to be presented to the user and / or sent to other components or devices using various input / output devices. Examples of input devices include keyboards, cursor control devices (e.g., mice), microphones (e.g., for voice input), scanners, touch functions (e.g., capacitive or other sensors configured to detect physical touch), cameras (e.g., visible or invisible wavelengths (such as infrared frequencies) can be used to detect motion that does not involve touch as gestures), network cards, receivers, and the like. Examples of output devices include display devices, speakers, printers, tactile response devices, network cards, transmitters, and the like. Exemplarily, in the embodiments described above, the input devices can allow the user to perform various interactive operations, such as starting a navigation application, entering a navigation start and / or end location, and the output devices can allow the user to view a navigation route, and the like.
[0114] The computing device 900 also includes a navigation application 906. The navigation application 906 can be stored as computer program instructions in the memory / storage device 905. The navigation application 906 can be implemented in conjunction with the processing system 901 and the like. Figure 8 The entire functions of each module of the navigation device 800 are described.
[0115] Various techniques may be described herein in the general context of software, hardware, elements, or program modules. Typically, these modules include routines, programs, objects, elements, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The terms "module," "function," etc., as used herein, generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that these techniques can be implemented on a variety of computing platforms with a variety of processors.
[0116] An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. Computer-readable media may include various media accessible by computing device 900. By way of example and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media”.
[0117] As opposed to a simple signal transmission, carrier wave, or signal itself, "computer-readable storage medium" refers to a medium and / or device capable of persistently storing information, and / or a tangible storage device. Therefore, computer-readable storage media refers to non-signal-bearing media. Computer-readable storage media include hardware such as volatile and non-volatile, removable and non-removable media and / or storage devices implemented in a method or technology suitable for storing information (such as computer-readable instructions, data structures, program modules, logic elements / circuits, or other data). Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage device, hard disk, cassette, magnetic tape, magnetic disk storage device or other magnetic storage device, or other storage device, tangible medium, or article of manufacture suitable for storing the desired information and accessible by a computer.
[0118] "Computer readable signal media" refers to signal bearing media that is configured to send instructions to the hardware of the computing device 900, such as via a network. Signal media typically can embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, data signal, or other transmission mechanism. Signal media also includes any information transfer media. By way of example and not limitation, signal media include wired media such as a wired network or direct connection and wireless media such as acoustic, RF, infrared, and other wireless media.
[0119] As previously described, hardware elements 901 and computer-readable media 902 represent instructions, modules, programmable device logic, and / or fixed device logic implemented in hardware form, which in some embodiments can be used to implement at least some aspects of the technology described herein. Hardware elements may include integrated circuits or systems on a chip, application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and other implementations in silicon or components of other hardware devices. In this context, hardware elements can be used as processing devices that perform program tasks defined by instructions, modules, and / or logic embodied by hardware elements, as well as hardware devices for storing instructions for execution, such as the computer-readable storage media described previously.
[0120] The aforementioned combination may also be used to implement various techniques and modules described herein. Therefore, software, hardware or program modules and other program modules may be implemented as one or more instructions and / or logic embodied on some form of computer-readable storage medium and / or by one or more hardware elements 901. Computing device 900 may be configured to implement specific instructions and / or functions corresponding to software and / or hardware modules. Therefore, for example, by using a computer-readable storage medium and / or hardware element 901 of a processing system, a module may be implemented as a module executable by computing device 900 as software, at least in part, in hardware. Instructions and / or functions may be executed / operable by, for example, one or more computing devices 900 and / or processing system 901 to implement the techniques, modules and examples described herein.
[0121] The techniques described herein may be supported by these various configurations of computing device 900 and are not limited to the specific examples of the techniques described herein.
[0122] It should be understood that, for the sake of clarity, embodiments of the present disclosure are described with reference to different functional units. However, it will be apparent that, without departing from the present disclosure, the functionality of each functional unit can be implemented in a single unit, in multiple units, or as a part of other functional units. For example, the functionality that is described as being performed by a single unit can be performed by multiple different units. Therefore, reference to a specific functional unit is only considered as a reference to a suitable unit for providing the described functionality, rather than indicating a strict logical or physical structure or organization. Therefore, the present disclosure can be implemented in a single unit, or can be physically and functionally distributed between different units and circuits.
[0123] The present disclosure provides a computer-readable storage medium on which computer-readable instructions are stored. When the computer-readable instructions are executed, the above-mentioned navigation method is implemented.
[0124] The present disclosure provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computing device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computing device executes the navigation method provided in the above various embodiments.
[0125] Variations to the disclosed embodiments will be understood and effected by those skilled in the art in practicing the claimed subject matter by studying the drawings, the disclosure and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and "a" or "an" does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
[0126] It is understood that in the specific implementation of the present disclosure, the user's navigation positioning data, navigation history log data, etc. are involved. When the embodiments of the present disclosure involving such data are applied to specific products or technologies, the user's permission or consent is required, and the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
Claims
1. A navigation method, comprising: Acquire positioning data, the positioning data including a navigation starting point location, map data related to the navigation starting point location, and multiple historical locations of navigation objects related to the navigation starting point location; Based on the navigation starting point position, determining at least one candidate road from the map data; For each candidate road, generating image data based on the positioning data; Based on the image data, determining a navigation starting point road from the at least one candidate road, Generating the image data based on the positioning data comprises at least one of the following steps: Generate a direction channel picture based on the navigation starting point position and the direction information of the multiple historical positions; Generate a precision channel picture based on the precision information of the navigation starting point position and the multiple historical positions; Based on a plurality of roads in a neighborhood of the navigation starting point, generating a neighboring road channel picture; Based on the candidate road and the upstream road connected to the candidate road, an upstream road channel picture is generated.
2. The navigation method according to claim 1, wherein: The image data includes at least one of the following: direction information of the navigation starting point, accuracy information of the navigation starting point, road information in the vicinity of the navigation starting point, and information of an upstream road connected to the alternative road.
3. The navigation method according to claim 1, wherein: The generating a direction channel picture based on the direction information of the navigation starting point position and the plurality of historical positions comprises: Based on the navigation starting point position and the multiple historical positions, determining positions of multiple points in the direction channel picture corresponding to the navigation starting point position and the multiple historical positions respectively; The grayscales of the corresponding multiple points are determined according to the navigation starting point position and the direction information of the multiple historical positions.
4. The navigation method according to claim 3, wherein: Determining the grayscales of the corresponding multiple points according to the navigation starting point position and the direction information of the multiple historical positions includes: According to a linear mapping scheme from direction to grayscale, mapping the directions of the navigation starting point position and the multiple historical positions into corresponding grayscale values; Based on the grayscale values obtained by mapping, the grayscales of the corresponding multiple points are determined.
5. The navigation method according to claim 1, wherein: The generating of the precision channel picture based on the precision information of the navigation starting point position and the plurality of historical positions includes: Based on the navigation starting point position and the multiple historical positions, determine the positions of multiple points in the precision channel image that correspond to the navigation starting point position and the multiple historical positions respectively; The grayscales of the corresponding multiple points are determined according to the accuracy information of the navigation starting point position and the multiple historical positions.
6. The navigation method according to claim 5, wherein: Determining the grayscale of the plurality of points according to the accuracy information of the navigation starting point position and the plurality of historical positions includes: According to a linear mapping scheme from precision to grayscale, mapping the precisions of the navigation starting point position and the plurality of historical positions into corresponding grayscale values; Based on the grayscale values obtained by mapping, the grayscales of the corresponding multiple points are determined.
7. The navigation method according to claim 1, wherein: The generating of the adjacent road channel picture based on the plurality of roads in the adjacent area of the navigation starting point position comprises: Based on the positions of at least some of the multiple roads in the vicinity of the navigation starting point position, determine the positions of a plurality of lines corresponding to the at least some of the roads in the adjacent road channel picture; According to the driving directions of the plurality of roads, the grayscales of the corresponding plurality of lines are determined.
8. The navigation method according to claim 1, wherein: The generating of the upstream road channel picture based on the candidate road and the upstream road connected to the candidate road comprises: Based on the positions of the candidate road and the upstream road connected to the candidate road, determine the positions of at least two lines in the upstream road channel picture corresponding to the candidate road and the upstream road connected to the candidate road, respectively; The grayscales of the line corresponding to the candidate road and the line corresponding to the upstream road are determined to be different grayscale values.
9. The navigation method according to claim 2, wherein: The generating of the image data based on the positioning data comprises: The image data is generated by taking the navigation starting point position as the center position of the image.
10. The navigation method according to claim 1, wherein: The determining at least one candidate road from the map data based on the navigation starting point position comprises: For each road of at least some of the roads in the map data, determining a correlation between the road and the navigation starting point based on at least one of a distance difference and a direction difference between the road and the navigation starting point; At least one road among the at least part of the roads is determined as a candidate road based on the correlation.
11. The navigation method according to claim 1, wherein: The determining of the navigation starting point road from the at least one candidate road based on the image data comprises: Based on the image data, determining the probability of each candidate road being selected; Among the at least one candidate road, the candidate road with the highest probability of being selected is determined as the navigation starting point road.
12. The navigation method according to claim 11, wherein: Determining the probability of each candidate road being selected based on the image data includes: For each alternative road, perform the following steps: Extracting image features from the image data corresponding to the candidate road; Based on the image features, determining a numerical value pair for representing a probability of selection and a probability of non-selection of the candidate road; The value pair is normalized to obtain the probability of selection of the candidate road.
13. The navigation method according to claim 11, wherein: Determining the probability of each candidate road being selected based on the image data includes: The image data corresponding to each alternative road is sequentially input into the navigation starting point road determination model to obtain the selection probability of each alternative road, wherein the navigation starting point road determination model is a pre-trained machine learning model.
14. The navigation method according to claim 13, wherein: The navigation starting point road determination model is trained by the following steps: Acquire multiple groups of sample navigation data, each group of sample navigation data includes sample positioning data, a sample navigation starting road and a sample actual starting road, the sample positioning data includes the sample navigation starting position and map data related to the sample navigation starting position; For each set of sample navigation data, sample image data is generated based on the sample navigation starting point road and sample positioning data; The sample image data whose actual starting road of the sample is the same as the sample navigation starting road is taken as a positive sample, and the sample image data whose actual starting road of the sample is different from the sample navigation starting road is taken as a negative sample, and the machine learning model is trained to maximize the accuracy of the machine learning model in determining whether the input sample image data is a positive sample or a negative sample.
15. A navigation device, comprising: an acquisition module configured to acquire positioning data, wherein the positioning data includes a navigation starting point position, map data related to the navigation starting point position, and multiple historical positions of navigation objects related to the navigation starting point position; A first determination module is configured to determine at least one candidate road from the map data based on the navigation starting point position; The generating module is configured to generate image data for each candidate road based on the positioning data, wherein the generating image data based on the positioning data comprises at least one of the following steps: generating a direction channel image based on the direction information of the navigation starting point position and the multiple historical positions; generating a precision channel image based on the precision information of the navigation starting point position and the multiple historical positions; generating a neighboring road channel image based on multiple roads in the neighboring area of the navigation starting point position; Generate an upstream road channel picture based on the candidate road and the upstream road connected to the candidate road; The second determination module is configured to determine a navigation starting point road from the at least one candidate road based on the image data.
16. A computing device comprising: a memory configured to store computer-executable instructions; A processor configured to perform the method according to any one of claims 1 to 14 when the computer executable instructions are executed by the processor. 17 . A computer-readable storage medium storing computer-executable instructions, which, when executed, perform the method according to claim 1 .
18. A computer program product comprising computer instructions, which when executed by a processor implement the steps of the method of any one of claims 1 to 14.
Citation Information
Patent Citations
Method and device for determining starting point position
CN110830915A
Road matching method and device, electronic equipment and storage medium
CN111435088A