KR102243917B1 - Device and method for generating geomagnetic sensor based location estimation model using artificial neural networks - Google Patents

Device and method for generating geomagnetic sensor based location estimation model using artificial neural networks Download PDF

Info

Publication number
KR102243917B1
KR102243917B1 KR1020190045619A KR20190045619A KR102243917B1 KR 102243917 B1 KR102243917 B1 KR 102243917B1 KR 1020190045619 A KR1020190045619 A KR 1020190045619A KR 20190045619 A KR20190045619 A KR 20190045619A KR 102243917 B1 KR102243917 B1 KR 102243917B1
Authority
KR
South Korea
Prior art keywords
magnetic field
estimation model
generating
position estimation
unit
Prior art date
Application number
KR1020190045619A
Other languages
Korean (ko)
Other versions
KR20190042540A (en
Inventor
최린
장호준
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020190045619A priority Critical patent/KR102243917B1/en
Publication of KR20190042540A publication Critical patent/KR20190042540A/en
Application granted granted Critical
Publication of KR102243917B1 publication Critical patent/KR102243917B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V3/00Electric or magnetic prospecting or detecting; Measuring magnetic field characteristics of the earth, e.g. declination, deviation
    • G01V3/08Electric or magnetic prospecting or detecting; Measuring magnetic field characteristics of the earth, e.g. declination, deviation operating with magnetic or electric fields produced or modified by objects or geological structures or by detecting devices

Abstract

위치 추정 모델 생성 장치가 개시된다. 상기 위치 추정 모델 생성 장치는 실내 공간 상의 각 좌표에 대응하는 자기장 값을 포함하는 자기장 맵을 생성하는 맵 생성부, 학습 데이터를 생성하는 데이터 생성부 및 상기 학습 데이터를 이용하여 인공 신경망(Artificial Neural Network, ANN)을 학습하여 위치 추정 모델을 생성하는 학습부를 포함한다.An apparatus for generating a position estimation model is disclosed. The location estimation model generation apparatus includes a map generator for generating a magnetic field map including magnetic field values corresponding to respective coordinates in an indoor space, a data generator for generating training data, and an artificial neural network using the training data. , ANN) to generate a location estimation model.

Description

인공 신경망을 이용한 자기장 기반 위치 추정 모델 생성 장치 및 방법{DEVICE AND METHOD FOR GENERATING GEOMAGNETIC SENSOR BASED LOCATION ESTIMATION MODEL USING ARTIFICIAL NEURAL NETWORKS}An apparatus and method for generating a magnetic field-based position estimation model using an artificial neural network {DEVICE AND METHOD FOR GENERATING GEOMAGNETIC SENSOR BASED LOCATION ESTIMATION MODEL USING ARTIFICIAL NEURAL NETWORKS}

본 발명은 실내 위치 기반 서비스(indoor location based service)에 관한 것으로서, 특히 사용자의 이동으로 인한 자기장 값의 변화에 기초하여 사용자의 위치를 추정할 수 있는 위치 추정 모델의 생성 장치 및 방법에 관한 것이다.The present invention relates to an indoor location based service, and more particularly, to an apparatus and method for generating a location estimation model capable of estimating a user's location based on a change in a magnetic field value due to a user's movement.

실내 위치 기반 서비스에 대한 수요는 폭발적으로 증가하고 있으나, 기존 전파 기반 실내 측위 기술은 요구되는 성능 요건을 충족시키지 못하고 있다. 특히, Wi-Fi, BLE(Bluetooth Low Energy) 등 전파 기반의 위치 인식 기술로서, 삼변 측량(trilateration), 지문 인식(fingerprinting), TDoA(Time Difference of Arrival) 등 다양한 기법이 제안되었지만, 전파 신호의 시간적 불안정성과 실내 장애물에 의한 감쇄, 반사, 회절 등의 문제로 위치 인식의 오차가 실험실 환경에서는 2~5미터, 공항이나 쇼핑몰과 같은 대형 실내 환경에서는 10미터 이상의 오차가 보고되고 있어, 요구되는 성능을 만족하기에는 미흡한 실정이다.Demand for indoor location-based services is increasing explosively, but the existing radio-based indoor positioning technology has not been able to meet the required performance requirements. In particular, as a radio wave-based location recognition technology such as Wi-Fi and BLE (Bluetooth Low Energy), various techniques such as trilateration, fingerprint recognition, and TDoA (Time Difference of Arrival) have been proposed. Due to temporal instability and problems such as attenuation, reflection, and diffraction caused by indoor obstacles, errors in location recognition are reported to be 2 to 5 meters in laboratory environments and more than 10 meters in large indoor environments such as airports and shopping malls. It is insufficient to satisfy the situation.

이와 같은 문제를 해결하기 위해, 스마트폰 내의 IMU(Inertial Measurement Unit)를 이용한 보행자 추측항법(Pedestrian Dead Reckoning, PDR) 기술을 결합하여 성능을 개선하려는 시도가 이루어지고 있으나, 아직까지 만족할 만한 성능을 제공하지 못하고 있다. 그 밖에도 초음파, 카메라, LED, 레이저 등 다양한 센서를 이용하여 위치 인식 성능을 개선하려는 기술이 개발되고 있으나, 고가의 장비나 인프라를 구축하여야 하는 문제점이 있다.In order to solve such a problem, attempts have been made to improve performance by combining Pedestrian Dead Reckoning (PDR) technology using an IMU (Inertial Measurement Unit) in a smartphone, but it still provides satisfactory performance. I can't. In addition, technologies for improving location recognition performance using various sensors such as ultrasonic waves, cameras, LEDs, and lasers have been developed, but there is a problem in that expensive equipment or infrastructure needs to be built.

이에 본 발명에서는 실내 자기장의 변화를 인공 지능의 기계 학습 방법 중 하나인 순환 신경망(Recurrent Neural Network, RNN) 기술을 이용하여 사전 학습함으로써, 스마트폰과 같은 휴대용 단말만으로 실내 자기장의 변화 패턴을 인식하고 실내 위치를 추정하는 방법을 제안한다. 본 발명에 의할 경우, 실내 위치 인식의 정확성을 크게 향상시키면서도 기존 전파 기반 위치 인식에서 사용되는 AP(access point)나 비콘 등의 하드웨어 장비 없이 낮은 비용으로 시스템을 구현할 수 있다. 이에 따라 실내 위치 인식의 성능과 비용을 획기적으로 개선할 수 있을 것으로 기대된다.Accordingly, in the present invention, by pre-learning the change of the indoor magnetic field using a recurrent neural network (RNN) technology, which is one of the machine learning methods of artificial intelligence, the change pattern of the indoor magnetic field is recognized only with a portable terminal such as a smartphone. We propose a method of estimating the indoor location. According to the present invention, it is possible to implement a system at low cost without hardware equipment such as an access point (AP) or beacon used in the existing radio wave-based location recognition while greatly improving the accuracy of indoor location recognition. Accordingly, it is expected that the performance and cost of indoor location recognition can be dramatically improved.

대한민국 공개특허 제2016-0080842호 (2016.07.08. 공개)Republic of Korea Patent Publication No. 2016-0080842 (published on Jul. 08, 2016) 대한민국 공개특허 제2011-0025025호 (2011.03.09. 공개)Republic of Korea Patent Publication No. 2011-0025025 (published on March 9, 2011)

본 발명이 이루고자 하는 기술적인 과제는 사용자의 이동에 따른 실내 자기장 값의 변화를 이용하여 사용자의 위치를 추정할 수 있는 위치 추정 모델 생성 장치 및 방법을 제공하는 것이다.A technical problem to be achieved by the present invention is to provide an apparatus and method for generating a location estimation model capable of estimating a user's location by using a change in an indoor magnetic field value according to a user's movement.

본 발명의 실시 예에 따른 위치 추정 모델 생성 장치는 실내 공간 상의 각 좌표에 대응하는 자기장 값을 포함하는 자기장 맵을 생성하는 맵 생성부, 상기 자기장 맵을 이용하여 학습 데이터를 생성하는 데이터 생성부 및 상기 학습 데이터를 이용하여 인공 신경망(Artificial Neural Network, ANN)을 학습하여 위치 추정 모델을 생성하는 학습부를 포함한다.The apparatus for generating a position estimation model according to an embodiment of the present invention includes a map generator that generates a magnetic field map including a magnetic field value corresponding to each coordinate in an indoor space, a data generator that generates learning data using the magnetic field map, and And a learning unit for generating a position estimation model by learning an artificial neural network (ANN) using the training data.

본 발명의 실시 예에 따른 위치 추정 모델 생성 방법은 위치 추정 모델 생성 장치의 맵 생성부가 선형 보간법을 이용하여 실내 공간 상의 각 좌표에 대응하는 자기장 값으로부터 자기장 맵을 생성하는 단계, 상기 위치 추정 모델 생성 장치의 데이터 생성부가 상기 자기장 맵을 이용하여 학습 데이터를 생성하는 단계 및 상기 위치 추정 모델 생성 장치의 학습부가 상기 학습 데이터를 이용하여 순환 신경망을 학습하여 위치 추정 모델을 생성하는 단계를 포함한다.In the method for generating a location estimation model according to an embodiment of the present invention, the map generator of the location estimation model generation device generates a magnetic field map from magnetic field values corresponding to each coordinate in an indoor space using a linear interpolation method, and the location estimation model is generated. And generating, by a data generation unit of the device, training data using the magnetic field map, and generating, by a learning unit of the position estimation model generation unit, a recurrent neural network using the training data to generate a position estimation model.

본 발명의 실시 예에 따른 위치 추정 장치는 상기 위치 추정 모델 생성 방법에 의해 생성된 상기 위치 추정 모델이 저장된 위치 추정 모델 장치로서, 상기 실내 공간 상에서 사용자의 이동에 따라 변화하는 자기장 값을 측정하는 자기장 센서부, 상기 자기장 센서부에 의해 측정된 순차적인 자기장 값을 상기 위치 추정 모델에 입력하여 상기 사용자의 위치를 추정하는 위치 추정부 및 상기 위치 추정부에 의해 추정된 상기 사용자의 위치를 출력하는 위치 출력부를 포함한다.A location estimation apparatus according to an embodiment of the present invention is a location estimation model apparatus in which the location estimation model generated by the location estimation model generation method is stored, and a magnetic field that measures a magnetic field value that changes according to a user's movement in the indoor space A position estimating unit for estimating the user's position by inputting sequential magnetic field values measured by the sensor unit, the magnetic field sensor unit into the position estimating model, and a position for outputting the user’s position estimated by the position estimating unit Includes an output section.

본 발명의 실시 예에 따른 위치 추정 모델 생성 장치 및 방법에 의할 경우, 고가의 장비나 인프라가 설치되지 않은 환경에서도 높은 정확도로 사용자의 위치를 추정할 수 있는 효과가 있다.In the case of the apparatus and method for generating a location estimation model according to an embodiment of the present invention, there is an effect of estimating the location of a user with high accuracy even in an environment where expensive equipment or infrastructure is not installed.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 북동 아시아 지역의 자기장 분포를 도시한다.
도 2는 실험 장소에서 측정된 자기장 벡터의 크기를 시각화한 도면이다.
도 3은 본 발명에서 사용하는 순환 신경망(RNN)의 기본 구조를 도시한다.
도 4는 생성된 자기장 맵을 시각화한 도면이다.
도 5는 학습 데이터의 생성 및 신경망 학습 과정을 도시한다.
도 6은 은닉 노드의 개수별로 실행 횟수에 따른 오차를 도시한 그래프이다.
도 7은 미니 배치의 크기에 따른 학습 오차율의 변화를 도시한다.
도 8은 평가 데이터를 이용한 위치 인식의 결과를 도시한다.
도 9에는 은닉 노드의 개수에 따른 위치 인식의 성능 결과를 도시한다.
도 10은 본 발명의 일 실시 예에 따른 위치 추정 모델 생성 장치의 기능 블럭도이다.
도 11은 본 발명의 일 실시 예에 따른 위치 추정 장치의 기능 블럭도이다.
도 12는 도 10에 도시된 위치 추정 모델 생성 장치에 의해 수행되는 위치 추정 모델 생성 방법을 설명하기 위한 흐름도이다.
도 13은 도 11에 도시된 위치 추정 장치에 의해 수행되는 위치 추정 방법을 설명하기 위한 흐름도이다.
도 14는 도 10에 도시된 위치 추정 모델 생성 장치 또는 도 11에 도시된 위치 추정 장치의 예시적인 하드웨어 블럭도이다.
In order to more fully understand the drawings cited in the detailed description of the present invention, a detailed description of each drawing is provided.
1 shows the magnetic field distribution in the Northeast Asia region.
2 is a diagram for visualizing the magnitude of a magnetic field vector measured at an experiment site.
3 shows the basic structure of a recurrent neural network (RNN) used in the present invention.
4 is a diagram illustrating a generated magnetic field map.
5 shows a process of generating training data and training a neural network.
6 is a graph showing an error according to the number of executions for each number of hidden nodes.
7 shows the change of the learning error rate according to the size of the mini-batch.
8 shows a result of location recognition using evaluation data.
9 shows a performance result of location recognition according to the number of hidden nodes.
10 is a functional block diagram of an apparatus for generating a position estimation model according to an embodiment of the present invention.
11 is a functional block diagram of a location estimation apparatus according to an embodiment of the present invention.
12 is a flowchart illustrating a method of generating a position estimation model performed by the apparatus for generating a position estimation model illustrated in FIG. 10.
13 is a flowchart illustrating a method of estimating a position performed by the position estimating apparatus illustrated in FIG. 11.
14 is an exemplary hardware block diagram of the apparatus for generating a position estimation model illustrated in FIG. 10 or the apparatus for estimating a position illustrated in FIG. 11.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in the present specification are exemplified only for the purpose of describing the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can apply various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail in the present specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.Terms such as first or second may be used to describe various constituent elements, but the constituent elements should not be limited by the terms. The above terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of the rights according to the concept of the present invention, the first component may be referred to as the second component and similarly the second component. The component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it is directly connected to or may be connected to the other component, but other components may exist in the middle. It should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle. Other expressions describing the relationship between components, such as "between" and "directly between" or "adjacent to" and "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described herein, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance the possibility of the presence or addition.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein including technical or scientific terms have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be construed as having a meaning consistent with the meaning of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present specification. Does not.

이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

지구 자기장은 지구의 자남극점(south magnetic pole)에서 자북극점(north magnetic pole)으로 이어지는 거대한 자기장의 흐름을 말한다. 미국 해양대기관리처(National Oceanic and Atmospheric Administration, NOAA)의 2015년 세계 자기장 모델에 따르면 지구 자기장은 지역별로 각기 다른 분포를 보인다. 북동 아시아 지역의 자기장 분포를 도시하는 도 1을 참조하면, 대한민국은 50 μT(micro tesla)의 권역에 위치한다.Earth's magnetic field refers to the flow of a huge magnetic field from the Earth's south magnetic pole to the north magnetic pole. According to the 2015 Global Magnetic Field Model by the National Oceanic and Atmospheric Administration (NOAA), the Earth's magnetic field has a different distribution by region. Referring to FIG. 1 showing the magnetic field distribution in the Northeast Asia region, Korea is located in a region of 50 μT (micro tesla).

지역별로 다른 분포를 보이는 지구 자기장 값은 실내에서 더욱 큰 차이를 보인다. 그 원인으로 실내 건축물의 구조상 H-빔과 같은 자재를 사용하기 때문이며, 철제 출입문, 승강기 구조물, 전기 모터 등 다양한 건축 구조물이 실내 자기장 값에 영향을 주기 때문이다. 실제 실험 장소(고려대학교 공학관 로비)에서 자기장 값은 10 μT ~ 120 μT의 분포를 보임을 확인하였다.The values of the Earth's magnetic field, which have different distributions by region, show a larger difference indoors. This is because materials such as H-beams are used in the structure of indoor buildings, and various architectural structures such as steel entrance doors, elevator structures, and electric motors affect the indoor magnetic field value. It was confirmed that the magnetic field values were distributed in the range of 10 μT to 120 μT at the actual test site (Korea University Engineering Hall lobby).

지구 자기장 값은 3차원 공간에서의 벡터로 표시된다. 실험 장소에서 측정된 자기장 벡터의 크기(magnitude)를 시각화한 도 2를 참조하면, 실내에서 보행자의 이동은 측정되는 자기장 값의 변화를 야기하며 자기장 맵 등고선 상에서의 움직임으로 시각화될 수 있다. 또한, 자기장을 이용하여 실내 위치를 인식하고자 할 때는 다음과 같은 특성을 고려하여야 한다.Earth's magnetic field values are expressed as vectors in three-dimensional space. Referring to FIG. 2, which visualizes the magnitude of the magnetic field vector measured at the experiment site, the movement of a pedestrian indoors causes a change in the measured magnetic field value, and can be visualized as a movement on a magnetic field map contour line. In addition, when attempting to recognize an indoor location using a magnetic field, the following characteristics must be considered.

1) 실내 공간에서 동일한 자기장 벡터 값을 갖는 여러 장소가 존재할 수 있다. 따라서, 단일 자기장 벡터 값만으로는 현재의 위치를 결정하기 어렵다.1) In an indoor space, there may be several places with the same magnetic field vector value. Therefore, it is difficult to determine the current position using only a single magnetic field vector value.

2) 보행자의 움직임은 연속적인 이동 궤적을 갖는다. 이는 t-1 시간에서의 보행자의 위치와 t 시간에서의 보행자의 위치 차이가 작으며 연속적인 값을 가짐을 의미한다. 따라서, 현재의 위치는 이전 시간의 위치에 영향을 받는다.2) Pedestrian movement has a continuous movement trajectory. This means that the difference between the position of the pedestrian at time t-1 and the position of the pedestrian at time t is small and has a continuous value. Therefore, the current position is affected by the position of the previous time.

3) 실내에서의 보행자 이동 궤적과 마찬가지로 자기장 값의 변화 역시 연속적이다. 즉, 서로 인접한 위치의 자기장 값은 그 차이가 크지 않으며, 따라서 보행자의 이동에 따른 자기장 값의 변화는 등고선 상의 움직임과 같이 연속적인 특성을 갖는다.3) Like the pedestrian movement trajectory indoors, the change in the magnetic field value is also continuous. That is, the magnetic field values at adjacent locations do not have a large difference, and therefore, the change of the magnetic field value according to the movement of a pedestrian has a continuous characteristic like a movement on a contour line.

이를 종합하면, 보행자의 이동에 따라 검출된 자기장 벡터 값의 변화 추이가 곡선 파형으로 표시될 수 있으며, 이는 연속적인 자기장 벡터 값, 즉 자기장 벡터 값 시퀀스의 길이가 길어짐에 따라 고유의 파형 패턴이 형성되므로 추정할 수 있는 현재 위치는 한 곳으로 수렴되는 특성을 갖는다.Taken together, the trend of the change of the magnetic field vector value detected according to the movement of the pedestrian can be displayed as a curved waveform, which forms a unique waveform pattern as the length of the continuous magnetic field vector value, that is, the magnetic field vector value sequence becomes longer. Therefore, the current position that can be estimated has a characteristic that converges to one place.

본 발명에서는 딥 러닝(Deep Learning) 기술 중 하나인 순환 신경망(Recurrent Neural Network, RNN) 기법을 사용하여 실내 자기장 값의 변화 추이를 입력으로 정확한 실내 위치를 추정하고자 한다. 다양한 인공 신경망(artificial neural network, ANN) 중에서 순환 신경망(RNN)은 출력으로부터 입력으로의 피드백 루프(feedback loop)가 존재한다. 따라서, 순환 신경망(RNN)으로 학습된 출력 결과는 현재의 입력 값뿐만 아니라 과거의 모든 입력 값에 의해 결정되는 특성을 가져, 입력 및 출력 데이터가 시간 축에서 상호 연속적인 관계를 갖는 실내 위치 인식에서 적합하게 사용될 수 있다.In the present invention, a recurrent neural network (RNN) technique, which is one of deep learning technologies, is used to estimate an accurate indoor location by inputting a change trend of an indoor magnetic field value. Among various artificial neural networks (ANNs), a recurrent neural network (RNN) has a feedback loop from an output to an input. Therefore, the output result learned by the recurrent neural network (RNN) has a characteristic that is determined not only by the current input value but also by all past input values, so that the input and output data have a continuous relationship with each other on the time axis. It can be used suitably.

도 3은 본 발명에서 사용하는 순환 신경망(RNN)의 기본 구조를 도시한다.3 shows the basic structure of a recurrent neural network (RNN) used in the present invention.

Figure 112019040093268-pat00001
을 입력 층(input layer)에서 은닉 층(hidden layer)으로의 링크에 적용되는 가중치,
Figure 112019040093268-pat00002
를 은닉 층에서 은닉 층으로의 링크에 적용되는 가중치,
Figure 112019040093268-pat00003
을 은닉 층에서 출력 층(output layer)으로의 링크에 적용되는 가중치, 2차원 공간상의 점인
Figure 112019040093268-pat00004
를 시간
Figure 112019040093268-pat00005
시점에서의 최종 출력,
Figure 112019040093268-pat00006
를 중간층의 활성화 함수,
Figure 112019040093268-pat00007
을 출력 층의 활성화 함수라 하면, 순환 신경망 모델의 시간
Figure 112019040093268-pat00008
시점에서의 출력
Figure 112019040093268-pat00009
는 수학식 1과 같다.
Figure 112019040093268-pat00001
The weight applied to the link from the input layer to the hidden layer,
Figure 112019040093268-pat00002
The weight applied to the link from the hidden layer to the hidden layer,
Figure 112019040093268-pat00003
Is the weight applied to the link from the hidden layer to the output layer, which is a point in two-dimensional space.
Figure 112019040093268-pat00004
Time to
Figure 112019040093268-pat00005
Final output at the time point,
Figure 112019040093268-pat00006
The activation function of the middle layer,
Figure 112019040093268-pat00007
Is the activation function of the output layer, the time of the recurrent neural network
Figure 112019040093268-pat00008
Output at the time point
Figure 112019040093268-pat00009
Is equal to Equation 1.

Figure 112019040093268-pat00010
Figure 112019040093268-pat00010

본 발명에서는 자기장 맵을 기반으로 보행자의 이동 경로에 따른 자기장 변화 패턴을 사전에 학습하여 자기장 기반 실내 측위에 최적화된 인공 신경망을 구축하고자 한다. 자기장 맵은 자기장 측정이 가능한 스마트폰 또는 자기장 센서를 이용하여 실내 공간의 일정 간격마다 설정된 기준점(refrernce point)에서 자기장을 측정한 후 측정된 자기장 값과 실제 좌표를 하나의 테이블로 구성한 것을 의미한다. 이때, 각 측정 기준점 사이의 간격이 세밀해짐에 따라 위치 인식의 정확도는 높아지지만, 자기장 맵을 생성하는데 소요되는 시간과 노력이 증가하는 문제점이 발생한다. 따라서, 본 발명에서는 자기장이 거리에 따라 선형적으로 증가 또는 감소하는 현상을 가짐에 주목하여 선형 보간법(linear interpolation)을 통해 실제 측정되지 않은 좌표의 자기장 값을 보간함으로써 높은 해상도를 갖는 자기장 맵을 생성할 수 있다. 도 4는 생성된 자기장 맵을 시각화한 도면이다.In the present invention, based on a magnetic field map, an artificial neural network optimized for indoor positioning based on a magnetic field is constructed by learning in advance a magnetic field change pattern according to a pedestrian's moving path. The magnetic field map means that a magnetic field value and actual coordinates measured after measuring a magnetic field at a reference point set at regular intervals in an indoor space using a smartphone or a magnetic field sensor capable of measuring a magnetic field are configured in one table. At this time, as the distance between each measurement reference point becomes finer, the accuracy of location recognition increases, but there is a problem that the time and effort required to generate the magnetic field map increase. Therefore, in the present invention, noting that the magnetic field increases or decreases linearly with distance, the magnetic field map with high resolution is generated by interpolating the magnetic field values of the coordinates that are not actually measured through linear interpolation. can do. 4 is a diagram illustrating a generated magnetic field map.

딥 러닝을 이용한 실내 위치 인식을 위해서는 사전에 신경망의 학습을 통한 최적화가 필요하다. 신경망 학습을 위한 학습 데이터를 생성하기 위해 자기장 맵을 기반으로 사용자의 움직임을 가상으로 생성한다. 생성된 가상 경로는 좌표와 좌표에 매핑된 자기장 값으로 구성된다. 학습 데이터의 양은 실내 위치 인식 성능에 큰 영향을 미치기 때문에, 전체 맵을 충분히 학습할 수 있도록 학습 데이터는 충분히 생성되어야 한다. 학습 데이터의 생성 과정을 자동으로 구성하여 학습 데이터 생성에 소요되는 시간은 크게 단축될 수 있다. 생성된 학습 데이터의 자기장 벡터 값을 신경망의 입력 값으로, 생성된 학습 데이터의 좌표를 신경망의 출력 목표값으로 입력하고 순전파(feed-forward) 과정 및 역전파(back-propagation) 과정을 통해 신경망에 대한 자기장 맵의 학습을 진행하여 최적화된 신경망이 생성될 수 있다. 학습 데이터의 생성 및 신경망 학습 과정은 도 5에 도시되어 있다.In order to recognize indoor location using deep learning, it is necessary to optimize through learning of a neural network in advance. In order to generate training data for neural network training, the user's movement is virtually generated based on the magnetic field map. The generated virtual path is composed of coordinates and magnetic field values mapped to the coordinates. Since the amount of training data has a great influence on the indoor location recognition performance, the training data must be sufficiently generated so that the entire map can be sufficiently learned. By automatically configuring the process of generating the training data, the time required to generate the training data can be greatly reduced. Neural network through the feed-forward process and back-propagation process by inputting the magnetic field vector value of the generated training data as the input value of the neural network and the coordinates of the generated training data as the output target value of the neural network. An optimized neural network can be generated by learning a magnetic field map for. The process of generating training data and learning a neural network is illustrated in FIG. 5.

신경망 학습을 위한 과정은 크게 순전파(feed-forward) 과정과 역전파(back-propagation) 과정으로 나뉜다. 순전파 과정에서, 우선 X, Y, Z 축 세 개의 자기장 벡터 값을 입력 층에 입력하여 은닉 층의 가중치와의 1차 함수 계산을 진행한다. 이후 계산 결과는 활성화 함수를 거쳐 계산 결과의 범위가 조정된다. 본 발명에서는 ReLU(Rectified Linear Unit) 함수를 활성화 함수로 사용하였으나, 활성화 함수의 종류에 본 발명의 권리범위가 제한되는 것은 아니다. 충분히 학습되지 않은 신경망은 은닉 층의 가중치가 최적화되지 않은 상태이기 때문에, 출력 층에 출력되는 결과가 원래 목표로 하는 결과와 차이를 보이다. 이와 같이 출력 층에 출력되는 결과와 원래 목표로 하는 결과 사이의 차이를 학습 오차로 규정한다. 학습 오차를 감소시키기 위해 역전파 과정이 수행된다. 역전파 과정에서, 우선 오차 함수를 이용하여 출력 층에서의 오차 신호를 계산한다. 본 발명에서는 MSE(Mean Squared Error) 함수를 오차 함수로 사용하였으나, 오차 함수의 종류에 본 발명의 권리범위가 제한되는 것은 아니다. 다음으로, 역전파 가중치 업데이트(back-propagation weight update) 공식을 통해 은닉 층의 가중치를 수정한다. 본 발명에서는 Gradient Descent Optimizer를 사용하였다. 상술한 과정을 반복 수행하여 최저 오차율에 수렴하는 최적화된 신경망을 구성할 수 있다.The process for learning a neural network is largely divided into a feed-forward process and a back-propagation process. In the forward propagation process, first, the values of the magnetic field vectors of the three X, Y, and Z axes are input to the input layer to calculate a linear function with the weight of the hidden layer. Thereafter, the calculation result is subjected to an activation function and the range of the calculation result is adjusted. In the present invention, a ReLU (Rectified Linear Unit) function is used as an activation function, but the scope of the present invention is not limited to the type of activation function. In a neural network that is not sufficiently trained, the weight of the hidden layer is not optimized, so the result output to the output layer shows a difference from the original target result. In this way, the difference between the result output to the output layer and the original target result is defined as a learning error. In order to reduce the learning error, a backpropagation process is performed. In the backpropagation process, first, an error signal in the output layer is calculated using an error function. In the present invention, the MSE (Mean Squared Error) function is used as the error function, but the scope of the present invention is not limited to the type of the error function. Next, the weight of the hidden layer is modified through a back-propagation weight update formula. In the present invention, a gradient descent optimizer was used. By repeatedly performing the above-described process, an optimized neural network that converges to the lowest error rate can be constructed.

순환 신경망은 t-1 시간에서 연산된 은닉 층의 출력 결과를 다음 연산 시간인 t 그리고 t+1 시간에서 순환하여 재사용하는 특성을 가지며, 이는 출력 결과에서 상호 연관 관계를 형성하게 된다. 본 발명에서 사용한 딥러닝 프레임워크인 "Tensorflow"에서는 이를 상태(state)라 명명하며, 다음 단위 시간의 연산에 입력으로 처리한다. 순환 신경망의 이와 같은 특징으로 인하여 연속적인 경로를 가지는 실내 위치 인식에서 적합하게 사용이 가능하다.The recurrent neural network has the characteristic of circulating and reusing the output result of the hidden layer computed at time t-1 at the next computation time t and t+1, which forms a correlation in the output result. In "Tensorflow", a deep learning framework used in the present invention, this is called a state, and it is processed as an input to the next unit time operation. Due to this characteristic of the recurrent neural network, it can be suitably used in indoor location recognition with a continuous path.

인공 신경망의 학습 과정에서 은닉 층의 은닉 노드의 개수, 미니배치(mini batch)의 크기, 전체 실행 횟수(epoch)의 설정 및 학습률(learning rate) 값은 학습 결과에 직접적으로 영향을 미치는 요소로 학습 데이터의 특성에 맞게 최적의 값을 찾는 것이 중요하다. 본 발명에서는 은닉 노드의 개수를 2, 5, 10, 20 개로 증가시키며 목표 오차율에 수렴하는 전체 실행 횟수를 비교하였으며, 그 결과는 도 6에 도시되어 있다. 도 6을 참조하면, 은닉 노드의 개수가 증가할수록 목표 오차율에 수렴하는 전체 실행 횟수가 감소함을 알 수 있다.In the learning process of the artificial neural network, the number of hidden nodes in the hidden layer, the size of the mini-batch, the setting of the total number of executions (epoch), and the learning rate are factors that directly affect the learning result. It is important to find the optimal value according to the characteristics of the data. In the present invention, the number of hidden nodes is increased to 2, 5, 10, and 20, and the total number of executions converged to the target error rate is compared, and the result is shown in FIG. 6. Referring to FIG. 6, it can be seen that as the number of hidden nodes increases, the total number of executions converging to the target error rate decreases.

학습 데이터의 전체 데이터 셋을 하나의 배치로 구성하여 인공 신경망 학습을 진행하면, 처음 학습한 데이터가 신경망의 학습 반복 횟수가 증가함에 따라 잊혀지며, 기울기가 급격히 증가(Gradient Exploding)하는 문제가 발생할 수 있다. 또한, 본 발명에서 사용한 프레임워크인 "Tensorflow" 어플리케이션의 구조적 특성상 전체 배치 크기에 대한 모든 신경망을 사전에 모두 구성하여 실험을 진행하면 학습 과정에서 메모리 부족 문제가 발생할 수 있다. 이를 해결하고자 본 발명에서는 미니 배치를 사용하여 전체 데이터 셋을 작은 단위의 배치 크기(batch size)로 재구성하여 각각의 작은 단위를 학습하는 배치 정규화 과정을 진행하였다. 미니 배치의 크기가 증가할수록 최저 오차율에 수렴하는 속도는 빠르지만, 수렴하는 오차율이 점점 증가하는 추세를 보였다. 미니 배치의 크기에 따른 학습 오차율의 변화는 도 7에 도시되어 있다.If the artificial neural network training is performed by configuring the entire data set of training data in one batch, the first learned data is forgotten as the number of training iterations of the neural network increases, and a problem that the gradient rapidly increases (Gradient Exploding) may occur. have. In addition, due to the structural characteristics of the "Tensorflow" application, which is a framework used in the present invention, if all neural networks for the entire batch size are configured in advance and an experiment is performed, a memory shortage problem may occur in the learning process. To solve this problem, in the present invention, a batch normalization process of learning each small unit by reconstructing the entire data set into a small unit batch size using mini-batch was performed. As the size of the mini-batch increases, the rate of convergence to the lowest error rate is faster, but the convergence error rate gradually increases. The change in the learning error rate according to the size of the mini-batch is shown in FIG. 7.

자기장 맵의 크기 및 해상도에 따라 신경망의 최적화된 값은 상이하며 여러 파라미터 값의 대입을 통해 오차율을 조정하여 실제 환경에 맞는 최적화된 신경망을 구성해야 실내 위치 인식에서 최적의 성능을 얻을 수 있다.Depending on the size and resolution of the magnetic field map, the optimized value of the neural network is different, and the optimal performance in indoor location recognition can be obtained by configuring the optimized neural network for the real environment by adjusting the error rate through substitution of several parameter values.

학습된 신경망, 즉 위치 추정 모델의 평가를 위해, 평가 데이터를 최적화된 신경망에 입력하여 위치 인식을 수행할 수 있다. 자기장 센서에서 측정된

Figure 112019040093268-pat00011
자기장 값(또는 평가 데이터)은 신경망의 입력 값으로 입력되며, 신경망 순전파 과정을 통해 현재 좌표가 출력되고, 신경망의 특성을 이용하여 다음 단위 시간에서 연속적인 위치 인식 결과가 출력될 수 있다. 실제 위치 인식에서는 현재 위치를 알 수 없기 때문에 오차 함수 계산이 불가능하므로 신경망 최적화를 위한 역전파 과정을 진행할 수는 없다.In order to evaluate a trained neural network, that is, a position estimation model, position recognition may be performed by inputting evaluation data into an optimized neural network. Measured by the magnetic field sensor
Figure 112019040093268-pat00011
The magnetic field value (or evaluation data) is input as an input value of the neural network, the current coordinates are output through a forward propagation process of the neural network, and a continuous position recognition result may be output at the next unit time using the characteristics of the neural network. In real position recognition, since the current position is not known, the error function cannot be calculated, so the backpropagation process for optimizing the neural network cannot be performed.

은닉 노드의 개수를 20, 학습율(learning rate)을 0.001, 배치 사이즈(batch size)를 200개로 설정하여, 생성된 학습 데이터를 이용한 시뮬레이션을 수행한 결과, 최소 0m, 최대 2.091m, 평균 1.256m의 위치 인식 오차를 나타내었다. 평가 데이터를 이용한 위치 인식의 결과는 도 8에 도시되어 있다.The number of hidden nodes was set to 20, the learning rate was set to 0.001, and the batch size was set to 200. As a result of performing a simulation using the generated learning data, the result was a minimum of 0m, a maximum of 2.091m, and an average of 1.256m. The location recognition error is shown. The result of location recognition using the evaluation data is shown in FIG. 8.

단일의 시뮬레이션 결과뿐만 아니라 은닉 노드의 개수를 2, 4, 10, 50, 200, 500, 1000 개로 점차 증가시키며 시뮬레이션을 진행한 결과 은닉 노드의 개수가 많을수록 위치 인식의 성능이 향상되는 경향을 보였지만, 200 개 이상의 은닉 노드를 사용한 경우 위치 인식 오차가 소폭 증가함을 확인할 수 있었다. 표 1과 도 9에는 각각이 상이한 다섯 개의 학습 데이터 및 평가 데이터를 이용하였을 때 은닉 노드의 개수에 따른 위치 인식의 성능 결과를 도시한다. 도 9에서, 각 요소에 두껍게 처리된 상자는 전체 위치 인식 샘플의 80%가 모여있는 범위이며, 그 외의 바(bar)는 99%의 샘플이 모여있는 범위이다.In addition to the single simulation result, the number of hidden nodes was gradually increased to 2, 4, 10, 50, 200, 500, and 1000. As a result of the simulation, as the number of hidden nodes increased, the performance of location recognition tended to improve. If more than 200 hidden nodes were used, it could be confirmed that the location recognition error slightly increased. Tables 1 and 9 show performance results of location recognition according to the number of hidden nodes when five different training data and evaluation data are used. In FIG. 9, a box thickened on each element is a range in which 80% of all position recognition samples are gathered, and other bars are a range in which 99% of samples are gathered.

은닉 노드의 개수Number of hidden nodes 최소 오차(m)Minimum error (m) 평균 오차(m)Mean error (m) 최대 오차(m)Maximum error (m) 22 00 5.8155.815 10.58710.587 44 1.0771.077 5.1595.159 11.04411.044 1010 0.7770.777 2.4192.419 3.3373.337 2020 0.7810.781 1.4981.498 1.8141.814 5050 0.9740.974 1.5941.594 1.9371.937 200200 0.080.08 2.4972.497 3.8793.879 500500 0.0580.058 2.2512.251 3.3563.356 10001000 0.0850.085 2.2042.204 3.6563.656

도 10은 본 발명의 일 실시 예에 따른 위치 추정 모델 생성 장치의 기능 블럭도이다.10 is a functional block diagram of an apparatus for generating a position estimation model according to an embodiment of the present invention.

위치 추정 모델 생성 서버로 명명될 수도 있는 위치 추정 모델 생성 장치(100)는 소정의 실내 공간의 자기장 분포에 관한 정보를 포함하는 자기장 맵을 생성하고, 생성된 자기장 맵과 학습 데이터를 이용하여 위치 추정 모델을 학습함으로써 최적화된 위치 추정 모델을 생성할 수 있다. 위치 추정 모델 생성 장치(100)는 맵 생성부(110), 데이터 생성부(130) 및 학습부(150)를 포함한다. 실시 예에 따라, 위치 추정 모델 생성 장치(100)는 모델 평가부(170)와 저장부(190) 중 적어도 하나를 더 포함할 수 있다.The location estimation model generation apparatus 100, which may be referred to as a location estimation model generation server, generates a magnetic field map including information on a magnetic field distribution in a predetermined indoor space, and estimates a location using the generated magnetic field map and learning data. By learning the model, an optimized position estimation model can be generated. The location estimation model generation apparatus 100 includes a map generation unit 110, a data generation unit 130, and a learning unit 150. According to an embodiment, the apparatus 100 for generating a location estimation model may further include at least one of a model evaluation unit 170 and a storage unit 190.

맵 생성부(110)는 위치 추정을 수행할 실내 공간의 좌표별 자기장 분포 정보를 포함하는 자기장 맵을 생성할 수 있다. 상기 자기장 맵은 일정 간격으로 기준점이 설정된 실내 공간의 각 기준점의 좌표 및 이에 대응되는 자기장 값을 하나의 테이블로 구성할 것을 의미할 수 있다.The map generator 110 may generate a magnetic field map including magnetic field distribution information according to coordinates of an indoor space in which position estimation is to be performed. The magnetic field map may mean that coordinates of each reference point in an indoor space in which reference points are set at regular intervals and a magnetic field value corresponding thereto are configured as one table.

상기 각 기준점에서의 자기장 값은 자기장 센서, 예컨대 스마트폰(smart phone) 등을 이용하여 측정될 수 있으며, 측정된 자기장 값은 소정의 입력 인터페이스 또는 유무선 통신망을 통하여 위치 추정 모델 생성 장치(100)의 맵 생성부(110)로 전달될 수 있다.The magnetic field value at each of the reference points may be measured using a magnetic field sensor, such as a smart phone, and the measured magnetic field value is the position estimation model generating apparatus 100 through a predetermined input interface or wired/wireless communication network. It may be transmitted to the map generator 110.

또한, 맵 생성부(110)는 소정의 알고리즘, 예컨대 선형 보간법(linear interpolation)을 이용하여 생성된 자기장 맵의 해상도를 높일 수 있다. 즉, 상기 선형 보간법을 이용하여, 직접적으로 자기장 값이 측정되지 않은 지점의 자기장 값을 보간함으로써, 해상도가 높은 자기장 맵을 생성할 수도 있다.In addition, the map generator 110 may increase the resolution of the magnetic field map generated by using a predetermined algorithm, for example, linear interpolation. That is, by using the linear interpolation method, a magnetic field map with high resolution may be generated by interpolating a magnetic field value at a point where a magnetic field value is not directly measured.

데이터 생성부(130)는 위치 추정 모델의 학습 및/또는 평가에 이용될 학습 데이터를 생성할 수 있다. 일 예로, 데이터 생성부(130)는 위치 추정이 수행될 실내 공간 상의 가상 경로를 생성할 수 있다. 상기 가상 경로는 상기 가상 경로에 포함되는 각 지점의 좌표와 각 지점에 매핑된 자기장 값을 포함할 수 있다. 상기 가상 경로에 포함되는 연속적인 각 지점의 좌표와 각 지점에 매핑된 자기장 값의 집합을 학습 데이터라 할 수 있다.The data generator 130 may generate training data to be used for training and/or evaluation of the position estimation model. For example, the data generator 130 may generate a virtual path on an indoor space in which position estimation is to be performed. The virtual path may include coordinates of each point included in the virtual path and a magnetic field value mapped to each point. A set of coordinates of each continuous point included in the virtual path and a magnetic field value mapped to each point may be referred to as learning data.

이때, 전체 학습 데이터 셋을 하나의 배치로 구성하여 위치 추정 모델, 즉 순환 신경망을 학습할 경우, 처음 학습한 데이터는 순환 신경망의 학습 반복 횟수가 증가함에 따라 잊혀지며, 기울기가 급격히 증가(gradient exploding)하는 문제가 발생할 수 있다. 따라서, 데이터 생성부(130)는 전체 학습 데이터를 미리 정해진 배치 크기(batch size)를 갖는 복수의 미니 배치로 분할할 수도 있다. 이 경우, 복수의 미니 배치로 분할된 학습 데이터를 이용하여 순환 신경망이 학습될 수 있다.In this case, when a position estimation model, that is, a recurrent neural network, is trained by configuring the entire training data set into one batch, the first learned data is forgotten as the number of iterations of the recurrent neural network training increases, and the gradient exploding rapidly increases. ) Problems may occur. Accordingly, the data generator 130 may divide the entire training data into a plurality of mini-batch having a predetermined batch size. In this case, a recurrent neural network may be trained using training data divided into a plurality of mini-batch.

학습부(150)는 데이터 생성부(130)에 의해 생성된 학습 데이터를 이용하여 인공 신경망(artificial neural network, ANN), 특히 순환 신경망(recurrent neural network, RNN)을 학습함으로써, 최적화된 순환 신경망, 즉 위치 추정 모델을 생성할 수 있다. 구체적으로, 학습부(150)는 순전파 과정을 통해 데이터 생성부(130)에 의해 생성된 학습 데이터에 포함된 자기장 값을 순환 신경망의 입력 층에 입력하여 입력된 자기장 값에 대응하는 출력 좌표를 얻을 수 있다. 또한, 학습부(150)는 역전파 과정을 통해 출력 좌표와 학습 데이터에 포함된 좌표, 즉 목표값과의 오차를 이용하여 순환 신경망을 이루는 은닉 층의 가중치를 수정할 수 있다. 학습부(150)는 연속적인 자기장 값과 연속적인 좌표 값을 갖는 학습 데이터를 이용하여 학습 과정을 반복 수행함으로써 최저 오차율 또는 목표 오차율에 수렴하는 최적화된 순환 신경망을 생성할 수 있다. 최적화된 순환 신경망은 위치 추정 모델이라 명명될 수도 있다.The learning unit 150 learns an artificial neural network (ANN), in particular a recurrent neural network (RNN), using the training data generated by the data generation unit 130, and thus an optimized recurrent neural network, That is, a location estimation model can be generated. Specifically, the learning unit 150 inputs a magnetic field value included in the training data generated by the data generation unit 130 through a forward propagation process into the input layer of the recurrent neural network, and output coordinates corresponding to the input magnetic field value are obtained. You can get it. In addition, the learning unit 150 may modify the weight of the hidden layer constituting the recurrent neural network by using an error between the output coordinate and the coordinate included in the training data, that is, a target value through a backpropagation process. The learning unit 150 may generate an optimized recurrent neural network that converges to a minimum error rate or a target error rate by repeatedly performing a learning process using training data having continuous magnetic field values and continuous coordinate values. The optimized recurrent neural network may also be referred to as a position estimation model.

모델 평가부(170)는 데이터 생성부(130)에 의해 생성된 학습 데이터의 일부, 즉 평가 데이터를 이용하여 학습부(150)에 의해 학습된 위치 추정 모델의 오차율을 평가할 수 있다. 실제 위치 인식에서는 현재 자신의 위치를 알 수 없어 오차 함수 계산이 불가능하므로, 신경망 최적화를 위한 역전파 과정을 진행할 수는 없다. 따라서, 모델 평가부(170)는 평가 데이터에 포함된 연속적인 자기장 값을 위치 추정 모델에 입력하여 이에 대응하는 좌표값을 얻을 수 있다. 출력된 좌표값과 평가 데이터에 포함된 좌표값의 오차를 비교함으로써, 위치 추정 모델의 오차율이 평가될 수 있다. 실시 예에 따라, 평가 데이터는 데이터 생성부(130)에 의해 별도로 생성될 수도 있다. 이때, 상기 평가 데이터의 생성 과정은 학습 데이터의 생성 과정과 동일할 수 있다.The model evaluation unit 170 may evaluate an error rate of the position estimation model learned by the learning unit 150 by using a part of the training data generated by the data generation unit 130, that is, the evaluation data. In real position recognition, the error function cannot be calculated because the current position is not known, so the backpropagation process for optimizing the neural network cannot be performed. Accordingly, the model evaluation unit 170 may input a continuous magnetic field value included in the evaluation data into the position estimation model to obtain a coordinate value corresponding thereto. By comparing the error between the output coordinate value and the coordinate value included in the evaluation data, the error rate of the position estimation model may be evaluated. According to an embodiment, the evaluation data may be separately generated by the data generator 130. In this case, the process of generating the evaluation data may be the same as the process of generating the training data.

저장부(190)에는 위치 추정 모델의 생성 과정에서 이용되거나 생성되는 데이터, 순환 신경망 알고리즘, 최적화된 위치 추정 모델 등이 저장될 수 있다.The storage unit 190 may store data used or generated in a process of generating a location estimation model, a recurrent neural network algorithm, an optimized location estimation model, and the like.

도 10에 도시된 위치 추정 모델 생성 장치(100)는 서버(server), PC(personal computer), 태블릿 PC, 노트북(notebook) 등과 같은 컴퓨팅 장치(computing device)로 구현될 수 있다. 상기 컴퓨팅 장치에 관하여는 도 14를 통하여 상세하게 설명하기로 한다.The location estimation model generation apparatus 100 illustrated in FIG. 10 may be implemented as a computing device such as a server, a personal computer (PC), a tablet PC, and a notebook. The computing device will be described in detail with reference to FIG. 14.

도 11은 본 발명의 일 실시 예에 따른 위치 추정 장치의 기능 블럭도이다.11 is a functional block diagram of a location estimation apparatus according to an embodiment of the present invention.

위치 추정 장치(300)는 위치 추정 모델 생성 장치(100)에 의해 생성된 위치 추정 모델이 저장된 컴퓨팅 장치로 구현될 수 있고, 상기 컴퓨팅 장치에 관하여는 도 14를 통하여 상세하게 설명될 것이다. 위치 추정 장치(300)는 유무선 통신망을 통하여 위치 추정 모델 생성 장치(100)로부터 직접 또는 적어도 하나의 중계 서버, 예컨대, 앱스토어 서버(애플리케이션 스토어 서버라고도 함)를 경유하여 상기 위치 추정 모델을 설치 파일 형태로 다운로드한 후 설치 파일을 설치함으로써, 상기 위치 추정 모델을 위치 추정 장치(300) 내에 설치할 수 있다. 따라서, 위치 추정 장치(300)와 위치 추정 모델 생성 장치(100)는 통신 기능을 수행하기 위한 통신 인터페이스를 포함할 수도 있음은 자명하다.The location estimation apparatus 300 may be implemented as a computing device in which a location estimation model generated by the location estimation model generation apparatus 100 is stored, and the computing device will be described in detail with reference to FIG. 14. The location estimation apparatus 300 installs the location estimation model directly from the location estimation model generation apparatus 100 through a wired/wireless communication network or via at least one relay server, for example, an app store server (also referred to as an application store server). The location estimation model can be installed in the location estimation apparatus 300 by downloading in the form and installing the installation file. Accordingly, it is obvious that the location estimation apparatus 300 and the location estimation model generation apparatus 100 may include a communication interface for performing a communication function.

위치 추정 장치(300)는 자기장 센서부(310), 위치 추정부(330) 및 위치 출력부(350)를 포함할 수 있다.The position estimation apparatus 300 may include a magnetic field sensor unit 310, a position estimation unit 330, and a position output unit 350.

자기장 센서부(310)는 위치 추정 장치(300)를 소지하는 사용자가 실내 공간에서 이동함에 따라 변화하는 자기장 값을 미리 정해진 시간 간격을 주기로 측정할 수 있다. 따라서, 순차적인 자기장 값이 자기장 센서부(310)로부터 출력될 수 있다.The magnetic field sensor unit 310 may measure a magnetic field value that changes as a user carrying the position estimating device 300 moves in an indoor space at a predetermined time interval. Accordingly, sequential magnetic field values may be output from the magnetic field sensor unit 310.

위치 추정부(330)는 자기장 센서부(310)로부터 출력되는 자기장 값들을 위치 추정 모델의 입력 값으로 이용하여 사용자의 위치를 추정할 수 있다. 위치 추정부(330)에 의해 이용되는 위치 추정 모델은 도 10에 도시된 위치 추정 모델 생성 장치(100)에 의해 생성된 최적화된 인공 신경망을 의미할 수 있다. 실내 공간 상에서 여러 위치의 자기장 값이 동일할 수 있다. 그러나, 연속적으로 변화하는 자기장 값에 대응하는 이동 경로는 하나로 수렴되기 때문에, 초기 자기장 값에 대한 위치 추정부(330)의 출력값, 즉 출력 좌표는 실제 사용자의 위치와 정확하게 일치하지 않지만, 연속적인 자기장 값이 입력된 후의 위치 추정부(330)의 출력값은 실제 사용자의 위치와 비교적 작은 오차 범위 내에 분포하게 된다.The position estimating unit 330 may estimate the user's position by using magnetic field values output from the magnetic field sensor unit 310 as an input value of the position estimation model. The location estimation model used by the location estimation unit 330 may mean an optimized artificial neural network generated by the location estimation model generation apparatus 100 shown in FIG. 10. The magnetic field values at several locations in an indoor space may be the same. However, since the moving path corresponding to the continuously changing magnetic field value converges into one, the output value of the position estimation unit 330 for the initial magnetic field value, that is, the output coordinate does not exactly match the actual user's position, but the continuous magnetic field After the value is input, the output value of the position estimating unit 330 is distributed within a relatively small error range from the actual user's position.

위치 출력부(350)는 위치 추정부(330)에 의해 추정된 사용자의 위치를 소정의 디스플레 장치를 통하여 사용자에게 제공할 수 있다. 예컨대, 위치 출력부(350)는 위치 추정을 수행할 실내 공간의 맵의 적어도 일부에서 추정된 사용자의 위치 또는 추정된 사용자의 이동 경로를 표시할 수 있다.The position output unit 350 may provide the user's position estimated by the position estimating unit 330 to the user through a predetermined display device. For example, the location output unit 350 may display the estimated user's location or the estimated user's moving path from at least a part of a map of an indoor space to perform location estimation.

도 11에 도시된 위치 추정 장치는 모바일폰(mobile phone), 스마트폰(smart phone), 노트북(notebook), 넷-북(net-book), e-리더(e-reader), 태블릿 PC, PDA(personal digital assistant), 내비게이션, PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어 등과 같은 이동성이 있거나 휴대가 가능한 컴퓨팅 장치(computing device)로 구현될 수 있다.The location estimation apparatus shown in FIG. 11 includes a mobile phone, a smart phone, a notebook, a net-book, an e-reader, a tablet PC, and a PDA. A portable or portable computing device such as a (personal digital assistant), navigation, portable multimedia player (PMP), MP3 player, or MP4 player may be implemented.

또한, 도 10에 도시된 위치 추정 모델 생성 장치(100)와 도 11에 도시된 위치 추정 장치(300)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술 분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다. 또한, 위치 추정 모델 생성 장치(100)와 위치 추정 장치(300)의 구성들 각각은 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있으며, 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아니다.In addition, each of the configurations of the location estimation model generating apparatus 100 shown in FIG. 10 and the location estimation apparatus 300 shown in FIG. 11 is shown to be functional and logically separate, and each configuration must be separate. The average expert in the technical field of the present invention can easily infer that it does not mean that it is classified as a physical device or written as a separate code. In addition, each of the configurations of the location estimation model generation apparatus 100 and the location estimation apparatus 300 may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware. , It may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and does not necessarily mean a physically connected code or a single type of hardware.

도 12는 도 10에 도시된 위치 추정 모델 생성 장치에서 수행되는 위치 추정 모델 생성 방법을 설명하기 위한 흐름도이다. 위치 추정 모델 생성 방법을 설명함에 있어서, 앞서 기재된 설명과 중복되는 설명에 관한 구체적인 설명은 생략하기로 한다.12 is a flowchart illustrating a method of generating a position estimation model performed by the apparatus for generating a position estimation model illustrated in FIG. 10. In describing the method of generating a position estimation model, a detailed description of a description overlapping with that described above will be omitted.

우선, 위치 추정 모델 생성 장치(100)의 맵 생성부(110)는 위치 추정을 수행할 실내 공간의 좌표별 자기장 분포 정보를 포함하는 자기장 맵을 생성할 수 있다(S110). 실시 예에 따라, 맵 생성부(110)는 소정의 알고리즘, 예컨대 선형 보간법을 이용하여 해상도가 높은 자기장 맵을 생성할 수도 있다.First, the map generation unit 110 of the location estimation model generation apparatus 100 may generate a magnetic field map including magnetic field distribution information for each coordinate of an indoor space to perform location estimation (S110). According to an embodiment, the map generator 110 may generate a magnetic field map with high resolution using a predetermined algorithm, for example, a linear interpolation method.

위치 추정 모델 생성 장치(100)의 데이터 생성부(130)는 순환 신경망의 학습에 이용하기 위한 학습 데이터를 생성할 수 있다(S130). 일 예로, 데이터 생성부(130)는 위치 추정이 수행될 실내 공간 상의 가상 경로를 생성할 수 있다. 상기 가상 경로는 상기 가상 경로에 포함되는 각 지점의 좌표와 각 지점에 매핑된 자기장 값을 포함할 수 있다. 실시 예에 따라, 데이터 생성부(130)는 상기 학습 데이터를 미리 정해진 배치 크기(batch size)를 갖는 복수의 미니 배치로 분할할 수도 있다. 이 경우, 복수의 미니 배치로 분할된 학습 데이터를 이용하여 순환 신경망이 학습될 수 있다.The data generation unit 130 of the position estimation model generation apparatus 100 may generate training data for use in training a recurrent neural network (S130). For example, the data generator 130 may generate a virtual path on an indoor space in which position estimation is to be performed. The virtual path may include coordinates of each point included in the virtual path and a magnetic field value mapped to each point. According to an embodiment, the data generator 130 may divide the training data into a plurality of mini-batch having a predetermined batch size. In this case, a recurrent neural network may be trained using training data divided into a plurality of mini-batch.

위치 추정 모델 생성 장치(100)의 학습부(150)는 데이터 생성부(130)에 의해 생성된 학습 데이터를 이용하여 인공 신경망, 특히 순환 신경망을 학습함으로써, 최적화된 인공 신경망, 즉 위치 추정 모델을 생성할 수 있다(S150). 구체적으로, 학습부(150)는 순전파 과정을 통해 출력된 좌표와 목표 좌표 사이의 오차를 역전파 과정에 사용함으로써 순환 신경망에 포함된 은닉 층의 가중치를 수정할 수 있다. 또한, 학습부(150)는 순차적인 자기장 값과 순차적인 좌표 값을 갖는 학습 데이터를 이용하여 학습 과정을 반복 수행함으로써 최저 오차 또는 목표 오차에 수렴하는 최적화된 순환 신경망을 생성할 수 있다.The learning unit 150 of the position estimation model generation apparatus 100 learns an artificial neural network, in particular a recurrent neural network, using the training data generated by the data generation unit 130 to generate an optimized artificial neural network, that is, a position estimation model. It can be generated (S150). Specifically, the learning unit 150 may correct the weight of the hidden layer included in the recurrent neural network by using the error between the coordinates output through the forward propagation process and the target coordinate in the backpropagation process. In addition, the learning unit 150 may generate an optimized recurrent neural network that converges to a minimum error or a target error by repeatedly performing a learning process using learning data having sequential magnetic field values and sequential coordinate values.

실시 예에 따라, 위치 추정 모델 생성 방법은 모델 평가부(170)에 의한 위치 추정 모델 평가 단계(S170)를 더 포함할 수도 있다. 즉, 모델 평가부(170)는 평가 데이터를 이용하여 학습부(150)에 의해 학습된 위치 추정 모델의 오차율을 평가할 수 있다.According to an embodiment, the method for generating a location estimation model may further include a location estimation model evaluation step S170 by the model evaluation unit 170. That is, the model evaluation unit 170 may evaluate an error rate of the position estimation model learned by the learning unit 150 by using the evaluation data.

도 13은 도 11에 도시된 위치 추정 장치에서 수행되는 위치 추정 방법을 설명하기 위한 흐름도이다. 위치 추정 방법을 설명함에 있어서, 앞서 기재된 설명과 중복되는 설명에 관한 구체적인 설명은 생략하기로 한다.13 is a flowchart illustrating a method of estimating a location performed by the apparatus for estimating a location illustrated in FIG. 11. In describing the position estimation method, a detailed description of a description overlapping with the previously described description will be omitted.

우선, 위치 추정 장치(300)의 자기장 센서부(310)는 위치 추정 장치(300)를 소지하는 사용자가 실내 공간에서 움직임에 따라 변화하는 자기장 값을 미리 정해진 시간 간격을 주기로 측정할 수 있다(S310). 따라서, 순차적인 자기장 값이 자기장 센서부(310)로부터 출력될 수 있다.First, the magnetic field sensor unit 310 of the position estimating device 300 may measure a magnetic field value that changes according to a movement of a user holding the position estimating device 300 in an indoor space at a predetermined time interval (S310). ). Accordingly, sequential magnetic field values may be output from the magnetic field sensor unit 310.

위치 추정 장치(300)의 위치 추정부(330)는 자기장 센서부(310)로부터 출력되는 순차적인 자기장 값을 위치 추정 모델의 입력 값으로 이용하여 사용자의 위치를 추정할 수 있다(S320). 실내 공간 상에서 연속적으로 변화하는 자기장 값에 대응하는 사용자의 이동 경로는 하나로 수렴되기 때문에, 초기 자기장 값에 대한 위치 추정부(330)의 출력값, 즉 출력 좌표는 실제 사용자의 위치와 정확하게 일치하지 않지만, 연속적인 자기장 값이 입력된 후의 위치 추정부(330)의 출력값은 실제 사용자의 위치를 비교적 작은 오차 범위 내에서 분포하게 된다.The position estimating unit 330 of the position estimating apparatus 300 may estimate the user's position by using sequential magnetic field values output from the magnetic field sensor unit 310 as an input value of the position estimation model (S320). Since the user's moving path corresponding to the continuously changing magnetic field value in the indoor space converges to one, the output value of the position estimating unit 330 for the initial magnetic field value, that is, the output coordinate does not exactly match the actual user's position. The output value of the position estimating unit 330 after continuous magnetic field values are input distributes the actual user's position within a relatively small error range.

위치 추정 장치(300)의 위치 출력부(350)는 위치 추정부(330)에 의해 추정된 사용자의 위치를 소정의 디스플레이 장치를 통하여 사용자에게 제공할 수 있다(S330). 예컨대, 위치 출력부(350)는 위치 추정이 수행되는 실내 공간의 맵의 적어도 일부에서 추정된 사용자의 위치 또는 추정된 사용자의 이동 경로를 표시할 수 있다.The position output unit 350 of the position estimating device 300 may provide the user's position estimated by the position estimating unit 330 to the user through a predetermined display device (S330). For example, the location output unit 350 may display the estimated location of the user or the estimated moving path of the user from at least a part of a map of an indoor space where location estimation is performed.

또한, 위치 추정 장치(300)에 설치된 위치 추정 모델은 위치 추정 모델 생성 장치(100)에 의해 생성된 위치 추정 모델이므로, 상기 위치 추정 방법은, 위치 추정 장치(300)가 위치 추정 모델 생성 장치(100) 또는 별도의 서버를 경유하여 상기 위치 추정 모델을 설치 파일 형태로 다운로드 받는 단계와 다운로드된 설치 파일을 설치하여 상기 위치 추정 모델을 위치 추정 장치(300)에 설치하는 단계를 더 포함할 수도 있다.In addition, since the position estimation model installed in the position estimation apparatus 300 is a position estimation model generated by the position estimation model generation apparatus 100, the position estimation method includes the position estimation apparatus 300 using the position estimation model generation apparatus ( 100) Alternatively, the method may further include downloading the location estimation model in the form of an installation file via a separate server and installing the downloaded installation file to install the location estimation model in the location estimation apparatus 300. .

도 14는 도 10에 도시된 위치 추정 모델 생성 장치 또는 도 11에 도시된 위치 추정 장치의 예시적인 하드웨어 블럭도이다.14 is an exemplary hardware block diagram of the apparatus for generating a position estimation model illustrated in FIG. 10 or the apparatus for estimating a position illustrated in FIG. 11.

도 10의 위치 추정 모델 생성 장치(100) 및/또는 도 11의 위치 추정 장치(300)의 구현 예인 컴퓨팅 장치(500)는 통신 인터페이스(501), 입력 인터페이스(503), 출력 인터페이스(505), 메모리(507), 저장 장치(509), 적어도 하나의 프로세서(511) 및 시스템 버스/제어 버스(513)를 포함한다.The location estimation model generation apparatus 100 of FIG. 10 and/or the computing device 500, which is an example implementation of the location estimation apparatus 300 of FIG. 11, includes a communication interface 501, an input interface 503, an output interface 505, and It includes a memory 507, a storage device 509, at least one processor 511, and a system bus/control bus 513.

통신 인터페이스(501)는 컴퓨팅 장치(500) 외부의 장치와 통신할 수 있도록 구성된다. 통신 인터페이스(501)는 유선 또는 무선 통신을 수행하도록 구성되며, 예컨대 무선랜이나 유선랜에 연결될 수 있도록 하는 맥(MAC) 칩을 포함할 수 있다.The communication interface 501 is configured to communicate with a device external to the computing device 500. The communication interface 501 is configured to perform wired or wireless communication, and may include, for example, a MAC chip capable of being connected to a wireless LAN or a wired LAN.

입력 인터페이스(503)는 컴퓨팅 장치(500)를 제어하기 위한 사용자 입력 및/또는 위치 추정을 위한 자기장 값을 수신할 수 있다. 입력 인터페이스(103)는 키보드, 터치 패드, 마우스, 자기장 센서 등을 포함할 수 있다.The input interface 503 may receive a user input for controlling the computing device 500 and/or a magnetic field value for position estimation. The input interface 103 may include a keyboard, a touch pad, a mouse, a magnetic field sensor, and the like.

출력 인터페이스(505)는 컴퓨팅 장치(500)의 동작 결과, 예컨대 자기장 맵 생성 결과, 순환 신경망의 학습 결과, 순환 신경망의 평가 결과, 또는 위치 추정의 결과를 출력할 수 있다. 출력 인터페이스(505)는 디스플레이, 스피커 등을 포함할 수 있다.The output interface 505 may output an operation result of the computing device 500, for example, a magnetic field map generation result, a learning result of a recurrent neural network, an evaluation result of a recurrent neural network, or a position estimation result. The output interface 505 may include a display, a speaker, or the like.

메모리(507)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함한다. 메모리(507)는 각종 데이터와 프로그램을 일시적으로 또는 비일시적으로 저장한다. 휘발성 메모리는 각종 데이터와 프로그램의 조각(segment)을 임시로 저장하고 비휘발성 메모리는 셋업 또는 부팅에 필요한 각종 셋업 데이터와 부팅 프로그램 등을 비일시적으로 저장할 수 있다.The memory 507 includes volatile memory and/or non-volatile memory. The memory 507 temporarily or non-temporarily stores various types of data and programs. The volatile memory temporarily stores various data and program segments, and the non-volatile memory may non-temporarily store various setup data and boot programs required for setup or booting.

저장 장치(509)는 대용량 저장 매체로서 각종 데이터를 저장하고 각종 프로그램들을 저장한다. 저장 장치(509)는 적어도 본 발명에 따른 위치 추정 모델 생성 방법 또는 위치 추정 방법을 수행하는 프로그램을 포함한다. 저장 장치(509)는 위치 추정 모델 생성 방법 또는 위치 추정 방법의 프로그램에 이용될 데이터들을 포함한다. 이러한 데이터들은 특정 프로그램에 의해서 액세스 및 관리될 수 있다. 위치 추정 모델 생성과 위치 추정에 이용되는 데이터들과 이 특정 프로그램은 데이터베이스로 바람직하게 구성된다. 하드 디스크 드라이브(Hard Disk Drive, HDD)나 SSD(Solid State Drive)는 저장 장치(509)의 일 예가 될 수 있다.The storage device 509 is a mass storage medium that stores various types of data and stores various programs. The storage device 509 includes at least a program for performing a method for generating a position estimation model or a method for estimating a position according to the present invention. The storage device 509 includes data to be used in a program of a method for generating a position estimation model or a method for estimating a position. These data can be accessed and managed by specific programs. The data used for the location estimation model generation and location estimation and this specific program are preferably configured as a database. A hard disk drive (HDD) or a solid state drive (SSD) may be an example of the storage device 509.

프로세서(511)는 비휘발성 메모리나 저장 장치(509) 등에 저장된 프로그램의 프로그램 코드를 로딩하여 프로그램 코드를 실행시킬 수 있다. 프로세서(511)는 프로그램 코드의 명령어(instruction)를 실행할 수 있는 실행 유닛(execution unit)을 포함하여 위치 추정 모델 생성 또는 위치 추정을 위한 프로그램, 위치 추정 모델 생성 또는 위치 추정에 이용되는 각종 데이터를 트레이닝하기 위한 프로그램 등을 실행할 수 있다.The processor 511 may load a program code of a program stored in a nonvolatile memory or a storage device 509 and execute the program code. The processor 511 includes an execution unit capable of executing an instruction of a program code, and trains a program for generating a position estimation model or estimating a position, and various data used for generating a position estimation model or estimating a position. You can run a program for doing so.

시스템 버스/제어 버스(513)는 각 하드웨어 블록 사이에 제어 신호나 데이터 신호를 송수신할 수 있도록 구성된다. 시스템 버스/제어 버스(513)는 병렬 버스이거나 시리얼 버스 등일 수 있다.The system bus/control bus 513 is configured to transmit and receive control signals or data signals between each hardware block. The system bus/control bus 513 may be a parallel bus or a serial bus.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.The present invention has been described with reference to the embodiments shown in the drawings, but these are only exemplary, and those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical idea of the attached registration claims.

100 : 위치 추정 모델 생성 장치
110 : 맵 생성부
130 : 데이터 생성부
150 : 학습부
170 : 모델 평가부
190 : 저장부
300 : 위치 추정 장치
310 : 자기장 센서부
330 : 위치 추정부
350 : 위치 출력부
500 : 컴퓨팅 장치
100: position estimation model generation device
110: map generator
130: data generation unit
150: Learning Department
170: model evaluation unit
190: storage
300: position estimation device
310: magnetic field sensor unit
330: position estimation unit
350: position output unit
500: computing device

Claims (11)

실내 공간 상의 각 좌표에 대응하는 3차원 자기장 벡터 값을 포함하는 자기장 맵을 생성하는 맵 생성부;
상기 실내 공간 상에서 보행자가 이동할 수 있는 모든 가상 경로들을 생성하고, 상기 자기장 맵을 이용하여 상기 가상 경로들에 포함되는 각 지점의 좌표와 각 지점의 좌표에 대응하는 3차원 자기장 벡터 값을 포함하는 학습 데이터를 생성하는 데이터 생성부; 및
상기 학습 데이터를 이용하여 순환 신경망(Recurrent Neural Network, RNN)을 학습하여, 사용자의 이동에 따라 변화하는 연속적인 3차원 자기장 벡터 값을 입력받아 상기 사용자의 현재 위치를 추정하는 위치 추정 모델을 생성하는 학습부를 포함하는 위치 추정 모델 생성 장치.
A map generator for generating a magnetic field map including a 3D magnetic field vector value corresponding to each coordinate in the indoor space;
Learning including the coordinates of each point included in the virtual paths and a 3D magnetic field vector value corresponding to the coordinates of each point using the magnetic field map and generating all virtual paths that a pedestrian can move in the indoor space A data generator for generating data; And
By learning a recurrent neural network (RNN) using the training data, generating a position estimation model that estimates the current position of the user by receiving a continuous 3D magnetic field vector value that changes according to the user's movement. Position estimation model generating apparatus including a learning unit.
제1항에 있어서,
상기 자기장 맵은 선형 보간법(linear interpolation)을 이용하여 생성된 것을 특징으로 하는,
위치 추정 모델 생성 장치.
The method of claim 1,
The magnetic field map is characterized in that it is generated using a linear interpolation (linear interpolation),
Position estimation model generation device.
제1항에 있어서,
상기 학습 데이터는 미리 정해진 배치 크기(batch size)를 갖는 복수의 미니 배치들로 분할된 것을 특징으로 하는,
위치 추정 모델 생성 장치.
The method of claim 1,
The training data is characterized in that it is divided into a plurality of mini-batch having a predetermined batch size (batch size),
Position estimation model generation device.
제2항에 있어서,
상기 학습부는 상기 순환 신경망의 출력 결과가 목표 오차율에 도달할 때가지 학습을 반복하는,
위치 추정 모델 생성 장치.
The method of claim 2,
The learning unit repeats learning until the output result of the recurrent neural network reaches a target error rate,
Position estimation model generation device.
제1항에 있어서,
상기 위치 추정 모델 생성 장치는,
상기 데이터 생성부에 의해 생성된 평가 데이터를 이용하여 상기 위치 추정 모델의 오차율을 평가하는 모델 평가부를 더 포함하는,
위치 추정 모델 생성 장치.
The method of claim 1,
The position estimation model generation device,
Further comprising a model evaluation unit for evaluating the error rate of the position estimation model using the evaluation data generated by the data generating unit,
Position estimation model generation device.
위치 추정 모델 생성 장치의 맵 생성부가 선형 보간법을 이용하여 실내 공간 상의 각 좌표에 대응하는 3차원 자기장 벡터를 수집하여 자기장 맵을 생성하는 단계;
상기 위치 추정 모델 생성 장치의 데이터 생성부가 상기 실내 공간 상에서 보행자가 이동할 수 있는 모든 가상 경로들을 생성하고, 상기 자기장 맵을 이용하여 상기 가상 경로들에 포함되는 각 지점의 좌표와 각 지점의 좌표에 대응하는 3차원 자기장 벡터 값을 포함하는 학습 데이터를 생성하는 단계; 및
상기 위치 추정 모델 생성 장치의 학습부가 상기 학습 데이터를 이용하여 인공 신경망(Artificial Neural Network, ANN)을 학습하여, 사용자의 이동에 따라 변화하는 연속적인 3차원 자기장 벡터 값을 입력받아 상기 사용자의 현재 위치를 추정하는 위치 추정 모델을 생성하는 단계를 포함하는 위치 추정 모델 생성 방법.
Generating a magnetic field map by collecting a 3D magnetic field vector corresponding to each coordinate in an indoor space by using a linear interpolation method by a map generator of the position estimation model generating apparatus;
The data generation unit of the location estimation model generation device generates all virtual paths that a pedestrian can move in the indoor space, and corresponds to the coordinates of each point included in the virtual paths and the coordinates of each point using the magnetic field map. Generating training data including a three-dimensional magnetic field vector value; And
The learning unit of the location estimation model generating device learns an artificial neural network (ANN) using the training data, receives a continuous 3D magnetic field vector value that changes according to the user's movement, and receives the current location of the user. A method for generating a position estimation model comprising the step of generating a position estimation model to estimate.
제6항에 있어서,
상기 학습 데이터는 미리 정해진 배치 크기(batch size)를 갖는 복수의 미니 배치들로 분할된 것을 특징으로 하는,
위치 추정 모델 생성 방법.
The method of claim 6,
The training data is characterized in that it is divided into a plurality of mini-batch having a predetermined batch size (batch size),
How to create a location estimation model.
제6항에 있어서,
상기 위치 추정 모델을 생성하는 단계는,
상기 인공 신경망의 출력 결과가 목표 오차율에 도달할 때까지 학습을 반복하는,
위치 추정 모델 생성 방법.
The method of claim 6,
Generating the position estimation model,
Repeating the learning until the output result of the artificial neural network reaches a target error rate,
How to create a location estimation model.
제6항에 있어서,
상기 위치 추정 모델 생성 방법은,
상기 위치 추정 모델 생성 장치의 모델 평가부가 상기 데이터 생성부에 의해 생성된 평가 데이터를 이용하여 상기 위치 추정 모델의 오차율을 평가하는 단계를 더 포함하는,
위치 추정 모델 생성 방법.
The method of claim 6,
The location estimation model generation method,
Further comprising the step of evaluating an error rate of the position estimation model by using the evaluation data generated by the data generation unit, the model evaluation unit of the position estimation model generation device,
How to create a location estimation model.
제6항에 기재된 방법에 의해 생성된 상기 위치 추정 모델이 저장된 위치 추정 장치에 있어서,
상기 실내 공간 상에서 상기 사용자의 이동에 따라 변화하는 연속적인 3차원 자기장 벡터 값을 측정하는 자기장 센서부;
상기 자기장 센서부에 의해 측정된 연속적인 3차원 자기장 벡터 값을 상기 위치 추정 모델에 입력하여 상기 사용자의 현재 위치를 추정하는 위치 추정부; 및
상기 위치 추정부에 의해 추정된 상기 사용자의 현재 위치를 출력하는 위치 출력부를 포함하는 위치 추정 장치.
In the position estimation apparatus in which the position estimation model generated by the method according to claim 6 is stored,
A magnetic field sensor unit measuring a continuous three-dimensional magnetic field vector value that changes according to the movement of the user in the indoor space;
A position estimating unit for estimating a current position of the user by inputting a continuous 3D magnetic field vector value measured by the magnetic field sensor unit into the position estimating model; And
Position estimating device comprising a position output unit for outputting the current position of the user estimated by the position estimating unit.
제10항에 있어서,
상기 위치 추정 장치는 스마트폰(smart phone), 모바일폰(mobile phone) 또는 태블릿 PC(tablet personal computer)인,
위치 추정 장치.
The method of claim 10,
The location estimation device is a smartphone (smart phone), a mobile phone (mobile phone) or a tablet PC (tablet personal computer),
Position estimation device.
KR1020190045619A 2019-04-18 2019-04-18 Device and method for generating geomagnetic sensor based location estimation model using artificial neural networks KR102243917B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190045619A KR102243917B1 (en) 2019-04-18 2019-04-18 Device and method for generating geomagnetic sensor based location estimation model using artificial neural networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190045619A KR102243917B1 (en) 2019-04-18 2019-04-18 Device and method for generating geomagnetic sensor based location estimation model using artificial neural networks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170102335A Division KR20190017454A (en) 2017-08-11 2017-08-11 Device and method for generating location estimation model

Publications (2)

Publication Number Publication Date
KR20190042540A KR20190042540A (en) 2019-04-24
KR102243917B1 true KR102243917B1 (en) 2021-04-23

Family

ID=66282409

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190045619A KR102243917B1 (en) 2019-04-18 2019-04-18 Device and method for generating geomagnetic sensor based location estimation model using artificial neural networks

Country Status (1)

Country Link
KR (1) KR102243917B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220152456A (en) * 2021-05-07 2022-11-16 주식회사 와따 Method, server and computer program for creating space data using hybrid data collected by smartphone sensor without map data, and method for creating moving path using the same
KR102573934B1 (en) * 2023-01-11 2023-09-04 주식회사 투와이 Method and device for measuring indoor space

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017083273A (en) * 2015-10-27 2017-05-18 日本電信電話株式会社 Route prediction apparatus, route prediction method, and route prediction program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101117218B1 (en) 2009-09-02 2012-03-20 동국대학교 산학협력단 Method and Apparatus for estimation of current position using magnetic field sensor
KR20150089366A (en) * 2014-01-27 2015-08-05 동국대학교 산학협력단 Indoor location tracking system using earth magnetic field sensor
KR20160080842A (en) 2014-12-29 2016-07-08 엘지전자 주식회사 Mobile terminal and method for controlling the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017083273A (en) * 2015-10-27 2017-05-18 日本電信電話株式会社 Route prediction apparatus, route prediction method, and route prediction program

Also Published As

Publication number Publication date
KR20190042540A (en) 2019-04-24

Similar Documents

Publication Publication Date Title
US11448494B2 (en) Device and method for generating geomagnetic sensor based location estimation model using artificial neural networks
Shao et al. Indoor positioning based on fingerprint-image and deep learning
KR101912195B1 (en) Method and device for real-time target location and map creation
DK1514130T3 (en) Probabilistic model for a positioning technique
JP6525325B2 (en) Method and device for determining device location
CN111279209B (en) Fingerprint data preprocessing method for improving positioning model
KR102243917B1 (en) Device and method for generating geomagnetic sensor based location estimation model using artificial neural networks
CN105554873A (en) Wireless sensor network positioning algorithm based on PSO-GA-RBF-HOP
Kampis et al. Analytical and simulation models for collaborative localization
KR101022785B1 (en) mapping method for circumstances of robot using a nerve network and evolutionary computation
Samanta et al. Node localization for indoor tracking using artificial neural network
CN113613188B (en) Fingerprint library updating method, device, computer equipment and storage medium
Al-Khaleefa et al. Infinite-term memory classifier for Wi-Fi localization based on dynamic Wi-Fi simulator
Trogh et al. Advanced indoor localisation based on the Viterbi algorithm and semantic data
Ainul et al. Hybrid filter scheme for optimizing indoor mobile cooperative tracking system
Golovan et al. Efficient localization using different mean offset models in Gaussian processes
CN114646313A (en) User track positioning method, electronic equipment and computer storage medium
Huang et al. VariFi: Variational Inference for Indoor Pedestrian Localization and Tracking Using IMU and WiFi RSS
Völker et al. Force-directed tracking in wireless networks using signal strength and step recognition
Hu et al. A TDOA/AOA hybrid positioning based on improved sparrow search algorithm for mobile position estimation
Mackin Exploration for Range Based Indoor Localization Technologies and Algorithms
Lauttia Adaptive Monte Carlo Localization in ROS
TWI764842B (en) Ranging-type positioning system and method based on crowdsourced calibration
Kawecki et al. Performance of Fingerprinting-Based Indoor Positioning with Measured and Simulated RSSI Reference Maps. Remote Sens. 2022, 14, 1992
Adib et al. Extending the Stansfield Algorithm to Three Dimensions: Algorithms and Implementations

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant