KR20150130383A - 콘텍스트 인식 로컬화, 매핑, 및 트래킹 - Google Patents

콘텍스트 인식 로컬화, 매핑, 및 트래킹 Download PDF

Info

Publication number
KR20150130383A
KR20150130383A KR1020157027802A KR20157027802A KR20150130383A KR 20150130383 A KR20150130383 A KR 20150130383A KR 1020157027802 A KR1020157027802 A KR 1020157027802A KR 20157027802 A KR20157027802 A KR 20157027802A KR 20150130383 A KR20150130383 A KR 20150130383A
Authority
KR
South Korea
Prior art keywords
context
computer vision
task
sensor
computer
Prior art date
Application number
KR1020157027802A
Other languages
English (en)
Other versions
KR101722588B1 (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 KR20150130383A publication Critical patent/KR20150130383A/ko
Application granted granted Critical
Publication of KR101722588B1 publication Critical patent/KR101722588B1/ko

Links

Images

Classifications

    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computational Linguistics (AREA)
  • Position Input By Displaying (AREA)
  • Image Analysis (AREA)
  • Navigation (AREA)

Abstract

예시적인 방법들, 장치들, 및 시스템들은 사용자 또는 디바이스의 콘텍스트를 추론한다. 컴퓨터 비전 파라미터는 추론된 콘텍스트에 따라 구성된다. 구성된 컴퓨터 비전 파라미터에 따라 컴퓨터 비전 태스크를 수행한다. 컴퓨터 비전 태스크는, 디바이스의 환경의 시각적인 매핑, 디바이스의 환경 내의 디바이스 또는 오브젝트의 시각적인 로컬화, 또는 디바이스의 환경 내의 디바이스의 시각적인 트래킹 중 적어도 하나에 의한 것일 수도 있다.

Description

콘텍스트 인식 로컬화, 매핑, 및 트래킹{CONTEXT AWARE LOCALIZATION, MAPPING, AND TRACKING}
[0001] 본 명세서에 기재된 요지는 일반적으로, 매핑, 로컬화, 및 트래킹에 관한 것이다.
[0002] 컴퓨터 비전 시스템들은 일반적으로, 예를 들어, 결정들의 형태들로 수치 또는 심볼 정보를 생성하기 위해 실제 세계로부터의 이미지들 및 일반적으로는 고차원 데이터를 포착, 프로세싱, 분석, 및 이해하기 위한 방법들을 포함한다. 컴퓨터 비전에서 하나의 알려진 문제점은, 이미지 데이터가 특정한 오브젝트들, 피쳐들, 또는 활동들을 포함하는지를 결정하는 것이다. 사람들은 전술된 문제점을 신속히 해결할 수 있을 수도 있지만, 컴퓨터 비전 시스템들의 분야는 여전히, 임의의 상황들에서 임의의 오브젝트들의 일반적인 경우에 대해 개발 파악중이다.
[0003] 강인한 컴퓨터 비전 알고리즘들은 증강 현실 사용의 경우들에 매우 유익하다. 특정한 태스크를 달성하기 위한 다양한 알고리즘들 및 파라미터들이 존재할 수도 있다. 많은 컴퓨터 비전 알고리즘들은, 파라미터들 또는 특성들에 대한 선택들에 의존하며, 특정한 시나리오에 대한 특정한 전환(turning)에 의존한다. 보편적인(universal) 파라미터들 또는 알고리즘들의 어떠한 세트도 모든 시나리오들에 대해 작동하지는 않을 수도 있으며, 부가적인 정보 없이 “즉시(on the fly)” 이들 파라미터들을 추론하는 것은 어렵다.
[0004] 따라서, 개선된 컴퓨터 비전 기술들이 바람직하다.
[0005] 본 명세서에 기재된 실시예들은 컴퓨터 비전 태스크를 수행하기 위한 방법에 관한 것일 수도 있다. 방법은, 사용자 또는 디바이스의 콘텍스트(context)를 추론하는 단계, 및 추론된 콘텍스트에 따라 컴퓨터 비전 태스크를 구성하는 단계를 포함할 수도 있다. 방법은, 디바이스의 환경의 시각적인 매핑, 디바이스의 환경 내의 디바이스 또는 오브젝트의 시각적인 로컬화, 또는 디바이스의 환경 내의 디바이스의 시각적인 트래킹 중 적어도 하나를 포함하는 컴퓨터 비전 태스크를 수행하는 단계를 더 포함할 수도 있다.
[0006] 본 명세서에 기재된 실시예들은, 방법을 수행하기 위한 명령들을 갖는 머신 판독가능 비-일시적인 저장 매체에 관한 것일 수도 있으며, 방법은 컴퓨터 비전 태스크를 포함한다. 방법은, 사용자 또는 디바이스의 콘텍스트를 추론하는 단계, 및 추론된 콘텍스트에 따라 컴퓨터 비전 태스크를 구성하는 단계를 더 포함할 수도 있다. 방법은, 디바이스의 환경의 시각적인 매핑, 디바이스의 환경 내의 디바이스 또는 오브젝트의 시각적인 로컬화, 또는 디바이스의 환경 내의 디바이스의 시각적인 트래킹 중 적어도 하나를 포함하는 컴퓨터 비전 태스크를 수행하는 단계를 더 포함할 수도 있다.
[0007] 본 명세서에 기재된 실시예들은 또한, 컴퓨터 비전 태스크를 수행하기 위한 수단을 포함하는 장치에 관한 것일 수도 있다. 장치는, 사용자 또는 디바이스의 콘텍스트를 추론하는 것, 및 추론된 콘텍스트에 따라 컴퓨터 비전 태스크를 구성하는 것을 더 포함한다. 장치는, 디바이스의 환경의 시각적인 매핑, 디바이스의 환경 내의 디바이스 또는 오브젝트의 시각적인 로컬화, 또는 디바이스의 환경 내의 디바이스의 시각적인 트래킹 중 적어도 하나를 포함하는 컴퓨터 비전 태스크를 수행하는 것을 더 포함할 수도 있다.
[0008] 본 명세서에 기재된 실시예들은 추가적으로, 프로세서, 및 컴퓨터 비전 태스크를 수행하기 위한 명령들을 저장하도록 구성가능한 저장 디바이스를 포함하는 데이터 프로세싱 시스템에 관한 것일 수도 있다. 데이터 프로세싱 시스템은, 사용자 또는 디바이스의 콘텍스트를 추론하고, 추론된 콘텍스트에 따라 컴퓨터 비전 태스크를 구성하며, 컴퓨터 비전 태스크를 수행하도록 추가적으로 구성된다. 컴퓨터 비전 태스크는, 디바이스의 환경의 시각적인 매핑, 디바이스의 환경 내의 디바이스 또는 오브젝트의 시각적인 로컬화, 또는 디바이스의 환경 내의 디바이스의 시각적인 트래킹 중 적어도 하나를 위해 추가적으로 구성된다.
[0009] 다른 특성들 및 이점들은 첨부한 도면들 및 상세한 설명으로부터 명백할 것이다.
[0010] 도 1은 일 실시예에 따른, 본 발명의 양상들이 실시될 수도 있는 시스템의 블록도이다.
[0011] 도 2는 일 실시예에 따른, 센서들 및 예시적인 프로세싱 모듈들을 포함하는 시스템의 서브섹션을 도시한 블록도이다.
[0012] 도 3은 로컬화, 매핑, 및 트래킹을 위한 방법의 일 실시예의 흐름도를 도시한다.
[0013] 단어 "예시적인" 또는 "예"는 예, 예시, 또는 예증으로서 기능하는 것을 의미하도록 본 명세서에서 사용된다. "예시적인" 것 또는 "예"로서 본 명세서에 설명된 임의의 양상 또는 실시예는 다른 양상들 또는 실시예들에 비해 반드시 바람직하거나 유리한 것으로서 해석될 필요는 없다.
[0014] 도 1은, 본 명세서에 설명된 실시예들이 실시될 수도 있는 예시적인 데이터 프로세싱 시스템을 도시한 블록도이다. 시스템은, 하나 또는 그 초과의 프로세서들(101), 메모리(105), I/O 제어기(125), 및 네트워크 인터페이스(110)를 포함할 수도 있는 디바이스(예를 들어, 디바이스(100))일 수도 있다. 디바이스(100)는 또한, 프로세서(101)에 추가적으로 커플링된 하나 또는 그 초과의 버스들 또는 신호 라인들에 커플링된 다수의 디바이스 센서들을 포함할 수도 있다. 디바이스(100)가 또한, 디스플레이(120), 사용자 인터페이스(예를 들어, 키보드, 터치-스크린, 또는 유사한 디바이스들), 전력 디바이스(121)(예를 들어, 배터리) 뿐만 아니라 전자 디바이스들과 통상적으로 연관된 다른 컴포넌트들을 포함할 수도 있음을 인식해야 한다. 몇몇 실시예들에서, 디바이스는 모바일 또는 비-모바일 디바이스일 수도 있다. 네트워크 인터페이스(110)는 또한, 무선 링크를 통해 무선 네트워크로 데이터 스트림들을 송신하고 무선 네트워크로부터 데이터 스트림들을 수신하기 위해 다수의 무선 서브시스템들(115)(예를 들어, 블루투스(166), WiFi(111), 셀룰러(161), 또는 다른 네트워크들)에 커플링될 수도 있거나, 또는 네트워크들(예를 들어, 인터넷, 이더넷, 또는 다른 무선 시스템들)로의 직접 접속을 위한 유선 인터페이스일 수도 있다. 따라서, 디바이스는, 모바일 디바이스, 무선 디바이스, 셀 폰, 개인 휴대 정보 단말, 모바일 컴퓨터, 웨어러블(wearable) 디바이스(예를 들어, 헤드 탑재된 디스플레이, 가상 현실 글래스들 등), 로봇 내비게이션 시스템, 태블릿, 개인용 컴퓨터, 랩탑 컴퓨터, 또는 프로세싱 능력들을 갖는 임의의 타입의 디바이스일 수도 있다.
[0015] 디바이스(예를 들어, 디바이스(100))는, 클록(130), 주변 광 센서(ALS)(135), 가속도계(140), 자이로스코프(145), 마그노미터(magnetometer)(150), 온도 센서(151), 기압(arometric pressure) 센서(155), 레드-그린-블루(RGB) 컬러 센서(152), 자외선(UV) 센서(153), UV-A 센서, UV-B 센서, 지문 센서, 터치 센서, 나침반, 블루투스(166), WiFi(111), 셀룰러(161), 근접도 센서(167) 및/또는 글로벌 포지셔닝 센서(GPS)(160)와 같은 센서들을 포함할 수 있다. 몇몇 실시예들에서, 마이크로폰(165), 카메라(170), 및/또는 무선 서브시스템(115)은, 디바이스의 환경을 분석하기 위해 센서들로서 사용된다. 몇몇 실시예들에서, 다수의 카메라들은 디바이스에 통합되거나 또는 디바이스에 액세스가능하다. 예를 들어, 모바일 디바이스는 적어도, 전면 및 후면 탑재된 카메라를 가질 수도 있다. 다른 예에서, 로봇 내비게이션 시스템은, 로봇의 다양한 시점들을 캡쳐하기 위해 다수의 상이한 카메라들을 가질 수도 있다. 몇몇 실시예들에서, 다른 센서들은 또한, 다수의 카피들 또는 버전들을 가질 수도 있다.
[0016] 메모리(105)는 프로세서(101)에 의한 실행을 위한 명령들을 저장하도록 프로세서(101)에 커플링될 수도 있다. 몇몇 실시예들에서, 메모리(105)는 비-일시적이다. 메모리(105)는 또한, 후술되는 실시예들을 구현하기 위한 하나 또는 그 초과의 모델들 또는 모듈들을 저장할 수도 있다. 메모리(105)는 또한, 통합된 또는 외부 센서들로부터의 데이터를 저장할 수도 있다. 부가적으로, 메모리(105)는, 모듈들(171)(예를 들어, 애플리케이션 데이터 모듈, 콘텍스트 모듈, 로컬화 모듈, 매핑 모듈, 및 트래킹 모듈)에 액세스하기 위한 애플리케이션 프로그램 인터페이스(API)들을 저장할 수도 있다. 메모리(105)는 또한, 이전에-정의된 특성 스케줄링 정보를 규정하는 구성 파일들, 트레이닝(training) 데이터 샘플, 센서 데이터 샘플, 또는 클래스들 또는 특성들에 관련된 전력 프로파일들을 저장할 수도 있다. 모듈들(171)이 디바이스(100) 내의 다른 엘리먼트들과는 별개인 것으로 도시되지만, 모듈(171)은, 도 1에 도시된 다른 엘리먼트들에 의해, 예를 들어, 프로세서(101) 및/또는 메모리(105), 또는 디바이스(100)의 다른 프로세서 및/또는 메모리 또는 디바이스(100)의 하나 또는 그 초과의 다른 엘리먼트들에서 전체적으로 또는 부분적으로 구현될 수도 있다. 모듈(171)의 구현에 대한 부가적인 세부사항들은 후술된다.
[0017] 후술될 바와 같이 본 명세서에 설명된 시스템들 및 방법의 실시예들이, 디바이스의 프로세서(101) 및/또는 디바이스의 다른 회로 및/또는 다른 디바이스들에 의한, 예를 들어, 메모리(105) 또는 다른 엘리먼트에 저장된 바와 같은 명령들의 실행을 통해 구현될 수도 있음을 인식해야 한다. 특히, 프로세서(101)를 포함하지만 이에 제한되지는 않는 디바이스의 회로는, 본 발명의 실시예들에 따른 방법들 또는 프로세스들을 실행하기 위해 프로그램의 제어, 루틴, 또는 명령들의 실행 하에서 동작할 수도 있다. 예를 들어, 그러한 프로그램은, (예를 들어, 메모리(105) 및/또는 다른 위치들에 저장된) 펌웨어 또는 소프트웨어로 구현될 수도 있으며, 프로세서(101)와 같은 프로세서들 및/또는 디바이스의 다른 회로에 의해 구현될 수도 있다. 추가적으로, 용어들 프로세서, 마이크로프로세서, 회로, 제어기 등이 로직, 커맨드들, 명령들, 소프트웨어, 펌웨어, 기능 등을 실행할 수 있는 임의의 타입의 로직 또는 회로를 지칭할 수도 있음을 인식해야 한다.
[0018] 추가적으로, 본 명세서에 설명된 기능들, 엔진들 또는 모듈들 중 몇몇 또는 모두가 디바이스 그 자체에 의해 수행될 수도 있고 그리고/또는 본 명세서에 설명된 기능들, 엔진들 또는 모듈들 중 몇몇 또는 모두가 I/O 제어기(125) 또는 네트워크 인터페이스(110)를 통하여 (무선으로 또는 유선으로) 디바이스에 접속된 다른 시스템에 의해 수행될 수도 있음을 인식해야 한다. 따라서, 기능들 중 몇몇 및/또는 모두는 다른 시스템에 의해 수행될 수도 있으며, 결과들 또는 중간 계산들은 다시 디바이스에 전달될 수도 있다. 몇몇 실시예들에서, 그러한 다른 디바이스는 실시간으로 또는 거의 실시간으로 정보를 프로세싱하도록 구성된 서버를 포함할 수도 있다. 몇몇 실시예들에서, 다른 디바이스는, 예를 들어, 디바이스의 알려진 구성에 기초하여 결과들을 미리 결정하도록 구성된다. 추가적으로, 도 1에 도시된 엘리먼트들 중 하나 또는 그 초과는 디바이스(100)로부터 생략될 수도 있다. 예를 들어, 몇몇 실시예들에서, 센서들(130-165) 중 하나 또는 그 초과가 생략될 수도 있다.
[0019] 디바이스(예를 들어, 디바이스(100))는, 환경 정보를 수집하고 디바이스와 연관된 콘텍스트를 추론하기 위해 하나 또는 그 초과의 센서들 또는 애플리케이션 데이터를 사용할 수도 있다. 일 실시예에서, 콘텍스트 인식 로컬화, 매핑, 및 트래킹(CALMT)은, 단지 몇몇 예를 들자면, 어떤 이미지 기반 특성들이 적용되는지, 오브젝트들 또는 환경들의 적절한 모델들 또는 표현들, 주어진 로컬화, 매핑, 및 트래킹 태스크를 위한 최적화된 구현들, 최적의 파라미터 셋팅들, 효율적인 센서 샘플링 정책들, 및 매핑, 로컬화, 또는 트래킹을 초기화시킬 때 중 하나 또는 그 초과를 결정할 수 있다.
[0020] 본 명세서에서 사용된 바와 같이, 콘텍스트 및 콘텍스트형 정보는, 디바이스(예를 들어, 디바이스(100))의 상황 또는 디바이스의 사용자의 상황을 특성화하는데 사용될 수 있는 임의의 정보일 수 있다. 몇몇 실시예들에서, 콘텍스트는 더 상세히 후술되는 바와 같이, 위치, 모션, 활동, 및 환경 중 하나 또는 그 초과를 포함할 수 있다.
[0021] 도 2는 일 실시예에서, 센서들(205) 및 예시적인 프로세싱 모듈들(171)을 포함하는 디바이스(100)의 서브섹션을 도시한 블록도이다. 모듈들(171)은 하드웨어 또는 펌웨어로 직접, 예를 들어, 전용 프로세서 또는 중앙 프로세싱 유닛(예를 들어, 프로세서(101))을 공유하는 구현을 갖는 디바이스(100)의 서브컴포넌트로서 구현될 수도 있다. 대안적으로, 모듈들은, 프로세서에 의해 실행되는 소프트웨어로 또는 소프트웨어와 하드웨어의 결합을 이용하여 구현될 수도 있다. 소프트웨어 모듈은 메모리, 예를 들어, 메모리(105) 또는 당업계에 알려진 다른 형태의 저장 매체들에 상주할 수도 있다. 본 명세서에 설명된 모듈들은, 다양한 대안적인 구현들로 구현될 수 있는 컴퓨터 비전 태스크들의 양상들을 수행하기 위한 기능 프로세스를 표현할 수도 있다. 로컬화 모듈(215), 매핑 모듈(210), 트래킹 모듈(220), 콘텍스트 모듈(225), 및 애플리케이션 데이터 모듈(230)이 도 2에 별개로 도시되지만, 이들 모듈들 중 하나 또는 그 초과의 기능은 결합될 수도 있거나, 또는 상술된 것과 상이한 방식으로 분산될 수도 있다. 예를 들어, 몇몇 실시예들에서, 콘텍스트 모듈(225) 및 트래킹 모듈(220), 또는 로컬화 모듈, 또는 매핑 모듈이 결합될 수도 있다. 유사하게, 몇몇 실시예들에서, 콘텍스트 모듈 및 애플리케이션 데이터 모듈이 결합될 수도 있다. 몇몇 실시예들에서, 본 명세서에서 설명된 바와 같은 CALMT는 모듈로서 구현되며, 상술된 모듈들(예를 들어, 트래킹, 매핑, 로컬화, 분류기, 콘텍스트, 및 애플리케이션 데이터)은 CALMT 시스템 또는 모듈의 서브-모듈들 또는 컴포넌트들이다. 모듈들의 다른 결합들이 또한, 모듈들(171) 중 임의의 모듈을 사용하여 가능하다.
[0022] 센서들(205)은, 클록(130), 주변 광 센서(ALS)(135), 가속도계(140), 자이로스코프(145), 마그노미터(150), 온도 센서(151), 마이크로폰(165), 기압 센서(155), 카메라(170), 레드-그린-블루(RGB) 컬러 센서(152), 자외선(UV) 센서(153), UV-A 센서, UV-B 센서, 지문 센서, 터치 센서, 나침반, 블루투스(166), WiFi(111), 셀룰러(161), 근접도 센서(167) 및/또는 글로벌 포지셔닝 센서(GPS)(160) 또는 다른 센서들 중 임의의 하나 또는 그 초과를 포함할 수도 있다.
[0023] 일 실시예에서, 로컬화, 트래킹, 및 매핑 모듈들은 더 상세히 후술되는 바와 같이, 로컬화, 트래킹, 및 매핑 태스크들 중 하나 또는 그 초과를 수행할 수 있다. 일 실시예에서, 로컬화, 트래킹, 및 매핑 모듈들은 콘텍스트 모듈(225)로부터 콘텍스트 결정을 수신 또는 요청할 수 있다. 콘텍스트 모듈(225)은, 센서들(205) 및 애플리케이션 데이터 모듈(230)로부터 센서 데이터를 요청 및 수신할 수도 있다. 다른 실시예들에서, 로컬화, 트래킹, 및 매핑 모듈들은, 콘텍스트 모듈(225)의 보조 없이 콘텍스트 결정을 수행하도록 구성될 수도 있으며, 로컬화, 트래킹, 및 매핑 모듈들은 센서들(205) 및 애플리케이션 데이터 모듈(230)로부터 데이터를 직접 요청 및 수신할 수도 있다.
[0024] 도 3은 일 실시예에서, 콘텍스트 인식 로컬화, 매핑, 및 트래킹을 위한 방법의 흐름도를 도시한다. 블록(305)에서, CALMT는 사용자 또는 디바이스의 콘텍스트를 추론할 수 있다. 다른 실시예들에서, CALMT는 구성 파일로부터 또는 콘텍스트 모듈로부터 직접 콘텍스트를 수신할 수도 있다. 콘텍스트 결정에 대한 세부사항들은 더 상세히 후술된다.
[0025] 블록(310)에서, CALMT는 추론된 콘텍스트에 따라 컴퓨터 비전 태스크를 구성할 수 있다. 예를 들어, 컴퓨터 비전 태스크는 복수의 로컬화, 매핑, 및 트래킹 중 하나 또는 그 초과일 수도 있다. 추론된 콘텍스트는 하나 또는 그 초과의 센서 스트림들(예를 들어, 센서들(205)) 또는 애플리케이션들(예를 들어, 애플리케이션 데이터 모듈(230))로부터의 것일 수도 있다. 예를 들어, 디바이스 또는 사용자의 환경(예를 들어, 위치, 환경, 활동, 또는 모션)에 의존하여, CALMT는, 특정한 로컬화, 매핑, 및 트래킹 구현에 적용할 최적화 파라미터들을 매칭하는 것을 지칭할 수 있다.
[0026] 블록(315)에서, CALMT는 컴퓨터 비전 태스크를 수행할 수 있다. 예를 들어, CALMT는, 최적화된 프로파일 또는 구성(예를 들어, 콘텍스트에 따라 구성된 컴퓨터 비전 파라미터)에 따라 로컬화, 매핑, 및 트래킹 중 하나 또는 그 초과를 실행할 수도 있다.
[0027] 일 실시예에서, 콘텍스트는, 디바이스 또는 사용자의 위치, 모션, 활동, 및 환경에 관련된다. CALMT는, 디바이스 및 사용자가 동작하고 있는 환경들에 대한 정보를 획득할 수도 있으며, 법칙들 또는 지능형 자극(intelligent stimulus)에 기초하여, 그에 따라 반응할 수 있다. 콘텍스트를 결정할 시에, CALMT 또는 콘텍스트 모듈은, 디바이스 및/또는 사용자의 현재 상황에 대한 특정한 가정들 또는 추론들을 행할 수도 있다. 몇몇 실시예들에서, 디바이스는 연관된 사용자(예를 들어, 로봇 내비게이션)를 갖지 않을 수도 있으며, 콘텍스트는, 임의의 사용자와 관계없이 디바이스의 환경 및 주변들에 대부분 관련될 수도 있다.
[0028] 몇몇 실시예들에서, 콘텍스트는 콘텍스트 엔진 또는 모듈에 의해 결정될 수도 있다. 콘텍스트 엔진 또는 모듈은 CALMT와는 별개의 엔진 또는 모듈일 수도 있거나, 또는 콘텍스트 엔진 또는 모듈은 CALMT로 통합될 수도 있다.
[0029] 몇몇 실시예들에서, 디바이스가 모바일 디바이스(예를 들어, 스마트폰, 내비게이션, 웨어러블 컴퓨터, 또는 다른 전자 휴대용 디바이스)인 경우, CALMT는, 콘텍스트를 결정하기 위해 사용자들이 그들의 모바일 디바이스와 통상적으로 어떻게 상호작용하는지(예를 들어, 활동 콘텍스트)를 사용할 수도 있다. 예를 들어, 모바일 디바이스 내의 가속도계가 겉보기에 랜덤한 판독들을 기록하면, 콘텍스트 엔진 또는 CALMT는, 가속도계가 모바일 디바이스에 커플링된다고 결정할 시에, 사용자가 모바일 디바이스를 만지작거린다(fidget)고 추론할 수도 있다.
[0030] CALMT는, 하나 또는 그 초과의 디바이스 센서들(예를 들어, 센서들(205))로부터 로우(raw) 센서 데이터를 판독할 수도 있다. 예를 들어, 센서는, 클록(130), 주변 광 센서(ALS)(135), 가속도계(140), 자이로스코프(145), 마그노미터(150), 온도 센서(151), 마이크로폰(165), 기압 센서(155), 카메라(170), 레드-그린-블루(RGB) 컬러 센서(152), 자외선(UV) 센서(153), UV-A 센서, UV-B 센서, 지문 센서, 터치 센서, 나침반, 블루투스(166), WiFi(111), 셀룰러(161), 근접도 센서(167) 및/또는 글로벌 포지셔닝 센서(GPS)(160) 또는 다른 센서들을 포함할 수도 있다. 디바이스는, 디바이스의 콘텍스트(즉, 위치, 모션, 활동, 및 환경)를 추론하기 위해 센서들을 사용할 수도 있다. 예를 들어, CALMT는, 콘텍스트(들)를 결정하기에 유용한 환경 내에서 오브젝트들 및 특성들을 검출하기 위해 센서들을 사용할 수도 있다.
[0031] 몇몇 실시예들에서, CALMT는, 로우 센서 데이터에 부가적으로 또는 그 대신에 소프트(soft) 센서 데이터 및 애플리케이션 데이터(예를 들어, 애플리케이션 데이터 모듈(230))를 판독 또는 프로세싱할 수도 있다. 애플리케이션 데이터는, 단지 몇몇 예를 들자면, 캘린더, 지오 태깅, 소셜 미디어 데이터(예를 들어, 페이스북, 트위터, 링크드인 등), 배터리, 시각(time of day)과 같은 하나 또는 그 초과의 모바일 또는 디바이스 애플리케이션들로부터의 데이터를 포함할 수도 있다. 예를 들어, 소셜 네트워크 친구들에 근접해 있는 것 또는 위치들에 "체크인"하는 것에 기초하여, 그 데이터는 디바이스 위치 또는 활력(dynamism)을 결정하는데 사용될 수 있다.
[0032] 몇몇 실시예들에서, 하나 또는 그 초과의 센서들 또는 애플리케이션들로부터의 데이터를 레버리지(leverage)할 경우, CALMT는 디바이스 또는 사용자의 콘텍스트를 추론할 수 있다. 예를 들어, CALMT는, 높은 농도의 인접한 디바이스들이 블루투스 신호들을 브로드캐스팅하고 있다고 결정하기 위해 블루투스 데이터를 판독할 수도 있으며, 따라서, 모바일 디바이스가 쇼핑몰, 오피스 공간, 농산물 직판장(farmer market), 또는 많은 수의 다른 사람들이 근접해있는 다른 환경(예를 들어, 위치)과 같은 도시 환경에 존재할 가능성이 있을 수도 있다.
[0033] 몇몇 실시예들에서, 위치 콘텍스트는 단지 몇몇 예를 들자면, 홈, 오피스, 복도, 몰(mall), 쇼핑 영역, 레스토랑, 실내, 및 실외를 포함할 수도 있다.
[0034] 몇몇 실시예들에서, 모션 콘텍스트는 단지 몇몇 예를 들자면, 정적, 걷기, 뛰기, 앉기, 서있기, 자동차를 운전함, 바이크를 타고 있음, 기차에 타고 있음, 비행기 내에서 운항중임, 및 디바이스로 빈둥거림(fiddle)을 포함할 수도 있다.
[0035] 몇몇 실시예들에서, 활동 콘텍스트는 단지 몇몇 예를 들자면, 텔레비전을 시청함, 놀이를 하고 있음(playing), 독서중, 글쓰기중, 사람을 만나고 있음, 스크린을 보고 있음, 프리젠테이션을 하고 있음, 식사중, 쇼핑중, 요리중, 미팅에 참석중, 홀로 일하고 있음, 대화에 참여중임, 운동중, 전화통화중, 음악 청취중, 및 수면중을 포함할 수도 있다.
[0036] 몇몇 실시예들에서, 환경 콘텍스트는 단지 몇몇 예를 들자면, 밝음, 주간, 야간, 흐림, 비옴, 및 눈옴을 포함할 수도 있다. 본 명세서에서 사용된 바와 같이, 환경 콘텍스트는, 디바이스가 사용자 사람/근방에 있으면, 특정한 디바이스(예를 들어, CALMT를 실행하거나 CALMT와 통합된 디바이스) 또는 사용자의 환경에 관련된다.
[0037] 일 실시예에서, 콘텍스트는, 위치, 모션, 활동, 및 환경의 서브 카테고리들로 추가적으로 카테고리화될 수도 있다. 예를 들어, 위치 콘텍스트는, 실내 콘텍스트, 실외 콘텍스트, 깔끔(uncluttered) 콘텍스트, 지저분한(cluttered) 콘텍스트를 포함할 수도 있다. 또한, 모션 콘텍스트는 흥분됨 또는 흥분되지 않음 콘텍스트를 포함할 수도 있다. 본 명세서에서 사용된 바와 같이, 콘텍스트는 2개 또는 그 초과의 호환가능한 콘텍스트들(예를 들어, 실내, 깔끔 및 흥분됨, 또는 임의의 수의 결합들)일 수도 있다.
[0038] 몇몇 실시예들에서, CALMT는, 다수의 시각적인 위성들 및 각각의 수신된 신호 강도들(RSSI)을 결정하기 위해 GPS(예를 들어, GPS(160))를 사용할 수 있다. 예를 들어, 위성 수신 및 RSSI에 기초하여, CALMT는, 디바이스가 실내 또는 실외라고 추론할 수 있다. 예를 들어, 위성 수신없음/약한 위성 수신 및 낮은 RSSI는, 디바이스가 실내라고 추론할 수도 있다.
[0039] 몇몇 실시예들에서, CALMT는, 콘텍스트를 결정하기 위해 (예를 들어, 애플리케이션 데이터 모듈(230), 또는 CALMT가 액세스가능한 애플리케이션 데이터로부터의) 지오 태깅을 사용할 수 있다. CALMT는 광범위하게 다양한 위치-특정 정보를 탐색하기 위해 지오 태깅을 사용할 수 있다. 예를 들어, 주어진 위치(예를 들어, GPS로부터 결정된 위도 및 경도 좌표들)에 대해, 위치-기반 정보, 통계들, 전망/빌딩 피쳐들, 또는 다른 리소스들이 이용가능할 수도 있다. 또한, 특정한 위치에 대한 많은 양의 지오 태깅 정보의 존재는, 환경의 다이내믹(dynamic)이 어떻게 존재하는지를 추론할 수도 있다. 예를 들어, 일 실시예에서, 관광 영역들 및 쇼핑몰들은 더 많은 양의 지오 태깅 정보를 가질 수도 있다.
[0040] 몇몇 실시예들에서, CALMT는 콘텍스트를 결정하기 위해 WiFi(예를 들어, WiFi(111))를 사용할 수 있다. 예를 들어, 가시적인 액세스 포인트들의 수 및 그들 각각의 RSSI들은, 디바이스가 실내인지 또는 실외인지를 표시할 수도 있다. 추가적으로, WiFi 기반 포지셔닝은, 빌딩 내의 룸(room)(예를 들어, 회의 룸들, 오피스 룸들, 미팅 룸들, 홈 등)을 추론하기 위해 사용될 수 있다. 몇몇 실시예들에서, 추론된 위치들은, 연관된 시맨틱(semantic) 의미(예를 들어, 미팅 룸 대 오피스 내부)를 이용하여 더 정밀한 위치를 추가적으로 결정하기 위해 맵과 비교될 수 있다. 또한, WiFi 접속들의 양/이용가능성은, 환경이 얼마나 다이내믹한지를 표시할 수도 있다. 예를 들어, 오피스 또는 쇼핑몰은 평균 수의 WiFi 접속들보다 더 많은 WiFi 접속들을 가질 수도 있으며, 동적인 환경들이다.
[0041] 몇몇 실시예들에서, CALMT는, 디바이스 또는 사용자의 환경 내에서 오디오 방향 또는 오디오 레벨들을 검출하기 위해 마이크로폰(예를 들어, 마이크로폰(165))을 사용할 수 있다. 몇몇 실시예들에서, CALMT는, 스피치 환경(즉, 스피치의 존재 또는 부재), (가급적 사전-습득된 라벨들을 갖는) 오디오 클러스터들을 결정하기 위해 타겟 사운드 검출을 수행할 수 있으며, 사용자 및 디바이스 상황을 추론하기 위해 이러한 정보를 사용할 수 있다. 예를 들어, 마이크로폰 센서 데이터 또는 오디오 샘플들을 프로세싱하는 것에 기초하여, CALMT는, 디바이스 또는 사용자가 실내에 있거나 실외에 있다고 결정할 수 있고, 단지 몇몇 예를 들자면, 사용자가 미팅중인지, 전화통화중인지, 회의중인지, 또는 홀로 일하고 있는지를 결정할 수 있다. 또한, CALMT는, 환경이 얼마나 다이내믹한지를 식별하기 위해 오디오 환경에서의 변화를 사용할 수 있다. 예를 들어, 오디오 신호에서의 반향(즉, 지연 확산)을 측정하는 것은, 사운드가 내부 표면들(즉, 실내)로부터 튕겨지고 있는지를 결정하는 것에 기여한다. 일 실시예에서, 예를 들어, 라우드 사운드 레벨은, 디바이스가 분주한 영역(즉, 다이내믹 환경)에 있다고 결정할 수도 있지만, 조용한 사운드 레벨은 정적인 환경을 추론할 수도 있다. 몇몇 실시예들에서, 디바이스가 다수의 마이크로폰들을 가지면, 사운드는 오디오 방향성을 획득하기 위해 로컬화될 수 있으며, 이러한 정보는, 사용자에 근접한 환경의 어떤 영역이 변하고 있는지를 파악하기 위해 추가적으로 사용될 수 있다.
[0042] 몇몇 실시예들에서, CALMT는, 인접한 디바이스들(예를 들어, 모바일 디바이스들, 컴퓨터들, 악세서리들 등)을 표시하기 위해 블루투스(예를 들어, 블루투스(166)) 스캔들을 사용할 수 있다. 예를 들어, 몇몇 실시예들에서, 높은 블루투스 디바이스 카운트 또는 브로드캐스트 밀도는, 더 많은 디바이스들이 사용자 주변의 환경에 있다고 추론할 수 있다. 몇몇 실시예들에서, 측정된 값들에서의 변화들(예를 들어, 환경 내의 블루투스 디바이스들의 수에서의 증가 또는 감소)은 환경이 다이내믹하다고 추론할 수 있다.
[0043] 몇몇 실시예들에서, CALMT는, 디바이스가 실내인지 또는 실외인지의 표시를 제공하기 위해 셀룰러 신호 강도(예를 들어, RSSI)를 사용할 수 있다. 예를 들어, 더 낮은 신호 강도는 디바이스가 실내라고 추론할 수도 있다.
[0044] 몇몇 실시예들에서, CALMT는, 디바이스가 앉아있는 사용자에게 있는지, 서있는 사용자에게 있는지, 걷고 있는 사용자에게 있는지, 뛰고 있는 사용자에게 있는지, 운전중인 사용자에게 있는지, 비행중인 사용자에게 있는지, 또는 디바이스가 정지상태(즉, 정적)에 있는지를 결정하기 위해 가속도계(예를 들어, 가속도계(140))를 사용할 수 있다. 예를 들어, 몇몇 실시예들에서, 디바이스가 운전 상태에 있다면, 실외에 있을 가능성이 더 높다. 몇몇 실시예들에서, 가속도계는 또한, 디바이스의 포지션을 추론하기 위해 사용될 수 있다. 예를 들어, CALMT는, 디바이스가 사용자의 셔츠 포켓, 바지 포켓, 손에, 홀스터에, 또는 사용자에 대해 다른 포지션에 있다고 결정할 수 있다.
[0045] 몇몇 실시예들에서, CALMT는, 광 강도값들이 실내 또는 실외와 일치한다고 결정하기 위해 주변 광 센서(예를 들어, ALS(135), UV 센서, 및 RGB 센서를 사용할 수 있다. 예를 들어, 실외에서 관측된 광 강도값들은 통상적으로, 실내에서 관측된 광 강도값들의 범위보다 훨씬 더 크다. 추가적으로, 몇몇 실시예들에서, ALS가 매우 높은 판독치를 출력하면, 디바이스가 실외에 있다는 확신이 매우 높을 수도 있다. 몇몇 실시예들에서, CALMT는, 디바이스의 전면 및/또는 후면으로 통합된 하나 또는 그 초과의 ALS들을 사용할 수도 있으며, 콘텍스트를 결정하기 위해 평균 또는 결합된 판독치를 사용할 수도 있다.
[0046] 몇몇 실시예들에서, CALMT는, 콘텍스트를 추론하기 위해 하나 또는 그 초과의 카메라(들)(예를 들어, 카메라(170), 또는 RGB 센서)를 사용할 수 있다. 예를 들어, 카메라(예를 들어, 전면 및/또는 후면 카메라들)에서 모든 픽셀들에 걸쳐 평균된 레드, 그린, 및 블루 강도들을 컴퓨팅함으로써, 광의 컬러가 평가될 수 있다. 몇몇 실시예들에서, 광의 컬러는, 광이 태양광인지 또는 실내(예를 들어, 형광등) 광인지를 CALMT에게 표시할 수 있다. 또한, 이미지 데이터는, 실외를 검출하기 위해 잔디, 하늘 등의 존재를 추론하도록 추가적으로 프로세싱될 수 있다. 몇몇 실시예들에서, CALMT는 또한, 디바이스 및 사용자가 실내에 있다고 결정하기 위해, 천장들, 및 테이블들, 의자들, 컴퓨터들과 같은 오브젝트들의 존재를 추론하도록 이미지 데이터를 사용할 수 있다.
[0047] 몇몇 실시예들에서, CALMT는 콘텍스트를 추론하기 위해 디바이스의 클록(예를 들어, 클록(130))을 사용할 수도 있다. 예를 들어, 디바이스가 사용자에게 통상적으로 휴대된 모바일 디바이스이면, 특정한 시각들에서, (예를 들어, 밤 늦게 또는 아침 일찍에는) 사용자들은 실내에 있을 가능성이 훨씬 더 높다.
[0048] 몇몇 실시예들에서, CALMT는, 환경 날씨를 결정하기 위해 온도 센서(예를 들어, 온도 센서(151), 또는 기압 센서(155)) 또는 다른 소스를 사용할 수도 있다. 예를 들어, 디바이스가 사용자에게 통상적으로 휴대된 모바일 디바이스이면, 특정한 날씨(예를 들어, 눈, 비, 또는 매우 추움, 또는 매우 더움)는, 디바이스 및 사용자가 실내에 있는 일반적인 우도보다 큰 우도를 표시할 수도 있다. 다른 실시예들에서, CALMT는, 콘텍스트에 대해 사용할 최신 날씨 정보를 결정하도록 원격 서버(예를 들어, 인터넷 문의 또는 모바일 애플리케이션)에 문의할 수도 있다.
[0049] 몇몇 실시예들에서, CALMT는, 디바이스의 "흥분된" 상태를 결정하기 위해 하나 또는 그 초과의 센서들(예를 들어, 가속도계, 및 GPS)을 사용할 수도 있다. 예를 들어, 급속하거나 극심한 이동들 및 모션(즉, 뛰기)에 대해, 디바이스의 사용자는 고조된 상태(예를 들어, 조급함)에 있을 수도 있으며, CALMT는, 트래킹의 성능이 증가되어야 한다고 추가적으로 추론할 수도 있다.
[0050] 몇몇 실시예들에서, CALMT는, 디바이스의 "지저분한" 상태를 결정하기 위해 하나 또는 그 초과의 센서들(예를 들어, 마이크로폰, 블루투스, 및 GPS)을 사용할 수도 있다. 예를 들어, CALMT는, 이전에 설명된 다이내믹 콘텍스트에 기초하여, 디바이스가 다수의 인접한 오브젝트들을 갖는 피쳐가 풍부한 환경에 있다고 결정할 수도 있다. 또한, 몇몇 실시예들에서, CALMT는, 현재의 위치의 맵과 결합하여 WiFi, GPS, 지오 태깅 또는 다른 위치 결정으로부터 결정된 바와 같이, 디바이스가 몰 또는 상점 내부와 같은 쇼핑 위치에 있는 경우에 지저분한 환경을 결정할 수도 있다. 다른 실시예들에서, CALMT는, 현재의 위치가 지저분할 가능성이 있는지를 결정하기 위해 사용할 부가적인 위치 정보를 결정하도록 원격 서버(예를 들어, 인터넷 문의 또는 모바일 애플리케이션)에 문의할 수도 있다.
[0051] 몇몇 실시예들에서, CALMT는, 디바이스의 "제한된" 상태를 결정하기 위해 위치에 대한 정보를 도출하도록 하나의 지오 태깅, GPS, 및 다른 기술들을 사용할 수도 있다. 예를 들어, 박물관 또는 사설 빌딩에서, 컴퓨터 비전은 일반적으로 그리고 매핑은 특수하게, 프라이버시(privacy)를 유지하거나 특정한 기술들을 제한하기 위한 재산 소유자의 소망에 기초하여 제한될 수도 있다.
[0052] 몇몇 실시예들에서, 상술된 콘텍스트 검출 방법들 및 기술들은, 본 명세서에 설명된 바와 같이 콘텍스트를 결정하기 위한 모든 포괄적인 가능한 방식들은 아니며, 디바이스 또는 사용자에 대한 콘텍스트가 어떻게 결정될 수도 있는지의 단지 몇몇 예들인 것으로 의도된다.
[0053] 몇몇 실시예들에서, 일 실시예에서, CALMT는, 매핑, 로컬화, 또는 트래킹을 위한 컴퓨터 비전 기반 알고리즘들 또는 태스크들을 위해 콘텍스트 기반 구성들(예를 들어, 콘텍스트 파라미터 또는 컴퓨터 비전 태스크 파라미터)을 생성할 수 있다. 예를 들어, 구성들은 다음, 즉 컴퓨터 비전 알고리즘 또는 태스크의 성능을 제어하는 복수의 파라미터들, CV 알고리즘 또는 태스크에 의해 사용된 이미지 특성들, 외관 또는 모션의 이전 모델들 등 중 하나 또는 그 초과를 포함할 수 있다.
[0054] 몇몇 실시예들에서, CALMT는, 로컬화, 매핑, 및 트래킹의 성능 또는 효율을 증가시키기 위해 적절한 콘텍스트 구성들을 사용할 수 있다. 몇몇 실시예들에서, 컴퓨터 비전 파라미터들의 선택은 콘텍스트에 의존할 수도 있다. 몇몇 실시예들에서, 콘텍스트는 또한, 특정한 파라미터들의 값들을 결정하는 것을 도울 수도 있다. 또한, 몇몇 실시예들에서, 특정한 파라미터들은, 시각적인 매핑, 시각적인 로컬화 및/또는 시각적인 트래킹, 또는 임의의 다른 결합에 더 적절할 수도 있다. 예를 들어, 로컬화 또는 영상 주행기록계(visual odometry)는, 복잡한 3D 복원에 적합한 매우 상세한 장면 맵을 구축 및 유지하는 것을 필요로 하지는 않지만, 포인트들의 매우 희박한 세트(그 세트를 사용하여, 그 주행기록계는 로컬화할 수 있음)를 유지할 수 있으며, 이들 거동(behavior)들은 적절한 파라미터들에 의해 제어될 수 있다.
[0055] 일 실시예에서, CALMT는, 콘텍스트(들)를 결정하고, CALMT에 의해 액세스가능한 콘텍스트 플래그, 설명, 또는 기록을 기록 또는 업데이트하여, CALMT가 컴퓨터 비전을 프로세싱 또는 수행할 시에 임의의 포인트에서 콘텍스트를 획득할 수 있게 한다. 몇몇 실시예들에서, CALMT는, 다양한 타입들의 콘텍스트에서 컴퓨터 비전 태스크들에 대해 사용하기 위해 최적의 구성들로 일반적인 구성 또는 파라미터 파일을 생성 및 유지할 수도 있다. 예를 들어, 구성 파일은 모든 콘텍스트들 및 모든 가능한 파라미터들/구성들을 포함할 수도 있으며, 콘텍스트들 및 파라미터들은, 임의의 콘텍스트에 대해 적절한 구성이 결정될 수 있도록, 링크 또는 연관될 수도 있다. 몇몇 실시예들에서, 컴퓨터 비전 파라미터는 각각의 컴퓨터 비전 태스크로 하여금, 더 상세히 후술되는 바와 같이 하나 또는 그 초과의 최적화들 또는 제한들을 사용하게 할 수 있다.
[0056] 몇몇 실시예들에서, 콘텍스트의 타입들과 연관된 하나 또는 그 초과의 상이한 구성들을 갖는 파라미터 파일 또는 별개의 구성을 판독하는 것 대신에, 로컬화, 매핑, 및 트래킹 모듈들은 콘텍스트 모듈에 의해 구성될 수도 있다. 대안적으로, 몇몇 실시예들에서, 로컬화, 매핑, 및 트래킹은, (예를 들어, 콘텍스트 모듈로부터) 콘텍스트 결정을 판독 또는 수신하는 것에 따라 업데이트 또는 자체-구성될 수도 있다. 예를 들어, 콘텍스트 엔진은, 실내 위치 콘텍스트를 결정하고, 맨해튼 월드(manhattan world) 가정들을 사용하도록 매핑을 구성할 수 있다.
[0057] 몇몇 실시예들에서, 콘텍스트는, 매핑, 로컬화, 및 트래킹에서의 예시적인 구현들에 대해 본 명세서에서 설명된 바와 같은 다양한 방식들로 컴퓨터 비전 태스크들의 정확도 및 강인성을 개선시킬 수 있다.
[0058] 본 명세서에서 사용된 바와 같이, 컴퓨터 비전 태스크들은, 매핑, 로컬화, 및 트래킹 중 하나 또는 그 초과를 포함할 수도 있다. 본 명세서에서 사용된 바와 같이, 매핑(예를 들어, 시각적인 매핑)은 비디오 또는 이미지 입력으로부터 장면/세계의 기하학적 및 광도계(photometric) 표현들을 구축하는 것에 관련된다. 로컬화(즉, 시각적인 로컬화)는, 맵 또는 장면 내의 오브젝트 또는 디바이스의 상대적인 포지션의 결정과 연관될 수도 있다. 본 명세서에서 사용된 바와 같이, 트래킹(예를 들어, 시각적인 트래킹)은, 맵 또는 장면 내의 디바이스의 상대적인 포지션에서의 변화의 결정과 연관될 수도 있다.
[0059] 일 실시예에서, CALMT는, 콘텍스트(예를 들어, 더 상세히 상술된 바와 같은 위치, 환경, 모션, 및 활동 콘텍스트)에 기초하여 맵 환경에 제한들을 부과함으로써 매핑 및 3D 시각적인 모델링을 최적화시킬 수 있다.
[0060] 예를 들어, 디바이스 상에서 구동하는 CALMT 또는 콘텍스트 엔진은, 센서 데이터(예를 들어, 센서들(205)), 또는 예컨대, 캘린더, 소셜 네트워크들, 지오 태깅 등으로부터의 가속도계 애플리케이션 데이터에 기초하여 디바이스 또는 사용자가 실내에 있다고(즉, 위치 콘텍스트) 결정할 수 있다. 이러한 예에서, 실내 위치 콘텍스트는 시각적인 매핑 시스템으로의 입력으로서 제공될 수 있으며, CALMT 또는 매핑 시스템은, 적절한 모델 전과(prior)들을 로딩하기 위해 이러한 정보를 사용할 수 있다.
[0061] 다른 실시예들에서, 사용자/디바이스가 실내 또는 실외 환경들에 있다는 정보에 대해, 그러한 정보는 매핑 태스크를 위한 모델 전과들을 구축하기 위해 사용될 수 있다. 예를 들어, 대부분의 실내 환경들은, 플로어에 수직한 벽들, 직각의 정면(facade)들 등을 갖는 통상의 구조들을 포함하며, 이러한 타입의 정보는 모델 전과를 구축하기에 유용할 수 있다. 대안적으로, 몇몇 실시예들에서, 디바이스 상에서 구동하는 콘텍스트 엔진(예를 들어, 콘텍스트 모듈(225)이 사용자가 실외에 있다고 결정하면, 모델 전과들은 실외 정면들을 표현하기 위해 적절히 변경될 수 있다. 매핑 태스크에서 그러한 모델 전과들 및 환경 최적화들을 레버리징하는 것은, 더 신속한 프로세싱, 즉 더 정확한 결과들, 환경의 3D 모델로의 효율적인 수렴, 및 저전력 맵 구축의 보조를 초래할 수도 있다. 콘텍스트 특정 매핑 상황들에서 그러한 환경 정보 또는 모델들을 레버리징하는 것은, 모델 또는 환경을 가정하는 것보다 더 정확한 결과들을 생성할 수도 있으며, 궁극적으로는 가정에서의 임의의 에러를 정정할 수 있다.
[0062] 대안적인 실시예에서, 위치의 타입에 대한 정보는, 매핑을 위해 사용될 적절한 알고리즘의 선택에 도움을 줌으로써 매핑 프로세스를 향상시킬 수 있다. 예를 들어, CALMT가 영역이 최소의(즉, 베이스라인(baseline) 미만의) 텍스처를 갖는다는 사전 정보를 가지면, 매핑 시스템(예를 들어, 매핑 모듈(210))은 "에지-기반" 매핑 알고리즘을 사용하도록 결정할 수 있다. 대안적으로, 환경이 박물관들 내의 페인팅들과 같은 더 많은(즉, 베이스라인보다 더 큰 많은 양의) 텍스처를 갖는 것으로 알려지면, 매핑 시스템은 "포인트-기반" 매핑 알고리즘을 사용하기 위해 이러한 정보를 사용할 수 있다. 또한, CALMT가 WiFi-로컬화와 같은 알고리즘들을 사용하여 합리적으로 정확한 실내 포지셔닝을 가지면, 이것은, 시스템의 정확도를 개선시키기 위해, 구축한 맵들에 대한 이용가능한 정보와 함께 매핑 정보로 부트스트랩(bootstrap)될 수 있다.
[0063] 몇몇 실시예들에서, 매핑 시스템을 구축한 사용자에게 피드백을 제공하는 것이 가능할 수도 있다. 몇몇 실시예들에서, 사용자 및 디바이스 콘텍스트에 대한 그러한 정보는, 예컨대, 사용자가 환경의 개선된 맵을 획득하기 위해 그들의 디바이스를 포인팅할 필요성이 있는 가능한 방향들을 제안하기 위해 사용될 수 있다. 예를 들어, CALMT는, 콘텍스트를 판독 또는 결정하고, 디바이스의 디스플레이(120) 상에서 사용자 인터페이스를 업데이트할 수도 있다. 몇몇 실시예들에서, 사용자 인터페이스는 방향 표시자들 또는 엘리먼트들(예를 들어, 카메라 뷰를 상이한 각도로 또는 특정한 방향으로 이동시키도록 사용자에게 프롬프트(prompt) 또는 지시하기 위한 화살표, 라인들 또는 다른 시각적/오디오 표시자)을 포함할 수도 있다.
[0064] 몇몇 실시예들에서, 사용자 인터페이스는 콘텍스트 결정에 기초하여 업데이트될 수도 있다. 예를 들어, 디바이스의 동쪽 방향에서 다이내믹 콘텍스트를 결정하는 것 및 정적 콘텍스트가 디바이스의 서쪽 방향에서 안내된다는 결정에 기초하여, 카메라 뷰를 서쪽 방향으로 집중하도록 사용자에게 지시하는 화살표가 제공될 수도 있다. 다른 예들에서, 지저분한 영역은 깔끔한 영역과 비교하여 소망되거나 회피될 수도 있으며, 방향 표시자들은, 사용자가 카메라를 특정한 방향들로 집중하는 것을 돕기 위해 디바이스 디스플레이 상에서 제공될 수 있다. 일 실시예에서, CALMT는, 카메라 뷰 뿐만 아니라 각각의 카메라 뷰에서 캡쳐된 장면 또는 맵의 콘텍스트를 트래킹하기 위해 나침판, GPS, 가속도계 및 마이크로폰을 사용할 수 있다.
[0065] 일 실시예에서, CALMT는, 시각적인 매핑, 로컬화, 또는 트래킹을 초기화시킬 때를 결정할 수 있다. 예를 들어, CALMT는, (예를 들어, 콘텍스트 엔진 또는 모듈(225)에 의해) 다이내믹 콘텍스트가 결정되는 경우, 시각적인 매핑, 로컬화, 또는 트래킹을 지연시킬 수 있다. 몇몇 실시예들에서, 다이내믹 장면들이 정적인 장면들보다는 많은 컴퓨터 비전 구현들에 대해 본질적으로 더 어렵기 때문에, CALMT는, 현재의 콘텍스트가 다이내믹 콘텍스트인지를 결정하기 위해 콘텍스트를 사용할 수도 있으며, 장면이 정적이 될 때까지 컴퓨터 비전을 제공 또는 프로세싱하는 것을 지연시킬 수도 있다. 예를 들어, 혼잡한 쇼핑몰은 맵 또는 장면에 대해 이동하는 사람들로 인해 일정하게 변하고 있을 수도 있다. 정확한 기준들을 생성 및 유지하기 위한 충분한 고정 포인트들이 없다면, 컴퓨터 비전을 수행하려고 시도하는 것은, 낭비된 프로세싱 전력 및 사용자 실망을 초래할 수도 있다. 따라서, 장면 또는 맵이 다이내믹이라고 CALMT가 결정하는 경우, 컴퓨터 비전을 수행하는 것이 연기될 수도 있다. 몇몇 구현들에서, 디바이스의 사용자로의 메시지가 디스플레이될 수도 있으며, 다이내믹 장면에서의 불량한 성능의 가능성에도 불구하고, 컴퓨터 비전을 시도하기 위한 옵션이 제공될 수 있다.
[0066] 몇몇 실시예들에서, CALMT는 또한, 다이내믹 콘텍스트를 결정할 시에, 컴퓨터 비전을 위한 카메라들의 선택으로부터 임의의 수의 카메라들(예를 들어, 전면, 후면 카메라, 또는 하나 또는 그 초과의 부가적인 카메라들)을 선택할 수도 있다. 예를 들어, 장면 내의 오브젝트들(예를 들어, 사람들, 자동차들 등)의 이동을 포함하는 다이내믹 장면은 몇몇 카메라 시점들을 비효율적으로 만들 수도 있다. 몇몇 실시예들에서, 다이내믹 콘텍스트 결정에 기초하여, CALMT는, 시각적인 로컬화 및 트래킹을 위해 플로어 및 천장 정보를 캡쳐하도록 교번하는 뷰로 스위칭할 수 있다. 몇몇 실시예들에서, CALMT는 추가적으로, 정적인 뷰로부터의 정적인 장면들을 사용하여 컴퓨터 비전을 수행하기 위해 디바이스의 카메라(들)를 이용하여 다이내믹 콘텍스트 방향 및 좌표들을 결정함으로써 어떤 카메라를 사용할지를 결정한다.
[0067] 몇몇 실시예들에서, 키프레임(KeyFrame)(즉, 기준 이미지) 선택은, 환경 및 로컬화의 가상 매핑에 대한 중요한 문제이다. 일 실시예에서, 매핑 파라미터들은, 지저분한 콘텍스트의 결정에 기초할 수도 있다. 몇몇 실시예들에서, 지저분한 환경들은, 컴퓨터 비전에 특히 유용한 잠재적으로는 피쳐가 풍부한 환경들이다. 예를 들어, 쇼핑몰들 내의 상점들 내부는, 컴퓨터 비전의 사용자들에게 유용할 수도 있는 오브젝트들(예를 들어, 상품들에 대한 증강 현실 표현들)을 가질 수도 있다. 지저분한 콘텍스트의 모바일 디바이스의 위치에 기초하여, 키프레임 생성 레이트는, (예를 들어, 시각적인 매핑을 사용하여 맵 또는 장면을 구축할 시에) 증가된 컴퓨터 비전 정확도를 획득하기 위해 증가될 수 있다. 추가적으로, 매핑 및 로컬화 시스템은 또한, 장면 내의 지저분함의 양에 기초하여 상이한 알고리즘/접근법을 선택할 수도 있다. 몇몇 실시예들에서, 예를 들어, 시스템은, 지저분함의 양에 기초하여 라인들, 에지들, 및 직사각형 기분 피쳐들 또는 포인트 기반 피쳐들을 사용할 수 있다.
[0068] 몇몇 실시예들에서, 깔끔한 환경은, 개방된 공간들의 우세(predominance) 및 장면 내의 검출가능한 오브젝트들의 부족으로 인해 피쳐가 드물 수도 있다. 따라서, 몇몇 실시예들에서, CALMT는 라인 피쳐들, 소멸 포인트들, 및 직사각형들을 사용하여 매핑 및 로컬화 알고리즘들을 그에 따라 최적화시킬 수도 있다. 몇몇 실시예들에서, 장면 내의 오브젝트들의 부족으로 인해, 매핑 및 로컬화 알고리즘은 전력을 절약하거나 리소스들을 보존하기 위해 키프레임 레이트를 낮출 수도 있다.
[0069] 몇몇 실시예들에서, CALMT가 시각적인 매핑과 함께 사용되는 경우, CALMT는 모바일 디바이스가 매핑 제한들을 갖는 위치에 있다고 결정할 수도 있다. 예를 들어, 박물관은 박물관에 있는 동안 시각적인 매핑을 허용하지 않을 수도 있다. 몇몇 실시예들에서, CALMT는, 모바일 폰의 환경(예를 들어, 콘텍스트)이 매핑 및 트래킹에 대한 제한들을 갖는 박물관이라고 결정할 시에, 시각적인 매핑을 디스에이블링시킬 수도 있다.
[0070] 일 실시예에서, 매핑, 로컬화 및 트래킹 파라미터들의 수는 실내 위치 콘텍스트의 결정에 기초할 수도 있다. 예를 들어, 디바이스가 사용자 콘텍스트에 기초하여 실내에 있다고 알려지는 것에 기초하여, 매핑, 로컬화 및 트래킹 파라미터들은 적절히 선택될 수도 있다. 몇몇 실시예들에서, 예를 들어, 그러한 알고리즘들 또는 태스크들은, 오피스 위치들에 대한 맨해튼 월드 가정들, 환경 내의 오브젝트 및 오브젝트 타입들의 사전 정보(예를 들어, 오피스 위치들은 컴퓨터들, 랩탑들, 모니터들, 파일 캐비넷들, 팩스 머신들 등을 포함할 수도 있는 반면, 홈 환경들은 혼합기들, 전자렌지들, 텔레비전들, 게임 콘솔들, 소파, 침대 등을 포함할 수도 있음), 구획된(bounded) 내부 장면 차원들, 또는 플로어, 벽 및 천장 표면들의 관점들에서 맵을 모델링하는 것을 레버리지할 수도 있다.
[0071] 몇몇 실시예들에서, 구획된 내부 장면 차원들은, 제한들을 맵의 구조로 셋팅함으로써 시각적인 매핑을 최적화시킨다. 몇몇 실시예들에서, 구획된 내부 장면 차원들을 특정하는 것은, 차원들에 대한 어떠한 정보도 알려지지 않았던 경우보다 더 신속히 계산 및 업데이트되는 차원들로 모델 또는 맵을 제한하는데 유용하다. 예를 들어, 실내에 있는 경우, 7 내지 10 피트의 천장 및 벽들이 더 가능성있을 수도 있다. 몇몇 실시예들에서, 예를 들어, 실외 콘텍스트에 대해, 맵에 대한 경계들은 잠재적으로는 제한없을 수도 있다.
[0072] 몇몇 실시예들에서, 실내 환경들은, 좌표 시스템으로 정렬되는 일반적인 사각형들을 가지며, 이러한 정보는 매핑 알고리즘에 대한 모델 전과들로서 사용될 수 있다. 몇몇 실시예들에서, 상기 구획된 내부 제한들을 사용하는 것과 유사하게, 정렬된 직사각형 좌표 시스템은, 가장 정확한 셋팅을 결정하기 전에 매핑 시스템이 다른 좌표 시스템들을 시도 또는 테스트할 필요가 없도록, 정렬된 직사각형 좌표 시스템으로의 시각적인 매핑을 최적화시킨다. 몇몇 실시예들에서, 실내 콘텍스트를 먼저 결정(예를 들어, 콘텍스트 모듈로부터 콘텍스트를 수신하거나, 또는 콘텍스트를 결정하기 위해 센서/애플리케이션 데이터를 판독)함으로써, CALMT는, 실내 장면들에서의 사용을 위해 가장 효율적인 좌표 시스템을 이용하여 시각적인 매핑, 로컬화, 및 트래킹을 수행할 수 있다.
[0073] 몇몇 실시예들에서, 컴퓨터 비전 파라미터는 또한, 컴퓨터 비전(예를 들어, 시각적인 매핑)에서 사용될 미리 결정된 실내 오브젝트들 및 실내 구조들의 사용을 특정할 수 있다. 예를 들어, 문들, 손잡이들, 책상들, 컵들, 컴퓨터 등과 같은 일반적인 실내 오브젝트들은, 캡쳐된 이미지들로부터의 카메라 뷰의 포즈(pose) 및 위치를 더 효율적으로 추정하기 위해 사용될 수 있다. 몇몇 실시예들에서, 일반적인 실내 구조들은 벽들, 천장들, 문들, 창문들 등이다. 몇몇 실시예들에서, 컴퓨터 비전에서의 하나의 문제는, 장면의 구조를 복원하고, 카메라 시점의 포즈 및 위치를 추정하는 것이다. 몇몇 실시예들에서, SFM(structure from motion) 알고리즘은, 장면의 구조를 3D 포인트들의 세트로서 표현하기를 시도한다. 그러나, 포인트 기반 표현들은, 3D 포인트 기반 표현들이 임의의 시맨틱 정보를 실질적으로 제공하지 않을 수도 있기 때문에, 강인한 컴퓨터 비전에 대해 종종 불충분하다. 몇몇 실시예들에서, 일반적인 실내 오브젝트들 및 구조들을 더 용이하게 인식하도록 컴퓨터 비전을 구성함으로써, 실내 오브젝트들 및 전체 장면 또는 맵은 정확히 모델링될 가능성이 더 높다. 예를 들어, 장면에서 하나 또는 그 초과의 미리 결정된 실내 오브젝트들 또는 구조들을 예상함으로써, 컴퓨터 비전은 오브젝트들 또는 구조들과 연관된 속성들을 탐색할 수도 있다. 몇몇 실시예들에서, 일단 미리 결정된 오브젝트 또는 구조가 검출되면, 오브젝트의 시맨틱 정보는, 카메라 뷰와 오브젝트 뿐만 아니라 오브젝트와 주변 장면 사이의 상호작용을 모델링하는데 사용될 수 있다.
[0074] 몇몇 실시예들에서, 실내 콘텍스트는 로컬화 태스크들에 유익할 수 있다. 예를 들어, 실내 위치의 타입이 알려지면, CALMT는, 위치가 높은 또는 낮은 양의 텍스쳐를 포함할 가능성이 더 있는지를 결정할 수 있다. 그러한 정보는, 로컬화 접근법을 선택하고, "포인트-기반", "라인-기반", "에지-기반", 또는 "직사각형-기반" 솔루션들이 사용될지를 선택하기 위해 사용될 수 있다.
[0075] 다른 실시예에서, 위치가 건축 장면들과 같은 구조들인 것으로 알려지면, 그러한 정보는, 복수의 카메라들 중에서 로컬화 태스크에 대해 가장 유용한 하나 또는 그 초과의 카메라들을 선택하기 위해 사용될 수 있다. 예를 들어, 천장이 반복된 정보를 포함한다고 알려지면, 상향으로 (천장을 향해) 포인팅하는 카메라는 더 유용한 정보를 제공하지 않을 수도 있고, 이러한 카메라는 턴 오프될 수 있다.
[0076] 일 실시예에서, 컴퓨터 비전 파라미터들의 수는 실외 콘텍스트의 결정에 기초할 수도 있다. 예를 들어, 실외 결정에 기초하여, 컴퓨터 비전 파라미터들은, 파노라마식 모델 또는 트래커, 다이내믹 월드 모델링, 미리 결정된 실외 구조 피쳐들, 원거리 피쳐들, 또는 지면 대향 카메라로부터의 이미지들 중 하나 또는 그 초과를 사용하도록 비전을 구성할 수도 있다.
[0077] 몇몇 실시예들에서, 원거리(즉, 먼거리) 피쳐들을 포함하는 실외 장면들에 대해, 원거리 피쳐들을 예상함으로써 컴퓨터 비전을 최적화시키는 것은, 배향 결정 및 트래킹에 유익할 수 있다. CALMT는, 헤딩 결정을 위해 수평 라인 피쳐들을 사용할 수 있으며, 수평 라인은 센서-카메라 정렬을 교정하는 것을 도울 수 있다.
[0078] 몇몇 실시예들에서, 실외 환경들은 종종, 실내 오브젝트들, 눈에 띠는(prominent) 직선 형상들, 또는 두드러진 라인들과 같은 인공 구조 피쳐들이 부족하다. 몇몇 실시예들에서, CALMT는, 실내 오브젝트들, 직선 형상들 또는 눈에 띠는 라인들에 기초하여 장면을 탐색하거나 프로세싱하기를 시도하기보다는 3D 포인트들 또는 피쳐들을 우선순위화하기 위해 컴퓨터 비전을 최적화시킬 수 있다.
[0079] 몇몇 실시예들에서, 실외 장면들은 원거리(즉, 먼거리)를 포함한다. 몇몇 실시예들에서, 원거리 피쳐들을 예상함으로써 컴퓨터 비전을 최적화시키는 것은, 배향 결정 및 트래킹에 유익할 수 있다. 예를 들어, CALMT는, 헤딩 결정을 위해 수평 라인 피쳐들을 사용할 수도 있으며, 수평 라인은 센서-카메라 정렬을 교정하는 것을 도울 수 있다.
[0080] 몇몇 실시예들에서, 실외 콘텍스트 관련 컴퓨터 비전 파라미터들은 또한, 하늘을 향해 상향으로 포인팅하는 카메라로부터의 데이터 수집을 우회 또는 디스에이블링시킬 수도 있다. 또한, 몇몇 실시예들에서, 도시에 있는 동안, 매핑은, (다이내믹 오브젝트들로 인해) 지상 위의 수 피트에서 또는 카메라가 지상을 향해 포인팅되는 경우 가장 효율적일 수도 있다. 몇몇 실시예들에서, CALMT는, 하나 또는 그 초과의 카메라 뷰들/센서들에 기초하여 뷰 내의 장면이 매핑에 적합한지를 결정하기 위해 위치, 및 중력에 대한 뷰잉 방향을 사용할 수도 있다.
[0081] 본 명세서의 교시들은 다양한 장치들(예를 들어, 디바이스들)에 포함(예를 들어, 그 장치들 내에서 구현 또는 그 장치들에 의해 수행)될 수도 있다. 예를 들어, 본 명세서에 교시된 하나 또는 그 초과의 양상들은, 폰(예를 들어, 셀룰러 폰), 개인 휴대 정보 단말("PDA"), 태블릿, 모바일 컴퓨터, 랩탑 컴퓨터, 태블릿, 엔터테인먼트 디바이스(예를 들어, 뮤직 또는 비디오 디바이스), 헤드셋(예를 들어, 헤드폰들, 이어피스들 등), 의료용 디바이스(예를 들어, 바이오메틱(biometric) 센서, 심박수 모니터, 계보기, EKG 디바이스 등), 사용자 I/O 디바이스, 컴퓨터, 서버, 판매-시점관리(point of sale) 디바이스, 엔터테인먼트 디바이스, 셋탑 박스, 또는 임의의 다른 적절한 디바이스로 포함될 수도 있다. 이들 디바이스들은 상이한 전력 및 데이터 요건들을 가질 수도 있으며, 각각의 특성 또는 특성들의 세트에 대해 생성된 상이한 전력 프로파일들을 초래할 수도 있다.
[0082] 몇몇 양상들에서, 무선 디바이스는, 통신 시스템을 위한 액세스 디바이스(예를 들어, Wi-Fi 액세스 포인트)를 포함할 수도 있다. 그러한 액세스 디바이스는, 예를 들어, 유선 또는 무선 통신 링크를 통해 트랜시버(140)(예를 들어, 인터넷 또는 셀룰러 네트워크와 같은 광역 네트워크)에 걸쳐 다른 네트워크로의 접속을 제공할 수도 있다. 따라서, 액세스 디바이스는, 다른 디바이스(예를 들어, Wi-Fi 스테이션)가 다른 네트워크 또는 몇몇 다른 기능에 액세스할 수 있게 할 수도 있다. 부가적으로, 디바이스들 중 하나 또는 둘 모두가 휴대가능할 수도 있거나, 또는 몇몇 경우들에서는 비교적 비-휴대가능할 수도 있음을 인식해야 한다.
[0083] 당업자들은, 정보 및 신호들이 다양한 상이한 기법들 및 기술들 중 임의의 기법 및 기술을 사용하여 표현될 수도 있음을 이해할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 광학 입자들, 또는 이들의 임의의 결합에 의해 표현될 수도 있다.
[0084] 당업자들은, 본 명세서에 기재된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 엔진들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수도 있음을 추가적으로 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 엔진들, 회로들, 및 단계들은 그들의 기능 관점들에서 일반적으로 상술되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 부과된 설계 제약들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 발명의 범위를 벗어나게 하는 것으로서 해석되지는 않아야 한다.
[0085] 본 명세서에 기재된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합, 예를 들어 DSP와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다.
[0086] 본 명세서에 기재된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수도 있다. ASIC는 사용자 단말에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 개별 컴포넌트들로서 상주할 수도 있다.
[0087] 하나 또는 그 초과의 예시적인 실시예들(예를 들어, CALMT)에서, 설명된 기능들 또는 모듈들은 하드웨어(예를 들어, 하드웨어(162)), 소프트웨어(예를 들어, 소프트웨어(165)), 펌웨어(예를 들어, 펌웨어(163)), 또는 이들의 임의의 결합으로 구현될 수도 있다. 컴퓨터 프로그램 물건으로서 소프트웨어로 구현되면, 기능들 또는 모듈들은 비-일시적인 컴퓨터 판독가능 매체 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장되거나 이들을 통해 송신될 수도 있다. 컴퓨터 판독가능 매체들은, 일 장소에서 다른 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체들을 포함한 통신 매체들 및 컴퓨터 저장 매체들 둘 모두를 포함할 수 있다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 예로서, 그러한 비-일시적인 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 반송(carry) 또는 저장하는데 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속수단(connection)이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선(twisted pair), 디지털 가입자 라인(DSL), 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들을 사용하여 웹 사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들이 매체의 정의에 포함된다. 본 명세서에서 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(digital versatile disc)(DVD), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저를 이용하여 광학적으로 데이터를 재생한다. 상기한 것들의 결합들이 또한 비-일시적인 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
[0088] 기재된 실시예의 이전 설명은 당업자가 본 발명을 사용하거나 또는 실시할 수 있도록 제공된다. 이들 실시예들에 대한 다양한 변형들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않으면서 다른 실시예들에 적용될 수도 있다. 따라서, 본 발명은 본 명세서에 설명된 실시예들로 제한되도록 의도되는 것이 아니라, 본 명세서에 기재된 원리들 및 신규한 특성들과 일치하는 가장 넓은 범위에 부합할 것이다.

Claims (56)

  1. 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법으로서,
    사용자 또는 디바이스의 콘텍스트(context)를 추론하는 단계;
    추론된 콘텍스트에 따라 상기 컴퓨터 비전 태스크를 구성하는 단계; 및
    상기 컴퓨터 비전 태스크를 수행하는 단계를 포함하며,
    상기 컴퓨터 비전 태스크는,
    상기 디바이스의 환경의 매핑,
    상기 디바이스의 환경 내의 디바이스 또는 오브젝트의 로컬화, 또는
    상기 디바이스의 환경 내의 디바이스의 트래킹
    중 적어도 하나를 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  2. 제 1 항에 있어서,
    상기 콘텍스트를 추론하는 단계는, 상기 사용자 또는 상기 디바이스의 콘텍스트를 추론하기 위해 센서 데이터를 판독하는 단계를 더 포함하며,
    상기 센서 데이터는, 블루투스 센서, 마이크로폰, 카메라(들), 글로벌 포지셔닝 센서(GPS), WiFi, 근접도 센서, 온도 센서, 기압(즉, 압력) 센서, 주변 광 센서(ALS), 레드-그린-블루(RGB) 컬러 센서, 자외선(UV) 센서, UV-A 센서, UV-B 센서, 지문 센서, 터치 센서, 가속도계, 자이로, 나침판, 및 마그노미터(magnetometer) 중 하나 또는 그 초과로부터의 것인, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  3. 제 1 항에 있어서,
    상기 콘텍스트를 추론하는 단계는, 상기 사용자 또는 상기 디바이스의 콘텍스트를 추론하기 위해 애플리케이션 데이터를 판독하는 단계를 더 포함하며,
    상기 애플리케이션 데이터는, 캘린더, 지오 태깅, 소셜 미디어 데이터, 배터리, 및 시각(time of day) 중 하나 또는 그 초과로부터의 것인, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  4. 제 1 항에 있어서,
    상기 콘텍스트는 모션, 활동, 환경, 또는 위치 중 하나 또는 그 초과일 수 있는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  5. 제 1 항에 있어서,
    상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹을 구성하는 단계는,
    상기 태스크와 연관된 알고리즘의 파라미터들을 선택하는 단계;
    상기 태스크와 연관된 알고리즘에 대한 입력들로서 이전 모델을 선택하는 단계; 및
    환경 제한들에 기초하여 문제점을 해결하기 위한 접근법을 선택하는 단계
    중 하나 또는 그 초과를 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  6. 제 6 항에 있어서,
    상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹을 구성하는 단계는,
    에지 기반 방법들을 사용하는 단계;
    포인트 기반 방법들을 사용하는 단계; 및
    직사각형 기반 방법들을 사용하는 단계;
    중 하나 또는 그 초과를 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  7. 제 1 항에 있어서,
    상기 콘텍스트는 실내 콘텍스트이고,
    상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹은, 정렬된 직사각형 좌표 시스템, 구획된 내부 장면 차원들, 미리 결정된 오브젝트들, 또는 실내 구조 피쳐(feature)들 중 하나 또는 그 초과와 함께 사용하기 위하여 상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹 구성을 변경시키기 위해 상기 실내 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  8. 제 1 항에 있어서,
    상기 콘텍스트는 실외 콘텍스트이고,
    상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹은, 다이내믹 월드(dynamic world) 모델링, 미리 결정된 실외 구조 피쳐들, 원거리 피쳐들, 파노라마식 모델 또는 트래커, 또는 지상 대향 카메라로부터의 이미지들 중 하나 또는 그 초과와 함께 사용하기 위하여 상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹 구성을 변경시키기 위해 상기 실외 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  9. 제 1 항에 있어서,
    상기 콘텍스트는 지저분한(cluttered) 콘텍스트이고,
    상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹은, 피쳐 포인트 계산들 및 키프레임 레이트를 증가시키는 것 중 하나 또는 그 초과와 함께 사용하기 위하여 상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹 구성을 변경시키기 위해 상기 지저분한 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  10. 제 1 항에 있어서,
    상기 콘텍스트는 깔끔한(uncluttered) 콘텍스트이고,
    상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹은, 키프레임 레이트를 감소시키는 것, 또는 라인들, 소멸 포인트들, 또는 직사각형들의 하나 또는 그 초과의 피쳐들을 사용하는 것 중 하나 또는 그 초과와 함께 사용하기 위하여 상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹 구성을 변경시키기 위해 상기 깔끔한 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  11. 제 1 항에 있어서,
    상기 콘텍스트가 흥분된 콘텍스트인 경우, 상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹은 트래킹된 피쳐들의 수를 증가시키며,
    상기 콘텍스트가 흥분되지 않은 콘텍스트인 경우, 상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹은 트래킹된 피쳐들의 수를 감소시키는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  12. 제 1 항에 있어서,
    상기 콘텍스트는 다이내믹 콘텍스트이고,
    상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹은,
    상기 콘텍스트가 정적인 것으로 결정될 때까지 상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹을 수행하는 것을 지연시키는 것, 또는 다이내믹 환경의 정적인 부분을 캡쳐하기 위해 복수의 카메라 센서들 중 하나를 선택하고, 선택된 카메라 센서를 사용하여 컴퓨터 비전을 수행하는 것 중 하나 또는 그 초과와 함께 사용하기 위하여 상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹 구성을 변경시키기 위해 상기 다이내믹 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  13. 제 1 항에 있어서,
    상기 콘텍스트는, 위치 콘텍스트, 환경 콘텍스트, 활동 콘텍스트, 및 모션 콘텍스트 중 2개 또는 그 초과의 결합인, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  14. 제 1 항에 있어서,
    상기 컴퓨터 비전 기반 로컬화, 매핑 또는 트래킹에 대해, 추론된 콘텍스트에 기초하여 제안된 카메라 방향 또는 시점을 제공하는 단계를 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 머신-구현된 방법.
  15. 데이터 프로세싱 디바이스로 하여금 컴퓨터 비전 태스크를 수행하기 위한 방법을 수행하게 하는 실행가능한 프로그램 명령들을 포함하는 머신 판독가능 비-일시적인 저장 매체로서,
    사용자 또는 디바이스의 콘텍스트를 추론하는 단계;
    추론된 콘텍스트에 따라 상기 컴퓨터 비전 태스크를 구성하는 단계; 및
    상기 컴퓨터 비전 태스크를 수행하는 단계를 포함하며,
    상기 컴퓨터 비전 태스크는,
    상기 디바이스의 환경의 매핑,
    상기 디바이스의 환경 내의 디바이스 또는 오브젝트의 로컬화, 또는
    상기 디바이스의 환경 내의 디바이스의 트래킹
    중 적어도 하나를 더 포함하는, 머신 판독가능 비-일시적인 저장 매체.
  16. 제 15 항에 있어서,
    상기 콘텍스트를 추론하는 단계는, 상기 사용자 또는 상기 디바이스의 콘텍스트를 추론하기 위해 센서 데이터를 판독하는 단계를 더 포함하며,
    상기 센서 데이터는, 블루투스 센서, 마이크로폰, 카메라(들), 글로벌 포지셔닝 센서(GPS), WiFi, 근접도 센서, 온도 센서, 기압(즉, 압력) 센서, 주변 광 센서(ALS), 레드-그린-블루(RGB) 컬러 센서, 자외선(UV) 센서, UV-A 센서, UV-B 센서, 지문 센서, 터치 센서, 가속도계, 자이로, 나침판, 및 마그노미터 중 하나 또는 그 초과로부터의 것인, 머신 판독가능 비-일시적인 저장 매체.
  17. 제 15 항에 있어서,
    상기 콘텍스트를 추론하는 단계는, 상기 사용자 또는 상기 디바이스의 콘텍스트를 추론하기 위해 애플리케이션 데이터를 판독하는 단계를 더 포함하며,
    상기 애플리케이션 데이터는, 캘린더, 지오 태깅, 소셜 미디어 데이터, 배터리, 및 시각 중 하나 또는 그 초과로부터의 것인, 머신 판독가능 비-일시적인 저장 매체.
  18. 제 15 항에 있어서,
    상기 콘텍스트는 모션, 활동, 환경, 또는 위치 중 하나 또는 그 초과일 수 있는, 머신 판독가능 비-일시적인 저장 매체.
  19. 제 15 항에 있어서,
    상기 컴퓨터 비전 태스크를 구성하는 단계는,
    상기 태스크와 연관된 알고리즘의 파라미터들을 선택하는 단계;
    상기 태스크와 연관된 알고리즘에 대한 입력들로서 이전 모델을 선택하는 단계; 및
    환경 제한들에 기초하여 문제점을 해결하기 위한 접근법을 선택하는 단계
    중 하나 또는 그 초과를 더 포함하는, 머신 판독가능 비-일시적인 저장 매체.
  20. 제 19 항에 있어서,
    상기 컴퓨터 비전 태스크를 구성하는 단계는,
    에지 기반 방법들을 사용하는 단계;
    포인트 기반 방법들을 사용하는 단계; 및
    직사각형 기반 방법들을 사용하는 단계;
    중 하나 또는 그 초과를 더 포함하는, 머신 판독가능 비-일시적인 저장 매체.
  21. 제 15 항에 있어서,
    상기 콘텍스트는 실내 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 정렬된 직사각형 좌표 시스템, 구획된 내부 장면 차원들, 미리 결정된 오브젝트들, 또는 실내 구조 피쳐들 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 실내 콘텍스트와 연관된 정보를 사용하는, 머신 판독가능 비-일시적인 저장 매체.
  22. 제 15 항에 있어서,
    상기 콘텍스트는 실외 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 다이내믹 월드 모델링, 미리 결정된 실외 구조 피쳐들, 원거리 피쳐들, 파노라마식 모델 또는 트래커, 또는 지상 대향 카메라로부터의 이미지들 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크를 변경시키기 위해 상기 실외 콘텍스트와 연관된 정보를 사용하는, 머신 판독가능 비-일시적인 저장 매체.
  23. 제 15 항에 있어서,
    상기 콘텍스트는 지저분한 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 피쳐 포인트 계산들 및 키프레임 레이트를 증가시키는 것 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 지저분한 콘텍스트와 연관된 정보를 사용하는, 머신 판독가능 비-일시적인 저장 매체.
  24. 제 15 항에 있어서,
    상기 콘텍스트는 깔끔한 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 키프레임 레이트를 감소시키는 것, 또는 라인들, 소멸 포인트들, 또는 직사각형들의 하나 또는 그 초과의 피쳐들을 사용하는 것 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 깔끔한 콘텍스트와 연관된 정보를 사용하는, 머신 판독가능 비-일시적인 저장 매체.
  25. 제 15 항에 있어서,
    상기 콘텍스트가 흥분된 콘텍스트인 경우, 상기 컴퓨터 비전 태스크는 트래킹된 피쳐들의 수를 증가시키며,
    상기 콘텍스트가 흥분되지 않은 콘텍스트인 경우, 상기 컴퓨터 비전 태스크는 트래킹된 피쳐들의 수를 감소시키는, 머신 판독가능 비-일시적인 저장 매체.
  26. 제 15 항에 있어서,
    상기 콘텍스트는 다이내믹 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 상기 콘텍스트가 정적인 것으로 결정될 때까지 상기 컴퓨터 비전을 수행하는 것을 지연시키는 것, 또는 다이내믹 환경의 정적인 부분을 캡쳐하기 위해 복수의 카메라 센서들 중 하나를 선택하고, 선택된 카메라 센서를 사용하여 컴퓨터 비전을 수행하는 것 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 다이내믹 콘텍스트와 연관된 정보를 사용하는, 머신 판독가능 비-일시적인 저장 매체.
  27. 제 15 항에 있어서,
    상기 콘텍스트는, 위치 콘텍스트, 환경 콘텍스트, 활동 콘텍스트, 및 모션 콘텍스트 중 2개 또는 그 초과의 결합인, 머신 판독가능 비-일시적인 저장 매체.
  28. 제 15 항에 있어서,
    상기 컴퓨터 비전 태스크에 대해, 추론된 콘텍스트에 기초하여 제안된 카메라 방향 또는 시점을 제공하는 단계를 더 포함하는, 머신 판독가능 비-일시적인 저장 매체.
  29. 컴퓨터 비전 태스크를 수행하기 위한 시스템으로서,
    프로세서; 및
    상기 프로세서에 커플링되고, 명령들을 저장하기 위해 구성가능한 저장 디바이스를 포함하며,
    상기 명령들은, 상기 프로세서에 의해 실행된 경우, 상기 프로세서로 하여금,
    사용자 또는 디바이스의 콘텍스트를 추론하게 하고;
    추론된 콘텍스트에 따라 상기 컴퓨터 비전 태스크를 구성하게 하며; 그리고,
    상기 컴퓨터 비전 태스크를 수행하게 하며;
    상기 컴퓨터 비전 태스크는,
    상기 디바이스의 환경을 매핑하고,
    상기 디바이스의 환경 내에서 상기 디바이스 또는 오브젝트를 로컬화하고, 또는
    상기 디바이스의 환경 내에서 상기 디바이스의 트래킹
    하도록 추가적으로 구성되는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  30. 제 29 항에 있어서,
    상기 콘텍스트를 추론하는 것은, 상기 사용자 또는 상기 디바이스의 콘텍스트를 추론하기 위해 센서 데이터를 판독하는 것을 더 포함하며,
    상기 센서 데이터는, 블루투스 센서, 마이크로폰, 카메라(들), 글로벌 포지셔닝 센서(GPS), WiFi, 근접도 센서, 온도 센서, 기압(즉, 압력) 센서, 주변 광 센서(ALS), 레드-그린-블루(RGB) 컬러 센서, 자외선(UV) 센서, UV-A 센서, UV-B 센서, 지문 센서, 터치 센서, 가속도계, 자이로, 나침판, 및 마그노미터 중 하나 또는 그 초과로부터의 것인, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  31. 제 29 항에 있어서,
    상기 콘텍스트를 추론하는 것은, 상기 사용자 또는 상기 디바이스의 콘텍스트를 추론하기 위해 애플리케이션 데이터를 판독하는 것을 더 포함하며,
    상기 애플리케이션 데이터는, 캘린더, 지오 태깅, 소셜 미디어 데이터, 배터리, 및 시각 중 하나 또는 그 초과로부터의 것인, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  32. 제 29 항에 있어서,
    상기 콘텍스트는 모션, 활동, 환경, 또는 위치 중 하나 또는 그 초과일 수 있는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  33. 제 29 항에 있어서,
    상기 컴퓨터 비전 태스크를 구성하는 것은,
    상기 태스크와 연관된 알고리즘의 파라미터들을 선택하고;
    상기 태스크와 연관된 알고리즘에 대한 입력들로서 이전 모델을 선택하며; 그리고,
    환경 제한들에 기초하여 문제점을 해결하기 위한 접근법을 선택
    하기 위한 명령들 중 하나 또는 그 초과를 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  34. 제 33 항에 있어서,
    상기 컴퓨터 비전 태스크를 구성하는 것은,
    에지 기반 방법들을 사용하고;
    포인트 기반 방법들을 사용하며; 그리고,
    직사각형 기반 방법들을 사용
    하기 위한 명령들 중 하나 또는 그 초과를 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  35. 제 29 항에 있어서,
    상기 콘텍스트는 실내 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 정렬된 직사각형 좌표 시스템, 구획된 내부 장면 차원들, 미리 결정된 오브젝트들, 또는 실내 구조 피쳐들 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 실내 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  36. 제 29 항에 있어서,
    상기 콘텍스트는 실외 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 다이내믹 월드 모델링, 미리 결정된 실외 구조 피쳐들, 원거리 피쳐들, 파노라마식 모델 또는 트래커, 또는 지상 대향 카메라로부터의 이미지들 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크를 변경시키기 위해 상기 실외 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  37. 제 29 항에 있어서,
    상기 콘텍스트는 지저분한 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 피쳐 포인트 계산들 및 키프레임 레이트를 증가시키는 것 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 지저분한 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  38. 제 29 항에 있어서,
    상기 콘텍스트는 깔끔한 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 키프레임 레이트를 감소시키고, 또는 라인들, 소멸 포인트들, 또는 직사각형들의 하나 또는 그 초과의 피쳐들을 사용하기 위한 명령들 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 깔끔한 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  39. 제 29 항에 있어서,
    상기 콘텍스트가 흥분된 콘텍스트인 경우, 상기 컴퓨터 비전 태스크는 트래킹된 피쳐들의 수를 증가시키며,
    상기 콘텍스트가 흥분되지 않은 콘텍스트인 경우, 상기 컴퓨터 비전 태스크는 트래킹된 피쳐들의 수를 감소시키는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  40. 제 29 항에 있어서,
    상기 콘텍스트는 깔끔한 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 상기 콘텍스트가 정적인 것으로 결정될 때까지 상기 컴퓨터 비전을 수행하는 것을 지연시키고, 또는 다이내믹 환경의 정적인 부분을 캡쳐하기 위해 복수의 카메라 센서들 중 하나를 선택하고, 선택된 카메라 센서를 사용하여 컴퓨터 비전을 수행하기 위한 명령들 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 다이내믹 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  41. 제 29 항에 있어서,
    상기 콘텍스트는, 위치 콘텍스트, 환경 콘텍스트, 활동 콘텍스트, 및 모션 콘텍스트 중 2개 또는 그 초과의 결합인, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  42. 제 29 항에 있어서,
    상기 컴퓨터 비전 태스크에 대해, 추론된 콘텍스트에 기초하여 제안된 카메라 방향 또는 시점을 제공하기 위한 명령들을 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 시스템.
  43. 컴퓨터 비전 태스크를 수행하기 위한 장치로서,
    사용자 또는 디바이스의 콘텍스트를 추론하기 위한 수단;
    추론된 콘텍스트에 따라 상기 컴퓨터 비전 태스크를 구성하기 위한 수단; 및
    상기 컴퓨터 비전 태스크를 수행하기 위한 수단을 포함하고,
    상기 컴퓨터 비전 태스크는,
    상기 디바이스의 환경의 매핑,
    상기 디바이스의 환경 내의 상기 디바이스 또는 오브젝트의 로컬화, 또는
    상기 디바이스의 환경 내의 상기 디바이스의 트래킹
    중 적어도 하나를 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  44. 제 43 항에 있어서,
    상기 콘텍스트를 추론하는 것은, 상기 사용자 또는 상기 디바이스의 콘텍스트를 추론하기 위해 센서 데이터를 판독하기 위한 수단을 더 포함하며,
    상기 센서 데이터는, 블루투스 센서, 마이크로폰, 카메라(들), 글로벌 포지셔닝 센서(GPS), WiFi, 근접도 센서, 온도 센서, 기압(즉, 압력) 센서, 주변 광 센서(ALS), 레드-그린-블루(RGB) 컬러 센서, 자외선(UV) 센서, UV-A 센서, UV-B 센서, 지문 센서, 터치 센서, 가속도계, 자이로, 나침판, 및 마그노미터 중 하나 또는 그 초과로부터의 것인, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  45. 제 43 항에 있어서,
    상기 콘텍스트를 추론하는 것은, 상기 사용자 또는 상기 디바이스의 콘텍스트를 추론하기 위해 애플리케이션 데이터를 판독하기 위한 수단을 더 포함하며,
    상기 애플리케이션 데이터는, 캘린더, 지오 태깅, 소셜 미디어 데이터, 배터리, 및 시각 중 하나 또는 그 초과로부터의 것인, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  46. 제 43 항에 있어서,
    상기 콘텍스트는 모션, 활동, 환경, 또는 위치 중 하나 또는 그 초과일 수 있는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  47. 제 43 항에 있어서,
    상기 컴퓨터 비전 태스크를 구성하는 것은,
    상기 태스크와 연관된 알고리즘의 파라미터들을 선택하기 위한 수단;
    상기 태스크와 연관된 알고리즘에 대한 입력들로서 이전 모델을 선택하기 위한 수단; 및
    환경 제한들에 기초하여 문제점을 해결하기 위한 접근법을 선택하기 위한 수단
    중 하나 또는 그 초과를 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  48. 제 47 항에 있어서,
    상기 컴퓨터 비전 태스크를 구성하는 것은,
    에지 기반 방법들을 사용하기 위한 수단;
    포인트 기반 방법들을 사용하기 위한 수단; 및
    직사각형 기반 방법들을 사용하기 위한 수단
    중 하나 또는 그 초과를 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  49. 제 43 항에 있어서,
    상기 콘텍스트는 실내 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 정렬된 직사각형 좌표 시스템, 구획된 내부 장면 차원들, 미리 결정된 오브젝트들, 또는 실내 구조 피쳐들 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 실내 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  50. 제 43 항에 있어서,
    상기 콘텍스트는 실외 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 다이내믹 월드 모델링, 미리 결정된 실외 구조 피쳐들, 원거리 피쳐들, 파노라마식 모델 또는 트래커, 또는 지상 대향 카메라로부터의 이미지들 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크를 변경시키기 위해 상기 실외 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  51. 제 43 항에 있어서,
    상기 콘텍스트는 지저분한 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 피쳐 포인트 계산들 및 키프레임 레이트를 증가시키는 것 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 지저분한 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  52. 제 43 항에 있어서,
    상기 콘텍스트는 깔끔한 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 키프레임 레이트를 감소시키기 위한 수단, 또는 라인들, 소멸 포인트들, 또는 직사각형들의 하나 또는 그 초과의 피쳐들을 사용하기 위한 수단 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 깔끔한 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  53. 제 43 항에 있어서,
    상기 콘텍스트가 흥분된 콘텍스트인 경우, 상기 컴퓨터 비전 태스크는 트래킹된 피쳐들의 수를 증가시키며,
    상기 콘텍스트가 흥분되지 않은 콘텍스트인 경우, 상기 컴퓨터 비전 태스크는 트래킹된 피쳐들의 수를 감소시키는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  54. 제 43 항에 있어서,
    상기 콘텍스트는 다이내믹 콘텍스트이고,
    상기 컴퓨터 비전 태스크는, 상기 콘텍스트가 정적인 것으로 결정될 때까지 상기 컴퓨터 비전을 수행하는 것을 지연시키기 위한 수단, 또는 다이내믹 환경의 정적인 부분을 캡쳐하기 위해 복수의 카메라 센서들 중 하나를 선택하고, 선택된 카메라 센서를 사용하여 컴퓨터 비전을 수행하기 위한 수단 중 하나 또는 그 초과와 함께 사용하기 위하여 컴퓨터 태스크 구성을 변경시키기 위해 상기 다이내믹 콘텍스트와 연관된 정보를 사용하는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  55. 제 43 항에 있어서,
    상기 콘텍스트는, 위치 콘텍스트, 환경 콘텍스트, 활동 콘텍스트, 및 모션 콘텍스트 중 2개 또는 그 초과의 결합인, 컴퓨터 비전 태스크를 수행하기 위한 장치.
  56. 제 43 항에 있어서,
    상기 컴퓨터 비전 태스크에 대해, 추론된 콘텍스트에 기초하여 제안된 카메라 방향 또는 시점을 제공하기 위한 수단을 더 포함하는, 컴퓨터 비전 태스크를 수행하기 위한 장치.
KR1020157027802A 2013-03-15 2014-03-11 콘텍스트 인식 로컬화, 매핑, 및 트래킹 KR101722588B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/842,928 2013-03-15
US13/842,928 US9367811B2 (en) 2013-03-15 2013-03-15 Context aware localization, mapping, and tracking
PCT/US2014/023162 WO2014150405A2 (en) 2013-03-15 2014-03-11 Context aware localization, mapping, and tracking

Publications (2)

Publication Number Publication Date
KR20150130383A true KR20150130383A (ko) 2015-11-23
KR101722588B1 KR101722588B1 (ko) 2017-04-03

Family

ID=50473788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157027802A KR101722588B1 (ko) 2013-03-15 2014-03-11 콘텍스트 인식 로컬화, 매핑, 및 트래킹

Country Status (6)

Country Link
US (1) US9367811B2 (ko)
EP (1) EP2972973B1 (ko)
JP (1) JP6090889B2 (ko)
KR (1) KR101722588B1 (ko)
CN (2) CN105074691A (ko)
WO (1) WO2014150405A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200125383A (ko) * 2019-04-25 2020-11-04 군산대학교산학협력단 지오 태그 사진들로부터 어트랙션 지역을 발견하는 방법 및 이를 수행하는 장치

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313398B2 (en) * 2014-03-20 2016-04-12 International Business Machines Corporation Warning system for sub-optimal sensor settings
US9524435B2 (en) 2015-03-20 2016-12-20 Google Inc. Detecting the location of a mobile device based on semantic indicators
WO2016190844A1 (en) * 2015-05-22 2016-12-01 Hewlett-Packard Development Company, L.P. Media content selection
US9903755B2 (en) 2015-10-05 2018-02-27 Microsoft Technology Licensing, Llc Indoors / outdoors detection
US10152947B2 (en) 2016-04-06 2018-12-11 Microsoft Technology Licensing, Llc Display brightness updating
US10247568B2 (en) 2016-06-12 2019-04-02 Apple Inc. Style sheet driven virtual camera for defining a navigation presentation
US10311593B2 (en) 2016-11-16 2019-06-04 International Business Machines Corporation Object instance identification using three-dimensional spatial configuration
US10552218B2 (en) * 2017-01-06 2020-02-04 Microsoft Technology Licensing, Llc Dynamic context of tasks
WO2018134686A2 (en) 2017-01-19 2018-07-26 Mindmaze Holding Sa Systems, methods, device and apparatuses for performing simultaneous localization and mapping
US10733484B2 (en) 2018-03-22 2020-08-04 Here Global B.V. Method, apparatus, and system for dynamic adaptation of an in-vehicle feature detector
KR102557049B1 (ko) * 2018-03-30 2023-07-19 한국전자통신연구원 Slam 기반 카메라 추적에서 라벨된 키프레임을 이용한 이미지 특징 매칭 방법 및 장치
US11095947B2 (en) * 2018-06-12 2021-08-17 Number 9, LLC System for sharing user-generated content
KR102612347B1 (ko) * 2018-06-27 2023-12-11 나이앤틱, 인크. 장치 위치 측정을 위한 다중 동기화 통합 모델
US11583997B2 (en) * 2018-09-20 2023-02-21 Sony Group Corporation Autonomous robot
US11378405B2 (en) 2018-12-20 2022-07-05 Here Global B.V. Method and apparatus for iterative refinement of parameters of a localization framework
US11003956B2 (en) 2019-05-16 2021-05-11 Naver Corporation System and method for training a neural network for visual localization based upon learning objects-of-interest dense match regression
US20230012943A1 (en) * 2019-12-11 2023-01-19 Telefonaktiebolaget Lm Ericsson (Publ) Performing localisation of a first user device
US11710232B2 (en) * 2020-05-23 2023-07-25 Reliance Industries Limited Image processing based advisory system and a method thereof
CN112084199A (zh) * 2020-09-27 2020-12-15 中国建设银行股份有限公司 一种基于场景的通用参数维护方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110071210A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 실내외 상황인식 기반의 모바일 혼합현실 콘텐츠 운용 장치 및 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2559726C (en) 2004-03-24 2015-10-20 A9.Com, Inc. System and method for displaying images in an online directory
US7729531B2 (en) * 2006-09-19 2010-06-01 Microsoft Corporation Identifying repeated-structure elements in images
FI20070159A0 (fi) * 2007-02-23 2007-02-23 Teknillinen Korkeakoulu Menetelmä informaation integrointiin, valintaan ja esityksen oppimiseen
DE102007043534A1 (de) 2007-09-12 2009-03-19 Robert Bosch Gmbh Anordnung zum Erfassen einer Umgebung
TWI408397B (zh) 2008-08-15 2013-09-11 Univ Nat Chiao Tung Automatic navigation device with ultrasonic and computer vision detection and its navigation method
US8699991B2 (en) 2010-01-20 2014-04-15 Nokia Corporation Method and apparatus for customizing map presentations based on mode of transport
US20110276401A1 (en) * 2010-05-10 2011-11-10 Research In Motion Limited Research In Motion Corporation System and method for distributing messages to an electronic device based on correlation of data relating to a user of the device
US20110316880A1 (en) 2010-06-29 2011-12-29 Nokia Corporation Method and apparatus providing for adaptation of an augmentative content for output at a location based on a contextual characteristic
US8625902B2 (en) * 2010-07-30 2014-01-07 Qualcomm Incorporated Object recognition using incremental feature extraction
US8478519B2 (en) 2010-08-30 2013-07-02 Google Inc. Providing results to parameterless search queries
US9013550B2 (en) * 2010-09-09 2015-04-21 Qualcomm Incorporated Online reference generation and tracking for multi-user augmented reality
US9363361B2 (en) 2011-04-12 2016-06-07 Microsoft Technology Licensing Llc Conduct and context relationships in mobile devices
KR20130000160A (ko) * 2011-06-22 2013-01-02 광주과학기술원 사용자 적응형 증강현실 이동통신 장치와 서버 및 그 방법
US8706137B2 (en) 2011-08-02 2014-04-22 Qualcomm Incorporated Likelihood of mobile device portal transition
US9082035B2 (en) * 2011-08-29 2015-07-14 Qualcomm Incorporated Camera OCR with context information
US20130050180A1 (en) 2011-08-30 2013-02-28 5D Robotics, Inc. Graphical Rendition of Multi-Modal Data
US9014421B2 (en) * 2011-09-28 2015-04-21 Qualcomm Incorporated Framework for reference-free drift-corrected planar tracking using Lucas-Kanade optical flow
US9143402B2 (en) * 2012-02-24 2015-09-22 Qualcomm Incorporated Sensor based configuration and control of network devices
US9116001B2 (en) * 2012-06-14 2015-08-25 Qualcomm Incorporated Adaptive estimation of frame time stamp latency
US9123135B2 (en) * 2012-06-14 2015-09-01 Qualcomm Incorporated Adaptive switching between vision aided INS and vision only pose
US9223804B2 (en) * 2012-08-27 2015-12-29 Qualcomm Incorporated Determining capacity of search structures
US9025856B2 (en) * 2012-09-05 2015-05-05 Qualcomm Incorporated Robot control information
US9013617B2 (en) * 2012-10-12 2015-04-21 Qualcomm Incorporated Gyroscope conditioning and gyro-camera alignment
US9177404B2 (en) * 2012-10-31 2015-11-03 Qualcomm Incorporated Systems and methods of merging multiple maps for computer vision based tracking
US9256788B2 (en) * 2012-11-02 2016-02-09 Qualcomm Incorporated Method for initializing and solving the local geometry or surface normals of surfels using images in a parallelizable architecture
US9159133B2 (en) * 2012-11-05 2015-10-13 Qualcomm Incorporated Adaptive scale and/or gravity estimation
US9116938B2 (en) * 2013-03-15 2015-08-25 Qualcomm Incorporated Updating index information when adding or removing documents

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110071210A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 실내외 상황인식 기반의 모바일 혼합현실 콘텐츠 운용 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200125383A (ko) * 2019-04-25 2020-11-04 군산대학교산학협력단 지오 태그 사진들로부터 어트랙션 지역을 발견하는 방법 및 이를 수행하는 장치
KR20210004918A (ko) * 2019-04-25 2021-01-13 군산대학교산학협력단 지오 태그 사진들로부터 어트랙션 지역을 발견하는 방법 및 이를 수행하는 장치

Also Published As

Publication number Publication date
CN110263611A (zh) 2019-09-20
US9367811B2 (en) 2016-06-14
EP2972973C0 (en) 2024-02-14
US20140279790A1 (en) 2014-09-18
JP6090889B2 (ja) 2017-03-08
CN110263611B (zh) 2024-03-05
EP2972973A2 (en) 2016-01-20
WO2014150405A2 (en) 2014-09-25
JP2016517575A (ja) 2016-06-16
EP2972973A4 (en) 2016-11-09
KR101722588B1 (ko) 2017-04-03
WO2014150405A3 (en) 2014-12-31
EP2972973B1 (en) 2024-02-14
CN105074691A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
KR101722588B1 (ko) 콘텍스트 인식 로컬화, 매핑, 및 트래킹
US11164361B2 (en) Generating floor maps for buildings from automated analysis of visual data of the buildings' interiors
US10417828B2 (en) Systems and methods for contextually augmented video creation and sharing
CN105631773B (zh) 用于提供地图服务的电子设备和方法
US10068373B2 (en) Electronic device for providing map information
KR102362117B1 (ko) 지도 정보를 제공하기 위한 전자 장치
US11568660B1 (en) System and method for improving localization and object tracking
KR20210137236A (ko) 머신 러닝 분류들에 기초한 디바이스 위치
CN109962939B (zh) 位置推荐方法、装置、服务器、终端及存储介质
WO2020221012A1 (zh) 图像特征点的运动信息确定方法、任务执行方法和设备
US20200033127A1 (en) Information processing apparatus, information processing method, and recording medium
CN106201448B (zh) 信息处理方法及用户终端
US11074451B2 (en) Environment-based application presentation
WO2015107263A1 (en) Method and apparatus for evaluating environmental structures for in-situ content augmentation
CA2886948A1 (en) Method relating to presence granularity with augmented reality
JP2016508644A (ja) 個人情報コミュニケータ
US20140223327A1 (en) Apparatus and methods for co-located social integration and interactions
US20130281123A1 (en) Information-processing device, method, information-processing system, and computer-readable non-transitory storage medium
CN109460073B (zh) 一种音频设备定向显示方法、装置和音频设备
CN104981850A (zh) 地理定位虚拟环境的表示方法及移动设备
RU2744626C2 (ru) Устройство для услуг на основе местоположения
TWI814455B (zh) 預測使用者意圖的方法、設備及其系統
WO2016123844A1 (zh) 终端应用的控制方法及装置

Legal Events

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