KR101637198B1 - 파티클 필터를 이용한 인간의 이동 상태 분류 방법 - Google Patents

파티클 필터를 이용한 인간의 이동 상태 분류 방법 Download PDF

Info

Publication number
KR101637198B1
KR101637198B1 KR1020150033575A KR20150033575A KR101637198B1 KR 101637198 B1 KR101637198 B1 KR 101637198B1 KR 1020150033575 A KR1020150033575 A KR 1020150033575A KR 20150033575 A KR20150033575 A KR 20150033575A KR 101637198 B1 KR101637198 B1 KR 101637198B1
Authority
KR
South Korea
Prior art keywords
value
time
particle
velocity
state
Prior art date
Application number
KR1020150033575A
Other languages
English (en)
Other versions
KR20160052301A (ko
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 US14/931,914 priority Critical patent/US20160123728A1/en
Publication of KR20160052301A publication Critical patent/KR20160052301A/ko
Application granted granted Critical
Publication of KR101637198B1 publication Critical patent/KR101637198B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/006Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
    • 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/03Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
    • 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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0294Trajectory determination or predictive filtering, e.g. target tracking or Kalman filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • 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
    • G01S2205/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S2205/001Transmission of position information to remote stations
    • G01S2205/008Transmission of position information to remote stations using a mobile telephone network

Abstract

N개의 독립 랜덤 변수로 정의되는 파티클들을 갖는 파티클 필터를 이용하여 특정 대상의 이동상태를 판별하는 판별방법을 공개한다. 이 방법은, 상기 특정 대상에 대한 현재 속도를 계산하고, 그리고 상기 특정 대상이 상기 현재 속도를 가질 수 있는 누적확률에 관한 값을 계산하는 단계, 각각의 상기 파티클을 갱신하는 파티클 갱신 프로세스를 미리 결정된 규칙에 따른 횟수만큼 반복하는 단계, 및 갱신이 완료된 상기 N개의 파티클이 갖는 값의 평균값을 계산하고, 상기 평균값을 기초로 상기 특정 대상이 정지상태인지 또는 이동상태인지를 판별하는 단계를 포함한다. 이때, 상기 누적확률을 이용하여 상기 파티클의 값을 갱신하는데 사용되는 가중치를 계산할 수 있다.

Description

파티클 필터를 이용한 인간의 이동 상태 분류 방법{Method for classifying human mobility state using particle filter}
본 발명은 정보처리분야에서 사용되는 파티클 필터를 이용하여 인간의 이동상태를 분류하는 방법 및 이를 위한 장치에 관한 것이다.
스마트폰의 보급 확산으로 인해 다양한 어플리케이션을 이용해 손쉽게 스마트폰 사용자의 GPS 데이터를 얻을 수 있게 되면서, 많은 양의 GPS 데이터가 생성되었다. 뿐만 아니라 다양한 기술을 이용하여 사람 또는 사물의 위치를 결정하는 기술이 제공되면서, 많은 양의 위치 데이터가 생성될 수 있다. 그에 따라 다양한 방면으로의 데이터 분석이 필요하게 되었다.
만약 스마트폰이나 휴대용 GPS 수집 장치를 이용하여 얻은 위치 및 시간 정보만으로 사람의 이동 상태를 알 수 있다면, 도출된 결과는 다양한 응용분야에 이용될 수 있을 것이다. 예를 들어 운동 관련 어플리케이션에 응용하면, 사용자가 조깅을 할 때, 평균속도로 운동으로 소모된 열량을 계산하지 않고 실시간으로 현재 사용자의 상태를 확인하여 더 정확하게 열량을 계산할 수 있을 것이다. 또한 예를 들어, 한 사용자가 이동 중 반복적으로 특정 위치에서 정지한다면, 그 위치에 횡단보도가 있음을 위치 데이터만으로 추측할 수 있다. 상태의 종류를 '정지( 또는 안정)(stable, stay)' 및 '이동(mobile)'의 총 두 가지로 설정한다면, 모든 사람의 상태를 이 두 가지로 표현할 수 있을 것이다.
위치데이터 수집장치를 이용하여 수집된 위치데이터(positioning data)에는 다양한 이유로 에러가 포함되어 있을 수 있다. 따라서 에러가 포함된 위치데이터는 필터링되거나 또는 분류되어야 한다. 즉, 이동 상태(mobility states)의 분류 단계가 위치데이터의 사용에 앞서 수행되어야 한다. 이러한 종류의 분류는 결정론적으로(deterministically) 이루어질 수는 없지만, 확률적으로는 이루어질 수 있다.
본 발명에서는 인간의 이동상태를 분류하기 위하여 '이동(mobile)' 및 '안정(stable, stay)'이라는 두 개의 상태만을 갖는 가장 간단한 형태의 분류를 이용한다. 이러한 종류의 분류는 위치데이터에 관한 응용 프로그램에서 요구하는 정확도를 높여줄 것이다. 그 다음 단계로, 속도의 분류(classification of speed value)는 이동 상태의 분류(classification of transportation)로 귀결될(lead to) 것이다.
인간의 이동 상태 판별은 날씨가 사람의 행동 패턴에 미치는 영향을 밝히는 연구에서의 중간 과정으로 사용되었으며, 이러한 연구는 논문 1에 제시되어 있다.
[논문 1]
Horanont T, Phithakkitnukoon S, Leong TW, Sekmoto Y, Shibasaki R (2013) Weather Effects on the Patterns of Peaple’s Everyday Activities: A Study Using GPS Traces of Mobile Phone Users. PLos ONE 8(12): e81153.doi:10.1371/journal.pone.0081153
위 연구에서는 위도 경도, 시간의 정보를 담고 있는 연속적인 시간의 m개의 위치 정보의 집합을 이용하여 이동과 정지 상태를 구분했다. 이 집합의 모든 서로 다른 위치 정보들 간의 순서쌍에 대해 거리가 특정 한계치 이하일 때 정지로 판단했으며, 이동으로 판단했다.
본 발명에서는 상술한 분류를 수행하기 위하여 소위 '파티클 필터'에서 이용하는 기법을 사용한다.
파티클 필터는 순차적인 몬테카를로 방법(Sequential Monte Carlo)이라고도 불리며, 베이지안 통계법(Bayesian statistics)에 기반을 둔다. 파티클 필터는 매개변수 추정, 및 상태 추정에 사용된다. 파티클 필터의 기본 개념은 많은 수의 독립 랜덤 변수를 생성하여 이용하는 것이다. 이때의 독립 랜덤 변수들을 파티클(Particle)이라고 부른다. 파티클들은 상태 공간(state space)으로부터 초기화를 거쳐 초기값이 설정된다. 또한, 새로 입력된 관찰값(observation)인 가중치들(weights)을 입력으로 하여 파티클들의 값이 갱신된다. 파티클 필터에 관한 이론은 아래의 논문 2에도 제시되어 있다.
[논문 2]
Chen, Zhe “Bayesian filtering: From Kalman filters to particle filters. and beyond” Technical report, McMaster University, 2003.
파티클 필터의 알고리듬 중에는 샘플링 중요도 리샘플링(Sampling Importance Resampling, SIR)과 순차 중요도 샘플링(Sequential Importance Sampling, SIS)이 있는데, 둘의 가장 큰 차이는 리샘플링(Resampling) 과정의 유무다.
파티클 필터 중 SIS 알고리듬의 동작 순서는 다음과 같다. 첫 번째, 생성된 파티클(X)들을 적절하게 초기화한다. 두 번째, 새로운 측정값(Z)을 입력받고, 우도 확률(P(Z|X))을 업데이트한다. 세 번째, 우도 확률을 이용하여 얻은 가중치(W)를 이용하여 파티클들(X)의 값을 업데이트 한다. 마지막으로 조건을 설정하여 두 번째와 세 번째 과정을 반복한다.
현재 파티클 필터는 로봇분야에서 로봇의 위치추정에 이용하는데 사용될 수 있다는 내용이 아래의 논문 3에 제시되어 있다.
[논문 3]
S Thrun "Particle Filters in Robotics" Proceeding UAI’02 Proceedings of the Eighteenth conference on Uncertainty in artificial intelligence, Pages 511-518, 2002
또한, 컴퓨터공학에서 wi-fi 신호를 이용한 사람의 위치추정에도 파티클 필터를 이용할 수 있다는 내용이 아래의 논문 4에 제시되어 있다.
[논문 4]
최은미, 오휘경, 김인철 "WiFi 단말기 사용자의 위치 추정을 위한 파티클 필터" 정보과학회논문지, 소프트웨어 및 응용, 제 39권, 제 5호. 2012.
본 발명에서는 위치 데이터를 분석하는 방법으로서, 위치 데이터에 관한 파라미터를 파티클 필터에 결합하는 새로운 기술을 제공하고자 한다.
본 발명에서는 이용 가능한 임의의 위치 결정 장치, 예컨대 GPS를 이용한 위치 데이터를 바탕으로 파티클 필터(Particle Filter)를 이용해 사람의 이동 상태를 파악할 것이다. 본 발명에서는 파티클 필터의 알고리듬 중에서 리샘플링 과정이 없는 SIS 알고리듬을 사용할 수 있다.
본 발명의 일 관점에서는, 속도값을 파티클 필터에 직접 사용할 수 있는데, 이 경우 다소의 부정확한 결과가 나올 수 있다. 즉, 느린 속도에 연관된 파티클들이 정지 상태(stay state)인 것으로 간주될 수 있는데, 이는 사실과는 다른 결과일 수 있다. 그리고 '이동' 상태와 '정지(stay)' 상태 간의 전환(toggle)이 위치 에러에 의해 일어날 수도 있다. 따라서 본 발명에서는 속도의 히스토리값을 사용하는 방법을 더 이용할 수 있다.
본 발명에서는 위치 데이터 분석의 한 방법으로서, 사람의 이동정보인 GPS 데이터에 포함된 시간, 위도, 경도를 이용하여 속도를 구한 뒤, 인간의 속도가 지수 확률 분포를 따른다는 사실을 이용해 파티클 필터(Particle Filter)를 적용하여 얻은 결과로 인간의 이동 상태를 판단한다.
인간의 이동 상태는 정지한 상태일 확률값 및 이동 중인 상태인 확률값으로 주어질 수 있다. 본 발명에서는 인간의 이동 확률 판단을 위해 파티클 필터를 통해 얻은 확률적 수치들을 이용해 이동 상태가 '정지'인지 '이동'인지 여부를 판단할 수 있다. 본 발명의 일 실시예에 의해 얻어진 결과들은 지도 상에 도시될 수 있다.
본 발명의 일 관점에 따라, N개의 독립 랜덤 변수로 정의되는 파티클들을 갖는 파티클 필터를 이용하여 특정 대상의 이동상태를 판별하는 판별방법을 제공할 수 있다. 이 방법은, 상기 특정 대상에 대한 현재 속도를 계산하고, 그리고 상기 특정 대상이 상기 현재 속도를 가질 수 있는 누적확률에 관한 값을 계산하는 단계; 각각의 상기 파티클을 갱신하는 파티클 갱신 프로세스를 미리 결정된 규칙에 따른 횟수만큼 반복하는 단계; 및 갱신이 완료된 상기 N개의 파티클이 갖는 값의 평균값을 계산하고, 상기 평균값을 기초로 상기 특정 대상이 정지상태인지 또는 이동상태인지를 판별하는 단계를 포함한다. 이때, 상기 누적확률을 이용하여 상기 파티클의 값을 갱신하는데 사용되는 가중치를 계산하는 것을 특징으로 한다.
이때, 상기 파티클 갱신 프로세스는, 상기 누적확률에 관한 값을 상기 각 파티클의 값으로부터 차감함으로써 가중치를 계산하는 단계; 및 상기 각각의 파티클의 값에서 상기 가중치를 차감하거나, 또는 상기 각각의 파티클의 값에 상기 가중치를 더함으로써 상기 각각의 파티클의 값을 갱신하는 단계;를 포함할 수 있다.
이때, 상기 현재 속도는, 상기 특정 대상에 대하여 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값에 각각 미리 결정된 가중치를 곱하여 서로 더함으로써 얻어진, 상기 제1시각에서의 시간가중-속도(T)이거나, 또는 상기 특정 대상에 대하여 상기 제1시각에 검출된 속도값, 또는 상기 특정 대상에 대하여 상기 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값들의 평균값일 수 있다.
이때, 상기 제1시각에 더 까까운 시각일수록 상기 곱해지는 가중치의 값이 커질 수 있다.
이때, 상기 제1시각에 검출된 속도값은 보정되지 않은 속도값이고, 상기 제1시각 이전에 검출된 속도값은 보정되었거나 보정되지 않은 속도값일 수 있다.
본 발명의 다른 관점에 따라 0 이상 1 이하의 값을 갖도록 되어 있는 N개의 독립 랜덤 변수를 파티클로 갖는 파티클 필터를 초기화 하는 단계; 파티클 갱신 프로세스를 미리 결정된 규칙에 따른 횟수만큼 반복하는 단계; 및 갱신이 완료된 상기 N개의 파티클의 평균값을 계산하고, 상기 평균값을 이용하여 상기 특정 대상이 정지 상태인지 또는 이동 상태인지를 판별하는 단계;를 포함는 이동상태 판별방법을 제공할 수 있다. 이때, 상기 파티클 필터에 입력하기 위한 새로운 관찰값으로서 특정 대상에 대하여 제1시각에 제공된 현재 속도를 이용한다.
이때, 상기 파티클 갱신 프로세스는, 상기 현재 속도를 획득하는 단계; N개의 상기 파티클이 갖고 있는 현재 값을 전제로 하여 상기 특정 대상이 상기 현재 속도를 가질 우도확률(likelyhood probability)을 갱신하는 단계; 상기 갱신된 우도확률를 이용하여 가중치를 획득하는 단계; 및 상기 가중치를 이용하여 상기 파티클을 갱신하는 단계를 포함할 수 있다.
이때, 상기 파티클을 갱신하는 단계는 상기 파티클의 값이 음수가 되면 0 값으로 갱신하도록 되어 있는 단계를 포함할 수 있다.
이때, 상기 우도확률은 지수분포의 누적분포함수를 이용하여 구할 수 있다.
이때, 상기 현재 속도는, 상기 특정 대상에 대하여 제1시각에 검출된 속도값일 수 있다. 또는 상기 현재 속도는, 상기 특정 대상에 대하여 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값들의 평균값, 또는 상기 특정 대상에 대하여 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값에 각각 미리 결정된 가중치를 곱하여 서로 더함으로써 얻어진, 상기 제1시각에서의 사간가중-속도(T)일 수 있다.
본 발명의 또 다른 관점에 따라 N개의 독립 랜덤 변수로 정의되는 파티클들을 갖는 파티클 필터를 이용하여 특정 대상의 이동상태를 판별하도록 되어 있는 처리부를 포함하는 이동상태 판별장치를 제공할 수 있다. 이때, 상기 처리부는, 상기 특정 대상에 대한 현재 속도를 계산하고, 그리고 상기 특정 대상이 상기 현재 속도를 가질 수 있는 누적확률에 관한 값을 계산하는 단계; 각각의 상기 파티클을 갱신하는 파티클 갱신 프로세스를 미리 결정된 규칙에 따른 횟수만큼 반복하는 단계; 및 갱신이 완료된 상기 N개의 파티클이 갖는 값의 평균값을 계산하고, 상기 평균값을 기초로 상기 특정 대상이 정지상태인지 또는 이동상태인지를 판별하는 단계;를 실행하도록 되어 있다. 그리고 이때, 상기 누적확률을 이용하여 상기 파티클의 값을 갱신하는데 사용되는 가중치를 계산하는 것을 특징으로 한다.
본 발명의 또 다른 관점에 따라 제공되는 이동성 판단 방법은, 컴퓨터를 이용하여, 수집된 시간, 위도, 경도 정보를 포함하는 정보들을 이용하여 두 지점 간의 거리를 계산함으로써 속도를 계산하는 단계; N개의 파티클을 생성하는 단계; 측정값인 속도 Z를 이용하여 가중치(W)를 구하는 단계; 상기 파티클들의 확률값을 갱신하는 단계; 및 상기 파티클들의 확률값의 평균을 이용하여 정지 상태인지 아니면 이동 상태인지를 판단하는 단계를 포함한다.
본 발명의 다른 관점에 따라 제공되는 이동성 판단 장치는, 속도 측정부; 및 처리부를 포함한다. 이때, 상기 처리부는, 상기 처리부를 통해 수집된 시간, 위도, 경도 정보를 포함하는 정보들을 이용하여 두 지점 간의 거리를 계산함으로써 속도를 계산하는 단계; N개의 파티클을 생성하는 단계; 측정값인 속도 Z를 이용하여 가중치(W)를 구하는 단계; 상기 파티클들의 확률값을 갱신하는 단계; 및 상기 파티클들의 확률값의 평균을 이용하여 정지 상태인지 아니면 이동 상태인지를 판단하는 단계;를 실행하도록 되어 있다.
본 발명의 또 다른 관점에 따라 제공되는 컴퓨터로 읽을 수 있는 매체는, 속도 측정부; 및 처리부를 포함하는 컴퓨터 장치의 상기 처리부로 하여금, 상기 처리부를 통해 수집된 시간, 위도, 경도 정보를 포함하는 정보들을 이용하여 두 지점 간의 거리를 계산함으로써 속도를 계산하는 단계; N개의 파티클을 생성하는 단계; 측정값인 속도 Z를 이용하여 가중치(W)를 구하는 단계; 상기 파티클들의 확률값을 갱신하는 단계; 및 상기 파티클들의 확률값의 평균을 이용하여 정지 상태인지 아니면 이동 상태인지를 판단하는 단계;를 실행하도록 하는 프로그램 코드가 저장되어 있다.
이때, 상기 속도를 계산하는 단계는, 현재 속도를 구할 데이터와 바로 전 시간 데이터를 하버사인(haversine) 공식에 적용하여 구하는 단계를 포함할 수 있다.
이때, 상기 가중치(W)를 구할 때, 지수분포를 이용할 수 있다.
이때, 상기 가중치를 구할 때에, 지수분포의 누적분포함수를 통해 얻은 상기 속도가 Z일 때의 확률인 P_z를 이용할 수 있다.
본 발명에 따르면 파티클 필터를 이용함으로써 위치 데이터의 이동 상태를 정확하게 분석할 수 있다.
도 1은 본 발명의 제1 실시예에 따른 이동상태 판별방법 순서도를 나타낸 것이다.
도 2는 본 발명의 제2 실시예에 따른 위치정보의 개수에 따른 α값을 나타낸 그래프이다.
도 3a는 본 발명의 제2 실시예에 따라 지도에 차량 이동의 위치 정보를 나타낸 도면이다.
도 3b는 본 발명의 제2 실시예에 따른 차량의 위치 정보에 대한 속도-확률 그래프이다.
도 4a는 본 발명의 제2 실시예에 따라 지도에 고속도로 휴게소에서 머무르는 위치 정보를 나타낸 도면이다.
도 4b는 본 발명의 제2 실시예에 따른 고속도로 휴게소에서 머무르는 위치 정보에 대한 속도-확률 그래프이다.
도 5a는 본 발명의 제2 실시예에 따라 지도에 차량 이동의 위치 정보를 나타낸 도면이다.
도 5b는 본 발명의 제2 실시예에 따른 차량 이동의 위치 정보에 대한 속도-확률 그래프이다.
도 6은 kml 뷰어(kml viewer)를 이용하여 정지 상태와 이동 상태를 지도상에 출력한 것이다.
도 7은 교통 정체 없이 수월하게 이동하는 구간의 데이터들을 이동과 정지 상태로 구분한 것이다.
도 8과 도 9는 도 7의 전체 데이터에서 특정 시간 정지, 이동 시의 속도와 파티클 필터로부터 얻은 확률값을 나타낸 그래프이다.
도 10은 본 발명의 일 실시예에 따라 컴퓨터를 이용하여 이동성을 판단 방법을 나타내는 순서도이다.
도 11a는 본 발명의 제4 실시예에 따라 지도에 차량 이동의 위치 정보를 나타낸 도면이다.
도 11b는 본 발명의 제2 실시예에 따른 차량의 위치 정보에 대한 속도-확률 그래프이다.
도 12a는 본 발명의 제 5실시예에 따라 차량 이동의 위치 정보를 나타낸 도면이다.
도 12b은 본 발명의 제5 실시예에 따른 차량의 위치 정보에 대한 속도-확률 그래프를 나타낸 도면이다.
이하, 본 발명의 실시예를 첨부한 도면을 참고하여 설명한다. 그러나 본 발명은 본 명세서에서 설명하는 실시예에 한정되지 않으며 여러 가지 다른 형태로 구현될 수 있다. 본 명세서에서 사용되는 용어는 실시예의 이해를 돕기 위한 것이며, 본 발명의 범위를 한정하고자 의도된 것이 아니다. 또한, 이하에서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다.
<제1 실시예>
도 1은 본 발명의 제1 실시예에 따른 이동상태 판별방법 순서도를 나타낸 것이다.
이 실시예에서, N개의 독립 랜덤 변수(Particle[k])를 파티클로 갖는 파티클 필터를 이용하여 특정 대상(object)의 이동상태를 판별할 수 있다. 이때, k는 0 내지 N-1의 정수이다. 상기 각 파티클은 0 이상 1 이하의 값을 갖도록 되어 있다. 각 파티클이 갖는 값은 확률값일 수 있다.
상기 이동상태 판별방법은, 단계(S110)에서, 상기 특정 대상에 대하여 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값을 제공받을 수 있다.
그리고 단계(S120)에서, 상기 제공받은 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값을 이용하여, 상기 제1시각에서의 시간가중-속도(T)를 계산할 수 있다.
그리고 단계(S130)에서, 상기 특정 대상이 상기 시간가중-속도(T)를 가질 수 있는 누적확률에 관한 값(Pt/C)을 계산할 수 있다.
그리고 단계(S140)에서, 각각의 상기 파티클을 갱신하는 파티클 갱신 프로세스를 미리 결정된 규칙에 따른 횟수만큼 반복할 수 있다. 이때, 상기 파티클 갱신 프로세스는, (1) 상기 누적확률에 관한 값(Pt/C)을 상기 각 파티클의 값으로부터 차감함으로써 가중치(W)를 계산하는 단계(S141), 및 (2) 상기 각각의 파티클의 값에서 상기 가중치(W)를 차감함으로써 상기 각각의 파티클의 값을 갱신하는 단계(S142)를 포함할 수 있다.
그리고 단계(S150)에서, 갱신이 완료된 상기 N개의 파티클의 평균값(X)을 계산할 수 있다.
그리고 단계(S160)에서, 상기 평균값(X)을 이용하여 상기 특정 대상이 정지했는지 또는 이동 중인지를 판별할 수 있다.
<제2 실시예>
위치데이터 에러는 속도값 에러로 귀결되고, 따라서 이동 상태 에러로 귀결된다. 따라서 본 발명의 제2 실시예에서는 과거의 속도값들을 이용할 수 있다. 과거의 속도값들은 각 타임스탬프마다 가중된 값을 갖는다. 더 근래의 속도값일수록 더 큰 효과를 갖도록 할 수 있다.
속도값 윈도우를 만들기 위해 상기 윈도우에 포함되는 속도값 샘플들의 개수를 윈도우 크기라고 지칭할 수 있다. 따라서 상기 윈도우 크기는 임의의 자연수 값을 가질 수 있다. 본 실시예에서 윈도우 크기는 5로 설정하였다. 즉, 아래의 수학식 1은 본 실시예를 위한 것으로서, 5개의 타임 스탬프를 이용한다는 점을 확인할 수 있다.
본 실시예에서는 아래의 수학식 1을 이용하여 생성한 소위 '시간 가중치 속도(time weighted speeds)(T)'를 이용한다.
[수학식 1]
Figure 112015023594395-pat00001

T는 시간 가중된 속도(time weighted speeds)들의 가중화된 평균값(weighted average)을 나타낸다. 수학식 1에 제시된 기호 α는 각 타임스탬프에서의 속도값에 대한 가중치를 결정하는 레이트(rate)를 나타낸다. α는 0 이상 1 이하의 값을 가질 수 있다. 수학식 1에서는 총 5개의 속도값들을 이용한다. T값은 한 개의 현재 속도값 및 네 개의 과거 속도값들을 이용하여 도출할 수 있다. 본 실시예에서 사용하는 알고리듬에서, 파티클 필터는 파티클들의 가중치로서 상술한 T를 사용할 수 있다. 본 발명에서, '시간 가중치 속도(T)'는 '시간가중-속도(T)'라는 용어로 지칭될 수도 있다.
수학식 1에서 현재 시각을 t라고 하면, 현재 속도는 Vt이고, 과거의 4개의 속도는 Vt-1, Vt-2, Vt-3, Vt-4이다. Vt-1은 Vt-4에 비하여 더 현재에 가까운 속도이다. 만일 α가 0.0으로 설정되면, 수학식 1에서 오직 현재 속도만이 사용되는 것이다. α가 만일 1.0으로 설정된다면, 수학식 1에서 과거의 속도값 Vt-4만이 사용되는 것이다.
아래 제시한 알고리듬 1은 본 실시예에서 사용하는, 파티클 필터를 이용한 이동 상태 분류를 위한 알고리듬이다.
[알고리듬 1]
Figure 112015023594395-pat00002

알고리듬 1은 파티클 필터의 기본 알고리듬을 이용한 것으로서, 파티클 생성 및 초기화(line 6), 가중치 갱신 및 파티클 갱신(line 9 & line 10), 반복(while ~ end while), 이동 상태 결과 도출 단계(line 16)를 포함한다. 알고리듬 1에서는 입력값으로서 파티클의 개수와 현재 위치 데이터와 인접한 이전 시간의 4개의 위치 정보의 속도값을 받는다. 또한, 결과값으로는 이동 상태를 도출한다. 매번 위치 정보가 입력될 때마다 한 번씩 호출하여 작동한다. line 15에서 반환하는 X의 값이 일정값 이상( 또는 이하)일 때에는 '이동' 상태인 것으로 결정하고, 상기 일정값 미만( 또는 초과)일 때에는 '정지' 상태인 것으로 결정할 수 있다.
더 자세하게는, 알고리듬 1의 라인 16에서 2개 이상의 '운동상태' 중 어떤 운동상태에 속하는지를 결정할 수 있다. 이때, 상기 운동상태는, 정지상태 및 한 개 이상의 교통수단에 따른 이동상태를 포함하는 복수 개의 상태로 구분될 수 있다. 그리고 상기 한 개 이상의 교통수단에 따른 이동상태는, 도보에 의한 이동상태, 자전거에 의한 이동상태, 차량에 의한 이동상태, 및 고속열차에 의한 이동상태를 포함하는 개념일 수 있다. 그리고 상기 복수 개의 상태 중 어느 상태인지 결정하는 것은, 갱신이 완료된 상기 N개의 파티클의 평균값을 미리 결정된 한 개 이상의 임계값에 대하여 비교함으로써 이루어질 수 있다.
알고리듬 1의 동작은 다음과 같다:
단계 1) 하버사인 공식을 이용하여 현재 시각에서의 위치 정보를 이용하여 현재의 속도(Vt)를 구한다(line 2).
단계 2) 시간 가중치 속도(T)를 수학식 1을 이용하여 계산한다(line 4).
단계 3) N개의 파티클(Particle[N])을 생성한 뒤, 초기화한다(line 6).
단계 4) 아래의 수학식 2 및 수학식 3을 이용하여 가중치(W)를 구한다(line 9).
단계 5) N개의 파티클의 값(즉, 확률값)을 갱신한다(line 10).
단계 6) 조건에 따라 위의 단계 4와 단계 5를 반복한다(line 7).
단계 7) 파티클들의 평균(즉, 확률값들의 평균값)을 구하고(line 14), 최종 이동 상태를 판별한다(line 15).
[수학식 2]
Figure 112015023594395-pat00003
[수학식 3]
Figure 112015023594395-pat00004

알고리듬 1(line 7)에서 while 문을 사용하여, N개의 파티클들을 갱신하는 과정을 여러번 거치는 이유는, 파티클들의 확률값이 크게 변하지 않고 안정되기를 기대하였기 때문이다. 따라서 상수 회 반복할 수 있다. 또한, 각 파티클이 갖는 값은 확률값이므로로, 갱신하는 과정에서 그 값이 음수가 되면 0으로 바꾸는 등 0 내지 1 구간의 값에서 벗어나지 않도록 조정할 수 있다.
하버사인 공식을 이용하여 계산한 현재의 속도값과 이전 시간의 위치 정보의 이동 상태를 판단하는데 사용됐던 4개의 속도값, 총 5개의 속도값을 시간 순서에 맞게 시간 가중치 속도식에 적용할 수 있다. 따라서 본 실시예에서 시간 가중치 속도의 윈도우 크기는 5이다. 이때, 현재 시각의 정보와 이전 시간의 5개의 정보의 속도값을 같이 이용하므로, 5개의 정보가 모이기 전까지는 시간 가중치 속도에 적용하지 않고, 현재 위치 정보의 속도만을 이용하여 상태판단을 할 수 있다. 따라서 위치 정보가 입력되면서 제일 처음 시간부터 네 번째까지 입력된 정보들은 현재 속도를 이용해 상태판단을 할 수 있다. 또 실제 실험할 때에는 5개의 속도값을 다음 시간의 위치 정보가 입력될 때마다 최신 속도값으로 따로 저장할 수 있다.
가중치를 구할 때에, 일종의 속도값인 T를 확률로 표현하기 위해서 인간 이동속도의 분포는 지수분포를 따른다는 연구결과를 이용하였다. 이러한 연구결과는 아래의 논문 5에서 찾아볼 수 있다. 인간 이동속도의 분포로서 다른 분포를 사용할 수 있다면 이러한 분포를 이용하여 본 발명을 변형하는 것도 가능하다.
[논문 5]
H. Y. Song and J. S. Lee, “Finding probability distributions of human speeds,” in AMBIENT 2014, The Fourth International Conference on Ambient Computing, Applications, Services and Technologies, 2014, pp. 51.55.
T 값도 결국은 속도값들을 이용하여 얻은 값이기 때문에 이동속도의 일종으로 간주할 수 있다. 따라서 T값을 지수분포에 적용할 수 있다. 따라서 가중치를 계산할 때에 지수분포를 통해 얻은 속도가 T일 확률인 Pt를 이용할 수 있다. 속도가 클수록 확률 Pt가 큰 값을 갖게 하기 위하여, 지수분포의 누적분포함수를 이용하여 Pt 값을 구할 수 있다. Pt를 구하는 방법은 수학식 2에 제시되어 있다.
알고리듬 1에서 가중치를 구할 때 이용하는 식은 위의 수학식 3과 같다.
우선 수학식 2에서 T값을 지수확률분포의 누적분포함수에 대입하여 Pt를 구한다. 이때, λ는 논문 3에서의 결과값에서 참고한 것으로서, 0.15949 인 상수값으로 결정할 수 있다. λ=0.15949의 의미는 속도의 분포에서 평균과 표준편차가 약 6.27m/s라는 것을 의미한다.
다음으로 Pt를 수학식 3에 대입하여 가중치를 구할 수 있다. 수학식 3에서 C는 Pt 값이 너무 크게 되어, 가중치가 음수로 나오는 것을 방지하기 위해 Pt 값이 낮아지게 조절하는 상수이다.
마지막으로, 최종적인 이동 상태 판단은 파티클들의 확률값의 평균(X)을 이용하여, 정지 상태인지 아니면 이동 상태인지를 판단할 수 있다. 이것은 간단한 조건문으로 특정 상수 확률값과 비교해 판단할 수 있다. 이 상수값은 0에서 1 사이의 값으로서, 실험을 통해 적절하다고 생각되는 값으로 결정할 수 있다.
알고리듬 1을 이용하여 실제로 실험을 수행하였다.
실험은 위치 정보 수집, 위치 정보를 이용한 속도 계산, 속도값을 시간 가중치 속도에 적용, 시간 가중치 속도를 통해 얻은 속도값을 파티클 필터 알고리듬에 입력, 이동 상태 판단 결과 도출, 실험 결과를 지도에 도시 및 그래프로 표현하는 것으로 이루어졌다.
- 위치 정보 수집: 본 실험에서 사용한 위치 정보는 스마트폰에 설치한 위치정보 획득 어플리케이션을 이용하여 수집했다. 또, 이 위치 정보에서 시간, 위도, 경도 값을 추출하여 실험의 입력 값으로 사용했다.
- 위치 정보와 하버사인 공식을 이용한 속도의 계산: 두 개의 위치 정보를 이용하여 두 지점 간의 거리를 계산하고 속도를 계산할 수 있다. 이때, 제일 처음에 입력된 시간, 위도, 경도 정보는 한 지점의 정보만 존재하므로 속도 계산이 불가능할 수 있다. 따라서 제일 처음에 입력된 위치 정보는 판단을 보류하고 두 번째 정보를 입력받았다. 그 뒤에 두 번째 위치의 속도와 상태를 구하고, 첫 번째 위치에도 같은 속도와 상태를 입력하였다. 이는 첫 번째와 두 번째의 위치의 기록된 시간 차이가 몇 초 이하의 간격이기 때문에 짧은 시간 내에 상태변화가 일어날 확률이 낮을 수 있기 때문이다. 따라서 첫 번째 위치 정보를 제외한 이후 입력된 위치 정보들의 속도는 하버사인 공식을 이용하여 구하였다.
이때, 수학식 1을 이용하여 상기 시간 가중치 속도(T)를 구하기 위해, 정확도가 가장 높은 적절한 α를 찾을 필요가 있었다. 이를 위하여, 0에서 1까지 0.1씩 α의 값을 증가하면서 정확도를 구하였다. 총 3,371,577개의 위치정보의 이동상태를 판단한 결과, 상수 α에 따라 정확도가 달라졌다. 이때, α가 0.3일때, 2,231,090개의 위치 정보의 결과가 맞아 제일 정확도가 높으며, 0.0부터 α가 증가함에 따라 정확도가 증가하다가 0.3을 기준으로 떨어짐을 알 수 있었다. 또한 상수 α가 1.0의 값을 가질 때 정확도가 확연히 낮아지는 것을 볼 수 있었다. 이는 Vt-4만을 이용하여 현재 위치 정보의 이동 상태를 판단한 것으로, 현재 상태와 4번째 이전 시간의 속도값이 서로 관련성이 낮음을 알 수 있다. 따라서 0.2와 0.4사이에서 0.01단위로 α를 증가시키며 제일 정확도가 높을 때의 α값을 찾았다.
도 2는 본 발명의 제2 실시예에 따른 위치정보의 개수에 따른 α값을 나타낸 그래프이다. 이때, X축은 이동상태 분류가 맞는 것으로 추정되는 위치 정보의 개수를 나타내고, Y축은 시간 가중치 속도 식에 이용되는 α값을 나타낸다. α가 0.3일 때 가장 높은 정확도가 나타나는 것을 알 수 있다.
이때, 실험 결과의 정확도는 위치 정보들의 속도로 확인할 수 있다. 기본적으로 속도가 0이면 정지이고, 그렇지 않으면 이동이기 때문이다. 따라서, 속도가 0으로 계산된 정보가 정지로 판단되고, 속도가 0보다 큰 정보가 이동으로 판단되는 정보들의 개수를 세어, 전체 정보의 이동상태 판단의 정확도가 어느 정도인지를 나타낼 수 있다.
도 3a는 본 발명의 제2 실시예에 따라 지도에 차량 이동의 위치 정보를 나타낸 도면이다. 도 3a에서 지도 상에서 이동과 정지 상지 상태를 알아볼 수 있도록, 위도 및 경도 정보를 이용해 플레이스 마크로 표시하였다. 이때, 정지 상태는 별표 플레이스마크(100)를 나타내고, 이동 상태는 동그라미 플레이스 마크(200)를 나타낸다. 각 플레이스마크는 시간별로 기록된 위도 및 경도로 이루어진 위치 정보를 표시한 것이다. 이때, 윈도우 크기는 5이며, 상수 α값은 0.3을 적용하였다.
도 3a는 2014년 1월 31일 14시 0분 0초 부터 14시 2분 0초 까지 시구간에서 얻은 데이터를 나타낸 것이다.
도 3b는 본 발명의 제2 실시예에 따른 차량의 위치 정보에 대한 속도-확률 그래프이다. 각 시간에서의 위치 정보의 파티클들의 확률의 평균과 각 지점에서의 속도를 표시한 것이다. 그래프의 X축은 시간을 나타내고, 왼쪽 Y축은 속도(m/s)를 나타내며, 오른쪽 Y축은 확률값을 나타낸다. 상기 그래프에, 도 3a에서 이동 상태와 정지 상태로 판단된 각각의 위치 정보에 대해서 각각 다른 표기를 이용하여 정지와 이동 상태를 구분할 수 있도록 하였다. 이에 따라 속도를 표시하는 마크도 상태에 따라 서로 다르게 표기하였다. ●마크는 이동 상태로 판단된 위치 정보의 속도값을 의미하고, *마크는 이동으로 판단된 위치 정보의 파티클들의 확률의 평균을 의미한다. ×마크는 정지 상태로 판단된 위치 정보의 파티클들의 확률의 평균이고, 역삼각형 마크는 정지로 판단된 위치 정보의 속도를 나타낸다.
도 3b에서 모든 확률값들이 0.4에서 1.0 사이에 주로 분포하는 것을 알 수 있다. 이러한 이유는 처음 파티클들의 평균을 0.5로 초기화를 했기 때문이며, 또한 속도가 높은 경우에는 가중치가 커지는데, 이 가중치를 파티클의 확률값에 업데이트하는 과정에서, 0보다 작아지는 경우에는 다시 0으로 만드는 과정을 거치기 때문이다. 이로 인해, 큰 속도를 가짐에도 불구하고, 평균값이 0.5에서 많이 떨어지지 않을 수 있다.
도 4a는 본 발명의 제2 실시예에 따라 지도에 고속도로 휴게소에서 머무르는 위치 정보를 나타낸 도면이다. 도 4a의 윈도우 크기, α값, 실험 시간, 및 플레이스 마크 정보는 도 3a와 같을 수 있다. 도 4a는 2014년 11월 07일 21시 45분 0초 부터 21시 47분 0초 까지 시구간에서 얻은 데이터를 나타낸 것이다.
도 4b는 본 발명의 제2 실시예에 따른 고속도로 휴게소에서 머무르는 위치 정보에 대한 속도-확률 그래프이다. 도 4b에서 그래프의 X축, Y축, 및 마크 정보는 도 3b와 같을 수 있다. 그래프에서 알 수 있듯이, 이때의 속도값은 모두 0에 가까우며, 모두 정지로 판단된 정확한 결과로 볼 수 있다.
도 5a는 본 발명의 제2 실시예에 따라 지도에 차량 이동의 위치 정보를 나타낸 도면이다. 도 5a의 윈도우 크기, α값, 실험 시간, 플레이스 마크 정보는 도 3a와 같을 수 있다.
도 5a는 2014년 11월 07일 11시 46분 0초 부터 11시 48분 0초 까지 시구간에서 얻은 데이터를 나타낸 것이다.
도 5b는 본 발명의 제2 실시예에 따른 차량 이동의 위치 정보에 대한 속도-확률 그래프이다. 도 5b에서 그래프의 X축, Y축, 및 마크 정보는 도 3b와 같을 수 있다. 그래프에서 알 수 있듯이, 정지로 판단된 위치 정보를 기준으로 앞, 뒤 시간에서, 앞 시간에서는 속도가 감소하는 추세를 보이고, 뒷 시간에서는 속도가 증가하는 추세를 보이고 있어, 차량 이동 시 전형적인 정지의 유형으로 볼 수 있다.
본 발명에서, 현재 상태를 판단하려는 시간의 위치 정보와 이전 시간 4개의 속도값, 총 5개의 속도값을 이용하여 상태 판단을 한 이유는 실험상에서 6개에서 9개의 속도값 정보를 이용하여 같은 실험을 했을 때, 5개를 이용하여 실험한 것과 차이가 거의 없기 때문이다. 또한, 현재 속도에 영향을 주는 시간의 속도가 너무 먼 시간의 것이 되면 안 되기 때문이다. 더 많은 개수의 위치 정보를 이용한 것과 5개의 정보를 이용한 것의 확률값이 거의 차이가 없던 이유는 더 먼 시간의 속도는 가중치가 낮아질 필요성이 있으므로, 시간 가중치 속도값을 구하는 과정에서 1보다 작은 값을 계속 곱해나가면서 아주 작은 값이 되어 최종 상태판단에 이용할 속도 계산값에 거의 영향을 주지 않기 때문이다.
<제3 실시예>
본 발명의 제3 실시예에서는 스마트폰에 설치한 Sportstracker라는 어플리케이션 프로그램을 이용하여 얻은 GPS 데이터를 추출하여 실험의 입력 값으로 사용했다. 실험은 하루 단위의 데이터를 이용했다. 상기 GPS 데이터를 다른 방법으로 얻을 수도 있다.
본 실시예에서 사용한 파티클 필터를 적용한 알고리듬 2를 아래에 기재하였다.
[알고리듬 2]
Figure 112015023594395-pat00005

알고리듬 2는 파티클 필터의 기본 알고리듬을 이용한 것으로, 파티클 생성 및 초기화, 가중치 업데이트 및 파티클 업데이트, 반복, 결과 도출로 이루어져 있다. 알고리듬 2에서는 현재 속도값을 Vt라고 표기하지 않고, Z라고 표기하였다. 알고리듬 2에서는 현재 속도값 Z 그 자체를 이용한다는 점이 알고리듬 1에 비하여 다르다.
초기화를 통해 파티클들이 서로 모두 다른 값을 가질 수 있도록 0에서 1사이의 확률값을 배정할 수 있다.
맨 처음에 입력된 시간, 위도, 경도 정보는 두 지점 간의 거리를 계산하여 속도를 계산해야 하는데, 한 지점의 정보만 존재하므로 속도 계산이 불가능하다. 따라서 제일 처음에 입력된 정보는 판단을 보류하고 두 번째 정보를 입력받은 뒤에 두 번째 위치의 속도와 상태를 구하고, 첫 번째의 위치 정보에도 같은 속도와 상태를 적용할 수 있다. 이는 첫 번째와 두 번째 입력의 시간 차이가 몇 초 이하의 간격이기 때문에 짧은 시간 내에 상태변화가 일어날 확률은 낮다고 볼 수 있기 때문이다. 또한 두 번째 GPS정보 이후 부터의 속도는 하버사인(haversine) 공식을 이용하여 구할 수 있다.
알고리듬 2에 따르면, 먼저 N개의 파티클을 생성한 뒤(line 03), 측정값인 속도 Z를 이용하여 가중치(W)를 구하고(line 07), 파티클들의 확률값을 업데이트(line 09)하는 과정을 거친다.
가중치(W)를 구할 때, 속도 Z를 확률로 표현해 이용하기 위해서 인간 이동속도의 분포는 지수분포를 따른다는 아래 논문 6의 연구 결과을 이용했다.
[논문 6]
이준석, 송하윤 "인간 이동속도의 분포 추정" 2014년 춘계학술대회 논문집, 제 21권, 제 1호. 2014.
즉, 가중치를 계산할 때 속도 Z를 이용하지 않고, 지수분포를 통해 얻은 속도가 Z일 확률인 P_z를 이용했다. 속도가 높을 수록 확률 P_z가 높은 값을 갖게 하기 위해서, 지수분포의 누적분포함수를 이용하여 P_z값을 구할 수 있다.
f(Particle[k],Z)는 파티클 값과 속도를 이용해 얻은 확률값을 이용한 상수곱 및 사칙연산의 간단한 수식을 의미한다.
본 발명의 제3 실시예에 따른 인간의 이동 상태 판별 방법에 따르면, 최종적인 상태 판단은 해당 데이터의 파티클들의 확률값의 평균을 이용하여 정지 상태인지, 이동 상태인지 판단할 수 있다(line 13).
도 6은 kml 뷰어(kml viewer)를 이용하여 정지 상태와 이동 상태를 지도상에 출력한 것이다. 정지 상태는 별표 플레이스마크(100)를 이용하였고, 이동 상태는 동그라미 플레이스마크(200)를 이용하였다. 플레이스마크는 상기 Sportstracker를 통해 얻은 시간별로 기록된 위도, 경도로 이루어진 데이터 하나씩을 표시한 것이다.
도 6은 제1 장소(예컨대 서울 관악구)에서 출발하여, 제2 장소(예컨대 서울 송파구)에 일정 시간 머무른 뒤 제3 장소(예컨대 경기 하남)으로 이동하고, 다시 상기 제2 장소로 이동하는 동안에 얻은 데이터이다.
도 7은 교통 정체 없이 수월하게 이동하는 구간의 데이터들을 이동과 정지 상태로 구분한 것이다. 도 7에서는 이동 상태가 많고, 정지 상태는 적은 결과가 나왔음을 알 수 있다.
도 8과 도 9는 도 2의 전체 데이터에서 특정 시간 정지, 이동 시의 속도와 파티클 필터로부터 얻은 확률값을 나타낸 그래프이다. 각각 2분 동안의 데이터를 표시하였다. 도 8은 2014년 1월 31일의 12시 55분 0초 부터 12시 57분 0초까지 시구간에서 얻은 데이터이고, 도 9는 2014년 1월 31일의 14시 0분 0초 부터 14시 2분 0초까지 시구간에서 얻은 데이터이다.
도 8을 살펴보면, 정지 상태로 판별된 위치 데이터들이 일정 시간씩 유지됨을 볼 수 있다. 이것은 이동 상태도 마찬가지다. 일반적으로 사람의 이동상태가 짧은 시간 내에 정지에서 이동으로 바뀌고, 이 상태가 일정 시간 유지되지 않고 또다시 정지로 바뀌는 일은 거의 없다고 생각했기 때문에, 맞는 결과라 생각된다. 파티클 필터에서 가중치에 속도와 지수분포를 이용해 얻은 값을 반영했으므로, 속도와 확률의 관계를 살펴보면, 정지 상태의 속도가 이동 상태의 속도에 비해 낮았지만, 확률값은 높은 것을 봤을 때, 속도가 느릴수록 확률값이 높게 나오는 것을 볼 수 있다. 정지 상태의 속도는 5m/s 이하에 분포하고, 이동 상태의 속도는 다양한 값으로 표시되어있다. 또한, 정지 상태에서 이동 상태로 상태가 바뀔 때, 이동 상태의 속도는 상승하는 분포를 보이고 있고, 이동 상태에서 정지 상태로 바뀔 때는 속도가 하강하는 분포를 보인다.
도 8 및 도 9를 살펴보면, 확률값들이 0.4에서 1.0 사이에 주로 분포하는 것을 알 수 있었다. 이동 상태의 확률은 0.4 부근에 많이 위치하며, 정지 상태의 확률은 비교적 1.0에 가까운 것을 볼 수 있다.
도 9를 보면, 14시 1분 30초 부근에 정지 상태 사이에 이동 상태 하나가 존재하는 것을 볼 수 있다. 속도가 갑자기 상승하여 나온 결과로 판단된다. 또한, 이동 상태 사이에 하나의 정지 상태가 존재하는 것도 볼 수 있다.
GPS 데이터의 위도, 경도가 잘못된 위치에 찍히는 경우에 속도 값은 부정확하므로, 가중치를 계산할 때, 부정확한 속도 값은 가중치에 미치는 영향이 작아져야 한다. 따라서 오류 판단을 위해 Xt를 구할 때, 속도 값뿐만 아니라 주위 위치 데이터 5개를 이용하여, 윈도우처럼 이동시키며, 주위의 속도를 확인하여, 더 정확한 결과를 구할 수 있다. 이러한 아이디어가 반영된 실시예가 상술한 실시예 2이다.
도 10은 본 발명의 제3 실시예에 따라 컴퓨터를 이용하여 이동성을 판단 방법을 나타내는 순서도이다.
단계(S11)에서, 수집된 시간, 위도, 경도 정보를 포함하는 정보들을 이용하여 두 지점 간의 거리를 계산함으로써 속도(Z)를 계산한다.
단계(S12)에서, N개의 파티클을 생성한다.
단계(S13)에서, 측정값인 속도 Z를 이용하여 가중치(W)를 구한다.
단계(S14)에서, 상기 파티클들의 확률값을 갱신한다.
단계(S15)에서, 상기 파티클들의 확률값의 평균을 이용하여 정지 상태인지 아니면 이동 상태인지를 판단한다.
<제4 실시예>
제4 실시예는 상술한 제2 실시예의 변형 실시예이다. 본 실시예에서 사용한 파티클 필터를 적용한 알고리듬은 다음 알고리듬 3에 기재되어 있다.
[알고리듬 3]
Figure 112015023594395-pat00006

알고리듬 3의 동작은 다음과 같다:
단계 1) 하버사인 공식을 이용하여 현재 시각에서의 위치 정보를 이용하여 현재의 속도(Vt)를 구한다(line 4).
단계 2) 시간 가중치 속도(T)를 수학식 1을 이용하여 계산한다(line 6).
단계 3) N개의 파티클(Particle[N])을 생성한 뒤, 초기화한다(line 8).
단계 4) 상기 수학식 2 및 수학식 3을 이용하여 가중치(W)를 구한다(line 11).
단계 5) 파티클의 값(즉, 확률값)을 갱신한다(line 12-16).
단계 6) N개의 파티클의 값을 갱신하기 위해 위의 단계 4와 단계 5를 반복한다(line 10).
단계 7) 두 번째 for 문(line 10)을 5회 반복한다(line 9).
단계 8) 파티클들의 평균(즉, 확률값들의 평균값)을 구하고(line 19), 최종 이동 상태를 판별한다(line 20).
알고리듬 3에서 상수 5는 N개의 파티클 갱신을 반복하기 위해 사용되는데, 이렇게 상수회 반복하는 이유는 상기 확률값을 안정시키기 위함이다. 반면, 일반적인 SIS 알고리듬들은 파티클 값들을 오직 한번 갱신한다.
알고리듬 3의 N개의 파티클을 생성하고 초기화하는 단계에서, 파티클들의 평균값이 0.5가 되도록 할 수 있다.
알고리듬 3의 12번째 줄의 조건은 해당 파티클의 값이 0.5보다 작거나 같고 가중치가 0.5보다 큰 경우, 그리고 파티클의 값이 0.5보다 크거나 그거나 같고 가중치가 0.5보다 작은 경우의 두 가지 경우이다. 이는 파티클의 값을 0 또는 1에 가깝게 만들기 위한 방법이다. 0.5보다 작은 값을 가진 파티클의 가중치가 크다면 가중치를 빼 0에 가깝게, 작다면 파티클의 가중치를 더해 1에 가깝게 만들 수 있다. 그리고 0.5보다 큰 값을 갖는 파티클의 가중치가 작으면 가중치를 빼 0에 가깝게, 가중치가 크면 가중치를 더해 1에 가깝게 만들 수 있다. 상술한 내용은 아래의 표 1에 제시되어 있다.
Condition Particle<=0.5 Particle>0.5
Weight<=0.5 line 15 (+) line 13 (-)
Weight>0.5 line 13 (-) line 15 (+)
파티클을 업데이트한 후 반복을 거친 다음, 마지막으로 파티클들의 확률의 평균을 이용해 이동 상태인 X를 구한다. 예컨대, 이 확률들의 평균값이 실험값 0.75보다 작으면 이동으로, 그 외는 정지로 판단할 수 있다.
상술한 내용을 제외한 나머지 단계는 알고리듬 1과 동일할 수 있다.
도 11a는 본 발명의 제4 실시예에 따라 지도에 차량 이동의 위치 정보를 나타낸 도면이다.
도 11b는 본 발명의 제2 실시예에 따른 차량의 위치 정보에 대한 속도-확률 그래프이다.
도 11의 연속된 데이터의 일 부분은 낮은 속도와 높은 정지 확률을 보이는 반면, 다른 부분은 높은 속도와 높은 이동 확률을 보이고 있다. 이는, 전형적인 차량의 정지 및 이동 상황을 보여주는 것이다. 도 11b의 01시 20분 13초 부근에서, 5개의 결과값은 정지로 분류되는데, 이때 상기 결과값은 도 11a의 왼쪽 아랫부분의 별표 플레이스 마크에 대응된다. 상기 일 부분은 차량이 U턴을 하는 상황을 나타내며, 상대적으로 낮은 속도 값을 가지며, 이때 큰 시간 차이를 갖는다. 상기 차량은 01시 20분 53초 부근에서 가속됨을 알 수 있다.
<제5 실시예>
제5 실시예는 상술한 제3 실시예의 변형 실시예이다. 본 실시예에서 사용한 파티클 필터를 적용한 알고리듬은 다음 알고리듬 4에 기재되어 있다.
[알고리듬 4]
Figure 112015023594395-pat00007

알고리듬 4는 알고리듬 2를 변형한 것이다. 알고리듬 2의 입력값은 파티클의 개수(N)와 현재 속도(Z)이지만, 알고리듬 4의 입력값은 파티클의 개수(N)와 평균 속도(Zavg)라는 점에서 차이가 있다. 예컨대, 이때, 평균 속도의 의미는 현재 위치 데이터의 속도값과 이전 4개 시간의 속도값의 평균을 의미한다. 즉 총 5개의 속도값의 평균을 의미한다. 이는 위치 데이터의 오류로 인해 정확하지 않은 속도값을 얻었을 때, 부정확한 이동 상태가 도출될 수 있기 때문에 이를 보완하기 위해 이용하는 것이다. 따라서 현재 위치 데이터의 이동 상태를 판단할 때, 현재 속도뿐만 아니라 이전 데이터들의 속도값도 반영할 수 있다. 이때, 속도값이 5개가 모이기 전의 데이터는 파티클 필터 알고리듬의 두 번째 입력 값에 평균 속도로 입력되지 않고, 현재 위치 데이터의 속도가 입력될 수 있다.
알고리듬 4의 9번째 줄의 조건은 해당 파티클의 값이 0.5보다 작거나 같고, 가중치가 0.5보다 큰 경우, 그리고 파티클의 값이 0.5보다 크거나 그거나 같고, 가중치가 0.5보다 작거나 같은 경우의 두 가지 경우이다. 이는 파티클의 값을 0 또는 1에 가깝게 만들기 위한 방법이다. 0.5보다 작은 값을 가진 파티클의 가중치가 크다면 가중치를 빼 0에 가깝게 만들고, 가중치가 작다면 파티클의 가중치를 더해 1에 가깝게 만들 수 있다. 0.5보다 큰 값을 갖는 파티클의 가중치가 작으면 가중치를 빼 0에 가깝게 만들고, 가중치가 크면 가중치를 더해 1에 가깝게 만드는 것이다. 상술한 내용은 표 1에 제시되어 있다.
파티클을 업데이트한 후 반복을 거친 다음, 마지막으로 파티클들의 확률의 평균을 이용해 이동 상태인 X를 구한다. 이 확률들의 평균값이 실험값 0.75보다 작으면 이동으로, 그 외는 정지로 판단할 수 있다.
상술한 내용을 제외한 나머지 단계는 알고리듬 2와 동일할 수 있다.
도 12a는 본 발명의 제 5실시예에 따라 차량 이동의 위치 정보를 나타낸 도면이다.
도 12b는 본 발명의 제5 실시예에 따른 차량의 위치 정보에 대한 속도-확률 그래프를 나타낸 도면이다.
도 12b는 도 12a에 해당하는 일자의 구간을 속도-확률 그래프로 나타낸 것이다. 도 12a 및 도 12b에 사용된 마크 정보는 도 3과 같을 수 있다.
도 9와 도 12b을 서로 비교하면, 도 9는 현재 속도만을 이용한 것이며, 도 12b은 평균 속도를 이용한 것이다. 도 12b에서는 모든 데이터가 이동으로 판별된 것에 비해, 도 9에는 정지로 판단된 데이터가 존재한다. 도 12b에서는 짧은 시간 내에 상태가 계속 변하는 문제가 해결되었음을 알 수 있다. 또한, 도 12b에서 시작부 처음 3개의 데이터가 이동으로 판단된 것은 평균 속도를 이용하기 때문에 이전 시간의 속도의 영향인 것으로 볼 수 있다.
이상, 본 명세서에서는 편의상 GPS 장치를 이용하여 위치 정보를 획득하는 실시예를 이용하여 설명였지만, GPS가 아닌 다른 종류의 위치 결정 장치 또는 시스템을 이용하여 얻은 위치 정보를 상술한 본 발명에 따른 다양한 실시예에 적용할 수 있는 점을 이해할 수 있다.
상술한 본 발명의 실시예들을 이용하여, 본 발명의 기술 분야에 속하는 자들은 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에 다양한 변경 및 수정을 용이하게 실시할 수 있을 것이다. 특허청구범위의 각 청구항의 내용은 본 명세서를 통해 이해할 수 있는 범위 내에서 인용관계가 없는 다른 청구항에 결합될 수 있다.

Claims (12)

  1. N개의 독립 랜덤 변수로 정의되는 파티클들을 갖는 파티클 필터를 이용하여 특정 대상의 이동상태를 판별하는 판별방법으로서,
    상기 특정 대상에 대한 현재 속도를 계산하고, 그리고 상기 특정 대상이 상기 현재 속도를 가질 수 있는 누적확률에 관한 값을 계산하는 단계;
    각각의 상기 파티클의 값을 갱신하는 파티클 갱신 프로세스를 미리 결정된 규칙에 따른 횟수만큼 반복하는 단계; 및
    갱신이 완료된 상기 N개의 파티클이 갖는 값의 평균값을 계산하고, 상기 평균값을 기초로 상기 특정 대상의 운동상태를 결정하는 단계;
    를 포함하며,
    상기 누적확률을 이용하여 상기 파티클의 값을 갱신하는데 사용되는 가중치를 계산하는 것을 특징으로 하는,
    이동상태 판별방법.
  2. 제1항에 있어서,
    상기 파티클 갱신 프로세스는,
    상기 누적확률에 관한 값을 상기 각 파티클의 값으로부터 차감함으로써 상기 가중치를 계산하는 단계; 및
    상기 각각의 파티클의 값에서 상기 가중치를 차감하거나, 또는 상기 각각의 파티클의 값에 상기 가중치를 더함으로써 상기 각각의 파티클의 값을 갱신하는 단계;
    를 포함하는,
    이동상태 판별방법.
  3. 제1항에 있어서,
    상기 현재 속도는,
    상기 특정 대상에 대하여 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값에 각각 미리 결정된 가중치를 곱하여 서로 더함으로써 얻어진, 상기 제1시각에서의 시간가중-속도(T)이거나, 또는
    상기 특정 대상에 대하여 상기 제1시각에 검출된 속도값, 또는
    상기 특정 대상에 대하여 상기 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값들의 평균값인
    것을 특징으로 하는, 이동상태 판별방법.
  4. 제3항에 있어서, 상기 제1시각에 더 까까운 시각일수록 상기 곱해지는 가중치의 값이 커지는 것을 특징으로 하는, 이동상태 판별방법.
  5. 제1항에 있어서,
    상기 운동상태는 정지상태 및 상기 이동상태를 포함하는 복수 개의 상태로 구분되며,
    상기 복수 개의 상태 중 어느 상태인지 결정하는 것은, 상기 N개의 파티클이 갖는 값의 평균값을 미리 결정된 한 개 이상의 임계값에 대하여 비교함으로써 이루어지는 것을 특징으로 하는,
    이동상태 판별방법.
  6. 0 이상 1 이하의 값을 갖도록 되어 있는 N개의 독립 랜덤 변수를 파티클로 갖는 파티클 필터를 초기화 하는 단계;
    파티클 갱신 프로세스를 미리 결정된 규칙에 따른 횟수만큼 반복하는 단계; 및
    갱신이 완료된 상기 N개의 파티클의 평균값을 계산하고, 상기 평균값을 이용하여 특정 대상의 운동상태를 결정하는 단계;
    를 포함하며,
    상기 파티클 필터에 입력하기 위한 새로운 관찰값으로서 상기 특정 대상에 대하여 제1시각에 제공된 현재 속도를 이용하는 것을 특징으로 하는,
    이동상태 판별방법.
  7. 제6항에 있어서,
    상기 파티클 갱신 프로세스는,
    상기 현재 속도를 획득하는 단계;
    N개의 상기 파티클이 갖고 있는 현재 값을 전제로 하여 상기 특정 대상이 상기 현재 속도를 가질 우도확률(likelyhood probability)을 갱신하는 단계;
    상기 갱신된 우도확률를 이용하여 가중치를 획득하는 단계; 및
    상기 가중치를 이용하여 상기 파티클을 갱신하는 단계;
    를 포함하는,
    이동상태 판별방법.
  8. 제7항에 있어서, 상기 파티클을 갱신하는 단계는 상기 파티클의 값이 음수가 되면 0 값으로 갱신하도록 되어 있는 단계를 포함하는, 이동상태 판별방법.
  9. 제7항에 있어서, 상기 우도확률은 지수분포의 누적분포함수를 이용하여 구하는 것을 특징으로 하는, 이동상태 판별방법.
  10. 제6항에 있어서,
    상기 현재 속도는,
    상기 특정 대상에 대하여 상기 제1시각에 검출된 속도값이거나,
    상기 특정 대상에 대하여 상기 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값들의 평균값이거나, 또는
    상기 특정 대상에 대하여 상기 제1시각 및 상기 제1시각 이전에 검출된 한 개 이상의 속도값에 각각 미리 결정된 가중치를 곱하여 서로 더함으로써 얻어진, 상기 제1시각에서의 시간가중-속도(T)
    인 것을 특징으로 하는,
    이동상태 판별방법.
  11. 제6항에 있어서,
    상기 운동상태는, 정지상태 및 한 개 이상의 교통수단에 따른 이동상태를 포함하는 복수 개의 상태로 구분되며,
    상기 한 개 이상의 교통수단에 따른 이동상태는, 도보에 의한 이동상태 및 차량에 의한 이동상태를 포함하며,
    상기 복수 개의 상태 중 어느 상태인지 결정하는 것은, 상기 갱신이 완료된 상기 N개의 파티클의 평균값을 미리 결정된 한 개 이상의 임계값에 대하여 비교함으로써 이루어지는 것을 특징으로 하는,
    이동상태 판별방법.
  12. N개의 독립 랜덤 변수로 정의되는 파티클들을 갖는 파티클 필터를 이용하여 특정 대상의 이동상태를 판별하도록 되어 있는 처리부를 포함하는 이동상태 판별장치로서,
    상기 처리부는,
    상기 특정 대상에 대한 현재 속도를 계산하고, 그리고 상기 특정 대상이 상기 현재 속도를 가질 수 있는 누적확률에 관한 값을 계산하는 단계;
    각각의 상기 파티클을 갱신하는 파티클 갱신 프로세스를 미리 결정된 규칙에 따른 횟수만큼 반복하는 단계; 및
    갱신이 완료된 상기 N개의 파티클이 갖는 값의 평균값을 계산하고, 상기 평균값을 기초로 상기 특정 대상의 운동상태를 결정하는 단계;
    를 실행하도록 되어 있으며,
    상기 누적확률을 이용하여 상기 파티클의 값을 갱신하는데 사용되는 가중치를 계산하는 것을 특징으로 하는,
    이동상태 판별장치.
KR1020150033575A 2014-11-04 2015-03-11 파티클 필터를 이용한 인간의 이동 상태 분류 방법 KR101637198B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/931,914 US20160123728A1 (en) 2014-11-04 2015-11-04 Method for classifying human mobility state using particle filter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20140152339 2014-11-04
KR1020140152339 2014-11-04

Publications (2)

Publication Number Publication Date
KR20160052301A KR20160052301A (ko) 2016-05-12
KR101637198B1 true KR101637198B1 (ko) 2016-07-07

Family

ID=56024805

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150033575A KR101637198B1 (ko) 2014-11-04 2015-03-11 파티클 필터를 이용한 인간의 이동 상태 분류 방법

Country Status (1)

Country Link
KR (1) KR101637198B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061276B (zh) * 2019-12-31 2022-07-26 芜湖哈特机器人产业技术研究院有限公司 基于动态区域划分的移动机器人重定位方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005065305A (ja) 1999-06-10 2005-03-10 Alcatel Internetworking Inc ポリシーベースのネットワークアーキテクチャ
KR101140045B1 (ko) 2010-12-23 2012-05-02 연세대학교 산학협력단 사용자 위치 추적 방법 및 장치
US20120169535A1 (en) 2011-01-05 2012-07-05 Qualcomm Incorporated Affecting electronic device positioning functions based on measured communication network signal parameters
KR101264306B1 (ko) 2012-01-10 2013-05-22 숭실대학교산학협력단 이동 모델 학습을 통한 실내 위치 추적 장치 및 이를 위한 기록매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005065305A (ja) 1999-06-10 2005-03-10 Alcatel Internetworking Inc ポリシーベースのネットワークアーキテクチャ
KR101140045B1 (ko) 2010-12-23 2012-05-02 연세대학교 산학협력단 사용자 위치 추적 방법 및 장치
US20120169535A1 (en) 2011-01-05 2012-07-05 Qualcomm Incorporated Affecting electronic device positioning functions based on measured communication network signal parameters
KR101264306B1 (ko) 2012-01-10 2013-05-22 숭실대학교산학협력단 이동 모델 학습을 통한 실내 위치 추적 장치 및 이를 위한 기록매체

Also Published As

Publication number Publication date
KR20160052301A (ko) 2016-05-12

Similar Documents

Publication Publication Date Title
US10319232B2 (en) Traffic flow rates
EP2769574B1 (en) Tracking activity, velocity, and heading using sensors in mobile devices or other systems
CN108072382A (zh) 用于自主驾驶车辆的路径确定装置及路径确定方法
US9361702B2 (en) Image detection method and device
US9946935B2 (en) Object tracking device, object tracking method, and object tracking program
Du et al. Applying particle swarm optimization algorithm to roundness error evaluation based on minimum zone circle
US11740321B2 (en) Visual inertial odometry health fitting
CN110501010A (zh) 确定移动设备在地理区域中的位置
JP2021047414A (ja) 音声指紋の照合のための装置及びコンピュータ可読記憶媒体
CN105444763A (zh) 一种imu室内定位方法
Bundak et al. Fuzzy rank cluster top k Euclidean distance and triangle based algorithm for magnetic field indoor positioning system
CN102722702A (zh) 多特征融合的粒子滤波视频目标跟踪方法
KR20120093363A (ko) 정보 처리 장치, 정보 처리 방법 및 기록 매체
CN109063727B (zh) 计算轨迹频繁度的方法、装置、存储介质及电子设备
KR101637198B1 (ko) 파티클 필터를 이용한 인간의 이동 상태 분류 방법
JP2016162096A (ja) 移動物体追跡装置
JP6677040B2 (ja) 軌跡データ処理方法、軌跡データ処理プログラム及び軌跡データ処理装置
KR101637195B1 (ko) 속도에 종속적인 확률분포 파라미터 및 파티클 필터를 이용한 인간의 운동 상태 분류 방법
US20160123728A1 (en) Method for classifying human mobility state using particle filter
CN105447435A (zh) 对象跟踪方法和设备、跟踪特征选择方法
KR101466668B1 (ko) 위치정보 분류방법 및 이를 위한 장치
US20140378160A1 (en) Method of correcting global position error
Zhang et al. Soil salinity estimation based on near-ground multispectral imagery in typical area of the Yellow River Delta
JP2016153756A (ja) センシング誤差修正装置、センシング誤差修正システム、センシング誤差修正方法、および、センシング誤差修正プログラム
Song et al. Mobility state classification with particle filter

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
GRNT Written decision to grant