WO2024090862A1 - 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법 및 전자 장치 - Google Patents
위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법 및 전자 장치 Download PDFInfo
- Publication number
- WO2024090862A1 WO2024090862A1 PCT/KR2023/015853 KR2023015853W WO2024090862A1 WO 2024090862 A1 WO2024090862 A1 WO 2024090862A1 KR 2023015853 W KR2023015853 W KR 2023015853W WO 2024090862 A1 WO2024090862 A1 WO 2024090862A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- signal
- location
- electronic device
- user terminal
- Prior art date
Links
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012549 training Methods 0.000 title claims abstract description 19
- 230000003190 augmentative effect Effects 0.000 claims abstract description 68
- 238000001914 filtration Methods 0.000 claims abstract description 44
- 230000011664 signaling Effects 0.000 claims description 63
- 238000004422 calculation algorithm Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 37
- 238000004891 communication Methods 0.000 claims description 21
- 238000013480 data collection Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000013434 data augmentation Methods 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 101000998969 Homo sapiens Inositol-3-phosphate synthase 1 Proteins 0.000 description 1
- 102100036881 Inositol-3-phosphate synthase 1 Human genes 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Definitions
- This disclosure relates to a method and electronic device for learning an artificial intelligence model for inferring location information. Additionally, the present disclosure relates to a method for inferring location information of a user terminal.
- WiFi signals can be transmitted and received from an access point (AP) device to a user terminal.
- AP access point
- RTT round trip time
- WiFi signals transmitted from each AP device to the user terminal can be distinguished.
- short-distance communication between user terminals as well as communication between user terminals and AP devices is possible.
- short-distance communication is possible between user terminals through Bluetooth signals.
- Bluetooth signals received from different user terminals can be distinguished from each other. That is, the Bluetooth signal of the first user terminal and the Bluetooth signal of the second user terminal can be distinguished from each other.
- the present disclosure may be implemented in a variety of ways, including as a method, system, device, or computer program stored on a computer-readable storage medium.
- a method of learning an artificial intelligence model for inferring position information includes first signal data for a signal device collected by a user terminal at a first location, the first signal data When collected, it may include identifying a first data set including data on an obstacle located within a predetermined distance from the user terminal and second signal data on the signaling device collected at a second location. In one embodiment, the method may include generating a second data set by filtering the first signal data from the first data set based on data about the obstruction. In one embodiment, the method may include generating a third data set by generating augmented data for the first location and the signaling device based on the second signal data. In one embodiment, the method may include training the artificial intelligence model using the third data set.
- a method of inferring location information of a user terminal may include identifying signal data about one or more signal devices and data about an obstacle located within a predetermined distance from the user terminal.
- the method may include calculating first location prediction data based on signal data for the one or more signaling devices using an artificial intelligence model for inferring location information.
- the method may include applying a weight to the first location prediction data based on the data about the obstruction.
- the method may include determining location information of the user terminal based on the weighted first location prediction data.
- An electronic device that infers location information of a user terminal may include a memory that stores one or more instructions and at least one processor that executes the one or more instructions stored in the memory.
- the at least one processor executes the one or more instructions, thereby generating first signal data for a signal device collected by a user terminal at a first location, and the user when collecting the first signal data.
- a first data set including data on an obstacle located within a predetermined distance from the terminal and second signal data on the signal device collected at a second location may be identified.
- the at least one processor may generate a second data set by filtering the first signal data from the first data set based on data about the obstruction.
- the at least one processor may generate a third data set by generating augmented data for the first location and the signal device based on the second signal data.
- the at least one processor may train the artificial intelligence model using the third data set.
- An electronic device that infers location information of a user terminal may include a memory that stores one or more instructions and at least one processor that executes the one or more instructions stored in the memory.
- the at least one processor may identify signal data for one or more signal devices and data for obstacles located within a predetermined distance from the user terminal.
- at least one processor may use an artificial intelligence model for inferring location information to calculate first location prediction data based on signal data for the one or more signal devices.
- at least one processor may apply a weight to the first location prediction data based on data about the obstacle.
- at least one processor may determine location information of the user terminal based on the weighted first location prediction data.
- a program for performing on a computer a method of learning an artificial intelligence model for inferring location information may be recorded on a computer-readable recording medium.
- a program for performing a method of inferring location information of a user terminal according to an embodiment of the present disclosure on a computer may be recorded on a computer-readable recording medium.
- Figure 1 is a diagram illustrating an example of collecting training data for an artificial intelligence model for inferring location information according to an embodiment.
- Figure 2 is a flowchart showing a method of learning an artificial intelligence model for inferring location information according to an embodiment.
- Figure 3 is a flowchart showing a method for inferring location information of a user terminal according to an embodiment.
- FIG. 4A is a diagram illustrating an example of a first data set according to an embodiment.
- FIG. 4B is a diagram illustrating an example of a second data set in which data is filtered from the first data set according to an embodiment.
- FIG. 4C is a diagram illustrating an example of a third data set including augmented data according to an embodiment.
- Figure 5A is a graph showing filtering of signal data according to one embodiment.
- Figure 5b is a graph showing augmented data generation using the GPR algorithm according to one embodiment.
- Figure 6 is a flowchart showing a method for an electronic device to learn an artificial intelligence model for inferring location information, according to an embodiment.
- FIGS. 7A to 7C are diagrams illustrating an example of determining location information of a user terminal according to an embodiment.
- Figure 8 is a block diagram of an electronic device that learns an artificial intelligence model, an electronic device that collects data, and an electronic device that infers location information, according to an embodiment.
- the expression “at least one of a, b, or c” refers to “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b and c”, or variations thereof.
- 'point' may refer to a location in any space.
- the location information of the user terminal may include information about a point where the user terminal is predicted to be located among a plurality of points in space.
- a refpoint may represent a point, and similarly, a point may represent a refpoint.
- 'data collection' may mean at least one of data measurement, data calculation, data acquisition, data identification, or data reception.
- augmented data may refer to randomly generated data rather than data acquired through a measurement operation in a data collection environment.
- 'augmented data' may be data randomly generated for signals that are not actually transmitted or received between an electronic device and a signal device in any environment (e.g., location, time, etc.).
- 'augmented data' may be generated using any method, algorithm, or model based on signal data obtained as actual transmission and reception occurs between an electronic device and a signal device.
- 'augmented data' is based on other signal data, such as GPR (Gaussian process regression) algorithm, RSSI (received signal strength) path loss model, SMOTE (synthetic minority oversampling technique) algorithm, INOS (integrated oversampling) algorithm.
- GPR Globalsian process regression
- RSSI received signal strength
- SMOTE synthetic minority oversampling technique
- INOS integrated oversampling
- augmented data for a first location and a first signaling device may be generated to replace signaling data for a first signaling device that has been or
- 'data about obstacles' may refer to data about obstacles located within a certain distance from the electronic device when the electronic device collects signal data about a signal device at a random location.
- 'obstruction' may refer to an object that can affect signal transmission and reception between an electronic device and a signaling device.
- an 'obstruction' is an object that can cause attenuation/amplification/interference/distortion in signals transmitted and received between an electronic device and a signal device, and may include pedestrians, pedestrians' electronic devices, etc.
- 'predetermined distance' may refer to a distance at which an obstacle can affect signal transmission and reception between an electronic device and a signal device and/or a distance at which an electronic device can identify an obstacle.
- 'data about obstructions' may include data indicating the strength of a signal received from the object.
- 'predetermined distance' may mean a distance at which a signal can be received from the object (eg, communication distance).
- 'data about obstruction' may include data representing information received from the object.
- 'predetermined distance' may mean the distance at which information can be received from the object.
- 'data about obstructions' may include data indicating an environment that changes due to the object.
- 'data about obstructions' may include physical values (e.g. Geo-magnetic scalar (or amount of change)) about any environment that is changed by the object.
- 'predetermined distance' may mean a distance that can cause a change in the environment where the electronic device is located.
- 'predetermined distance' may mean a distance that can cause a change in physical values representing the environment of the area where the electronic device is located.
- Figure 1 is a diagram illustrating an example of collecting training data for an artificial intelligence model for inferring location information according to an embodiment.
- the user terminal may transmit and receive signals with one or more signal devices fixedly located within the space 100.
- space 100 may be divided into a plurality of points.
- the space 100 may be divided into a plurality of small two-dimensional spaces (e.g., a space of 1 m2), and each of the plurality of small spaces may correspond to each point.
- the location information of the user terminal in space 100 may correspond to one point among a plurality of points.
- the distance between the user terminal and each signal device is calculated, and the space (100) is calculated based on the calculated distance information with each signal device. ) can be predicted. For example, depending on the signal strength of each AP (access point) device measured by the user terminal, the distance from AP 1 is 5m, the distance from AP 2 is 10m, the distance from AP 3 is 10m, and the distance from AP 4 is 18m.
- the user terminal may be determined to be located 5 m away from AP 1, 10 m away from AP 2, 10 m away from AP 3, and 18 m away from AP 4 in the space 100.
- the location of the user terminal may be predicted based on the strength of the signal received from each signal device using an artificial intelligence model learned to infer the location. For example, the user terminal measures the strength of the WiFi signal of each AP device (e.g., AP 1, AP 2, AP 3, and AP 4 in FIG. 1) and sends the measured strength value of each WiFi signal to the artificial intelligence model. As input, the location within the space 100 can be determined based on the output location prediction data.
- the user terminal 110 may be an electronic device (i.e., a data collection device) for collecting training data for an artificial intelligence model that infers a location in space 100.
- the user terminal 110 moves through the space 100 and can collect learning data at each collection cycle.
- the user terminal 110 may transmit the collected learning data to an electronic device (eg, one or more servers) that learns an artificial intelligence model.
- the user terminal 110 may perform preprocessing on a plurality of collected learning data to create a data set, and transmit the generated data set to an electronic device that learns an artificial intelligence model.
- the user terminal 110 may collect signal data for the WiFi signal of each AP device at each collection cycle. For example, the user terminal 110 can measure the strength of a WiFi signal from each AP device. For example, the user terminal 110 may obtain distance information to each AP calculated based on the round trip time (RTT) of the WiFi signal.
- RTT round trip time
- the user terminal 110 may acquire location information in space 100 every collection cycle. For example, the user terminal 110 may obtain information indicating the point where the user terminal 110 is located among a plurality of points in the space 100. For example, the user terminal 110 may receive a user input signal and determine a point corresponding to the user input signal as the location at the time of signal data collection.
- Signals transmitted and received between a user terminal and a signaling device may be affected by obstructions.
- the signal strength when an obstacle exists between the user terminal and the signal device may be measured as a smaller value than the signal strength when there is no obstacle. That is, depending on the presence of an obstacle, the signal strength between the user terminal and the signal device at the same distance may vary. Accordingly, if an obstacle such as a pedestrian exists during the process of collecting learning data, low-quality data affected by the obstacle may be collected.
- the user terminal 110 when collecting signal data for the WiFi signal of each AP device, the user terminal 110 collects short-range communication signal (e.g., Bluetooth signal) data of other surrounding user terminals 120 and 130. can do.
- the user terminal 110 may identify Bluetooth signals from other surrounding user terminals 120 and 130 and measure the strength of the Bluetooth signals.
- WiFi signal data collected when the Bluetooth signal of other user terminals 120 and 130 is identified is low-quality data affected by surrounding obstacles such as pedestrians, and may have a negative impact on learning the artificial intelligence model.
- Different user terminals can transmit distinguishable Bluetooth signals. Accordingly, when two different user terminals 120 and 130 are located around the user terminal 110, the user terminal 110 can identify two different Bluetooth signals. In other words, the number of identified Bluetooth signals may indicate the number of obstacles located nearby. A high strength of the Bluetooth signal may indicate that an obstacle is located at a closer distance. Additionally, a large number of Bluetooth signals may indicate that there are a greater number of obstacles nearby.
- the user terminal 110 collects data according to a collection cycle (or measurement cycle) while moving through the space 100, it may not be possible to collect data for all points. For example, if the user terminal 110, which measures the signal strength according to a measurement cycle of 4 seconds, passes point 3 between one measurement cycle, only signal data for points 2 and 4 are acquired, and point 3 is obtained. Signal data may not be obtained.
- one user terminal 110 is collecting data, but the present invention is not limited to this.
- a plurality of data collection devices may collect learning data simultaneously or at different times in one space.
- the identifiers of each point other than point 1 to point 6 may be omitted.
- Figure 1 shows four AP devices as signaling devices, but the present invention is not limited thereto.
- Figure 2 is a flowchart showing a method of learning an artificial intelligence model for inferring location information according to an embodiment.
- a method 200 in which an electronic device learns an artificial intelligence model for inferring location information may include steps 210 to 240.
- steps 210 to 240 may be executed by at least one processor included in the electronic device.
- the method 200 of learning an artificial intelligence model for inferring location information is not limited to that shown in FIG. 2 and may further include steps not shown in FIG. 2 .
- the electronic device collects first signal data about a signal device collected by a user terminal (i.e., a data collection device) at a first location, and about an obstacle located within a predetermined distance from the user terminal when collecting the first signal data.
- a first data set may be identified, including data (hereinafter referred to as data on obstructions associated with the first signal data) and second signal data on a signaling device collected at a second location.
- the electronic device may receive the first data set from the user terminal (eg, 110 in FIG. 1).
- the electronic device may receive the first data set directly from the user terminal.
- the electronic device may receive the first data set from the user terminal through another device.
- the electronic device may generate the first data set by directly collecting signal data for one or more signal devices (e.g., by directly measuring WiFi signals). In this case, the electronic device and the user terminal may be the same device.
- the signaling device may be a wifi signal transceiver (e.g., an AP device), but is not limited thereto.
- the signal device may be a signal generating device provided in space to infer location information.
- Signal data for a signaling device may include the strength of a signal transmitted by the signaling device.
- signal data for a signaling device may include RTT-based distance information.
- the data about the obstruction associated with the first signal data may be data collected together when the first signal data is collected. For example, data about an obstruction associated with the first signal data may be measured or acquired at the same time as the first signal data. Additionally or alternatively, if the collection cycle for signal data and the collection cycle for data about the obstruction are different, the data about the obstruction is collected at a time according to the collection cycle for the data about the obstruction immediately before or after collection of the first signal data. can be measured or obtained.
- the electronic device may generate a second data set by filtering the first signal data from the first data set based on data about the obstacle.
- the electronic device may identify a filtering reference value for the first signal data based on data about an obstacle associated with the first signal data.
- the filtering standard may be different or the same for each signal device, location information for each signal data, and/or data collection device.
- the electronic device may remove the first signal data from the first data set based on determining that the value of the first signal data (i.e., the value of the signal strength of the signal device measured at the first location) is less than or equal to the filtering reference value. .
- the electronic device may generate a third data set by generating augmented data for the first location and signal device based on the second signal data.
- the electronic device uses a Gaussian Process Regression (GPR) algorithm to generate augmented data for the signaling device with respect to the first location based on the second signal data (i.e., augmented data for the first location and the signaling device). ) can be created.
- GPR Gaussian Process Regression
- the electronic device may train an artificial intelligence model using the third data set.
- the electronic device may train an artificial intelligence model using signal data and/or augmented data for each signal device at each location. For example, an electronic device can learn an artificial intelligence model by generating a fingerprint that maps signal data of each of a plurality of signal devices to each location (i.e., point) in space.
- the electronic device can supervised learn an artificial intelligence model by using signal data for each signal device as input data and location information about the input data as correct answer data, but the learning method is limited to supervised learning. It doesn't work. For example, location information corresponding to the correct answer data may be labeled by the learning data collector.
- the artificial intelligence model can be trained to predict the location of the inference target device in space as signal data (i.e., signal strength) for each signal device acquired by the inference target device (e.g., user terminal) is input. .
- Figure 3 is a flowchart showing a method for inferring location information of a user terminal according to an embodiment.
- a method 300 for an electronic device to infer location information of a user terminal may include steps 310 to 340.
- steps 310 to 340 may be executed by at least one processor included in the electronic device.
- the method 300 for an electronic device to infer location information of a user terminal is not limited to that shown in FIG. 3 and may further include steps not shown in FIG. 3 .
- the electronic device performing the method 300 of FIG. 3 may be different from or the same as the electronic device performing the method 200 of FIG. 2 .
- the electronic device may identify signal data for one or more signal devices and data for obstacles located within a predetermined distance from the user terminal (i.e., the inference target device).
- signal data for one or more signaling devices may include values of signal strengths of the one or more signaling devices.
- the data about the obstacle may include at least one of the value of the short-range communication (eg, Bluetooth) signal strength of another user terminal or the amount of geo-magnetic change due to the obstacle.
- the short-range communication eg, Bluetooth
- the signal data for one or more signal devices and the data for the obstruction in step 310 may be data measured (or acquired) at the same time. That is, the data about the obstacle may include data about the obstacle located around the user terminal when signal data for one or more signal devices is measured.
- the electronic device performing the method 300 may be a user terminal that is the target of location information inference.
- an electronic device i.e., a user terminal
- the electronic device may receive signal data for one or more signaling devices from a signaling device.
- the electronic device can receive data about the obstruction from the obstruction.
- the electronic device performing the method 300 may be a different device from the user terminal that is the target of location information inference.
- the electronic device may receive signal data about one or more signal devices and data about obstacles from the user terminal that is the target of location information inference.
- the electronic device may calculate first location prediction data based on signal data for one or more signal devices using an artificial intelligence model for inferring location information.
- the artificial intelligence model for inferring location information may be a model trained by method 200 of FIG. 2.
- the first location prediction data calculated in step 320 may include probability data that the user terminal will be located at each point. Additionally or alternatively, the first location prediction data may include one or more points where the user terminal is predicted to be located along with a prediction rank. For example, the first location prediction data may include the first position point 1 and the second position point 7 where the user terminal is predicted to be located.
- the electronic device may apply a weight to the first location prediction data based on data about the obstacle.
- the weight applied to the first location prediction data may be determined based on at least one of the number of obstacles or the value of data about the obstacles. For example, when the strength of the Bluetooth signal of another user terminal is measured to be strong, the electronic device may apply a low weight to the first location prediction data calculated based on low-quality signal data. For example, when multiple Bluetooth signals are identified, the electronic device may apply a low weight to the first location prediction data calculated based on low-quality signal data.
- the electronic device may determine location information of the user terminal (i.e., inference target device) (e.g., the electronic device performing the method 300) based on the weighted first location prediction data.
- the electronic device can identify second location prediction data. For example, the electronic device may identify second location prediction data for the user terminal calculated using data, methods, algorithms, or models different from the first location prediction data. The electronic device may apply a weight to the second location prediction data based on data about the obstacle. In this case, the electronic device may determine the location information of the user terminal based on the first location prediction data to which the weight is applied and the second location prediction data to which the weight is applied.
- FIG. 4A is a diagram illustrating an example of a first data set according to an embodiment.
- FIG. 4B is a diagram illustrating an example of a second data set in which data is filtered from the first data set according to an embodiment.
- FIG. 4C is a diagram illustrating an example of a third data set including augmented data according to an embodiment.
- a data set may include one or more data groups.
- Each data group may include data measured or acquired in each collection cycle. For example, data included in one data group may be measured or acquired at the same time.
- each data group 412, 414, and 416 may include information ('refpoint') indicating the location where the data group was measured or obtained.
- Each data group may include signaling data for each signaling device (eg, AP device).
- signaling data may include an identifier ('ap') of the signaling device.
- Signal data may include a signal strength ('rssi') value.
- Signal data may include distance information ('distance') between the collection device and each signal device when the signal data is collected.
- distance information ('distance') may be a value calculated through the RTT of the signal.
- Each data group 412, 414, and 416 may include data about an obstacle ('bluetooth'). Data about obstructions may be measured or acquired together when signal data of each data group 412, 414, and 416 is collected.
- data about obstructions may include Bluetooth signal data.
- data about obstacles may include Bluetooth signal data of another user terminal located within a range of Bluetooth signal transmission and reception from the data collection device. That is, if there is a pedestrian around the data collection device when measuring or acquiring signal data, the strength of the Bluetooth signal received from the pedestrian's user terminal may be included in the data set as data about the obstacle.
- data about the obstruction may include geo-magnetic change due to the obstruction. For example, if other electronic devices exist in close proximity to a data collection device that measures or acquires geo-magnetic scalar values, the geo-magnetic scalar value may change rapidly. In other words, if there are other electronic devices nearby, the amount of geo-magnetic change may increase.
- data about obstructions may include data about electronic devices located in a range that can affect the geo-magnetic scalar of the area where the data collection device is located. For example, geo-magnetic changes due to obstructions can be included in the data set as data about the obstructions.
- the electronic device may filter signal data for any signal device included in a certain data group based on data about obstacles to the certain data group.
- the electronic device may identify a filtering reference value for each data group based on data about the obstruction of each data group and remove signal data having a value less than or equal to the filtering reference value from each data group.
- the filtering reference value may be determined based on at least one of the number of obstructions or the value of data about the obstructions.
- the number of obstructions may correspond to the number of data about the obstructions. For example, the greater the number of data on obstacles, the higher the standard may be determined. Alternatively, the lower the number of data on obstacles, the higher the standard value may be determined. For example, the larger the data value for the obstacle, the higher the standard value may be determined. Alternatively, the smaller the data value for the obstacle, the higher the reference value may be determined.
- the electronic device may determine filtering criteria for the data groups 412, 414, and 416 based on the Bluetooth signal data of each data group 412, 414, and 416. For example, based on the fact that the number of Bluetooth signal data in the data group 412 is 1 and the intensity of the Bluetooth signal is -30 dB, the reference value of the data group 412 may be determined to be -65 dB. In addition, the electronic device may determine the reference value of the data group 414 to be -55dB, based on the fact that the number of Bluetooth signal data in the data group 414 is 2 and the intensity of the Bluetooth signal is -50dB and -15dB, respectively. . Additionally, the electronic device may determine the reference value of the data group 416 to be -70dB based on the fact that the number of Bluetooth signal data in the data group 416 is 0.
- the electronic device removes signal data determined to be below the filtering standard value from the plurality of signal data included in each data group 412, 414, and 416 from the first data set 410, thereby generating the second data.
- a set (420) can be created.
- the electronic device may remove AP 2 signal data of -50 dB or less from the data group 412.
- the electronic device can remove AP 4 signal data of -55 dB or less from the data group 414.
- the electronic device can remove AP 4 signal data of -70 dB or less from the data group 416.
- the electronic device does not remove signal data included in the data group 416, which is good quality data that is not affected by surrounding pedestrians, etc., based on the fact that the number of Bluetooth signal data in the data group 416 is 0. It may not be possible.
- the electronic device may generate the third data set 430 by performing data augmentation.
- the electronic device may use a GPR algorithm to generate augmented data for a location from which signal data was removed, based on signal data for a signaling device for another location (i.e., another refpoint).
- the electronic device may use the GPR algorithm to generate augmented data that complements/replaces signal data removed from each data group based on signal data included in other data groups.
- the electronic device uses the GPR algorithm to remove signal data for AP 2 from other data groups 414 and 416. Based on this, augmented data for AP 2 of the data group 412 can be generated.
- the electronic device uses the GPR algorithm to generate data based on the signal data for AP 4 in the other data group 412. Augmented data for AP 4 of groups 414 and 416 may be generated.
- the electronic device determines the information for each signal device with respect to refpoints 2 and 4, which are locations that are not collected (i.e., locations independent of the signal data included in the first data set 410 and/or the second data set 420). Augmented data can be generated.
- the electronic device uses the GPR algorithm to determine, for each signal device, based on signal data for other locations, a location where data was not collected (i.e., signal data included in the first dataset 410). Augmented data can be generated for (independent locations).
- the electronic device uses the GPR algorithm to generate signal data for AP 1 of the data group 412 (i.e., AP 1 signal data for refpoint 1) and AP of the data group 414. Based on the signaling data for 1 (i.e., AP 1 signaling data for refpoint 3) and the signaling data for AP 1 in data group 416 (i.e., AP 1 signaling data for refpoint 5), no data is collected.
- Augmented data for AP 1 can be generated for refpoint 2, which is an unknown location.
- the data set structure shown in FIGS. 4A to 4C is an example of a data set for learning an artificial intelligence model, and is not limited thereto.
- the data set may further include information other than the information shown (e.g., information about the collection device, etc.).
- information can be classified or sorted into different types of structures.
- Figure 5A is a graph showing filtering of signal data according to one embodiment.
- Figure 5b is a graph showing the generation of augmented data using the GPR algorithm according to one embodiment.
- the graph shown in FIGS. 5A and 5B is a graph showing a plurality of signal data for an arbitrary electronic device.
- the x-axis of the graph shown in FIGS. 5A and 5B represents distance information (e.g., distance value, distance index, location index, etc.), and the y-axis may represent the strength value of the WiFi signal (e.g., dB value). Due to the nature of the WiFi signal, as the distance increases, the strength of the WiFi signal may decrease logarithmically. However, in a real environment, due to interference from external factors, the graph of WiFi signal strength versus distance may not appear as a perfect logarithmic function graph.
- the electronic device may process/process data for each signal device to enhance data.
- the electronic device uses signal data for any signal device in each of a plurality of data groups (e.g., 412, 414, and 414 in FIG. 4b) included in the data set (e.g., 420 in FIG. 4b) Data augmentation for the corresponding signaling device can be performed.
- FIG. 5A shows a graph of signaling data for an arbitrary signaling device (e.g. AP 1). Specifically, FIG. 5A shows the signal strength ('rssi') value and distance information ('distance') of any signal device included in the data set (e.g., 410 in FIG. 4A) before performing data-based filtering on obstacles. Shows the reflected graph. A plurality of signal data discretely displayed in the graph of FIG. 5A may be data collected by a data collection device.
- the plurality of signal data for any signal device at least some data may be removed by filtering based on data for obstructions. For example, among a plurality of signal data for an arbitrary signal device, signal data whose signal strength is below a reference value (eg, -70dB) determined based on data about obstacles may be removed.
- the reference values of each of the plurality of signal data for any signal device may be different, partially different, or the same. Referring to FIG. 5A, signal data that is highlighted (circled) among a plurality of signal data displayed in the graph may represent signal data that is removed by filtering based on data for obstacles.
- the graph in FIG. 5B is a graph in which the circled signal data has been removed from the graph in FIG. 5A. That is, Figure 5b is a graph reflecting the signal strength ('rssi') value and distance information ('distance') of any signal device included in the data set (e.g., 420 in Figure 4b) after data-based filtering for obstacles. represents.
- the electronic device may generate augmented data for a signal device using a GPR model based on signal data for an arbitrary signal device included in a data set after filtering based on data about obstacles. For example, the electronic device may generate a GPR-based function representing signal strength over distance based on a plurality of signal data displayed in the graph of FIG. 5B.
- the GPR line shown in the graph in Figure 5b represents the GPR basis function.
- the electronic device can generate augmented data for each location where signal data does not exist for any signal device. That is, the value of the signal intensity of the GPR line at the x-axis point corresponding to each position in the graph of FIG. 5B can be generated as augmented data for that position.
- Locations where signal data does not exist may include locations where signal data has been filtered and/or locations where signal data has not been collected.
- the electronic device can generate augmented data not only for locations where signal data does not exist, but also for locations where signal data exists.
- the electronic device may generate augmented data for a location where signal data exists based on signal data for that location and/or signal data for another location.
- the electronic device can generate augmented data at 30 points on the x-axis where signal data of -50 dB exists.
- the electronic device can determine the value of -60dB of the GPR line at point 30 on the x-axis as augmented data.
- the electronic device may generate augmented data using a GPR algorithm based on at least some signal data among a plurality of signal data for an arbitrary signal device.
- the GPR line may vary depending on the data used to generate the GPR line.
- the GPR line may vary depending on the setting value of the GPR algorithm (e.g., parameter value, or option value). That is, the electronic device can generate a plurality of GPR lines, and thus, a plurality of augmented data can be obtained for one x-axis point.
- the logarithmic function trend may appear more in the GPR line after filtering compared to the GPR line before filtering.
- augmented data generated using the GPR algorithm after filtering may be of better quality.
- 5A and 5B are graphs illustrating an example of filtering and augmenting training data of an artificial intelligence model in an embodiment, and are graphs that will not be generated and output as the electronic device performs the method according to the embodiment of the present disclosure. You can.
- Figure 6 is a flowchart showing a method for an electronic device to learn an artificial intelligence model for inferring location information, according to an embodiment.
- a method 600 in which an electronic device learns an artificial intelligence model for inferring location information may include steps 610 to 650.
- steps 610 to 650 may be executed by at least one processor included in the electronic device.
- the method 600 of learning an artificial intelligence model for inferring location information is not limited to that shown in FIG. 6 and may further include steps not shown in FIG. 6 .
- descriptions overlapping with FIG. 2 may be omitted.
- step 610 the electronic device can identify the first data set.
- the electronic device may perform Bluetooth signal-based filtering on the first data set.
- the electronic device may generate a second data set by filtering Wi-Fi signal data of the AP device based on a Bluetooth signal in the first data set.
- the electronic device may determine whether the number of signal data for each point is greater than or equal to a threshold value (K, where K is a natural number). In one embodiment, the electronic device may determine whether the number of signal data for each of a plurality of locations (i.e., a plurality of points) is greater than or equal to a threshold. In one embodiment, the threshold may be determined based on the number of training data required for the performance (e.g., accuracy, sensitivity, precision, etc.) of the artificial intelligence model to satisfy an arbitrary criterion. For example, the threshold may be a predetermined value (eg, 10).
- the electronic device may learn an artificial intelligence model using the signal data for each point.
- the electronic device determines that the number of signal data is insufficient for each signal device.
- Augmented data can be generated for .
- the electronic device may generate augmented data such that the number of learning data (signal data and augmented data) for each point is K or more.
- the electronic device can learn an artificial intelligence model using training data for each point. That is, the electronic device can learn an artificial intelligence model using signal data and/or augmented data of each of a plurality of signal devices for each point.
- FIGS. 7A to 7C are diagrams illustrating an example of determining location information of a user terminal using an artificial intelligence model according to an embodiment.
- the user terminal 712, 722, 732 receives signal data for one or more signaling devices and the user terminal 712, 722, 732 Data about obstacles located at a predetermined distance from can be identified. For example, referring to FIGS. 7A to 7C, the user terminals 712, 722, and 732 may measure the strength (rssi) of the WiFi signals of AP 1 to AP 4. Additionally, the user terminals 712, 722, and 732 can measure the strength of the Bluetooth signal of other user terminals 724, 734, and 736. In this case, the predetermined distance may represent the distance at which Bluetooth signals can be transmitted and received.
- the user terminals 712, 722, and 732 use an artificial intelligence model to infer location information learned with learning data filtered based on data about obstacles, to generate a signal for one or more identified signal devices.
- First location prediction data of the user terminals 712, 722, and 732 may be calculated based on the data.
- the user terminals 712, 722, and 732 input the strength value of the WiFi signal from AP 1 to AP 4 into an artificial intelligence model learned with learning data filtered based on the Bluetooth signal, so that the first position is output. Predicted data can be obtained.
- the artificial intelligence model outputs first location prediction data including a probability (or a score corresponding to the probability) that the user terminal (712, 722, 732) is located at a random point among a plurality of points in space. can do.
- the artificial intelligence model may output first location prediction data including the identifier and probability (or score) of at least one point.
- the artificial intelligence model may output first location prediction data including the identifier and prediction rank of at least one point among a plurality of points. At least some of the points may include points whose predicted rankings range from 1st to a specific ranking.
- the first location prediction data has a structure such as '[(1st place, point1), (2nd place, point9), (3rd place, point5), (4th place, point3), (5th place, point5)]' It can be output as .
- the prediction ranking of each point can be determined based on the score of each point. For example, the predicted rank of point 1, the point with the highest probability (i.e. score) of where the user terminals 712, 722, and 732 are located, is 1, and the predicted rank of point 7, the point with the second highest probability, is 2. It can be decided above.
- the user terminals 712, 722, and 732 may apply a weight to the first location prediction data calculated based on an artificial intelligence model based on data about obstacles. Additionally, the user terminal 712, 722, and 732 may identify the second location prediction data. The user terminals 712, 722, and 732 may apply weights to the second location prediction data based on data about obstacles.
- the second location prediction data may be data calculated based on data, methods, algorithms, and/or models that are different from the first location prediction data. For example, if the first location prediction data is data output from an artificial intelligence model learned using learning data filtered based on Bluetooth signals, the second location prediction data is learning data filtered based on Geo-magnetic variation. It may be data output from an artificial intelligence model learned using.
- the second location prediction data may include a probability (or score) that the user terminal 712, 722, and 732 is located at at least one point among a plurality of points.
- the second location prediction data may include an identifier and probability (or score) of at least one point.
- the second location prediction data may output first location prediction data including the identifier and prediction rank of at least one point among a plurality of points.
- the at least one point may include a point whose predicted ranking ranges from 1st to a specific ranking.
- the user terminals 712, 722, and 732 may determine location information of the user terminals 712, 722, and 732 based on the weighted first location prediction data. As an example, the user terminals 712, 722, and 732 may determine the location information of the user terminals 712, 722, and 732 using equation (1) below.
- refpointn represents the coordinate value of a point with a prediction ranking higher than n
- k may represent the number of prediction points to be considered in determining the location of the user terminal
- wn may represent a weight value to be applied to refpointn.
- the weight wn may be an arbitrary value determined based on Bluetooth signal data when measuring signal data.
- the user terminals 712, 722, and 732 may determine a point close to the value of predict_refpoint calculated using Equation (1) as the location of the user terminals 712, 722, and 732.
- the user terminals 712, 722, and 732 may determine location information of the user terminals 712, 722, and 732 based on the weighted first and second location prediction data. For example, the user terminals 712, 722, and 732 may determine the location information of the user terminals 712, 722, and 732 using Equation (2) below.
- f.refpointn represents the coordinate value of the point with the nth predicted ranking in the first position prediction data
- s.refpointn represents the coordinate value of the point with the nth predicted ranking in the second position prediction data.
- wn may represent a weight value to be applied to the n-rank point in the first location prediction data
- wn+m may represent a weight value to be applied to the n-rank point in the second location prediction data.
- m represents the number of prediction points to be considered to determine the location information of the user terminal in the first location prediction data
- k may represent the number of prediction points to be considered to determine the location information of the user terminal in the second location prediction data.
- the user terminals 712, 722, and 732 may determine a point corresponding to or close to the value of predict_refpoint calculated using Equation (2) as the location of the user terminals 712, 722, and 732.
- the user terminal 712 uses Equation (3) as follows: ) Based on this, location information can be determined.
- f.refpoint1 represents the first prediction point according to the first position prediction data
- f.refpoint2 represents the second prediction point according to the first position prediction data
- s.refpoint1 represents the first prediction point according to the second location prediction data.
- the user terminal 712 may determine a point close to the value of predict_refpoint calculated using equation (3) as the location of the user terminal 712. That is, as shown in FIG. 7A, when a Bluetooth signal is not received from another user terminal nearby, the user terminal 712 can determine location information by applying a higher weight to the first location prediction data than the second location prediction data. there is.
- the user terminal 722 is as follows: Based on equation (4), location information can be determined.
- f.refpoint1 represents the first prediction point according to the first position prediction data
- f.refpoint2 represents the second prediction point according to the first position prediction data
- s.refpoint1 represents the first prediction point according to the second location prediction data.
- the user terminal 722 may determine a point close to the value of predict_refpoint calculated using equation (4) as the location of the user terminal 722. Compared to FIG. 7A, the user terminal 722 may lower the weight of the first location prediction data calculated based on signal data interfered with an obstacle and increase the weight of the second location prediction data.
- the user terminal 732 when two Bluetooth signals are received by the user terminal 732, that is, when two other user terminals 734 and 736 exist around the user terminal 732, the user terminal 732
- the location information can be determined based on Equation (5) below.
- f.refpoint1 represents the first prediction point according to the first position prediction data.
- s.refpoint1 represents the first prediction point according to the second location prediction data, and
- s.refpoint2 represents the second prediction point according to the second location prediction data.
- the user terminal 732 may determine a point close to the value of predict_refpoint calculated using equation (5) as the location of the user terminal 732. Compared to FIGS. 7A and 7B, the user terminal 732 may lower the weight of the first location prediction data calculated based on signal data that has received a lot of interference from obstacles and increase the weight of the second location prediction data.
- f.refpont1, f.refpoint2, s.refpont1, and s.refpoint2 may be (x,y) coordinate values corresponding to each point in space. Accordingly, 'predict_refpoint' calculated by equations (3) to (5) can also be expressed as (x,y) values.
- the user terminals 712, 722, and 732 may determine the point corresponding to the value of 'predict_refpoint' as the location of the user terminals 712, 722, and 732. For example, if the value of 'predict_refpoint' is calculated as (0.23, 2.89), the point (e.g. point 4) of (0,3), which is the coordinates rounded off of (0.23, 2.89), is determined as the location of the user terminal. You can.
- Figure 8 is a block diagram of an electronic device that learns an artificial intelligence model, an electronic device that collects data, and an electronic device that infers location information, according to an embodiment.
- the electronic device 810 in FIG. 8 may be any computing device that learns an artificial intelligence model.
- the electronic device 810 may include one or more server devices.
- the electronic device 810 may include at least one processor 820 and memory 830.
- the electronic device 850 of FIG. 8 may be any computing device that collects training data for an artificial intelligence model.
- the electronic device 850 may include at least one processor 852 and memory 854.
- the electronic device 860 of FIG. 8 may be any computing device that infers location information using an artificial intelligence model.
- the electronic device 860 may include at least one processor 862 and memory 864.
- Electronic devices 850 and 860 include a smart phone, tablet PC, mobile phone, smart watch, desktop computer, laptop computer, Laptop, smart glass, navigation device, wearable device, augmented reality device, VR device, digital signal transceiver, etc. It may be a user terminal of.
- the processors 820, 852, and 862 are electrically connected to components included in the electronic devices 810, 850, and 860, and perform functions related to control and/or communication of components included in the electronic devices 810, 850, and 860. Calculations or data processing can be performed. According to one embodiment, the processors 820, 852, and 862 load and process requests, commands, or data received from at least one of the other components into the memories 830, 854, and 864, and store the resulting data in the memory 830. , 854, 864).
- the processors 820, 852, and 862 may be general-purpose processors such as a central processing unit (CPU), an application processor (AP), a digital signal processor (DSP), a graphic processing unit (GPU), and a vision processor (VPU). It may include at least one of a processor dedicated to graphics, such as a processing unit, or a processor dedicated to artificial intelligence, such as a neural processing unit (NPU).
- CPU central processing unit
- AP application processor
- DSP digital signal processor
- GPU graphic processing unit
- VPU vision processor
- It may include at least one of a processor dedicated to graphics, such as a processing unit, or a processor dedicated to artificial intelligence, such as a neural processing unit (NPU).
- NPU neural processing unit
- the processors 820, 852, and 862 may control input data to be processed according to predefined operation rules or artificial intelligence models stored in memory.
- the processors 820, 852, and 862 are dedicated artificial intelligence processors
- the artificial intelligence dedicated processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
- Predefined operation rules or artificial intelligence models may be characterized as being created through learning.
- being created through learning means that the basic artificial intelligence model is learned using a large number of learning data by a learning algorithm, thereby creating a predefined operation rule or artificial intelligence model set to perform the desired characteristics (or purpose). It can mean a burden.
- This learning may be performed on the device itself that performs the artificial intelligence according to the present disclosure, or may be performed through a separate server and/or system. Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the examples described above.
- the memories 830, 854, and 864 are electrically connected to the processors 820, 852, and 862 and include one or more modules, at least one learning model, and a program related to the operation of components included in the electronic devices 810, 850, and 860. , commands or data can be stored.
- the memories 830, 854, and 864 may store one or more modules, learning models, programs, instructions, or data for processing and control of the processors 820, 852, and 862.
- the memories 830, 854, and 864 are flash memory type, hard disk type, multimedia card micro type, and card type memory (e.g., SD or XD).
- RAM Random Access Memory
- SRAM Static Random Access Memory
- ROM Read-Only Memory
- EEPROM Electrically Erasable Programmable Read-Only Memory
- PROM PROM
- It may include at least one type of storage medium among magnetic memory, magnetic disk, or optical disk.
- the module or model included in the memory 830 is executed according to the control or command of the processor 820 and may include a program, model, or algorithm configured to perform operations that derive output data for input data.
- the memory 830 of the electronic device 810 may include a data filtering module 832, a data augmentation module 834, and a model learning module 836.
- the data filtering module 832 is executed by the processor 820 to generate a second data set by filtering the first data set loaded in the memory 830 based on data about obstructions.
- the data augmentation module 834 is executed by the processor 820 to generate augmented data for data lacking in the second data set, thereby generating a third data set.
- the model learning module 836 is executed by the processor 820 to train an artificial intelligence model using a third data set.
- the modules 832, 834, and 836 are shown as software components included in the memory 830, but the present invention is not limited thereto.
- the modules 832, 834, and 836 may be implemented as separate hardware modules rather than software modules stored in memory.
- the memory 830 of the electronic device 810 may include an artificial intelligence model 838.
- the memory 830 may include a plurality of weights constituting the artificial intelligence model 838.
- the artificial intelligence model 838 may be a learning model trained to infer or predict location information by the model learning module 836.
- the artificial intelligence model 838 may be a learning model trained by the model learning module 836 through supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to this.
- the artificial intelligence model 838 may be composed of multiple neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network calculation can be performed through calculation between the calculation result of the previous layer and the plurality of weights.
- the artificial intelligence model 838 may include a deep neural network (DNN), for example, Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), and Restricted Neural Network (RBM).
- DNN deep neural network
- CNN Convolutional Neural Network
- DNN Deep Neural Network
- RNN Recurrent Neural Network
- RBM Restricted Neural Network
- Boltzmann Machine DBN (Deep Belief Network), BRDNN (Bidirectional Recurrent Deep Neural Network), or Deep Q-Networks, etc., but are not limited to these.
- Electronic devices 810, 850, and 860 may communicate with each other through a network 840.
- the network 840 may be configured to enable communication between electronic devices 810, 850, and 860.
- the network 840 may be wired networks such as Ethernet, wired home network (Power Line Communication), telephone line communication and RS-serial communication, mobile communication network, WLAN (Wireless LAN), Wi It may consist of a wireless network such as -Fi or a combination thereof.
- network 840 may be a local area communication network (e.g., Bluetooth, WiFi direct, or infrared data association (IrDA)), a long-range communication network (e.g., a cellular network, the Internet, or a computer network (e.g., a LAN or WAN)). ) or a combination thereof.
- a local area communication network e.g., Bluetooth, WiFi direct, or infrared data association (IrDA)
- long-range communication network e.g., a cellular network, the Internet, or a computer network (e.g., a LAN or WAN)
- IrDA infrared data association
- the electronic device 810 may receive training data (eg, a data set) for training the artificial intelligence model 838 from the electronic device 850 through the network 840.
- electronic device 860 may receive artificial intelligence model 838 from electronic device 810 via network 840.
- the electronic device 860 may receive data including information for performing location inference using the artificial intelligence model 838 from the electronic device 810 through the network 840.
- the electronic device 860 may receive data including neural network information constituting the artificial intelligence model 838, layer information, weight information between layers, etc. from the electronic device 810 through the network 840.
- the electronic device 860 may perform an operation to infer location information using the artificial intelligence model 838 loaded from the memory 830 to the memory 864.
- a device 810 for learning an artificial intelligence model may be the same device as the device 850 for collecting learning data.
- the device 810 for learning an artificial intelligence model may be the same device as the device 860 for inferring location information using the learned artificial intelligence model.
- the device 850 that collects learning data may be the same device as the device 860 that infers location information using an artificial intelligence model.
- Electronic devices 810, 850, and 860 may include more components than those shown in FIG. 8.
- the electronic devices 810, 850, and 860 may further include a communication interface (or communication module) for communication with an external device.
- the electronic device 850 may further include an input device and an input/output interface for receiving user input signals.
- the electronic device 860 may further include an output device and an input/output interface for outputting location information.
- a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
- 'non-transitory storage medium' only means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as .
- a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
- Computer program products are commodities and can be traded between sellers and buyers.
- a computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store or between two user devices (e.g. smartphones). It may be distributed in person or online (e.g., downloaded or uploaded). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) is stored on a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
- a machine-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
- a method performed by an electronic device includes first signal data for a signal device collected by a user terminal at a first location, within a predetermined distance from the user terminal when collecting the first signal data. and identifying a first data set comprising data about a located obstruction and second signal data about the signaling device collected at a second location.
- the method may include generating a second data set by filtering the first signal data from the first data set based on (or using) data about the obstruction. .
- the method includes generating augmented data for the first location and the signaling device based on (or using) the second signal data, thereby generating a third data set. may include.
- the method may include training an artificial intelligence model to infer location information using the third data set.
- an artificial intelligence model with improved inference ability can be obtained by training an artificial intelligence model using training data from which data affected by obstructions has been removed.
- the step of generating the third data set is based on (or using) the second signal data using a Gaussian Process Regression (GPR) algorithm to the first location and the signal device. It may include the step of generating augmented data.
- GPR Gaussian Process Regression
- the step of generating the third data set is based on (or using) the second signal data using a Gaussian Process Regression (GPR) algorithm to the first location and the signal device. It may include the step of generating augmented data.
- GPR Gaussian Process Regression
- generating the third data set includes using a GPR algorithm to generate augmented data for the second location and the signaling device based on (or using) the second signal data. It may include steps.
- augmented data for the location may be additionally generated based on signal data collected for the location and used for learning. . Therefore, the amount of learning data for a specific location can be increased.
- the first data set may include third signal data for the signaling device collected at a third location.
- generating the third data set includes using a GPR algorithm to generate augmented data for the third location and the signal device based on (or using) the second signal data. may include.
- signal data collected at a specific location can be used to generate data for another location as augmented data, and the generated augmented data can be used to train an artificial intelligence model. That is, when there is insufficient learning data for a specific location, the amount of learning data for a specific location can be increased by using learning data for other locations.
- the step of generating the third data set uses a GPR algorithm to generate a fourth data set independent of the signal data included in the first data set based on (or using) the second signal data. and generating augmented data about the location and the signaling device.
- learning data for the specific location can be generated using signal data collected at other locations, and can be used to train an artificial intelligence model. . Therefore, artificial intelligence models can learn even for locations where data has not been collected.
- the first signal data may include a value of the signal strength of the signal device measured at the first location.
- generating the second data set may include identifying a filtering reference value for the first signal data based on (or using) the data about the obstruction.
- generating the second data set includes removing the first signal data based on (or in response to) determining that the value of the signal strength is less than or equal to the filtering threshold. It can be included.
- the performance of the artificial intelligence model can be adjusted by adjusting the degree to which the training data of the artificial intelligence model is filtered.
- the filtering reference value may be determined based on (or using) at least one of the number of obstacles or the value of data about the obstacles. In one embodiment of the present disclosure, different filtering criteria for learning data may be applied depending on the degree of influence of obstacles.
- the data about the obstacle may include at least one of the value of the short-range communication signal strength of another user terminal or the amount of geo-magnetic change caused by the obstacle.
- the influence of a non-stationary, i.e. variable, obstruction may be detected.
- generating the third data set is based on determining that the total number of signal data for the first location and the signaling device included in the second data set is less than a threshold ( or, in response), generating augmented data for the first location and the signaling device.
- the minimum performance of the artificial intelligence model can be guaranteed by ensuring training data above a certain amount.
- a program for performing on a computer a method of learning an artificial intelligence model for inferring location information may be recorded on a computer-readable recording medium.
- a method performed by a user terminal may include identifying signal data for one or more signal devices and data for an obstacle located within a predetermined distance from the user terminal.
- the method includes calculating first location prediction data based on (or using) signal data for the one or more signaling devices, using an artificial intelligence model for inferring location information. It can be included.
- the method may include applying a weight to the first location prediction data based on (or using) data about the obstruction.
- the method may include determining location information of the user terminal based on (or using) the weighted first location prediction data.
- the method may include identifying second location prediction data. In one embodiment, the method may include applying a weight to the second location prediction data based on (or using) data about the obstruction. In one embodiment, the step of determining the location information is based on (or using) the weighted first location prediction data and the weighted second location prediction data, and the location information of the user terminal. It may include a decision step.
- signal data for the one or more signal devices may include a value of signal strength of the one or more signal devices.
- the data about the obstacle may include at least one of the value of the short-range communication signal strength of another user terminal or the amount of geo-magnetic change caused by the obstacle.
- the weight applied to the first location prediction data may be determined based on (or using) at least one of the number of obstacles or the value of data about the obstacles.
- a program for performing on a computer a method of inferring location information of a user terminal according to at least some of the above-described embodiments may be recorded on a computer-readable recording medium.
- An electronic device may include a memory that stores one or more instructions and at least one processor that executes the one or more instructions stored in the memory.
- the at least one processor executes the one or more instructions, thereby generating first signal data for a signal device collected by a user terminal at a first location, and the user when collecting the first signal data.
- a first data set including data on an obstacle located within a predetermined distance from the terminal and second signal data on the signal device collected at a second location may be identified.
- the at least one processor may generate a second data set by filtering the first signal data from the first data set based on (or using) data about the obstruction.
- the at least one processor may generate a third data set by generating augmented data for the first location and the signaling device based on (or using) the second signal data. there is. In one embodiment, the at least one processor may train the artificial intelligence model using the third data set.
- the at least one processor may use a GPR algorithm to generate augmented data for the first location and the signal device based on (or using) the second signal data. In one embodiment, the at least one processor may use a GPR algorithm to generate augmented data for the second location and the signal device based on (or using) the second signal data.
- the first data set may include third signal data for the signaling device collected at a third location. In this case, the at least one processor may use a GPR algorithm to generate augmented data for the third location and the signal device based on (or using) the second signal data. In one embodiment, the at least one processor uses a GPR algorithm to determine a fourth position independent of the signal data included in the first data set and the signal based on (or using) the second signal data. Augmented data about the device can be generated.
- the at least one processor may identify a filtering reference value for the first signal data based on (or using) data about the obstruction. In one embodiment, the at least one processor may remove the first signal data based on (or in response to) determining that the value of the signal strength is less than or equal to the filtering reference value.
- the at least one processor is configured to: determine (or in response to) a total number of signal data for the first location and the signal device included in the second data set being less than a threshold , depending), may generate augmented data for the first location and the signaling device.
- An electronic device may include a memory that stores one or more instructions and at least one processor that executes the one or more instructions stored in the memory.
- the at least one processor may identify signal data for one or more signal devices and data for obstacles located within a predetermined distance from the user terminal.
- the at least one processor may calculate first location prediction data based on (or using) signal data for the one or more signaling devices, using an artificial intelligence model for inferring location information. there is.
- at least one processor may apply a weight to the first location prediction data based on (or using) data about the obstacle.
- at least one processor may determine location information of the user terminal based on (or using) the weighted first location prediction data.
- the at least one processor can identify second location prediction data. In one embodiment, the at least one processor may apply a weight to the second location prediction data based on (or using) data about the obstacle. In one embodiment, the at least one processor may determine location information of the user terminal based on (or using) the weighted first location prediction data and the weighted second location prediction data. .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Traffic Control Systems (AREA)
Abstract
위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법은, 제1 위치에서 사용자 단말에 의해 수집된 신호 장치에 대한 제1 신호 데이터, 상기 제1 신호 데이터 수집 시 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터 및 제2 위치에서 수집된 상기 신호 장치에 대한 제2 신호 데이터를 포함하는 제1 데이터 셋을 식별하는 단계, 상기 방해물에 대한 데이터를 기초로 상기 제1 데이터 셋으로부터 상기 제1 신호 데이터를 필터링함으로써, 제2 데이터 셋을 생성하는 단계, 상기 제2 신호 데이터를 기초로 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성함으로써, 제3 데이터 셋을 생성하는 단계 및 상기 제3 데이터 셋을 이용하여 상기 인공지능 모델을 훈련하는 단계를 포함할 수 있다.
Description
본 개시는 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법 및 전자 장치에 관한 것이다. 또한, 본 개시는 사용자 단말의 위치 정보를 추론하는 방법에 관한 것이다.
통신 기술의 발달로 인해, 사용자는 어디서나 wifi 신호를 이용하여, 통신 서비스를 제공받을 수 있다. wifi 신호는 AP(access point) 장치로부터 사용자 단말로 송수신될 수 있다. wifi 신호는 사용자 단말과 AP 장치의 사이의 거리가 멀수록 신호의 세기가 약해지고, 가까울수록 신호의 세기는 강해진다. 또한, wifi 신호의 RTT(round trip time, 왕복시간)을 이용하여, 사용자 단말과 AP 장치 사이의 거리가 산출될 수 있다. 또한, 각 AP 장치로부터 사용자 단말로 전송되는 wifi 신호는 구별될 수 있다.
한편, 사용자 단말과 AP 장치 사이의 통신뿐만 아니라 사용자 단말 사이의 근거리 통신이 가능하다. 예를 들어, 사용자 단말 사이에 블루투스 신호를 통한 근거리 통신이 가능하다. 상이한 사용자 단말로부터 수신되는 블루투스 신호는 서로 구별될 수 있다. 즉, 제1 사용자 단말의 블루투스 신호와 제2 사용자 단말의 블루투스 신호는 서로 구별될 수 있다.
본 개시는 방법, 시스템, 장치 또는 컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램을 포함한 다양한 방식으로 구현될 수 있다.
본 개시의 일 실시예에 따른 위치(position) 정보를 추론하기 위한 인공지능 모델을 학습하는 방법은, 제1 위치에서 사용자 단말에 의해 수집된 신호 장치에 대한 제1 신호 데이터, 상기 제1 신호 데이터 수집 시 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터 및 제2 위치에서 수집된 상기 신호 장치에 대한 제2 신호 데이터를 포함하는 제1 데이터 셋을 식별하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은 상기 방해물에 대한 데이터를 기초로 상기 제1 데이터 셋으로부터 상기 제1 신호 데이터를 필터링함으로써, 제2 데이터 셋을 생성하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은 상기 제2 신호 데이터를 기초로 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터(augmented data)를 생성함으로써, 제3 데이터 셋을 생성하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은, 상기 제3 데이터 셋을 이용하여 상기 인공지능 모델을 훈련하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 사용자 단말의 위치 정보를 추론하는 방법은, 하나 이상의 신호 장치에 대한 신호 데이터 및 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터를 식별하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은, 위치 정보를 추론하기 위한 인공지능 모델을 이용하여, 상기 하나 이상의 신호 장치에 대한 신호 데이터를 기초로 제1 위치 예측 데이터를 산출하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은, 상기 방해물에 대한 데이터를 기초로, 상기 제1 위치 예측 데이터에 가중치를 적용하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은 상기 가중치가 적용된 제1 위치 예측 데이터를 기초로, 상기 사용자 단말의 위치 정보를 결정하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 사용자 단말의 위치 정보를 추론하는 전자 장치는, 하나 이상의 명령어를 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 상기 하나 이상의 명령어(instruction)를 실행함으로써, 제1 위치에서 사용자 단말에 의해 수집된 신호 장치에 대한 제1 신호 데이터, 상기 제1 신호 데이터 수집 시 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터 및 제2 위치에서 수집된 상기 신호 장치에 대한 제2 신호 데이터를 포함하는 제1 데이터 셋을 식별할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 상기 방해물에 대한 데이터를 기초로 상기 제1 데이터 셋으로부터 상기 제1 신호 데이터를 필터링함으로써, 제2 데이터 셋을 생성할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 제2 신호 데이터를 기초로 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성함으로써, 제3 데이터 셋을 생성할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 상기 제3 데이터 셋을 이용하여 상기 인공지능 모델을 훈련할 수 있다.
본 개시의 일 실시예에 따른 사용자 단말의 위치 정보를 추론하는 전자 장치는, 하나 이상의 명령어를 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 하나 이상의 신호 장치에 대한 신호 데이터 및 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터를 식별할 수 있다. 일 실시예에서, 적어도 하나의 프로세서는 위치 정보를 추론하기 위한 인공지능 모델을 이용하여, 상기 하나 이상의 신호 장치에 대한 신호 데이터를 기초로 제1 위치 예측 데이터를 산출할 수 있다. 일 실시예에서, 적어도 하나의 프로세서는 상기 방해물에 대한 데이터를 기초로, 상기 제1 위치 예측 데이터에 가중치를 적용할 수 있다. 일 실시예에서, 적어도 하나의 프로세서는 상기 가중치가 적용된 제1 위치 예측 데이터를 기초로, 상기 사용자 단말의 위치 정보를 결정할 수 있다.
본 개시의 일 실시예에 따른 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법을 컴퓨터에서 수행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다.
본 개시의 일 실시예에 따른 사용자 단말의 위치 정보를 추론하는 방법을 컴퓨터에서 수행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다.
도 1은 일 실시예에 따라 위치 정보를 추론하기 위한 인공지능 모델의 학습 데이터를 수집하는 예시를 나타내는 도면이다.
도 2는 일 실시예에 따른 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법을 나타내는 흐름도 이다.
도 3은 일 실시예에 따른 사용자 단말의 위치 정보를 추론하는 방법을 나타내는 흐름도 이다.
도 4a는 일 실시예에 따른 제1 데이터 셋의 예를 나타내는 도면이다.
도 4b는 일 실시예에 따른 제1 데이터 셋에서 데이터가 필터링된 제2 데이터 셋의 예를 나타내는 도면이다.
도 4c는 일 실시예에 따른 증강 데이터를 포함하는 제3 데이터 셋의 예를 나타내는 도면이다.
도 5a는 일 실시예에 따른 신호 데이터의 필터링을 나타내는 그래프이다.
도 5b는 일 실시예에 따른 GPR 알고리즘을 이용한 증강 데이터 생성을 나타내는 그래프이다.
도 6은 일 실시예에 따른 전자 장치가 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법을 나타내는 흐름도 이다.
도 7a 내지 7c는 일 실시예에 따라 사용자 단말의 위치 정보를 결정하는 예를 나타내는 도면이다.
도 8은 일 실시예에 따른 인공지능 모델을 학습하는 전자 장치, 데이터를 수집하는 전자 장치 및 위치 정보를 추론하는 전자 장치의 블록도이다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
발명에 대한 구체적인 설명에 앞서, 이하 본 명세서에서 사용되는 용어는 다음과 같이 정의되거나 이해될 수 있다.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 "a", "b", "c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.
본 명세서에서, '지점(point)'은 임의의 공간 내에서의 위치를 지칭할 수 있다. 예를 들어, 사용자 단말의 위치 정보는 공간 내의 복수의 지점 중에서 사용자 단말이 위치하는 것으로 예측되는 지점에 대한 정보를 포함할 수 있다. 본 명세서에서, refpoint는 지점(point)을 나타낼 수 있고, 마찬가지로, 지점은 refpoint를 나타낼 수 있다.
본 명세서에서, '제1', '제2' 또는 '제3'의 기재는, 각 요소를 구분하기 위해 사용될 뿐, 순서를 의미하지 않을 수 있다.
본 명세서에서, '데이터 수집'은 데이터 측정, 데이터 산출, 데이터 획득, 데이터 식별 또는 데이터 수신 중 적어도 하나를 의미할 수 있다.
본 명세서에서, '증강 데이터'는 데이터 수집 환경에서의 측정 동작에 의해 획득되는 데이터가 아닌, 임의로 생성된 데이터를 지칭할 수 있다. 예를 들어, '증강 데이터'는 임의의 환경(예: 위치, 시간, 등)에서 전자 장치와 신호 장치 사이에 실제로 송수신이 이루어 지지 않은 신호에 대하여 임의로 생성한 데이터일 수 있다. 일 실시예에서, '증강 데이터'는 전자 장치와 신호 장치 사이에 실제로 송수신이 이루어짐에 따라 획득된 신호 데이터들을 기초로 임의의 방법, 알고리즘 또는 모델을 이용하여 생성될 수 있다. 예를 들어, '증강 데이터'는 다른 신호 데이터들을 기초로, GPR(gaussian process regression) 알고리즘, RSSI(received signal strength intensity) path loss model, SMOTE(synthetic minority oversampling technique) 알고리즘, INOS(integrated oversampling) 알고리즘, Gaussian noise 부가 방법 등을 이용하여 생성될 수 있다. 일례로, 제1 위치 및 제1 신호 장치에 대한 증강 데이터는, 제1 위치에서 수집되었거나 수집될 수 있는 제1 신호 장치에 대한 신호 데이터를 대신하기 위해 생성될 수 있다.
본 명세서에서, '방해물에 대한 데이터'는 전자 장치가 임의의 위치에서 신호 장치에 대한 신호 데이터를 수집할 때, 상기 전자 장치로부터 소정 거리 내에 위치한 방해물에 대한 데이터를 나타낼 수 있다. 예를 들어, '방해물'은 전자 장치와 신호 장치 사이의 신호 송수신에 영향을 줄 수 있는 객체를 지칭할 수 있다. 구체적으로, '방해물'은 전자 장치와 신호 장치 사이에 송수신되는 신호에 감쇄/증폭/간섭/왜곡을 일으킬 수 있는 객체로서, 보행자, 보행자의 전자 기기 등을 포함할 수 있다. 또한, '소정 거리'는 방해물이 전자 장치와 신호 장치 사이의 신호 송수신에 영향을 미칠 수 있는 거리 및/또는 전자 장치가 방해물을 식별할 수 있는 거리를 지칭할 수 있다.
일 실시예에서, '방해물에 대한 데이터'는 상기 객체로부터 수신되는 신호의 세기를 나타내는 데이터를 포함할 수 있다. 이 경우, '소정 거리'는 상기 객체로부터 신호가 수신될 수 있는 거리(예: 통신 가능 거리)를 의미할 수 있다. 일 실시예에서, '방해물에 대한 데이터'는 상기 객체로부터 수신된 정보를 나타내는 데이터를 포함할 수 있다. 이 경우, '소정 거리'는 상기 객체로부터 정보가 수신될 수 있는 거리를 의미할 수 있다. 일 실시예에서, '방해물에 대한 데이터'는 상기 객체에 의해 변화하는 환경을 나타내는 데이터를 포함할 수 있다. 예를 들어, '방해물에 대한 데이터'는 상기 객체에 의해 변화하는 임의의 환경에 대한 물리적 수치(예: Geo-magnetic scalar(또는 변화량))를 포함할 수 있다. 이 경우, '소정 거리'는 전자 장치가 위치한 환경에 변화를 야기할 수 있는 거리를 의미할 수 있다. 예를 들어, '소정 거리'는 전자 장치가 위치한 영역의 환경을 나타내는 물리적 수치에 변화를 야기할 수 있는 거리를 의미할 수 있다.
도 1은 일 실시예에 따라 위치 정보를 추론하기 위한 인공지능 모델의 학습 데이터를 수집하는 예시를 나타내는 도면이다.
사용자 단말은 공간(100) 내에 고정적으로 위치한 하나 이상의 신호 장치와 신호를 송수신할 수 있다. 사용자 단말과 신호 장치 사이의 거리가 멀수록 신호 세기는 약하게 측정되고, 가까울수록 신호 세기는 강하게 측정될 수 있다. 따라서, 임의의 공간(100) 내에서 사용자 단말과 하나 이상의 신호 장치 사이에 송수신되는 신호의 세기를 기초로, 공간(100)에서의 사용자 단말의 위치가 예측될 수 있다.
도 1을 참조하면, 공간(100)은 복수의 지점(point)으로 분할될 수 있다. 예를 들어, 공간(100)은 복수의 작은 2차원 공간(예: 1m2의 공간)으로 분할될 수 있으며, 복수의 작은 공간 각각은 각 지점에 대응할 수 있다. 공간(100)의 각 지점은 좌표(예: point 1 = (0,0))로 표현될 수 있으나, 이에 한정되지 않는다. 공간(100)에서의 사용자 단말의 위치 정보는 복수의 지점 중 하나의 지점에 대응할 수 있다.
일 실시예에서, 사용자 단말과 각 신호 장치 사이에 송수신되는 신호의 세기에 기초하여, 사용자 단말과 각 신호 장치 사이의 거리가 산출되고, 산출된 각 신호 장치와의 거리 정보를 기반으로 공간(100)에서의 사용자 단말의 위치가 예측될 수 있다. 예를 들어, 사용자 단말이 측정한 각 AP(access point) 장치의 신호 세기에 따라 AP 1과의 거리가 5m, AP 2와의 거리가 10m, AP 3와의 거리가 10m, AP 4와의 거리가 18m인 것으로 산출되는 경우, 사용자 단말은 공간(100)에서 AP 1으로부터 5m, AP 2로부터 10m, AP 3로부터 10m, AP 4로부터 18m 떨어진 지점에 위치하는 것으로 결정될 수 있다.
일 실시예에서, 위치를 추론하도록 학습된 인공지능 모델을 이용하여, 각 신호 장치로부터 수신되는 신호의 세기를 기초로 사용자 단말(즉, 추론 대상 장치)의 위치가 예측될 수 있다. 예를 들어, 사용자 단말은 각 AP 장치(예: 도 1의 AP 1, AP 2, AP 3, AP 4)의 wifi 신호의 세기를 측정하고, 측정된 각 wifi 신호의 세기 값을 인공지능 모델에 입력함에 따라, 출력되는 위치 예측 데이터를 기초로 공간(100) 내에서의 위치를 결정할 수 있다.
특정 공간에서의 위치를 추론하는 인공지능 모델을 학습하기 위해, 해당 공간에 대한 신호 데이터가 학습 데이터로서 사용될 수 있다. 도 1을 참조하면, 사용자 단말(110)은, 공간(100)에서의 위치를 추론하는 인공지능 모델의 학습 데이터를 수집하기 위한 전자 장치(즉, 데이터 수집 장치)일 수 있다. 사용자 단말(110)은 공간(100)을 이동하며, 수집 주기 마다 학습 데이터를 수집할 수 있다. 사용자 단말(110)은 수집한 학습 데이터를 인공지능 모델을 학습하는 전자 장치(예: 하나 이상의 서버)로 전송할 수 있다. 예를 들어, 사용자 단말(110)은 수집한 복수의 학습 데이터에 대한 전처리를 수행하여 데이터 셋을 생성하고, 생성된 데이터 셋을 인공지능 모델을 학습하는 전자 장치로 전송할 수 있다.
일 실시예에서, 사용자 단말(110)은 수집 주기 마다 각 AP 장치의 wifi 신호에 대한 신호 데이터를 수집할 수 있다. 예를 들어, 사용자 단말(110)은 각 AP 장치로부터의 wifi 신호의 세기를 측정할 수 있다. 예를 들어, 사용자 단말(110)은, wifi 신호의 RTT(round trip time, 왕복 시간)를 기초로 산출된 각 AP와의 거리 정보를 획득할 수 있다.
일 실시예에서, 사용자 단말(110)은 수집 주기마다 공간(100)에서의 위치 정보를 획득할 수 있다. 예를 들어, 사용자 단말(110)은 공간(100)의 복수의 지점 중에서 사용자 단말(110)이 위치한 지점을 나타내는 정보를 획득할 수 있다. 예를 들어, 사용자 단말(110)은 사용자 입력 신호를 수신하여, 사용자 입력 신호에 대응하는 지점을 신호 데이터 수집 시의 위치로 결정할 수 있다.
사용자 단말과 신호 장치 사이에 송수신되는 신호는 방해물의 영향을 받을 수 있다. 예를 들어, 사용자 단말과 신호 장치 사이에 방해물이 존재하는 경우의 신호 세기는 방해물이 존재하지 않는 경우의 신호 세기보다 더 작은 값으로 측정될 수 있다. 즉, 방해물의 존재 여부에 따라, 동일한 거리에 있는 사용자 단말과 신호 장치 사이의 신호 세기가 달라질 수 있다. 이에 따라, 학습 데이터를 수집하는 과정에서 보행자 등의 방해물이 존재하는 경우, 방해물의 영향을 받은 저품질의 데이터가 수집될 수 있다.
일 실시예에서, 사용자 단말(110)은, 각 AP 장치의 wifi 신호에 대한 신호 데이터를 수집할 때, 주위의 다른 사용자 단말(120, 130)의 근거리 통신 신호(예: 블루투스 신호) 데이터를 수집할 수 있다. 예를 들어, 사용자 단말(110)은 주위의 다른 사용자 단말(120, 130)의 블루투스 신호를 식별하고, 블루투스 신호의 세기를 측정할 수 있다. 다른 사용자 단말(120, 130)의 블루투스 신호가 식별되는 때에 수집된 wifi 신호 데이터는, 보행자 등의 주변 방해물의 영향을 받은 저품질의 데이터로, 인공지능 모델을 학습하는 데 악영향을 줄 수 있다.
서로 다른 사용자 단말은 서로 구별가능한 블루투스 신호를 송신할 수 있다. 이에 따라, 사용자 단말(110)의 주변에 2개의 다른 사용자 단말(120, 130)이 위치하는 경우, 사용자 단말(110)은 서로 다른 2개의 블루투스 신호를 식별할 수 있다. 즉, 식별된 블루투스 신호의 개수는 주변에 위치한 방해물의 개수를 나타낼 수 있다. 블루투스 신호의 세기가 크다는 것은 보다 가까운 거리에 방해물이 위치함을 나타낼 수 있다. 또한, 블루투스 신호의 개수가 많다는 것은 주변에 보다 많은 수의 방해물이 위치함을 나타낼 수 있다.
한편, 사용자 단말(110)은 공간(100)을 이동하면서 수집 주기(또는 측정 주기)에 따라 데이터를 수집하기 때문에, 모든 지점에 대하여 데이터를 수집하지 못할 수 있다. 예를 들어, 4초의 측정 주기에 따라 신호의 세기를 측정하는 사용자 단말(110)이 하나의 측정 주기 사이에 point 3을 지나치는 경우, point 2 및 4에 대한 신호 데이터만을 획득하고, point 3에 대한 신호 데이터를 획득하지 못할 수 있다.
도 1에서는 하나의 사용자 단말(110)이 데이터를 수집하고 있으나, 이에 한정되지 않는다. 예를 들어, 복수의 데이터 수집 장치가 하나의 공간에 대하여, 동시 또는 상이한 시점에 학습 데이터를 수집할 수 있다. 도 1에 도시된 공간(100)에서 point 1 내지 point 6 외의 각 지점의 식별자는 생략될 수 있다. 또한, 도 1에서는 신호 장치로서 4개의 AP 장치를 도시하고 있으나, 이에 한정되지 않는다.
도 2는 일 실시예에 따른 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법을 나타내는 흐름도 이다.
도 2를 참조하면, 일 실시예에 따른 전자 장치가 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법(200)은 단계 210 내지 240을 포함할 수 있다. 일 실시예에서, 단계 210 내지 240은 전자 장치에 포함되는 적어도 하나의 프로세서에 의해 실행될 수 있다. 하나 이상의 실시예에서, 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법(200)은 도 2에 도시된 바에 한정되지 않으며, 도 2에 도시되지 않은 단계를 더 포함할 수도 있다.
단계 210에서, 전자 장치는 제1 위치에서 사용자 단말(즉, 데이터 수집 장치)에 의해 수집된 신호 장치에 대한 제1 신호 데이터, 제1 신호 데이터 수집 시 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터(이하, 제1 신호 데이터와 연관된 방해물에 대한 데이터) 및 제2 위치에서 수집된 신호 장치에 대한 제2 신호 데이터를 포함하는 제1 데이터 셋을 식별할 수 있다. 일 실시예에서, 전자 장치는 제1 데이터 셋을 사용자 단말(예: 도 1의 110)로부터 수신할 수 있다. 예를 들어, 전자 장치는 제1 데이터 셋을 사용자 단말로부터 직접 수신할 수 있다. 또는, 전자 장치는 제1 데이터 셋을 다른 장치를 통해 사용자 단말로부터 수신할 수 있다. 일 실시예에서, 전자 장치는 하나 이상의 신호 장치에 대한 신호 데이터를 직접 수집함으로써(예: 직접 wifi 신호를 측정함으로써), 제1 데이터 셋을 생성할 수 있다. 이 경우, 상기 전자 장치와 상기 사용자 단말은 동일한 장치일 수 있다.
일 실시예에서, 신호 장치는 wifi 신호 송수신기(예: AP 장치)일 수 있으나, 이에 한정되지 않는다. 예를 들어, 신호 장치는 위치 정보를 추론을 위해 공간에 구비된 신호 발생 장치일 수 있다. 신호 장치에 대한 신호 데이터는, 신호 장치가 송신한 신호의 세기를 포함할 수 있다. 추가적으로, 신호 장치에 대한 신호 데이터는, RTT 기반의 거리 정보를 포함할 수 있다.
일 실시예에서, 제1 신호 데이터와 연관된 방해물에 대한 데이터는, 제1 신호 데이터가 수집될 때 함께 수집된 데이터일 수 있다. 예를 들어, 제1 신호 데이터와 연관된 방해물에 대한 데이터는, 제1 신호 데이터와 동일 시점에 측정되거나 획득될 수 있다. 추가적으로 또는 대안적으로, 신호 데이터의 수집 주기와 방해물에 대한 데이터의 수집 주기가 상이한 경우, 방해물에 대한 데이터는, 제1 신호 데이터의 수집 직전 또는 직후의 방해물에 대한 데이터에 대한 수집 주기에 따른 시점에 측정되거나 획득될 수 있다.
단계 220에서, 전자 장치는 방해물에 대한 데이터를 기초로 제1 데이터 셋으로부터 제1 신호 데이터를 필터링함으로써, 제2 데이터 셋을 생성할 수 있다. 일 실시예에서, 전자 장치는 제1 신호 데이터와 연관된 방해물에 대한 데이터를 기초로, 제1 신호 데이터에 대한 필터링 기준치를 식별할 수 있다. 예를 들어, 필터링 기준치는, 각 신호 데이터에 대한 위치 정보, 신호 장치 및/또는 데이터 수집 장치 별로 상이하거나 동일할 수 있다. 전자 장치는 제1 신호 데이터의 값(즉, 제1 위치에서 측정된 신호 장치의 신호 세기의 값)이 필터링 기준치 이하인 것으로 판정함에 기초하여, 제1 신호 데이터를 제1 데이터 셋에서 제거할 수 있다.
단계 230에서, 전자 장치는 제2 신호 데이터를 기초로 제1 위치 및 신호 장치에 대한 증강 데이터를 생성함으로써, 제3 데이터 셋을 생성할 수 있다. 일 실시예에서, 전자 장치는 GPR(Gaussian Process Regression) 알고리즘을 이용하여, 제2 신호 데이터를 기초로 제1 위치에 대하여 신호 장치에 대한 증강 데이터(즉, 제1위치 및 신호 장치에 대한 증강 데이터)를 생성할 수 있다.
단계 240에서, 전자 장치는 제3 데이터 셋을 이용하여 인공지능 모델을 훈련할 수 있다. 일 실시예에서, 전자 장치는 각 위치에서의 각 신호 장치에 대한 신호 데이터 및/또는 증강 데이터를 이용하여, 인공지능 모델을 훈련할 수 있다. 예를 들어, 전자 장치는 공간의 각 위치(즉, 지점)에 대하여 복수의 신호 장치 각각의 신호 데이터를 맵핑한 핑거 프린트(fingerprint)를 생성하여 인공지능 모델을 학습할 수 있다.
일 실시예에서, 전자 장치는 각 신호 장치에 대한 신호 데이터를 입력 데이터로서, 입력 데이터에 대한 위치 정보를 정답 데이터로서 이용하여, 인공지능 모델을 지도 학습할 수 있으나, 학습 방식은 지도 학습에 한정되지 않는다. 예를 들어, 정답 데이터에 해당하는 위치 정보는 학습 데이터 수집자에 의해 라벨링된 것일 수 있다. 인공지능 모델은 추론 대상 장치(예: 사용자 단말)가 획득한 각 신호 장치에 대한 신호 데이터(즉, 신호의 세기)가 입력됨에 따라, 공간에서의 추론 대상 장치의 위치를 예측하도록 학습될 수 있다.
도 3은 일 실시예에 따른 사용자 단말의 위치 정보를 추론하는 방법을 나타내는 흐름도 이다.
도 3을 참조하면, 일 실시예에 따른 전자 장치가 사용자 단말의 위치 정보를 추론하는 방법(300)은 단계 310 내지 340을 포함할 수 있다. 일 실시예에서, 단계 310 내지 340은 전자 장치에 포함되는 적어도 하나의 프로세서에 의해 실행될 수 있다. 하나 이상의 실시예에서, 전자 장치가 사용자 단말의 위치 정보를 추론하는 방법(300)은 도 3에 도시된 바에 한정되지 않으며, 도 3에 도시되지 않은 단계를 더 포함할 수도 있다. 도 3의 방법(300)을 수행하는 전자 장치는 도 2의 방법(200)을 수행하는 전자 장치와 상이하거나 동일할 수 있다.
단계 310에서, 전자 장치는 하나 이상의 신호 장치에 대한 신호 데이터 및 사용자 단말(즉, 추론 대상 장치)로부터 소정 거리 내에 위치한 방해물에 대한 데이터를 식별할 수 있다. 일 실시예에서, 하나 이상의 신호 장치에 대한 신호 데이터는, 하나 이상의 신호 장치의 신호 세기의 값을 포함할 수 있다. 일 실시예에서, 방해물에 대한 데이터는, 다른 사용자 단말의 근거리 통신(예: 블루투스) 신호 세기의 값 또는 방해물에 의한 Geo-magnetic 변화량 중 적어도 하나를 포함할 수 있다.
단계 310의 하나 이상의 신호 장치에 대한 신호 데이터 및 방해물에 대한 데이터는 동일 시점에 측정(또는 획득)된 데이터일 수 있다. 즉, 방해물에 대한 데이터는, 하나 이상의 신호 장치에 대한 신호 데이터가 측정될 때의 사용자 단말의 주변에 위치한 방해물에 대한 데이터를 포함할 수 있다.
일 실시예에서, 방법(300)을 수행하는 전자 장치는 위치 정보 추론 대상인 사용자 단말일 수 있다. 예를 들어, 전자 장치(즉, 사용자 단말)는 하나 이상의 신호 장치의 신호의 세기와 다른 사용자 단말로부터의 블루투스 신호의 세기를 측정할 수 있다. 예를 들어, 전자 장치는 하나 이상의 신호 장치에 대한 신호 데이터를 신호 장치로부터 수신할 수 있다. 예를 들어, 전자 장치는 방해물에 대한 데이터를 방해물로부터 수신할 수 있다.
일 실시예에서, 방법(300)을 수행하는 전자 장치는 위치 정보 추론 대상인 사용자 단말과 상이한 장치일 수 있다. 이 경우, 전자 장치는 위치 정보 추론 대상인 사용자 단말로부터 하나 이상의 신호 장치에 대한 신호 데이터 및 방해물에 대한 데이터를 수신할 수 있다.
단계 320에서, 전자 장치는 위치 정보를 추론하기 위한 인공지능 모델을 이용하여, 하나 이상의 신호 장치에 대한 신호 데이터를 기초로 제1 위치 예측 데이터를 산출할 수 있다. 일 실시예에서, 위치 정보를 추론하기 위한 인공지능 모델은 도 2의 방법(200)에 의해 훈련된 모델일 수 있다.
단계 320에서 산출된 제1 위치 예측 데이터는, 사용자 단말이 각 지점(point)에 위치할 확률 데이터를 포함할 수 있다. 추가적으로 또는 대안적으로, 제1 위치 예측 데이터는, 사용자 단말이 위치할 것으로 예측되는 하나 이상의 지점을 예측 순위와 함께 포함할 수 있다. 예를 들어, 제1 위치 예측 데이터는, 사용자 단말이 위치할 것으로 예측되는 1위 지점 point 1과 2위 지점 point 7을 포함할 수 있다.
단계 330에서, 전자 장치는 방해물에 대한 데이터를 기초로, 제1 위치 예측 데이터에 가중치를 적용할 수 있다. 일 실시예에서, 제1 위치 예측 데이터에 적용되는 가중치는, 방해물의 개수 또는 방해물에 대한 데이터의 값 중 적어도 하나를 기초로 결정될 수 있다. 예를 들어, 다른 사용자 단말의 블루투스 신호의 세기가 강하게 측정된 경우, 전자 장치는 저품질의 신호 데이터를 기초로 산출된 제1 위치 예측 데이터에 낮은 가중치를 적용할 수 있다. 예를 들어, 다수의 블루투스 신호가 식별된 경우, 전자 장치는 저품질의 신호 데이터를 기초로 산출된 제1 위치 예측 데이터에 낮은 가중치를 적용할 수 있다.
단계 340에서, 전자 장치는 가중치가 적용된 제1 위치 예측 데이터를 기초로 사용자 단말(즉, 추론 대상 장치)(예: 방법(300)을 수행하는 전자 장치)의 위치 정보를 결정할 수 있다.
일 실시예에서, 전자 장치는 제2 위치 예측 데이터를 식별할 수 있다. 예를 들어, 전자 장치는 제1 위치 예측 데이터와는 다른 데이터, 방법, 알고리즘 또는 모델을 이용하여 산출된 사용자 단말에 대한 제2 위치 예측 데이터를 식별할 수 있다. 전자 장치는 방해물에 대한 데이터를 기초로, 제2 위치 예측 데이터에 가중치를 적용할 수 있다. 이 경우, 전자 장치는 가중치가 적용된 제1 위치 예측 데이터 및 가중치가 적용된 제2 위치 예측 데이터를 기초로, 사용자 단말의 위치 정보를 결정할 수 있다.
도 4a는 일 실시예에 따른 제1 데이터 셋의 예를 나타내는 도면이다. 도 4b는 일 실시예에 따른 제1 데이터 셋에서 데이터가 필터링된 제2 데이터 셋의 예를 나타내는 도면이다. 도 4c는 일 실시예에 따른 증강 데이터를 포함하는 제3 데이터 셋의 예를 나타내는 도면이다.
데이터 셋은, 하나 이상의 데이터 그룹을 포함할 수 있다. 각 데이터 그룹은 각 수집 주기에 측정되거나 획득된 데이터를 포함할 수 있다. 예를 들어, 하나의 데이터 그룹에 포함된 데이터들은 동일한 시점에 측정 또는 획득될 수 있다.
도 4a에 도시된 바와 같이, 각 데이터 그룹(412, 414, 416)은 데이터 그룹이 측정되거나 획득된 위치를 나타내는 정보('refpoint')를 포함할 수 있다. 각 데이터 그룹은, 각 신호 장치(예: AP 장치)에 대한 신호 데이터를 포함할 수 있다. 예를 들어, 신호 데이터는 신호 장치의 식별자('ap')를 포함할 수 있다. 신호 데이터는 신호의 세기('rssi') 값을 포함할 수 있다. 신호 데이터는 신호 데이터가 수집될 때의 수집 장치와 각 신호 장치 사이의 거리 정보('distance')를 포함할 수 있다. 예를 들어, 거리 정보('distance')는 신호의 RTT를 통해 산출된 값일 수 있다.
각 데이터 그룹(412, 414, 416)은 방해물에 대한 데이터('bluetooth')를 포함할 수 있다. 방해물에 대한 데이터는 각 데이터 그룹(412, 414, 416)의 신호 데이터가 수집될 때 함께 측정 또는 획득될 수 있다. 일 실시예에서, 방해물에 대한 데이터는 블루투스 신호 데이터를 포함할 수 있다. 예를 들어, 방해물에 대한 데이터는, 데이터 수집 장치로부터 블루투스 신호 송수신 가능 범위에 위치한 다른 사용자 단말의 블루투스 신호 데이터를 포함할 수 있다. 즉, 신호 데이터를 측정 또는 획득 시 데이터 수집 장치 주변에 보행자가 존재하는 경우, 보행자의 사용자 단말로부터 수신되는 블루투스 신호의 세기가 방해물에 대한 데이터로서 데이터 셋에 포함될 수 있다.
일 실시예에서, 방해물에 대한 데이터는, 방해물에 의한 Geo-magnetic 변화량을 포함할 수 있다. 예를 들어, Geo-magnetic scalar 값을 측정 또는 획득하는 데이터 수집 장치의 근거리에 다른 전자 기기가 존재하는 경우, Geo-magnetic scalar 값이 급격하게 변화할 수 있다. 즉, 근거리에 다른 전자 기기가 존재하는 경우, Geo-magnetic 변화량이 커질 수 있다. 이 경우, 방해물에 대한 데이터는, 데이터 수집 장치가 위치한 영역의 Geo-magnetic scalar에 영향을 줄 수 있는 범위에 위치한 전자 기기에 대한 데이터를 포함할 수 있다. 예를 들어, 방해물에 의한 Geo-magnetic 변화량이 방해물에 대한 데이터로서 데이터 셋에 포함될 수 있다.
제1 데이터 셋(410)에서, 전자 장치는 임의의 데이터 그룹에 대한 방해물에 대한 데이터를 기초로, 해당 데이터 그룹에 포함된 임의의 신호 장치에 대한 신호 데이터를 필터링할 수 있다. 일 실시예에서, 전자 장치는 각 데이터 그룹의 방해물에 대한 데이터를 기초로 각 데이터 그룹에 대한 필터링 기준치를 식별하고, 각 데이터 그룹에서 필터링 기준치 이하의 값을 갖는 신호 데이터를 제거할 수 있다.
일 실시예에서, 필터링 기준치는 방해물의 개수 또는 방해물에 대한 데이터의 값 중 적어도 하나를 기초로 결정될 수 있다. 방해물의 개수는 방해물에 대한 데이터의 개수에 대응할 수 있다. 예를 들어, 방해물에 대한 데이터의 개수가 많을수록 기준치가 높게 결정될 수 있다. 또는, 방해물에 대한 데이터의 개수가 적을수록 기준치가 높게 결정될 수 있다. 예를 들어, 방해물에 대한 데이터의 값이 클수록 기준치가 높게 결정될 수 있다. 또는, 방해물에 대한 데이터의 값이 작을수록 기준치가 높게 결정될 수 있다.
도 4a를 참조하면, 전자 장치는 각 데이터 그룹(412, 414, 416)의 블루투스 신호 데이터를 기초로 데이터 그룹(412, 414, 416)의 필터링 기준치를 결정할 수 있다. 일례로, 데이터 그룹(412)의 블루투스 신호 데이터의 개수가 1이고, 블루투스 신호의 세기가 -30dB인 것에 기초하여, 데이터 그룹(412)의 기준치를 -65dB로 결정할 수 있다. 또한, 전자 장치는 데이터 그룹(414)의 블루투스 신호 데이터의 개수가 2이고, 블루투스 신호의 세기가 각각 -50dB 및 -15dB인 것에 기초하여, 데이터 그룹(414)의 기준치를 -55dB로 결정할 수 있다. 또한, 전자 장치는 데이터 그룹(416)의 블루투스 신호 데이터의 개수가 0인 것에 기초하여, 데이터 그룹(416)의 기준치를 -70dB로 결정할 수 있다.
도 4b를 참조하면, 전자 장치는 각 데이터 그룹(412, 414, 416)에 포함된 복수의 신호 데이터 중에서 필터링 기준치 이하인 것으로 판정되는 신호 데이터를 제1 데이터 셋(410)으로부터 제거함으로써, 제2 데이터 셋(420)을 생성할 수 있다. 예를 들어, 전자 장치는 데이터 그룹(412)에서 -50dB이하인 AP 2 신호 데이터를 제거할 수 있다. 또한, 전자 장치는 데이터 그룹(414)에서 -55dB이하인 AP 4 신호 데이터를 제거할 수 있다. 또한, 전자 장치는 데이터 그룹(416)에서 -70dB이하인 AP 4 신호 데이터를 제거할 수 있다. 이와 달리, 전자 장치는 데이터 그룹(416)의 블루투스 신호 데이터의 개수가 0인 것에 기초하여, 주변의 보행자 등의 영향을 받지 않은 양질의 데이터인 데이터 그룹(416)에 포함된 신호 데이터를 제거하지 않을 수 있다.
전자 장치는 데이터 증강을 수행함으로써 제3 데이터 셋(430)을 생성할 수 있다. 일 실시예에서, 전자 장치는 GPR 알고리즘을 이용하여, 다른 위치(즉, 다른 refpoint)에 대한 신호 장치에 대한 신호 데이터를 기초로, 신호 데이터가 제거된 위치에 대하여 증강 데이터를 생성할 수 있다. 도 4c을 참조하면, 전자 장치는 GPR 알고리즘을 이용하여, 다른 데이터 그룹들에 포함된 신호 데이터를 기초로 각 데이터 그룹에서 제거된 신호 데이터를 보완/대체하는 증강 데이터를 생성할 수 있다.
도 4b 및 도 4c를 참조하면, 데이터 그룹(412)에서 AP 2에 대한 신호 데이터가 제거된 경우, 전자 장치는 GPR 알고리즘을 이용하여 다른 데이터 그룹(414, 416)의 AP 2에 대한 신호 데이터를 기초로 데이터 그룹(412)의 AP 2에 대한 증강 데이터를 생성할 수 있다. 마찬가지로, 데이터 그룹(414) 및 데이터 그룹(416)에서 AP 4에 대한 신호 데이터가 제거된 경우, 전자 장치는 GPR 알고리즘을 이용하여 다른 데이터 그룹(412)의 AP 4에 대한 신호 데이터를 기초로 데이터 그룹(414, 416)의 AP 4에 대한 증강 데이터를 생성할 수 있다.
데이터 수집 장치는 이동하며 수집 주기에 따라 데이터를 수집하므로, 일부 위치(즉, 일부 refpoint)에 대해서는 데이터가 수집되지 않을 수 있다. 도 4a를 참조하면, refpoint 2 및 4에서의 신호 데이터 및 방해물에 대한 데이터가 수집되지 않을 수 있다. 이에 따라, 전자 장치는 수집되지 않은 위치(즉, 제1 데이터 셋(410) 및/또는 제2 데이터 셋(420)에 포함된 신호 데이터에 독립된 위치) refpoint 2 및 4에 대하여 각 신호 장치에 대한 증강 데이터를 생성할 수 있다.
예를 들어, 전자 장치는 GPR 알고리즘을 이용하여, 각 신호 장치에 대하여, 다른 위치에 대한 신호 데이터를 기초로, 데이터가 수집되지 않은 위치(즉, 제1 데이터셋(410)에 포함된 신호 데이터에 독립된 위치)에 대한 증강 데이터를 생성할 수 있다. 도 4b 및 도 4c를 참조하면, 전자 장치는 GPR 알고리즘을 이용하여, 데이터 그룹(412)의 AP 1에 대한 신호 데이터(즉, refpoint 1에 대한 AP 1 신호 데이터), 데이터 그룹(414)의 AP 1에 대한 신호 데이터(즉, refpoint 3에 대한 AP 1 신호 데이터) 및 데이터 그룹(416)의 AP 1에 대한 신호 데이터(즉, refpoint 5에 대한 AP 1 신호 데이터)를 기초로, 데이터가 수집되지 않은 위치인 refpoint 2에 대하여 AP 1에 대한 증강 데이터를 생성할 수 있다.
도 4a 내지 도 4c에 도시된 데이터 셋 구조는 인공지능 모델 학습을 위한 데이터 셋의 일례로, 이에 한정되지 않는다. 예를 들어, 데이터 셋은 도시된 정보 외의 다른 정보(예: 수집 장치에 대한 정보 등)를 더 포함할 수 있다. 예를 들어, 상이한 형태의 구조로 정보들이 분류되거나 정렬될 수 있다.
도 5a는 일 실시예에 따른 신호 데이터의 필터링을 나타내는 그래프이다. 도 5b는 일 실시예에 따른 GPR 알고리즘을 이용한 증강 데이터의 생성을 나타내는 그래프이다.
도 5a 및 도 5b에 도시된 그래프는, 임의의 전자 장치에 대한 복수의 신호 데이터가 표시된 그래프이다. 도 5a 및 도 5b에 도시된 그래프의 x축은 거리 정보(예: 거리 값, 거리 인덱스, 위치 인덱스 등)를 나타내고, y축은 wifi 신호의 세기 값(예: dB 값)을 나타낼 수 있다. wifi 신호의 특성상 거리가 멀어 질수록 wifi 신호의 세기는 로그 함수적으로 감소할 수 있다. 그러나, 실제 환경에서는 외부 요소들의 간섭으로 인해, 거리에 대한 wifi 신호의 세기 그래프가 완벽한 로그 함수 그래프로 나타나지 않을 수 있다.
일 실시예에서, 전자 장치는 데이터 증강을 위해, 각 신호 장치 별로 데이터를 처리/가공할 수 있다. 예를 들어, 전자 장치는 데이터 셋(예: 도 4b의 420)에 포함된 복수의 데이터 그룹(예: 도 4b의 412, 414 및 414) 각각에서의 임의의 신호 장치에 대한 신호 데이터를 이용하여 해당 신호 장치에 대한 데이터 증강을 수행할 수 있다.
도 5a는 임의의 신호 장치(예: AP 1)에 대한 신호 데이터의 그래프를 나타낸다. 구체적으로, 도 5a는 방해물에 대한 데이터 기반의 필터링 수행 전의 데이터 셋(예: 도 4a의 410)에 포함된 임의의 신호 장치의 신호 세기('rssi') 값 및 거리 정보('distance')가 반영된 그래프를 나타낸다. 도 5a의 그래프에 이산적으로 표시된 복수의 신호 데이터는 데이터 수집 장치가 수집한 데이터일 수 있다.
임의의 신호 장치에 대한 복수의 신호 데이터 중에서, 적어도 일부의 데이터는 방해물에 대한 데이터 기반의 필터링에 의해 제거될 수 있다. 예를 들어, 임의의 신호 장치에 대한 복수의 신호 데이터 중에서, 신호의 세기가 방해물에 대한 데이터를 기초로 결정된 기준치(예: -70dB) 이하인 신호 데이터는 제거될 수 있다. 임의의 신호 장치에 대한 복수의 신호 데이터 각각의 기준치는 서로 상이하거나 일부 상이하거나 서로 동일할 수 있다. 도 5a를 참조하면, 그래프에 표시된 복수의 신호 데이터 중에서 강조 표시(원 표시)된 신호 데이터는 방해물에 대한 데이터 기반의 필터링에 의해 제거되는 신호 데이터를 나타낼 수 있다.
도 5b의 그래프는 도 5a의 그래프에서 원 표시된 신호 데이터가 제거된 그래프이다. 즉, 도 5b는 방해물에 대한 데이터 기반의 필터링 후 데이터 셋(예: 도 4b의 420)에 포함된 임의의 신호 장치의 신호 세기('rssi') 값 및 거리 정보('distance')가 반영된 그래프를 나타낸다.
전자 장치는 방해물에 대한 데이터 기반의 필터링 후의 데이터 셋에 포함된 임의의 신호 장치에 대한 신호 데이터들을 기초로, GPR 모델을 이용하여 해당 신호 장치에 대한 증강 데이터를 생성할 수 있다. 예를 들어, 전자 장치는 도 5b의 그래프에 표시된 복수의 신호 데이터를 기초로, 거리에 대한 신호 세기를 나타내는 GPR 기반 함수를 생성할 수 있다. 도 5b의 그래프에 표시된 GPR 라인은 GPR 기반 함수를 나타낸다.
전자 장치는 임의의 신호 장치에 대하여 신호 데이터가 존재하지 않는 각 위치에 대한 증강 데이터를 생성할 수 있다. 즉, 도 5b의 그래프의 각 위치에 대응하는 x축 지점에서의 GPR 라인의 신호 세기의 값을 해당 위치의 증강 데이터로서 생성할 수 있다. 신호 데이터가 존재하지 않는 위치는, 신호 데이터가 필터링된 위치 및/또는 신호 데이터가 수집되지 않은 위치를 포함할 수 있다.
전자 장치는 신호 데이터가 존재하지 않는 위치뿐만 아니라 신호 데이터가 존재하는 위치에 대해서도 증강 데이터를 생성할 수 있다. 일 실시예에서, 전자 장치는 신호 데이터가 존재하는 위치에 대해서도 해당 위치에 대한 신호 데이터 및/또는 다른 위치에 대한 신호 데이터를 기초로, 해당 위치에 대한 증강 데이터를 생성할 수 있다. 예를 들어, 전자 장치는 -50dB이라는 신호 데이터가 존재하는 x축의 30 지점에 대해서도 증강 데이터를 생성할 수 있다. 이 경우, 전자 장치는 x축의 30 지점에서의 GPR 라인의 값 -60dB을 증강 데이터로서 결정할 수 있다.
일 실시예에서, 전자 장치는 임의의 신호 장치에 대한 복수의 신호 데이터 중 적어도 일부의 신호 데이터를 기초로, GPR 알고리즘을 이용하여 증강 데이터를 생성할 수 있다. 이 경우, 복수의 신호 데이터 중에서, GPR 라인을 생성하는데 사용되는 데이터가 달라짐에 따라 GPR 라인은 달라질 수 있다. 일 실시예에서, 동일한 신호 데이터를 이용하더라도 GPR 알고리즘의 설정값(예: 매개 변수의 값, 또는 옵션값)에 따라 GPR 라인은 달라질 수 있다. 즉, 전자 장치는 복수의 GPR 라인을 생성할 수 있으며, 이에 따라, 하나의 x축 지점에 대하여 복수의 증강 데이터를 획득할 수 있다.
도 5a 및 도 5b의 GPR 라인을 참조하면, 필터링 전의 GPR 라인에 비해 필터링 후의 GPR 라인에서 로그 함수의 경향이 더욱 나타날 수 있다. 즉, 필터링 후에 GPR 알고리즘을 이용하여 생성된 증강 데이터가 보다 양질의 데이터일 수 있다.
도 5a 및 5b는, 일 실시예에서 인공지능 모델의 학습 데이터를 필터링하고 증강하는 예시를 설명하기 위한 그래프로, 전자 장치가 본 개시의 일 실시예에 따른 방법을 수행함에 따라 생성 및 출력되지 않을 수 있다.
도 6은 일 실시예에 따른 전자 장치가 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법을 나타내는 흐름도 이다.
도 6을 참조하면, 일 실시예에 따른 전자 장치가 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법(600)은 단계 610 내지 650을 포함할 수 있다. 일 실시예에서, 단계 610 내지 650은 전자 장치에 포함되는 적어도 하나의 프로세서에 의해 실행될 수 있다. 하나 이상의 실시예에서, 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법(600)은 도 6에 도시된 바에 한정되지 않으며, 도 6에 도시되지 않은 단계를 더 포함할 수도 있다. 이하, 도 6의 설명에서 도 2와 중복되는 설명은 생략될 수 있다.
단계 610에서, 전자 장치는 제1 데이터 셋을 식별할 수 있다.
단계 620에서, 전자 장치는 제1 데이터 셋에 대하여 블루투스 신호 기반 필터링을 수행할 수 있다. 일 실시예에서, 전자 장치는 제1 데이터 셋에서 블루투스 신호 기반으로 AP 장치의 wifi 신호 데이터를 필터링함으로써 제2 데이터 셋을 생성할 수 있다.
단계 630에서, 전자 장치는 각 지점(point)에 대한 신호 데이터의 개수가 임계값(K, K는 자연수) 이상인지 여부를 판정할 수 있다. 일 실시예에서, 전자 장치는 복수의 위치(즉, 복수의 지점) 각각에 대한 신호 데이터의 개수가 임계값 이상인지 여부를 판정할 수 있다. 일 실시예에서, 임계값은, 인공지능 모델의 성능(예: 정확도, 민감도, 정밀도 등)이 임의의 기준을 만족하기 위해 필요한 학습 데이터 개수를 기반으로 결정될 수 있다. 예를 들어, 임계값은, 미리 결정된 값(예: 10개)일 수 있다.
각 지점에 대한 신호 데이터의 개수가 임계값 이상인 것으로 판정함에 응답하여, 단계 650에서, 전자 장치는 각 지점에 대한 신호 데이터를 이용하여, 인공지능 모델을 학습할 수 있다.
이와 달리, 적어도 하나의 지점에 대한 신호 데이터의 개수(예: 데이터 그룹의 개수)가 K보다 작은 것으로 판정함에 응답하여, 단계 640에서, 전자 장치는 신호 데이터의 개수가 부족한 지점에 대하여 각 신호 장치에 대한 증강 데이터를 생성할 수 있다. 일 실시예에서, 전자 장치는 각 지점에 대한 학습 데이터(신호 데이터 및 증강 데이터)의 개수가 모두 K 이상이 되도록 증강 데이터를 생성할 수 있다.
단계 650에서, 전자 장치는 각 지점에 대한 학습 데이터를 이용하여, 인공지능 모델을 학습할 수 있다. 즉, 전자 장치는 각 지점에 대한 복수의 신호 장치 각각의 신호 데이터 및/또는 증강 데이터를 이용하여, 인공지능 모델을 학습할 수 있다.
도 7a 내지 7c는 일 실시예에 따라 인공지능 모델을 이용하여 사용자 단말의 위치 정보를 결정하는 예를 나타내는 도면이다.
일 실시예에서, 사용자 단말(712, 722, 732)의 위치 정보를 추론하기 위해, 사용자 단말(712, 722, 732)은 하나 이상의 신호 장치에 대한 신호 데이터 및 사용자 단말(712, 722, 732)로부터 소정 거리에 위치한 방해물에 대한 데이터를 식별할 수 있다. 예를 들어, 도 7a 내지 도 7c를 참조하면, 사용자 단말(712, 722, 732)은 AP 1 내지 AP 4의 wifi 신호의 세기(rssi)를 측정할 수 있다. 또한, 사용자 단말(712, 722, 732)은 다른 사용자 단말(724, 734, 736)의 블루투스 신호의 세기를 측정할 수 있다. 이 경우, 소정 거리는 블루투스 신호 송수신 가능 거리를 나타낼 수 있다.
일 실시예에서, 사용자 단말(712, 722, 732)은 방해물에 대한 데이터 기반으로 필터링된 학습 데이터로 학습된 위치 정보를 추론하기 위한 인공지능 모델을 이용하여, 식별된 하나 이상의 신호 장치에 대한 신호 데이터를 기초로 사용자 단말(712, 722, 732)의 제1 위치 예측 데이터를 산출할 수 있다. 예를 들어, 사용자 단말(712, 722, 732)은 AP 1 내지 AP 4의 wifi 신호의 세기 값을, 블루투스 신호 기반으로 필터링된 학습 데이터로 학습된 인공지능 모델에 입력함으로써, 출력되는 제1 위치 예측 데이터를 획득할 수 있다.
일 실시예에서, 인공지능 모델은 사용자 단말(712, 722, 732)이 공간 내의 복수의 지점 중에서 임의의 지점에 위치할 확률(또는 확률에 대응하는 스코어)를 포함하는 제1 위치 예측 데이터를 출력할 수 있다. 예를 들어, 인공지능 모델은 적어도 하나의 지점의 식별자 및 확률(또는 스코어)를 포함하는 제1 위치 예측 데이터를 출력할 수 있다. 일 실시예에서, 인공지능 모델은 복수의 지점 중에서 적어도 하나의 지점의 식별자 및 예측 순위를 포함하는 제1 위치 예측 데이터를 출력할 수 있다. 상기 적어도 일부의 지점은, 예측 순위가 1위에서 특정 순위까지에 해당하는 지점을 포함할 수 있다. 일례로, 제1 위치 예측 데이터는 '[(1위, point1), (2위, point9), (3위, point5), (4위, point3), (5위, point5)]'와 같은 구조로 출력될 수 있다. 각 지점의 예측 순위는 각 지점의 스코어를 기반으로 결정될 수 있다. 예를 들어, 사용자 단말(712, 722, 732)이 위치할 확률(즉, 스코어)이 가장 높은 지점인 point 1의 예측 순위는 1위로, 확률이 두번째로 높은 지점인 point 7의 예측 순위는 2위로 결정될 수 있다.
일 실시예에서, 사용자 단말(712, 722, 732)은 방해물에 대한 데이터를 기초로, 인공지능 모델 기반으로 산출된 제1 위치 예측 데이터에 가중치를 적용할 수 있다. 추가적으로, 사용자 단말(712, 722, 732)은 제2 위치 예측 데이터를 식별할 수 있다. 사용자 단말(712, 722, 732)은 방해물에 대한 데이터를 기초로 제2 위치 예측 데이터에 가중치를 적용할 수 있다.
제2 위치 예측 데이터는, 제1 위치 예측 데이터와는 다른 데이터, 방법, 알고리즘 및/또는 모델을 기반으로 산출된 데이터일 수 있다. 예를 들어, 제1 위치 예측 데이터가 블루투스 신호 기반으로 필터링된 학습 데이터를 이용하여 학습된 인공지능 모델로부터 출력된 데이터인 경우, 제2 위치 예측 데이터는 Geo-magnetic 변화량 기반으로 필터링된 학습 데이터를 이용하여 학습된 인공지능 모델로부터 출력된 데이터일 수 있다.
일 실시예에서, 제2 위치 예측 데이터는, 복수의 지점 중에서 적어도 하나의 지점에 사용자 단말(712, 722, 732)이 위치할 확률(또는 스코어)를 포함할 수 있다. 예를 들어, 제2 위치 예측 데이터는, 적어도 하나의 지점의 식별자 및 확률(또는 스코어)를 포함할 수 있다. 일 실시예에서, 제2 위치 예측 데이터는, 복수의 지점 중에서 적어도 하나의 지점의 식별자 및 예측 순위를 포함하는 제1 위치 예측 데이터를 출력할 수 있다. 상기 적어도 하나의 지점은, 예측 순위가 1위에서 특정 순위까지에 해당하는 지점을 포함할 수 있다.
일 실시예에서, 사용자 단말(712, 722, 732)은 가중치가 적용된 제1 위치 예측 데이터를 기초로, 사용자 단말(712, 722, 732)의 위치 정보를 결정할 수 있다. 일례로, 사용자 단말(712, 722, 732)은 아래 수학식 (1)을 이용하여, 사용자 단말(712, 722, 732)의 위치 정보를 결정할 수 있다.
수학식 (1)
상기 수학식(1)에서, refpointn는 예측 순위가 n 위인 지점의 좌표 값을 나타내고, k는 사용자 단말의 위치를 결정하는데 고려할 예측 지점의 개수, wn은 refpointn에 적용할 가중치 값을 나타낼 수 있다. 가중치(wn)는, 신호 데이터 측정 시의 블루투스 신호 데이터를 기초로 결정되는 임의의 값일 수 있다. 사용자 단말(712, 722, 732)은 상기 수학식(1)로 산출된 predict_refpoint의 값에 근접한 지점을 사용자 단말(712, 722, 732)의 위치로 결정할 수 있다.
사용자 단말(712, 722, 732)은 가중치가 적용된 제1 위치 예측 데이터 및 제2 위치 예측 데이터를 기초로, 사용자 단말(712, 722, 732)의 위치 정보를 결정할 수 있다. 예를 들어, 사용자 단말(712, 722, 732)은 아래 수학식 (2)를 이용하여, 사용자 단말(712, 722, 732)의 위치 정보를 결정할 수 있다.
수학식 (2)
상기 수학식 (2)에서, f.refpointn은 제1 위치 예측 데이터에서 예측 순위가 n위인 지점의 좌표값을 나타내고, s.refpointn은 제2 위치 예측 데이터에서 예측 순위가 n위인 지점의 좌표값을 나타내고, wn은 제1 위치 예측 데이터에서의 n순위의 지점에 적용할 가중치 값을 나타내고, wn+m은 제2 위치 예측 데이터에서의 n순위의 지점에 적용할 가중치 값을 나타낼 수 있다. m은 제1 위치 예측 데이터에서 사용자 단말의 위치 정보를 결정하기 위해 고려할 예측 지점의 개수를 나타내고, k는 제2 위치 예측 데이터에서 사용자 단말의 위치 정보를 결정하기 위해 고려할 예측 지점의 개수를 나타낼 수 있다. 사용자 단말(712, 722, 732)은 상기 수학식(2)로 산출된 predict_refpoint의 값에 해당하는 지점 또는 근접한 지점을 사용자 단말(712, 722, 732)의 위치로 결정할 수 있다.
도 7a를 참조하면, 사용자 단말(712)에 수신되는 블루투스 신호가 없는 경우, 즉, 사용자 단말(712) 주변에 다른 사용자 단말이 존재하지 않는 경우, 사용자 단말(712)은 아래와 같은 수학식 (3)을 기초로, 위치 정보를 결정할 수 있다.
수학식 (3)
상기 수학식(3)에서 f.refpoint1은 제1 위치 예측 데이터에 따른 1위 예측 지점을 나타내고, f.refpoint2는 제1 위치 예측 데이터에 따른 2위 예측 지점을 나타낸다. 또한, s.refpoint1은 제2 위치 예측 데이터에 따른 1위 예측 지점을 나타낸다. 사용자 단말(712)은 상기 수학식(3)으로 산출된 predict_refpoint의 값에 근접한 지점을 사용자 단말(712)의 위치로 결정할 수 있다. 즉, 도 7a와 같이, 주변에 다른 사용자 단말로부터의 블루투스 신호가 수신되지 않는 경우, 사용자 단말(712)은 제1 위치 예측 데이터에 제2 위치 예측 데이터보다 높은 가중치를 적용하여 위치 정보를 결정할 수 있다.
도 7b를 참조하면, 사용자 단말(722)에 하나의 블루투스 신호가 수신되는 경우, 즉, 사용자 단말(722) 주변에 하나의 다른 사용자 단말(724)이 존재하는 경우, 사용자 단말(722)은 아래와 수학식 (4)를 기초로, 위치 정보를 결정할 수 있다.
수학식 (4)
상기 수학식(4)에서 f.refpoint1은 제1 위치 예측 데이터에 따른 1위 예측 지점을 나타내고, f.refpoint2는 제1 위치 예측 데이터에 따른 2위 예측 지점을 나타낸다. 또한, s.refpoint1은 제2 위치 예측 데이터에 따른 1위 예측 지점을 나타낸다. 사용자 단말(722)은 상기 수학식(4)로 산출된 predict_refpoint의 값에 근접한 지점을 사용자 단말(722)의 위치로 결정할 수 있다. 도 7a와 비교하여, 사용자 단말(722)은 방해물의 간섭을 받은 신호 데이터를 기초로 산출된 제1 위치 예측 데이터의 가중치를 낮추고, 제2 위치 예측 데이터의 가중치를 높일 수 있다.
도 7c를 참조하면, 사용자 단말(732)에 2개의 블루투스 신호가 수신되는 경우, 즉, 사용자 단말(732) 주변에 2개의 다른 사용자 단말(734, 736)이 존재하는 경우, 사용자 단말(732)은 아래와 수학식 (5)를 기초로, 위치 정보를 결정할 수 있다.
수학식 (5)
상기 수학식(5)에서 f.refpoint1은 제1 위치 예측 데이터에 따른 1위 예측 지점을 나타낸다. s.refpoint1는 제2 위치 예측 데이터에 따른 1위 예측 지점을 나타내고, s.refpoint2는 제2 위치 예측 데이터에 따른 2위 예측 지점을 나타낸다. 사용자 단말(732)은 상기 수학식(5)으로 산출된 predict_refpoint의 값에 근접한 지점을 사용자 단말(732)의 위치로 결정할 수 있다. 도 7a 및 도 7b와 비교하여, 사용자 단말(732)은 방해물의 간섭을 많이 받은 신호 데이터를 기초로 산출된 제1 위치 예측 데이터의 가중치를 낮추고, 제2 위치 예측 데이터의 가중치를 높일 수 있다.
f.refpont1, f.refpoint2, s.refpont1 및 s.refpoint2는 공간에서 각 지점에 대응하는 (x,y) 좌표 값일 수 있다. 이에 따라, 상기 수학식 (3) 내지 수학식 (5)에 의해 산출되는 'predict_refpoint'도 (x,y) 값으로 표현될 수 있다. 사용자 단말(712, 722, 732)은 'predict_refpoint'의 값에 대응되는 지점을 사용자 단말(712, 722, 732)의 위치로 결정할 수 있다. 예를 들어, 'predict_refpoint'의 값이 (0.23, 2.89)로 산출되는 경우, (0.23, 2.89)을 반올림한 좌표인 (0,3)의 지점(예: point 4)을 사용자 단말의 위치로 결정할 수 있다.
도 8은 일 실시예에 따른 인공지능 모델을 학습하는 전자 장치, 데이터를 수집하는 전자 장치 및 위치 정보를 추론하는 전자 장치의 블록도이다.
도 8의 전자 장치(810)는 인공지능 모델을 학습하는 임의의 컴퓨팅 장치일 수 있다. 전자 장치(810)는 하나 이상의 서버 장치를 포함할 수 있다. 전자 장치(810)는 적어도 하나의 프로세서(820) 및 메모리(830)를 포함할 수 있다. 도 8의 전자 장치(850)는 인공지능 모델의 학습 데이터를 수집하는 임의의 컴퓨팅 장치일 수 있다. 전자 장치(850)는 적어도 하나의 프로세서(852) 및 메모리(854)를 포함할 수 있다. 도 8의 전자 장치(860)는 인공지능 모델을 이용하여 위치 정보를 추론하는 임의의 컴퓨팅 장치일 수 있다. 전자 장치(860)는 적어도 하나의 프로세서(862) 및 메모리(864)를 포함할 수 있다.
전자 장치(850, 860)는 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트 글래스(smart glass), 네비게이션(navigation) 장치, 웨어러블 디바이스(wearable device), AR 디바이스(augmented reality device), VR 디바이스(virtual reality device), 디지털 신호 송수신기(digital signal transceiver) 등의 사용자 단말일 수 있다.
프로세서(820, 852, 862)는 전자 장치(810, 850, 860)에 포함된 구성들과 전기적으로 연결되어, 전자 장치(810, 850, 860)에 포함된 구성들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 일 실시예에 따르면, 프로세서(820, 852, 862)는 다른 구성들 중 적어도 하나로부터 수신된 요청, 명령 또는 데이터를 메모리(830, 854, 864)에 로드하여 처리하고, 결과 데이터를 메모리(830, 854, 864)에 저장할 수 있다. 하나 이상의 실시예에 따르면, 프로세서(820, 852, 862)는 CPU(central processing unit), AP(application processor), DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU(graphic processing unit), VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서, 또는 NPU(neural processing unit)와 같은 인공지능 전용 프로세서 중 적어도 하나를 포함할 수 있다.
프로세서(820, 852, 862)는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어할 수 있다. 또는, 프로세서(820, 852, 862)가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 할 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미할 수 있다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
메모리(830, 854, 864)는 프로세서(820, 852, 862)와 전기적으로 연결되고 전자 장치(810, 850, 860)에 포함된 구성들의 동작과 관련된 하나 이상의 모듈, 적어도 하나의 학습 모델, 프로그램, 명령어 또는 데이터를 저장할 수 있다. 예를 들어, 메모리(830, 854, 864)는 프로세서(820, 852, 862)의 처리 및 제어를 위한 하나 이상의 모듈, 학습 모델, 프로그램, 명령어 또는 데이터를 저장할 수 있다. 메모리(830, 854, 864)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어, SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 또는 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(830)에 포함된 모듈 또는 모델은, 프로세서(820)의 제어 또는 명령에 따라 실행되며, 입력 데이터에 대한 출력 데이터를 도출하는 동작들을 수행하도록 구성된 프로그램, 모델 또는 알고리즘을 포함할 수 있다. 도 8을 참조하면, 전자 장치(810)의 메모리(830)는 데이터 필터링 모듈(832), 데이터 증강 모듈(834) 및 모델 학습 모듈(836)을 포함할 수 있다. 일 실시예에서, 데이터 필터링 모듈(832)은 프로세서(820)에 의해 실행됨으로써, 메모리(830)에 로드된 제1 데이터 셋을 방해물에 대한 데이터 기반으로 필터링함으로써 제2 데이터 셋을 생성할 수 있다. 일 실시예에서, 데이터 증강 모듈(834)은 프로세서(820)에 의해 실행됨으로써, 제2 데이터 셋에 부족한 데이터에 대하여 증강 데이터를 생성함으로써 제3 데이터 셋을 생성할 수 있다. 일 실시예에서, 모델 학습 모듈(836)은 프로세서(820)에 의해 실행됨으로써, 제3 데이터 셋을 이용하여 인공지능 모델을 훈련할 수 있다. 도 8에서는, 모듈(832, 834, 836)을 메모리(830)에 포함된 소프트웨어 구성으로 도시하고 있으나, 이에 한정되지 않는다. 예를 들어, 모듈(832, 834, 836) 중 적어도 일부는 메모리에 저장된 소프트웨어 모듈이 아닌 별도의 하드웨어 모듈로 구현될 수도 있다.
전자 장치(810)의 메모리(830)는 인공지능 모델(838)을 포함할 수 있다. 예를 들어, 메모리(830)는 인공지능 모델(838)을 구성하는 복수의 가중치를 포함할 수 있다. 여기서, 인공지능 모델(838)은, 모델 학습 모듈(836)에 의해 위치 정보를 추론 또는 예측하도록 훈련된 학습 모델일 수 있다. 예를 들어, 인공지능 모델(838)은, 모델 학습 모듈(836)에 의해 지도 학습, 비지도 학습, 준지도 학습 또는 강화 학습으로 훈련된 학습 모델일 수 있으나, 이에 한정되지 않는다. 인공지능 모델(838)은 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행할 수 있다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공지능 모델(838)은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 이에 한정되지 않는다.
전자 장치(810, 850, 860)는 네트워크(840)를 통해 서로 통신할 수 있다. 네트워크(840)는, 전자 장치(810, 850, 860) 사이의 통신이 가능하도록 구성될 수 있다. 예를 들어, 네트워크(840)는 설치 환경에 따라, 이더넷(Ethernet), 유선 홈 네트워크(Power Line Communication), 전화선 통신 및 RS-serial 통신 등의 유선 네트워크, 이동통신망, WLAN(Wireless LAN), Wi-Fi 등과 같은 무선 네트워크 또는 그 조합으로 구성될 수 있다. 예를 들어, 네트워크(840)는, 근거리 통신 네트워크 (예: 블루투스, WiFi direct 또는 IrDA(infrared data association)), 원거리 통신 네트워크(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)) 또는 그 조합으로 구성될 수 있다.
일 실시예에서, 전자 장치(810)는 네트워크(840)을 통해 전자 장치(850)로부터 인공지능 모델(838)의 학습을 위한 학습 데이터(예: 데이터 셋)를 수신할 수 있다. 일 실시예에서, 전자 장치(860)는 네트워크(840)을 통해 전자 장치(810)로부터 인공지능 모델(838)을 수신할 수 있다. 예를 들어, 전자 장치(860)는 네트워크(840)를 통해 전자 장치(810)로부터 인공지능 모델(838)을 이용하여 위치 추론을 수행하기 위한 정보를 포함하는 데이터를 수신할 수 있다. 일례로, 전자 장치(860)는 네트워크(840)을 통해 전자 장치(810)로부터 인공지능 모델(838)을 구성하는 신경망 정보, 레이어 정보, 레이어 간의 가중치 정보 등을 포함하는 데이터를 수신할 수 있다. 예를 들어, 전자 장치(860)는 메모리(830)에서 메모리(864)로 로드된 인공지능 모델(838)을 이용하여 위치 정보를 추론하는 동작을 수행할 수 있다.
도 8에서는 인공지능 모델을 학습하는 장치(810), 학습 데이터를 수집하는 장치(850) 및 위치 정보를 추론하는 장치(860)가 각각 도시되어 있으나, 이에 한정되지 않는다. 예를 들어, 인공지능 모델을 학습하는 장치(810)는 학습 데이터를 수집하는 장치(850)와 동일한 장치일 수 있다. 예를 들어, 인공지능 모델을 학습하는 장치(810)는 학습된 인공지능 모델을 이용하여 위치 정보를 추론하는 장치(860)와 동일한 장치일 수 있다. 예를 들어, 학습 데이터를 수집하는 장치(850)는 인공지능 모델을 이용하여 위치 정보를 추론하는 장치(860)와 동일한 장치일 수 있다.
전자 장치(810, 850, 860)는 도 8에 도시된 구성 요소들보다 더 많은 구성 요소들을 포함할 수 있다. 예를 들어, 전자 장치(810, 850, 860)는 외부 장치와의 통신을 위한 통신 인터페이스(또는 통신 모듈)을 더 포함할 수 있다. 예를 들어, 전자 장치(850)는 사용자 입력 신호를 수신하기 위한 입력 장치 및 입출력 인터페이스를 더 포함할 수 있다. 예를 들어, 전자 장치(860)는 위치 정보를 출력하기 위한 출력 장치 및 입출력 인터페이스를 더 포함할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 개시의 일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 제1 위치에서 사용자 단말에 의해 수집된 신호 장치에 대한 제1 신호 데이터, 상기 제1 신호 데이터 수집 시 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터 및 제2 위치에서 수집된 상기 신호 장치에 대한 제2 신호 데이터를 포함하는 제1 데이터 셋을 식별하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은 상기 방해물에 대한 데이터를 기초로 (또는, 이용하여) 상기 제1 데이터 셋으로부터 상기 제1 신호 데이터를 필터링함으로써, 제2 데이터 셋을 생성하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터(augmented data)를 생성함으로써, 제3 데이터 셋을 생성하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은, 상기 제3 데이터 셋을 이용하여 위치 정보를 추론하기 위한 인공지능 모델을 훈련하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 방해물의 영향을 받은 데이터가 제거된 학습 데이터를 이용하여 인공지능 모델을 훈련함으로써, 향상된 추론 능력을 갖는 인공지능 모델을 획득할 수 있다.
일 실시예에서, 상기 제3 데이터 셋을 생성하는 단계는, GPR(Gaussian Process Regression) 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 학습 데이터에서 특정 위치에 대한 신호 데이터가 필터링되는 경우. 학습 데이터에서 필터링되지 않은 신호 데이터를 이용하여 필터링된 신호 데이터를 대체하기 위한 증강 데이터를 생성하고, 생성된 증강 데이터를 인공지능 모델 훈련에 사용할 수 있다. 따라서, 필터링에 의한 학습 데이터 손실을 보완할 수 있다.
일 실시예에서, 상기 제3 데이터 셋을 생성하는 단계는, GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제2 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 특정 위치에 대한 학습 데이터의 양을 증가시키기 위해, 해당 위치에 대하여 수집된 신호 데이터를 기초로, 해당 위치에 대한 증강 데이터들을 추가로 생성하여 학습에 사용할 수 있다. 따라서, 특정 위치에 대한 학습 데이터의 양을 증대할 수 있다.
일 실시예에서, 상기 제1 데이터 셋은, 제3 위치에서 수집된 상기 신호 장치에 대한 제3 신호 데이터를 포함할 수 있다. 이 경우, 상기 제3 데이터 셋을 생성하는 단계는, GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제3 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 특정 위치에서 수집된 신호 데이터를 이용하여 다른 위치에 대한 데이터를 증강 데이터로서 생성할 수 있으며, 생성된 증강 데이터를 인공지능 모델 훈련에 사용할 수 있다. 즉, 특정 위치에 대한 학습 데이터가 부족한 경우, 다른 위치에 대한 학습 데이터를 이용하여, 특정 위치에 대한 학습 데이터의 양을 증대할 수 있다.
일 실시예에서, 상기 제3 데이터 셋을 생성하는 단계는, GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제1 데이터 셋에 포함된 신호 데이터에 독립된 제4 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 특정 위치의 신호 데이터가 수집되지 않은 경우, 다른 위치에서 수집된 신호 데이터들을 이용하여 특정 위치에 대한 학습 데이터를 생성할 수 있으며, 인공지능 모델 훈련에 사용할 수 있다. 따라서, 인공지능 모델은 데이터가 수집되지 않은 위치에 대해서도 학습할 수 있다.
일 실시예에서, 상기 제1 신호 데이터는, 상기 제1 위치에서 측정된 상기 신호 장치의 신호 세기의 값을 포함할 수 있다. 일 실시예에서, 상기 제2 데이터 셋을 생성하는 단계는, 상기 방해물에 대한 데이터를 기초로 (또는, 이용하여), 상기 제1 신호 데이터에 대한 필터링 기준치를 식별하는 단계를 포함할 수 있다. 일 실시예에서, 상기 제2 데이터 셋을 생성하는 단계는, 상기 신호 세기의 값이 상기 필터링 기준치 이하인 것으로 판정함에 기초하여 (또는, 응답하여, 따라), 상기 제1 신호 데이터를 제거하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 인공지능 모델의 학습 데이터를 필터링하는 정도를 조절함으로써, 인공지능 모델의 성능을 조절할 수 있다.
일 실시예에서, 상기 필터링 기준치는, 상기 방해물의 개수 또는 상기 방해물에 대한 데이터의 값 중 적어도 하나를 기초로 (또는, 이용하여) 결정될 수 있다. 본 개시의 일 실시예에서, 방해물이 끼치는 영향의 정도에 따라 학습 데이터의 필터링 기준을 달리 적용할 수 있다.
일 실시예에서, 상기 방해물에 대한 데이터는, 다른 사용자 단말의 근거리 통신 신호 세기의 값 또는 상기 방해물에 의한 Geo-magnetic 변화량 중 적어도 하나를 포함할 수 있다. 본 개시의 일 실시예에서, 고정적이지 않은, 즉, 가변적인 방해물의 영향력을 감지할 수 있다.
일 실시예에서, 상기 제3 데이터 셋을 생성하는 단계는, 상기 제2 데이터 셋에 포함된 상기 제1 위치 및 상기 신호 장치에 대한 신호 데이터의 총 개수가 임계값보다 작은 것으로 판정함에 기초하여 (또는, 응답하여, 따라), 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 특정 양 이상의 학습 데이터를 보장함으로써, 인공지능 모델의 최소 성능을 보장할 수 있다.
상술한 실시예들 중 적어도 일부에 따른 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법을 컴퓨터에서 수행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다.
본 개시의 일 실시예에 따른 사용자 단말에 의해 수행되는 방법은, 하나 이상의 신호 장치에 대한 신호 데이터 및 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터를 식별하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은, 위치 정보를 추론하기 위한 인공지능 모델을 이용하여, 상기 하나 이상의 신호 장치에 대한 신호 데이터를 기초로 (또는, 이용하여) 제1 위치 예측 데이터를 산출하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은, 상기 방해물에 대한 데이터를 기초로 (또는, 이용하여), 상기 제1 위치 예측 데이터에 가중치를 적용하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은 상기 가중치가 적용된 제1 위치 예측 데이터를 기초로 (또는, 이용하여), 상기 사용자 단말의 위치 정보를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 방법은, 제2 위치 예측 데이터를 식별하는 단계를 포함할 수 있다. 일 실시예에서, 상기 방법은 상기 방해물에 대한 데이터를 기초로 (또는, 이용하여), 상기 제2 위치 예측 데이터에 가중치를 적용하는 단계를 포함할 수 있다. 일 실시예에서, 상기 위치 정보를 결정하는 단계는, 상기 가중치가 적용된 제1 위치 예측 데이터 및 상기 가중치가 적용된 제2 위치 예측 데이터를 기초로 (또는, 이용하여), 상기 사용자 단말의 위치 정보를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 하나 이상의 신호 장치에 대한 신호 데이터는, 상기 하나 이상의 신호 장치의 신호 세기의 값 포함할 수 있다. 일 실시예에서, 상기 방해물에 대한 데이터는, 다른 사용자 단말의 근거리 통신 신호 세기의 값 또는 상기 방해물에 의한 Geo-magnetic 변화량 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 상기 제1 위치 예측 데이터에 적용되는 가중치는, 상기 방해물의 개수 또는 상기 방해물에 대한 데이터의 값 중 적어도 하나를 기초로 (또는, 이용하여) 결정될 수 있다.
상술한 실시예들 중 적어도 일부에 따른 사용자 단말의 위치 정보를 추론하는 방법을 컴퓨터에서 수행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다.
본 개시의 일 실시예에 따른 전자 장치는, 하나 이상의 명령어를 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 상기 하나 이상의 명령어(instruction)를 실행함으로써, 제1 위치에서 사용자 단말에 의해 수집된 신호 장치에 대한 제1 신호 데이터, 상기 제1 신호 데이터 수집 시 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터 및 제2 위치에서 수집된 상기 신호 장치에 대한 제2 신호 데이터를 포함하는 제1 데이터 셋을 식별할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 상기 방해물에 대한 데이터를 기초로 (또는, 이용하여) 상기 제1 데이터 셋으로부터 상기 제1 신호 데이터를 필터링함으로써, 제2 데이터 셋을 생성할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성함으로써, 제3 데이터 셋을 생성할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 상기 제3 데이터 셋을 이용하여 상기 인공지능 모델을 훈련할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는, GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제2 위치 및 상기 신호 장치에 대한 증강 데이터를 생성할 수 있다. 일 실시예에서, 상기 제1 데이터 셋은, 제3 위치에서 수집된 상기 신호 장치에 대한 제3 신호 데이터를 포함할 수 있다. 이 경우, 상기 적어도 하나의 프로세서는, GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제3 위치 및 상기 신호 장치에 대한 증강 데이터를 생성할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 (또는, 이용하여) 상기 제1 데이터 셋에 포함된 신호 데이터에 독립된 제4 위치 및 상기 신호 장치에 대한 증강 데이터를 생성할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 방해물에 대한 데이터를 기초로 (또는, 이용하여), 상기 제1 신호 데이터에 대한 필터링 기준치를 식별할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 신호 세기의 값이 상기 필터링 기준치 이하인 것으로 판정함에 기초하여 (또는, 응답하여, 따라), 상기 제1 신호 데이터를 제거할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 제2 데이터 셋에 포함된 상기 제1 위치 및 상기 신호 장치에 대한 신호 데이터의 총 개수가 임계값보다 작은 것으로 판정함에 기초하여 (또는, 응답하여, 따라), 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성할 수 있다.
본 개시의 일 실시예에 따른 전자 장치는, 하나 이상의 명령어를 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 하나 이상의 신호 장치에 대한 신호 데이터 및 상기 사용자 단말로부터 소정 거리 내에 위치한 방해물에 대한 데이터를 식별할 수 있다. 일 실시예에서, 적어도 하나의 프로세서는 위치 정보를 추론하기 위한 인공지능 모델을 이용하여, 상기 하나 이상의 신호 장치에 대한 신호 데이터를 기초로 (또는, 이용하여) 제1 위치 예측 데이터를 산출할 수 있다. 일 실시예에서, 적어도 하나의 프로세서는 상기 방해물에 대한 데이터를 기초로 (또는, 이용하여), 상기 제1 위치 예측 데이터에 가중치를 적용할 수 있다. 일 실시예에서, 적어도 하나의 프로세서는 상기 가중치가 적용된 제1 위치 예측 데이터를 기초로 (또는, 이용하여), 상기 사용자 단말의 위치 정보를 결정할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는 제2 위치 예측 데이터를 식별할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 상기 방해물에 대한 데이터를 기초로 (또는, 이용하여), 상기 제2 위치 예측 데이터에 가중치를 적용할 수 있다. 일 실시예에서, 상기 적어도 하나의 프로세서는 상기 가중치가 적용된 제1 위치 예측 데이터 및 상기 가중치가 적용된 제2 위치 예측 데이터를 기초로 (또는, 이용하여), 상기 사용자 단말의 위치 정보를 결정할 수 있다.
Claims (15)
- 전자 장치에 의해 수행되는 방법에 있어서,제1 위치(position)에서 사용자 단말(110; 850)에 의해 수집된 신호 장치에 대한 제1 신호 데이터, 상기 제1 신호 데이터 수집 시 상기 사용자 단말(110; 850)로부터 소정 거리 내에 위치한 방해물(120; 130)에 대한 데이터 및 제2 위치에서 수집된 상기 신호 장치에 대한 제2 신호 데이터를 포함하는 제1 데이터 셋(410)을 식별하는 단계;상기 방해물(120; 130)에 대한 데이터를 기초로 상기 제1 데이터 셋(410)으로부터 상기 제1 신호 데이터를 필터링함으로써, 제2 데이터 셋(420)을 생성하는 단계;상기 제2 신호 데이터를 기초로 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터(augmented data)를 생성함으로써, 제3 데이터 셋(430)을 생성하는 단계; 및상기 제3 데이터 셋(430)을 이용하여 위치 정보를 추론하기 위한 인공지능 모델(838)을 훈련하는 단계를 포함하는, 방법
- 제1항에 있어서,상기 제3 데이터 셋(430)을 생성하는 단계는,GPR(Gaussian Process Regression) 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함하는, 방법.
- 제1항 또는 제2항에 있어서,상기 제3 데이터 셋(430)을 생성하는 단계는,GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 상기 제2 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함하는, 방법.
- 제1항 내지 제3항 중 어느 한 항에 있어서,상기 제1 데이터 셋(410)은, 제3 위치에서 수집된 상기 신호 장치에 대한 제3 신호 데이터를 포함하고,상기 제3 데이터 셋(430)을 생성하는 단계는,GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 상기 제3 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함하는, 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 제3 데이터 셋(430)을 생성하는 단계는,GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 상기 제1 데이터 셋에 포함된 신호 데이터에 독립된 제4 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함하는, 방법.
- 제1항 내지 제5항 중 어느 한 항에 있어서,상기 제1 신호 데이터는, 상기 제1 위치에서 측정된 상기 신호 장치의 신호 세기의 값을 포함하고,상기 제2 데이터 셋(420)을 생성하는 단계는,상기 방해물(120; 130)에 대한 데이터를 기초로, 상기 제1 신호 데이터에 대한 필터링 기준치를 식별하는 단계; 및상기 신호 세기의 값이 상기 필터링 기준치 이하인 것으로 판정함에 기초하여, 상기 제1 신호 데이터를 제거하는 단계를 포함하는, 방법.
- 제6항에 있어서,상기 필터링 기준치는, 상기 방해물(120; 130)의 개수 또는 상기 방해물(120; 130)에 대한 데이터의 값 중 적어도 하나를 기초로 결정되는, 방법.
- 제1항 내지 제7항 중 어느 한 항에 있어서,상기 방해물(120; 130)에 대한 데이터는, 다른 사용자 단말(120; 130)의 근거리 통신 신호 세기의 값 또는 상기 방해물(120; 130)에 의한 Geo-magnetic 변화량 중 적어도 하나를 포함하는, 방법.
- 제1항 내지 제8항 중 어느 한 항에 있어서,상기 제3 데이터 셋(430)을 생성하는 단계는,상기 제2 데이터 셋(420)에 포함된 상기 제1 위치 및 상기 신호 장치에 대한 신호 데이터의 총 개수가 임계값보다 작은 것으로 판정함에 기초하여, 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는 단계를 포함하는, 방법.
- 전자 장치(810)에 있어서,하나 이상의 명령어를 저장하는 메모리(830); 및상기 메모리(830)에 저장된 상기 하나 이상의 명령어를 실행하는 적어도 하나의 프로세서(820)를 포함하고,상기 적어도 하나의 프로세서(820)는 상기 하나 이상의 명령어(instruction)를 실행함으로써,제1 위치(position)에서 사용자 단말(110; 850)에 의해 수집된 신호 장치에 대한 제1 신호 데이터, 상기 제1 신호 데이터 수집 시 상기 사용자 단말(110; 850)로부터 소정 거리 내에 위치한 방해물(120; 130)에 대한 데이터 및 제2 위치에서 수집된 상기 신호 장치에 대한 제2 신호 데이터를 포함하는 제1 데이터 셋(410)을 식별하고,상기 방해물(120; 130)에 대한 데이터를 기초로 상기 제1 데이터 셋(410)으로부터 상기 제1 신호 데이터를 필터링함으로써, 제2 데이터 셋(420)을 생성하고,상기 제2 신호 데이터를 기초로 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터(augmented data)를 생성함으로써, 제3 데이터 셋(430)을 생성하고,상기 제3 데이터 셋(430)을 이용하여 상기 인공지능 모델(838)을 훈련하는, 전자 장치.
- 제10항에 있어서,상기 적어도 하나의 프로세서(820)는,GPR(Gaussian Process Regression) 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 상기 제1 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는, 전자 장치.
- 제10항 또는 제11항에 있어서,상기 적어도 하나의 프로세서(820)는,GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 상기 제2 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는, 전자 장치.
- 제10항 내지 제12항 중 어느 한 항에 있어서,상기 제1 데이터 셋(410)은 제3 위치에서 수집된 상기 신호 장치에 대한 제3 신호 데이터를 포함하고,상기 적어도 하나의 프로세서(820)는,GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 상기 제3 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는, 전자 장치.
- 제10항 내지 제13항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(820)는,GPR 알고리즘을 이용하여, 상기 제2 신호 데이터를 기초로 상기 제1 데이터 셋에 포함된 신호 데이터에 독립된 제4 위치 및 상기 신호 장치에 대한 증강 데이터를 생성하는, 전자 장치.
- 제10항 내지 제14항 중 어느 한 항에 있어서,상기 제1 신호 데이터는, 상기 제1 위치에서 측정된 상기 신호 장치의 신호 세기의 값을 포함하고,상기 적어도 하나의 프로세서(820)는,상기 방해물(120; 130)에 대한 데이터를 기초로, 상기 제1 신호 데이터에 대한 필터링 기준치를 식별하고,상기 신호 세기의 값이 상기 필터링 기준치 이하인 것으로 판정함에 기초하여, 상기 제1 신호 데이터를 제거하는, 전자 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220138457A KR20240057798A (ko) | 2022-10-25 | 2022-10-25 | 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법 및 전자 장치 |
KR10-2022-0138457 | 2022-10-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024090862A1 true WO2024090862A1 (ko) | 2024-05-02 |
Family
ID=90831155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/015853 WO2024090862A1 (ko) | 2022-10-25 | 2023-10-13 | 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법 및 전자 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240057798A (ko) |
WO (1) | WO2024090862A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090030001A (ko) * | 2007-09-19 | 2009-03-24 | 이인옥 | 위치 인식 시스템에 사용되는 비컨의 선택 방법 |
KR20120049600A (ko) * | 2010-11-09 | 2012-05-17 | 한국씨앤오테크 주식회사 | 무선망을 이용한 근거리 위치 추적 시스템 및 방법 |
KR20150081610A (ko) * | 2014-01-06 | 2015-07-15 | 삼성전자주식회사 | 근거리 장애물 감지를 통한 빔 추적 방법 및 장치 |
JP2015197417A (ja) * | 2014-04-03 | 2015-11-09 | 日本電信電話株式会社 | 位置推定装置、方法、及びプログラム |
KR102064680B1 (ko) * | 2018-08-01 | 2020-01-09 | 한국해양대학교 산학협력단 | Wi-Fi 신호 특성과 실내 공간 구조가 고려된 비지도 및 강화학습 기반의 핑거프린트 방법 및 장치 |
-
2022
- 2022-10-25 KR KR1020220138457A patent/KR20240057798A/ko unknown
-
2023
- 2023-10-13 WO PCT/KR2023/015853 patent/WO2024090862A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090030001A (ko) * | 2007-09-19 | 2009-03-24 | 이인옥 | 위치 인식 시스템에 사용되는 비컨의 선택 방법 |
KR20120049600A (ko) * | 2010-11-09 | 2012-05-17 | 한국씨앤오테크 주식회사 | 무선망을 이용한 근거리 위치 추적 시스템 및 방법 |
KR20150081610A (ko) * | 2014-01-06 | 2015-07-15 | 삼성전자주식회사 | 근거리 장애물 감지를 통한 빔 추적 방법 및 장치 |
JP2015197417A (ja) * | 2014-04-03 | 2015-11-09 | 日本電信電話株式会社 | 位置推定装置、方法、及びプログラム |
KR102064680B1 (ko) * | 2018-08-01 | 2020-01-09 | 한국해양대학교 산학협력단 | Wi-Fi 신호 특성과 실내 공간 구조가 고려된 비지도 및 강화학습 기반의 핑거프린트 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20240057798A (ko) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019031714A1 (ko) | 객체를 인식하는 방법 및 장치 | |
WO2020022639A1 (ko) | 딥러닝 기반의 가치 평가 방법 및 그 장치 | |
WO2019059505A1 (ko) | 객체를 인식하는 방법 및 장치 | |
WO2019164232A1 (ko) | 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체 | |
WO2019074195A1 (ko) | 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램 | |
WO2020080830A1 (en) | Electronic device for reconstructing an artificial intelligence model and a control method thereof | |
WO2020046038A1 (ko) | 로봇 및 그의 제어 방법 | |
WO2019245186A1 (ko) | 전자 장치 및 그의 제어 방법 | |
WO2021101134A1 (en) | Electronic apparatus and control method thereof | |
WO2019132410A1 (en) | Electronic device and control method thereof | |
WO2021060721A1 (ko) | 전자 장치 및 그의 이미지 처리 방법 | |
WO2022080844A1 (ko) | 스켈레톤 분석을 이용한 객체 추적 장치 및 방법 | |
WO2020091207A1 (ko) | 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램과 인공 신경망 학습 방법, 장치 및 컴퓨터 프로그램 | |
WO2019054792A1 (ko) | 컨텐트를 제공하는 방법 및 단말기 | |
WO2022075530A1 (ko) | 인공지능 영상 처리를 이용한 선박 자동 인식 및 모니터링 시스템 및 그 제공 방법 | |
WO2018186625A1 (ko) | 전자 장치, 그의 경고 메시지 제공 방법 및 비일시적 컴퓨터 판독가능 기록매체 | |
WO2024090862A1 (ko) | 위치 정보를 추론하기 위한 인공지능 모델을 학습하는 방법 및 전자 장치 | |
WO2022035054A1 (ko) | 로봇 및 이의 제어 방법 | |
WO2020149493A1 (ko) | 전자 장치 및 이의 제어 방법 | |
WO2019054715A1 (ko) | 전자 장치 및 이의 피드백 정보 획득 방법 | |
CN112822471A (zh) | 投影控制方法、智能机器人及相关产品 | |
WO2022039494A1 (ko) | 단말의 모델을 갱신하는 서버 및 그 동작 방법 | |
WO2021107488A1 (en) | Server and method for controlling server | |
WO2021201365A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2024154840A1 (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: 23882969 Country of ref document: EP Kind code of ref document: A1 |