KR20180049648A - Prediction method of object's next position using classification model and a device for the same - Google Patents

Prediction method of object's next position using classification model and a device for the same Download PDF

Info

Publication number
KR20180049648A
KR20180049648A KR1020160145839A KR20160145839A KR20180049648A KR 20180049648 A KR20180049648 A KR 20180049648A KR 1020160145839 A KR1020160145839 A KR 1020160145839A KR 20160145839 A KR20160145839 A KR 20160145839A KR 20180049648 A KR20180049648 A KR 20180049648A
Authority
KR
South Korea
Prior art keywords
data
path
preprocessed
movement
prediction
Prior art date
Application number
KR1020160145839A
Other languages
Korean (ko)
Other versions
KR101920664B1 (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 KR1020160145839A priority Critical patent/KR101920664B1/en
Publication of KR20180049648A publication Critical patent/KR20180049648A/en
Application granted granted Critical
Publication of KR101920664B1 publication Critical patent/KR101920664B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/14Receivers specially adapted for specific applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention provides a model which predicts in real time moving of an object and generates a moving pattern by using a convolution neural network (CNN) which is a deep learning classification model. A method for predicting a moving path comprises the following steps of: collecting geolocation information which is obtained by a specific object when moving, converting a geolocation information set into pass data of an array shape, and generating a plurality of preprocessed passes and a plurality of prediction locations corresponding to the plurality of preprocessed passes from the pass data; learning a prediction model by using the preprocessed passes and the prediction locations; and inputting first pass data of the array shape converted from a first geolocation information set obtained from the geolocation information according to another moving path of the specific object to the learned prediction model, and determining a subsequent prediction location subsequent to the new moving path.

Description

분류모델을 이용한 객체의 다음 이동경로예측방법 및 이를 위한 장치{Prediction method of object's next position using classification model and a device for the same}[0001] The present invention relates to a method for predicting a next movement path of an object using a classification model and a device for the same.

본 발명은 컴퓨팅 기술에 관한 것으로서, 객체의 다음 이동경로를 예측하는 기술에 관한 것이다.The present invention relates to computing technology, and more particularly, to a technique for predicting the next movement path of an object.

현재 스마트폰의 발달과 보급에 따라서 GPS전용 수집 장치를 보유하지 않은 사람도 스마트폰을 이용해 언제 어디서나 위치데이터를 수집할 수 있게 되었다. 또한 스마트워치 등의 스마트기기 발달은 위치데이터의 수집을 더욱 용이하게 하고 있다. 많은 위치데이터를 이용한 어플리케이션들에서는 수집된 위치데이터를 이용해 운동량을 체크하거나 현재 위치와 가까운 추천음식점 등을 추천해주고 있으며 이동패턴 분석을 통한 사회과학분석이나 교통량 분석 등의 타 분야에서도 이동데이터가 사용되고 있다. 따라서 빅데이터로서의 이동데이터로부터 이동을 예측하고 이동패턴을 생성할 수 있다면 이동데이터를 활용해 사회현상을 분석하거나 교통량을 분석하는 등 여러 타 분야에도 이용될 수 있을 것이다.According to the development and popularization of smart phones, people who do not have a GPS-specific collecting device can collect location data anytime and anywhere using a smart phone. The development of smart devices such as smart watches also makes it easier to collect location data. In applications using a lot of location data, motion data is checked using the collected location data, recommendation of restaurants recommended near the current location, and moving data are used in other fields such as social science analysis and traffic volume analysis through movement pattern analysis . Therefore, if motion can be predicted from movement data as big data and movement pattern can be generated, it can be used in various other fields such as analysis of social phenomenon or traffic volume using mobile data.

아래의 논문[1], 논문[2], 및 논문[3]과 같은 기존의 많은 연구들에서는 이동데이터로부터 이동패턴을 생성하는 방법으로서 이동패턴트리를 생성하는 방식을 사용하여왔다. 이동패턴트리를 생성하고 생성한 트리를 이용해 이동패턴을 마이닝하는 방법이 주로 이루어져 왔으며 논문[4]와 같이 Markov Chains을 이용해 새로운 이동에 대해 다음 위치를 예측하는 연구가 있었다. Many existing studies such as the following articles [1], [2], and [3] have used a method of generating a movement pattern tree as a method of generating movement patterns from moving data. There is a method to generate the movement pattern tree and to use the generated tree to mine the movement pattern. There is a study to predict the next location for the new movement using Markov Chains as in [4].

논문[1]However,

Efficient STMPM(Spatio-Temporal Moving Pattern Mining) using moving sequence treeEfficient Spatio-Temporal Moving Pattern Mining (STMPM) using Moving Sequence Tree

논문[2]Articles [2]

Continuous pattern mining using the FCPGrowth algorithm in trajectory data warehousesContinuous pattern mining using the FCPGrowth algorithm in trajectory data warehouses

논문[3]Thesis [3]

Temporal moving pattern mining for location-based serviceTemporal moving pattern mining for location-based service

논문[4]The paper [4]

Next Place Prediction using Mobility markov ChainsNext Place Prediction using Mobility markov Chains

그러나 위치데이터의 수가 점점 거대해짐에 따라 빅데이터로서의 이동데이터로부터 이동을 예측하고 이동패턴을 생성할 수 있는 기술이 요구되고 있다. 현재 빅데이터 처리기술 중 가장 부상하고 있는 분야로 딥러닝을 들 수 있다. 딥러닝은 머신러닝의 신경망 분야를 심화한 것으로 데이터를 통해 학습하여 결과를 도출하는 분야이다. 이러한 딥러닝 모델을 사용해서 이동패턴을 생성하려고 했던 연구가 없었던 것은 아니다. 논문[5]에서는 Deep Autoencoder를 이용한 이동패턴 생성에 대한 연구가 있었으며 이 모델을 통해 이동패턴을 생성하였다. 그러나 논문[5]에서 도출한 이동패턴은 평소의 이동하는 경로를 제시하는 것으로서, 실시간으로 예측된 이동을 제시하지는 못한다. However, as the number of position data becomes larger and larger, there is a demand for a technique capable of generating movement patterns from movement data as big data. Deep run is one of the biggest emerging fields of data processing technology. Deep learning is deepening the neural network field of machine learning and it is a field to learn through data and to derive the result. It is not uncommon that there was research that attempted to create a movement pattern using this deep learning model. In [5], there was a study on the movement pattern generation using Deep Autoencoder, and the movement pattern was generated through this model. However, the movement pattern derived from the paper [5] suggests the usual moving path, and can not suggest the predicted movement in real time.

논문[5]Thesis [5]

Extracting Typical User's Moving Patterns Using Deep LearningExtracting Typical User's Moving Patterns Using Deep Learning

한편, 딥러닝은 인공지능의 여러 분야 중 신경망 분야에서 시작되었다. 이 신경망을 여러 층 쌓아 깊은 구조의 신경망을 구성한 것이 딥러닝이다. 딥러닝은 입력된 데이터를 바탕으로 모델 내부의 파라미터 조정을 통해 결과를 도출한다. 딥러닝은 현재 주로 이미지분류, 음성인식 등의 분야에서 사용되고 있다. Deep learning, on the other hand, has started in the field of neural networks among many fields of artificial intelligence. Deep running is the construction of a neural network with a deep structure by stacking several layers of this neural network. Deep run derives its results through parameter adjustment within the model based on the input data. Deep learning is currently used mainly in image classification, speech recognition, and so on.

딥러닝 모델은 성격에 따라 여러 분류로 나눠진다. 먼저 학습데이터를 통해 학습한 모델이 입력된 데이터를 분류하는 분류모델과 학습데이터를 기반으로 새로운 데이터를 생성하는 생성모델로 구분된다.   Deep learning models are divided into several categories according to their nature. First, a model learned through learning data is classified into a classification model that classifies input data and a generation model that generates new data based on learning data.

딥러닝의 분류모델에는 여러 종류의 모델이 존재한다. Class-Deep Belief Network, Feed Forward Neural Network, 및 Convolution Neural Network 등이 분류모델에 속한다. 상기 논문[5]에서 딥러닝을 이용한 이동패턴추출 연구에서 사용한 모델은 생성모델인 Deep Autoencoder이다.   There are several kinds of models in the classification model of deep learning. Class-Deep Belief Network, Feed Forward Neural Network, and Convolution Neural Network. In the above paper [5], the model used in the study of movement pattern extraction using deep learning is the generation model Deep Autoencoder.

CNN은 현재 많은 연구와 실제 사용에서 많이 사용되고 있는 모델이며 좋은 분류 성능을 보여주고 있는 모델이다. 주로 이미지 분류에 사용되고 있는 모델이다. CNN is a model that is widely used in many researches and practical use at present and shows good classification performance. It is a model mainly used for image classification.

CNN은 입력된 데이터를 통해 layer간의 파라미터를 조정하여 데이터를 학습한 이후, 학습되지 않은 데이터에 대해서 학습된 데이터를 기반으로 성격을 분류하는 모델이다. 이를 위해서 CNN은 학습데이터와 시험데이터가 필요하다. CNN is a model that classifies characteristics based on learned data about un-learned data after learning data by adjusting parameters between layers through input data. To do this, CNN needs training and test data.

도 1은 일 실시예에 따른 CNN의 구조를 나타낸 것이다. 1 illustrates a structure of a CNN according to an exemplary embodiment of the present invention.

CNN의 구조는 도 1에서 보이는 것처럼 convolution layer와 pooling layer, FNN을 조합된 구조이다. CNN의 학습은 다음과 같다. 데이터를 입력받으면 반복적인 구성의 convolution layer와 pooling layer를 통해 데이터의 크기를 축소한다. 이렇게 축소된 데이터는 Neural Network에 입력되고 error function을 사용하여 layer간의 파라미터인 W와 b의 값이 조정된다. 이렇게 훈련된 CNN은 새로운 이미지가 입력되었을 때 조정된 파라미터를 이용해 이미지를 분류한다.The structure of CNN is a combination of convolution layer, pooling layer and FNN as shown in FIG. CNN's learning is as follows. When the data is input, the size of the data is reduced through the convolution layer and the pooling layer of the repeated configuration. This reduced data is input to the Neural Network and the error function is used to adjust the values of the parameters W and b between layers. This trained CNN classifies the images using the adjusted parameters when a new image is input.

상술한 문제를 해결하기 위해 본 발명에서는, 딥러닝 분류모델인 Convolution Neural Network(CNN)를 사용해 객체의 이동에 대해 실시간으로 이동을 예측하고 이동패턴을 생성하는 모델을 만들고자 한다. 그리고 상기 CNN를 이용한 객체의 다음 위치 예측과 이동패턴생성의 정확성을 측정하기 위해 정확성 측정 방식을 제시하고 이를 토대로 우리의 이동예측모델을 통해 만들어진 이동예측과 패턴에 대해한 정확성을 측정하고자 한다. 즉, 이동예측을 위해서 상기 CNN이라는 딥러닝의 분류모델을 사용하며 실험의 정확성을 측정할 수 있는 기준과 함께 이동 예측 모델을 제공하고자 한다.In order to solve the above-mentioned problems, the present invention intends to create a model for predicting the movement in real time and generating a movement pattern using the Convolution Neural Network (CNN), which is a deep learning classification model. In order to measure the accuracy of the next position prediction and movement pattern generation using the CNN, we propose an accuracy measurement method and measure the accuracy of the movement prediction and the pattern made by our motion prediction model. That is, we use a deep learning classification model called CNN for the movement prediction and provide a movement prediction model together with a criterion for measuring the accuracy of the experiment.

본 발명의 일 관점에 따른 이동경로예측방법은, 특정객체가 이동 시에 얻은 지구위치정보를 수집하여 지구위치정보 세트(ex: GPS 데이터들)를 획득하는 단계, 상기 지구위치정보 세트를 어레이 형태의 패스데이터(ex: {1, 2, 3}, ....)로 변환하는 단계, 상기 변환된 패스데이터를 전처리하여 복수 개의 전처리된 패스들(ex: {1, 0, 0, 0}-{2}, {1, 2, 0, 0}-{3}, {1, 2, 3, 0}-{0})(31~45) 및 상기 복수 개의 전처리된 패스들에 대응하는 복수 개의 예측위치들(ex: 도 12의 50)을 생성하는 단계, 상기 복수 개의 전처리된 패스들(31~45) 및 상기 복수 개의 예측위치들을 미리 준비된 예측모델에 입력하여 상기 예측모델을 학습시키는 단계, 및 상기 특정객체의 새로운 이동경로에 따른 지구위치정보로부터 획득한 제1지구위치정보 세트(ex: GPS 데이터들)를 어레이 형태의 제1패스데이터(ex: {1, 3})로 변환하고, 상기 제1패스데이터를 상기 학습된 예측모델에 입력하여 상기 새로운 이동경로에 후속하는 후속예측위치를 결정하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a movement path predicting method including: acquiring a set of geolocation information (ex: GPS data) by collecting geolocation information obtained when a specific object moves; (1, 0, 0, 0}) of the path data (ex: {1, 2, 3} - {2}, {1, 2, 0} - {3}, {1, 2, 3, 0} - {0} (31-45) and a plurality (50 in FIG. 12), inputting the plurality of preprocessed paths 31 to 45 and the plurality of predicted positions into a predictive model prepared in advance, and learning the predictive model And a first set of geolocation information (ex: GPS data) obtained from the geolocation information according to the new moving path of the specific object is stored in the first path data (ex: {1, 3}, and inputting the first pass data to the learned prediction model to determine a next predicted position following the new moving path.

이때, 상기 복수 개의 전처리된 패스들은 상기 예측모델의 입력층에 입력되고, 상기 복수 개의 예측위치들은 상기 예측모델의 출력층에 입력함으로써, 상기 예측모델을 학습시키도록 되어 있으며, 상기 제1패스데이터를 상기 학습된 예측모델의 상기 입력층에 입력하였을 때에, 상기 학습된 예측모델의 상기 출력층에서 출력된 정보를 상기 후속예측위치로 결정하는 것을 특징으로 할 수 있다.Wherein the plurality of preprocessed paths are input to the input layer of the predictive model and the plurality of predictive positions are input to the output layer of the predictive model to learn the predictive model, And determines the information output from the output layer of the learned predictive model as the next predictive position when the input predictive model is input to the input layer of the learned predictive model.

이때, 상기 복수 개의 전처리된 패스들은 모두 동일한 제1길이를 갖는 어레이 형태를 가지며, 상기 변환하는 단계에서, 상기 패스데이터가 복수 개 제공되며, 상기 제1길이는 상기 복수 개의 패스데이터들 중 가장 긴 패스데이터의 길이와 같거나 긴 것을 특징으로 할 수 있다.In this case, the plurality of preprocessed paths have an array shape having the same first length, and in the converting step, a plurality of path data are provided, and the first length is the longest of the plurality of path data And is equal to or longer than the length of the path data.

이때, 상기 복수 개의 전처리된 패스들은 모두 동일한 제1길이를 갖는 어레이 형태를 가지며, 상기 학습된 예측모델에 상기 제1패스데이터를 입력하기 위하여 상기 제1패스데이터를 상기 제1길이를 갖는 어레이로 변환하는 단계를 더 포함하며, 상기 변환을 위하여 상기 제1패스데이터에 한 개 이상의 널 데이터(ex:{1, 3} --> {1, 3, 0, 0})를 패딩하는 것을 특징으로 할 수 있다.Wherein the plurality of preprocessed paths all have an array type having the same first length and the first pass data is input to the array having the first length to input the first pass data to the learned predictive model Wherein one or more null data (ex: {1, 3} -> {1, 3, 0, 0}) is padded to the first pass data for the conversion can do.

이때, 상기 변환하는 단계에서, 상기 패스데이터가 복수 개 제공되며, 상기 복수 개의 패스데이터들은 각각 어레이 형태를 가지며, 상기 복수 개의 패스데이터들 중 적어도 두 개의 서로 다른 패스데이터는 서로 다른 길이를 갖는 것을 특징으로 할 수 있다.At this time, in the converting step, a plurality of path data are provided, the plurality of path data each have an array shape, and at least two different path data among the plurality of path data have different lengths .

이때, 상기 복수 개의 전처리된 패스들은 각각 어레이 형태를 가지며, 상기 복수 개의 전처리된 패스들 중 일부 또는 전부는 상기 패스데이터에 포함된 정보에 널 정보를 패딩하여 생성한 것일 수 있다.At this time, the plurality of preprocessed paths are each in the form of an array, and some or all of the plurality of preprocessed paths may be generated by padding null information to the information included in the path data.

이때, 상기 패스데이터로 변환하는 단계는, 각각 라벨이 할당되어 있는 서브영역들이 정의되어 있는 전체지도에 관한 정보를 준비하는 단계, 및 상기 복수 개의 지구위치정보를 시간의 흐름에 따라 나열하였을 때에, 상기 특정객체가 위치하는 서브영역을 순차적으로 관찰하여, 상기 관찰된 결과에 따르는 서브영역의 라벨들을 시간의 순서에 따라 어레이 형태로 생성하는 단계를 포함하며, 상기 패스데이터를 나타내는 어레이 내의 서로 인접한 원소들은 서로 다른 서브영역을 나타내는 것을 특징으로 할 수 있다.At this time, the step of converting into the path data may include preparing information on the global map in which the sub-areas to which the labels are assigned are defined, and when arranging the plurality of pieces of the geolocation information according to the flow of time, Sequentially observing sub-regions in which the specific object is located, and generating labels of sub-regions corresponding to the observed results in an array in time order, wherein each of the elements adjacent to each other in the array representing the path data May represent different sub-regions.

또한, 상기 변환하는 단계에서, 상기 패스데이터가 복수 개 제공되며, 상기 복수 개의 전처리된 패스들(31~45)의 개수는, 상기 복수 개의 패스데이터들을 나타내는 각 어레이의 길이를 서로 더한 값에 해당할 수 있다.In addition, in the converting step, a plurality of the path data are provided, and the number of the plurality of preprocessed paths (31 to 45) corresponds to a value obtained by adding the lengths of the respective arrays representing the plurality of path data to each other can do.

또한, 상기 후속예측위치를 상기 제1패스데이터의 마지막에 패딩하여 제2패스데이터를 생성하는 단계, 상기 제2패스데이터를 상기 학습된 예측모델에 입력하여 상기 후속예측위치에 후속하는 제2후속예측위치를 결정하는 단계를 더 포함할 수 있다.Generating second path data by padding the next predicted position to the end of the first pass data; inputting the second pass data to the predicted predicted model to generate a second subsequent And determining the predicted position.

또한, 상기 변환하는 단계에서, 상기 패스데이터가 복수 개 제공되며,Further, in the converting step, a plurality of path data are provided,

상기 복수 개의 전처리된 패스들은 모두 동일한 제1길이를 갖는 어레이 형태를 가지며, 상기 제1길이는 상기 복수 개의 패스데이터들 중 가장 긴 패스데이터의 길이와 같거나 긴 것을 특징으로 하며, 상기 제1길이가 자연수의 제곱이 아닌 경우, 상기 제1길이를, 자연수의 제곱인 값을 가지며 상기 제1길이보다 큰 제1자연수들 중 가장 작은 값으로 재설정하도록 되어 있을 수 있다. Wherein the plurality of preprocessed paths have an array shape having the same first length and the first length is equal to or longer than a length of the longest path data among the plurality of path data, The first length may be reset to the smallest value among the first natural numbers having a square of a natural number and larger than the first length.

본 발명에 따르면, 학습된 이동 예측 모델을 이용하여 실시간으로 객체의 예측된 이동을 제시할 수 있다. 또한, 실시간 이동 패턴을 생성하는 이동 예측 모델을 생성할 수 있다.According to the present invention, the predicted movement of the object can be presented in real time using the learned movement prediction model. In addition, a motion prediction model for generating a real-time motion pattern can be generated.

도 1은 일 실시예에 따른 CNN의 구조를 나타낸 것이다.
도 2는 정의 1을 시각화한 것으로서, 3차원 이동데이터를 나타낸 것이다.
도 3은 2차원 이동데이터를 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 서브영역들을 포함하는 전체지도를 나타낸 것이다.
도 5는 본 발명의 일 실시예에 따른 전처리된 이동데이터의 예를 표로 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 전처리 과정을 알고리즘으로 나타낸 것이다.
도 7a는 본 발명의 일 실시예에 따른 예측된 이동패턴을 생성하기 위한 경로 예측 방법을 알고리즘으로 나타낸 것이다.
도 7b는 콘볼루셔널 뉴널 네트워크를 이용한 본 발명의 일 실시예에 따른 이동패턴 예측의 일 예를 나타낸 것이다.
도 8은 본 발명의 일 실시예에 따른 실험자1의 주중 실제 이동과 이동경로를 예측한 것이다.
도 9는 본 발명의 일 실시예에 따른 상술한 실험 결과를 나타낸 것이다.
도 10은 본 발명의 일 실시예에 따른 상술한 실험 결과를 나타낸 것이다.
도 11은 본 발명의 일 실시예에 따른 실험자3의 주중 실제 이동과 이동경로를 예측한 것이다.
도 12는 본 발명의 제2 실시예에 따라 모델 학습 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 제2 실시예에 따른 모델 학습 방법에 대한 순서도를 나타낸 것이다.
도 14는 본 발명의 다른 실시예에 따른 이동경로예측방법을 나타낸 순서도이다.
1 illustrates a structure of a CNN according to an exemplary embodiment of the present invention.
Fig. 2 is a visualization of Definition 1, which shows three-dimensional movement data.
3 shows two-dimensional moving data.
FIG. 4 illustrates an overall map including sub-regions according to an embodiment of the present invention.
FIG. 5 is a table showing an example of preprocessed movement data according to an embodiment of the present invention.
FIG. 6 shows an algorithm of a preprocessing process according to an embodiment of the present invention.
FIG. 7A shows an algorithm of a path prediction method for generating a predicted movement pattern according to an embodiment of the present invention.
FIG. 7B shows an example of a movement pattern prediction according to an embodiment of the present invention using a convolutional neural network.
FIG. 8 is a graph for predicting the actual movement and the movement path during the week of the experimenter 1 according to the embodiment of the present invention.
FIG. 9 shows the above-described experimental results according to an embodiment of the present invention.
FIG. 10 shows the above-described experimental results according to an embodiment of the present invention.
FIG. 11 is a graph for predicting the actual movement and the movement path during the week of the experimenter 3 according to the embodiment of the present invention.
12 is a diagram for explaining a model learning method according to a second embodiment of the present invention.
13 is a flowchart of a model learning method according to a second embodiment of the present invention.
FIG. 14 is a flowchart illustrating a motion path prediction method according to another embodiment of the present invention.

이하, 본 발명의 실시예를 첨부한 도면을 참고하여 설명한다. 그러나 본 발명은 본 명세서에서 설명하는 실시예에 한정되지 않으며 여러 가지 다른 형태로 구현될 수 있다. 본 명세서에서 사용되는 용어는 실시예의 이해를 돕기 위한 것이며, 본 발명의 범위를 한정하고자 의도된 것이 아니다. 또한, 이하에서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. However, the present invention is not limited to the embodiments described herein, but may be implemented in various other forms. The terminology used herein is for the purpose of understanding the embodiments and is not intended to limit the scope of the present invention. Also, the singular forms as used below include plural forms unless the phrases expressly have the opposite meaning.

<제1 실시예>&Lt; Embodiment 1 >

본 발명에서는, 이동데이터의 수집을 위해 학생 7명의 이동데이터를 평균 1년간 수집하였다. 수집하기 위해 사용한 장치는 스마트폰이며 Sport Tracker 어플리케이션을 사용하여 GPS데이터를 수집하였고 이렇게 얻어진 GPS 데이터를 주말과 주중의 이동으로 따로 분류하였다. 하지만 얻어진 GPS 데이터를 모델 훈련에 바로 사용할 수 없기 때문에 로우데이터(raw data)를 전처리하여 모델 훈련에 적합한 데이터로 바꿔주는 과정이 필요하다.In the present invention, movement data of seven students were collected on average for one year in order to collect movement data. The device we used to collect was a smartphone and collected GPS data using the Sport Tracker application and categorized the GPS data into weekly and weekly movements. However, since the obtained GPS data can not be used immediately for model training, it is necessary to preprocess raw data and convert it into data suitable for model training.

이동데이터의 전처리 과정을 하기 전에, 먼저 이동에 대해서 정의를 내릴 필요가 있다. 아래의 논문[6]에서는 이동에 대해 다음 정의 1(Definition 1)과 같은 정의를 내린다 :  Before preprocessing the movement data, it is necessary to define the movement first. In the following paper [6], we define the following definition of movement 1 (Definition 1):

Definition 1. A Trajectory or spatio-temporal sequence is a sequence of triplesDefinition 1. A trajectory or spatio-temporal sequence is a sequence of triples

T=<x0, y0, t0>,...,<xn, yn , tn>T = <x 0 , y 0 , t 0 >, ..., <x n , y n , t n >

where ti (i=0...n) denotes a timestamp such that 0<i<n ti<ti+1 and (xi,yi) are points in R2.where ti (i = 0 ... n) denotes a timestamp such that 0 <i <n ti <ti + 1 and (xi, yi) are points in R2.

논문[6][6]

WhereNext: a Location Predictor on Trajectory Pattern MiningWhereNext: a Location Predictor on Trajectory Pattern Mining

도 2는 상기 정의 1을 시각화한 것으로서, 3차원 이동데이터를 나타낸 것이다. FIG. 2 is a visualization of the definition 1, and shows three-dimensional movement data.

도 3은 2차원 이동데이터를 나타낸 것이다.3 shows two-dimensional moving data.

도 4는 본 발명의 일 실시예에 따른 서브영역들을 포함하는 전체지도를 나타낸 것이다.FIG. 4 illustrates an overall map including sub-regions according to an embodiment of the present invention.

도 2를 참조할 때, 위치가 시간에 따라 변하고 있음을 알 수 있다. Referring to FIG. 2, it can be seen that the position changes with time.

즉, 시간에 따른 위치변화이므로 위치변화에 대한 정보를 훈련하기 위해서는 전처리된 데이터에서 이러한 위치변화의 개념을 포함하고 있어야 한다. 하지만 이러한 이동변화를 도 3 처럼 좌표자체로 나타내기는 데이터의 크기가 너무 커지게 된다. 따라서 보다 데이터의 크기를 감소시키기 위해서 각 지역을 도 4와 같이 폴리곤으로 자르고 잘려진 지역을 라벨링하였다. 따라서 이동은 좌표가 아닌 각 지역이 가진 라벨링의 변화라고 할 수 있다.That is, since it is a positional change with time, in order to train information about the positional change, the concept of the positional change should be included in the preprocessed data. However, the magnitude of the data representing such a movement change by the coordinates itself as shown in Fig. 3 becomes too large. Therefore, to reduce the size of data, each region is cut into polygons as shown in FIG. 4 and the cut regions are labeled. Therefore, movement is not a coordinate but a change in the labeling of each area.

도 5는 본 발명의 일 실시예에 따른 전처리된 이동데이터의 예를 표로 나타낸 것이다. FIG. 5 is a table showing an example of preprocessed movement data according to an embodiment of the present invention.

도 5에 나타낸 예에서 '전처리된 이동데이터'는 6개의 데이터를 포함한다. 도 5엣서 각 열은 각 데이터를 나타낸다. 도 5에 나타낸 '전처리된 이동데이터'는 예컨대 객체가 도 4에서 서브영역 1, 2, 3, 4, 5, 6을 순차적으로 통과하는 이동경로를 나타내는 이동데이터를 전처리한 것이다. 상기 이동데이터는 [1,2,3,4,5,6]라고 표시할 수 있다. In the example shown in FIG. 5, the 'preprocessed movement data' includes six pieces of data. Each column in Fig. 5 shows each data. The 'preprocessed movement data' shown in FIG. 5 is obtained, for example, by preprocessing the movement data indicating the movement path in which the object sequentially passes through the sub-areas 1, 2, 3, 4, 5 and 6 in FIG. The movement data can be expressed as [1, 2, 3, 4, 5, 6].

도 5에 나타낸 '전처리된 이동데이터'에 포함된 6개의 데이터들 중 각 데이터는 그 위치에서의 이동이력과, 다음위치를 라벨(label)로 가지게 된다. 위치가 정의되지 않는 경우에는 'null' 또는 '0'으로 표시할 수 있는데, 도 5에서는 '0'으로 표시하였다. Each of the six pieces of data included in the 'preprocessed movement data' shown in FIG. 5 has a movement history at that position and a next position as a label. If the position is not defined, it can be indicated as 'null' or '0'. In FIG. 5, it is indicated as '0'.

예컨대 객체가 첫 번째 위치인 서브영역 1에 있을 때에, 상기 이동이력은 {1,0,0,0,0,0}(={1,null,null,null,null,null}) 으로 표시되고, 다음위치는 실제 다음 위치인 '2'로 표시될 수 있다. 예컨대 객체가 세 번째 위치인 서브영역 3에 있을 때에, 상기 이동이력은 {1,2,3,0,0,0}(={1,2,3,null,null,null}) 으로 표시되고, 다음위치는 실제 다음 위치인 '4'로 표시될 수 있다. 예컨대 객체가 마지막 위치인 서브영역 6에 있을 때에, 상기 이동이력은 {1,2,3,4,5,6}으로 표시되고, 다음위치는 실제 다음 위치인 '0(null)'로 표시될 수 있다.For example, when the object is in the first sub-region 1, the movement history is expressed as {1,0,0,0,0,0} (= {1, null, null, null, null, , The next position may be indicated by the actual next position '2'. For example, when the object is in the third position, sub region 3, the movement history is represented as {1,2,3,0,0,0} (= {1,2,3, null, null, null}) , The next position may be indicated by the actual next position '4'. For example, when the object is in the sub-area 6, which is the last position, the movement history is represented by {1,2,3,4,5,6}, and the next position is represented by '0' .

이렇게 '전처리된 이동데이터'가 포함하는 데이터의 개수는, 전처리되기 이전의 이동데이터의 원소의 개수와 동일하다. 예컨대 도 5에서 '전처리된 이동데이터'의 개수는 6으로서, 상술한 이동데이터 {1,2,3,4,5,6}의 원소의 개수인 6과 동일하다.The number of data included in the 'preprocessed movement data' is the same as the number of elements of the movement data before preprocessing. For example, the number of 'preprocessed movement data' in FIG. 5 is 6, which is equal to 6, which is the number of elements of the movement data {1,2,3,4,5,6}.

이러한 전처리 과정은 도 6의 알고리즘 1을 따른다.This preprocessing procedure follows Algorithm 1 of FIG.

도 6은 본 발명의 일 실시예에 따른 전처리 과정을 알고리즘(알고리즘 1)으로 나타낸 것이다.FIG. 6 shows an algorithm (algorithm 1) of a preprocessing process according to an embodiment of the present invention.

알고리즘 1은 전처리 되기전 이동데이터인 패스(Path 데이터)로부터 전처리된 이동데이터인 전처리된 패스(ProcessedPath)를 만들어 전처리된 패스 세트(ProcessedPath_Set)에 추가한다. 동시에 각 전처리된 패스(ProcessedPath)의 다음 위치에 대한 정보를 패스(Path)로부터 받아 라벨(Label)에 추가한다. 최종적으로 분류모델의 지도학습을 위한 데이터인 전처리된 패스(ProcessedPath)와 라벨(Label)을 반환한다.The algorithm 1 creates a preprocessed path (ProcessedPath) which is preprocessed motion data from a path (path data) that is motion data before preprocessing and adds it to the preprocessed path set (ProcessedPath_Set). At the same time, information on the next position of each preprocessed path is received from the path and added to the label. Finally, it returns the preprocessed path (ProcessedPath) and the label (Label) which are data for the map learning of the classification model.

각 라인(Line)에 대한 설명은 아래와 같다. The description of each line is as follows.

Line 1 : ProcessedPath는 N*N 매트릭스의 변수로써 정의되며, 이때 N은 최대 예측 수 또는 궤적의 가장 긴 수의 제곱근을 의미한다. 예컨대, 궤적 9의 길이를 가질 때에 N=3일 수 있다.Line 1: ProcessedPath is defined as a variable of the N * N matrix, where N is the square root of the largest number of predictions or the longest number of trajectories. For example, N = 3 when having the length of the locus 9.

Line 2 : Path의 길이만큼 Line 8까지 반복 수행될 수 있다.Line 2: It can be repeated up to Line 8 by the length of the path.

Line 3 : Line 5까지 Path의 길이만큼 Path를 갖는 ProcessedPath를 생성한다.Line 3: Creates a ProcessedPath with a path equal to the length of the path up to Line 5.

Line 6 : 생성된 ProcessedPath를 ProcessedPathSet에 추가한다.Line 6: Add the created ProcessedPath to the ProcessedPathSet.

Line 7 : 다음 Path를 Label set에 추가한다.Line 7: Add the following path to the Label set.

Line 9 : ProcessedPathSet 과 Label을 반환한다. Line 9: Returns ProcessedPathSet and Label.

모델의 훈련에 사용하는 데이터는 일반적으로 Train set과 Validation set이 필요하며, 실험을 하기 위한 Test set이 필요하다. Train set은 모델의 훈련에 사용되어지는 데이터의 집합이며, Validation set은 모델 학습의 과적합을 막기 위한 집합으로 모델이 제대로 훈련 되었는지에 대한 정도를 확인하는데 사용된다. 데이터의 대부분은 Train set으로 사용하며 일부를 Validation set과 Test set으로 사용한다. 본 발명에서는 데이터를 Train set, Validation set, Test set 총 3개의 데이터 집합으로 만들어 훈련에 사용하였다.The data used in the training of the model generally requires a train set and a validation set, and a test set for the experiment. A train set is a set of data that is used to train the model, and a validation set is used to determine the degree to which the model is properly trained as a set to prevent over-summing of model learning. Most of the data is used as train set, and some are used as validation set and test set. In the present invention, the data is composed of three data sets, train set, validation set, and test set.

또한, 전처리 단계에서 GPS 로우 데이터(raw data)를 모델의 훈련을 위한 이동데이터로 처리하였다. 따라서 이렇게 전처리된 이동데이터를 가지고 모델을 훈련시키면 새로운 이동데이터에 대해서 다음 위치를 예측하는 모델이 생성된다. 모델의 학습은 기존의 분류모델을 학습하는 형식으로 데이터를 입력시켜 모델의 파리미터인 각 신경망 계층의 웨이트(Weight), 바이어스(bias) 값을 조정하면서 이루어진다. 모델의 학습세대와 학습률은 여러번의 학습을 걸쳐 가장 좋은 결과를 내는 학습률과 세대를 선택한다.In the preprocessing step, GPS raw data was processed as moving data for model training. Therefore, when the model is trained with the preprocessed movement data, a model for predicting the next position is generated for the new movement data. The learning of the model is performed by inputting data in the form of learning the existing classification model and adjusting the weight and bias value of each neural network layer which is a parameter of the model. The model of learning generation and learning rate selects learning rates and generations that produce the best results over multiple runs of learning.

모델이 훈련되어진 후 모델은 입력된 이동데이터를 기반으로 가장 적합한 위치를 예측한다. After the model is trained, the model predicts the most suitable position based on the input moving data.

도 7a는 본 발명의 일 실시예에 따른 예측된 이동패턴을 생성하기 위한 경로 예측 방법을 알고리즘(알고리즘 2)으로 나타낸 것이다. 도 7a와 같이, 입력된 이동에 대해 다음 위치를 모델이 예측한다. 이 예측된 위치를 처음 이동의 마지막에 추가하고 다시 모델에 입력 후 다음위치를 예측한다. 이 행동을 반복하게 되면 결과적으로 원하는 만큼 다음 위치를 예측할 수 있다.7A shows an algorithm (algorithm 2) for a path prediction method for generating a predicted movement pattern according to an embodiment of the present invention. As shown in FIG. 7A, the model predicts the next position for the input movement. Add this predicted position to the end of the first movement, input it back into the model, and predict the next position. If you repeat this behavior, you can predict the next position as you want.

이렇게 만들어진 이동예측은 이동패턴이 된다. 결과적으로 현재까지의 이동에 대해 다음위치를 예측하고 이동패턴을 생성하게 된다. The movement prediction thus made becomes a movement pattern. As a result, the next position is predicted and the movement pattern is generated for the current movement.

예측경로를 알아내는 함수인 PredictPath는 다음 위치를 예측하고자 하는 이동데이터인 Path를 입력받아 예측된 이동경로를 포함하는 Predicted_Path를 반환한다. 예측하고자 하는 이동의 길이에 따라 n의 값을 정할 수 있다. PredictPath, which is a function for finding a predicted path, receives Predicted Path, which is movement data for predicting a next location, and returns a Predicted_Path including a predicted Predicted Path. The value of n can be determined according to the length of the movement to be predicted.

훈련된 모델인 CNN의 예측함수인 Predict함수를 이용해 현재까지의 경로인 Path에 따른 다음 예측 위치를 Predicted_Label이 입력받는다. 이 예측된 위치를 원래 경로에 추가해 다시 CNN의 예측함수에 입력한다.Predicted_Label receives the next predicted position according to the current path Path using the Predict function which is a predicted function of CNN, which is a trained model. This predicted position is added to the original path and input to the CNN prediction function again.

이와 같은 행동을 원하는 예측 이동길이 만큼 반복하여 예측된 이동경로를 얻을 수 있다. It is possible to obtain a predicted movement path by repeating such a motion by a desired movement length desired.

도 7b는 본 발명의 일 실시예에 따라 도 7a의 알고리즘에 대한 메커니즘을 설명하는 일 예를 나타낸 것이다. FIG. 7B illustrates an example of a mechanism for the algorithm of FIG. 7A according to an embodiment of the present invention.

CNN에 의해 수행되는 예측의 입력과 출력의 예는 도 7b와 같으며, 입출력값들은 실험 과정에서 관찰된 실제 값이다. [487, 389, 359, 360]의 궤적은 CNN의 입력으로써 사용되며, 예측된 위치들을 위해 0들로 채워진 남겨진 빈자리들을 포함한다. 현재 위치에 대한 라벨이 360이며, CNN 예측을 이용하였을 겨우, 다음 위치로서 가장 가능성 있는 위치는 336일 수 있다. 이러한 예측 알고리즘은 알고리즘 2를 통해 원하는 만큼 복수회 반복될 수 있다. Examples of input and output of prediction performed by CNN are shown in FIG. 7B, and input / output values are actual values observed in the experiment. The trajectories of [487, 389, 359, 360] are used as inputs to the CNN and include the remaining vacancies filled with zeros for the predicted positions. If the label for the current position is 360 and the CNN prediction is used, then the most likely position as the next position may be 336. This prediction algorithm can be repeated as many times as desired through algorithm 2. [

본 발명에서는, 예측한 이동경로의 정확성을 측정하기 위해 위치 예측의 정확성을 측정하기 위한 방법을 고안했다. 예측된 위치의 정확성을 측정하기 위해서 실제 다음에 이동된 위치와 예측된 위치를 서로 비교한다. 이때 3가지 경우가 나타날 수 있다. 첫째로 실제 이동된 위치와 예측된 위치가 같은 경우, 둘째로 실제 이동된 위치 근처를 예측한 경우, 셋째로 전혀 다른 위치를 예측한 경우가 생긴다. 본 발명에서는 이 세 가지 경우에 대해 서로 다른 점수를 매겨 위치예측에 대한 총 점수로 합산한다. In the present invention, a method for measuring the accuracy of the position prediction is devised in order to measure the accuracy of the predicted movement path. In order to measure the accuracy of the predicted position, the next moved position and the predicted position are compared with each other. There are three possible cases. First, when the actual moved position is the same as the predicted position, and secondly, when the actual moved position is predicted, the third position is predicted to be completely different. In the present invention, these three cases are scored differently and added to the total score for the position prediction.

먼저 예측위치가 실제위치와 같은 경우는 1점을 두 번째 경우처럼 예측위치가 실제위치 근처에 있는 경우 거리에 따라 차등점을 그리고 예측위치가 실제위치와 완전히 다른 경우는 0점을 주었다.   First, when the predicted position is the same as the actual position, one point is given as a difference point according to the distance when the predicted position is near the actual position, and when the predicted position is completely different from the actual position,

두 번째 케이스의 경우에 대해 점수를 부여하는 방식은 실제위치와 예측위치의 사이의 거리를 근처위치로 파악하는 최대거리로 나눈 값을 더해준다. 이것을 식으로 나타내면 수식 1과 같다.  In the case of the second case, the method of assigning a score is to add the distance between the actual position and the predicted position divided by the maximum distance to the nearby position. This can be expressed by the following equation.

<수식 1>&Lt; Formula 1 >

Figure pat00001
Figure pat00001

이때, MAXD(pb, ab)는 가능한 최대 거리를 의미하며, 즉 다각형의 예측 위치에서 가능한 가장 먼 경계부분 사이의 최대 거리를 의미할 수 있다. pb는 다각형의 예측 위치에 대한 가장 먼 경계부분을 의미하며, ab는 다각형의 실제 위치에 대한 가장 가까운 경계부분을 의미할 수 있다.In this case, MAX D (p b , a b ) means the maximum distance possible, that is, the maximum distance between the widest possible boundary portions at the predicted position of the polygon. p b denotes the farthest boundary portion with respect to the predicted position of the polygon, and a b denotes the nearest boundary portion with respect to the actual position of the polygon.

전체 예측 궤적에 대한 백분위 합은 수식 3과 같다. 이때, 첫 번째 경우에서 궤적(trajectory)의 전체 수를 c1 이라고 하고, 두 번째 경우에서의 궤적의 전체 수를 c2 라고 정의할 수 있다. c2는 수식 2를 통해 계산될 수 있다. 이때, case2(p)는 두 번째 경우에서 분류된 상기 예측 위치들일 수 있다. 이는, 두 번째 경우에서 분류된 인접한 예측 위치들에 대한 전체 수일 수 있다. The percentile sum of the total predicted trajectory is shown in Equation 3. In this case, the total number of trajectories in the first case is c 1 , and the total number of trajectories in the second case is c 2 . c 2 can be calculated through Equation (2). In this case, case 2 (p) may be the prediction positions classified in the second case. This may be the total number for adjacent prediction positions classified in the second case.

<수식 2>&Quot; (2) &quot;

Figure pat00002
Figure pat00002

<수식 3>&Quot; (3) &quot;

Figure pat00003
Figure pat00003

이때, Np는 예측 위치들의 전체 수를 의미한다.In this case, N p means the total number of predicted positions.

본 발명에서는, 실험대상자 모두 같은 학교 학생을 대상으로 수집하였으므로 학교주변의 지역을 선택하여 하루 동안의 이동에 대해서 모델을 훈련시켰다. 그리고 학교주변의 지역을 24x24로 잘랐으며 각 지역을 1부터 576으로 레이블링 하였다. CNN을 통한 다음위치 예측과 이동패턴 생성의 성능을 알아보기 위해 4장에서 제시한 방식대로 실제 이동패턴과 유사한 이동패턴이 얼마나 일어났는지를 계산하였다. 모델의 성능 비교를 위해 다른 분류모델과 성능을 비교하였다. OS는 Ubuntu 15.04 그리고 GPU는 GTX 980 환경에서 Python과 theano를 사용하여 실험하였다.In the present invention, since all the subjects were collected for the same school students, the model was trained for the movement during the day by selecting the area around the school. The area around the school was cut to 24x24 and each area was labeled from 1 to 576. In order to investigate the performance of next location prediction and movement pattern generation through CNN, we calculated how much movement pattern similar to the actual movement pattern occurred in the manner described in Chapter 4. We compared performance with other classification models to compare the performance of the models. Ubuntu 15.04 for OS and GPU for GTX 980 using Python and theano.

본 발명의 일 실시예에서는, 7명 각 사람의 이동패턴을 생성하기 위해서 한 실험 당 한 사람의 이동데이터만을 사용하여 모델을 훈련시켰다. 각 사람의 이동패턴에 대해 각 모델이 훈련되어 한 모델이 한사람의 다음 위치를 예측하도록 하였다. 예측 길이는 다음 1개위치 예측부터 연속된 5개 예측경로를 시각화하였다. 모델을 훈련함으로써 도 8에서 보는 것처럼 결과를 얻었다. 도 8은 본 발명의 일 실시예에 따른 실험자1의 주중 실제 이동과 이동경로를 예측한 것이다.In one embodiment of the present invention, the model was trained using only one person's movement data per experiment in order to generate a movement pattern for each person. Each model was trained for each person's movement pattern so that one model predicted the next position of one person. The prediction length visualizes five consecutive prediction paths starting from the next one position prediction. By training the model, the results were obtained as shown in FIG. FIG. 8 is a graph for predicting the actual movement and the movement path during the week of the experimenter 1 according to the embodiment of the present invention.

도 9 및 도 10은 본 발명의 일 실시예에 따른 상술한 실험 결과를 나타낸 것이다. 도 9는 총 7명의 실험자의 주중 이동에 대한 예측 정확성을 표기한 것이다. 도 10은 7명의 실험자의 주말의 이동에 대한 예측 정확성을 표기한 것이다. 주말의 이동에 대해 실험자 수가 한 사람 적은 것은 일 실시예에서 정한 실험 위치에 대해 실험자 5의 주말 이동이 없었기 때문이다. 일 실시예에서, 모델의 훈련에 사용한 데이터와 실험에 사용한 데이터의 수를 각 실험자에 대해서 Train set, Test set에 각각 표기 하였다. 그리고 각 실험에 대한 Misprediction error를 표시했다. Misprediction error가 나타내는 것은 Train set으로부터 훈련된 모델이 Test set의 데이터에 대해 예측한 것에 대한 에러율 나타낸다. 다음 위치를 정확히 예측하였을 경우에 대한 에러율이라고 할 수 있다. 따라서 에러율이 낮을수록 높은 정확성을 보인다고 할 수 있다. 마지막으로 본 발명에서 정의한 정확도 측정 방식으로 나타낸 예측 정확도(Accuracy)를 나타내었다. 에러율에 따른 정확성은 정확한 위치에 대한 정확성 정도를 나타낸 것이고 본 발명의 정확성 측정 방식에 따른 정확도 측정 방식은 예측위치 근처를 예측했을 경우 가산점을 주기 때문에 본 발명의 정확성 측정 방식에 따른 값이 더 높은 값을 가진다. FIG. 9 and FIG. 10 show the above-described experimental results according to an embodiment of the present invention. FIG. 9 shows the prediction accuracy of the seven weekly shifts of a total of seven subjects. Fig. 10 shows the prediction accuracy of the movement of the weekends of seven experimenters. The reason why one person is used for the movement of the weekend is that there is no week shift of the experimenter 5 with respect to the experimental position set in the embodiment. In one embodiment, the data used in the training of the model and the number of data used in the experiment are indicated in the train set and the test set, respectively, for each experimenter. And we showed Misprediction error for each experiment. The misprediction error indicates the error rate of the model trained from the train set for the predicted data of the test set. It can be said that the error rate is the case where the next position is accurately predicted. Therefore, the lower the error rate, the higher the accuracy. Finally, the accuracy of prediction defined by the accuracy measurement method defined by the present invention is shown. The accuracy according to the error rate indicates the degree of accuracy with respect to the precise position. The accuracy measurement method according to the accuracy measuring method of the present invention gives addition points when the vicinity of the predicted position is predicted, .

실험 결과는 도 9와 같이 주중의 이동에 대해 다음 1개 위치에 대한 예측의 정확성 비율은 40~69%정도의 정확률을 보여주며 주말의 이동에 대한 예측결과인 도 10의 경우는 16~67%의 정확성을 보여주고 있다, 사람의 이동이 항상 규칙적인 것이 아니라는 것을 생각해본다면 낮지 않은 정확성을 보인다고 할 수 있다. As shown in FIG. 9, the accuracy ratio of the prediction to the next one position is about 40 to 69%, and the prediction result of the weekend movement is 16 to 67% If you think about the fact that human movement is not always regular, it can be said that the accuracy is not low.

각 실험자들의 실험데이터의 수와 정확성을 본다면 대체적으로 이동데이터가 많을수록 정확성이 높다는 것을 알 수 있다. 이동데이터가 많을수록 모델의 학습이 더 정교하게 된다는 것을 알 수 있다. 도 9와 도 10을 비교했을 때, 주중의 이동이 주말의 이동에 비해 데이터의 수가 많다는 점이 주중의 이동의 정확성이 비슷한 정도의 정확성을 보여준 이유라고 볼 수 있다. 이에 따라, 다른 실험자에 비해 실험자1(Volunteer 1)과 실험자2(Volunteer 2)는 더 높은 정확성을 보여준다고 할 수 있다. 즉, 많은 이동이 있을 때 비슷한 이동도 더 많이 보이게 되므로 데이터의 크기가 커질수록 정확성이 높아진다는 것이 일반적인 경향이라고 볼 수 있다. 그러나 실험자6(Volunteer 6)과 실험자7(Volunteer 7)의 정확성(Accuracy)은 큰 차이를 보인다. Train set, Validation set, Test set의 값들이 유사함에도 불구하고 정확도에서 큰 차이를 보이는 반면, 오차율(Misprediction ratio)은 비슷하다. 이는 인간 이동성(human mobility)의 임의적 성질(arbitrary nature)을 암시한다. 실험자 6은 이동성에 있어서 더 많은 임의적 성질을 갖는다.  If we look at the number and accuracy of experimental data from each experimenter, we can see that the more mobile data, the higher the accuracy. It can be seen that the more mobile data, the finer the learning of the model. When comparing FIG. 9 and FIG. 10, it can be considered that the accuracy of movement during weekdays is similar to that of weekends because the number of data is larger than that of weekends. As a result, Volunteer 1 and Volunteer 2 are more accurate than other experimenters. In other words, it is a general tendency that, when there are many movements, more similar movements are seen, and as the size of data increases, accuracy increases. However, the accuracy of Experiment 6 (Volunteer 6) and Experiment 7 (Volunteer 7) are very different. Although the values of Train set, Validation set, and Test set are similar, there is a large difference in accuracy, while Misprediction ratio is similar. This implies an arbitrary nature of human mobility. Experiment 6 has more arbitrary properties in mobility.

예측이동 경로의 길이에 따라서 정확성의 정도는 점점 감소한다. 이러한 이유는 처음 이동경로를 예측할 때 예측과 실제 이동이 다른 경우 다음위치 예측의 입력이 잘못되게 된다. 따라서 처음 예측이 실패할 경우 다음 위치를 예측 할 수 있는 확률이 점점 낮아지게 된다. 예측할 이동경로가 많아질수록 예측의 정확성에 대한 의미보다는 실험자가 평소 이러한 이동경향을 보인다는 것만 판단 할 수 있게 된다.   Depending on the length of the predicted movement path, the degree of accuracy decreases gradually. The reason for this is that when the first movement route is predicted and the actual movement is different, the input of the next location prediction becomes erroneous. Therefore, if the initial prediction fails, the probability of predicting the next location will become lower. As the number of paths to be predicted increases, it is possible to judge only that the experimenter normally exhibits such a tendency to move rather than the meaning of the accuracy of the prediction.

도 11은 본 발명의 일 실시예에 따른 실험자3의 주중 실제 이동과 이동경로를 예측한 것이다.FIG. 11 is a graph for predicting the actual movement and the movement path during the week of the experimenter 3 according to the embodiment of the present invention.

도 8과 도 11은 실험자1과 실험자3의 실제 이동과 예측이동경로의 길이에 따른 결과를 시각화한 것이다. 도 8을 보면 이동의 정확성과는 별개로 이동의 경향성이 비슷하다는 것을 알 수 있다. 따라서 이동경로의 예측이 길어질수록 정확성은 낮아지더라도 전체적인 이동에 대한 개요를 알 수 있다. 그러나 도 11처럼 처음 위치예측이 실패한 경우 이 후 다음 예측에서 계속적인 오류로 인해 예측이 어려워진다는 것을 볼 수 있다.Figs. 8 and 11 are a visualization of the results of Experient 1 and Experiment 3 according to the actual movement and the length of the predicted movement path. 8, it can be seen that the tendency of movement is similar to the accuracy of movement. Therefore, the outline of the overall movement can be obtained even if the accuracy of the travel route becomes lower as the prediction of the travel route becomes longer. However, as shown in FIG. 11, it can be seen that, after the initial position prediction fails, the prediction becomes difficult due to continuous error in the next prediction.

결과적으로 분류모델을 이용한 이동경로 예측은 예측의 정확성과 이동의 경향성을 함께 보여준다고 할 수 있다. 따라서 본 발명의 일 실시예의 연구방식대로 사람의 이동경로를 전처리하고 훈련하는 방식으로 이동경로를 예측 할 수 있다는 것을 보였다.   As a result, it can be said that the prediction of the movement path using the classification model shows both the accuracy of the prediction and the tendency of movement. Therefore, it has been shown that the movement path can be predicted by preprocessing and tracing a human movement path according to the research method of the embodiment of the present invention.

그러나 사람의 이동이라는 것이 항상 일정한 패턴을 가지는 것이 아니라는 점이 사람의 이동 예측을 어렵게 한다. 또한 사람의 이동데이터가 가지는 단점은 하룻동안 많은 이동이 일어나는 것이 아니기 때문에 데이터를 하루 단위로 사용할 경우 딥러닝에 사용할 만큼의 데이터의 숫자가 나오지 않는 다는 점이다. 또한 이사나 교통의 변화에 따른 오류는 모델의 훈련과 예측을 힘들게 한다. 그럼에도 불구하고 이 정도의 정확성을 보일 수 있음을 보여 주었다.   However, the fact that the movement of a person does not always have a certain pattern makes it difficult to predict a movement of a person. Also, the disadvantage of human movement data is that there is not a lot of movement during the day, so when using the data on a daily basis, there is not enough data to be used for deep running. Errors due to changes in moving or traffic also make model training and prediction difficult. Nevertheless, it showed that this accuracy can be shown.

우리는 실험에서 사람의 이동을 가지고 실험했지만 실제 사용에서는 자동차의 이동이나 화물운송수단의 이동 비행기의 이동과 같은 비교적 같은 규칙성을 가지는 이동에 대해서는 더욱 더 좋은 정확성을 가지고 이동을 예측 할 수 있을 것이라 보인다. 또한 우리는 theano에서 제공하는 모델을 사용하여 실험했는데 최근 더 좋은 정확성을 갖춘 딥러닝 라이브러리와 모델들을 사용하여 같은 실험을 한 다면 더 좋은 예측성능을 보일 것이다.  We have experimented with human movement in the experiment, but in practical use it will be able to predict movements with even better accuracy for movements with comparable regularity, such as the movement of an automobile or the movement of a moving plane of a freight vehicle see. We have also experimented with the models provided by theano, but we will see better predictions if we do the same experiment using deep-learning libraries and models with better accuracy in the past.

일 실시예에서, 이동패턴을 딥러닝 모델 중 분류모델인 CNN을 사용해 객체의 이동에 대해 다음위치를 예측하고 이동패턴을 생성하였다. 그리고 이동데이터인 GPS 데이터를 모델에 훈련에 사용하기 위한 이동을 기존의 지도를 입력하는 대신 이동에 대한 정보만을 넣어 훈련시켜서 결과를 얻어내었다. 실험을 통해서 일 실시예에서 예측한 이동패턴이 실제 사람의 이동 패턴을 생성했음을 보였으며 정확성 측정방식에 따른 모델의 성능을 측정하였다. 본 발명의 연구는 이동이 이루어지는 지도가 아닌 이동자체를 사용하는 새로운 방식으로 딥러닝을 이용한 이동패턴 생성이 가능하다는 것을 보였다. 빅데이터가 화두되는 현재 이러한 방식의 객체의 다음 위치 예측은 많은 Location Based Service에 적용될 수 있을 것이라 생각한다. 특히 실시간으로 다음 위치를 예측하여 보내 줄 수 있다는 점에서 보다 적용가능한 점이 많을 것이라 생각된다. In one embodiment, the movement pattern is predicted using the CNN, which is a classification model of the deep running model, for the movement of the object, and a movement pattern is generated. And we used GPS data, which is movement data, to train in the model by training only the movement information instead of inputting the existing map. Through experiments, it was shown that the movement pattern predicted in the present embodiment generated the movement pattern of the actual person, and the performance of the model according to the accuracy measurement method was measured. The research of the present invention shows that it is possible to generate a movement pattern using a deep running in a new way using a movement itself rather than a map in which movement is performed. I think that the prediction of the next location of this type of object at present where big data is discussed can be applied to many location based services. Especially, it can be applied more because it can predict and send the next location in real time.

<제2 실시예>&Lt; Embodiment 2 >

도 12는 본 발명의 제2 실시예에 따라 모델 학습 방법을 설명하기 위한 도면이다. 도 12의 (a)는 행렬형태로 구획된 전체지도를 나타낸 것이고, 도 12의 (b)는 각 경로에 대한 패스(Path) 데이터를 나타낸 것이며, 도 12의 (c)는 전처리된 패스 세트를 나타낸 것이다.12 is a diagram for explaining a model learning method according to a second embodiment of the present invention. 12 (a) shows a whole map partitioned in a matrix form, FIG. 12 (b) shows path data for each path, and FIG. 12 (c) shows a pre- .

도 13은 본 발명의 제2 실시예에 따른 모델 학습 방법에 대한 순서도를 나타낸 것이다.13 is a flowchart of a model learning method according to a second embodiment of the present invention.

이하, 도 12 및 도 13을 함께 참조하여 설명한다.12 and Fig. 13 together.

단계(S10)에서, 특정인이 1회 이동 시 얻을 수 있는 GPS 데이터(= 지구위치정보)를 수집하여 'GPS 데이터 세트(= 지구위치정보 세트)'를 획득할 수 있다. 이때, 상기 특정인은 '객체' 또는 '실험자'로 지칭될 수 있다. GPS 데이터는 <위도, 경도, 시간>으로 이루어질 수 있다. 상기 1회 이동 시 얻을 수 있는 GPS 데이터의 개수는 매우 많을 수 있다. In step S10, GPS data (= district location information) that a specific person can obtain in one movement can be collected and a 'GPS data set (= district location information set)' can be acquired. At this time, the specific person may be referred to as an 'object' or an 'experimenter'. The GPS data may be <latitude, longitude, time>. The number of GPS data that can be obtained in the single movement may be very large.

상기 'GPS 데이터 세트'는 복수 회 이동하여 얻은 GPS 데이터들의 집합을 의미할 수 있다.The 'GPS data set' may mean a set of GPS data obtained by moving a plurality of times.

단계(S20)에서, 상기 'GPS 데이터 세트'를 다른 형태의 데이터 형을 갖는 데이터로 변환할 수 있다. In step S20, the 'GPS data set' can be converted into data having another type of data type.

단계(S21)에서, 행렬형태로 구획된 복수 개의 서브영역(y1x1~y7x7)들을 포함하는 전체지도를 준비할 수 있다. 예컨대, 상기 전체지도는 상기 특정인이 이동하는 지역을 포함하는 지도일 수 있다. In step S21, a whole map including a plurality of sub-areas y1x1 to y7x7 partitioned in a matrix form can be prepared. For example, the whole map may be a map including an area where the specific person moves.

상기 전체지도를 미리 결정된 행렬형태로 구획하여 구분할 수 있다. 상기 구분된 각각의 서브영역에 라벨을 붙일 수 있다. 예컨대, 7*7 행렬 형태로 서브영역을 구분할 수 있다. 그리고 각 서브영역은 예컨대 1~49의 라벨이 할당되어 있을 수 있다. 서브영역(y1x1)에는 1의 라벨이 할당되어 있을 수 있고, 서브영역(y1x7)에는 7의 라벨이 할당되어 있을 수 있다.The entire map can be divided and divided into a predetermined matrix form. And each of the divided sub regions may be labeled. For example, sub-regions can be distinguished in the form of a 7 * 7 matrix. Each sub-area may be assigned a label, for example, 1 to 49. [ A label of 1 may be assigned to the sub area y1x1, and a label of 7 may be assigned to the sub area y1x7.

단계(S22)에서, 상기 GPS 데이터 세트를 이용하여 상기 특정인이 이동한 이동경로 상에 위치한 서브영역들을 결정하여, 상기 서브영역들의 라벨을 순차적으로 그 구성요소로서 갖는 어레이 Array()를 형성하고, 상기 형성된 어레이를 패스데이터( Path data)로 정의할 수 있다.In step S22, sub-areas located on the movement path of the specific person are determined by using the GPS data set to form an array (Array) having the labels of the sub-areas sequentially as its components, The formed array can be defined as path data.

예컨대, 상기 전체지도 상에 상기 획득한 GPS 데이터 세트에 대응하는 이동경로를 대응시킬 수 있다(예컨대, 그릴 수 있다).For example, a movement path corresponding to the acquired GPS data set may be associated (e.g., drawn) on the global map.

상기 GPS 데이터 세트에 대응하는 패스데이터는 다음과 같이 생성할 수 있다.The path data corresponding to the GPS data set can be generated as follows.

상기 특정인이 지나간 서브영역들을 순차적으로 배열하여 만든 어레이를 상기 Path로 삼는다. (실제로 컴퓨터로 처리할 때에는 특정인이 지나간 이동경로가 GPS 데이터로 표현되기 때문에, 이를 이용하여 상술한 바와 같은 작업을 처리할 수 있다.)The array formed by sequentially arranging the sub areas that the specific person has passed through is used as the Path. (Actually, when processing by computer, the movement route of a specific person is represented by GPS data, so that the above-mentioned operation can be processed by using this data.)

예컨대, 특정인이 첫 번째 이동 실험에서 상기 서브영역들 중 라벨 1, 2, 9, 10에 대응하는 서브영역을 순차적으로 지나갔다면, 첫 번째 패스데이터인 Path(1)은 {1, 2, 9, 10}으로 정의될 수 있다. 이 경우 Path(1)의 크기는 4이다.For example, if a particular person sequentially passes through the sub-areas corresponding to labels 1, 2, 9, and 10 among the sub areas in the first movement experiment, the first pass data Path (1) 10}. In this case, the size of Path (1) is 4.

예컨대, 특정인이 두 번째 이동 실험에서 상기 서브영역들 중 라벨 1, 2, 9, 10, 11, 18에 대응하는 서브영역을 순차적으로 지나갔다면, 두 번째 패스데이터인 Path(2)는 {1, 2, 9, 10, 11, 18}로 정의된다. 이때, Path(2)의 크기는 6이다.For example, if a particular person sequentially passes through the sub-areas corresponding to labels 1, 2, 9, 10, 11, and 18 among the sub areas in the second movement experiment, the second path data Path (2) 2, 9, 10, 11, 18}. At this time, the size of Path (2) is 6.

예컨대, 특정인이 세 번째 이동 실험에서 상기 서브영역들 중 라벨 2, 3, 4, 11, 12에 대응하는 서브영역을 순차적으로 지나갔다면, 세 번째 패스데이터인 Path(3)은 {2, 3, 4, 11, 12}로 정의된다. 이때, Path(3)의 크기는 5이다.For example, if a particular person sequentially passes through the sub-areas corresponding to the labels 2, 3, 4, 11, and 12 among the sub areas in the third movement experiment, the third path data Path (3) 4, 11, 12}. At this time, the size of Path (3) is 5.

단계(S30)에서, 획득된 '패스데이터'를 전처리하여, '전처리된 패스 세트(Processed Path Set)(30)'를 생성할 수 있다. In step S30, the obtained 'path data' may be preprocessed to generate a 'preprocessed path set 30'.

이때, 복수 개의 전처리된 패스들(31~45)에 각각 대응되는 복수 개의 예측위치들(50)을 생성할 수 있다. 각 전처리된 패스는 어레이 형태로 제공되며, 상기 각 어레이(Array_P())의 길이는 서로 동일할 수 있다. At this time, a plurality of prediction positions 50 corresponding to the plurality of preprocessed passes 31 to 45 may be generated. Each preprocessed path is provided in an array form, and the lengths of the arrays (Array_P ()) may be equal to each other.

상기 어레이(Array_P()) 길이는 상기 패스데이터를 나타내는 어레이(Array())의 크기 N과 같거나 또는 상기 N보다 클 수 있다. 단, 상기 획득된 패스데이터를 나타내는 어레이(Array())의 크기가 N인 경우, 상기 전처리 데이터 세트에는 N개의 구성요소가 포함될 수 있다. The length of the array (Array_P ()) may be equal to or greater than the size N of the array (Array ()) representing the path data. However, when the size of the array (Array ()) representing the obtained path data is N, the preprocessed data set may include N components.

예컨대, 첫 번째 패스데이터인 Path(1)은 어레이(Array())의 크기가 4이며, 전처리된 패스 세트에는 4개의 구성요소가 포함될 수 있다. For example, the first path data Path (1) has an array (Array ()) size of 4, and the preprocessed path set may include four components.

이때, 첫 번째 전처리된 패스(31)는, 획득된 패스데이터(Path(1))를 나타내는 어레이의 첫 번째 라벨까지 이동했을 때의 어레이(Array_P())로서, Array_P(1_1)={1, 0, 0, 0} 이다. 전처리된 패스(31)에 대응하는 다음 예측위치는 2일 수 있다. At this time, the first preprocessed path 31 is an array (Array_P ()) when moved to the first label of the array indicating the obtained path data (Path (1)), and Array_P 0, 0, 0}. The next predicted position corresponding to the preprocessed path 31 may be two.

두 번째 전처리된 패스(32)는, 획득된 패스데이터(Path(1))를 나타내는 어레이의 두 번째 라벨까지 이동했을 때의 어레이(Array_P())로서, Array_P(1_2)={1, 2, 0, 0} 이다. 전처리된 패스(32)에 대응하는 다음 예측위치는 9일 수 있다. The second preprocessed path 32 is an array (Array_P ()) when moved to the second label of the array representing the obtained path data (Path (1)), Array_P (1_2) = { 0, 0}. The next predicted position corresponding to the preprocessed path 32 may be nine.

세 번째 전처리된 패스(33)는, 획득된 패스데이터(Path(1))를 나타내는 어레이의 세 번째 라벨까지 이동했을 때의 어레이(Array_P())로서, Array_P(1_3)={1, 2, 9, 0} 이다. 전처리된 패스(33)에 대응하는 다음 예측위치는 10일 수 있다. The third preprocessed path 33 is an array (Array_P ()) when moved to the third label of the array representing the obtained path data (Path (1)), Array_P (1_3) = { 9, 0}. The next predicted position corresponding to the preprocessed path 33 may be ten.

네 번째 전처리된 패스(34)는, 획득된 패스데이터(Path(1))를 나타내는 어레이의 네 번째 라벨까지 이동했을 때의 어레이(Array_P())로서, Array_P(1_4)={1, 2, 9, 10} 이다. 전처리된 패스(34)에 대응하는 다음 예측위치는 0일 수 있다. 이때, 다음 예측위치를 0으로 표시한 것은, 목적지가 라벨이 10인 곳이기 때문이다.The fourth preprocessed path 34 is an array (Array_P ()) when moved to the fourth label of the array indicating the obtained path data (Path (1)), Array_P (1_4) = { 9, 10}. The next predicted position corresponding to the preprocessed path 34 may be zero. At this time, the next prediction position is indicated as 0 because the destination is the label 10.

복수 개의 패스데이터(Path(1), Path(2), Path(3))를 전처리하면, 한 개의 전처리된 패스 세트(30)가 나올 수 있다. When a plurality of path data (Path (1), Path (2), Path (3)) is preprocessed, one pre-processed path set 30 can be generated.

상기 한 개의 전처리된 패스 세트(30)는 복수 개의 전처리된 패스들을 포함할 수 있다.The one pre-processed path set 30 may include a plurality of preprocessed paths.

상기 복수 개의 패스데이터(Path(1), Path(2), Path(3))를 나타내는 어레이(Array())의 각각의 길이를 모두 합한 값을 NT라고 하면, 상기 한 개의 전처리된 패스 세트(30)의 전처리된 패스들의 개수는 NT가 될 수 있다. 예컨대, Path(1), Path(2), 및 Path(3)의 각각의 길이는 4, 6, 5 이므로 NT=15가 될 수 있다. 따라서, 한 개의 전처리된 패스 세트의 전처리된 패스들의 개수는 15가 될 수 있다.If a value obtained by adding together the lengths of the arrays (Array ()) representing the plurality of path data (Path (1), Path (2), Path (3)) is NT, the one pre- The number of preprocessed passes in the first and second paths 30, 30 may be NT. For example, since the lengths of Path (1), Path (2), and Path (3) are 4, 6, and 5, NT = 15. Thus, the number of preprocessed passes in one preprocessed path set may be fifteen.

상술한 바와 같이, 상기 한 개의 전처리된 패스 세트의 각 전처리된 패스는 어레이 형태로 제공되는데, 이때 NT개의 어레이(Array_P)의 길이는 모두 동일한 값 L_AP으로 결정되어 있을 수 있다. 이때 L_AP는 다음 값을 가질 수 있다. 상기 복수 개의 패스데이터를 나타내는 어레이들(Path(1), Path(2), Path(3)) 중 가장 긴 값을 갖는 것의 길이를 L_M이라고 하면, L_AP는 L_M과 동일한 값으로 결정될 수 있다. 단, L_AP가 자연수의 제곱이 아닌 경우에는, 상기 L_AP보다 큰 자연수의 제곱인 값들 중 가장 작은 값으로 재결정될 수 있다. 예컨대, 상기 복수 개(예컨대 3개)의 패스데이터를 나타내는 어레이들의 길이가 각각 4, 5, 6인 경우에는, L_M=6 이며 따라서 L_AP=L_M=6이 된다. 다만, 6은 자연수의 제곱이 아니므로, 상기 L_AP(=6)보다 큰 자연수의 제곱인 값들 중(9, 16, ...) 가장 작은 값(=9)으로 재결정될 수 있다(L_AP=9).As described above, each preprocessed path of the one pre-processed path set is provided in the form of an array. At this time, the lengths of the NT arrays (Array_P) may be determined to be the same value L_AP. At this time, L_AP can have the following values. If the length of the array having the longest value among the arrays (Path (1), Path (2), Path (3)) representing the plurality of path data is L_M, L_AP can be determined to be the same value as L_M. However, when L_AP is not the square of the natural number, it may be re-determined as the smallest value of the square of the natural number larger than L_AP. For example, when the lengths of the arrays representing the plurality of (e.g., three) path data are 4, 5, and 6, respectively, L_M = 6 and thus L_AP = L_M = 6. However, since 6 is not a square of a natural number, it can be recalculated to the smallest value (= 9) of the values (9, 16, ...) of the natural number squared larger than L_AP (= 6) ).

단계(S31)에서, 상기 획득된 '패스데이터'를 전처리하여, '전처리된 패스 세트(Processed Path Set)'를 생성할 때에, 상기 '전처리된 패스 세트(30)'의 전처리된 패스들의 개수와 동일한 개수를 갖는 예측위치 세트(50)를 생성할 수 있다. In step S31, when the obtained 'path data' is preprocessed and a 'preprocessed path set' is generated, the number of preprocessed paths of the 'preprocessed path set 30' It is possible to generate the predicted position set 50 having the same number.

단계(S40)에서, 상기 '전처리된 패스 세트'에 포함된 복수 개의 전처리된 패스들과 예측위치 세트를 미리 준비된 예측모델에 제공하여, 상기 예측모델을 학습시킬 수 있다.In step S40, a plurality of preprocessed paths included in the 'preprocessed path set' and a set of predicted positions may be provided to a prediction model prepared in advance, thereby learning the prediction model.

즉, 상기 예측모델의 입력층에 상기 전처리된 패스 세트의 구성요소인 전처리된 패스를 순차적으로 하나씩 입력시키면서 상기 예측모델을 학습시킬 수 있다. 이때, (1) 상기 예측모델의 출력층에서 출력되는 값, (2) 그리고 상기 각각 입력되는 전처리된 패스에 대응하는 예측위치를 이용하여 모델을 학습시킬 수 있다.That is, the prediction model can be learned by sequentially inputting the preprocessed paths, which are components of the preprocessed path set, one by one to the input layer of the prediction model. At this time, the model can be learned by using (1) a value output from the output layer of the predictive model, (2) and a predicted position corresponding to each input preprocessed path.

단계(S50)에서, 상기 특정인의 현재의 위치를 제공받아 상기 특정인의 예측이동경로를 패스 형태로 재구성할 수 있다. 예컨대, 상기 특정인이 현재 서브영역(y1x1) 1에 존재한다고 가정하면, 다음과 같은 순서들을 실행할 수 있다.In step S50, the predicted movement path of the specific person can be reconfigured in the form of a path by receiving the current position of the specific person. For example, if it is assumed that the specific person exists in the current sub-area (y1x1) 1, the following procedures can be performed.

이때, 단계(S50)은 상기 특정인의 다음 이동위치를 GPS 형태가 아니라, 도 12 내지 도 13의 학습된 모델 및 서브영역의 값을 이용하여 예측하는 단계이다. At this time, the step S50 is a step of predicting the next movement position of the specific person by using the values of the model and the sub-area learned in FIGS. 12 to 13 instead of the GPS type.

상기 특정인이 서브영역 1에 존재하므로, 상기 전체지도(도 12의 (a))에서 상기 특정인이 이동할 수 있는 서브영역은 2, 8, 9 중 어느 하나이다.Since the specific person exists in the subarea 1, the subarea in which the specific person can move in the whole map (Fig. 12 (a)) is any one of 2, 8, and 9.

상기 학습된 모델을 이용하기 위해서는, 상기 학습된 모델의 입력층에 입력할 수 있는 데이터의 형태로 데이터를 변환해야 한다. In order to use the learned model, data must be converted in the form of data that can be input to the input layer of the learned model.

따라서, 상기 특정인의 현재까지의 이동 위치들 각각을 어레이(Array) 형태를 갖는 패스 데이터 형태로 변환해야 한다. 이때, 상기 어레이의 길이는 상기 특정인을 위해 학습된 상기 학습모델을 만들 때 결정되었던 L_AP(예컨대, 9)와 동일한 크기를 갖도록 한다.Accordingly, each of the current movement positions of the specific person must be converted into a path data form having an array shape. At this time, the length of the array has the same size as the L_AP (for example, 9) which was determined when the learning model learned for the specific person was created.

예컨대, 상기 특정인이 서브영역 1에 위치해 있었으므로 상기 서브영역 1에 대한 전처리된 패스는 Array_T{1}={1, 0, 0, 0, 0, 0, 0, 0, 0}이 된다. Array_T{1} 값을 학습된 학습모델의 입력층에 넣었을 때에 출력되는 값이 그 다음 예상 이동 서브영역이 될 수 있다.For example, since the particular person is located in the subarea 1, the preprocessed path for the subarea 1 is Array_T {1} = {1, 0, 0, 0, 0, 0, 0, 0, 0}. The value output when the value of Array_T {1} is put into the input layer of the learned learning model can be the next expected moving sub-region.

예컨대, 상기 특정인이 서브영역 1을 지나 현재 서브영역 2에 도달해 있다면 Array_T{2} = {1, 2, 0 ,0 ,0 ,0, 0, 0, 0}가 될 수 있다. -> Array_T{2} 값을 학습된 학습모델의 입력층에 넣었을 때에 출력되는 값이 그 다음 예상 이동 서브영역이 될 수 있다.For example, Array_T {2} = {1, 2, 0, 0, 0, 0, 0, 0, 0} if the particular person has reached the current sub- -> Array_T {2} value is input to the input layer of the learned learning model, the output value can be the next expected moving sub-region.

위에 따르면, 현재까지의 실제 이동경로로부터 한 개의 그 다음 서브영역을 예측할 수 있지만, 이를 반복 적용하면 미래의 예상되는 이동 서브영역을 확장하여 예측할 수 있다. According to the above, one subsequent sub-region can be predicted from the actual movement path to the present, but if it is repeatedly applied, the expected moving sub-region of the future can be expanded and predicted.

예컨대, 현재 특정인이 서브영역 1에 머물러 있을 때에 Array_T{1}={1, 0, 0, 0, 0, 0, 0, 0, 0}를 만들어서, 학습모델에 대입하면 {2}라는 값이 나올 수 있다. 즉, 현재 특정인이 서브영역 1에서 서브영역 2로 이동할 것이라고 예측된 것이다. 그 다음, 상기 특정인의 이동경로 예측값을 이용하여 만든 예측값 Array_T{2} = {1, 2, 0 ,0 ,0 ,0, 0, 0, 0}를 다시 상기 학습모델에 넣으면 {9}라는 값이 나올 수 있다. 즉, 서브영역 1에 있는 특정인이 서브영역 2를 거쳐 서브영역 9로 이동할 것이라고 예측할 수 있다.For example, when the current person stays in the sub-region 1, Array_T {1} = {1, 0, 0, 0, 0, 0, 0, 0, 0} Can come out. That is, it is predicted that the current specific person will move from the sub region 1 to the sub region 2. Then, if the predicted value Array_T {2} = {1, 2, 0, 0, 0, 0, 0, 0, 0} created by using the motion path predictive value of the specific person is put back into the learning model, Can come out. That is, it can be predicted that a specific person in sub-area 1 will move to sub-area 9 via sub-area 2. [

<제3 실시예>&Lt; Third Embodiment >

도 14는 본 발명의 다른 실시예에 따른 이동경로예측방법을 나타낸 순서도이다.FIG. 14 is a flowchart illustrating a motion path prediction method according to another embodiment of the present invention.

이 실시예에 따른 이동경로예측방법은, 특정객체가 이동 시에 얻은 지구위치정보를 수집하여 지구위치정보 세트를 획득하는 단계(S110); 상기 지구위치정보 세트를 어레이 형태의 패스데이터로 변환하는 단계(S120); 상기 변환된 패스데이터를 전처리하여 복수 개의 전처리된 패스들(31~45) 및 상기 복수 개의 전처리된 패스들에 대응하는 복수 개의 예측위치들(50)을 생성하는 단계(S130); 상기 복수 개의 전처리된 패스들(31~45) 및 복수 개의 예측위치들(50)을 미리 준비된 예측모델에 입력하여 상기 예측모델을 학습시키는 단계(S140); 및 상기 특정객체의 다른 이동경로에 따른 지구위치정보로부터 획득한 제1지구위치정보 세트를 어레이 형태의 제1패스데이터로 변환하고, 상기 제1패스데이터를 상기 학습된 예측모델에 입력하여 상기 새로운 이동경로에 후속하는 후속예측위치를 결정하는 단계(S150);를 포함할 수 있다.In the moving route predicting method according to this embodiment, the step (S110) of acquiring the geolocation information set by collecting the geolocation information obtained when the specific object moves is performed; Converting the set of geolocation information into path data in an array form (S120); A step (S130) of preprocessing the converted path data to generate a plurality of preprocessed paths (31 to 45) and a plurality of prediction positions (50) corresponding to the plurality of preprocessed paths; A step (S140) of inputting the plurality of preprocessed paths (31 to 45) and a plurality of prediction positions (50) into a prediction model prepared in advance and learning the prediction model; And transforming the first set of geolocation information acquired from the geolocation information according to another movement path of the specific object into first path data of an array type, inputting the first pass data to the learned prediction model, And determining a subsequent predicted position subsequent to the movement path (S150).

상기 지구위치정보는 예컨대 GPS 정보를 포함할 수 있다. 한 개의 상기 지구위치정보 세트는 상기 특정객체가 한 번 이동할 때에 지나가는 독립적인 한 번의 이동경로로부터 얻은 지구위치정보들의 집합일 수 있다. 상기 특정객체가 독립적인 이동을 복수 번 수행하는 경우, 상기 지구위치정보 세트는 복수 개 획득될 수 있다. The geolocation information may include GPS information, for example. The one set of the geolocation information may be a set of geolocation information obtained from one independent movement path that passes when the specific object moves once. If the particular object performs independent movement a plurality of times, a plurality of sets of the geolocation information may be obtained.

상기 한 개의 지구위치정보 세트로부터 상기 어레이 형태의 패스데이터를 한 개 획득할 수 있다. 즉 N개의 상기 지구위치정보 세트들로부터는 N개의 패스데이터를 나타내는 N개의 어레이를 획득할 수 있다. 예컨대 상기 N개의 패스데이터의 예는 도 12의 (b)에 나타낸 Path(1), Path(2), Path(3)이다.One path data in the array form can be obtained from the one set of geolocation information. That is, N arrays representing N pass data from the N sets of geolocation information. For example, an example of the N path data is Path (1), Path (2), and Path (3) shown in FIG. 12 (b).

특정 패스데이터로부터 생성되는 복수 개의 전처리된 패스들도 어레이 형태를 가질 수 있다. 그런데 상기 특정 패스데이터를 나타내는 어레이의 길이는, 상기 복수 개의 전처리된 패스들을 나타내는 어레이들의 길이보다 작거나 동일할 수 있다. 상기 복수 개의 전처리된 패스들을 나타내는 어레이들은 모두 서로 동일한 길이를 가질 수 있다. 상기 복수 개의 전처리된 패스들은 예컨대 도 12의 (c)의 참조번호 30에 나타낸 전처리된 패스들과 같이 주어질 수 있다.A plurality of preprocessed paths generated from specific path data may also have an array form. However, the length of the array representing the specific path data may be less than or equal to the length of the arrays representing the plurality of preprocessed paths. The arrays representing the plurality of preprocessed passes may all have the same length. The plurality of preprocessed passes may be given, for example, as the preprocessed passes shown at 30 in FIG. 12 (c).

상기 단계(S140)에서, 상기 예측모델을 학습시킬 때에, 특정 '전처리된 패스'를 상기 예측모델의 입력층에 입력할 때에, 상기 예측모델의 출력층에는 상기 특정 '전처리된 패스'에 대응하는 '예측위치'를 입력함으로써 학습시킬 수 있다. 예컨대, 도 12의 (c)에서 참조번호 31의 '전처리된 패스'를 상기 입력층에 입력할 때에는, 상기 출력층에 상기 참조번호 31의 '예측위치'를 입력할 수 있다.When inputting a specific &quot; preprocessed path &quot; into the input layer of the predictive model at the time of learning the predictive model at the step S140, the output layer of the predictive model is set to &quot; Predicted position &quot;. For example, when inputting the 'preprocessed path' denoted by reference numeral 31 in FIG. 12 (c) to the input layer, the 'predicted position' of the reference numeral 31 may be input to the output layer.

이때, 상기 복수 개의 전처리된 패스들은 상기 예측모델의 입력층에 입력되고, 상기 복수 개의 예측위치들은 상기 예측모델의 출력층에 입력함으로써, 상기 예측모델을 학습시키도록 되어 있을 수 있다.The plurality of preprocessed paths may be input to the input layer of the predictive model and the plurality of predictive positions may be input to the output layer of the predictive model to learn the predictive model.

이때, 상기 제1패스데이터를 상기 학습된 예측모델의 상기 입력층에 입력하였을 때에, 상기 학습된 예측모델의 상기 출력층에서 출력된 정보를 상기 후속예측위치로 결정할 수 있다. At this time, when the first pass data is input to the input layer of the learned prediction model, information output from the output layer of the learned prediction model can be determined as the subsequent prediction position.

이때, 도 12의 (c)에 예시한 것과 같이, 상기 복수 개의 전처리된 패스들은 모두 동일한 제1길이를 갖는 어레이 형태를 가질 수 있다.At this time, as illustrated in (c) of FIG. 12, the plurality of preprocessed paths may all have an array shape having the same first length.

그리고 상기 변환하는 단계에서, 상기 패스데이터가 복수 개 제공될 수 있다. 이를 위하여, 단계(S110)에서 상기 특정객체의 이동을 복수 회 관찰하여 복수 개의 지구위치정보 세트들을 획득할 수 있다. 상기 패스데이터가 복수 개 제공되는 경우, 상기 패스데이터들을 나타내는 어레이도 복수 개 제공된다.In the converting step, a plurality of path data may be provided. To this end, in step S110, a plurality of sets of geolocation information may be obtained by observing the movement of the specific object a plurality of times. When a plurality of path data are provided, a plurality of arrays representing the path data are also provided.

상기 이동경로예측방법은, 상기 학습된 예측모델에 상기 제1패스데이터를 입력하기 위하여 상기 제1패스데이터를 상기 제1길이를 갖는 어레이로 변환하는 단계를 더 포함할 수 있다. 이때, 상기 변환을 위하여 상기 제1패스데이터에 한 개 이상의 널 데이터를 패딩할 수 있다. 상기 널데이터는 예컨대 '0'일 수 있다.The moving path predicting method may further include converting the first path data into an array having the first length so as to input the first path data into the learned prediction model. At this time, one or more null data may be padded to the first pass data for the conversion. The null data may be '0', for example.

상기 패스데이터가 복수 개 제공된 경우, 상기 복수 개의 패스데이터들은 각각 어레이 형태를 가지며, 상기 복수 개의 패스데이터들 중 적어도 두 개의 서로 다른 패스데이터는 서로 다른 길이를 가질 수 있다.When a plurality of path data are provided, the plurality of path data each have an array shape, and at least two different path data among the plurality of path data may have different lengths.

상기 복수 개의 전처리된 패스들 중 일부 또는 전부는 상기 패스데이터에 포함된 정보에 널 정보(널 데이터)를 패딩하여 생성한 것일 수 있다. Some or all of the plurality of preprocessed paths may be generated by padding null information (null data) to the information included in the path data.

상기 패스데이터로 변환하는 단계는, 각각 라벨이 할당되어 있는 서브영역들이 정의되어 있는 전체지도에 관한 정보를 준비하는 단계; 및 상기 복수 개의 지구위치정보를 시간의 흐름에 따라 나열하였을 때에, 상기 특정객체가 위치하는 서브영역을 순차적으로 관찰하여, 상기 관찰된 결과에 따르는 서브영역의 라벨들을 시간의 순서에 따라 어레이 형태로 생성하는 단계를 포함할 수 있다. 이때, 상기 패스데이터를 나타내는 어레이 내의 서로 인접한 원소들은 서로 다른 서브영역을 나타낸다.The step of converting the path data into the path data includes preparing information on a global map in which sub-areas each having a label are assigned are defined; And sequentially observing the sub areas in which the specific object is located when the plurality of pieces of the geolocation information are arranged in accordance with the flow of time and sequentially arranging the labels of the sub area according to the observed result in an array And a step of generating the data. At this time, neighboring elements in the array representing the path data represent different sub-regions.

상기 패스데이터가 복수 개 제공된 경우, 상기 복수 개의 전처리된 패스들의 개수는, 상기 복수 개의 패스데이터들을 나타내는 각 어레이의 길이를 서로 더한 값과 같을 수 있다. When a plurality of path data are provided, the number of the plurality of preprocessed paths may be equal to a sum of lengths of the respective arrays representing the plurality of path data.

상기 이동경로예측방법은, 상기 후속예측위치를 상기 제1패스데이터의 마지막에 패딩하여 제2패스데이터를 생성하는 단계; 및 상기 제2패스데이터를 상기 학습된 예측모델에 입력하여 상기 후속예측위치에 후속하는 제2후속예측위치를 결정하는 단계를 더 포함할 수 있다. 즉, 본 발명의 일 실시예에 따르면, 가까운 미래의 위치 뿐만 아니라 더 먼 미래의 시점에서의 위치를 예측할 수 있다.The moving path predicting method comprising: generating second path data by padding the next predicted position to the end of the first path data; And inputting the second path data to the learned prediction model to determine a second subsequent prediction position following the next prediction position. That is, according to an embodiment of the present invention, it is possible to predict a position at a farther future time point as well as a near future time point.

상기 패스데이터가 복수 개 제공된 경우, 상기 제1길이는 상기 복수 개의 패스데이터들 중 가장 긴 패스데이터의 길이와 같거나 길 수 있으며, 상기 제1길이는 자연수의 제곱인 값을 갖도록 강제할 수 있다. When a plurality of path data are provided, the first length may be equal to or longer than the length of the longest path data among the plurality of path data, and the first length may be forced to have a value that is a square of a natural number .

상기 특정객체는 특정인 또는 특정 측정장치일 수 있다.The particular object may be a particular person or a particular measuring device.

상술한 본 발명의 실시예들을 이용하여, 본 발명의 기술 분야에 속하는 자들은 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에 다양한 변경 및 수정을 용이하게 실시할 수 있을 것이다. 특허청구범위의 각 청구항의 내용은 본 명세서를 통해 이해할 수 있는 범위 내에서 인용관계가 없는 다른 청구항에 결합될 수 있다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the essential characteristics thereof. The contents of each claim in the claims may be combined with other claims without departing from the scope of the claims.

Claims (10)

특정객체가 이동 시에 얻은 지구위치정보를 수집하여 지구위치정보 세트를 획득하는 단계;
상기 지구위치정보 세트를 어레이 형태의 패스데이터로 변환하는 단계;
상기 변환된 패스데이터를 전처리하여 복수 개의 전처리된 패스들(31~45) 및 상기 복수 개의 전처리된 패스들에 대응하는 복수 개의 예측위치들(50)을 생성하는 단계;
상기 복수 개의 전처리된 패스들(31~45) 및 상기 복수 개의 예측위치들(50)을 미리 준비된 예측모델에 입력하여 상기 예측모델을 학습시키는 단계; 및
상기 특정객체의 새로운 이동경로에 따른 지구위치정보로부터 획득한 제1지구위치정보 세트를 어레이 형태의 제1패스데이터로 변환하고, 상기 제1패스데이터를 상기 학습된 예측모델에 입력하여 상기 새로운 이동경로에 후속하는 후속예측위치를 결정하는 단계;
를 포함하는,
이동경로예측방법.
Acquiring a geolocation information set by collecting geolocation information obtained when a specific object moves;
Converting the set of geolocation information into path data in array form;
Pre-processing the transformed path data to generate a plurality of preprocessed paths (31 to 45) and a plurality of predicted positions (50) corresponding to the plurality of preprocessed paths;
Inputting the plurality of preprocessed passes (31 to 45) and the plurality of prediction positions (50) into a prediction model prepared in advance, and learning the prediction model; And
The method comprising: converting a first set of geolocation information obtained from geolocation information according to a new moving path of the specific object to first pass data of an array type, inputting the first pass data to the learned prediction model, Determining a subsequent predicted position subsequent to the path;
/ RTI &gt;
A method of predicting a moving path.
제1항에 있어서,
상기 복수 개의 전처리된 패스들은 상기 예측모델의 입력층에 입력되고, 상기 복수 개의 예측위치들은 상기 예측모델의 출력층에 입력함으로써, 상기 예측모델을 학습시키도록 되어 있으며,
상기 제1패스데이터를 상기 학습된 예측모델의 상기 입력층에 입력하였을 때에, 상기 학습된 예측모델의 상기 출력층에서 출력된 정보를 상기 후속예측위치로 결정하는 것을 특징으로 하는,
이동경로예측방법.
The method according to claim 1,
Wherein the plurality of preprocessed paths are input to the input layer of the predictive model and the plurality of predictive positions are input to the output layer of the predictive model to learn the predictive model,
And the information output from the output layer of the learned predictive model is determined as the next predicted position when the first pass data is input to the input layer of the learned predictive model.
A method of predicting a moving path.
제1항에 있어서,
상기 복수 개의 전처리된 패스들은 모두 동일한 제1길이를 갖는 어레이 형태를 가지며,
상기 변환하는 단계에서, 상기 패스데이터가 복수 개 제공되며,
상기 제1길이는 상기 복수 개의 패스데이터들 중 가장 긴 패스데이터의 길이와 같거나 긴 것을 특징으로 하는,
이동경로예측방법.
The method according to claim 1,
Wherein the plurality of pre-processed passes all have an array shape having the same first length,
In the converting step, a plurality of path data are provided,
Wherein the first length is equal to or longer than a length of the longest path data among the plurality of path data.
A method of predicting a moving path.
제1항에 있어서,
상기 복수 개의 전처리된 패스들은 모두 동일한 제1길이를 갖는 어레이 형태를 가지며,
상기 학습된 예측모델에 상기 제1패스데이터를 입력하기 위하여 상기 제1패스데이터를 상기 제1길이를 갖는 어레이로 변환하는 단계를 더 포함하며,
상기 변환을 위하여 상기 제1패스데이터에 한 개 이상의 널 데이터를 패딩하는 것을 특징으로 하는,
이동경로예측방법.
The method according to claim 1,
Wherein the plurality of pre-processed passes all have an array shape having the same first length,
Further comprising converting the first pass data to an array having the first length to input the first pass data to the learned predictive model,
And one or more null data is padded to the first pass data for the conversion.
A method of predicting a moving path.
제1항에 있어서,
상기 변환하는 단계에서, 상기 패스데이터가 복수 개 제공되며,
상기 복수 개의 패스데이터들은 각각 어레이 형태를 가지며,
상기 복수 개의 패스데이터들 중 적어도 두 개의 서로 다른 패스데이터는 서로 다른 길이를 갖는 것을 특징으로 하는,
이동경로예측방법.
The method according to claim 1,
In the converting step, a plurality of path data are provided,
Each of the plurality of path data having an array form,
Wherein at least two different path data among the plurality of path data have different lengths.
A method of predicting a moving path.
제1항에 있어서,
상기 복수 개의 전처리된 패스들은 각각 어레이 형태를 가지며,
상기 복수 개의 전처리된 패스들 중 일부 또는 전부는 상기 패스데이터에 포함된 정보에 널 정보를 패딩하여 생성한 것인,
이동경로예측방법.
The method according to claim 1,
The plurality of preprocessed passes each having an array shape,
Wherein some or all of the plurality of preprocessed paths are generated by padding null information on information included in the path data.
A method of predicting a moving path.
제1항에 있어서,
상기 패스데이터로 변환하는 단계는,
각각 라벨이 할당되어 있는 서브영역들이 정의되어 있는 전체지도에 관한 정보를 준비하는 단계; 및
상기 복수 개의 지구위치정보를 시간의 흐름에 따라 나열하였을 때에, 상기 특정객체가 위치하는 서브영역을 순차적으로 관찰하여, 상기 관찰된 결과에 따르는 서브영역의 라벨들을 시간의 순서에 따라 어레이 형태로 생성하는 단계;
를 포함하며,
상기 패스데이터를 나타내는 어레이 내의 서로 인접한 원소들은 서로 다른 서브영역을 나타내는 것을 특징으로 하는,
이동경로예측방법.
The method according to claim 1,
The step of converting into the path data includes:
Preparing information on a global map in which sub-areas each having a label assigned thereto are defined; And
Sequentially observing the sub-areas where the specific object is located when the plurality of pieces of the geolocation information are arranged in accordance with the flow of time, and generating labels of the sub-areas according to the observed result in an array form according to the order of time ;
/ RTI &gt;
Characterized in that the elements adjacent to each other in the array representing the path data represent different sub-
A method of predicting a moving path.
제4항에 있어서,
상기 변환하는 단계에서, 상기 패스데이터가 복수 개 제공되며,
상기 복수 개의 전처리된 패스들(31~45)의 개수는, 상기 복수 개의 패스데이터들을 나타내는 각 어레이의 길이를 서로 더한 값에 해당하는,
이동경로예측방법.
5. The method of claim 4,
In the converting step, a plurality of path data are provided,
Wherein the number of preprocessed paths (31 to 45) is a sum of the lengths of the arrays representing the plurality of path data,
A method of predicting a moving path.
제1항에 있어서,
상기 후속예측위치를 상기 제1패스데이터의 마지막에 패딩하여 제2패스데이터를 생성하는 단계;
상기 제2패스데이터를 상기 학습된 예측모델에 입력하여 상기 후속예측위치에 후속하는 제2후속예측위치를 결정하는 단계;
를 더 포함하는,
이동경로예측방법.
The method according to claim 1,
Padding the next predicted position to the end of the first pass data to generate second pass data;
Inputting the second path data to the learned prediction model to determine a second subsequent prediction position following the next prediction position;
&Lt; / RTI &gt;
A method of predicting a moving path.
제3항에 있어서,
상기 변환하는 단계에서, 상기 패스데이터가 복수 개 제공되며,
상기 복수 개의 전처리된 패스들은 모두 동일한 제1길이를 갖는 어레이 형태를 가지며,
상기 제1길이는 상기 복수 개의 패스데이터들 중 가장 긴 패스데이터의 길이와 같거나 긴 것을 특징으로 하며,
상기 제1길이가 자연수의 제곱이 아닌 경우, 상기 제1길이를, 자연수의 제곱인 값을 가지며 상기 제1길이보다 큰 제1자연수들 중 가장 작은 값으로 재설정하도록 되어 있는,
이동경로예측방법.
The method of claim 3,
In the converting step, a plurality of path data are provided,
Wherein the plurality of pre-processed passes all have an array shape having the same first length,
Wherein the first length is equal to or longer than a length of the longest path data among the plurality of path data,
Wherein the first length is set to a value which is a square of a natural number and is reset to a smallest value among first natural numbers greater than the first length when the first length is not a square of a natural number,
A method of predicting a moving path.
KR1020160145839A 2016-11-03 2016-11-03 Prediction method of object's next position using classification model and a device for the same KR101920664B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160145839A KR101920664B1 (en) 2016-11-03 2016-11-03 Prediction method of object's next position using classification model and a device for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160145839A KR101920664B1 (en) 2016-11-03 2016-11-03 Prediction method of object's next position using classification model and a device for the same

Publications (2)

Publication Number Publication Date
KR20180049648A true KR20180049648A (en) 2018-05-11
KR101920664B1 KR101920664B1 (en) 2018-11-22

Family

ID=62185429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160145839A KR101920664B1 (en) 2016-11-03 2016-11-03 Prediction method of object's next position using classification model and a device for the same

Country Status (1)

Country Link
KR (1) KR101920664B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102210250B1 (en) * 2020-10-13 2021-02-01 주식회사 웨이센 Method for visualizing result of prediction using AI(Artificial Intelligence) prediction model

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07249190A (en) * 1994-03-08 1995-09-26 Mitsubishi Electric Corp Disk recording and reproducing device for travelling object
JP2012202796A (en) * 2011-03-25 2012-10-22 Sony Corp Information processing apparatus, information processing method, and program
JP2012202795A (en) * 2011-03-25 2012-10-22 Sony Corp Information processing apparatus, information processing method, and program
KR20140110164A (en) * 2013-03-04 2014-09-17 서울대학교산학협력단 Method for providing stable real-time route inference of users using smart terminal and system there of
KR101639617B1 (en) * 2015-02-26 2016-07-14 서울대학교산학협력단 Method of predicting real-time moving route of user, server performing the same and storage media storing the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07249190A (en) * 1994-03-08 1995-09-26 Mitsubishi Electric Corp Disk recording and reproducing device for travelling object
JP2012202796A (en) * 2011-03-25 2012-10-22 Sony Corp Information processing apparatus, information processing method, and program
JP2012202795A (en) * 2011-03-25 2012-10-22 Sony Corp Information processing apparatus, information processing method, and program
KR20140110164A (en) * 2013-03-04 2014-09-17 서울대학교산학협력단 Method for providing stable real-time route inference of users using smart terminal and system there of
KR101639617B1 (en) * 2015-02-26 2016-07-14 서울대학교산학협력단 Method of predicting real-time moving route of user, server performing the same and storage media storing the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
일본 공개특허공보 특개2012-202796호(2012.10.22.) 1부. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102210250B1 (en) * 2020-10-13 2021-02-01 주식회사 웨이센 Method for visualizing result of prediction using AI(Artificial Intelligence) prediction model

Also Published As

Publication number Publication date
KR101920664B1 (en) 2018-11-22

Similar Documents

Publication Publication Date Title
Huang et al. Multi-modal motion prediction with transformer-based neural network for autonomous driving
Liu et al. Deep learning-powered vessel trajectory prediction for improving smart traffic services in maritime Internet of Things
Soh et al. Adaptive deep learning-based air quality prediction model using the most relevant spatial-temporal relations
Besse et al. Destination prediction by trajectory distribution-based model
KR102116824B1 (en) Positioning system based on deep learnin and construction method thereof
US8572008B2 (en) Learning apparatus and method, prediction apparatus and method, and program
CN108153867B (en) User trajectory prediction technique and device based on temporal regularity
CN110418354A (en) It is a kind of that propagation model wireless network planning method is exempted from based on machine learning
CN107247961A (en) A kind of trajectory predictions method of application blurring trajectorie sequence
CN109739926A (en) A kind of mobile object destination prediction technique based on convolutional neural networks
JP2011118776A (en) Data processing apparatus, data processing method, and program
EP3671555A1 (en) Object shape regression using wasserstein distance
CN111417066B (en) Positioning method, positioning device, electronic equipment and computer readable storage medium
CN110866477A (en) Track motion mode identification method and device
CN110598917B (en) Destination prediction method, system and storage medium based on path track
CN105933857A (en) Mobile terminal position prediction method and apparatus
CN109948791A (en) Utilize the method for genetic algorithm optimization BP neural network and its application in positioning
CN111488527B (en) Position recommendation method and device, electronic equipment and computer-readable storage medium
CN113950611A (en) Method and data processing system for predicting road properties
KR102305129B1 (en) Method for managing travel route database based on location and server for the method
KR101920664B1 (en) Prediction method of object&#39;s next position using classification model and a device for the same
CN106202113B (en) Information providing method and device applied to movement of forming a team
CN104850657B (en) A kind of rate addition method of holographic situational map
Pan et al. Research on ship arrival law based on route matching and deep learning
Praing et al. A universal abstract model for future movements of moving objects

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right