WO2018227507A1 - Navigation basée sur des segments de tracé - Google Patents
Navigation basée sur des segments de tracé Download PDFInfo
- Publication number
- WO2018227507A1 WO2018227507A1 PCT/CN2017/088522 CN2017088522W WO2018227507A1 WO 2018227507 A1 WO2018227507 A1 WO 2018227507A1 CN 2017088522 W CN2017088522 W CN 2017088522W WO 2018227507 A1 WO2018227507 A1 WO 2018227507A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- segments
- segment
- trace
- determining
- segment structure
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
Definitions
- a navigation application may be a computer software program installed on a computing device equipped with a Global Positioning System (GPS) module. Based on signals received from GPS satellites and a map (preloaded or downloaded in real time) , the navigation application may provide a location of the computing device. Since the signals from the GPS satellites may be attenuated and scattered by roofs, walls and other objects of buildings, such a navigation application in some cases might not be able to provide an effective navigation service.
- GPS Global Positioning System
- Embodiments of the subject matter described herein provide a solution for segment-based navigation.
- traces that are obtained by a trace collector are divided into a plurality of segments, thereby reducing the granularity for navigation from trace level to segment level.
- a device obtains segments from at least one trace, and generates a segment structure reflecting the relationship among the segments.
- a target trace can be generated in a faster, more flexible, more systematic and more accurate way. In this way, efficiency and performance of the navigation are improved.
- Figs. 1A and 1B show schematic diagrams of conventional peer-to-peer navigation, respectively;
- Fig. 2 shows a schematic diagram of segment-based navigation according to embodiments of the subject matter described herein;
- FIG. 3 shows a flowchart of a method for generating a segment structure according to embodiments of the subject matter described herein;
- Fig. 4 shows a schematic diagram of a trace according to embodiments of the subject matter described herein;
- Figs. 5A and 5B show schematic diagrams of matched segments and mismatched segments according to embodiments of the subject matter described herein, respectively;
- Figs. 6A and 6B show schematic diagrams of matching and mismatching cases according to embodiments of the subject matter described herein, respectively;
- Fig. 7 shows a schematic diagram of graph construction according to embodiments of the subject matter described herein.
- Fig. 8 shows a schematic diagram of target trace generation according to the embodiment of the subject matter described herein.
- trace refers to a recording of a path from a start point to an end point in a region.
- a trace may include a variety of types of data, such as navigation data collected from a terminal device, navigation instruction (s) collected from a navigator, route (s) illustrated on a map, motion data measured at a terminal device, measurement data (such as a magnetic field signal) collected by a sensor, and/or the like.
- the term “segment” refers to at least a part of a trace.
- the segment may be obtained from a trace in a variety of ways.
- a trace may be divided into segments based on event types.
- the event type may include a turn event, a staircase event, an elevator event, and so on.
- a segment may be associated with one or more events and have corresponding attributes.
- a segment may be associated with an event of “walk straight for 6 meters. ” In this case, the segment has an event type of “walk straight” and a corresponding event attribute of “6 meters. ”
- the attribute may further include popularity, slope, speed limit, ease of access, and so on.
- P2P navigation does not require localization, instead, it follows a “leader-follower” (or peer-to-peer) paradigm.
- the P2P navigation has advantages in two main aspects. First, it saves the substantial setup effort and precision requirements of localization. Instead of building a full-fledged localization system, it offers a simple plug-and-play mechanism, that is, a “leader” captures a trace (for example, a series of sensor data) , and then any “follower” can navigate on that same trace. Second, it does not require the maps for navigation. Irrespective of whether the map information is complete or not, followers are still able to go to any point of interest (PoI) as long as a prior user has visited it before.
- PoI point of interest
- FIGs. 1A and 1B show schematic diagrams 110 and 120 of conventional P2P navigation, respectively.
- a user 1 recorded a trace from A to B
- another user 2 recorded a trace from A to C.
- conventional P2P navigation systems now if a third user 3 wants to navigate from B to C, he/she must first follow the reversed trace from B to A, and then follow the other trace from A to C.
- Fig. 1A shows a user 1 recorded a trace from A to B
- another user 2 recorded a trace from A to C.
- a third user 3 wants to navigate from B to C
- he/she must first follow the reversed trace from B to A, and then follow the other trace from A to C.
- the conventional P2P navigation systems also suffer from low flexibility.
- additional data sources may not be used as inputs or additional resources to improve the performance or accuracy of the navigation results.
- indoor maps may be available in some cases as additional resources, such additional resources, however, are not leveraged in a systematic way.
- users can merely follow a trace that was previously created by a leader. In other words, although there might be a large number of paths connecting all PoIs, it is still highly unlikely that there is a trace that exactly meets the user requirement.
- Embodiments of the subject matter described herein provide a method and device for navigation in a flexible and scalable way.
- segments are obtained from one or more traces collected by a trace collector, such as a mobile terminal, a navigation device, a sensor, and so on.
- a trace collector such as a mobile terminal, a navigation device, a sensor, and so on.
- a segment structure is generated for reflecting the relationship of the segments.
- a target trace can be generated in a faster, more flexible and more accurate way. As such, efficiency and performance of the navigation can be improved.
- Fig. 2 shows a schematic diagram of segment-based navigation according to embodiments of the subject matter described herein.
- the trace from A to B is divided into two segments 201 and 202
- the trace from A to C is divided into two segments 203 and 204.
- a new trace (sometimes also referred to as a “target trace” ) can be obtained.
- the user 3 wants to navigate from B to C, he/she can directly follow the generated target trace and arrive at point C in a quick and efficient way.
- the problem in the example of Fig. 1A can be solved.
- FIG. 3 shows a flowchart of a method 300 for generating a segment structure according to embodiments of the subject matter described herein.
- a plurality of segments are obtained from at least one trace.
- the at least one trace corresponds to a path from a start point to an end point in a region.
- the trace may be represented by data corresponding to user and environment inferences, an origin (or a start point) and a destination (or an end point) of a path, a series of movement events, location-related waypoints, and optional additional data related to the path (e.g. sensor readings, user annotations, pictures, etc. ) .
- a typical trace is shown in the following Table 1 as an example.
- a trace may come from different sources, e.g., navigation data collected from mobile apps, sequences of instructions to find a destination, routes drawn on maps, data collected from robotic devices during patrol, user motion data from wearable devices, and so on.
- the above example of a trace is merely described for purpose of discussion, rather than suggesting any limitation.
- the trace can be implemented as other suitable forms, for example, data collected from a sensor (also referred to as “sensor data” hereafter) , such as magnetic field magnitude, RF signal strength, and so on.
- Fig. 4 shows a schematic diagram of a trace 400 as illustrated in Table 1.
- the trace 400 is divided into five segments, 401 to 405.
- the trace may be divided into segments based on map information.
- a location associated with at least a part of a trace may be determined from geographical information of a map.
- the location may indicate a room, a site, a street, a traffic light, an intersection, and so on.
- the trace may be divided into segments based on the location.
- a trace can be projected to the map by, for example, using the trace projection technique.
- the projected trace can be divided into appropriate segments with high efficiency and accuracy. For instance, a passageway between two rooms may be determined as a segment.
- the segmentation as described above is merely an example rather than limitation.
- the system requirements may specify that a trace is divided into segments every 10 meters.
- a trace of 50 meters may be divided into 5 segments.
- segment structure is generated based on the segments for navigation in the region.
- segment structure refers to an organization of a plurality of segments.
- the segment structure reflects relationships among the segments, for example, whether the segments are matching, the matching degree of the segments, and so on.
- the segment structure may be determined based on a matching degree of different segments.
- the segment structure may be implemented in the form of a tree in a hash structure. A node of the tree may correspond to a segment, and a child of the node may correspond to another segment that is similar to the segment. The difference between the two segments may be reflected by a hash sequence of the child of the node.
- Hash sequences for the segments may be first generated based on the matching degree, and then a hash structure (also referred to as a hash tree) may be built as the segment structure based on the hash sequences.
- a hash structure also referred to as a hash tree
- Segment matching mainly aims to identify pairs of segments, which are recorded along the same pathway.
- the matching degree between segments may be determined.
- a matching degree of a first segment and a second segment may be determined, for example, based on a distance between the two segments, geometry shapes of the segments, event sequences of the segments, and/or the like.
- the distance and the geometry shapes may be for example determined based on location-specific sensor data (such as geomagnetic signals) of the segments. If the similarity exceeds a similarity threshold, it can be determined that the first and second segments are matching. Then, the segment structure may be determined based on the matching degree.
- Figs. 5A and 5B show schematic diagrams of matched segments and mismatched segments according to embodiments of the subject matter described herein, respectively.
- the segments are represented by the geomagnetic signals. From Fig. 5A, it can be seen see that although there are differences between two geomagnetic signals, the shapes of the two segments 511 and 512 are roughly the same. On the contrary, signals from two segments 521 and 522 in Fig. 5B share much less similarities and hence could be considered unmatched. The robustness of the geomagnetic signal may be determined in a variety ways, which are not detailed here. It is to be noted that the match or mismatch determination is not necessarily performed based on segments having substantially identical length, segments recorded along the same pathway but having different lengths may also be compared. It is also to be noted that any similarity determination algorithm now known or later developed can be employed for identifying the match/mismatch of segments.
- the first and second segments may be unsynchronized.
- the first segment may be aligned with the second segment based on a dynamic time warping (DTW) algorithm.
- DTW dynamic time warping
- a two-step approach may be used to identify whether two sequences match.
- the DTW algorithm is used to synchronize two sequences, and then a Support Vector Machine (SVM) algorithm is used to classify the synchronization result.
- SVM Support Vector Machine
- some features may be selected to train the SVM classifier.
- the selected features may include length of the first segment, length of the second segment, DTW distance between the two segments, shape of optimal DTW path in the warping cost matrix, and/or the like.
- Figs. 6A and 6B show schematic diagrams of matching and mismatching cases according to embodiments of the subject matter described herein, respectively. Specifically, Figs. 6A and 6B show optimal DTW paths in the warping cost matrix for both matching and mismatching cases, respectively.
- Every point (i, j) in the solid line (also referred to as a “synchronization line” ) means that the i-th sample in segment one should be matched with the j-th sample in segment two.
- the dashed line is a reference line.
- the intermediate area between the synchronization line and the reference line may serve as a match indicator.
- the synchronization line is similar to the reference line and the intermediate area is small. Thus, it can be determined that the matching degree is high.
- the synchronization line drifts from the reference line and the intermediate area is relatively large, which indicates that the matching degree is low.
- segment fusion is used to aggregate the matched segments into a general representation.
- an attribute weight w is introduced for every segment, where w i means the total number of raw segments that the i-th segment is aggregated from. For example, the weight of a raw segment is 1 and if two raw segments are aggregated to get a new segment, the weight becomes 2.
- the DTW synchronization algorithm may be used to get the time warping cost matrix and synchronization trajectory.
- a new segment can be obtained.
- down-sampling may be performed on the generated sequence to rescale its length to where w i is the weight and l i is the length of the segments.
- the weight of the new segment may be set to w i +w j . This process may repeat every time when a new segment match is identified.
- the hash structure may be implemented as a k-d tree based on the matching degree.
- a family of hash functions, which are used for building the hash structure, may be implemented based on Distance-Based Hashing (DBH) for mapping data under an arbitrary distance into real numbers.
- the data mapping may be implemented, for example, by using a FastMap technique.
- the formal definition may be given as: given any distance space choose two reference members
- For any query point s in the hash function may be:
- this hash function (1) will project the query point to the line determined by s 1 and s 2 . If is a non-Euclidean distance space, this hashing function (1) can still approximately preserve distance relationship. After the hash value is obtained, it may be binarized based on whether or not lies in a certain range [t 1 , t 2 ] as follows:
- Equation (2) if the hash value lies in the range of [t 1 , t 2 ] , it may be binarized as 1; otherwise, it may be binarized as 0.
- the range [t 1 , t 2 ] may be chosen to make a random object in have a 50%possibility to be mapped within the range and a 50%possibility to be mapped outside the range.
- the set of ranges may be defined as:
- the set of optimal hash functions may be defined as
- the hash structure may be built according to Algorithm 1 shown below. For every segment s i in a set of segments (also referred to as a “segment set” ) S, a hash sequence h i with the length of bits may be maintained. To generate bits for every hash sequence, Algorithm 1 takes iterations. For each iteration, it first randomly chooses two reference segments s i1 , s i2 , and computes for every segment s j based on the matching degree, for example, the DTW distance. Then, a value may be assigned to the hash bits according to whether is larger or smaller than the median.
- Algorithm 1 shown below. For every segment s i in a set of segments (also referred to as a “segment set” ) S, a hash sequence h i with the length of bits may be maintained. To generate bits for every hash sequence, Algorithm 1 takes iterations. For each iteration, it first randomly choose
- a bit “0” may be appended to the hash sequence; otherwise, a bit “1” may be appended to the hash sequence.
- O (n log n) comparisons between segments are conducted. Since the hash sequence has a length of there are a total of O (n) possible types of hash sequence. Due to the algorithm′s balancing mechanism, the average number of segments that are hashed to a specific hash sequence is O (1) .
- s 1 and s 2 may be chosen by Algorithm 1 as the reference segments to compute the first hash bit for all the hash sequences.
- Algorithm 1 Algorithm 1
- the result is ⁇ 1, 0, 1, 0 ⁇
- the hash sequences of s 1 , s 2 , s 3 and s 4 are “10” , “00” , “11” and “01” , respectively.
- the hash structure may be updated incrementally. If a new segment is to be inserted to the hash structure, a query operation may be performed to find matching segments in the hash structure for an input segment.
- a hash sequence for a new segment may be obtained by comparing the new segment with all reference segments, for example, after O (log n) comparisons. Then, it will be compared with all the segments whose hash sequence has at most one bit difference with itself to find a match case. Since there are a total of O (log n) hash sequences satisfying this requirement, and every sequence has an average of O (1) corresponding segments, this may take, on average, O (log n) comparisons. Therefore, a query operation also takes a total of O (log n) comparisons.
- s′ 1 may be compared with all reference segments and obtain its hash sequence, say ⁇ 10 ⁇ in this case. Then it finds s 1 and s′ 1 matches to each other. Details of the matching are similar as those discussed in the section of Segment Matching, and are thus omitted here.
- a new pair of reference segments may be chosen and one more bit may be added to every hash sequence. This step takes O (n) comparisons.
- O (n) comparisons In the above example, if one more segment s 5 is added into the hash structure, it should be compared with all the reference traces to get its hash sequence. If additional four segments ⁇ s5, s6, s7, s8 ⁇ are added, it will choose two more reference segments and extend all the hash sequence by one bit. In this way, the hash structure can be more scalable.
- re-hash operation may be performed in a variety of ways.
- the re-hash operation for any hash digit, if the number of hash bits set to one is much more/less than that to zero, the re-hash operation may be triggered to reassign the hash bit value based on the median of The total complexity of the re-hash operation for any digit is O (n) .
- undesired collision and/or branching problems may occur in the hash structure.
- the collision happens when mismatching segments (that is, the matching degree of these segments is low) are hashed to the same hash sequence.
- Branching refers to the problem where matching segments are hashed to different hash sequences.
- the pairwise matching algorithm may be applied for all the segments with the same hash sequence. Since the average number of segments that are hashed to a specific hash sequence is O (1) , this operation only takes O (1) comparisons for every hash sequence.
- K K is a constant
- hash structures may be built to index traces under different sets of reference segments. All the operations are applied to different copies of hash structures. Even though a pair of matched segments can hash to diverse hash sequences in one hash structure, they tend to be hashed to the same sequence in other hash structures. In this way, the branching ratio in segment indexing can be significantly reduced without an increase in computational complexity.
- hash structure is just an example for implementing the segment structure, rather than suggesting any limitation. Those skilled in the art would appreciate that other suitable structures for indexing high-dimension data are also applicable.
- segment graph refers to a graph concatenating or connecting different segments in the segment structure.
- An edge of the segment graph may indicate a segment, and a node of the segment graph may indicate a connector between two or more segments.
- the connected segments may be also referred to as “adjacent segments. ”
- the connector may have a connector type and a corresponding attribute.
- the connector may further have a list of the adjacent segments.
- a segment graph G is a representation of overall segment connectivity, while a map M is a real indoor floor plan.
- a graph G is modeled using segments and connectors, i.e., G is defined as a set of segments and a set of connectors
- G may be defined as a set of pathways and a set of connectors
- Amap pathway and a graph segment differ only in that the segment includes a representation of sensor data.
- Each connector may have a type, an attribute value, the ID list of the adjacent segments, and so on.
- a segment graph may be constructed with only segment matching information. If optional indoor maps are available, the device may first project traces into the map, and then apply a hidden Markov model to get a graph representation.
- the segment graph may be constructed either with a map or without a map.
- the segment graph construction determines a first bucket of segments and a second bucket of segments from the segment structure.
- the first bucket may include a set of segments serving as input of a set of segments in the second bucket. Then, the connector between segments in the first and second buckets may be obtained. Now embodiments are provided to present how to construct the graph without any map information.
- the segment graph may be constructed according to the following Algorithm 2.
- the Algorithm 2 uses trace level connectivity information to connect different buckets with distinctive connector values (lines 1-7 of Algorithm 2) .
- the bucket function returns the corresponding bucket for each segment, and the value function returns the attribute value for each connector. Even if the values for certain types of connector are continuous (e.g. turn angle in degrees) , they can still discretized them by introducing thresholds or value ranges to make the total number of distinct connectors constant.
- Each bucket keeps a list of connector values representing individual links from itself to other buckets.
- the algorithm finds the most probable next segment for every connector value for each bucket using majority vote (lines 8-13 of Algorithm 2) . After obtaining the connectivity between different segments, the segment graph can be obtained from the buckets and the intermediate connectors between them (lines 14-16 of Algorithm 2) .
- Fig. 7 shows a schematic diagram of graph construction according to embodiments of the subject matter described herein.
- Fig. 7 there are four traces in the system. Every trace contains two segments connected with 90-degree right turn events. According to the matching results, segments 1-4 match each other, and belong to a first bucket. Similarly, segments 5-7 go to the second bucket, and segment 8 goes to a third bucket. Since the majority of segments in the first bucket are connected to the segments in second red bucket with a 90-degree right turn. For example, the first bucket and the second bucket may be connected with a right turn connector in the segment graph.
- PoIs including a starting point, an ending point, a connector, and/or the like
- a new trace also referred to as a “target trace”
- searching the segment graph and selecting the appropriate segments.
- the segments may be projected to a map. Then, the connector may be determined between the segments based on geographical information of the map, also referred to as “map information” hereafter.
- the map information can facilitate the segment graph construction process. Specifically, it benefits to get a clear representation for segment graphs, provide ground truth for all events and segments, reduce the dimension of the segment indexing structure, and so on. In some embodiments, to fully take advantages of a map, each trace is projected onto the map, while dealing with potential mapping conflicts from new coming traces.
- a segment may be projected to the map using a map mapping algorithm.
- a representative signal for example, sensor data
- the map geometry may be used to represent how to connect segments.
- the first step of constructing a segment graph is to project a trace onto the map. Finding the best-match pathway for an abstract trace in the floor plan can be modeled as a search problem.
- the length of recorded traces and pathways in the map is not measured by a uniform metric (steps and meters respectively, for instance) .
- different metrics may be converted to a uniform metric for effective trace projection.
- the variance of the average step length may be used for different segments as the metric to measure match quality.
- the problem may be defined as follows.
- pathway P is a possible matching candidate for trace U in M. and is the sequence of segments of trace U and pathway P, respectively.
- the function length ( ⁇ ) is used to obtain the length of a segment. If the segment comes from a recorded trace, the function returns the number of steps in the segment, otherwise it returns the length in meters. is used to denote the average step length set for the matching between U and P. and are sequences of connectors of trace U and pathway P, respectively. Every connector or can also be represented by two adjacent segments or are used to denote two connectors that have the same event type and matched event value.
- a weighted variance of L (U, P) may be considered as the matching metric.
- the goal of finding the best match pathway in the map can be expressed as subject to P ⁇ M;
- the search algorithm is improved at least along two dimensions: i) reducing the computation within each step and ii) reducing the number of search steps.
- an incremental method may be incorporated to update the weighted variance, for example, according to Lemma A. 1. This method fully utilizes the previous result to compute the result of the next step, and only takes O (1) time for each step state update.
- the performance of pruning also relies on search order: the earlier the best-match pathway is found, the more unnecessary searches can be avoided. Based on this observation, the most promising search pathways may be tried to expand in every iteration. To identify how promising a pathway is, the normalized step length variance is used as the metric. Thus the algorithm chooses the pathway with minimal norm (L (U, P) ) .
- Algorithm 3 as shown below illustrates in detail the search algorithm.
- the algorithm takes as input a trace U, a map M, and the starting point c sp in the map.
- search it maintains the search state in a priority queue pqueue.
- the search state contains several domains: key, index, var, next, seg, which refer to the average weighted step variance, index of current matching segment, weighted step variance, the next search segments, and the last matched segment, respectively.
- the priority queue compares states by key and returns the minimum-key state.
- the makestate function is used to update the search state information incrementally based on the previous search state. The key part of this function is to upgrade the weighted variance of step length according to Lemma A. 1.
- the Algorithm 3 performs pruning with the information of weighted variance of step length to reduce the search space. Once the algorithm finds a feasible solution, it traces back the search route to get its pathway (lines 8-12) . Lines 13-18 check whether a trace event qualifies and pushes one more search state to the queue. The algorithm stops when the priority queue becomes empty.
- a Hidden Markov Model may be employed to infer the most likely magnetic signal sequence for every segment. Specifically, the sequence of segments is first used as hidden variable and corresponding magnetic signal sequences as observed variable to train the HMM. After that, the probability distribution of magnetic signal sequences is obtained for every segment. Then, the one with highest probability may be selected as the magnetic signal sequence for the segment.
- HMM Hidden Markov Model
- the segment matching results and the segment buckets may be employed. So in training, the actual observed variable is the bucket index. During the prediction, the result is also the most probable bucket.
- the most probable bucket may be extracted for every segment in the map and connected through their corresponding navigation event connectors. As such, the segment graph can be generated in a more accurate way.
- the target trace may be generated in a variety of ways, including, but not limited to, providing the shortest path from the starting point to the ending point, considering the quality of segments associated with the starting point and the ending point, and so on.
- FIG. 8 illustrates an example of target trace generation using the segments-based navigation system described as above, according to the embodiment of the subject matter described herein. As shown, three recorded traces are demonstrated as an example in FIG. 8, and each of the traces has been divided into several segments. For example, the first trace has been divided in to segments 811, 812 and 813, the second trace has been divided in to segments 821 and 822, and the third trace has been divided in to segments 831 and 832.
- more traces may be beneficial to generate an optimized trace (such as a trace having the shortest distance) from the start point to the end point selected by the user.
- an optimized trace such as a trace having the shortest distance
- the proposed segments-based navigation solution does not necessarily rely on a large number of previously recorded traces.
- even only one historical trace generated by a leader would also be helpful for generating a new trace for a follower.
- the three traces may come from different sources depending on the measuring tools available to the leaders.
- the user when a user would like to find a way from a start point to an end point, the user only needs to provide the start point and the end point for example via a request.
- the user may directly select the start and end points on an user interface.
- the user 3 may want to find a way from room 820 to room 860.
- the system upon the user’s request of trace generation is received by the navigation system, the system would automatically determine/select segments that are related to the target trace connecting room 820 and room 860 for the user 3.
- the determination/selection of segments from the respective trace can be based on the user’s own criteria or preferences, such as movement time of the target trace, movement distance of the target trace, or ease of access of the target trace.
- the determination/selection of segments from the respective trace can be based on the trace quality of at least one of the first source and the second source. For example, since the signals from the GPS satellites may be attenuated and scattered by tunnels, bridges and buildings, the system may select some segments corresponding to the open area. It is to be noted that two or more criteria or preferences can be simultaneously applied for the segments determination/selection.
- the proposed navigation system matches the starting point and the end point in the PoI database. Instead of providing the shortest path from the starting point to the destination, the proposed system returns the one feasible route by taking the quality of segment into consideration.
- segment quality is measured by the size of segment buckets as discussed with reference to Fig. 7.
- the quality of the segment is considered good, and in this case, the first bucket’s signals are treated as default signals for the segment.
- 50 segments belong to one bucket and the other 50 segments belong to the other bucket it is hard to decide what signals we should use for the segment.
- SNR signal to noise ratio
- the proposed system constructs a new path search graph based on trace graph from Section “Segment Graph Construction” by updating the “length” value of each segment as
- the system selects segment 812 from the first trace, segment 821 from the second trace, and segment 831 from the third trace to satisfy the user’s request.
- those segments are connected or “stitched” in a way of end to end, via one or more connectors, to generate a target trace satisfying the user’s request.
- the determined adjacent segments 812, 821 and 831 are connected via connectors 840 and 850 to generate a target trace from room 820 to room 860.
- the proposed navigation approach does not require a map for navigation.
- both segment division and segment connection procedure can be expedited and eased. Therefore, in some embodiments, the map information may also be utilized to connect two or more segments that are projected on the map. For example, if it is found that two adjacent segments have a shared waypoint on the map, such as a room number, then the two segments can be subsequently connected via a proper connector.
- the navigation approach is based on the segment structure that is stored and updated over time. Therefore, such stored and updated segment structure may also be applied on other aspects of people’s daily life.
- a graph that reflects “hot spots” in an area within a period can be generated based on the popularity attributes associated with segments in the segment structure and demonstrated to the user.
- a shop owner may use such a graph to find the best location for his/her shop in a shopping mall.
- a tourist may use such a graph to find the most popular places to visit in a park.
- the segment structure may help a passenger using public transportation system, such as a subway passenger, to plan the most appropriate route, including the metro line changes, from the origin to the destination.
- public transportation system such as a subway passenger
- FPGA field programmable gate array
- ASSP application-specific standard product
- SOC system on chip
- CPLD complex programmable logic device
- Program codes for carrying out methods of the subject matter described herein may be written in any combination of one or more programming languages. These computer program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowcharts and/or block diagrams to be implemented.
- the program code may be executed entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
- a machine readable medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- the machine readable medium may be a machine readable signal medium or a machine readable storage medium.
- a machine readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- machine readable storage medium More specific examples of the machine readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- CD-ROM portable compact disc read-only memory
- magnetic storage device or any suitable combination of the foregoing.
- the embodiments of the subject matter described herein include a computer implemented method.
- the method comprises: obtaining a plurality of segments from at least one trace, the at least one trace corresponding to a path from a start point to an end point in a region; and generating, based on the plurality of segments, a segment structure for navigation in the region, the segment structure indicating a relationship of the plurality of segments.
- obtaining a plurality of segments from at least one trace comprises: determining an event type associated with at least a part of a trace, the event type indicating at least one of: a turn event, a staircase event, and an elevator event; and dividing the trace into segments based on the event type.
- obtaining a plurality of segments from at least one trace comprises: determining, from geographical information of a map, a location associated with at least a part of a trace, the location indicating at least one of: a room, a site, a street, a traffic light, and a cross; and dividing the trace into segments based on the location.
- the plurality of segments at least includes a first segment and a second segment
- generating the segment structure comprises: determining a matching degree of the first and second segments; and generating the segment structure based on the matching degree.
- determining the matching degree comprises: determining a similarity between the first and second segments based on at least one of: a distance between the first and second segments, geometry shapes of the first and second segments, and event sequences of the first and second segments; and in response to the similarity exceeding a similarity threshold, determining that the first and second segments are matching.
- determining the similarity between the first and second segments comprises: in response to the first and second segments being unsynchronized, aligning the first segment with the second segment based on dynamic time warpping; and determining the similarity based on the aligned segments.
- generating the segment structure based on the matching degree comprises: generating hash sequences for the first and second segments based on the matching degree; and building, based on the hash sequences, a hash tree as the segment structure.
- the method further comprises: constructing a segment graph based on the segment structure, an edge of the segment graph indicating a segment in the segment structure, and a node of the segment graph indicating a connector between at least two segments.
- constructing the segment graph comprises: determining a first bucket of segments and a second bucket of segments from the segment structure, the first bucket including a set of segments serving as input of a set of segments in the second bucket; and determining a connector between segments in the first and second buckets.
- constructing the segment graph comprises: projecting segments of the segment structure to a map; and determining a connector between the segments based on geographical information of the map.
- the embodiments of the subject matter described herein further provide a computer program product stored in a non-transient storage medium and including machine executable instructions which, when running on a device, cause the device to: obtain a plurality of segments from at least one trace, the at least one trace corresponding to a path from a start point to an end point in a region; and generate, based on the plurality of segments, a segment structure for navigation in the region, the segment structure indicating a relationship of the plurality of segments.
- the machine executable instructions when running on a device, further cause the device to: determine an event type associated with at least a part of a trace, the event type indicating at least one of: a turn event, a staircase event, and an elevator event; and divide the trace into segments based on the event type.
- the machine executable instructions when running on a device, further cause the device to: determine, from geographical information of a map, a location associated with at least a part of a trace, the location indicating at least one of: a room, a site, a street, a traffic light, and a cross; and divide the trace into segments based on the location.
- the plurality of segments at least includes a first segment and a second segment
- the machine executable instructions when running on a device, further cause the device to: determine a matching degree of the first and second segments; and generating the segment structure based on the matching degree.
- the machine executable instructions when running on a device, further cause the device to: determine a similarity between the first and second segments based on at least one of: a distance between the first and second segments, geometry shapes of the first and second segments, and event sequences of the first and second segments; and in response to the similarity exceeding a similarity threshold, determine that the first and second segments are matching.
- the machine executable instructions when running on a device, further cause the device to: in response to the first and second segments being unsynchronized, align the first segment with the second segment based on dynamic time warping; and determine the similarity based on the aligned segments.
- the machine executable instructions when running on a device, further cause the device to: generate hash sequences for the first and second segments based on the matching degree; and build, based on the hash sequences, a hash tree as the segment structure.
- the machine executable instructions when running on a device, further cause the device to: construct a segment graph based on the segment structure, an edge of the segment graph indicating a segment in the segment structure, and a node of the segment graph indicating a connector between at least two segments.
- the machine executable instructions when running on a device, further cause the device to: determine a first bucket of segments and a second bucket of segments from the segment structure, the first bucket including a set of segments serving as input of a set of segments in the second bucket; and determine a connector between segments in the first and second buckets.
- the machine executable instructions when running on a device, further cause the device to: project segments of the segment structure to a map; and determine a connector between the segments based on geographical information of the map.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
Selon l'invention, un dispositif obtient des segments à partir d'au moins un tracé (310), et génère une structure de segment reflétant la relation des segments (320). Au moyen de la structure de segment, un tracé cible peut être généré de manière plus rapide, plus souple et plus précise. De cette manière, l'efficacité et les performances de la navigation sont améliorées.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/088522 WO2018227507A1 (fr) | 2017-06-15 | 2017-06-15 | Navigation basée sur des segments de tracé |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/088522 WO2018227507A1 (fr) | 2017-06-15 | 2017-06-15 | Navigation basée sur des segments de tracé |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018227507A1 true WO2018227507A1 (fr) | 2018-12-20 |
Family
ID=64658798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/088522 WO2018227507A1 (fr) | 2017-06-15 | 2017-06-15 | Navigation basée sur des segments de tracé |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2018227507A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737377A (zh) * | 2019-12-25 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种漂移轨迹的识别方法、装置及计算设备、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101424540A (zh) * | 2008-12-12 | 2009-05-06 | 清华大学 | 一种车辆导航中基于动态虚拟路口的地图匹配方法 |
GB2478322A (en) * | 2010-03-03 | 2011-09-07 | Vodafone Plc | System for combining the effect of condition parameters in route determination |
CN103620345A (zh) * | 2011-06-28 | 2014-03-05 | 微软公司 | 通过信息采集和检索提供路线 |
CN103900596A (zh) * | 2012-12-28 | 2014-07-02 | 环达电脑(上海)有限公司 | 基于路段的导航路径规划方法及其装置 |
CN104061927A (zh) * | 2014-07-02 | 2014-09-24 | 百度在线网络技术(北京)有限公司 | 用于步行导航的方法和装置 |
CN104864871A (zh) * | 2015-05-27 | 2015-08-26 | 重庆大学 | 一种基于移动终端惯性导航的室内定位和路径引导方法 |
-
2017
- 2017-06-15 WO PCT/CN2017/088522 patent/WO2018227507A1/fr active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101424540A (zh) * | 2008-12-12 | 2009-05-06 | 清华大学 | 一种车辆导航中基于动态虚拟路口的地图匹配方法 |
GB2478322A (en) * | 2010-03-03 | 2011-09-07 | Vodafone Plc | System for combining the effect of condition parameters in route determination |
CN103620345A (zh) * | 2011-06-28 | 2014-03-05 | 微软公司 | 通过信息采集和检索提供路线 |
CN103900596A (zh) * | 2012-12-28 | 2014-07-02 | 环达电脑(上海)有限公司 | 基于路段的导航路径规划方法及其装置 |
CN104061927A (zh) * | 2014-07-02 | 2014-09-24 | 百度在线网络技术(北京)有限公司 | 用于步行导航的方法和装置 |
CN104864871A (zh) * | 2015-05-27 | 2015-08-26 | 重庆大学 | 一种基于移动终端惯性导航的室内定位和路径引导方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737377A (zh) * | 2019-12-25 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种漂移轨迹的识别方法、装置及计算设备、存储介质 |
CN111737377B (zh) * | 2019-12-25 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 一种漂移轨迹的识别方法、装置及计算设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Quddus et al. | Shortest path and vehicle trajectory aided map-matching for low frequency GPS data | |
Hashemi et al. | A weight-based map-matching algorithm for vehicle navigation in complex urban networks | |
CN109405839B (zh) | 一种基于多路径的交通网络离线地图匹配算法 | |
US10018474B2 (en) | Method and system for using offline map information aided enhanced portable navigation | |
Tang et al. | Estimating the most likely space–time paths, dwell times and path uncertainties from vehicle trajectory data: A time geographic method | |
Xiao et al. | Lightweight map matching for indoor localisation using conditional random fields | |
WO2017162036A1 (fr) | Procédé de reconnaissance de mouvement de lacet, terminal et support de stockage | |
Hunter et al. | The path inference filter: model-based low-latency map matching of probe vehicle data | |
KR20190082071A (ko) | 전자 지도를 업데이트하기 위한 방법, 장치 및 컴퓨터 판독 가능한 저장 매체 | |
US20140114563A1 (en) | Probabilistic map matching from a plurality of observational and contextual factors | |
US9086288B2 (en) | Method and system for finding paths using GPS tracks | |
CN105335597B (zh) | 用于获取路线的轨迹模式的方法和系统 | |
US11162797B2 (en) | Map matching method and apparatus | |
Knapen et al. | Likelihood-based offline map matching of GPS recordings using global trace information | |
CN112444254B (zh) | 生成地图版本间对应关系的方法、设备和计算机程序产品 | |
US20220338014A1 (en) | Trustworthiness evaluation for gnss-based location estimates | |
CN112444255B (zh) | 生成地图版本间对应关系的方法、设备和计算机程序产品 | |
Torre et al. | Matching GPS traces to (possibly) incomplete map data: bridging map building and map matching | |
US20220163343A1 (en) | Estimating a device location based on direction signs and camera output | |
Li et al. | Spatio-temporal trajectory simplification for inferring travel paths | |
Chen et al. | Enabling smart urban services with gps trajectory data | |
Karimi et al. | Uncertainty in personal navigation services | |
WO2018227507A1 (fr) | Navigation basée sur des segments de tracé | |
Boucher et al. | Automatic detection of topological changes for digital road map updating | |
US20230196215A1 (en) | Method for computing a set of itineraries from a departure location to an arrival location using cluster-based searching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17913492 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17913492 Country of ref document: EP Kind code of ref document: A1 |