WO2015163727A1 - 주변 신호를 이용한 궤적 매칭 - Google Patents
주변 신호를 이용한 궤적 매칭 Download PDFInfo
- Publication number
- WO2015163727A1 WO2015163727A1 PCT/KR2015/004107 KR2015004107W WO2015163727A1 WO 2015163727 A1 WO2015163727 A1 WO 2015163727A1 KR 2015004107 W KR2015004107 W KR 2015004107W WO 2015163727 A1 WO2015163727 A1 WO 2015163727A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- trajectory
- matching
- signal
- turn
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/03—Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
- G01S19/10—Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing dedicated supplementary positioning signals
- G01S19/12—Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing dedicated supplementary positioning signals wherein the cooperating elements are telecommunication base stations
Definitions
- Various embodiments use crowd-sourced trajectory data to determine the relative position between paths. Some embodiments include using a linked node structure to represent paths in a particular area.
- GPS Global Positioning System
- Indoor trajectory data can be calculated using Pedestrian Dead Reckoning (PDR) based on information generated by the user's mobile device without relying on existing RF infrastructure such as Wi-Fi networks or Bluetooth transmitters. have.
- PDR Pedestrian Dead Reckoning
- information for performing pedestrian dead reckoning may be generated using an accelerometer or a magnetic field (compass) of the mobile device.
- Indoor trajectory data using PDR has been widely used for personal tracking and location determination indoors.
- the indoor positioning system can use the indoor trajectory data to track the user's current location by estimating direction of movement and number of steps.
- trajectory data collected from users is an important data source for behavior pattern analysis. For example, information such as how often a user has moved in a shopping mall and how long a user has stayed in front of a shopping shelf is contextual information that may indicate a user's shopping interest.
- Interior trajectory data aggregated from a plurality of users can help the store owner find a problem with the shelf arrangement. The store owner can use the data to develop a sorting method to improve the user's shopping experience and benefit from the store.
- trajectory data using PDR is indoor mapping.
- Indoor trajectory data can be used to map indoor environments.
- the generated map can be utilized for indoor location-based services.
- FIG. 1A shows a path used for floor plan and indoor trajectory data collection.
- 1B shows two trajectories 110 and 120 based on two PDR data calculations. Indoor trajectories do not overlap well due to smartphone gyro and compass noise. In particular, there is a difference in the first trajectory of the indoor trajectory, and the angles of the corners of the two trajectories are slightly different.
- FIG. 2A Another problem with traditional PDRs is the different starting point of the trajectory.
- FIG. 2A assume that two different trajectory data examples have been obtained. The data comes from two paths with different (but not all) overlaps with different starting points. For example, two different people in the same office can have different seats (different starting points) while walking around the same specific public segment indoors. As shown, in any case the starting points of each example can be different and the paths need not be the same. In general, the starting point is the offset. As with traces 205 and 210 shown in Figure 2B, with different starting points plus gyro and compass errors, the two trajectories can be completely inconsistent when placed in the same coordinate system. This is a fundamental problem in most indoor trajectory based location systems.
- a method includes collecting trajectory data for a plurality of crowdsourced paths, wherein the trajectory data for each of the crowdsourced plurality of paths is uniquely identifiable at least one peripheral signal. Collecting, associated with the; And automatically determining the shape of the target path using trajectory data for the plurality of crowdsourced paths and at least one associated peripheral signal; It may include.
- FIG. 1A and 1B illustrate a problem in which a sensor error appears in matching two traces of trajectory data according to the prior art.
- FIG. 3 is a diagram illustrating a system according to an embodiment.
- FIG. 4 is a diagram illustrating a system according to an embodiment.
- 5 illustrates a method of automatically determining a path using crowdsourcing according to an embodiment.
- FIG. 6 illustrates a method for automatically determining a path using crowdsourcing according to an embodiment.
- FIG. 7 is a diagram illustrating a state of performing turn detection by inspecting an auxiliary trajectory in a step of a selected length according to an embodiment.
- FIG. 8 is a diagram illustrating adjusting a step length to engage a turn according to an embodiment.
- FIG. 9 is a diagram illustrating trajectory adjustment according to an embodiment.
- FIG. 10 is a view illustrating a matching evaluation according to an embodiment.
- connection node structure 11 illustrates a method of generating a connection node structure according to an exemplary embodiment.
- connection node structure 12 illustrates a method of updating a connection node structure according to an embodiment.
- connection node structure 13 is a diagram illustrating a method of creating and updating a connection node structure according to an embodiment.
- FIG. 14 is a block diagram illustrating a path through a shopping mall, according to an exemplary embodiment.
- 15 is a diagram illustrating a trace and a reference point according to an exemplary embodiment.
- connection node structure 16 is a diagram illustrating a connection node structure according to one embodiment.
- 17 is a block diagram illustrating a path through a shopping mall, according to an exemplary embodiment.
- FIG. 18 is a diagram illustrating two traces according to an exemplary embodiment.
- 19 is a diagram illustrating a trace and a reference point according to an exemplary embodiment.
- connection node structure 20 is a diagram illustrating a matching point of a connection node structure and a trace, according to an exemplary embodiment.
- 21 is a diagram illustrating a modified connection node structure according to one embodiment.
- 22 illustrates merging two traces according to an embodiment.
- FIG. 23 is a diagram illustrating rotating a trace according to an exemplary embodiment.
- a method includes collecting trajectory data for a plurality of crowdsourced paths, wherein the trajectory data for each of the crowdsourced plurality of paths is uniquely identifiable at least one peripheral signal. Collecting, associated with the; And automatically determining the shape of the target path using trajectory data for the plurality of crowdsourced paths and at least one associated peripheral signal; It may include.
- automatically determining the shape of the target path may include matching trajectory data for a plurality of crowdsourced paths using at least one associated ambient signal.
- the matching may also include identifying anchor points of the trajectory data for the plurality of crowdsourced paths; And performing matching based on the reference points; Further, the reference points may correspond to a transition of a feature of the trajectory data of each of the crowdsourced plurality of paths.
- the peripheral signal may include trajectory data indicating a moving state of the mobile device, and the transition may include at least one of a turn, a moving direction, and a moving pattern of the mobile device.
- performing matching based on the reference point may include identifying a matching pattern of the reference point; It may further include.
- identifying a matching pattern of reference points may include identifying a turn of the mobile device; It may further include.
- identifying the turn may include selecting a step length of the auxiliary trajectory and determining whether the critical angle condition is satisfied.
- the step length is adjusted differently according to the type of turn to be detected;
- the type of turn may be determined according to the curvature at the point of the trajectory corresponding to the turn.
- the method further includes identifying at least one of the last turn of the combination of turns whose curvature is greater than the first threshold curvature and at least one of the turns whose curvature is less than the predetermined second threshold curvature; It may further include.
- evaluating the matching result may further include acquiring a number of cases in which the turns included in the two crowdsourced paths may be combined with each other.
- matching may be evaluated based on at least a portion of the similarity of the surrounding signals.
- evaluating the matching may include calculating a similarity of the surrounding signals and determining a score based on a result of dividing the similarity of the surrounding signals by the distance component.
- performing matching may include moving and rotating the trajectory data to align the trajectory data; It may further include.
- the peripheral signal may include at least one of a Wi-Fi signal, a Bluetooth signal, a sound, an image signal, a magnetic signal, and a light signal.
- trajectory data may be collected from a plurality of mobile devices.
- each of the plurality of mobile devices may include at least one sensor for generating trajectory data.
- a node represents a geographic location passed by one or more traces
- a link may mean a path available between the geographic locations represented by a pair of nodes by connecting a pair of nodes.
- a linked node structure comprising two or more nodes and one or more links based on one or more traces; Matching one or more identifiable change points included in the new trace with one or more nodes included in the connection node structure; And updating the connection node structure based on the matching result.
- An apparatus is a collector that collects trajectory data for a plurality of crowdsourced paths, wherein the trajectory data for each of the crowdsourced plurality of paths is associated with at least one uniquely identifiable ambient signal. , Collector; And automatically determining the shape of the target path using trajectory data for the plurality of crowdsourced paths and at least one associated peripheral signal. It may include.
- a program for executing a trajectory matching method using a peripheral signal in a computer may be recorded.
- crowd-sourcing refers to involving the public in data collection. That is, in determining the target path, it means receiving a peripheral signal including trajectory data about the path from a device of an unspecified number of individuals who are passing through the same space or past.
- a turn refers to a change in a moving direction of a mobile device.
- a steep turn refers to a turn in which the curvature of the point on the trajectory corresponding to the turn is greater than the first predetermined threshold curvature.
- a gentle turn is a turn in which the curvature of the point on the trajectory corresponding to the turn is less than the predetermined second threshold curvature.
- the first threshold curvature may be set to have a value equal to the second threshold curvature.
- matching refers to matching at least some of the shapes of a plurality of traces or traces with each other.
- the matching may be used to remove the offset by moving a plurality of trajectories or traces containing the offset according to their shape.
- the offset means the degree to which the shape of the plurality of trajectories or traces that can be matched with respect to at least a part thereof is separated from each other.
- the system according to an embodiment may be a computing device 300 having a processor 320 and a collector 310.
- the computing device 300 may further include a collector 310 for collecting the ambient signal or receiving the collected ambient signal.
- the collector 310 collects trajectory data related to at least one uniquely identifiable ambient signal for the plurality of crowdsourced paths.
- the processor 320 automatically determines the shape of the path using trajectory data for the crowdsourced path and at least one associated peripheral signal.
- the computing device 300 may be a computer or a server, but is not limited thereto.
- System environment 400 includes a plurality of mobile devices 405-1 through 405 -N and a computing device 450.
- the computing device 300 of FIG. 3 may correspond to the computing device 450 of FIG. 4.
- each operation performed by the receiver 310 and the processor 320 of the computing device 300 of FIG. 3 may be performed by the crowdsourcing data collection and storage unit 430 of the computing device 450 of FIG. 4. It may be performed by at least one of the map generator 440 and a hardware component 490 having a processor / memory.
- each mobile device 405-1 through 405 -N generates location data.
- Each mobile device provides an ambient signal 415-1 through 415 -N that includes trace data that provides relative sequential position information, from the corresponding sequential position information. Trajectory data can be determined directly or indirectly.
- Each peripheral signal 415-1 through 415 -N preferably includes unique characteristics or identification information.
- the trace may mean trace data.
- the trajectory data is collected by a crowdsourcing data collection and storage unit 430 that collects and stores the trajectory data.
- location information is generated using Pedestrian Dead Reckoning (PDR) and the sensor and positioning subsystem 407 mounted on the mobile device to generate trajectory data and estimate the location of the mobile device. ).
- PDR Pedestrian Dead Reckoning
- positioning subsystem 407 estimates the relative position from a particular starting point or initial point.
- the first point may be (0,0) in the x-y axis coordinate system, but is not limited thereto and may be any suitable positioning system or coordinate system.
- examples of sensors mounted in a mobile device for determining the pedestrian's movement through elements such as the data and the stride length of the sensor include a gyro sensor, a direction sensor, and an acceleration sensor. More generally, the positioning subsystem 407 of the mobile device may use other techniques to generate position data and include trajectory data generated from the mobile device. Certain kinds of data are only available in certain circumstances, such as outdoor activities, for example, GPS data. Thus, it can be seen that two or more different types of trajectories can be used if different kinds of trajectory data are available. Trajectory data can be collected in indoor or outdoor environments.
- Each mobile device 405-1 through 405 -N may be, for example, a smartphone with onboard sensors, a processor, memory, and wireless communication functionality. More generally, however, mobile devices 405-1 through 405-N are not limited to smartphones and may include other types of mobile devices such as mobile robots, mobiles, and automobiles.
- the computing device 450 may include a data collection and storage unit 430, a map generator 440, and a hardware component 490 having a processor processor and a memory.
- the data collection and storage unit 430 collects and stores trajectory data from at least two or more mobile devices, preferably from several (N) mobile devices, for crowdsourcing the trajectory data of a selected place.
- the place may be indoors. More generally, however, the place is not restricted indoors. Trajectory data collected from different mobile devices is not limited to data from exactly the same path, and may walk through buildings or spaces that are slightly different paths, partially overlapping paths, or where different people do not necessarily walk on the same path.
- the data collection and storage unit 430 includes hardware such as a processor and a memory.
- the data collection and storage unit 430 may also directly search for and receive ambient signals or receive information from other signal searchers.
- the ambient signal although not required, preferably includes unique identification information, such as a mobile device ID or MAC ID, to identify each trace.
- unique identification information such as a mobile device ID or MAC ID
- a signaling medium such as visual image, magnetic / electronic, sound or light
- a Wi-Fi signal or a Bluetooth signal may be used.
- the automatic map generator 440 may include a unit 442 for searching an anchor point of each trace, a unit 444 for performing trajectory matching, and a unit 446 for performing trajectory merging and correction. And a unit 448 for performing path mapping.
- the unit 446 which performs trajectory merging and modification, merges paths obtained from various users if they come from the same place.
- the unit 448 that performs the mapping generates a map from the merged and modified trajectories. This may include other data collected from the user.
- the automatic map generator 440 may be implemented as a software module installed in a computing system including a hardware element 490 having at least one processor and a memory.
- trajectory data is collected from the plurality of crowdsourced paths.
- the trajectory data of each of the plurality of paths is associated with at least one uniquely identifiable ambient signal and, in step 510, find a reference point for each of the plurality of crowdsourced paths.
- the reference point corresponds to the point at which a transition of the trajectory data characteristic occurs, such as a change in direction or acceleration of the mobile devices, such as associated with a characteristic of a particular user's behavior such as turn, stop, speed change, jump or opening a door. Further, in the case of a moving object or a vehicle, the reference point may correspond to a point where a change in speed, stop, mound or transition of a characteristic associated with an obstacle on a path occurs. The reference point also corresponds to the point at which an discernible change in trace occurs. That is, the point at which the transition of the trajectory data characteristic occurs may correspond to an identifiable change point of the trace.
- the first set of reference points included in the first trace of the trajectory data may be used like a fingerprint to identify the first pattern.
- the second set of reference points of the second trace of the trajectory data has a second pattern that can potentially correspond to the first pattern. The patterns are evaluated for the possibility of matching with each other.
- each crowdsourced path may be matched as follows based on the reference point.
- the two traces can be moved and rotated about each so that they can be aligned.
- the adjustment or correction of the trace may be performed using a specific set of reference points matched with a geometric mapping operation to align the pair of traces. This may include movement and rotation of the trace for adjustment and correction of the trace.
- the geometry of the trajectory may be used for geometric adjustment and modification. This process can be performed for all possible, and potentially potentially large numbers, of different traces of trajectory data at a given location.
- the characteristic of the two signals to be matched is analyzed to remove the seemingly impossible match.
- step 520 the best match is evaluated.
- the evaluation takes into account both the similarity between the surrounding signals of the match and the geometric aspects of the matched trajectory. Even if the surrounding signal has a high similarity, the geometric distance can be prevented from giving a high score to the match.
- the scoring algorithm is based on the calculation of the similarity between the surrounding signals and further evaluates the matching in consideration of the geometric distance associated with the pair of reference points. All possible matches are evaluated and the one with the highest score is selected.
- the shape of the path may be automatically determined based on the best match. Two traces are shown, and more generally this process can be extended to assessing multiple traces and selecting the most appropriate path.
- FIG. 6 is a flow diagram illustrating aspects of a method for automatically determining a path through crowdsourcing when a reference point is a turn.
- the trace data for the two traces of the trajectory data A and B of block 605 are input.
- the original trace data may have sensor errors and offsets.
- the original trace data may correspond to a path with some duplicate path or offset.
- traces A and B have different shapes.
- the reference points are turns and at block 610 a turn of trace data is detected. As a result, in turn A, turns 1 and 2 were detected. In trace B, turns 1, 2, and 3 were detected.
- turn 1 of trace A may match turn 1 of trace B
- turn 1 of trace A may match turn 2 of trace B
- turn 2 of trace B and so on for all other possible cases.
- trajectory A has two turns: A1 and A2; And another trajectory B has two turns: B1 and B2. Possible combinations of these turns are:
- the ambient signal is a Wi-Fi signal and a combination that seems impossible or, more precisely, quite unlikely, is excluded by calculating Wi-Fi similarity between two corners. Wifi signal is found in two corners. Given two Wi-Fi scan signals A and B:
- A (ap1: rss1, ap2: rss2, api: rssi,... ⁇
- the Tanimoto similarity calculation is used as follows.
- This similarity formula can be applied to similar threshold tests and other ambient signals that are performed to reduce the number of combinations that must be considered.
- additional trajectory adjustment may be performed based on the turn matching. That is, adjustment of two trajectories for matching given reference points is performed. 6 shows different examples of how two traces are aligned for the number of cases of combining a given reference point.
- a matching evaluation is performed to select the best match.
- the likelihood of each trajectory combination is evaluated.
- the best match of the six possible combinations is selected.
- an auxiliary trace slide window with step length S is used for turn navigation.
- one trace is analyzed as a sequence of auxiliary traces considered in the sequence of steps as the slide window moves.
- the angle formed between the first point that is the start of the auxiliary trace (position 0), the midpoint of the auxiliary trace (position S / 2), and the end point of the auxiliary trace (position S-1) Calculation is performed in the window.
- a threshold t is set for the angle computed for each secondary trajectory. If the angle is greater than t, the intermediate point in step S / 2 is treated as being the turn point of the trajectory.
- auxiliary trajectories with an angle greater than t are contiguous, the S / 2 point of the auxiliary trajectory with the smallest angle is selected as the turn point, and the remaining turn points on the successive auxiliary trajectories are ignored. This process continues until we have examined all the S auxiliary trajectories, the number of steps.
- the trajectory data may include a combination of a gentle turn and an abrupt turn.
- a smooth turn T1 is shown with a sharp turn T2 nearby.
- the parameter may be set to select only the main turn. For example, if several turns are located close to each other (such as in the area T2), the abrupt turn can be eliminated by including only the beginning and ending turns.
- Adjusting the parameter value S is one of the methods for detecting gentle and abrupt turns. If S is set long, the detection algorithm may detect a gentle turn but not accurately detect nearby turns (as shown in the second diagram 810 of FIG. 8). On the other hand, if S is set small (represented by a small dot size), one can detect very fine turns, but miss the gentle turns typically found in large rooms such as shopping malls (the three of FIG. 8). As shown in the first drawing 815).
- Figure 820 illustrates the attempt to mix approach by using two different parameter values S.
- a gentle turn of the trajectory is detected using a value S that is greater than the first predetermined threshold.
- a small, abrupt turn of the trajectory is detected using a value S that is less than a predetermined second threshold.
- the first threshold value and the second threshold value may be set to have the same value. You can combine the two turn detections to get a mixed result. As shown in FIG. 820, when combining the two turn detection results, the "slow turn" near the "rapid turn” is eliminated.
- only one of several adjacent turns may be selected.
- the result of FIG. 825 is a combination of several near abrupt turns. It will be appreciated that the parameters of the mixed approach may be applied and selected to optimize the results of the particular application used to detect turns that are important for identifying the path of interest.
- the trajectory adjustment follows the turn order of one trajectory and merges the matched turns one by one. For the first matched turn, the turn of one trajectory is moved to the turn of the other trajectory. Subsequent turns are rotated to the coordinates of the new turn, which is calculated based on the average of the two matched turns. During turn adjustments, only move and rotate operations are allowed. You will see that various movements and rotations are possible to achieve similar results.
- FIG. 10 is a diagram illustrating an additional aspect of a matching evaluation. Similarity is calculated for each pair of turns, and if the surrounding signal is a Wi-Fi signal, Wi-Fi Similarity is calculated. The distance is calculated for each pair of turns. The average score is then calculated for each pair of turns. Thus, in this example the two traces have a turn pair of A-1 and B-2.
- the matching evaluation scores a score representing the likelihood of trajectory matching for each adjusted pair of trajectories.
- the evaluation algorithm is based on the observation that if two turns / corners are located in the same place, the Wi-Fi signal (or other ambient signal) associated with the two turns will be very similar. And if two turns match correctly in the trajectory, the distance between the two turns in the match will be shortened.
- A (ap1: rss1, ap2: rss2, api: rssi,... ⁇
- the Tanimoto similarity calculation is used as follows.
- Euclidean distance method is used to calculate the turn distance. If two turns have coordinates of (x1, y1), (x2, y2), the turn distance is calculated as follows.
- Configurations, steps, and / or data structures related to one embodiment may be implemented using various kinds of operating systems, programming languages, computing platforms, computer programs, and / or general purpose machines.
- those of ordinary skill in the art may find relatively less versatile devices, such as devices embedded in hardware, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), or the like.
- FPGAs field programmable gate arrays
- ASICs application specific integrated circuits
- An embodiment may also explicitly include a set of computer instructions stored on a computer readable medium, such as a memory device.
- trajectory data is collected from a plurality of mobile devices 405-1 through 405 -N.
- the trajectory data may reflect, for example, the movement of a plurality of users indoors and outdoors, such as a shopping mall, a shopping district, and an amusement park.
- Reference points (turn points, jumps, speed changes, etc.) are detected from each trace.
- Each crowdsourced path is matched based on a reference point.
- the matching traces can be moved and rotated relative to each other based on the reference point matching. Examples of the above techniques have been discussed above in connection with FIGS. 3-10.
- connection node structures are used to represent merging and matching of multiple traces.
- the connection node structure refers to any structure representing or including a plurality of nodes connected by a link. Each node coincides with a geographic location and / or reference point. When a link connects two nodes, in various embodiments, the user may be able to move directly between the geographic locations represented by the two nodes without passing through any other known node or reference point.
- any suitable software or hardware may be used to create the connection node structure.
- the connection node structure may be a data structure representing or representing a tree or tree-like structure with nodes, links, branches, and the like. However, this is not a requirement and many other structures are available.
- connection node structure can help manage route information, such as simplifying the processing of traces and enabling map and guide applications based on merged traces.
- crowdsourced traces are collected, thereby adding nodes and links to the connection node structure to reflect the newly collected traces.
- the connection node structure can represent all known paths that exist between all different reference points / places based on all crowdsourced traces collected and analyzed. Because of how the connection node structure is arranged, in various embodiments, a computer can sometimes obtain useful data (eg, map data, guidance data, etc.) from the connection node structure faster and more efficiently than the merged traces themselves. .
- a server eg, crowdsourcing data collection and storage 430
- any suitable computing device can do this.
- a device performing method 1100 may have access to a plurality of crowdsourced traces (eg, trajectory data received by a server from a plurality of mobile devices 405-1 through 405-N).
- trajectory data forming a trace is obtained.
- the locus data may be the locus data described above (eg, locus data obtained from mobile devices 405-1 through 405-N).
- the trajectory data may include PDR data, ambient signal data based on ambient signals received from mobile devices 405-1 through 405-N, or any data suitable for tracking and identifying changes in the device's position and its surroundings over time. can do.
- each trace is formed from a plurality of vertices, each vertex being one place (eg, represented by x, y coordinates), a timestamp (eg, mobile at that place).
- the ambient signal may include, but is not limited to, any type of signal from which features and parameters have been detected from Wi-Fi, Bluetooth, Ultrasound, Light, and / or mobile devices 405-1 through 405-N.
- Examples of travel paths 1402 and trace 1401 are shown in FIGS. 14 and 15.
- 14 shows an example layout of an indoor place such as a shopping mall 1404.
- the shopping mall 1404 includes various indoor shops, walls, structures and passageways.
- 14 also includes a route 1402 that roughly illustrates the movement of a user through a shopping mall with mobile devices 405-1 through 405-N.
- FIG. 15 shows a path 1500 representing the trajectory data collected while the mobile devices 405-1 through 405 -N passed a path 1402.
- trace 1500 is based on PDR data, and thus is made up of a plurality of data vertices, each of which represents a particular geographic location of mobile device 405-1 through 405-N over time.
- the reference points are identified at trace 1500.
- the reference point has already been mentioned above.
- the reference point coincides with the point at which the transition of the trajectory data characteristic occurs, such as a change in direction and acceleration (eg, rotation, speed change, jump, etc.). All of the techniques described above for searching for a reference point can be used. For example, the same as described with respect to step 510 of FIG. 5 and FIGS. 6 to 8.
- 15 shows an example set of reference points identified at trace 1500.
- 15 includes trace 1500 and reference points 1504a, 1504b, 1504c, 1504d, and 1504e.
- each reference point represents where a turn is detected at trace 1500 or where the trace has started and stopped. That is, the trace starts at reference point 1504a and stops at reference point 1504e. And turns at reference points 1504b, 1504c, and 1504d reference points.
- each reference point may be associated with various additional data.
- each reference point is associated with trajectory / position data and ambient signal data.
- the trajectory data represents a particular geographic location, for example based on PDR data collected from mobile devices 405-1 through 405-N.
- the ambient signal data represents the characteristics of the signal (eg, RF, Wi-Fi, Bluetooth, sensor data, etc.) obtained when the mobile devices 405-1 through 405 -N are in their geographic location.
- the ambient signal data represents the strength of a signal (eg, Wi-Fi, Bluetooth, etc.) when the mobile devices 405-1 through 405 -N are in their geographic location.
- the peripheral signal data may include data indicating the identity of the device transmitting the signal (eg, the MAC address of the device transmitting the Bluetooth / Wi-Fi signal).
- the reference point data includes a timestamp (eg, a timestamp representing the time when a particular mobile device 405-1 through 405 -N reached the reference point location).
- connection node structure is generated based on the reference point and / or the trace.
- the connection node structure can be any structure (eg, software data structure) arranged to help represent a path or link between geographical locations / reference points.
- connection node structure 1600 An example of a connection node structure 1600 is shown in FIG. 16.
- the connection node structure 1600 is, but is not necessarily required to be a tree or a tree-like structure.
- the connection node structure 1600 includes a plurality of nodes 1604a, 1604b, 1604c, 1604d, and 1604e connected by a plurality of links 1606.
- each node coincides with the reference points of trace 1500 shown in FIG. 15.
- each node includes or is associated with reference point data (eg, trajectory data, ambient signal data, geographic location, time stamp, etc.) associated with all corresponding reference points.
- reference point data eg, trajectory data, ambient signal data, geographic location, time stamp, etc.
- connection node structure there are various ways to create a connection node structure. According to the illustrated embodiment, for example, the following process is used to create a link with a node of the connection node structure 1600.
- connection node structure is terminated
- connection node structure 1600 is completed as a result of the above process.
- the connection node structure includes nodes 1604a-1604e that coincide with reference points 1504a-1504e of FIG. 15, respectively.
- Each node includes or is associated with data associated with a corresponding reference point (eg, trajectory data, ambient signal data, geographic location, etc.).
- each link between two nodes indicates that there is a direct path between the geographic locations associated with each node.
- node 1604b represents position X
- node 1604c represents position Y.
- the link between the two nodes indicates that the user can move between the two positions X and Y without encountering the position, feature and / or signal upon which the reference point is determined.
- the reference point represents a turn on the movement path of the mobile device.
- the link between nodes 1604b and 1604c means that the user can pass between places X and Y without a turn and / or substantial redirection (this is also seen in FIG. 14 where a straight passage between places X and Y is connected). have).
- connection node structure There is no need for literally explicit nodes and links in the connection node structure.
- Any suitable data or structure e.g. software or hardware based data structure
- the trace e.g. original PDR data or peripheral signal data
- the functionality of the aforementioned connection node structure Can be used if it helps to indicate.
- each node contains or is associated with node data.
- each node is generated based on a reference point, so that node data is the same as or based on the data associated with that reference point.
- each node may thus have trajectory / location data (e.g., PDR data or any data that helps indicate geographic location), ambient signal data (e.g., the strength of the ambient signal received at that location). ) And / or a timestamp (e.g., indicating when the mobile devices 405-1 through 405-N arrived at that geographic location).
- the node data may include all other suitable parameters or values.
- the node data includes a passthrough value that indicates how many paths or traces have passed through the geographic location associated with the node.
- each node 1604a-1604e has a pass value of 1 because the connection node structure 1600 was created from a single trace.
- connection node structure is formed based on the selected trace, additional traces are analyzed. Some of the traces and connection node structures may be associated with the same general geographic space (eg, shopping mall 1404 of FIG. 14), although with different physical start and end points.
- the connection node structure is adjusted to take into account the merged trace and the respective reference points.
- the connection node structure reflects journey and travel information obtained from a plurality of traces overlaid in a particular geographic area. An example of this process is illustrated in FIG. 12.
- FIG. 12 is a flow diagram illustrating an example 1200 of a method of merging traces using a connection node structure.
- the method 1200 assumes that the connection node structure has already been created (eg, as described in the method 1100 of FIG. 11).
- any suitable server eg, crowdsourcing data collection and storage 430
- performs method 1200 but any suitable computing device may also perform this method.
- a device performing method 1200 may have access to a plurality of crowdsourced traces, eg, trajectory data received from multiple mobile devices 405-1 through 405 -N.
- trajectory data for a new trace is obtained.
- this trace can be one of a number of traces based on crowdsourced trajectory data collected from a plurality of mobile devices 405-1 through 405 -N.
- step 1202 is shown in FIGS. 17 and 18.
- 17 shows the shopping mall 1404 shown in FIG. 14 again.
- the movement path 1402 shown in FIG. 14 is also shown as a thin line in FIG. 17.
- the thick line simply represents another path 1702 taken by another user and mobile device in the same shopping mall. (Note that path 1702 may have already been passed by a mobile device, such as path 1702.) Movement paths 1402 and 1702 overlap to some extent.
- FIG. 18 illustrates trace 1800 based on trajectory data collected as mobile devices 405-1 through 405 -N cross route 1702.
- the trace 1500 and the trace 1800 of FIG. 15 lie in the same coordinate system.
- FIG. 17 it can be seen that traces 1500 and 1800 are based on movement paths 1402 and 1702 that intersect each other, and should ideally generally overlap. However, due to sensor / gyro noise and other errors in the trajectory, the traces are slightly offset from each other and are offset. This will be corrected using the connection node structure in a later step.
- reference points are identified at the new trace. Identification or determination of the reference point can be performed using the techniques described above.
- One embodiment of this step may include a plurality of reference points 1904a, 1904b, 1904c, and 1904d identified at trace 1800 (eg, as described with respect to steps 510 of FIGS. 5, 6-8, and 11, 11). 19 is shown.
- each reference point represents the end of the tracked movement, or the beginning of each tracked movement, such as a turn (ie a change of direction).
- the reference point may be determined based on other features.
- matching points are found. More specifically, it is to determine whether there is a match among the nodes of the connection node structure and the reference points of the new trace.
- each node of the connected node structure is associated with various kinds of data, such as trajectory data or ambient signal data. This data helps to identify the geographic location that matches the node.
- Each reference point of the new trace is also associated with such data and geographic location. It is determined whether any of the reference points match the nodes of the connection node structure.
- the matching process can be done in any way.
- signals received from various devices such as Wi-Fi wireless access devices or Bluetooth signal transmission devices, for example peripheral signal data of each node and reference point to determine whether the node and reference point match.
- Signal strength data is analyzed.
- Some embodiments include Tanimoto similarity analysis between peripheral signal data of each node and reference point as described earlier in this specification. If the Tanimoto similarity exceeds a sufficient and / or preset threshold, it may be determined that the node and the reference point match.
- any of the techniques mentioned above with respect to FIGS. 5 and 6 may be used to determine a match between a reference point and a node.
- Some of the techniques mentioned above were used to match the reference point of one trace with that of another trace. More specifically, some techniques use data associated with a reference point (eg, ambient signal data) to match reference points of other traces.
- nodes and reference points are typically associated with the same or different types of data (eg, peripheral signal data, location / trajectory data, etc.), so that each node of the connected node structure and each reference point of the new trace is different. The same technique is used to determine the matching of
- step 1206 is shown in FIG. 20 that includes matching between a node of the connection node structure and a reference point of a new trace.
- FIG. 20 shows that nodes 1604c and 1604d of the connection node structure and reference points 1904c and 1904b of the new trace 1800 match, respectively.
- Nodes 1604c and 1604d coincide with reference points 1504b and 1504c of the first trace 1500 based on the connection node structure 1600. (Similarly, as shown in FIG. 20.) Accordingly, the match indicates that reference point 1504b of trace 1500, reference point 1904c of trace 1800, and node 1604c of the connection node structure are associated with place A of FIG. 17, which is the same geographical location. .
- the matching also indicates that reference point 1504c at trace 1500, reference point 1904b at trace 1800, and node 1604d in the connecting node structure are associated with place B of FIG. 17, which is the same geographical location.
- a reference point is determined.
- the reference point is selected from among the matching points. It is generally understood that this is a matching point with high accuracy (ie, likely to have the most accurate relevant information (eg, surrounding signal data, location data, PDR data, etc.).
- Selecting a reference point among the matching points may be performed in various ways. In some embodiments, for example, it is desirable to select matching points that the user has previously visited. That is, as described above, each node or reference point is based on the trace and is eventually generated from the trajectory data obtained by the mobile device. In general, the trajectory data represents the order in which the various reference points are visited from the device and the user carrying the device as the device passes the path of the trace. In some embodiments, the reference point makes the reference point the first visited match point relative to other matching points that the device has reached. In other words, in some embodiments, this means that it is the closest matching point to the root of the connection node structure. This is because the root node is based on the reference point where the device user first arrived.
- the reason for using this approach is that some types of tracking and PDR-related techniques are more accurate when the user starts along the path of the trace, but are less accurate over time due to sensor noise and other tracking errors. It may be because of losing.
- the method for determining the accuracy of the matching point and selecting the reference point among them is not limited thereto, and any other suitable technique may be used.
- step 1208 is shown in FIG. 19.
- a match between node 1604c and another reference point 1904c is determined and aggregated to form a match point.
- Node 1604d and reference point 1904d are also matched and similarly combined to form another matching point.
- Node 1604c / reference point 1904c is determined as the reference point, which is to some extent node 1604c is relatively closest to the other matching points from the root node (node 1604a) of the connection node structure 1600, and thus this is the connection node structure ( This is because it indicates that the user has been visited earlier from the user who has followed the path 1402, which is the basis of 1600).
- a new trace is moved using the reference point (step 1210). That is, the reference point can be used to determine where the new trace should be located and where the connection node structure should be connected.
- the connection node structure is modified to account for the new traces of connections.
- one or more nodes and links are added to the connection node structure to reflect the new trace. This can be done in a variety of ways depending on the nature of the connection node structure and the needs of different applications. In some embodiments, for example, the following procedures may be performed to add nodes to the connection node structure.
- connection node structure 1) Add nodes to the connection node structure, taking into account reference points that are directly connected at the reference point on the new trace and not yet represented in the connection node structure. Data associated with a reference point is contained in or associated with the node.
- FIG. 21 is a diagram illustrating an embodiment.
- original connection node structures are represented by 1604a to 1604d.
- Reference point 2102 (FIG. 22) coincides with reference point 1904c of node 1604c and new trace 1800 (FIG. 20). Since the reference point 1904d is directly connected to the reference point 1904c at the trace 1800, the node 2104d is added and connected to the node 1604c. Node 2104d includes or is associated with data at reference point 1904d.
- Reference point 1904b is also directly connected to reference point 1904c, but has already been described properly in connection node structure by node 1604d being directly connected to node 1604c. The remaining reference point of trace 1800 that does not appear in connection node structure 1600 is reference point 1904a.
- Reference point 1904a is directly connected to reference point 1904b that matches node 1604d of connection node structure 1600. Thus, a new node is created (node 2104a) and directly connected to node 1604d. Node 2104a includes or is associated with data at reference point 1904a.
- the trace may be aligned according to the above migration process.
- the trace underlying the connection node structure and the new trace can be connected at the reference point.
- FIG. 22 One embodiment of this approach is illustrated in FIG. 22.
- trace 1800 is aligned and connected at trace 1500 with reference point 2102 (ie, the location associated with node 1604c / reference point 1504b in FIG. 20) as shown in FIG. 21.
- the new trace 1800 connects with reference point 2102 at the location of reference point 1904c. (Ie, matching points of trace 1800 that match reference point 1504b / node 1604c in FIG. 20) That is, place data associated with reference point 1904c is modified to match place data associated with node 1604c.
- step 1212 the new trace is rotated to fit another known matching point. This can be done using any suitable method.
- this step includes calculating the location of the non-reference matching point in the new trace and repositioning the trace accordingly.
- the location of a non-reference matching point may be determined by averaging the locations of matching points on the connection node structure and the new trace. This helps to increase the accuracy of the trace.
- Reference point 1904b is a non-reference matching point of trace 1800.
- the corresponding matching point of the connection node structure 1600 is 1604d.
- each node is associated with node data
- each reference point is associated with reference point data
- both contain trajectory / place data such as, for example, PDR data.
- PDR data of node 1604d is associated with place X1
- the PDR data of reference point 1904b is associated with place Y1.
- the new location for reference point 1904b is the average of X1 and Y1. If there are additional non-reference matching points, their location can be determined in a similar manner.
- the traces can be readjusted and / or rotated based on the newly determined position.
- One embodiment of this task is shown in FIG. In FIG. 22, although the trace 1500/1800 are connected at the reference point 2102, they are shifted. As shown in FIG. 23, based on the recalculated position of a non-reference matching point (eg, reference point 1904b) on trace 1800, trace 1800 is rotated accordingly.
- the merged trace that trace 1500/1800 is intended to represent is now much more like the actual path 1402/1702 that the user traversed through the shopping mall 1404, as can be compared in FIGS. 17 and 23.
- ambient signal data is used to correct the trace.
- each reference point and node is associated with place data and ambient signal data (eg, Wi-Fi data, Bluetooth data, etc.).
- the trace may consist of a plurality of points (ie, using PDR), each point being associated with a timestamp, ambient signal, and location data.
- the estimated location of points in the trace is modified based on the analysis of the ambient signal data for one or more nodes and the ambient signal data of each point.
- the location of the point is because the point and the node are associated with the same place. It is desirable to adjust.
- step 1214 of FIG. 12 the data of the connection node structure is updated.
- each new node has been added to the connection node structure based on the new trace's reference point, so that the data of the matching reference point (eg, ambient signal data, PDR data, place data, Timestamp data, etc.).
- the data of the matching reference point eg, ambient signal data, PDR data, place data, Timestamp data, etc.
- Such data can be stored using any suitable method for the connection node structure.
- node data that matches the matching point of the connection node structure is also modified. This can be done in a variety of ways.
- a new trace has a reference point A associated with data A.
- Reference point A matches node B of the connection node structure.
- Node B is associated with data B.
- data A and data B are place / PDR data (eg, data representing a place associated with a node / reference point, expressed in x, y coordinates) and ambient signal data (eg, a Bluetooth signal transmission device).
- PDR data eg, data representing a place associated with a node / reference point, expressed in x, y coordinates
- ambient signal data eg, a Bluetooth signal transmission device
- the data of matching node A may be updated with an average of the values of data A and data B.
- data A may include PDR data associated with reference point A at position P1.
- Data B may include PDR data associated with node B at location P2.
- the data B may be updated to the associated node B at the position based on the average of P1 and P2.
- the ambient signal can also be averaged.
- data A is associated with reference point A with signal strength value Y1 from a particular signal transmission device
- data B is associated with node B with signal strength value Y2 from the same signal transmission device
- data B is It can be updated to indicate that the strength of the signal received from the same device is the average of Y1 and Y2.
- updating node data is not limited to the above average technique, and can be performed using any suitable method.
- the node data of each node includes a pass value.
- the pass value represents the number of traces or paths through the node.
- the matching point indicates that a new trace has passed through the matching point node, the passing value of such nodes increases by one.
- each node except the matching points (nodes 1604c, 1604d) has a pass value of 1, and the matching points have a pass value of 2. This is because, as shown in FIGS. 17 and 20, at least two or more traces (eg, traces 1500 and 1800) pass through locations associated with these nodes.
- connection node structure Once the connection node structure is created using the original trace, it can be added and updated repeatedly with newly crowdsourced traces using the method 1200 of FIG.
- An example of this process is shown in FIG. 13 illustrates one embodiment of method 1300 applied to a server (eg, crowdsourced data collection and storage 430), any suitable computing device may also be used to perform method 1300.
- traces are obtained. For example, the trace may be crowdsourced from the mobile devices 405-1 through 405-N that sent the trace to the server.
- step 1304 it is determined whether the trace obtained in step 1302 is the first trace obtained in a particular geographic area. That is, to determine whether or not a proper connection node structure associated with the new trace for that geographic area (eg, shopping mall 1404 in FIG. 14) has not yet been created. If so, the method 1300 proceeds to step 1306. At step 1306, as discussed with respect to method 1100 of FIG. 11, a connection node structure is generated based on the trace.
- step 1302 If it is determined that the trace obtained in step 1302 is not the first trace, and / or a suitable connection node structure has already been created, the method 1300 proceeds to step 1308.
- the existing connection node structure is updated to account for the new trace.
- the traces may be merged and appropriately placed according to a set of existing merged traces represented by the connection node structure. If a new trace is added, the method 1300 returns to step 1302 and repeats again.
- connection node structure is updated repeatedly to reflect additional crowdsourced traces.
- the connection node structure represents the various paths people can take to find their way in a particular geographic area.
- a server that performs the method 1300 of FIG. 13 may provide a service to a mobile device user.
- the server may send data to the mobile devices 405-1 through 405-N providing the shortest distance guidance to reach a specific target location in the area that the connected node structure is responsible for.
- Mobile devices 405-1 through 405-N display messages, prompts and / or graphical interfaces based on this data.
- the server may also send distance data between the current location (or other location) and the target location to the mobile devices 405-1 through 405 -N. This distance can be calculated based on the node data of the nodes associated with that location. That is, since each node is associated with location data, the physical distance between each pair of connection nodes can be determined, and thus the total distance of the path through the various connection nodes can also be determined.
- the connection node structure can be used to identify real-time traffic patterns and user movement and behavior patterns. That is, the mobile devices 405-1 to 405 -N are configured to transmit the trajectory data and the trace information to the server while passing through a specific area. When the server receives the locus data, the server performs the method 1300 of FIG. 13 in real time. Thus, the connection node structure is generated and updated in real time based on the received trajectory data and reflects the current traffic pattern of the region.
- the connection node structure can be used, for example, to determine how many people have passed through overcrowded data, ie one or more locations (eg, reference point locations). For example, the pass value of each node can be used to determine overcrowded data.
- the server may send overcrowded data to the mobile devices 405-1 through 405-N indicating how crowded the various parts of a particular region and / or famous routes from one location to another are.
- the overcrowded data is based on the links, nodes and / or passthrough values of the connection node structure stored in the server.
- the overcrowded data represents traffic patterns over various time periods, and may include, but is not limited to, current, daily, monthly or quarterly traffic patterns.
- the mobile devices 405-1 through 405-N are arranged to display a map, graphical interface, or other kind of message to the user, which may indicate overcrowded patterns and / or upcoming overcrowded areas.
- the overcrowding pattern is used to determine how much to charge for a particular advertisement placed at a location in a region. For example, advertising fees in high-traffic areas would be higher than advertising fees in low-traffic areas.
- a similar approach can be used for building rents in shopping malls, where high traffic areas pay higher rents.
- the aforementioned servers may send data to the mobile devices 405-1 through 405-N or other devices indicating how fast people are passing the turn (ie, nodes).
- the transit time is also based on the time and position data associated with the node.
- the node data of each node may include location data (eg, x, y coordinates) and time data (eg, specific mobile devices 405-1 through 405-N). Time of arrival). Other nodes visited by the same mobile device may be associated with similar kinds of location and time data. Thus, based on such data, it is possible to calculate the time required for the mobile device 405-1 through 405-N to travel between any two nodes or a series of nodes.
- the server transmits such time data to mobile devices 405-1 through 405-N, and the mobile devices 405-1 through 405-N send messages indicating the expected travel time between different locations. Display.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
개시된 크라우드소싱된 궤적 데이터에 기초하여 자동으로 경로의 모양을 결정하는 기술이다. 궤적 데이터는 복수의 크라우드소싱된 경로로부터 수집된다. 복수의 크라우드소싱된 데이터 각각을 위한 궤적 데이터는 적어도 하나의 고유하게 식별될 수 있는 주변 신호와 연관된다. 기준점은 각각의 크라우드소싱된 경로의 궤적 데이터의 특성의 전이와 일치하는 것으로 식별될 수 있다. 매칭은 기준점의 매칭 패턴을 분석하고 매치를 평가하는 것에 기초하여 수행될 수 있다. 다양한 실시예들은 하나 혹은 그 이상의 자취 및/또는 특정한 지리적 영역의 경로를 나타내는 연결 노드 구조를 사용하는 것을 포함한다.
Description
일반적으로 주변신호로부터 얻은 궤적 데이터를 이용하여 위치기반 서비스를 위한 경로지도 생성을 돕는 것과 관계되어 있다. 다양한 실시예들이 경로 간의 상대적인 위치를 결정하기 위해 크라우드소싱된 (crowd-sourced) 궤적 데이터를 이용하고 있다. 몇 실시예는 특정 지역의 경로들을 표현하기 위해 연결 노드 구조(linked node structure)를 사용하는 것을 포함하고 있다.
지금까지 GPS(Global Positioning System)데이터에 기초하여 개인의 위치를 추적하고자 하는 다양한 시도가 있었다. 하지만, GPS는 실내에서는 종종 믿을만한 동작을 하지 못한다. 따라서, 위치기반 서비스를 제공하기 위한 새로운 기술의 개발에 대한 관심이 증가해 왔다.
실내 궤적(trajectory) 데이터는 와이파이 네트워크나 블루투스 송신기와 같은 기존의 RF 기반 시설에 의존하지 않고 사용자의 모바일 디바이스에서 생성된 정보에 기초하는 보행자 추측 항법(Pedestrian Dead Reckoning, PDR)을 이용하여 계산될 수 있다. 예를 들어, 모바일 디바이스의 가속도계나 자기계(나침반)를 이용하여 보행자 추측 항법을 수행하기 위한 정보를 생성할 수 있다.
PDR을 사용하는 실내 궤적 데이터는 실내에서의 개인 추적 및 위치판단에 널리 사용되어 왔다. 최초에 GPS 좌표와 같은 알려진 위치에서 시작하는 경우, 실내 위치판단 시스템은 실내 궤적 데이터를 사용하여 이동방향과 걸음 수 등을 추정, 사용자의 현재 위치를 추적할 수 있다.
PDR을 이용하는 궤적 데이터의 또 다른 응용은 사용자의 실내 행동 패턴을 이해하는 것이다. 사용자로부터 수집된 실내 궤적 데이터는 행동 패턴 분석에 있어 중요한 데이터원이다. 예를 들어, 사용자가 쇼핑몰에서 얼마나 자주 이동하였는가 및 쇼핑 선반 앞에서 얼마나 오래 머물렀는가 등의 정보는 사용자의 쇼핑 관심사를 나타낼 수 있는 맥락 정보이다. 복수의 사용자로부터 종합한 실내 궤적 데이터는 가게 주인이 선반 정리의 문제점을 찾도록 도와줄 수 있다. 가게 주인은 데이터를 활용하여 정리방식을 발전시켜 사용자의 쇼핑 경험을 개선하고, 가게의 이익을 얻을 수 있다.
PDR을 이용한 궤적 데이터의 또 다른 응용은 실내 매핑(mapping)이다. 실내 궤적 데이터는 실내환경의 지도를 작성하는 데 사용될 수 있다. 결과적으로, 생성된 지도는 실내 위치기반 서비스에 활용될 수 있다.
PDR을 이용한 궤적 데이터를 계산하는 데에는 스마트폰과 같은 많은 모바일 디바이스가 심각한 나침반 노이즈와 자이로스코프 노이즈를 갖고 있다는 문제점이 있다. 따라서, 시작 위치를 정확히 특정하는 것이 가능하다 해도, 스마트폰의 센서 데이터에 기초한 그 다음의 모든 PDR계산에 노이즈가 있게 된다. 예를 들어, 도 1A는 평면도와 실내 궤적 데이터 수집에 사용된 경로를 나타낸다. 도 1B는 두 번의 PDR 데이터 계산에 기초한 두 궤적 110과 120을 도시하고 있다. 실내 궤적은 스마트폰의 자이로와 나침반 노이즈 때문에 잘 겹쳐지지 않는다. 특히, 실내 궤적의 첫 진행방향에 차이가 있으며, 두 궤적의 각 코너의 각도가 약간 다르다.
전통적인 PDR의 또 다른 문제점은 궤적의 각기 다른 출발점이다. 도 2A에 따라, 두 개의 다른 궤적 데이터 예시를 얻었다고 가정한다. 데이터는 서로 다른 출발점을 가지고 상당부분이(하지만 전부는 아닌) 겹쳐진 두 개의 경로로부터 얻어진 것이다. 예를 들어, 같은 사무실에 있는 서로 다른 두 사람이 다른 자리(다른 출발점)를 가질 수 있는 반면, 실내에서 동일한 특정 공용구간을 돌아다닐 수 있다. 도시한 바와 같이, 어떠한 경우에도 각 예시의 출발점들은 다를 수 있고 경로들은 같을 필요가 없다. 일반적인 경우 시작지점은 오프셋이 된다. 도 2B에 도시된 자취 205 및 210과 같이, 서로 다른 출발점을 가지는데다 자이로와 나침반 오류까지 더하면, 두 궤적은 같은 좌표계에 놓였을 때 완전히 불일치할 수 있다. 이는 대다수 실내 궤적 기반 위치 시스템에서의 근본적인 문제이다.
선행기술의 경우, 서로 다른 경로를 매칭(matching)하고 정확성을 개선하기 위한 해결책들에서, 일반적으로 궤적에 대한 사전지식이나 정보를 얻는 기술이 완전히 자동화되지 않았기 때문에, 사용자가 수동으로 이를 직접 제공하도록 하고 있었다. 예를 들어, 몇 가지 접근방법은 특별한 연습 데이터, 주요 지형지물의 식별정보 혹은 특별한 블루투스 노드를 필요로 했다.
따라서, 이러한 관점에서 문제를 해결하기 위해 개발되었다.
일 실시 예에 따른 방법은, 크라우드소싱된(crowd-sourced) 복수의 경로에 대한 궤적 데이터를 수집하는 단계로서, 크라우드소싱된 복수의 경로 각각에 대한 궤적 데이터는 고유하게 식별가능한 적어도 하나의 주변 신호와 연관되어 있는, 수집하는 단계; 및 크라우드소싱된 복수의 경로에 대한 궤적 데이터 및 적어도 하나의 연관된 주변 신호를 이용하여 자동으로 목표 경로의 모양을 결정하는 단계; 를 포함할 수 있다.
GPS를 이용하기 어려운 실내에서 사용자의 위치를 파악하고, 크라우드소싱을 이용하여 실내의 지도 및 사용자들의 이동정보를 획득할 수 있다.
도 1A 및 도 1B는 선행기술에 따른 궤적 데이터의 두 자취를 매칭하는 데 있어 센서 오류가 나타나는 문제를 도시한 도면이다.
도 2A 및 도 2B는 선행기술에 따른 궤적 데이터의 두 자취에 출발 오프셋이 있는 경우 문제점을 도시한 도면이다.
도 3은 일 실시예에 따른 시스템을 도시한 도면이다.
도 4는 일 실시예에 따른 시스템을 도시한 도면이다.
도 5는 일 실시예에 따른 크라우드소싱을 이용하여 경로를 자동으로 결정하는 방법을 도시한 도면이다.
도 6은 일 실시예에 따른 크라우드소싱을 이용하여 경로를 자동으로 결정하는 방법을 도시한 도면이다.
도 7은 일 실시예에 따른 보조 궤적을 선택한 길이의 스텝으로 검사하여 턴(turn) 탐지를 수행하는 모습을 도시한 도면이다.
도 8은 일 실시예에 따른 턴을 결합하기 위해 스텝 길이를 조절하는 것을 도시한 도면이다.
도 9는 일 실시예에 따른 궤적 조정을 도시한 도면이다.
도 10은 일 실시예에 따른 매칭 평가의 모습을 도시한 도면이다.
도 11은 일 실시예에 따른 연결 노드 구조를 생성하는 방법을 도시한 도면이다.
도 12는 일 실시예에 따른 연결 노드 구조를 업데이트하는 방법을 도시한 도면이다.
도 13은 일 실시예에 따른 연결 노드 구조를 생성하고 업데이트하는 방법을 도시한 도면이다.
도 14는 일 실시예에 따른 쇼핑몰을 통과하는 경로를 도시한 블록도이다.
도 15는 일 실시예에 따른 자취와 기준점을 도시한 도면이다.
도 16은 일 실시예에 따른 연결 노드 구조를 도시한 도면이다.
도 17은 일 실시예에 따른 쇼핑몰을 통과하는 경로를 도시한 블록도이다.
도 18은 일 실시예에 따른 두 개의 자취를 도시한 도면이다.
도 19는 일 실시예에 따른 자취와 기준점을 도시한 도면이다.
도 20은 일 실시예에 따른 연결 노드 구조와 자취의 매칭 지점을 도시한 도면이다.
도 21은 일 실시예에 따른 수정된 연결 노드 구조를 도시한 도면이다.
도 22는 일 실시예에 따른 두 자취를 병합하는 것을 도시한 도면이다.
도 23은 일 실시예에 따른 자취를 회전하는 것을 도시한 도면이다.
일 실시 예에 따른 방법은, 크라우드소싱된(crowd-sourced) 복수의 경로에 대한 궤적 데이터를 수집하는 단계로서, 크라우드소싱된 복수의 경로 각각에 대한 궤적 데이터는 고유하게 식별가능한 적어도 하나의 주변 신호와 연관되어 있는, 수집하는 단계; 및 크라우드소싱된 복수의 경로에 대한 궤적 데이터 및 적어도 하나의 연관된 주변 신호를 이용하여 자동으로 목표 경로의 모양을 결정하는 단계; 를 포함할 수 있다.
또한, 자동으로 목표 경로의 모양을 결정하는 단계는, 적어도 하나의 연관된 주변 신호를 이용하여 크라우드소싱된 복수의 경로에 대한 궤적 데이터를 서로 매칭하는 단계를 포함할 수 있다.
또한, 매칭하는 단계는, 크라우드소싱된 복수의 경로에 대한 궤적 데이터의 기준점들(anchor points)을 식별하는 단계; 및 기준점들에 기초하여 매칭을 수행하는 단계; 를 더 포함하고, 기준점들은 크라우드소싱된 복수의 경로 각각의 궤적 데이터의 특징의 전이(transition)에 대응될 수 있다.
또한, 주변 신호는 모바일 디바이스의 이동 상태를 나타내는 궤적 데이터를 포함하고, 전이는 모바일 디바이스의 턴(turn), 이동 방향 및 이동 패턴 중 적어도 하나를 포함할 수 있다.
또한, 기준점에 기초하여 매칭을 수행하는 단계는, 기준점의 매칭 패턴을 식별하는 단계; 를 더 포함할 수 있다.
또한, 기준점의 매칭 패턴을 식별하는 단계는, 모바일 디바이스의 턴을 식별하는 단계; 를 더 포함할 수 있다.
또한, 턴을 식별하는 단계는, 보조 궤적의 스텝 길이를 선택하고 임계 각도 조건이 만족되었는지를 결정하는 단계를 포함할 수 있다.
또한, 스텝 길이는, 탐지하고자 하는 턴의 종류에 따라 다르게 조정되며; 턴의 종류는 턴에 대응하는 궤적의 지점에서의 곡률에 따라 결정될 수 있다.
또한, 곡률이 소정 제1 임계 곡률보다 큰 턴들의 조합의 마지막 턴 및 곡률이 소정 제2 임계 곡률보다 작은 턴 중 적어도 하나를 선택함으로써 중요한 턴을 식별하는 단계; 를 더 포함할 수 있다.
또한, 크라우드소싱된 복수의 경로 중 두 개의 크라우드소싱된 경로에 대하여 기준점에 기초한 매칭 결과를 평가하는 단계; 를 더 포함하며, 평가는 적어도 각각의 주변 신호의 유사도에 기초할 수 있다.
또한, 매칭 결과를 평가하는 단계는, 두 개의 크라우드소싱된 경로에 포함된 턴들을 서로 조합할 수 있는 경우의 수를 획득하는 단계;를 더 포함하는, 주변 신호를 이용할 수 있다.
또한, 매칭은 주변 신호의 유사도의 적어도 일부에 기초하여 평가될 수 있다.
또한, 매칭을 평가하는 단계는, 주변 신호의 유사도를 계산하고, 주변 신호의 유사도를 거리 요소로 나눈 결과에 기초하여 점수를 결정하는 단계를 포함할 수 있다.
또한, 매칭을 수행하는 단계는, 궤적 데이터를 정렬하기 위해 궤적 데이터를 이동 및 회전하는 단계; 를 더 포함할 수 있다.
또한, 주변 신호는 와이파이 신호, 블루투스 신호, 소리, 이미지 신호, 자기 신호 및 빛 신호 중 적어도 하나를 포함할 수 있다.
또한, 궤적 데이터는 복수의 모바일 디바이스로부터 수집될 수 있다.
또한, 복수의 모바일 디바이스 각각은 궤적 데이터를 생성하기 위한 적어도 하나의 센서를 포함할 수 있다.
일 실시예에 따른 방법은, 노드는 하나 이상의 자취(trace)에 의하여 통과되는 지리적 위치를 나타내고, 링크는 한 쌍의 노드를 연결함으로써 한 쌍의 노드가 나타내는 지리적 위치 사이에 이용가능한 경로를 의미할 때, 하나 이상의 자취에 기초하여 두 개 이상의 노드와 하나 이상의 링크를 포함하는 연결 노드 구조(linked node structure)를 유지하는 단계; 새로운 자취에 포함된 하나 이상의 식별 가능한 변화점을 연결 노드 구조에 포함된 하나 이상의 노드와 매칭하는 단계; 및 매칭 결과에 기초하여 연결 노드 구조를 업데이트하는 단계;를 포함할 수 있다.
일 실시예에 따른 장치는, 크라우드소싱된 복수의 경로에 대한 궤적 데이터를 수집하는 수집부로서, 크라우드소싱된 복수의 경로 각각에 대한 궤적 데이터는 고유하게 식별가능한 적어도 하나의 주변 신호와 연관되어 있는, 수집부; 및 크라우드소싱된 복수의 경로에 대한 궤적 데이터 및 적어도 하나의 연관된 주변 신호를 이용하여 자동으로 목표 경로의 모양을 결정하는, 프로세서; 를 포함할 수 있다.
일 실시예에 따른 기록매체는, 주변 신호를 이용한 궤적 매칭 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록될 수 있다.
명세서 전체에서, 크라우드소싱(crowd-sourcing)은 데이터 수집에 대중을 참여시키는 것을 말한다. 즉, 목표 경로를 결정하는 데 있어, 같은 공간을 지나가고 있거나 지나간 불특정 다수 개인들의 디바이스로부터, 경로에 대한 궤적 데이터를 포함한 주변 신호를 수신하는 것을 의미한다.
또한, 턴(turn)은 모바일 디바이스의 진행방향의 변화를 말한다. 급격한 턴은 턴에 대응하는 궤적 상 지점의 곡률이 소정 제1 임계 곡률보다 큰 턴을 말한다. 완만한 턴은 턴에 대응하는 궤적 상 지점의 곡률이 소정 제2 임계 곡률보다 작은 턴을 말한다. 제1 임계 곡률은 제2 임계 곡률과 같은 값을 가지도록 설정될 수도 있다.
또한, 매칭(matching)은 복수의 궤적 또는 자취(trace)의 모양의 적어도 일부를 서로 정합하는 것을 말한다. 일 실시 예에서, 매칭은 오프셋이 포함된 복수의 궤적 또는 자취를 그 모양에 따라 이동시켜 오프셋을 제거하는 데 사용될 수 있다. 이 때, 오프셋은 적어도 일부에 대하여 정합이 가능한 복수의 궤적 또는 자취의 모양이 서로 떨어져 있는 정도를 의미한다.
이하 첨부된 도면을 참고하여 상세히 설명하기로 한다.
도 3은 일 실시 예에 따른 시스템을 도시한 도면이다. 일 실시 예에 따른 시스템은 프로세서(320)와 수집부(310)를 갖춘 컴퓨팅 디바이스(300)일 수 있다. 컴퓨팅 디바이스(300)는 주변 신호를 수집하거나 수집된 주변 신호를 수신하기 위한 수집부(310)를 더 포함할 수 있다. 수집부(310)는 복수의 크라우드소싱된 경로를 위한, 적어도 하나의 고유하게 식별될 수 있는 주변 신호와 관련된 궤적 데이터를 수집한다. 프로세서(320)는 크라우드소싱된 경로를 위한 궤적 데이터와 적어도 하나의 관련된 주변 신호를 이용하여 자동으로 경로의 모양을 결정한다. 컴퓨팅 디바이스(300)는 컴퓨터 또는 서버일 수 있으나, 이에 제한되지 않는다.
도 4 는 일 실시 예에 따른 시스템 환경의 일례를 개념적으로 도시한 도면이다. 일 실시예에 따른 시스템 환경(400)은 복수의 모바일 디바이스(405-1 내지 405-N) 및 컴퓨팅 디바이스(450)를 포함한다. 도 3의 컴퓨팅 디바이스(300)은 도 4의 컴퓨팅 디바이스(450)에 대응될 수 있다. 예를 들어, 도 3의 컴퓨팅 디바이스(300)의 수신부(310) 및 프로세서(320)에서 수행되는 각각의 동작은 도 4의 컴퓨팅 디바이스(450)의 크라우드소싱 데이터 수집 및 저장부(430), 자동 지도 생성부(440), 프로세서/메모리를 갖춘 하드웨어 구성요소(490) 중 적어도 하나에 의하여 수행될 수 있다.
일 실시 예에서, 각각의 모바일 디바이스(405-1 내지 405-N)는 위치 데이터를 생성한다. 각각의 모바일 디바이스는 순차적인 상대 위치 정보(relative sequential position information)를 제공하는 자취 데이터를 포함하는 주변 신호(ambient signal)(415-1 내지 415-N)를 제공하는데, 해당 순차적인 상대 위치 정보로부터 궤적(trajectory data)가 직접 또는 간접적으로 결정될 수 있다. 각각의 주변 신호(415-1 내지 415-N)는 바람직하게는 고유의 특성이나 식별 정보를 포함한다. 이하에서, 자취는 자취 데이터를 의미할 수 있다.
궤적 데이터는 궤적 데이터를 수집하고 저장하는 크라우드소싱 (crowdsourcing) 데이터 수집 및 저장부(430) 에 의해 수집된다. 일 실시 예에서, 위치 정보는 보행자 추측 항법(Pedestrian Dead Reckoning, PDR)을 이용하여 생성되며, 궤적 데이터를 생성하고 모바일 디바이스의 위치를 추정하기 위해 모바일 디바이스에 탑재된 센서와 위치결정 서브시스템(407)을 이용한다. 다양한 실시예에서, 위치결정 서브시스템(407)은 특정한 출발지점 혹은 최초 지점으로부터의 상대적인 위치를 추정한다. 예를 들어, 최초 지점은 x-y축 좌표계에서 (0,0)이 될 수 있으나, 이에 한정되지 않고 적절한 위치결정 시스템이나 좌표계라면 무엇이든 사용할 수 있다. PDR의 경우, 센서의 데이터 및 보폭 등의 요소를 통해 보행자의 움직임을 결정하기 위해 모바일 디바이스에 탑재된 센서의 예로 자이로 센서, 방향 센서, 그리고 가속 센서 등을 들 수 있다. 더 일반적으로는, 모바일 디바이스의 위치결정 서브시스템(407)은 다른 기술을 사용하여 위치 데이터를 생성하고, 모바일 디바이스로부터 생성된 궤적 데이터를 포함시킬 수 있다. 특정한 종류의 데이터는, 예를 들면 GPS 데이터와 같은, 야외 활동과 같은 특정한 환경에서만 이용 가능하다. 따라서, 서로 다른 종류의 궤적 데이터가 이용 가능하다면 2 이상의 다른 타입의 궤적이 사용될 수 있다는 것을 알 수 있다. 궤적 데이터는 실내 혹은 야외 환경에서 수집될 수 있다.
각각의 모바일 디바이스(405-1 내지 405-N)는, 예를 들어, 탑재된 센서, 프로세서, 메모리 및 무선통신 기능을 갖춘 스마트폰일 수 있다. 하지만 더 일반적으로, 모바일 디바이스(405-1 내지 405-N)는 스마트폰에 제한되지 않고, 모바일 로봇, 이동체 및 자동차와 같은 다른 종류의 모바일 디바이스를 포함할 수 있다.
일 실시예에 따라, 컴퓨팅 디바이스(450)는 데이터 수집 및 저장부(430), 지도 생성부(440) 및 프로세서 프로세서와 메모리를 갖춘 하드웨어 구성 요소(490)을 포함할 수 있다. 데이터 수집 및 저장부(430)는 선택한 장소의 궤적 데이터를 모아 크라우드소싱하기 위해 최소 두개 이상의 모바일 디바이스로부터, 바람직하게는 여러 개(N개)의 모바일 디바이스로부터 궤적 데이터를 수집하고 저장한다. 장소는 실내일 수도 있다. 하지만, 더 일반적으로 장소가 실내에 제한되지는 않는다. 서로 다른 모바일 디바이스로부터 수집된 궤적 데이터는 정확히 같은 경로에서 얻은 데이터로 제한되지 않으며, 약간 다른 경로, 부분적으로 겹치는 경로, 혹은 서로 다른 사람이 반드시 같은 경로로 걸어가도록 되어있지 않은 건물이나 공간을 걸어서 지나갈 때 발생할 수 있는, 서로 다른 오프셋을 가진 경로일 수 있다. 데이터 수집 및 저장부(430)는 프로세서, 메모리와 같은 하드웨어를 포함한다는 것을 알 수 있다. 데이터 수집 및 저장부(430)는 또한 직접적으로 주변 신호를 탐색하고 수신하거나, 다른 신호탐색기로부터 정보를 수신할 수 있다.
주변신호는, 비록 요구사항은 아니지만, 바람직하게는 각각의 자취를 식별하기 위한, 모바일 디바이스 ID 혹은 MAC ID와 같은 고유의 식별정보를 포함한다. 주변신호로는, 비록 더 일반적으로는 시각 이미지, 자기/전자기, 소리 또는 빛 등의 신호전달 매체가 사용될 수 있지만, 와이파이 신호 혹은 블루투스 신호를 사용할 수 있다.
일 실시 예에서, 자동 지도 생성부(440)는 각 자취의 기준점(anchor point)을 탐색하는 유닛 (442), 궤적 매칭을 수행하는 유닛(444), 궤적 병합과 수정을 수행하는 유닛(446) 및 경로 매핑을 수행하는 유닛(448)을 포함한다. 궤적 병합과 수정을 수행하는 유닛(446)은 다양한 사용자로부터 얻은 경로가 같은 장소로부터 온 것이라면 이를 병합한다. 매핑을 수행하는 유닛(448)은 병합되고 수정된 궤적으로부터 지도를 생성한다. 이는 사용자로부터 수집된 다른 데이터들을 포함할 수 있다. 자동 지도 생성부(440)는 적어도 하나의 프로세서와 메모리를 갖춘 하드웨어 요소(490)를 포함하는, 컴퓨팅 시스템에 설치된 소프트웨어 모듈로서 실시될 수 있다.
도 5는 일 실시 예에 따른 방법의 흐름도이다. 단계 505에서, 궤적 데이터는 복수의 크라우드소싱된 경로들로부터 수집된다. 복수의 경로들 각각의 궤적 데이터는 최소 하나의 고유하게 식별가능한 주변 신호와 연계되고, 단계 510에서, 복수의 크라우드소싱된 경로 각각에 대한 기준점을 찾는다.
기준점은, 이를테면 턴, 정지, 속도변화, 점프 혹은 문을 여는 등의 특정한 사용자의 행동의 특징과 연관된, 모바일 디바이스들의 방향이나 가속도의 변화와 같은 궤적 데이터 특성의 전이가 발생하는 지점에 대응된다. 나아가, 이동체 혹은 자동차와 같은 경우, 기준점은 속도변화, 정지, 둔덕 혹은 경로상의 장애물과 연관된 특성의 전이가 발생하는 지점에 대응될 수 있다. 또한 기준점은 자취의 식별가능한 변화가 일어나는 지점에 대응된다. 즉, 궤적 데이터 특성의 전이가 발생하는 지점은 자취의 식별가능한 변화점에 대응될 수 있다. 궤적 데이터의 제1 자취에 포함된 제1 기준점 세트는 제 1 패턴을 식별하기 위하여 지문과 같이 사용될 수 있다. 궤적 데이터의 제2 자취의 제2 기준점 세트는 제 1 패턴에 잠재적으로 대응될 수 있는 제 2 패턴을 갖는다. 패턴들은 서로 매칭될 수 있는 가능성이 있는지 평가받게 된다.
단계 515에 나타난 바와 같이, 각각의 크라우드소싱된 경로는 기준점에 근거하여 아래와 같이 매칭될 수 있다. 주어진 센서 오차와 잠재적인 오프셋에 따라, 두 개의 자취가 정렬될 수 있도록 각각에 대하여 이동되고 회전될 수 있다. 자취의 조정이나 수정 작업은 한 쌍의 자취를 정렬하기 위한 기하학적 매핑 작업과 매칭된 특정 기준점 세트를 이용하여 수행될 수 있다. 이는 자취의 조정 및 수정을 위한 자취의 이동 및 회전을 포함할 수 있다. 그 외에, 궤적의 기하학적 형태가 기하학적 조정 및 수정을 위해 사용될 수도 있다. 이 과정은 주어진 장소에서의 궤적 데이터의 각기 다른 자취들에 대한 가능한 모든, 따라서 잠재적으로 아주 많은 숫자의 매칭에 대해서 수행될 수 있다.
주변 신호의 특징에 기초하여 불가능한 조합을 제거하기 위한 하나 이상의 규칙을 포함할 수 있다. 예를 들어, 특정한 기준점들의 매칭은 경우의 수에 따라 이론적으로 가능하나, 그 배경이 되는 주변 신호들의 유사성에 대한 평가를 두고 보면 상당히 가능성이 낮아 보일 수 있다. 따라서, 일 실시 예에서는 매칭하고자 하는 두 자취의 주변 신호의 특징을 분석하여 불가능해 보이는 매칭을 제거한다.
단계 520에서 최적의 매칭이 평가된다. 평가에는 매칭의 주변신호 간의 유사성 및 매칭되는 궤적의 기하학적 측면이 모두 고려된다. 주변 신호가 높은 유사성을 가지고 있어도, 기하학적 거리가 매칭에 높은 점수를 주는 것을 막을 수도 있다. 일 실시 예에서, 점수를 매기는 알고리즘은 주변신호 간 유사성에 대한 계산을 기초로 하고, 나아가 기준점 쌍과 연관된 기하학적 거리를 고려하여 매칭을 평가하게 된다. 모든 가능한 매칭이 평가되고, 가장 높은 점수를 받은 매칭이 선택된다. 단계 525에서, 경로의 모양은 최적의 매칭에 기초하여 자동으로 정해질 수 있다. 두 개의 자취가 도시되었고, 더 일반적으로 이 과정은 복수 개의 자취를 평가하고 가장 적당한 경로를 선택하는 것으로 확장될 수 있다.
도 6은 기준점이 턴인 경우에 크라우드소싱을 통해 자동적으로 경로를 결정하는 방법의 양상을 도시한 흐름도이다. 각 블록 아래에 설명에 도움이 되는 추가 도면이 도시되어 있다. 본 예시에서, 블록 605의 궤적 데이터 A와 B의 두 개의 자취에 대한 자취 데이터를 입력한다. 원본 자취 데이터에는 센서 오류와 오프셋이 있을 수 있다. 더욱이, 원본 자취 데이터는 일부 중복된 경로 혹은 오프셋이 있는 경로에 대응될 수 있다. 결과적으로, 자취 A와 B는 다른 모양을 갖는다. 이 예시에서, 기준점들은 턴이고 블록 610에서 자취 데이터들의 턴이 탐지된다. 그 결과 자취 A에서는 턴 1, 2가 탐지되었다. 자취 B에서는 턴 1, 2, 3이 탐지되었다. 이는 블록 615에서 두 자취의 가능한 턴 매칭을 평가하기 위해 고려해야 할 다양한 경우의 수를 만들어낸다. 이 예시에는, 여섯 개의 가능한 턴 기준점 매칭이 있다. 예를 들어, 자취 A의 턴 1은 자취 B의 턴 1과 매칭될 수 있고, 자취 A의 턴 1은 자취 B의 턴 2와 매칭될 수 있으며, 다른 모든 가능한 경우에 대해서도 마찬가지이다.
턴 매칭의 경우의 수를 분석하는 목적은 두 궤적의 가능한 모든 매칭을 생성하는 데 있다. 예를 들어, 궤적 A에는 두 번의 턴이 있다: A1과 A2; 그리고 또다른 궤적 B에 두 번의 턴이 있다: B1과 B2. 이 턴들의 가능한 조합들은:
(A1, B1), (A2,B2)
(A1, B2), (A2,B1)
(A1, NULL), (A2, B1)
(A1, NULL), (A2, B2)
(A2, NULL), (A1, B1)
(A2, NULL), (A1, B2)
여기서 우리는 최소 하나의 턴 매칭이 존재하며, 무위 결과를 가질 수도 있다고 가정한다. 무위 결과는 하나의 턴이 다른 궤적의 무엇과도 매칭되지 않을 경우 발생한다. 이 예시에서, 두 자취는 다른 개수의 턴이 탐지되어, 일부 가능한 경우의 수에서 무위 결과가 발생하게 된다.
앞으로의 단계에서 계산을 줄이기 위해, 일 실시 예에서 불가능한, 또는 더욱 정확하게는, 상당히 가능성이 낮아 보이는 조합은 주변신호의 신호 유사성 테스트에 기초하여 배제된다.
일 실시 예에서 주변 신호는 와이파이 신호이고, 불가능한, 또는 더욱 정확하게는, 상당히 가능성이 낮아 보이는 조합은 두 코너 간 와이파이 유사성을 계산하여 배제된다. 와이파이 신호는 두 코너에서 발견된다. 두 개의 와이파이 스캔 신호 A와 B가 주어졌을 때:
A = {ap1:rss1, ap2:rss2, api:rssi, …}
B = {ap1:rss1, ap2:rss2, apj:rssj, …}
그리고 두 신호 간의 유사성을 계산하기 위해 아래와 같이 타니모토 유사도 계산이 사용된다.
위 예시에서, 만일 A1과 B1사이의 와이파이 유사도가 임계값보다 낮은 경우 (A1, B1)매칭을 포함하는 모든 조합은 제거될 것이다. 따라서 최종적으로 가능한 조합들은 아래와 같다.
(A1, B2), (A2,B1)
(A1, NULL), (A2, B1)
(A1, NULL), (A2, B2)
(A2, NULL), (A1, B2)
이 유사도 공식은 고려해야 하는 조합의 수를 줄이고자 수행하는 유사한 임계값 테스트 및 다른 주변 신호에 대해서도 적용될 수 있다.
블록 625에 도시된 바와 같이, 턴 매칭에 기초하여 추가적인 궤적 조정(자취 조정)이 수행될 수 있다. 즉, 주어진 기준점들의 매칭을 위한 두 궤적의 조정이 수행되는 것이다. 도 6은 주어진 기준점을 조합하는 경우의 수에 대해서 어떻게 두 자취가 정렬되는지에 대한 서로 다른 예시를 보여준다.
블록 630에서는 가장 좋은 매칭을 선택하기 위해 매칭 평가를 수행한다. 즉, 각 궤적 조합의 우도(likelihood)를 평가한다. 이 예시에서, 여섯 개의 가능한 조합 중 최적의 매칭이 선택된다.
추가적인 자취에 대해서도 같은 과정이 계속될 것임을 알 수 있다. 처음의 두 자취가 매칭된 후에, 이 두 자취는 다른 자취들을 매칭하는 데 사용된 하나의 자취로 병합될 것이다.
도 7은 일 실시 예에 따른 턴 탐색의 양상을 도시한 도면이다. 일 실시 예에서 스텝 길이 S를 갖는 보조 자취 슬라이드 창이 턴 탐색을 위해 사용된다. 따라서, 하나의 자취는 슬라이드 창이 이동함에 따른 스텝들의 연속에서 고려되는 보조 자취들의 연속으로 분석된다. 각각의 보조 자취에 대해, 보조 자취의 시작지점인 첫 번째 지점(위치 0), 보조 자취의 중간지점(위치 S/2), 그리고 보조 자취의 종결지점(위치 S-1) 사이에 형성된 각도에 대한 계산이 창 안에서 수행된다. 일 실시 예에서는 각각의 보조 궤적에서 계산된 각도에 대한 임계값 t가 설정된다. 만일 각도가 t보다 클 경우, 스텝 S/2에 있는 중간지점은 궤적의 턴 지점이 될 수 있는 것으로 취급된다. 만일 t보다 큰 각도를 갖는 보조 궤적들이 연속해있을 경우, 가장 작은 각도를 갖는 보조 궤적의 S/2지점이 턴 지점인 것으로 선택하고, 연속하는 보조 궤적상의 나머지 턴 지점들은 무시한다. 이 과정은 스텝의 수인 S개의 모든 보조 궤적들을 조사할 때까지 계속된다.
도 8은 완만한 턴과 급격한 턴의 탐지를 최적화하기 위한 혼합적 접근방법을 도시한다. 도 8에 도시된 바와 같이, 궤적 데이터는 완만한 턴과 급격한 턴의 조합을 포함할 수 있다. 자취(805)에서, 완만한 턴 T1이 급격한 턴 T2를 가까이에 둔 모습이 도시되어 있다. 일 실시 예에서는 주요한 턴만을 선택하도록 파라미터를 세팅할 수 있다. 예를 들어, 만일 몇 개의 턴이 서로 가까이에 위치해있는 경우(T2지역과 같이), 시작과 끝의 턴만 포함하도록 함으로써 급격한 턴은 제거될 수 있다.
파라미터 값 S를 조정하는 것은, 완만한 턴과 급격한 턴을 탐지하기 위한 방법 중 하나이다. 만일 S가 길게 설정된다면, 탐지 알고리즘은 완만한 턴을 탐지할 수 있지만 가까이에 있는 턴들을 정확하게 탐지해내지 못한다(도 8의 두 번째 도면 810에 도시한 바와 같이). 반면에, 만일 S가 작게 설정된다면(점 크기를 작게 하여 나타내었다), 아주 세세한 모양의 턴을 탐지해낼 수 있지만 쇼핑몰과 같은 넓은 실내에서 일반적으로 나타나는 완만한 턴을 놓칠 수 있다(도 8의 세 번째 도면 815에 나타난 바와 같이).
도면 820은 두 개의 서로 다른 파라미터 값 S를 사용함으로써 혼합적인 접근을 시도하는 모습을 도시하고 있다. 제 1 턴 탐지 단계에서는, 소정 제 1 임계값보다 큰 값 S를 사용하여 궤적의 완만한 턴을 탐지한다. 제 2 턴 탐지 단계에서는, 소정 제 2 임계값보다 작은 값 S 를 사용하여 궤적의 작고 급격한 턴을 탐지한다. 제 1 임계값과 제 2 임계값은 같은 값을 가지도록 설정될 수도 있다. 두 가지의 턴 탐지를 결합하여 혼합된 결과를 얻을 수 있다. 도면 820에 도시된 바와 같이, 두 가지의 턴 탐지 결과를 결합할 때, “급격한 턴” 근처의 “완만한 턴”은 제거된다.
또한, 다섯번째 도면 825에서 도시된 바와 같이, 일 실시 예에서는 근접한 여러 턴들 중 하나만 선택될 수 있다. 도면 825의 결과는 수 개의 근접한 급격한 턴들이 결합된 것이다. 혼합된 접근방법의 파라미터는 관심을 두고 있는 경로를 식별하는 데 중요한 턴들을 탐지하기 위해 사용되는 특정 응용의 결과를 최적화하기 위해 적용되고 선택될 수 있다는 것을 알 수 있다.
도 9는 두 개의 자취를 매칭하기 위한 궤적 조정의 추가적인 양상을 도시한다. 일 실시 예에서, 궤적 조정은 한 궤적의 턴 순서에 따르고 매칭된 턴을 하나하나씩 병합한다. 처음으로 매칭된 턴에 대해, 한 궤적의 턴은 다른 궤적의 턴으로 이동된다. 이어지는 턴들은, 두 개의 매칭된 턴의 평균을 기초로 계산되는 새로운 턴의 좌표에 맞추어 회전된다. 턴 조정을 하는 중에는, 오직 이동 및 회전 작업만이 허용된다. 비슷한 결과를 얻기 위해 다양한 이동과 회전 작업이 가능하다는 것을 알 수 있을 것이다.
도 10은 매칭 평가의 추가적인 모습을 도시한 도면이다. 유사도가 각 쌍의 턴에 대해서 계산되며, 주변 신호가 와이파이 신호인 경우에는 와이파이 유사도를 계산하게 된다. 각 쌍의 턴에 대해서 거리가 계산된다. 그리고 각 쌍의 턴에 대해서 평균 점수가 계산된다. 따라서, 이 예에서 두 개의 자취는 A-1과 B-2의 턴 쌍을 갖는다.
매칭 평가는 각각의 조정된 궤적 쌍에 대해 궤적 매칭의 우도를 나타내는 점수를 매긴다. 평가 알고리즘은 두 개의 턴/코너가 같은 장소에 위치한다면, 두 턴과 연관된 와이파이 신호(혹은 다른 주변신호)가 매우 비슷할 것이라는 관찰에 기초한다. 그리고 만일 두 개의 턴이 궤적 내에서 올바르게 매칭된다면, 매칭에서 두 턴 간의 거리는 짧아질 것이다.
위 관찰에 기초하여, 점수 S를 계산한다:
S = Wi-Fi 유사도/턴 거리
두 개의 와이파이 스캔 신호가 주어졌을 때,
A = {ap1:rss1, ap2:rss2, api:rssi, …}
B = {ap1:rss1, ap2:rss2, apj:rssj, …}
그리고 두 신호 간의 유사성을 계산하기 위해 아래와 같이 타니모토 유사도 계산이 사용된다.
턴 거리를 계산하기 위해 유클리드 거리법이 사용된다. 만약 두 개의 턴이 (x1, y1), (x2, y2)의 좌표를 갖는다면, 턴 거리는 다음과 같이 계산된다.
d = sqrt( (x1-x2)^2 + (y1-y2)^2)
가까운 턴 쌍에 대해서, 결과는 만일 궤적 조정이 궤적을 실제(기저 값)에 가깝게 만든다면, 그러한 턴 거리는 작아질 것이다. 그렇지 않으면, 턴 거리는 커질 것이다. 각 쌍의 와이파이 유사도는 똑같을 것이다. 가까이에 있는 모든 턴 쌍에 대하여 점수의 평균을 낸다. 그에 따라, 더 나은 매칭은 더 높은 점수 S를 받게 되고, 나쁜 매칭은 낮은 점수 S를 낼 것이다. 그러면 가장 높은 점수 S를 낸 매칭을 선택하게 된다.
발명이 특정한 실시예와 함께 설명될 때, 이는 발명의 범위를 설명한 실시예에 한정하고자 하는 것이 아님을 알 수 있을 것이다. 반대로, 이는 첨부된 청구항에 정의된 발명의 범위와 정신에 포함될 수 있는 대체, 수정 그리고 균등범위를 포함하고자 하는 것이다. 일 실시 예는 특정한 상세의 일부 혹은 전부를 배제하고 실시될 수도 있다. 이에 더해, 발명에 불필요한 모호함을 피하기 위해 잘 알려진 기능들은 자세히 설명되지 않았을 수 있다.
일 실시 예에 관한 구성, 진행단계, 및/또는 데이터 구조는 다양한 종류의 운영체제, 프로그래밍 언어, 컴퓨팅 플랫폼, 컴퓨터 프로그램 및/또는 범용 기계들을 사용하여 실시할 수 있다. 이에 더해, 당해 기술분야의 통상적 지식을 갖춘 자는 비교적 범용성이 떨어지는 기기들, 예를 들어 하드웨어에 내장된 기기, FPGAs(Field Programmable Gate Arrays), ASICs(Application Specific Integrated Circuits), 혹은 그와 같은 것들도 여기에 개시된 발명의 개념의 범위 및 정신으로부터 떨어지지 않고 사용될 수 있다는 것을 알 수 있다. 일 실시 예는 또한 메모리 디바이스와 같은 컴퓨터로 읽을 수 있는 매체에 저장된 일련의 컴퓨터 명령어 집합을 명백히 포함할 수 있다.
연결 노드 구조(Linked node structure)
앞서 언급한 실시예들 중 일부는 자취의 턴을 식별하고, 턴을 매칭하고 궤적을 병합하는 기술을 설명하고 있다. 즉, 다양한 실시예에서, 궤적 데이터는 복수의 모바일 디바이스(405-1 내지 405-N)로부터 수집된다. 궤적 데이터는, 예를 들어, 쇼핑몰, 쇼핑지구, 놀이공원 등 실내외에 있는 복수의 사용자들의 움직임을 반영할 수 있다. 기준점(턴 지점, 점프, 속도변화 등)이 각각의 자취로부터 탐지된다. 각각의 크라우드소싱된 경로들은 기준점을 기초로 하여 매칭된다. 일치하는 자취들은 기준점 매칭을 기초로 하여 서로에 대하여 이동되고 회전될 수 있다. 위 기술들의 예시는 도 3내지 도 10 과 연관되어 위에서 논의되었다.
다양한 실시예에서, 복수의 자취의 병합과 매칭을 나타내기 위해 연결 노드 구조가 사용된다. 연결 노드 구조는 복수의 노드가 링크로 연결되는 것을 나타내거나 포함하는 모든 구조를 의미한다. 각 노드는 지리학적 위치 및/또는 기준점과 일치한다. 링크가 두 개의 노드를 연결할 때, 다양한 실시예에서 사용자는 두 노드가 나타내는 지리학적 위치 사이를 그 어떠한 다른 알려진 노드나 기준점을 지나지 않고 직접적으로 이동할 수 있음을 나타낸다. 일반적으로, 어떠한 적절한 소프트웨어나 하드웨어도 연결 노드 구조를 생성하기 위해 사용될 수 있다. 일부 실시예에서는, 예를 들어, 연결 노드 구조는 트리 혹은 트리와 유사한, 노드, 링크, 가지(branches) 등을 가진 구조를 나타내거나 대표하는 자료구조일 수 있다. 하지만 이는 요구사항이 아니고 다른 다양한 구조 역시 사용 가능하다.
연결 노드 구조는 자취의 처리과정을 간소화하고 병합된 자취들에 기초한 지도 및 안내 어플리케이션을 사용 가능하게 하는 등 경로 정보를 관리하는 데 있어 도움을 줄 수 있다. 추가적으로 크라우드소싱된 자취들이 수집됨으로써, 새로 수집된 자취들을 반영하기 위한 노드와 링크들이 연결 노드 구조에 추가된다. 시간이 지나면, 연결 노드 구조는 그간 수집되고 분석된 모든 크라우드소싱된 자취에 기초한 서로 다른 모든 기준점/장소 사이에 존재하는 모든 알려진 경로를 대표할 수 있다. 연결 노드 구조가 정렬된 방법 때문에, 다양한 실시예들에서 때때로 컴퓨터가 병합된 자취들 자체보다 연결 노드 구조로부터 더 빠르고 효율적으로 유용한 데이터(예를 들어, 지도 데이터, 안내 데이터 등)를 얻어낼 수 있다.
다음으로 도 11을 참조하여, 최초의 자취로부터 연결 노드 구조를 생성하기 위한 방법의 예(1100)를 설명할 것이다. 예시에서, 서버(예를 들어, 크라우드소싱 데이터 수집 및 저장부(430))는 방법 1100을 수행한다. 하지만 적절한 컴퓨팅 디바이스라면 모두 이 방법을 수행할 수 있다. 일반적으로, 방법 1100을 수행하는 디바이스는 복수의 크라우드소싱된 자취(예를 들어, 서버가 복수의 모바일 디바이스(405-1 내지 405-N)로부터 수신한 궤적 데이터) 에 대한 접근을 할 수 있다.
단계 1102에서, 자취를 형성하는 궤적 데이터를 획득한다. 궤적 데이터는 위에서 설명된 궤적 데이터(예를 들어, 모바일 디바이스(405-1 내지 405-N)로부터 획득한 궤적 데이터)일 수 있다. 궤적 데이터는 PDR 데이터, 모바일 디바이스(405-1 내지 405-N)로부터 수신한 주변신호에 기초한 주변 신호 데이터 혹은 시간에 따른 디바이스의 위치 및 그 주변의 변화를 추적하고 식별하는 데 적합한 어떠한 데이터라도 포함할 수 있다. 몇 실시예에서, 예를 들어, 각 자취는 복수의 정점들로부터 형성되며, 각 정점은 하나의 장소(예를 들어, x, y좌표로 표현), 타임스탬프(예를 들어, 해당 장소에 모바일 디바이스(405-1 내지 405-N)가 도착한 시간을 표시) 및 주변 신호 데이터(예를 들어, 해당 장소에 있는 디바이스로부터 수신한 신호의 세기를 나타내는 데이터) 와 연관된다. 주변 신호는 와이파이, 블루투스, 초음파, 빛 및/또는 모바일 디바이스(405-1 내지 405-N)로부터 특징과 파라미터가 탐지된 어떠한 종류의 신호라도 포함할 수 있으나, 이에 제한되지 않는다.
이동경로의 예(1402) 와 그에 따른 자취 1401이 도 14와 도 15에 도시되어 있다. 도 14는 쇼핑몰(1404)과 같은 실내 장소의 레이아웃 예를 도시한다. 쇼핑몰(1404)은 다양한 실내 가게, 벽, 구조물과 통로를 포함한다. 도 14는 또한 모바일 디바이스(405-1 내지 405-N)를 가지고 쇼핑몰을 통과하는 사용자의 움직임을 대략적으로 나타내는 경로 1402를 포함한다. 도 15는 모바일 디바이스(405-1 내지 405-N)가 경로 1402를 지나가는 동안 수집된 궤적 데이터를 나타내는 경로 1500을 도시한다. 이 예에서, 자취 1500은 PDR 데이터에 기초하고, 따라서 복수의 데이터 정점들로 만들어졌으며, 각각의 데이터 정점들은 시간에 따른 모바일 디바이스(405-1 내지 405-N)의 특정한 지리적 위치를 나타낸다.
도 11으로 돌아가서, 단계 1104에서, 기준점들은 자취 1500에서 식별된다. 기준점에 대해서는 이미 앞에서 언급하였다. 몇 실시예에서, 기준점은 방향 및 가속의 변화(예를 들면, 회전, 속도변화, 점프 등)와 같은 궤적 데이터 특성의 전이가 발생하는 지점과 일치한다. 기준점을 탐색하기 위한 전술한 모든 기술이 사용될 수 있다. 예를 들면, 도 5의 단계 510과 도 6 내지8에 관하여 설명한 것과 같다.
도 15는 자취 1500에서 식별된 기준점들의 예시 세트를 도시한다. 도 15는 자취 1500과 기준점 1504a, 1504b, 1504c, 1504d 및 1504e를 포함한다. 이 특정한 예에서, 각각의 기준점은 자취 1500에서 턴이 탐지되거나 자취가 시작하고 멈춘 부분을 나타낸다. 즉, 자취는 기준점 1504a에서 시작하고, 기준점 1504e에서 멈춘다. 그리고 기준점 1504b, 1504c 및 1504d 기준점에서의 턴을 포함한다.
앞서 논의한 바와 같이, 각각의 기준점들은 다양한 추가 데이터들과 연관될 수 있다. 예를 들면, 도시된 실시예에서 각각의 기준점들은 궤적/위치 데이터와 주변 신호 데이터와 연관되어 있다. 궤적 데이터는, 예를 들면 모바일 디바이스(405-1 내지 405-N) 로부터 수집된 PDR 데이터에 기초한, 특정한 지리적 위치를 나타낸다. 주변 신호 데이터는 모바일 디바이스(405-1 내지 405-N)가 해당 지리적 위치에 있을 때 획득한 신호(예를 들어, RF, 와이파이, 블루투스, 센서 데이터 등) 의 특징을 나타낸다. 예를 들어, 몇 실시예에서는, 주변신호 데이터는 모바일 디바이스(405-1 내지 405-N)가 해당 지리적 위치에 있을 때의 신호(예를 들어, 와이파이, 블루투스 등)의 세기를 나타낸다. 주변 신호 데이터는 신호를 전송하는 디바이스의 정체(예를 들어, 블루투스/와이파이 신호를 전송하는 디바이스의 MAC address)를 나타내는 데이터를 포함할 수 있다. 다양한 실시예에서, 기준점 데이터는 타임스탬프(예를 들어, 특정한 모바일 디바이스(405-1 내지 405-N)가 기준점 위치에 도달한 시간을 나타내는 타임스탬프)를 포함한다.
도 11으로 돌아가서, 단계 1106에서는, 기준점 및/또는 자취에 기초하여 연결 노드 구조가 생성된다. 연결 노드 구조는 지리적인 위치/기준점 사이의 경로 혹은 링크를 나타내는 데 도움이 되도록 정리된 어떤 구조(예를 들어, 소프트웨어 데이터 구조)라도 될 수 있다.
연결 노드 구조(1600)의 예시가 도 16에 도시되어 있다. 이 예시에서, 연결 노드 구조(1600)는 트리 혹은 트리와 유사한 구조이나, 반드시 그럴 것이 요구되는 것은 아니다. 연결 노드 구조(1600)는 복수의 링크(1606)로 연결된 복수의 노드 1604a, 1604b, 1604c, 1604d 및 1604e를 포함한다. 도 16에 도시된 바와 같이, 각 노드는 도 15에 도시된 자취 1500의 기준점들과 일치한다. 이 예시에서, 각 노드는 모든 해당하는 기준점과 연관된 기준점 데이터(예를 들어, 궤적 데이터, 주변 신호 데이터, 지리학적 위치, 타임스탬프 등)를 포함하거나 연관되어 있다.
연결 노드 구조를 만들기 위한 다양한 방법이 있다. 도시된 실시예에 따르면, 예를 들어, 연결 노드 구조(1600)의 노드와 링크를 만들기 위해 다음과 같은 과정이 사용된다.
1) 자취상의 첫 번째 기준점을 획득한다. 즉, 자취를 만드는 데 도움을 준 사용자 혹은 모바일 디바이스가 가장 먼저 방문한 지리적 위치와 일치하는 기준점을 말한다;
2) 첫 번째 기준점을 기초로 하는 노드를 생성한다. 이 노드는 연결 노드 구조의 첫 번째 노드(루트)가 된다;
3) 연결 노드 구조에 포함되지 않은 기준점이 있는지 자취를 조사한다. 만일 더 이상 자취에 기준점이 없다면, 연결 노드 구조는 종료된 것이다;
4) 만일 여전히 하나 이상의 기준점이 연결 노드 구조에 포함되지 않고 남아 있다면, 사용자 혹은 모바일 디바이스가 방문한 순서대로 다음 기준점으로 이동한다;
5) 다음 기준점을 기초로 하는 노드를 생성한다; 직전에 생성된 노드와 이번 노드 사이에 링크를 생성한다.
6) 단계 3)으로 돌아간다.
도 16에 도시된 예에서, 위 과정의 결과로 연결 노드 구조(1600)가 완성된다. 연결 노드 구조는 도 15의 기준점 1504a 내지 1504e와 각각 일치하는 노드 1604a 내지 1604e를 포함한다. 각 노드는 해당하는 기준점과 연관된 데이터(예를 들어, 궤적 데이터, 주변 신호 데이터, 지리적 위치 등)를 포함하거나 연관되어 있다.
도시된 실시예에서, 두 노드 사이의 각 링크는 각 노드와 연관된 지리적 위치 사이에 직접적인 경로가 있음을 나타낸다. 예를 들어, 노드 1604b가 위치 X를 나타내고 노드 1604c가 위치 Y를 나타낸다고 가정한다. 두 노드 사이의 링크는 사용자가 기준점을 결정하는 데 기초가 되는 위치, 특징 및/또는 신호를 마주치지 않고 두 위치 X와 Y사이를 이동할 수 있다는 것을 나타낸다. 도시된 실시예에서, 예를 들어, 기준점은 모바일 디바이스의 움직임 경로상의 턴을 나타낸다. 따라서, 노드 1604b와 1604c 사이의 링크는 사용자가 장소X와 Y사이를 턴 및/또는 실질적인 방향전환 없이 지나갈 수 있다는 것을 의미한다(이는 또한 장소 X와 Y 사이에 직선 통로가 연결된 도 14에서도 볼 수 있다).
연결 노드 구조에 문자 그대로 분명한 노드와 링크가 존재하지 않아도 된다. 어떠한 적절한 데이터 혹은 구조(예를 들어, 소프트웨어 혹은 하드웨어 기반의 데이터 구조)라도 명백히 자취(예를 들어, 원본 PDR 데이터 혹은 주변신호 데이터)를 기초로 하고 있고 앞서 언급한 연결 노드 구조의 적어도 약간의 기능을 나타내는 데 도움이 된다면 사용할 수 있다.
일반적으로, 각각의 노드는 노드 데이터를 포함하거나 연관되어 있다. 앞서 언급한 바와 같이, 각 노드는 기준점을 기초로 하여 생성되고, 따라서 노드 데이터는 해당 기준점과 연관된 데이터와 동일하거나, 이를 기초로 하고 있다. 다양한 실시예에서, 각 노드는 따라서 궤적/위치 데이터(예를 들어, PDR데이터 혹은 지리적 위치를 나타내는 데 도움이 되는 모든 데이터), 주변 신호 데이터(예를 들어, 해당 장소에서 수신하는 주변 신호의 세기) 및/또는 타임스탬프(예를 들어, 모바일 디바이스(405-1 내지 405-N)가 언제 해당 지리적 위치에 도착했는지를 나타내는)와 연관되어 있다. 추가적으로, 노드 데이터는 다른 모든 적당한 파라미터 혹은 값을 포함할 수 있다. 몇 실시예에서, 예를 들어, 노드 데이터는 노드와 연관된 지리적 위치에 얼마나 많은 경로 혹은 자취가 통과했는지를 나타내는 통과값(passthrough value)을 포함한다. 도 16에 도시된 예시에서, 연결 노드 구조(1600)가 단일 자취로부터 생성되었으므로, 각 노드 1604a 내지 1604e는 통과값 1을 갖는다.
연결 노드 구조가 선택된 자취를 기초로 하여 형성되면, 추가적인 자취들을 분석하게 된다. 자취들과 연결 노드 구조들 중 일부는, 비록 다른 물리적 시작점과 끝 지점을 가질지라도, 같은 일반적인 지리적 공간(예를 들어, 도 14의 쇼핑몰(1404))에 연관될 수 있다. 연결 노드 구조는 병합된 자취와 각각의 기준점들을 고려하기 위해 조정된다. 따라서, 다양한 실시예에서, 연결 노드 구조는 특정한 지리적 영역에서 겹쳐진 복수의 자취들로부터 획득한 여정 및 운행 정보를 반영한다. 이 과정의 예시는 도 12에 설명되어 있다.
도 12는 연결 노드 구조를 이용하여 자취를 병합하는 방법1200의 예시를 도시한 흐름도이다. 방법 1200은 연결 노드 구조는 이미 만들어져 있다고 가정한다(예를 들어, 도 11의 방법 1100에서 서술한 바와 같이). 이 예에서는, 어떠한 적절한 서버(예를 들어, 크라우드소싱 데이터 수집 및 저장부(430)과 같은)가 방법 1200을 수행하나, 어떠한 적절한 컴퓨팅 디바이스 역시 이 방법을 수행할 수 있다. 일반적으로, 방법 1200을 수행하는 디바이스는 복수의 크라우드소싱된 자취, 예를 들어, 다수의 모바일 디바이스(405-1 내지 405-N)로부터 수신한 궤적 데이터, 에 접근할 수 있다.
단계 1202에서, 새로운 자취에 대한 궤적 데이터를 획득한다. 이전에 논의한 바와 같이, 이 자취는 복수의 모바일 디바이스(405-1 내지 405-N)로부터 수집된 크라우드소싱된 궤적 데이터를 기초로 한 다수의 자취 중 하나일 수 있다.
단계 1202의 실시예는 도 17과 도 18에 도시되어 있다. 도 17은 다시 도 14에 도시된 쇼핑몰(1404)을 보여준다. 도 14에 도시된 이동경로 1402는 도 17에도 가느다란 선으로 도시되어 있다. 두꺼운 선은 같은 쇼핑몰 내의 또다른 사용자 및 모바일 디바이스가 취한 다른 경로 1702를 간단히 나타낸다. (경로 1702는 경로 1702와 같은 모바일 디바이스에 의해 이미 통과되었을 수 있음을 주의해야 한다.) 이동경로 1402와 1702는 어느 정도 겹쳐진다.
도 18은 모바일 디바이스(405-1 내지 405-N)가 경로 1702를 지나갈 때 수집한 궤적 데이터를 기초로 한 자취 1800을 도시한다. 도 18에서는, 도 15의 자취 1500과 자취 1800이 같은 좌표계에 놓여 있다. 도 17에서, 자취 1500과 1800이 서로 가로지르는 이동경로 1402와 1702에 기초하고 있으므로, 이상적으로는 대체로 겹쳐져야 한다는 것을 알 수 있다. 하지만, 센서/자이로 노이즈 및 궤적상의 다른 오차들로, 자취는 서로 약간의 오프셋을 갖고 있으며, 어긋나 있다. 이것은 이후의 단계에서 연결 노드 구조를 사용하여 교정될 것이다.
도 12로 돌아가서, 단계 1204에서는, 새로운 자취에서 기준점들이 식별된다. 기준점의 식별 혹은 결정은 앞서 말한 기술들을 사용하여 수행할 수 있다. (예를 들어, 도 5의 단계 510, 도 6 내지 8 및 도 11의 단계 1104와 관련하여 설명한 것처럼) 이 단계의 일 실시 예는 자취 1800에서 식별된 복수의 기준점 1904a, 1904b, 1904c 및 1904d를 도시한 도 19에 나타나 있다. 다시 말해, 이 실시예에서는, 각 기준점은 추적된 움직임의 끝, 혹은 턴 (즉, 방향의 전환)과 같은 각 추적된 움직임의 시작을 나타낸다. 하지만 다른 실시예에서 기준점은 다른 특징에 기초하여 결정될 수 있다.
도 12의 단계 1206에서, 매칭하는 점들이 발견된다. 더 명확하게는, 연결 노드 구조의 노드들과 새로운 자취의 기준점들 중 매칭되는 것이 있는지 여부를 결정하는 것이다. 앞서 논의한 바와 같이, 연결 노드 구조의 각 노드는 궤적 데이터나 주변 신호 데이터와 같은 다양한 종류의 데이터와 연관되어 있다. 이 데이터는 노드와 일치하는 지리적 위치를 알려주는 데 도움을 준다. 새로운 자취의 각각의 기준점들 역시 그러한 데이터들 및 지리적 위치와 연관되어 있다. 그 기준점들 중 어떤 것이라도 연결 노드 구조의 노드와 일치하는지 여부를 결정하게 된다.
매칭 과정은 어떠한 방식으로든 진행될 수 있다. 일부 실시예에서, 예를 들어, 노드와 기준점이 매칭되는지 여부를 결정하기 위해 각 노드 및 기준점의 주변 신호 데이터(예를 들어, 와이파이 무선접속디바이스 혹은 블루투스 신호 전송 디바이스와 같은 다양한 기기에서 수신된 신호들의 신호 세기 데이터) 가 분석된다. 일부 실시예는 본 명세서의 앞부분에서 설명한 바와 같이 각 노드 및 기준점의 주변 신호 데이터 간 타니모토 유사도 분석을 포함한다. 만일 타니모토 유사도가 충분 및/또는 기 설정된 임계값을 초과할 경우, 노드와 기준점이 매칭된다고 결정할 수 있다.
추가적으로, 도 5와 도 6에 관련하여 앞서 언급된 어떠한 기술들도(예를 들어, 도 5의 단계 510, 515 및 520 과 도 6의 블록 610 및 615) 기준점과 노드 간의 매칭을 결정하기 위해 사용될 수 있다. 앞서 언급된 몇몇 기술들은 한 자취의 기준점과 다른 자취의 기준점을 매칭하기 위해 사용되었다. 더 상세하게는, 몇 기술들은 다른 자취의 기준점들과 매칭하기 위해 기준점과 연관된 데이터(예를 들어, 주변 신호 데이터)를 사용한다. 다양한 실시예에서, 일반적으로 노드와 기준점들은 같거나 다른 타입의 데이터에서 (예를 들어, 주변 신호 데이터, 장소/궤적 데이터 등)연관되기 때문에, 연결 노드 구조의 각 노드와 새로운 자취의 각 기준점 사이의 매칭을 결정하기 위해 같은 기술이 사용된다
연결 노드 구조의 노드와 새로운 자취의 기준점 간 매칭이 포함된 단계 1206의 일 실시 예가 도 20에 도시되어 있다. 도 20는 연결 노드 구조의 노드 1604c 및 1604d와 새로운 자취 1800의 기준점 1904c 및 1904b가 각각 매칭된다는 것을 나타낸다. 노드 1604c 및 1604d는 연결 노드 구조(1600)에 기초하여 최초의 자취 1500의 기준점 1504b 및 1504c와 일치한다. (마찬가지로, 도 20에 도시된 바와 같이.) 따라서, 매칭은 자취 1500의 기준점 1504b, 자취 1800의 기준점 1904c 및 연결 노드 구조의 노드 1604c가 같은 지리적 장소인 도 17의 장소 A와 연관되어 있다는 것을 나타낸다. 매칭은 또한 자취 1500의 기준점 1504c, 자취 1800의 기준점 1904b 및 연결 노드 구조의 노드 1604d가 같은 지리적 장소인 도 17의 장소 B와 연관되어 있다는 것을 나타낸다.
도 12로 돌아가서, 매칭 지점(즉, 노드와 기준점의 매칭)이 결정되면, 참조 지점이 결정된다. 참조 지점은 매칭 지점들 중에서 선택된다. 이는 높은 정확성(즉, 가장 정확한 관련정보(예를 들면, 주변 신호 데이터, 장소 데이터, PDR데이터 등)를 가지고 있을 것 같은)을 갖는 매칭 지점인 것으로 일반적으로 이해할 수 있다.
매칭 지점들 중 참조 지점을 선택하는 것은 다양한 방법으로 수행될 수 있다. 몇 실시예에서, 예를 들어, 사용자가 이전에 방문했던 매칭 지점을 선택하는 것이 바람직하다. 즉, 앞서 설명한 바와 같이, 각 노드 혹은 기준점은 자취에 기초하고, 결국 모바일 디바이스가 얻은 궤적 데이터로부터 생성된다. 일반적으로, 궤적 데이터는 다양한 기준점들이 디바이스가 자취의 경로를 지나가면서 디바이스 및 이를 소지한 사용자로부터 방문된 순서를 나타낸다. 몇 실시예에서, 참조 지점은 디바이스가 도달한 다른 매칭 지점들에 비해 상대적으로 가장 먼저 방문한 매칭 지점을 참조 지점으로 삼는다. 달리 말하면, 몇 실시예에서는, 이는 연결 노드 구조의 루트에 가장 가까운 매칭 포인트인 것을 의미한다. 루트 노드는 디바이스 사용자가 가장 먼저 도착한 기준점에 기초하기 때문이다. 이러한 접근방식을 사용하는 이유는 몇 종류의 추적 및 PDR-관련 기술들은 사용자가 자취의 경로를 따라 출발할 때가 더 정확하지만, 센서의 노이즈와 다른 추적 오차들로 인해 시간이 지날수록 그 정확도가 떨어지기 때문일 수 있다. 하지만, 매칭 지점의 정확도를 결정해 그 중에서 참조 지점을 선택하기 위한 방법은 이에 제한되지 않고, 그 외의 어떠한 적절한 기술이라도 사용할 수 있다.
단계 1208의 일 실시 예가 도 19에 도시되어 있다. 본 실시예에서, 노드 1604c와 다른 기준점 1904c의 매칭이 결정되고 이를 종합하여 매칭 지점을 형성한다. 노드 1604d와 기준점 1904d 역시 매칭이 결정되고 마찬가지로 종합하여 또다른 매칭 지점을 형성한다. 노드 1604c/ 기준점 1904c가 참조 지점으로 결정되고, 이는 어느 정도는 노드 1604c가 연결 노드 구조(1600)의 루트 노드(노드 1604a)로부터 다른 매칭 지점들에 비해 상대적으로 가장 가깝고, 따라서 이는 연결 노드 구조(1600)의 기초가 된 경로1402를 따라온 사용자로부터 더 먼저 방문되었다는 것을 나타내기 때문이라고 할 수 있다.
도 12로 돌아가서, 참조 지점이 선택되면, 새로운 자취가 참조지점을 이용하여 이동된다(단계 1210). 즉, 참조 지점은 새로운 자취가 어디에 위치해야 적절한지와 연결 노드 구조가 어디로 연결되어야 하는지 결정하는 데 사용될 수 있다. 연결 노드 구조는 새로운 자취의 연결을 고려하여 수정된다.
다양한 실시예에서, 새로운 자취를 반영하여 하나 혹은 그 이상의 노드와 링크가 연결 노드 구조로 추가된다. 이는 연결 노드 구조의 특성과 서로 다른 응용의 필요성에 따라 다양한 방식으로 수행될 수 있다. 몇 실시예에서, 예를 들어, 아래 과정들이 연결 노드 구조에 노드를 추가하기 위해 수행될 수 있다.
1) 참조 지점(즉, 참조 지점과 일치하는 새로운 자취의 기준점과 연결 노드 구조의 노드)에서 시작한다
2) 새로운 자취 상의 참조 지점에서 직접적으로 연결되어 있고 연결 노드 구조에 아직 표현되지 않은 기준점을 고려하여 연결 노드 구조에 노드를 추가한다. 기준점과 연관된 데이터는 노드에 포함되거나 연관되어 있다.
3) 연결 노드 구조에 표현되지 않은 새로운 자취의 모든 기준점에서, 연결 노드 구조에 노드를 추가한다. 위에서 설명한 것처럼, 새로운 노드의 데이터는 기준점의 데이터와 동일하거나 그에 기초한다. 노드 간에 적절한 링크를 생성하여 자취 상 기준점 사이의 직접 연결을 나타낸다.
4) 자취의 모든 기준점이 연결 노드 구조에 추가될 때까지 위 과정을 반복한다.
도 21은 일 실시 예를 도시한 도면이다. 도 21에서는, 원본 연결 노드 구조가 1604a 내지 1604d로 표현된다. 참조 지점 2102(도22)는 노드 1604c 및 새로운 자취 1800(도20)의 기준점 1904c와 일치한다. 자취 1800에서 기준점 1904d가 기준점 1904c와 직접적으로 연결되어 있으므로, 노드 2104d가 추가되고 노드 1604c와 연결된다. 노드 2104d는 기준점 1904d의 데이터를 포함하거나 연관되어 있다. 기준점 1904b는 또한 기준점 1904c와 직접적으로 연결되어 있으나, 이미 노드 1604d가 노드 1604c에 직접적으로 연결됨으로써 연결 노드 구조에 적절하게 설명되어 있다. 연결 노드 구조(1600)에 나타나지 않은 자취 1800의 남아있는 기준점은 기준점 1904a이다. 기준점 1904a는 연결 노드 구조(1600)의 노드 1604d와 매칭되는 기준점 1904b와 직접적으로 연결되어 있다. 따라서, 새로운 노드가 생성되고 (노드 2104a) 노드 1604d에 직접적으로 연결된다. 노드 2104a는 기준점 1904a의 데이터를 포함하거나 이와 연관되어 있다.
자취는 위의 이동 과정에 따라 정렬될 수 있다. 즉, 연결 노드 구조의 기초가 된 자취와 새로운 자취는 참조 지점에서 연결될 수 있다. 이러한 접근방법의 일 실시 예는 도 22에 도시되어 있다. 도 18에서, 연관된 궤적 데이터만을 기초로 한 자취 1500 및 1800이 서로 잘못된 오프셋을 가지고 있던 것을 상기해야 한다. 이러한 오류를 고치기 위해, 자취 1800은 정렬되어 도 21에 도시된 바와 같이 자취 1500과 참조 지점 2102 (즉, 도 20에서 노드 1604c/기준점 1504b와 연관된 장소)에서 연결된다. 새로운 자취 1800은 기준점 1904c의 위치에서 참조 지점 2102와 연결한다. (즉, 도 20의 기준점 1504b/노드 1604c와 매칭하는 자취 1800의 매칭 지점) 즉, 기준점 1904c와 연관된 장소 데이터는 노드 1604c와 연관된 장소 데이터와 매칭하기 위해 수정된다.
도 12로 돌아가서, 단계 1212에서, 새로운 자취는 다른 알려진 매칭 지점에 딱 맞게 회전된다. 이는 어떠한 적절한 방법을 이용해서도 수행될 수 있다. 몇 실시예에서, 예를 들어, 이 단계는 새로운 자취에서의 비 참조 매칭 지점의 위치를 계산하고 자취를 이에 따라 재배치하는 것을 포함한다. 한 예로서, 비 참조 매칭 지점의 위치는 연결 노드 구조 및 새로운 자취 상에서 일치하는 매칭 지점의 위치를 평균내어 결정할 수 있다. 이는 자취의 정확성을 증가시키는 데 도움이 된다.
이러한 접근법의 일 실시 예는 도 20과 관련하여 설명되어 있다. 기준점 1904b는 자취 1800의 비 참조 매칭 지점이다. 연결 노드 구조(1600)의 대응하는 매칭 지점은 1604d이다. 앞서 언급한 대로, 각 노드는 노드 데이터와 연관되어 있고, 각 기준점은 기준점 데이터와 연관되어 있으며, 양쪽 모두, 예를 들면, PDR 데이터와 같은 궤적/장소 데이터를 포함하고 있다. 이 예시의 목적에 따라 노드 1604d의 PDR 데이터는 장소 X1과 연관되어 있고 기준점 1904b의 PDR 데이터는 장소 Y1과 연관되어 있다고 가정한다. 이 예시에서, 기준점 1904b를 위한 새로운 장소는 X1과 Y1의 평균이다. 만일 추가적인 비 참조 매칭 지점이 있다면, 그 위치는 비슷한 방법으로 결정될 수 있다.
자취 상의 비 참조 매칭 지점의 위치가 결정되면, 자취들은 새로이 결정된 위치에 기초하여 재조정 및/또는 회전될 수 있다. 이 작업의 일 실시 예가 도 22에 도시되어 있다. 도 22에서는, 자취 1500/1800은, 참조 지점 2102에서 연결되어 있음에도 불구하고, 어긋나 있다. 도 23에 도시된 바와 같이, 자취 1800상의 비 참조 매칭 지점(예를 들어, 기준점 1904b)의 다시 계산된 위치에 기초하여, 자취 1800은 알맞게 회전된다. 자취 1500/1800이 나타내고자 하는 병합된 자취는, 이제 도 17과 23에서 비교할 수 있듯이, 사용자가 쇼핑몰(1404)을 가로지른 실제의 경로 1402/1702와 훨씬 더 비슷해졌다.
이에 대해, 새로운 자취에 대해 정확성을 증가시키기 위해 다른 조정이 이루어질 수 있다. 몇 실시예에서, 예를 들어, 주변 신호 데이터는 자취를 수정하기 위해 사용된다. 이전에 설명하였듯이, 다양한 실시예에서 각각의 기준점과 노드는 장소 데이터 및 주변 신호 데이터(예를 들어, 와이파이 데이터, 블루투스 데이터 등)와 연관되어 있다. 이에 더해, 자취는 복수의 지점들로 구성(즉, PDR을 사용)될 수 있고, 각각의 지점은 타임스탬프, 주변 신호 및 장소 데이터와 연관되어 있다. 몇 실시예에서, 자취 내 지점의 추정된 장소는 하나 혹은 그 이상의 노드에 대한 주변 신호 데이터와 각 지점의 주변 신호 데이터에 대한 분석을 기초로 하여 수정된다. 만일, 예를 들어, 노드에 대한 주변 신호 데이터(예를 들어, 와이파이 지문)가 자취 내 지점의 주변 신호 데이터와 일치한다면, 몇 실시예에서는 그 지점과 노드는 같은 장소에 연관되어 있으므로 지점의 위치를 조정하는 것이 바람직하다.
도 12의 단계 1214에서, 연결 노드 구조의 데이터가 업데이트된다. 논의한 바와 같이, 다양한 실시예에서, 각 새로운 노드가 새로운 자취의 기준점을 기초로 하여 연결 노드 구조에 추가되었고, 따라서 이는 일치하는 기준점의 데이터(예를 들어, 주변 신호 데이터, PDR 데이터, 장소 데이터, 타임스탬프 데이터 등)와 연관된다. 그러한 데이터는 연결 노드 구조에 어떠한 적절한 방법을 사용해서도 저장될 수 있다.
다양한 실시예에서, 연결 노드 구조의 매칭 지점과 일치하는 노드 데이터 역시 수정된다. 이는 다양한 방법으로 수행될 수 있다. 새로운 자취가 데이터 A와 연관된 기준점 A를 갖는 예시를 고려하자. 기준점 A는 연결 노드 구조의 노드 B와 매칭된다. 노드 B는 데이터 B와 연관된다. 이 예에서, 데이터 A와 데이터 B는 장소/PDR 데이터(예를 들어, x, y좌표로 표현된, 노드/기준점과 연관된 장소를 나타내는 데이터)와 주변신호 데이터(예를 들어, 블루투스 신호 전송 디바이스, 와이파이 무선접속디바이스, 혹은 어떠한 다른 주변 신호의 출처와 같은, 신호 전송 디바이스로부터 다양한 장소에서 수신된 신호의 세기를 나타내는 데이터)를 포함한다.
다양한 실시예에서, 도 12의 단계 1212에 관하여 논의한 것과 같이, 데이터 A와 데이터 B의 값의 평균으로 매칭 노드 A의 데이터가 업데이트될 수 있다. 예를 들어, 데이터 A는 위치 P1의 기준점 A와 연관된 PDR 데이터를 포함할 수 있다. 데이터 B는 위치 P2의 노드 B와 연관된 PDR데이터를 포함할 수 있다. 그리고 데이터 B는 P1과 P2의 평균을 기초로 한 위치의 연관노드 B에 업데이트될 수 있다. 주변 신호 역시 평균을 낼 수 있다. 예를 들어, 만일 데이터 A가 특정한 신호 전송 디바이스로부터의 신호세기 값 Y1을 갖는 기준점 A와 연관된 경우, 그리고 데이터 B가 같은 신호 전송 디바이스로부터 신호세기 값 Y2를 갖는 노드 B와 연관된 경우, 데이터 B는 같은 디바이스로부터 수신한 신호의 세기가 Y1과 Y2의 평균인 것을 나타내는 것으로 업데이트될 수 있다. 다만 노드 데이터를 업데이트하는 것은 위의 평균 기법에 제한되지 않고, 어떠한 적절한 방법을 사용하여서도 할 수 있다.
노드 데이터의 다른 파라미터와 값들 역시 업데이트될 수 있다. 다양한 실시예에서, 예를 들어, 각 노드의 노드 데이터는 통과값을 포함한다. 앞서 논의한 대로, 통과값은 노드를 통과한 자취 혹은 경로의 수를 나타낸다. 일반적으로, 매칭 지점은 새로운 자취가 매칭 지점 노드를 통과했음을 나타내므로, 그러한 노드들의 통과값은 1 증가한다. 따라서, 도 23의 예시에서, 매칭 지점(노드 1604c, 1604d)을 제외한 각 노드는 통과값 1을 가지고, 매칭 지점들은 통과값 2를 갖는다. 이는 도 17 및 도 20에 나타난 바와 같이, 적어도 2개 이상의 자취가 (예를 들어, 자취 1500과 1800)이러한 노드들과 연관된 위치를 통과하기 때문이다.
최초 자취를 사용하여 연결 노드 구조가 생성되면, 이는 도 12의 방법 1200을 이용하여 새롭게 크라우드소싱된 자취들로 반복적으로 추가되고 업데이트될 수 있다. 이 과정의 일례가 도 13에 도시되어 있다. 도 13은 서버(예를 들어, 크라우드소싱된 데이터 수집 및 저장부(430))에 적용된 방법 1300의 일 실시 예를 도시하나, 어떠한 적절한 컴퓨팅 디바이스 또한 방법 1300을 수행하기 위해 사용될 수 있다. 최초에, 단계 1302에서, 자취를 얻는다. 예를 들어, 자취는 서버에 자취를 전송한 모바일 디바이스(405-1 내지 405-N)로부터 크라우드소싱될 수 있다.
단계 1304에서, 단계 1302에서 얻은 자취가 특정 지리적 영역에서 얻은 첫 번째 자취인지를 결정한다. 즉, 해당 지리적 영역(예를 들어, 도 14의 쇼핑몰(1404))에 대한 새로운 자취와 연관된 적절한 연결 노드 구조가 아직 생성되지 않았는지 여부를 결정하는 것이다. 만약 그렇다면, 방법 1300은 단계 1306까지 진행한다. 단계 1306에서, 도 11의 방법 1100에 대하여 논의한 바와 같이, 해당 자취를 기초로 하여 연결 노드 구조가 생성된다.
만일 단계 1302에서 얻은 자취가 첫 번째 자취가 아니라는 결정을 내렸고, 그리고/또는 적절한 연결 노드 구조가 이미 생성된 것이라면, 방법 1300은 단계 1308까지 진행된다. 단계 1308에서, 위에서 논의한 바와 같이, 도 12의 방법 1200이 수행된다. 이 단계 중에, 기 존재하는 연결 노드 구조는 새로운 자취를 감안하여 업데이트된다. 또한, 자취는 연결 노드 구조가 나타내는, 기 존재하는 합병된 자취들의 집합에 따라 합병되고 적절하게 배치될 수 있다. 새로운 자취가 추가되면, 방법 1300은 단계 1302로 돌아가고 다시 반복된다.
시간이 지나면서, 연결 노드 구조는 추가적으로 크라우드소싱된 자취들을 반영하기 위해 반복해서 업데이트된다. 충분한 수의 자취를 획득하면, 연결 노드 구조는 사람들이 특정한 지리적 영역에서 길을 찾기 위해 택할 수 있는 다양한 경로를 나타낸다. 도 21의 연결 노드 구조는, 예를 들어, 도 14 및 도 17의 쇼핑몰 1404에서 사람들이 어떻게 길을 찾을 수 있는지를 나타낸다. 이는 사람들이 턴이나 다른 기준점을 만나지 않고 이동할 수 있는 장소들을 나타낸다. 이는 또한 특정 인물 혹은 디바이스가 특정한 기준점을 몇 번이나 통과했는지를 나타낸다(예를 들어, 통과값을 활용한다).
위 데이터에 기초하여, 다양한 유용한 서비스들이 제공될 수 있다. 몇 실시예에서, 도 13의 방법 1300을 수행한 서버가 모바일 디바이스 사용자에게 서비스를 제공할 수 있다. 한 예로서, 서버는 모바일 디바이스(405-1 내지 405-N)에게 연결 노드 구조가 맡고 있는 영역의 특정 목표 위치까지 도달하는 최단거리 안내를 제공하는 데이터를 전송할 수 있다. 모바일 디바이스(405-1 내지 405-N)는 이 데이터에 기초하여 메시지, 안내 및/또는 그래픽 인터페이스를 디스플레이한다. 몇 실시예에서, 서버는 또한 모바일 디바이스(405-1 내지 405-N)에 현재 위치(혹은 다른 위치)와 목표 위치 사이의 거리 데이터를 전송할 수 있다. 이 거리는 해당 위치와 연관된 노드들의 노드 데이터를 기초로 하여 계산할 수 있다. 즉, 각 노드는 위치 데이터와 연관되어 있기 때문에, 각 연결 노드 쌍 사이의 물리적 거리가 결정될 수 있고, 따라서 여러 연결 노드를 지나는 경로의 총 거리 또한 결정될 수 있다.
연결 노드 구조는 실시간 교통 패턴과 사용자의 움직임 및 행동 패턴을 식별하는 데 사용될 수 있다. 즉, 모바일 디바이스(405-1 내지 405-N)가 특정 지역을 지나가면서, 서버에 궤적 데이터와 자취 정보를 전송하도록 되어 있다. 서버는 궤적 데이터가 수신되면 도 13의 방법 1300을 실시간으로 수행한다. 따라서, 연결 노드 구조는 수신된 궤적 데이터에 기초하여 실시간으로 생성되고 업데이트되고, 해당 영역의 현재 교통 패턴을 반영한다. 연결 노드 구조는, 예를 들어, 과밀 데이터 즉, 하나 혹은 하나 이상의 위치(예를 들어, 기준점 위치)에 얼마나 많은 사람이 통과했는지를 결정하는 데 사용될 수 있다. 예를 들어, 각 노드의 통과값은 과밀 데이터를 결정하기 위해 사용될 수 있다.
과밀 데이터를 획득하면, 이는 다양한 응용에 사용될 수 있다. 예를 들어, 서버는 특정한 지역의 다양한 부분 및/또는 한 위치에서 다른 위치로 가는 유명한 경로들이 얼마나 과밀되었는지를 나타내는 과밀 데이터를 모바일 디바이스(405-1 내지 405-N)에 전송할 수 있다. 과밀 데이터는 서버에 저장된 연결 노드 구조의 링크, 노드 및/또는 통과값을 기초로 한다. 다양한 실시예에서, 과밀 데이터는 다양한 기간에 걸친 교통 패턴을 나타내며, 현재, 일간, 월간 혹은 분기별 교통 패턴을 포함할 수 있으나, 이에 제한되지 않는다. 서버로부터 수신한 과밀 데이터를 기초로 하여, 모바일 디바이스(405-1 내지 405-N)는 지도, 그래픽 인터페이스 혹은 사용자에게 보내는 다른 종류의 메시지를 디스플레이하도록 되어 있고, 이는 과밀 패턴 및/또는 다가오는 과밀 지역을 피할 수 있는 길을 나타낸다. 몇 실시예에서, 과밀 패턴은 지역의 한 위치에 놓인 특정 광고에 얼마를 청구해야 하는지 결정하는 데 사용된다. 예를 들어, 교통량이 많은 지역의 광고료는 교통량이 적은 곳의 광고료보다 높게 책정되어야 할 것이다. 비슷한 접근방식이 교통량이 많은 지역이 더 높은 임대료를 내도록 하는 쇼핑몰 내의 빌딩 임대료 책정에도 사용될 수 있다.
몇 응용에서, 앞서 언급한 서버는 모바일 디바이스(405-1 내지 405-N) 혹은 다른 디바이스에게 사람들이 얼마나 빠르게 턴을(즉, 노드를) 통과하는지를 나타내는 데이터를 전송할 수 있다. 통과 시간 또한 노드와 연관된 시간 및 위치 데이터에 기초한다. 다양한 실시예에서, 예를 들어, 각 노드의 노드 데이터는 위치 데이터(예를 들어, x, y 좌표)및 시간 데이터(예를 들어, 특정 모바일 디바이스 (405-1 내지 405-N)가 해당 좌표에 도달한 시간)를 포함한다. 같은 모바일 디바이스가 방문한 다른 노드들은 비슷한 종류의 위치 및 시간 데이터로 연관될 수 있다. 따라서, 그러한 데이터에 기초하여, 모바일 디바이스(405-1 내지 405-N)가 어떠한 두 노드 혹은 일련의 노드들 사이를 이동하는 데 필요한 시간을 계산할 수 있다. 다양한 실시예에서, 서버는 그러한 시간 데이터를 모바일 디바이스(405-1 내지 405-N)에 전송하고, 모바일 디바이스 (405-1 내지 405-N)는 다른 위치 사이에 예상되는 이동 시간을 나타내는 메시지를 디스플레이한다.
Claims (36)
- 크라우드소싱된(crowd-sourced) 복수의 경로에 대한 궤적 데이터를 수집하는 단계로서, 상기 크라우드소싱된 복수의 경로 각각에 대한 궤적 데이터는 고유하게 식별가능한 적어도 하나의 주변 신호와 연관되어 있는, 상기 수집하는 단계; 및상기 크라우드소싱된 복수의 경로에 대한 궤적 데이터 및 적어도 하나의 연관된 상기 주변 신호를 이용하여 자동으로 목표 경로의 모양을 결정하는 단계; 를 포함하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 1 항에 있어서, 상기 자동으로 목표 경로의 모양을 결정하는 단계는,상기 적어도 하나의 연관된 주변 신호를 이용하여 상기 크라우드소싱된 복수의 경로에 대한 궤적 데이터를 서로 매칭하는 단계를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 2 항에 있어서, 상기 매칭하는 단계는,상기 크라우드소싱된 복수의 경로에 대한 궤적 데이터의 기준점들(anchor points)을 식별하는 단계; 및상기 기준점들에 기초하여 매칭을 수행하는 단계; 를 더 포함하고,상기 기준점들은 상기 크라우드소싱된 상기 복수의 경로 각각의 궤적 데이터의 특징의 전이(transition)에 대응되는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 3 항에 있어서,상기 주변 신호는 모바일 디바이스의 이동 상태를 나타내는 궤적 데이터를 포함하고,상기 전이는 상기 모바일 디바이스의 턴(turn), 이동 방향 및 이동 패턴 중 적어도 하나를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 3 항에 있어서, 상기 기준점에 기초하여 매칭을 수행하는 단계는,상기 기준점의 매칭 패턴을 식별하는 단계; 를 더 포함하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 5 항에 있어서, 상기 기준점의 매칭 패턴을 식별하는 단계는,모바일 디바이스의 턴을 식별하는 단계; 를 더 포함하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 6 항에 있어서, 상기 턴을 식별하는 단계는,보조 궤적의 스텝 길이를 선택하고 임계 각도 조건이 만족되었는지를 결정하는 단계를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 7 항에 있어서, 상기 스텝 길이는,탐지하고자 하는 턴의 종류에 따라 다르게 조정되며;상기 턴의 종류는 상기 턴에 대응하는 상기 궤적의 지점에서의 곡률에 따라 결정되는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 8 항에 있어서,상기 곡률이 소정 제1 임계 곡률보다 큰 턴들의 조합의 마지막 턴 및 상기 곡률이 소정 제2 임계 곡률보다 작은 턴 중 적어도 하나를 선택함으로써 중요한 턴을 식별하는 단계; 를 더 포함하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 6 항에 있어서,상기 크라우드소싱된 복수의 경로 중 두 개의 크라우드소싱된 경로에 대하여 상기 기준점에 기초한 매칭 결과를 평가하는 단계; 를 더 포함하며,상기 평가는 적어도 각각의 상기 주변 신호의 유사도에 기초하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 10 항에 있어서, 상기 매칭 결과를 평가하는 단계는,상기 두 개의 크라우드소싱된 경로에 포함된 턴들을 서로 조합할 수 있는 경우의 수를 획득하는 단계;를 더 포함하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 11 항에 있어서,상기 매칭은 상기 주변 신호의 유사도의 적어도 일부에 기초하여 평가되는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 12 항에 있어서, 상기 매칭을 평가하는 단계는,상기 주변 신호의 유사도를 계산하고, 상기 주변 신호의 유사도를 거리 요소로 나눈 결과에 기초하여 점수를 결정하는 단계를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 6 항에 있어서, 상기 매칭을 수행하는 단계는,상기 궤적 데이터를 정렬하기 위해 상기 궤적 데이터를 이동 및 회전하는 단계; 를 더 포함하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 1 항에 있어서, 상기 주변 신호는 와이파이 신호, 블루투스 신호, 소리, 이미지 신호, 자기 신호 및 빛 신호 중 적어도 하나를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 1 항에 있어서, 상기 궤적 데이터는 복수의 모바일 디바이스로부터 수집되는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 16 항에 있어서, 상기 복수의 모바일 디바이스 각각은 상기 궤적 데이터를 생성하기 위한 적어도 하나의 센서를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 노드는 하나 이상의 자취(trace)에 의하여 통과되는 지리적 위치를 나타내고, 링크는 한 쌍의 노드를 연결함으로써 상기 한 쌍의 노드가 나타내는 지리적 위치 사이에 이용가능한 경로를 의미할 때, 하나 이상의 자취에 기초하여 두 개 이상의 노드와 하나 이상의 링크를 포함하는 연결 노드 구조(linked node structure)를 유지하는 단계;새로운 자취에 포함된 하나 이상의 식별 가능한 변화점을 상기 연결 노드 구조에 포함된 하나 이상의 노드와 매칭하는 단계; 및상기 매칭의 결과에 기초하여 상기 연결 노드 구조를 업데이트하는 단계;를 포함하는, 경로 정보 관리 방법.
- 크라우드소싱된 복수의 경로에 대한 궤적 데이터를 수집하는 수집부로서, 상기 크라우드소싱된 복수의 경로 각각에 대한 궤적 데이터는 고유하게 식별가능한 적어도 하나의 주변 신호와 연관되어 있는, 상기 수집부; 및상기 크라우드소싱된 복수의 경로에 대한 궤적 데이터 및 적어도 하나의 연관된 상기 주변 신호를 이용하여 자동으로 목표 경로의 모양을 결정하는, 프로세서; 를 포함하는, 궤적 결정 시스템.
- 제 19 항에 있어서, 상기 프로세서는,상기 적어도 하나의 연관된 주변 신호를 이용하여 상기 크라우드소싱된 복수의 경로에 대한 궤적 데이터를 서로 매칭하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 20 항에 있어서, 상기 프로세서는,상기 크라우드소싱된 복수의 경로에 대한 궤적 데이터의 기준점들(anchor points)을 식별하고,상기 기준점들에 기초하여 매칭을 수행하며,상기 기준점들은 상기 크라우드소싱된 상기 복수의 경로 각각의 궤적 데이터의 특징의 전이(transition)에 대응되는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 21 항에 있어서,상기 주변 신호는 모바일 디바이스의 이동 상태를 나타내는 궤적 데이터를 포함하고,상기 전이는 상기 모바일 디바이스의 턴(turn), 이동 방향 및 이동 패턴 중 적어도 하나를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 21 항에 있어서, 상기 프로세서는,상기 기준점에 기초하여 매칭을 수행하는 경우,상기 기준점의 매칭 패턴을 식별하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 23 항에 있어서, 상기 프로세서는,상기 기준점의 매칭 패턴을 식별하는 경우,모바일 디바이스의 턴을 식별하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 24 항에 있어서, 상기 프로세서는,상기 턴을 식별하는 경우,보조 궤적의 스텝 길이를 선택하고 임계 각도 조건이 만족되었는지를 결정하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 25 항에 있어서, 상기 스텝 길이는,탐지하고자 하는 턴의 종류에 따라 다르게 조정되며;상기 턴의 종류는 상기 턴에 대응하는 상기 궤적의 지점에서의 곡률에 따라 결정되는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 26 항에 있어서, 상기 프로세서는,상기 곡률이 소정 제1 임계 곡률보다 큰 턴들의 조합의 마지막 턴 및 상기 곡률이 소정 제2 임계 곡률보다 작은 턴 중 적어도 하나를 선택함으로써 중요한 턴을 식별하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 24 항에 있어서, 상기 프로세서는,상기 크라우드소싱된 복수의 경로 중 두 개의 크라우드소싱된 경로에 대하여 상기 기준점에 기초한 매칭 결과를 평가하고,상기 평가는 적어도 각각의 상기 주변 신호의 유사도에 기초하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 28 항에 있어서, 상기 프로세서는,상기 두 개의 크라우드소싱된 경로에 포함된 턴들을 서로 조합할 수 있는 경우의 수를 획득하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 29 항에 있어서,상기 매칭은 상기 주변 신호의 유사도의 적어도 일부에 기초하여 평가되는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 30 항에 있어서, 상기 프로세서는,상기 매칭을 평가하는 경우,상기 주변 신호의 유사도를 계산하고, 상기 주변 신호의 유사도를 거리 요소로 나눈 결과에 기초하여 점수를 결정하는 단계를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 24 항에 있어서, 상기 프로세서는,상기 매칭을 수행하는 경우,상기 궤적 데이터를 정렬하기 위해 상기 궤적 데이터를 이동 및 회전하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 방법.
- 제 19 항에 있어서, 상기 주변 신호는 와이파이 신호, 블루투스 신호, 소리, 이미지 신호, 자기 신호 및 빛 신호 중 적어도 하나를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 19 항에 있어서, 상기 궤적 데이터는 복수의 모바일 디바이스로부터 수집되는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 34 항에 있어서, 상기 복수의 모바일 디바이스 각각은 상기 궤적 데이터를 생성하기 위한 적어도 하나의 센서를 포함하는 것을 특징으로 하는, 주변 신호를 이용한 궤적 결정 시스템.
- 제 1 항 내지 제 18 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201580022081.8A CN106574975B (zh) | 2014-04-25 | 2015-04-24 | 使用外围信号的轨迹匹配 |
EP15783844.2A EP3136128B1 (en) | 2014-04-25 | 2015-04-24 | Trajectory matching using peripheral signal |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461984381P | 2014-04-25 | 2014-04-25 | |
US61/984,381 | 2014-04-25 | ||
US14/571,166 | 2014-12-15 | ||
US14/571,166 US10466056B2 (en) | 2014-04-25 | 2014-12-15 | Trajectory matching using ambient signals |
KR10-2015-0057269 | 2015-04-23 | ||
KR1020150057269A KR102297478B1 (ko) | 2014-04-25 | 2015-04-23 | 주변 신호를 이용한 궤적 매칭 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015163727A1 true WO2015163727A1 (ko) | 2015-10-29 |
Family
ID=54332809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2015/004107 WO2015163727A1 (ko) | 2014-04-25 | 2015-04-24 | 주변 신호를 이용한 궤적 매칭 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2015163727A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845392A (zh) * | 2017-01-18 | 2017-06-13 | 华中科技大学 | 一种基于众包轨迹的室内转角地标的匹配及识别方法 |
US11487018B2 (en) * | 2018-05-10 | 2022-11-01 | Here Global B.V. | Algorithm and architecture for map-matching streaming probe data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774824A (en) * | 1995-08-24 | 1998-06-30 | The Penn State Research Foundation | Map-matching navigation system |
JP2008039698A (ja) * | 2006-08-09 | 2008-02-21 | Univ Nagoya | 逐次型マップマッチングシステム、逐次型マップマッチング方法及び逐次型マップマッチングプログラム |
KR20080021427A (ko) * | 2006-09-04 | 2008-03-07 | 성균관대학교산학협력단 | 이동 경로 데이터에 기반한 이동 객체의 시공간 위치 예측방법 |
KR20130074153A (ko) * | 2011-12-26 | 2013-07-04 | 숭실대학교산학협력단 | Gps 신호를 이용한 목적지 추정 방법 및 그 장치 |
WO2014026338A1 (en) * | 2012-08-15 | 2014-02-20 | Google Inc. | Crowd-sourcing indoor locations |
-
2015
- 2015-04-24 WO PCT/KR2015/004107 patent/WO2015163727A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774824A (en) * | 1995-08-24 | 1998-06-30 | The Penn State Research Foundation | Map-matching navigation system |
JP2008039698A (ja) * | 2006-08-09 | 2008-02-21 | Univ Nagoya | 逐次型マップマッチングシステム、逐次型マップマッチング方法及び逐次型マップマッチングプログラム |
KR20080021427A (ko) * | 2006-09-04 | 2008-03-07 | 성균관대학교산학협력단 | 이동 경로 데이터에 기반한 이동 객체의 시공간 위치 예측방법 |
KR20130074153A (ko) * | 2011-12-26 | 2013-07-04 | 숭실대학교산학협력단 | Gps 신호를 이용한 목적지 추정 방법 및 그 장치 |
WO2014026338A1 (en) * | 2012-08-15 | 2014-02-20 | Google Inc. | Crowd-sourcing indoor locations |
Non-Patent Citations (1)
Title |
---|
See also references of EP3136128A4 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845392A (zh) * | 2017-01-18 | 2017-06-13 | 华中科技大学 | 一种基于众包轨迹的室内转角地标的匹配及识别方法 |
CN106845392B (zh) * | 2017-01-18 | 2020-06-30 | 华中科技大学 | 一种基于众包轨迹的室内转角地标的匹配及识别方法 |
US11487018B2 (en) * | 2018-05-10 | 2022-11-01 | Here Global B.V. | Algorithm and architecture for map-matching streaming probe data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102297478B1 (ko) | 주변 신호를 이용한 궤적 매칭 | |
WO2018139773A1 (ko) | 무선 환경 변화에 강인한 slam 방법 및 장치 | |
WO2017086561A1 (en) | Landmark location determination | |
KR101728123B1 (ko) | 지구 자기장을 이용한 동시 로컬리제이션 및 매핑 | |
WO2016032172A1 (ko) | 관심 지역 및 입구의 위치를 결정하는 시스템 | |
US10949712B2 (en) | Information processing method and information processing device | |
US9479904B2 (en) | Methods, apparatuses and computer program products for providing automatic maintenance of a geoposition system | |
US9361889B2 (en) | Landmark based positioning with verbal input | |
KR20130063915A (ko) | 실내 측위를 위한 경로 추정 방법 및 그 장치 | |
KR20110046212A (ko) | 인공 표식물의 지도 작성 방법 및 장치와 이를 이용한 이동체 위치 측정 방법 및 장치 | |
JP2006242948A (ja) | 個人ナビゲーションシステム及び個人ナビゲーションシステムにおける経路案内方法 | |
WO2020075954A1 (ko) | 다종 센서 기반의 위치인식 결과들을 혼합한 위치 측위 시스템 및 방법 | |
Shahidi et al. | GIPSy: Geomagnetic indoor positioning system for smartphones | |
WO2017092008A1 (zh) | 一种导航方法和用于导航的设备 | |
WO2015163727A1 (ko) | 주변 신호를 이용한 궤적 매칭 | |
KR20190068006A (ko) | 마커 인식을 통해 경로를 제공하는 방법 및 서버 | |
Subakti et al. | Engfi Gate: An Indoor Guidance System using Marker-based Cyber-Physical Augmented-Reality. | |
US11864056B2 (en) | Developing a fingerprint map for determining an indoor location of a wireless device | |
WO2020013433A1 (ko) | 고정확도의 고속 무선 측위 방법 및 장치 | |
TWI803043B (zh) | 混合型室內定位系統 | |
WO2022039355A1 (ko) | 스캔 횟수를 최소화하는 타이밍 측정 데이터 기반 측위 방법 및 장치 | |
JP2017190984A (ja) | 位置推定システム、位置推定方法及び位置推定プログラム | |
Ruvolo et al. | The Invisible Map: Visual-Inertial SLAM with Fiducial Markers for Smartphone-based Indoor Navigation | |
Hofer et al. | Combined Wi-Fi and Inertial Navigation with Smart Phones in Out-and Indoor Environments | |
WO2023136495A1 (ko) | 시각적 측위방법, 이를 이용하는 제어서버 및 건물 |
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: 15783844 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2015783844 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2015783844 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |