Methods, apparatus, electronic devices and readable storage media for correcting movement trajectories

By determining candidate roads and calculating the probability of positioning points in indoor positioning, the jitter and wall penetration phenomena in historical trajectories are corrected, and the positioning accuracy and trajectory accuracy are improved.

CN114638859BActive Publication Date: 2025-02-11ASIAINFO TECH CHINA INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210280673.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-21
Publication Date
2025-02-11
Estimated Expiration
2042-03-21

AI Technical Summary

Technical Problem

Indoor positioning is low due to wall shading and multipath effect, and the historical trajectory has jitter and wall penetration, affecting the accuracy of the positioning point.

Method used

By determining the position information of the road and the positioning point position information in the moving trajectory, the candidate road and candidate dangle point are determined, the probability of the positioning point on the candidate road is calculated, the target dangle point is determined, and the target moving trajectory is obtained, to correct the historical trajectory.

Benefits of technology

It effectively solves the problem of trajectory passing through the wall, improves the accuracy of positioning trajectory, and makes the historical positioning trajectory more reliable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114638859B_ABST
    Figure CN114638859B_ABST
Patent Text Reader

Abstract

The present application provides a method, device, electronic device and readable storage medium for correcting a mobile trajectory, and relates to the technical field of correcting historical trajectories of positioning. The method includes: determining the first position information of a road and the second position information of a first positioning point in a first moving trajectory; determining a candidate road from the road, and determining a candidate vertical point of the first positioning point on the candidate road; determining a first probability that the first positioning point moves to the second positioning point on the candidate road and a second probability that the first positioning point moves on the candidate road; according to the first probability and the second probability, determining a target vertical point among the candidate vertical points, connecting the target vertical points of each candidate road, and obtaining a target moving trajectory. The present application realizes the correction of the historical positioning trajectory, effectively solves the problem of the trajectory passing through the wall, and makes the positioning trajectory more accurate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of historical trajectory correction of positioning, and in particular to a method, device, electronic device and readable storage medium for correcting a moving trajectory. Background Art

[0002] Indoor positioning is currently one of the important applications of the Internet of Things. Through accurate positioning of personnel, the positioning system can predict the whereabouts of personnel, provide emergency alarms, trajectory and work efficiency analysis, and realize intelligent management and control of personnel and real-time monitoring. At present, outdoor positioning has a high positioning accuracy, while indoor positioning accuracy still has a lot of room for improvement. Usually, indoor positioning requires the deployment of a large number of positioning devices indoors. However, due to the influence of wall occlusion and multipath effect, the positioning accuracy of indoor positioning is low. The actual positioning points have the phenomenon of jittering of positioning points at the same position and positioning trajectory passing through walls, which seriously affects the historical trajectory of the positioning points. Summary of the invention

[0003] The embodiments of the present application provide a method, device, electronic device and computer-readable storage medium for correcting a moving trajectory. The technical solution is as follows:

[0004] According to one aspect of an embodiment of the present application, a method for correcting a movement trajectory is provided, the method comprising:

[0005] Determine first position information of at least one road and second position information of at least one first positioning point in the first movement trajectory;

[0006] Determine at least one candidate road from the at least one road, determine a candidate vertical point of the first positioning point on the candidate road, and a distance from the first positioning point to the candidate road is less than a first preset threshold;

[0007] Determine a first probability that the first positioning point moves to a second positioning point on the candidate road and a second probability that the first positioning point moves on the candidate road, wherein the second positioning point is a positioning point subsequent to the first positioning point;

[0008] According to the first probability and the second probability, a target vertical point is determined among the candidate vertical points, and the target vertical points of each candidate road are connected to obtain a target moving trajectory.

[0009] In a possible implementation manner, before determining the first position information of at least one road, the method includes:

[0010] Obtaining the initial moving trajectory of the moving object within a preset time;

[0011] According to a preset time threshold, the initial movement trajectory is divided into at least one sub-trajectory, and at least one cluster set is constructed, wherein the cluster set includes the at least one sub-trajectory, and the minimum average direct flip MDF distance of all sub-trajectories in each cluster set to the cluster center of the cluster set is less than a second preset threshold;

[0012] The cluster centers of each cluster set are connected to determine a second movement trajectory.

[0013] In a possible implementation manner, before determining the second position information of at least one first positioning point in the first movement trajectory, the method includes:

[0014] Determine at least one candidate positioning point in the second moving trajectory that meets a preset condition;

[0015] Connecting two adjacent candidate positioning points to obtain a target chord of the second moving trajectory;

[0016] If the distance from at least one third positioning point in the second moving trajectory to the target chord is less than a third preset threshold, then the third positioning point is indeed the target positioning point;

[0017] The target positioning points are connected to obtain the first moving trajectory.

[0018] In a possible implementation manner, determining a first probability that the first positioning point moves to a second positioning point on the candidate road includes:

[0019] Determine a first candidate vertical point of the first positioning point on at least one of the candidate roads and a second candidate vertical point of the second positioning point on at least one of the candidate roads;

[0020] Determining a road distance between the first candidate vertical point and the second candidate vertical point;

[0021] determining a first spherical distance between the first positioning point and the second positioning point;

[0022] determining a first difference between the first spherical distance and the road distance and a standard deviation of the first difference;

[0023] The first probability is determined according to the first difference and the standard deviation.

[0024] In another possible implementation manner, determining the second probability that the first positioning point moves on the candidate road includes:

[0025] Determine a first candidate vertical point of the first positioning point on at least one of the candidate roads;

[0026] Determining a second spherical distance between the first positioning point and the first candidate vertical point;

[0027] The second probability is determined according to a preset noise standard deviation and the second spherical distance.

[0028] In another possible implementation, determining a target vertical point from among the candidate vertical points according to the first probability and the second probability includes:

[0029] Determining a third probability, where the third probability is the product of the first probability and the second probability;

[0030] A target vertical point is determined from the candidate vertical points, where the target vertical point is the candidate vertical point that maximizes the third probability.

[0031] In another possible implementation, after determining the target movement trajectory, the method includes:

[0032] Determine third position information of at least one vertical point of the target in the target movement trajectory;

[0033] According to a preset offset threshold, adjusting the third position information of at least one of the target vertical points;

[0034] According to the third position information of each target vertical point, connecting each target vertical point to obtain a moving trajectory to be fitted;

[0035] According to a preset curve fitting method and the third position information, the movement trajectory to be fitted is subjected to curve fitting to determine a final movement trajectory after fitting.

[0036] According to another aspect of an embodiment of the present application, a device for correcting a movement trajectory is provided, the device comprising:

[0037] A first determination module, used to determine first position information of at least one road and second position information of at least one first positioning point in a first moving trajectory;

[0038] A second determination module is used to determine at least one candidate road from the at least one road, determine a candidate vertical point of the first positioning point on the candidate road, and the distance from the first positioning point to the candidate road is less than a first preset threshold;

[0039] A third determination module is used to determine a first probability that the first positioning point moves to a second positioning point on the candidate road and a second probability that the first positioning point moves on the candidate road, wherein the second positioning point is a positioning point subsequent to the first positioning point;

[0040] An acquisition module is used to determine a target vertical point among the candidate vertical points according to the first probability and the second probability, connect the target vertical points of each candidate road, and obtain a target moving trajectory.

[0041] According to another aspect of an embodiment of the present application, an electronic device is provided, comprising: a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of any one of the methods.

[0042] According to another aspect of the embodiments of the present application, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the steps of any one of the methods are implemented.

[0043] The beneficial effect of the technical solution provided by the embodiment of the present application is: the correction of the historical positioning trajectory effectively solves the problem of the trajectory passing through the wall, making the positioning trajectory more accurate. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in describing the embodiments of the present application are briefly introduced below.

[0045] Figure 1 A schematic diagram of a flow chart of a method for correcting a moving trajectory provided in an embodiment of the present application;

[0046] Figure 2 A schematic diagram of a flow chart of another method for correcting a moving trajectory provided in an embodiment of the present application;

[0047] Figure 3 A schematic diagram of the structure of a device for correcting a moving trajectory provided in an embodiment of the present application;

[0048] Figure 4 A schematic diagram of the structure of an electronic device for correcting a moving trajectory provided in an embodiment of the present application. DETAILED DESCRIPTION

[0049] The embodiments of the present application are described below in conjunction with the drawings in the present application. It should be understood that the implementation methods described below in conjunction with the drawings are exemplary descriptions for explaining the technical solutions of the embodiments of the present application and do not constitute a limitation on the technical solutions of the embodiments of the present application.

[0050] It will be understood by those skilled in the art that, unless specifically stated, the singular forms "one", "said", and "the" used herein may also include plural forms. It should be further understood that the terms "including" and "comprising" used in the embodiments of the present application refer to that the corresponding features can be implemented as the presented features, information, data, steps, operations, elements and / or components, but do not exclude the implementation as other features, information, data, steps, operations, elements, components and / or combinations thereof supported by the technical field. It should be understood that when we say that an element is "connected" or "coupled" to another element, the one element may be directly connected or coupled to the other element, or it may refer to that the one element and the other element establish a connection relationship through an intermediate element. In addition, the "connection" or "coupling" used herein may include wireless connection or wireless coupling. The term "and / or" used herein indicates at least one of the items defined by the term, for example, "A and / or B" may be implemented as "A", or as "B", or as "A and B".

[0051] At present, the commonly used indoor trajectory correction technology methods are as follows:

[0052] 1. Jump point correction method based on real-time trajectory dynamics: A jump point correction method is introduced before the filtering algorithm, and the jump points are corrected by iterative calculation of the current two-dimensional positioning solution result and the historical positioning solution result. This greatly reduces the number of individual points that deviate greatly from the actual trajectory, so that the overall trajectory direction will not be affected by such individual points during the filtering process, while enhancing the smoothness and continuity of the trajectory.

[0053] 2. Micro-INS trajectory correction method based on repetitive passing points for indoor positioning: Micro-INS positioning technology has positioning errors due to the noise and inertial drift of inertial sensors. In the positioning scene, the coordinates of the repetitive passing points are marked according to the micro-INS trajectory, and the trajectory correction pose graph is created for the repetitive passing points and the trajectory is corrected in an optimized manner to compensate for the positioning error.

[0054] 3. Optimization method of trajectory playback function in indoor positioning system: rasterize the map area, specially mark the coordinates of obstacles, and use A* algorithm to optimize trajectory data in the monitoring center, so as to record the optimal obstacle avoidance trajectory data and draw the corresponding trajectory line, which has the function of optimal trajectory path selection and intelligent obstacle avoidance.

[0055] Although the above solutions can solve some problems to a certain extent, these methods still have certain shortcomings in the actual application of historical trajectory correction of indoor positioning points:

[0056] 1. Bluetooth beacon positioning and other technologies have positioning jitter problems. The longitude and latitude results of the same location at different times are jittery. Solution 1 solves the problem of removing individual jump points that deviate greatly from the actual trajectory. In the indoor scene of this solution, there are multiple different positioning points at the same location, and it is difficult to overcome the problem of large jitter of the positioning points at the same location.

[0057] 2. When the sampling rate is high, the positioning points are dense and the data is redundant, when the historical trajectory does not need to be accurate but only needs the outline, there is a need to simplify the trajectory data. When the jitter at the same position is large, the filtering in the existing solution 1 cannot effectively filter out the redundant data.

[0058] 3. Solution 2: Mark the coordinates of the re-passing points based on the micro-INS trajectory and create a trajectory correction pose graph. This method has a limited scope of use and requires manual layout and data collection. It is not suitable for indoor scenes without manual micro-INS trajectories and re-passing points.

[0059] 4. Solution 3 requires obstacle coordinates and identification. When the only available indoor map data is road data, it is impossible to rasterize the map area and identify obstacles, making it difficult to construct historical trajectories.

[0060] The method, device, electronic device and readable storage medium for correcting movement trajectory provided in the present application are intended to solve the above technical problems in the prior art.

[0061] The following describes several exemplary embodiments to illustrate the technical solutions of the embodiments of the present application and the technical effects produced by the technical solutions of the present application. It should be noted that the following embodiments can refer to, draw on or combine with each other, and the same terms, similar features and similar implementation steps in different embodiments will not be described repeatedly.

[0062] like Figure 1 As shown, the present application provides a method for correcting a mobile trajectory, and the specific process of the method may include: data preprocessing, for example, the mobile trajectory data of indoor users may be preprocessed; trajectory clustering, for example, the trajectory of the previous stage may be clustered by clustering; trajectory compression, for example, the mobile trajectory after clustering in the previous stage may be compressed to reduce redundant trajectory positioning points; map matching, for example, the compressed mobile trajectory may be matched with pre-acquired indoor road map data so that the user's mobile trajectory can be clearly represented in the indoor map; trajectory smoothing, for example, considering that in the map matching step, the mobile trajectory may have a round trip situation, and a more accurate user mobile trajectory can be obtained by trajectory smoothing.

[0063] The present application provides a method for correcting a moving trajectory. Figure 2 As shown, the method includes:

[0064] Step S201: determine first position information of at least one road and second position information of at least one first positioning point in a first movement trajectory.

[0065] In an embodiment of the present application, map road data may be acquired in advance, and the map road data may include indoor map road data, and the map data may be preprocessed, for example, the road data may be split into nodes, and a directed graph may be constructed. To facilitate searching the directed graph, an R-tree index may be constructed. By acquiring the longitude and latitude information of the road node, the first position information of at least one road may be determined, and the first position information is used to indicate the location of the road. At the same time, the second position information of at least one positioning point in the first moving trajectory may be determined. The first moving trajectory may include multiple positioning points, and each positioning point may include corresponding longitude and latitude information and corresponding timestamp information.

[0066] Step S202: determine at least one candidate road from the at least one road, determine a candidate vertical point of the first positioning point on the candidate road, and a distance from the first positioning point to the candidate road is less than a first preset threshold.

[0067] In an embodiment of the present application, a candidate road can be determined in at least one road, and a candidate vertical point of the first positioning point on the candidate road and the corresponding longitude and latitude information of the candidate vertical point can be determined, wherein the distance from the first positioning point to the candidate road is less than a first preset threshold, and the first preset threshold can be set according to the actual situation of the road.

[0068] Step S203: determine a first probability that the first positioning point moves to a second positioning point on the candidate road and a second probability that the first positioning point moves on the candidate road, wherein the second positioning point is a positioning point subsequent to the first positioning point.

[0069] In an embodiment of the present application, a first probability that a first positioning point moves to a second positioning point on at least one candidate road is determined, and a second probability that the first positioning point moves on the candidate road is determined, wherein the second positioning point is a positioning point after the first positioning point.

[0070] Step S204: determine a target vertical point from the candidate vertical points according to the first probability and the second probability, connect the target vertical points of each candidate road, and obtain a target moving trajectory.

[0071] In an embodiment of the present application, a target vertical point is determined among the candidate vertical points based on the first probability and the second probability, each target vertical point corresponds to a positioning point, and each positioning point contains corresponding timestamp information. According to its corresponding timestamp information, the target vertical points of each candidate point are connected to obtain the target movement trajectory.

[0072] Specifically, before determining the first position information of at least one road, the process may include:

[0073] Get the initial moving trajectory of the moving object within the preset time.

[0074] In an embodiment of the present application, the initial movement trajectory of the mobile object within a preset time can be obtained through a positioning system, and the initial movement trajectory includes the latitude and longitude information of at least one positioning point and the corresponding timestamp information. The type of the positioning system is not specifically limited in the present application, and can be a Bluetooth positioning system or a WiFi positioning system.

[0075] Based on the above embodiments, as an optional embodiment, after obtaining the initial movement trajectory of the moving object, it can be preprocessed, including but not limited to generating a longitude and latitude sequence of the positioning point coordinates, retaining the timestamp of each positioning point, deduplicating the longitude and latitude data, etc.

[0076] According to a preset time threshold, the initial movement trajectory is divided into at least one sub-trajectory, and at least one cluster set is constructed, wherein the cluster set includes the at least one sub-trajectory, and a minimum average direct flip MDF distance from all sub-trajectories in each cluster set to a cluster center of the cluster set is less than a second preset threshold.

[0077] In an embodiment of the present application, the initial moving trajectory can be divided into at least one sub-trajectory according to a preset time threshold, and the generated sub-trajectories can be clustered. For example, the first sub-trajectory can be placed in cluster set one, and the following operations can be performed on the subsequent sub-trajectories: the minimum average direct-flip (MDF) distance (hereinafter referred to as MDF distance) between the next sub-trajectory and the cluster center of each existing set is calculated. If the distance is greater than a set second preset threshold, a new cluster set is created and the sub-trajectory is added to the new cluster set, otherwise the sub-trajectory is added to the current cluster set, wherein the present application does not specifically limit the second preset threshold, and it can be set according to actual conditions. After processing all sub-trajectories, the cluster center of each cluster set is calculated, and each cluster center includes the latitude and longitude information of at least one positioning point and the timestamp information of the corresponding pair.

[0078] Based on the above embodiments, as an optional embodiment, similar trajectories can be merged in the same cluster set through the QuickBundles (QB) algorithm, which can reduce the jitter of the positioning points to a certain extent and achieve the effect of preliminary compression of the trajectory.

[0079] The cluster centers of the cluster sets are connected to determine a second movement trajectory.

[0080] In the embodiment of the present application, the cluster centers of the cluster sets are connected according to the timestamp information corresponding to the positioning points in the cluster centers, thereby determining the second movement trajectory.

[0081] Specifically, before determining the second position information of at least one first positioning point in the first movement trajectory, the method may include:

[0082] At least one candidate positioning point satisfying a preset condition in the second moving trajectory is determined; and two adjacent candidate positioning points are connected to obtain a target chord of the second moving trajectory.

[0083] In an embodiment of the present application, the first positioning point with the earliest acquisition time and the last positioning point with the latest acquisition time can be determined according to the timestamp information corresponding to the positioning points, and the first positioning point and the last positioning point are used as candidate positioning points. The first positioning point and the last positioning point are connected, for example, the first positioning point is S and the last positioning point is N, and the line segment SN is connected and determined, and the line segment SN is the target chord of the second moving trajectory.

[0084] If the distance from at least one third positioning point in the second moving trajectory to the target chord is less than a third preset threshold, the third positioning point is confirmed to be the target positioning point; and the first moving trajectory is obtained by connecting the target positioning points.

[0085] In an embodiment of the present application, the distances between all positioning points and the line segment SN between the first positioning point S and the last positioning point N can be calculated first, where the positioning point with the farthest distance is M and the distance is D. If the distance D is less than a third preset threshold, only the two positioning points S and N are retained as target positioning points, and all positioning points between S and N are discarded, and the target positioning points are connected to determine the first moving trajectory.

[0086] On the basis of the above embodiments, as an optional embodiment, in the present application, the RamerDouglas Peucker (RDP) algorithm can be used to compress the second mobile trajectory to reduce redundant trajectory data, and the third preset threshold can be the RDP threshold, which can be set according to the actual situation. If the distance to the farthest positioning point M is D, and D is not less than the third preset threshold, the positioning point M is retained, and the mobile trajectory is divided into SM and MN, and the first positioning point S and the positioning point M are connected to make a line segment SM, and the positioning point M and the last positioning point N are connected to make a line segment MN, and the distances of all the positioning points between the first positioning point S and the last positioning point M to SM are determined respectively, and the numerical relationship between the distance of the farthest positioning point and the third preset threshold is determined, and then it is determined whether to retain all the positioning points between the first positioning point S and M, or only retain the first positioning point S and the positioning point M. Repeat the above steps until all the divided trajectory processing is completed, and connect the retained positioning points to determine the compressed first mobile trajectory. In an actual production environment, the movement of indoor personnel may not be frequent. If the sampling rate of the Bluetooth module is set high, a large amount of redundant sampling data will appear in a small range of movement within a certain period of time. For the trajectory composed of the positioning point data after trajectory clustering, the RDP algorithm can be used to remove a large number of redundant positioning points, retain the trend of the trajectory, and achieve further compression of the trajectory.

[0087] Further, the determining a first probability that the first positioning point moves to the second positioning point on the candidate road may include:

[0088] A first candidate vertical point of the first positioning point on at least one of the candidate roads and a second candidate vertical point of the second positioning point on at least one of the candidate roads are determined.

[0089] In an embodiment of the present application, the corresponding vertical points on the candidate roads from any two adjacent positioning points in the first moving trajectory can be determined. For example, there are candidate roads 1-6, where the first positioning point and the second positioning point are any two adjacent positioning points in the first moving trajectory, the candidate roads corresponding to the first positioning point may be 1, 2 and 3, and the candidate roads corresponding to the second positioning point may be 4, 5 and 6. The first candidate vertical point of the first positioning point on the candidate roads 1, 2 and 3, and the second candidate vertical point of the second positioning point on the candidate roads 4, 5 and 6 are determined respectively.

[0090] A road distance between the first candidate vertical point and the second candidate vertical point is determined.

[0091] In an embodiment of the present application, the road distance between the first candidate vertical point and the second candidate vertical point can be determined based on the latitude and longitude information of the first candidate vertical point and the second candidate vertical point and the latitude and longitude information of the road node, wherein the road distance can be the distance between the first candidate vertical point and the second candidate vertical point along the indoor road.

[0092] A first spherical distance between the first positioning point and the second positioning point is determined.

[0093] In the embodiment of the present application, the first spherical distance between the first positioning point and the second positioning point can be determined according to the latitude and longitude information of the first positioning point and the second positioning point.

[0094] A first difference between the first spherical distance and the road distance and a standard deviation of the first difference are determined.

[0095] In the embodiment of the present application, since there may be multiple candidate roads and thus multiple candidate vertical points for each positioning point, there may be multiple different road distances. Therefore, in order to make the result more accurate, it is necessary to calculate the first difference between the first spherical distance and the multiple road distances, and determine the standard deviation of the first difference.

[0096] The first probability is determined according to the first difference and the standard deviation.

[0097] In the embodiment of the present application, the first probability is determined according to the first difference and the standard deviation of the corresponding method. Specifically, the first probability can be calculated by the following formula:

[0098]

[0099] Wherein, dt is the first difference, and n is the standard deviation of the first difference.

[0100] Further, the determining a second probability that the first positioning point moves on the candidate road may include:

[0101] A first candidate vertical point of the first positioning point on at least one of the candidate roads is determined.

[0102] In the embodiment of the present application, any positioning point in the first moving trajectory may correspond to multiple candidate roads, and then multiple candidate vertical points may be determined.

[0103] A second spherical distance between the first positioning point and the first candidate vertical point is determined.

[0104] In the embodiment of the present application, the second spherical distance between the first positioning point and the first candidate vertical point can be determined according to the latitude and longitude information of the first positioning point and the first candidate vertical point.

[0105] The second probability is determined according to a preset noise standard deviation and the second spherical distance.

[0106] In the embodiment of the present application, the second probability can be determined according to the following formula:

[0107]

[0108] Where n is the noise standard deviation, which can be set to 1 by default, and dz is the second spherical distance.

[0109] Further, determining a target vertical point from the candidate vertical points according to the first probability and the second probability may include:

[0110] A third probability is determined, where the third probability is the product of the first probability and the second probability; and a target vertical point is determined from the candidate vertical points, where the target vertical point is the candidate vertical point that maximizes the third probability.

[0111] In an embodiment of the present application, a third probability is determined based on the first probability and the second probability, and the third probability is obtained by multiplying the first probability and the second probability. Among the candidate vertical points of the first positioning point and the second positioning point, a target vertical point is determined, and the target vertical point is the candidate vertical point that maximizes the product of the third probability.

[0112] Based on the above embodiments, as an optional embodiment, the present application can map and match the mobile trajectory with the map road data by using the map matching algorithm based on the hidden Markov model without emission state - Leuven Map Matching (LMM) algorithm. The algorithm model is constructed based on the hidden Markov model, a single road section of the hidden Markov state, the state is the position of the positioning point, and the goal is to match the position of the positioning point with the road section. Based on the transition probability and the emission probability and using the Viterbi algorithm to calculate the optimal path, the product of the transition probability and the emission probability is maximized. The transition probability is the first probability and the emission probability is the second probability.

[0113] On the basis of the above embodiments, as an optional embodiment, if the road distance between the first candidate vertical point and the second candidate vertical point is infinite, that is, the road between the first candidate vertical point and the second candidate vertical point is disconnected, then the first probability is considered to be 0, the existing moving trajectory is saved, and the second positioning point is used as the new starting point.

[0114] Based on the above embodiments, as an optional embodiment, the compressed positioning points generated by the RDP algorithm form a trajectory. Considering the possibility that the trajectory may pass through a wall, it is necessary to perform map matching with the road information of the indoor map to remove the erroneous trajectory that passes through the wall to achieve historical trajectory correction. The trajectory and the indoor map of the corresponding floor are input into the LMM algorithm model together, and the output positioning points are fitted to the indoor map road.

[0115] Furthermore, after determining the target moving trajectory, the method further includes:

[0116] Determine the third position information of at least one of the target vertical points in the target movement trajectory; and adjust the third position information of at least one of the target vertical points according to a preset offset threshold.

[0117] In an embodiment of the present application, the third position information of at least one target vertical point in the target movement trajectory, that is, the longitude and latitude information of the target vertical point, can be determined, and the longitude and latitude information of at least one target vertical point can be adjusted according to a preset offset threshold, so that the target movement trajectory with a round-trip nature will not overlap.

[0118] According to the third position information of each target vertical point, each target vertical point is connected to obtain a moving trajectory to be fitted; according to a preset curve fitting method and the third position information, the moving trajectory to be fitted is curve fitted to determine a final moving trajectory after fitting.

[0119] In an embodiment of the present application, based on the adjusted third position information of each target vertical point, each target vertical point is connected, and a moving trajectory to be fitted is obtained. A preset curve fitting method, such as a polynomial function, is used, and based on the third position information, i.e., the adjusted longitude and latitude information of the target vertical point, curve fitting is performed to determine the final moving trajectory after fitting.

[0120] On the basis of the above embodiments, as an optional embodiment, since polynomial fitting cannot process trajectories with inflection points, the trajectory composed of the positioning point data is segmented to ensure that the longitude of the trajectory does not have a round trip, so that the longitude of each sub-trajectory is constantly increasing or decreasing, and the time series of the trajectory is saved. The order of the polynomial is set according to the number of points in the sub-trajectory, and the least squares method can be used to calculate the parameter values ​​of the polynomial. The sub-trajectory can be interpolated according to the polynomial to make the trajectory smooth. It is also possible to reassemble the sub-trajectories according to the time series to generate the final smooth trajectory, and add a certain random offset to the matched map positioning point data to ensure that the trajectories with round trips do not overlap. Finally, the positioning point data is segmented, and a polynomial is used to implement curve fitting to ensure the smoothness of the trajectory. The segmentation results are merged, the corrected positioning points are saved, and the final corrected trajectory is generated.

[0121] The present application embodiment provides a device for correcting a moving trajectory, such as Figure 3 As shown, the movement trajectory correction device 30 may include: a first determination module 301, a second determination module 302, a third determination module 303 and an acquisition module 304, wherein:

[0122] A first determination module 301, configured to determine first position information of at least one road and second position information of at least one first positioning point in a first moving track;

[0123] A second determination module 302 is used to determine at least one candidate road from the at least one road, determine a candidate vertical point of the first positioning point on the candidate road, and the distance from the first positioning point to the candidate road is less than a first preset threshold;

[0124] A third determination module 303 is used to determine a first probability that the first positioning point moves to a second positioning point on the candidate road and a second probability that the first positioning point moves on the candidate road, wherein the second positioning point is a positioning point after the first positioning point;

[0125] The acquisition module 304 is used to determine a target vertical point among the candidate vertical points according to the first probability and the second probability, connect the target vertical points of each candidate road, and obtain a target moving trajectory.

[0126] Furthermore, compared with the prior art, the present invention can achieve the following: the correction of the historical positioning trajectory effectively solves the problem of the trajectory passing through the wall, making the positioning trajectory more accurate.

[0127] The device of the embodiments of the present application can execute the method provided by the embodiments of the present application, and the implementation principles are similar. The actions performed by each module in the device of each embodiment of the present application correspond to the steps in the method of each embodiment of the present application. For the detailed functional description of each module of the device, please refer to the description in the corresponding method shown in the previous text, which will not be repeated here.

[0128] An electronic device is provided in an embodiment of the present application, including a memory, a processor and a computer program stored in the memory. The processor executes the above-mentioned computer program to implement the steps of the method for correcting the movement trajectory. Compared with the related art, it can achieve: correction of the historical positioning trajectory, effectively solving the problem of the trajectory passing through the wall, making the positioning trajectory more accurate.

[0129] In an alternative embodiment, an electronic device is provided, such as Figure 4 As shown, Figure 4The electronic device 4000 shown includes: a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, such as through a bus 4002. Optionally, the electronic device 4000 may also include a transceiver 4004, which may be used for data interaction between the electronic device and other electronic devices, such as data transmission and / or data reception. It should be noted that in actual applications, the transceiver 4004 is not limited to one, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of the present application.

[0130] Processor 4001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It may implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. Processor 4001 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0131] The bus 4002 may include a path to transmit information between the above components. The bus 4002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus 4002 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0132] The memory 4003 may be a ROM (Read Only Memory) or other types of static storage devices that can store static information and instructions, a RAM (Random Access Memory) or other types of dynamic storage devices that can store information and instructions, or an EEPROM (Electrically Erasable Programmable Read Only Memory), a CD-ROM (Compact Disc Read Only Memory) or other optical disk storage, optical disk storage (including compressed optical disk, laser disk, optical disk, digital versatile disk, Blu-ray disk, etc.), magnetic disk storage media, other magnetic storage devices, or any other medium that can be used to carry or store computer programs and can be read by a computer, without limitation herein.

[0133] The memory 4003 is used to store the computer program for executing the embodiment of the present application, and the execution is controlled by the processor 4001. The processor 4001 is used to execute the computer program stored in the memory 4003 to implement the steps shown in the above method embodiment.

[0134] An embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps and corresponding contents of the aforementioned method embodiment can be implemented.

[0135] The embodiment of the present application also provides a computer program product, including a computer program, which can implement the steps and corresponding contents of the aforementioned method embodiment when executed by a processor.

[0136] The terms "first", "second", "third", "fourth", "1", "2", etc. (if any) in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than that shown or described in the drawings.

[0137] It should be understood that, although each operation step is indicated by arrows in the flowchart of the embodiment of the present application, the implementation order of these steps is not limited to the order indicated by the arrows. Unless clearly stated herein, in some implementation scenarios of the embodiment of the present application, the implementation steps in each flowchart can be performed in other orders according to demand. In addition, some or all of the steps in each flowchart may include multiple sub-steps or multiple stages based on actual implementation scenarios. Some or all of these sub-steps or stages may be executed at the same time, and each sub-step or stage in these sub-steps or stages may also be executed at different times respectively. In different scenarios of execution time, the execution order of these sub-steps or stages may be flexibly configured according to demand, and the embodiment of the present application does not limit this.

[0138] The above is only an optional implementation method for some implementation scenarios of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the technical concept of the solution of the present application, other similar implementation methods based on the technical ideas of the present application are also within the protection scope of the embodiments of the present application.

Claims

1. A method for correcting a moving trajectory, characterized in that: include: Determine first position information of at least one road and second position information of at least one first positioning point in the first movement trajectory; Determine at least one candidate road from the at least one road, determine a candidate vertical point of the first positioning point on the candidate road, and a distance from the first positioning point to the candidate road is less than a first preset threshold; Determine a first probability that the first positioning point moves to a second positioning point on the candidate road and determine a second probability that the first positioning point moves on the candidate road, wherein the second positioning point is a positioning point subsequent to the first positioning point; Determine a target vertical point among the candidate vertical points according to the first probability and the second probability, connect the target vertical points of each candidate road, and obtain a target moving trajectory; The determining a first probability that the first positioning point moves to a second positioning point on the candidate road includes: Determine a first candidate vertical point of the first positioning point on at least one of the candidate roads and a second candidate vertical point of the second positioning point on at least one of the candidate roads; Determining a road distance between the first candidate vertical point and the second candidate vertical point; determining a first spherical distance between the first positioning point and the second positioning point; determining a first difference between the first spherical distance and the road distance and a standard deviation of the first difference; determining the first probability according to the first difference and the standard deviation; Determining a second probability that the first positioning point moves on the candidate road includes: Determine a first candidate vertical point of the first positioning point on at least one of the candidate roads; Determining a second spherical distance between the first positioning point and the first candidate vertical point; The second probability is determined according to a preset noise standard deviation and the second spherical distance.

2. The method according to claim 1, characterized in that Before determining the first position information of at least one road, the method includes: Obtaining the initial moving trajectory of the moving object within a preset time; According to a preset time threshold, the initial movement trajectory is divided into at least one sub-trajectory, and at least one cluster set is constructed, wherein the cluster set includes the at least one sub-trajectory, and the minimum average direct flip MDF distance of all sub-trajectories in each cluster set to the cluster center of the cluster set is less than a second preset threshold; The cluster centers of the cluster sets are connected to determine a second movement trajectory.

3. The method according to claim 2, characterized in that Before determining the second position information of at least one first positioning point in the first moving track, the method includes: Determine at least one candidate positioning point in the second moving trajectory that meets a preset condition; Connecting two adjacent candidate positioning points to obtain a target chord of the second moving trajectory; If the distance from at least one third positioning point in the second moving trajectory to the target chord is less than a third preset threshold, then the third positioning point is indeed the target positioning point; The target positioning points are connected to obtain the first moving trajectory.

4. The method according to claim 1, characterized in that: The step of determining a target vertical point from among the candidate vertical points according to the first probability and the second probability includes: Determining a third probability, where the third probability is the product of the first probability and the second probability; A target vertical point is determined from the candidate vertical points, where the target vertical point is the candidate vertical point that maximizes the third probability.

5. The method according to claim 1, characterized in that After determining the target movement trajectory, including: Determine third position information of at least one vertical point of the target in the target movement trajectory; According to a preset offset threshold, adjusting the third position information of at least one of the target vertical points; According to the third position information of each target vertical point, connecting each target vertical point to obtain a moving trajectory to be fitted; According to a preset curve fitting method and the third position information, the movement trajectory to be fitted is subjected to curve fitting to determine a final movement trajectory after fitting.

6. A device for correcting a moving trajectory, characterized in that: include: A first determination module, used to determine first position information of at least one road and second position information of at least one first positioning point in a first moving trajectory; A second determination module is used to determine at least one candidate road from the at least one road, determine a candidate vertical point of the first positioning point on the candidate road, and the distance from the first positioning point to the candidate road is less than a first preset threshold; A third determination module is used to determine a first probability that the first positioning point moves to a second positioning point on the candidate road and to determine a second probability that the first positioning point moves on the candidate road, wherein the second positioning point is a positioning point subsequent to the first positioning point; an acquisition module, configured to determine a target vertical point among the candidate vertical points according to the first probability and the second probability, connect the target vertical points of each candidate road, and obtain a target moving trajectory; When determining the first probability that the first positioning point moves to the second positioning point on the candidate road, the third determination module is specifically configured to: Determine a first candidate vertical point of the first positioning point on at least one of the candidate roads and a second candidate vertical point of the second positioning point on at least one of the candidate roads; Determining a road distance between the first candidate vertical point and the second candidate vertical point; determining a first spherical distance between the first positioning point and the second positioning point; determining a first difference between the first spherical distance and the road distance and a standard deviation of the first difference; determining the first probability according to the first difference and the standard deviation; When the third determination module is used to determine the second probability that the first positioning point moves on the candidate road, it is specifically used to: Determine a first candidate vertical point of the first positioning point on at least one of the candidate roads; Determining a second spherical distance between the first positioning point and the first candidate vertical point; The second probability is determined according to a preset noise standard deviation and the second spherical distance.

7. An electronic device comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 5.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Method and device for determining action trails of user

    CN104270714A

  • Method and device for determining moving track and storage medium

    CN112399348A