KR101639029B1 - 소실점 결정에 기초하는 센서 교정 및 포지션 추정 - Google Patents

소실점 결정에 기초하는 센서 교정 및 포지션 추정 Download PDF

Info

Publication number
KR101639029B1
KR101639029B1 KR1020157012418A KR20157012418A KR101639029B1 KR 101639029 B1 KR101639029 B1 KR 101639029B1 KR 1020157012418 A KR1020157012418 A KR 1020157012418A KR 20157012418 A KR20157012418 A KR 20157012418A KR 101639029 B1 KR101639029 B1 KR 101639029B1
Authority
KR
South Korea
Prior art keywords
determined
determining
scene
inertial sensor
vanishing point
Prior art date
Application number
KR1020157012418A
Other languages
English (en)
Other versions
KR20150070277A (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 퀄컴 인코포레이티드
Publication of KR20150070277A publication Critical patent/KR20150070277A/ko
Application granted granted Critical
Publication of KR101639029B1 publication Critical patent/KR101639029B1/ko

Links

Images

Classifications

    • G06T7/0018
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/38Testing, calibrating, or compensating of compasses
    • 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/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • G06T7/0042
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Navigation (AREA)
  • Gyroscopes (AREA)
  • Studio Devices (AREA)

Abstract

적어도 하나의 센서를 포함하는 디바이스의 이미지 캡처링 유닛에 의해 씬의 이미지를 캡처하는 단계, 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 디바이스의 상대적 디바이스 방향을 결정하는 단계 및 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여 적어도 하나의 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하는 단계를 포함하는 방법을 포함하는, 시스템들, 장치, 디바이스들, 방법, 컴퓨터 프로그램 물건들 및 다른 구현들이 개시된다.

Description

소실점 결정에 기초하는 센서 교정 및 포지션 추정{SENSOR CALIBRATION AND POSITION ESTIMATION BASED ON VANISHING POINT DETERMINATION}
[0001] 자이로스코프들 및 자력계들과 같은 방향 센서들로부터의 정보는 포지셔닝 및 추적, 활동 및 제스처 식별 등과 같은 다양한 애플리케이션들을 위해 이용될 수 있다. 그러나, 자이로스코프들은 바이어스, 스케일링 및 오정렬과 같은 인자들로 인한 에러들에 대해 정정하기 위해 빈번한 교정을 요구한다. 이러한 인자들은 1회 교정을 효과가 없게 만드는 온도에 따라 달라질 수 있다. 통상적인 교정 기법은, 디바이스가 움직이지 않을 때(at rest)를 검출하고 센서들을 교정하는 것이다. 그러나, 이 교정 기법은 완료하는데 비교적 긴 시간을 요구할 수 있다. 또 다른 센서인 자력계는 실내 환경들에서 일반적인 국부적 자기장들에 민감하며, 잘못된 방향을 제공할 수 있다.
[0002] 일부 변형예들에서, 방법이 개시된다. 방법은 적어도 하나의 센서를 포함하는 디바이스의 이미지 캡처링 유닛에 의해 씬(scene)의 이미지를 캡처하는 단계, 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 디바이스의 상대적 디바이스 방향을 결정하는 단계 및 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여 적어도 하나의 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하는 단계를 포함한다.
[0003] 방법의 실시예들은 다음의 특징들 중 하나 또는 둘 이상을 포함하는, 본 개시에 설명된 특징들 중 적어도 일부를 포함할 수 있다.
[0004] 상대적 디바이스 방향을 결정하는 단계는, 이미지 캡처링 유닛의 기준 프레임 및 씬의 기준 프레임에서의 위치 좌표들에 관련된 회전 행렬을 결정하는 단계를 포함할 수 있다.
[0005] 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상대적 디바이스 방향을 결정하는 단계는, 씬의 캡처된 이미지에서의 둘 또는 셋 이상의 소실점들의 결정된 위치들에 기초하여 상대적 디바이스 방향을 결정하는 단계를 포함할 수 있다.
[0006] 방법은 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치로부터 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 그리고 씬과 연관된 씬 방향 값에 추가로 기초하여, 실제 디바이스 방향을 결정하는 단계를 더 포함할 수 있다.
[0007] 방법은 이미지 캡처링 유닛에 의해 캡처된 이미지에서 씬에 대응하는 영역(area)을 포함하는 구역(region)에 대한 맵 데이터로부터 씬 방향 값을 리트리브하는 단계를 더 포함할 수 있다.
[0008] 방법은 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여 그리고 미리 결정된 방향 값에 추가로 기초하여, 실제 디바이스 방향을 결정하는 단계를 더 포함할 수 있다.
[0009] 방법은 일정 기간의 시간 동안 이미지 캡처링 유닛에 의해 캡처된 복수의 이미지들로부터 결정된 소실점들의 위치들에 적어도 부분적으로 기초하여 결정된 상대적 디바이스 방향 값들에 적어도 부분적으로 기초하여 디바이스 방향의 변화를 결정하는 단계를 더 포함할 수 있다.
[0010] 적어도 하나의 센서는, 예를 들어, 자이로스코프 및/또는 자력계 중 하나 또는 둘 이상을 포함할 수 있다.
[0011] 적어도 하나의 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하는 단계는, 예를 들어, 적어도 하나의 센서가 교정을 요구함을 표시하는, 적어도 하나의 센서에 의해 결정된 측정된 방향과 결정된 상대적 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여, 적어도 하나의 센서를 교정하는 단계, 적어도 하나의 센서가 교정됨을 표시하는 비교 결과들에 응답하여, 적어도 하나의 센서가 교정됨을 결정하는 단계, 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭(magnetic interference)의 존재에 대한 표시에 기초하여, 자력계가 교정을 요구함을 표시하는 비교 결과들에 응답하여 자력계를 교정하는 단계, 또는 비교 결과들에 기초하여 그리고 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 추가로 기초하여, 자력계가 교정됨을 결정하는 단계 중 하나를 포함할 수 있다.
[0012] 적어도 하나의 센서를 교정하는 단계는, 적어도 하나의 센서에 대해, 비교 결과들에 기초하여, 예를 들어, 센서 바이어스, 센서 스케일링 또는 센서 오정렬 중 하나 또는 둘 이상을 결정하는 단계를 포함할 수 있다.
[0013] 상대적 디바이스 방향을 결정하는 단계는, 씬에 대한 캡처된 이미지의 중심으로부터 적어도 하나의 소실점의 편차를 결정하는 단계를 포함할 수 있다.
[0014] 일부 변형예들에서, 디바이스가 개시된다. 디바이스는 이미지 캡처링 유닛, 디바이스의 방향을 측정하기 위한 적어도 하나의 센서 및 제어기를 포함한다. 제어기는, 이미지 캡처링 유닛에 의해 캡처된 씬의 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 디바이스의 상대적 디바이스 방향을 결정하고, 그리고 결정된 상대적 디바이스 방향에 기초하여 적어도 하나의 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하도록 구성된다.
[0015] 디바이스의 실시예들은, 방법과 관련하여 위에서 설명된 특징들 중 적어도 일부뿐만 아니라, 다음의 특징들 중 하나 또는 둘 이상을 포함하는, 본 개시에 설명된 특징들 중 적어도 일부를 포함할 수 있다.
[0016] 상대적 디바이스 방향을 결정하도록 구성되는 제어기는, 이미지 캡처링 유닛의 기준 프레임 및 씬의 기준 프레임에서의 위치 좌표들에 관련된 회전 행렬을 결정하도록 구성될 수 있다.
[0017] 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상대적 디바이스 방향을 결정하도록 구성되는 제어기는, 씬의 캡처된 이미지에서의 둘 또는 셋 이상의 소실점들의 결정된 위치들에 기초하여 상대적 디바이스 방향을 결정하도록 구성될 수 있다.
[0018] 제어기는, 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치로부터 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 그리고 씬과 연관된 씬 방향 값에 추가로 기초하여, 실제 디바이스 방향을 결정하도록 추가로 구성될 수 있다.
[0019] 제어기는, 일정 기간의 시간 동안 이미지 캡처링 유닛에 의해 캡처된 복수의 이미지들로부터 결정된 소실점들의 위치들에 적어도 부분적으로 기초하여 결정된 상대적 디바이스 방향 값들에 적어도 부분적으로 기초하여 디바이스 방향의 변화를 결정하도록 추가로 구성될 수 있다.
[0020] 적어도 하나의 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하도록 구성되는 제어기는, 예를 들어, 적어도 하나의 센서가 교정을 요구함을 표시하는, 적어도 하나의 센서에 의해 결정된 측정된 방향과 결정된 상대적 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여, 적어도 하나의 센서를 교정하는 것, 적어도 하나의 센서가 교정됨을 표시하는 비교 결과들에 응답하여, 적어도 하나의 센서가 교정됨을 결정하는 것, 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 기초하여, 자력계가 교정을 요구함을 표시하는 비교 결과들에 응답하여 자력계를 교정하는 것 또는 비교 결과들에 기초하여 그리고 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 추가로 기초하여, 자력계가 교정됨을 결정하는 것 중 하나를 수행하도록 구성될 수 있다.
[0021] 일부 변형예들에서, 장치가 개시된다. 장치는 적어도 하나의 센서를 포함하는 디바이스에 대한 씬의 이미지를 캡처하기 위한 수단, 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 디바이스의 상대적 디바이스 방향을 결정하기 위한 수단, 및 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여 적어도 하나의 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하기 위한 수단을 포함한다.
[0022] 장치의 실시예들은, 방법과 관련하여 위에서 설명된 특징들 중 적어도 일부뿐만 아니라, 다음의 특징들 중 하나 또는 둘 이상을 포함하는, 본 개시에 설명된 특징들 중 적어도 일부를 포함할 수 있다.
[0023] 상대적 디바이스 방향을 결정하기 위한 수단은, 이미지를 캡처하기 위한 수단의 기준 프레임 및 씬의 기준 프레임에서의 위치 좌표들에 관련된 회전 행렬을 결정하기 위한 수단을 포함할 수 있다.
[0024] 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상대적 디바이스 방향을 결정하기 위한 수단은, 씬의 캡처된 이미지에서의 둘 또는 셋 이상의 소실점들의 결정된 위치들에 기초하여 상대적 디바이스 방향을 결정하기 위한 수단을 포함할 수 있다.
[0025] 장치는 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치로부터 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 그리고 씬과 연관된 씬 방향 값에 추가로 기초하여, 실제 디바이스 방향을 결정하기 위한 수단을 더 포함할 수 있다.
[0026] 장치는 일정 기간의 시간 동안 이미지를 캡처하기 위한 수단에 의해 캡처된 복수의 이미지들로부터 결정된 소실점들의 위치들에 적어도 부분적으로 기초하여 결정된 상대적 디바이스 방향 값들에 적어도 부분적으로 기초하여 디바이스 방향의 변화를 결정하기 위한 수단을 더 포함할 수 있다.
[0027] 적어도 하나의 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하기 위한 수단은, 예를 들어, 적어도 하나의 센서가 교정을 요구함을 표시하는, 적어도 하나의 센서에 의해 결정된 측정된 방향과 결정된 상대적 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여, 적어도 하나의 센서를 교정하는 것, 적어도 하나의 센서가 교정됨을 표시하는 비교 결과들에 응답하여, 적어도 하나의 센서가 교정됨을 결정하는 것, 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭(magnetic interference)의 존재에 대한 표시에 기초하여, 자력계가 교정을 요구함을 표시하는 비교 결과들에 응답하여 자력계를 교정하는 것, 또는 비교 결과들에 기초하여 그리고 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 추가로 기초하여, 자력계가 교정됨을 결정하는 것 중 하나를 수행하기 위한 수단을 포함할 수 있다.
[0028] 일부 변형예들에서, 비-일시적 프로세서 판독가능한 매체들이 개시된다. 프로세서 판독가능한 매체들은, 프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되고, 명령들은, 실행될 때, 적어도 하나의 센서를 포함하는 디바이스의 이미지 캡처링 유닛에 의해 씬의 이미지를 캡처하는 것, 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 디바이스의 상대적 디바이스 방향을 결정하는 것, 및 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여 적어도 하나의 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하는 것을 포함하는 동작들을 야기한다.
[0029] 프로세서 판독가능한 매체들의 실시예들은, 방법, 디바이스 및 장치와 관련하여 위에서 설명된 특징들 중 적어도 일부를 포함하는, 본 개시에 설명된 특징들 중 적어도 일부를 포함할 수 있다.
[0030] 일부 변형예들에서, 또 다른 방법이 개시된다. 방법은 적어도 하나의 센서를 더 포함하는 디바이스의 이미지 캡처링 유닛에 의해, 씬 방향 값과 연관된 씬의 이미지를 캡처하는 단계, 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치를 결정하는 단계, 디바이스의 적어도 하나의 센서에 의해 수행되는 하나 또는 둘 이상의 측정들에 기초하여 디바이스의 측정된 디바이스 방향을 결정하는 단계, 및 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치, 측정된 디바이스 방향 및 구역(region) 내의 다수의 영역들과 연관된 방향 데이터에 적어도 부분적으로 기초하여, 씬에 대응하는 영역을 포함하는 구역에서의 디바이스의 후보 포지션들을 결정하는 단계를 포함한다.
[0031] 방법의 실시예들은, 제 1 방법, 디바이스, 장치 및 프로세서 판독가능한 매체들과 관련하여 위에서 설명된 특징들 중 적어도 일부뿐만 아니라, 다음의 특징들 중 하나 또는 둘 이상을 포함하는, 본 개시에 설명된 특징들 중 적어도 일부를 포함할 수 있다.
[0032] 방법은 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치가 중심에서 벗어난(off-center) 위치에 있다는 결정에 응답하여, 다음 캡처된 이미지에서의 다음 소실점이 실질적으로, 다음 캡처된 이미지의 중심에 로케이팅(locate)되도록, 디바이스로 하여금 이동되게 하기 위한 표시를 생성하는 단계를 더 포함할 수 있다.
[0033] 후보 포지션들을 결정하는 단계는, 캡처된 이미지에서의 적어도 하나의 소실점의 위치로부터 결정된 디바이스의 상대적 방향에 기초하여 그리고 측정된 디바이스 방향에 기초하여, 각각의 방향 값들과 연관된 다수의 복도들(hallways)을 포함하는, 영역에서의 후보 복도들을 결정하는 단계를 포함할 수 있다.
[0034] 방법은 구역에 대한 맵 데이터로부터 구역 내의 다수의 영역들과 연관된 방향 데이터를 리트리브하는 단계를 더 포함할 수 있다.
[0035] 일부 변형예들에서, 또 다른 디바이스가 개시된다. 디바이스는, 이미지 캡처링 유닛, 디바이스의 방향을 측정하기 위한 적어도 하나의 센서, 및 제어기를 포함한다. 제어기는, 이미지 캡처링 유닛에 의해 캡처된 씬의 이미지에서의 적어도 하나의 소실점의 위치를 결정하고, 디바이스의 적어도 하나의 센서에 의해 수행되는 하나 또는 둘 이상의 측정들에 기초하여 디바이스의 측정된 디바이스 방향을 결정하고, 그리고 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치, 측정된 디바이스 방향 및 구역(region) 내의 다수의 영역들과 연관된 방향 데이터에 적어도 부분적으로 기초하여, 씬에 대응하는 영역을 포함하는, 구역에서의 디바이스의 후보 포지션들을 결정하도록 구성된다.
[0036] 디바이스의 실시예들은 방법들, 제 1 디바이스, 장치 및 프로세서 판독가능한 매체들과 관련하여 위에서 설명된 특징들 중 적어도 일부뿐만 아니라, 다음의 특징들 중 하나 또는 둘 이상을 포함하는, 본 개시에 설명된 특징들 중 적어도 일부를 포함할 수 있다.
[0037] 제어기는, 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치가 중심에서 벗어난 위치에 있다는 결정에 응답하여, 다음 캡처된 이미지에서의 다음 소실점이 실질적으로, 다음 캡처된 이미지의 중심에 로케이팅되도록 디바이스로 하여금 이동되게 하기 위한 표시를 생성하도록 추가로 구성될 수 있다.
[0038] 후보 포지션들을 결정하도록 구성되는 제어기는, 캡처된 이미지에서의 적어도 하나의 소실점의 위치로부터 결정된 디바이스의 상대적 방향에 기초하여 그리고 측정된 디바이스 방향에 기초하여, 각각의 방향 값들과 연관된 다수의 복도들을 포함하는, 영역에서의 후보 복도들을 결정하도록 구성될 수 있다.
[0039] 제어기는, 구역에 대한 맵 데이터로부터 구역 내의 다수의 영역들과 연관된 방향 데이터를 리트리브하도록 추가로 구성될 수 있다.
[0040] 일부 변형예들에서, 또 다른 장치가 개시된다. 장치는, 적어도 하나의 센서를 포함하는 디바이스에 대한 씬의 이미지를 캡처하기 위한 수단, 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치를 결정하기 위한 수단, 디바이스의 적어도 하나의 센서에 의해 수행되는 하나 또는 둘 이상의 측정들에 기초하여 디바이스의 측정된 디바이스 방향을 결정하기 위한 수단, 및 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치, 측정된 디바이스 방향 및 구역(region) 내의 다수의 영역들과 연관된 방향 데이터에 적어도 부분적으로 기초하여, 씬에 대응하는 영역을 포함하는 구역에서의 디바이스의 후보 포지션들을 결정하기 위한 수단을 포함한다.
[0041] 장치의 실시예들은, 방법들, 디바이스들, 제 1 장치 및 프로세서 판독가능한 매체들과 관련하여 위에서 설명된 특징들 중 적어도 일부뿐만 아니라, 다음의 특징들 중 하나 또는 둘 이상을 포함하는, 본 개시에 설명된 특징들 중 적어도 일부를 포함할 수 있다.
[0042] 장치는, 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치가 중심에서 벗어난 위치에 있다는 결정에 응답하여, 다음 캡처된 이미지에서의 다음 소실점이 실질적으로, 다음 캡처된 이미지의 중심에 로케이팅되도록 디바이스로 하여금 이동되게 하기 위한 표시를 생성하기 위한 수단을 더 포함할 수 있다.
[0043] 후보 포지션들을 결정하기 위한 수단은, 캡처된 이미지에서의 적어도 하나의 소실점의 위치로부터 결정된 디바이스의 상대적 방향에 기초하여 그리고 측정된 디바이스 방향에 기초하여, 각각의 방향 값들과 연관된 다수의 복도들을 포함하는, 영역에서의 후보 복도들을 결정하기 위한 수단을 포함할 수 있다.
[0044] 장치는, 구역에 대한 맵 데이터로부터 구역 내의 다수의 영역들과 연관된 방향 데이터를 리트리브하기 위한 수단을 더 포함할 수 있다.
[0045] 일부 변형예들에서, 비-일시적 프로세서 판독가능한 매체들이 개시된다. 프로세서 판독가능한 매체들은, 프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되고, 명령들은, 실행될 때, 적어도 하나의 센서를 더 포함하는 디바이스의 이미지 캡처링 유닛에 의해, 씬 방향 값과 연관된 씬의 이미지를 캡처하는 것, 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치를 결정하는 것, 디바이스의 적어도 하나의 센서에 의해 수행되는 하나 또는 둘 이상의 측정들에 기초하여 디바이스의 측정된 디바이스 방향을 결정하는 것, 및 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 위치, 측정된 디바이스 방향 및 구역(region) 내의 다수의 영역들과 연관된 방향 데이터에 적어도 부분적으로 기초하여, 씬에 대응하는 영역을 포함하는 구역에서의 디바이스의 후보 포지션들을 결정하는 것을 포함하는 동작들을 야기한다.
[0046] 프로세서 판독가능한 매체들의 실시예들은, 방법들, 디바이스들, 장치 및 제 1 프로세서 판독가능한 매체들과 관련하여 위에서 설명된 특징들 중 적어도 일부를 포함하는, 본 개시에 설명된 특징들 중 적어도 일부를 포함할 수 있다.
[0047] 별도로 정의되지 않는다면, 본원에서 이용되는 모든 기술적 그리고 과학적 용어들은 일반적으로 또는 종래에 이해된 바와 동일한 의미를 가진다. 본원에서 이용되는 바와 같이, 단수 형태들은 단수 형태의 문법적 오브젝트(grammatical object) 중 하나 또는 둘 이상(즉, 적어도 하나)을 지칭한다. 예로서, "엘리먼트"는 하나의 엘리먼트 또는 둘 이상의 엘리먼트를 의미한다. 양, 시간적 듀레이션 등과 같은 측정가능한 값을 지칭할 때 본원에서 이용되는 "약" 및/또는 "대략"은, 본원에 설명되는 시스템들, 디바이스들, 회로들, 방법들 및 다른 구현들의 문맥상, 특정된 값으로부터 ±20% 또는 ±10%, ±5% 또는 +0.1%의 편차들이 적절하므로, 이러한 편차들을 포괄한다. 양, 시간적 듀레이션, 물리적 속성(이를테면, 주파수) 등과 같은 측정가능한 값을 지칭할 때 본원에서 이용되는 바와 같은 "실질적으로"는 또한, 본원에 설명되는 시스템들, 디바이스들, 회로들, 방법들 및 다른 구현들의 문맥상, 특정된 값으로부터 ±20% 또는 ±10%, ±5% 또는 +0.1%의 편차들이 적절하므로, 이러한 편차들을 포괄한다.
[0048] 청구항들을 포함하여 본원에 이용되는 바와 같이, "~중 적어도 하나" 또는 "~중 하나 또는 둘 이상"으로 서두가 달린 아이템들의 리스트에 이용되는 바와 같은 "또는" 혹은 "및"은, 리스팅된 아이템들의 임의의 결합이 이용될 수 있음을 표시한다. 예를 들어, "A, B 또는 C 중 적어도 하나"의 리스트는 결합들 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 및/또는 ABC(즉, A 및 B 및 C) 중 임의의 것을 포함한다. 게다가, 아이템들 A, B 또는 C의 둘 이상의 발생 또는 이용이 가능한 정도까지, A, B 및/또는 C의 다수의 이용들은 참작되는 결합들의 부분을 형성할 수 있다. 예를 들어, "A, B 또는 C 중 적어도 하나"의 리스트는 또한, AA, AAB, AAA, BB 등을 포함할 수 있다.
[0049] 청구항들을 포함하여 본원에 이용되는 바와 같이, 별도로 서술되지 않는 한, 기능, 동작 또는 특징이 아이템 및/또는 조건"에 기초한다"는 표현(statement)은 기능, 동작, 함수가 서술된 아이템 및/또는 조건에 기초한다는 것을 의미하며, 서술된 아이템 및/또는 조건에 더불어 하나 또는 둘 이상의 아이템들 및/또는 조건들에 기초할 수 있다.
[0050] 본 개시의 다른 그리고 추가 목적들, 특징들, 양상들 및 이점들은 첨부한 도면들의 다음의 상세한 설명에 의해 더 잘 이해될 것이다.
[0051] 도 1은 3D-씬의 캡처된 2D 이미지에서의 소실점들에 대한 라인들의 컨버전스를 도시하는 도면이다.
[0052] 도 2는 모바일 디바이스에 대한 예시적 동작 환경의 개략도이다.
[0053] 도 3은 모바일 디바이스의 블록도이다.
[0054] 도 4는 이미지에서의 소실점들을 결정하기 위한 예시적 프로시저의 흐름도이다.
[0055] 도 5는 결정된 하나 또는 둘 이상의 소실점들에 기초하여 센서 교정을 위한 예시적 프로시저의 흐름도이다.
[0056] 도 6은 디바이스(이를테면, 모바일 디바이스)를 휴대하는 사용자가 로케이팅될 수 있는 복수의 통로들(corridors)/복도들(hallways)을 도시하는 예시적 맵의 도면이다.
[0057] 도 7은 사용자가 자신이 들고 있는 모바일 디바이스를 정렬하는 것을 가능하게 하기 위해 십자선 가이드(cross-hair guide)의 예가 제시되는 이미지이다.
[0058] 도 8은 모바일 디바이스의 위치를 추정하기 위한 예시적 프로시저의 흐름도이다.
[0059] 도 9는 예시적 컴퓨팅 시스템의 개략도이다.
[0060] 도 10a는 단위구와 이미지 평면에 놓인 라인들 사이의 예시적 관계를 예시하는 도면이다.
[0061] 도 10b는 단위구와 이미지 평면에 놓인 라인들 사이의 또 다른 예시적 관계를 예시하는 도면이다.
[0062] 적어도 하나의 센서(예를 들어, 자이로스코프, 자력계 등과 같은 공간/방향/관성 센서)를 또한 포함하는 디바이스의 이미지 캡처링 유닛(이를테면, 카메라)에 의해 씬의 이미지를 캡처하는 단계, 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 디바이스의 상대적 디바이스 방향(예를 들어, 회전 행렬로 표현됨)을 결정하는 단계, 및 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여 적어도 하나의 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하는 단계를 포함하는 방법을 포함하는 시스템들, 장치, 디바이스들, 방법들, 컴퓨터 프로그램 물건들 및 다른 구현들이 본원에 설명된다.
[0063] 예를 들어, 그리고 3D 씬의 대응하는 2D 캡처된 이미지(100)에서의 공통 소실점으로의 라인들(110-118)(3D 씬에서 평행함)의 컨버전스를 도시하는 도 1을 참조하여, (맵으로부터 또는 지오-레퍼런스(geo-reference) 정보로부터) 방향이 공지된 복도에 사용자가 서 있는 상황을 고려해보기로 하자. 복도의 중간에 서 있는 사용자가 대략 복도의 세로 축을 따라 모바일 디바이스의 카메라를 포인팅(point)하면, 에지 라인들의 공통 소실점(120)은 복도의 방향(direction)을 정의한다. 공통 소실점(120)의 위치에 기초하여, 카메라의 상대적 방향(예를 들어, 실세계(real-world) 좌표들과 카메라 좌표 시스템 사이의 관계를 설정하는 회전 행렬에 관하여 표현됨)이 결정될 수 있다. 일부 실시예들에서, 카메라가 적절히 정렬될 때, 이미지의 중심으로부터의 소실점의 편차는 카메라 방향을 추정하는데 이용될 수 있다. 일부 실시예들에서, 상대적 방향을 결정하기 위해 이미지에서의 적어도 2개의 소실점들이 요구될 수 있다. 예를 들어, 결정된 상대적 방향 및/또는 사용자가 로케이팅되는 복도 또는 또 다른 지리적 특징의 공지된 방향에 기초하여 카메라 방향이 공지된다면, 적어도 하나의 방향 센서에 의해 수행되는 독립적 방향 측정들의 정확성(correctness)은 이러한 독립적 측정들을 결정된 디바이스 방향과 비교함으로써 결정될 수 있다. 따라서, 이미지에서의 소실점들은 센서(들)를 교정하는데 이용될 수 있다.
[0064] 도 2를 참조하면, 모바일 디바이스(208)에 대한 예시적 동작 환경(200)의 개략도가 도시된다. 모바일 디바이스(무선 디바이스 또는 이동국으로 또한 지칭됨)(208)는 실내 통신에 대한 WLAN, 펨토셀들, 블루투스 기반 트랜시버들, 다른 타입들의 실내 통신 네트워크 노드들, 광역 무선 네트워크 노드들, 위성 통신 시스템들 등과 같은, 근거리 네트워크 디바이스들(또는 노드들)을 포함하는 다수의 타입들의 다른 통신 시스템들/디바이스들과 동작 및 상호작용하도록 구성될 수 있고, 이로써, 모바일 디바이스(208)는 다양한 타입들의 통신 시스템들과 통신하기 위한 하나 또는 둘 이상의 인터페이스들을 포함할 수 있다. 본원에 이용되는 바와 같이, 모바일 디바이스(208)와 통신할 수 있는 통신 시스템/디바이스들은 액세스 포인트들(AP들)로 또한 지칭된다. 모바일 디바이스는 또한, 씬의 적어도 하나의 2D 캡처된 이미지에서의 적어도 하나의 소실점의 컴퓨테이션에 적어도 부분적으로 기초하여 자신의 상대적 방향을 결정함으로써, 자이로스코프, 자력계 등과 같은 하나 또는 둘 이상의 방향 센서들(공간 또는 관성 센서들로 또한 지칭됨)을 교정하도록 구성된다. 일부 변형예들에서, 디바이스의 절대적 방향은 디바이스의 이미지 캡처링 유닛에 의해 캡처된 3D 씬의 특정 특징들에 대해, 예를 들어, 미리 결정된 방향 값들을 유지하는 서버로부터, 이동국에 제공되는 미리 결정된 방향 값들에 기초하여 결정될 수 있다. 예를 들어, 디바이스가 실내 환경에 로케이팅될 때, 그 환경에서의 복도들의 미리 결정된 방향 값들은 디바이스의 절대적 방향을 결정하는데 이용될 수 있다. 아래에서 더 상세하게 설명될 것과 같이, 일부 실시예들에서, 방향 값들은 또한, 예를 들어, 디바이스(208)에 의해 겪은 방향의 변화에 대한 결정을 가능하게 하기 위해, (소실점들의 결정에 기초하여 컴퓨팅되는) 복수의 상대적 방향들로부터 결정될 수 있다.
[0065] 일부 변형예들에서, 모바일 디바이스는 디바이스의 카메라로부터 시각적으로 표시되는(visible) 씬의 캡처된 이미지에서의 소실점들의 결정에 기초하여 디바이스의 위치 결정을 가능하게 하도록 추가로 구성될 수 있다. 특히, 모바일 디바이스(208)는 (예를 들어, 디바이스 상에 저장된 맵 정보로부터 획득되거나, 원격 서버로부터 획득될 수 있는) 씬 방향 값과 연관된 씬의 이미지를 (예를 들어, 카메라와 같은 그것의 이미지 캡처링 유닛에 의해) 캡처할 수 있다. 디바이스는 캡처된 이미지의 씬에서의 적어도 하나의 소실점의 위치를 결정하고, 디바이스 상에 포함되는 방향 센서(예를 들어, 자이로스코프, 자력계 등)에 의해 수행되는 측정들에 기초하여 디바이스의 측정된 방향을 결정하도록 구성된다. 이러한 방향 센서(들)는, 교정되어, 이에 따라, 모바일 디바이스의 실질적으로 정확한 방향 측정들을 제공하는 것으로 가정된다. 따라서, 씬에 대응하는 영역을 포함하는 구역에서의 디바이스의 후보 포지션들은 씬에서의 적어도 하나의 소실점의 위치, 측정된 디바이스 방향 및 구역 내의 다수의 영역들(이를테면, 다수의 복도들)과 연관된 방향 데이터에 적어도 부분적으로 기초하여 결정될 수 있다.
[0066] 서술된 바와 같이, 동작 환경(200)은 하나 또는 둘 이상의 서로 다른 타입들의 무선 통신 시스템들 또는 노드들을 포함할 수 있다. 무선 액세스 포인트들(또는 WAP들)로 또한 지칭되는 이러한 노드들은, 예를 들어, WiFi 기지국들, 펨토 셀 트랜시버들, 블루투스 트랜시버들, 셀룰러 기지국들, WiMax 트랜시버들 등을 포함하는 LAN 및/또는 WAN 무선 트랜시버들을 포함할 수 있다. 따라서, 예를 들어, 그리고 도 2를 계속 참조하면, 동작 환경(200)은 모바일 디바이스(208)와의 무선 음성 및/또는 데이터 통신에 이용될 수 있는 LAN-WAP(Local Area Network Wireless Access Point)들(206a-e)을 포함할 수 있다. 일부 실시예들에서, LAN-WAP들(206a-e)은 또한, 예컨대, 예를 들어, 도착 시간(time of arrival) 기법들에 기초하는 삼변측량-기반 프로시저들의 구현을 통해, 포지션 데이터의 독립적 소스들로서 이용될 수 있다. LAN-WAP들(206a-e)은 빌딩들 내에서 동작하고 WWAN보다 더 작은 지리적 구역들 상에서 통신들을 수행할 수 있는 WLAN(Wireless Local Area Network)의 부분일 수 있다. 추가적으로, 일부 실시예들에서, LAN-WAP들(206a-e)은 또한, WWAN 네트워크의 부분인 피코 또는 펨토 셀들일 수 있다. 일부 실시예들에서, LAN-WAP들(206a-e)은, 예를 들어, WiFi 네트워크들(802.11x), 셀룰러 피코넷들 및/또는 펨토셀들, 블루투스 네트워크들 등의 부분일 수 있다. LAN-WAP들(206a-e)은 또한, 실내 포지셔닝 시스템의 부분을 형성할 수 있다. 다섯(5)개의 LAN-WAP 액세스 포인트들이 도 2에 도시되지만, 임의의 수의 이러한 LAN-WAP들이 이용될 수 있고, 일부 실시예들에서, 동작 환경(200)은 어떠한 LAN-WAP들의 액세스 포인트들도 포함하지 않을 수 있거나, 단일 LAN-WAP 액세스 포인트를 포함할 수 있다. 게다가, 도 2에 도시된 LAN-WAP들(206a-e) 각각은 이동가능한 노드일 수 있거나, 그렇지 않으면 재로케이팅될 수 있다.
[0067] 도 2에 추가로 도시된 바와 같이, 동작 환경(200)은 또한, 일부 실시예들에서, 무선 음성 및/또는 데이터 통신에 이용될 수 있는 복수의 하나 또는 둘 이상의 타입들의 WAN-WAP(Wide Area Network Wireless Access Point)들(204a-c)을 포함할 수 있으며, 또한 모바일 디바이스(208)가 자신의 포지션/위치를 결정할 수 있게 하는 독립적 정보의 또 다른 소스로서 역할을 할 수 있다. WAN-WAP들(204a-c)은, 셀룰러 기지국들을 포함할 수 있는 WWAN(wide area wireless network) 및/또는 예를 들어, WiMAX(예를 들어, 802.16), 펨토셀 트랜시버들 등과 같은 다른 광역 무선 시스템들의 부분일 수 있다. WWAN은 도 2에 도시되지 않은 다른 공지된 네트워크 컴포넌트들을 포함할 수 있다. 전형적으로, WWAN 내의 각각의 WAN-WAP들(204a-204c)은 고정 포지션들로부터 동작하고, 대도시 및/또는 지방 영역들 상에서 네트워크 커버리지를 제공할 수 있다. 세(3)개의 WAN-WAP들이 도 2에 도시되지만, 임의의 수의 이러한 WAN-WAP들이 이용될 수 있다. 일부 실시예들에서, 동작 환경(200)은 어떠한 WAN-WAP들도 포함하지 않을 수 있거나, 단일 WAN-WAP를 포함할 수 있다. 추가적으로, 도 2에 도시된 WAN-WAP들(204a-c) 각각은 이동가능한 노드일 수 있거나, 그렇지 않으면 재로케이팅될 수 있다.
[0068] 따라서, (데이터를 교환하기 위해, 디바이스(208)의 포지션 결정을 인에이블하는 식) 모바일 디바이스(208)로의 그리고 모바일 디바이스(208)로부터의 통신은 또한, 일부 실시예들에서, WWAN(wide area wireless network), WLAN(wireless local area network), WPAN(wireless personal area network) 등과 같은 다양한 무선 통신 네트워크들을 이용하여 구현될 수 있다. "네트워크" 및 "시스템"이라는 용어는 상호교환가능하게 이용될 수 있다. WWAN은 CDMA(Code Division Multiple Access) 네트워크, TDMA(Time Division Multiple Access) 네트워크, FDMA(Frequency Division Multiple Access) 네트워크, OFDMA(Orthogonal Frequency Division Multiple Access) 네트워크, SC-FDMA(Single-Carrier Frequency Division Multiple Access) 네트워크, WiMax(IEEE 802.16) 등일 수 있다. CDMA 네트워크는 cdma2000, W-CDMA(Wideband-CDMA) 등과 같은 하나 또는 둘 이상의 RAT(radio access technology)들을 구현할 수 있다. cdma2000은 IS-95, IS-2000 및/또는 IS-856 표준들을 포함한다. TDMA 네트워크는 GSM(Global System for Mobile Communications), D-AMPS(Digital Advanced Mobile Phone System), 또는 일부 다른 RAT를 구현할 수 있다. GSM 및 W-CDMA는 "3GPP(3rd Generation Partnership Project)"로 명명된 컨소시엄으로부터의 문서들에 설명되어 있다. cdma2000은 "3GPP2(3rd Generation Partnership Project 2)"로 명명된 컨소시엄으로부터의 문서들에 설명되어 있다. 3GPP 및 3GPP2 문서들은 공개적으로 입수가능하다. WLAN은 또한 IEEE 802.11x 네트워크일 수 있고, WPAN은 블루투스 네트워크, IEEE 802.15x, 또는 일부 다른 타입의 네트워크일 수 있다. 본원에 설명되는 기법들은 또한, WWAN, WLAN 및/또는 WPAN의 임의의 결합에 대해 이용될 수 있다.
[0069] WLAN을 이용하여 포지션을 유도할 때, 모바일 디바이스(208)는 선택적으로 포지셔닝 서버(210) 및 네트워크(212)의 보조를 받아, 도착 시간 기법들을 이용할 수 있다. 따라서, 모바일 디바이스(208)는 서로 다른 타입들의 WAP들(예를 들어, 셀룰러 기지국들, WiMax 기지국들 등)을 포함할 수 있는 WAN-WAP들(204a-c)을 이용하여 포지션 정보를 결정하도록 구성될 수 있다. 이러한 동작 환경에서, 모바일 디바이스(208)는 정확성을 향상시키기 위해 서로 다른 타입들의 WAN-WAP로부터의 신호들을 이용할 수 있다. 포지셔닝 서버(210)는 네트워크(212)를 통해 모바일 디바이스(208)와 통신할 수 있다.
[0070] 일부 실시예들에서, 그리고 도 2에 추가로 도시된 바와 같이, 모바일 디바이스(208)는 또한 적어도, 모바일 디바이스(208)에 대한 포지션 정보의 독립적 소스로서 이용될 수 있는 SPS(Satellite Positioning System)(202a-b)로부터 정보를 수신하도록 구성될 수 있다. 따라서, 모바일 디바이스(208)는 SPS 위성들로부터 지오-위치(geo-location) 정보를 유도하기 위해 신호들을 수신하도록 특정하게 설계된 하나 또는 둘 이상의 전용 SPS 수신기들을 포함한다. 따라서, 일부 실시예들에서, 모바일 디바이스(208)는 SPS 위성들(202a-b), WAN-WAP들(204a-c) 및/또는 LAN-WAP들(206a-e) 중 임의의 하나 또는 이들의 결합과 통신할 수 있다. 일부 변형예들에서, 전술된 시스템들 각각은 서로 다른 기법들을 이용하여 모바일 디바이스(208)에 대한 포지션의 독립적 정보 추정치를 제공할 수 있다. 일부 실시예들에서, 모바일 디바이스는 포지션 데이터의 정확성을 향상시키기 위해, 서로 다른 타입들의 액세스 포인트들 각각으로부터 유도된 솔루션들을 결합할 수 있다.
[0071] 모바일 디바이스(208)가 위성 신호들을 수신할 수 있는 실시예들에서, 모바일 디바이스는 SPS 위성들(202a-b)에 의해 송신된 복수의 신호들로부터 포지션 데이터를 추출하는 SPS에 대해 사용하기 위해 특정하게 구현되는 수신기를 이용할 수 있다. 송신된 위성 신호들은, 예를 들어, 칩들의 세트 번호에 대한 반복적 PN(pseudo-random noise) 코드를 이용하여 마킹되는 신호들을 포함할 수 있으며, 그라운드 기반 제어 스테이션들, 사용자 장비 및/또는 우주선들 상에 로케이팅될 수 있다. 위성 포지셔닝 시스템들은, GPS(Global Positioning System), Galileo, Glonass, Compass, 일본의 QZSS(Quasi-Zenith Satellite System), 인도의 IRNSS(Indian Regional Navigational Satellite System), 중국의 Beidou 등 및/또는 하나 또는 둘 이상의 글로벌 그리고/또는 지역적 네비게이션 위성 시스템들과 연관되거나, 그렇지 않으면 이들에 대해 이용하기 위해 인에이블될 수 있는 다양한 증강(augmentation) 시스템들(예를 들어, SBAS(Satellite Based Augmentation System))과 같은 이러한 시스템들을 포함할 수 있다. 제한이 아니라 예로서, SBAS는, 예를 들어, WAAS(Wide Area Augmentation System), EGNOS(European Geostationary Navigation Overlay Service), MSAS(Multi-functional Satellite Augmentation System), GAGAN(GPS Aided Geo Augmented Navigation 또는 GPS and Geo Augmented Navigation System) 등과 같은, 무결성 정보, 미분 보정들 등을 제공하는 증강 시스템(들)을 포함할 수 있다.
[0072] 본원에 이용되는 바와 같이, 모바일 디바이스 또는 스테이션(MS)은 셀룰러 또는 다른 무선 통신 디바이스, PCS(personal communication system) 디바이스, PND(personal navigation device), PIM(Personal Information Manager), PDA(Personal Digital Assistant), 랩탑 또는 네비게이션 포지셔닝 신호들과 같은 무선 통신 및/또는 네비게이션 신호들을 수신할 수 있는 다른 적합한 모바일 디바이스와 같은 디바이스를 지칭한다. "이동국"(또는 "모바일 디바이스" 또는 "무선 디바이스")이라는 용어는 또한 - 위성 신호 수신, 보조 데이터 수신 및/또는 포지션-관련 프로세싱이 디바이스에서 발생하는지 아니면 PND(personal navigation device)에서 발생하는지에 관계없이 - 이를테면, 단거리 무선, 적외선, 유선 연결 또는 다른 연결에 의해 PND와 통신하는 디바이스들을 포함하는 것으로 의도된다. 또한, "이동국"은, 이를테면, 인터넷, WiFi 또는 다른 네트워크를 통해, 그리고 위성 신호 수신, 보조 데이터 수신 및/또는 포지션-관련 프로세싱이 디바이스에서 발생하는지, 서버에서 발생하는지 아니면 네트워크와 연관된 다른 디바이스에서 발생하는지에 관계없이, 서버와 통신할 수 있는, 무선 통신 디바이스들, 컴퓨터들, 랩탑들, 태블릿 디바이스들 등을 포함하는 모든 디바이스들을 포함하는 것으로 의도된다. 위의 것들의 임의의 동작가능한 결합이 또한 "이동국"으로서 고려된다. 일부 실시예들에서, 소실점들을 결정하고, 결정된 소실점들에 기초하여 센서들을 교정하는 식의 프로시저들을 포함하는 본원에 설명되는 프로시저들은 무선 기능(예를 들어, 다른 원격 디바이스들과 무선으로 통신하기 위한 기능)을 가지지 않는 디바이스들에 의해 수행될 수 있다.
[0073] 특정 양상들에 따라, 본원에 제시되는 기법들/프로시저들은 SPS를 위한 글로벌 시스템들(예를 들어, GNSS)에 제한되지 않는다. 예를 들어, 본원에 제공되는 기법들은, 예를 들어, 일본의 QZSS(Quasi-Zenith Satellite System), 인도의 IRNSS(Indian Regional Navigational Satellite System), 중국의 Beidou 등 및/또는 하나 또는 둘 이상의 글로벌 그리고/또는 지역적 네비게이션 위성 시스템들과 연관되거나, 그렇지 않으면 이들에 대해 이용하기 위해 인에이블될 수 있는 다양한 증강 시스템들(예를 들어, SBAS(Satellite Based Augmentation System))과 같은 다양한 지역적 시스템들에 적용되거나, 그렇지 않으면 이들에서 이용하기 위해 인에이블될 수 있다. 제한이 아닌 예로서, SBAS는, 예를 들어, WAAS(Wide Area Augmentation System), EGNOS(European Geostationary Navigation Overlay Service), MSAS(Multi-functional Satellite Augmentation System), GAGAN(GPS Aided Geo Augmented Navigation 또는 GPS and Geo Augmented Navigation System) 등과 같은, 무결성 정보, 미분 보정들 등을 제공하는 증강 시스템(들)을 포함할 수 있다. 따라서, 본원에 이용되는 바와 같이, SPS는 하나 또는 둘 이상의 글로벌 그리고/또는 지역적 네비게이션 위성 시스템들 및/또는 증강 시스템들의 임의의 결합을 포함할 수 있고, SPS 신호들은 SPS, SPS-유사(SPS-like) 그리고/또는 이러한 하나 또는 둘 이상의 SPS와 연관된 다른 신호들을 포함할 수 있다.
[0074] 이제, 도 3을 참조하면, 도 2와 관련하여 설명된 디바이스(208)와 유사할 수 있는 모바일 디바이스(300)의 블록도가 도시된다. 도 3에 예시된 바와 같이, 모바일 디바이스(300)는, 예를 들어, 자력계, 가속도계(예를 들어, 3D 가속도계), 자이로스코프들 등일 수 있는 적어도 하나의 방향 센서(공간 또는 관성 센서로 또한 지칭됨)(320)를 포함할 수 있다. 오직 하나의 방향 센서만이 도시되지만, 추가 센서들이 디바이스(300)에 포함될 수 있다. 이동국은 디스플레이 또는 스크린과 같은 사용자 인터페이스 디바이스 상에 디스플레이될 수 있는 스틸 이미지들 또는 동영상들(예를 들어, 비디오 시퀀스)을 생성할 수 있는, 카메라(330)(예를 들어, CCD(charge-coupled device)-타입 카메라, CMOS-타입 카메라 등)과 같은 이미지 캡처링 디바이스를 더 포함한다.
[0075] 모바일 디바이스(300)는 안테나(344)를 통해 SPS(satellite positioning system) 위성들(이를테면, 도 2의 위성들(202a-b))로부터 신호들을 수신하는 SPS 수신기와 같은 수신기(340)를 포함할 수 있다. 모바일 디바이스(300)는 또한, 예를 들어, 하나 또는 둘 이상의 무선 액세스 포인트들(이를테면, LAN-WAP들(206a-e) 및/또는 WAN-WAP들(204a-c) 중 임의의 것)으로/로부터 또는 무선/셀룰러 통신을 위해 구성되는 임의의 다른 타입의 네트워크 노드와의 통신들을 전송 및 수신하도록 구성되는 셀룰러 모뎀 또는 무선 네트워크 라디오 수신기/송신기일 수 있는 무선 트랜시버(335)를 포함한다. 무선 트랜시버로 그리고 무선 트랜시버로부터의 통신은 전용 안테나(336)를 통해, 안테나(344)를 통해 또는 일부 다른 안테나를 통해 인에이블될 수 있다. 원한다면, 모바일 디바이스(300)는 셀룰러 모뎀 및 무선 네트워크 라디오 수신기들/송신기들로서 역할을 하는 별개의 트랜시버들을 포함할 수 있다.
[0076] 적어도 하나의 방향 센서(320), 카메라(330), SPS 수신기(340) 및 무선 트랜시버(335)는 모바일 디바이스 제어기(350)에 연결되며, 모바일 디바이스 제어기(350)와 통신한다. 제어기(350)는 적어도 하나의 방향 센서(320), 카메라(330), SPS 수신기(340) 및/또는 무선 트랜시버(335)로부터의 데이터를 수용 및 프로세싱하고, 그리고 디바이스(300)의 다양한 온-보드 유닛들/모듈들의 동작뿐만 아니라 모바일 디바이스(300)의 일반적 동작을 제어하도록 구성된다. 예를 들어, 제어기(350)는 카메라(330)에 의해 캡처된 이미지들을 프로세싱하고, 캡처된 이미지에서의 적어도 하나의 소실점(들)(예를 들어, 둘 또는 셋 이상의 소실점들)을 결정하고, 결정된 적어도 하나의 소실점에 적어도 부분적으로 기초하여 디바이스(300)의 상대적 방향을 결정하고 그리고/또는 디바이스(300)의 결정된 상대적 방향에 적어도 부분적으로 기초하여 적어도 하나의 센서(320)를 교정하도록 구성된다. 제어기(350)는, 일부 구현들에서, 프로세서(352) 및 연관된 메모리(354), 클럭(353), 하드웨어(356), 소프트웨어(358) 및 펌웨어(357)를 포함할 수 있다. 이동국 제어기(350)는, 일부 실시예들에서, 명료성을 위해 프로세서(352)로부터 개별적으로 예시되지만 프로세서(352)의 부분을 구성할 수 있는 전용 이미지 프로세싱 엔진(355)을 더 포함할 수 있다. 이미지 프로세싱 엔진(355)은 식별된 라인들이 컨버징하는 소실점들을 식별/결정하도록, 카메라(330)에 의해 캡처된 이미지에서, 예를 들어, 다양한 특징들의 라인들을 식별하기 위해 이미지들을 프로세싱하도록 구성된다. 결정된 소실점들에 기초하여, (예를 들어, 복도와 같은 일부 지리적 특징에 대해 상대적인) 디바이스(300)의 상대적 방향이 결정될 수 있으며, 이를 이용하여, 아래에 더 상세하게 설명될 바와 같이, 모바일 디바이스(300) 상에 피팅된 방향 센서들은 교정될 수 있다.
[0077] 예를 들어, 도 3의 카메라(330)에 의해 캡처된 이미지에서의 소실점(들)을 결정하는 것은 도 4에 도시된 것과 같은 프로시저에 기초하여 수행될 수 있다. 도 4의 흐름도에 예시된 예시적 소실점 결정 프로시저(400)는, 예를 들어, 모바일 디바이스(300)의 카메라(330)에 의해 캡처된 이미지에서 에지 라인들을 검출 및 추출(410)하는 것을 포함한다. 예를 들어, 일부 구현들에서, 에지 라인들을 검출 및 추출하는 것은, 그 다음에 라인 세그먼트들로 연결 및 피팅되는 에지 픽셀들을 검출하기 위해, 예를 들어, 컨볼루션 커널(convolution kernel)(이테면, Sobel 필터링, Canny, Canny-Deriche, 미분, Prewitt, Roberts Cross 또는 다른 적절한 오퍼레이터들)과 같은 에지 또는 라인 검출기 오퍼레이터들을 적용시킴으로써 수행될 수 있다. Hough 변환과 같은 라인 피팅 기법들에 기초하는 프로시저들을 포함하는, 이미지에서 라인들을 식별하기 위한 다른 프로시저들/기법이 또한 이용될 수 있다. 이미지로부터 추출된 라인 세그먼트들의 예들은 도 1에 도시된 이미지(100)로부터 추출되었던 라인들(110-118) 및 라인들(130-136)을 포함한다.
[0078] 캡처된 이미지에 존재하는 에지 라인들을 결정하면, 세트 수 M개 쌍들의 라인들(여기서, M은 소실점들을 결정하기 위해 원하는 정확도에 기초하여 조정될 수 있는 미리 결정된 수일 수 있음)이 선택(420)되고, (또한 420에서) 각각의 이러한 쌍의 라인들에 대한 교차점이 결정/컴퓨팅된다. 선택된 M개 쌍의 라인들 각각에 대한 교차점은 소실점 가설을 표현할 수 있다. 소실점들의 결정된 가설들은, 예를 들어, 소실점들의 좌표들의 분포에 기초하여 클러스터링(430)된다. 일부 실시예들(예를 들어, 디바이스의 상대적 방향을 결정하기 위해 하나의 소실점이 추출될 수 있는 실시예들)에서, 하나 또는 둘 이상의 표준들을 충족시키는 하나 또는 둘 이상의 소실점들의 가설들이 식별(440)되고, 식별된 클러스터의 중심에 있는(또는 식별된 클러스터의 거의 중심에 있는) 점은 캡처된 이미지의 소실점이 되도록 간주/추정(450)된다. 소실점들을 식별하기 위해 적용될 수 있는 하나 또는 둘 이상의 기준들은 소실점들의 클러스터에서의 점들의 수(예를 들어, 가장 많은 수의 점들을 가지는 클러스터에 대해, 그것의 점들 중 하나, 예를 들어, 가장 중심점이 식별된 소실점으로서 선택될 수 있음), 특정 위치, 예를 들어, 이미지의 중심에 대한 소실점 가설들의 클러스터들의 근접도 등과 같은 이러한 기준들을 포함할 수 있다. 소실점들을 식별하기 위한 다른 프로시저들/기법들이 또한 이용될 수 있다. 일부 실시예들에서, 둘 또는 셋 이상의 소실점들이 선택될 수 있으며, 이들 중 하나는 이미지의 중심과 가장 가까운 소실점을 포함할 수 있다.
[0079] 도 3으로 다시 터닝하면, 프로세서(352)는 하나 또는 둘 이상의 마이크로프로세서들, 임베디드 프로세서들, 제어기들, ASIC(application specific integrated circuit)들, DSP(digital signal processor)들 등을 포함할 수 있지만, 이들을 반드시 포함할 필요는 없을 수 있다. 본원에 이용되는 바와 같이, "메모리"라는 용어는 이동국과 연관된 롱 텀, 쇼트 텀 또는 다른 메모리를 포함하는 임의의 타입의 비-일시적 컴퓨터 저장 매체를 지칭하며, 임의의 특정 타입의 메모리 또는 임의의 특정 수의 메모리들, 또는 메모리가 저장되는 임의의 특정 타입의 매체들에 제한되지 않을 것이다. 프로세서(352)와 유사할 수 있는 프로세서 또는 컴퓨테이션 시스템의 예시적 실시예에 관한 추가 세부사항들이 도 9와 관련하여 아래에서 제공된다.
[0080] 모바일 디바이스(300)는 또한, 제어기(350)와 통신하는 사용자 인터페이스(360)를 포함하는데, 예를 들어, 제어기(350)는 데이터를 수용하고, 사용자 인터페이스(360)를 제어할 수 있다. 사용자 인터페이스(360)는 카메라(330)에 의해 생성된 이미지들을 포함하는 이미지들을 디스플레이할 수 있는 디스플레이(362)를 포함한다. 디스플레이(362)는 제어 메뉴들 및 포지션 정보를 추가로 디스플레이할 수 있다. 사용자 인터페이스(360)는, 예를 들어, 키패드(364), 터치 스크린(미도시), 마이크로폰 및 스피커(미도시), 또는 사용자가 정보를 이동국(300)에 입력할 수 있게 하는 다른 입력 디바이스와 같은 입력 인터페이스 디바이스들을 더 포함한다.
방향 센서들의 교정
[0081] 서술된 바와 같이, 모바일 디바이스(이를테면, 모바일 디바이스(300))의 카메라에 의해 캡처된 이미지에서의 적어도 하나의 소실점(및 일반적으로, 둘 또는 셋 이상의 소실점들)의 결정을 통해, 모바일 디바이스의 모션 센서들/방향에 대한 교정 동작들이 수행될 수 있다. 따라서, 도 5를 참조하면, 결정된 소실점들에 기초하는 센서 교정에 대한 예시적 프로시저(500)의 흐름도가 도시된다. 프로시저(500)는 디바이스의 사용자가 이미지 캡처링 유닛(예를 들어, 도 3과 관련하여 설명된 카메라(330)와 같은 카메라)에 의해 로케이팅되는 지리적 영역의 씬의 이미지를 캡처(510)하는 것을 포함한다. 씬을 캡처하는 것은 카메라를 활성화시킬 수 있는, 디바이스를 휴대하는 사용자의 재량(discretion)으로 수행될 수 있거나, 또는 그것은 디바이스의 하나 또는 둘 이상의 온-보드 방향 센서들이, 예를 들어, 일부 미리 결정된 스케줄에 기초하여 또는 하나 또는 둘 이상의 방향 센서의 성능이 센서(들)가 교정을 요구하는 점으로 저하됨을 표시하는 측정에 기초하는 일부 성능에 기초하여 교정될 필요가 있다는 결정에 응답하여 자동으로 시작될 수 있다. 교정 프로시저의 자동 시작은, 교정 프로시저를 위해 사용자의 도움이 요구되는 경우, (예를 들어, 사용자가 카메라를 들어올리고, 씬을 노출하기 위해 카메라를 활성화시키도록 사용자에게 요청하는) 명령들/지시들을 사용자에게 전송하는 것을 포함할 수 있다. 일부 실시예들에서, 스크린 디스플레이(이를테면, 도 3의 디바이스(300)의 디스플레이(362))는 사용자가 복도에서(또는 디바이스 방향의 결정을 돕기 위한, 씬에서의 일부 다른 두드러진 특징에서) 카메라를 포인팅하는 것을 가능하게 하기 위해 디바이스의 카메라(이러한 카메라는 디스플레이가 로케이팅되는 디바이스 반대측에 포지셔닝될 수 있음)에 의해 촬영되는 이미지를 제시할 수 있다. 복도의 이미지가 촬영되면, 이미지에서 결정된 소실점들은, 일부 실시예들에서, 디바이스의 디스플레이 상에 디스플레이된 캡처된 이미지(예를 들어, 그 이미지에서의 결정된 소실점들에 대응하는 디스플레이된 이미지 상의 위치에서 별 또는 도트와 같은 슈퍼임포징(superimposing) 특징들)에서 마킹/식별될 수 있다. 일부 실시예들에서, 디바이스의 디스플레이는 또한, 사용자가 로케이팅되는 영역의 맵을 제시할 수 있다. 예를 들어, 사용자가 로케이팅되는 영역의 맵은 다수의 디스플레이 표면을 점유할 수 있는 반면, 카메라에 의해 캡처된 이미지는 디스플레이 표면의 나머지 영역 상에(예를 들어, 디스플레이 표면의 한 코너에서의 작은 직사각형 영역에서) 제시될 수 있다. 대안적으로, 카메라에 의해 캡처된 이미지가 디스플레이의 다수의 표면 상에 제시될 수 있고, 사용자가 로케이팅되는 영역의 맵은 디스플레이 표면의 더 작은 부분을 점유한다(예를 들어, 디스플레이 표면의 코너들 중 하나에 있다). 일부 실시예들에서, 모바일 디바이스는, 따라서 씬의 다수의 이미지들 ― 이로부터 다수의 소실점들이 결정될 수 있음 ― 을 부수적으로 촬영하기 위한 다수의 카메라들(예를 들어, 디바이스의 뒤에 있는 카메라, 디바이스의 면(side)들 중 하나 상에 로케이팅된 또 다른 카메라 등)을 포함할 수 있다. 단일 모바일 디바이스에 포함되는 다수의 카메라들의 이용은 이미지(들)가 촬영되는 씬에 대해 상대적인 카메라의 방향의 향상된 추정을 인에이블할 수 있다.
[0082] 도 5에 추가로 도시된 바와 같이, 디바이스의 상대적 방향(예를 들어, 씬에 대해 상대적인 방향)은 씬의 캡처된 이미지에서의 적어도 하나의(그리고 일반적으로 적어도 2개의) 소실점의 결정된 위치에 적어도 부분적으로 기초하여 결정(520)된다. 서술된 바와 같이, 일부 구현들에서, 도 4의 프로시저(400)와 같은 소실점 결정 프로시저는 씬의 캡처된 이미지에서의 소실점을 컴퓨팅하는데 이용될 수 있다. 따라서, 예를 들어, 이러한 구현들에서, 캡처된 이미지에서의 에지 라인들이 검출되고, 다수의 쌍들의 라인들의 교차점들의 클러스터들이 결정되며, 교차점들의 이러한 클러스터들 중 하나 또는 둘 이상의 클러스터들이 (예를 들어, 클러스터에서의 교차점들의 수, 캡처된 이미지의 중심에 대한 클러스터의 근접도 등과 같은 하나 또는 둘 이상의 기준들에 기초하여) 선택된다. 소실점(들)의 위치에 기초하여, 씬의 이미지(및 이에 따른, 모바일 디바이스의 상대적 방향)를 캡처한 카메라의 상대적 방향이 설정된다. 예를 들어, 그리고 도 1을 다시 참조하여, 일부 실시예들에서, 라인들(110-118)의 교차로부터 결정된 소실점(120)의 위치에 기초하여, 이미지의 중심으로부터의 소실점(120)의 위치의 편차는 카메라가 씬에 대해 상대적으로 어떻게 포지셔닝되는지에 대한 결정을 가능하게 한다. 도 1의 예에서, 하나의 소실점은 이미지의 중심 위에 그리고 우측에(예를 들어, 이미지의 중심으로부터 약 20°각도에) 포지셔닝되고, 수직 라인들은 (무한 소실점에 대응하여) 거의 평행이다. 이미지의 중심으로부터의 소실점의 위치의 컴퓨팅되는 편차는 디바이스의 이미지 캡처링 유닛이 이미지의 중심에 대해 상대적인 좌측 방향으로 약간 회전될 수 있음을 표시한다. 일반적으로, 상대적 방향은 둘 또는 셋 이상의 소실점들이 검출될 때 이미지의 중심으로부터의 소실점의 편차로부터 결정될 수 있다.
[0083] 일부 구현들에서, 2개의 소실점들이 캡처된 이미지에서 식별될 때, 제 3 소실점은, 예컨대, 예를 들어, 2개의 소실점들 상에서 외적 연산들(cross-product operations)(벡터들로 표현됨)을 수행함으로써, 2개의 식별된 소실점에 직교하는 소실점 벡터를 결정하는 것에 기초하여 추정될 수 있다. 3개의 소실점들(즉, 캡처된 이미지로부터 결정된 2개, 및 예를 들어, 첫 번째 2개의 소실점들의 외적으로서 결정된 세 번째 소실점)에 기초하여, 회전 행렬이 결정되고, 이로부터 카메라의 이미지 평면 대 세계 좌표 시스템 사이의 회전 각이 유도된다(그리고 따라서, 씬에 대해 상대적인, 디바이스의 방향의 결정을 인에이블함). 예를 들어, 다음의 프로시저는 핀-홀 카메라에 대한 회전 행렬 R의 결정을 예시한다.
[0084] 특히, 카메라가 본질적으로 교정될 때(예를 들어, 카메라의 초점 거리(focal length) 및 주점(principal point)들과 같은 카메라의 시각적 속성들과 연관된 행렬이 공지됨), 이미지에서의 라인 세그먼트들은 카메라의 퍼스펙티브 중심(perspective center)을 중심으로 단위-반경 구(unit-radius sphere) 상에 놓인 소위 "큰 원들"로서 표현될 수 있다(즉, 캡처된 이미지에 나타난 라인 세그먼트들이 라인 세그먼트들 및 퍼스펙티브 중심을 통과하는 평면들과 단위구의 교차로서 큰 원들을 정의함). 예를 들어, 단위 구(1010)와 이미지 평면(1020) 사이의 관계의 도면을 도시하는 도 10a를 참조하면, 라인 세그먼트(1022)는 큰 원(1012)과 연관되고, 라인 세그먼트(1024)는 큰 원(1014)과 연관된다. 도 10a에 추가로 도시된 바와 같이, 라인들(1022 및 1024)은 점(1026)에서 교차한다. 이 소실점은 구(1010) 상의 단위 벡터(1016)에 대응한다(점(1016)은 또한 2개의 큰 원들(1012 및 1014)의 교차에 대응함). 이 단위 구는 보통, "가우시안 구"로 지칭된다. 큰 원들은 라인 세그먼트 및 카메라의 퍼스펙티브 중심을 통과하는 (모멘트) 평면과 가우시안 구를 교차함으로써 검출될 수 있다.
[0085] 이미지로부터 추출된 라인 세그먼트들(예를 들어, 도 1의 라인들(110-118))이 평행하지 않는 상황에서, 라인 세그먼트들은 이미지 평면 상에서 서로 교차한다. 이 교차의 (동종) 좌표는
Figure 112015045302600-pct00001
로 표현될 수 있으며, 여기서, u 및 v는 이미지 평면 상의 소실점의 유한 좌표들이다. 그 소실점의 단위 길이 벡터는:
Figure 112015045302600-pct00002
에 따라 결정될 수 있다.
[0086] 3D 평행 라인들이 평행 라인들로서 2D 이미지 평면에 나타난 상황들에서(도 10b에 도시된 라인들(1030, 1032 및 1034) 또는 도 1의 예에 나타난 라인들(130, 132, 134 및 136) 중 임의의 것에 대한 경우에 따라), 이 평행 라인 세그먼트들은 이미지 평면 상에서 서로 교차하지 않을 것이다. 이러한 경우, 소실점은 무한한 것으로 고려된다. 그러나, 무한 이미지 평면 소실점들에 대응하는, 가우시안 구 상의 소실점은 이 평행 라인 세그먼트들에 대응하는, 큰 원들의 교차에서 획득될 수 있다. 그 경우, 이미지 평면에서 평행 라인들에 대응하는, 큰 원들의 교차로부터 결정된 단위 벡터는 이미지 평면에서 평행 라인 세그먼트들의 방향과 평행한 방향으로 연장된다. 이 관측에 기초하여, 평행 2D 라인 세그먼트들에 대응하는, 큰 원들의 교차에서 획득된 소실점(이것의 대응하는 소실점은 무한임)에 대한 단위-놈(unit-norm) 벡터는:
Figure 112015045302600-pct00003

로서 컴퓨팅될 수 있으며, 여기서, θ는 이미지 평면(1020) 상의 수평축과 라인(1034) 사이의 각(1040)이다.
[0087] 회전 행렬을 결정하기 위해, 적어도 2개의 소실점들이 캡처된 이미지로부터 결정된 상황을 가정하기로 하고, 그것을, (복도 벽들에 대응하는 라인들에 대한 경우에서와 같이) 일부 소실점에 대해 컨버징하는 이미지 내의 라인 세그먼트들, 또는 컨버징하지 않고 이에 따라 무한 소실점들에 대응하는 평행 라인 세그먼트(예를 들어, 이미지에 나타난 도어(door)들의 라인들 또는 다른 구조들과 같은 수직 라인들)에 대응하는 소실점들이라고 하자. 주변 구조(surrounding structure)의 두 주 방향들(principal directions)(예를 들어, x 및 y 방향들)에 대응하는 2개의 소실점들 p1 및 p2가 검출되면, 주변 구조와 카메라의 좌표 프레임들 사이의 회전 행렬 R이 다음과 같이 (방향 할당으로 인하여, 어느 정도의 모호성(ambiguity)까지) 컴퓨팅될 수 있다:
Figure 112015045302600-pct00004

[0088] 서술된 바와 같이,
Figure 112015045302600-pct00005
라는 용어는 적어도 2개의 소실점들의 또 다른 하나(예를 들어, p2)와의 적어도 2개의 소실점 중 하나(예를 들어, p1)의 외적에 대응한다. 위의 행렬 R이 소실점 검출의 부정확성들로 인하여 직교하지 않으면, 클로짓(closet) 직교 행렬이 QR 분해(decomposition)를 이용하여 획득될 수 있다. 프레임 할당 모호성이 발생하는데, 그 이유는 p1 및 p2가 x 방향, y 방향 또는 z 방향에 대응하면, 그것이 공지되지 않을 수 있기 때문이다. 이 모호성은 몇몇 개별 솔루션들을 초래한다. 이들 사이의 정확한 솔루션은 (예를 들어, 자력계로부터의) 방향의 어림 추정치(rough estimate)가 존재한다면, 쉽게 선택될 수 있다. 그렇지 않으면, 실행가능한(viable) 솔루션들에 대응하는 다수의 가설들은 이러한 가설들 중 하나를 선택하도록 분석될 수 있다.
[0089] 따라서, 결과적 회전 행렬 R은 (즉, 씬의 이미지가 촬영되었던 특정 경우에서의) 모바일 디바이스의 카메라의 상대적 방향을 표현한다. 적어도 하나의 소실점의 결정된 위치로부터의 이미지 캡처링 디바이스의 상대적 방향(및 이에 따른, 모바일 디바이스의 방향)을 컴퓨팅하기 위한 다른 방식들이 또한 이용될 수 있다.
[0090] 일부 구현들에서, 예를 들어, 캡처된 이미지에서의 소실점(들)으로부터 결정된 바와 같은, 디바이스의 상대적 방향은 센서들이 실제 또는 절대적 방향을 측정할 수 있도록 방향 센서들을 교정하기에 충분하지 않을 수 있다(그러나, 일부 실시예들에서, 방향 센서들은, 센서가, 디바이스의 방향이 디바이스의 초기 방향으로부터 변화할 때 디바이스의 방향의 변화를 제공할 수 있도록, 예를 들어, 2개의 이미지들이 공통의 검출가능한 특징들을 공유할 때 2개의 이미지들의 회전 행렬들을 결정하도록, 디바이스의 초기 방향에 대해 상대적인 방향을 제공하도록 구성될 수 있다). 따라서, 이러한 구현들에서, 디바이스의 실제/절대적 방향은 상대적 방향과 더불어 결정되도록 요구될 수 있다. 예를 들어, 일부 실시예들에서, 실제 방향은, 적어도 하나의 소실점으로부터 결정된 상대적 디바이스 방향에 기초하여 그리고 씬과 연관된 씬 방향 값에 추가로 기초하여 결정될 수 있다. 보다 특히, 예를 들어, 도 3의 디바이스(300)와 같은 디바이스를 휴대하는 사용자가 로케이팅될 수 있는 복수의 통로들/복도들을 도시하는, 도 6에 예시된 맵(600)을 고려해보기로 하자. 사용자 및 이에 따른 디바이스가 복도(610)를 따라 'X'로 마킹(또한, 복도(1a)로 마킹)된 지점에 로케이팅된다고 가정해보기로 하자. 맵(600)에 대응하는 근거리 내에서의 디바이스의 위치는 (예를 들어, 셀룰러 또는 WiFi 기술들을 이용하여 구현되는) 다양한 기지국들 또는 액세스 포인트들로부터 통신되는 그리고 디바이스(300)의 무선 트랜시버(들)(335)에 의해 수신되는 신호들에 기초하여 유도될 수 있다. 그 다음, 멀티레터레이션(Multilateration) 포지션 결정 프로시저들은 수신된 신호들로부터 유도된 메트릭들에 기초하여 수행될 수 있다. 이러한 메트릭들 ― 이로부터 디바이스의 포지션이 결정될 수 있음 ―은, 예를 들어, 왕복 시간(일반적으로 신호들이 모바일 디바이스로부터 액세스 포인트로 전송되고 이에 대한 응답을 액세스 포인트로부터 수신하는데 걸리는 시간의 길이에 대응하는 할 RTT), 수신된 신호 강도 표시(모바일 디바이스의 안테나에 의해 수신된 신호의 신호 전력 레벨의 표시인 RSSI) 등을 포함한다. 디바이스(300)가 또한 (예를 들어, SPS 수신기(340)에 의해) SPS 신호들을 수신할 수 있으면, (맵(600)에 대응하는 것과 같은) 근거리 내의 디바이스(300)의 포지션은 SPS 신호들에 적어도 부분적으로 기초하여 결정될 수 있다.
[0091] 따라서, 디바이스의 위치가 결정되면(디바이스의 위치의 근사치가 충분할 수 있음), 디바이스의 위치에 대응하는 지리적 특징들과 연관된 미리 결정된 방향 값이 획득될 수 있다. 예를 들어, 일부 기준점(또는 일부 실시예들에서, 0° 방향을 표현하는 것으로 간주될 수 있는 절대적 북쪽 방향)에 대해 상대적인, (디바이스가 로케이팅되도록 결정된) 맵(600)에 도시된 복도(610)의 구성/포지션을 표현하는 씬 방향 값들은, 예를 들어, (원격 서버에 로케이팅되거나 로컬로 디바이스에 저장될 수 있는) 맵 데이터에 액세스하고, 디바이스의 결정된 위치(또는 대략적 위치)에 대응하는, 맵 데이터 내의 엔트리를 식별하며, 그 엔트리와 연관된 방향 값을 판독함으로써, 맵 데이터로부터 리트리브(데이터베이스 또는 저장소를 이용하여 배열)될 수 있다. 도 6의 예에서, 복도(1a)는 데이터베이스(620)에 저장된 맵의 북쪽 각 포지션으로부터 45°의 방향 값과 연관될 수 있다. 디바이스의 상대적 방향(복도에 대해 상대적임)이 (복도(610)의 씬의 캡처된 이미지로부터 결정된 적어도 하나의 소실점에 기초하여) 결정되었기 때문에, 복도(610)의 방향이 또한 결정되고, 디바이스의 실제 방향이 유도될 수 있으며, 이에 따라, 절대적 방향이 요구되는 모션 센서들/디바이스의 방향의 교정 동작이 (아래에 더 상세하게 설명될 바와 같이) 수행될 수 있다.
[0092] 일부 구현들에서, (즉, 교정될 적어도 하나의 센서 및 이미지 캡처링 유닛을 포함하는 디바이스)의 방향을 결정하는 것은 일정 기간의 시간 동안 이미지 캡처링 유닛에 의해 캡처된 복수의 이미지들로부터 결정된 소실점들의 위치들에 적어도 부분적으로 기초하여 결정된 상대적 디바이스 방향 값들의 변화에 기초하여 수행될 수 있다. 따라서, 이러한 구현들에서, 디바이스의 이미지 캡처링 유닛(예를 들어, 도 3의 디바이스(300)의 카메라(330))은 (도 6의 맵(600)에 의해 표현되는 복도들 중 하나에 대한 씬, 또는 소실점이 식별될 수 있고 그 위치가 컴퓨팅되는 임의의 다른 씬과 같은) 씬의 복수의 이미지들을 캡처한다. 캡처된 이미지들 중 적어도 일부에 대해, 각각의 소실점들이 (예를 들어, 도 4에 도시된 프로시저(400)와 유사한 프로시저에 따라) 결정되어, 이에 따라 디바이스에 대한 복수의 상대적 방향들을 유도한다. 디바이스의 복수의 컴퓨팅되는 상대적 방향들에 기초하여, 디바이스의 방향의 변화가 결정된다. 예를 들어, 사용자가 일직선의 통로를 따라 이동 중일 때, 다수의 위치들에서의 복수의 소실점들이 검출될 수 있다. 이러한 시점들 사이의 방향의 변화를 비교함으로써, 카메라(및 이에 따른 디바이스)의 상대적 방향이 결정될 수 있고, 이는 차례로 센서(들)의 교정을 인에이블한다. 따라서, 그것이 방향 변화(즉, 방향 델타(Δ))를 결정하기에 충분한 상황들에서, 방향 센서들은 측정된 방향 변화가 복수의 이미지로부터 결정된 방향 변화 및 이로부터 컴퓨팅되는 복수의 소실점들과 실질적으로 동일하도록 교정될 수 있다. 예를 들어, 세계 좌표 시스템과, 예를 들어, 복도의 첫 번째 이미지 사이의 회전 행렬이 R0인 것으로 결정되고, 다음 이미지들로부터의 다음 회전 행렬들이 R1, R2, ...Rn,이라고 가정하면, i번째 이미지 및 첫 번째 이미지에 대한 회전 행렬은
Figure 112016009893202-pct00006
로서 컴퓨팅될 수 있고, 그 다음, i번째 이미지와 복도 사이의 회전 각들이 컴퓨팅될 수 있다. 후자의 수식에서, R은 3X3 행렬이고, 임의의 2개의 행렬들의 곱(예를 들어,
Figure 112016009893202-pct00007
)은 행렬 곱셈 연산에 대응하고, Ri는 i번째 카메라 포지션과 (i+1)번째 카메라 포지션 사이의 상대적 회전을 표현한다.
[0093] 씬이 평행한 벽들을 가지는 복도 중 하나가 아닌 상황들에서, 서로 다른 접근법들이 취해질 수 있다는 점이 주목될 것이다. 예를 들어, 좌(또는 우)로 터닝할 때, 현재 소실점이 추적될 수 있다(예를 들어, 디바이스가 우로 이동할 때, 씬의 다수의 이미지들의 시퀀스에서의 소실점이 좌로 시프트할 수 있음). 캡처된 씬이, 예를 들어, T-접합의 것인 상황들에서, 카메라가 벽에 너무 가까워져 바닥 및 지붕 라인들을 볼 수 없을 때, 소실점(들)이 사라지고, 새로운 씬이 추가 교정 프로시저(들)가 수행될 수 있기 전에 포착될 필요가 있을 수 있다.
[0094] 일부 구현들에서, 실제 디바이스 방향은 (씬의 이미지에서의 결정된 적어도 하나의 소실점으로부터 컴퓨팅되는) 상대적 디바이스 방향에 기초하여 그리고 미리 결정된 방향 값, 예를 들어, 복도의 맵에 추가로 기초하여 결정될 수 있다.
[0095] 일부 실시예들에서, 소실점의 결정의 정확성을 추가로 향상시키기 위해(예를 들어, 캡처된 이미지에서의 소실점이 실질적으로 이미지의 중심에 있도록), 십자선과 같은 가이드가 캡처된 이미지에서의 컴퓨팅되는 소실점의 현재 위치를 표시하기 위해 이미지 캡처링 유닛에 의해 캡처된 이미지 상에 디스플레이(예를 들어, 슈퍼임포징)될 수 있다. 캡처된 씬의 이미지 상의 실질적으로 대칭적 십자선 디스플레이는 컴퓨팅되는 소실점이 실질적으로 이미지의 중심에 있음을 표시할 수 있다. 사용자가 자신이 들고 있는 모바일 디바이스를 정렬하는 것을 가능하게 하기 위해 이용될 수 있는, 복도의 이미지(700)를 나타내는 십자선 가이드(702)의 예가 도 7에 도시된다.
[0096] 도 5를 다시 참조하면, 서술된 바와 같이, 이미지 캡처링 유닛에 의한, 디바이스에 대한 결정된 상대적 방향 값에 기초하여, 디바이스의 적어도 하나의 방향 센서에 대한 하나 또는 둘 이상의 교정 동작들이 수행(530)될 수 있다. 일부 실시예들에서, 이러한 교정 동작들을 수행하는 것은 디바이스의 온보드 방향 센서(들)의 교정이 필요한지 여부에 대한 결정을 수행하는 것을 포함할 수 있다. 따라서, 온보드 적어도 하나의 방향 센서의 교정은 센서가 교정을 요구함을 표시하는, 적어도 하나의 센서에 의해 결정된 측정된 방향과 결정된 상대적(또는 실제/절대적) 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여, 필요하다고 간주될 수 있다. 예를 들어, 비교 결과들이 방향 센서(들)에 의해 측정된 방향과 소실점 컴퓨테이션들로부터 결정된 (상대적 또는 실제) 방향 사이의 차가 일부 미리 결정된 임계치 값을 초과하게 할 때, 교정은 필요한 것으로 결정될 수 있다. 한편, 적어도 하나의 방향 센서의 교정은 적어도 하나의 센서가 이미 교정되었음을 표시하는, 적어도 하나의 센서에 의해 결정된 측정된 방향과 결정된 상대적 디바이스 방향의 비교로부터 생성되는 비교 결과들에 응답하여 불필요하다고 간주될 수 있다. 예를 들어, 비교 결과들이 적어도 하나의 방향 센서에 의해 측정된 방향과 소실점 컴퓨테이션으로부터 결정된 방향 사이의 차가 일부 미리 결정된 임계 값(교정이 필요한지 여부를 결정하기 위해 이용되는 임계 값과 서로 다르거나 동일할 수 있음) 미만이게 할 때, 적어도 하나의 방향 센서의 교정은 불필요하다고 결정될 수 있다.
[0097] 서술된 바와 같이, 일부 실시예들에서, 디바이스의 방향 센서(들)의 교정은 센서(들)가 디바이스가 현재 로케이팅되는 영역의 기준의 현재 프레임에 관하여 상대적 방향을 측정하도록 교정되게 할 수 있다. 예를 들어, (예를 들어, 적어도 하나의 소실점의 컴퓨테이션에 기초하여) 디바이스의 상대적 방향만이 유도되었던 상황들에서, 센서는, 그 센서에 의해 측정된 방향이 적어도 하나의 소실점에 기초하여 컴퓨팅되는 방향에 대해 상대적이 되도록 교정될 수 있다. 예를 들어, 소실점 컴퓨테이션들이 복도의 중심에 대해 상대적인, 좌측 방향(또는 반시계 방향)으로 디바이스의 이미지 캡처링 유닛이 약 20°회전됨을 표시하면, 디바이스의 온보드 방향 센서(들)는 마찬가지로, 기준점에 대해 상대적인 좌측 방향으로 20°의 값으로 그들의 현재 측정된 방향(들)을 세팅하도록 교정될 수 있다.
[0098] (예를 들어, 캡처된 이미지로부터 컴퓨팅되는 적어도 하나의 소실점으로부터 그리고 캡처된 이미지에 대응하는, 씬과 연관된 획득된 방향 값으로부터 결정된 상대적 방향에 기초하여) 디바이스의 실제 방향이 결정될 때, 디바이스의 방향 센서(들)는 실제 방향을 측정하도록 교정될 수 있다. 따라서, 예를 들어, 소실점 컴퓨테이션들에 기초하여 결정된 디바이스의 실제 방향을 이용하여 (그리고 예를 들어, 소실점에 기초하여 컴퓨팅되는 실제 방향과 방향 센서들에 의해 현재 생성된 방향 측정들 사이의 불일치(discrepancy)로 인하여, 선택적으로 방향 센서의 교정이 필요하다고 결정되면), 디바이스의 방향 센서(들)는, 예를 들어, 방향 센서(들)에 대한 센서 바이어스, 센서 스케일링 및/또는 센서 오정렬 중 하나 또는 둘 이상을 정정하도록 교정될 수 있어서, 디바이스의 적어도 하나의 센서가 소실점 접근법에 기초하여 결정된 방향 값과 실질적으로 동일한 방향 측정을 제공하게 한다. 센서의 바이어스(센서의 오프셋으로 또한 지칭됨)는 실제 측정이 0이어야 할 때 센서에 의해 보고된 고정 에러(예를 들어, 회전 센서들에 대한 고정된 잘못된 각 회전 값)를 표현한다. 이 에러에 대응하기 위해, 오프셋이 센서 측정들에 부가될 수 있다. 예를 들어, 회전 방향 센서들(이를테면, 자이로스코프 또는 자이로미터)에 대해, 어떠한 회전 변화도 존재하지 않을 때, 회전 센서들에 의한 측정을 표현하는 데이터는 0의 각 회전 변화를 표시하여야 한다. 센서 스케일링(때로는, 인자 k로 표현됨)은 측정된 속성의 변화가 존재할 때의 측정 불일치를 표현한다. 예를 들어, 회전 센서의 경우, k=1의 값은 실제 각 가속도와 측정된 각 가속도 사이에 에러가 없음을 표현한다. 1.1의 값은 실제 회전 가속도 또는 변화에 대해 상대적인, 센서에 의해 측정된 바와 같은 회전 가속도(또는 변화) 사이의 10% 차를 표현한다. 센서의 오정렬은 직교 축들로부터 X, Y, Z 축들에서의 각 변화이다. 이것은 자이로스코프가 구성될 때 야기되는 부정확성으로 인하여 발생한다. 오정렬은 3개의 각들로서 또는 회전 벡터로서 표현될 수 있다.
[0099] 일부 구현에서, 방향 센서(들)에 대한 센서 바이어스, 센서 스케일링 및/또는 센서 오정렬 중 하나 또는 둘 이상을 정정하기 위해, 비선형 최적화(least-squares optimization) 기법이 이용될 수 있다. 교정 파라미터들은 에러 함수(예를 들어, 교정 파라미터들의 후보 세트를 이용하여 예측된 방향 값들과 소실점들로부터 컴퓨팅되는 방향 값들 사이의 차의 제곱)를 최소화함으로써 추정된다.
[00100] 서술된 바와 같이, 일부 실시예들에서, 컴퓨팅되는 소실점(들)에 기초하여 교정 프로시저들은, 예를 들어, 자이로스코프 센서를 교정하도록 수행될 수 있다. 디바이스의 자이로스코프 센서는 일부 실시예들에서, MEMS(micro-electro-mechanical-system) 기술에 기초하여 구현될 수 있으며, 단일-축 자이로스코프, 더블-축 자이로스코프 또는 예를 들어, 3개의 직교 축들을 중심으로 모션을 감지하도록 구성되는 3D 자이로스코프일 수 있다. MEMS-기반 자이로스코프 대신 또는 이와 더불어, 다른 타입들의 자이로스코프들이 이용될 수 있다. 일부 변형예들에서, 예를 들어, 자이로스코프의 바이어스, 스케일링 및/또는 오정렬을 컴퓨팅하기 위한 소실점 접근법을 이용하여 획득된 방향과 자이로스코프-측정된 방향을 비교함으로써, 모바일 디바이스의 자이로스코프의 교정이 수행될 수 있다. 서술된 바와 같이, 일부 애플리케이션들에 있어서, 자이로스코프에 의해 측정된 방향은 절대적 방향이 될 필요가 없다. 오히려, 일부 애플리케이션들에 있어서, 그것은 방향의 변화, 즉, 방향 델타(방향 Δ)를 계산하기에 충분할 수 있다. 따라서, 일부 실시예들에서, 자이로스코프의 교정은 자이로스코프에 의해 측정된 방향의 변화를 결정하는 것, 및 그 측정된 변화를 소실점 접근법으로부터 결정되는 바와 같은 방향의 변화에 비교하는 것(즉, 이 두 접근법들에 의해 검출된 델타 각을 비교하는 것)을 포함할 수 있다. 소실점 컴퓨테이션들로부터 결정된 바와 같은 상대적 방향의 변화는, 따라서, 센서 교정 계수들의 컴퓨테이션 및/또는 자이로스코프 세팅/파라미터들, 예를 들어, 센서의 스케일링 인자, 센서의 바이어스 등 중 일부에 대한 정정을 인에이블할 수 있어서, 자이로스코프가 소실점 컴퓨테이션들로부터 결정된 방향과 일정한(예를 들어, 실질적으로 동일함) 방향의 변화를 측정하게 할 것이다. 일부 실시예들에서, 자이로스코프와 연관된 바이어스 에러 및/또는 스케일링 에러의 결정은, 모바일 디바이스로 하여금 회전 변화를 겪게 하여, 자이로스코프의 회전 변화 동안 캡처된 복수의 이미지들로부터 방향의 변화를 측정하고 그리고 자이로스코프에 의해 생성된 출력으로부터 그리고 회전 변화로부터(소실점 컴퓨테이션으로부터 결정됨), 자이로스코프와 연관된 오프셋 및 스케일링 값들을 결정함으로써, 예를 들어, 선형 회귀와 같은 이러한 프로시저들 등을 이용하여 다수의 측정들에 기초하여 바이어스 에러 및 스케일링 에러와 같은 몇몇 알려지지 않은 것에 대해 해결함으로써, 달성될 수 있다.
[00101] 일부 실시예들에서, 디바이스의 방향 측정 센서는 자력계일 수 있다. 자력계들은 자기장 세기 및/또는 방향을 측정하도록 구성되고, 일부 실시예들에서, 자북(magnetic north) 에 관한 절대적 방향을 측정할 수 있는데, 이는 진북(true north)에 관한 방향으로 변환될 수 있다. 일부 구현들에서, MEMS-기반 자력계가 이용될 수 있다. 이러한 MEMS-기반 센서들은 MEMS 컨덕터를 통한 전류에 의해 생성되는 Lorentz 힘에 의해 야기되는 모션을 검출하도록 구성될 수 있다. 그 다음, 결과적 모션이 전자적으로 또는 광학적으로 감지될 수 있다. 예를 들어, 홀 효과(hall effect) 자력계들, 회전 코일 자력계들 등과 같은 이러한 자력계를 포함하는 다른 타입들의 자력계들은 또한, MEMS-기반 구현들 대신에 또는 이들과 더불어, 모바일 디바이스의 구현들에서 이용될 수 있다.
[00102] 이미지 캡처링 유닛을 이용하는 모바일 디바이스와 함께 이용되는 관성 센서/자력계 타입 방향의 교정은, 예를 들어, 교정될 자력계의 바이어스, 스케일링 및/또는 오정렬을 컴퓨팅하기 위한 소실점 접근법을 이용하여 획득된 방향과 자력계 측정된 방향을 비교함으로써, 자이로스코프 타입 센서의 교정과 유사한 방식으로 수행될 수 있다. 일부 실시예들에서, 교정 프로시저는 자력계에 의한 절대적 방향 측정을 제공하는 것 및 씬의 하나 또는 둘 이상의 캡처된 이미지들로부터의 소실점 컴퓨테이션들에 기초하여 절대적 디바이스 방향을 결정하는 것(예를 들어, 이미지에서의 소실점을 컴퓨팅하는 것, 디바이스의 상대적 방향을 결정하는 것, 및 씬에서의 디바이스의 결정된 상대적 방향에 기초하여 그리고 씬과 연관된 공지된 방향/방향 값들에 기초하여 절대적 디바이스 방향을 결정하는 것)을 포함할 수 있다. 따라서, 소실점(들)으로부터 결정된 디바이스 방향과 자력계 센서의 측정된 방향 사이의 차는 자력계의 바이어스/오프셋 값, 그것의 스케일링 인자 등과 같은 이러한 파라미터들의 컴퓨테이션을 인에이블할 수 있다. (예를 들어, 자력계의 교정이 센서의 오프셋/바이어스, 스케일링, 오정렬 등에 관련된 계수들과 같은 다수의 교정 계수들의 컴퓨테이션을 요구하는 환경들에서) 교정 프로시저는 자력계 교정을 수행하기 위해 하나 또는 둘 이상의 이미지들로부터의 몇몇 방향 측정들 및 몇몇 컴퓨팅되는 소실점들의 이용을 요구할 수 있다.
[00103] 자이로스코프-교정 프로시저들에 있어서, 일부 실시예들에서, 자력계 센서의 교정은 디바이스의 절대적 방향의 정보(knowledge)를 특정하게 요구하지 않고도, 디바이스의 방향의 변화(예를 들어, 방향 Δ)에 기초하여 수행될 수 있다. 예를 들어, 자력계의 교정은 자력계에 의해 측정된 방향의 변화를 결정하는 것 및 소실점의 이동에 의해 검출되는 바와 같은 방향의 변화에 그 측정된 변화를 비교하는 것(즉, 이 두 접근법들에 의해 검출된 델타 각을 비교하는 것)을 포함한다. 소실점으로부터 결정된 바와 같은 상대적 방향의 변화는 교정 계수들의 컴퓨테이션 및/또는 센서의 세팅/파라미터들, 예를 들어, 센서의 스케일링 인자, 센서의 바이어스 등 중 일부를 정정/조정하는 것을 인에이블할 수 있어서, 자력계가 소실점 컴퓨테이션들로부터 결정된 방향과 일정한(예를 들어, 실질적으로 동일함) 방향의 변화를 측정하게 할 것이다. 일부 실시예들에서, 자력계와 연관된 바이어스 에러 및/또는 스케일링 에러의 결정은, 모바일 디바이스로 하여금 회전 변화를 겪게 하여, 자력계의 회전 변화 동안 캡처된 복수의 이미지들로부터 방향의 변화를 측정하고 그리고 (소실점 컴퓨테이션들로부터 결정된) 회전 변화로부터 그리고 자력계에 의해 생성된 출력들로부터, 자이로스코프와 연관된 오프셋 및 스케일링 값들을 결정함으로써(예를 들어, 다수의 측정들을 이용하여 센서의 교정을 위해 요구되는 다수의 계수들/파라미터들에 대해 해결함으로써), 달성될 수 있다.
[00104] 자력계의 이용에서의 공통 과제(challenge)는 큰 에러들을 야기할 수 있는 자기 이상들(magnetic anomalies)을 처리(account for)하는 것이다. 따라서, 일부 실시예들에서, 소실점 접근법은 또한 이러한 에러들을 검출 및 정정하는데 이용될 수 있다. 예를 들어, 실내 자기 이상들은 전형적으로, 동일한 포지션들에서 통상적으로 유지되는 전자 장비 및 금속성 물체들로 인하여 야기되기 때문에, 추후 기준을 위해 이용될 수 있는 자기 편차들의 맵이 생성될 수 있다. 소실점(들)을 이용하여 방향이 변화하지 않았다고 결정함으로써 그리고 그 다음, 금속 빔들에 의해 전형적으로 야기되는 주기적 이상들(또는 다른 이상들)을 교정함으로써 맵 없이 동작하는 것이 가능하다는 점이 주목되어야 한다. 빔들이 일반적으로 균일하기 때문에, 자력계 상에서의 임의의 주어진 빔의 영향인 것조차 결정할 수 있고, 그 다음, 센서가 빔들에 접근함에 따라 빔들을 검출하여, 1) 빔들을 교정하고; 2) 빔들을 (예를 들어, 자기 맵의 부분으로서 빔들을 포함하여) 맵 인(map in)하고; 그리고/또는 3) (빔들이 전형적으로 그리드를 따라 또는 코너들에서 이격되기 때문에) 빔들을 카운트하거나 빔들을 랜드 마크들로서 이용하여 거리 및 위치를 결정할 수 있다. 따라서, 자력계 센서를 교정하는 것은, 자력계에 의해 측정된 방향 값과 소실점 접근법에 기초하여 결정된 디바이스 방향 사이의 불일치가 이러한 자기 간섭/이상들에 기인할 수 있다는 범위까지 결정하도록, 자기 간섭 및/또는 다른 자기 이상들의 존재(및 레벨)의 정보에 부분적으로 기초할 수 있다. 자기 간섭의 존재 및 레벨이 실질적으로 캡처된 이미지(들)에서의 소실점(들)으로부터 컴퓨팅된/유도된 디바이스 방향과 자력계에 의해 측정된 방향 사이의 불일치를 처리할 수 있으면, 자력계는 교정되는 것으로 간주될 수 있다. 그러나, 자력계에 의해 측정된 방향과 소실점(들)으로부터의 디바이스 방향 사이의 불일치가 전체적으로 (미리 컴퓨팅/결정되었을 수 있는 바와 같이) 자기 간섭의 존재 및 레벨에 기인할 수 없다면, 이것은 자력계가 교정을 요구할 수 있다는 표시일 수 있다. 따라서, 일부 실시예들에서, (도 5의 530에 따라) 자력계에 대한 교정 프로시저를 수행하는 것은, 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 추가적으로 기초하여 자력계가 교정을 요구함을 표시하는, 자력계에 의해 결정된 측정된 방향과 소실점(들) 컴퓨테이션으로부터 결정된 상대적 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여 자력계를 교정하는 것을 포함할 수 있다. 자력계에 대한 교정 프로시저를 수행하는 것은 또한, 비교 결과들에 기초하여 그리고 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재의 표시에 추가로 기초하여 자력계가 교정됨을 결정하는 것을 포함할 수 있다.
위치 추정
[00105] 씬의 캡처된 이미지에서의 소실점들의 결정은 또한 위치 추정/결정을 위해 이용될 수 있다. 예를 들어, 근접 영역(예를 들어, 다수의 복도들/통로들을 포함하는 영역) 내에서 이동하는 사용자는 씬의 적어도 하나의 소실점의 식별과 모바일 디바이스의 방향 센서(들)로부터의 방향 정보에 기초하여 자신이 로케이팅될 수 있는 가능한 복도의 추정치를 획득할 수 있다.
[00106] 사용자가 로케이팅될 수 있는 가능한 후보 복도들을 결정하기 위해, 방향 값과 연관된 씬의 이미지는 카메라(이를테면, 도 3의 디바이스(300)의 카메라(330)) 및 또 다른 독립적 방향 센서(예를 들어, 자이로스코프, 자력계 또는 도 3에 도시된 센서(320)에 대응하는 일부 다른 센서에 의해 수행됨)를 포함하는 디바이스를 이용하여 캡처될 수 있다. 캡처된 이미지에서의 씬에서의 소실점의 위치가 결정된다. 또한, 디바이스의 방향 센서(들)에 의해 수행된 측정들로부터 측정된 디바이스 방향이 결정된다. 캡처된 이미지에서의 씬에 대응하는 영역을 포함하는 구역에서의 디바이스의 후보 포지션들은 씬에서의 적어도 하나의 소실점의 위치, 측정된 디바이스 방향 및 구역 내의 다수의 영역들과 연관된 방향 데이터에 적어도 부분적으로 기초하여 결정될 수 있다.
[00107] 예를 들어, 도 6에 도시된 것과 유사할 수 있는 공지된 복도 레이아웃을 고려해보기로 하자. 이 예에서, 복도들(1a, 1b, ..., 1j)은 (이 예의 목적을 위해, 0°포지션을 표현하기 위해 세팅되는) 북쪽 포지션(North position)에 상대적인 α 또는 α + 180°의 각으로 정렬되고, 여기서, α는 북쪽 포지션으로부터 대략 45°이다. 복도(2a, 2b 2c 및 2d)는 대략 90°+ α로 정렬된다. 사용자가 복도에 서 있고, 자신의 디바이스의 카메라를 들어올려 복도의 영상을 촬영할 때, 방향 센서(이러한 센서는 실질적으로 교정되는 것으로 가정됨)에 의해 결정된 디바이스의 방향은 디바이스의 위치를 센서에 의해 측정된 방향과 연관된 몇몇 복도들 중 하나로 좁히는데(narrow) 이용될 수 있다. 특히, 소실점 컴퓨테이션들로부터 결정된 바와 같은 디바이스의 상대적 방향(즉, 사용자가 서 있는 복도와 같은, 씬에서의 특징 또는 씬에 대해 상대적인 방향)은 특징 또는 씬에 대해 상대적인 센서에 의해 측정된 방향과 동일한 것으로 가정될 수 있다. 따라서, 글로벌 기준점(이를테면, 북쪽 포지션)에 대해 상대적인 특징의 방향은 소실점에 기초하여 그리고 방향 센서에 의해 제공되는 측정된 방향에 기초하여 컴퓨팅되는 상대적 방향으로부터 결정될 수 있다. 예를 들어, 소실점이 이미지의 중심에 실질적으로 나타난 상황에서, 방향 센서(그것이 자이로스코프, 자력계 및/또는 일부 다른 타입의 방향 센서라고 함)에 의해 제공되는 방향 측정이 (북쪽 포지션과 같은 기준점에 대해 상대적인) 복도의 방향의 실질적으로 정확한 추정치라고 가정될 수 있다. 예를 들어, 복도가 로케이팅되는 영역과 연관된 방향 값들에 이러한 결정된 방향 추정치를 비교함으로써, 영역(600) 내의 디바이스의 위치는 몇몇 후보 복도들로 좁아질 수 있다. 예를 들어, 방향 센서가 45°의 방향 값을 측정하였으면(방향 센서에 의한 그 측정이 취해졌을 때 캡처된 이미지의 중심에 소실점이 실질적으로 있었을 때), 영역(600)과 연관된 방향 값들로부터, 모바일 디바이스(및 이에 따라 사용자)가 복도들(1a-1j) 중 하나에 로케이팅됨이 추론될 수 있다.
[00108] 어떠한 소실점도 검출되지 않는 상황에서, 사용자는 도 6에 도시된 공간들(3a-3d)과 같은 개방형 공간들에 서 있다는 것이 추론될 수 있다는 점이 주목되어야 한다. (예를 들어, 외부 라인들(extraneous lines)로 인한) "로우 컨피던스(low confidence)" 소실점이 존재하고 라인들이 1개, 2개 또는 3개의 소실점들에 대해 커버리징하지 않는 상황들에서, 이 상황은 어떠한 소실점도 검출될 수 없는 경우와 동등하고, 이에 따라, 그 상황에서, 소실점 접근법에 기초한 대략적 위치 추정은 실현가능하지 않을 수 있다.
[00109] 따라서, 도 8을 참조하면, 모바일 디바이스의 위치를 추정하기 위한 프로시저(800)의 흐름도가 도시된다. 예시된 바와 같이, 프로시저(800)는 디바이스의 이미지 캡처링 유닛(예를 들어, CCD 카메라, CMOS-카메라 등)에 의해, 씬 방향 값과 연관된 씬의 이미지를 캡처(810)하는 것을 포함한다. 예를 들어, 사용자는 카메라가 이미지를 캡처하기 위해 포지션 내에 있도록 디바이스를 이동시키기 위해 프롬프팅될 수 있고, 카메라가 포지션 내에 있으면, 이미지 캡처링 유닛은, 자동으로 또는 이미지가 촬영되게 하기 위해 사용자가 버튼을 누르는 것에 응답하여, 예를 들어, CCD 카메라의 CCD 어레이 상에서 이미지를 캡처할 수 있는데, 이는 차례로, 캡처된 이미지를 표현하는 디지털 데이터가 저장 디바이스(메모리 또는 일부 다른 매체들)에 기록되게 한다.
[00110] 디바이스(예를 들어, 모바일 디바이스)는 방향 센서와 같은 적어도 하나의 센서를 더 포함한다. 씬의 캡처된 이미지로부터 이미지에서의 적어도 하나의 소실점의 위치가 결정(820)된다. 적어도 하나의 소실점의 위치는 도 4와 관련하여 설명된 프로시저(400)와 같은 프로시저에 기초하여 결정될 수 있다. 일부 실시예들에서, 위치 추정 프로시저의 정확성 및 신뢰성을 향상시키기 위해 그리고/또는 프로시저를 간략화하기 위해, 사용자는 이미지의 적어도 하나의 소실점 중 하나가 실질적으로 이미지의 중심에 나타나도록 자신의 디바이스의 카메라를 포지셔닝하기 위해 프롬프팅될 수 있다. 이러한 실시예들에서, 캡처된 이미지에서의 소실점의 결정된 위치가 중심에서 벗어난 위치에 있다는 결정에 응답하여, 또 다른 캡처된 이미지에서의 다음 소실점이 다음 캡처된 이미지의 중심에 실질적으로 로케이팅되도록 디바이스로 하여금 이동되게 하기 위한 표시가 생성될 수 있다.
[00111] 추가적으로, 디바이스의 방향 센서에 의해 수행되는 하나 또는 둘 이상의 측정들에 기초하여 디바이스의 측정된 디바이스 방향이 결정(830)된다. 예를 들어, 센서는 (예를 들어, 방향의 변화를 측정하기 위해, 일부 기준점에 대해 상대적인 방향을 측정하기 위해 등) 센서의 방향을 표현하는 측정을 취하도록 구성되는 MEMS로 구현된 자이로스코프 또는 자력계일 수 있다.
[00112] 씬의 이미지에서의 적어도 하나의 소실점의 결정된 위치, 측정된 디바이스 방향 및 구역 내의 다수의 영역들과 연관된 방향 데이터(이러한 방향 데이터는 원격 디바이스에 또는 로컬로 모바일 디바이스에 저장될 수 있는, 구역에 대한 맵 데이터로부터 리트리브될 수 있음)에 적어도 부분적으로 기초하여, 씬에 대응하는 영역을 포함하는 구역에서의 디바이스의 후보 포지션들이 결정(840)된다. 예를 들어, 본원에 서술된 바와 같이, 적어도 하나의 소실점의 위치는 예를 들어, 복도와 같은, 씬에서의 특징에 대해 상대적인, 디바이스의 상대적 방향(예를 들어, 회전 행렬로 표현됨)을 결정하는데 이용될 수 있다. 적어도 하나의 소실점으로부터 결정된 디바이스의 상대적 방향으로부터, 동일한 특징에 대해 상대적인, 센서의 상대적 방향이 또한 결정될 수 있다. 예를 들어, 디바이스가 중심으로부터 약 10°로 지향되는 것으로 결정되면, 센서는 또한, 캡처된 이미지의 기준 특징(예를 들어, 복도)과 관련하여 디바이스와 동일한 상대적 방향을 가지는 것으로 가정될 수 있고, 따라서, (북쪽 포지션과 같은 기준 포지션에 대해 상대적인) 특징의 방향은 방향 센서를 통해 획득된 방향 값으로의 소실점으로부터 결정된 디바이스의 상대적 방향을 고려(factor in)함으로써 결정될 수 있다. 그 다음, 그 결과적 방향 값은 씬에서의 영역의 특징들과 연관된 미리 결정된 방향 값들(이러한 미리 결정된 값들은 원격 서버에 또는 로컬로 모바일 디바이스에 저장될 수 있음)에 비교될 수 있다. 방향 값들이 소실점들에 기초하여 컴퓨팅되는 상대적 방향들 및 방향 센서 측정들로부터 결정된 결과적 방향 값들과 실질적으로 매칭하는 특징들은 디바이스에 대한 가능한 후보 포지션들인 것으로 고려된다. 매칭하는 방향 값을 가지는 오직 하나의 특징만이 발견되면, 그 특징(예를 들어, 복도)은 디바이스가 현재 로케이팅되는 특징인 것으로 간주될 수 있다.
[00113] 본원에 설명된 (예를 들어, 소실점 결정에 기초하여) 방향 센서 교정 프로시저들 및/또는 위치 추정 프로시저들을 수행하는 것은 프로세서-기반 컴퓨팅 시스템에 의해 가능해질 수 있다. 도 9를 참조하면, 예시적 컴퓨팅 시스템(900)의 개략도가 도시된다. 컴퓨팅 시스템(900)은 중앙 프로세서 유닛(912)을 전형적으로 포함하는 프로세서-기반 디바이스(910), 이를테면, 개인용 컴퓨터, 특수화된 컴퓨팅 디바이스 등을 포함한다. CPU(912)와 더불어, 시스템은 메인 메모리, 캐시 메모리 및 버스 인터페이스 회로들(미도시)을 포함한다. 프로세서-기반 디바이스(910)는 대용량 저장 디바이스(914), 이를테면, 컴퓨터 시스템과 연관된 플래시 드라이브 및/또는 하드 드라이브를 포함할 수 있다. 컴퓨팅 시스템(900)은 사용자가 이들에 액세스할 수 있는 곳(예를 들어, 모바일 디바이스의 스크린)에 배치될 수 있는 키보드 또는 키패드(916) 및 모니터(920), 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터를 더 포함할 수 있다.
[00114] 프로세서-기반 디바이스(910)는 예를 들어, 씬의 캡처된 이미지에서 결정된 소실점(들)에 기초하여 방향 센서들(예를 들어, 자이로스코프, 자력계)의 교정 프로시저들의 구현을 가능하게 하도록 그리고 또한, 이러한 소실점들에 기초하여 위치 결정 프로시저들의 구현을 가능하게 하도록 구성된다. 따라서, 대용량 저장 디바이스(914)는 프로세서-기반 디바이스(910) 상에서 실행될 때, 프로세서-기반 디바이스로 하여금, 위에서 설명된 프로시저들의 구현을 가능하게 하기 위한 동작들을 수행하게 하는 컴퓨터 프로그램 물건을 포함할 수 있다. 프로세서-기반 디바이스는 입력/출력 기능을 인에이블하기 위한 주변 디바이스들을 더 포함할 수 있다. 이러한 주변 디바이스들은, 예를 들어, 관련 컨텐츠를 연결된 시스템에 다운로딩하기 위한 CD-ROM 드라이브 및/또는 플래시 드라이브 또는 네트워크 연결을 포함할 수 있다. 이러한 주변 디바이스들은 또한, 각각의 시스템/디바이스의 일반적 동작을 인에이블하기 위해 컴퓨터 명령들을 포함하는 소프트웨어를 다운로딩하는데 이용될 수 있다. 대안적으로 그리고/또는 추가적으로, 일부 실시예들에서, 특수 목적의 로직 회로, 예를 들어, FPGA(field programmable gate array), DSP 프로세서, 또는 ASIC(application-specific integrated circuit)는 컴퓨팅 시스템(900)의 구현에서 이용될 수 있다. 프로세서-기반 디바이스(910)에 포함될 수 있는 다른 모듈들은 스피커들, 사운드 카드, 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼(trackball)인데, 이들에 의해 사용자가 컴퓨팅 시스템(900)에 입력을 제공할 수 있다. 프로세서-기반 디바이스(910)는 운영 시스템을 포함할 수 있다.
[00115] 컴퓨터 프로그램들(또한, 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로 알려져 있음)은 프로그램가능한 프로세서에 대한 기계 명령들을 포함하며, 하이-레벨 프로시저 및/또는 객체 지향 프로그래밍 언어로 그리고/또는 어셈블리/기계 언어로 구현될 수 있다. 본원에 이용되는 바와 같이, "기계 판독가능한 매체"라는 용어는, 기계 판독가능한 신호로서 기계 명령들을 수신하는 비-일시적 기계 판독가능한 매체를 포함하는, 기계 명령들 및/또는 데이터를 프로그램가능한 프로세서에 제공하는데 이용되는 임의의 비-일시적 컴퓨터 프로그램 물건, 장치 및/또는 디바이스(예를 들어, 자기 디스크들(magnetic discs), 광 디스크들(optical disks), 메모리, PLD(Programmable Logic Device)들)를 지칭한다.
[00116] 메모리는 프로세싱 유닛 내부에서 또는 프로세싱 유닛 외부에서 구현될 수 있다. 본원에 이용되는 바와 같이, "메모리"라는 용어는 임의의 타입의 롱 텀, 쇼트 텀, 휘발성, 비휘발성 또는 다른 메모리를 지칭하며, 임의의 특정 타입의 메모리 또는 임의의 특정 수의 메모리들 또는 메모리가 저장되는 임의의 타입의 매체들에 제한되는 것은 아니다.
[00117] 펌웨어 및/또는 소프트웨어로 구현되는 경우, 기능들은 컴퓨터 판독가능한 매체 상에 하나 또는 둘 이상의 명령들 또는 코드로서 저장될 수 있다. 예들은 데이터 구조를 이용하여 인코딩되는 컴퓨터 판독가능한 매체들 및 컴퓨터 프로그램을 이용하여 인코딩되는 컴퓨터 판독가능한 매체들을 포함한다. 컴퓨터 판독가능한 매체들은 물리적 컴퓨터 저장 매체들을 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 제한이 아닌 예로서, 이러한 컴퓨터 판독가능한 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 반도체 스토리지 또는 다른 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있고; 본원에서 이용되는 바와 같은 디스크(disk 및 disc)는 CD(compact disc), 레이저 디스크(disc), 광 디스크(disc), DVD(digital versatile disc), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 통상적으로 데이터를 자기적으로 재생하는 반면, 디스크(disc)들은 레이저들을 이용하여 데이터를 광학적으로 재생한다. 위의 것들의 결합들은 또한, 컴퓨터 판독가능한 매체들의 범위 내에 포함되어야 한다.
[00118] 컴퓨터 판독가능한 매체 상에서의 저장과 더불어, 명령들 및/또는 데이터는 통신 장치에 포함되는 송신 매체들 상에 신호들로서 제공될 수 있다. 예를 들어, 통신 장치는 명령들 및 데이터를 표시하는 신호들을 가지는 트랜시버를 포함할 수 있다. 명령들 및 데이터는 하나 또는 둘 이상의 프로세싱 유닛들로 하여금 청구항들에서 약술되는 기능들을 구현하게 하도록 구성된다. 즉, 통신 장치는 개시된 기능들을 수행하기 위해 정보를 표시하는 신호들을 이용하는 송신 매체들을 포함한다. 첫 번째로, 통신 장치에 포함되는 송신 매체들은 개시된 기능들을 수행하기 위해 정보의 제 1 부분을 포함할 수 있는 한편, 두 번째로, 통신 장치에 포함되는 송신 매체들은 개시된 기능들을 수행하기 위해 정보의 제 2 부분을 포함할 수 있다.
[00119] 특정 실시예들이 본원에 상세하게 개시되었지만, 이것은 단지 예시를 목적으로, 예로서 행해졌으며, 다음의 첨부된 청구항들의 범위에 관련하여 제한되는 것으로 의도되지 않는다. 특히, 다양한 치환들, 변경들 및 수정들은 청구항들에 의해 정의되는 바와 같은, 본 발명의 사상 및 범위로부터 벗어나지 않으면서 이루어질 수 있다는 것이 참작된다. 다른 양상들, 이점들 및 수정들은 다음의 청구항들의 범위 내에 있는 것으로 고려된다. 제시된 청구항들은 본원에 개시된 실시예들 및 특징들을 표현한다. 다른 청구되지 않은 실시예들 및 특징들 또한 참작된다. 따라서, 다른 실시예들은 다음의 청구항들의 범위 내에 있다.

Claims (48)

  1. 방법으로서,
    디바이스의 방향(orientation)을 측정하기 위한 적어도 하나의 관성 센서를 포함하는 상기 디바이스의 이미지 캡처링 유닛에 의해 씬(scene)의 이미지를 캡처하는 단계;
    상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상기 디바이스의 이미지 캡처링 유닛의 좌표 시스템과 실제 좌표 시스템 사이의 관계를 대표하는 상대적 디바이스 방향을 결정하는 단계;
    상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 결정된 상기 상대적 디바이스 방향과 상기 적어도 하나의 관성 센서에 의해 결정된 측정된 방향 사이의 차이를 계산하는 단계; 및
    상기 측정된 방향과 상기 상대적 디바이스 방향 사이의 계산된 차이가 미리 결정된 임계 값을 초과한다는 결정에 응답하여, 상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 결정된 상기 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 상기 적어도 하나의 관성 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하는 단계를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 상대적 디바이스 방향을 결정하는 단계는,
    상기 이미지 캡처링 유닛의 기준 프레임 및 상기 씬의 기준 프레임에서의 위치 좌표들에 관련된 회전 행렬을 결정하는 단계를 포함하는,
    방법.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상기 상대적 디바이스 방향을 결정하는 단계는,
    상기 씬의 캡처된 이미지에서의 둘 또는 셋 이상의 소실점들의 결정된 위치들에 기초하여 상기 상대적 디바이스 방향을 결정하는 단계를 포함하는,
    방법.
  4. 제 1 항에 있어서,
    상기 결정하는 단계 이후 그리고 상기 계산하는 단계 이전에,
    상기 씬의 캡처된 이미지에서의 상기 적어도 하나의 소실점의 위치로부터 결정된 상기 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 그리고 상기 씬과 연관된 씬 방향 값에 추가로 기초하여, 실제 디바이스 방향을 결정하는 단계를 더 포함하는,
    방법.
  5. 제 4 항에 있어서,
    상기 실제 디바이스 방향을 결정하는 단계는, 상기 이미지 캡처링 유닛에 의해 캡처된 이미지에서 상기 씬에 대응하는 영역(area)을 포함하는 구역(region)에 대한 맵 데이터로부터 상기 씬 방향 값을 리트리브(retrieve)하는 단계를 더 포함하는,
    방법.
  6. 제 1 항에 있어서,
    상기 결정하는 단계 이후 그리고 상기 계산하는 단계 이전에,
    상기 결정된 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 그리고 상기 디바이스의 위치에 대응하는 지리적 특징들과 연관된, 미리 결정된 방향 값에 추가로 기초하여, 실제 디바이스 방향을 결정하는 단계를 더 포함하는,
    방법.
  7. 제 1 항에 있어서,
    상기 결정하는 단계는, 일정 기간의 시간 동안 상기 이미지 캡처링 유닛에 의해 캡처된 복수의 이미지들로부터 결정된 소실점들의 위치들에 적어도 부분적으로 기초하여 결정된 상대적 디바이스 방향 값들에 적어도 부분적으로 기초하여 상대적 디바이스 방향의 변화를 결정하는 단계를 더 포함하고; 그리고
    상기 수행하는 단계는, 상기 일정 기간의 시간 동안 상기 적어도 하나의 관성 센서에 의해 측정된 방향 변화에 기초하여 그리고 결정된 상대적 디바이스 방향의 변화에 기초하여 상기 적어도 하나의 관성 센서를 교정하는 단계를 더 포함하는,
    방법.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 관성 센서는 자이로스코프 또는 자력계 중 하나 또는 둘 이상을 포함하는,
    방법.
  9. 제 1 항에 있어서,
    상기 적어도 하나의 관성 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하는 단계는,
    상기 적어도 하나의 관성 센서가 교정을 요구함을 표시하는, 상기 적어도 하나의 관성 센서에 의해 결정된 상기 측정된 방향과 상기 결정된 상대적 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서를 교정하는 단계;
    상기 적어도 하나의 관성 센서가 교정됨을 표시하는 상기 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서가 교정됨을 결정하는 단계;
    상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭(magnetic interference)의 존재에 대한 표시에 기초하여, 자력계가 교정을 요구함을 표시하는 상기 비교 결과들에 응답하여 상기 자력계를 교정하는 단계; 및
    상기 비교 결과들에 기초하여 그리고 상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 추가로 기초하여, 상기 자력계가 교정됨을 결정하는 단계
    중 하나를 포함하는,
    방법.
  10. 제 9 항에 있어서,
    상기 적어도 하나의 관성 센서를 교정하는 단계는,
    상기 적어도 하나의 관성 센서에 대해, 상기 비교 결과들에 기초하여, 센서 바이어스, 센서 스케일링 또는 센서 오정렬 중 하나 또는 둘 이상을 결정하는 단계를 포함하는,
    방법.
  11. 제 1 항에 있어서,
    상기 상대적 디바이스 방향을 결정하는 단계는,
    상기 씬에 대한 캡처된 이미지의 중심으로부터 상기 적어도 하나의 소실점의 편차를 결정하는 단계를 포함하는,
    방법.
  12. 디바이스로서,
    이미지 캡처링 유닛;
    상기 디바이스의 방향을 측정하기 위한 적어도 하나의 관성 센서; 및
    상기 이미지 캡처링 유닛에 의해 캡처된 씬의 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상기 디바이스의 이미지 캡처링 유닛의 좌표 시스템과 실제 좌표 시스템 사이의 관계를 대표하는 상대적 디바이스 방향을 결정하고;
    상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 결정된 상기 상대적 디바이스 방향과 상기 적어도 하나의 관성 센서에 의해 결정된 측정된 방향 사이의 차이를 계산하고; 그리고
    상기 측정된 방향과 상기 상대적 디바이스 방향 사이의 계산된 차이가 미리 결정된 임계 값을 초과한다는 결정에 응답하여, 상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 결정된 상기 상대적 디바이스 방향에 기초하여, 상기 적어도 하나의 관성 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하도록 구성되는
    제어기를 포함하는,
    디바이스.
  13. 제 12 항에 있어서,
    상기 상대적 디바이스 방향을 결정하도록 구성되는 제어기는,
    상기 이미지 캡처링 유닛의 기준 프레임 및 상기 씬의 기준 프레임에서의 위치 좌표들에 관련된 회전 행렬을 결정하도록 구성되는,
    디바이스.
  14. 제 12 항에 있어서,
    상기 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상기 상대적 디바이스 방향을 결정하도록 구성되는 제어기는,
    상기 씬의 캡처된 이미지에서의 둘 또는 셋 이상의 소실점들의 결정된 위치들에 기초하여 상기 상대적 디바이스 방향을 결정하도록 구성되는,
    디바이스.
  15. 제 12 항에 있어서,
    상기 제어기는,
    상기 씬의 캡처된 이미지에서의 상기 적어도 하나의 소실점의 위치로부터 결정된 상기 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 그리고 상기 씬과 연관된 씬 방향 값에 추가로 기초하여, 실제 디바이스 방향을 결정하도록 추가로 구성되는,
    디바이스.
  16. 제 12 항에 있어서,
    상기 제어기는,
    일정 기간의 시간 동안 상기 이미지 캡처링 유닛에 의해 캡처된 복수의 이미지들로부터 결정된 소실점들의 위치들에 적어도 부분적으로 기초하여 결정된 상대적 디바이스 방향 값들에 적어도 부분적으로 기초하여 상대적 디바이스 방향의 변화를 결정하고; 그리고
    상기 일정 기간의 시간 동안 상기 적어도 하나의 관성 센서에 의해 측정된 방향 변화에 기초하여 그리고 결정된 상대적 디바이스 방향의 변화에 기초하여 상기 적어도 하나의 관성 센서를 교정하도록 추가로 구성되는,
    디바이스.
  17. 제 12 항에 있어서,
    상기 적어도 하나의 관성 센서는 자이로스코프 또는 자력계 중 하나 또는 둘 이상을 포함하는,
    디바이스.
  18. 제 12 항에 있어서,
    상기 적어도 하나의 관성 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하도록 구성되는 상기 제어기는,
    상기 적어도 하나의 관성 센서가 교정을 요구함을 표시하는, 상기 적어도 하나의 관성 센서에 의해 결정된 상기 측정된 방향과 상기 결정된 상대적 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서를 교정하는 것;
    상기 적어도 하나의 관성 센서가 교정됨을 표시하는 상기 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서가 교정됨을 결정하는 것;
    상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 기초하여, 자력계가 교정을 요구함을 표시하는 상기 비교 결과들에 응답하여 상기 자력계를 교정하는 것; 및
    상기 비교 결과들에 기초하여 그리고 상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 추가로 기초하여, 상기 자력계가 교정됨을 결정하는 것
    중 하나를 수행하도록 구성되는,
    디바이스.
  19. 장치로서,
    디바이스의 방향을 측정하기 위한 적어도 하나의 관성 센서를 포함하는 상기 디바이스에 대한 씬의 이미지를 캡처하기 위한 수단;
    상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상기 디바이스의 상기 이미지를 캡처하기 위한 수단의 좌표 시스템과 실제 좌표 시스템 사이의 관계를 대표하는 상대적 디바이스 방향을 결정하기 위한 수단;
    상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 결정된 상기 상대적 디바이스 방향과 상기 적어도 하나의 관성 센서에 의해 결정된 측정된 방향 사이의 차이를 계산하기 위한 수단; 및
    상기 측정된 방향과 상기 상대적 디바이스 방향 사이의 계산된 차이가 미리 결정된 임계 값을 초과한다는 결정에 응답하여, 상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 결정된 상기 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 상기 적어도 하나의 관성 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하기 위한 수단을 포함하는,
    장치.
  20. 제 19 항에 있어서,
    상기 상대적 디바이스 방향을 결정하기 위한 수단은,
    상기 이미지를 캡처하기 위한 수단의 기준 프레임 및 상기 씬의 기준 프레임에서의 위치 좌표들에 관련된 회전 행렬을 결정하기 위한 수단을 포함하는,
    장치.
  21. 제 19 항에 있어서,
    상기 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상기 상대적 디바이스 방향을 결정하기 위한 수단은,
    상기 씬의 캡처된 이미지에서의 둘 또는 셋 이상의 소실점들의 결정된 위치들에 기초하여 상기 상대적 디바이스 방향을 결정하기 위한 수단을 포함하는,
    장치.
  22. 제 19 항에 있어서,
    상기 씬의 캡처된 이미지에서의 상기 적어도 하나의 소실점의 위치로부터 결정된 상기 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 그리고 상기 씬과 연관된 씬 방향 값에 추가로 기초하여, 실제 디바이스 방향을 결정하기 위한 수단을 더 포함하는,
    장치.
  23. 제 19 항에 있어서,
    일정 기간의 시간 동안 상기 이미지를 캡처하기 위한 수단에 의해 캡처된 복수의 이미지들로부터 결정된 소실점들의 위치들에 적어도 부분적으로 기초하여 결정된 상대적 디바이스 방향 값들에 적어도 부분적으로 기초하여 상대적 디바이스 방향의 변화를 결정하기 위한 수단; 및
    상기 일정 기간의 시간 동안 상기 적어도 하나의 관성 센서에 의해 측정된 방향 변화에 기초하여 그리고 결정된 상대적 디바이스 방향의 변화에 기초하여 상기 적어도 하나의 관성 센서를 교정하기 위한 수단을 더 포함하는,
    장치.
  24. 제 19 항에 있어서,
    상기 적어도 하나의 관성 센서는 자이로스코프 또는 자력계 중 하나 또는 둘 이상을 포함하는,
    장치.
  25. 제 19 항에 있어서,
    상기 적어도 하나의 관성 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하기 위한 수단은,
    상기 적어도 하나의 관성 센서가 교정을 요구함을 표시하는, 상기 적어도 하나의 관성 센서에 의해 결정된 상기 측정된 방향과 상기 결정된 상대적 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서를 교정하는 것;
    상기 적어도 하나의 관성 센서가 교정됨을 표시하는 상기 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서가 교정됨을 결정하는 것;
    상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭(magnetic interference)의 존재에 대한 표시에 기초하여, 자력계가 교정을 요구함을 표시하는 상기 비교 결과들에 응답하여 상기 자력계를 교정하는 것; 및
    상기 비교 결과들에 기초하여 그리고 상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 추가로 기초하여, 상기 자력계가 교정됨을 결정하는 것
    중 하나를 수행하기 위한 수단을 포함하는,
    장치.
  26. 프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되는 프로세서 판독가능한 저장 매체로서,
    상기 명령들은, 실행될 때,
    디바이스의 방향을 측정하기 위한 적어도 하나의 관성 센서를 포함하는 상기 디바이스의 이미지 캡처링 유닛에 의해 씬의 이미지를 캡처하는 것;
    상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상기 디바이스의 이미지 캡처링 유닛의 좌표 시스템과 실제 좌표 시스템 사이의 관계를 대표하는 상대적 디바이스 방향을 결정하는 것;
    상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 결정된 상기 상대적 디바이스 방향과 상기 적어도 하나의 관성 센서에 의해 결정된 측정된 방향 사이의 차이를 계산하는 것; 및
    상기 측정된 방향과 상기 상대적 디바이스 방향 사이의 계산된 차이가 미리 결정된 임계 값을 초과한다는 결정에 응답하여, 상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 결정된 상기 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 상기 적어도 하나의 관성 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하는 것을 포함하는 동작들을 야기하는,
    프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되는 프로세서 판독가능한 저장 매체.
  27. 제 26 항에 있어서,
    상기 상대적 디바이스 방향을 결정하는 것은,
    상기 이미지 캡처링 유닛의 기준 프레임 및 상기 씬의 기준 프레임에서의 위치 좌표들에 관련된 회전 행렬을 결정하는 것을 포함하는,
    프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되는 프로세서 판독가능한 저장 매체.
  28. 제 26 항에 있어서,
    상기 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상기 상대적 디바이스 방향을 결정하는 것은,
    상기 씬의 캡처된 이미지에서의 둘 또는 셋 이상의 소실점들의 결정된 위치들에 기초하여 상기 상대적 디바이스 방향을 결정하는 것을 포함하는,
    프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되는 프로세서 판독가능한 저장 매체.
  29. 제 26 항에 있어서,
    상기 씬의 캡처된 이미지에서의 상기 적어도 하나의 소실점의 위치로부터 결정된 상기 상대적 디바이스 방향에 적어도 부분적으로 기초하여, 그리고 상기 씬과 연관된 씬 방향 값에 추가로 기초하여, 실제 디바이스 방향을 결정하는 것을 포함하는 추가 동작들을 야기하기 위한 명령들을 더 포함하는,
    프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되는 프로세서 판독가능한 저장 매체.
  30. 제 26 항에 있어서,
    일정 기간의 시간 동안 상기 이미지 캡처링 유닛에 의해 캡처된 복수의 이미지들로부터 결정된 소실점들의 위치들에 적어도 부분적으로 기초하여 결정된 상대적 디바이스 방향 값들에 적어도 부분적으로 기초하여 상대적 디바이스 방향의 변화를 결정하는 것; 및
    상기 일정 기간의 시간 동안 상기 적어도 하나의 관성 센서에 의해 측정된 방향 변화에 기초하여 그리고 결정된 상대적 디바이스 방향의 변화에 기초하여 상기 적어도 하나의 관성 센서를 교정하는 것을 포함하는 추가 동작들을 야기하기 위한 명령들을 더 포함하는,
    프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되는 프로세서 판독가능한 저장 매체.
  31. 제 26 항에 있어서,
    상기 적어도 하나의 관성 센서는 자이로스코프 또는 자력계 중 하나 또는 둘 이상을 포함하는,
    프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되는 프로세서 판독가능한 저장 매체.
  32. 제 26 항에 있어서,
    상기 적어도 하나의 관성 센서에 대한 하나 또는 둘 이상의 교정 동작들을 수행하는 것은,
    상기 적어도 하나의 관성 센서가 교정을 요구함을 표시하는, 상기 적어도 하나의 관성 센서에 의해 결정된 상기 측정된 방향과 상기 결정된 상대적 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서를 교정하는 것;
    상기 적어도 하나의 관성 센서가 교정됨을 표시하는 상기 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서가 교정됨을 결정하는 것;
    상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 기초하여, 자력계가 교정을 요구함을 표시하는 상기 비교 결과들에 응답하여 상기 자력계를 교정하는 것; 및
    상기 비교 결과들에 기초하여 그리고 상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 추가로 기초하여, 상기 자력계가 교정됨을 결정하는 것
    중 하나를 포함하는,
    프로세서 상에서 실행가능한 명령들의 세트로 프로그래밍되는 프로세서 판독가능한 저장 매체.
  33. 제 1 항에 있어서,
    상기 하나 또는 둘 이상의 교정 동작들을 수행하는 단계는:
    i) 상기 적어도 하나의 관성 센서가 교정을 요구함을 표시하는, 상기 적어도 하나의 관성 센서에 의해 결정된 상기 측정된 방향과 상기 결정된 상대적 디바이스 방향의 비교로부터 생성된 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서를 교정하는 단계;
    ii) 상기 적어도 하나의 관성 센서가 교정됨을 표시하는 상기 비교 결과들에 응답하여, 상기 적어도 하나의 관성 센서가 교정됨을 결정하는 단계;
    iii) 상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 기초하여, 자력계가 교정을 요구함을 표시하는 상기 비교 결과들에 응답하여 상기 자력계를 교정하는 단계;
    iv) 상기 비교 결과들에 기초하여 그리고 상기 측정된 방향의 일시적 잘못된 측정들을 야기하는 자기 간섭의 존재에 대한 표시에 추가로 기초하여, 상기 자력계가 교정됨을 결정하는 단계; 또는
    v) 상기 i) 내지 iv)의 임의의 조합
    을 포함하는,
    방법.
  34. 제 1 항에 있어서,
    상기 씬의 캡처된 이미지에서의 적어도 하나의 소실점의 결정된 위치에 적어도 부분적으로 기초하여 상기 상대적 디바이스 방향을 결정하는 단계는,
    상기 캡처된 이미지에서의 에지(edge) 라인들을 추출하는 단계;
    상기 추출된 에지 라인들 중 미리 결정된 개수의 쌍(pair)들을 선택하는 단계;
    상기 추출된 에지 라인들 중 선택된 쌍들 각각에 대해, 상기 각각의 추출된 에지 라인들의 교차점에 대응하는 소실점 가설(hypothesis)을 결정하는 단계;
    상기 결정된 소실점 가설 각각을 소실점 클러스터들로 클러스터링(clustering)하는 단계; 및
    상기 소실점 클러스터들 중 적어도 하나에서의 중심점을 상기 적어도 하나의 소실점으로서 설정하는 단계를 포함하는,
    상기 캡처된 이미지에서의 적어도 하나의 소실점의 위치를 결정하는 단계를 포함하는,
    방법.
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
KR1020157012418A 2012-10-16 2013-08-22 소실점 결정에 기초하는 센서 교정 및 포지션 추정 KR101639029B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261714508P 2012-10-16 2012-10-16
US61/714,508 2012-10-16
US13/671,390 2012-11-07
US13/671,390 US9135705B2 (en) 2012-10-16 2012-11-07 Sensor calibration and position estimation based on vanishing point determination
PCT/US2013/056127 WO2014062293A1 (en) 2012-10-16 2013-08-22 Sensor calibration and position estimation based on vanishing point determination

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167002632A Division KR20160018847A (ko) 2012-10-16 2013-08-22 소실점 결정에 기초하는 센서 교정 및 포지션 추정

Publications (2)

Publication Number Publication Date
KR20150070277A KR20150070277A (ko) 2015-06-24
KR101639029B1 true KR101639029B1 (ko) 2016-07-12

Family

ID=50475007

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167002632A KR20160018847A (ko) 2012-10-16 2013-08-22 소실점 결정에 기초하는 센서 교정 및 포지션 추정
KR1020157012418A KR101639029B1 (ko) 2012-10-16 2013-08-22 소실점 결정에 기초하는 센서 교정 및 포지션 추정

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167002632A KR20160018847A (ko) 2012-10-16 2013-08-22 소실점 결정에 기초하는 센서 교정 및 포지션 추정

Country Status (7)

Country Link
US (2) US9135705B2 (ko)
EP (2) EP3012804B1 (ko)
JP (2) JP5893802B2 (ko)
KR (2) KR20160018847A (ko)
CN (2) CN107194969B (ko)
ES (1) ES2776674T3 (ko)
WO (1) WO2014062293A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021137628A1 (ko) * 2019-12-31 2021-07-08 재단법인대구경북과학기술원 이동형 측위 장치, 이동 플랫폼 상에서 구현되는 무선 네트워크에서의 위치 측정 방법 및 위치 측정 프로그램

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146260B2 (en) 2001-04-24 2006-12-05 Medius, Inc. Method and apparatus for dynamic configuration of multiprocessor system
US9928425B2 (en) * 2012-06-20 2018-03-27 Apstec Systems Usa Llc Methods and systems for non-cooperative automatic security screening in crowded areas
US10162075B2 (en) * 2012-06-20 2018-12-25 Apstec Systems Usa Llc Non-cooperative automatic security screening with antennas for high cross-polarization discrimination
US9135705B2 (en) 2012-10-16 2015-09-15 Qualcomm Incorporated Sensor calibration and position estimation based on vanishing point determination
US9113077B2 (en) * 2013-01-17 2015-08-18 Qualcomm Incorporated Orientation determination based on vanishing point computation
US8860818B1 (en) 2013-07-31 2014-10-14 Apple Inc. Method for dynamically calibrating rotation offset in a camera system
US9631920B2 (en) * 2013-10-16 2017-04-25 Google Inc. Sensing system for verifying deadbolt engagement
JP6292915B2 (ja) * 2014-02-13 2018-03-14 キヤノン株式会社 表示制御装置及びその制御方法、プログラム
KR102225620B1 (ko) * 2014-04-03 2021-03-12 한화테크윈 주식회사 카메라 모델링 시스템
US9911190B1 (en) * 2014-04-09 2018-03-06 Vortex Intellectual Property Holding LLC Method and computer program for generating a database for use in locating mobile devices based on imaging
US10444030B1 (en) * 2014-05-12 2019-10-15 Inertial Labs, Inc. Automatic calibration of magnetic sensors based on optical image tracking
US9528837B2 (en) * 2014-06-04 2016-12-27 Qualcomm Incorporated Mobile device position uncertainty based on a measure of potential hindrance of an estimated trajectory
US10068336B1 (en) 2015-04-20 2018-09-04 Hrl Laboratories, Llc Generic frontal and side doorway detection with line tracking and vanishing point based verification
US9978149B1 (en) * 2015-04-20 2018-05-22 Hrl Laboratories, Llc System and method for door detection for corridor exploration
KR20170037466A (ko) * 2015-09-25 2017-04-04 엘지전자 주식회사 이동 단말기 및 이의 제어방법
US10012517B2 (en) * 2016-08-01 2018-07-03 Infinity Augmented Reality Israel Ltd. Method and system for calibrating components of an inertial measurement unit (IMU) using scene-captured data
US10304210B2 (en) * 2017-05-25 2019-05-28 GM Global Technology Operations LLC Method and apparatus for camera calibration
US10819449B2 (en) * 2017-05-29 2020-10-27 Robert Bosch (Australia) Pty Ltd Method and system for near-field localization
US11170531B2 (en) * 2017-09-13 2021-11-09 Xiaochun Nie Systems and methods for calibrating imaging and spatial orientation sensors
US10636137B1 (en) * 2017-10-23 2020-04-28 Amazon Technologies, Inc. System for determining object orientations in an image
US11508084B2 (en) 2017-11-01 2022-11-22 Sony Corporation Information processing apparatus and information processing method for accurately estimating a self location
DE102018205065A1 (de) 2018-04-04 2019-10-10 Volkswagen Aktiengesellschaft Verfahren zur Kalibrierung eines Positionssensors in einem Fahrzeug, Computerprogramm, Speichermittel, Steuergerät und Kalibrierstrecke
WO2019206247A1 (en) * 2018-04-27 2019-10-31 Shanghai Truthvision Information Technology Co., Ltd System and method for camera calibration
JP2021122079A (ja) * 2018-05-08 2021-08-26 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
WO2020014683A1 (en) * 2018-07-13 2020-01-16 Kache.AI Systems and methods for autonomous object detection and vehicle following
US20210178250A1 (en) * 2018-08-27 2021-06-17 Digibit, Llc Electronic Motion Sensing Devices and Method of Operating Same
EP3620747A1 (fr) 2018-09-10 2020-03-11 Tissot S.A. Calibration ou reglage de magnetometre
JP7153594B2 (ja) 2019-03-26 2022-10-14 日立建機株式会社 較正作業支援システム
JP7213740B2 (ja) * 2019-04-16 2023-01-27 京セラ株式会社 システム、装置、方法、及び管理プログラム
US11249197B2 (en) 2019-05-03 2022-02-15 Apple Inc. Image-based techniques for stabilizing positioning estimates
US20200348143A1 (en) * 2019-05-03 2020-11-05 Apple Inc. Adjusting heading sensor output based on image data
CN110132280B (zh) * 2019-05-20 2021-07-13 广州小鹏自动驾驶科技有限公司 室内场景下的车辆定位方法、车辆定位装置和车辆
US11699279B1 (en) 2019-06-28 2023-07-11 Apple Inc. Method and device for heading estimation
US11917119B2 (en) 2020-01-09 2024-02-27 Jerry Nims 2D image capture system and display of 3D digital image
IT202000009937A1 (it) * 2020-05-05 2021-11-05 St Microelectronics Srl Metodo di controllo di un apparecchio elettronico eseguito tramite il calcolo di un angolo di apertura, relativo apparecchio elettronico e prodotto software
CN113608576B (zh) * 2020-05-05 2024-06-25 意法半导体股份有限公司 电子装置控制方法、其电子装置和软件产品
US11348277B2 (en) 2020-08-12 2022-05-31 Hong Kong Applied Science and Technology Research Institute Company Limited Apparatus and method for estimating camera orientation relative to ground surface
EP3961525A1 (en) * 2020-08-31 2022-03-02 Koninklijke Philips N.V. Determining a level of interaction experienced by a subject
WO2022104077A1 (en) * 2020-11-13 2022-05-19 Nims, Jerry 2d digital image capture system, frame speed, and simulating 3d digital image sequence
CN113063442B (zh) * 2021-03-17 2024-06-07 深圳市云鼠科技开发有限公司 扫地机器人陀螺仪标定方法、装置、计算机设备及存储器
CN112990117B (zh) * 2021-04-21 2021-08-17 智道网联科技(北京)有限公司 基于智能驾驶系统的安装数据处理方法及装置
CN113566847B (zh) * 2021-07-22 2022-10-11 北京百度网讯科技有限公司 导航校准方法和装置、电子设备、计算机可读介质
US11674727B2 (en) 2021-07-23 2023-06-13 Goodman Manufacturing Company, L.P. HVAC equipment with refrigerant gas sensor
CN118056226A (zh) * 2021-08-06 2024-05-17 埃沃卡尔戈有限责任公司 校准外部摄像机参数的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968094B1 (en) 2000-03-27 2005-11-22 Eastman Kodak Company Method of estimating and correcting camera rotation with vanishing point location
US20060078214A1 (en) 2004-10-12 2006-04-13 Eastman Kodak Company Image processing based on direction of gravity
US20100295948A1 (en) 2009-05-21 2010-11-25 Vimicro Corporation Method and device for camera calibration
US20110115902A1 (en) 2009-11-19 2011-05-19 Qualcomm Incorporated Orientation determination of a mobile station using side and top view images

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000182051A (ja) * 1998-12-14 2000-06-30 Meidensha Corp カメラキャリブレーション方法
EP1623185B1 (en) * 2003-05-09 2010-08-11 Snap-on Incorporated Camera technique for adaptive cruise control (acc) sensor adjustment
US7539557B2 (en) * 2005-12-30 2009-05-26 Irobot Corporation Autonomous mobile robot
JP4757142B2 (ja) 2006-08-10 2011-08-24 キヤノン株式会社 撮影環境校正方法及び情報処理装置
DE102006062061B4 (de) * 2006-12-29 2010-06-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Bestimmen einer Position basierend auf einem Kamerabild von einer Kamera
SG183690A1 (en) * 2007-08-06 2012-09-27 Trx Systems Inc Locating, tracking, and/or monitoring personnel and/or assets both indoors and outdoors
FR2936607B1 (fr) 2008-09-26 2012-10-12 Thales Sa Dispositif de detection optique de position et/ou d'orientation d'objets comprenant au moins un capteur lineaire
US8259174B2 (en) * 2009-02-06 2012-09-04 GM Global Technology Operations LLC Camera auto-calibration by horizon estimation
WO2010146695A1 (ja) * 2009-06-18 2010-12-23 富士通株式会社 画像処理装置および画像処理方法
US8812015B2 (en) * 2009-10-01 2014-08-19 Qualcomm Incorporated Mobile device locating in conjunction with localized environments
CN102103747B (zh) 2009-12-16 2012-09-05 中国科学院电子学研究所 采用参照物高度的监控摄像机外部参数标定方法
TWI401175B (zh) * 2010-06-08 2013-07-11 Automotive Res & Testing Ct Dual vision front vehicle safety warning device and method thereof
US9684989B2 (en) * 2010-06-16 2017-06-20 Qualcomm Incorporated User interface transition between camera view and map view
US8610708B2 (en) * 2010-09-22 2013-12-17 Raytheon Company Method and apparatus for three-dimensional image reconstruction
WO2012044308A1 (en) 2010-09-30 2012-04-05 Hewlett-Packard Development Company, L.P. Projection matrix
US8731303B2 (en) * 2010-12-07 2014-05-20 Sony Corporation Vanishing point estimation system and methods
US9160980B2 (en) 2011-01-11 2015-10-13 Qualcomm Incorporated Camera-based inertial sensor alignment for PND
US20130102334A1 (en) * 2011-10-21 2013-04-25 Qualcomm Incorporated Egress based map region classification
US9147122B2 (en) * 2012-05-31 2015-09-29 Qualcomm Incorporated Pose estimation based on peripheral information
JP5878634B2 (ja) * 2012-08-15 2016-03-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 特徴抽出方法、プログラム及びシステム
US9013617B2 (en) * 2012-10-12 2015-04-21 Qualcomm Incorporated Gyroscope conditioning and gyro-camera alignment
US9135705B2 (en) * 2012-10-16 2015-09-15 Qualcomm Incorporated Sensor calibration and position estimation based on vanishing point determination
US9576183B2 (en) * 2012-11-02 2017-02-21 Qualcomm Incorporated Fast initialization for monocular visual SLAM
US8849308B2 (en) * 2012-11-21 2014-09-30 Apple Inc. Tiling of map data
US9020191B2 (en) * 2012-11-30 2015-04-28 Qualcomm Incorporated Image-based indoor position determination
US9113077B2 (en) * 2013-01-17 2015-08-18 Qualcomm Incorporated Orientation determination based on vanishing point computation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968094B1 (en) 2000-03-27 2005-11-22 Eastman Kodak Company Method of estimating and correcting camera rotation with vanishing point location
US20060078214A1 (en) 2004-10-12 2006-04-13 Eastman Kodak Company Image processing based on direction of gravity
US20100295948A1 (en) 2009-05-21 2010-11-25 Vimicro Corporation Method and device for camera calibration
US20110115902A1 (en) 2009-11-19 2011-05-19 Qualcomm Incorporated Orientation determination of a mobile station using side and top view images

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021137628A1 (ko) * 2019-12-31 2021-07-08 재단법인대구경북과학기술원 이동형 측위 장치, 이동 플랫폼 상에서 구현되는 무선 네트워크에서의 위치 측정 방법 및 위치 측정 프로그램

Also Published As

Publication number Publication date
EP3012804A1 (en) 2016-04-27
KR20160018847A (ko) 2016-02-17
CN104718561A (zh) 2015-06-17
CN104718561B (zh) 2017-11-24
EP3012804B1 (en) 2019-12-11
US9361688B2 (en) 2016-06-07
WO2014062293A1 (en) 2014-04-24
KR20150070277A (ko) 2015-06-24
CN107194969B (zh) 2020-04-24
JP5893802B2 (ja) 2016-03-23
JP2016504561A (ja) 2016-02-12
CN107194969A (zh) 2017-09-22
JP6239659B2 (ja) 2017-11-29
US9135705B2 (en) 2015-09-15
US20140104437A1 (en) 2014-04-17
US20150178924A1 (en) 2015-06-25
EP2909810B1 (en) 2020-01-08
ES2776674T3 (es) 2020-07-31
JP2016154009A (ja) 2016-08-25
EP2909810A1 (en) 2015-08-26

Similar Documents

Publication Publication Date Title
KR101639029B1 (ko) 소실점 결정에 기초하는 센서 교정 및 포지션 추정
US9113077B2 (en) Orientation determination based on vanishing point computation
US9677887B2 (en) Estimating an initial position and navigation state using vehicle odometry
US20150192656A1 (en) Received signal direction determination in using multi-antennas receivers
US9361889B2 (en) Landmark based positioning with verbal input
JP5908584B2 (ja) 長方形の見取り図による建物内のナビゲーションのための方法、デバイス、及び非一時的コンピュータ可読記録媒体
KR101570195B1 (ko) 실내 포지셔닝을 위한 로고 검출
US8427536B2 (en) Orientation determination of a mobile station using side and top view images
KR20130116923A (ko) 이미지 프로세싱에 기초한 카메라-기반 포지션 로케이션 및 네비게이션
KR20160061401A (ko) 하이브리드 포토 네비게이션 및 맵핑
US20170219717A1 (en) Alignment of visual inertial odometry and satellite positioning system reference frames
EP3152586B1 (en) Mobile device position uncertainty based on a measure of potential hindrance of an estimated trajectory
CA3067754A1 (en) Method and system for mobile device dual stream localization in a magnetic distortion region

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant