KR101467317B1 - 위치 데이터의 오류여부 결정방법 - Google Patents

위치 데이터의 오류여부 결정방법 Download PDF

Info

Publication number
KR101467317B1
KR101467317B1 KR1020120103572A KR20120103572A KR101467317B1 KR 101467317 B1 KR101467317 B1 KR 101467317B1 KR 1020120103572 A KR1020120103572 A KR 1020120103572A KR 20120103572 A KR20120103572 A KR 20120103572A KR 101467317 B1 KR101467317 B1 KR 101467317B1
Authority
KR
South Korea
Prior art keywords
speed
position data
data
parameter
algorithm
Prior art date
Application number
KR1020120103572A
Other languages
English (en)
Other versions
KR20130111161A (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/389,475 priority Critical patent/US20150087333A1/en
Priority to PCT/KR2013/002663 priority patent/WO2013147560A1/ko
Publication of KR20130111161A publication Critical patent/KR20130111161A/ko
Application granted granted Critical
Publication of KR101467317B1 publication Critical patent/KR101467317B1/ko

Links

Images

Classifications

    • 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/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/40Correcting position, velocity or attitude
    • 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/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
    • 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/0205Details
    • G01S5/021Calibration, monitoring or correction
    • 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/0278Position-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 involving statistical or probabilistic considerations
    • 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

Abstract

사용자 기기로부터 수집된 제1 위치 데이터의 오류여부를 결정하는 방법이 공개된다. 이 방법은 제1 위치 데이터 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 제1 속력(Vc)을 산출하는 단계, 및 제1 속력(Vc)이 확률분포의 파라미터를 독립변수로 포함하는 미리 결정된 식을 만족하는 경우에는, 제1 위치 데이터에 오류가 있는 것으로 판단하는 단계를 포함한다.

Description

위치 데이터의 오류여부 결정방법{Method for determining the presence of positioning data error}
본 발명은 사용자 기기에 의해 수집된 위치 데이터에 오류가 있는지 여부를 판단하기 위한 기술에 관한 것이다.
GPS, GLONASS, Galileo와 같은 위치정보 시스템은 잘 알려져 있다. 뿐만 아니라, 기지국이나 크라우드 소스(crowd source)의 WIFI 위치 접근법을 이용하여 무선 통신망 포지셔닝을 수행할 수 있다. 그러므로 스마트폰이나 다른 휴대용 기기를 가진 사용자들은 위치 시스템 종류와 상관없이 현재의 위치를 얻을 수 있다. 그러나 위치 정보 세트는 여러가지 이유로 에러를 가진 데이터를 가지고 있다. 애플사의 아이폰이나 삼성의 갤럭시를 이용할 때에 꽤 많은 에러가 있는 위치 정보를 경험할 수 있으며, 분명한 에러들을 필터링할 필요성이 존재한다.
휴대용 기기의 최근 발전, 특히 GPS 또는 다른 위치검출 장치를 갖는 스마트폰의 도입으로 인해 인간 이동성에 근거한 다양한 위치기반 서비스가 가능하게 되었다. 하지만 이러한 위치 정보는 가끔씩 작동환경에 따라 위치 에러들을 가지고 있다. 그런 경우, 많은 기기들은 그러한 에러가 있는 위치 정보의 필터링을 필요로한다.
본 발명에서, 통계학적인 접근법을 바탕으로 상대적으로 간단하지만 효율적인 필터링 방법이 제안된다.
본 명세서에서는 상대적으로 간단하지만 효과적인 필터링 방법을 통계적 접근 방법에 기반하여 제공한다. 이동 기기로부터 얻은 <위도, 경도, 시간>의 형식을 갖는 사용자의 이동 위치 데이터로부터, 사용자의 속도 및 가속도를 계산할 수 있다. 슬라이딩 윈도우 또는 이동(moving) 윈도우라는 아이디어를 이용하여, 사용자 위치 데이터의 속도와 가속도의 통계량을 계산할 수 있으며, 그 결과 제어가능한 파라미터를 이용하여 필터링을 수행할 수 있다. 본 발명의 일 실시예에 따른 알고리듬은 간단하기 때문에 적은 계산 능력(computation power)을 갖는 이동 기기에도 적용할 수 있다.
본 발명의 일 실시예에서는 성능의 향상을 위하여, 향상된 필터링을 위한 더 정교한 윈도우를 생성하는데 집중한다. 이동 윈도우를 더 정교하게 추정(estimation)하고, 에러가 있는 데이터를 적당한 추정값으로 교체하기 위해, 백트래킹(backtracking) 인터폴레이션 방법이 사용될 수 있다.
최근 이동 기기의 진보, 특히 GPS 또는 다른 위치검출 장치를 갖는 스마트폰의 도입으로 인해 인간 이동성에 근거한 다양한 위치 기반 서비스들이 가능해졌다. 위치검출 시스템의 일 어플리케이션은 아래의 [2]에 나타낸 것과 같은 교육 분야를 포함할 수 있으며, 아래의 [1]에 나타낸 다양한 이동 기기들에서 쉽게 발견될 수 있다. 그러나 이러한 위치검출 데이터는 종종 동작 환경에 따라 위치 에러를 갖는다. 이러한 경우에, 많은 어플리케이션들은 이러한 에러가 있는 위치 데이터의 필터링을 필요로한다. 본 발명을 위한 실험에서 경험한 것처럼, 스마트폰 사용에 의해 수집한 위치정보의 12% 이상에 에러가 나타났다. 이러한 기본적인 실험은 셀룰러 기지국의 위치를 내부적으로 사용하는 삼성 갤럭시 탭을 통한 스마트폰 어플리케이션의 사용과 휴대용 GPS 장치[3], 크라우드 소싱에 의한 WIFI 위치검출, 셀룰러 네트워크, 및 GPS의 조합을 사용하는 iOS5를 탑재한 애플 아이폰 3GS에 의해 이루어졌다[4]. 좀 더 정교한 결과는 인간 이동 모델에 대한 연구들 및 '김'과 '송'의 논문[5]에서 찾을 수 있다. 복잡계 시스템 물리학과 같은 다른 연구 분야에 따르면, 사람들은 그들이 빈번하게 방문한 장소와 경로를 선택하는 것 대신에 다음 목적지를 임의로 선택하는 것을 꺼린다. 따라서 인간 이동의 93%까지 예측될 수 있다는 것이 밝혀졌다[6]. 위치 정보의 세트들은 [5]에 나타난 바와 같이 인간 이동성 모델 구성을 위한 기반이 될 수 있다. 본 발명에서, 이동 윈도우 접근법의 사용과 함께 에러가 있는 위치 정보를 필터링하는 기술을 제안할 것이다. 또한 알고리듬 설정을 위한 예비 실험과 함께 이동 윈도우를 사용하여 우리의 아이디어를 보여줄 것이다. 또한 필터링 알고리듬을 자세히 설명할 것이다. 또한 실험 디자인을 위한 사용자가 통제가능한 변수에 대하여 고려해야 할 사항 및 우리의 실험 결과를 보여줄 것이다.
⇒[1]: Nicolae-Iulian Enescu, Dan Mancas, and Ecaterina-Irina Manole, ”Locating GPS Coordinates on PDA,” 8th WSEAS International Conference on APPLIED INFORMATICS AND COMMUNICATIONS (AIC08), Rhodes, Greece, August 20-22, 2008, pp.470-474.
⇒[2]: Ph. Ddondon, T. TSING, and F. Sandoval, ”Initiation to GPS localization and navigation using a small-scale model electric car: An illustration of learning by project for graduated students,” Proceedings of the 8th WSEAS International Conference on EDUCATION and EDUCATIONAL TECHNOLOGY, 2009, pp.21-26.
⇒[3]: Garmin GPSMAP62s, https://buy.garmin.com/shop/shop.do?pID=63801
⇒[4]: iOS 5: Understanding Location Services, Available: http://support.apple.com/kb/ht4995
⇒[5]: Hyunuk Kim and Ha Yoon Song, ”Daily Life Mobility of A Student: From Position Data to Human Mobility Model through Expectation Maximization Clustering,” Communications in Computer and Information Science, Volume 263, December 2011, pp. 88-97.
⇒[6]: Marta C. Gonzalez and A. Hidalgo and Albert-Laszlo Barabasi, ”Understanding individual human mobility patterns,” Nature, vol. 453, pp.779-782, 5 June 2008.
휴대용 기기들을 통해 <위도, 경도, 시간>의 형식으로 얻은 사용자의 휴대용 위치 정보를 통하여, 사용자의 속도와 가속도를 계산할 수 있다. 슬라이딩 윈도우 또는 이동 윈도우에 대한 아이디어로부터 사용자의 가속도와 속도의 통계를 계산할 수 있고, 컨트롤이 가능한 변수들을 이용하여 필터링을 수행할 수 있다. 본 발명의 일 실시예에 따른 알고리듬은 간단하기 때문에 저전력 휴대용 기기에 적용될 수 있다는 것을 예상할 수 있다.
본 발명의 일 관점에 따른 위치 데이터의 오류여부 결정방법은, 사용자 기기로부터 수집된 제1 위치 데이터의 오류여부를 결정하는 방법이 공개된다. 이 방법은 제1 위치 데이터 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 제1 속도(Vc)를 산출하는 단계, 및 제1 속도(Vc)가 확률분포의 파라미터를 독립변수로 포함하는 미리 결정된 식을 만족하는 경우에는, 제1 위치 데이터에 오류가 있는 것으로 판단하는 단계를 포함한다.
본 발명에 따르면 상대적으로 간단하지만 통계학적인 접근법을 바탕으로 한 효율적인 필터링 방법이 제공된다.
도 1에은 수집된 위치에 관한 로-데이터(raw-data) 세트를 시각적으로 나타낸 것이다.
도 2는 본 발명의 일 실시예에 따른 간단한 실험의 결과를 보여준다.
도 3은 본 발명의 일 실시예에 따른 교정 방식에 따른 윈도우 크기의 효과를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 진보된 필터링 알고리듬을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 진보된 다른 필터링 알고리듬을 나타낸다.
도 6은 본 발명의 일 실시예에 있어서, n=10 이고 s=0.34일 때의 필터링 결과를 나타낸다.
도 7은 본 발명의 일 실시예에 있어서, n=10 이고 88% 신뢰구간의 필터링 결과를 나타낸다.
도 8은 본 발명의 일 실시예에 따른 [알고리듬 2]를 설명하기 위한 것이다.
도 9는 본 발명의 일 실시예에 따른 [알고리듬 2]를 설명하기 위한 다른 예를 나타낸 것이다.
도 10은 본 발명의 일 실시예에 따른 [알고리듬 3]를 설명하기 위한 것이다.
도 11은 본 발명의 다른 실시예에 따른 위치 데이터 오류 필터링 및 보정 방법을 설명하기 위한 것이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있는 것으로, 이하의 실시예는 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
<위도, 경도, 시간>의 형식으로 수집된 사용자 위치는 한 세트의 사용자 이동 궤적(자취)을 형성하며, 이 튜플(tuple)에 식별 파라미터를 추가함으로써 사용자 이동성 데이터 세트를 나타낼 수 있다. 본 명세서에서 시각 t에서의 하나의 튜플을 Pt 라고 지칭하고, Pt 의 위도 및 경도를 각각 latt , lont 라고 지칭할 수 있다.
두 개의 연속적인 위치 데이터 튜플들로부터, Vincenty의 공식[7]에 따라, <lati-1 ,loni-1>와 <lati ,loni>를 이용하여 시각 Pi 에서의 이동거리 Di 를 계산할 수 있다. 물론, 두 개의 연속된 이동거리로부터 시각 Pi 에서의 속도 Vi 를 계산할 수 있고, 시각 Pi에서의 가속도 ai를 계산할 수 있다. 그러므로 튜플 Pt 는 부가적인 속성을 포함하는 <t, latt , lont, Dt, at>와 같은 코어 형식(core form)을 가질 수 있다.
⇒[7]: T. Vincenty, ”Direct and Inverse Solutions of Geodesics on the ellipsoid with Application of Nested Equations,” Survey Review, Volume 23, Number 176, April 1975 , pp. 88-93(6).
실제 위치 데이터 세트에 의한 속도 값을 기초로, 일련의 속도 중 600m/s라는 하나의 오류를 찾을 수 있었는데, 이러한 값은 보통의 일상환경에서 무의미한 값이다. 따라서, 표 1에 나타낸 바와 같이, 보통의 인간 이동성의 최대 가능한 속도 값을 조사했다. 표 1은 운송수단에 다른 최대속도를 나타낸 것이다. 본 발명의 일 실시예를 위하여 최대속도 MAXspeed을 250m/s로 정의할 수 있다. 그러한 최대값은 즉시 도달될 수가 없다, 즉 가속도는 갑자기 만들어지지 않는다. MAXspeed 이외에도 MAXacceleration이 정의될 수 있다.
Transportation Method Maximum speed (m/sec)
Ambulation
Bicycle
Automobile
Sports-Car
High-Speed Train
Air-plain
3.00
33.33
92.78
244.44
159.67
528.00
다음 단계를 위해 우리는 속도의 이동평균(moving average of speed)과 속도의 이동표준편차(moving standard deviation of speed)라는 아이디어를 도입했다. 우리는 현재 시각 t에서 속도의 이동평균(moving average of speed)인 MAspeed(n)을 정의할 수 있는데, 여기서 n은 튜플의 집합인 {Px : t-n+1 ≤ x < t}의 과거 데이터의 수를 나타낸다. 비슷하게, 우리는 시각 t에서의 이동표준편차 MSDspeed(n)을 정의할 수 있는데, 여기서 n은 과거 데이터의 수를 나타낸다. 여기서, n은 대부분의 연구자들에 의해 '윈도우 크기'라는 이름으로 지칭된다. 일단 우리가 새로운 튜플 Pt 를 얻게되면, 우리는 Vt가 인간 이동성의 보통의 범위 안에 있는지를 결정할 수 있고, at에 대해서도 같은 과정이 적용될 수 있다. 일단 Vt 가 평균값 MAspeed(n)과 표준편차 MSDspeed(n)의 정규분포(normal distribution)의 범위 밖에 존재하면, 우리는 Pt를 버릴 수 있고, 이 튜플은 일련의 인간 자취로부터 필터링될 수 있다. Pt를 필터링하는 조건은 수학식 1과 같다.
[수학식 1]
Vt > MAspeed(n)+ s * MSDspeed(n)
여기서 s는 필터링의 민감성 수준을 나타내며, 사용자가 통제 가능한 파라미터이다. 그렇지 않다면(즉, Vt가 수학식 1을 만족하지 않는다면), 우리는 일련의 유효한 위치 데이터에 튜플 Pt를 포함시키고, MAspeed(n)와 MSDspeed(n)을 다시 계산할 수 있다. 이 계산은 비교적 간단해서 실시간으로 이루어질 수 있다. 다시 말해서, 이 알고리듬은 스마트폰 또는 유사한 이동 기기와 같은 저전력용 장치에서 수행될 수 있다. 기존 연구는 보다 복잡한 통계적인 이론 [8]을 이용하는 유사한 작업을 포함하고 있지만, 이렇게 복잡한 방법은 실시간 환경에서는 도입되기 어렵다. 이동 윈도우에 기반한 다른 어플리케이션의 예들은 [9]와 [10]에서 확인할 수 있다.
⇒[8]: Woojoong Kim and Ha Yoon Song, ”Optimization Conditions of OCSVM for Erroneous GPS Data Filtering,” Communications in Computer and Information Science, Volume 263, December 2011, pp. 62-70.
⇒[9]: Camelia Ucenic and Atsalakis George, ”A Neuro-fuzzy Approach to Forecast the Electricity Demand,” Proceedings of the 2006 IASME/WSEAS International Conference on Energy & Environmental Systems, Chalkida, Greece, May 8-10, 2006, pp.299-304.
⇒[10]: Wiphada Wettayaprasit, Nasith Laosen, and Salinla Chevakidagarn, ”Data Filtering Technique for Neural Networks Forecasting,” Proceedings of the 7th WSEAS International Conference on Simulation, Modelling and Optimization, Beijing, China, September 15-17, 2007, pp.225-230.
우리는 윈도우의 크기에 대한 영향을 알 수 있는 실험을 수행하였다. 이 실험을 위해, 20일 이상 동안 한국의 서울지역에서 수집된 한 세트의 위치데이터가 사용되었다. 이 데이터는 위치정보 수집 어플리케이션을 가진 아이폰 3GS를 사용하여 수집되었다. 이하 본 명세서에서 이 정보를 '아이폰 데이터 세트'라고 부를 것이다. 아이폰의 위치변화를 감지할 때마다, 또는 아이폰이 정지 상태에 있다면 사용자가 정의한 매 간격(3에서 60초)마다, 어플리케이션이 위치정보를 기록할 수 있다. 지리적 지도(geographical map) 상에 다양한 기법을 이용하여 이 위치 데이터 세트를 표시하였다. 다양한 기법 중, 위치 데이터 세트의 가시화를 위하여 구글 맵[11]을 선택하였다.
⇒[11]: Google Maps API, Available: https://developers.google. com/maps/
도 1에 로-데이터(raw-data) 세트를 시각적으로 나타냈는데, 여기에는 에러가 있는 데이터가 포함되어 있다. 주목할만한 현상 중에 하나는 iOS5가 3개의 서로 다른 방식에 따라 얻은 위치 데이터의 보고를 가끔 동시에 제공한다는 점이다. 즉, 셀룰라 기지국의 위치, 크라우드 소스(crowd source) WIFI 위치검출, 및 GPS는 가끔 동시에 서로 다른 위치 데이터를 보고한다. 우리가 동시에 다수의 위치값들을 얻게되는 경우, 가장 작은 속도값을 가진 위치 정보가 경험적으로 맞는 것이었다. 그러므로 필터링의 첫 단계에서는 같은 시간의 다수의 위치정보 중 이전의 위치에 대해 가장 작은 거리를 가진 위치 데이터를 단순히 고를 수 있다. 또한 데이터 세트들은 몇몇 개의 불연속적인 데이터 세트로 구성될 수 있다. 예를 들어, 위치 데이터 수집은 지하철에서는 불가능하며, 집안의 침대에서는 데이터를 수집할 필요가 없다. 지하철 차량으로 여행을 하는 동안 위치 데이터를 수집하는 것은 역사(station)에서만 가능하다.
n 값은 신중히 결정된다. 데이터 세트에 대한 알고리듬에서 n의 크기를 변화시키면서 여러 실험들을 수행했다. 윈도우 크기가 큰 경우에는 안정된 비이동 상태에서는 연속적인 에러들에 대해 성공적으로 대처할 수 있음에 비해, 빠른 속도 변화의 상황에는 반응하지 못할 것이라고 예상할 수 있다. 반면에 작은 값의 n은, 연속적인 에러 튜플들을 포함하는 것으로 여겨지는 이동 상태에 대한 갑작스런 속도 변화에 대한 빠른 반응을 보여줄 것이다. 예를 들면, m개의 연속적인 에러가 존재하는 경우에, m > n이라면 그런 에러들을 필터링할 수가 없다. 우리의 짐작을 이해하기 위해, 우리는 아이폰 데이터 세트에 대하여 윈도우 크기에 대한 실험을 하였다. 이 실험에서 n= 5, 10, 25, 50, 100과 같은 다양한 윈도우 사이즈에 대한 이동평균과 이동표준편차를 계산했다.
도 2는 본 발명의 일 실시예를 위한 간단한 실험의 결과를 보여준다. 크기가 더 큰 윈도우가 둔하다(dull)는 것이 명백하다. 일단 우리가 매우 큰 속도값을 만나게 되면, 큰 윈도우 크기는 큰 에러 속도의 영향을 큰 시간동안 유지시키고, 그 결과 에러가 있는 데이터의 언더 필터링(under filtering)을 초래한다. 100 또는 50의 윈도우 크기의 경우에, 우리는 명확하게 도 2에서 테일링 효과(tailing effect)를 볼 수 있다. 반면에, 작은 윈도우 크기는, 특히 속도변화의 시작단계에서, 속도 변화에 빠르게 반응하고 민감한 반면, 올바른 데이터를 오버 필터링한다. 윈도우 크기가 5 또는 10일 때에, 올바른 속도 데이터처럼 보이는 2개 이상의 정확해 보이는 튜플들이 작은 윈도우 크기에 의해 버려지는 것을 알 수 있다. 이 현상은 윈도우 크기의 테일링 효과(tailing effect)를 피하기 위해 이동 윈도우에 대한 조절 메카니즘을 도입해야만 한다는 것을 내포하고 있다.
이하 본 발명의 일 실시예에 따른 위치검출 데이터 에러에 대한 사전-실험(pre-experiments)에 대해 설명한다.
우리는 위치 데이터 정확성을 체크하기 위한 기초 실험을 수행하였다. 즉, 위치검출 장치들을 실외와 빌딩 내에 모두 고정하였고, 어떤 장치로 이동시키지 않고 수 시간 동안 위치 데이터를 수집하였다. 첫 번째 위치검출 장치는 Garmin GPSMAP62s[3]으로서 순수하게 GPS 데이터 수집을 위해 사용되었다. 두 번째 위치검출 장치는 삼성 갤럭시 탭으로서, 이 장치에 연결된 3G 기지국(3GBS)으로부터 위치검출 데이터를 얻기 위해 사용되었다. 갤럭시 탭이 두 상황에서 더 많은 에러를 나타낼 것이라고 추측하였으며, GPS 및 3GBS로부터 얻은 데이터 세트 모두 위치검출 에러를 나타낼 것이라고 추측하였다. 특히 빌딩 내에서 위치검출 에러를 보일 것이라고 추측하였다. 이 기초 실험의 결과는 표 2에 표시되어 있다. 표 2는 위치검출 데이터 획득 시 발생하는 에러를 나타낸 것이며, 표기 단위는 미터(meter)이다.
Figure 112012075662980-pat00001
위치 데이터로부터 에러 거리가 계산되며, 에러 거리의 분산(variance)과 평균을 계산할 수 있다. 추측한 바와 같이, 3GBS가 더 큰 에러율을 나타냈으며, 에러의 크기도 더 컸고, 에러 크기의 최대값도 더 컸으며, 에러 크기의 표준편차도 더 컸다. Garmin GPSMAP62s를 생산하는 생산자의 정책은 GPS 신호를 잃은 경우에도 과거의 속도에 근거하여 사용자의 위치를 계산하는 것인데, 이 정책 때문에 빌딩 내에서는 매우 큰 에러를 나타냈다. 따라서 빌딩 내의 GPS 데이터는 의미있는 데이터가 아닌 것으로 생각할 수 있다. 실외에서의 GPS 데이터는 정교한 위치검출을 위하여 충분한 수준의 정확성을 나타내며, 최대 에러 크기도 52 미터라는 합리적인 수준의 범위 내에 들어왔다.
이하 본 발명의 일 실시예에 따른 필터링 알고리듬을 설명한다.
위의 사전-실험에서 고려한 사항에 따라, 우리는 표 3의 [알고리듬 1]과 같이, 오류 위치 데이터 필터링을 위한 알고리듬을 만들었다. 새로운 위치 데이터 Pt을 새로이 획득하면, 이 알고리듬은 Pt가 필터링이 될지 여부를 결정할 수 있다. 실제 상황에서 우리는 몇 가지 상황을 고려할 수 있다.
Figure 112012075662980-pat00002
* 이동 윈도우의 초기 구성 : n개 미만의 튜플이 존재하는 경우, 우리는 완전한 이동평균과 이동표준편차를 구성할 수 없다. 대신에 우리는 적은 수의 정보를 이용하여 불완전한 윈도우를 구성할 수 있다. : [알고리듬 1]의 2~5 번째 줄.
* 가속도와 속도는 필터링 디테일에서 다른 점을 가지고 있지만, 두 개 모두 조절 파라미터(throttling parameter)로서 간주될 수 있다. 속도 범위를 벗어나거나 지나친 가속도를 가진 위치 정보 튜플은 필터링될 것이다. : [알고리듬 1]에서 6~8 번째 줄.
* 하나의 튜플의 속도가 너무 크면 MA와 MSD 값에 영향을 주게되며 신뢰구간(confidence interval)의 확장과 같은 필터링 에러를 초래하기 때문에, 필터링되어야 하는 튜플이 필터링-인(filter-in) 되는 결과가 나타난다. 이와 같이 하나의 튜플의 속도가 너무 크면, 가능한 빠른 속도의 변화를 포함하고 신뢰구간의 확장 오류를 피하기 위해, MAspeed(n)+2.57*MSDspeed를 이용하여 속도값을 수정할 수 있다. : [알고리듬 1]에서 9~11 번째 줄. s=2.57은 정규분포의 99.5%의 신뢰구간을 나타낸다. 이것은 이동 윈도우에 대한 에러가 있는 속도의 영향을 감소시키는 조절판이다. : [알고리듬 1]의 9~10 번째 줄에서 s99.5
* 윈도우 구성 : 어떤 하나의 튜플이 필터링 아웃(filtered out)되어야 하는 경우라고 하더라도, 이 튜플의 속도가 정규분포의 99.5% 신뢰구간 밖에 있지 않다면, 이 튜플의 속도를 포함할 수 있다. 속도의 빠른 변화에 대처하기 위해 이동 윈도우를 업데이트 하도록 의도한 것이다. 즉, 오류가 없는 튜플이라고 하더라도 급격한 속도 변화가 있는 것은 필터링 아웃될 수 있다. 그러한 경우에, 튜플이 필터링되더라도, 이동 윈도우는 다음에 도착하는 튜플에 대한 속도의 변화를 반영할 수 있다. : [알고리듬 1]에서 10 번째 줄
* 인간 보행은 2.77m/s(10Km/h)보다 작은 속도 내에서 가능하며 또한 GPS 에러범위에 있기 때문에, 2.77m/s(10Km/h)보다 적은 속도는 필터링되지 않을 것이다. : [알고리듬 1]에서 9번째 줄 MINvelocity
* 비현실적인 가속도를 가진 튜플들은 필터링되어야만 한다. [12]에서 기술했듯이, 10.8m/s2가 스포츠카에 대해 현존하는 가장 큰 값이다. : [알고리듬 1]에서 12번째줄 MAXacceleration
⇒[12]: List of fastest production cars by acceleration, Available: http://en.wikipedia.org/wiki/LisP_of_fastesP_cars_by_acceleration
* 일단 과도한 가속도 때문에 필터링되어야 하는 튜플은 필터링되어야 하고, 이 튜플의 가속도 값은 MAXacceleration으로 설정되도록 강제되고, 속도값은 비현실적인 속도값의 영향을 무효화시키기(nullify) 위해 MAspeed(n)으로 설정되도록 강제된다. : [알고리듬 1]에서 12~16 번째 줄
* 차량이 커다란 음의 가속도를 가지고 급하게 멈추는 것은 항상 가능하기 때문에, 음의 가속도 값들을 가진 위치정보 튜플들은 에러로 여겨지지 않을 것인 반면에, MAXacceleration보다 더큰 양의 가속도값을 가진 튜플들은 에러들로서 여겨질 것이다.
[알고리듬 1]에 대해, 우리는 2개의 변수를 특정하지 않았다. n은 윈도우 내의 튜플의 개수이고, s는 필터링의 민감도 수준이다. 이 두 파라미터들은 [알고리듬 1]의 사용자에 의해 특정될 수 있다. 사용자 민감도 수준 s는 상대적으로 간단히 결정할 수 있다. 정규분포의 특성으로부터 우리는 적절한 신뢰구간을 갖는 s를 얻을 수 있다. 우리가 필터링을 위해 정규분포의 양의 영역만을 사용할 것이기 때문에, 우리는 95%의 신뢰구간을 위해 s=1.64로 설정하고, 99%의 신뢰구간을 위해 s=2.33으로 설정할 수 있다. 사용자들은 그들 자신의 목적에 따라 s를 결정할 수 있다. 예를 들어, 우리는 아래와 같이 민감도 수준 s를 선택할 수 있다. [표 2]는 기기가 움직이지 않을 때, 위치 데이터 수집에 대한 보통의 에러율(error rate)을 보여준다. GPS의 경우에 대하여, 12.3%의 데이터에 에러가 있었고, 3GBS 셀룰러 위치검출 시스템에 대하여 36.75%의 데이터에 에러가 있었다. 따라서 이 실험에 있어서, GPS 데이터에 대하여는 s=1.16으로 설정하고, 셀룰러 위치검출 데이터에 대해서는 s=0.34로 설정할 수 있었다.
우리는 이미 윈도우 크기의 영향에 대해 논의를 했었다. 큰 윈도우의 트레일링 효과(trailing effect) 때문에, 더 작은 윈도우를 선택할 수 있다. 그러나, [알고리듬 1]은 부정확한 속도 값들을 교정(calibrate)한다. 또한, 비정상적인(abnormal) 가속도 값은 제한되며, 속도 값은 이동 윈도우의 평균속도로 대체될 수 있다. 이러한 교정 방식(calibration mechanism)에 따른 윈도우 크기의 효과를 다시 한 번 살펴 볼 수 있다.
도 3은 본 발명의 일 실시예에 따른 교정 방식에 따른 윈도우 크기의 효과를 나타낸다. x-축은 2011년 11월 11일의 시각을 나타낸다. 이 예에서 윈도우 크기 n=5, 10, 25, 50, 100으로 선택하였고 민감도 수준 s=1.16으로 선택하여 위치 데이터 중의 88%를 정확한 데이터로 가정하고 필터링이 이루어진다. 트레일링 효과가 제한되었음에도 불구하고, 더 작은 윈도우 크기는 속도 변화에 따라 더 유연한 반응(reaction)을 나타낸다. 따라서, 5 또는 10의 윈도우 크기가 더 좋은 선택이 된다.
또한 연속적 에러의 효과를 더 고려할 수 있다. 속도에 대한 스로틀 방식(throttling mechanism)을 채택하고 있음에도 불구하고, 연속적인 에러들은 이동 평균과 이동표준편차에 영향을 줄 것이고, 따라서 본 발명의 일 실시예에 따른 필터링 알고리듬에 혼란을 야기할 수 있다. 실제 위치검출 데이터 세트에서 최대 4개의 연속적인 에러를 경험하였고, 따라서 우리의 실험적 환경에 대하여는 n=5로는 부족하다는 결론을 내렸고, n=10인 경우에 연속적인 에러에 대하여 대응할 수 있으며 더 큰 윈도우 크기에 의한 테일링 효과(tailing effect)를 줄일 수 있다고 결론내렸다. 따라서 이 실험에 있어서 윈도우 크기는 최종적으로 10으로 결정되었다. 물론, 더 많은 개수의 연속적인 에러를 경험한다면, 이에 적합한 윈도우 크기를 선택하거나, 후술하는 바와 같이 윈도우의 크기를 동적으로 증가시킬 수 있다.
도 4는 진보된 필터링 알고리듬을 나타낸다. 도 3과 동일한 위치검출 데이터 세트를 선택하여 공정한 비교를 실시하였디. x-축은 2011년 11월 11일의 시각을 나타낸다. 도 4에서, 윈도우 크기 n=10 이며, 민감도 수준 s=1.16인데, 이것은 위치 데이터의 88%가 정확한 값으로 간주되었다는 것을 나타낸다. 얇은 검은색 실선은 실제 속도의 변화를 m/s 단위로 나타낸 것이고, 얇은 회색의 점선(dashed line)은 본 발명의 일 실시예에 따른 필터링 알고리듬에 의해 교정된 속도를 나타낸다. 교정된 속도는 일반적으로 속도와 겹치는데, 튜플이 필터링 알고리듬에 의해 필터링되었을 때는 교정값을 나타낸다. 점선(dotted line)은 가속도 값을 나타낸다.
굵은 검정색 실선은 n=10인 이동 윈도우의 커버리지(coverage)(속도의 수용범위)를 나타낸다. 도 4에 나타낸 이동 윈도우가 교정된 속도 값을 기초로 한다는 점을 주목하여야 한다. 교정된 속도값 덕분에 이동 윈도우는 속도의 변화에 대해 빠르게 반응하며(react), 에러가 있는 튜플들을 성공적으로 필터링한다. 이중 점선(double dotted line)은 속도 교정이 없는 이동 윈도우의 커버리지(로-커버리지(raw coverage))를 나타낸다. 교정된 커버리지(calibrated coverage)와 로-커버리지를 비교하면, 속도 교정의 효과 또는 한계가 분명해진다. 우리의 알고리듬에 따른 속도 교정은 매우 큰 속도 에러가 이동 윈도우에 미치는 영향을 성공적으로 억제한다. 따라서 교정된 속도로 구성된 이동 윈도우는 속도 에러의 효과를 성공적으로 제거하며, 위치검출 튜플 값들의 적절한 추정을 유지할 수 있다.
도 5는 도 4와 유사한 진보된 필터링 알고리듬을 나타낸다. 도 5에 있어서, 민감도 수준 s=0.34이며, 모든 다른 조건은 동일하다.
<필터링 결과>
마지막으로 본 발명의 일 실시예에 따른 필터링 실험의 결과를 두 가지 방법으로 나타낸다.
첫째, 본 발명의 일 실시에에서, 전체 위치검출 데이터 세트에 대하여 필터링이 수행되었고, 그 결과가 실제 지도에 표시된다. 이러한 시각화는 구글 맵을 이용하여 수행되었다[11].
도 6은 n=10 이고 s=0.34일 때의 필터링 결과를 나타낸다.
도 7은 n=10 이고 88% 신뢰구간의 필터링 결과를 나타낸다. 도 7에서 위치검출 데이터 세트의 에러를 찾을 수 없으나, 도 6에 나타낸 결과보다 더 많은 위치검출 데이터를 포함하고 있다. 따라서, 윈도우 크기와 민감도 수준을 적절히 선택하면 적절한 필터링 결과를 얻을 수 있다고 결론내릴 수 있다.
둘째, 윈도우 크기와 민감도 수준의 여러가지 조합에 따라, 모든 위치검출 데이터 세트에 대해 필터링을 수행할 수 있다. 표 4는 파라미터들의 각 조합에 대하여 필터링-아웃된 튜플들의 백분률을 나타낸다. 본 발명의 일 실시예에 따른 알고리듬의 사용자는 그들의 환경에 따라 표 4에 따른 윈도우 크기와 민감도 수준을 선택할 수 있다.
Figure 112012075662980-pat00003
본 발명을 위한 연구에서 우리는 에러가 있는 위치 데이터 필터링 알고리듬을 만들었고, 윈도우 크기 및 민감도 수준의 다양한 조합에 따른 효과를 경험하였다. 실제로 수집된 위치 데이터 세트는 알고리듬 증명을 위해 사용되었고, 성공적인 필터링 결과물을 찾았다. 윈도우 크기, 민감도 수준, 최대 속도 및 최대 가속도와 같은 알고리듬의 다양한 파라미터들은 사용자에 의해 정의될 수 있다. 사용자가 MAXaccelertaion, s99.5(최대 민감도 수준)과 MINvelocity(필터링을 위한 속도의 최소 임계값)와 같은 알고리듬의 상수(constant)를 변화시키는 것도 가능하다.
필터링 과정을 하나씩 조사하는 동안, 우리는 알고리듬의 몇 가지 미세한 허점을 찾았다. 첫째는, 초기의 윈도우 구성의 단계에서 윈도우 전체를 채우기에 충분한 개수의 튜플이 없었기 때문에, 위의 알고리듬이 정보 수집의 시작 단계에서 작동할 수 없다는 것이다. 이동 윈도우를 기반으로 한 모든 접근법은 이와 같은 필연적 단점(compulsory demerit)을 가질 수 있다.
두 번째 문제는 오버 필터링와 언더 필터링의 경향이다. 속도의 빠른 증가를 보이는 새로운 튜플이 수집된 경우, 이 튜플의 정확성과 상관없이 이 튜플은 필터링될 수 있다. 이러한 경향은 윈도우의 크기가 클 때에 명확해지는데, 이는 큰 윈도우가 속도의 변화를 캐치(catch)하기에 충분히 빠르게 반응할 수 없기 때문이다. 그에 대한 보상으로, 속도의 변화가 정규분포의 99%의 신뢰구간 범위 바깥에 있지 않다면, 속도의 변화에 대응하는 윈도우 폭을 보존(preserve)하기 위하여, 필터링된 튜플의 속도를 포함할 수 있다. 속도가 99%의 신뢰구간의 범위 밖에 있을 경우에, 이동 윈도우의 추후 구성(construction)을 위해 속도를 교정할 수 있다. 도 3과 관련하여 기술했듯이, 더 큰 윈도우 크기를 가진 경우에 언더 필터링의 경향이 명백하다.
연속적인 에러들의 수가 윈도우 크기보다 큰 경우, 더 작은 윈도우로는 필터링할 수 없다. 예를 들어, 실험 데이터에 포함된 4개의 연속적인 에러들을 경험하였듯이, n=10 이 n=5 보다는 더 나은 선택이라고 판단할 수 있다. 작은 윈도우 크기의 또 다른 이점은 계산시간이 작다는 점과 이동 윈도우 구성을 위한 메모리 공간이 작다는 점이며, 그 결과 이 알고리듬은 저전력 휴대용 기기에서 실시간으로 작동할 수 있다.
몇 가지의 종류의 추가 고려사항이 존재한다. 첫 번째 사항은, 윈도우 크기에 관한 것이다. 윈도우의 크기를 하나의 윈도우 내의 튜플들의 개수로 정의하는 대신에, 윈도우가 포함하는 시간 간격으로 정의할 수 있다. 속도는 시간의 함수이기 때문에, 이 방식은 위치 데이터를 규칙적으로 수집할 때에 효과적이며 또한 정확할 것이다. 윈도우 크기의 동적 교정(dynamic calibration)에 대하여 더 고려할 수 있다. 본 발명의 다른 실시예에서는 연속적인 에러의 개수에 따라 윈도우 크기를 동적으로 증가 또는 감소시킬 수 있다. 일단 연속적인 에러의 개수가 많다는 것을 발견하면, 연속적인 에러가 이동평균과 이동표준편차에 미치는 영향을 최소화하기 위하여 윈도우 크기를 증가시킬 수 있다. 만일 연속적인 에러의 개수가 작은 경우에는, 윈도우 크기를 감소시킴으로써 급격한 속도 변화에 대해 적절한 반응을 보일 수 있고 필터링을 위한 계산량을 감소시킬 수 있다.
두 번째 사항은, [알고리듬 1]과 같은 실시간 알고리듬이 아닌 의사 실시간 알고리듬(pseudo real time)이다. 윈도우 크기 n에 대해 우리는 (n+1)번째 튜플을 필터링하는 것 대신에
Figure 112012075662980-pat00004
번째 튜플의 필터링을 결정할 수 있다. 실시간으로 사용될 수 없을지라도 이 접근법은 언더 필터링과 오버 필터링의 경향을 줄일 수 있다. 필터링의 정확성 대(vs.) 필터링의 실시간의 트레이드 오프(tradeoff)를 확인할 수 있다.
알고리듬의 향상을 위한 다른 아이디어는 인터폴레이션(interpolation)의 도입이다. 아래 표 5에 제시한 [알고리듬 2]는 [알고리듬 1]에 비하여 인터폴레이션을 위한 추가적인 동작을 포함한다([알고리듬 2]의 17~20번째 행 참조). [알고리듬 2]에서는, 이동 윈도우 통계를 좀 더 잘 근사화하기 위하여 [알고리듬 1]에 추가적인 단계를 부가하였다. 새로운 튜플이 도착하면, 현재 존재하는 윈도우(existing window) 내의 마지막 튜플이 마킹되었다면(marked), 현재 존재하는 윈도우 내의 마지막 튜플의 속도를 선형적으로 인터폴레이션된 값으로 대체할 수 있다. 이러한 인터폴레이션은 필터링 목적을 위한 이동 윈도우에 대한 좀 더 정밀한 근사값(approximation)을 제공할 수 있다([알고리듬 2]의 17~20행 참조). 다른 말로, [알고리듬 2]의 가장 마지막 부분에 의해, 새로운 튜플을 얻을 때마다 윈도우 내의 마킹된 마지막 튜플을 인터폴레이션 할 수 있다. 좀 더 정밀한 근사화를 위한 이동 윈도우 구성을 위한 또 다른 변형예는,
Figure 112012075662980-pat00005
번째 튜플을 윈도우 내의 n 튜플들로 인터폴레이션 하는 것이다. 더 좋은 추정(estimation)을 위하여 n 튜플들로부터 추정된 점근 곡선(asymptotic curve)을 이용하여 윈도우 내의 중앙 튜플(middle tuple)을 인터폴레이션하여 더 정밀한 인터폴레이션을 가능하게 할 수 있다. 그러나 이 때문에 계산 오버헤드(computational overhead)가 생기게되어, 이 알고리듬을 이동 기기에 적용하는 것이 어려울 수 있다. 속도 인터폴레이션이 필터링 정확도에 미치는 영향을 살펴볼 수 있다.
Algorithm 2 Moving Window construction with Interpolation
Require: P0 ▷ At least one initial tuple is required
Require: window size n
Require: user sensitivity level s
Ensure: Check validness of new position tuple
Ensure: Calibrated series of tuple {Pi : t ≥ i > 0 } for t inputs
Require: i=0
1: repeat Get Pi+1 ▷ Acquisition of new tuple, if exist
2: Construct MAspeed(n) with {Px : max(i-n+1, 0) ≤ x ≤ i}
3: Construct MSDspeed(n) with {Px : max(i-n+1, 0) ≤ x ≤ i}
4: Set MAspeed = MAspeed(n)
5: Set MSDspeed = MSDspeed(n) ▷ Moving Window Construction
6: if (Vi+1 > MAspeed + s × MSDspeed) OR (ai+1 ≥ MAXacceleration) then ▷ Filtering
7: Mark Pi+1 as filtered.
8: end if
9: if (Vi+1 ≥ MAspeed + s99.5 × MSDspeed) AND (Vi+1 > MINvelocity) then ▷ Calibration of Speed
10: Set Vi+1 = MAspeed + s99.5 × MSDspeed
11: end if
12: if ai+1 ≥ MAXacceleration then ▷ Restriction by Maximum Acceleration
13: Mark Pi+1 as filtered
14: Set Vi+1 = MAspeed
15: Set ai+1 = MAXacceleration
16: end if
17: if (Pi marked as filtered) then ▷ Linear Interpolation
18: Set Vi = ((Vi+1 - Vi-1) × (ti - ti-1)) / (ti+1 - ti-1) + Vi-1
19: Mark Pi as interpolated
20: end if
21: Set i = i + 1
22:until Exist no more input of positioning tuple
도 8은 본 발명의 일 실시예에 따른 [알고리듬 2]를 설명하기 위한 것이다.
도 8의 가로축은 연속적으로 얻은 이동 데이터 튜플의 인덱스를 나타내며, 세로축은 각 이동 데이터 튜플로부터 얻은 속도에 관한 로-데이터(raw-data)이다. 도 8에서는 이동 윈도우의 크기 n이 10인 것으로 예시되어 있다. 이동 윈도우 내에 존재하는 속도 값들로부터 MAspeed와 MAspeed + s99.5 × MSDspeed를 계산할 수 있으며, 이 값의 예가 도 8에 표시되어 있다. 도 8에서 인덱스 [i]에 대한 이동 데이터 튜플 Pi는 [알고리듬 2]에 따라 이미 필터링된 것으로 표시된 것으로 가정하였다. 따라서 [알고리듬 2]의 제18행에 따라, 이동 데이터 튜플 Pi의 속도 Vi는 이동 데이터 튜플 Pi-1의 속도 Vi-1과 이동 데이터 튜플 Pi+1의 속도 Vi+1를 이용하여 선형 인터폴레이션 된 값으로 대체된다.
도 9는 본 발명의 일 실시예에 따른 [알고리듬 2]를 설명하기 위한 다른 예를 나타낸 것이다.
도 9에서 인덱스 [i+1]에서의 가속도 ai+1는 MAXacceleration 보다 큰 것으로 가정하였다. 따라서, 인덱스 [i+1]에서의 속도 Vi+1는 MAspeed으로 보정되었다. 그리고, 이동 데이터 튜플 Pi의 속도 Vi는 도 8과 마찬가지로 이동 데이터 튜플 Pi-1의 속도 Vi-1과 이동 데이터 튜플 Pi+1의 속도 Vi+1를 이용하여 선형 인터폴레이션 된 값으로 대체된다.
[알고리듬 2]에서는 새롭게 획득한 이동 데이터 튜플(Pi+1) 및 이동 윈도우에 존재하는 가장 최신의 이동 데이터 튜플(Pi)에 대한 처리가 이루어졌다. 이와 달리 본 발명의 다른 실시예에서는 이동 윈도우의 임의의 시점에 존재하는 이동 데이터 튜플(Pm)에 대한 처리를 수행할 수 있는데, 이를 표 6에 제시한 [알고리듬 3]을 통해 설명한다.
Algorithm 3 Filtering Any Point Inside Moving Window
Require: P0 At least one initial tuple is required
Require: window size n
Require: user sensitivity level s
Ensure: Check validness of new position tuple
Ensure: Calibrated series of tuple Pi : t i > 0 for t inputs
Require: i=1
1: repeat Get Pi Acquisition of new tuple, if exist
2: Construct MAspeed(n) with Px : max(i-n+1, 0) x i
3: Construct MSDspeed(n) with Px : max(i-n+1, 0) x i
4: Set MAspeed = MAspeed(n)
5: Set MSDspeed = MSDspeed(n) Moving Window Construction
6: if (Vm > MAspeed + s MSDspeed) OR (am MAXacceleration) then ▷ Filtering
7: Mark Pm as filtered.
8: end if
9: if (Vm MAspeed + s99.5 MSDspeed) AND (Vm > MINvelocity) then ▷ Calibration of Speed
10: Set Vm = MAspeed + s99.5 MSDspeed
11: end if
12: if am MAXacceleration then ▷ Restriction by Maximum Acceleration
13: Mark Pm as filtered
14: Set Vm = MAspeed
15: Set am = MAXacceleration
16: end if
17: if (Pm marked as filtered) then ▷ Linear Interpolation
18: Set Vm = ((Vm+1 - Vm-1) (tm - tm-1)) / (tm+1 - tm-1) + Vm-1
19: Mark Pm as interpolated
20: end if
21: Set i = i + 1
22:until Exist no more input of positioning tuple

단, m=i-k이고, k는 사용자 조절가능 파라미터로서 iki-n0을 만족. 즉 m은 사이즈 n인 윈도우 내부에서 사용자가 임의로 정한 점을 의미함.
도 10은 본 발명의 일 실시예에 따른 [알고리듬 3]를 설명하기 위한 것이다.
도 10에서 이동 윈도우의 크기는 10으로 설정되어 있다. 또한, 필터링 및/또는 속도값 보정의 대상은 인덱스 [i-4]=([m])를 갖는 이동 데이터 튜플인 것으로 예시하였다. 도 10에서 인덱스 [i-4]를 갖는 이동 데이터 튜플은 [알고리듬 3]에 따라 이미 필터링 된 것으로 가정하였다. 따라서, [알고리듬 3]의 제18행에 따라, 이동 데이터 튜플 Pi-4의 속도 Vi-4는 이동 데이터 튜플 Pi-5의 속도 Vi-5과 이동 데이터 튜플 Pi+5의 속도 Vi+5를 이용하여 선형 인터폴레이션 된 값으로 대체된다.
도 11은 본 발명의 다른 실시예에 따른 위치 데이터 오류 필터링 및 보정 방법을 설명하기 위한 것이다.
도 11에서는 [알고리듬 3]의 제17~20행에 의한 인터폴레이션 방법으로부터 변형된 인터폴레이션 방법을 사용한 결과를 나타낸다. 도 11에서는 이동 윈도우 내의 복수 개의 데이터를 이용한 비선형 인터폴레이션 방법을 이용한다. 예컨대, 이동 윈도우 내에 포함된 복수 개의 데이터와 최소 자승법을 이용하여 근사화한 점근선에 해당하는 값을 이용하여 인덱스 [i-4]를 갖는 이동 데이터 튜플을 보정할 수 있다.
이상 도 8 내지 도 11에서는 본 발명의 실시예에 따른 각종 알고리듬의 원리를 설명하기 위한 예를 제시하였는데, 이러한 예시가 본 발명을 한정하기 위한 것이 아님은 명백하다. 또한, [알고리듬 1], [알고리듬 2], 및 [알고리듬 3]은 도 8 내지 도 11을 참조하지 않고도 명확이 이해할 수 있을 정도로 구체적으로 기술되어 있다는 점을 이해할 수 있으며, 도 1 내지 도 7에 나타낸 실증결과를 도출해 낸 작동 가능한 코드임을 이해할 수 있다.
마지막으로 우리는 필터링에 대한 확률 분포의 효과를 조사할 필요가 있다. 일반적으로 정규분포는 다양한 에러들과 필터링을 설명하기 위해 보통 사용되는 분포이다. 그러나 진전된 연구들은 인간 이동성 패턴이 Levy Walk [6]와 같이 헤비 테일 분포(heavy tailed distribution)를 따른다고 지적하고 있다. 따라서 위치 정보의 분포가 Levy Walk 형식을 따를 수 있기 때문에, 필터링에 Levy Walk 분포를 적용한 경우의 효과를 알아볼 수 있다.
<실시예>
이하, 본 발명의 일 실시예에 따른 위치 데이터의 오류여부 결정방법을 설명한다. 이 방법은 상술한 [알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]을 참조하여 설명한다.
이 위치 데이터의 오류여부 결정방법은, 사용자 기기로부터 수집된 제1 위치 데이터(Pc)의 오류여부를 결정하는 방법으로서, 상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 제1 속도(Vc)를 산출하는 단계(S10)을 포함한다. 여기서, c는, 예컨대 [알고리듬 1]/[알고리듬 2]의 i+1, 또는 [알고리듬 3]의 m일 수 있다. 그리고 이 방법은 상기 제1 속도(Vc)가 수학식 2를 만족하는 경우에는 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하는 단계(S20)를 포함한다.
[수학식 2]
Vc > f(P),
단, P는 상기 사용자 기기에 의해 수집된 하나 이상의 다른 위치 데이터들을 피트(fit)하는데 사용하는 확률분포의 모양을 결정하는 적어도 하나의 파라미터이다. 이때, 상기 하나 이상의 다른 위치 데이터들은, 상기 파라미터를 계산하기 위해 사용되는 윈도우 내에 포함된 위치 데이터일 수 있다. 예컨대, f(P)는 [알고리듬 1]의 MAspeed + s × MSDspeed일 수 있으며, 이때, 파라미터 P는 MAspeed와 MSDspeed일 수 있다.
위에서 확률분포로서 정규분포, heavy tailed 분포, 감마 분포 등을 사용할수 있다. 정규분포의 모양을 결정하는 파라미터는 기대값 및 표준편차이며, heavy tailed distribution의 모양을 결정하는 파라미터는 lamda1이며, 감마 분포의 모양을 결정하는 파라미터는 임의의 양수 lamda2 및 alpha이다. 표준편차는 과거 n개의 수집된 위치정보를 정규 분포에 피트시키기 위해 계산하는 값이다. lamda1는 과거 n개의 수집된 위치정보를 heavy tailed distribution에 피트시켰을 때에 얻어지는 방정식의 근이다. lamda2 및 alpha는 과거 n개의 수집된 위치정보를 감마 분포에 피트시켰을 때에 얻어지는 방정식의 근이다.
위의 어느 하나의 분포의 모양을 결정하는 파라미터를 수학식 2에서 사용하는 이유는, 현재 수집한 위치 데이터에 관한 속도에 오류가 있는지 여부를 결정하는 기준으로서, 최근의 속도의 MA로부터 일정수준 이상의 범위를 벗어나는지 여부를 이용하기로 했기 때문이다.
상술한 단계(S20)는 예컨대 [알고리듬 1] 또는 [알고리듬 2]의 제6행 및 제7행, 또는 제12행 및 제14행에 의해 구현될 수 있다.
이때, 상기 확률분포는 정규분포이고 상기 P는 상기 정규분포의 모양을 결정하는 적어도 하나의 파라미터일 수 있다. 또는, 상기 확률분포는 heavy tailed 분포이고, 상기 P는 상기 heavy tailed 분포의 모양을 결정하는 적어도 하나의 파라미터일 수 있다. 또는, 상기 확률분포는 감마 분포이고, 상기 P는 상기 감마 분포의 모양을 결정하는 적어도 하나의 파라미터일 수 있다.
이때, 상기 확률분포는 정규분포이고, 위의 수학식 2는 Vc > MAspeed + s1 * MSDspeed 이며, MAspeed 는 상기 하나 이상의 다른 위치 데이터들로부터 계산된 속도의 이동평균이고, MSDspeed 는 상기 하나 이상의 다른 위치 데이터들로부터 계산된 표준편차의 평균값이며, 상기 s1은 미리 결정된 상수일 수 있다([알고리듬 1], [알고리듬 2], 및 [알고리듬 3]의 6행 참조).
이때, 상기 산출하는 단계(S10)에서는, 상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 속도(Vc) 및 제1 가속도(ac)를 산출할 수 있다.
또한, 상기 판단하는 단계(S20)에서는, 상기 제1 속도(Vc)가 식 (1)을 만족하거나 또는 상기 제1 가속도(ac)가 미리 결정된 최대 가속도(MAXacceleration) 이상인 경우에는([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제6행 참조), 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단할 수 있다.
이때, 이 실시예에 따른 방법은, 상기 제1 속도(Vc)가 수학식 3 및 수학식 4을 만족하면 상기 제1 속도(Vc)를 수학식 5에 의해 산출되는 값으로 대체하는 단계(S30)를 더 포함할 수 있다.
[수학식 3]
Vc >= MAspeed + s2 * MSDspeed
단, s2는 미리 결정된 값,
[수학식 4]
Vc > MINvelocity
단, MINvelocity는 미리 결정된 최저 속도
[수학식 5]
MAspeed + s2 * MSDspeed
이때, 단계(S30)는 예컨대 [알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제9행 내지 제11행에 의해 구현될 수 있다.
이 실시예에 따른 방법은, 상기 제1 가속도(ac)가 미리 결정된 최대 가속도(MAXacceleration) 이상인 경우에는([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제12행 참조), 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하고([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제13행 참조), 상기 제1 속도(Vc)를 상기 하나 이상의 다른 위치 데이터들로부터 계산된 속도의 이동평균(MAspeed) 값으로 대체하고([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제14행 참조), 상기 제1 가속도(ac)를 상기 미리 결정된 최대 가속도(MAXacceleration)로 대체하는([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제15행 참조) 단계를 더 포함할 수 있다.
또한, 이 실시예에 따른 방법은, 상기 속도의 이동평균(MAspeed)은 상기 제1 속도(Vc) 또는 상기 대체된 제1 속도를 반영하여 갱신되도록 되어 있을 수 있다.
또한, 이 실시예에 따른 방법은, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단된 경우([알고리듬 2] 또는 [알고리듬 3]의 제17행 참조), 상기 속도(Vc)의 값을 상기 속도(Vc)에 인접한 복수 개의 속도 값들을 이용하여 인터폴레이션 한 값으로 대체하고([알고리듬 2] 또는 [알고리듬 3]의 제18행 참조), 상기 현재 위치 데이터(Pc)가 인터폴레이션되었다는 것을 기록하도록([알고리듬 2] 또는 [알고리듬 3]의 제19행 참조) 되어 있다.
위에서, 예컨대, c가 [알고리듬 2]의 i+1을 나타내는 것이라면, 상기 인터폴레이션은 수학식 6에의해 이루어질 수 있다.
[수학식 6]
((Vi+1 - Vi-1) × (ti - ti-1)) / (ti+1 - ti-1) + Vi-1,
단, ti-1, ti, 및 ti+1 는 각각 위치 데이터 인덱스 i-1, i, i+1에서의 절대시각을 나타냄.
또는, [알고리듬 2] 및 [알고리듬 3]에 나타낸 것과는 달리, 상기 인터폴레이션은 윈도우에 포함된 모든 데이터를 이용하여 수행될 수 있으며, 비선형적 피팅(fit) 방법을 이용할 수도 있다.
또한, 이 방법에 있어서, 상기 적어도 하나의 파라미터는 조절 가능한 크기(n)를 갖는 윈도우에 포함된 복수 개의 위치 데이터들로부터 계산되며, M개의 연속적인 위치 데이터 모두에 오류가 있는 것으로 판단된 경우 상기 윈도우의 크기를 증가시킬 수 있도록 되어 있고, L개의 연속적인 위치 데이터 모두에 오류가 없는 것으로 판단된 경우 상기 윈도우의 크기를 감소시킬 수 있도록 되어 있는 것을 특징으로 한다. 여기서, M과 L은 설정이 가능한 자연수이다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (13)

  1. 사용자 기기로부터 수집된 제1 위치 데이터(Pc)의 오류여부를 결정하는 방법으로서,
    상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 위치 데이터(Pc)에 연관된 제1 속력(Vc)을 산출하는 단계; 및
    상기 제1 속력(Vc)이 식 (1)을 만족하는 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하는 단계를 포함하는,
    위치 데이터의 오류여부 결정방법.
    식 (1) : Vc > f(P),
    단, P는 상기 사용자 기기에 의해 수집된 하나 이상의 다른 위치 데이터들을 피트(fit)하는데 사용하는 확률분포의 모양을 결정하는 적어도 하나의 파라미터로서, 상기 제1 위치 데이터(Pc)의 수집 시점보다 과거에 결정된 하나 이상의 속력을 이용하여 확률분포를 기반으로 하여 산출된 통계값을 포함하는 파라미터이며,
    f( )는 상기 파라미터 P를 독립변수로 받아들여 상기 제1 속력(Vc)과 비교될 수 있는 값을 출력하는 함수임.
  2. 제1항에 있어서,
    상기 확률분포는 정규분포이고 상기 P는 상기 정규분포의 모양을 결정하는 적어도 하나의 파라미터이거나,
    상기 확률분포는 heavy tailed 분포이고, 상기 P는 상기 heavy tailed 분포의 모양을 결정하는 적어도 하나의 파라미터이거나, 또는
    상기 확률분포는 감마 분포이고, 상기 P는 상기 감마 분포의 모양을 결정하는 적어도 하나의 파라미터인,
    위치 데이터의 오류여부 결정방법.
  3. 제1항에 있어서,
    상기 확률분포는 정규분포이고,
    식 (1)은 Vc > MAspeed + s1 * MSDspeed 이며, MAspeed 는 상기 하나 이상의 다른 위치 데이터들로부터 계산된 속력의 이동평균이고, MSDspeed 는 상기 하나 이상의 다른 위치 데이터들로부터 계산된 이동표준편차이며, 상기 s1은 미리 결정된 상수인,
    위치 데이터 오류여부 결정방법.
  4. 제1항에 있어서,
    상기 산출하는 단계에서는, 상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 속력(Vc) 및 제1 가속도(ac)를 산출하며,
    상기 판단하는 단계에서는, 상기 제1 속력(Vc)이 식 (1)을 만족하거나 또는 상기 제1 가속도(ac)가 미리 결정된 최대 가속도(MAXacceleration) 이상인 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하는,
    위치 데이터 오류여부 결정방법.
  5. 제3항에 있어서,
    상기 제1 속력(Vc)이 식 (2) 및 식 (3)을 만족하면 상기 제1 속력(Vc)을 식 (4)에 의해 산출되는 값으로 대체하는 단계를 더 포함하는, 위치 데이터 오류여부 결정방법.
    식 (2): Vc >= MAspeed + s2 * MSDspeed , 단, s2는 미리 결정된 값,
    식 (3): Vc > MINvelocity , 단 MINvelocity는 미리 결정된 최저 속력,
    식 (4): MAspeed + s2 * MSDspeed
  6. 제4항에 있어서,
    상기 제1 가속도(ac)가 미리 결정된 최대 가속도(MAXacceleration) 이상인 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하고, 상기 제1 속력(Vc)을 상기 하나 이상의 다른 위치 데이터들로부터 계산된 속력의 이동평균(MAspeed) 값으로 대체하는, 위치 데이터 오류여부 결정방법.
  7. 제5항에 있어서,
    상기 속력의 이동평균(MAspeed)은 상기 제1 속력(Vc) 또는 상기 대체된 제1 속력을 반영하여 갱신되도록 되어 있는, 위치 데이터 오류여부 결정방법.
  8. 제1항 또는 제6항에 있어서,
    상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단된 경우,
    상기 속력(Vc)의 값을 상기 속력(Vc)에 인접한 복수 개의 속력 값들을 이용하여 인터폴레이션 한 값으로 대체하는 것을 특징으로 하는, 위치 데이터 오류여부 결정방법.
  9. 제8항에 있어서, 상기 인터폴레이션은 식 (5)에 의해 이루어지는 것을 특징으로 하는, 위치 데이터 오류여부 결정방법.
    식 (5): ((Vc+1 - Vc-1) × (tc - tc-1)) / (tc+1 - tc-1) + Vc-1,
    단, tc-1, tc, 및 tc+1 는 각각 위치 데이터 인덱스 c-1, c, c+1에서의 절대시각을 나타냄.
  10. 제8항에 있어서,
    상기 적어도 하나의 파라미터는 조절 가능한 크기를 갖는 윈도우에 포함된 복수 개의 위치 데이터들로부터 계산되며,
    상기 인터폴레이션은 상기 윈도우에 포함된 복수 개의 데이터를 이용하여 수행되는 것을 특징으로 하는,
    위치 데이터 오류여부 결정방법.
  11. 제1항에 있어서,
    상기 적어도 하나의 파라미터는 조절 가능한 크기를 갖는 윈도우에 포함된 복수 개의 위치 데이터들로부터 계산되며,
    M개의 연속적인 위치 데이터 모두에 오류가 있는 것으로 판단된 경우 상기 윈도우의 크기를 미리 정의된 제1값까지 증가시킬 수 있도록 되어 있고,
    L개의 연속적인 위치 데이터 모두에 오류가 없는 것으로 판단된 경우 상기 윈도우의 크기를 미리 정의된 제2값까지 감소시킬 수 있도록 되어 있는 것을 특징으로 하는,
    위치 데이터의 오류여부 결정방법.
  12. 사용자 기기로부터 수집된 제1 위치 데이터(Pc)의 오류여부를 결정하는 장치로서,
    저장부; 및 처리부를 포함하며,
    상기 저장부는 상기 제1 위치 데이터(Pc)와 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 저장하도록 되어 있고,
    상기 처리부는,
    상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 위치 데이터(Pc)에 관한 제1 속력(Vc)을 산출하도록 되어 있고, 그리고
    상기 제1 속력(Vc)이 식 (1)을 만족하는 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하도록 되어 있는,
    위치 데이터 오류여부 결정장치.
    식 (1) : Vc > f(P),
    단, P는 상기 사용자 기기에 의해 수집된 하나 이상의 다른 위치 데이터들을 피트(fit)하는데 사용하는 확률분포의 모양을 결정하는 적어도 하나의 파라미터로서, 상기 제1 위치 데이터(Pc)의 수집 시점보다 과거에 결정된 하나 이상의 속력을 이용하여 확률분포를 기반으로 하여 산출된 통계값을 포함하는 파라미터이며,
    f( )는 상기 파라미터를 독립변수로 받아들여 상기 제1 속력(Vc)과 비교될 수 있는 값을 출력하는 함수임.
  13. 사용자 기기로부터 수집된 제1 위치 데이터(Pc)의 오류여부를 결정하는 장치에서 실행되는 프로그램을 저장한 컴퓨터로 읽을 수 있는 매체로서,
    상기 프로그램은,
    상기 장치에,
    상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 위치 데이터(Pc)에 관한 제1 속력(Vc)을 산출하는 단계; 및
    상기 제1 속력(Vc)이 식 (1)을 만족하는 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하는 단계를
    수행하도록 되어 있는, 컴퓨터로 읽을 수 있는 매체.
    식 (1) : Vc > f(P),
    단, P는 상기 사용자 기기에 의해 수집된 하나 이상의 다른 위치 데이터들을 피트(fit)하는데 사용하는 확률분포의 모양을 결정하는 적어도 하나의 파라미터로서, 상기 제1 위치 데이터(Pc)의 수집 시점보다 과거에 결정된 하나 이상의 속력을 이용하여 확률분포를 기반으로 하여 산출된 통계값을 포함하는 파라미터이며,
    f( )는 상기 파라미터를 독립변수로 받아들여 상기 제1 속력(Vc)과 비교될 수 있는 값을 출력하는 함수임.
KR1020120103572A 2012-03-30 2012-09-18 위치 데이터의 오류여부 결정방법 KR101467317B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/389,475 US20150087333A1 (en) 2012-03-30 2013-03-29 Method for correcting position information
PCT/KR2013/002663 WO2013147560A1 (ko) 2012-03-30 2013-03-29 위치정보 보정방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120033533 2012-03-30
KR20120033533 2012-03-30

Publications (2)

Publication Number Publication Date
KR20130111161A KR20130111161A (ko) 2013-10-10
KR101467317B1 true KR101467317B1 (ko) 2014-12-01

Family

ID=49632859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120103572A KR101467317B1 (ko) 2012-03-30 2012-09-18 위치 데이터의 오류여부 결정방법

Country Status (1)

Country Link
KR (1) KR101467317B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100535394B1 (ko) * 2003-08-21 2005-12-08 현대자동차주식회사 Gps 신호 처리방법
JP4119256B2 (ja) * 2001-03-05 2008-07-16 クゥアルコム・インコーポレイテッド 初期粗位置推定値に基づいて改良された位置推定値を供給する方法および装置
KR20090089343A (ko) * 2006-11-07 2009-08-21 스카이후크 와이어리스, 인크. Wlan 기반의 위치 확인 시스템 내에서 위치 확인 에러를 추정하기 위한 시스템 및 방법
JP4348441B2 (ja) * 2007-01-22 2009-10-21 国立大学法人 大阪教育大学 位置検出装置、位置検出方法、データ判定装置、データ判定方法、コンピュータプログラム及び記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4119256B2 (ja) * 2001-03-05 2008-07-16 クゥアルコム・インコーポレイテッド 初期粗位置推定値に基づいて改良された位置推定値を供給する方法および装置
KR100535394B1 (ko) * 2003-08-21 2005-12-08 현대자동차주식회사 Gps 신호 처리방법
KR20090089343A (ko) * 2006-11-07 2009-08-21 스카이후크 와이어리스, 인크. Wlan 기반의 위치 확인 시스템 내에서 위치 확인 에러를 추정하기 위한 시스템 및 방법
JP4348441B2 (ja) * 2007-01-22 2009-10-21 国立大学法人 大阪教育大学 位置検出装置、位置検出方法、データ判定装置、データ判定方法、コンピュータプログラム及び記憶媒体

Also Published As

Publication number Publication date
KR20130111161A (ko) 2013-10-10

Similar Documents

Publication Publication Date Title
US8457880B1 (en) Telematics using personal mobile devices
Zou et al. An improved distance metric for the interpolation of link-based traffic data using kriging: a case study of a large-scale urban road network
US9756460B2 (en) Adaptive location perturbation
CN107688906B (zh) 多方法融合的输电线路气象要素降尺度分析系统及方法
CN104239556A (zh) 基于密度聚类的自适应轨迹预测方法
CN109448124B (zh) 用于河道的水质模拟方法和装置
WO2012018131A1 (ja) 行動特徴抽出装置、行動特徴抽出システム、行動特徴抽出方法、及び行動特徴抽出プログラム
CN104598621A (zh) 一种基于滑动窗口的轨迹压缩方法
CN106953928A (zh) 位置信息的获取方法及装置
KR20130077754A (ko) 위치정보 표현방법, 위치정보 처리방법, 위치정보모델 생성방법, 및 위치정보처리장치
CN104507097A (zh) 一种基于WiFi位置指纹的半监督训练方法
CN104243580A (zh) 应用于水利施工现场的人员综合定位方法及系统
Pham et al. Privacy-preserving reconstruction of multidimensional data maps in vehicular participatory sensing
CN109041218B (zh) 一种预测用户位置的方法和智能硬件
CN103607772A (zh) 一种基于lmbp神经网络的泰勒定位算法
CN103699650A (zh) 消息传播预测方法及装置
JP2010145116A (ja) 目的地予測システム、目的地予測方法及びプログラム
Shi et al. An adaptive approach for modelling the movement uncertainty in trajectory data based on the concept of error ellipses
KR101467317B1 (ko) 위치 데이터의 오류여부 결정방법
KR101467318B1 (ko) 위치정보 보정방법
JP6632054B2 (ja) 推定装置、推定方法及びプログラム
CN100588986C (zh) 空间定位系统中提高定位精度的方法
KR101447582B1 (ko) 위치정보 보정방법
YoonSong et al. A real-time filtering method of positioning data with moving window mechanism
WO2021156363A1 (en) Navigation system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee