Server for estimating indoor position, operation method therefor, and electronic device
The server and electronic device address indoor positioning challenges by generating a location estimation model using relative positions and signal strength data, reducing time and cost while achieving accurate indoor location tracking without an absolute reference.
Patent Information
- Application Number
- PCT/KR2024/015074
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-14
- Filing Date
- 2024-10-04
- Publication Date
- 2025-08-21
AI Technical Summary
Existing location-based services struggle with accuracy and reliability indoors due to limitations in fingerprinting techniques and navigation inference methods, which require significant time and cost for database construction and rely on absolute references, respectively.
A server and electronic device that generate a location estimation model using relative positions and signal strength data without an absolute reference, utilizing a processor to fuse movement characteristic data and signal strength data to create a position estimation model through autoencoders and inertial models.
Reduces time and cost for data collection and generates a location estimation model with optimal performance for indoor spaces, eliminating the need for a fingerprint database and absolute references.
Smart Images

Figure KR2024015074_21082025_PF_FP_ABST
Abstract
Description
Server for indoor position estimation and its operating method, electronic device
[0001] Cross-citation with related applications
[0002] This application claims the benefit of priority from Republic of Korea Patent Application No. 10-2024-0021123, filed February 14, 2024, the entire contents of which are incorporated herein by reference.
[0003] Technology field
[0004] Embodiments disclosed in this document relate to a server for indoor position estimation, a method of operating the same, and an electronic device.
[0005] As electronic devices such as smartphones and tablet PCs develop, location-based services utilizing these electronic devices (e.g., location-based route guidance services using smartphones or navigation systems) are becoming widely used.
[0006] To provide these services, positioning methods primarily utilize satellite navigation systems like GPS and Galileo for outdoor use. However, while these methods can provide accurate and reliable positioning outdoors, they lack the accuracy and reliability to be commercially viable indoors (e.g., inside buildings, tunnels, underground).
[0007] Accordingly, for indoor positioning, the fingerprint technique, which builds a database (location and signal pairs) of signals received at each point using Wi-Fi, geomagnetic field, Bluetooth, etc., and compares the built database with the acquired signal pattern to determine positioning, and the navigation estimation techniques such as PDR (Pedestrian Dead Reckoning) and INS (Inertial Navigation System), which estimate the stride length, speed, and direction of a pedestrian from data acquired from sensors according to the pedestrian's walking, were mainly used.
[0008] However, the fingerprinting technique has limitations in that it takes a lot of time and money to build an accurate database for high positioning accuracy, and learning data is collected statically while the general positioning service provision environment is dynamic. In addition, the navigation inference technique is based on the relative movement of pedestrians, so it requires an absolute standard to determine the actual location, and has limitations in that it requires tuning of various parameters according to the characteristics of the pedestrian (e.g., stride length, height, age, etc.).
[0009] However, with the enactment of the Serious Disaster Punishment Act today, the obligation of management and supervision of users at construction sites and other locations is increasing, and the need for accurate location tracking of users in indoor areas such as tunnels and underground is increasing.
[0010] Accordingly, one purpose of the embodiments disclosed in this document is to provide a server and its operating method, and an electronic device that can generate a location estimation model capable of estimating an indoor location without an absolute reference and without the need to build a fingerprint database, and track a location using the same.
[0011] The technical problems of the embodiments disclosed in this document are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the descriptions below.
[0012] According to an embodiment disclosed in the present document, a server includes a communication circuit, a memory, and a processor operatively connected to the communication circuit and the memory, wherein the processor is configured to obtain a plurality of data sets including movement characteristic data and signal strength data acquired as a learner moves within a target space, estimate relative positions of the learner from the movement characteristic data for each of the plurality of data sets, generate fused data based on the relative positions and the signal strength data, and generate a position estimation model that uses the fused data generated from each of the plurality of data sets as learning data.
[0013] According to an embodiment disclosed in the present document, a method of operating a server may include a step of obtaining a plurality of data sets including movement characteristic data and signal strength data acquired as a learner moves within a target space, a step of estimating relative positions of the learner from the movement characteristic data for each of the plurality of data sets, a step of generating fused data based on the relative positions and the signal strength data, and a step of generating a position estimation model that uses the fused data generated from each of the plurality of data sets as learning data.
[0014] According to an embodiment disclosed in the present document, an electronic device includes a communication circuit, a memory, and a processor operatively connected to the communication circuit and the memory, wherein the processor receives movement characteristic data and signal intensity data acquired as a subject moves within a target space, estimates a relative position of the subject from the movement characteristic data, generates fusion data based on the relative position and the signal intensity data, and inputs the fusion data into a pre-learned position estimation model to estimate a position of the subject within the target space.
[0015] The server and its operating method and electronic device according to the embodiments disclosed in this document can reduce the time and cost required for data collection by not acquiring location information in the process of collecting data on a signal.
[0016] In addition, the server and its operating method according to the embodiments disclosed in this document can generate a location estimation model having optimal performance for a target space.
[0017] In addition, various effects may be provided, either directly or indirectly, through this document.
[0018] FIG. 1 is a block diagram showing the configuration of a server according to one embodiment disclosed in this document.
[0019] FIG. 2 is a diagram showing a process for generating a position estimation model according to one embodiment disclosed in this document.
[0020] FIG. 3 is a diagram showing the structure of an autoencoder according to one embodiment disclosed in this document.
[0021] FIG. 4 is a diagram showing an example of fusion data according to one embodiment disclosed in this document.
[0022] FIG. 5a is a diagram showing an example of selecting three viewpoints according to one embodiment disclosed in this document.
[0023] FIG. 5b is a drawing showing an example of shape transformation according to one embodiment disclosed in this document.
[0024] FIG. 6 is a diagram showing an example of a learning result for a target space of a position estimation model according to one embodiment disclosed in this document.
[0025] FIG. 7 is a diagram showing an example of a result according to the learning rate adjustment of an inertial model according to one embodiment disclosed in this document.
[0026] Figure 8 is a flowchart for explaining a method of operating a server according to one embodiment disclosed in this document.
[0027] FIG. 9 is a block diagram showing the configuration of an electronic device according to one embodiment disclosed in this document.
[0028] FIG. 10 is a diagram showing an example of location tracking using a pre-learned location estimation model according to one embodiment disclosed in this document.
[0029] FIG. 11 is a diagram showing an example of signal strength distribution according to one embodiment disclosed in this document.
[0030] Hereinafter, various embodiments of the present invention will be described with reference to the attached drawings. However, this is not intended to limit the present invention to specific embodiments, and it should be understood that the present invention encompasses various modifications, equivalents, and / or alternatives of the embodiments.
[0031] In this document, the singular form of a noun corresponding to an item may include one or more of said items, unless the context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B, or C," "at least one of A, B, and C," and "at least one of A, B, or C" may each include any one of the items listed together in that phrase, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish the corresponding element from other corresponding elements, and do not limit the corresponding elements in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as being “coupled” or “connected” to another component (e.g., a second component), with or without the terms “functionally” or “communicatively,” it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0032] Each component (e.g., a module or a program) described in this document may include one or more entities. According to various embodiments, one or more components or operations of the components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0033] The term "module" or "part" used in this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0034] Various embodiments of the present document may be implemented as software (e.g., a program or an application) including one or more instructions stored in a machine-readable storage medium (e.g., memory). For example, a processor of the device may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the device to operate to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, "non-transitory" only means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily in the storage medium.
[0035]
[0036] FIG. 1 is a block diagram showing the configuration of a server according to one embodiment disclosed in this document.
[0037] Referring to FIG. 1, the server (100) may include a first communication circuit (110), a first processor (120), and a first memory (130).
[0038] The server (100) can acquire a data set obtained as the learner moves within the target space and use this to create a location estimation model for indoor location estimation within the target space through learning.
[0039] The server (100) may be implemented as a variety of computing devices, such as a workstation, a cloud, a data drive, or a data station. In addition, the server (100) may be implemented as one or more servers (100) physically or logically separated based on function, detailed configuration of function, or data, and data may be transmitted and received and the transmitted and received data may be processed through communication between each server (100).
[0040] A server (100) may refer to any electronic device including a processor and memory, and each component of the server (100) will be described in detail below.
[0041] The first communication circuit (110) can support the establishment of a wired or wireless communication connection between the server (100) and an external device (e.g., a portable terminal, etc.), and the performance of communication through the established connection. According to one embodiment, the first communication circuit (110) includes a wireless communication circuit (e.g., a cellular communication circuit, a short-range wireless communication circuit, or a GNSS (global navigation satellite system) communication circuit) or a wired communication circuit (e.g., a LAN (local area network) communication circuit, or a power line communication circuit), and can communicate with an external electronic device through a short-range communication network such as Bluetooth, WiFi direct, or IrDA (infrared data association), or a long-range communication network such as a cellular network, the Internet, or a computer network using a corresponding communication circuit. The various types of first communication circuits (110) described above can be implemented as one chip or can be implemented as separate chips. In one embodiment, the first communication circuit (110) can receive a plurality of data sets including movement characteristic data and signal strength data from an external device.
[0042] The first memory (130) can store commands for controlling the server, control command codes, control data, or user data. For example, the first memory (130) can include at least one of an application program, an operating system (OS), middleware, or a device driver. The first memory (530) can include one or more of volatile memory or non-volatile memory. The volatile memory can include dynamic random access memory (DRAM), static RAM (SRAM), synchronous DRAM (SDRAM), phase-change RAM (PRAM), magnetic RAM (MRAM), resistive RAM (RRAM), ferroelectric RAM (FeRAM), etc. The non-volatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, etc. The first memory (130) may further include a non-volatile medium such as a hard disk drive (HDD), a solid state disk (SSD), an embedded multi-media card (eMMC), or a universal flash storage (UFS). In one embodiment, the first memory (130) may store a plurality of acquired data sets and store generated fusion data and a position estimation model.
[0043] The first processor (120) can control the overall operation of the server (100). In various embodiments, the first processor (120) may include a single processor core or a plurality of processor cores. For example, the first processor (520) may include a multi-core such as a dual-core, a quad-core, or a hexa-core. According to embodiments, the first processor (120) may further include a cache memory located internally or externally. According to embodiments, the first processor (120) may be configured with one or more processors. For example, the first processor (520) may include at least one of an application processor, a communication processor, or a graphical processing unit (GPU).
[0044] All or part of the first processor (120) may be electrically or operatively coupled with or connected to other components (e.g., the first communication circuit (110) or the first memory (130)) within the server (100). The first processor (120) may receive commands from other components, interpret the received commands, and perform calculations or process data according to the interpreted commands. The first processor (120) may interpret and process messages, data, commands, or signals received from the first communication unit (110) and the first memory (130). The first processor (120) may generate new messages, data, commands, or signals based on the received messages, data, commands, or signals. The first processor (120) may provide a processed or generated message, data, command, or signal to the first communication circuit (110) or the first memory (130).
[0045] The first processor (120) can process data or signals generated or produced by a program. For example, the first processor (120) can request instructions, data, or signals from the first memory (130) to execute or control the program. The first processor (120) can record (or store) or update instructions, data, or signals in the first memory (130) to execute or control the program.
[0046] Below, the operation of the server (100) is described in detail.
[0047] The first processor (120) can obtain a plurality of data sets including movement characteristic data and signal intensity data obtained as the learner moves within the target space.
[0048] The target space may be a space for generating a location estimation model and providing a location estimation service using the learned location estimation model. The target space may include indoor spaces where GPS location tracking is difficult, such as shopping malls, offices, factories, train stations, and subway stations.
[0049] There can be at least one learner, and each learner can be a movable object (e.g., a mobile robot) or a person. The learner can move within the target space while carrying an electronic device (e.g., a portable terminal) for acquiring a data set.
[0050] Portable terminals may include various types of electronic devices capable of performing data communication. For example, portable terminals may include portable devices such as smartphones or tablets, wearable devices, body-worn devices such as VR (virtual reality) devices, camera devices, and the like. However, any device capable of being carried and moved by a person is not limited to the aforementioned devices. Furthermore, portable terminals may include a server or gateway capable of transmitting data packets via an application.
[0051] In an embodiment, the portable terminal may include at least one sensor for sensing signals and sensing movement characteristics. For example, the sensor may include an inertial sensor (IMU sensor), a gyro sensor, an acceleration sensor, etc. for sensing movement characteristics, and an RF sensor, a Wi-Fi sensor, a Bluetooth sensor, a geomagnetic sensor, etc. for sensing signals. The sensor may be built into the portable terminal, or in some cases, may be separately installed inside or outside the portable terminal.
[0052] For example, the sensor may include a Wi-Fi sensor, and the Wi-Fi sensor may be configured to capture wireless signals within the target space and obtain Received Signal Strength Indicator (RSSI) data from wireless access points within the target space, such as Wi-Fi access points.
[0053] There may be at least one portable terminal. For example, a learner may collect multiple training data sets by repeatedly walking for a set period of time using a single portable terminal. In another example, multiple learners may collect multiple data sets by walking for a set period of time using multiple portable terminals.
[0054] Each of the plurality of data sets may include movement characteristic data and signal strength data. For example, the first processor (120) may acquire movement characteristic data and signal strength data sensed by the portable terminal from the portable terminal via the first communication circuit (110).
[0055] In one embodiment, a data collection SDK for data collection may be installed on a portable terminal, and the data collection SDK may transmit sensing data (movement characteristic data and signal strength data) to a server (100). In some cases, the data collection SDK may perform preprocessing of the sensing data.
[0056] Each of the movement characteristic data and the signal intensity data can be acquired at preset time intervals. That is, the sensor can sense the movement characteristic data and / or the signal intensity data at preset time intervals (cycles). The cycle at which the movement characteristic data is acquired and the cycle at which the signal intensity data is acquired may differ, and typically, the cycle at which the movement characteristic data is acquired may be shorter than the cycle at which the signal intensity data is acquired.
[0057] Movement characteristic data can be data that detects changes in a learner's movements. For example, movement characteristic data can be acquired by inertial sensors, gyroscopes, acceleration sensors, etc., and can include displacement data, acceleration data, angular velocity data, yaw data, etc.
[0058] Movement characteristic data can be acquired at a set interval (e.g., 1 second) and can be composed of a set of data acquired at each interval. For example, each movement characteristic data can be a set of displacement data, acceleration data, angular velocity data, and yaw data.
[0059] Signal strength data can represent the strength of signals detected at a learner's location. For example, signal strength data can be represented as a vector representing the signal strength of each of multiple signals detected at a specific point in time. Signal strength data can include Wi-Fi RSSI data, geomagnetic field data, Bluetooth data received from a beacon, and more.
[0060] For example, signal strength data can be expressed as a vector representing the strength of signals received from each of a plurality of access points (APs) within a target space. If there are m Wi-Fi routers (APs) within the target space, the signal strength data acquired at a specific point in time can be an m-dimensional vector representing the strength of signals received from each of the m Wi-Fi routers. In this case, the signal strength received from each Wi-Fi router can be expressed as a scalar value.
[0061] For example, the signal strength received from the kth Wi-Fi router at point i (where k is a natural number less than or equal to m), then the signal strength data is It can be expressed as follows.
[0062] In some embodiments, the signal strength data may not include information related to the learner's location. That is, the signal strength data only includes data about the strength of the signal received, and does not include information about the location of the point where the signal strength data was received.
[0063] Conventional position estimation methods require the use of true position values, requiring the construction of a database of true position values within the target space. This database can be constructed, for example, by directly mapping true position values to signal data. Consequently, building the database requires significant time and cost.
[0064] In contrast, since the location estimation model does not use true location values, the server (100) does not need to build a database of true location values to create the location estimation model. Therefore, the server (100) only needs to acquire a training data set without building a database, which significantly reduces the time and cost required in the preliminary steps of acquiring data for creating the location estimation model.
[0065] According to an embodiment, the server (100) can extract latent feature data from signal strength data using a pre-trained autoencoder. The autoencoder can extract latent feature data for the input data during the process of reconstructing output data identical to the input data. The latent feature data extracted in this way can have a lower dimensionality than the input data, thereby alleviating the curse of dimensionality phenomenon, which reduces the performance of a learning model when learning high-dimensional data. In other words, it can prevent performance degradation of a location estimation model.
[0066] For example, latent feature data for signal strength data is It can be expressed as follows. In this way, the autoencoder can extract d-dimensional (d << m) latent feature data from m-dimensional input data (signal intensity data).
[0067] The first processor (120) can estimate the relative positions of the learner from movement characteristic data for each of the multiple data sets. By connecting the estimated relative positions, the relative trajectory of the learner as he or she moves within the target space can be estimated. Since each data set contains data on the learner's daily movement path, the first processor (120) can estimate the relative positions for each data set and obtain each relative trajectory.
[0068] Here, the relative positions estimated from the movement characteristic data may be positions set based on arbitrary criteria, without using an absolute reference (e.g., a pre-specified true value) or landmark, etc. That is, it should be noted that the server (100) does not use an absolute reference in the process of acquiring or estimating the movement characteristic data, signal strength data, relative position, and latent feature data in relation to the generation of the position estimation model.
[0069] The first processor (120) can estimate M relative positions when movement characteristic data is acquired M times for a specific data set. The relative positions estimated from the movement characteristic data can be expressed as two-dimensional coordinates. This is merely an example, and the relative positions can also be expressed as three-dimensional coordinates.
[0070] For example, the relative position estimated from the jth moving feature data is , which can be expressed as a set of estimated relative positions, and the relative trajectory is It can be expressed as follows.
[0071] According to an embodiment, the first processor (120) can estimate a relative position from movement characteristic data based on a pre-learned inertial model. The first processor (120) can input the movement characteristic data into the pre-learned inertial model and obtain the output of the pre-learned inertial model as a relative position.
[0072] For example, a pre-trained inertial model can estimate the learner's relative displacement from the acceleration data included in the movement characteristic data acquired at each point in time, and can estimate the relative position at that point in time using the relative position and relative displacement estimated at the previous point in time. Here, the relative position does not use an absolute reference, so it represents a virtual position. In other words, the relative position estimated by the inertial model can represent a relative position with respect to a virtually set reference rather than an absolute reference. For example, a pre-trained inertial model can set the learner's initial position to an arbitrary coordinate, and estimate subsequent relative positions based on the arbitrary coordinate.
[0073] In an embodiment, the inertial model may be pre-trained to be optimized for the characteristics of the sensor that acquires the movement characteristic data. For example, if the movement characteristic data is acquired from an Inertial Measurement Unit (IMU) sensor, the inertial model may be trained to estimate relative position from data acquired using the IMU sensor during the training process, thereby being optimized for data acquired from the IMU sensor. In this way, the inertial model may be trained with data acquired by the same sensor that acquires the movement characteristic data, thereby achieving optimized relative position estimation performance.
[0074] The inertial model can be trained by various learning algorithms, such as supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning. In addition, the inertial model can include an artificial neural network for learning, and the artificial neural network can include various types of neural networks, such as a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), a restricted boltzmann machine (RBM), a deep belief network (DBN), and a bidirectional recurrent deep neural network (BRDNN), but is not limited to the examples described above.
[0075] According to an embodiment, the inertial model may undergo a process of preprocessing movement characteristic data. The movement characteristic data may be acquired from a portable terminal (200) or the like. However, since the absolute direction of the portable terminal (200) cannot be estimated, the movement characteristic data may be preprocessed by arbitrarily setting a reference direction.
[0076] At this time, since the inertial model estimates the direction of the portable terminal based on an arbitrary direction, if the movement of the portable terminal accumulates, errors may accumulate in the direction estimation and distance estimation processes, resulting in inaccurate relative position estimation. Therefore, according to the embodiment, the first processor (120) can determine the error accumulated in the relative position estimation process, and if the accumulated error exceeds a certain level, the data can be filtered or corrected, and the ratio used for learning in the position estimation model can be adjusted.
[0077] According to an embodiment, the first processor (120) may adjust the ratio used for learning the position estimation model based on the displacement and yaw between relative positions. The first processor (120) may apply different learning ratios in the position estimation model depending on changes in the movement distance and yaw during the relative position estimation process of the inertial model. For example, the greater the change in the movement distance and rotation angle for each relative position, the lower the learning ratio applied in the position estimation model may be set.
[0078] The first processor (120) can improve learning performance by adjusting the ratio used for learning the position estimation model according to the accumulated error occurring in relative position estimation.
[0079] The first processor (120) can generate fusion data based on relative positions and signal strength data for each of the plurality of data sets. The first processor (120) can construct the fusion data from signal strength data and movement characteristic data acquired at the same point in time.
[0080] Since the signal strength data does not include data on location information, the first processor (120) can utilize relative locations estimated from the movement characteristic data as location information of the signal strength data.
[0081] Fusing relative position and signal strength data can mean, for example, aggregating relative positions estimated from signal strength data and movement characteristic data acquired at the same point in time and representing them as a single data set. Even when fused, the signal strength data does not contain positional information, so the shape of the path represented by the relative positions remains unchanged. In other words, the shape of the path represented by the fused data is substantially identical to the shape of the path represented by the relative positions.
[0082] According to an embodiment, the first processor (120) can generate fusion data by assembling the latent feature data and relative positions corresponding to each point in time for each point in time at which signal intensity data is acquired.
[0083] For example, the relative position estimated from the movement characteristic data acquired at point i is , and the latent feature data extracted from the signal intensity data acquired at point i In this case, the first processor (120) fuses the data at point i. It can be composed of.
[0084] If we apply this to all points where signal strength data is acquired, the fused data for one data set is It can be expressed as follows. Here, N can mean the number of points in time at which signal strength data was acquired.
[0085] The first processor (120) can generate fusion data for each of a plurality of data sets and can batch the generated fusion data. The batched fusion data It can be expressed as follows. Here, p can mean the number of acquired data sets.
[0086] The first processor (120) can generate a location estimation model that uses fused data generated from each of a plurality of data sets as training data. The first processor (120) can utilize the fused data as input data for the location estimation model, and can repeat the training of the location estimation model based on the output results of the location estimation model.
[0087] In an embodiment, the first processor (120) may train a position estimation model to estimate an absolute position from latent feature data. Here, the absolute position is intended to be distinguished from a relative position estimated from movement feature data, and may refer to the position of a learner (or a subject subject to position tracking) within a target space.
[0088] The location estimation model is It can be expressed as follows. That is, the position estimation model aims to map signal strength data (more specifically, latent feature data) to a two-dimensional position (absolute position), and points having the same signal strength data (more specifically, latent feature data) can be trained to output the same absolute position.
[0089] Since signal intensity data is a collection of signal intensity data received from APs, etc. within a target space, if the point at which the signal intensity data is received (i.e., the absolute position) changes, the direction and / or size of at least one intensity data among the data constituting the signal intensity data changes. Accordingly, the management server (100) can determine that points at which signal intensity data is the same on the same movement trajectory and / or different movement trajectories are acquired at the same absolute position, and can determine that points at which signal intensity data is similar are acquired at similar absolute positions.
[0090] A position estimation model can be trained to derive absolute positions from fused data by deriving relative positions from latent feature data. During this learning process, the trajectories represented by each fused data can be transformed so that points with identical signal intensity data have identical absolute positions.
[0091] For example, since the relative positions estimated from the movement characteristic data in each data set do not use absolute criteria, such as initial values, the relative positions may be estimated based on different hypothetical criteria. In other words, even if data acquired from the same location are included in different data sets, their relative positions may be estimated completely differently.
[0092] For example, the relative positions of the fused data for the same latent feature data R in different A and B data sets are In this case, the location estimation model estimates the absolute location Y corresponding to the latent feature data R. , The absolute position Y for the latent feature data R can be estimated through the process of transforming each relative position so that the points match.
[0093] Therefore, the position estimation model can be trained to repeatedly learn the process of deriving relative positions from latent feature data for multiple data sets, and thus, points having the same (similar) latent feature data can be trained to output the same (similar) absolute positions.
[0094] To this end, the first processor (120) can define an objective function for learning a position estimation model. The objective function can be replaced with terms such as loss function and cost function.
[0095] According to an embodiment, the first processor (120) may define an objective function based on relative positions and estimated positions output from the position estimation model. The first processor (120) may calculate the value of the objective function from the output result of the position estimation model at each learning stage of the position estimation model, and may repeat the learning of the position estimation model so that the value of the objective function is reduced or minimized.
[0096] According to an embodiment, the first processor (120) may select three time points including each time point for each time point included in the fusion data. At this time, the three time points may be selected to have the same time interval. For example, based on time point t, the three time points may be selected as time points t, t+△, and t+2△. Here, △ may denote an interval between the selected time points, and as an example, △ may be 10 seconds.
[0097] The first processor (120) can extract relative positions corresponding to the three selected time points from the fusion data. The relative positions extracted at time point t are , and if there are T time points included in the fusion data, the set of relative positions extracted at each time point is can be expressed as follows. At this time, three relative positions can be extracted from the same data set (same relative trajectory).
[0098] Similarly, the set of estimated locations output from the latent feature data corresponding to the three time points from which the location estimation model was selected is It can be expressed as follows.
[0099] According to an embodiment, the first processor (120) can define an objective function based on estimated positions and relative positions for three time points.
[0100]
[0101] Example 1
[0102] According to one embodiment, the first processor (120) can define an objective function based on angular errors and distance errors of potential positions and estimated positions.
[0103] According to an embodiment, the objective function may include a first objective function, a second objective function, and a third objective function. The first objective function and the second objective function may be related to an angular error between relative positions and estimated positions, and the third objective function may be related to an angular error and a distance error between relative positions and estimated positions.
[0104] According to an embodiment, the first processor (120) can define a first objective function based on a first angle formed by relative positions and a second angle formed by estimated positions.
[0105] For the three points extracted first, the displacement vector between two adjacent points is can be expressed as . Similarly, the displacement vector between two adjacent points of the estimated positions is It can be expressed as follows.
[0106] At this time, the angle formed by the relative positions (first angle) is With vectors It can be the angle formed by the vector, and the angle formed by the estimated positions (second angle) With vectors It can be the angle formed by a vector.
[0107] The angle formed by two vectors can be obtained by inversely calculating the inner product of the vectors, and the angle formed by their relative positions (first angle) is , the angle formed by the estimated positions (second angle) can be calculated as . Here, acos can mean the inverse function of the cos function.
[0108] In an embodiment, the first processor (120) performs a first objective function. It can be defined as follows. The first processor (120) can train the position estimation model so that the angular error between the estimated positions of the position estimation model and the relative positions is minimized.
[0109] According to an embodiment, the first processor (120) may define a second objective function based on a third angle formed by the relative positions and a fourth angle formed by the estimated positions as a result of applying the same rotational transformation to the relative positions and the estimated positions.
[0110] The angle calculated by the inverse of the vector inner product can be calculated from the inverse of the inner product as above, but the angle calculated by the inner product is 0 and Since the values are between , there are two solutions to which the value of the first objective function can converge. Therefore, the first processor (120) can apply a rotational transformation to at least some of the relative positions and estimated positions (more specifically, to the displacement vectors) to find the correct solution of the position estimation model.
[0111] Since the position estimation model is trained to estimate relative positions from latent feature data, it can be based on the fact that the angles formed by each are the same even when the same transformation is applied to the estimated positions and relative positions.
[0112] For example, the first processor (120) may generate a rotation matrix R( for at least some of the displacement vectors ) can be applied, and as a result It can produce a rotationally transformed vector.
[0113] At this time, the angle formed by the relative positions (third angle) is With vectors It can be the angle formed by the vector, and the angle formed by the estimated positions (the fourth angle) With vectors It can be the angle formed by a vector.
[0114] In an embodiment, the first processor (120) performs a second objective function. It can be defined as follows.
[0115] There are two solutions (converging solutions) that minimize the first objective function, but there is only one solution that minimizes both the first objective function and the second objective function, so the first processor (120) can find the correct solution of the position estimation model using the first objective function and the second objective function.
[0116] According to an embodiment, the first processor (120) may define a third objective function based on the distance between relative positions and the distance between estimated positions, wherein the distance between relative positions is , the distance between the estimated locations is can be defined as, where, The operation is to represent the size of the vector v. If, can be produced as
[0117] The first processor (120) calculates the distance between relative positions and the distance error between estimated positions. It can be calculated as follows, and the third objective function is can be defined as follows. Here, C can be a proportionality constant.
[0118] In an embodiment, the position estimation model can be trained by applying at least some of the first to third objective functions as objective functions for learning. For example, the first to third objective functions can be applied simultaneously during the training process of the position estimation model, or in other examples, each can be applied independently.
[0119] In one embodiment, the first processor (120) may initially train a position estimation model using a first objective function, and after training using the first objective function is completed, the first processor (120) may secondarily train a position estimation model using a second objective function. Thereafter, the first processor (120) may finally train a position estimation model using a third objective function.
[0120]
[0121] Second Example
[0122] In another embodiment, the first processor (120) may define an objective function based on the similarity between the shapes formed by the estimated positions and the shapes formed by the relative positions. Since the relative positions estimated from the position characteristic data are positions for arbitrary relative directions without a reference absolute direction, the first processor (120) may rotate the shapes formed by the estimated positions so that the mean square error of each shape is minimized in order to compare the similarity of the shapes. For example, the first processor (120) may apply a rotation transformation to the shapes formed by the estimated positions.
[0123] The rotation transformation matrix to be applied to the shape formed by the estimated positions so that the mean square error is minimized can be derived through the following process.
[0124] First, the first processor (120) creates a set of relative positions for three points in time. , a set of estimated locations When each position set and The positions included in each set of positions are transformed to become the origin of the center of and It can produce a matrix.
[0125] Afterwards, the first processor (120) generates a covariance matrix for the two sets. can be calculated as follows: Here, The matrix is It is the transpose of the matrix.
[0126] The first processor (120) is a covariance matrix Singular Value Decomposition (SVD) can be applied to . Singular value decomposition can mean decomposing a matrix into an orthogonal matrix and a diagonal matrix.
[0127] The result of applying singular value decomposition to the matrix When expressed as, is an orthogonal matrix, can mean a diagonal matrix. The matrix is Represents the transpose of a matrix. Also, The matrix is can be defined as . Here, det(VW) can mean the determinant of the VW matrix.
[0128] The first processor (120) generates a rotation transformation matrix can be produced. At this time, the first processor (120) outputs an objective function indicating the similarity of the two shapes. It can be defined as . Here, MSE (Mean Square Error) means the mean square error.
[0129] As described above, the first processor (120) can learn a position estimation model by defining an objective function according to various embodiments. The position estimation model can estimate an absolute position from latent feature data by repeatedly learning to minimize the objective function.
[0130] Position estimation models can be trained using various learning methods, including supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning. For example, a position estimation model can be trained based on self-supervised learning.
[0131] A position estimation model may include multiple neural network layers. For example, the position estimation model may include an input layer, an output layer, and multiple hidden layers positioned between the input and output layers. Additionally, the position estimation model may include an activation layer (e.g., ReLU), and hyperparameters such as the learning rate, regularization index, and epochs may be adjusted during the training process.
[0132] In an embodiment, the first processor (120) may further acquire a map of the target space. For example, the first processor (120) may acquire the map of the target space from a client who has requested location estimation for the target space, a business operator providing map services, etc.
[0133] In an embodiment, the first processor (120) may transform the outputs of the position estimation model so that they are mapped onto a map for the target space. Since the size and dimension of the outputs of the position estimation model may differ from the size of the map for the target space, the first processor (120) may transform the outputs of the position estimation model so that they match.
[0134] The learner can move across the target space to acquire data sets covering the entire target space. For example, the learner can walk along all possible paths within the target space, and accordingly, the output of the position estimation model can represent possible trajectories across the entire target space.
[0135] In one embodiment, the process of mapping the outputs of the position estimation model to a map of the target space by the first processor (120) may be learned through a separate learning model. In another embodiment, the mapping process may be included as an additional learning process of the position estimation model.
[0136] According to an embodiment, the first processor (120) can calculate scaling parameters for converting the outputs based on the size ratio (scale), center, rotation angle, etc. of the space where the outputs of the position estimation model are located and the map.
[0137] For example, the first processor (120) determines the x and y axis sizes of the map, respectively. When, among the outputs of the position estimation model, The outputs of the dog can be selected uniformly according to the location, and the minimum and maximum values of the x, y-axis coordinates of the selected outputs ( ) can be used to derive scaling parameters for transforming outputs. If the particle filter described below is applied, it can be selected from the outputs after filtering is applied.
[0138] For example, the first processor (120) sets parameters for the size of the space where the outputs are located and the size of the map. can be produced. In addition, the first processor (120) sets a parameter to match the center of the outputs with the center of the map. , can be produced. In addition, the first processor (120) sets parameters for adjusting the dimension and rotation of the map where the outputs are located. can be set to and given an arbitrary initial value.
[0139] The first processor (120) has the above scaling parameter (scale), center parameter ( ), and rotation parameters ( ) can be adjusted to derive the optimal parameter values for conversion of outputs.
[0140] According to an embodiment, the first processor (120) may correct the output of the position estimation model by applying a particle filter algorithm that takes into account the geometric structure of the target space. For example, if a peculiar error occurs, such as the output of the position estimation model being too far from the previous output or passing through a point where movement is impossible, the first processor (120) may correct the output of the position estimation model by applying the particle filter algorithm. In some cases, the particle filter algorithm may be a part of the learning process of the position estimation model and may be applied to each learning stage of the position estimation model. In this case, the position estimation model may be trained to estimate the absolute position by taking into account the geometric characteristics of the target space more.
[0141] The geometric characteristics of the target space may include the arrangement of physical structures (e.g., walls) in the target space, the shape of passageways, etc. For example, the geometric characteristics of the target space may include information about areas within the target space where people can walk and areas where people cannot walk (e.g., areas blocked by walls). The geometric characteristics of the target space may be determined based on a map of the target space.
[0142] The position estimation model can further improve the position estimation performance by taking into account the geometric characteristics of the target space during the process of converting the movement trajectory, thereby learning to ensure that at least some of the trajectories represented by the estimated absolute positions do not represent realistically impossible trajectories (e.g., trajectories passing through walls).
[0143] According to an embodiment, the first processor (120) can correct the outputs of the position estimation model based on the result of applying Bayes' rule to the position estimation model.
[0144] According to an embodiment, the first processor (120) can define a prior probability and calculate a posterior probability of outputs of the position estimation model with respect to the prior probability. The first processor (120) can calculate a posterior probabilistic density function (PDF) of the position estimation model by applying Bayes' theorem to the prior probability and the conditional probability of the position estimation model, and can correct the outputs of the position estimation model using the posterior probability density function of the position estimation model.
[0145] At this time, the prior probability can be defined to take into account the geometric characteristics of the target space.
[0146] For example, the prior function depends on the presence of a wall. can be defined as follows. Here, can mean the x-coordinate of the kth output of the location estimation model.
[0147] According to an embodiment, the first processor (120) can analyze signal strength data acquired as the learner moves within the target space to identify points within the target space where additional APs need to be placed.
[0148] As described above, the learner can move throughout the movable area within the target space, and the first processor (120) can obtain the signal strength (RSSI) distribution within the target space using the signal strength data acquired as the learner moves. For example, the signal strength (RSSI) distribution within the target space can be expressed as a heatmap.
[0149] The first processor (120) can identify points with weak signal strength within the target space through the distribution of signal strength (RSSI) within the target space, and can determine that additional APs need to be deployed to increase the signal strength that can be obtained at those points.
[0150] At this time, the first processor (120) can use the estimated locations using the learned location estimation model to obtain the signal intensity distribution within the target space. That is, the first processor (120) can map the estimated locations for specific signal intensity data onto a map of the target space, and thus can obtain the signal intensity distribution using the mapping result.
[0151] If additional APs are deployed at locations where it is determined that additional APs are needed, the first processor (120) can obtain stronger and more accurate signal strength data. Accordingly, the performance of the location estimation model can be improved, enabling more accurate location estimation.
[0152] FIG. 2 is a diagram showing a process for generating a position estimation model according to one embodiment disclosed in this document.
[0153] Referring to FIG. 2, a learner (10) can move within a target space while carrying a portable terminal (11). In an embodiment, the portable terminal (11) may be equipped with a sensor, and movement characteristic data (20) and signal strength data (50) may be acquired as the learner (10) moves within the target space.
[0154] Movement characteristic data (20) can be input into an inertial model (30), and the inertial model (30) can output a relative position (40) from the movement characteristic data (20). Signal intensity data (50) can be input into an auto-encoder (60), and the auto-encoder (60) can extract latent feature data from the signal intensity data (50). The feature data can be input and the relative position (40) can be output.
[0155] Fusion data (70) can be constructed from the relative position (40) output from the inertial model (30) and the latent feature data extracted from the autoencoder (60), and the fusion data (70) can be input to the position estimation model (80).
[0156] Signal strength data (50) and fusion data (70) can be stored in a database (90). The database (90) can be included in the first memory (130) of FIG. 1.
[0157] FIG. 3 is a diagram showing the structure of an autoencoder according to one embodiment disclosed in this document.
[0158] Referring to FIG. 3, the autoencoder may include an encoder layer (410) and a decoder layer (420). The encoder layer (410) may include multiple encoders, and the decoder layer (420) may include multiple decoders.
[0159] An autoencoder can reconstruct output data identical to the input data. In the process of reconstructing the same output data as the input data passes through the encoder layer (410) and decoder layer (420), latent feature data including features of the input data can be extracted.
[0160] FIG. 4 is a diagram showing an example of fusion data according to one embodiment disclosed in this document.
[0161] Figure 4 illustrates an example of fused data, where relative positions are estimated from movement characteristic data and relative positions are combined with signal strength data. Learners can freely move within the target space, and movement characteristic data and signal strength data can be acquired along the learner's movement path.
[0162] Since signal strength data does not include data related to location information, the first processor (120) can utilize the relative position estimated from the movement characteristic data as the location information of the signal strength data. As a result, as in the example illustrated in FIG. 4, the fused data can be included on the relative trajectory indicated by the relative positions. In FIG. 4, the fused data is expressed as if it were mapped to a map, but the fused data before going through the mapping process can be displayed arbitrarily, as illustrated in FIG. 5a, which will be described later.
[0163] FIG. 5a is a diagram showing an example of selecting three viewpoints according to one embodiment disclosed in this document.
[0164] Referring to FIG. 5a, the first processor (120) can select three points of view for each point of view of the fusion data. (a), (b), and (c) of FIG. 5 represent relative positions (P1, P2, P3) for the selected points of view, where P1 represents the relative position of the first point of view, P2 represents the relative position of the second point of view, and P3 represents the relative position of the third point of view.
[0165] Also, in (a), (b), and (c) of Fig. 5, is the angle formed by two displacement vectors of relative positions, is the angle formed as a result of applying a rotation transformation (90 degree rotation transformation applied in Fig. 5), can mean the distance between the relative positions of the two ends.
[0166] The position estimation model can estimate corresponding relative positions from latent feature data for three selected time points, and Fig. 5 (d) and (e) illustrate examples of estimated positions output by the position estimation model. More specifically, Fig. 5 (d) and (e) can represent solutions (estimated positions) estimated using the objective function according to the first embodiment.
[0167] For example, Q1 and Q2 in (d) of Fig. 5 represent two possible solutions resulting from learning the position estimation model according to the first objective function, and Q3 and Q4 in (e) represent two possible solutions resulting from learning the position estimation model according to the second objective function. From the results of (d) and (e) of Fig. 5, it can be confirmed that the correct solution of the position estimation model is Q1=Q4.
[0168] FIG. 5b is a drawing showing an example of shape transformation according to one embodiment disclosed in this document.
[0169] Referring to FIG. 5b, the first processor (120) performs a rotation transformation on the shape formed by the estimated positions to compare the similarity between the shape formed by the estimated positions and the shape formed by the relative positions. ) can be applied. The first processor (120) can define an objective function according to the second embodiment for learning a position estimation model by applying a rotation transformation to a shape formed by estimated positions.
[0170] The first processor (120) creates a set of relative positions for three points in time. , a set of estimated locations When each position set and The positions included in each set of positions are transformed to become the origin of the center of and It can produce a matrix.
[0171] Afterwards, the first processor (120) sets the estimated locations A set of relative positions Rotation transformation matrix to be similar to , and the objective function for learning the position estimation model can be derived. can be defined as
[0172] FIG. 6 is a diagram showing an example of a learning result for a target space of a position estimation model according to one embodiment disclosed in this document.
[0173] Referring to FIG. 6, the results (610) of performing location estimation for a target space by learning multiple data sets and the results (620) of mapping the location estimation results to a map of the target space are shown.
[0174] The position estimation model estimates relative positions for each of multiple data sets and is trained to estimate positions from latent feature data, thereby transforming and connecting relative positions (relative trajectories) corresponding to each data set to produce a result such as 610 of FIG. 6.
[0175] Additionally, the first processor (120) can transform the output (610) of the position estimation model to map it onto a map of the target space, and an example of the result of the first processor (120) transforming the output (610) of the position estimation model and mapping it onto a map of the target space is illustrated in 620.
[0176] Referring to 620 of FIG. 6, it can be confirmed that the geometric characteristics of the target space are taken into account. That is, the target space contains structures, such as walls, that people (or objects) cannot pass through, and the position estimation model is trained by considering these geometric characteristics. Therefore, when the output of the position estimation model is mapped to a map, an impassable trajectory, such as passing through a wall, may not be generated.
[0177] FIG. 7 is a drawing showing an example of a result of applying a particle filter according to one embodiment disclosed in this document.
[0178] Referring to Figure 7, the results of comparing the output (710) when the learning rate is not adjusted and the output (720) when the learning rate is adjusted in the process of acquiring movement characteristic data are shown.
[0179] Referring to the output (710) when the learning rate is not adjusted, it can be confirmed that errors accumulate during the process of estimating relative positions, resulting in inaccurate trajectories represented by the relative positions. In contrast, the output (720) when the learning rate is adjusted shows a reduction in errors, enabling more accurate estimation.
[0180] Figure 8 is a flowchart for explaining a method of operating a server according to one embodiment disclosed in this document.
[0181] Referring to FIG. 8, the operating method of the server may include a step (S100) of acquiring a plurality of data sets including movement characteristic data and signal strength data acquired as a learner moves within a target space, a step (S200) of estimating relative positions of the learner from the movement characteristic data for each of the plurality of data sets, a step (S300) of generating fused data based on the relative positions and the signal strength data, and a step (S400) of generating a position estimation model that uses the fused data generated from each of the plurality of data sets as learning data.
[0182] At step S100, the first processor (120) can obtain a plurality of data sets including movement characteristic data and signal strength data through the first communication circuit (110).
[0183] At step S200, the first processor (120) can estimate the learner's relative positions from movement characteristic data for each of the plurality of data sets. In an embodiment, the first processor (120) can estimate the relative positions using a pre-learned inertial model.
[0184] At step S300, the first processor (120) may generate fusion data based on relative positions and signal intensity data. In an embodiment, the first processor (120) may generate fusion data by aggregating the latent feature data and relative positions corresponding to each point in time at which signal intensity data was acquired.
[0185] At step S400, the first processor (120) can generate a location estimation model using the fused data as learning data. The location estimation model can be trained to estimate an absolute location from latent feature data.
[0186] FIG. 9 is a block diagram showing the configuration of an electronic device according to one embodiment disclosed in this document.
[0187] Referring to FIG. 9, the electronic device (200) may include a second communication circuit (210), a second processor (220), and a second memory (230).
[0188] The electronic device (200) may be, for example, a user terminal carried by the subject, and the user terminal may be equipped with a sensor for obtaining movement characteristic data and signal strength data.
[0189] The second communication circuit (210) can support the establishment of a wired or wireless communication connection between the electronic device (200) and an external device, and the performance of communication through the established connection. For example, the second communication circuit (210) of the electronic device (200) can communicate with a client server that has requested location tracking of a subject.
[0190] The second memory (230) may store commands, control command codes, control data, or user data for controlling the electronic device (200). For example, the second memory (230) may include at least one of an application program, an operating system (OS), middleware, or a device driver. In one embodiment, the second memory (230) may store a pre-learned position estimation model, a pre-learned autoencoder, a pre-learned inertial model, and the like.
[0191] The second processor (220) can control the overall operation of the electronic device (200). All or part of the second processor (220) can be electrically or operatively coupled with or connected to other components (e.g., the second communication circuit (210) or the second memory (230)) within the electronic device (200).
[0192] The second processor (220) may receive movement characteristic data and signal strength data obtained as the subject moves within the target space via the second communication circuit (210). In an embodiment, the signal strength data may not include information related to the subject's location.
[0193] The second processor (220) can estimate the relative position of the subject from movement characteristic data. In an embodiment, the second processor (220) can estimate the relative position using a pre-learned inertial model.
[0194] The second processor (220) may generate fusion data based on relative position and signal intensity data. In an embodiment, the second processor (220) may extract latent features from the signal intensity data using a pre-trained autoencoder, and may generate fusion data by aggregating latent feature data and relative positions corresponding to each point in time at which the signal intensity data was acquired.
[0195] The second processor (220) can input the fusion data into a pre-learned location estimation model to estimate the location of the subject within the target space.
[0196] According to an embodiment, the second processor (220) can further acquire a map for the target space. The second processor (220) can transform the output of the previously learned position estimation model to be mapped onto the map.
[0197] In this way, the second processor (220) can estimate the position of the subject within the target space using the pre-learned position estimation model. In one embodiment, the second processor (220) can receive the pre-learned position estimation model for estimating the position of the subject from an external device (e.g., the server (100) of FIG. 1) through the second communication circuit (210) and store it in the second memory (230). In some cases, the second processor (220) can receive a position estimation SDK to which the pre-learned position estimation model is applied and store it in the second memory (230).
[0198] At this time, the position estimation SDK may apply a pre-learned position estimation model, a pre-learned inertial model that estimates a relative position from movement characteristic data, a pre-learned autoencoder that extracts latent feature data from signal strength data, and a transformation algorithm that maps to a map of the target space. In one embodiment, the second processor (220) may execute the position estimation SDK to estimate the position of the subject, and transmit the estimated position to an external server (e.g., a customer server) through the second communication circuit (210).
[0199] According to an embodiment, the second processor (220) can determine whether the subject is moving or stationary. More specifically, the second processor (220) executes a location estimation SDK, and the location estimation SDK can determine whether the subject is moving. For example, the location estimation SDK can determine whether the subject is moving based on the mean value, variance value, etc. of the subject's absolute position.
[0200] For example, the position estimation SDK may determine that a subject is stationary if the average change in absolute position is below a threshold. In another example, the position estimation SDK may determine that a subject is moving if the variance in absolute position is above a threshold.
[0201] According to an embodiment, the electronic device (200) may determine whether to transmit the absolute location to an external device (e.g., a client server) based on whether the subject is moving.
[0202] In one embodiment, the electronic device (200) may not transmit the absolute location to the client server if the subject is determined to be stationary. In this case, the client server may maintain the subject's location at the previously received location. Conversely, the electronic device (200) may be configured to transmit the absolute location to the client server if the subject is determined to be moving. This enables efficient communication between the electronic device (200) and the client server, and effective resource management, such as APIs.
[0203] Here, the client server may be a server managed by the client that requested the positioning service. For example, the client server may be a server used by the client to manage its users. In another example, the client server may not be a server itself, but rather a terminal owned by the client. The client server administrator can track the location of subjects and perform various management tasks, such as managing their arrival and departure times, managing access to hazardous areas, managing time-based movement trajectories, and managing material resources.
[0204] In this way, the electronic device (200) can estimate the location of the subject using a pre-learned location estimation model, and can estimate the location of the subject in real time and track it even in an indoor space where precise location tracking is impossible using techniques such as GPS.
[0205] FIG. 10 is a diagram showing an example of tracking the location of a subject using a pre-learned location estimation model according to one embodiment disclosed in this document.
[0206] Referring to Figure 10, an example of the results of estimating the location of a subject using a location estimation model and tracking it is shown.
[0207] 810 and 820 of FIG. 10 illustrate examples of the results of tracking the location of a subject. In 810 and 820, points indicated by triangles indicate the starting point of the subject, points indicated by diamonds indicate the end point of the subject's movement, and points indicated by circles indicate the estimated locations of the subject on the subject's movement path.
[0208] The electronic device (200) can generate a movement trajectory of the subject by connecting the estimated locations and track the location of the subject.
[0209] In this way, it can be confirmed that the movement path of the subject can be accurately estimated by performing position estimation in the subject's indoor space (target space) using the position estimation model learned for the target space.
[0210] Fig. 11 is a diagram showing an example of a signal strength distribution according to one embodiment disclosed in this document. In Fig. 11, the x-axis and the y-axis each represent relative coordinates, and the legend on the right represents the signal strength.
[0211] Referring to FIG. 11, the first processor (120) can calculate a signal strength distribution for a target space. From the signal strength distribution, the first processor (120) can identify points with weak signal strength within the target space and determine points at which additional APs should be deployed.
[0212] For example, as illustrated in FIG. 11, area A within the target space is an area with a weak signal strength, and accordingly, the first processor (120) can determine a location where an AP is to be installed so as to increase the signal strength in area A.
[0213] Through this, the signal strength data acquired in area A can be increased, and the performance of the location estimation model can be improved by acquiring more accurate signal strength data.
[0214] Although all components constituting the embodiments disclosed in this document have been described as being combined or operating in combination as one, the embodiments disclosed in this document are not necessarily limited to such embodiments. That is, within the scope of the purpose of the embodiments disclosed in this document, all of the components may be selectively combined and operated one or more times.
[0215] In addition, terms such as "include," "comprise," or "have" described above, unless specifically stated otherwise, mean that the corresponding component can be included, and therefore should be interpreted to include other components rather than excluding other components. All terms, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the embodiments disclosed in this document belong, unless otherwise defined. Commonly used terms, such as terms defined in a dictionary, should be interpreted to be consistent with the contextual meaning of the relevant technology, and shall not be interpreted in an idealized or overly formal sense, unless explicitly defined in this document.
[0216] The above description is merely an example of the technical idea disclosed in this document, and those skilled in the art to which the embodiments disclosed in this document pertain may make various modifications and variations without departing from the essential characteristics of the embodiments disclosed in this document. Therefore, the embodiments disclosed in this document are not intended to limit the technical idea of the embodiments disclosed in this document, but to explain it, and the scope of the technical idea disclosed in this document is not limited by these embodiments. The scope of protection of the technical idea disclosed in this document should be interpreted by the claims below, and all technical ideas within a scope equivalent thereto should be interpreted as being included in the scope of rights of this document.
Claims
1. Communication circuit; memory; and A processor operatively connected to the communication circuit and the memory, the processor comprising: Acquire multiple data sets including movement characteristic data and signal strength data obtained as the learner moves within the target space, For each of the plurality of data sets, the relative positions of the learner are estimated from the movement characteristic data, and fused data is generated based on the relative positions and the signal strength data, and A server that creates a location estimation model that uses the fused data generated from each of the plurality of data sets as learning data.
2. In paragraph 1, The above processor, A server that extracts latent feature data from the signal intensity data using a pre-trained autoencoder.
3. In paragraph 2, The above processor, A server that generates the fusion data by aggregating the latent feature data and relative positions corresponding to each point in time for the points in time at which the signal intensity data is acquired.
4. In paragraph 3, The above processor, A server that trains the position estimation model to estimate the absolute position from the latent feature data.
5. In paragraph 3, The above processor, A server that defines an objective function for training the position estimation model based on the relative positions and estimated positions output from the position estimation model.
6. In paragraph 5, The above processor, For each of the time points included in the above fusion data, select three time points that include each time point, The relative positions corresponding to the above three points are extracted from the above fusion data, A server that defines the objective function based on the estimated locations output by the location estimation model and the extracted relative locations from the latent feature data corresponding to the three time points.
7. In paragraph 6, The above objective function includes at least one of a first objective function, a second objective function, and a third objective function, The above processor, The first objective function is defined based on the first angle formed by the extracted relative positions and the second angle formed by the estimated positions, The second objective function is defined based on the third angle formed by the extracted relative positions and the fourth angle formed by the estimated positions as a result of applying the same rotation transformation to the extracted relative positions and the estimated positions, A server that defines the third objective function based on the distance between the relative positions and the distance between the estimated positions.
8. In paragraph 5, The above processor, For each of the points in time at which the signal strength data was acquired, select three points in time that include each point in time, The relative positions corresponding to the above three points are extracted from the above fusion data, A server that defines the objective function based on the similarity between the shape formed by the estimated positions output by the position estimation model from the latent feature data corresponding to the three time points and the shape formed by the relative positions.
9. In paragraph 1, The above processor, Obtain more maps for the above target space, A server that transforms the outputs of the above location estimation model so that the outputs are mapped onto the map.
10. In paragraph 9, The above processor, A server that transforms the outputs based on the size of the map, the number of outputs, and the standard deviation of the outputs.
11. In paragraph 1, The above processor, A server that corrects the output of the position estimation model by applying a particle filter algorithm that takes into account the geometric structure of the target space.
12. In paragraph 1, The above processor, A server that estimates the relative position from the movement characteristic data based on the learned inertial model.
13. In paragraph 1, The above processor, A server that adjusts the ratio used for learning the position estimation model based on the displacement and yaw between the relative positions.
14. In paragraph 1, A server, characterized in that the signal strength data does not include information related to the location of the learner.
15. A step of acquiring a plurality of data sets including movement characteristic data and signal intensity data acquired according to the learner's movement within the target space; For each of the plurality of data sets, a step of estimating the relative positions of the learner from the movement characteristic data; A step of generating fusion data based on the relative positions and the signal strength data; and A method of operating a server, comprising the step of generating a location estimation model that uses the fused data generated from each of the plurality of data sets as learning data.
16. Communication circuit; memory; and A processor operatively connected to the communication circuit and the memory, the processor comprising: Receives movement characteristic data and signal intensity data acquired as the subject moves within the target space, Estimating the relative position of the subject from the above movement characteristic data, Generate fusion data based on the relative position and signal strength data, An electronic device that inputs the above fused data into a pre-learned location estimation model to estimate the location of the subject within the target space.
17. In paragraph 16, The above processor, An electronic device that extracts latent feature data from the signal intensity data using a learned autoencoder.
18. In paragraph 17, The above processor, An electronic device that generates the fusion data by aggregating the latent feature data and relative positions corresponding to each point in time for which the signal intensity data is acquired.
19. In paragraph 16, The above processor, Obtain more maps for the above target space, An electronic device that converts the output of the above-mentioned learned location estimation model to be mapped onto the above-mentioned map.
20. In paragraph 16, An electronic device, characterized in that the signal strength data does not include information related to the location of the subject.
Citation Information
Patent Citations
Method and computer device for providing indoor wireless locaiton service based on machine learning, and computer readable recording medium
KR101945320B1
Method of estimating location of pedestrian using step length estimation model parameter and apparatus for the same
KR1020130116151A
Map-assisted sensor-based positioning of mobile devices
KR1020150074124A
System and method for location measurement
KR1020180009865A
Composition for removing unwanted molecular
KR1020220076443A