Positioning method, model training method, device and storage medium
Patent Information
- Application Number
- CN202210253032.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-15
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2042-03-15
AI Technical Summary
[0005]有鉴于此,本发明实施例提供一种定位方法、模型训练方法、装置和存储介质,以解决或缓解上述问题
[0011] In the embodiment of the present invention, the satellite sky map of the positioning candidate point reflects the visibility of the positioning satellite to the positioning candidate point, and the building occlusion map of the positioning candidate point reflects the degree of occlusion of the positioning satellite by the surrounding buildings. Therefore, based on the input satellite sky map and building occlusion map, the positioning accuracy weight of the positioning candidate point can be accurately predicted by the positioning weight prediction model, thereby improving the positioning stability based on the positioning accuracy weight of the positioning candidate point.
Smart Images

Figure CN114646986B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of positioning technology, and in particular to a positioning method, a model training method, an apparatus, and a storage medium. Background Technology
[0002] In services such as electronic maps, positioning is the foundation for enabling location-related services or businesses. Among these, positioning technology based on the Global Navigation Satellite System (GNSS) is the most common and widely used.
[0003] However, in urban environments, there are problems such as multipath transmission and non-light-of-sight (NLOS) satellites. Therefore, the location of the object to be located obtained based on GNSS positioning technology is prone to inconsistency with the actual location of the object in the real world.
[0004] To address the aforementioned issues and improve positioning accuracy (higher accuracy means a smaller discrepancy between the predicted and actual locations), a shadow-matching-assisted GNSS positioning method has been proposed. This method uses a 3D city model to predict satellite visibility. Then, it scores candidate positioning points based on the consistency between the predicted and actual observed satellite visibility. Finally, weighted positioning is performed based on the scores of the candidate points. While this method improves the positioning accuracy of GNSS positioning results to some extent, there is still room for optimization and improvement. Summary of the Invention
[0005] In view of this, embodiments of the present invention provide a localization method, a model training method, an apparatus, and a storage medium to solve or alleviate the above-mentioned problems.
[0006] According to a first aspect of the present invention, a positioning method is provided, comprising: acquiring two or more candidate positioning points corresponding to the same positioning point; determining a satellite constellation map corresponding to each candidate positioning point, the satellite constellation map being used to indicate the visibility of the candidate positioning point to a positioning satellite; determining a building occlusion map for each candidate positioning point, the building occlusion map being used to indicate the degree of occlusion of the positioning satellite by buildings surrounding the candidate positioning point; inputting the satellite constellation map and the building occlusion map of the candidate positioning point into a pre-trained positioning weight prediction model, the model predicting the positioning accuracy weight of the candidate positioning point; and obtaining the positioning location of the positioning point based on the positioning accuracy weights of all candidate positioning points.
[0007] According to a second aspect of the present invention, a model training method is provided, comprising: acquiring training samples, the training samples including training positioning points, a plurality of positioning candidate points corresponding to the training positioning points, and ground truth positioning points; generating a satellite star map and a building occlusion map for each positioning candidate point, the satellite star map indicating the visibility of each positioning satellite to the corresponding positioning candidate point, and the building occlusion map indicating the occlusion relationship of surrounding buildings of the corresponding positioning candidate point to each positioning satellite; training a positioning weight prediction model using the satellite star map and building occlusion map of each positioning candidate point as input, and using the similarity between the three-dimensional image information of the corresponding positioning candidate point and the three-dimensional image information of the ground truth positioning point as output, wherein the three-dimensional image information of the corresponding positioning candidate point is determined by combining the satellite star map and building occlusion map of the corresponding positioning candidate point.
[0008] According to a third aspect of the present invention, a positioning device is provided, comprising: an acquisition module for acquiring two or more candidate positioning points corresponding to the same positioning point; a first determination module for determining a satellite constellation map corresponding to each candidate positioning point, the satellite constellation map indicating the visibility of the candidate positioning point to a positioning satellite; a second determination module for determining a building occlusion map of each candidate positioning point, the building occlusion map indicating the degree of occlusion of the candidate positioning point to the positioning satellite by buildings surrounding the candidate positioning point; a prediction module for inputting the satellite constellation map and the building occlusion map of the candidate positioning point into a pre-trained positioning weight prediction model, the model predicting the positioning accuracy weight of the candidate positioning point; and a positioning module for obtaining the positioning location of the candidate positioning point based on the positioning accuracy weights of all candidate positioning points.
[0009] According to a fourth aspect of the present invention, a model training apparatus is provided, comprising: an acquisition module for acquiring training samples, the training samples including training positioning points, a plurality of positioning candidate points corresponding to the training positioning points, and ground truth positioning points; a generation module for generating a satellite constellation map and a building occlusion map for each positioning candidate point, the satellite constellation map indicating the visibility of each positioning satellite to the corresponding positioning candidate point, and the building occlusion map indicating the occlusion relationship of surrounding buildings of the corresponding positioning candidate point to each positioning satellite; and a training module for training a positioning weight prediction model by taking the satellite constellation map and the building occlusion map of each positioning candidate point as input and taking the similarity between the three-dimensional image information of the corresponding positioning candidate point and the three-dimensional image information of the ground truth positioning point as output, wherein the three-dimensional image information of the corresponding positioning candidate point is determined by combining the satellite constellation map and the building occlusion map of the corresponding positioning candidate point.
[0010] According to a fifth aspect of the present invention, a storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method as described in the first or second aspect.
[0011] In the embodiment of the present invention, the satellite sky map of the positioning candidate point reflects the visibility of the positioning satellite to the positioning candidate point, and the building occlusion map of the positioning candidate point reflects the degree of occlusion of the positioning satellite by the surrounding buildings. Therefore, based on the input satellite sky map and building occlusion map, the positioning accuracy weight of the positioning candidate point can be accurately predicted by the positioning weight prediction model, thereby improving the positioning stability based on the positioning accuracy weight of the positioning candidate point. Attached Figure Description
[0012] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings.
[0013] Figure 1 This is a schematic flowchart illustrating a positioning method according to an embodiment of the present invention.
[0014] Figure 2 A schematic flowchart illustrating the positioning weight prediction model algorithm of another embodiment of the present invention;
[0015] Figure 3 A schematic flowchart illustrating a model training method according to another embodiment of the present invention;
[0016] Figure 4 This is a schematic block diagram of a positioning device according to another embodiment of the present invention;
[0017] Figure 5 A schematic block diagram of a model training apparatus according to another embodiment of the present invention; and
[0018] Figure 6 The hardware structure of an electronic device is shown in another embodiment of the present invention. Detailed Implementation
[0019] To enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art should fall within the protection scope of the present invention.
[0020] The specific implementation of the embodiments of the present invention will be further described below with reference to the accompanying drawings.
[0021] Figure 1 This is a schematic flowchart illustrating a localization method according to an embodiment of the present invention. The solution of this embodiment can be applied to any suitable electronic device with data processing capabilities, including but not limited to: mobile terminals such as mobile phones and in-vehicle systems, desktop computers, servers, etc. For example, in the model training phase, a computing device (e.g., a data center) configured with a CPU (processor unit) + GPU (acceleration unit) architecture can be used to train the encoder-decoder model based on training samples. The computing device, such as a data center, can be deployed in a cloud server such as a private cloud, a hybrid cloud, or a dedicated cloud. Correspondingly, in the inference phase, a computing device configured with a CPU (processor unit) + GPU (acceleration unit) architecture can also be used for inference operations.
[0022] The positioning method in this embodiment includes:
[0023] S110: Obtain two or more candidate positioning points corresponding to the same positioning point.
[0024] It should be understood that multiple candidate positioning points can be determined based on a current positioning point. The positioning point can be a point in real-time positioning or a current positioning point obtained from a Global Navigation Satellite System (GNSS) satellite. Multiple candidate positioning points can be determined randomly based on the current positioning point, or they can be determined in a non-random manner; for example, multiple candidate positioning points can be determined with a certain radius centered on the current positioning point.
[0025] S120: Determine the satellite sky map corresponding to each positioning candidate point. The satellite sky map is used to indicate the visibility of the positioning satellite to the positioning candidate point.
[0026] It should be understood that satellite star charts can be based on multiple Global Positioning System (GPS) satellites, or they can be based on satellites from other Global Navigation Satellite Systems (GNSS). The satellite star chart corresponding to a positioning candidate point can reflect the position of at least one positioning satellite.
[0027] S130: Determine the building occlusion map for each positioning candidate point. The building occlusion map is used to indicate the degree of occlusion of positioning satellites by buildings around the positioning candidate point.
[0028] It should be understood that the building occlusion map can be determined based on a two-dimensional city model or a three-dimensional city model, and this embodiment does not limit it. The building occlusion map of the positioning candidate point reflects the degree of occlusion of the positioning satellite by the buildings around the positioning candidate point. In one example, the greater the degree of occlusion, the smaller the number of positioning satellites in the occlusion map or the lower the clarity of the positioning satellite positions. Conversely, the smaller the degree of occlusion, the more positioning satellites in the occlusion map or the higher the clarity of the positioning satellite positions.
[0029] S140: Input the satellite sky map and building occlusion map of the positioning candidate points into the pre-trained positioning weight prediction model, and the model predicts the positioning accuracy weights of the positioning candidate points.
[0030] It should be understood that the location weight prediction model can be trained using either a Convolutional Neural Network (CNN) or a Long Short-Term Memory (LSTM) network. Based on satellite imagery and building occlusion maps, the location weight prediction model establishes a correlation between candidate locations and the current location; in other words, the closer the candidate locations are to the current location, the more similar the satellite imagery and building occlusion maps are.
[0031] S150: Based on the positioning accuracy weights of all positioning candidate points, the positioning position of the positioning point is obtained.
[0032] It should be understood that the location of a point can be obtained by weighting the positions of all candidate points based on the positioning accuracy weight.
[0033] In the embodiment of the present invention, the satellite sky map of the positioning candidate point reflects the visibility of the positioning satellite to the positioning candidate point, and the building occlusion map of the positioning candidate point reflects the degree of occlusion of the positioning satellite by the surrounding buildings. Therefore, based on the input satellite sky map and building occlusion map, the positioning accuracy weight of the positioning candidate point can be accurately predicted by the positioning weight prediction model, thereby improving the positioning stability based on the positioning accuracy weight of the positioning candidate point.
[0034] Figure 2 This is a schematic flowchart illustrating the positioning weight prediction model algorithm of another embodiment of the present invention. Figure 2 As shown, this scheme generates a star map and building occlusion map for each candidate point using a quasi-3D (also known as 2.5D) city model and satellite observation data. A CNN network is then used to score these maps, and finally, a weighted localization algorithm is used to obtain the final result. The main flow of the algorithm is as follows:
[0035] During the training phase, for each training point, a set of multiple random location candidate points can be randomly generated around it (e.g., 20 random location candidate points). For each random location candidate point, three channels of model input data are obtained: the first channel, the second channel, and the third channel. Specifically, the first channel is used to input the building occlusion map of the candidate point. The second channel is used to input the satellite star map of the candidate point, where each point in the satellite star map represents a satellite, and the signal-to-noise ratio (SNR) can be represented by color or grayscale value. The third channel is used to input the satellite star map of the candidate point, where each point in the satellite star map represents a satellite, and the color represents the inter-satellite single difference of the pseudorange residual, or the inter-satellite single difference can be represented by grayscale value.
[0036] In another example, a fourth channel of model input data may also be included, such as the channel for the satellite's elevation angle.
[0037] Furthermore, the true score of the candidate point is calculated by the matrix similarity between the algorithm input of the candidate point and the algorithm input of the true point, as shown in the following formula:
[0038]
[0039] Where c represents the building occlusion map and satellite sky map of the sample point, and T represents the ground truth point.
[0040] It should be understood that for each randomly located candidate point, the similarity between the 3D image obtained from the current candidate point and the 3D image of the ground point can be calculated and used as the ground value for model training.
[0041] Furthermore, network models such as CNNs can be built and trained. Considering that the score of each sample point is related to the signal quality of the satellite but not to the satellite's position, this embodiment of the invention can use a multi-layer convolutional neural network to learn from the sample input and regress to obtain the score of each sample point. The number of model layers can be adjusted modularly.
[0042] During the testing phase, an online-trained CNN model can be used to predict the 3D image generated for each localization candidate point, obtain a score for each candidate point, and then perform weighted localization.
[0043] Furthermore, based on an end-to-end design, the algorithm can directly output the score of each candidate point based on the input building edge and star map information.
[0044] In other examples, determining the building occlusion map for each positioning candidate point includes: determining the height of the surrounding buildings based on the number of floors and preset floor height information of the surrounding buildings for each positioning candidate point; determining the distance between each positioning candidate point and the surrounding buildings based on the location information of the surrounding buildings; determining the elevation angle information of the surrounding buildings based on the height and distance of the surrounding buildings, the elevation angle information indicating the degree of occlusion between the surrounding buildings and the positioning satellite; and determining the building occlusion map for each positioning candidate point based on the elevation angle information of the surrounding buildings.
[0045] The information on the number of floors of surrounding buildings and the preset floor height not only accurately reflects the height of the buildings, but also facilitates the rapid estimation of building height, improving the efficiency and universality of the algorithm. In other words, using such an algorithm allows for efficient and rapid configuration, avoiding dependence on algorithms based on 3D urban building data. This is because the information on the number of floors of surrounding buildings and the preset floor height blurs the boundary information of buildings to some extent, accurately reflecting the height of buildings while reducing the accuracy requirements for building height and improving data processing efficiency.
[0046] Furthermore, in the positioning method of this embodiment, pre-made urban building model data can also be acquired, which includes the location information and floor number information of each building. Then, based on the location information of the positioning candidate point, the floor number information and location information of the surrounding buildings of the positioning candidate point are determined from the urban building model data.
[0047] Specifically, a 2.5D model of the urban area can be built to calculate building occlusion maps. At each candidate location point, for each angle, the distance L from the candidate point to the building is calculated, and the building height H is approximated using the number of floors multiplied by the floor height. Finally, arctan(L, H) is calculated. This gives the building edge elevation angle at the current location and angle.
[0048] For example, the above process can be repeated 360 times (i.e., with an angle step of 1 degree), and the building edge elevation angle of each angle within the obtained 360-degree range can be plotted on a polar coordinate graph to obtain the final building occlusion map.
[0049] In other examples, determining the satellite sky map for each candidate positioning point includes: determining the visibility and position information of each positioning satellite based on each candidate positioning point; and determining the satellite sky map for each candidate positioning point based on the visibility and satellite position information. Since visibility and position information can accurately reflect the positional characteristics of the candidate positioning point, determining the satellite sky map for that candidate positioning point based on visibility and satellite position information helps improve the reliability of the satellite sky map.
[0050] In one example, the visibility information of each positioning satellite is determined based on each positioning candidate point, including: receiving the positioning signals of each positioning satellite through the positioning device located at each positioning candidate point, and obtaining the signal-to-noise ratio information of each positioning satellite; and determining the visibility information of each positioning satellite based on the signal-to-noise ratio information of each positioning satellite.
[0051] Since different positioning devices often receive signals from positioning satellites with different signal-to-noise ratio (SNR) distributions, defining the SNR information of each satellite in a group of positioning satellites as the visibility information of that group avoids issues such as model fitting to specific SNR values and threshold settings, thus enabling the algorithm to have higher generalization ability. In other words, it improves the stability and robustness of the algorithm, allowing the trained prediction model to still perform accurate inferences in scenarios with different positioning satellite distributions.
[0052] In another example, based on each positioning candidate point, the visibility information of each positioning satellite is determined, including: based on each positioning candidate point, determining the pseudorange residual of each positioning satellite, the pseudorange residual indicating the difference between the satellite pseudorange and the satellite-to-ground distance of the positioning satellite; determining the inter-satellite single difference of the pseudorange residual of each positioning satellite; and determining the visibility information of each positioning satellite based on the corresponding inter-satellite single difference.
[0053] Specifically, the inter-satellite single difference of the satellite's signal-to-noise ratio and pseudorange residual can be plotted on the satellite sky map in polar coordinates. For example, the satellite's position on the satellite sky map can be determined based on the satellite's elevation angle and azimuth angle, and the satellite's signal value can be represented by color or grayscale to obtain the satellite sky map.
[0054] For example, the signals from two satellites often arrive at the receiver almost identically after being affected by atmospheric delay. Therefore, the effects of ionospheric and tropospheric delays are weakened, and the inter-satellite single difference can eliminate the receiver clock error. Thus, based on the inter-satellite single difference corresponding to each positioning satellite, the visibility information of each positioning satellite can be determined, so that the visibility information can more accurately indicate the position characteristics.
[0055] More specifically, the pseudorange residual of a positioning satellite is obtained by subtracting the observed pseudorange of the positioning satellite from the satellite-to-ground distance measured at the positioning point. The calculation formula is as follows:
[0056] Δρ=ρ cal -ρ signal =r+dtr-dts+I+T-ρ signal
[0057] Where signal represents the pseudorange measured by the signal, r represents the satellite-to-ground distance calculated from the current positioning candidate point, dtr and dts represent the pseudorange error caused by the clock bias of the receiver and the positioning satellite, respectively, and I and T represent the ionospheric and tropospheric delays.
[0058] More specifically, determining the inter-satellite single difference of the pseudorange residuals of each positioning satellite includes: determining the reference satellite among the positioning satellites based on the elevation angle information and signal-to-noise ratio information of each positioning satellite; and determining the inter-satellite single difference of each positioning satellite based on the difference between the pseudorange residuals of each positioning satellite and the pseudorange residuals of the reference satellite.
[0059] Since the reference satellite among the various positioning satellites is determined based on the elevation angle and signal-to-noise ratio information of each positioning satellite, the position accuracy of the reference satellite is improved. Therefore, based on the difference between the pseudorange residual of each positioning satellite and the pseudorange residual of the reference satellite, the inter-satellite single difference of each positioning satellite is determined, which improves the accuracy of the inter-satellite single difference.
[0060] In other examples, determining the satellite sky map corresponding to each positioning candidate point includes: obtaining a first correspondence between the position and signal-to-noise ratio information of each positioning satellite, and a second correspondence between the position and inter-satellite single difference information of each positioning satellite; and determining a first satellite sky map and a second satellite sky map based on the first correspondence and the second correspondence, respectively.
[0061] Furthermore, the satellite constellation image and building occlusion image of the candidate positioning points are input into a pre-trained positioning weight prediction model. This includes: based on the coordinate system of the candidate positioning points, combining the matrix indicating the first satellite constellation image, the matrix indicating the second satellite constellation image, and the matrix indicating the building occlusion image to obtain a combined matrix; and inputting the combined matrix into the pre-trained positioning weight prediction model. Inputting the combined matrix into the pre-trained positioning weight prediction model for prediction improves the data processing efficiency in the prediction process.
[0062] In one example, the score for each location candidate point is based on the building occlusion map and the reasonableness of the actual received signal. Specifically, in areas with building occlusion, the GNSS signal-to-noise ratio is relatively low, and the pseudorange residual of the satellite will increase accordingly.
[0063] The number of channels for the building occlusion map, satellite signal-to-noise ratio map, and inter-satellite single-difference map can be arbitrary. As an example, the number of channels in the combination matrix of the input feature map is 114*114*3, which corresponds to the 114*114 building occlusion map, the 114*114 satellite signal-to-noise ratio map, and the 114*114 inter-satellite single-difference map of satellite pseudorange residuals, respectively.
[0064] The building occlusion map, satellite signal-to-noise ratio map, and inter-satellite single difference map corresponding to the three channels are respectively input into the pre-trained positioning weight prediction model for prediction, so as to obtain the positioning accuracy weight of the positioning candidate point.
[0065] Furthermore, the accuracy weights of the candidate locations can indicate the confidence level of their positions. By weighting the positions of multiple candidate locations, the final location can be obtained. The accuracy of the obtained location is highly reliable because the location weight prediction model undergoes supervised training during its training process. The label for this supervised training is the similarity between the real and candidate locations used as training samples. This similarity also reflects the confidence level of the candidate locations in representing the real locations.
[0066] The following is combined Figure 3 The flowchart provides a detailed explanation of the training method for the positioning weight prediction model.
[0067] Figure 3 This is a schematic flowchart illustrating a model training method according to another embodiment of the present invention. The solution of this embodiment can be applied to any suitable electronic device with data processing capabilities, including but not limited to: servers, mobile terminals (such as mobile phones, tablets, etc.), and PCs. For example, during the model training phase, a computing device (e.g., a data center) configured with a CPU (processor unit) + GPU (acceleration unit) architecture can be used to train the encoder-decoder model based on training samples. The computing device, such as a data center, can be deployed in cloud servers such as dedicated clouds, private clouds, or hybrid clouds. Figure 3 Model training methods include:
[0068] S310: Obtain training samples, which include training localization points, multiple candidate localization points corresponding to the training localization points, and ground truth localization points.
[0069] S320: For each positioning candidate point, generate a satellite sky map and a building occlusion map. The satellite sky map indicates the visibility of each positioning satellite to the corresponding positioning candidate point, and the building occlusion map indicates the occlusion relationship of the surrounding buildings of the corresponding positioning candidate point to each positioning satellite.
[0070] S330: The positioning weight prediction model is trained by taking the satellite star map and building occlusion map of each positioning candidate point as input and the similarity between the 3D image information of the corresponding positioning candidate point and the 3D image information of the ground truth positioning point as output. The 3D image information of the corresponding positioning candidate point is determined by combining the satellite star map and building occlusion map of the corresponding positioning candidate point.
[0071] In the embodiment of the present invention, the satellite sky map of the positioning candidate point reflects the visibility of the positioning satellite to the positioning candidate point, and the building occlusion map of the positioning candidate point reflects the degree of occlusion of the positioning satellite by the surrounding buildings. Therefore, based on the input satellite sky map and building occlusion map, the positioning accuracy weight of the positioning candidate point can be accurately predicted by the positioning weight prediction model, thereby improving the positioning stability based on the positioning accuracy weight of the positioning candidate point.
[0072] Figure 4 This is a schematic block diagram of a positioning device according to another embodiment of the present invention. Figure 4 positioning device and Figure 1 The corresponding positioning methods include:
[0073] The acquisition module 410 acquires two or more candidate positioning points corresponding to the same positioning point.
[0074] The first determining module 420 determines the satellite sky map corresponding to each positioning candidate point, and the satellite sky map is used to indicate the visibility of the positioning satellite to the positioning candidate point.
[0075] The second determining module 430 determines a building occlusion map for each positioning candidate point, the building occlusion map being used to indicate the degree of occlusion of positioning satellites by buildings around the positioning candidate point.
[0076] The prediction module 440 inputs the satellite sky map and building occlusion map of the candidate positioning point into a pre-trained positioning weight prediction model, and the model predicts the positioning accuracy weight of the candidate positioning point.
[0077] The positioning module 450 obtains the positioning position of the positioning point based on the positioning accuracy weights of all positioning candidate points.
[0078] In the embodiment of the present invention, the satellite sky map of the positioning candidate point reflects the visibility of the positioning satellite to the positioning candidate point, and the building occlusion map of the positioning candidate point reflects the degree of occlusion of the positioning satellite by the surrounding buildings. Therefore, based on the input satellite sky map and building occlusion map, the positioning accuracy weight of the positioning candidate point can be accurately predicted by the positioning weight prediction model, thereby improving the positioning stability based on the positioning accuracy weight of the positioning candidate point.
[0079] Furthermore, the positioning weight prediction model can predict the similarity between the location of the candidate positioning point and the positioning point based on satellite star map and building occlusion map, avoiding positioning inaccuracies caused by inaccurate satellite star map or building occlusion map, and improving the stability of positioning.
[0080] In another implementation of the present invention, the second determining module is specifically used to: determine the height of the surrounding buildings based on the number of floors and preset floor height information of the surrounding buildings of each positioning candidate point; determine the distance between each positioning candidate point and the surrounding buildings based on the location information of the surrounding buildings; determine the elevation angle information of the surrounding buildings based on the height and distance of the surrounding buildings, wherein the elevation angle information indicates the degree of occlusion between the surrounding buildings and the positioning satellite; and determine the building occlusion map of each positioning candidate point based on the elevation angle information of the surrounding buildings.
[0081] In another implementation of the present invention, the positioning device further includes a third determining module. The third determining module is used to: acquire pre-made urban building model data, the urban building model data including the location information and floor information of each building, and based on the location information of the positioning candidate point, determine the floor information and location information of the surrounding buildings of the positioning candidate point from the urban building model data.
[0082] In another implementation of the present invention, the first determining module is specifically used to: determine the visibility information and location information of each positioning satellite based on each positioning candidate point; and determine the satellite sky map of each positioning candidate point based on the visibility information and the satellite location information.
[0083] In another implementation of the present invention, the first determining module is specifically used to: receive positioning signals from each positioning satellite through a positioning device located at each positioning candidate point, and obtain the signal-to-noise ratio information of each positioning satellite; and determine the visibility information of each positioning satellite based on the signal-to-noise ratio information of each positioning satellite.
[0084] In another implementation of the present invention, the first determining module is specifically used for: determining the pseudorange residual of each positioning satellite based on each positioning candidate point, wherein the pseudorange residual indicates the difference between the satellite pseudorange and the satellite-to-ground distance of the positioning satellite; determining the inter-satellite single difference of the pseudorange residual of each positioning satellite; and determining the visibility information of each positioning satellite based on the inter-satellite single difference corresponding to each positioning satellite.
[0085] In another implementation of the present invention, the first determining module is specifically used to: determine a reference satellite among the various positioning satellites based on the elevation angle information and signal-to-noise ratio information of each positioning satellite; and determine the inter-satellite single difference of each positioning satellite based on the difference between the pseudorange residual of each positioning satellite and the pseudorange residual of the reference satellite.
[0086] In another implementation of the present invention, the acquisition module is specifically used to: determine a positioning point based on each positioning satellite; and randomly determine two or more positioning candidate points based on the positioning point.
[0087] In another implementation of the present invention, the first determining module is specifically used to: obtain a first correspondence between the position and signal-to-noise ratio information of each positioning satellite, and a second correspondence between the position and inter-satellite single difference information of each positioning satellite; and determine a first satellite sky map and a second satellite sky map based on the first correspondence and the second correspondence respectively.
[0088] In another implementation of the present invention, the first determining module is specifically used to: based on the coordinate system of the positioning candidate point, combine the matrix indicating the first satellite star map, the matrix indicating the second satellite star map, and the matrix indicating the building occlusion map to obtain a combined matrix; and input the combined matrix into a pre-trained positioning weight prediction model.
[0089] The apparatus of this embodiment is used to implement the corresponding methods in the foregoing method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here. Furthermore, the functional implementation of each module in the apparatus of this embodiment can be referred to the description of the corresponding part in the foregoing method embodiments, which will also not be repeated here.
[0090] Figure 5 This is a schematic block diagram of a model training apparatus according to another embodiment of the present invention. Figure 5 Model training device and Figure 3 The corresponding model training methods include:
[0091] The acquisition module 510 acquires training samples, which include training positioning points, multiple candidate positioning points corresponding to the training positioning points, and ground truth positioning points.
[0092] The generation module 520 generates a satellite sky map and a building occlusion map for each positioning candidate point. The satellite sky map indicates the visibility of each positioning satellite to the corresponding positioning candidate point, and the building occlusion map indicates the occlusion relationship of the surrounding buildings of the corresponding positioning candidate point to each positioning satellite.
[0093] The training module 530 takes the satellite sky map and building occlusion map of each positioning candidate point as input and the similarity between the three-dimensional image information of the corresponding positioning candidate point and the three-dimensional image information of the ground truth positioning point as output to train the positioning weight prediction model. The three-dimensional image information of the corresponding positioning candidate point is determined by combining the satellite sky map and building occlusion map of the corresponding positioning candidate point.
[0094] In the embodiment of the present invention, the satellite sky map of the positioning candidate point reflects the visibility of the positioning satellite to the positioning candidate point, and the building occlusion map of the positioning candidate point reflects the degree of occlusion of the positioning satellite by the surrounding buildings. Therefore, based on the input satellite sky map and building occlusion map, the positioning accuracy weight of the positioning candidate point can be accurately predicted by the positioning weight prediction model, thereby improving the positioning stability based on the positioning accuracy weight of the positioning candidate point.
[0095] The apparatus of this embodiment is used to implement the corresponding methods in the foregoing method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here. Furthermore, the functional implementation of each module in the apparatus of this embodiment can be referred to the description of the corresponding part in the foregoing method embodiments, which will also not be repeated here.
[0096] Figure 6 The hardware structure of an electronic device according to another embodiment of the present invention; such as Figure 6 As shown, the hardware structure of the electronic device may include: a processor 601, a communication interface 602, a storage medium 603, and a communication bus 604.
[0097] The processor 601, communication interface 602, and storage medium 603 communicate with each other through the communication bus 604.
[0098] Optionally, the communication interface 602 can be an interface of a communication module;
[0099] Specifically, the processor 601 can be configured to: acquire two or more candidate positioning points corresponding to the same positioning point; determine a satellite constellation map corresponding to each candidate positioning point, wherein the satellite constellation map is used to indicate the visibility of the candidate positioning point to the positioning satellite; determine a building occlusion map for each candidate positioning point, wherein the building occlusion map is used to indicate the degree of occlusion of the positioning satellite by the surrounding buildings of the candidate positioning point; input the satellite constellation map and the building occlusion map of the candidate positioning point into a pre-trained positioning weight prediction model, wherein the model predicts the positioning accuracy weight of the candidate positioning point; and obtain the positioning location of the positioning point based on the positioning accuracy weights of all candidate positioning points.
[0100] Alternatively, the processor 601 can be specifically configured to: acquire training samples, the training samples including training positioning points, multiple candidate positioning points corresponding to the training positioning points, and ground truth positioning points; for each candidate positioning point, generate a satellite star map and a building occlusion map, the satellite star map indicating the visibility of each positioning satellite to the corresponding candidate positioning point, and the building occlusion map indicating the occlusion relationship of the surrounding buildings of the corresponding candidate positioning point to each positioning satellite; train a positioning weight prediction model using the satellite star map and building occlusion map of each candidate positioning point as input, and using the similarity between the three-dimensional image information of the corresponding candidate positioning point and the three-dimensional image information of the ground truth positioning point as output, wherein the three-dimensional image information of the corresponding candidate positioning point is determined by combining the satellite star map and building occlusion map of the corresponding candidate positioning point.
[0101] The aforementioned processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application-Specific Integrated Circuit (ASIC), an On-Premises Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this invention. The general-purpose processor can be a microprocessor or any conventional processor.
[0102] The aforementioned storage media may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.
[0103] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a storage medium, the computer program containing program code configured to perform the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication component, and / or installed from a removable medium. When the computer program is executed by a processing unit (CPU), it performs the functions defined in the methods of this invention. It should be noted that the storage medium described in this invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. The storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access storage media (RAM), read-only storage media (ROM), erasable programmable read-only storage media (EPROM or flash memory), optical fibers, portable compact disk read-only storage media (CD-ROM), optical storage media, magnetic storage media, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this invention, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can also be any storage medium other than a computer-readable storage medium that can send, propagate, or transmit a program configured for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the storage medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0104] Computer program code configured to perform the operations of this invention can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0105] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions configured to perform a specified logical function. Specific sequences are present in the above specific embodiments, but these sequences are merely exemplary, and in actual implementations, these steps may be fewer, more, or executed in a different order. That is, in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0106] The modules described in the embodiments of this invention can be implemented in software or hardware. The names of these modules do not necessarily limit the module itself.
[0107] In another aspect, the present invention also provides a storage medium having a computer program stored thereon that, when executed by a processor, implements the method as described in the above embodiments.
[0108] In another aspect, the present invention also provides a storage medium, which may be included in the apparatus described in the above embodiments; or it may exist independently and not assembled into the apparatus. The storage medium carries one or more programs that, when executed by the apparatus, cause the apparatus to: acquire a plurality of location candidate points; determine satellite constellation images for each of the plurality of location candidate points, and determine building occlusion maps for each of the plurality of location candidate points, wherein the satellite constellation images indicate the visibility of a set of positioning satellites for the corresponding location candidate point, and the building occlusion maps indicate occlusion relationships between surrounding buildings based on the corresponding location candidate point; input the satellite constellation images and building occlusion maps for each of the plurality of location candidate points into a pre-trained location weight prediction model to obtain location weights for each of the plurality of location candidate points, wherein each location weight indicates the similarity between the position of the corresponding location candidate point and the location; and, based on the location weights for each of the plurality of location candidate points, perform weighted processing on the positions of the plurality of location candidate points to obtain the location.
[0109] Alternatively, a training sample is obtained, comprising a training location point, multiple random candidate locations corresponding to the training location point, and a ground truth location point; a satellite image and a building occlusion map are generated for each random candidate location point, wherein the satellite image indicates the visibility of a set of positioning satellites for the corresponding random candidate location point, and the building occlusion map indicates the occlusion relationship between surrounding buildings based on the corresponding random candidate location point; a location weight prediction model is trained using the satellite image and building occlusion map of each random candidate location point as input, and the similarity between the 3D image information of the random candidate location point and the 3D image information of the ground truth location point as output, wherein the 3D image information of the random candidate location point is determined by combining the satellite image and building occlusion map of the random candidate location point.
[0110] The terms "first," "second," "first," or "second" as used in the various embodiments of this disclosure may modify various components regardless of their order and / or importance, but these terms do not limit the corresponding components. The above terms are configured only for the purpose of distinguishing an element from other elements. For example, "first user equipment" and "second user equipment" refer to different user equipments, although both are user equipment. For example, without departing from the scope of this disclosure, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.
[0111] When a component (e.g., a first component) is referred to as being "(operably or communicatively) coupled" or "(operably or communicatively) coupled to" or "connected to" another component (e.g., a second component), it should be understood that the first component is directly connected to the second component or that the first component is indirectly connected to the second component via yet another component (e.g., a third component). Conversely, it can be understood that when a component (e.g., a first component) is referred to as being "directly connected" or "directly coupled" to another component (the second component), no component (e.g., a third component) is inserted between the two.
[0112] The above description is merely a preferred embodiment of the present invention and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention is not limited to the specific combination of the above-described technical features, but also includes other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the inventive concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features with similar functions disclosed in this invention.
Claims
1. A positioning method, comprising: Obtain two or more candidate positioning points corresponding to the same positioning point; Determine the satellite sky map corresponding to each positioning candidate point. The satellite sky map is a polar coordinate image formed by mapping the signal parameters of the positioning satellite to pixel values. The satellite sky map is used to indicate the visibility of the positioning satellite for the positioning candidate point. Determine the building occlusion map for each positioning candidate point, wherein the building occlusion map is a polar coordinate image used to indicate the degree of occlusion of positioning satellites by buildings around the positioning candidate point; The satellite sky image and building occlusion image of the candidate positioning point are input into a pre-trained positioning weight prediction model, and the model predicts the positioning accuracy weight of the candidate positioning point. The positioning accuracy weight of the candidate positioning point indicates the confidence level of the positioning position of the candidate positioning point. The location of the positioning point is obtained based on the positioning accuracy weights of all positioning candidate points.
2. The method according to claim 1, wherein, The process of determining the building occlusion map for each candidate location point includes: The height of the surrounding buildings is determined based on the number of floors and preset floor height information of the surrounding buildings for each location candidate point; Based on the location information of the surrounding buildings, the distance between each candidate location point and the surrounding buildings is determined; Based on the height and distance of the surrounding buildings, the elevation angle information of the surrounding buildings is determined, and the elevation angle information indicates the degree of obstruction between the surrounding buildings and the positioning satellite; Based on the elevation angle information of the surrounding buildings, a building occlusion map is determined for each location candidate point.
3. The method according to claim 2, wherein, The method further includes: Acquire pre-made urban building model data, which includes the location and number of floors of each building; Based on the location information of the candidate points, the floor number and location information of the surrounding buildings of the candidate points are determined from the urban building model data.
4. The method according to claim 1, wherein, The determination of the satellite star map for each location candidate point includes: Based on each candidate positioning point, the visibility and location information of each positioning satellite are determined; Based on the visibility information and the satellite location information, a satellite star map is determined for each candidate location point.
5. The method according to claim 4, wherein, The process of determining the visibility information of each positioning satellite based on each candidate positioning point includes: By using positioning devices located at each positioning candidate point, positioning signals from each positioning satellite are received, and signal-to-noise ratio information of each positioning satellite is obtained. Based on the signal-to-noise ratio information of each positioning satellite, the visibility information of each positioning satellite is determined.
6. The method according to claim 4, wherein, The process of determining the visibility information of each positioning satellite based on each candidate positioning point includes: Based on each positioning candidate point, the pseudorange residual of each positioning satellite is determined, and the pseudorange residual indicates the difference between the satellite pseudorange and the satellite-to-ground distance of the positioning satellite. Determine the inter-satellite single difference of the pseudorange residuals for each positioning satellite; Based on the inter-satellite single difference corresponding to each positioning satellite, the visibility information of each positioning satellite is determined.
7. The method according to claim 6, wherein, The inter-satellite single difference used to determine the pseudorange residuals of each positioning satellite includes: Based on the elevation angle and signal-to-noise ratio information of each positioning satellite, the reference satellite among the positioning satellites is determined. Based on the difference between the pseudorange residuals of each positioning satellite and the pseudorange residuals of the reference satellite, the inter-satellite single difference of each positioning satellite is determined.
8. The method according to claim 4, wherein, The step of obtaining two or more candidate positioning points corresponding to the same positioning point includes: Based on each positioning satellite, determine the positioning point; Based on the location point, two or more candidate location points are randomly determined.
9. The method according to claim 1, wherein, The process of determining the satellite star map corresponding to each candidate positioning point includes: Obtain the first correspondence between the position and signal-to-noise ratio information of each positioning satellite, and the second correspondence between the position and inter-satellite single-difference information of each positioning satellite; Based on the first correspondence and the second correspondence, the first satellite star map and the second satellite star map are determined respectively.
10. The method according to claim 9, wherein, The step of inputting the satellite star map and building occlusion map of the candidate positioning points into a pre-trained positioning weight prediction model includes: Based on the coordinate system of the candidate positioning points, the matrix indicating the first satellite star map, the matrix indicating the second satellite star map, and the matrix indicating the building occlusion map are combined to obtain a combined matrix; The combined matrix is input into a pre-trained localization weight prediction model.
11. A model training method, comprising: Obtain training samples, which include training positioning points, multiple candidate positioning points corresponding to the training positioning points, and ground truth positioning points. For each candidate positioning point, a satellite sky map and a building occlusion map are generated. The satellite sky map is a polar coordinate image formed by mapping the signal parameters of the positioning satellites to pixel values. The satellite sky map indicates the visibility of each positioning satellite for the corresponding candidate positioning point. The building occlusion map is a polar coordinate image used to indicate the occlusion relationship of the surrounding buildings of the corresponding candidate positioning point for each positioning satellite. Using satellite imagery and building occlusion maps of each candidate location point as input, and the similarity between the 3D image information of the corresponding candidate location point and the 3D image information of the ground truth location point as output, a location weight prediction model is trained. The 3D image information of the corresponding candidate location point is determined by combining the satellite imagery and building occlusion maps of the corresponding candidate location point. The location weight prediction model is used to predict the location accuracy weight of the candidate location point, and the location accuracy weight of the candidate location point indicates the confidence level of the location of the candidate location point.
12. A positioning device, comprising: The acquisition module retrieves two or more candidate positioning points corresponding to the same positioning point. The first determining module determines the satellite sky map corresponding to each positioning candidate point. The satellite sky map is a polar coordinate image formed by mapping the signal parameters of the positioning satellite to pixel values. The satellite sky map is used to indicate the visibility of the positioning satellite for the positioning candidate point. The second determining module determines the building occlusion map of each positioning candidate point. The building occlusion map is a polar coordinate image used to indicate the degree of occlusion of positioning satellites by buildings around the positioning candidate point. The prediction module inputs the satellite star map and building occlusion map of the candidate positioning point into a pre-trained positioning weight prediction model. The model predicts the positioning accuracy weight of the candidate positioning point, and the positioning accuracy weight of the candidate positioning point indicates the confidence level of the positioning position of the candidate positioning point. The positioning module obtains the positioning location of the positioning point based on the positioning accuracy weights of all positioning candidate points.
13. A model training device, comprising: The acquisition module acquires training samples, which include training positioning points, multiple candidate positioning points corresponding to the training positioning points, and ground truth positioning points. The generation module generates a satellite sky map and a building occlusion map for each positioning candidate point. The satellite sky map is a polar coordinate image formed by mapping the signal parameters of the positioning satellites to pixel values. The satellite sky map indicates the visibility of each positioning satellite for the corresponding positioning candidate point. The building occlusion map is a polar coordinate image used to indicate the occlusion relationship of the surrounding buildings of the corresponding positioning candidate point for each positioning satellite. The training module takes the satellite image and building occlusion image of each candidate location point as input and the similarity between the 3D image information of the corresponding candidate location point and the 3D image information of the ground truth location point as output to train a location weight prediction model. The 3D image information of the corresponding candidate location point is determined by combining the satellite image and building occlusion image of the corresponding candidate location point. The location weight prediction model is used to predict the location accuracy weight of the candidate location point, and the location accuracy weight of the candidate location point indicates the confidence level of the location position of the candidate location point.
14. A storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as claimed in any one of claims 1-11.
Citation Information
Patent Citations
Shadow matching improved algorithm based on a Beidou GEO satellite
CN110579780A
Positioning method and electronic equipment
CN112444834A