KR101201932B1 - 모바일 단말기에 사용되는 버스 번호 추출 장치 및 방법 - Google Patents

모바일 단말기에 사용되는 버스 번호 추출 장치 및 방법 Download PDF

Info

Publication number
KR101201932B1
KR101201932B1 KR1020110002451A KR20110002451A KR101201932B1 KR 101201932 B1 KR101201932 B1 KR 101201932B1 KR 1020110002451 A KR1020110002451 A KR 1020110002451A KR 20110002451 A KR20110002451 A KR 20110002451A KR 101201932 B1 KR101201932 B1 KR 101201932B1
Authority
KR
South Korea
Prior art keywords
bus
stop
user
data
extracting
Prior art date
Application number
KR1020110002451A
Other languages
English (en)
Other versions
KR20120080961A (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 KR1020110002451A priority Critical patent/KR101201932B1/ko
Publication of KR20120080961A publication Critical patent/KR20120080961A/ko
Application granted granted Critical
Publication of KR101201932B1 publication Critical patent/KR101201932B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

본 발명은, 반복적으로 유사 패턴을 갖는 사용자의 이동 궤적 데이터들을 누적 저장하는 단계와, 상기 이동 궤적 데이터들 중 버스로 이동한 구간인 버스 구간 데이터들을 추출하는 단계와, 상기 버스 구간 데이터들 중 버스의 정지 상태에 대응되는 정지 구간 데이터들을 각각의 정지 상태마다 추출하는 단계와, 상기 정지 구간 데이터 중 상기 사용자의 출발 지점과 목적 지점에 대응되는 적어도 하나의 출발 정류장 및 목적 정류장을 버스DB로부터 추출하고, 상기 출발 정류장과 목적 정류장을 경유하는 적어도 하나의 후보 버스 경로를 상기 버스DB로부터 추출하는 단계, 및 상기 후보 버스 경로 중에서, 상기 정지 상태 별 상기 정지 구간 데이터들과 가장 유사한 버스 경로를 추출하여 제공하는 단계를 포함하는 버스 번호 추출 방법 및 장치를 제공한다.
상기 버스 번호 추출 장치 및 방법에 따르면, 스마트폰 등의 모바일 단말기에서 사용자에게 편리한 자동화된 웹 서비스를 지원하기 위해 대용량의 사용자 궤적을 모바일 단말기의 리소스와 배터리 효율을 증대시키는 알고리즘으로 분석하여 이동궤적과 가장 유사한 버스 경로를 구한다. 또한, 스마트폰 환경에서 센서정보를 기반으로 매일 반복되는 사용자의 궤적을 학습하여, 상황인지 기반의 평소 행위에 따른 적합한 서비스를 추출하여 사용자에게 제공하는 모바일 서비스를 구축한다.

Description

모바일 단말기에 사용되는 버스 번호 추출 장치 및 방법{Apparatus for selecting of bus number in smart phone and method thereof}
본 발명은 버스 번호 추출 장치 및 방법에 관한 것으로서, 보다 상세하게는 스마트폰 환경에서 센서정보를 기반으로 사용자의 궤적을 반복 학습하여 사용자의 이동 궤적에 가장 근접한 버스 번호를 추출해낼 수 있는 버스 번호 추출 장치 및 방법에 관한 것이다.
일반적으로 스마트폰에는 다양한 센서가 내장되어 있다. 상기 스마트폰을 통해 실시간으로 웹 서비스를 이용하게 되면서 최근에는 스마트폰을 이용한 위치기반 서비스 연구 또한 활발히 진행되고 있다.
종래에는 스마트폰을 이용한 자동화된 이동 경로 안내 시스템이 제안되고 있다. 이는 사용자가 목적지와 무관한 버스를 탔을 경우 즉, 버스를 잘못 탔을 경우에는 추후 경유할 경로 상에 지나치는 버스 정류장들 중 목적지로 가는 버스로 갈아탈 수 있는 버스 정류장을 알려준다. 그런데, 이러한 종래의 경우는 스마트폰이 아닌 GPS 무선기를 통해 GPS 로그를 누적함에 따라 스마트폰에서 가장 문제가 되는 리소스와 배터리를 고려하지 않은 방법이다.
이외에도 사용자의 GPS 궤적을 누적하여 여행자들이 많이 방문한 지역을 학습하여 여행 장소로 추천하는 시스템이 존재한다. 이는 KNN(K-Nearest Neighbor) 기반의 데이터마이닝 알고리즘을 이용하여 location-location, user-location, user-user 그래프를 그려서 사용자가 방문한 장소를 알아낸다. 이러한 종래에 따른 위치 기반의 이동 경로 시스템은 알고리즘이 비교적 복잡하고 많은 시간이 소요되며 데이터 관리가 어려운 단점이 있다.
본 발명은 모바일 단말기에서 센서정보를 기반으로 사용자의 궤적을 반복 학습하여 사용자의 이동 궤적에 가장 근접한 버스 번호를 손쉽게 추출해낼 수 있는 버스 번호 추출 장치 및 방법을 제공하는데 목적이 있다.
본 발명은, 반복적으로 유사 패턴을 갖는 사용자의 이동 궤적 데이터들을 누적 저장하는 단계와, 상기 이동 궤적 데이터들 중 버스로 이동한 구간인 버스 구간 데이터들을 추출하는 단계와, 상기 버스 구간 데이터들 중 버스의 정지 상태에 대응되는 정지 구간 데이터들을 각각의 정지 상태마다 추출하는 단계와, 상기 정지 구간 데이터 중 상기 사용자의 출발 지점과 목적 지점에 대응되는 적어도 하나의 출발 정류장 및 목적 정류장을 버스DB로부터 추출하고, 상기 출발 정류장과 목적 정류장을 경유하는 적어도 하나의 후보 버스 경로를 상기 버스DB로부터 추출하는 단계, 및 상기 후보 버스 경로 중에서, 상기 정지 상태 별 상기 정지 구간 데이터들과 가장 유사한 버스 경로를 추출하여 제공하는 단계를 포함하는 버스 번호 추출 방법을 제공한다.
여기서, 상기 버스 구간 데이터들을 추출하는 단계와 상기 정지 구간 데이터들을 추출하는 단계는, 상기 누적 저장된 데이터로부터 연산되는 이동 속도 및 가속도 값을 이용하여 상기 사용자의 전체 이동 구간 중 상기 버스 구간 데이터들 및 상기 정지 구간 데이터들을 추출할 수 있다.
또한, 상기 가장 유사한 버스 경로를 추출하여 제공하는 단계는, 서로 인접한 정지 구간 데이터들을 상기 정지 상태 별로 묶어서 복수 개의 궤적 집합들을 형성하는 단계와, 상기 정지 상태 별 궤적 집합들과, 그에 대응되는 상기 후보 버스 경로 상의 실제 버스 정류장들 사이의 직교 거리를 산출하고, 상기 정류장 별로 산출된 직교 거리를 모두 합산하는 단계, 및 상기 후보 버스 경로 중에서, 상기 합산한 값이 가장 작은 후보 버스 경로를 상기 사용자의 실제 버스 경로로 추출하는 단계를 포함할 수 있다.
그리고, 상기 사용자의 실제 버스 경로를 추출하는 단계는, 상기 정지 상태 별 궤적 집합들과, 그에 대응되는 상기 후보 버스 경로 상의 실제 버스 정류장들 사이의 직교 거리를 산출하되, 상기 직교 거리가 발생하지 않는 정류장 또는 상기 정지 상태 별 궤적 집합의 경우 패널티를 부가하여 합산을 수행할 수 있다.
또한, 상기 궤적 집합들은, 상기 궤적을 이루는 복수 개의 지점들로 형성되고, 상기 사용자의 실제 버스 경로를 추출하는 단계는, 상기 궤적 집합에 대한 상기 궤적의 직선 방정식과, 상기 실제 버스 정류장의 위치가 서로 직교하는 지점을 이용하여 상기 직교 거리를 산출할 수 있다.
그리고, 본 발명은 상기 버스 번호 추출 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
그리고, 본 발명은 반복적으로 유사 패턴을 갖는 사용자의 이동 궤적 데이터들을 누적 저장하는 이동 궤적 저장부와, 상기 이동 궤적 데이터들 중 버스로 이동한 구간인 버스 구간 데이터들을 추출하는 버스 구간 추출부와, 상기 버스 구간 데이터들 중 버스의 정지 상태에 대응되는 정지 구간 데이터들을 각각의 정지 상태마다 추출하는 정지 구간 추출부와, 상기 정지 구간 데이터 중 상기 사용자의 출발 지점과 목적 지점에 대응되는 적어도 하나의 출발 정류장 및 목적 정류장을 버스DB로부터 추출하고, 상기 출발 정류장과 목적 정류장을 경유하는 적어도 하나의 후보 버스 경로를 상기 버스DB로부터 추출하는 후보 경로 추출부, 및 상기 후보 버스 경로 중에서, 상기 정지 상태 별 상기 정지 구간 데이터들과 가장 유사한 버스 경로를 추출하여 제공하는 사용자 버스 경로 추출부를 포함하는 버스 번호 추출 장치를 제공한다.
본 발명에 따른 버스 번호 추출 장치 및 방법에 따르면, 스마트폰 등의 모바일 단말기에서 사용자들에게 편리한 자동화된 웹 서비스를 지원하기 위해 대용량의 사용자 궤적을 모바일 단말기의 리소스와 배터리 효율을 증대시키는 알고리즘으로 분석하여 이동 궤적과 가장 유사한 버스 경로를 구한다.
또한, 본 발명은 스마트폰 환경에서 센서정보를 기반으로 매일 반복 되는 사용자의 궤적을 학습하여, 상황인지 기반의 평소 행위에 따른 적합한 서비스를 추출하여 사용자에게 제공하는 모바일 서비스를 구축한다.
도 1은 본 발명의 실시예에 따른 버스 번호 추출 방법의 흐름도이다.
도 2는 도 1을 위한 장치의 구성도이다.
도 3은 도 1의 각 단계에 대응되는 예를 도식화한 것이다.
도 4는 상기 S160단계의 직교 거리의 산출 과정을 상세히 설명하기 위한 개념도이다.
도 5는 본 발명의 실시예에 따라, 사용자가 두 달간 수집한 궤적을 이용하여 통근 버스 번호를 추출한 실험 결과이다.
도 6은 도 5의 결과 정답에 해당되는 506번 버스 경로의 정류장별 지도를 출력한 것이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
본 발명은 스마트폰 환경에서 스마트폰에 내장된 센서를 이용하여 스마트폰의 문제인 배터리와 리소스 효율을 높이는 클라우딩 컴퓨팅 방식을 기반으로 하여 대량의 데이터를 학습하고 해당 결과를 제공하는 서비스를 제공한다.
특히, 통근 혹은 통학하는 경로 상에 누적되는 사용자 궤적은 동일한 GPS(위도, 경도 포함) 지점으로 누적되지 않으며 방대한 데이터로 누적된다. 이를 이용하여 본 발명은 사용자의 방대한 데이터 궤적과 가장 유사한 버스 경로를 DB로부터 탐색하여 사용자의 통근 또는 통학 버스 번호를 선정하는 알고리즘을 제공한다. 이에 따라, 사용자가 출근 또는 통학하는 길에 사용자가 해당 버스 정류장에 가까워지는 경우, 통근 또는 통학 버스의 접근 위치를 자동으로 서비스할 수 있다.
물론, 본 발명은 상기 스마트폰에 반드시 한정되는 것은 아니며, 다양한 모바일 단말기에서 적용될 수 있다. 이하에서는 설명의 편의를 위하여 상기 스마트폰을 예로 하여 설명한다.
도 1은 본 발명의 실시예에 따른 버스 번호 추출 방법의 흐름도이다. 도 2는 도 1을 위한 장치의 구성도이다. 상기 장치(100)는 이동 궤적 저장부(110), 버스 구간 추출부(120), 정지 구간 추출부(130), 후보 경로 추출부(140), 사용자 버스 경로 추출부(150), 중복 데이터 처리부(160), 버스 DB(170)를 포함한다. 이러한 본 발명은 상기 장치(100)가 내장된 스마트폰 상에서 실행되는 것이다.
도 3은 도 1의 각 단계에 대응되는 예를 도식화한 것이다. 이하에서는 상기 버스 번호 추출 방법에 관하여 상세히 알아본다. 우선, 설명의 편의를 위해 상기 버스는 통근 버스를 실시예로 한다. 물론, 본 발명이 반드시 이에 한정되는 것은 아니다.
먼저, 반복적으로 유사 패턴을 갖는 사용자의 이동 궤적 데이터들을 상기 이동 궤적 저장부(110)를 통해 누적 저장한다(S110). 도 3의 단계 1의 경우는 한 달 동안 누적된 사용자의 이동 궤적 데이터의 예를 나타낸다. 이러한 이동 궤적 데이터는 사용자 워킹 구간(Walk)(초록색 부분)과, 버스 구간(In BUS)(파란색 부분)으로 구분된다.
상기 정보의 누적 저장은 스마트폰 상에 내장된 GPS 기능을 사용한다. 상기 누적 저장되는 정보로는 사용자의 출퇴근 이동 경로, 출퇴근 시간, 출퇴근 요일 등을 포함한다. 또한, 상기 출퇴근 이동경로란 사용자의 GPS 데이터가 일정 주기(ex, 2초 단위)로 누적된 것을 의미한다. 실제로 버스가 정차하여 출입문을 열고 한 명을 태우고 문을 닫고 출발하는 데 걸리는 시간이 3~4초이므로 정차 지점을 구하는 데에 최소 2초 단위의 간격을 두는 것으로 한다.
상기 출퇴근 시간과 요일은 GPS 데이터가 기록되는 시간과 요일을 의미한다. 이는 요일 별로 사용자 궤적을 학습하기 위함이다. 이에 따르면, 평일의 경우 회사 출퇴근용 통근 버스를 산출할 수 있고, 휴일의 경우 교회로 이동하는 버스를 산출하여 서비스할 수 있다. 이외에도, 특정 요일에 대한 사용자의 이동 궤적을 학습하여, 사용자의 평소 행위에 따른 이동 버스 서비스를 제공할 수 있다.
상기 S110단계 이후에는, 상기 이동 궤적 데이터들 중 버스로 이동한 구간인 버스 구간 데이터들을 버스 구간 추출부(120)를 통해 추출한다(S120). 도 3의 단계 2는 앞서 단계 1에 표시된 워킹 구간과 버스 구간 중에서 버스 구간을 추출한 결과를 나타낸다.
이러한 S120단계는, 상기 이동 궤적 저장부(110)에 누적 저장된 데이터로부터 이동 속도 및 가속도 값을 연산하고, 그 연산된 값을 이용하여 상기 사용자의 전체 이동 구간 중 상기 버스 구간 데이터들을 추출한다. 즉, 시간 흐름 별로 누적된 GPS 데이터를 이용하여 속도와 가속도 값을 비교함으로써, 사용자의 이동 상태가 걷는 상태인지 혹은 버스 내부인지를 구분할 수 있게 된다. 또한, 상기 버스 내부 상태의 경우 GPS 값을 이용하여 버스의 속도를 알 수 있다. 이상과 같이 연산된 사용자의 이동 상태는 이동 궤적 저장부(110)에 저장된다.
상기 버스 구간 데이터들의 추출 이후에는, 상기 버스 구간 데이터들 중 버스의 정지 상태에 대응되는 정지 구간 데이터들을 각각의 정지 상태마다 추출한다(S130). 이러한 S130단계는 정지 구간 추출부(130)를 통해 수행한다. 도 3의 단계 3은 단계 2의 데이터들 중 정지 상태에 대응되는 데이터들만 추려낸 결과를 나타낸다. 즉, 걷기 데이터를 제거하고 버스로 이동한 구간의 누적 데이터만을 보여준다. 여기서, 각 정지 상태마다 데이터들이 그룹 형태로 밀집해 있는 것을 확인할 수 있다.
이러한 S130단계 또한, 상기 이동 궤적 저장부(110)에 누적 저장된 데이터로부터 이동 속도 및 가속도 값을 연산하고, 그 연산된 값을 이용하여 상기 사용자의 전체 이동 구간 중 상기 정지 구간 데이터들을 추출한다. 즉, 시간 흐름 별로 누적된 GPS 데이터를 이용하여 속도와 가속도 값을 비교함으로써, 사용자가 이동 상태인지 정지 상태인지를 구분할 수 있게 된다.
상기 정지 구간 추출부(130)는 사용자 궤적 중 버스 정류장에 근접한 지점을 추출하기 위해 제안하는 방법이다. 버스 정류장은 버스가 정지해 있는 상태이다. 버스가 정지하는 상태는 정류장 이외에 신호 대기, 교통 정체, 교통 사고 등이 원인일 수 있다. 버스 정류장 이외의 에러 데이터는 추후 사용자의 궤적에 가장 유사한 버스 정보를 산출하는 알고리즘을 통해 자동으로 제거될 수 있다.
버스의 정지 지점을 추출하기 위해서는 속도 데이터를 비교하면 된다. 당연히 정지 상태는 속도가 0일 경우라고 가정하기 쉬우나, 일반적으로 관성의 법칙으로 인하여 실제 버스의 정차 시점을 기준으로 3초 후에 속도가 0으로 기록되었다. 따라서, 상기 정지 상태는 속도가 3m/s 이하인 GPS 데이터로 기준을 설정한다. 도 3의 단계 3은 정지 상태의 GPS 지점만을 추려낸 것이다.
다음, 상기 정지 구간 데이터 중 상기 사용자의 출발 지점과 목적 지점에 대응되는 적어도 하나의 출발 정류장 및 목적 정류장을 버스DB(170)로부터 추출하고, 상기 출발 정류장과 목적 정류장을 경유하는 적어도 하나의 후보 버스 경로를 상기 버스DB(170)로부터 추출한다(S140). 이러한 S140단계는 후보 경로 추출부(140)를 통해 수행한다. 여기서, 상기 버스 DB(170)에는 클라우딩 컴퓨팅 기반으로 웹 상에 존재하는 버스 데이터를 수집하여 버스 정류장 DB와 버스 번호별로 버스 경로 DB를 구축한 것이다.
상기 출발 정류장과 목적 정류장은 도 3의 단계 3에 도시된 정지 구간 데이터들 중에서 시작 지점과 종료 지점에 해당되는 부분 즉, 도 3의 단계 4에 도시된 점선 동그라미 부분을 의미한다. 이 영역에는 적어도 하나 이상의 출발 정류장과 목적 정류장이 존재한다. 즉, 이러한 S140 단계는 상기 시작 지점과 종료 지점을 지나는 모든 버스 번호와 그에 해당되는 버스 경로를 상기 버스 DB(170)로부터 추출한다.
시작(혹은 종료) 지점에 가까운 버스 정류장은 버스 분류(ex, 간선 버스, 광역 버스) 또는 버스 경로에 따라 동일한 버스 정류장 임에도 불구하고 간격을 두고 있는 경우가 있다. 본 실시예서는 여러 번의 테스트를 통해, 상기 시작(혹은 종료)지점으로부터 반경 50m 영역 안의 버스 정류장을 모두 시작(혹은 종료) 지점에 해당하는 버스 정류장으로 선택한다.
도 3의 단계 4는 그 예로서 시작 지점의 버스 정류장은 동일하지만 종료 지점의 버스정류장은 두 개가 검색 된 예이다. 이에 따라, 751버스가 지나는 하나의 경로와 501, 506, 750A, 750B 버스가 지나는 다른 하나의 경로를 상기 후보 버스 경로로 추출할 수 있다.
상기 S140단계 이후에는, 상기 후보 버스 경로 상의 정지 구간 데이터들 중 동일 지점의 데이터를 중복 처리하도록 한다(S150). 이는 중복 데이터 처리부(160)를 통해 수행한다. 즉, 상기 후보 버스 경로 상의 정지 구간 데이터들 중에서, 일정 오차범위 이내의 데이터 그룹들을 중복 데이터로 인식하여 하나의 데이터로 처리한다.
최소 일주일에서 한 달 이상 누적된 사용자 궤적 데이터 상의 상기 정지 구간 데이터 중에서 동일한 GPS 지점이 정지 상태로 기록 되었다면 그 지점을 정류장으로 인정하는 확률을 더 높일 수 있다. 도 3의 단계 5는 단계 4의 정지 구간 데이터 중에서 GPS값이 동일한 지점의 데이터를 추려서 궤적을 간소화한 것이다. 소수점 10자리의 위도, 경도 값이 완전히 일치하기는 불가능하므로, 소수점 이하 5자리, 즉 3~5m의 차이가 나는 GPS 지점을 동일한 지점으로 판단하여 중복된 데이터를 추려내도록 한다. 이는 데이터를 간소화하여 본 장치의 처리 속도를 향상시키는 데에도 기여한다.
다음에는, 상기 중복데이터가 추려진 후보 버스 경로 중에서, 상기 정지 상태 별 상기 정지 구간 데이터들과 가장 유사한 버스 경로를 상기 버스DB(170)로부터 추출하여 제공한다(S160). 이는 상기 사용자 버스 경로 추출부(150)를 통해 수행한다. 즉, 상기 버스 구간 추출부(120)는 사용자 궤적과 가장 유사한 버스 경로를 추출하여 스마트폰 상에 제공한다.
도 3의 단계 6은 앞서 단계 4에서 버스DB(170)로부터 추출된 2개의 후보 버스 경로를 각각 지나는 버스(ex, 506번, 751번 버스)에 대한 실제 버스 정류장들을 상기 사용자 궤적에 따른 정지 구간 데이터들과 겹쳐서 표현한 것이다.
즉, 후보 버스 경로 내의 정류장 순서대로 사용자 궤적 집합들과 비교하여 정류장에 근접한 사용자 궤적 집합을 찾아서 그 지점이 사용자의 버스 경로인 것으로 선택하는 것이다. 실제 정류장에 근접한 사용자 궤적 집합을 찾으면, 사용자 궤적 집합과 정류장 사이의 직교 거리를 구하여, 정류장 별로 산출된 직교거리를 누적하며, 이때 이미 매칭된 정류장과 사용자 궤적 집합은 비교 대상에서 삭제하고, 이러한 과정을 반복한다.
만약, 도 3의 단계 6에서, 실제 정류장에 매핑되는 사용자 궤적 집합을 찾지 못한 경우, 그 정류장은 정차하지 않고 지나간 것으로 판단하고 패널티 1,000(1km)을 상기 직교거리의 합산 시 더한다. 즉, 두 번째 정류장 지점 B2에 매핑되는 사용자 궤적 집합이 U2이고, 세 번째 정류장 지점 B3는 버스가 정차하지 않고 지나간 구간으로 분류되었으며, 네 번째 정류장 지점 B4가 사용자 궤적 집합 U4와 매핑 되었다면, 순서상 매핑에서 제외된 U3은 신호 대기 또는 교통 정체로 인해 정차한 것으로 간주하고 패널티 1,000을 거리의 합에 더하는 것이다. 이러한 과정을 반복하여 거리의 합을 구한 결과, 도 3의 단계 6과 같이, 506 버스 경로는 2,060이 산출되고 751 버스 경로는 13,042가 산출된다. 이때, 더 작은 거리의 합을 가지는 506 버스를 사용자 궤적과 가장 유사한 버스 경로 및 번호로 추출할 수 있다.
도 4는 이러한 S160단계에서 직교 거리의 산출 과정을 상세히 설명하기 위한 개념도이다.
먼저, 도 4의 단계 1은 서로 인접한 정지 구간 데이터들을 상기 정지 상태 별로 묶어서 복수 개의 궤적 집합들을 형성하는 단계이다. 상기 궤적 집합들은 상기 궤적을 이루는 복수 개의 지점들로 형성됨을 알 수 있다. 즉, 상기 정지 구간 데이터들 중 서로 근접한 지점의 데이터들끼리 분류하여 사용자 궤적 집합들을 만든다. 그리고, 각각의 궤적 집합들은 시간 순서대로 아이디(ex, U_set1, U_set2, U_set3, …)를 부여한다. 버스 정류장의 경우도 출발 지점에서 목적 지점의 순서로 아이디(ex, B1, B2, …, Bj)를 부여한다.
다음, 도 4의 단계 2는 위도 또는 경도상 사용자 궤적 집합 i의 처음과 마지막 지점이 실제 버스 정류장의 GPS 값을 포함하지 않는 사용자 집합(U_set1)을 비교 대상에서 제거하는 단계를 나타낸다. 즉, U_set1의 경우는 그에 속하는 모든 지점의 위도 또는 경도가 정류장 B1 이나 B2의 어떤 GPS 값과도 겹치지 않는 경우로서, 비교 대상에서 제거한다. 이렇게 제거된 집합은 실제 버스 정류장 구간이 아닌, 정체 또는 신호 대기로 인해 버스가 정차된 구간으로 분류한다. 물론, U_set2와 U_set3은 정류장 B2의 GPS 값과 겹치는 부분이 존재하는 그룹에 해당되므로, 비교 대상에 포함시킨다.
도 4의 단계 3은 사용자 궤적 집합 i(U_set2, U_set3)에 대한 직선 방정식을 구하고, 이를 통해 실제 버스 정류장 Bj(B2)의 GPS 지점와 직교하는 지점(빨간 점)을 각 집합 별로 매핑하여 산출하는 단계이다. 도 4의 단계 4는 버스 정류장 Bj(B2)의 GPS 지점과 상기 직교 점 사이의 거리 즉, 직교 거리를 구하는 단계이다. 즉, 이는 상기 궤적 집합에 대한 상기 궤적의 직선 방정식과, 상기 실제 버스 정류장의 위치가 서로 직교하는 지점을 이용하여 상기 직교 거리를 산출하는 것이다. 점과 직선 사이의 거리, 기울기, y절편을 구하는 식은 기 공지된 내용이므로 이에 관한 보다 상세한 설명은 생략한다.
도 4의 단계 5는 상기 U_set2와 U_set3에 대해 산출된 직교 거리 중 상대적으로 더욱 짧은 직교 거리를 갖는 사용자 집합 즉, U_set2을 정류장 B2의 데이터로 판단하여 이를 채택한 것이다.
상기 직교 거리의 계산은 모든 정류장에 대하여 수행한다. 이미 매핑된 사용자 궤적 집합과 실제 버스 정류장 사이의 비교는 이후의 비교 대상에서 삭제토록 한다. 이러한 방식으로 각 정류장 마다 수행한 직교 거리의 값을 모두 합산한 다음, 후보 버스 경로들 중 합산 값이 가장 작은 후보 버스 경로를 사용자의 실제 버스 경로인 것으로 판단한다.
즉, 상기 S160단계를 요약하면, 상기 정지 상태 별 궤적 집합들과, 그에 대응되는 상기 후보 버스 경로 상의 실제 버스 정류장들 사이의 직교 거리를 산출하고, 상기 정류장 별로 산출된 직교 거리를 모두 합산한다. 이후, 상기 후보 버스 경로 중에서, 상기 합산한 값이 가장 작은 후보 버스 경로를 상기 사용자의 실제 버스 경로로 추출한다.
여기서, 상기 직교 거리가 발생하지 않는 정류장 또는 상기 정지 상태 별 궤적 집합의 경우 패널티(ex, 1,000m)를 부가하여 해당 후보 버스 경로의 거리의 합산을 수행한다.
예를 들어, 버스가 실제 경로와 다른 경로로 주행하여 경로를 이탈한 경우, 상기 직교 거리가 발생하지 않는다. 또한, 상기 후보 버스 경로 중 실제 사용자 버스 경로(정답 버스 경로)가 아닌 오답 버스 경로 내의 정류장은 상기 직교 거리가 발생하지 않을 확률이 높다. 그리고, 상기 직교 거리가 발생하지 않는 정지 상태별 궤적 집합의 경우, 앞서 도 3의 506번 버스에서 B3 부분의 결과와 같이 버스가 정류장 이외의 구간에서 신호 대기 중이거나 교통 정체가 발생한 경우에 해당될 수 있다. 이상과 같은 두 가지 경우 모두 패널티를 부가하여 상기 누적 합산을 수행한다.
도 5는 본 발명의 실시예에 따라, 사용자가 두 달간 수집한 궤적을 이용하여 통근 버스 번호를 추출한 실험 결과이다. 이 사용자의 궤적에 후보가 되는 버스 경로는 506번, 751번, 752번 세 개였고, 506과 751은 목적지 버스 정류장이 다름에도 불구하고 사용자 이동 궤적의 시작 지점(출발지)와 종료 지점(목적지)을 모두 경유한다는 점에서 후보 경로(후보 버스 번호)로 채택된 것을 볼 수 있다.
506번 버스의 경우에는 "노들섬" 정류장에 매핑되는 사용자 궤적 집합이 존재하지 않아서 패널티 1000m가 추가되었다.
그리고, 751번 버스는 "노들섬" 정류장부터 "상도 2동" 정류장까지 매핑되는 사용자 궤적 집합이 존재하지 않아서 패널티 1000m를 받았다. 또한, 정답인 506번 경로와 일치하는 정류장은 사용자 궤적 집합과 매핑되고 직교 거리가 구해졌으며, 506번 경로에서 벗어나는 구간은 매핑되는 지점이 없어서 직교 거리가 존재하지 않으며 따라서 패널티 1000m이 추가되었다. 752번 버스의 경우는 751번 버스보다 506번 버스의 경로와 더욱 상이함을 알 수 있다. 결과적으로 직교 거리의 합산 결과가 가장 낮은 506번 버스가 정답임을 알 수 있다.
도 6은 도 5의 결과 정답에 해당되는 506번 버스 경로의 정류장별 지도를 출력한 것이다. 도 6에서 파란 점은 사용자 이동 궤적(집합)을 나타내고 빨간 점은 실제 버스 정류장을 나타낸다.
도 5의 506번 실험 결과에서, 패널티가 추가된 "노들섬" 정류장은 이와 근접한 사용자 궤적 집합이 존재하지 않음을 확인할 수 있으며, 나머지 버스 정류장은 그와 근접한 사용자 궤적 집합이 존재하며 육안으로도 서로 근사한 차이를 보임을 확인할 수 있다.
이상과 같은 본 발명에 따르면, 스마트폰 환경에서 사용자들에게 편리한 자동화된 웹 서비스를 지원하기 위해 대용량의 사용자 궤적을 스마트폰의 리소스와 배터리 효율을 증대시키는 알고리즘으로 분석하여 이동 궤적과 가장 유사한 버스 경로를 구한다. 또한, 본 발명은 스마트폰 환경에서 센서정보를 기반으로 매일 반복 되는 사용자의 궤적을 학습하여, 상황인지 기반의 평소 행위에 따른 적합한 서비스를 추출하여 사용자에게 제공하는 모바일 서비스를 구축한다. 즉, 매일 아침, 저녁으로 반복하여 대용량으로 누적되는 출퇴근 데이터를 학습하여 사용자 궤적과 일치하는 하나의 분명한 버스 경로를 추출한다. 사용자 궤적이 변경 되더라도 실시간으로 그 궤적에 가장 유사한 버스 정보를 산출할 수 있게 한다.
이상과 같은 버스 번호 추출 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 매체로서 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CO-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100: 사용자 이동 궤적 학습을 이용한 버스 번호 추출 장치
110: 이동 궤적 저장부 120: 버스 구간 추출부
130: 정지 구간 추출부 140: 후보 경로 추출부
150: 사용자 버스 경로 추출부 160: 중복 데이터 처리부
170: 버스DB

Claims (11)

  1. 반복적으로 유사 패턴을 갖는 사용자의 이동 궤적 데이터들을 누적 저장하는 단계;
    상기 이동 궤적 데이터들 중 버스로 이동한 구간인 버스 구간 데이터들을 추출하는 단계;
    상기 버스 구간 데이터들 중 버스의 정지 상태에 대응되는 정지 구간 데이터들을 각각의 정지 상태마다 추출하는 단계;
    상기 정지 구간 데이터 중 상기 사용자의 출발 지점과 목적 지점에 대응되는 적어도 하나의 출발 정류장 및 목적 정류장을 버스DB로부터 추출하고, 상기 출발 정류장과 목적 정류장을 경유하는 적어도 하나의 후보 버스 경로를 상기 버스DB로부터 추출하는 단계; 및
    상기 후보 버스 경로 중에서, 상기 정지 상태 별 상기 정지 구간 데이터들과 가장 유사한 버스 경로를 추출하여 제공하는 단계를 포함하고,
    상기 가장 유사한 버스 경로를 추출하여 제공하는 단계는,
    서로 인접한 정지 구간 데이터들을 상기 정지 상태 별로 묶어서 복수 개의 궤적 집합들을 형성하는 단계;
    상기 정지 상태 별 궤적 집합들과, 그에 대응되는 상기 후보 버스 경로 상의 실제 버스 정류장들 사이의 직교 거리를 산출하고, 상기 정류장 별로 산출된 직교 거리를 모두 합산하는 단계; 및
    상기 후보 버스 경로 중에서, 상기 합산한 값이 가장 작은 후보 버스 경로를 상기 사용자의 실제 버스 경로로 추출하는 단계를 포함하는 버스 번호 추출 방법.
  2. 청구항 1에 있어서,
    상기 버스 구간 데이터들을 추출하는 단계와 상기 정지 구간 데이터들을 추출하는 단계는,
    상기 누적 저장된 데이터로부터 연산되는 이동 속도 및 가속도 값을 이용하여 상기 사용자의 전체 이동 구간 중 상기 버스 구간 데이터들 및 상기 정지 구간 데이터들을 추출하는 버스 번호 추출 방법.
  3. 삭제
  4. 청구항 1에 있어서,
    상기 사용자의 실제 버스 경로를 추출하는 단계는,
    상기 정지 상태 별 궤적 집합들과, 그에 대응되는 상기 후보 버스 경로 상의 실제 버스 정류장들 사이의 직교 거리를 산출하되, 상기 직교 거리가 발생하지 않는 정류장 또는 상기 정지 상태 별 궤적 집합의 경우 패널티를 부가하여 합산을 수행하는 버스 번호 추출 방법.
  5. 청구항 1에 있어서,
    상기 궤적 집합들은,
    상기 궤적을 이루는 복수 개의 지점들로 형성되고,
    상기 사용자의 실제 버스 경로를 추출하는 단계는,
    상기 궤적 집합에 대한 상기 궤적의 직선 방정식과, 상기 실제 버스 정류장의 위치가 서로 직교하는 지점을 이용하여 상기 직교 거리를 산출하는 버스 번호 추출 방법.
  6. 청구항 1, 청구항 2, 청구항 4, 청구항 5 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  7. 반복적으로 유사 패턴을 갖는 사용자의 이동 궤적 데이터들을 누적 저장하는 이동 궤적 저장부;
    상기 이동 궤적 데이터들 중 버스로 이동한 구간인 버스 구간 데이터들을 추출하는 버스 구간 추출부;
    상기 버스 구간 데이터들 중 버스의 정지 상태에 대응되는 정지 구간 데이터들을 각각의 정지 상태마다 추출하는 정지 구간 추출부;
    정지 구간 데이터 중 상기 사용자의 출발 지점과 목적 지점에 대응되는 적어도 하나의 출발 정류장 및 목적 정류장을 버스DB로부터 추출하고, 상기 출발 정류장과 목적 정류장을 경유하는 적어도 하나의 후보 버스 경로를 상기 버스DB로부터 추출하는 후보 경로 추출부; 및
    상기 후보 버스 경로 중에서, 상기 정지 상태 별 상기 정지 구간 데이터들과 가장 유사한 버스 경로를 추출하여 제공하는 사용자 버스 경로 추출부를 포함하고,
    상기 사용자 버스 경로 추출부는,
    서로 인접한 정지 구간 데이터들을 상기 정지 상태 별로 묶어서 복수 개의 궤적 집합들을 형성한 이후,
    상기 정지 상태 별 궤적 집합들과, 그에 대응되는 상기 후보 버스 경로 상의 실제 버스 정류장들 사이의 직교 거리를 산출하고, 상기 정류장 별로 산출된 직교 거리를 모두 합산한 다음,
    상기 후보 버스 경로 중에서, 상기 합산한 값이 가장 작은 후보 버스 경로를 상기 사용자의 실제 버스 경로로 추출하는 버스 번호 추출 장치.
  8. 청구항 7에 있어서,
    상기 버스 구간 추출부 및 상기 정지 구간 추출부는,
    상기 누적 저장된 데이터로부터 연산되는 이동 속도 및 가속도 값을 이용하여 상기 사용자의 전체 이동 구간 중 상기 버스 구간 데이터들 및 상기 정지 구간 데이터들을 추출하는 버스 번호 추출 장치.
  9. 삭제
  10. 청구항 7에 있어서,
    상기 사용자 버스 경로 추출부는,
    상기 정지 상태 별 궤적 집합들과, 그에 대응되는 상기 후보 버스 경로 상의 실제 버스 정류장들 사이의 직교 거리를 산출하되, 상기 직교 거리가 발생하지 않는 정류장 또는 상기 정지 상태 별 궤적 집합의 경우 패널티를 부가하여 합산을 수행하는 버스 번호 추출 장치.
  11. 청구항 7에 있어서,
    상기 궤적 집합들은,
    상기 궤적을 이루는 복수 개의 지점들로 형성되고,
    상기 사용자 버스 경로 추출부는,
    상기 궤적 집합에 대한 상기 궤적의 직선 방정식과, 상기 실제 버스 정류장의 위치가 서로 직교하는 지점을 이용하여 상기 직교 거리를 산출하는 버스 번호 추출 장치.
KR1020110002451A 2011-01-10 2011-01-10 모바일 단말기에 사용되는 버스 번호 추출 장치 및 방법 KR101201932B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110002451A KR101201932B1 (ko) 2011-01-10 2011-01-10 모바일 단말기에 사용되는 버스 번호 추출 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110002451A KR101201932B1 (ko) 2011-01-10 2011-01-10 모바일 단말기에 사용되는 버스 번호 추출 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120080961A KR20120080961A (ko) 2012-07-18
KR101201932B1 true KR101201932B1 (ko) 2012-11-16

Family

ID=46713363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110002451A KR101201932B1 (ko) 2011-01-10 2011-01-10 모바일 단말기에 사용되는 버스 번호 추출 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101201932B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101434777B1 (ko) * 2013-02-01 2014-08-26 한양대학교 에리카산학협력단 서비스 제공 방법 및 장치
CN106781459B (zh) * 2016-11-30 2019-05-28 贵州智通天下信息技术有限公司 一种拆分路线轨迹的方法
CN117035232A (zh) * 2023-08-08 2023-11-10 广东家祥智能科技有限公司 一种基于大数据平台的智慧城市数据处理方法及系统

Also Published As

Publication number Publication date
KR20120080961A (ko) 2012-07-18

Similar Documents

Publication Publication Date Title
Ghahramani et al. Urban sensing based on mobile phone data: Approaches, applications, and challenges
Phithakkitnukoon et al. Taxi-aware map: Identifying and predicting vacant taxis in the city
Rinzivillo et al. The purpose of motion: Learning activities from individual mobility networks
JP5017866B2 (ja) 移動経路探索システム及び方法、移動経路探索サーバ、移動経路探索プログラム
CN110598917B (zh) 一种基于路径轨迹的目的地预测方法、系统及存储介质
CN109348404B (zh) 一种大数据环境下个体出行道路轨迹提取的方法
Breyer et al. Travel mode classification of intercity trips using cellular network data
Sun et al. Identifying tourists and locals by K-means clustering method from mobile phone signaling data
Bachir et al. Combining bayesian inference and clustering for transport mode detection from sparse and noisy geolocation data
Garg et al. Mining bus stops from raw GPS data of bus trajectories
Saremi et al. Combining map-based inference and crowd-sensing for detecting traffic regulators
KR101201932B1 (ko) 모바일 단말기에 사용되는 버스 번호 추출 장치 및 방법
Halim et al. On finding optimum commuting path in a road network: a computational approach for smart city traveling
Amirat et al. Nextroute: a lossless model for accurate mobility prediction
Dai et al. Cluster-based destination prediction in bike sharing system
KR101275748B1 (ko) 학습된 경로 모델과 gps 로그에 기반한 사용자 경로 예측 시스템 및 그 방법
Ehmke et al. Data chain management for planning in city logistics
Hadachi et al. A survey on the advancement of travel time estimation using mobile phone network data
Liu et al. Estimating sectional volume of travelers based on mobile phone data
Yin et al. Road traffic prediction based on base station location data by Random Forest
Kim et al. Probabilistic graphical model based personal route prediction in mobile environment
WO2014187476A1 (en) Method and system for predicting mobility demand of users
Dey et al. Identification of parking spaces from multi‐modal trajectory data
Necula Mining GPS data to learn driver's route patterns
Neto et al. Prediction of Destinations and Routes in Urban Trips with Automated Identification of Place Types and Stay Points.

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
FPAY Annual fee payment

Payment date: 20161024

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 7

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20190821

Year of fee payment: 8