KR20220012212A - 인터렉티브 랜드마크 기반 위치 파악 - Google Patents
인터렉티브 랜드마크 기반 위치 파악 Download PDFInfo
- Publication number
- KR20220012212A KR20220012212A KR1020217007735A KR20217007735A KR20220012212A KR 20220012212 A KR20220012212 A KR 20220012212A KR 1020217007735 A KR1020217007735 A KR 1020217007735A KR 20217007735 A KR20217007735 A KR 20217007735A KR 20220012212 A KR20220012212 A KR 20220012212A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- landmark
- location
- visual
- processors
- Prior art date
Links
- 230000002452 interceptive effect Effects 0.000 title abstract description 158
- 230000000007 visual effect Effects 0.000 claims abstract description 192
- 238000000034 method Methods 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 12
- 239000013598 vector Substances 0.000 description 24
- 210000000887 face Anatomy 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 241000208140 Acer Species 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3438—Rendez-vous, i.e. searching a destination where several users can meet, and the routes to this destination for these users; Ride sharing, i.e. searching a route such that at least two users can share a vehicle for at least part of the route
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3476—Special cost functions, i.e. other than distance or default speed limit of road segments using point of interest [POI] information, e.g. a route passing visible POIs
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3602—Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3605—Destination input or retrieval
- G01C21/3614—Destination input or retrieval through interaction with a road map, e.g. selecting a POI icon on a road map
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
- G01C21/3644—Landmark guidance, e.g. using POIs or conspicuous other objects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3667—Display of a road map
- G01C21/3673—Labelling using text of road map data items, e.g. road names, POI names
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3811—Point data, e.g. Point of Interest [POI]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/16—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/20—Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
- G08G1/202—Dispatching vehicles on the basis of a location, e.g. taxi dispatching
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Navigation (AREA)
- Instructional Devices (AREA)
Abstract
인터렉티브 랜드마크 위치 파악 시스템은 지리적 영역 내에서 현저한 물리적 객체에 대응하는 시각적 랜드마크 데이터베이스를 포함한다. 시각적 랜드마크 데이터베이스는 랜드마크의 위치와 높이, 랜드마크가 향하는 배향, 랜드마크의 크기, 랜드마크의 외관, 랜드마크의 이름, 랜드마크가 보이는 위치의 세트를 표시하는 랜드마크에 대한 뷰쉐드를 포함한 각 랜드마크의 지리적 정보를 포함한다. 사용자가 목적지까지의 지도 데이터 또는 내비게이션 길안내를 요청하면, 인터렉티브 랜드마크 위치 파악 시스템은 시각적 랜드마크와 해당 지리 정보를 사용하여 사용자의 위치와 배향을 검증한다. 예를 들어, 사용자가 특정한 위치 및 배향에 있을 때, 인터렉티브 랜드마크 위치 파악 시스템은 사용자의 위치 및 배향을 검증하기 위해 특정한 위치 근처에 있는 랜드마크의 표시를 제공한다.
Description
본 개시는 내비게이션 길안내에 관한 것이고, 특히 랜드마크를 사용하여 사용자를 안내하는 것에 관한 것이다.
본 명세서에 제공된 배경기술은 본 발명의 컨텍스트를 일반적으로 제시하기 위한 목적이다. 본 배경기술 섹션에서 기술되는 범위까지 현재 명명된 발명자들의 성과 뿐만 아니라 출원 시점에 선행기술로서 인정되지 않는 기술의 양태들은 본 발명에 대한 선행기술로서 명시적으로 또는 묵시적으로도 인정되지 않는다.
운전자를 지리적 위치 간에 자동 라우팅하는 시스템은 일반적으로 거리, 거리 이름, 건물 번호 표시를 활용하여, 경로를 기반으로 내비게이션 길안내를 생성한다. 예를 들어, 이러한 시스템은 "4분의 1마일을 간 다음 메이플 스트리트로 우회전"과 같은 지시를 운전자에게 제공할 수 있다. 그러나 운전자가 거리를 정확하게 판단하는 것은 어렵고, 운전자가 도로 표지판을 보는 것도 항상 쉽지는 않다. 또한 거리 및 도로 표지판이 열악한 지역이 있다.
다른 사람이 운전자에게 말할 수 있는 것과 더 유사한 안내를 운전자에게 제공하기 위해 시각적으로 현저한 건물이나 광고판과 같이 경로를 따라 눈에 띄는 객체에 대한 참조로 내비게이션 길안내를 보강할 수 있다. 이러한 눈에 띄는 객체를 "시각적 랜드마크"라고 할 수 있다. 따라서 시스템은 다음과 같은 내비게이션 길안내를 생성할 수 있다. "1/4 마일에서 오른쪽에 McDonald's®레스토랑이 있습니다. Maple Street으로 우회전하십시오." 이를 위해 운영자는 시각적 랜드마크에 대한 설명 및 위치 표시(예: 거리 주소, 좌표)를 입력할 수 있으므로, 시스템이 내비게이션 길안내를 생성할 때 적절한 시각적 랜드마크를 자동으로 선택할 수 있다.
그러나 모든 랜드마크가 항상 보이는 것은 아니다. 예를 들어, 일부 광고판은 밤에 밝게 비춰 지지만 일반적으로 낮에는 눈에 띄지 않을 수 있다. 반면에 건물의 복잡한 파사드는 낮에는 쉽게 알아볼 수 있지만 조명이 어두워 밤에는 눈에 띄지 않을 수 있다.
또한 내비게이션이 시작될 때 사용자가 움직이지 않고 아직 이동 방향이 없는 경우 내비게이션 시스템은 일반적으로 "State Street에서 북쪽으로 이동"과 같은 절대적 길안내를 제공한다. 사용자는 항상 자신의 배향을 알 수 없기 때문에, 절대 방향은 사용하기 어려울 수 있다. 그러나 클라이언트 디바이스가 휴지 상태에 있는 동안 클라이언트 디바이스가 동작 또는 향하는 곳을 결정하는 것은 어렵다.
또한 내비게이션 시스템은 일반적으로 여러 GPS 위성으로부터 신호를 수신하는 GPS(Global Positioning Service) 모듈과 같은 위치 센서를 사용하여 사용자의 위치를 결정한다. 그러나 GPS에서 결정된 위치는 일반적으로 특히 높은 건물, 다리, 터널 등이 있는 지역에서 그다지 정확하지 않다.
사용자의 정확한 위치와 배향을 결정하기 위해, 예를 들어, 사용자의 클라이언트 디바이스가 휴지 상태 중일 때, 인터렉티브 랜드마크 위치 파악 시스템은 사용자의 클라이언트 디바이스의 현재 위치를 획득하고 사용자의 현재 위치 및/또는 사용자의 추정된 배향에서 볼 수 있는 랜드마크를 식별한다. 그 다음 인터렉티브 랜드마크 위치 파악 시스템은 식별된 랜드마크를 사용자의 클라이언트 디바이스로 전송하고, 식별된 랜드마크가 사용자의 시야에 있는지 확인하도록 사용자에게 요청한다. 식별된 랜드마크가 사용자의 시야에 없는 경우, 인터렉티브 랜드마크 위치 파악 시스템은 다른 랜드마크를 사용자의 클라이언트 디바이스로 보낼 수 있다. 예를 들어, 인터렉티브 랜드마크 위치 파악 시스템은 사용자가 북쪽을 향하고 있다고 추정할 수 있고, 사용자의 현재 위치의 북쪽에 있는 랜드마크를 식별할 수 있다. 사용자가 이러한 랜드마크를 볼 수 없는 경우, 인터렉티브 랜드마크 위치 파악 시스템은 사용자가 남쪽을 향하고 있는 것으로 추정하고 사용자의 현재 위치의 남쪽에 있는 랜드마크를 식별할 수 있다.
일부 구현예에서, 식별된 랜드마크가 사용자의 시야에 없을 때, 클라이언트 디바이스는 증강 현실(AR) 모드로 전환하고, 카메라 보기를 제시하고, 카메라 보기에 포함된 현실 세계 이미지를 인터렉티브 랜드마크 위치 파악 시스템에 제공한다. 인터렉티브 랜드마크 위치 파악 시스템은 예를 들어 사용자의 정확한 위치 및 배향을 결정하기 위해 객체 검출을 사용하여, 카메라 뷰에 포함된 랜드마크를 식별할 수 있다. 사용자의 정확한 위치는 GPS와 같은 포지셔닝 디바이스에 따라 결정된 위치보다 더 높은 정확도로 결정된 위치일 수 있다. 더 구체적으로, 인터렉티브 랜드마크 위치 파악 시스템은 랜드마크 데이터베이스로부터 랜드마크의 위치, 배향, 크기 등을 검색할 수 있다. 사용자의 정확한 위치 및 배향은 카메라 뷰에 포함된 식별된 랜드마크의 위치, 배향, 크기 등에 기초할 수 있다. 예를 들어 카메라 뷰의 Walgreens®간판이 남쪽을 향하고 카메라 뷰포인트가 Walgreens®간판의 바로 반대편에 있는 경우, 인터렉티브 랜드마크 위치 파악 시스템은 사용자가 북쪽을 향하고 있다고 판단할 수 있다. 다른 예에서, 사용자의 클라이언트 디바이스로부터 랜드마크까지의 거리는 카메라 뷰의 스케일에 기초하여 결정될 수 있다. 카메라 뷰가 높은 레벨로 확대되고 Burger King®간판이 카메라 뷰에 있는 경우 인터렉티브 랜드마크 위치 파악 시스템은 사용자가 Burger King®간판 근처에 있다고 판단할 수 있다. 반면에, 카메라 뷰가 축소되고 Burger King®간판이 카메라 뷰의 배경에 있는 경우 인터렉티브 랜드마크 위치 파악 시스템은 사용자가 Burger King®간판에서 멀리 떨어져 있다고 판단할 수 있다. 인터렉티브 랜드마크 위치 파악 시스템은 Burger King®간판의 위치 및 Burger King®간판으로부터 사용자의 추정 거리에 기초하여 사용자의 정확한 위치를 결정할 수 있다. 인터렉티브 랜드마크 위치 파악 시스템은 카메라 뷰 내에서 Burger King®간판의 위치 및/또는 배향에 기초하여 사용자의 배향을 결정할 수 있다.
어떤 경우에도, 인터렉티브 랜드마크 위치 파악 시스템은 랜드마크를 사용하는 픽업 위치와 같은 미팅 위치로 둘 이상의 사용자를 안내할 수 있다. 일부 경우에, 인터렉티브 랜드마크 위치 파악 시스템은 공유 랜드마크를 사용하여 사용자를 미팅 위치로 안내할 수 있다. 예를 들어, 제1 사용자가 목적지까지의 승차를 요청하고 제2 사용자가 제1 사용자를 목적지로 운송하기 위한 요청을 수락하면, 인터렉티브 랜드마크 위치 파악 시스템은 제1 사용자의 시야 내의 특정한 랜드마크에 기초하여 제1 사용자를 픽업 위치로 안내할 수 있다. 보다 구체적으로, 인터렉티브 랜드마크 위치 파악 시스템은 제1 사용자가 특정한 랜드마크를 향해 걸어간 다음 제2 사용자가 도착하기를 기다리는 동안 특정한 랜드마크 아래에 서있도록 안내할 수 있다. 인터렉티브 랜드마크 위치 파악 시스템은 또한 (예를 들어, 최종 내비게이션 지시에서) 제2 사용자에게 특정한 랜드마크를 향해 진행하도록 안내할 수 있고, 제1 사용자가 특정한 랜드마크 아래에 서있을 것임을 표시할 수 있다.
이 기법의 예시적 실시예는 하나 이상의 프로세서에 의해 실행되는 미팅 위치로 둘 이상의 사용자를 안내하는 방법이다. 상기 방법은 제1 사용자의 제1 위치 및 제2 사용자의 제2 위치를 포함하는 미팅 위치에서 제1 사용자가 제2 사용자를 만나게 하기 위한 요청을 수신하는 단계를 포함하며, 상기 제1 및 제2 위치는 지리적 영역 내에 있다. 상기 방법은 데이터베이스로부터 상기 지리적 영역 내의 물리적 객체에 대응하는 복수의 시각적 랜드마크를 검색하는 단계를 포함하며, 그리고 상기 제1 사용자 및 상기 제2 사용자를 상기 지리적 영역 내의 미팅 위치로 안내하기 위해 상기 복수의 시각적 랜드마크로부터 공유 시각적 랜드마크를 선택하는 단계를 포함하며, 상기 공유 시각적 랜드마크는 상기 제1 위치 및 상기 제2 위치 둘 모두로부터의 가시성에 기초하여 선택된다. 추가적으로, 상기 제1 사용자 및 상기 제2 사용자에게 상기 공유 시각적 랜드마크를 참조하는 미팅 위치로의 길안내를 제공하는 단계를 포함한다.
이러한 기법의 또 다른 예시적 실시예는 둘 이상의 사용자를 미팅 위치로 안내하기 위한 서버 디바이스다. 서버 디바이스는 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서에 결합되고 명령어를 저장하는 비일시적 컴퓨터 판독가능 메모리를 포함한다. 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 서버 디바이스로 하여금 제1 사용자의 제1 위치 및 제2 사용자의 제2 위치를 포함하는 미팅 위치에서 제1 사용자가 제2 사용자를 만나기 위한 요청을 수신하게 하며, 상기 제1 및 제2 위치는 지리적 영역 내에 있다. 명령어는 또한 서버 디바이스로 하여금 지리적 영역 내의 물리적 객체에 대응하는 복수의 시각적 랜드마크를 데이터베이스로부터 검색하게 하고, 제1 사용자 및 제2 사용자를 안내하기 위해 복수의 시각적 랜드마크로부터 공유 시각적 랜드마크를 선택하게 하며, 상기 공유 시각적 랜드마크는 상기 제1 위치 및 상기 제2 위치 둘 모두로부터의 가시성에 기초하여 선택된다. 추가로, 상기 명령어는 상기 서버 디바이스로 하여금 상기 제1 사용자 및 상기 제2 사용자에게 상기 공유 시각적 랜드마크를 참조하는 미팅 위치로의 길안내를 제공하게 한다.
이 기법의 또 다른 예시적 실시예는 하나 이상의 프로세서에 의해 실행되는 랜드마크를 사용하여 사용자의 현재 위치 또는 배향을 검증하는 방법이다. 상기 방법은 클라이언트 디바이스로부터 상기 클라이언트 디바이스의 사용자에 대한 위치 및 배향 정보를 수신하는 단계, 데이터베이스로부터 상기 위치 정보에 대응하는 지리적 영역 내의 물리적 객체에 대응하는 복수의 시각적 랜드마크를 검색하는 단계, 상기 사용자에 대한 위치 및 배향 정보에 기초하여 상기 사용자의 시야 내에서 상기 복수의 시각적 랜드마크 중 하나 이상을 선택하는 단계, 및 상기 하나 이상의 시각적 랜드마크의 표시 및 상기 하나 이상의 시각적 랜드마크가 상기 사용자의 시야 내에 있음을 확인하기 위한 요청을 제공하는 단계를 포함한다. 상기 하나 이상의 시각적 랜드마크가 사용자의 시야 내에 없다는 표시를 상기 클라이언트 디바이스로부터 수신함에 응답하여: 상기 방법은: 시각적 랜드마크를 포함하는 상기 클라이언트 디바이스의 시야로부터 현실 세계 이미지를 수신하는 단계, 및 상기 현실 세계 이미지에 기초하여 상기 사용자의 위치 및 배향을 결정하는 단계를 포함한다.
도 1은 클라이언트 및 서버 디바이스가 인터렉티브 랜드마크 위치 파악 시스템을 구현하기 위해 동작할 수 있는 예시적 통신 시스템의 블록도이다.
도 2는 도 1의 시스템에서 구현될 수 있는 시각적 랜드마크 데이터베이스에 포함된 예시적 랜드마크 데이터 테이블이다.
도 3은 특정한 랜드마크가 보이는 위치를 나타내는 특정한 랜드마크에 대한 뷰쉐드를 나타내는 예시적 지도 디스플레이다.
도 4a 및 4b는 공유 랜드마크를 통해 사용자를 미팅 위치로 안내하는 두 사용자의 클라이언트 디바이스에 제공되는 예시적 내비게이션 디스플레이다.
도 5는 사용자의 시야 내의 랜드마크에 따라 클라이언트 디바이스의 위치 및/또는 배향을 검증하기 위해 클라이언트 디바이스에 제시되는 예시적 위치 검증 디스플레이다.
도 6은 사용자의 시야에 있는 영역의 클라이언트 디바이스에 제시된 AR 모드의 예시적 디스플레이다.
도 7은 클라이언트 디바이스의 정확한 위치 및/또는 배향을 식별하는 것에 응답하여 클라이언트 디바이스에 제시되는 예시적 내비게이션 디스플레이다.
도 8은 서버 디바이스에서 구현될 수 있는 둘 이상의 사용자를 미팅 위치로 안내하기 위한 예시적 방법의 흐름도이다.
도 9는 서버 디바이스에서 구현될 수 있는 랜드마크를 사용하여 사용자의 현재 위치 또는 배향을 검증하는 예시적 방법의 흐름도이다.
도 2는 도 1의 시스템에서 구현될 수 있는 시각적 랜드마크 데이터베이스에 포함된 예시적 랜드마크 데이터 테이블이다.
도 3은 특정한 랜드마크가 보이는 위치를 나타내는 특정한 랜드마크에 대한 뷰쉐드를 나타내는 예시적 지도 디스플레이다.
도 4a 및 4b는 공유 랜드마크를 통해 사용자를 미팅 위치로 안내하는 두 사용자의 클라이언트 디바이스에 제공되는 예시적 내비게이션 디스플레이다.
도 5는 사용자의 시야 내의 랜드마크에 따라 클라이언트 디바이스의 위치 및/또는 배향을 검증하기 위해 클라이언트 디바이스에 제시되는 예시적 위치 검증 디스플레이다.
도 6은 사용자의 시야에 있는 영역의 클라이언트 디바이스에 제시된 AR 모드의 예시적 디스플레이다.
도 7은 클라이언트 디바이스의 정확한 위치 및/또는 배향을 식별하는 것에 응답하여 클라이언트 디바이스에 제시되는 예시적 내비게이션 디스플레이다.
도 8은 서버 디바이스에서 구현될 수 있는 둘 이상의 사용자를 미팅 위치로 안내하기 위한 예시적 방법의 흐름도이다.
도 9는 서버 디바이스에서 구현될 수 있는 랜드마크를 사용하여 사용자의 현재 위치 또는 배향을 검증하는 예시적 방법의 흐름도이다.
개요
개시된 주제의 양태는 개선된 내비게이션 시스템을 제공하고, 이에 의해 다수의 사용자는 하나 이상의 결정된 상호적인 시각적 랜드마크에 기초하여 특정한 위치로 안내된다. 즉, 각 사용자에 대한 내비게이션이 결정론적인 방식으로 사용자와 다른 사용자에게 보이는 실제 객체에 의존하는 내비게이션이 제공된다.
추가로, 개시된 주제의 양태는 현실 세계 객체에 기초하여 사용자의 위치 또는 배향을 결정하는 개선된 방법을 제공한다. 예를 들어, 하나 이상의 시각적 랜드마크가 사용자의 시야 내에 없다는 응답이 클라이언트 디바이스로부터 수신되는 경우, 클라이언트 디바이스의 시야에서 현실 세계 이미지 형태의 결정론적 데이터를 얻을 수 있고, 결정론적인 방식으로 사용자의 위치와 배향을 결정한다.
예시적 하드웨어 및 소프트웨어 컴포넌트들
도 1은 인터렉티브 시각적 랜드마크를 제공하기 위한 기법 중 적어도 일부가 구현될 수 있는 환경(10)을 도시한다. 환경(10)은 통신 네트워크(16)를 통해 상호 연결된 클라이언트 디바이스(12) 및 서버 디바이스(14)를 포함한다. 네트워크(16)는 인터넷과 같은 공용 네트워크 또는 인트라넷과 같은 사설 네트워크일 수 있다. 서버 디바이스(14)는 차례로 다양한 데이터베이스 및 내비게이션 서버, 지도 데이터 서버, 승차 공유 서버, 실시간 교통 서버, 날씨 서버 등과 같은 다른 서버 디바이스와 통신할 수 있다.
서버 디바이스(14)는 시각적 랜드마크 및 랜드마크의 위치와 높이, 랜드마크가 향하는 배향, 랜드마크의 크기, 랜드마크의 외관, 랜드마크의 이름, 다양한 조건 및/또는 다양한 시간에 랜드마크가 보이는 위치의 세트를 표시하는 랜드마크에 대한 뷰쉐드를 포함한 각 랜드마크의 지리적 정보 등과 같은 각 시각적 랜드마크에 대한 지리적 정보를 저장하는 데이터베이스(52)에 통신적으로 연결된다. 각 시각적 랜드마크에 대한 시각적 랜드마크 및 지리적 정보는 여기서 "사람 시각적 지오코드"라고도 한다. 이는 도 2을 참조하여 아래에서 더 자세히 기술된다. 서버 디바이스(14)는 또한 지도 데이터베이스(50) 및 다양한 지리적 영역에 대한 현실 세계 이미지를 저장하는 현실 세계 이미지 데이터베이스(54)에 통신적으로 연결될 수 있다.
클라이언트 디바이스(12)는 스마트폰과 같은 휴대용 전자 디바이스, 스마트 워치 또는 헤드 마운트 디스플레이와 같은 웨어러블 디바이스 또는 태블릿 컴퓨터를 포함할 수 있다. 클라이언트 디바이스(12)는 예를 들어, 승차 공유 환경에서 운전자 클라이언트 디바이스 및 탑승자 클라이언트 디바이스를 포함할 수 있다. 다른 예에서, 클라이언트 디바이스(12)는 특정한 미팅 위치에서 만나려고 시도하는 사용자들의 클라이언트 디바이스들을 포함할 수 있다. 임의의 경우에, 클라이언트 디바이스(12)는 하나 이상의 중앙 처리 장치(CPU), 그래픽 콘텐츠를 효율적으로 렌더링하기 위한 하나 이상의 그래픽 처리 장치(GPU), 애플리케이션 특정 집적 회로(application-specific integrated circuit, ASIC) 또는 기타 적절한 유형의 처리 하드웨어를 포함할 수 있는 프로세싱 모듈(22)을 포함할 수 있다. 또한, 클라이언트 디바이스(12)는 영구(예를 들어, 하드 디스크, 플래시 드라이브) 및/또는 비영구(예를 들어, RAM) 컴포넌트로 구성된 메모리(24)를 포함할 수 있다. 도 1에 도시된 예시적 구현예에서, 메모리(24)는 지리 애플리케이션(26) 및/또는 승차 공유 애플리케이션(27)을 구현하는 명령어를 저장한다.
또한, 클라이언트 디바이스(12)는 카메라(미도시), 사용자 인터페이스(28) 및 네트워크 인터페이스(30)를 포함한다. 어느 경우든, 사용자 인터페이스(28)는 터치 스크린, 마이크로폰, 키보드 등과 같은 하나 이상의 입력 컴포넌트뿐만 아니라 화면 또는 스피커와 같은 하나 이상의 출력 컴포넌트를 포함할 수 있다.
네트워크 인터페이스(30)는 단거리 및/또는 장거리 통신을 지원할 수 있다. 예를 들어, 네트워크 인터페이스(30)는 IEEE 802.11(예를 들어, Wi-Fi) 또는 802.15(블루투스)와 같은 개인 영역 네트워크 프로토콜인 셀룰러 통신을 지원할 수 있다. 일부 구현예에서, 클라이언트 디바이스(12)는 클라이언트 디바이스(12) 내의 다수의 디바이스를 상호 연결하고 클라이언트 디바이스(12)를 네트워크(16)에 연결하기 위한 다수의 네트워크 인터페이스 모듈을 포함한다.
또한, 네트워크 인터페이스(30)는 일부 경우에 지리적 위치를 지원할 수 있다. 예를 들어, 네트워크 인터페이스(30)는 Wi-Fi 삼변 측량을 지원할 수 있다. 다른 경우에, 클라이언트 디바이스(12)는 GPS 모듈과 같은 전용 포지셔닝 모듈(32)을 포함할 수 있다. 클라이언트 디바이스(12)는 또한 가속도계, 자이로스코프, 나침반과 같은 자력계 등과 같은 다른 센서를 포함할 수 있다.
계속해서 도 1을 참조하면, 클라이언트 디바이스(12)는 인터넷과 같은 광역 네트워크일 수 있는 네트워크(16)를 통해 서버 디바이스(14)와 통신할 수 있다. 서버 디바이스(14)는 다수의 지리적 위치에 분산된 디바이스를 포함하여 하나 이상의 서버 디바이스에서 구현될 수 있다. 서버 디바이스(14)는 내비게이션 지시 생성기(42) 및 인터렉티브 랜드마크 선택 모듈(44)을 구현할 수 있다. 이러한 서브시스템의 컴포넌트는 하드웨어, 펌웨어 및 소프트웨어의 적절한 조합을 사용하여 구현될 수 있다. 서버 디바이스는 지도 데이터베이스(50), 시각적 랜드마크 데이터베이스(52) 및 현실 세계 이미지 데이터베이스(54)와 같은 데이터베이스에 액세스할 수 있으며, 이는 임의의 적절한 데이터 저장 및 액세스 기법을 사용하여 구현될 수 있다.
동작 중에, 인터렉티브 랜드마크 선택 모듈(44)은 클라이언트 디바이스(12)로부터 지도 데이터 또는 내비게이션 길안내에 대한 요청을 수신할 수 있다. 요청은 사용자의 현재 위치 및/또는 추정 배향을 포함할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크 데이터베이스(52)로부터 현재 위치의 임계 거리 내에 있고 사용자의 현재 위치 및/또는 추정 배향으로부터 볼 수 있는 시각적 랜드마크를 검색할 수 있다. 더 구체적으로, 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크가 현재 위치의 임계 거리 내에 있고 현재 위치 및/또는 사용자의 추정 배향으로부터 볼 수 있음을 나타내는 지리 정보를 갖는 시각적 랜드마크를 식별할 수 있다. 임의의 경우에, 인터렉티브 랜드마크 선택 모듈(44)은 클라이언트 디바이스(12)에 사용자가 식별된 시각적 랜드마크가 사용자의 시야 내에 있는지 확인하게 하거나 사용자가 식별된 시각적 랜드마크를 마주할 때까지 회전하게 하기위한 요청과 함께 식별된 시각적 랜드마크의 표시를 제공할 수 있다. 예를 들어, 인터렉티브 랜드마크 선택 모듈(44)은 사용자 인터페이스(28)를 통해 클라이언트 디바이스(12)에 디스플레이된 요청을 제공하여, 사용자가 그녀의 바로 앞에서 McDonald's®간판을 볼 수 있는지 확인하게 할 수 있다.
사용자가 식별된 시각적 랜드마크가 자신의 시야 내에 있거나 예를 들어 사용자 인터페이스(28)에 제시된 사용자 컨트롤을 통해 식별된 시각적 랜드마크를 향한 것으로 확인한 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자의 현재 위치 및 배향을 검증하고 사용자의 현재 위치 및 배향에 기초하여 사용자의 정확한 위치와 배향을 결정한다. 예를 들어, McDonald's®간판이 사용자의 현재 위치의 북쪽에 있는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 북쪽을 향하고 있다고 결정한다. 사용자의 정확한 위치는 GPS와 같은 포지셔닝 디바이스에 따라 결정된 위치보다 더 높은 정확도로 결정된 위치일 수 있다. 서버 디바이스(14)는 지도 데이터, 내비게이션 데이터, 승차 공유 데이터 등을 클라이언트 디바이스(12)에 제공하기 위해 사용자의 정확한 위치 및 배향을 사용할 수 있다. 예를 들어, 사용자가 목적지 위치로의 내비게이션 길안내를 요청하면, 내비게이션 지시 생성기(42)는 도로 형상 데이터, 도로 및 교차로 제한(예: 일방 통행, 좌회전 금지), 도로 유형 데이터(예: 고속도로, 지역 도로), 속도 제한 데이터 등을 지도 데이터베이스(50)로부터 검색하여 사용자의 현재 위치로부터 목적지까지의 경로를 생성한다. 도로 데이터에 추가하여, 지도 데이터베이스(50)는 강, 산, 숲과 같은 다양한 자연 지리적 피처와 건물 및 공원과 같은 인공 지리적 피처에 대한 지오메트리 및 위치 표시에 대한 설명을 저장할 수 있다. 지도 데이터는 다른 데이터 중에서 벡터 그래픽 데이터, 래스터 이미지 데이터 및 텍스트 데이터가 포함될 수 있다. 예시적 구현예에서, 지도 데이터베이스(50)는 지도 데이터를 지도 타일로 구성하는데, 이는 일반적으로 지리 공간 데이터의 2차원 또는 3차원 구성을 옥트리와 같은 횡단 가능한 데이터 구조에 대응시킨다.
임의의 경우에, 내비게이션 지시 생성기(42)는 하나 이상의 경로를 사용하여 내비게이션 지시의 시퀀스를 생성할 수 있다. 내비게이션 지시의 예는 "500 피트 후 Elm St.에서 우회전하세요" 및 "4 마일을 계속 직진하세요"를 포함한다. 내비게이션 지시 생성기(42)는 사용자의 언어로 이들 및 유사한 문구를 구성하기 위해 자연어 생성 기법을 구현할 수 있다. 초기적 내비게이션 지시의 경우, "State Street에서 북쪽으로 가세요"와 같은 절대 방향을 제공하는 대신, 내비게이션 지시 생성기(42)는 인터렉티브 랜드마크 선택 모듈(44)에 의해 결정된 사용자의 정확한 위치 및 배향에 기초하여 사용자를 안내할 수 있다. 예를 들어, 내비게이션 지시 생성기(42)는 사용자가 북쪽을 향하고 있기 때문에 "State Street에서 계속 직진하세요"라는 초기 내비게이션 지시를 생성할 수 있다. 초기 지시가 사용자가 남쪽으로 향하도록 요구하는 경우, 내비게이션 지시 생성기(42)는 "McDonald's®간판에서 유턴하고 State Street에서 계속 직진하세요"라는 초기 내비게이션 지시를 생성할 수 있다.
서버 디바이스(14)는 또한 미팅 위치에 관한 정보를 다른 사용자에게 제공하기 위해 사용자의 정확한 위치 및 배향을 사용할 수 있다. 예를 들어, 두 명의 사용자는 사용자, 사용자의 클라이언트 디바이스(12), 서버 디바이스(14) 또는 다른 서버 디바이스에 의해 결정된 미팅 위치에서 만남을 스케줄링할 수 있다. 사용자의 클라이언트 디바이스(12)가 GPS 모듈(32) 또는 클라이언트 디바이스(12)의 다른 센서에 따라 휴지 상태에 있는 것으로 표시됨에 따라, 제1 사용자가 미팅 위치에 도착하거나 미팅 위치의 임계 거리(예: 100m) 내의 위치에서 임계 시간(예: 30 초) 이상 동안 이동을 멈출 수 있다. 그 후, 서버 디바이스(14)는 제1 사용자의 시야 내에 랜드마크의 표시를 제공하고 및/또는 제1 사용자 앞에서 현실 세계 이미지의 카메라 뷰를 수신함으로써 제1 사용자의 정확한 위치 및 배향을 결정할 수 있다. 서버 디바이스(14)는 제1 사용자에게 제공되거나 제1 사용자의 클라이언트 디바이스(12)의 카메라 뷰에서 식별된 동일한 랜드마크를 제2 사용자에게 제공할 수 있다. 이러한 방식으로, 제2 사용자가 제1 사용자를 찾을 수 있도록 제2 사용자는 제1 사용자의 위치로부터 볼 수 있는 및/또는 그에 근접한 랜드마크를 볼 수 있다.
사용자가 시야 내에서 식별된 시각적 랜드마크를 보지 못하고 예를 들어 사용자 인터페이스(28)에 제시된 사용자 컨트롤을 통해 식별된 시각적 랜드마크를 보지 못했다는 표시를 제공하면, 인터렉티브 랜드마크 선택 모듈(44)은 클라이언트 디바이스(12)를 클라이언트 디바이스(12) 앞에 현실 세계 이미지의 카메라 뷰를 제공하는 증강 현실(AR) 모드로 전환하게 한다. 인터렉티브 랜드마크 선택 모듈(44)은 현실 세계 이미지를 수신하고 객체 인식을 사용하여 현실 세계 이미지 내의 랜드마크를 식별한다. 보다 구체적으로, 인터렉티브 랜드마크 선택 모듈(44)은 데이터베이스로부터 여러 템플릿 랜드마크를 획득할 수 있다. 템플릿 랜드마크는 표지판 또는 기타 눈에 띄는 물리적 객체를 포함할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 블러, 모션, 왜곡, 배향, 조명, 스케일링 및/또는 카메라 관점의 다른 변화에 관계없이 검출 가능한 템플릿 랜드마크 내의 안정된 영역을 검출함으로써 템플릿 랜드마크 각각의 시각적 피처를 식별할 수 있다. 안정된 영역은 SIFT(scale-invariant feature transform), SURF(Speeded up Robust Features), FREAK(빠른 망막 키포인트), BRISK(Binary Robust Invariant Scalable Keypoint) 또는 기타 적절한 컴퓨터 비전 기법을 사용하여 템플릿 랜드마크에서 추출할 수 있다. 일부 구현예에서, 키포인트는 템플릿 랜드마크 내의 에지와 같은 템플릿 랜드마크의 고-대비 영역에 위치될 수 있다. 경계 상자는 키포인트 주변에 형성될 수 있으며 경계 상자에 의해 생성된 템플릿 랜드마크의 일부는 피처일 수 있다.
인터렉티브 랜드마크 선택 모듈(44)은 피처의 폭 및 높이, 피처에 대한 RGB 픽셀 값, 오브젝트 내 피처의 중심점 픽셀 포지션과 같은 템플릿 피처 벡터를 생성하기 위해 피처의 수치 표현을 생성할 수 있다. 또한, 인터렉티브 랜드마크 선택 모듈(44)은 피처 벡터를 생성하기 위해 클라이언트 디바이스(12)의 카메라로부터 카메라 뷰의 시각적 피처 또는 카메라 뷰의 일부(본 명세서에서 "객체"라고도 함)를 식별할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰에 대한 피처 벡터 또는 카메라 뷰 내의 객체에 대한 피처 벡터를 템플릿 피처 벡터와 비교하여, 클라이언트 디바이스(12)의 카메라로부터 카메라 뷰에 대한 피처 벡터에 가장 가까운 템플릿 피처 벡터를 갖는 하나 이상의 템플릿 객체를 식별한다. 예를 들어, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰에 대한 피처 벡터에 가장 가까운 템플릿 피처 벡터를 갖는 상위 3개의 템플릿 객체를 식별할 수 있다. 하나 이상의 식별된 템플릿 객체의 대다수가 Walgreens®간판인 경우, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰에서 객체를 Walgreens®간판으로 식별할 수 있다.
임의의 경우에, 인터렉티브 랜드마크 선택 모듈(44)은 예를 들어 각각의 식별된 랜드마크의 위치, 배향, 크기 등을 결정하기 위해 시각적 랜드마크 데이터베이스(52)로부터 카메라 뷰 내의 식별된 랜드마크에 대한 인간의 시각적 지오 코드 또는 지리 정보를 검색할 수 있다. 식별된 랜드마크가 Walgreens®간판과 같은 둘 이상의 위치를 가질 때, 인터렉티브 랜드마크 선택 모듈(44)은 사용자의 대략적인 현재 위치에 가장 가까운 위치에 대한 지리 정보를 검색한다. 다른 구현예에서, 하나 이상의 랜드마크가 카메라 뷰 내에서 식별될 때, 인터렉티브 랜드마크 선택 모듈(44)은 식별된 랜드마크 각각을 포함하는 지리적 영역에 기초하여 각각의 식별된 랜드마크에 대한 위치를 결정한다. 임의의 경우에, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰 내의 식별된 랜드마크의 위치 및 배향에 기초하여 사용자의 현재 위치 및 배향을 결정한다. 예를 들어, Walgreens®간판이 Main Street 및 State Street의 모퉁이에 있고 동쪽을 향하고 카메라 뷰가 Walgreens®간판을 직접 향하는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 서쪽을 향하고 Main Street 및 State Street의 동쪽에 위치한다고 결정한다. 또한, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰 내에서 식별된 각각의 랜드마크의 크기에 기초하여 사용자의 현재 위치를 결정할 수 있다. 예를 들어, 카메라 뷰 내에 Walgreens®간판이 더 크게 나타날수록 사용자가 Walgreens®간판에 더 가깝다.
다른 예시적 시나리오에서, 인터렉티브 랜드마크 선택 모듈(44)은 둘 이상의 사용자를 각각의 클라이언트 디바이스(12)를 통해 미팅 위치로 안내하기 위한 요청을 수신한다. 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 미팅 위치에 접근하는 배향 및 위치에 기초하여 각 사용자를 미팅 위치로 안내하기 위한 랜드마크를 식별할 수 있다. 일부 구현예에서, 인터렉티브 랜드마크 선택 모듈(44)은 동일한 랜드마크를 사용하여 각각의 사용자를 미팅 위치로 안내하기 위한 공유 랜드마크를 식별할 수 있다. 다른 구현예에서, 인터렉티브 랜드마크 선택 모듈(44)은 그녀가 미팅 위치에 접근하는 위치 및 배향에 따라 각 사용자에게 가장 잘 보이는 랜드마크에 기초하여 각 사용자를 미팅 위치로 안내하기 위한 다른 랜드마크를 식별할 수 있다.
예를 들어, 승차 공유 환경에서, 탑승자는 자신의 탑승자 클라이언트 디바이스(12)의 승차 공유 애플리케이션(27)을 통해 목적지 위치로의 운송 서비스를 요청할 수 있다. 운전자는 운전자 클라이언트 디바이스(12)의 승차 공유 애플리케이션(27)을 통해 요청을 수신하고 수락할 수 있고 또는 서버 디바이스(14) 또는 다른 서버는 탑승자를 검색하기 위한 픽업 위치를 식별할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 픽업 위치 및 운전자 및 탑승자의 현재 위치를 획득할 수 있다. 예를 들어, 운전자와 탑승자의 현재 위치는 위에서 설명한 기법을 사용하여 결정될 수 있다. 일부 구현예에서, 내비게이션 지시 생성기(42)는 운전자 및 탑승자를 위한 픽업 위치로의 경로를 생성할 수 있고, 인터렉티브 랜드마크 선택 모듈(44)은 각각의 경로의 최종 조작이 수행되는 위치를 획득할 수 있다. 예를 들어, 내비게이션 지시 생성기(42)는 운전자를 픽업 위치로 안내하기 위한 일련의 지시를 생성할 수 있으며, 여기서 최종 지시는 State Street에서 북쪽으로 향한 후 State Street에서 Main Street로 좌회전하고 계속 직진하여 픽업 위치에 도착한다는 것이다. 이 예에서, 인터렉티브 랜드마크 선택 모듈(44)은 State Street와 Main Street의 교차점을 운전자의 위치로, 운전자의 방향을 State Street에서 북쪽으로 향한 후 Main Street으로 좌회전한 후 운전자가 향할 방향으로 획득할 수 있다. 이러한 방식으로, 인터렉티브 랜드마크 선택 모듈(44)은 운전자의 위치 및 배향으로부터 볼 수 있는 픽업 위치의 임계 거리 내의 랜드마크를 식별한다. 인터렉티브 랜드마크 선택 모듈(44)은 식별된 랜드마크를 내비게이션 지시 세트에 통합하기 위해 식별된 랜드마크를 네비게이션 지시 생성기(42)에 제공할 수 있다. 예를 들어, 운전자에게 State Street에서 Main Street로 좌회전하도록 안내한 후, 내비게이션 지시 생성기(42)는 Walgreens®간판을 향해 이동하기 위한 추가 네비게이션 지시를 생성할 수 있으며, 탑승자는 Walgreens®간판 아래에 서 있을 것이다. 식별된 랜드마크는 각 사용자를 안내하기 위한 공유 랜드마크일 수 있으며, 내비게이션 지시 생성기(42)는 탑승자가 Walgreens®간판을 향해 이동하고 Walgreens®간판 아래에 서도록 추가 네비게이션 지시를 생성할 수 있다.
시각적 랜드마크 데이터베이스(52)는 운전(또는 자전거 타기, 보행 또는 달리 내비게이션 경로를 따라 이동)할 때 볼 수 있는 눈에 띄는 지리적 개체에 관한 정보를 저장할 수 있으며, 따라서 시각적 랜드마크로 작용할 수 있다. 예를 들어, 시각적 랜드마크 데이터베이스(52)는 PGE Park(70), Golden Gate Bridge(72), 덴버의 Walgreens®74 및 임의의 다른 적절한 시각적 랜드마크에 대한 지리적 정보와 같은 인간의 시각적 지오 코드를 저장할 수 있다.
각 시각적 랜드마크에 대해, 시각적 랜드마크 데이터베이스(52)는 하나 또는 여러 개의 사진, 2차원 또는 3차원 지리적 좌표, 텍스트 설명, 랜드마크의 높이, 랜드마크가 향하는 배향, 랜드마크의 크기, 랜드마크의 외관, 랜드마크 이름, 랜드마크가 다양한 조건 및/또는 하루 중 다양한 시간에 보이는 위치 세트를 나타내는 랜드마크의 뷰쉐드 등을 저장할 수 있다. 뷰쉐드는 시간, 날씨, 계절 등에 따라 달라질 수 있다. 따라서, 시각적 랜드마크 데이터베이스(52)는 시간대, 계절, 기상 조건, 조명 조건, 교통 상황 등에 대해 랜드마크에 대한 여러 뷰쉐드를 저장할 수 있다.
시각적 랜드마크 데이터베이스(52)를 채우기 위해, 서버 디바이스(14)는 다양한 사용자가 제출한 위성 이미지, 사진 및 비디오, 특수 파노라마 카메라가 장착된 자동차에서 수집한 거리 수준 이미지, 보행자 및 자전거 운전자가 수집한 거리 및 보도 이미지 등을 수신할 수 있다. 유사하게, 시각적 랜드마크 데이터베이스(52)는 서버 디바이스(14)의 운영자 및 사용자 생성 콘텐츠를 제출하는 사람들과 같은 다양한 소스로부터 랜드마크의 설명을 수신할 수 있다.
시각적 랜드마크 데이터베이스(52)에 포함된 각 랜드마크에 대한 인간의 시각적 지오 코드의 예시적 인덱스 또는 지리 정보를 포함하는 데이터 테이블(200)이 도 2에 도시되어 있다. 각 랜드마크에 대해, 데이터 테이블(200)은 랜드마크 식별자(202), 2차원 또는 3차원 지리적 좌표 및 랜드마크의 높이를 포함하는 랜드마크(204)의 위치, 랜드마크가 향하는 배향(206), 랜드마크(208)의 크기 또는 치수, 랜드마크(210)의 외관에 대한 텍스트 설명, 랜드마크(212)의 이름 및 랜드마크가 다양한 조건 및/또는 하루 중 다양한 시간에 보이는 위치 세트를 나타내는 랜드마크의 뷰쉐드(214) 등을 저장할 수 있다. 데이터 테이블(200)은 랜드마크의 사진을 포함할 수 있다.
예를 들어, 데이터 테이블(200)의 제1 항목은 Walgreens®간판에 대한 지리 정보를 포함한다. 데이터 테이블(200)에 따르면, Walgreens®간판은 5m 높이에 있으며 동쪽을 향하고 있다. Walgreens®간판은 너비 4m, 길이 2m이며 빨간색 배경에 흰색 필기체 글자를 포함한다. Walgreens®간판에 대한 뷰쉐드는 낮에 Walgreens®간판이 보이는 제1 위치 세트와 밤에 Walgreens®간판이 보이는 제2 위치 세트를 포함할 수 있다. Walgreens®간판이 동쪽을 향하기 때문에 뷰쉐드는 Walgreens®간판의 동쪽 위치를 포함할 수 있다. 또한, 더 큰 간판 또는 지상에 더 높은 곳에 배치된 간판은 작은 간판 또는 지상에 더 가까이 배치된 간판보다 먼 거리에서 볼 수 있다. 레스토랑, 상점 및 기타 비즈니스의 간판 외에도 랜드마크는 록키 산맥과 같은 자연 랜드마크, 금문교와 같은 다리를 포함한 인프라, 건물, 경기장, 극장, 콘서트 홀 등을 포함할 수 있다. 간판은 특정한 방향을 향할 수 있으므로 해당 방향에서 볼 수 있고, 금문교와 같은 다른 랜드마크는 모든 방향에서 볼 수 있다.
특정 랜드마크(304)(예를 들어, PGE Park)에 대한 예시적인 뷰쉐드(302)가 도 3의 지도 디스플레이(300)에 도시된다. 뷰쉐드(302)는 랜드마크(304)가 보이는 공간의 지점의 세트를 포함한다. 음영 영역은 랜드마크(304)의 적어도 일부가 보이는 지점을 나타낸다. 뷰쉐드(302)는 랜드마크(304)에 근접한 거리 및 다른 횡단 가능한 경로에 따른 테스트 포인트에 기초하여 결정될 수 있다. 도시된 바와 같이, 뷰쉐드(302)는 랜드마크(304)에 근접한 다른 건물과 같은 다른 객체에 의해 랜드마크(304)가 가려진 결과 복잡한 형상을 갖는다. 이 예에서 랜드마크는 모든 방향에서 볼 수 있지만 랜드마크(304)는 랜드마크의 북쪽, 동쪽 또는 서쪽의 위치보다 랜드마크(304)의 북서쪽 위치, 남쪽 위치 및 남서쪽 위치에서 더 멀리서부터 볼 수 있다. 각각의 랜드마크에 대해, 시각적 랜드마크 데이터베이스(52)는 도 3에 도시된 예시적 뷰쉐드(302)와 유사하고 랜드마크가 보이는 위치 세트를 포함하는 뷰쉐드의 표시를 저장할 수 있다.
랜드마크(304)의 뷰쉐드는 예를 들어 랜드마크가 위치한 지리적 영역과 연관된 3차원 모델에 액세스함으로써 결정될 수 있다. 모델은 랜드마크의 3차원 표현을 포함할 수 있다. 일 구현예에서, 3차원 모델은 랜드마크와 연관된 복수의 메시 삼각형을 포함하는 지리적 영역의 스테레오 메시 모델일 수 있다. 모델은 또한 가상 지구 애플리케이션에서 제공되는 합성 모델과 같은 지리적 영역의 다른 랜드마크 또는 지리적 피처의 합성 모델을 포함하거나 액세스할 수 있다. 모델은 3차원 모델의 표면에 매핑된 텍스처도 포함될 수 있다. 텍스처는 지리적 영역과 연관된 사진 또는 기타 이미지를 포함할 수 있으며, (잎이 있거나 없는) 나무, 다리 가대와 같은 지리적 객체 및 지리적 영역에서 랜드마크의 가시성을 차단할 수 있는 기타 구조를 도시할 수 있다.
랜드마크(304)의 3차원 표현의 가시성은 3차원 모델 내의 3차원 공간에 있는 복수의 상이한 지리적 지점으로부터 평가될 수 있다. 예를 들어, 각각의 지리적 지점에 대해, 랜드마크(304)의 3차원 표현이 지리적 지점으로부터 보이는지 여부가 결정될 수 있다. 그렇다면, 지리적 지점은 랜드마크(304)의 뷰쉐드(302)에 포함된다.
일 구현예에서, 랜드마크(304)의 3차원 표현의 미리 정의된 임계치보다 더 큰 것이 지리적 포인트로부터 보이는 경우에만 지리적 포인트가 뷰쉐드(302)에 포함될 수 있다. 임계치는 랜드마크(304)의 가시성과 연관된 임의의 적절한 메트릭에 기초할 수 있다. 예를 들어, 임계치는 랜드마크(304)의 가시적 표면적에 기초하여 랜드마크(304)의 미리 정의된 표면 영역보다 더 큰 것이 지리적 지점으로부터 가시적이면 지리적 지점이 뷰쉐드(302)에 포함되도록 할 수 있다. 다른 예로서, 임계치는 지리적 지점으로부터 랜드마크(304)의 주어진 뷰에 대한 피처에 의해 대체되는 스테라디안의 솔리드 각도에 기초할 수 있어서, 스테라디안에서 미리 정의된 솔리드 각도보다 더 큰 것이 지리적 지점에서 보이는 경우, 지리적 지점이 뷰쉐드(302)에 포함되도록 할 수 있다.
서버 디바이스(14)는 랜드마크의 사진, 랜드마크에 대한 2차원 또는 3차원 지리적 좌표, 랜드마크의 텍스트 설명, 랜드마크의 높이, 랜드마크가 향하는 배향, 랜드마크의 크기, 랜드마크의 외관, 랜드마크의 이름 및 특정 위치 및 사용자의 배향에서 각 랜드마크에 대한 가시성 점수 또는 순위를 결정하기 위해 다양한 조건 및/또는 하루 중 다양한 시간에 랜드마크에 대한 뷰쉐드를 포함하는 각 랜드마크에 대한 지지 정보를 사용할 수 있다. 서버 디바이스(14)는 사용자를 목적지 또는 미팅 위치로 안내하기 위해 가장 높은 가시성 점수 또는 순위를 갖는 랜드마크를 선택할 수 있다. 예를 들어, 서버 디바이스(14)는 사용자의 현재 위치를 포함하지 않는 뷰쉐드를 갖는 랜드마크보다 사용자의 현재 위치를 포함하는 뷰쉐드를 갖는 랜드마크에 더 높은 가시성 점수를 할당할 수 있다. 또한, 서버 디바이스(14)는 사용자가 현재 향하고 있는 방향에서 볼 수 없는 랜드마크보다 사용자가 현재 향하고 있는 방향에서 볼 수 있는 랜드마크에 더 높은 가시성 점수를 할당할 수 있다.
전술한 바와 같이, 서버 디바이스(14)는 클라이언트 디바이스(12)로부터 다수의 사용자를 미팅 위치로 안내하기 위한 요청을 수신할 수 있다. 일부 구현예에서, 서버 디바이스(14)는 미팅 위치 및 각 사용자의 현재 위치를 수신할 수 있다. 다른 구현예에서, 서버 디바이스(14)는 미팅 위치를 사용자 중 한 명의 임계 거리 내의 위치 또는 각 사용자의 현재 위치 사이의 위치로 결정할 수 있다. 예를 들어, 탑승자가 승차 공유 애플리케이션(26)을 통해 목적지 위치까지 운송 서비스를 요청하고 운전자가 요청을 수락하면, 서버 디바이스(14) 또는 승차 공유 서버와 같은 다른 서버는 탑승자의 현재 위치에서 임계 거리 내에 있는 픽업 위치를 식별할 수 있다. 다른 예에서, 두 명의 사용자가 만나기를 요청할 수 있고 서버 디바이스(14)는 두 명의 사용자의 현재 위치로부터 대략 등거리에 있는 미팅 위치를 식별할 수 있다.
임의의 경우에, 서버 디바이스(14)는 내비게이션 지시 생성기(42)를 통해 각 사용자에 대해 미팅 위치로의 경로를 생성할 수 있다. 일부 구현예에서, 서버 디바이스(14)는 각 경로에 대한 최종 기동 또는 최종 기동 전의 기동을 식별할 수 있고, 최종 기동 또는 최종 기동 전의 기동을 완료한 후 사용자의 위치 및 배향을 결정할 수 있다. 다른 구현예에서, 사용자의 현재 위치가 미팅 위치로부터 떨어진 임계 거리(예를 들어, 100m) 미만인 경우, 서버 디바이스(14)는 미팅 위치로의 경로를 생성하지 않는다. 대신, 서버 디바이스(14)는 사용자를 미팅 위치로 안내하는데 사용될 수 있는 사용자의 현재 위치에서 볼 수 있는 랜드마크를 식별한다.
그 다음, 사용자의 결정된 위치 및 배향을 사용하여, 서버 디바이스(14)는 인터렉티브 랜드마크 선택 모듈(44)을 통해, 시각적 랜드마크 데이터베이스(52)로부터 사용자의 결정된 위치 및 배향으로부터 볼 수 있고 및/또는 어느 것이든 미팅 위치를 포함하는 지리적 영역 내에 있는 후보 랜드마크를 식별할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크 데이터베이스(52)에 포함된 각 랜드마크의 뷰쉐드, 배향, 포지션, 높이, 치수 등을 사용하여 후보 랜드마크를 식별할 수 있다. 그 다음, 인터렉티브 랜드마크 선택 모듈(44)은 예를 들어 미팅 위치에 대한 근접성을 포함하는 후보 랜드마크의 위치, 시간, 기상 조건, 계절 등에 대응하는 뷰쉐드에 기초한 가시성, 랜드마크의 크기, 랜드마크가 사용자의 배향 및 랜드마크의 배향에 따라 사용자를 직접 향하고 있는지 여부 등을 포함하는 여러 메트릭에 기초하여 후보 랜드마크에 가시성 점수 또는 순위를 할당할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 각 메트릭에 대해 미팅 위치에 대한 근접성 점수, 뷰쉐드 점수, 랜드마크 크기 점수, 랜드마크 배향 점수, 랜드마크 높이 점수 등과 같은 개별 점수를 할당할 수 있고, 사용자의 결정된 위치 및 배향에 기초하여 후보 랜드마크에 대한 가시성 점수를 생성하기 위해 임의의 적절한 방식으로 개별 점수를 집계하거나 결합한다. 일부 구현예에서, 인터렉티브 랜드마크 선택 모듈(44)은 랜드마크로서 최고 점수 또는 순위 후보 랜드마크를 선택할 수 있다. 그 다음, 서버 디바이스(14)는 선택된 랜드마크를 통해 사용자를 미팅 위치로 안내하는 내비게이션 지시를 사용자의 클라이언트 디바이스(12)에 제공할 수 있다. 또한 일부 구현예에서, 랜드마크가 미팅 위치에 매우 근접할 때(예를 들어, 10m의 임계 거리 내), 서버 디바이스(14)는 미팅 위치를 랜드마크 위치로 이동할 수 있다.
인터렉티브 랜드마크 선택 모듈(44)은 사용자가 미팅 위치에 접근하는 위치 및 방향에 기초하여 최고 점수 또는 순위 후보 랜드마크에 따라 각 사용자를 미팅 위치로 안내하기 위한 다른 랜드마크를 선택할 수 있다. 다른 구현예에서, 인터렉티브 랜드마크 선택 모듈(44)은 동일한 랜드마크를 사용하여 각 사용자를 미팅 위치로 안내하기 위한 공유 랜드마크를 선택할 수 있다. 예를 들어, 인터렉티브 랜드마크 선택 모듈(44)은 사용자 중 하나에 특정한 각 후보 랜드마크에 대한 점수를 생성할 수 있다. 그 다음, 인터렉티브 랜드마크 선택 모듈(44)은 각각의 후보 랜드마크에 대한 전체 점수를 생성하기 위해 사용자 특정 점수를 결합할 수 있다. 그 후, 인터렉티브 랜드마크 선택 모듈(44)은 전체 점수가 가장 높은 후보 랜드마크를 공유 랜드마크로 선택할 수 있다. 일부 구현예에서, 공유 랜드마크는 임계 점수 이상의 사용자 특정 점수 또는 각각의 사용자 특정 점수 또는 순위에 대한 임계 순위 이상의 사용자 특정 순위를 가져, 인터렉티브 랜드마크 선택 모듈(44)은 한 사용자의 위치에서는 잘 보이고 다른 사용자의 위치에서는 보기 어려운 공유 랜드마크는 선택하지 않도록 한다. 이 시나리오에서, 후보 랜드마크가 전체 점수가 가장 높지만 임계 점수보다 낮은 사용자 특정 점수를 갖는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 인터렉티브 랜드마크 선택 모듈(44)이 임계 점수 이상의 사용자 특정 점수를 갖는 후보 랜드마크를 식별할 때까지 다음으로 높은 전체 점수를 가진 후보 랜드마크를 선택할 수 있다.
예시적 사용자 인터페이스
도 4a-4b는 공유 랜드마크를 통해 사용자를 미팅 위치로 안내하는 두 사용자의 클라이언트 디바이스(12) 상에 제시된 예시적 내비게이션 디스플레이(400, 450)를 도시한다. 도 4a-4b에 도시된 바와 같이, 공유 랜드마크는 Walgreens®간판이다. 예시적 내비게이션 디스플레이(400)에서, 클라이언트 디바이스(12)는 미팅 위치까지의 도보 길안내를 나타내는 탑승자를 위한 지도 디스플레이(402)를 제시한다. 내비게이션 디스플레이(400)는 또한 미팅 위치가 Walgreens®간판임을 표시하며 Walgreens®간판을 향해 가서 그 아래에 서있으라는 내비게이션 지시(404)를 포함한다. 또한, 내비게이션 디스플레이(400)는 사용자가 무엇을 찾아야하는지 알 수 있도록 Walgreens®간판(406)의 묘사를 포함한다. 예시적 내비게이션 디스플레이(450)에서, 클라이언트 디바이스(12)는 미팅 위치까지의 운전 길안내 또는 임의의 적절한 이동 모드에 대한 길안내를 나타내는 운전자를 위한 지도 디스플레이(452)를 제시한다. 내비게이션 디스플레이(450)는 또한 Walgreens®간판 아래에 서있을 John을 픽업하기 위해 500m 앞에서 Main Street로 우회전하라는 내비게이션 지시(454)를 포함한다. 또한, 내비게이션 디스플레이(450)는 사용자가 무엇을 찾아야하는지 알 수 있도록 Walgreens®간판(456)의 묘사를 포함한다. 이 예에서, 내비게이션 디스플레이(400)는 탑승자의 클라이언트 디바이스(12) 상에 제공되고, 내비게이션 디스플레이(450)는 운전자의 클라이언트 디바이스(12) 상에 제공되는 승차 공유 구성으로 인해 사용자들이 만날 수 있다.
또한 전술한 바와 같이, 서버 디바이스(14)는 클라이언트 디바이스(12)로부터 지도 데이터 또는 내비게이션 길안내에 대한 요청을 수신할 수 있다. 요청은 사용자의 현재 위치 및/또는 예를 들어 GPS 모듈(32) 및/또는 나침반으로부터의 추정된 배향을 포함할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크 데이터베이스(52)로부터 현재 위치의 임계 거리 내에 있고 사용자의 현재 위치 및/또는 추정 배향으로부터 볼 수 있는 시각적 랜드마크를 검색할 수 있다. 더 구체적으로, 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크가 현재 위치의 임계 거리 내에 있고 현재 위치 및/또는 사용자의 추정 배향으로부터 볼 수 있음을 나타내는 지리 정보를 갖는 시각적 랜드마크를 식별할 수 있다. 임의의 경우에, 인터렉티브 랜드마크 선택 모듈(44)은 클라이언트 디바이스(12)에 사용자가 식별된 시각적 랜드마크가 사용자의 시야 내에 있는지 확인하게 하거나 사용자가 식별된 시각적 랜드마크를 마주할 때까지 회전하게 하기위한 요청과 함께 식별된 시각적 랜드마크의 표시를 제공할 수 있다.
도 5는 사용자의 클라이언트 디바이스(12) 상에 제시된 예시적 위치 검증 디스플레이(500)를 도시한다. 예를 들어, 위치 검증 디스플레이(500)는 사용자가 지리 애플리케이션(26)을 통해 현재 위치에서 목적지까지의 내비게이션 길안내를 요청할 때 제공될 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 사용자를 목적지로 안내하기 위한 초기 내비게이션 지시를 생성하기 위해 사용자의 시야 내의 시각적 랜드마크에 기초하여 사용자의 정확한 위치 및 배향을 식별할 수 있다. 다른 예에서, 위치 검증 디스플레이(500)는 사용자가 승차 공유 애플리케이션(27)을 통해 교통 서비스를 요청할 때 제공될 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 사용자를 픽업 위치로 안내하거나 픽업 위치를 사용자의 정확한 위치로 식별하기 위한 초기 내비게이션 지시를 생성하기 위해 사용자의 시야 내의 시각적 랜드마크에 기초하여 사용자의 정확한 위치 및 배향을 식별할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 픽업 위치로서 운전자의 클라이언트 디바이스(12)에 사용자의 정확한 위치를 제공할 수 있다. 또 다른 예에서, 인터렉티브 랜드마크 선택 모듈(44)은 운전자의 시야 내의 시각적 랜드마크에 기초하여 운전자의 정확한 위치 및 배향을 식별할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 운전자가 운전자를 찾는 데 어려움을 겪을 때 운전자를 운전자의 정확한 위치로 안내하기 위해 운전자의 정확한 위치를 운전자의 클라이언트 디바이스(12)에 제공할 수 있다.
임의의 경우에, 위치 검증 디스플레이(500)는 사용자가 자신의 앞에 식별된 랜드마크(예를 들어, Burger King®간판 및 Walgreens®간판)를 볼 수 있는지 확인하기 위한 요청(502)을 포함할 수 있다. 위치 검증 디스플레이(500)는 또한 사용자가 무엇을 찾아야하는지 알 수 있도록 랜드마크의 묘사(504, 506)를 포함할 수 있다. 또한, 위치 검증 디스플레이(500)는 식별된 랜드마크가 사용자의 시야에 있음을 확인하거나 부인하기 위한 사용자 제어(508, 510)를 포함한다. 다른 구현예에서, 위치 검증 디스플레이(500)는 식별된 랜드마크가 사용자의 시야 내에 있음을 확인하기 위해 식별된 랜드마크의 사진을 찍도록 사용자에게 프롬프트할 수 있다. 위에서 언급한 바와 같이, 사용자가 자신 앞에 있는 랜드마크(504, 506)를 보지 못하는 경우, 사용자는 랜드마크(504, 506)를 찾기 위해 돌아보거나 둘러볼 수 있고 약간의 검색 후 랜드마크(504, 506)를 찾는 경우 식별된 랜드마크(504, 506)가 자신의 시야에 있다고 확인할 수 있다. 그러나, 사용자가 약간의 검색 후에도 식별된 랜드마크(504, 506)를 볼 수 없다면, 사용자는 식별된 랜드마크(504, 506)가 보인다는 것을 부인하는 사용자 제어(510)를 선택할 수 있다. 클라이언트 디바이스(12)는 사용자의 응답의 표시를 서버 디바이스(14)에 전송할 수 있다.
서버 디바이스(14)가 식별된 랜드마크(504, 506)가 사용자의 시야에 있다는 것을 확인하는 표시를 수신하면, 서버 디바이스(14)는 현재 위치 및/또는 추정된 배향에 기초하여 사용자에 대한 정확한 위치 및 배향을 결정할 수 있다. 서버 디바이스(14)는 사용자의 정확한 위치 및 배향에 기초하여 목적지까지의 내비게이션 길안내를 생성할 수 있고, 지도 디스플레이에 사용자의 정확한 위치 및 배향의 표시를 제시할 수 있으며, 사용자의 정확한 위치 및 배향을 다른 클라이언트 디바이스(12)의 제2 사용자의 다른 클라이언트 디바이스(12)에 제공하여 사용자를 정확한 위치에서 만나게 할 수 있고, 사용자를 미팅 위치로 안내하기 위해 다른 사용자, 미팅 위치 또는 랜드마크를 보도록 특정한 방향으로 회전할 것을 사용자에게 지시할 수 있거나 또는 임의의 기타 적절한 목적으로 정확한 위치 및 배향을 활용할 수 있다.
반면에, 서버 디바이스(14)가 식별된 랜드마크(504, 506)가 사용자의 시야에 있다는 것을 부인하는 표시를 수신하면, 서버 디바이스(14)는 클라이언트 디바이스(12)에 클라이언트 디바이스(12) 앞에 현실 세계 이미지의 카메라 뷰를 제시하는 AR 모드로 전환하라는 요청을 제공할 수 있다. 다른 구현예에서, 클라이언트 디바이스(12)는 식별된 랜드마크(504, 506)가 사용자의 시야에 있다는 것을 부인하는 사용자 제어(510)의 선택을 수신하는 것에 응답하여 자동으로 AR 모드로 전환한다.
도 6은 클라이언트 디바이스(12)에 제시된 AR 모드로부터 사용자의 시야에 있는 현실 세계 이미지의 예시적 카메라 뷰(600)를 도시한다. 카메라 뷰(600)는 차량, 건물, 전신주, 거리 등을 포함한다. 카메라 뷰(600)는 또한 Joe's Restaurant(602)에 대한 지리 정보를 저장하는 시각적 랜드마크 데이터베이스(52)에 포함된 랜드마크인 Joe's Restaurant(602)에 대한 간판을 포함한다. 클라이언트 디바이스(12)는 카메라 뷰(600)를 서버 디바이스(14)에 제공하고, 서버 디바이스(14)는 Joe's Restaurant 간판(602)과 같은 카메라 뷰(600) 내의 랜드마크를 식별할 수 있다.
보다 구체적으로, 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크 데이터베이스(52)로부터 템플릿 랜드마크의 사진과 같은 데이터베이스로부터 여러 템플릿 랜드마크를 획득할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 블러, 모션, 왜곡, 배향, 조명, 스케일링 및/또는 카메라 관점의 다른 변화에 관계없이 검출 가능한 템플릿 랜드마크 내의 안정된 영역을 검출함으로써 템플릿 랜드마크 각각의 시각적 피처를 식별할 수 있다. 일부 구현예에서, 키포인트는 템플릿 랜드마크 내의 에지와 같은 템플릿 랜드마크의 고-대비 영역에 위치될 수 있다. 경계 상자는 키포인트 주변에 형성될 수 있으며 경계 상자에 의해 생성된 템플릿 랜드마크의 일부는 피처일 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 피처의 폭 및 높이, 피처에 대한 RGB 픽셀 값, 오브젝트 내 피처의 중심점 픽셀 포지션과 같은 템플릿 피처 벡터를 생성하기 위해 피처의 수치 표현을 생성할 수 있다.
인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰(600) 내의 시각적 피처 또는 카메라 뷰 내의 객체 내의 시각적 피처, 예를 들어 Joe's Restaurant 간판(602)을 포함하는 카메라 뷰(600) 내의 영역의 시각적 피처를 식별할 수 있다.
인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰(600)에 대한 피처 벡터 또는 카메라 뷰(600) 내의 객체에 대한 피처 벡터를 템플릿 피처 벡터와 비교하여, 카메라 뷰(600)에 대한 피처 벡처에 가장 가까운 템플릿 피처 벡터를 갖는 하나 이상의 템플릿 랜드마크를 식별한다.
카메라 뷰(600)가 Joe's Restaurant 간판(602)을 포함한다고 결정하는 것에 응답하여, 인터렉티브 랜드마크 선택 모듈(44)은 Joe's Restaurant 간판(602)의 위치, Joe's Restaurant 간판(602)의 배향, Joe's Restaurant 간판(602)의 높이, Joe's Restaurant 간판(602)의 크기 등과 같은 시각적 랜드마크 데이터베이스(52)로부터 Joe's Restaurant 간판(602)에 대한 지리 정보를 획득할 수 있다. 시각적 랜드마크 데이터베이스(52)에 Joe's Restaurant 간판(602)이 여러 개 있는 경우 인터렉티브 랜드마크 선택 모듈(44)은 수신된 사용자의 현재 위치에 가장 가까운 위치를 갖는 인스턴스를 선택할 수 있다. 다른 구현예에서, 하나 이상의 랜드마크가 카메라 뷰(600) 내에서 식별될 때, 인터렉티브 랜드마크 선택 모듈(44)은 식별된 랜드마크 각각을 포함하는 지리적 영역에 기초하여 각각의 식별된 랜드마크에 대한 위치를 결정한다. 예를 들어 Joe's Restaurant은 5개의 서로 다른 도시에 있지만, Joe's Restaurant은 5개 도시 중 한 곳에서만 McDonald's®에 인접해 있을 수 있다. McDonald's®가 카메라 뷰 내에서도 식별되는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 인접한 McDonald's®가 있는 도시에서 Joe's Restaurant을 선택할 수 있다.
임의의 경우에, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰(600) 내에서 식별된 랜드마크의 위치, 배향, 높이 및/또는 크기에 기초하여 사용자의 정확한 위치 및 배향을 결정한다. 보다 구체적으로, 인터렉티브 랜드마크 선택 모듈(44)은 랜드마크의 크기와 관련한 카메라 뷰(600)를 갖는 랜드마크의 크기에 기초하여 사용자와 랜드마크 사이의 거리를 결정할 수 있다. 사용자로부터 랜드마크까지의 거리는 카메라 뷰(600) 내 랜드마크의 크기에 비례할 600 수 있다. 랜드마크의 크기에 비해 카메라 뷰(600)에서 더 크게 나타나는 랜드마크는 사용자가 랜드마크 근처에 있음을 나타낼 수 있다. 예를 들어, 전체 금문교가 카메라 뷰(600)에 포함되는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 금문교로부터 100m 이상 떨어져 있다고 결정할 수 있다. 반면, 카메라 뷰(600)에 금문교의 지지 케이블이 하나만 포함된 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 금문교에 서 있거나 금문교에서 몇 미터 이내에 서 있다고 결정할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 랜드마크가 카메라 뷰(600)의 전경에 있는지 배경에 있는지에 기초하여 사용자와 랜드마크 사이의 거리를 결정할 수 있다. 랜드마크가 카메라 뷰(600)의 전경에 있는 경우, 랜드마크가 카메라 뷰(600)의 배경에 있는 경우보다 랜드마크가 사용자에게 더 가까울 수 있다.
사용자로부터 랜드마크까지의 거리에 기초하여, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 위치한 지리적 영역을 식별할 수 있고 사용자의 정확한 위치 및/또는 배향을 지리적 영역 내의 위치로서 결정할 수 있다. 사용자의 정확한 위치 및/또는 배향을 지리적 영역 내의 위치로 결정하기 위해, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰(600) 내의 랜드마크의 배향을 결정할 수 있다. 랜드마크가 카메라 뷰(600)의 시점을 직접 향하고 있는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 랜드마크가 향하는 방향에 있고, 사용자가 랜드마크가 향하는 방향의 실질적으로 반대 방향을 향하고 있다고 결정할 수 있다. 예를 들어, 랜드마크가 카메라 뷰의 시점을 직접 향하고 랜드마크가 남쪽을 향하는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 랜드마크의 바로 남쪽에 있고 직접 북쪽을 향하고 있다고 결정할 수 있다. 그 다음, 인터렉티브 랜드마크 선택 모듈(44)은 랜드마크로부터의 거리, 랜드마크의 위치 및 랜드마크에 대한 사용자의 배향에 기초하여 사용자의 정확한 위치를 결정할 수 있다. 예를 들어, 랜드마크가 Main St.와 State St.의 모퉁이에 있고 사용자가 랜드마크에서 바로 남쪽으로 50m 떨어져 있는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자의 정확한 위치가 Main St.와 State St.의 모퉁이 바로 남쪽으로 50m인 위치이고, 사용자의 배향은 북쪽이라고 결정할 수 있다.
카메라 뷰(600)에서 Joe's Restaurant 간판(602)과 같이 랜드마크가 카메라 뷰(600)의 시점을 직접 향하지 않는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰(600) 내의 랜드마크의 배향을 결정한다. 그 다음, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰(600) 내의 랜드마크의 배향 및 랜드마크가 향하는 방향에 기초하여 랜드마크에 대한 사용자의 배향을 결정할 수 있다. 추가적으로, 인터렉티브 랜드마크 선택 모듈(44)은 랜드마크에 대한 사용자의 방향의 실질적으로 반대 방향으로 사용자의 배향을 결정할 수 있다. 예를 들어, 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크 데이터베이스(52)에 포함된 Joe's Restaurant 간판(602)에 대한 지리 정보에 기초하여 Joe's Restaurant 간판(602)이 남쪽을 향하고 있다고 결정할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 Joe's Restaurant 간판(602)이 카메라 뷰(600)의 시점에 대해 45° 각도에 있다고 결정할 수 있다. 따라서, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 Joe's Restaurant 간판(602)의 남서쪽에 있고 북동쪽을 향하고 있다고 결정할 수 있다.
서버 디바이스(14)는 사용자의 정확한 위치 및 배향에 기초하여 임의의 적절한 이동 모드로 목적지까지의 내비게이션 길안내를 생성할 수 있고, 지도 디스플레이에 사용자의 정확한 위치 및 배향의 표시를 제시할 수 있으며, 사용자의 정확한 위치 및 배향을 다른 클라이언트 디바이스(12)의 제2 사용자의 다른 클라이언트 디바이스(12)에 제공하여 사용자를 정확한 위치에서 만나게 할 수 있고, 사용자를 미팅 위치로 안내하기 위해 다른 사용자, 미팅 위치 또는 랜드마크를 보도록 특정한 방향으로 회전할 것을 사용자에게 지시할 수 있거나 또는 임의의 기타 적절한 목적으로 정확한 위치 및 배향을 활용할 수 있다.
도 7은 클라이언트 디바이스(12)의 정확한 위치 및/또는 배향을 식별하는 것에 응답하여 클라이언트 디바이스(12)에 제시되는 예시적 내비게이션 디스플레이(700)를 도시한다. 예시적 내비게이션 디스플레이(700)에서, 클라이언트 디바이스(12)는 사용자의 정확한 위치 및/또는 배향으로부터 목적지 또는 미팅 위치까지의 도보 길안내를 나타내는 지도 디스플레이(702)를 제공한다. 내비게이션 디스플레이(700)는 또한 100m 동안 콜럼버스 애비뉴에서 직진하기 위한 내비게이션 지시(704)를 포함한다. 이 예에서 사용자는 정확한 위치와 배향에 따라 목적지에 도달하기 위해 이동해야 하는 방향을 향하고 있다. 다른 예에서, 사용자가 목적지에 도달하기 위해 이동해야 하는 방향을 향하고 있지 않을 때, 초기 내비게이션 지시는 사용자가 목적지로 이동하기를 시작하기 위해 회전해야 하는 상대적인 방향을 제공할 수 있다. 보다 구체적으로, 초기 내비게이션 지시는 절대 또는 기본 방향을 사용하지 않고 사용자가 현재 향하고 있는 방향에 대해 특정 방향으로 회전하는 것일 수 있다. 초기 내비게이션 지시는 직진하기 전에 "회전", "왼쪽으로 회전", "오른쪽으로 회전"등이 될 수 있다.
지리 또는 승차 공유 애플리케이션에서 인터렉티브 랜드마크를 제공하는 예시적 방법
도 8은 둘 이상의 사용자를 미팅 위치로 안내하기 위한 예시적 방법의 흐름도이다. 이 방법은 컴퓨터 판독가능 메모리에 저장되고 서버 디바이스(14)의 하나 이상의 프로세서에서 실행 가능한 명령어의 세트로 구현될 수 있다. 예를 들어, 방법은 내비게이션 지시 생성기(42) 및/또는 인터렉티브 랜드마크 선택 모듈(44)에 의해 구현될 수 있다.
블록(802)에서, 제1 사용자가 미팅 위치에서 제2 사용자를 만나게 하기 위한 요청이 수신된다. 일부 구현예에서, 요청은 지리적 영역 및 미팅 위치 내에 있는 제1 및 제2 사용자의 현재 위치를 포함할 수 있다. 다른 구현예에서, 요청은 제1 및 제2 사용자의 현재 위치를 포함할 수 있고, 서버 디바이스(14)는 예를 들어 현재 위치 중 적어도 하나에 기초하여 미팅 위치를 결정할 수 있다. 예를 들어, 요청은 제1 사용자의 현재 위치에서 하차 위치로의 운송 서비스에 대한 요청일 수 있다. 서버 디바이스(14)는 요청을 운전자들에게 브로드캐스팅할 수 있고, 제2 사용자의 현재 위치의 표시와 함께 제2 사용자가 요청을 수락했다는 표시를 수신할 수 있다. 그 다음, 서버 디바이스(14)는 제1 사용자에게 근접한 픽업 위치인 미팅 위치를 식별할 수 있다. 임의의 경우에, 서버 디바이스(14)는 미팅 위치를 사용자 중 하나의 임계 거리 내의 위치 또는 각 사용자의 현재 위치 사이의 위치로 식별할 수 있다.
요청 수신에 응답하여, 서버 디바이스(14)는 내비게이션 지시 생성기(42)를 통해 미팅 위치로의 각 사용자에 대한 경로를 생성할 수 있다. 일부 구현예에서, 서버 디바이스(14)는 각 경로에 대한 최종 기동 또는 최종 기동 전의 기동을 식별할 수 있고, 최종 기동 또는 최종 기동 전의 기동을 완료한 후 사용자의 위치 및 배향을 결정할 수 있다. 다른 구현예에서, 사용자의 현재 위치가 미팅 위치로부터 떨어진 임계 거리(예를 들어, 100m) 미만인 경우, 서버 디바이스(14)는 미팅 위치로의 경로를 생성하지 않는다. 대신, 서버 디바이스(14)는 사용자를 미팅 위치로 안내하는데 사용될 수 있는 사용자의 현재 위치에서 볼 수 있는 랜드마크를 식별한다. 또한 일부 구현예에서, 랜드마크가 미팅 위치에 매우 근접할 때(예를 들어, 10m의 임계 거리 내), 서버 디바이스(14)는 미팅 위치를 랜드마크 위치로 이동할 수 있다.
그 다음, 사용자의 결정된 위치 및 배향을 사용하여, 예를 들어, 경로를 따른 최종 기동이 완료된 후에, 서버 디바이스(14)는 인터렉티브 랜드마크 선택 모듈(44)을 통해, 시각적 랜드마크 데이터베이스(52)로부터 제1 사용자의 결정된 위치 및 배향으로부터 볼 수 있고 및/또는 어느 것이든 미팅 위치를 포함하는 지리적 영역 내에 있는 후보 랜드마크를 식별할 수 있다(블록(804). 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크 데이터베이스(52)에 포함된 각 랜드마크의 뷰쉐드, 배향, 포지션, 높이, 치수 등을 사용하여 후보 랜드마크를 식별할 수 있다. 그 다음, 블록(806)에서, 인터렉티브 랜드마크 선택 모듈(44)은 예를 들어 미팅 위치에 대한 근접성을 포함하는 후보 랜드마크의 위치, 시간, 기상 조건, 계절 등에 대응하는 뷰쉐드에 기초한 가시성, 랜드마크의 크기, 랜드마크가 제1 사용자의 배향 및 랜드마크의 배향에 따라 제1 사용자를 직접 향하고 있는지 여부 등을 포함하는 여러 메트릭에 기초하여 후보 랜드마크에 제1 가시성 점수 또는 순위를 할당할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 각 메트릭에 대해 미팅 위치에 대한 근접성 점수, 뷰쉐드 점수, 랜드마크 크기 점수, 랜드마크 배향 점수, 랜드마크 높이 점수 등과 같은 개별 점수를 할당할 수 있고, 제1 사용자의 결정된 위치 및 배향에 기초하여 후보 랜드마크에 대한 제1 가시성 점수를 생성하기 위해 임의의 적절한 방식으로 개별 점수를 집계하거나 결합한다.
그 후, 제2 사용자에 대해 이 프로세스가 반복된다. 서버 디바이스(14)는 제2 사용자의 결정된 위치 및 방향으로부터 볼 수 있고/있거나 미팅 위치를 포함하는 지리적 영역 내에 있는 시각적 랜드마크 데이터베이스(52)로부터 후보 랜드마크를 식별할 수 있다(블록 804). 그 다음, 블록(806)에서, 인터렉티브 랜드마크 선택 모듈(44)은 예를 들어 미팅 위치에 대한 근접성, 시간, 기상 조건, 계절 등에 대응하는 뷰쉐드에 기초한 가시성, 랜드마크의 크기, 랜드마크가 제2 사용자의 배향 및 랜드마크의 배향에 따라 제2 사용자를 직접 향하고 있는지 여부 등을 포함하는 여러 메트릭에 기초하여 후보 랜드마크에 제2 가시성 점수 또는 순위를 할당할 수 있다.
블록(808)에서, 인터렉티브 랜드마크 선택 모듈(44)은 가시성 점수 및/또는 각 후보 랜드마크에 할당된 순위에 기초하여 동일한 랜드마크를 사용하여 각 사용자를 미팅 위치로 안내하기 위한 공유 랜드마크를 선택할 수 있다. 전술한 바와 같이, 인터렉티브 랜드마크 선택 모듈(44)은 제1 사용자에게 특정적인 각 후보 랜드마크에 대한 제1 점수 및 제1 사용자에 특정적인 각 후보 랜드마크에 대한 제2 점수를 생성할 수 있다. 그 다음, 인터렉티브 랜드마크 선택 모듈(44)은 각각의 후보 랜드마크에 대한 전체 점수를 생성하기 위해 사용자 특정 점수를 집계 또는 결합할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 각각의 사용자 특정 점수에 따라 후보 랜드마크의 순위를 매길 수 있다. 예를 들어, 인터렉티브 랜드마크 선택 모듈(44)은 제1 가시성 점수에 따라 후보 랜드마크에 대한 제1 세트의 순위 및 제2 가시성 점수에 따라 후보 랜드마크에 대한 제2 세트의 순위를 생성할 수 있다.
그 후, 인터렉티브 랜드마크 선택 모듈(44)은 전체 점수가 가장 높은 후보 랜드마크를 공유 랜드마크로 선택할 수 있다. 일부 구현예에서, 공유 랜드마크는 임계 점수 이상의 사용자 특정 점수 또는 각각의 사용자 특정 점수 또는 순위에 대한 임계 순위 이상의 사용자 특정 순위를 가져, 인터렉티브 랜드마크 선택 모듈(44)은 한 사용자의 위치에서는 잘 보이고 다른 사용자의 위치에서는 보기 어려운 공유 랜드마크는 선택하지 않도록 한다. 이 시나리오에서 후보 랜드마크가 전체 점수가 가장 높지만 임계 점수 미만인 사용자 특정 점수 또는 임계 순위보다 낮은 사용자 특정 순위를 갖는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 인터렉티브 랜드마크 선택 모듈(44)이 임계 점수를 초과하는 사용자 특정 점수 또는 임계 순위를 초과하는 사용자 특정 순위를 갖는 후보 랜드마크를 식별할 때까지 다음으로 높은 전체 점수를 갖는 후보 랜드마크를 선택할 수 있다.
블록 810에서, 서버 디바이스(14)는 공유 랜드마크를 참조하는 제1 사용자에게 제1 세트의 내비게이션 길안내를 생성하고 제공한다. 위의 예에서, 제1 사용자가 승차 공유 서비스를 요청하는 탑승자인 경우, 내비게이션 길안내의 제1 세트는 픽업 위치까지의 도보 길안내일 수 있다. 내비게이션 길안내의 제1 세트는 예를 들어, "Burger King®간판까지 계속 직진하세요", "Walgreens® 간판을 지나자마자 모퉁이로 가세요"와 같이, 공유 랜드마크가 포함된 내비게이션 길안내(예: 최종 내비게이션 길안내)를 포함할 수 있다.
블록(812)에서, 서버 디바이스(14)는 공유 랜드마크를 참조하는 제2 사용자에게 제2 세트의 내비게이션 길안내를 생성하고 제공한다. 위의 예에서, 제2 사용자가 탑승자를 픽업하는 운전자인 경우, 제2 세트의 내비게이션 길안내는 픽업 위치까지의 운전 길알내일 수 있다. 내비게이션 길안내의 제2 세트는 예를 들어 "Burger King®간판에 도달한 후 차를 세우십시오." 또는 "500m후 Walgreens®간판 아래에 서 있을 John을 태우세요"와 같이, 공유 랜드마크가 포함된 내비게이션 길안내(예: 최종 내비게이션 길안내)를 포함할 수 있다.
도 9는 랜드마크를 사용하여 사용자의 현재 위치 또는 배향을 검증하는 예시적 방법(900)의 흐름도이다. 이 방법은 컴퓨터 판독가능 메모리에 저장되고 서버 디바이스(14)의 하나 이상의 프로세서에서 실행 가능한 명령어의 세트로 구현될 수 있다. 예를 들어, 방법은 내비게이션 지시 생성기(42) 및/또는 인터렉티브 랜드마크 선택 모듈(44)에 의해 구현될 수 있다.
블록(902)에서, 현재 위치 및/또는 추정된 배향이 사용자의 클라이언트 디바이스(12)로부터 수신된다. 일부 구현예에서, 현재 위치 및/또는 추정된 배향은 지도 데이터, 내비게이션 길안내, 승차 공유 데이터 등에 대한 요청과 함께 수신될 수 있다. 현재 위치 및/또는 추정된 배향은 GPS 모듈(32), 나침반 등과 같은 사용자의 클라이언트 디바이스(12) 내의 센서로부터 획득될 수 있다.
그 다음, 블록(904)에서, 서버 디바이스(14), 보다 구체적으로, 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크 데이터베이스(52)로부터 후보 시각적 랜드마크를 검색하고 현재 위치의 임계 거리 내에 있고 현재 위치 및/또는 사용자의 추정된 배향으로부터 볼 수 있는 후보 시각적 랜드마크 중 하나 이상을 선택할 수 있다(블록 906). 더 구체적으로, 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크가 현재 위치의 임계 거리 내에 있고 현재 위치 및/또는 사용자의 추정 배향으로부터 볼 수 있음을 나타내는 지리 정보를 갖는 시각적 랜드마크를 식별할 수 있다.
일부 구현예에서, 인터렉티브 랜드마크 선택 모듈(44)은 예를 들어 사용자의 현재 위치에 대한 근접성을 포함하는 후보 랜드마크의 위치, 시간, 기상 조건, 계절 등에 대응하는 뷰쉐드에 기초한 사용자의 현재 위치 및/또는 추정된 배향으로부터의 가시성, 랜드마크의 크기, 랜드마크가 사용자의 추정된 배향 및 랜드마크의 배향에 따라 사용자를 직접 향하고 있는지 여부 등을 포함하는 여러 메트릭에 기초하여 후보 시각적 랜드마크 각각의 가시성 점수 또는 순위를 할당할 수 있다.
그 다음, 인터렉티브 랜드마크 선택 모듈(44)은 임계 점수 이상의 가시성 점수를 갖는 후보 시각적 랜드마크 중 하나 이상을 선택할 수 있다. 예를 들어, 3개의 랜드마크에 대한 가시성 점수가 3개의 랜드마크 각각에 대해 사용자의 현재 위치에 대한 근접성, 시간, 사용자의 현재 위치 및/또는 추정된 배향으로부터의 가시성, 랜드마크가 사용자의 추정된 배향 및 랜드마크의 배향에 따라 사용자를 직접 향하고 있는지 여부 등에 기초하여 사용자의 시야 내에 있다고 표시하는 임계 점수를 초과하는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 3개의 랜드마크를 사용자의 클라이언트 디바이스에 제공하기 위해 선택한다. 한편, 하나의 랜드마크만이 임계 점수를 초과하는 가시성 점수를 갖는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 하나의 랜드마크를 선택하여 사용자의 클라이언트 디바이스(12)에 제공할 수 있다.
그 후 블록(908)에서, 인터렉티브 랜드마크 선택 모듈(44)은 클라이언트 디바이스(12)에 사용자가 식별된 시각적 랜드마크가 사용자의 시야 내에 있는지 확인하게 하거나 사용자가 식별된 시각적 랜드마크를 마주할 때까지 회전하게 하기위한 요청과 함께 식별된 시각적 랜드마크의 표시를 제공할 수 있다. 예를 들어, 인터렉티브 랜드마크 선택 모듈(44)은 사용자 인터페이스(28)를 통해 클라이언트 디바이스(12)에 디스플레이된 요청을 제공하여, 사용자가 그녀의 바로 앞에서 McDonald's®간판을 볼 수 있는지 확인하게 할 수 있다.
블록(910)에서, 사용자가 식별된 시각적 랜드마크가 사용자의 시야 내에 있는지 또는 예를 들어 클라이언트 디바이스(12)의 사용자 인터페이스(28)에 제공된 사용자 컨트롤을 통해 식별된 시각적 랜드마크를 향하고 있음을 확인하면, 인터렉티브 랜드마크 선택 모듈(44)은 사용자의 정확한 위치 및 배향이 현재 위치 및/또는 추정된 배향이라고 결정할 수 있다(블록 918). 예를 들어, McDonald's®간판이 사용자의 현재 위치의 북쪽에 있는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 북쪽을 향하고 있다고 결정한다. 서버 디바이스(14)는 지도 데이터, 내비게이션 데이터, 승차 공유 데이터 등을 클라이언트 디바이스(12)에 제공하기 위해 사용자의 정확한 위치 및 배향을 사용할 수 있다. 예를 들어, 사용자가 목적지 위치로의 내비게이션 길안내를 요청하면, 내비게이션 지시 생성기(42)는 도로 형상 데이터, 도로 및 교차로 제한(예: 일방 통행, 좌회전 금지), 도로 유형 데이터(예: 고속도로, 지역 도로), 속도 제한 데이터 등을 지도 데이터베이스(50)로부터 검색하여 사용자의 정확한 위치로부터 목적지까지의 경로를 생성한다(블록 916).
내비게이션 지시 생성기(42)는 하나 이상의 경로를 사용하여 내비게이션 지시의 시퀀스를 생성할 수 있다. 초기적 내비게이션 지시의 경우, "State Street에서 북쪽으로 가세요"와 같은 절대 방향을 제공하는 대신, 내비게이션 지시 생성기(42)는 인터렉티브 랜드마크 선택 모듈(44)에 의해 결정된 사용자의 정확한 위치 및 배향에 기초하여 사용자를 안내할 수 있다. 예를 들어, 내비게이션 지시 생성기(42)는 사용자가 북쪽을 향하고 있기 때문에 "State Street에서 계속 직진하세요"라는 초기 내비게이션 지시를 생성할 수 있다. 초기 지시가 사용자가 남쪽으로 향하도록 요구하는 경우, 내비게이션 지시 생성기(42)는 "McDonald's®간판에서 유턴하고 State Street에서 계속 직진하세요"라는 초기 내비게이션 지시를 생성할 수 있다.
블록(910)에서, 사용자가 시야 내에서 식별된 시각적 랜드마크를 보지 못하고 예를 들어 클라이언트 디바이스(12)의 사용자 인터페이스(28)에 제시된 사용자 컨트롤을 통해 식별된 시각적 랜드마크를 보지 못했다는 표시를 제공하면, 인터렉티브 랜드마크 선택 모듈(44)은 클라이언트 디바이스(12)를 클라이언트 디바이스(12) 앞에 현실 세계 이미지의 카메라 뷰를 제공하는 증강 현실(AR) 모드로 전환하게 한다. 다른 구현예에서, 클라이언트 디바이스(12)는 식별된 랜드마크가 사용자의 시야에 있다는 것을 부인하는 사용자 제어의 선택을 수신하는 것에 응답하여 자동으로 AR 모드로 전환한다.
인터렉티브 랜드마크 선택 모듈(44)은 클라이언트 디바이스(12)의 카메라 뷰로부터 현실 세계 이미지를 수신하고, 객체 인식을 사용하여 현실 세계 이미지 내의 랜드마크를 식별한다(블록 912). 보다 구체적으로, 인터렉티브 랜드마크 선택 모듈(44)은 시각적 랜드마크 데이터베이스(52)로부터 템플릿 랜드마크의 사진과 같은 데이터베이스로부터 여러 템플릿 랜드마크를 획득할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 템플릿 랜드마크 각각의 시각적 피처를 식별할 수 있다. 일부 구현예에서, 키포인트는 템플릿 랜드마크 내의 에지와 같은 템플릿 랜드마크의 고-대비 영역에 위치될 수 있다. 경계 상자는 키포인트 주변에 형성될 수 있으며 경계 상자에 의해 생성된 템플릿 랜드마크의 일부는 피처일 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 피처의 폭 및 높이, 피처에 대한 RGB 픽셀 값, 오브젝트 내 피처의 중심점 픽셀 포지션과 같은 템플릿 피처 벡터를 생성하기 위해 피처의 수치 표현을 생성할 수 있다.
또한, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰의 시각적 피처 또는 카메라 뷰의 객체 내의 시각적 피처를 식별할 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰에 대한 피처 벡터 또는 카메라 뷰 내의 객체에 대한 피처 벡터를 템플릿 피처 벡터와 비교하여, 카메라 뷰에 대한 피처 벡처에 가장 가까운 템플릿 피처 벡터를 갖는 하나 이상의 템플릿 랜드마크를 식별한다. 카메라 뷰에서 식별된 각각의 객체에 대해, 인터렉티브 랜드마크 선택 모듈(44)은 객체에 대한 피처 벡터에 가장 가까운 템플릿 피처 벡터를 갖는 템플릿 랜드마크를 식별할 수 있다. 각각의 템플릿 랜드마크는 카메라 뷰 내에서 랜드마크로 식별될 수 있다.
인터렉티브 랜드마크 선택 모듈(44)은 예를 들어 각각의 식별된 랜드마크의 위치, 배향, 크기 등을 결정하기 위해 시각적 랜드마크 데이터베이스(52)로부터 카메라 뷰 내의 식별된 랜드마크에 대한 지리 정보를 검색할 수 있다. 식별된 랜드마크가 Walgreens®간판과 같은 둘 이상의 위치를 가질 때, 인터렉티브 랜드마크 선택 모듈(44)은 사용자의 대략적인 현재 위치에 가장 가까운 위치에 대한 지리 정보를 검색한다. 다른 구현예에서, 하나 이상의 랜드마크가 카메라 뷰 내에서 식별될 때, 인터렉티브 랜드마크 선택 모듈(44)은 식별된 랜드마크 각각을 포함하는 지리적 영역에 기초하여 각각의 식별된 랜드마크에 대한 위치를 결정한다. 예를 들어 Joe's Restaurant은 5개의 서로 다른 도시에 있지만, Joe's Restaurant은 5개 도시 중 한 곳에서만 McDonald's®에 인접해 있을 수 있다. McDonald's®가 카메라 뷰 내에서도 식별되는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 인접한 McDonald's®가 있는 도시에서 Joe's Restaurant을 선택할 수 있다.
임의의 경우에, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰 내에서 식별된 랜드마크의 위치, 배향, 높이 및/또는 크기에 기초하여 사용자의 정확한 위치 및 배향을 결정한다(블록 914). 보다 구체적으로, 각각의 식별된 랜드마크에 대해, 인터렉티브 랜드마크 선택 모듈(44)은 랜드마크의 크기와 관련한 카메라 뷰를 갖는 랜드마크의 크기에 기초하여 사용자와 랜드마크 사이의 거리를 결정할 수 있다. 사용자로부터 랜드마크까지의 거리는 카메라 뷰 내 랜드마크의 크기에 비례할 수 있다. 랜드마크의 크기에 비해 카메라 뷰에서 더 크게 나타나는 랜드마크는 사용자가 랜드마크 근처에 있음을 나타낼 수 있다. 인터렉티브 랜드마크 선택 모듈(44)은 랜드마크가 카메라 뷰의 전경에 있는지 배경에 있는지에 기초하여 사용자와 랜드마크 사이의 거리를 결정할 수 있다. 랜드마크가 카메라 뷰의 전경에 있는 경우, 랜드마크가 카메라 뷰의 배경에 있는 경우보다 랜드마크가 사용자에게 더 가까울 수 있다.
사용자로부터 랜드마크까지의 거리에 기초하여, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 위치한 지리적 영역을 식별할 수 있고 사용자의 정확한 위치 및/또는 배향을 지리적 영역 내의 위치로서 결정할 수 있다. 사용자의 정확한 위치 및/또는 배향을 지리적 영역 내의 위치로 결정하기 위해, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰 내의 랜드마크의 배향을 결정할 수 있다. 랜드마크가 카메라 뷰의 시점을 직접 향하고 있는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 랜드마크가 향하는 방향에 있고, 사용자가 랜드마크가 향하는 방향의 실질적으로 반대 방향을 향하고 있다고 결정할 수 있다. 예를 들어, 랜드마크가 카메라 뷰의 시점을 직접 향하고 랜드마크가 남쪽을 향하는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자가 랜드마크의 바로 남쪽에 있고 직접 북쪽을 향하고 있다고 결정할 수 있다. 그 다음, 인터렉티브 랜드마크 선택 모듈(44)은 랜드마크로부터의 거리, 랜드마크의 위치 및 랜드마크에 대한 사용자의 배향에 기초하여 사용자의 정확한 위치를 결정할 수 있다. 예를 들어, 랜드마크가 Main St.와 State St.의 모퉁이에 있고 사용자가 랜드마크에서 바로 남쪽으로 50m 떨어져 있는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 사용자의 정확한 위치가 Main St.와 State St.의 모퉁이 바로 남쪽으로 50m인 위치이고, 사용자의 배향은 북쪽이라고 결정할 수 있다.
랜드마크가 카메라 뷰의 시점을 직접 향하지 않는 경우, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰 내의 랜드마크의 배향을 결정한다. 그 다음, 인터렉티브 랜드마크 선택 모듈(44)은 카메라 뷰 내의 랜드마크의 배향 및 랜드마크가 향하는 방향에 기초하여 랜드마크에 대한 사용자의 배향을 결정할 수 있다. 추가적으로, 인터렉티브 랜드마크 선택 모듈(44)은 랜드마크에 대한 사용자의 방향의 실질적으로 반대 방향으로 사용자의 배향을 결정할 수 있다.
상기 기술된 바와 같이, 서버 디바이스(14)는 지도 데이터, 내비게이션 데이터, 승차 공유 데이터 등을 클라이언트 디바이스(12)에 제공하기 위해 사용자의 정확한 위치 및 배향을 사용할 수 있다. 예를 들어, 사용자가 목적지 위치로의 내비게이션 길안내를 요청하면, 내비게이션 지시 생성기(42)는 도로 형상 데이터, 도로 및 교차로 제한(예: 일방 통행, 좌회전 금지), 도로 유형 데이터(예: 고속도로, 지역 도로), 속도 제한 데이터 등을 지도 데이터베이스(50)로부터 검색하여 사용자의 정확한 위치로부터 목적지까지의 경로를 생성한다(블록 916).
내비게이션 지시 생성기(42)는 하나 이상의 경로를 사용하여 내비게이션 지시의 시퀀스를 생성할 수 있다. 초기적 내비게이션 지시의 경우, "State Street에서 북쪽으로 가세요"와 같은 절대 방향을 제공하는 대신, 내비게이션 지시 생성기(42)는 인터렉티브 랜드마크 선택 모듈(44)에 의해 결정된 사용자의 정확한 위치 및 배향에 기초하여 사용자를 안내할 수 있다. 예를 들어, 내비게이션 지시 생성기(42)는 사용자가 북쪽을 향하고 있기 때문에 "State Street에서 계속 직진하세요"라는 초기 내비게이션 지시를 생성할 수 있다. 초기 지시가 사용자가 남쪽으로 향하도록 요구하는 경우, 내비게이션 지시 생성기(42)는 "McDonald's®간판에서 유턴하고 State Street에서 계속 직진하세요"라는 초기 내비게이션 지시를 생성할 수 있다.
추가 고려 사항
본 명세서에 기술된 예시적 방법의 다양한 동작은 적어도 부분적으로, 관련 동작을 수행하도록 일시적으로 구성되거나(예를 들어, 소프트웨어에 의해) 영구적으로 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 일시적으로 또는 영구적으로 구성되든, 이러한 프로세서는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현 모듈을 구성할 수 있다. 본 명세서에서 언급된 모듈은 일부 예시적 실시예에서 프로세서 구현 모듈을 포함할 수 있다.
유사하게, 본 명세서에 기술된 방법 또는 루틴은 적어도 부분적으로 프로세서로 구현될 수 있다. 예를 들어, 방법의 동작 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서로 구현된 하드웨어 모듈에 의해 수행될 수 있다. 특정 동작의 수행은 단일 기계 내에 상주하는 하나 이상의 프로세서에 분산될 수 있을 뿐만 아니라 다수의 컴퓨터에 걸쳐 배포될 수 있다. 일부 예시적 실시예에서, 프로세서(들)는 단일 위치(예를 들어, 가정 환경, 사무실 환경 내에 또는 서버 팜으로서)에 위치될 수 있고, 다른 실시예에서 프로세서는 다수의 위치에 걸쳐 분산될 수 있다.
하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경에서 또는 SaaS(software as a service)로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예를 들어, 전술한 바와 같이, 적어도 일부 동작은(프로세서를 포함하는 기계의 예로서) 컴퓨터 그룹에 의해 수행될 수 있으며, 이들 동작은 네트워크(예: 인터넷) 및 하나 이상의 적절한 인터페이스를 통해 액세스 가능하다(예: API).
본 개시를 읽을 때, 통상의 기술자는 내비게이션에서 인터렉티브 랜드마크를 사용하기 위한 시스템에 대한 추가의 대안적 구조적 및 기능적 설계를 이해할 것이다. 따라서, 특정 실시예 및 적용예가 도시되고 설명되었지만, 개시된 실시예는 본 명세서에 개시된 정확한 구성 및 컴포넌트에 한정되지 않는 것으로 이해되어야 한다. 통상의 기술자에게 명백할 다양한 수정, 변경 및 변형이 첨부된 청구범위에 정의된 사상 및 범위를 벗어나지 않고 본 명세서에 개시된 방법 및 장치의 구성, 동작 및 세부 사항 내에서 이루어질 수 있다.
Claims (20)
- 둘 이상의 사용자를 미팅 위치로 안내하는 방법으로서,
하나 이상의 프로세서에서, 제1 사용자의 제1 위치 및 제2 사용자의 제2 위치를 포함하는 미팅 위치에서 제1 사용자가 제2 사용자를 만나기 위한 요청을 수신하는 단계, 상기 제1 및 제2 위치는 지리적 영역 내에 있으며;
상기 하나 이상의 프로세서에 의해, 데이터베이스로부터 상기 지리적 영역 내의 물리적 객체에 대응하는 복수의 시각적 랜드마크를 검색하는 단계;
상기 하나 이상의 프로세서에 의해, 상기 제1 사용자 및 상기 제2 사용자를 상기 지리적 영역 내의 미팅 위치로 안내하기 위해 상기 복수의 시각적 랜드마크로부터 공유 시각적 랜드마크를 선택하는 단계, 상기 공유 시각적 랜드마크는 상기 제1 위치 및 상기 제2 위치 둘 모두로부터의 가시성에 기초하여 선택되며; 및
상기 하나 이상의 프로세서에 의해, 상기 제1 사용자 및 상기 제2 사용자에게 상기 공유 시각적 랜드마크를 참조하는 미팅 위치로의 길안내를 제공하는 단계를 포함하는, 방법. - 청구항 1에 있어서, 상기 제1 사용자 및 상기 제2 사용자를 상기 미팅 위치로 안내하기 위한 공유 시각적 랜드마크를 선택하는 단계는:
상기 하나 이상의 프로세서에 의해, 상기 미팅 위치의 임계 거리 내에서 후보 시각적 랜드마크를 식별하는 것;
상기 하나 이상의 프로세서에 의해, 상기 제1 위치로부터의 가시성에 기초하여 상기 후보 시각적 랜드마크에 제1 점수를 할당하는 것;
상기 하나 이상의 프로세서에 의해, 상기 제2 위치로부터의 가시성에 기초하여 상기 후보 시각적 랜드마크에 제2 점수를 할당하는 것;
상기 하나 이상의 프로세서에 의해, 상기 후보 시각적 랜드마크에 대한 전체 점수를 생성하기 위해 상기 제1 및 제2 점수를 결합하는 것; 및
상기 하나 이상의 프로세서에 의해, 가장 높은 전체 점수를 갖는 후보 시각적 랜드마크를 상기 공유 시각적 랜드마크로서 선택하는 것을 포함하는, 방법. - 청구항 2에 있어서,
상기 하나 이상의 프로세서에 의해, 상기 제1 점수에 따라 상기 후보 시각적 랜드마크에 대한 제1 세트의 순위를 생성하는 단계;
상기 하나 이상의 프로세서에 의해, 상기 제2 점수에 따라 상기 후보 시각적 랜드마크에 대한 제2 세트의 순위를 생성하는 단계를 더 포함하며;
가장 높은 전체 점수를 갖는 후보 시각적 랜드마크를 상기 공유 시각적 랜드마크로서 선택하는 것은, 상기 하나 이상의 프로세서에 의해, 가장 높은 전체 점수를 갖는 상기 후보 시각적 랜드마크가 상기 제1 및 제2 세트의 순위 모두에서 임계 순위보다 높게 순위화된 경우 상기 가장 높은 전체 점수를 갖는 후보 시각적 랜드마크를 상기 공유 시각적 랜드마크로서 선택하는 것을 포함하는, 방법. - 청구항 3에 있어서, 상기 가장 높은 전체 점수를 갖는 후보 시각적 랜드마크가 상기 제1 및 제2 세트의 순위 모두에서 임계 순위보다 높게 순위화되지 않았다고 결정하는 것에 응답하여, 상기 하나 이상의 프로세서에 의해, 다음으로 높은 전체 점수를 갖는 상기 후보 시각적 랜드마크가 상기 제1 및 제2 세트의 순위 모두에서 임계 순위보다 높게 순위화된 경우 다음으로 높은 전체 점수를 갖는 후보 시각적 랜드마크를 상기 공유 시각적 랜드마크로서 선택하는 것을 포함하는, 방법.
- 청구항 2에 있어서, 상기 지리적 영역 내의 물리적 객체에 대응하는 복수의 시각적 랜드마크를 검색하는 단계는:
상기 하나 이상의 프로세서에 의해, 상기 데이터베이스로부터:
i) 지리적 영역 내 시각적 랜드마크의 3차원 포지션의 표시,
ii) 시각적 랜드마크의 배향의 표시,
iii) 시각적 랜드마크의 크기의 표시,
iv) 시각적 랜드마크의 이름의 표시,
v) 시각적 랜드마크의 외관의 표시, 또는
vi) 시각적 랜드마크가 보이는 지리적 영역의 표시 중 하나 이상을 각각 포함하는 상기 복수의 시각적 랜드마크를 검색하는 것을 포함하는, 방법. - 청구항 5에 있어서, 상기 제1 위치로부터의 가시성에 기초하여 상기 후보 시각적 랜드마크에 제1 점수를 할당하는 것은:
상기 하나 이상의 프로세서에 의해, 상기 시각적 랜드마크가 보이는 상기 지리적 영역의 표시, 상기 시각적 랜드마크의 3차원 포지션의 표시, 상기 시각적 랜드마크의 배향의 표시 또는 상기 시각적 랜드마크의 크기의 표시 중 하나 이상에 기초하여 상기 제1 위치로부터의 가시성을 결정하는 것을 포함하는, 방법. - 청구항 1에 있어서, 미팅 위치에서 제1 사용자가 제2 사용자를 만나기 위한 요청을 수신하는 단계는:
상기 하나 이상의 프로세서에 의해, 상기 제1 사용자의 제1 클라이언트 디바이스로부터 상기 제1 사용자를 하차 위치로 운송하기 위한 요청을 수신하는 것;
상기 하나 이상의 프로세서에 의해, 상기 요청을 상기 제2 사용자에게 전송하는 것;
상기 하나 이상의 프로세서에 의해, 상기 요청을 수락하는 상기 제2 사용자의 제2 클라이언트 디바이스로부터 표시를 수신하는 것; 및
상기 하나 이상의 프로세서에 의해, 상기 제1 사용자의 픽업 위치를 미팅 위치로 식별하는 것을 포함하는, 방법. - 청구항 7에 있어서, 상기 미팅 위치로의 길안내를 제공하는 단계는:
상기 하나 이상의 프로세서에 의해, 상기 공유 시각적 랜드마크를 참조하는 상기 제1 사용자에게 도보 길안내를 제공하는 것; 및
상기 하나 이상의 프로세서에 의해, 상기 공유 시각적 랜드마크를 참조하는 상기 제2 사용자에게 운전 길안내를 제공하는 것을 포함하는, 방법. - 둘 이상의 사용자를 미팅 위치로 안내하는 서버 디바이스로서,
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 결합되고 상기 하나 이상의 프로세서에 의해 실행될 때 상기 서버 디바이스로 하여금 동작들을 수행하게 하는 명령어를 저장하는 비일시적 컴퓨터 판독가능 메모리를 포함하며, 상기 동작들은:
제1 사용자의 제1 위치 및 제2 사용자의 제2 위치를 포함하는 미팅 위치에서 제1 사용자가 제2 사용자를 만나기 위한 요청을 수신하는 동작, 상기 제1 및 제2 위치는 지리적 영역 내에 있으며;
데이터베이스로부터 상기 지리적 영역 내의 물리적 객체에 대응하는 복수의 시각적 랜드마크를 검색하는 동작;
상기 제1 사용자 및 상기 제2 사용자를 상기 지리적 영역 내의 미팅 위치로 안내하기 위해 상기 복수의 시각적 랜드마크로부터 공유 시각적 랜드마크를 선택하는 동작, 상기 공유 시각적 랜드마크는 상기 제1 위치 및 상기 제2 위치 둘 모두로부터의 가시성에 기초하여 선택되며; 및
상기 제1 사용자 및 상기 제2 사용자에게 상기 공유 시각적 랜드마크를 참조하는 미팅 위치로의 길안내를 제공하는 동작을 포함하는, 서버 디바이스. - 청구항 9에 있어서, 상기 제1 사용자 및 상기 제2 사용자를 상기 미팅 위치로 안내하기 위한 공유 시각적 랜드마크를 선택하는 동작은:
상기 미팅 위치의 임계 거리 내에서 후보 시각적 랜드마크를 식별하는 것;
상기 제1 위치로부터의 가시성에 기초하여 상기 후보 시각적 랜드마크에 제1 점수를 할당하는 것;
상기 제2 위치로부터의 가시성에 기초하여 상기 후보 시각적 랜드마크에 제2 점수를 할당하는 것;
상기 후보 시각적 랜드마크에 대한 전체 점수를 생성하기 위해 상기 제1 및 제2 점수를 결합하는 것; 및
가장 높은 전체 점수를 갖는 후보 시각적 랜드마크를 상기 공유 시각적 랜드마크로서 선택하는 것을 포함하는, 서버 디바이스. - 청구항 10에 있어서, 상기 동작들은:
상기 제1 점수에 따라 상기 후보 시각적 랜드마크에 대한 제1 세트의 순위를 생성하는 동작;
상기 제2 점수에 따라 상기 후보 시각적 랜드마크에 대한 제2 세트의 순위를 생성하는 동작을 더 포함하며;
가장 높은 전체 점수를 갖는 후보 시각적 랜드마크를 상기 공유 시각적 랜드마크로서 선택하는 것은, 가장 높은 전체 점수를 갖는 상기 후보 시각적 랜드마크가 상기 제1 및 제2 세트의 순위 모두에서 임계 순위보다 높게 순위화된 경우 상기 가장 높은 전체 점수를 갖는 후보 시각적 랜드마크를 상기 공유 시각적 랜드마크로서 선택하는 것을 포함하는, 서버 디바이스. - 청구항 11에 있어서, 상기 가장 높은 전체 점수를 갖는 후보 시각적 랜드마크가 상기 제1 및 제2 세트의 순위 모두에서 임계 순위보다 높게 순위화되지 않았다고 결정하는 것에 응답하여, 다음으로 높은 전체 점수를 갖는 상기 후보 시각적 랜드마크가 상기 제1 및 제2 세트의 순위 모두에서 임계 순위보다 높게 순위화된 경우 다음으로 높은 전체 점수를 갖는 후보 시각적 랜드마크를 상기 공유 시각적 랜드마크로서 선택하는 것을 포함하는, 서버 디바이스.
- 청구항 10에 있어서, 상기 지리적 영역 내의 물리적 객체에 대응하는 복수의 시각적 랜드마크를 검색하는 동작은:
상기 데이터베이스로부터:
i) 지리적 영역 내 시각적 랜드마크의 3차원 포지션의 표시,
ii) 시각적 랜드마크의 배향의 표시,
iii) 시각적 랜드마크의 크기의 표시,
iv) 시각적 랜드마크의 이름의 표시,
v) 시각적 랜드마크의 외관의 표시, 또는
vi) 시각적 랜드마크가 보이는 지리적 영역의 표시 중 하나 이상을 각각 포함하는 상기 복수의 시각적 랜드마크를 검색하는 것을 포함하는, 서버 디바이스. - 청구항 13에 있어서, 상기 제1 위치로부터의 가시성에 기초하여 상기 후보 시각적 랜드마크에 제1 점수를 할당하는 것은:
상기 시각적 랜드마크가 보이는 상기 지리적 영역의 표시, 상기 시각적 랜드마크의 3차원 포지션의 표시, 상기 시각적 랜드마크의 배향의 표시 또는 상기 시각적 랜드마크의 크기의 표시 중 하나 이상에 기초하여 상기 제1 위치로부터의 가시성을 결정하는 것을 포함하는, 서버 디바이스. - 청구항 9에 있어서, 미팅 위치에서 제1 사용자가 제2 사용자를 만나기 위한 요청을 수신하는 동작은:
상기 제1 사용자의 제1 클라이언트 디바이스로부터 상기 제1 사용자를 하차 위치로 운송하기 위한 요청을 수신하는 것;
상기 요청을 상기 제2 사용자에게 전송하는 것;
상기 요청을 수락하는 상기 제2 사용자의 제2 클라이언트 디바이스로부터 표시를 수신하는 것; 및
상기 제1 사용자의 픽업 위치를 미팅 위치로 식별하는 것을 포함하는, 서버 디바이스. - 청구항 15에 있어서, 미팅 위치로의 길안내를 제공하는 동작은:
상기 공유 시각적 랜드마크를 참조하는 상기 제1 사용자에게 도보 길안내를 제공하는 것; 및
상기 공유 시각적 랜드마크를 참조하는 상기 제2 사용자에게 운전 길안내를 제공하는 것을 포함하는, 서버 디바이스. - 랜드마크를 사용하여 사용자의 현재 위치 또는 배향을 검증하는 방법에 있어서,
하나 이상의 프로세서에서, 클라이언트 디바이스로부터 상기 클라이언트 디바이스의 사용자에 대한 위치 및 배향 정보를 수신하는 단계;
상기 하나 이상의 프로세서에 의해, 데이터베이스로부터 상기 위치 정보에 대응하는 지리적 영역 내의 물리적 객체에 대응하는 복수의 시각적 랜드마크를 검색하는 단계;
상기 하나 이상의 프로세서에 의해, 상기 사용자에 대한 위치 및 배향 정보에 기초하여 상기 사용자의 시야 내에서 상기 복수의 시각적 랜드마크 중 하나 이상을 선택하는 단계;
상기 하나 이상의 프로세서에 의해, 상기 하나 이상의 시각적 랜드마크의 표시 및 상기 하나 이상의 시각적 랜드마크가 상기 사용자의 시야 내에 있음을 확인하기 위한 요청을 제공하는 단계; 및
상기 하나 이상의 시각적 랜드마크가 사용자의 시야 내에 없다는 표시를 상기 클라이언트 디바이스로부터 수신함에 응답하여:
상기 하나 이상의 프로세서에서, 시각적 랜드마크를 포함하는 상기 클라이언트 디바이스의 시야로부터 현실 세계 이미지를 수신하는 단계; 및
상기 하나 이상의 프로세서에 의해, 상기 현실 세계 이미지에 기초하여 상기 사용자의 위치 및 배향을 결정하는 단계를 포함하는, 방법. - 청구항 17에 있어서, 상기 현실 세계 이미지에 기초하여 상기 사용자의 위치 및 배향을 결정하는 단계는:
상기 하나 이상의 프로세서에 의해, 상기 현실 세계 이미지에 포함된 시각적 랜드마크를 상기 데이터베이스로부터의 복수의 시각적 랜드마크와 비교하는 것;
상기 하나 이상의 프로세서에 의해, 상기 데이터베이스로부터의 상기 복수의 시각적 랜드마크 중 하나 이상을 상기 현실 세계 이미지에서 식별하는 것; 및
상기 하나 이상의 프로세서에 의해, 하나 이상의 식별된 시각적 랜드마크의 하나 이상의 위치 및 하나 이상의 배향에 기초하여 상기 사용자의 위치 및 배향을 결정하는 것을 포함하는, 방법. - 청구항 17에 있어서, 하나 이상의 식별된 시각적 랜드마크의 하나 이상의 위치 및 하나 이상의 배향에 기초하여 상기 사용자의 위치 및 배향을 결정하는 것은:
상기 하나 이상의 프로세서에 의해, 상기 하나 이상의 식별된 시각적 랜드마크의 하나 이상의 위치에 기초하고, 상기 현실 이미지 내의 하나 이상의 식별된 시각적 랜드마크의 하나 이상의 크기에 기초하여 위치를 결정하는 것; 및
상기 하나 이상의 프로세서에 의해, 상기 하나 이상의 식별된 시각적 랜드마크의 하나 이상의 배향과 실질적으로 반대되는 방향으로서 배향을 결정하는 것을 포함하는, 방법. - 청구항 17에 있어서,
상기 하나 이상의 프로세서에 의해, 사용자의 위치 및 배향으로부터 목적지까지의 경로를 결정하는 것; 및
상기 하나 이상의 프로세서에 의해, 상기 목적지까지의 경로를 따라 상기 사용자를 안내하는 내비게이션 지시를 제공하는 것을 더 포함하는, 방법.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/033890 WO2020242434A1 (en) | 2019-05-24 | 2019-05-24 | Method and device for navigating two or more users to a meeting location |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220012212A true KR20220012212A (ko) | 2022-02-03 |
Family
ID=66858022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217007735A KR20220012212A (ko) | 2019-05-24 | 2019-05-24 | 인터렉티브 랜드마크 기반 위치 파악 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220349719A1 (ko) |
EP (3) | EP3827222B1 (ko) |
JP (2) | JP7267409B2 (ko) |
KR (1) | KR20220012212A (ko) |
CN (2) | CN116124173A (ko) |
WO (1) | WO2020242434A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022116154A1 (zh) * | 2020-12-04 | 2022-06-09 | 深圳市优必选科技股份有限公司 | 地图库建立方法、计算机设备及存储介质 |
WO2022154786A1 (en) * | 2021-01-13 | 2022-07-21 | Google Llc | Explicit signage visibility cues in driving navigation |
US20220316906A1 (en) * | 2021-04-03 | 2022-10-06 | Naver Corporation | Apparatus and Method for Generating Navigational Plans |
US20230202674A1 (en) * | 2021-12-23 | 2023-06-29 | OneSky Flight LLC | Dynamic aircraft-specific graphical user interfaces |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5144685A (en) * | 1989-03-31 | 1992-09-01 | Honeywell Inc. | Landmark recognition for autonomous mobile robots |
JP2986100B1 (ja) * | 1999-01-11 | 1999-12-06 | 大倉電気株式会社 | Phs端末位置の音声案内システム |
JP3749821B2 (ja) * | 1999-09-30 | 2006-03-01 | 株式会社東芝 | 歩行者用道案内システムおよび歩行者用道案内方法 |
JP4037866B2 (ja) * | 2002-07-25 | 2008-01-23 | 富士通株式会社 | 移動体の位置推定装置、位置推定方法および位置推定プログラム |
JP2006287435A (ja) * | 2005-03-31 | 2006-10-19 | Pioneer Electronic Corp | 情報処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体 |
JP2007150681A (ja) * | 2005-11-28 | 2007-06-14 | Univ Waseda | 位置特定システム及び位置特定方法 |
JP2007192707A (ja) | 2006-01-20 | 2007-08-02 | Fujitsu Ten Ltd | 情報処理装置およびコンピュータ実行可能なプログラム |
JP4717650B2 (ja) * | 2006-02-02 | 2011-07-06 | 株式会社ゼンリン | 現在位置推定装置 |
TWI387728B (zh) * | 2009-10-13 | 2013-03-01 | Chunghwa Telecom Co Ltd | Instantly get the method and system of team location |
US9068837B2 (en) * | 2010-01-29 | 2015-06-30 | Here Global B.V. | Method of operating a navigation system |
US8463543B2 (en) * | 2010-02-05 | 2013-06-11 | Apple Inc. | Schematic maps |
JP5255595B2 (ja) * | 2010-05-17 | 2013-08-07 | 株式会社エヌ・ティ・ティ・ドコモ | 端末位置特定システム、及び端末位置特定方法 |
KR101667715B1 (ko) * | 2010-06-08 | 2016-10-19 | 엘지전자 주식회사 | 증강현실을 이용한 경로 안내 방법 및 이를 이용하는 이동 단말기 |
US8880333B2 (en) * | 2010-11-02 | 2014-11-04 | Here Global B.V. | Effective slope for fuel consumption calculation |
WO2013059730A1 (en) * | 2011-10-21 | 2013-04-25 | Qualcomm Incorporated | Methods for generating visibility maps |
US10068157B2 (en) * | 2012-05-10 | 2018-09-04 | Apple Inc. | Automatic detection of noteworthy locations |
US8848983B1 (en) * | 2012-05-31 | 2014-09-30 | Google Inc. | System and method for ranking geographic features using viewshed analysis |
JP6165422B2 (ja) * | 2012-06-28 | 2017-07-19 | 株式会社ナビタイムジャパン | 情報処理システム、情報処理装置、サーバ、端末装置、情報処理方法、及びプログラム |
US9030499B2 (en) * | 2012-08-20 | 2015-05-12 | Google Inc. | Custom labeling of a map based on content |
US20140172570A1 (en) * | 2012-12-14 | 2014-06-19 | Blaise Aguera y Arcas | Mobile and augmented-reality advertisements using device imaging |
US9529907B2 (en) * | 2012-12-31 | 2016-12-27 | Google Inc. | Hold back and real time ranking of results in a streaming matching system |
CN103913174B (zh) * | 2012-12-31 | 2016-10-19 | 深圳先进技术研究院 | 一种导航信息的生成方法和***及移动客户端和服务器端 |
US9625612B2 (en) * | 2013-09-09 | 2017-04-18 | Google Inc. | Landmark identification from point cloud generated from geographic imagery data |
US11026046B2 (en) * | 2014-04-11 | 2021-06-01 | Flaregun Inc. | Apparatus, systems and methods for visually connecting people |
US9625912B2 (en) * | 2014-09-03 | 2017-04-18 | Sharp Laboratories Of America, Inc. | Methods and systems for mobile-agent navigation |
US9551586B2 (en) * | 2015-06-12 | 2017-01-24 | Uber Technologies, Inc. | System and method for providing contextual information for a location |
US9762601B2 (en) * | 2015-06-17 | 2017-09-12 | Uber Technologies, Inc. | Trip anomaly detection system |
US20170059347A1 (en) * | 2015-08-28 | 2017-03-02 | Google Inc. | Determining Improved Pick-Up Locations |
US10126141B2 (en) * | 2016-05-02 | 2018-11-13 | Google Llc | Systems and methods for using real-time imagery in navigation |
US10024683B2 (en) * | 2016-06-06 | 2018-07-17 | Uber Technologies, Inc. | User-specific landmarks for navigation systems |
CN106403971B (zh) * | 2016-08-25 | 2021-10-08 | 北京小米移动软件有限公司 | 信息交互方法及装置 |
US10156452B2 (en) * | 2016-11-14 | 2018-12-18 | Conduent Business Service, Llc | Method and system for ridesharing management |
US10818188B2 (en) * | 2016-12-13 | 2020-10-27 | Direct Current Capital LLC | Method for dispatching a vehicle to a user's location |
US10262464B2 (en) * | 2016-12-30 | 2019-04-16 | Intel Corporation | Dynamic, local augmented reality landmarks |
EP3364644A1 (en) * | 2017-02-20 | 2018-08-22 | Koninklijke Philips N.V. | Image capturing |
US10222221B2 (en) * | 2017-02-21 | 2019-03-05 | Conduent Business Services, Llc | System and method for optimizing passenger pick-up |
US10458802B2 (en) * | 2017-06-13 | 2019-10-29 | Gt Gettaxi Limited | System and method for navigating drivers to dynamically selected drop-off locations for shared rides |
CN109040960A (zh) * | 2018-08-27 | 2018-12-18 | 优视科技新加坡有限公司 | 一种实现位置服务的方法和装置 |
CN109357673A (zh) * | 2018-10-30 | 2019-02-19 | 上海仝物云计算有限公司 | 基于图像的视觉导航方法和装置 |
US11379502B2 (en) * | 2018-11-09 | 2022-07-05 | Uber Technologies, Inc. | Place visibility scoring system |
US11501524B2 (en) * | 2019-01-23 | 2022-11-15 | Uber Technologies, Inc. | Generating augmented reality images for display on a mobile device based on ground truth image rendering |
-
2019
- 2019-05-24 KR KR1020217007735A patent/KR20220012212A/ko not_active Application Discontinuation
- 2019-05-24 US US16/609,037 patent/US20220349719A1/en active Pending
- 2019-05-24 CN CN202310107990.8A patent/CN116124173A/zh active Pending
- 2019-05-24 CN CN201980064401.4A patent/CN112789480B/zh active Active
- 2019-05-24 EP EP19730632.7A patent/EP3827222B1/en active Active
- 2019-05-24 WO PCT/US2019/033890 patent/WO2020242434A1/en unknown
- 2019-05-24 EP EP23215918.6A patent/EP4332506A3/en active Pending
- 2019-05-24 EP EP22168896.3A patent/EP4089370B1/en active Active
- 2019-05-24 JP JP2021517803A patent/JP7267409B2/ja active Active
-
2023
- 2023-04-19 JP JP2023068766A patent/JP7485824B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN112789480B (zh) | 2023-01-03 |
EP4089370A1 (en) | 2022-11-16 |
EP4332506A2 (en) | 2024-03-06 |
WO2020242434A1 (en) | 2020-12-03 |
JP7267409B2 (ja) | 2023-05-01 |
EP4089370B1 (en) | 2023-12-27 |
EP3827222B1 (en) | 2022-07-06 |
JP2023106379A (ja) | 2023-08-01 |
EP3827222A1 (en) | 2021-06-02 |
CN116124173A (zh) | 2023-05-16 |
JP2022533869A (ja) | 2022-07-27 |
CN112789480A (zh) | 2021-05-11 |
EP4332506A3 (en) | 2024-03-20 |
JP7485824B2 (ja) | 2024-05-16 |
US20220349719A1 (en) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11692842B2 (en) | Augmented reality maps | |
US11604077B2 (en) | Systems and method for using visual landmarks in initial navigation | |
US9404753B2 (en) | Navigating on images | |
JP7485824B2 (ja) | ランドマークを使用してユーザの現在の場所または方位を検証するための方法、コンピュータ機器、およびコンピュータ可読メモリ | |
KR20230129975A (ko) | 드라이빙 내비게이션의 명시적인 신호체계 가시성 단서들 | |
US12050109B2 (en) | Systems and method for using visual landmarks in initial navigation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |