KR102297478B1 - 주변 신호를 이용한 궤적 매칭 - Google Patents

주변 신호를 이용한 궤적 매칭 Download PDF

Info

Publication number
KR102297478B1
KR102297478B1 KR1020150057269A KR20150057269A KR102297478B1 KR 102297478 B1 KR102297478 B1 KR 102297478B1 KR 1020150057269 A KR1020150057269 A KR 1020150057269A KR 20150057269 A KR20150057269 A KR 20150057269A KR 102297478 B1 KR102297478 B1 KR 102297478B1
Authority
KR
South Korea
Prior art keywords
data
crowdsourced
turn
trajectory
matching
Prior art date
Application number
KR1020150057269A
Other languages
English (en)
Other versions
KR20150123735A (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 CN201580022081.8A priority Critical patent/CN106574975B/zh
Priority to PCT/KR2015/004107 priority patent/WO2015163727A1/ko
Priority to EP15783844.2A priority patent/EP3136128B1/en
Publication of KR20150123735A publication Critical patent/KR20150123735A/ko
Application granted granted Critical
Publication of KR102297478B1 publication Critical patent/KR102297478B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3844Data obtained from position sensors only, e.g. from inertial navigation
    • 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
    • G01S19/10Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing dedicated supplementary positioning signals
    • G01S19/12Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing dedicated supplementary positioning signals wherein the cooperating elements are telecommunication base stations
    • 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/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation

Abstract

개시된 크라우드소싱된 궤적 데이터에 기초하여 자동으로 경로의 모양을 결정하는 기술이다. 궤적 데이터는 복수의 크라우드소싱된 경로로부터 수집된다. 복수의 크라우드소싱된 데이터 각각을 위한 궤적 데이터는 적어도 하나의 고유하게 식별될 수 있는 주변 신호와 연관된다. 기준점은 각각의 크라우드소싱된 경로의 궤적 데이터의 특성의 전이와 일치하는 것으로 식별될 수 있다. 매칭은 기준점의 매칭 패턴을 분석하고 매치를 평가하는 것에 기초하여 수행될 수 있다. 다양한 실시예들은 하나 혹은 그 이상의 자취 및/또는 특정한 지리적 영역의 경로를 나타내는 연결 노드 구조를 사용하는 것을 포함한다.

Description

주변 신호를 이용한 궤적 매칭{TRAJECTORY MATCHING USING AMBIENT SIGNALS}
일반적으로 주변신호로부터 얻은 궤적 데이터를 이용하여 위치기반 서비스를 위한 경로지도 생성을 돕는 것과 관계되어 있다. 다양한 실시예들이 경로 간의 상대적인 위치를 결정하기 위해 크라우드소싱된 (crowd-sourced) 궤적 데이터를 이용하고 있다. 몇 실시예는 특정 지역의 경로들을 표현하기 위해 연결 노드 구조(linked node structure)를 사용하는 것을 포함하고 있다.
지금까지 GPS(Global Positioning System)데이터에 기초하여 개인의 위치를 추적하고자 하는 다양한 시도가 있었다. 하지만, GPS는 실내에서는 종종 믿을만한 동작을 하지 못한다. 따라서, 위치기반 서비스를 제공하기 위한 새로운 기술의 개발에 대한 관심이 증가해 왔다.
실내 궤적(trajectory) 데이터는 와이파이 네트워크나 블루투스 송신기와 같은 기존의 RF 기반 시설에 의존하지 않고 사용자의 모바일 디바이스에서 생성된 정보에 기초하는 보행자 추측 항법(Pedestrian Dead Reckoning, PDR)을 이용하여 계산될 수 있다. 예를 들어, 모바일 디바이스의 가속도계나 자기계(나침반)를 이용하여 보행자 추측 항법을 수행하기 위한 정보를 생성할 수 있다.
PDR을 사용하는 실내 궤적 데이터는 실내에서의 개인 추적 및 위치판단에 널리 사용되어 왔다. 최초에 GPS 좌표와 같은 알려진 위치에서 시작하는 경우, 실내 위치판단 시스템은 실내 궤적 데이터를 사용하여 이동방향과 걸음 수 등을 추정, 사용자의 현재 위치를 추적할 수 있다.
PDR을 이용하는 궤적 데이터의 또 다른 응용은 사용자의 실내 행동 패턴을 이해하는 것이다. 사용자로부터 수집된 실내 궤적 데이터는 행동 패턴 분석에 있어 중요한 데이터원이다. 예를 들어, 사용자가 쇼핑몰에서 얼마나 자주 이동하였는가 및 쇼핑 선반 앞에서 얼마나 오래 머물렀는가 등의 정보는 사용자의 쇼핑 관심사를 나타낼 수 있는 맥락 정보이다. 복수의 사용자로부터 종합한 실내 궤적 데이터는 가게 주인이 선반 정리의 문제점을 찾도록 도와줄 수 있다. 가게 주인은 데이터를 활용하여 정리방식을 발전시켜 사용자의 쇼핑 경험을 개선하고, 가게의 이익을 얻을 수 있다.
PDR을 이용한 궤적 데이터의 또 다른 응용은 실내 매핑(mapping)이다. 실내 궤적 데이터는 실내환경의 지도를 작성하는 데 사용될 수 있다. 결과적으로, 생성된 지도는 실내 위치기반 서비스에 활용될 수 있다.
PDR을 이용한 궤적 데이터를 계산하는 데에는 스마트폰과 같은 많은 모바일 디바이스가 심각한 나침반 노이즈와 자이로스코프 노이즈를 갖고 있다는 문제점이 있다. 따라서, 시작 위치를 정확히 특정하는 것이 가능하다 해도, 스마트폰의 센서 데이터에 기초한 그 다음의 모든 PDR계산에 노이즈가 있게 된다. 예를 들어, 도 1A는 평면도와 실내 궤적 데이터 수집에 사용된 경로를 나타낸다. 도 1B는 두 번의 PDR 데이터 계산에 기초한 두 궤적 110과 120을 도시하고 있다. 실내 궤적은 스마트폰의 자이로와 나침반 노이즈 때문에 잘 겹쳐지지 않는다. 특히, 실내 궤적의 첫 진행방향에 차이가 있으며, 두 궤적의 각 코너의 각도가 약간 다르다.
전통적인 PDR의 또 다른 문제점은 궤적의 각기 다른 출발점이다. 도 2A에 따라, 두 개의 다른 궤적 데이터 예시를 얻었다고 가정한다. 데이터는 서로 다른 출발점을 가지고 상당부분이(하지만 전부는 아닌) 겹쳐진 두 개의 경로로부터 얻어진 것이다. 예를 들어, 같은 사무실에 있는 서로 다른 두 사람이 다른 자리(다른 출발점)를 가질 수 있는 반면, 실내에서 동일한 특정 공용구간을 돌아다닐 수 있다. 도시한 바와 같이, 어떠한 경우에도 각 예시의 출발점들은 다를 수 있고 경로들은 같을 필요가 없다. 일반적인 경우 시작지점은 오프셋이 된다. 도 2B에 도시된 자취 205 및 210과 같이, 서로 다른 출발점을 가지는데다 자이로와 나침반 오류까지 더하면, 두 궤적은 같은 좌표계에 놓였을 때 완전히 불일치할 수 있다. 이는 대다수 실내 궤적 기반 위치 시스템에서의 근본적인 문제이다.
선행기술의 경우, 서로 다른 경로를 매칭(matching)하고 정확성을 개선하기 위한 해결책들에서, 일반적으로 궤적에 대한 사전지식이나 정보를 얻는 기술이 완전히 자동화되지 않았기 때문에, 사용자가 수동으로 이를 직접 제공하도록 하고 있었다. 예를 들어, 몇 가지 접근방법은 특별한 연습 데이터, 주요 지형지물의 식별정보 혹은 특별한 블루투스 노드를 필요로 했다.
따라서, 이러한 관점에서 문제를 해결하기 위해 개발되었다.
일 실시 예에 따른 방법은, 크라우드소싱된(crowd-sourced) 복수의 경로에 대한 궤적 데이터를 수집하는 단계로서, 크라우드소싱된 복수의 경로 각각에 대한 궤적 데이터는 고유하게 식별가능한 적어도 하나의 주변 신호와 연관되어 있는, 수집하는 단계; 및 크라우드소싱된 복수의 경로에 대한 궤적 데이터 및 적어도 하나의 연관된 주변 신호를 이용하여 자동으로 목표 경로의 모양을 결정하는 단계; 를 포함할 수 있다.
또한, 자동으로 목표 경로의 모양을 결정하는 단계는, 적어도 하나의 연관된 주변 신호를 이용하여 크라우드소싱된 복수의 경로에 대한 궤적 데이터를 서로 매칭하는 단계를 포함할 수 있다.
또한, 매칭하는 단계는, 크라우드소싱된 복수의 경로에 대한 궤적 데이터의 기준점들(anchor points)을 식별하는 단계; 및 기준점들에 기초하여 매칭을 수행하는 단계; 를 더 포함하고, 기준점들은 크라우드소싱된 복수의 경로 각각의 궤적 데이터의 특징의 전이(transition)에 대응될 수 있다.
또한, 주변 신호는 모바일 디바이스의 이동 상태를 나타내는 궤적 데이터를 포함하고, 전이는 모바일 디바이스의 턴(turn), 이동 방향 및 이동 패턴 중 적어도 하나를 포함할 수 있다.
또한, 기준점에 기초하여 매칭을 수행하는 단계는, 기준점의 매칭 패턴을 식별하는 단계; 를 더 포함할 수 있다.
또한, 기준점의 매칭 패턴을 식별하는 단계는, 모바일 디바이스의 턴을 식별하는 단계; 를 더 포함할 수 있다.
또한, 턴을 식별하는 단계는, 보조 궤적의 스텝 길이를 선택하고 임계 각도 조건이 만족되었는지를 결정하는 단계를 포함할 수 있다.
또한, 스텝 길이는, 탐지하고자 하는 턴의 종류에 따라 다르게 조정되며; 턴의 종류는 턴에 대응하는 궤적의 지점에서의 곡률에 따라 결정될 수 있다.
또한, 곡률이 소정 제1 임계 곡률보다 큰 턴들의 조합의 마지막 턴 및 곡률이 소정 제2 임계 곡률보다 작은 턴 중 적어도 하나를 선택함으로써 중요한 턴을 식별하는 단계; 를 더 포함할 수 있다.
또한, 크라우드소싱된 복수의 경로 중 두 개의 크라우드소싱된 경로에 대하여 기준점에 기초한 매칭 결과를 평가하는 단계; 를 더 포함하며, 평가는 적어도 각각의 주변 신호의 유사도에 기초할 수 있다.
또한, 매칭 결과를 평가하는 단계는, 두 개의 크라우드소싱된 경로에 포함된 턴들을 서로 조합할 수 있는 경우의 수를 획득하는 단계;를 더 포함하는, 주변 신호를 이용할 수 있다.
또한, 매칭은 주변 신호의 유사도의 적어도 일부에 기초하여 평가될 수 있다.
또한, 매칭을 평가하는 단계는, 주변 신호의 유사도를 계산하고, 주변 신호의 유사도를 거리 요소로 나눈 결과에 기초하여 점수를 결정하는 단계를 포함할 수 있다.
또한, 매칭을 수행하는 단계는, 궤적 데이터를 정렬하기 위해 궤적 데이터를 이동 및 회전하는 단계; 를 더 포함할 수 있다.
또한, 주변 신호는 와이파이 신호, 블루투스 신호, 소리, 이미지 신호, 자기 신호 및 빛 신호 중 적어도 하나를 포함할 수 있다.
또한, 궤적 데이터는 복수의 모바일 디바이스로부터 수집될 수 있다.
또한, 복수의 모바일 디바이스 각각은 궤적 데이터를 생성하기 위한 적어도 하나의 센서를 포함할 수 있다.
일 실시예에 따른 방법은, 노드는 하나 이상의 자취(trace)에 의하여 통과되는 지리적 위치를 나타내고, 링크는 한 쌍의 노드를 연결함으로써 한 쌍의 노드가 나타내는 지리적 위치 사이에 이용가능한 경로를 의미할 때, 하나 이상의 자취에 기초하여 두 개 이상의 노드와 하나 이상의 링크를 포함하는 연결 노드 구조(linked node structure)를 유지하는 단계; 새로운 자취에 포함된 하나 이상의 식별 가능한 변화점을 연결 노드 구조에 포함된 하나 이상의 노드와 매칭하는 단계; 및 매칭 결과에 기초하여 연결 노드 구조를 업데이트하는 단계;를 포함할 수 있다.
일 실시예에 따른 장치는, 크라우드소싱된 복수의 경로에 대한 궤적 데이터를 수집하는 수집부로서, 크라우드소싱된 복수의 경로 각각에 대한 궤적 데이터는 고유하게 식별가능한 적어도 하나의 주변 신호와 연관되어 있는, 수집부; 및 크라우드소싱된 복수의 경로에 대한 궤적 데이터 및 적어도 하나의 연관된 주변 신호를 이용하여 자동으로 목표 경로의 모양을 결정하는, 프로세서; 를 포함할 수 있다.
일 실시예에 따른 기록매체는, 주변 신호를 이용한 궤적 매칭 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록될 수 있다.
도 1A 및 도 1B는 선행기술에 따른 궤적 데이터의 두 자취를 매칭하는 데 있어 센서 오류가 나타나는 문제를 도시한 도면이다.
도 2A 및 도 2B는 선행기술에 따른 궤적 데이터의 두 자취에 출발 오프셋이 있는 경우 문제점을 도시한 도면이다.
도 3은 일 실시예에 따른 시스템을 도시한 도면이다.
도 4는 일 실시예에 따른 시스템을 도시한 도면이다.
도 5는 일 실시예에 따른 크라우드소싱을 이용하여 경로를 자동으로 결정하는 방법을 도시한 도면이다.
도 6은 일 실시예에 따른 크라우드소싱을 이용하여 경로를 자동으로 결정하는 방법을 도시한 도면이다.
도 7은 일 실시예에 따른 보조 궤적을 선택한 길이의 스텝으로 검사하여 턴(turn) 탐지를 수행하는 모습을 도시한 도면이다.
도 8은 일 실시예에 따른 턴을 결합하기 위해 스텝 길이를 조절하는 것을 도시한 도면이다.
도 9는 일 실시예에 따른 궤적 조정을 도시한 도면이다.
도 10은 일 실시예에 따른 매칭 평가의 모습을 도시한 도면이다.
도 11은 일 실시예에 따른 연결 노드 구조를 생성하는 방법을 도시한 도면이다.
도 12는 일 실시예에 따른 연결 노드 구조를 업데이트하는 방법을 도시한 도면이다.
도 13은 일 실시예에 따른 연결 노드 구조를 생성하고 업데이트하는 방법을 도시한 도면이다.
도 14는 일 실시예에 따른 쇼핑몰을 통과하는 경로를 도시한 블록도이다.
도 15는 일 실시예에 따른 자취와 기준점을 도시한 도면이다.
도 16은 일 실시예에 따른 연결 노드 구조를 도시한 도면이다.
도 17은 일 실시예에 따른 쇼핑몰을 통과하는 경로를 도시한 블록도이다.
도 18은 일 실시예에 따른 두 개의 자취를 도시한 도면이다.
도 19는 일 실시예에 따른 자취와 기준점을 도시한 도면이다.
도 20은 일 실시예에 따른 연결 노드 구조와 자취의 매칭 지점을 도시한 도면이다.
도 21은 일 실시예에 따른 수정된 연결 노드 구조를 도시한 도면이다.
도 22는 일 실시예에 따른 두 자취를 병합하는 것을 도시한 도면이다.
도 23은 일 실시예에 따른 자취를 회전하는 것을 도시한 도면이다.
명세서 전체에서, 크라우드소싱(crowd-sourcing)은 데이터 수집에 대중을 참여시키는 것을 말한다. 즉, 목표 경로를 결정하는 데 있어, 같은 공간을 지나가고 있거나 지나간 불특정 다수 개인들의 디바이스로부터, 경로에 대한 궤적 데이터를 포함한 주변 신호를 수신하는 것을 의미한다.
또한, 턴(turn)은 모바일 디바이스의 진행방향의 변화를 말한다. 급격한 턴은 턴에 대응하는 궤적 상 지점의 곡률이 소정 제1 임계 곡률보다 큰 턴을 말한다. 완만한 턴은 턴에 대응하는 궤적 상 지점의 곡률이 소정 제2 임계 곡률보다 작은 턴을 말한다. 제1 임계 곡률은 제2 임계 곡률과 같은 값을 가지도록 설정될 수도 있다.
또한, 매칭(matching)은 복수의 궤적 또는 자취(trace)의 모양의 적어도 일부를 서로 정합하는 것을 말한다. 일 실시 예에서, 매칭은 오프셋이 포함된 복수의 궤적 또는 자취를 그 모양에 따라 이동시켜 오프셋을 제거하는 데 사용될 수 있다. 이 때, 오프셋은 적어도 일부에 대하여 정합이 가능한 복수의 궤적 또는 자취의 모양이 서로 떨어져 있는 정도를 의미한다.
이하 첨부된 도면을 참고하여 상세히 설명하기로 한다.
도 3은 일 실시 예에 따른 시스템을 도시한 도면이다. 일 실시 예에 따른 시스템은 프로세서(320)와 수집부(310)를 갖춘 컴퓨팅 디바이스(300)일 수 있다. 컴퓨팅 디바이스(300)는 주변 신호를 수집하거나 수집된 주변 신호를 수신하기 위한 수집부(310)를 더 포함할 수 있다. 수집부(310)는 복수의 크라우드소싱된 경로를 위한, 적어도 하나의 고유하게 식별될 수 있는 주변 신호와 관련된 궤적 데이터를 수집한다. 프로세서(320)는 크라우드소싱된 경로를 위한 궤적 데이터와 적어도 하나의 관련된 주변 신호를 이용하여 자동으로 경로의 모양을 결정한다. 컴퓨팅 디바이스(300)는 컴퓨터 또는 서버일 수 있으나, 이에 제한되지 않는다.
도 4 는 일 실시 예에 따른 시스템 환경의 일례를 개념적으로 도시한 도면이다. 일 실시예에 따른 시스템 환경(400)은 복수의 모바일 디바이스(405-1 내지 405-N) 및 컴퓨팅 디바이스(450)를 포함한다. 도 3의 컴퓨팅 디바이스(300)는 도 4의 컴퓨팅 디바이스(450)에 대응될 수 있다. 예를 들어, 도 3의 컴퓨팅 디바이스(300)의 수신부(310) 및 프로세서(320)에서 수행되는 각각의 동작은 도 4의 컴퓨팅 디바이스(450)의 크라우드소싱 데이터 수집 및 저장부(430), 자동 지도 생성부(440), 프로세서/메모리를 갖춘 하드웨어 구성요소(490) 중 적어도 하나에 의하여 수행될 수 있다.
일 실시 예에서, 각각의 모바일 디바이스(405-1 내지 405-N)는 위치 데이터를 생성한다. 각각의 모바일 디바이스는 순차적인 상대 위치 정보(relative sequential position information)를 제공하는 자취 데이터를 포함하는 주변 신호(ambient signal)(415-1 내지 415-N)를 제공하는데, 해당 순차적인 상대 위치 정보로부터 궤적(trajectory data)가 직접 또는 간접적으로 결정될 수 있다. 각각의 주변 신호(415-1 내지 415-N)는 바람직하게는 고유의 특성이나 식별 정보를 포함한다. 이하에서, 자취는 자취 데이터를 의미할 수 있다.
궤적 데이터는 궤적 데이터를 수집하고 저장하는 크라우드소싱 (crowdsourcing) 데이터 수집 및 저장부(430) 에 의해 수집된다. 일 실시 예에서, 위치 정보는 보행자 추측 항법(Pedestrian Dead Reckoning, PDR)을 이용하여 생성되며, 궤적 데이터를 생성하고 모바일 디바이스의 위치를 추정하기 위해 모바일 디바이스에 탑재된 센서와 위치결정 서브시스템(407)을 이용한다. 다양한 실시예에서, 위치결정 서브시스템(407)은 특정한 출발지점 혹은 최초 지점으로부터의 상대적인 위치를 추정한다. 예를 들어, 최초 지점은 x-y축 좌표계에서 (0,0)이 될 수 있으나, 이에 한정되지 않고 적절한 위치결정 시스템이나 좌표계라면 무엇이든 사용할 수 있다. PDR의 경우, 센서의 데이터 및 보폭 등의 요소를 통해 보행자의 움직임을 결정하기 위해 모바일 디바이스에 탑재된 센서의 예로 자이로 센서, 방향 센서, 그리고 가속 센서 등을 들 수 있다. 더 일반적으로는, 모바일 디바이스의 위치결정 서브시스템(407)은 다른 기술을 사용하여 위치 데이터를 생성하고, 모바일 디바이스로부터 생성된 궤적 데이터를 포함시킬 수 있다. 특정한 종류의 데이터는, 예를 들면 GPS 데이터와 같은, 야외 활동과 같은 특정한 환경에서만 이용 가능하다. 따라서, 서로 다른 종류의 궤적 데이터가 이용 가능하다면 2 이상의 다른 타입의 궤적이 사용될 수 있다는 것을 알 수 있다. 궤적 데이터는 실내 혹은 야외 환경에서 수집될 수 있다.
각각의 모바일 디바이스(405-1 내지 405-N)는, 예를 들어, 탑재된 센서, 프로세서, 메모리 및 무선통신 기능을 갖춘 스마트폰일 수 있다. 하지만 더 일반적으로, 모바일 디바이스(405-1 내지 405-N)는 스마트폰에 제한되지 않고, 모바일 로봇, 이동체 및 자동차와 같은 다른 종류의 모바일 디바이스를 포함할 수 있다.
일 실시예에 따라, 컴퓨팅 디바이스(450)는 데이터 수집 및 저장부(430), 지도 생성부(440) 및 프로세서 프로세서와 메모리를 갖춘 하드웨어 구성 요소(490)를 포함할 수 있다. 데이터 수집 및 저장부(430)는 선택한 장소의 궤적 데이터를 모아 크라우드소싱하기 위해 최소 두개 이상의 모바일 디바이스로부터, 바람직하게는 여러 개(N개)의 모바일 디바이스로부터 궤적 데이터를 수집하고 저장한다. 장소는 실내일 수도 있다. 하지만, 더 일반적으로 장소가 실내에 제한되지는 않는다. 서로 다른 모바일 디바이스로부터 수집된 궤적 데이터는 정확히 같은 경로에서 얻은 데이터로 제한되지 않으며, 약간 다른 경로, 부분적으로 겹치는 경로, 혹은 서로 다른 사람이 반드시 같은 경로로 걸어가도록 되어있지 않은 건물이나 공간을 걸어서 지나갈 때 발생할 수 있는, 서로 다른 오프셋을 가진 경로일 수 있다. 데이터 수집 및 저장부(430)는 프로세서, 메모리와 같은 하드웨어를 포함한다는 것을 알 수 있다. 데이터 수집 및 저장부(430)는 또한 직접적으로 주변 신호를 탐색하고 수신하거나, 다른 신호탐색기로부터 정보를 수신할 수 있다.
주변신호는, 비록 요구사항은 아니지만, 바람직하게는 각각의 자취를 식별하기 위한, 모바일 디바이스 ID 혹은 MAC ID와 같은 고유의 식별정보를 포함한다. 주변신호로는, 비록 더 일반적으로는 시각 이미지, 자기/전자기, 소리 또는 빛 등의 신호전달 매체가 사용될 수 있지만, 와이파이 신호 혹은 블루투스 신호를 사용할 수 있다.
일 실시 예에서, 자동 지도 생성부(440)는 각 자취의 기준점(anchor point)을 탐색하는 유닛 (442), 궤적 매칭을 수행하는 유닛(444), 궤적 병합과 수정을 수행하는 유닛(446) 및 경로 매핑을 수행하는 유닛(448)을 포함한다. 궤적 병합과 수정을 수행하는 유닛(446)은 다양한 사용자로부터 얻은 경로가 같은 장소로부터 온 것이라면 이를 병합한다. 매핑을 수행하는 유닛(448)은 병합되고 수정된 궤적으로부터 지도를 생성한다. 이는 사용자로부터 수집된 다른 데이터들을 포함할 수 있다. 자동 지도 생성부(440)는 적어도 하나의 프로세서와 메모리를 갖춘 하드웨어 요소(490)를 포함하는, 컴퓨팅 시스템에 설치된 소프트웨어 모듈로서 실시될 수 있다.
도 5는 일 실시 예에 따른 방법의 흐름도이다. 단계 505에서, 궤적 데이터는 복수의 크라우드소싱된 경로들로부터 수집된다. 복수의 경로들 각각의 궤적 데이터는 최소 하나의 고유하게 식별가능한 주변 신호와 연계되고, 단계 510에서, 복수의 크라우드소싱된 경로 각각에 대한 기준점을 찾는다.
기준점은, 이를테면 턴, 정지, 속도변화, 점프 혹은 문을 여는 등의 특정한 사용자의 행동의 특징과 연관된, 모바일 디바이스들의 방향이나 가속도의 변화와 같은 궤적 데이터 특성의 전이가 발생하는 지점에 대응된다. 나아가, 이동체 혹은 자동차와 같은 경우, 기준점은 속도변화, 정지, 둔덕 혹은 경로상의 장애물과 연관된 특성의 전이가 발생하는 지점에 대응될 수 있다. 또한 기준점은 자취의 식별가능한 변화가 일어나는 지점에 대응된다. 즉, 궤적 데이터 특성의 전이가 발생하는 지점은 자취의 식별가능한 변화점에 대응될 수 있다. 궤적 데이터의 제1 자취에 포함된 제1 기준점 세트는 제 1 패턴을 식별하기 위하여 지문과 같이 사용될 수 있다. 궤적 데이터의 제2 자취의 제2 기준점 세트는 제 1 패턴에 잠재적으로 대응될 수 있는 제 2 패턴을 갖는다. 패턴들은 서로 매칭될 수 있는 가능성이 있는지 평가받게 된다.
단계 515에 나타난 바와 같이, 각각의 크라우드소싱된 경로는 기준점에 근거하여 아래와 같이 매칭될 수 있다. 주어진 센서 오차와 잠재적인 오프셋에 따라, 두 개의 자취가 정렬될 수 있도록 각각에 대하여 이동되고 회전될 수 있다. 자취의 조정이나 수정 작업은 한 쌍의 자취를 정렬하기 위한 기하학적 매핑 작업과 매칭된 특정 기준점 세트를 이용하여 수행될 수 있다. 이는 자취의 조정 및 수정을 위한 자취의 이동 및 회전을 포함할 수 있다. 그 외에, 궤적의 기하학적 형태가 기하학적 조정 및 수정을 위해 사용될 수도 있다. 이 과정은 주어진 장소에서의 궤적 데이터의 각기 다른 자취들에 대한 가능한 모든, 따라서 잠재적으로 아주 많은 숫자의 매칭에 대해서 수행될 수 있다.
주변 신호의 특징에 기초하여 불가능한 조합을 제거하기 위한 하나 이상의 규칙을 포함할 수 있다. 예를 들어, 특정한 기준점들의 매칭은 경우의 수에 따라 이론적으로 가능하나, 그 배경이 되는 주변 신호들의 유사성에 대한 평가를 두고 보면 상당히 가능성이 낮아 보일 수 있다. 따라서, 일 실시 예에서는 매칭하고자 하는 두 자취의 주변 신호의 특징을 분석하여 불가능해 보이는 매칭을 제거한다.
단계 520에서 최적의 매칭이 평가된다. 평가에는 매칭의 주변신호 간의 유사성 및 매칭되는 궤적의 기하학적 측면이 모두 고려된다. 주변 신호가 높은 유사성을 가지고 있어도, 기하학적 거리가 매칭에 높은 점수를 주는 것을 막을 수도 있다. 일 실시 예에서, 점수를 매기는 알고리즘은 주변신호 간 유사성에 대한 계산을 기초로 하고, 나아가 기준점 쌍과 연관된 기하학적 거리를 고려하여 매칭을 평가하게 된다. 모든 가능한 매칭이 평가되고, 가장 높은 점수를 받은 매칭이 선택된다. 단계 525에서, 경로의 모양은 최적의 매칭에 기초하여 자동으로 정해질 수 있다. 두 개의 자취가 도시되었고, 더 일반적으로 이 과정은 복수 개의 자취를 평가하고 가장 적당한 경로를 선택하는 것으로 확장될 수 있다.
도 6은 기준점이 턴인 경우에 크라우드소싱을 통해 자동적으로 경로를 결정하는 방법의 양상을 도시한 흐름도이다. 각 블록 아래에 설명에 도움이 되는 추가 도면이 도시되어 있다. 본 예시에서, 블록 605의 궤적 데이터 A와 B의 두 개의 자취에 대한 자취 데이터를 입력한다. 원본 자취 데이터에는 센서 오류와 오프셋이 있을 수 있다. 더욱이, 원본 자취 데이터는 일부 중복된 경로 혹은 오프셋이 있는 경로에 대응될 수 있다. 결과적으로, 자취 A와 B는 다른 모양을 갖는다. 이 예시에서, 기준점들은 턴이고 블록 610에서 자취 데이터들의 턴이 탐지된다. 그 결과 자취 A에서는 턴 1, 2가 탐지되었다. 자취 B에서는 턴 1, 2, 3이 탐지되었다. 이는 블록 615에서 두 자취의 가능한 턴 매칭을 평가하기 위해 고려해야 할 다양한 경우의 수를 만들어낸다. 이 예시에는, 여섯 개의 가능한 턴 기준점 매칭이 있다. 예를 들어, 자취 A의 턴 1은 자취 B의 턴 1과 매칭될 수 있고, 자취 A의 턴 1은 자취 B의 턴 2와 매칭될 수 있으며, 다른 모든 가능한 경우에 대해서도 마찬가지이다.
턴 매칭의 경우의 수를 분석하는 목적은 두 궤적의 가능한 모든 매칭을 생성하는 데 있다. 예를 들어, 궤적 A에는 두 번의 턴이 있다: A1과 A2; 그리고 또다른 궤적 B에 두 번의 턴이 있다: B1과 B2. 이 턴들의 가능한 조합들은:
(A1, B1), (A2,B2)
(A1, B2), (A2,B1)
(A1, NULL), (A2, B1)
(A1, NULL), (A2, B2)
(A2, NULL), (A1, B1)
(A2, NULL), (A1, B2)
여기서 우리는 최소 하나의 턴 매칭이 존재하며, 무위 결과를 가질 수도 있다고 가정한다. 무위 결과는 하나의 턴이 다른 궤적의 무엇과도 매칭되지 않을 경우 발생한다. 이 예시에서, 두 자취는 다른 개수의 턴이 탐지되어, 일부 가능한 경우의 수에서 무위 결과가 발생하게 된다.
앞으로의 단계에서 계산을 줄이기 위해, 일 실시 예에서 불가능한, 또는 더욱 정확하게는, 상당히 가능성이 낮아 보이는 조합은 주변신호의 신호 유사성 테스트에 기초하여 배제된다.
일 실시 예에서 주변 신호는 와이파이 신호이고, 불가능한, 또는 더욱 정확하게는, 상당히 가능성이 낮아 보이는 조합은 두 코너 간 와이파이 유사성을 계산하여 배제된다. 와이파이 신호는 두 코너에서 발견된다. 두 개의 와이파이 스캔 신호 A와 B가 주어졌을 때:
A = {ap1:rss1, ap2:rss2, api:rssi, …}
B = {ap1:rss1, ap2:rss2, apj:rssj, …}
그리고 두 신호 간의 유사성을 계산하기 위해 아래와 같이 타니모토 유사도 계산이 사용된다.
Figure 112015039731115-pat00001
위 예시에서, 만일 A1과 B1사이의 와이파이 유사도가 임계값보다 낮은 경우 (A1, B1)매칭을 포함하는 모든 조합은 제거될 것이다. 따라서 최종적으로 가능한 조합들은 아래와 같다.
(A1, B2), (A2,B1)
(A1, NULL), (A2, B1)
(A1, NULL), (A2, B2)
(A2, NULL), (A1, B2)
이 유사도 공식은 고려해야 하는 조합의 수를 줄이고자 수행하는 유사한 임계값 테스트 및 다른 주변 신호에 대해서도 적용될 수 있다.
블록 625에 도시된 바와 같이, 턴 매칭에 기초하여 추가적인 궤적 조정(자취 조정)이 수행될 수 있다. 즉, 주어진 기준점들의 매칭을 위한 두 궤적의 조정이 수행되는 것이다. 도 6은 주어진 기준점을 조합하는 경우의 수에 대해서 어떻게 두 자취가 정렬되는지에 대한 서로 다른 예시를 보여준다.
블록 630에서는 가장 좋은 매칭을 선택하기 위해 매칭 평가를 수행한다. 즉, 각 궤적 조합의 우도(likelihood)를 평가한다. 이 예시에서, 여섯 개의 가능한 조합 중 최적의 매칭이 선택된다.
추가적인 자취에 대해서도 같은 과정이 계속될 것임을 알 수 있다. 처음의 두 자취가 매칭된 후에, 이 두 자취는 다른 자취들을 매칭하는 데 사용된 하나의 자취로 병합될 것이다.
도 7은 일 실시 예에 따른 턴 탐색의 양상을 도시한 도면이다. 일 실시 예에서 스텝 길이 S를 갖는 보조 자취 슬라이드 창이 턴 탐색을 위해 사용된다. 따라서, 하나의 자취는 슬라이드 창이 이동함에 따른 스텝들의 연속에서 고려되는 보조 자취들의 연속으로 분석된다. 각각의 보조 자취에 대해, 보조 자취의 시작지점인 첫 번째 지점(위치 0), 보조 자취의 중간지점(위치 S/2), 그리고 보조 자취의 종결지점(위치 S-1) 사이에 형성된 각도에 대한 계산이 창 안에서 수행된다. 일 실시 예에서는 각각의 보조 궤적에서 계산된 각도에 대한 임계값 t가 설정된다. 만일 각도가 t보다 클 경우, 스텝 S/2에 있는 중간지점은 궤적의 턴 지점이 될 수 있는 것으로 취급된다. 만일 t보다 큰 각도를 갖는 보조 궤적들이 연속해있을 경우, 가장 작은 각도를 갖는 보조 궤적의 S/2지점이 턴 지점인 것으로 선택하고, 연속하는 보조 궤적상의 나머지 턴 지점들은 무시한다. 이 과정은 스텝의 수인 S개의 모든 보조 궤적들을 조사할 때까지 계속된다.
도 8은 완만한 턴과 급격한 턴의 탐지를 최적화하기 위한 혼합적 접근방법을 도시한다. 도 8에 도시된 바와 같이, 궤적 데이터는 완만한 턴과 급격한 턴의 조합을 포함할 수 있다. 자취(805)에서, 완만한 턴 T1이 급격한 턴 T2를 가까이에 둔 모습이 도시되어 있다. 일 실시 예에서는 주요한 턴만을 선택하도록 파라미터를 세팅할 수 있다. 예를 들어, 만일 몇 개의 턴이 서로 가까이에 위치해있는 경우(T2지역과 같이), 시작과 끝의 턴만 포함하도록 함으로써 급격한 턴은 제거될 수 있다.
파라미터 값 S를 조정하는 것은, 완만한 턴과 급격한 턴을 탐지하기 위한 방법 중 하나이다. 만일 S가 길게 설정된다면, 탐지 알고리즘은 완만한 턴을 탐지할 수 있지만 가까이에 있는 턴들을 정확하게 탐지해내지 못한다(도 8의 두 번째 도면 810에 도시한 바와 같이). 반면에, 만일 S가 작게 설정된다면(점 크기를 작게 하여 나타내었다), 아주 세세한 모양의 턴을 탐지해낼 수 있지만 쇼핑몰과 같은 넓은 실내에서 일반적으로 나타나는 완만한 턴을 놓칠 수 있다(도 8의 세 번째 도면 815에 나타난 바와 같이).
도면 820은 두 개의 서로 다른 파라미터 값 S를 사용함으로써 혼합적인 접근을 시도하는 모습을 도시하고 있다. 제 1 턴 탐지 단계에서는, 소정 제 1 임계값보다 큰 값 S를 사용하여 궤적의 완만한 턴을 탐지한다. 제 2 턴 탐지 단계에서는, 소정 제 2 임계값보다 작은 값 S 를 사용하여 궤적의 작고 급격한 턴을 탐지한다. 제 1 임계값과 제 2 임계값은 같은 값을 가지도록 설정될 수도 있다. 두 가지의 턴 탐지를 결합하여 혼합된 결과를 얻을 수 있다. 도면 820에 도시된 바와 같이, 두 가지의 턴 탐지 결과를 결합할 때, “급격한 턴” 근처의 “완만한 턴”은 제거된다.
또한, 다섯번째 도면 825에서 도시된 바와 같이, 일 실시 예에서는 근접한 여러 턴들 중 하나만 선택될 수 있다. 도면 825의 결과는 수 개의 근접한 급격한 턴들이 결합된 것이다. 혼합된 접근방법의 파라미터는 관심을 두고 있는 경로를 식별하는 데 중요한 턴들을 탐지하기 위해 사용되는 특정 응용의 결과를 최적화하기 위해 적용되고 선택될 수 있다는 것을 알 수 있다.
도 9는 두 개의 자취를 매칭하기 위한 궤적 조정의 추가적인 양상을 도시한다. 일 실시 예에서, 궤적 조정은 한 궤적의 턴 순서에 따르고 매칭된 턴을 하나하나씩 병합한다. 처음으로 매칭된 턴에 대해, 한 궤적의 턴은 다른 궤적의 턴으로 이동된다. 이어지는 턴들은, 두 개의 매칭된 턴의 평균을 기초로 계산되는 새로운 턴의 좌표에 맞추어 회전된다. 턴 조정을 하는 중에는, 오직 이동 및 회전 작업만이 허용된다. 비슷한 결과를 얻기 위해 다양한 이동과 회전 작업이 가능하다는 것을 알 수 있을 것이다.
도 10은 매칭 평가의 추가적인 모습을 도시한 도면이다. 유사도가 각 쌍의 턴에 대해서 계산되며, 주변 신호가 와이파이 신호인 경우에는 와이파이 유사도를 계산하게 된다. 각 쌍의 턴에 대해서 거리가 계산된다. 그리고 각 쌍의 턴에 대해서 평균 점수가 계산된다. 따라서, 이 예에서 두 개의 자취는 A-1과 B-2의 턴 쌍을 갖는다.
매칭 평가는 각각의 조정된 궤적 쌍에 대해 궤적 매칭의 우도를 나타내는 점수를 매긴다. 평가 알고리즘은 두 개의 턴/코너가 같은 장소에 위치한다면, 두 턴과 연관된 와이파이 신호(혹은 다른 주변신호)가 매우 비슷할 것이라는 관찰에 기초한다. 그리고 만일 두 개의 턴이 궤적 내에서 올바르게 매칭된다면, 매칭에서 두 턴 간의 거리는 짧아질 것이다.
위 관찰에 기초하여, 점수 S를 계산한다:
S = Wi-Fi 유사도/턴 거리
두 개의 와이파이 스캔 신호가 주어졌을 때,
A = {ap1:rss1, ap2:rss2, api:rssi, …}
B = {ap1:rss1, ap2:rss2, apj:rssj, …}
그리고 두 신호 간의 유사성을 계산하기 위해 아래와 같이 타니모토 유사도 계산이 사용된다.
Figure 112015039731115-pat00002
턴 거리를 계산하기 위해 유클리드 거리법이 사용된다. 만약 두 개의 턴이 (x1, y1), (x2, y2)의 좌표를 갖는다면, 턴 거리는 다음과 같이 계산된다.
d = sqrt( (x1-x2)^2 + (y1-y2)^2)
가까운 턴 쌍에 대해서, 결과는 만일 궤적 조정이 궤적을 실제(기저 값)에 가깝게 만든다면, 그러한 턴 거리는 작아질 것이다. 그렇지 않으면, 턴 거리는 커질 것이다. 각 쌍의 와이파이 유사도는 똑같을 것이다. 가까이에 있는 모든 턴 쌍에 대하여 점수의 평균을 낸다. 그에 따라, 더 나은 매칭은 더 높은 점수 S를 받게 되고, 나쁜 매칭은 낮은 점수 S를 낼 것이다. 그러면 가장 높은 점수 S를 낸 매칭을 선택하게 된다.
발명이 특정한 실시예와 함께 설명될 때, 이는 발명의 범위를 설명한 실시예에 한정하고자 하는 것이 아님을 알 수 있을 것이다. 반대로, 이는 첨부된 청구항에 정의된 발명의 범위와 정신에 포함될 수 있는 대체, 수정 그리고 균등범위를 포함하고자 하는 것이다. 일 실시 예는 특정한 상세의 일부 혹은 전부를 배제하고 실시될 수도 있다. 이에 더해, 발명에 불필요한 모호함을 피하기 위해 잘 알려진 기능들은 자세히 설명되지 않았을 수 있다.
일 실시 예에 관한 구성, 진행단계, 및/또는 데이터 구조는 다양한 종류의 운영체제, 프로그래밍 언어, 컴퓨팅 플랫폼, 컴퓨터 프로그램 및/또는 범용 기계들을 사용하여 실시할 수 있다. 이에 더해, 당해 기술분야의 통상적 지식을 갖춘 자는 비교적 범용성이 떨어지는 기기들, 예를 들어 하드웨어에 내장된 기기, FPGAs(Field Programmable Gate Arrays), ASICs(Application Specific Integrated Circuits), 혹은 그와 같은 것들도 여기에 개시된 발명의 개념의 범위 및 정신으로부터 떨어지지 않고 사용될 수 있다는 것을 알 수 있다. 일 실시 예는 또한 메모리 디바이스와 같은 컴퓨터로 읽을 수 있는 매체에 저장된 일련의 컴퓨터 명령어 집합을 명백히 포함할 수 있다.
연결 노드 구조(Linked node structure)
앞서 언급한 실시예들 중 일부는 자취의 턴을 식별하고, 턴을 매칭하고 궤적을 병합하는 기술을 설명하고 있다. 즉, 다양한 실시예에서, 궤적 데이터는 복수의 모바일 디바이스(405-1 내지 405-N)로부터 수집된다. 궤적 데이터는, 예를 들어, 쇼핑몰, 쇼핑지구, 놀이공원 등 실내외에 있는 복수의 사용자들의 움직임을 반영할 수 있다. 기준점(턴 지점, 점프, 속도변화 등)이 각각의 자취로부터 탐지된다. 각각의 크라우드소싱된 경로들은 기준점을 기초로 하여 매칭된다. 일치하는 자취들은 기준점 매칭을 기초로 하여 서로에 대하여 이동되고 회전될 수 있다. 위 기술들의 예시는 도 3내지 도 10 과 연관되어 위에서 논의되었다.
다양한 실시예에서, 복수의 자취의 병합과 매칭을 나타내기 위해 연결 노드 구조가 사용된다. 연결 노드 구조는 복수의 노드가 링크로 연결되는 것을 나타내거나 포함하는 모든 구조를 의미한다. 각 노드는 지리학적 위치 및/또는 기준점과 일치한다. 링크가 두 개의 노드를 연결할 때, 다양한 실시예에서 사용자는 두 노드가 나타내는 지리학적 위치 사이를 그 어떠한 다른 알려진 노드나 기준점을 지나지 않고 직접적으로 이동할 수 있음을 나타낸다. 일반적으로, 어떠한 적절한 소프트웨어나 하드웨어도 연결 노드 구조를 생성하기 위해 사용될 수 있다. 일부 실시예에서는, 예를 들어, 연결 노드 구조는 트리 혹은 트리와 유사한, 노드, 링크, 가지(branches) 등을 가진 구조를 나타내거나 대표하는 자료구조일 수 있다. 하지만 이는 요구사항이 아니고 다른 다양한 구조 역시 사용 가능하다.
연결 노드 구조는 자취의 처리과정을 간소화하고 병합된 자취들에 기초한 지도 및 안내 어플리케이션을 사용 가능하게 하는 등 경로 정보를 관리하는 데 있어 도움을 줄 수 있다. 추가적으로 크라우드소싱된 자취들이 수집됨으로써, 새로 수집된 자취들을 반영하기 위한 노드와 링크들이 연결 노드 구조에 추가된다. 시간이 지나면, 연결 노드 구조는 그간 수집되고 분석된 모든 크라우드소싱된 자취에 기초한 서로 다른 모든 기준점/장소 사이에 존재하는 모든 알려진 경로를 대표할 수 있다. 연결 노드 구조가 정렬된 방법 때문에, 다양한 실시예들에서 때때로 컴퓨터가 병합된 자취들 자체보다 연결 노드 구조로부터 더 빠르고 효율적으로 유용한 데이터(예를 들어, 지도 데이터, 안내 데이터 등)를 얻어낼 수 있다.
다음으로 도 11을 참조하여, 최초의 자취로부터 연결 노드 구조를 생성하기 위한 방법의 예(1100)를 설명할 것이다. 예시에서, 서버(예를 들어, 크라우드소싱 데이터 수집 및 저장부(430))는 방법 1100을 수행한다. 하지만 적절한 컴퓨팅 디바이스라면 모두 이 방법을 수행할 수 있다. 일반적으로, 방법 1100을 수행하는 디바이스는 복수의 크라우드소싱된 자취(예를 들어, 서버가 복수의 모바일 디바이스(405-1 내지 405-N)로부터 수신한 궤적 데이터) 에 대한 접근을 할 수 있다.
단계 1102에서, 자취를 형성하는 궤적 데이터를 획득한다. 궤적 데이터는 위에서 설명된 궤적 데이터(예를 들어, 모바일 디바이스(405-1 내지 405-N)로부터 획득한 궤적 데이터)일 수 있다. 궤적 데이터는 PDR 데이터, 모바일 디바이스(405-1 내지 405-N)로부터 수신한 주변신호에 기초한 주변 신호 데이터 혹은 시간에 따른 디바이스의 위치 및 그 주변의 변화를 추적하고 식별하는 데 적합한 어떠한 데이터라도 포함할 수 있다. 몇 실시예에서, 예를 들어, 각 자취는 복수의 정점들로부터 형성되며, 각 정점은 하나의 장소(예를 들어, x, y좌표로 표현), 타임스탬프(예를 들어, 해당 장소에 모바일 디바이스(405-1 내지 405-N)가 도착한 시간을 표시) 및 주변 신호 데이터(예를 들어, 해당 장소에 있는 디바이스로부터 수신한 신호의 세기를 나타내는 데이터) 와 연관된다. 주변 신호는 와이파이, 블루투스, 초음파, 빛 및/또는 모바일 디바이스(405-1 내지 405-N)로부터 특징과 파라미터가 탐지된 어떠한 종류의 신호라도 포함할 수 있으나, 이에 제한되지 않는다.
이동경로의 예(1402) 와 그에 따른 자취 1401이 도 14와 도 15에 도시되어 있다. 도 14는 쇼핑몰(1404)과 같은 실내 장소의 레이아웃 예를 도시한다. 쇼핑몰(1404)은 다양한 실내 가게, 벽, 구조물과 통로를 포함한다. 도 14는 또한 모바일 디바이스(405-1 내지 405-N)를 가지고 쇼핑몰을 통과하는 사용자의 움직임을 대략적으로 나타내는 경로 1402를 포함한다. 도 15는 모바일 디바이스(405-1 내지 405-N)가 경로 1402를 지나가는 동안 수집된 궤적 데이터를 나타내는 경로 1500을 도시한다. 이 예에서, 자취 1500은 PDR 데이터에 기초하고, 따라서 복수의 데이터 정점들로 만들어졌으며, 각각의 데이터 정점들은 시간에 따른 모바일 디바이스(405-1 내지 405-N)의 특정한 지리적 위치를 나타낸다.
도 11으로 돌아가서, 단계 1104에서, 기준점들은 자취 1500에서 식별된다. 기준점에 대해서는 이미 앞에서 언급하였다. 몇 실시예에서, 기준점은 방향 및 가속의 변화(예를 들면, 회전, 속도변화, 점프 등)와 같은 궤적 데이터 특성의 전이가 발생하는 지점과 일치한다. 기준점을 탐색하기 위한 전술한 모든 기술이 사용될 수 있다. 예를 들면, 도 5의 단계 510과 도 6 내지8에 관하여 설명한 것과 같다.
도 15는 자취 1500에서 식별된 기준점들의 예시 세트를 도시한다. 도 15는 자취 1500과 기준점 1504a, 1504b, 1504c, 1504d 및 1504e를 포함한다. 이 특정한 예에서, 각각의 기준점은 자취 1500에서 턴이 탐지되거나 자취가 시작하고 멈춘 부분을 나타낸다. 즉, 자취는 기준점 1504a에서 시작하고, 기준점 1504e에서 멈춘다. 그리고 기준점 1504b, 1504c 및 1504d 기준점에서의 턴을 포함한다.
앞서 논의한 바와 같이, 각각의 기준점들은 다양한 추가 데이터들과 연관될 수 있다. 예를 들면, 도시된 실시예에서 각각의 기준점들은 궤적/위치 데이터와 주변 신호 데이터와 연관되어 있다. 궤적 데이터는, 예를 들면 모바일 디바이스(405-1 내지 405-N) 로부터 수집된 PDR 데이터에 기초한, 특정한 지리적 위치를 나타낸다. 주변 신호 데이터는 모바일 디바이스(405-1 내지 405-N)가 해당 지리적 위치에 있을 때 획득한 신호(예를 들어, RF, 와이파이, 블루투스, 센서 데이터 등) 의 특징을 나타낸다. 예를 들어, 몇 실시예에서는, 주변신호 데이터는 모바일 디바이스(405-1 내지 405-N)가 해당 지리적 위치에 있을 때의 신호(예를 들어, 와이파이, 블루투스 등)의 세기를 나타낸다. 주변 신호 데이터는 신호를 전송하는 디바이스의 정체(예를 들어, 블루투스/와이파이 신호를 전송하는 디바이스의 MAC address)를 나타내는 데이터를 포함할 수 있다. 다양한 실시예에서, 기준점 데이터는 타임스탬프(예를 들어, 특정한 모바일 디바이스(405-1 내지 405-N)가 기준점 위치에 도달한 시간을 나타내는 타임스탬프)를 포함한다.
도 11으로 돌아가서, 단계 1106에서는, 기준점 및/또는 자취에 기초하여 연결 노드 구조가 생성된다. 연결 노드 구조는 지리적인 위치/기준점 사이의 경로 혹은 링크를 나타내는 데 도움이 되도록 정리된 어떤 구조(예를 들어, 소프트웨어 데이터 구조)라도 될 수 있다.
연결 노드 구조(1600)의 예시가 도 16에 도시되어 있다. 이 예시에서, 연결 노드 구조(1600)는 트리 혹은 트리와 유사한 구조이나, 반드시 그럴 것이 요구되는 것은 아니다. 연결 노드 구조(1600)는 복수의 링크(1606)로 연결된 복수의 노드 1604a, 1604b, 1604c, 1604d 및 1604e를 포함한다. 도 16에 도시된 바와 같이, 각 노드는 도 15에 도시된 자취 1500의 기준점들과 일치한다. 이 예시에서, 각 노드는 모든 해당하는 기준점과 연관된 기준점 데이터(예를 들어, 궤적 데이터, 주변 신호 데이터, 지리학적 위치, 타임스탬프 등)를 포함하거나 연관되어 있다.
연결 노드 구조를 만들기 위한 다양한 방법이 있다. 도시된 실시예에 따르면, 예를 들어, 연결 노드 구조(1600)의 노드와 링크를 만들기 위해 다음과 같은 과정이 사용된다.
1) 자취상의 첫 번째 기준점을 획득한다. 즉, 자취를 만드는 데 도움을 준 사용자 혹은 모바일 디바이스가 가장 먼저 방문한 지리적 위치와 일치하는 기준점을 말한다;
2) 첫 번째 기준점을 기초로 하는 노드를 생성한다. 이 노드는 연결 노드 구조의 첫 번째 노드(루트)가 된다;
3) 연결 노드 구조에 포함되지 않은 기준점이 있는지 자취를 조사한다. 만일 더 이상 자취에 기준점이 없다면, 연결 노드 구조는 종료된 것이다;
4) 만일 여전히 하나 이상의 기준점이 연결 노드 구조에 포함되지 않고 남아 있다면, 사용자 혹은 모바일 디바이스가 방문한 순서대로 다음 기준점으로 이동한다;
5) 다음 기준점을 기초로 하는 노드를 생성한다; 직전에 생성된 노드와 이번 노드 사이에 링크를 생성한다.
6) 단계 3)으로 돌아간다.
도 16에 도시된 예에서, 위 과정의 결과로 연결 노드 구조(1600)가 완성된다. 연결 노드 구조는 도 15의 기준점 1504a 내지 1504e와 각각 일치하는 노드 1604a 내지 1604e를 포함한다. 각 노드는 해당하는 기준점과 연관된 데이터(예를 들어, 궤적 데이터, 주변 신호 데이터, 지리적 위치 등)를 포함하거나 연관되어 있다.
도시된 실시예에서, 두 노드 사이의 각 링크는 각 노드와 연관된 지리적 위치 사이에 직접적인 경로가 있음을 나타낸다. 예를 들어, 노드 1604b가 위치 X를 나타내고 노드 1604c가 위치 Y를 나타낸다고 가정한다. 두 노드 사이의 링크는 사용자가 기준점을 결정하는 데 기초가 되는 위치, 특징 및/또는 신호를 마주치지 않고 두 위치 X와 Y사이를 이동할 수 있다는 것을 나타낸다. 도시된 실시예에서, 예를 들어, 기준점은 모바일 디바이스의 움직임 경로상의 턴을 나타낸다. 따라서, 노드 1604b와 1604c 사이의 링크는 사용자가 장소X와 Y사이를 턴 및/또는 실질적인 방향전환 없이 지나갈 수 있다는 것을 의미한다(이는 또한 장소 X와 Y 사이에 직선 통로가 연결된 도 14에서도 볼 수 있다).
연결 노드 구조에 문자 그대로 분명한 노드와 링크가 존재하지 않아도 된다. 어떠한 적절한 데이터 혹은 구조(예를 들어, 소프트웨어 혹은 하드웨어 기반의 데이터 구조)라도 명백히 자취(예를 들어, 원본 PDR 데이터 혹은 주변신호 데이터)를 기초로 하고 있고 앞서 언급한 연결 노드 구조의 적어도 약간의 기능을 나타내는 데 도움이 된다면 사용할 수 있다.
일반적으로, 각각의 노드는 노드 데이터를 포함하거나 연관되어 있다. 앞서 언급한 바와 같이, 각 노드는 기준점을 기초로 하여 생성되고, 따라서 노드 데이터는 해당 기준점과 연관된 데이터와 동일하거나, 이를 기초로 하고 있다. 다양한 실시예에서, 각 노드는 따라서 궤적/위치 데이터(예를 들어, PDR데이터 혹은 지리적 위치를 나타내는 데 도움이 되는 모든 데이터), 주변 신호 데이터(예를 들어, 해당 장소에서 수신하는 주변 신호의 세기) 및/또는 타임스탬프(예를 들어, 모바일 디바이스(405-1 내지 405-N)가 언제 해당 지리적 위치에 도착했는지를 나타내는)와 연관되어 있다. 추가적으로, 노드 데이터는 다른 모든 적당한 파라미터 혹은 값을 포함할 수 있다. 몇 실시예에서, 예를 들어, 노드 데이터는 노드와 연관된 지리적 위치에 얼마나 많은 경로 혹은 자취가 통과했는지를 나타내는 통과값(passthrough value)을 포함한다. 도 16에 도시된 예시에서, 연결 노드 구조(1600)가 단일 자취로부터 생성되었으므로, 각 노드 1604a 내지 1604e는 통과값 1을 갖는다.
연결 노드 구조가 선택된 자취를 기초로 하여 형성되면, 추가적인 자취들을 분석하게 된다. 자취들과 연결 노드 구조들 중 일부는, 비록 다른 물리적 시작점과 끝 지점을 가질지라도, 같은 일반적인 지리적 공간(예를 들어, 도 14의 쇼핑몰(1404))에 연관될 수 있다. 연결 노드 구조는 병합된 자취와 각각의 기준점들을 고려하기 위해 조정된다. 따라서, 다양한 실시예에서, 연결 노드 구조는 특정한 지리적 영역에서 겹쳐진 복수의 자취들로부터 획득한 여정 및 운행 정보를 반영한다. 이 과정의 예시는 도 12에 설명되어 있다.
도 12는 연결 노드 구조를 이용하여 자취를 병합하는 방법1200의 예시를 도시한 흐름도이다. 방법 1200은 연결 노드 구조는 이미 만들어져 있다고 가정한다(예를 들어, 도 11의 방법 1100에서 서술한 바와 같이). 이 예에서는, 어떠한 적절한 서버(예를 들어, 크라우드소싱 데이터 수집 및 저장부(430)와 같은)가 방법 1200을 수행하나, 어떠한 적절한 컴퓨팅 디바이스 역시 이 방법을 수행할 수 있다. 일반적으로, 방법 1200을 수행하는 디바이스는 복수의 크라우드소싱된 자취, 예를 들어, 다수의 모바일 디바이스(405-1 내지 405-N)로부터 수신한 궤적 데이터, 에 접근할 수 있다.
단계 1202에서, 새로운 자취에 대한 궤적 데이터를 획득한다. 이전에 논의한 바와 같이, 이 자취는 복수의 모바일 디바이스(405-1 내지 405-N)로부터 수집된 크라우드소싱된 궤적 데이터를 기초로 한 다수의 자취 중 하나일 수 있다.
단계 1202의 실시예는 도 17과 도 18에 도시되어 있다. 도 17은 다시 도 14에 도시된 쇼핑몰(1404)을 보여준다. 도 14에 도시된 이동경로 1402는 도 17에도 가느다란 선으로 도시되어 있다. 두꺼운 선은 같은 쇼핑몰 내의 또다른 사용자 및 모바일 디바이스가 취한 다른 경로 1702를 간단히 나타낸다. (경로 1702는 경로 1702와 같은 모바일 디바이스에 의해 이미 통과되었을 수 있음을 주의해야 한다.) 이동경로 1402와 1702는 어느 정도 겹쳐진다.
도 18은 모바일 디바이스(405-1 내지 405-N)가 경로 1702를 지나갈 때 수집한 궤적 데이터를 기초로 한 자취 1800을 도시한다. 도 18에서는, 도 15의 자취 1500과 자취 1800이 같은 좌표계에 놓여 있다. 도 17에서, 자취 1500과 1800이 서로 가로지르는 이동경로 1402와 1702에 기초하고 있으므로, 이상적으로는 대체로 겹쳐져야 한다는 것을 알 수 있다. 하지만, 센서/자이로 노이즈 및 궤적상의 다른 오차들로, 자취는 서로 약간의 오프셋을 갖고 있으며, 어긋나 있다. 이것은 이후의 단계에서 연결 노드 구조를 사용하여 교정될 것이다.
도 12로 돌아가서, 단계 1204에서는, 새로운 자취에서 기준점들이 식별된다. 기준점의 식별 혹은 결정은 앞서 말한 기술들을 사용하여 수행할 수 있다. (예를 들어, 도 5의 단계 510, 도 6 내지 8 및 도 11의 단계 1104와 관련하여 설명한 것처럼) 이 단계의 일 실시 예는 자취 1800에서 식별된 복수의 기준점 1904a, 1904b, 1904c 및 1904d를 도시한 도 19에 나타나 있다. 다시 말해, 이 실시예에서는, 각 기준점은 추적된 움직임의 끝, 혹은 턴 (즉, 방향의 전환)과 같은 각 추적된 움직임의 시작을 나타낸다. 하지만 다른 실시예에서 기준점은 다른 특징에 기초하여 결정될 수 있다.
도 12의 단계 1206에서, 매칭하는 점들이 발견된다. 더 명확하게는, 연결 노드 구조의 노드들과 새로운 자취의 기준점들 중 매칭되는 것이 있는지 여부를 결정하는 것이다. 앞서 논의한 바와 같이, 연결 노드 구조의 각 노드는 궤적 데이터나 주변 신호 데이터와 같은 다양한 종류의 데이터와 연관되어 있다. 이 데이터는 노드와 일치하는 지리적 위치를 알려주는 데 도움을 준다. 새로운 자취의 각각의 기준점들 역시 그러한 데이터들 및 지리적 위치와 연관되어 있다. 그 기준점들 중 어떤 것이라도 연결 노드 구조의 노드와 일치하는지 여부를 결정하게 된다.
매칭 과정은 어떠한 방식으로든 진행될 수 있다. 일부 실시예에서, 예를 들어, 노드와 기준점이 매칭되는지 여부를 결정하기 위해 각 노드 및 기준점의 주변 신호 데이터(예를 들어, 와이파이 무선접속디바이스 혹은 블루투스 신호 전송 디바이스와 같은 다양한 기기에서 수신된 신호들의 신호 세기 데이터) 가 분석된다. 일부 실시예는 본 명세서의 앞부분에서 설명한 바와 같이 각 노드 및 기준점의 주변 신호 데이터 간 타니모토 유사도 분석을 포함한다. 만일 타니모토 유사도가 충분 및/또는 기 설정된 임계값을 초과할 경우, 노드와 기준점이 매칭된다고 결정할 수 있다.
추가적으로, 도 5와 도 6에 관련하여 앞서 언급된 어떠한 기술들도(예를 들어, 도 5의 단계 510, 515 및 520 과 도 6의 블록 610 및 615) 기준점과 노드 간의 매칭을 결정하기 위해 사용될 수 있다. 앞서 언급된 몇몇 기술들은 한 자취의 기준점과 다른 자취의 기준점을 매칭하기 위해 사용되었다. 더 상세하게는, 몇 기술들은 다른 자취의 기준점들과 매칭하기 위해 기준점과 연관된 데이터(예를 들어, 주변 신호 데이터)를 사용한다. 다양한 실시예에서, 일반적으로 노드와 기준점들은 같거나 다른 타입의 데이터에서 (예를 들어, 주변 신호 데이터, 장소/궤적 데이터 등)연관되기 때문에, 연결 노드 구조의 각 노드와 새로운 자취의 각 기준점 사이의 매칭을 결정하기 위해 같은 기술이 사용된다
연결 노드 구조의 노드와 새로운 자취의 기준점 간 매칭이 포함된 단계 1206의 일 실시 예가 도 20에 도시되어 있다. 도 20는 연결 노드 구조의 노드 1604c 및 1604d와 새로운 자취 1800의 기준점 1904c 및 1904b가 각각 매칭된다는 것을 나타낸다. 노드 1604c 및 1604d는 연결 노드 구조(1600)에 기초하여 최초의 자취 1500의 기준점 1504b 및 1504c와 일치한다. (마찬가지로, 도 20에 도시된 바와 같이.) 따라서, 매칭은 자취 1500의 기준점 1504b, 자취 1800의 기준점 1904c 및 연결 노드 구조의 노드 1604c가 같은 지리적 장소인 도 17의 장소 A와 연관되어 있다는 것을 나타낸다. 매칭은 또한 자취 1500의 기준점 1504c, 자취 1800의 기준점 1904b 및 연결 노드 구조의 노드 1604d가 같은 지리적 장소인 도 17의 장소 B와 연관되어 있다는 것을 나타낸다.
도 12로 돌아가서, 매칭 지점(즉, 노드와 기준점의 매칭)이 결정되면, 참조 지점이 결정된다. 참조 지점은 매칭 지점들 중에서 선택된다. 이는 높은 정확성(즉, 가장 정확한 관련정보(예를 들면, 주변 신호 데이터, 장소 데이터, PDR데이터 등)를 가지고 있을 것 같은)을 갖는 매칭 지점인 것으로 일반적으로 이해할 수 있다.
매칭 지점들 중 참조 지점을 선택하는 것은 다양한 방법으로 수행될 수 있다. 몇 실시예에서, 예를 들어, 사용자가 이전에 방문했던 매칭 지점을 선택하는 것이 바람직하다. 즉, 앞서 설명한 바와 같이, 각 노드 혹은 기준점은 자취에 기초하고, 결국 모바일 디바이스가 얻은 궤적 데이터로부터 생성된다. 일반적으로, 궤적 데이터는 다양한 기준점들이 디바이스가 자취의 경로를 지나가면서 디바이스 및 이를 소지한 사용자로부터 방문된 순서를 나타낸다. 몇 실시예에서, 참조 지점은 디바이스가 도달한 다른 매칭 지점들에 비해 상대적으로 가장 먼저 방문한 매칭 지점을 참조 지점으로 삼는다. 달리 말하면, 몇 실시예에서는, 이는 연결 노드 구조의 루트에 가장 가까운 매칭 포인트인 것을 의미한다. 루트 노드는 디바이스 사용자가 가장 먼저 도착한 기준점에 기초하기 때문이다. 이러한 접근방식을 사용하는 이유는 몇 종류의 추적 및 PDR-관련 기술들은 사용자가 자취의 경로를 따라 출발할 때가 더 정확하지만, 센서의 노이즈와 다른 추적 오차들로 인해 시간이 지날수록 그 정확도가 떨어지기 때문일 수 있다. 하지만, 매칭 지점의 정확도를 결정해 그 중에서 참조 지점을 선택하기 위한 방법은 이에 제한되지 않고, 그 외의 어떠한 적절한 기술이라도 사용할 수 있다.
단계 1208의 일 실시 예가 도 19에 도시되어 있다. 본 실시예에서, 노드 1604c와 다른 기준점 1904c의 매칭이 결정되고 이를 종합하여 매칭 지점을 형성한다. 노드 1604d와 기준점 1904d 역시 매칭이 결정되고 마찬가지로 종합하여 또다른 매칭 지점을 형성한다. 노드 1604c/ 기준점 1904c가 참조 지점으로 결정되고, 이는 어느 정도는 노드 1604c가 연결 노드 구조(1600)의 루트 노드(노드 1604a)로부터 다른 매칭 지점들에 비해 상대적으로 가장 가깝고, 따라서 이는 연결 노드 구조(1600)의 기초가 된 경로1402를 따라온 사용자로부터 더 먼저 방문되었다는 것을 나타내기 때문이라고 할 수 있다.
도 12로 돌아가서, 참조 지점이 선택되면, 새로운 자취가 참조지점을 이용하여 이동된다(단계 1210). 즉, 참조 지점은 새로운 자취가 어디에 위치해야 적절한지와 연결 노드 구조가 어디로 연결되어야 하는지 결정하는 데 사용될 수 있다. 연결 노드 구조는 새로운 자취의 연결을 고려하여 수정된다.
다양한 실시예에서, 새로운 자취를 반영하여 하나 혹은 그 이상의 노드와 링크가 연결 노드 구조로 추가된다. 이는 연결 노드 구조의 특성과 서로 다른 응용의 필요성에 따라 다양한 방식으로 수행될 수 있다. 몇 실시예에서, 예를 들어, 아래 과정들이 연결 노드 구조에 노드를 추가하기 위해 수행될 수 있다.
1) 참조 지점(즉, 참조 지점과 일치하는 새로운 자취의 기준점과 연결 노드 구조의 노드)에서 시작한다
2) 새로운 자취 상의 참조 지점에서 직접적으로 연결되어 있고 연결 노드 구조에 아직 표현되지 않은 기준점을 고려하여 연결 노드 구조에 노드를 추가한다. 기준점과 연관된 데이터는 노드에 포함되거나 연관되어 있다.
3) 연결 노드 구조에 표현되지 않은 새로운 자취의 모든 기준점에서, 연결 노드 구조에 노드를 추가한다. 위에서 설명한 것처럼, 새로운 노드의 데이터는 기준점의 데이터와 동일하거나 그에 기초한다. 노드 간에 적절한 링크를 생성하여 자취 상 기준점 사이의 직접 연결을 나타낸다.
4) 자취의 모든 기준점이 연결 노드 구조에 추가될 때까지 위 과정을 반복한다.
도 21은 일 실시 예를 도시한 도면이다. 도 21에서는, 원본 연결 노드 구조가 1604a 내지 1604d로 표현된다. 참조 지점 2102(도22)는 노드 1604c 및 새로운 자취 1800(도20)의 기준점 1904c와 일치한다. 자취 1800에서 기준점 1904d가 기준점 1904c와 직접적으로 연결되어 있으므로, 노드 2104d가 추가되고 노드 1604c와 연결된다. 노드 2104d는 기준점 1904d의 데이터를 포함하거나 연관되어 있다. 기준점 1904b는 또한 기준점 1904c와 직접적으로 연결되어 있으나, 이미 노드 1604d가 노드 1604c에 직접적으로 연결됨으로써 연결 노드 구조에 적절하게 설명되어 있다. 연결 노드 구조(1600)에 나타나지 않은 자취 1800의 남아있는 기준점은 기준점 1904a이다. 기준점 1904a는 연결 노드 구조(1600)의 노드 1604d와 매칭되는 기준점 1904b와 직접적으로 연결되어 있다. 따라서, 새로운 노드가 생성되고 (노드 2104a) 노드 1604d에 직접적으로 연결된다. 노드 2104a는 기준점 1904a의 데이터를 포함하거나 이와 연관되어 있다.
자취는 위의 이동 과정에 따라 정렬될 수 있다. 즉, 연결 노드 구조의 기초가 된 자취와 새로운 자취는 참조 지점에서 연결될 수 있다. 이러한 접근방법의 일 실시 예는 도 22에 도시되어 있다. 도 18에서, 연관된 궤적 데이터만을 기초로 한 자취 1500 및 1800이 서로 잘못된 오프셋을 가지고 있던 것을 상기해야 한다. 이러한 오류를 고치기 위해, 자취 1800은 정렬되어 도 21에 도시된 바와 같이 자취 1500과 참조 지점 2102 (즉, 도 20에서 노드 1604c/기준점 1504b와 연관된 장소)에서 연결된다. 새로운 자취 1800은 기준점 1904c의 위치에서 참조 지점 2102와 연결한다. (즉, 도 20의 기준점 1504b/노드 1604c와 매칭하는 자취 1800의 매칭 지점) 즉, 기준점 1904c와 연관된 장소 데이터는 노드 1604c와 연관된 장소 데이터와 매칭하기 위해 수정된다.
도 12로 돌아가서, 단계 1212에서, 새로운 자취는 다른 알려진 매칭 지점에 딱 맞게 회전된다. 이는 어떠한 적절한 방법을 이용해서도 수행될 수 있다. 몇 실시예에서, 예를 들어, 이 단계는 새로운 자취에서의 비 참조 매칭 지점의 위치를 계산하고 자취를 이에 따라 재배치하는 것을 포함한다. 한 예로서, 비 참조 매칭 지점의 위치는 연결 노드 구조 및 새로운 자취 상에서 일치하는 매칭 지점의 위치를 평균내어 결정할 수 있다. 이는 자취의 정확성을 증가시키는 데 도움이 된다.
이러한 접근법의 일 실시 예는 도 20과 관련하여 설명되어 있다. 기준점 1904b는 자취 1800의 비 참조 매칭 지점이다. 연결 노드 구조(1600)의 대응하는 매칭 지점은 1604d이다. 앞서 언급한 대로, 각 노드는 노드 데이터와 연관되어 있고, 각 기준점은 기준점 데이터와 연관되어 있으며, 양쪽 모두, 예를 들면, PDR 데이터와 같은 궤적/장소 데이터를 포함하고 있다. 이 예시의 목적에 따라 노드 1604d의 PDR 데이터는 장소 X1과 연관되어 있고 기준점 1904b의 PDR 데이터는 장소 Y1과 연관되어 있다고 가정한다. 이 예시에서, 기준점 1904b를 위한 새로운 장소는 X1과 Y1의 평균이다. 만일 추가적인 비 참조 매칭 지점이 있다면, 그 위치는 비슷한 방법으로 결정될 수 있다.
자취 상의 비 참조 매칭 지점의 위치가 결정되면, 자취들은 새로이 결정된 위치에 기초하여 재조정 및/또는 회전될 수 있다. 이 작업의 일 실시 예가 도 22에 도시되어 있다. 도 22에서는, 자취 1500/1800은, 참조 지점 2102에서 연결되어 있음에도 불구하고, 어긋나 있다. 도 23에 도시된 바와 같이, 자취 1800상의 비 참조 매칭 지점(예를 들어, 기준점 1904b)의 다시 계산된 위치에 기초하여, 자취 1800은 알맞게 회전된다. 자취 1500/1800이 나타내고자 하는 병합된 자취는, 이제 도 17과 23에서 비교할 수 있듯이, 사용자가 쇼핑몰(1404)을 가로지른 실제의 경로 1402/1702와 훨씬 더 비슷해졌다.
이에 대해, 새로운 자취에 대해 정확성을 증가시키기 위해 다른 조정이 이루어질 수 있다. 몇 실시예에서, 예를 들어, 주변 신호 데이터는 자취를 수정하기 위해 사용된다. 이전에 설명하였듯이, 다양한 실시예에서 각각의 기준점과 노드는 장소 데이터 및 주변 신호 데이터(예를 들어, 와이파이 데이터, 블루투스 데이터 등)와 연관되어 있다. 이에 더해, 자취는 복수의 지점들로 구성(즉, PDR을 사용)될 수 있고, 각각의 지점은 타임스탬프, 주변 신호 및 장소 데이터와 연관되어 있다. 몇 실시예에서, 자취 내 지점의 추정된 장소는 하나 혹은 그 이상의 노드에 대한 주변 신호 데이터와 각 지점의 주변 신호 데이터에 대한 분석을 기초로 하여 수정된다. 만일, 예를 들어, 노드에 대한 주변 신호 데이터(예를 들어, 와이파이 지문)가 자취 내 지점의 주변 신호 데이터와 일치한다면, 몇 실시예에서는 그 지점과 노드는 같은 장소에 연관되어 있으므로 지점의 위치를 조정하는 것이 바람직하다.
도 12의 단계 1214에서, 연결 노드 구조의 데이터가 업데이트된다. 논의한 바와 같이, 다양한 실시예에서, 각 새로운 노드가 새로운 자취의 기준점을 기초로 하여 연결 노드 구조에 추가되었고, 따라서 이는 일치하는 기준점의 데이터(예를 들어, 주변 신호 데이터, PDR 데이터, 장소 데이터, 타임스탬프 데이터 등)와 연관된다. 그러한 데이터는 연결 노드 구조에 어떠한 적절한 방법을 사용해서도 저장될 수 있다.
다양한 실시예에서, 연결 노드 구조의 매칭 지점과 일치하는 노드 데이터 역시 수정된다. 이는 다양한 방법으로 수행될 수 있다. 새로운 자취가 데이터 A와 연관된 기준점 A를 갖는 예시를 고려하자. 기준점 A는 연결 노드 구조의 노드 B와 매칭된다. 노드 B는 데이터 B와 연관된다. 이 예에서, 데이터 A와 데이터 B는 장소/PDR 데이터(예를 들어, x, y좌표로 표현된, 노드/기준점과 연관된 장소를 나타내는 데이터)와 주변신호 데이터(예를 들어, 블루투스 신호 전송 디바이스, 와이파이 무선접속디바이스, 혹은 어떠한 다른 주변 신호의 출처와 같은, 신호 전송 디바이스로부터 다양한 장소에서 수신된 신호의 세기를 나타내는 데이터)를 포함한다.
다양한 실시예에서, 도 12의 단계 1212에 관하여 논의한 것과 같이, 데이터 A와 데이터 B의 값의 평균으로 매칭 노드 A의 데이터가 업데이트될 수 있다. 예를 들어, 데이터 A는 위치 P1의 기준점 A와 연관된 PDR 데이터를 포함할 수 있다. 데이터 B는 위치 P2의 노드 B와 연관된 PDR데이터를 포함할 수 있다. 그리고 데이터 B는 P1과 P2의 평균을 기초로 한 위치의 연관노드 B에 업데이트될 수 있다. 주변 신호 역시 평균을 낼 수 있다. 예를 들어, 만일 데이터 A가 특정한 신호 전송 디바이스로부터의 신호세기 값 Y1을 갖는 기준점 A와 연관된 경우, 그리고 데이터 B가 같은 신호 전송 디바이스로부터 신호세기 값 Y2를 갖는 노드 B와 연관된 경우, 데이터 B는 같은 디바이스로부터 수신한 신호의 세기가 Y1과 Y2의 평균인 것을 나타내는 것으로 업데이트될 수 있다. 다만 노드 데이터를 업데이트하는 것은 위의 평균 기법에 제한되지 않고, 어떠한 적절한 방법을 사용하여서도 할 수 있다.
노드 데이터의 다른 파라미터와 값들 역시 업데이트될 수 있다. 다양한 실시예에서, 예를 들어, 각 노드의 노드 데이터는 통과값을 포함한다. 앞서 논의한 대로, 통과값은 노드를 통과한 자취 혹은 경로의 수를 나타낸다. 일반적으로, 매칭 지점은 새로운 자취가 매칭 지점 노드를 통과했음을 나타내므로, 그러한 노드들의 통과값은 1 증가한다. 따라서, 도 23의 예시에서, 매칭 지점(노드 1604c, 1604d)을 제외한 각 노드는 통과값 1을 가지고, 매칭 지점들은 통과값 2를 갖는다. 이는 도 17 및 도 20에 나타난 바와 같이, 적어도 2개 이상의 자취가 (예를 들어, 자취 1500과 1800)이러한 노드들과 연관된 위치를 통과하기 때문이다.
최초 자취를 사용하여 연결 노드 구조가 생성되면, 이는 도 12의 방법 1200을 이용하여 새롭게 크라우드소싱된 자취들로 반복적으로 추가되고 업데이트될 수 있다. 이 과정의 일례가 도 13에 도시되어 있다. 도 13은 서버(예를 들어, 크라우드소싱된 데이터 수집 및 저장부(430))에 적용된 방법 1300의 일 실시 예를 도시하나, 어떠한 적절한 컴퓨팅 디바이스 또한 방법 1300을 수행하기 위해 사용될 수 있다. 최초에, 단계 1302에서, 자취를 얻는다. 예를 들어, 자취는 서버에 자취를 전송한 모바일 디바이스(405-1 내지 405-N)로부터 크라우드소싱될 수 있다.
단계 1304에서, 단계 1302에서 얻은 자취가 특정 지리적 영역에서 얻은 첫 번째 자취인지를 결정한다. 즉, 해당 지리적 영역(예를 들어, 도 14의 쇼핑몰(1404))에 대한 새로운 자취와 연관된 적절한 연결 노드 구조가 아직 생성되지 않았는지 여부를 결정하는 것이다. 만약 그렇다면, 방법 1300은 단계 1306까지 진행한다. 단계 1306에서, 도 11의 방법 1100에 대하여 논의한 바와 같이, 해당 자취를 기초로 하여 연결 노드 구조가 생성된다.
만일 단계 1302에서 얻은 자취가 첫 번째 자취가 아니라는 결정을 내렸고, 그리고/또는 적절한 연결 노드 구조가 이미 생성된 것이라면, 방법 1300은 단계 1308까지 진행된다. 단계 1308에서, 위에서 논의한 바와 같이, 도 12의 방법 1200이 수행된다. 이 단계 중에, 기 존재하는 연결 노드 구조는 새로운 자취를 감안하여 업데이트된다. 또한, 자취는 연결 노드 구조가 나타내는, 기 존재하는 합병된 자취들의 집합에 따라 합병되고 적절하게 배치될 수 있다. 새로운 자취가 추가되면, 방법 1300은 단계 1302로 돌아가고 다시 반복된다.
시간이 지나면서, 연결 노드 구조는 추가적으로 크라우드소싱된 자취들을 반영하기 위해 반복해서 업데이트된다. 충분한 수의 자취를 획득하면, 연결 노드 구조는 사람들이 특정한 지리적 영역에서 길을 찾기 위해 택할 수 있는 다양한 경로를 나타낸다. 도 21의 연결 노드 구조는, 예를 들어, 도 14 및 도 17의 쇼핑몰 1404에서 사람들이 어떻게 길을 찾을 수 있는지를 나타낸다. 이는 사람들이 턴이나 다른 기준점을 만나지 않고 이동할 수 있는 장소들을 나타낸다. 이는 또한 특정 인물 혹은 디바이스가 특정한 기준점을 몇 번이나 통과했는지를 나타낸다(예를 들어, 통과값을 활용한다).
위 데이터에 기초하여, 다양한 유용한 서비스들이 제공될 수 있다. 몇 실시예에서, 도 13의 방법 1300을 수행한 서버가 모바일 디바이스 사용자에게 서비스를 제공할 수 있다. 한 예로서, 서버는 모바일 디바이스(405-1 내지 405-N)에게 연결 노드 구조가 맡고 있는 영역의 특정 목표 위치까지 도달하는 최단거리 안내를 제공하는 데이터를 전송할 수 있다. 모바일 디바이스(405-1 내지 405-N)는 이 데이터에 기초하여 메시지, 안내 및/또는 그래픽 인터페이스를 디스플레이한다. 몇 실시예에서, 서버는 또한 모바일 디바이스(405-1 내지 405-N)에 현재 위치(혹은 다른 위치)와 목표 위치 사이의 거리 데이터를 전송할 수 있다. 이 거리는 해당 위치와 연관된 노드들의 노드 데이터를 기초로 하여 계산할 수 있다. 즉, 각 노드는 위치 데이터와 연관되어 있기 때문에, 각 연결 노드 쌍 사이의 물리적 거리가 결정될 수 있고, 따라서 여러 연결 노드를 지나는 경로의 총 거리 또한 결정될 수 있다.
연결 노드 구조는 실시간 교통 패턴과 사용자의 움직임 및 행동 패턴을 식별하는 데 사용될 수 있다. 즉, 모바일 디바이스(405-1 내지 405-N)가 특정 지역을 지나가면서, 서버에 궤적 데이터와 자취 정보를 전송하도록 되어 있다. 서버는 궤적 데이터가 수신되면 도 13의 방법 1300을 실시간으로 수행한다. 따라서, 연결 노드 구조는 수신된 궤적 데이터에 기초하여 실시간으로 생성되고 업데이트되고, 해당 영역의 현재 교통 패턴을 반영한다. 연결 노드 구조는, 예를 들어, 과밀 데이터 즉, 하나 혹은 하나 이상의 위치(예를 들어, 기준점 위치)에 얼마나 많은 사람이 통과했는지를 결정하는 데 사용될 수 있다. 예를 들어, 각 노드의 통과값은 과밀 데이터를 결정하기 위해 사용될 수 있다.
과밀 데이터를 획득하면, 이는 다양한 응용에 사용될 수 있다. 예를 들어, 서버는 특정한 지역의 다양한 부분 및/또는 한 위치에서 다른 위치로 가는 유명한 경로들이 얼마나 과밀되었는지를 나타내는 과밀 데이터를 모바일 디바이스(405-1 내지 405-N)에 전송할 수 있다. 과밀 데이터는 서버에 저장된 연결 노드 구조의 링크, 노드 및/또는 통과값을 기초로 한다. 다양한 실시예에서, 과밀 데이터는 다양한 기간에 걸친 교통 패턴을 나타내며, 현재, 일간, 월간 혹은 분기별 교통 패턴을 포함할 수 있으나, 이에 제한되지 않는다. 서버로부터 수신한 과밀 데이터를 기초로 하여, 모바일 디바이스(405-1 내지 405-N)는 지도, 그래픽 인터페이스 혹은 사용자에게 보내는 다른 종류의 메시지를 디스플레이하도록 되어 있고, 이는 과밀 패턴 및/또는 다가오는 과밀 지역을 피할 수 있는 길을 나타낸다. 몇 실시예에서, 과밀 패턴은 지역의 한 위치에 놓인 특정 광고에 얼마를 청구해야 하는지 결정하는 데 사용된다. 예를 들어, 교통량이 많은 지역의 광고료는 교통량이 적은 곳의 광고료보다 높게 책정되어야 할 것이다. 비슷한 접근방식이 교통량이 많은 지역이 더 높은 임대료를 내도록 하는 쇼핑몰 내의 빌딩 임대료 책정에도 사용될 수 있다.
몇 응용에서, 앞서 언급한 서버는 모바일 디바이스(405-1 내지 405-N) 혹은 다른 디바이스에게 사람들이 얼마나 빠르게 턴을(즉, 노드를) 통과하는지를 나타내는 데이터를 전송할 수 있다. 통과 시간 또한 노드와 연관된 시간 및 위치 데이터에 기초한다. 다양한 실시예에서, 예를 들어, 각 노드의 노드 데이터는 위치 데이터(예를 들어, x, y 좌표)및 시간 데이터(예를 들어, 특정 모바일 디바이스 (405-1 내지 405-N)가 해당 좌표에 도달한 시간)를 포함한다. 같은 모바일 디바이스가 방문한 다른 노드들은 비슷한 종류의 위치 및 시간 데이터로 연관될 수 있다. 따라서, 그러한 데이터에 기초하여, 모바일 디바이스(405-1 내지 405-N)가 어떠한 두 노드 혹은 일련의 노드들 사이를 이동하는 데 필요한 시간을 계산할 수 있다. 다양한 실시예에서, 서버는 그러한 시간 데이터를 모바일 디바이스(405-1 내지 405-N)에 전송하고, 모바일 디바이스 (405-1 내지 405-N)는 다른 위치 사이에 예상되는 이동 시간을 나타내는 메시지를 디스플레이한다.
300 : 컴퓨팅 디바이스
310 : 수집부
320 : 프로세서

Claims (36)

  1. 주변 신호를 이용하여 궤적을 결정하는 전자 장치의 동작 방법에 있어서,
    크라우드소싱된(crowd-sourced) 복수의 경로들에 대한 궤적 데이터를 수집하는 단계로서, 상기 크라우드소싱된 복수의 경로들 각각에 대한 궤적 데이터는 고유하게 식별 가능한 적어도 하나의 주변 신호와 연관되어 있는 단계;
    상기 크라우드소싱된 복수의 경로들 각각에 대한 궤적 데이터에서 기준점들(anchor points)을 식별하는 단계;
    상기 기준점들에 기초하여, 상기 크라우드소싱된 복수의 경로들 각각을 매칭하는 단계;
    상기 매칭에 기초하여, 상기 크라우드소싱된 복수의 경로들 중 적어도 하나의 경로에 대한 최적 매칭을 결정하는 단계로서, 상기 최적 매칭은 매칭되는 궤적의 기하학적 측면 및 상기 주변 신호의 유사도에 기초하여 결정되는 단계; 및
    상기 최적 매칭에 기초하여 경로의 모양을 결정하는 단계; 를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 기준점들은 상기 크라우드소싱된 상기 복수의 경로들 각각의 궤적 데이터의 특징의 전이(transition)에 대응하는 방법.
  3. 제 2 항에 있어서,
    상기 주변 신호는 모바일 디바이스의 이동 상태를 나타내는 궤적 데이터를 포함하고,
    상기 전이는 상기 모바일 디바이스의 턴(turn), 이동 방향 및 이동 패턴 중 적어도 하나를 포함하는 방법.
  4. 제 2 항에 있어서,
    상기 매칭에 기초하여, 상기 크라우드소싱된 복수의 경로들 중 적어도 하나의 경로에 대한 최적 매칭을 결정하는 단계는,
    상기 기준점들의 매칭 패턴을 식별하는 단계; 를 포함하는 방법.
  5. 제 4 항에 있어서,
    상기 기준점들의 매칭 패턴을 식별하는 단계는,
    모바일 디바이스의 턴을 식별하는 단계; 를 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 턴을 식별하는 단계는,
    보조 궤적의 스텝 길이를 선택하고 임계 각도 조건이 만족되었는지를 결정하는 단계; 를 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 스텝 길이는,
    탐지하고자 하는 턴의 종류에 따라 다르게 조정되며;
    상기 턴의 종류는 상기 턴에 대응하는 상기 궤적의 지점에서의 곡률에 따라 결정되는 방법.
  8. 제 7 항에 있어서,
    상기 곡률이 소정 제1 임계 곡률보다 큰 턴들의 조합의 마지막 턴 및 상기 곡률이 소정 제2 임계 곡률보다 작은 턴 중 적어도 하나를 선택함으로써 중요한 턴을 식별하는 단계; 를 더 포함하는 방법.
  9. 제 1 항에 있어서,
    상기 매칭에 기초하여, 상기 크라우드소싱된 복수의 경로들 중 적어도 하나의 경로에 대한 최적 매칭을 결정하는 단계는,
    상기 크라우드소싱된 복수의 경로들 중 두 개의 크라우드소싱된 경로에 대하여 상기 기준점들에 기초한 매칭 결과를 평가하는 단계; 를 포함하고,
    상기 평가는 적어도 각각의 상기 주변 신호의 유사도에 기초하는 방법.
  10. 제 9 항에 있어서,
    상기 매칭 결과를 평가하는 단계는,
    상기 두 개의 크라우드소싱된 경로에 포함된 턴들을 서로 조합할 수 있는 경우의 수를 획득하는 단계; 를 포함하는 방법.
  11. 제 10 항에 있어서,
    상기 매칭 결과를 평가하는 단계는,
    상기 주변 신호의 유사도를 계산하고, 상기 주변 신호의 유사도를 거리 요소로 나눈 결과에 기초하여 점수를 결정하는 단계; 를 포함하는 방법.
  12. 제 1 항에 있어서,
    상기 기준점들에 기초하여, 상기 크라우드소싱된 복수의 경로들 각각을 매칭하는 단계는,
    상기 궤적 데이터를 정렬하기 위해 상기 궤적 데이터를 이동 및 회전하는 단계; 를 포함하는 방법.
  13. 제 1 항에 있어서,
    상기 주변 신호는 와이파이 신호, 블루투스 신호, 소리, 이미지 신호, 자기 신호 및 빛 신호 중 적어도 하나를 포함하는 방법.
  14. 제 1 항에 있어서,
    상기 궤적 데이터는 복수의 모바일 디바이스로부터 수집되는 방법.
  15. 제 14 항에 있어서,
    상기 복수의 모바일 디바이스 각각은 상기 궤적 데이터를 생성하기 위한 적어도 하나의 센서를 포함하는 방법.
  16. 주변 신호를 이용하여 궤적을 결정하는 전자 장치에 있어서,
    크라우드소싱된 복수의 경로들에 대한 궤적 데이터를 수집하는 수집부로서, 상기 크라우드소싱된 복수의 경로들 각각에 대한 궤적 데이터는 고유하게 식별 가능한 적어도 하나의 주변 신호와 연관되어 있는, 상기 수집부; 및
    상기 크라우드소싱된 복수의 경로들 각각에 대한 궤적 데이터에서 기준점들(anchor points)을 식별하고,
    상기 기준점들에 기초하여, 상기 크라우드소싱된 복수의 경로들 각각을 매칭하고,
    상기 매칭에 기초하여, 상기 크라우드소싱된 복수의 경로들 중 적어도 하나의 경로에 대한 최적 매칭을 결정하고, 상기 최적 매칭은 매칭되는 궤적의 기하학적 측면 및 상기 주변 신호의 유사도에 기초하여 결정되고,
    상기 최적 매칭에 기초하여 경로의 모양을 결정하는 프로세서; 를 포함하는, 전자 장치.
  17. 제 16 항에 있어서, 상기 프로세서는,
    상기 기준점들은 상기 크라우드소싱된 상기 복수의 경로들 각각의 궤적 데이터의 특징의 전이(transition)에 대응하는 전자 장치.
  18. 제 17 항에 있어서,
    상기 주변 신호는 모바일 디바이스의 이동 상태를 나타내는 궤적 데이터를 포함하고,
    상기 전이는 상기 모바일 디바이스의 턴(turn), 이동 방향 및 이동 패턴 중 적어도 하나를 포함하는 전자 장치.
  19. 제 17 항에 있어서, 상기 프로세서는,
    상기 기준점들의 매칭 패턴을 식별하는 전자 장치.
  20. 제 19 항에 있어서, 상기 프로세서는,
    상기 기준점들의 매칭 패턴을 식별하는 경우,
    모바일 디바이스의 턴을 식별하는 전자 장치.
  21. 제 20 항에 있어서, 상기 프로세서는,
    상기 턴을 식별하는 경우,
    보조 궤적의 스텝 길이를 선택하고 임계 각도 조건이 만족되었는지를 결정하는 전자 장치.
  22. 제 21 항에 있어서, 상기 스텝 길이는,
    탐지하고자 하는 턴의 종류에 따라 다르게 조정되며,
    상기 턴의 종류는 상기 턴에 대응하는 상기 궤적의 지점에서의 곡률에 따라 결정되는 전자 장치.
  23. 제 22 항에 있어서, 상기 프로세서는,
    상기 곡률이 소정 제1 임계 곡률보다 큰 턴들의 조합의 마지막 턴 및 상기 곡률이 소정 제2 임계 곡률보다 작은 턴 중 적어도 하나를 선택함으로써 중요한 턴을 식별하는 전자 장치.
  24. 제 16 항에 있어서, 상기 프로세서는,
    상기 크라우드소싱된 복수의 경로들 중 두 개의 크라우드소싱된 경로에 대하여 상기 기준점들에 기초한 매칭 결과를 평가하고,
    상기 평가는 적어도 각각의 상기 주변 신호의 유사도에 기초하는 전자 장치.
  25. 제 24 항에 있어서, 상기 프로세서는,
    상기 두 개의 크라우드소싱된 경로에 포함된 턴들을 서로 조합할 수 있는 경우의 수를 획득하는 전자 장치.
  26. 제 25 항에 있어서, 상기 프로세서는,
    상기 매칭 결과를 평가하는 경우,
    상기 주변 신호의 유사도를 계산하고, 상기 주변 신호의 유사도를 거리 요소로 나눈 결과에 기초하여 점수를 결정하는 전자 장치.
  27. 제 16 항에 있어서, 상기 프로세서는,
    상기 기준점들에 기초하여, 상기 크라우드소싱된 복수의 경로들 각각을 매칭하는 경우,
    상기 궤적 데이터를 정렬하기 위해 상기 궤적 데이터를 이동 및 회전하는 전자 장치.
  28. 제 16 항에 있어서,
    상기 주변 신호는 와이파이 신호, 블루투스 신호, 소리, 이미지 신호, 자기 신호 및 빛 신호 중 적어도 하나를 포함하는 전자 장치.
  29. 제 16 항에 있어서,
    상기 궤적 데이터는 복수의 모바일 디바이스로부터 수집되는 전자 장치.
  30. 제 29 항에 있어서,
    상기 복수의 모바일 디바이스 각각은
    상기 궤적 데이터를 생성하기 위한 적어도 하나의 센서를 포함하는 전자 장치.
  31. 제 1 항 내지 제 15 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
KR1020150057269A 2014-04-25 2015-04-23 주변 신호를 이용한 궤적 매칭 KR102297478B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201580022081.8A CN106574975B (zh) 2014-04-25 2015-04-24 使用外围信号的轨迹匹配
PCT/KR2015/004107 WO2015163727A1 (ko) 2014-04-25 2015-04-24 주변 신호를 이용한 궤적 매칭
EP15783844.2A EP3136128B1 (en) 2014-04-25 2015-04-24 Trajectory matching using peripheral signal

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461984381P 2014-04-25 2014-04-25
US61/984,381 2014-04-25
US14/571,166 US10466056B2 (en) 2014-04-25 2014-12-15 Trajectory matching using ambient signals
US14/571,166 2014-12-15

Publications (2)

Publication Number Publication Date
KR20150123735A KR20150123735A (ko) 2015-11-04
KR102297478B1 true KR102297478B1 (ko) 2021-09-02

Family

ID=54334475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150057269A KR102297478B1 (ko) 2014-04-25 2015-04-23 주변 신호를 이용한 궤적 매칭

Country Status (4)

Country Link
US (1) US10466056B2 (ko)
EP (1) EP3136128B1 (ko)
KR (1) KR102297478B1 (ko)
CN (1) CN106574975B (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9964409B1 (en) * 2014-05-27 2018-05-08 Apple Inc. Localized map generation
US10209062B1 (en) 2014-08-01 2019-02-19 Google Llc Use of offline algorithm to determine location from previous sensor data when location is requested
US10240995B2 (en) 2014-08-01 2019-03-26 Google Llc Construction of a surface of best GPS visibility from passive traces using SLAM for horizontal localization and GPS readings and barometer readings for elevation estimation
US9838846B1 (en) * 2014-08-01 2017-12-05 Google Llc Extraction of walking direction from device orientation and reconstruction of device orientation during optimization of walking direction
US9541404B2 (en) 2014-08-29 2017-01-10 Samsung Electronics Co., Ltd. System for determining the location of entrances and areas of interest
US10034137B2 (en) * 2015-06-30 2018-07-24 Capital One Services, Llc Systems and methods for automatic path management
JP6572672B2 (ja) * 2015-08-12 2019-09-11 富士通株式会社 経路グラフ生成方法、装置、及びプログラム
JP6555049B2 (ja) * 2015-09-24 2019-08-07 富士通株式会社 共通情報出力方法、装置、プログラム、及び経路グラフ生成方法
US10077984B2 (en) * 2015-09-25 2018-09-18 International Business Machines Corporation Indoor positioning system training
US10415978B2 (en) 2015-11-20 2019-09-17 Samsung Electronics Co., Ltd. Landmark location determination
US20170372223A1 (en) * 2016-06-24 2017-12-28 Intel Corporation Smart crowd-sourced automatic indoor discovery and mapping
US9661604B1 (en) 2016-06-30 2017-05-23 HawkEye 360, Inc. Determining emitter locations
US20180211281A1 (en) * 2017-01-26 2018-07-26 Adobe Systems Incorporated Image Similarity Determination of Paths to Control Digital Content Output
AU2017399007B2 (en) * 2017-02-17 2021-12-23 Dataspark Pte, Ltd Mobility gene for trajectory data
US10664502B2 (en) * 2017-05-05 2020-05-26 Irobot Corporation Methods, systems, and devices for mapping wireless communication signals for mobile robot guidance
CN107341442B (zh) * 2017-05-22 2023-06-06 腾讯科技(上海)有限公司 运动控制方法、装置、计算机设备和服务机器人
US10794986B2 (en) * 2017-06-02 2020-10-06 Apple Inc. Extending a radio map
US10979854B2 (en) 2017-06-02 2021-04-13 Apple Inc. Extending a radio map
EP3646647B1 (en) 2017-06-30 2022-10-05 Hawkeye 360, Inc. Detecting radio signal emitter locations
DE102017211712A1 (de) 2017-07-10 2019-01-10 Audi Ag Verfahren zur Datengenerierung zum Erzeugen und Aktualisieren einer Topologiekarte für mindestens einen Raum mindestens eines Gebäudes
CN109297484A (zh) * 2017-07-25 2019-02-01 北京信息科技大学 一种有步态约束的行人自主定位误差修正方法
CN107580294B (zh) * 2017-09-07 2020-03-24 深圳市易景空间智能科技有限公司 一种室内混合定位方法
CN108413975B (zh) * 2018-03-15 2021-11-09 斑马网络技术有限公司 地图获取方法、系统、云处理器及车辆
US20190373413A1 (en) 2018-06-01 2019-12-05 Apple Inc. Feature-based slam with z-axis location
CN110370267B (zh) * 2018-09-10 2021-08-20 北京京东尚科信息技术有限公司 用于生成模型的方法和装置
EP3693699B1 (en) * 2019-02-05 2021-12-22 HERE Global B.V. Determining of absolute altitudes of floors of a structure
US11237277B2 (en) 2019-02-15 2022-02-01 Horizon Technologies Consultants, Ltd. Techniques for determining geolocations
GB2588572B (en) * 2019-03-20 2024-01-10 Navenio Ltd Transition Detection
DE102019206336A1 (de) * 2019-05-03 2020-11-05 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erstellen einer ersten Karte
DE102019209398A1 (de) * 2019-06-27 2020-12-31 Robert Bosch Gmbh Angleichen von Koordinatensystemen mehrerer Karten basierend auf Trajektorien
CN111757247B (zh) * 2019-07-24 2022-01-28 广东小天才科技有限公司 一种基于可穿戴设备的数据共享方法及可穿戴设备
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
CN113205682B (zh) * 2021-04-26 2023-06-27 Oppo广东移动通信有限公司 确定出行轨迹的方法、电子设备及存储介质
DE102021127070A1 (de) 2021-10-19 2023-04-20 Cariad Se Verfahren zum Bestimmen einer Soll-Trajektorie eines zumindest teilweise automatisiert betriebenen Kraftfahrzeugs auf einer einspurigen Fahrbahn, Computerprogrammprodukt sowie Assistenzsystem
CN117455958B (zh) * 2023-12-22 2024-03-08 武汉以彼古罗咨询服务有限公司 一种面向精子识别的轨迹追踪方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014026338A1 (en) * 2012-08-15 2014-02-20 Google Inc. Crowd-sourcing indoor locations

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5406491A (en) 1993-03-26 1995-04-11 Trimble Navigation Limited Navigational system for trip routing
US5774824A (en) 1995-08-24 1998-06-30 The Penn State Research Foundation Map-matching navigation system
US6675091B2 (en) 2001-11-20 2004-01-06 Siemens Corporate Research, Inc. System and method for tracking, locating, and guiding within buildings
US7162338B2 (en) 2002-12-17 2007-01-09 Evolution Robotics, Inc. Systems and methods for computing a relative pose for global localization in a visual simultaneous localization and mapping system
US7130646B2 (en) 2003-02-14 2006-10-31 Atheros Communications, Inc. Positioning with wireless local area networks and WLAN-aided global positioning systems
WO2004095790A1 (en) 2003-03-28 2004-11-04 University Of Maryland Method and system for determining user location in a wireless communication network
US7126951B2 (en) 2003-06-06 2006-10-24 Meshnetworks, Inc. System and method for identifying the floor number where a firefighter in need of help is located using received signal strength indicator and signal propagation time
US7250907B2 (en) 2003-06-30 2007-07-31 Microsoft Corporation System and methods for determining the location dynamics of a portable computing device
EP1852680A4 (en) 2005-01-19 2012-09-19 Jvc Kenwood Corp GUIDE ROUTE GENERATION DEVICE AND GUIDANCE ROUTE PRODUCTION METHOD
FR2886501A1 (fr) 2005-05-31 2006-12-01 France Telecom Procede et dispositif de localisattion d'un terminal dans un reseau local sans fil
US7439907B2 (en) 2006-11-20 2008-10-21 Sirf Technology Holdihgs, Inc. Navigation signal receiver trajectory determination
US20080161011A1 (en) 2006-12-29 2008-07-03 Motorola, Inc. Method enabling indoor local positioning and movement tracking in wifi capable mobile terminals
CA2677087A1 (en) 2007-02-05 2008-08-14 Andrew Corporation System and method for optimizing location estimate of mobile unit
JP5064870B2 (ja) 2007-04-17 2012-10-31 株式会社日立製作所 デジタル道路地図の生成方法及び地図生成システム
US9448072B2 (en) 2007-05-31 2016-09-20 Trx Systems, Inc. System and method for locating, tracking, and/or monitoring the status of personnel and/or assets both indoors and outdoors
US8351958B2 (en) 2008-07-15 2013-01-08 Panasonic Corporation Mobile device and method for identifying location thereof
US8172722B2 (en) 2008-12-05 2012-05-08 Nike, Inc. Athletic performance monitoring systems and methods in a team sports environment
US8825074B2 (en) 2009-02-02 2014-09-02 Waldeck Technology, Llc Modifying a user'S contribution to an aggregate profile based on time between location updates and external events
WO2010106530A2 (en) 2009-03-19 2010-09-23 Cork Institute Of Technology A location and tracking system
US8473241B2 (en) 2009-08-03 2013-06-25 Thales Visionix, Inc. Navigation trajectory matching
US8543143B2 (en) 2009-12-23 2013-09-24 Nokia Corporation Method and apparatus for grouping points-of-interest according to area names
US20110172916A1 (en) 2010-01-14 2011-07-14 Qualcomm Incorporated Mobile Device Positioning In A Constrained Environment
US8374785B2 (en) 2010-01-28 2013-02-12 Eride, Inc. Tightly coupled GPS and dead-reckoning vehicle navigation
US20110208424A1 (en) 2010-02-23 2011-08-25 Eric Hirsch Road Map Feedback Corrections in Tightly Coupled GPS and Dead Reckoning Vehicle Navigation
CA2797540C (en) 2010-04-26 2019-11-05 Locationary, Inc. Method and system for distributed data verification
CN102960036B (zh) 2010-05-19 2016-11-09 诺基亚技术有限公司 众包视觉和传感器勘测绘图
US20110313779A1 (en) 2010-06-17 2011-12-22 Microsoft Corporation Augmentation and correction of location based data through user feedback
US8825388B2 (en) 2010-07-13 2014-09-02 Qualcomm Incorporated Indoor likelihood heatmap
EP2597486A4 (en) 2010-07-21 2014-03-12 Korea Trade Network SYSTEM AND METHOD FOR LOCATION-BASED SERVICES FOR INTERIOR NAVIGATION
US8369606B2 (en) 2010-07-21 2013-02-05 Palo Alto Research Center Incorporated System and method for aligning maps using polyline matching
US8892118B2 (en) 2010-07-23 2014-11-18 Qualcomm Incorporated Methods and apparatuses for use in providing position assistance data to mobile stations
US20120102164A1 (en) 2010-10-21 2012-04-26 International Business Machines Corporation Deployment of location based applications with crowdsourced structured points of input for data entry
US10169017B2 (en) 2010-10-21 2019-01-01 International Business Machines Corporation Crowdsourcing location based applications and structured data for location based applications
US8676623B2 (en) 2010-11-18 2014-03-18 Navteq B.V. Building directory aided navigation
US8930123B2 (en) 2010-11-19 2015-01-06 International Business Machines Corporation Systems and methods for determining traffic intensity using information obtained through crowdsourcing
US8565783B2 (en) 2010-11-24 2013-10-22 Microsoft Corporation Path progression matching for indoor positioning systems
US8542637B2 (en) 2011-01-18 2013-09-24 Microsoft Corporation Clustering crowd-sourced data for determining beacon positions
US20120185458A1 (en) 2011-01-18 2012-07-19 Microsoft Corporation Clustering crowd-sourced data to identify event beacons
US8577389B2 (en) 2011-01-18 2013-11-05 Microsoft Corporation Filtering and clustering crowd-sourced data for determining beacon positions
US8660581B2 (en) 2011-02-23 2014-02-25 Digimarc Corporation Mobile device indoor navigation
US8548493B2 (en) 2011-04-14 2013-10-01 Navteq B.V. Location tracking
US8320939B1 (en) 2011-04-21 2012-11-27 Google Inc. Crowd-sourced information for interior localization and navigation
US20120295632A1 (en) 2011-05-18 2012-11-22 Sony Ericsson Mobile Communications Ab Indoor map distribution
US8811748B2 (en) 2011-05-20 2014-08-19 Autodesk, Inc. Collaborative feature extraction system for three dimensional datasets
US20120303556A1 (en) 2011-05-27 2012-11-29 Microsoft Corporation Comparison of modeling and inference methods at multiple spatial resolutions
US8954266B2 (en) 2011-06-28 2015-02-10 Microsoft Technology Licensing, Llc Providing routes through information collection and retrieval
US8559975B2 (en) 2011-07-22 2013-10-15 Microsoft Corporation Location determination based on weighted received signal strengths
US8666432B2 (en) 2011-08-11 2014-03-04 Rf Spot Inc. Method and system for indoor RF mapping
US20130084882A1 (en) 2011-09-30 2013-04-04 Qualcomm Incorporated Becoming more "aware" through use of crowdsourcing and device interaction
US8472980B2 (en) 2011-10-01 2013-06-25 Qualcomm Incorporated Flexible architecture for location based crowdsourcing of contextual data
US8626198B2 (en) 2011-11-16 2014-01-07 Qualcomm Incorporated Characterizing an indoor structure based on detected movements and/or position locations of a mobile device
CA2864003C (en) 2012-02-23 2021-06-15 Charles D. Huston System and method for creating an environment and for sharing a location based experience in an environment
US9103916B2 (en) 2012-05-02 2015-08-11 Texas Instruments Incorporated Apparatus and method for indoor positioning
US8983778B2 (en) 2012-06-05 2015-03-17 Apple Inc. Generation of intersection information by a mapping service
WO2013188598A2 (en) * 2012-06-12 2013-12-19 Trx Systems, Inc. Fusion of sensor and map data using constraint based optimization
US9494432B2 (en) 2012-06-19 2016-11-15 Qualcomm Incorporated Collaborative navigation techniques for mobile devices
US8457880B1 (en) 2012-11-28 2013-06-04 Cambridge Mobile Telematics Telematics using personal mobile devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014026338A1 (en) * 2012-08-15 2014-02-20 Google Inc. Crowd-sourcing indoor locations

Also Published As

Publication number Publication date
US10466056B2 (en) 2019-11-05
EP3136128A1 (en) 2017-03-01
CN106574975A (zh) 2017-04-19
EP3136128A4 (en) 2017-12-27
EP3136128B1 (en) 2022-11-09
US20150308839A1 (en) 2015-10-29
KR20150123735A (ko) 2015-11-04
CN106574975B (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
KR102297478B1 (ko) 주변 신호를 이용한 궤적 매칭
US10415978B2 (en) Landmark location determination
Dong et al. iMoon: Using smartphones for image-based indoor navigation
KR101751731B1 (ko) 위치 추적 시스템 및 방법
KR101728123B1 (ko) 지구 자기장을 이용한 동시 로컬리제이션 및 매핑
KR102158029B1 (ko) 전파 지도를 이용한 실내위치 인식 방법 및 장치
US9541404B2 (en) System for determining the location of entrances and areas of interest
Hashemi et al. A weight-based map-matching algorithm for vehicle navigation in complex urban networks
US9002639B2 (en) Method for performing map matching in user terminal
US20180003507A1 (en) Position estimation
US20240036203A1 (en) Methods and systems for geo-referencing mapping systems
KR20180052636A (ko) 자동 맵 생성으로 gps 거부 지역이나 부정확 지역에서에서 모바일기기 내비게이션, 추적 및 포지셔닝
CN107110652B (zh) 处理空间特征
WO2016068742A1 (ru) Способ и система позиционирования мобильного терминала внутри зданий
Tan et al. Bumping: A bump-aided inertial navigation method for indoor vehicles using smartphones
US20130329950A1 (en) Method and system of tracking object
JP5966542B2 (ja) 軌跡解析装置および軌跡解析プログラム
GB2570853A (en) Identifying sites visited by a user device
KR20190068006A (ko) 마커 인식을 통해 경로를 제공하는 방법 및 서버
WO2015163727A1 (ko) 주변 신호를 이용한 궤적 매칭
CN110692260A (zh) 终端设备定位系统和方法
Ševčík Indoor pedestrian localization for mobile devices the model

Legal Events

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