KR20170008321A - 주변 정보를 이용하는 스피드-업 탬플릿 매칭 - Google Patents

주변 정보를 이용하는 스피드-업 탬플릿 매칭 Download PDF

Info

Publication number
KR20170008321A
KR20170008321A KR1020177000283A KR20177000283A KR20170008321A KR 20170008321 A KR20170008321 A KR 20170008321A KR 1020177000283 A KR1020177000283 A KR 1020177000283A KR 20177000283 A KR20177000283 A KR 20177000283A KR 20170008321 A KR20170008321 A KR 20170008321A
Authority
KR
South Korea
Prior art keywords
pose
camera
templates
template
image
Prior art date
Application number
KR1020177000283A
Other languages
English (en)
Other versions
KR101749017B1 (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 KR20170008321A publication Critical patent/KR20170008321A/ko
Application granted granted Critical
Publication of KR101749017B1 publication Critical patent/KR101749017B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • G06K9/4604
    • G06K9/6202
    • 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/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06K2209/25
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/09Recognition of logos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

탬플릿 매칭을 위한 방법이 설명된다. 일 구현예에서, 타겟 오브젝트를 포함하는 이미지가 카메라에 의해 캡쳐된다. 카메라의 포즈는 적어도 부분적으로 이미지로부터의 주변 정보에 기초하여 추정된다. 매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 카메라의 포즈를 포즈 탬플릿들과 연관되는 포즈들에 매칭시킴으로써 포즈 탬플릿들의 세트에 대한 사전-선택이 수행된다. 타겟 오브젝트에 대한 탬플릿 매칭은 그러면 매칭하는 포즈 탬플릿들의 세트를 이용하여 수행된다.

Description

주변 정보를 이용하는 스피드-업 탬플릿 매칭{SPEED-UP TEMPLATE MATCHING USING PERIPHERAL INFORMATION}
본 개시물의 양태들은 이미지 프로세싱에 관한 것이다. 특히, 소정의 구현예들은 매칭 프로세스로부터 소정의 탬플릿들을 제거하기 위해 이미지로부터 및/또는 이미지를 캡쳐하는 디바이스로부터의 주변 정보를 이용하는 스피드-업 탬플릿 매칭과 관련된다. 위치 서비스들과 관련되는 특정 구현예들이 또한 설명된다.
무선 통신 기술에서의 진보는 오늘날의 무선 통신 디바이스들의 다재다능함을 크게 증가시켰다. 이러한 진보는 무선 통신 디바이스들이 단순한 모바일 전화기들 및 페이저들에서 멀티미디어 레코딩 및 재생, 이벤트 스케줄링, 워드 프로세싱, 전자상거래 등과 같은 다양한 기능을 할 수 있는 정교한 컴퓨팅 디바이스들로 진화하는 것을 가능하게 했다. 그 결과, 오늘날의 무선 통신 디바이스들의 사용자들은 종래에는 다수의 디바이스들, 또는 보다 큰 휴대가능하지 않은 장비를 요구했던 광범위한 태스크들을 단일의 휴대용 디바이스로 수행할 수 있다.
무선 통신 디바이스의 포지션을 획득하고 로케이팅하기 위해 다양한 애플리케이션들이 사용된다. 예를 들어, 위치 기반 서비스 (location based service; LBS) 들은 디바이스 상에서 구동하는 하나 이상의 애플리케이션들에 대한 제어들을 제공하기 위해 연관된 디바이스의 위치를 활용한다. 무선 통신 디바이스들에 대해 구현되는 LBS 기능의 애플리케이션들은 다른 것들 중에서 개인 네비게이션, 소셜 네트워킹, 컨텐츠 (예를 들어, 광고들, 검색 결과들 등) 의 타겟팅을 포함한다.
본 개시물의 양태들은 카메라 포즈를 추정하기 위한 시스템들, 방법들, 디바이스들, 및 제품들에 관한 것이다. 그러한 방법의 일 구현예는 카메라를 캡쳐된 로케이션의 이미지를 획득하는 단계로서, 여기서 이미지는 타겟 오브젝트 및 주변 정보를 포함한다; 주변 정보에 적어도 부분적으로 기초하여 타겟 오브젝트에 대한 카메라의 포즈를 산출하는 단계; 탬플릿 매칭 시스템에 액세스하는 단계로서, 여기서 탬플릿 매칭 시스템은 복수의 오브젝트들의 각각의 오브젝트에 대한 복수의 탬플릿들을 포함하고, 여기서 각각의 탬플릿은 탬플릿 포즈와 연관된다; 타겟 오브젝트와의 탬플릿 매치를 식별하기 위해 카메라의 포즈가 탬플릿 포즈에 매칭하는 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 단계; 및 타겟 오브젝트와의 탬플릿 매치를 식별하기 위해 매칭하는 포즈 탬플릿들의 세트를 프로세싱하는 단계를 포함한다.
다른 그러한 구현예들은 주변 정보가 이미지를 프로세싱하여 도출되는 소실점 정보를 포함하는 경우 기능할 수도 있다. 다른 그러한 구현예는 주변 정보가 모바일 디바이스에 의해 수집되는 센서 정보를 더 포함하는 경우 기능할 수도 있으며, 여기서 모바일 디바이스는 카메라를 포함한다. 다른 그러한 구현예는 센서 정보가 가속도계 데이터를 포함하는 경우 기능할 수도 있고, 여기서 주변 정보는 적어도 부분적으로 가속도계 데이터로부터 결정된 중력 벡터를 포함한다. 다른 그러한 구현예는 주변 정보가 적어도 2 개의 수평 소실점들로 이루어지는 경우 기능할 수도 있다. 다른 그러한 구현예들은 주변 정보가 하나의 수평 소실점 및 중력 벡터로 이루어지는 경우 기능할 수도 있다.
다른 그러한 구현예는 매칭하는 포즈들의 세트를 식별하기 위해 카메라의 포즈가 탬플릿 포즈에 매칭하는 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 경우, 임계 양보다 적은 포즈 각도에서의 차이를 갖는 복수의 탬플릿들 중의 탬플릿들을 식별하고; 매칭하는 포즈 탬플릿들의 세트로서 임계 양보다 적은 포즈 각도에서의 차이를 갖는 복수의 탬플릿들 중의 탬플릿들을 선택하는 것을 포함하는 경우 기능할 수도 있다.
다른 그러한 구현예들은 매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 카메라의 포즈가 탬플릿 포즈에 매칭하는 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 경우, 적어도 복수의 탬플릿들 중의 탬플릿에 의해 나타내어지는 각각의 오브젝트에 대해, 가장 작은 양만큼 카메라의 포즈와 상이한 각각의 오브젝트와 연관되는 탬플릿을 결정하고; 매칭하는 포즈 탬플릿들의 세트의 일부분으로서 가장 작은 양만큼 카메라의 포즈와 상이한 각각의 오브젝트와 연관되는 탬플릿을 선택하는 것을 포함하는 경우 기능할 수도 있다.
다른 그러한 구현예는 타겟 오브젝트와 매칭하는 탬플릿과 연관되는 위치 정보를 식별하고; 타겟 오브젝트와 매칭하는 탬플릿과 연관되는 위치 정보 및 카메라의 포즈에 기초하여 카메라의 위치를 추정하는 것을 더 포함할 수도 있다. 다른 그러한 구현예는 카메라의 위치에 기초하여 카메라를 포함하는 모바일 디바이스에 위치 기반 서비스들을 제공하는 것을 더 포함할 수도 있다.
그러한 구현예는 타겟 오브젝트가 상점 로고를 포함하는 경우 기능할 수도 있다. 다른 그러한 구현은 주변 정보에 적어도 부분적으로 기초하여 타겟 오브젝트에 대한 카메라의 포즈를 산출하는 것이 이미지의 복수의 에지 라인 피쳐들을 식별하기 위해 이미지를 프로세싱하는 것을 포함하는 경우 기능할 수도 있다. 다른 그러한 구현예는 복수의 에지 라인 피쳐들을 검출하는 것이 수평 에지 라인 피쳐들 및 수직 에지 라인 피쳐들을 검출하는 것을 포함하는 경우 기능할 수도 있다. 다른 그러한 구현예는 복수의 에지 라인 피쳐들을 검출하는 것이 바닥, 지붕, 또는 문 중 적어도 하나를 검출하는 것을 포함하는 경우 기능할 수도 있다.
다른 그러한 구현예는 카메라의 포즈를 산출하는 것이 주변 정보에 기초하여, 이미지에서의 타겟 오브젝트에 대해 규정된, 평면에 대한 팬 (pan), 기울기 (tilt), 또는 롤 (roll) 중 적어도 하나로서 카메라의 포즈를 산출하는 것을 포함하는 경우 기능할 수도 있다.
그러한 방법의 일 구현예는 프로세서; 프로세서에 커플링된 카메라; 및 프로세서에 커플링된 메모리를 포함하는 주변 정보를 이용하는 가속화된 탬플릿 매칭을 위한 모바일 디바이스일 수도 있으며, 여기서 메모리는 프로세서로 하여금, 카메라를 캡쳐된 로케이션의 이미지를 획득하는 것으로서, 여기서 이미지는 타겟 오브젝트 및 주변 정보의 적어도 일부분을 포함한다; 주변 정보에 적어도 부분적으로 기초하여 타겟 오브젝트에 대한 카메라의 포즈를 산출하고; 탬플릿 매칭 시스템에 액세스하는 것으로서, 여기서 탬플릿 매칭 시스템은 복수의 오브젝트들의 각각의 오브젝트에 대한 복수의 탬플릿들을 포함하고, 여기서 각각의 탬플릿은 탬플릿 포즈와 연관된다; 매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 카메라의 포즈가 탬플릿 포즈에 매칭하는 복수의 탬플릿들 중의 탬플릿들을 사전-선택하고; 및 타겟 오브젝트와의 탬플릿 매치를 식별하기 위해 매칭하는 포즈 탬플릿들의 세트를 프로세싱하게 하는 명령들을 포함한다.
다른 그러한 구현예는 디스플레이를 더 포함하는 디바이스이며, 여기서 명령들은 또한 프로세서로 하여금, 타겟 오브젝트와 매칭하는 탬플릿과 연관되는 위치를 결정하고, 타겟 오브젝트와 매칭하는 탬플릿과 연관되는 위치에 기초하여 모바일 디바이스의 추정된 위치를 디스플레이하게 한다.
다른 그러한 구현예는 디바이스 가속도계이며, 여기서 명령들은 또한 프로세서로 하여금, 가속도계로부터의 센서 데이터에 기초하여 중력 벡터를 식별하고, 이미지로부터의 주변 정보와 함께 중력 벡터를 이용하여 타겟 오브젝트에 대한 카메라의 포즈를 산출하게 한다.
다른 구현예는 프로세서에 의해 실행되는 경우 시스템으로 하여금 탬플릿 매칭의 방법을 수행하게 하는 명령들을 포함하는 비일시적 컴퓨터-판독가능 저장 디바이스일 수도 있으며, 그 방법은, 카메라를 통해 캡쳐된 위치의 이미지를 획득하는 단계로서, 여기서 이미지는 타겟 오브젝트 및 주변 정보를 포함한다; 주변 정보에 적어도 부분적으로 기초하여 타겟 오브젝트에 대한 카메라의 포즈를 산출하는 단계; 탬플릿 매칭 시스템에 액세스하는 단계로서, 여기서 탬플릿 매칭 시스템은 복수의 오브젝트들의 각각의 오브젝트에 대한 복수의 탬플릿들을 포함하고, 여기서 각각의 탬플릿은 탬플릿 포즈와 연관된다; 매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 카메라의 포즈가 탬플릿 포즈에 매칭하는 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 단계; 및 타겟 오브젝트와의 탬플릿 매치를 식별하기 위해 매칭하는 포즈 탬플릿들의 세트를 프로세싱하는 단계를 포함한다.
다른 그러한 구현예들은 탬플릿 매칭 시스템에 액세스하는 것이, 무선 네트워크를 통해, 복수의 탬플릿들을 포함하는 데이터베이스를 포함하는 서버 시스템에 카메라를 포함하는 모바일 디바이스로부터의 요청을 통신하는 것을 포함하는 경우 기능할 수도 있다.
추가적인 구현예들이 하기에서 제공되는 상세한 설명들의 관점에서 자명할 것이다.
도 1 은 일 구현예에 따른 탬플릿 매칭을 위한 시스템의 양태들의 도면이다.
도 2 는 하나의 가능성있는 구현예에 따른 탬플릿 매칭의 방법이다.
도 3a 는 일 구현예에 따른 탬플릿 매칭 시스템의 양태들을 도시한다.
도 3b 는 일 구현예에 따른 탬플릿 매칭 시스템의 양태들을 도시한다.
도 4 는 일 구현예에 따라 동작할 수도 있는 모바일 디바이스의 구현예를 도시한다.
도 5 는 일 구현예에 따른 주변 정보의 양태들을 도시한다.
도 6 은 일 구현예에 따른 주변 정보의 양태들을 도시한다.
도 7 은 일 구현예에 따른 주변 정보의 양태들을 도시한다.
도 8 은 일 구현예에 따른 주변 정보의 양태들을 도시한다.
도 9 는 일 구현예에 따른 주변 정보의 양태들을 도시한다.
도 10a 는 일 구현예에 따른 주변 정보의 양태들을 도시한다.
도 10b 은 일 구현예에 따른 주변 정보의 양태들을 도시한다.
도 11 은 주변 정보를 이용하는 상점 전면 로고 검출을 위한 탬플릿 매칭의 방법을 설명한다.
도 12 는 다양한 양태들에 따른 탬플릿 매칭 디바이스 또는 시스템의 일부분으로서 구현될 수도 있는 컴퓨터 시스템의 예의 블록도이다.
도 13 은 다양한 구현예들에 따른 탬플릿 매칭 시스템의 일부분으로서 구현될 수도 있는 컴퓨터 네트워크의 예의 도면이다.
다음은 이미지 프로세싱 및 탬플릿 매칭에 관한 것이다. 소정의 특정 실시예들은 탬플릿 매칭 프로세스의 속도를 높이기 위해 특정 기법들을 이용하는 상점 전면 로고들을 식별하기 위한 시스템들 및 방법들을 설명한다.
상점전면들은 포지셔닝 및 위치 기반 서비스를 위한 랜드마크들로서 종종 이용된다. 상점전면에서 브랜드를 인식할 수 있는 것은 위치 서비스들 및 위치 기반 광고와 같은 다양한 애플리케이션들에 혜택이 될 것이다. 탬플릿 매칭은 오브젝트 검출을 위한 하나의 가능성있는 방법이다. 표준 시스템들에서, "포즈들" 이라고도 지칭되는, 상이한 뷰잉 각도들에 기초하는 다수의 탬플릿들은 트레이닝 중에 준비되고, 각각의 탬플릿은 테스트 이미지에 대해 매칭된다. 소정의 실시예들에서, 추정된 포즈는 카메라 회전 각도, 카메라 변환 (translation), 또는 다른 오브젝트들 또는 기준의 프레임들에 대한 공간에서의 카메라들의 포지션 및 배향의 임의의 부분적이거나 완전한 설명일 수도 있다. 가능한 매치들에 대한 다수의 포즈들에 대해 카메라 이미지로부터 타겟 오브젝트를 매칭시키는 프로세스는 많은 양의 프로세싱을 수반하며, 이는 느린 프로세스를 초래한다. 저장된 탬플릿들의 상당한 부분을 사전-필터링하고 타겟 로고와 탬플릿 사이의 매치를 결정하는데 수반되는 프로세싱을 제한함으로써, 본원에서 설명되는 시스템들 및 방법들은 프로세서 이용을 감소시키고 보다 빠른 매칭을 제공할 수도 있다.
예를 들어, 일 시스템은 그 환경에서 식별되는 50 개의 상이한 타겟 오브젝트들을 갖는 쇼핑몰 환경에 의해 구현될 수도 있다. 타겟 오브젝트들은 상점 로고들, 표지판, 또는 탬플릿 매칭에 의해 식별될 수도 있는 임의의 다른 표시일 수도 있다. 탬플릿 매칭 시스템은 50 개의 상이한 타겟 오브젝트들의 각각에 대해 탬플릿들을 생성할 수도 있다. 각각의 타겟 오브젝트는 하나 이상의 연관된 탬플릿들을 가지며, 여기서 각각의 탬플릿은 또한 탬플릿을 생성하는데 이용된 뷰잉 각도에 관한 정보를 제공하는 연관된 포즈를 갖는다. 각각의 타겟 오브젝트에 10 개의 상이한 포즈들로부터의 탬플릿들이 제공되면, 시스템은 500 개의 탬플릿들을 가질 것이다. 사용자가 타겟 오브젝트들 중 하나인 쇼핑몰 구역에 있는 상점 로고의 사진을 찍는 경우, 시스템은 사용자 주변 정보를 사진의 포즈와 연관시킬 것이다. 모두 500 개의 탬플릿들에 대해 사진으로부터의 타겟 오브젝트에 매칭시키는 대신에, 시스템은 사진의 포즈를 매칭시키는 연관된 포즈의 것들만을 포함하도록 탬플릿들을 필터링할 것이다. 이상적으로, 이는 50 개까지, 사진에 대해 매칭될 탬플릿들의 개수를 제한할 것이며, 이는 사진과 대응하는 탬플릿 사이의 매치를 찾는데 필요한 평균 시간 및 컴퓨팅 리소스들을 상당히 감소시킨다.
본원에서 설명되는 바와 같이, "주변 정보" 는 타겟 오브젝트의 이미지와 연관되는 포즈 또는 기준 각도를 결정하거나 결정할 시에 보조하기 위해 이용될 수도 있는 정보를 지칭한다.
본원에서 언급되는 바와 같은 "타겟 오브젝트" 는 식별가능한 오브젝트이고 탬플릿에 매칭될 수도 있는 오브젝트로서 매칭 시스템 내에서 이용되는 이미지 또는 이미지의 일부분을 지칭한다. 타겟 오브젝트들의 예들은 상점 로고들 및 간판들을 포함한다.
도 1 은 향상된 탬플릿 매칭을 위한 시스템의 구현예의 양태들을 도시한다. 도 1 은 포즈 (152) 의 상대적 포지션으로부터 타겟 오브젝트 (150) 의 이미지 (140) 를 캡쳐하는데 이용되는 연관된 시야 (112) 를 갖는 카메라 (110) 를 포함하는 핸드헬드 모바일 디바이스 (100) 를 포함한다. 포즈 (152) 는 이미지 (140) 에서 캡쳐되는 타겟 오브젝트 (150) 에 대한 모바일 디바이스 (100) 의 공간에서의 포지션 및 배향인 것으로 여겨질 수도 있다. 이는 이미지 (140) 가 캡쳐되는 경우 모바일 디바이스 (100) 가 타겟 오브젝트 (150) 로부터 얼마나 가깝거나 먼 지에 관한 정보를 포함할 수도 있다. 이는 또한 임의의 기울기, 팬, 롤, 또는 이미지 (140) 가 캡쳐되는 경우 모바일 디바이스 (100) 와 타겟 오브젝트 (150) 사이의 상대적 포지션을 수량화하는데 이용될 수도 있는 임의의 다른 설명에 관한 정보를 포함할 수도 있다. 포즈의 추가적인 세부사항들 및 예들이 특히 도 7, 도 8, 도 9, 도 10a, 및 도 10b 에 대해 하기에서 논의된다.
카메라 (110) 를 통해 볼 수 있는 장면의 카메라 (110) 에 의해 찍힌 예시적인 이미지 (140) 가 제공된다. 이미지 (140) 의 세부사항들은 주변 정보로서 분석되거나 주변 정보를 생성하는데 이용될 수도 있다. 주변 정보의 예들은 평행선 주변 정보 (142), 평행선 주변 정보 (144), 및 소실점 주변 정보 (146) 로서 도 1 에 도시된다. 이미지로부터의 주변 정보의 이용 및 생성과 관련되는 추가적인 세부사항들이 하기에서 보다 상세히 논의된다.
모바일 디바이스 (100) 는 또한 가속도계 또는 주변 정보 (130) 로서 도시된 바와 같은 중력 벡터가 결정될 수도 있는 측정들을 제공하는 다른 센서를 포함한다. 주변 정보 (130) 와 같은 중력 벡터가 주변 정보 (142, 144, 및 146) 와 같은 이미지로부터의 정보와 함께 어떻게 이용될 수도 있는지의 추가적인 세부사항들이 또한 하기에서 보다 상세히 논의된다.
도 2 는 이제 주변 정보를 이용하는 스피드-업 탬플릿 매칭의 하나의 가능성있는 방법을 설명한다. S202 는 카메라 (110) 와 같은 카메라를 통해 캡쳐된 위치의, 이미지 (140) 와 같은 이미지를 획득하는 것을 수반한다. 이미지는 타겟 오브젝트 (150) 와 같은 타겟 오브젝트, 및 주변 정보 (142, 144, 및/또는 146) 와 같은 주변 정보를 포함한다. 대안적인 구현예들은 이미지로부터의 것이 아닌 주변 정보, 예컨대, 모바일 디바이스 (100) 의 센서로부터의 주변 정보 (130) 를 이용할 수도 있다.
S204 는 주변 정보에 적어도 부분적으로 기초하여 타겟 오브젝트에 대한 카메라의 포즈를 산출하는 것을 수반한다. 그러한 산출들과 관련되는 비제한적인 예시적인 세부사항들은 도 5 내지 도 10 에 대해 하기에서 논의된다. S206 은 탬플릿 매칭 시스템에 액세스하는 것을 수반하며, 여기서 탬플릿 매칭 시스템은 복수의 오브젝트들의 각각의 오브젝트에 대한 복수의 탬플릿들을 포함하고, 여기서 각각의 탬플릿은 탬플릿 포즈와 연관된다. 도 3a 및 도 3b 는 하나의 가능성있는 탬플릿 매칭 시스템의 양태들을 설명한다. 임의의 그러한 탬플릿 매칭 시스템은 시스템에 의해 매칭되도록 구조화된 오브젝트들 중 적어도 일부에 대한 다수의 탬플릿들을 포함할 것이다. 특정 오브젝트에 대한 다수의 탬플릿들은 오브젝트의 상이한 원경을 제공하여, 상이한 뷰들로부터 오브젝트를 보여주는 상이한 탬플릿들이 상이한 카메라 포즈 포지션들로부터 찍힌 오브젝트의 사진들을 매칭시킬 것이다. 상이한 관점 (perspective) 들을 보여주는 그러한 탬플릿들은 포즈 탬플릿들이라고 지칭될 수도 있다. 동일한 뷰 관점 또는 포즈와 연관되는 상이한 오브젝트들에 대한 탬플릿들은 매칭하는 포즈 탬플릿들이라고 지칭될 수도 있다.
S208 은 매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 카메라의 포즈가 탬플릿 포즈에 매칭하는 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 것을 수반한다. 소정의 구현예들에서, 탬플릿 매칭 시스템은 이전에 구조화된 탬플릿 데이터를 매칭하는 포즈 탬플릿들의 그룹들로 하게 할 수도 있다. 다른 구현예들에서, 탬플릿들은 단순히 포즈 정보와 함께 저장될 수도 있다. 그러한 구현예들에서, 시스템은 포즈 임계치를 가질 수도 있으며, 여기서 S208 은 카메라 포즈의 임계 거리 내에 있는 모든 포즈 탬플릿들을 식별하는 것을 수반한다. 그러한 임계 거리는 소정의 회전 각도의 차이, 또는 포즈 탬플릿들과 타겟 오브젝트를 포함하는 이미지를 캡쳐하는데 이용된 산출된 카메라의 포즈 사이의 유사한 비교치일 수도 있다. 그러한 구현예들에서, 산출된 카메라의 포즈가 2 개의 탬플릿 포즈들 사이에 있다면, 시스템은 타겟 오브젝트를 동일한 오브젝트에 대한 2 개의 포즈 탬플릿들에 대해 매칭시키려고 시도할 수도 있다. 또 다른 구현예들에서, 탬플릿 매칭 시스템은 가장 가까운 포즈 또는 관점 각도를 갖는 포즈 탬플릿을 식별할 수도 있다. 추가적인 구현예들에서, 단일 오브젝트에 대한 3 개 이상의 포즈 탬플릿이 이용될 수도 있으며, 단일 오브젝트에 대한 소정의 포즈 탬플릿들이 사전-필터링되는 한, 이용되는 남아 있는 3 개 이상의 포즈 탬플릿들은 여전히 단일 오브젝트에 대해 포즈 탬플릿들 모두를 이용할 시스템들에 걸쳐 매칭 프로세스의 스피드-업을 초래한다. 또 다른 구현예들에서, 카메라의 포즈와 가장 가까운 포즈 탬플릿의 포즈 사이에 충분한 차이가 존재하는 경우, 시스템은 포즈 미스매치에 기초하여 매치에 필요한 요건들을 조절할 수도 있다.
S210 에서는, 그러면, 방법은 타겟 오브젝트와의 매치를 식별하기 위해 매칭하는 포즈 탬플릿들의 세트를 프로세싱하는 단계를 포함한다. 그러한 프로세싱은 탬플릿을 타겟 오브젝트에 매칭시키기 위한 임의의 개수의 상이한 탬플릿 매칭 기법들을 수반할 수도 있다. 소정의 구현예들에서, 특정 포즈 탬플릿과 타겟 오브젝트 사이에 매치가 식별된 후에, 특정 포즈 탬플릿과 연관되는 부가적인 정보가 시스템에 의해 식별되고 이용될 수도 있다. 예를 들어, 특정 포즈는 특정 위치와 연관될 수도 있다. 카메라 포즈, 타겟 오브젝트 사이즈, 및 특정 위치 정보가 이미지와 연관되는 카메라 위치를 식별하는데 이용될 수도 있다. 시스템은 그 다음에 이러한 추가적인 정보에 기초하여 지도 정보, 방향 정보, 타겟팅된 광고, 또는 다른 그러한 디바이스 기능이나 사용자 통신들을 제공할 수도 있다. 또 다른 구현들에서, 카메라 위치는 추가적인 분석을 위해 시스템에 의해 상점 소유자에게 통신되거나 종합될 수도 있다.
도 3a 는 그러면 타겟 오브젝트 (150) 의 세부사항들 및 타겟 오브젝트 (150) 에 매칭하는 오브젝트로부터 생성되는 복수의 포즈 탬플릿들 (162a-e) 을 도시한다. 다양한 구현예들에서, 포즈 탬플릿들 (162) 은 다수의 포즈들로부터 오브젝트의 인스턴스를 사진찍고 이미지들과 함께 포즈들을 레코딩하는 디바이스에 의해 생성될 수도 있다. 이미지들은 그 다음에 포즈 탬플릿들 (162a-e) 을 생성하도록 프로세싱될 수도 있다. 대안적인 구현예들에서, 오브젝트의 단일 인스턴스는 상이한 포즈들과 연관되는 탬플릿들을 생성하기 위해 변환들을 이용하여 프로세싱될 수도 있다.
도 3a 에 도시된 바와 같이, 포즈 탬플릿은 단지 오브젝트의 복사본이 아니고, 탬플릿 매칭 시스템이 포즈 탬플릿을 포즈 탬플릿에 대한 기준인 오브젝트의 타겟 오브젝트 버전에 매칭시키는 것을 가능하게 하는 소정의 세부사항들 또는 유사점들을 포함할 수도 있다. 설명의 목적으로, 도 3a 및 도 3b 의 탬플릿 (162a) 은 타겟 오브젝트 (150) 에 가장 가깝게 매칭하는 포즈 탬플릿으로서 정의될 것이다.
도 3b 는 그러면 타겟 오브젝트 (150) 를 다시 도시한다. 도 1 에 도시되고 본원에서 설명되는 바와 같이, 타겟 오브젝트 (150) 는 포즈 (152) 로부터 카메라 (110) 를 구비한 모바일 디바이스 (100) 에 의해 이미지 (140) 에서 캡쳐되었으며, 포즈 (152) 는 캡쳐하는 카메라와 타겟 오브젝트 (150) 사이의 상대적 포지션을 설명한다. 도 2 에서 설명되는 구현예에서, 이러한 포즈는 적어도 부분적으로 주변 정보를 이용하여 S204 에서 결정된다. 이러한 프로세스의 예들이 하기에서 설명된다. 카메라 포즈가 결정된 후에, 도 2 의 구현예는 탬플릿 매칭 시스템이 액세스되는 S206 으로 진행된다. 도 3b 는 탬플릿들 (161 내지 164) 로 도시되는, 4 개의 오브젝트들에 대한 탬플릿들을 포함하는 하나의 가능성있는 탬플릿 매칭 시스템을 더 도시한다. 도 3b 의 구현예에서, 예시된 탬플릿 매칭 시스템은 4 개의 오브젝트들의 각각에 대해 5 개의 상이한 포즈들, 총 20 개의 포즈 탬플릿들을 포함한다. 예시의 목적으로, 탬플릿들은 차트로 도시되며, 여기서 열에서의 포즈 탬플릿은 동일한 오브젝트에 대한 탬플릿들이다. 도 3 에서, 제 1, 제 2, 제 3, 및 제 4 탬플릿들 (161 내지 164) 이 도시된다. 제 1 내지 제 5 포즈 탬플릿들 (170a-e) 로 도시된, 동일한 행에서의 탬플릿들은 동일한 연관된 포즈를 갖는 상이한 오브젝트들에 대한 탬플릿들이다. 예시의 목적으로, 포즈 탬플릿들의 각각의 그룹은 동일한 포즈를 갖는 것으로 정의되나, 상이한 구현예들에서는, 상이한 포즈들의 그룹화들이 이용될 수도 있다. 그러면 도 3b 에 의해 도시된 바와 같이, 포즈 (152) 가 식별된 후에, 포즈 (152) 는 제 1 내지 제 5 포즈 탬플릿들 (170a-e) 의 포즈들과 비교된다. 도 3b 의 구현예에서, 포즈 (152) 는 제 1 포즈 탬플릿들 (170a) 의 포즈에 매칭한다. 탬플릿들 (161a, 162a, 163a, 및 164a) 은 따라서 타겟 오브젝트 (150) 와 동일한 포즈를 각각 가지고, 이러한 탬플릿들은 매칭하는 포즈 탬플릿들의 세트 (180) 로서 식별된다. 다른 탬플릿들은 그러면 고려에서 제외될 수도 있다. 도 3b 의 20 개의 탬플릿들의 각각을 프로세싱하기 보다는, 탬플릿 매칭 시스템은 타겟 오브젝트 (150) 에 대해 매칭하는 포즈 탬플릿들 (180) 의 세트의 4 개의 탬플릿들을 간단히 매칭시킬 수도 있다. 에러가 없다고 가정하면, 타겟 오브젝트 (150) 에 의해 나타내어진 오브젝트에 대한 탬플릿으로서 도시된 탬플릿 (162a) 은 매칭되어야 한다.
도 4 는 도 1 의 모바일 디바이스 (100) 와 유사할 수도 있는 모바일 디바이스 (400) 의 하나의 가능성있는 구현예를 도시한다. 나아가, 모바일 디바이스 (400) 는 본원에서 설명되는 바와 같은 주변 정보를 이용하는 스피드-업 탬플릿 매칭 시스템의 전부 또는 일부를 또한 구현할 수도 있다. 이는 탬플릿 매칭부 (421) 를 이용하여 행해질 수도 있으며, 탬플릿 매칭부 (421) 는 포즈 탬플릿들을 저장하고 탬플릿 매칭부 (421) 의 일부로서 저장된 탬플릿들과 함께 카메라 (401) 에 의해 캡쳐된 타겟 오브젝트들을 매칭시키기 위한 프로세스들을 구현하는 탬플릿 매칭 시스템의 전부 또는 일부를 포함할 수도 있다. 이러한 구현예들 중 일부에서, 도 2 에서 설명되는 것과 같은 스피드-업 탬플릿 매칭 방법의 전체 프로세스는 임의의 다른 디바이스로부터의 특수화된 프로세싱 없이 모바일 디바이스 (400) 에 의해 수행될 수도 있다. 대안적인 구현예에서, 타겟 오브젝트와 매칭하는 포즈 탬플릿들에 이용되는 프로세싱 및 저장의 적어도 일부분은 도 13 에서 설명되는 것들과 같은 원격 네트워킹된 엘리먼트들에 의해 수행될 수도 있다.
도 4 에 도시된 구현예에서, 모바일 디바이스 (400) 는 다수의 컴포넌트들에서 동작들을 수행하기 위한 명령들을 실행하도록 구성되고, 예를 들어, 휴대용 전자 디바이스 내에서의 구현에 적합한 범용 프로세서 또는 마이크로프로세서일 수 있는 프로세서 (410) 를 포함한다. 프로세서 (410) 는 모바일 디바이스 (400) 내의 복수의 컴포넌트들과 통신가능하게 커플링된다. 이러한 통신가능한 커플링을 실현하기 위해, 프로세서 (410) 는 버스 (440) 에 걸쳐 다른 예시된 컴포넌트들과 통신할 수도 있다. 버스 (440) 는 모바일 디바이스 (400) 내에서 데이터를 전송하도록 적응된 임의의 서브시스템일 수 있다. 버스 (440) 는 복수의 컴퓨터 버스들이고 데이터를 전송하기 위한 추가적인 회로부를 포함할 수 있다.
메모리 (420) 가 프로세서 (410) 에 커플링될 수도 있다. 일부 구현예들에서, 메모리 (420) 는 단기 및 장기 저장 양자 모두를 제공하고 사실상 여러 개의 유닛들로 나눠질 수도 있다. 메모리 (420) 는 정적 랜덤 액세스 메모리 (SRAM) 및/또는 동적 랜덤 액세스 메모리 (DRAM) 와 같이 휘발성일 수도 있고/있거나, 판독-전용 메모리 (ROM), 플래시 메모리 등과 같이 비휘발성일 수도 있다. 또한, 메모리 (420) 는 보안 디지털 (SD) 카드들과 같은 제거가능한 저장 디바이스들을 포함할 수도 있다. 따라서, 메모리 (420) 는 컴퓨터-판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 및 모바일 디바이스 (400) 에 대한 다른 데이터의 저장을 제공한다. 일부 구현예들에서, 메모리 (420) 는 상이한 하드웨어 모듈들로 분산될 수도 있다.
일부 구현예들에서, 메모리 (420) 는 임의의 개수의 애플리케이션들 또는 소프트웨어 프로그램들일 수도 있는 애플리케이션들 (424) 을 저장한다. 탬플릿 매칭부 (421) 는 본원에서 설명되는 구현예들에 따라 가속화된 탬플릿 매칭을 구현하는 모바일 디바이스 (400) 의 일부로서 임의의 개수의 다른 애플리케이션들 (424) 과 함께 작동할 수도 있다. 메모리 (420) 와 같은 비일시적 메모리에 저장된 바와 같은 애플리케이션들 (424) 은 프로세서 (410) 에 의해 실행될 특정 명령들을 포함한다. 대안적인 구현예들에서, 다른 하드웨어 모듈들은 소정의 애플리케이션들 (424) 또는 애플리케이션들의 일부분들을 추가적으로 실행할 수도 있다. 소정의 구현예들에서, 메모리 (420) 는 보안 메모리를 추가적으로 포함할 수도 있으며, 보안 메모리는 타겟 오브젝트들의 보안 위치들 또는 탬플릿 매치들과 연관되는 프라이버시 민감성 데이터와 같은 보안 정보에 대한 복사 또는 다른 승인되지 않은 액세스를 방지하기 위한 추가적인 보안 제어들을 포함할 수도 있다.
일부 구현예들에서, 메모리 (420) 는 운영 체제 (423) 를 포함한다. 운영 체제 (423) 는 애플리케이션들 (424) 에 의해 제공되는 명령들의 실행을 개시하고/하거나 다른 하드웨어 모듈들 뿐만 아니라 무선 트랜시버 (412) 를 이용할 수도 있는 통신 모듈들과의 인터페이스들을 관리하고, 안테나를 통해 링크 (416) 로부터 정보를 수신하도록 동작가능할 수도 있다. 운영 체제 (423) 는 스레딩, 리스소 관리, 데이터 저장 제어, 및 다른 유사한 기능을 포함하여 모바일 디바이스 (400) 의 컴포넌트들에 걸친 다른 동작들을 수행하도록 적응될 수도 있다.
추가적인 구현예들에서, 무선 트랜시버 (412) 는 안테나 (414) 를 통해 링크 (416) 로부터 정보를 수신할 수도 있으며, 정보는 포즈 결정의 일부분으로서 이용될 수도 있는 주변 정보를 결정하기 위한 특수화된 하드웨어, 소프트웨어, 또는 펌웨어 모듈들을 포함할 수도 있는 포지션/속도 배향 센서들 (430) 에 직접적으로 전달될 수도 있다. 도 4 에 의해 도시되는 바와 같이, 모바일 디바이스 (400) 는 카메라 (401) 및 배향 센서들 (430) 을 포함한다. 포즈 정보는 카메라 (401) 로부터 수집된 주변 정보에 적어도 부분적으로 기초할 수도 있고, 또한 배향 센서들 (430) 로부터의 정보에 적어도 부분적으로 기초할 수도 있다. 또한, 모바일 디바이스 (400) 의 하드웨어 센서들 및 모듈들에 의해 추가적인 정보가 수집될 수도 있다. 그러한 정보의 예들은 포즈를 결정하거나 탬플릿 매치로부터 도출되는 위치 정보와 같은 다른 정보를 확인하는 주변 정보의 일부분으로서 또는 그와 함께 이용될 수도 있는 Doppler 측정들, 포지션 결정, 가속도 결정, 또는 속도 정보를 포함할 수도 있다. 대안적인 구현예들에서, 안테나들로부터의 신호들은 본원에서 설명되는 구현예들에 따른 프로세서 (410) 및 탬플릿 매칭부 (421) 에 의한 추후의 액세스 및 프로세싱을 위해 메모리 (420) 에 통신될 수도 있다.
일부 구현예들에서, 도 1 에서의 모바일 디바이스 (100) 의 카메라 (110) 와 같은 이미지 캡쳐 유닛은 카메라 (110) 의 렌즈가 옆으로 포인팅하는 것을 가능하게 하는 이동가능한 카메라 하우징을 포함할 수도 있다. 그러한 구현예들에서, 디바이스 (100) 는 카메라 (110) 의 렌즈 포지션을 이동시키도록 구성될 수도 있다. 렌즈 포지션의 이동은 현재 캡쳐된 이미지에서 주변 정보가 검출되지 않았다는 결정에 응답하여 요구될 수도 있으며, 따라서 디바이스를 이동시키고/시키거나 해당 디바이스 상의 카메라의 렌즈를 이동시키도록 (예를 들어, 사용자 인터페이스를 통해) 사용자에게 제안이 이루어지는 것을 초래한다. 대안적으로, 현재 캡쳐된 이미지에서 주변 정보가 검출되지 않았다는 결정에 응답하여, 모바일 디바이스 (100) 의 제어기는 자동적으로 카메라의 렌즈의 변위를 제어하는 변위 메커니즘의 작동을 야기하여 주변 정보가 검출될 수도 있는 다른 이미지의 캡쳐를 가능하게 하도록 카메라의 렌즈가 이동하게 할 수도 있다.
일부 구현예들에서, 카메라의 렌즈는 비전 기반 네비게이션을 가능하게 할 수도 있다. 예를 들어, 검출된 소실점이 (일반적으로 디바이스의 배향을 결정하는데 적합하지 않은) 수직의 것으로 식별되면, 옆으로 카메라를 회전시킴으로써 또는 렌즈 및 초점의 위치를 변화시킴으로써, 소실점이 비-수직 벡터에 대응하는, 평행선들의 상이한 세트가 검출되고, 따라서 디바이스의 배향의 추정을 가능하게 할 수도 있다. 이러한 경우에, 인코더들을 갖춘 서보 모터들과 같은 내부 메커니즘은 디폴트 포지션과 비교하여 카메라의 상대적 회전 또는 렌즈의 이동을 계속 추적한다. 이러한 인코더들로부터의 판독물들은 (예를 들어, 렌즈들의 이동변경의 경우에) 고유 캘리브레이션 매트릭스에서 초점 거리 값 f 에 추가되거나, (예를 들어, 렌즈 및 하우징의 회전의 경우에) 디바이스의 기준 프레임에 대해 검출된 소실점의 배향을 컴퓨팅하기 하기 위한 것일 수 있다.
(예시적인 이미지 (140) 와 같은) 장면의 이미지를 캡쳐하는 것은 카메라를 작동시킬 수도 있는, 디바이스를 휴대하는 사용자의 재량으로 수행될 수도 있거나, 일정 미리 결정된 시간의 간격이 경과했다는 결정에 응답하여 자동적으로 개시될 수도 있다. 예를 들어, 이동하는 디바이스의 추정된 위치가 디바이스 센서들로부터 도출된 배향 (예를 들어, 향하는 곳 (heading)) 및 거리 이동 컴퓨테이션들에 기초하여 결정되는 구현예들에서, 디바이스의 이동된 거리 및 현재 배향의 주기적 결정은 그러한 미리-결정된 간격들에서 자동적으로 수행될 수도 있다. 예를 들어, 현재 배향의 자동 결정은 디바이스의 배향을 결정하기 위해 사용자의 도움이 요구되는 경우 사용자에게 명령들/방향들을 전송하는 것을 포함할 수도 있다 (예를 들어, 장면의 노출을 위해 카메라를 들어올리거나 카메라를 작동시킬 것을 사용자에게 요청함). 일부 구현예들에서, 스크린 디스플레이는 사용자가 식별가능한 소실점들과 연관되는 특정 피쳐들 (예를 들어, 복도) 에서 카메라를 포인팅하는 것을 가능하게 하도록 디바이스의 카메라로 찍은 이미지를 보여줄 수도 있다. 장면의 이미지가 찍히면, 이미지에서의 소실점은, 일부 구현예들에서, 디바이스의 디스플레이 상에 디스플레이되는 캡쳐된 이미지에서 표시/식별될 수도 있다.
일부 구현예들에서, 카메라는 캡쳐된 이미지에서 일정 임계 개수의 라인들이 검출될 수 있는지를 알아보기 위해 주기적으로 샘플링될 수 있다. 충분한 라인들이 검출되면, 추가적인 소실점 컴퓨테이션들이 수행될 수도 있다. 그러나, 장면에서 소실점을 식별/결정하기에는 불충분한 라인들이 있다고 결정되면, 카메라는 장면의 새로운 이미지를 자동적으로 캡쳐할 수도 있거나, 사용자는 새로운 이미지를 취하도록 (예를 들어, 적어도 하나의 소실점이 결정될 수 있도록 캡쳐된 이미지에서 충분한 개수의 라인들을 식별할 높은 가능성이 있는 방향으로 카메라를 포지셔닝하도록) 프롬프팅될 수도 있다. 일부 구현예들에서, 이미지에서 충분한 개수의 라인들이 검출되어 배향 결정에 이용될 수 있도록 보다 좋은 포지션으로 전화기를 들도록 사용자를 가이드하기 위해 온-스크린 카메라 사인 및 다른 표시 (예를 들어, 버즈 (buzz) 와 같은 오디오 표시, 또는 디바이스의 진동과 같은 촉각 표시) 가 사용자에게 제공될 수도 있다. 후속하여, 배향 결정을 가능하게 하기 위해 충분한 개수의 라인들이 검출되었음을 보여 주기 위해 다른 표시자 (예를 들어, 다른 버즈 또는 온-스크린 카메라 사인) 가 제공될 수도 있다.
일부 구현예들에서, 예를 들어, 자이로스코프에 의해 검출된 바와 같은 디바이스의 배향에서의 가능성있는 변화 다음에 디바이스의 위치 추정을 가능하게 하기 위해, 자이로스코프와 같은 센서가 새로운 이미지에 기초하여 배향의 변화를 결정하기 위해 새로운 이미지를 캡쳐하는 것을 보장하는 일정 미리-결정된 임계치를 초과하는 회전 변화를 측정했다는 결정에 기초하여 (새로 캡쳐된 이미지에서 충분한 라인들이 있는지를 결정하기 위해) 카메라 샘플링이 트리거링될 수도 있다.
추가적인 구현예들은 링크 (446) 를 통하여 위성 신호들을 수신하기 위해 위성 전력 시스템 (satellite power system; SPS) 트랜시버 (442) 에 커플링된 SPS 안테나 (444) 를 또한 포함할 수도 있다. 그러한 신호들은 탬플릿 매칭부 (421) 가 포지션 결정에 이용되는 경우 본원에서 설명되는 다른 포지셔닝 신호들과 함께 포지셔닝을 향상시키는데 이용될 수도 있다.
또 다른 구현예들에서, 특수화된 이미지 프로세싱 모듈들이 이미지로부터 주변 정보를 결정하고, 가속도계 데이터의 프로세싱과 같은 센서 프로세싱으로부터 다른 주변 정보가 결정되도록, 특수화된 모듈은 탬플릿 매칭부와 통합되는 통신들을 구현할 수도 있다. 다수의 소스들로부터의 이러한 주변 데이터는 그러면 탬플릿 매칭부 (421) 에 의한 이용을 위해 종합될 수도 있다.
일부 구현예들에서, 모바일 디바이스 (400) 는 카메라 (401) 및 배향 센서들 (430) 에 더해 복수의 다른 하드웨어 모듈들을 포함한다. 다른 하드웨어 모듈들의 각각은 모바일 디바이스 (400) 내의 물리적 모듈이다. 그러나, 하드웨어 모듈들의 각각이 구조물로서 영구적으로 구성되기는 하나, 하드웨어 모듈들의 각각은 특정 기능들을 수행하도록 일시적으로 구성되거나 일시적으로 작동될 수도 있다. 일반적인 예는 셔터 릴리즈 및 이미지 캡쳐를 위해 카메라 (401) 를 프로그래밍할 수도 있는 애플리케이션 (424) 이다. 추가적인 하드웨어 모듈들은, 예를 들어, Wi-Fi 트랜시버, 위성 네비게이션 시스템 수신기 (예를 들어, GPS 모듈), 압력 모듈, 온도 모듈, 오디오 출력 및/또는 입력 모듈 (예를 들어, 마이크로폰), 근접 센서, 교번 라인 서비스 (alternate line service; ALS) 모듈, 용량성 터치 센서, 근접장 통신 (near field communication; NFC) 모듈, Bluetooth® 트랜시버, 셀룰러 트랜시버, 자기계, 자이로스코프, 관성 센서 (예를 들어, 가속도계와 자이로스코프를 결합하는 모듈), 주변 광 센서, 상대적 습도 센서, 또는 감각 출력을 제공 및/또는 감각 입력을 수신하도록 동작가능한 임의의 다른 유사한 모듈일 수도 있다. 일부 구현예들에서, 하드웨어 모듈들의 하나 이상의 기능들은 소프트웨어, 펌웨어, 또는 그의 임의의 조합으로 구현될 수도 있다.
모바일 디바이스 (400) 는 안테나 (414) 및 무선 트랜시버 (412) 를 무선 통신들에 필요한 임의의 다른 하드웨어, 펌웨어, 또는 소프트웨어와 통합할 수도 있는 무선 통신 모듈과 같은 컴포넌트를 포함할 수도 있다. 그러한 무선 통신 모듈은 네트워크들 및 액세스 포인트들을 통해 데이터 소스들과 같은 다양한 디바이스들로부터 신호들을 수신하도록 구성될 수도 있다. 다른 하드웨어 모듈들 및 메모리 (420) 에서의 애플리케이션들 (424) 에 더해, 모바일 디바이스 (400) 는 디스플레이 출력부 (403) 및 사용자 입력 모듈 (404) 을 포함할 수도 있다. 디스플레이 출력부 (403) 는 사용자에게 모바일 디바이스 (400) 로부터의 정보를 그래픽적으로 보여준다. 이러한 정보는 하나 이상의 애플리케이션들 (424), 하나 이상의 하드웨어 모듈들, 이의 조합, 또는 (예를 들어, 운영 체제 (423) 에 의해) 사용자에 대해 그래픽 컨텐츠를 리졸빙하는 (resolve) 임의의 다른 적합한 수단으로부터 도출될 수도 있다. 소정의 구현예들에서, 탬플릿 매칭부 (421) 는 이미지 (140) 와 같은 이미지를 디스플레이할 수도 있고, 주변 정보, 타겟 오브젝트 정보, 포즈 정보, 매칭 정보, 위치 정보, 및 탬플릿 매칭 시스템의 일부분으로부터 도출되거나 탬플릿 매칭 시스템의 일부분으로서 유용할 수도 있는 임의의 다른 그러한 정보를 더 디스플레이할 수도 있다.
디스플레이 출력부 (403) 는 액정 디스플레이 (liquid crystal display; LCD) 기술, 발광 폴리머 디스플레이 (light-emitting polymer display; LPD) 기술, 또는 일부 다른 디스플레이 기술일 수 있다. 일부 구현예들에서, 디스플레이 출력부 (403) 는 용량성 또는 저항성 터치 스크린이고, 사용자와의 촉감 및/또는 촉각 접촉에 감응할 수도 있다. 그러한 구현예들에서, 디스플레이 출력부 (403) 는 멀티-터치 감응 디스플레이를 포함할 수 있다. 디스플레이 출력부 (403) 는 그러면 탬플릿 매칭부 (421) 의 설정들, 출력 정보, 또는 다른 사용자 인터페이스 컴포넌트들에 이용될 수도 있다. 다양한 구현예들에서, 매치가 이루어지는 경우, 이러한 결정은 디스플레이 출력부 (403) 상에 출력될 수도 있다. 소정의 구현예들에서, 이는 매치가 정확하거나 부정확한 것을 표시하기 위한 사용자 피드백을 포함할 수도 있다. 대안적으로, 모바일 디바이스 (400) 는 탬플릿 매칭 시스템의 성능이 정확도를 대가로 매칭 시간 또는 일부 다른 성능 메트릭을 향상시키도록 조절될 수도 있도록, 변경되는 인터페이스 또는 디스플레이 시스템들의 세트를 가질 수도 있다.
일부 구현예들에서, 디바이스의 디스플레이는 또한 사용자가 로케이팅되는 구역의 지도를 보여줄 수도 있다. 예를 들어, 사용자가 로케이팅되는 구역의 지도는 디스플레이 표면의 대부분을 점유할 수도 있고, 한편 카메라에 의해 캡쳐된 이미지는 디스플레이 표면의 나머지 구역 상에서 (예를 들어, 디스플레이 표면의 하나의 코너에 있는 작은 직사각형 구역에서) 보여질 수도 있다. 대안적으로, 카메라에 의해 캡쳐되는 이미지는 디스플레이의 표면의 대부분 상에서 보여질 수도 있으며, 사용자가 로케이팅되는 구역의 지도는 (예를 들어, 디스플레이 표면의 코너들 중 하나에 있는) 디스플레이 표면의 보다 작은 부분을 점유한다. 일부 구현예들에서, 모바일 디바이스는 다수의 카메라들 (예를 들어, 디바이스의 후면에 있는 카메라, 디바이스의 측면들 중 하나에 로케이팅되는 다른 카메라 등) 을 포함하여, 필요하다면, 부수적으로 다수의 소실점들이 결정될 수 있는 장면의 다수의 이미지들을 취할 수도 있다.
모바일 디바이스의 추가적인 가능성있는 구현예들은 도 12 에 대해 하기에서 상세히 설명되는 컴퓨팅 디바이스들의 다양한 부분들, 및 도 13 에서 상세히 설명되는 바와 같은 네트워크들을 더 포함할 수도 있다.
다음으로 도 5 를 참조하면, 주변 정보에 기초하여 카메라 포즈를 추정하기 위한 시스템 (500) 은 카메라 (510), 피쳐 추출기 (502), 카메라 포즈 산출기 (504), 및 관심 지점 (point of interest; POI) 검출기 (506) 를 포함한다. 피쳐 추출기 (502), 카메라 포즈 산출기 (504), 및 POI 검출기 (506) 는 (예를 들어, 모바일 디바이스 (400) 의 프로세서 (410) 에서, 또는 다른 프로세서나 하드웨어 엘리먼트에서 - 도 4 참조) 하드웨어로, (예를 들어, 모바일 디바이스 (400) 의 메모리 (420) 상에 애플리케이션 (424) 으로서 저장되고 범용 프로세서 (410) 에 의해 실행되는 컴퓨터-실행가능 코드로서) 소프트웨어로, 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 피쳐 추출기 (502) 는 카메라 (510) 에 의해 캡쳐되는 이미지를 수신하여 이미지와 연관되는 키 포인트들 및/또는 다른 이미지 피쳐들을 추출한다. 이러한 피쳐들은, 하기에서 설명되는 바와 같이, 이미지와 연관되는 대략적인 카메라 포즈 또는 향하는 곳을 결정하기 위해 카메라 포즈 산출기 (504) 에 의해 사용된다.
POI 검출기 (506) 는 이미지로부터 타겟 오브젝트 또는 관심 지점을 식별하기 위해 탬플릿 매칭을 수행하는 시스템의 일부분으로 여겨질 수도 있다. 이용가능하다면, POI 검출기 (506) 는 위에서 도 3a 및 도 3b 에 설명되는 바와 같이, 카메라 포즈 산출기 (504) 로부터의 그리고 POI 검출기 (506) 의 일부분으로서 저장되는 포즈 탬플릿들로부터의 카메라 포즈 정보를 이용할 수도 있다. 소정의 구현예들에서, POI 검출기 (506) 는 다른 POI 또는 타겟 오브젝트 식별 기법들에 더해 포즈 기반 매칭이 이용되도록, 다수의 인식 기법들을 구현할 수도 있다. POI 검출기 (506) 는 따라서 관심 지점 (POI) 들 또는 캡쳐된 이미지 내의 다른 오브젝트들을 검출하기 위해 정보의 하나 이상의 소스들을 활용한다. 예를 들어, POI 검출기 (506) 는 이미지 내의 오브젝트들, 건물들, 색 패턴들, 간판들을 검출하기 위해 피쳐 추출기 (502) 로부터 추출되는 피쳐들을 사용할 수도 있다. POI 검출기 (506) 는 또한, 일부 구현예들에서, 예를 들어, 사용자 입력으로서, POI 검출기 (506) 에 선험적으로 제공될 수도 있는 주어진 이미지 내의 오브젝트들의 아이덴티티들 및/또는 위치들을 결정할 수도 있다. 이러한 경우에, POI 검출기 (506) 는 이미지 내의 오브젝트 및/또는 주변 이미지 피쳐들에 대응하는 이미지 피쳐들을 식별할 시에 피쳐 추출기 (502) 를 보조할 수도 있다.
여기서, 카메라 포즈 산출기 (504) 는 적어도 부분적으로 카메라 (510) 로부터의 이미지를 이용하여 카메라 포즈를 추정하도록 구성될 수도 있다. 이미지는 몇 개의 로컬라이징된 오브젝트 키 포인트들 (예를 들어, 이미지의 작은 부분 내의 검출된 오브젝트와 연관되는 키 포인트들) 을 가질 수도 있고, 포즈 산출기 (504) 는 오브젝트 주위의 주변 정보 및 시스템 (500) 에서의 센서들 (도 5 에 미도시) 에 의해 제공되는 주변 정보를 이용함으로써 카메라 포즈를 추정할 수도 있다. 그렇게 함으로써, POI 검출기 (506) 의 동작은 카메라 포즈 산출기 (504) 의 동작과 분리된다. 따라서, POI 검출기 (506) 는 컴퓨터 비전 기법들에 기초하여 이미지 내의 POI (또는 상점 전면 로고와 같은 다른 이미지 타겟) 를 검출하도록 구성되는 한편, 카메라 포즈 산출기 (504) 는 빌딩 구조물들 등으로부터의 라인들 및 에지들과 같은 정보에 이미지와 연관되는 카메라 포즈를 산출하도록 구성된다. 포즈 산출은 카메라 포즈 산출기 (504) 가 주어진 이미지와 연관되는 카메라 포즈를 결정할 시에 POI 검출기 (506) 로부터 도출되는 임의의 정보를 사용하지 않도록, POI 검출기 (506) 의 동작과 독립적으로 카메라 포즈 산출기 (504) 에 의해 수행될 수도 있고, 그 반대의 경우도 마찬가지이다. 다른 구현예들에서, POI 검출기 (506) 및 카메라 포즈 산출기 (504) 는 함께 구현될 수도 있고/있거나, 카메라 포즈 산출기 (504) 는 주어진 이미지와 연관되는 카메라 포즈를 결정할 시에 POI 검출기 (506) 로부터 도출되는 임의의 정보를 사용할 수도 있고, 그 반대의 경우도 마찬가지이다.
도 6 은 이미지 내에서 검출되는 수렴하는 에지 라인들에 기초하여 이미지와 연관되는 회전 매트릭스를 추정하기 위한 시스템 (600) 을 도시한다. 이러한 회전 매트릭스는 이미지 또는 이미지에 있는 타겟 오브젝트와 그 이미지를 캡쳐한 카메라 사이의 포즈 또는 상대적 포지션의 결정의 일부분으로서 이용될 수도 있다. 시스템 (600) 은 카메라 (610), 에지 추출기 (602), 소실점 추정기 (604), 및 회전 매트릭스 컴퓨테이션 모듈 (606) 을 포함한다. 에지 추출기 (602), 소실점 추정기 (604), 및 회전 매트릭스 컴퓨테이션 모듈 (606) 은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로서 구현될 수도 있다. 시스템 (600) 은 도 5 에서의 시스템 (500) 의 서브-컴포넌트들로서 구현될 수도 있으며, 예를 들어, 에지 추출기 (602) 는 피쳐 추정기 (502) 에 의해 적어도 부분적으로 구현될 수도 있고, 소실점 추정기 (604) 및 회전 매트릭스 컴퓨테이션 모듈 (606) 은 카메라 포즈 산출기 (504) 에 의해 적어도 부분적으로 구현될 수도 있다.
카메라 (610) 로부터의 이미지를 고려하면, 시스템 (600) 은, 예를 들어, 이미지에서의 하나 이상의 오브젝트들에 대해 카메라와 연관되는 회전 매트릭스의 형태로 이미지에 대응하는 호모그래피를 컴퓨팅한다. 회전 매트릭스의 정확한 컴퓨테이션은 기준 이미지 및/또는 테스트 이미지를 캡쳐하는데 이용되는 카메라의 고유 파라미터들이 알려져 있다면 수행될 수 있다. 그러나, 이러한 카메라 파라미터들이 알려져 있지 않다면 회전 매트릭스의 컴퓨테이션은 보다 어려워진다. 여기서, 회전 매트릭스 컴퓨테이션 모듈 (606) 은 이미지 내에서 식별되는 에지 피쳐들과 같은 주변 피쳐들에 기초하여 가지각색의 정확도의 정도들을 갖는 캡쳐된 이미지에서의 표면들에 대한 카메라 회전의 추정을 제공한다. 소정의 구현예들에서, 센서 정보는 회전 매트릭스와 함께 포즈 추정 시에 보다 큰 정확도를 가능하게 하는 중력 벡터와 같은 추가적인 주변 정보를 제공한다.
위에서 설명되는 바와 같이, 시스템 (600) 에 의해 수행되는 바와 같은 카메라 포즈 추정은 오브젝트 또는 POI 검출과는 독립적으로 수행될 수도 있다. 예를 들어, 카메라 (610) 가 상점 전면에서 포인팅된다면, 시스템 (600) 은 특정 상점 전면의 아이덴티티의 지식 없이 카메라와 상점 전면 사이의 향하는 곳의 각도를 결정할 수 있다. 카메라 포즈 추정은, 완료되면, 구역 내에서 카메라 (610) 의 위치의 추정을 제공하도록 카메라의 뷰 내의 POI 들에 관한 정보와 결합될 수도 있다. 카메라의 뷰 내의 POI들은 사용자 입력으로서 제공되고/되거나 하나 이상의 컴퓨터 비전 알고리즘을 통해서 검출될 수도 있다. 또한, 주어진 이미지 내의 POI들의 특정 위치들은 시스템 (600) 에 의해 수행되는 카메라 포즈 추정에 영향을 주지 않으면서 명시되거나 명시되지 않을 수도 있다.
도 7 및 도 8 을 참조하면, 이미지들 (700 및 800) 은 카메라 포즈 추정이 수행될 수 있는 예시적인 위치를 도시한다. 이미지들 (700 및 800) 이 상점 전면 위치를 도시하기는 하나, 본원에서 설명되는 기법들은 임의의 적합한 위치에 적용될 수 있다. 예를 들어, 본원에서 설명되는 기법들은 모든 에지 라인들이 완전히 수평 또는 수직 배향을 갖도록 이미지에서의 검출가능한 타겟 (예를 들어, 상점 전면에서 제공되는 브랜드 로고 등) 이 이미지 (800) 에서의 상점 로고 (801) 로 도시되는 바와 같이, 그 위치의 벽에 또는 벽과 평행하는 평면에 배치되는 경우; 검출가능한 타겟 오브젝트가 평면 표면 또는 평행하는 평면 표면들 상에 있고, 카메라 각도 (기울이기 및 롤링) 가 위치의 검출가능한 타겟의 평면과 카메라 이미지의 평면 사이의 각도인 경우; 및/또는 위치의 구조물이 알려져 있거나 공통의 레이아웃, 예를 들어, Manhattan 레이아웃을 갖는 경우 적용될 수도 있다. GAP® 상점에 대한 로고 (750) 는 로고 (750) 를 디스플레이하는 간판에 똑바로, 즉, 수직으로 뷰잉되면 GAP® 로고의 모습이다.
위의 가정들에 대응하는 구조물을 고려하면, 도 6 에서의 시스템 (600) 은 이미지 내의 위치 주위의 에지 라인들에 기초하여 카메라 회전 각도를 추론한다. 이러한 에지 라인들은 지붕, 바닥, 문들의 에지들, 및 다른 에지 라인 피쳐들을 포함할 수 있다. 카메라에 의해 캡쳐되는 주어진 이미지 내의 에지 라인들은 에지 추출기 (602) 에 의해 추출된다 (검출된다). 이러한 에지 라인들로부터, 소실점 추정기 (604) 는 이미지 내에 묘사되는 평행하는 에지 라인들에 대한 하나 이상의 소실점들을 결정하려고 시도한다. 예시적인 소실점은 이미지 (800) 에서의 에지 라인들 중 일부의 수평 소실점 (804) 이다. 따라서, POI 검출 후에, POI 로부터의 키 포인트들 (이미지들 (700 및 800) 에서의 상점 로고) 을 이용하는 대신에, 회전 매트릭스 컴퓨테이션 모듈 (606) 은 카메라 회전 각도를 추론하기 위해 검출된 POI 주위의 지붕, 바닥, 및 문들의 에지들을 이용한다.
회전 매트릭스 컴퓨테이션 모듈 (606) 은 다음과 같이 이미지와 연관되는 소실점들로부터의 이미지에 대응하는 회전 매트릭스를 도출할 수 있다. 핀홀 카메라에 있어서, 이미지에 대한 유클리드 3D 공간으로부터의 원근 투영은 다음과 같이 회전 컴포넌트 R 및 변환 컴포넌트 T 를 갖는 동질 좌표로 나타내어질 수 있다:
Figure pct00001
위의 등식들에서,
Figure pct00002
는 스케일링 팩터이고,
Figure pct00003
는 이미지 내의 위치들의 2D 이미지 좌표이고,
Figure pct00004
는 이러한 위치들의 3D 실세계 좌표이고, K 및 그것의 컴포넌트들은 카메라-특정 파라미터들의 매트릭스이다. 위의 좌표 변형은 도 9 에서의 다이어그램 (900) 으로 도시된다.
추가적으로 위에서 언급된 바와 같은, R 은 이미지에 대한 카메라의 회전 각도이다. R 은 다음과 같이 정의되는 팬, 기울기, 및 롤 파라미터들로 정의된다:
: y-z 평면에서의 배향은 x-축 주위의 회전 롤로 주어진다. 여기서, 롤 R roll
Figure pct00005
로 주어진다.
기울기: x-z 평면에서의 배향은 y-축 주위의 회전 기울기로 주어진다. 여기서, R tilt
Figure pct00006
로 주어진다.
: x-y 평면의 배향은 z-축 주위의 회전 팬으로 주어진다. 여기서, 팬 R pan 로 주어진다.
이러한 정의들로부터, R 은 다음과 같이 표현될 수 있다:
Figure pct00008
이미지 내에서 검출되는 소실점들은 3 개의 직교하는 방향들을 따라 있는 것으로 정의된다. 여기서, 이미지는 3 개의 소실점들을 갖는 것으로 정의된다: x-축 상의
Figure pct00009
, y-축 상의
Figure pct00010
, 및 심도 또는 z-축 상의
Figure pct00011
. 이러한 소실점들에 대해, 다음이 도출된다:
Figure pct00012
정사각형 픽셀들 및 제로 스큐 (skew) 를 가지고, 임의의 스케일 팩터들로서
Figure pct00013
의 정의에 기초하는 카메라에 대해, 다음이 더 도출된다:
위의 등식으로부터, 회전 각도 R 은 다음을 따라 도출된다:
Figure pct00015
위에서, R 은 추가적으로 매트릭스
Figure pct00016
에 대응하며, 여기서 컴포넌트들
Figure pct00017
의 각각은 R 의 열에 대응한다. 이러한 R 의 표현으로부터, 회전 매트릭스 및 연관된 회전 각도는 3 개의 소실점들
Figure pct00018
을 고려하여 추정될 수 있다. i = 1, 2, 3 에 대한 파라미터들
Figure pct00019
은 유닛 기준의 R 의 각각의 열을 만들도록 택해진다.
위에서부터, 카메라 회전 각도, 팬, 기울기, 및 롤의 정확한 컴퓨테이션은 이미지 내에서 식별되는 2 개의 소실점들을 고려하여 산출될 수 있다. 예를 들어, 도 8 에서의 이미지 (800) 를 다시 참조하면, 산출들은 이미지 (800) 의 광에 수렴하는 수평 라인들 (805) 의 수평 소실점 (804), 및 이미지 (800) 위로 수렴하는 수직 라인들 (807) 의 수직 소실점 (806) 에 대해 수행될 수 있다. 이미지 내의 에지 라인 피쳐들에 따라, 제 2 수평 소실점이 또한 식별되고 이용될 수 있다. 3D 좌표 축들 (x, y, zu, v, 이미지에서의 심도) 은 직각이며, 2 개의 소실점들이 알려져 있다면, 제 3 소실점의 위치는 알려져 있는 소실점들, 예를 들어,
Figure pct00020
에 기초하여 컴퓨팅될 수 있다.
회전 매트릭스의 정규화를 위해 다음의 정의가 이루어진다:
Figure pct00021
카메라의 수평 축이 지면에 평행으로 홀딩되는 이미지들에 있어서, pan = 0 이다. 이러한 경우에, R 은 다음과 같이 단순화될 수 있다:
Figure pct00022
포지션이 x-y 평면에서의 2D 맵에서 산출되는 구현예들에 있어서, 롤 각도가 추정된다. 여기서, 위의 산출들은 롤 각도를 결정하는데 사용되며, 롤 각도는 x-축 주위를 회전하는 y-z 평면에 따른 회전이다. 이러한 회전의 예가 도 10a 및 도 10b 에서의 다이어그램들 (1000 및 1002) 에서 도시된다.
추정은 카메라 회전 상태들의 별개의 세트 내에서 고려될 수도 있다. 예를 들어, 가능한 기울기 상태들을 고려하여, 예를 들어, 지면에 대해 위로, 평행하게, 또는 아래로 기울어지는 것 (또는, 예를 들어, +15 도, 0 도, 또는 -15 도) 을 고려하여, 롤 각도가 추정될 수도 있다. 특히, 카메라의 기울기 각도, 또는 기울기 각도의 부호 (예를 들어, 양 (위쪽) 의 기울기 또는 음 (아래쪽) 의 기울기) 는 결정된 이미지 피쳐들, 카메라 센서 데이터 등에 기초하여 추정된다. 이러한 추정에 기초하여, 다음의 정의들이 채용된다:
Figure pct00023
기울기 및 롤 각도들이 -90 도 내지 +90 도 내에 있는 것을 고려하여,
Figure pct00024
의 부호는
Figure pct00025
에 의해 결정되고,
Figure pct00026
의 부호는
Figure pct00027
에 의해 결정된다. 이는 (예를 들어, 왼쪽에서부터 오른쪽으로 보는) 롤의 대강의 추정을 제공하며, 오직 수직 방향에서의 소실점만이 검출되면, 롤의 범위는 위에서와 유사한 방식으로 결정될 수도 있다.
위에서 설명되는 기법들에 더해, 이미지에 대한 카메라의 회전은 적어도 부분적으로 카메라와 연관되는 배향 센서들 (예를 들어, 가속도계들, 자이로스코프들 등) 을 통해 결정될 수 있다. 따라서, 위의 예에서, 지구에 대한 카메라의 기울기 또는 기울기의 방향 (예를 들어, 위쪽 또는 아래쪽) 은 이미지 데이터에 더해 또는 그 대신에 가속도 데이터로부터 컴퓨팅될 수 있다. 예를 들어, 센서들로부터의 정보를 이용하여 결정되는 중력 벡터는 카메라의 기울기 및/또는 팬을 컴퓨팅하는데 이용될 수도 있다. 추가적으로, 이미지에 대한 카메라의 회전을 결정하는데 이용되는 정보의 적어도 일부분은 이미지 그 자체 이외의 다른 수단에 의해 획득될 수 있다. 예를 들어, 그러한 정보는 네트워크 측정들을 히트 맵 또는 시그너쳐 데이터와 비교함으로써 네트워크 측정들로부터 획득될 수도 있다.
다른 예로서, 다수의 타겟들 또는 표면들이 식별되는 이미지들에 대해, 검출된 타겟들 및/또는 표면들의 각각에 관련되는 정보는 카메라의 회전 추정을 더 개선하는데 이용될 수 있다. 예를 들어, 교차하는 벽들 또는 내부나 외부 코너와 같은, 2 개 이상의 평행하지 않는 벽들을 묘사하는 이미지에 대한 프로세싱은 검출된 벽들의 각각에 대한 에지 라인 피쳐들 및 소실점들에 대응하는 정보를 추출함으로써 진행될 수도 있다. 검출된 에지 라인 피쳐들 및 소실점들의 각각에 대응하는 결합된 정보는 후속하여, 위에서 설명되는 바와 같이, 카메라의 회전 추정의 정확도를 향상시키는데 이용될 수도 있다.
위에서 설명되는 기법들은 카메라 (610) 에 의해 캡쳐되는 임의의 주어진 이미지가 하나의 관심 오브젝트를 포함하는 시나리오에 적용될 수 있다. 다수의 오브젝트들이 이미지에 존재하고, 오브젝트들이 주변 환경에서의 상이한 벽들과 연관된다면, 오브젝트들의 각각에 대응하는 소실점들은 위에서 설명되는 산출들을 돕도록 식별되고 이용될 수 있다.
위에서 설명되는 기법들을 사용함으로써, 컴퓨터 비전 검출로부터의 키 포인트들의 개수 및/또는 배치가 그것들 자체의 포즈 추정에 충분하지 않을지라도 2D 맵에 대해 카메라 포즈의 강력한 대강의 추정이 수행될 수 있다. 소정의 구현예들에서, 상점 전면 또는 다른 타겟 오브젝트에 대한 카메라 회전의 대강의 추정은 하나의 수평 소실점들 또는 다수의 소실점들로 수행될 수도 있다. 소정의 구현예들에서, 단일 소실점이 중력 벡터와 함께 이용될 수도 있다. 또한, 추정은 검출된 라인들에서의 소정의 양의 결함을 용인할 수 있다. 맵이 이용되는 경우에 포지셔닝 목적으로, 본원에서 설명되는 추정은 포지셔닝 정확도에서의 상당한 개선을 초래한다.
위에서 논의되는 바와 같이, 상점 전면 간판 또는 다른 POI 가 검출된 후에, 포즈 추정은 POI 그 자체 대신에, 바닥, 지붕 등의 에지들과 같은 POI 주위의 라인들에 기초하여 수행된다. 위치의 카메라 뷰는 검출된 이미지의 평면에 평행인 문들, 지붕, 및/또는 바닥 라인들에 기초하여 추정될 수도 있다. 관련 카메라 파라미터들이 알려져 있는 경우 팬 및 기울기 각도들을 산출하는데 정확한 소실점 포지션(들)이 이용될 수 있다. 카메라 파라미터들이 알려져 있는 경우, 대강의 추정 (예를 들어, 왼쪽, 오른쪽, 상부, 또는 하부로부터의 뷰) 이 수행될 수 있다.
도 11 은 본원에서 이용되는 바와 같은 스피드-업 탬플릿 매칭을 이용할 수도 있는 비전 기반 실내 포지셔닝 시스템에 적용되는 경우 이전의 도면들에서 도시되는 시스템의 예시적인 구현예를 도시한다. 도 11 에 도시된 바와 같이, 장소 레이아웃 및 POI 정보 (1120) 는 쇼핑몰 환경에서의 상점 전면들에 대한 지도 및 위치 정보를 포함한다. 이러한 장소 레이아웃 및 POI 정보 (1120) 는 애플리케이션 또는 지도 방향들의 일부분으로서 모바일 디바이스에 제공될 수도 있다. 소정의 구현예들에서, 이는 도 4 의 탬플릿 매칭부 (421) 와 같은 탬플릿 매칭 시스템과 통합될 수도 있다. 대안적인 구현예들에서, 이는 위치 또는 위치 보조 서비스 제공자와 연관되는 네트워킹된 서버로부터의 서비스로서 제공될 수도 있고, 정보는 모바일 디바이스에 의해 서버로부터 액세스될 수도 있다. 소정의 구현예들에서, 이러한 정보는 물리적으로 장소 레이아웃 및 POI 정보 (1120) 에 의해 나타내어지는 구역에 있는 모바일 디바이스에 의해서만 액세스될 수도 있으며, 다른 구현예들에서, 정보는 일반적으로 액세스가능할 수도 있다. GAP®및 ALDO® 상점에 대한 위치들은 장소 레이아웃 및 POI 정보 (1120) 의 일부분으로서 각각 위치들 (1125 및 1130) 로 도시된다. 사용자가 사용자 디바이스에 대한 위치 정보를 제공하는 네트워크 또는 GPS 위치들 신호들에 액세스하지 않으면, 사용자는 이미지 캡쳐 프로세스 (S1100) 의 일부분으로서 타겟 오브젝트 (1134) 를 포함하는 이미지 (1135) 와 같은 이미지를 캡쳐할 수도 있다. 사용자가 들고 있는 카메라의 뷰에서 타겟 오브젝트 (1134) 를 갖는 특정 상점 전면은 따라서 포지션 또는 위치 서비스에 대한 관점적 큐 (cue) 로서 검출된다.
S1102 에서, 탬플릿 매칭 시스템은 이미지 (1135) 로부터의 타겟 오브젝트 (1134) 를 매칭시키기 위해 액세스된다. 탬플릿 매칭 시스템 및 연관된 포즈 탬플릿들은 이미지 (1135) 를 캡쳐한 모바일 디바이스 내에 전부 포함될 수도 있거나, 위에서 설명되는 바와 같은 위치 서비스들을 제공하는 네트워킹된 서버의 일부분일 수도 있다. 그러한 탬플릿 매칭 시스템은 장소 레이아웃 및 POI 정보 (1120) 에 의해 나타내어지는 구역에서의 상점 전면들에 기초한 복수의 탬플릿들을 포함할 수도 있다. 이는 ALDO® 로고 및 GAP® 로고로부터의 관점들과는 상이한 복수의 포즈 탬플릿들을 포함할 것이다. 이미지 (1135) 에 대해 검사되는 포즈 탬플릿들의 개수를 감소시키기 위해 포즈 정보를 이용하는 스피드-업 탬플릿 매칭은 그러면 타겟 오브젝트 (1134) 와의 매치를 식별하는데 이용될 수도 있다.
타겟 오브젝트 (1134) 를 특정 포즈 탬플릿과 연관시키기 위해 매치가 이루어지면, 장소 레이아웃 및 POI 정보 (1120) 는 그러면 S1104 에서 사용자의 위치 및 향하는 곳을 추론하기 위해, 적어도 부분적으로, S1102 에서의 탬플릿 매칭의 일부분으로서 결정되는 포즈 정보와 함께 이용될 수도 있다. 장소 레이아웃 및 POI 정보 (1120) 가 타겟 오브젝트 (1134) 와 연관되는 맵 위치를 포함할 것이고, 포즈 정보가 이미지 (1135) 를 캡쳐한 카메라와 연관되는 향하는 곳 정보를 제공할 것이기 때문에, 사용자가 카메라와 동일한 방향을 향하고 있다고 가정하면, 2D 맵 상에서 사용자의 향하는 곳은 상점 전면의 벽에 대한 카메라 회전 각도에 기초하여 추론된다. 이러한 각도는 또한 연관된 구역 내에서의 사용자의 가능한 위치를 개선하는데 이용될 수 있다.
도 12 에 도시되는 바와 같은 컴퓨터 시스템 (1200) 은 도 1 및 도 4 에 도시된 디바이스들과 같은 이전에 설명된 컴퓨터화된 디바이스들의 컴포넌트들 및/또는 기능을 적어도 부분적으로 구현하는데 사용될 수도 있다. 도 12 는 본원에서 설명되는 바와 같은 다양한 다른 구현예들에 의해 제공되는 방법들을 수행할 수 있고/있거나, 모바일 디바이스 또는 다른 컴퓨터 시스템으로서 기능할 수 있는 컴퓨터 시스템 (1200) 의 일 구현예의 개략적 도면을 제공한다. 도 12 는 다양한 컴포넌트들의 일반화된 예시를 제공하며, 그것들 중 임의의 것 또는 모두가 적절히 사용될 수도 있다. 도 12 는, 따라서, 상대적으로 별도의 또는 상대적으로 통합된 방식으로 개개의 시스템 엘리먼트들이 어떻게 구현될 수도 있는지를 대략적으로 도시한다.
컴퓨터 시스템 (1200) 은 버스 (1205) 를 통해 전기적으로 커플링될 수 있는 (또는 그렇지 않으면 적절히 통신하고 있을 수도 있는) 하드웨어 엘리먼트들을 포함하는 것으로 도시된다. 하드웨어 엘리먼트들은, 제한 없이, 하나 이상의 범용 프로세서들 및/또는 하나 이상의 특수-목적용 프로세서들 (예컨대, 디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들 등등) 을 포함하는, 하나 이상의 프로세서들 (1210); 제한없이, 마우스, 키보드 등등을 포함할 수 있는 하나 이상의 입력 디바이스들 (1215); 및, 제한 없이, 디스플레이 디바이스, 프린터 등등을 포함할 수 있는 하나 이상의 출력 디바이스들 (1220) 을 포함할 수도 있다. 프로세서(들) (1210) 은, 예를 들어, 지능형 하드웨어 디바이스, 예를 들어, 중앙 프로세싱 유닛 (CPU), 마이크로제어기, ASIC 등을 포함할 수 있다. 다른 프로세서 타입들이 또한 사용될 수 있다
컴퓨터 시스템 (1200) 은, 제한 없이, 로컬 및/또는 네트워크 액세스가능한 스토리지를 포함할 수 있는 하나 이상의 비일시적 저장 디바이스들 (1225), 및/또는 제한 없이, 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 프로그램 가능한, 플래시-업데이트가능할 수 있는 랜덤 액세스 메모리 ("RAM") 및/또는 판독-전용 메모리 ("ROM") 와 같은 솔리드-스테이트 저장 디바이스 등등을 더 포함할 (및/또는 이와 통신할) 수도 있다. 그러한 저장 디바이스들은, 제한 없이, 다양한 파일 시스템들, 데이터베이스 구조들 등등을 포함하는 임의의 적합한 데이터 저장들을 구현하도록 구성될 수도 있다.
컴퓨터 시스템 (1200) 은 또한, 제한 없이, 모뎀, 네트워크 카드 (무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 칩셋 (예컨대, Bluetooth® 디바이스, 1202.11 디바이스, WiFi 디바이스, WiMax 디바이스, 셀룰러 통신 설비들 등) 등등을 포함할 수 있는 통신 서브시스템 (1230) 을 포함할 수도 있다. 통신 서브시스템 (1230) 은 (예를 들자면, 하기에서 설명되는 네트워크와 같은) 네트워크, 다른 컴퓨터 시스템들, 및/또는 본원에서 설명되는 임의의 다른 디바이스들과 데이터가 교환되는 것을 허용할 수도 있다. 많은 구현예들에서, 컴퓨터 시스템 (1200) 은, 여기에서처럼, 위에서 설명된 바와 같은 RAM 또는 ROM 디바이스를 포함할 수 있는 작업 메모리 (1235) 를 더 포함할 것이다.
컴퓨터 시스템 (1200) 은 또한 운영 체제 (1240), 디바이스 드라이버들, 실행가능한 라이브러리들, 및/또는 다양한 구현예들에 의해 제공되는 컴퓨터 프로그램들을 포함할 수도 있고/있거나 본원에서 설명되는 바와 같은 다른 구현예들에 의해 제공되는 방법들을 실행하고/하거나 시스템들을 구성하도록 설계될 수도 있는 하나 이상의 애플리케이션들 (1245) 과 같은 다른 코드를 포함하는, 작업 메모리 (1235) 내에 현재 로케이팅되는 것으로 도시된 소프트웨어 엘리먼트들을 포함할 수 있다. 단지 예로서, 본원에서 설명되는 하나 이상의 프로세스들은 컴퓨터 (및/또는 컴퓨터 내의 프로세서) 에 의해 실행가능한 코드 및/또는 명령들로서 구현될 수도 있다. 그러한 코드 및/또는 명령들은 설명된 방법들에 따라 하나 이상의 동작들을 수행하도록 범용 컴퓨터 (또는 다른 디바이스) 를 구성 및/또는 적응시키는데 이용될 수 있다.
이러한 명령들 및/또는 코드의 세트는 위에서 설명되는 저장 디바이스(들) (1225) 와 같은 컴퓨터-판독가능 저장 매체 상에 저장될 수도 있다. 일부 경우들에서, 저장 매체는 시스템 (1200) 과 같은 컴퓨터 시스템 내에 포함될 수도 있다. 다른 구현예들에서, 저장 매체는 컴퓨터 시스템과 별개일 수도 있고/있거나 (예를 들어, 컴팩트 디스크와 같은 제거가능한 매체), 저장된 명령들/코드로 범용 컴퓨터를 프로그램, 구성, 및/또는 적응시키는데 저장 매체가 이용될 수 있도록 설치 패키지로 제공될 수도 있다. 이러한 명령들은 컴퓨터 시스템 (1200) 에 의해 실행가능한 코드의 형태를 취할 수도 있고/있거나, (예를 들어, 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등 중 임의의 것을 이용하여) 컴퓨터 시스템 (1200) 상에서의 컴파일 및/또는 설치 시에, 실행가능한 코드의 형태를 취하는 소스 및/또는 설치가능한 코드의 형태를 취할 수도 있다.
실질적 변형들은 특정 요구사항들에 따라 이루어질 수도 있다. 예를 들어, 맞춤제작된 하드웨어가 또한 이용될 수도 있고/있거나, 특정 엘리먼트들이 (애플릿들 등과 같은 휴대용 소프트웨어를 포함하여) 하드웨어, 소프트웨어 또는 양자 모두로 구현될 수도 있다. 또한, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 접속이 사용될 수도 있다.
(컴퓨터 시스템 (1200) 과 같은) 컴퓨터 시스템은 본 개시물에 따른 방법들을 수행하는데 이용될 수도 있다. 그러한 방법들의 절차들의 일부 또는 전부는 프로세서 (1210) 가 작업 메모리 (1235) 에 포함되어 있는 (운영 체제 (1240) 및/또는 애플리케이션 (1245) 과 같은 다른 코드에 포함될 수도 있는) 하나 이상의 명령들의 하나 이상의 시퀀스들을 실행하는 것에 응답하여 컴퓨터 시스템 (1200) 에 의해 수행될 수도 있다. 그러한 명령들은 저장 디바이스(들) (1225) 중 하나 이상과 같은 다른 컴퓨터-판독가능 매체로부터 작업 메모리 (1235) 내로 판독될 수도 있다. 단지 예로서, 작업 메모리 (1235) 에 포함되어 있는 명령들의 시퀀스들의 실행은 프로세서(들) (1210) 로 하여금 본원에서 설명된 방법들의 하나 이상의 절차들을 수행하게 할 수도 있다.
본원에서 이용되는 바와 같은 용어들 "머신-판독가능 매체" 및 컴퓨터-판독가능 매체는 머신으로 하여금 특정 방식으로 동작하게 하는 데이터를 제공하는데 참여하는 임의의 매체를 지칭한다. 컴퓨터 시스템 (1200) 을 이용하여 구현되는 구현예에서, 다양한 컴퓨터-판독가능 매체들이 실행을 위해 프로세서(들) (1210) 에 명령들/코드를 제공할 시에 수반될 수도 있고/있거나, (예를 들어, 신호들로서) 그러한 명령들/코드의 저장 및/또는 반송에 이용될 수도 있다. 그러한 구현예들에서, 컴퓨터-판독가능 매체는 물리적 및/또는 유형의 저장 매체이다. 그러한 매체는, 이로 제한되지는 않으나, 비휘발성 매체들, 휘발성 매체들, 및 송신 매체들을 포함하는 많은 형태를 취할 수도 있다. 비휘발성 매체들은, 예를 들어, 저장 디바이스(들) (1225) 와 같은 광학적 및/또는 자기적 디스크들을 포함한다. 휘발성 매체들은, 제한 없이, 작업 메모리 (1235) 와 같은 동적 메모리를 포함한다. 송신 매체들은, 제한 없이, 버스 (1205) 뿐만 아니라 통신 서브시스템 (1230) (및/또는 통신 서브시스템 (1230) 에 다른 디바이스들과의 통신을 제공하는 매체들) 의 다양한 컴포넌트들을 포함하는 와이어들을 포함하여 동축 케이블들, 구리 와이어 및 광섬유들을 포함한다. 따라서, 송신 매체들은 또한 (제한 없이, 라디오-웨이브 및 적외선 데이터 통신들 중에 생성되는 것들과 같은 라디오, 음향 및/또는 광 웨이브들을 포함하는) 웨이브들의 형태를 취할 수 있다.
물리적 및/또는 유형의 컴퓨터-판독가능 매체들의 일반적인 형태들은, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, a Blu-Ray® 디스크, 임의의 다른 광학 매체, 천공카드들, 페이퍼테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 혹은 카트리지, 이후에서 설명되는 바와 같은 캐리어웨이브, 또는 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다.
다양한 형태들의 컴퓨터-판독가능 매체들은 실행을 위해 프로세서(들) (1210) 에 하나 이상의 명령들의 다양한 시퀀스들을 반송할 시에 수반될 수도 있다. 단지 예로서, 명령들은 처음에 원격 컴퓨터의 자기 디스크 및/또는 광학 디스크 상으로 반송된다. 원격 컴퓨터는 그것의 동적 메모리 내로 명령들을 로딩하고 컴퓨터 시스템 (1200) 에 의해 수신 및/또는 실행될 통신 매체를 통하여 신호들로서 명령들을 전송할 수도 있다. 전자기 신호들, 음향 신호들, 광학 신호들 등등의 형태일 수도 있는 이러한 신호들은 모두 본 발명의 다양한 구현예들에 따라 명령들이 인코딩될 수 있는 캐리어 웨이브들의 예들이다.
통신 서브시스템 (1230) (및/또는 그것의 컴포넌트들) 은 일반적으로 신호들을 수신할 것이고, 버스 (1205) 는 그러면 프로세서(들) (1205) 가 명령들을 취출하여 실행하는 작업 메모리 (1235) 로 신호들 (및/또는 신호들에 의해 데이터, 명령들 등) 을 반송할 것이다. 작업 메모리 (1235) 에 의해 수신되는 명령들은 프로세서(들) (1210) 에 의한 실행 전 또는 후에 저장 디바이스(들) (1225) 에 옵션적으로 저장될 수도 있다.
도 13 은 주변 정보를 이용하는 스피드-업 탬플릿 매칭을 위한 시스템들을 가능하게 하도록 다양한 구현예들에 따라 이용될 수 있는 네트워킹된 컴퓨팅 디바이스들의 시스템 (1300) 의 개략도를 도시한다. 예를 들어, 다양한 구현예들에서, 도 4 의 모바일 디바이스 (400) 는 서버들 (1360), 데이터베이스들 (1320), 및 다른 컴퓨팅 디바이스들 (1305) 에 네트워크 (1310) 를 통해 커플링되는 도 13 에 도시된 바와 같은 컴퓨팅 디바이스 (1305) 일 수도 있다. 시스템 (1300) 은 하나 이상의 사용자 컴퓨팅 디바이스들 (1305) 을 포함할 수 있다. 사용자 컴퓨팅 디바이스들 (1305) 은 범용 개인 컴퓨터들 또는 워크스테이션들일 수 있다. 이러한 사용자 컴퓨팅 디바이스들 (1305) 은 또한 본 발명의 방법들을 수행하도록 구성된 하나 이상의 애플리케이션들, 뿐만 아니라 하나 이상의 오피스 애플리케이션들, 데이터베이스 클라이언트 및/또는 서버 애플리케이션들, 및 웹 브라우저 애플리케이션들을 포함하는 임의의 다양한 애플리케이션들을 가질 수 있다. 대안적으로, 사용자 컴퓨팅 디바이스들 (1305) 은 네트워크 (예를 들어, 하기에서 설명되는 네트워크 (1310)) 를 통해 통신 및/또는 웹 페이지들 및 다른 유형의 전자 문서들을 디스플레이하고 네비게이팅할 수 있는, 얇은 클라이언트 컴퓨터, 인터넷-가능 모바일 전화기, 스마트폰, 태블릿, 패블릿, 및/또는 개인용 휴대 정보 단말기 (PDA) 와 같은 임의의 다른 전자 디바이스일 수 있다. 시스템 (1300) 이 3 개의 사용자 컴퓨팅 디바이스들 (1305a-c) 을 갖는 것으로 도시되나, 임의의 개수의 사용자 컴퓨팅 디바이스들이 지원될 수 있다.
본 발명의 소정의 구현예들은 네트워크 (1310) 를 포함할 수 있는 네트워킹된 환경에서 동작한다. 네트워크 (1310) 는, 제한 없이, TCP/IP, SNA, IPX 등을 포함하여 임의의 다양한 상업적으로 이용가능한 프로토콜들을 이용하여 데이터 통신들을 지원할 수 있는 당업자들에게 익숙한 임의의 타입의 네트워크일 수 있다. 단지 예로서, 네트워크 (1310) 는, 제한 없이, 이더넷 네트워크, 토큰-링 네트워크 등등을 포함하는 근거리 네트워크 ("LAN"); 광역 네트워크 (WAN); 제한 없이, 가상 사설 네트워크 ("VPN") 를 포함하는 가상 네트워크; 인터넷; 인트라넷; 엑스트라넷; 공중 교환 전화 네트워크 ("PSTN"); 적외선 네트워크; 제한 없이, IEEE 1302.11 스위트 (suite) 의 프로토콜들 또는 임의의 다른 무선 프로토콜 중 임의의 것 하에서 동작하는 네트워크를 포함하는 무선 네트워크; 및/또는 이의 임의의 조합 및/또는 다른 네트워크들일 수 있다. 네트워크 (1310) 는 다양한 컴퓨팅 디바이스들에 의한 네트워크 (1310) 에 대한 액세스를 가능하게 하기 위한 액세스 포인트들을 포함할 수도 있다.
본 발명의 구현예들은 하나 이상의 서버들 (1360) 을 포함할 수 있다. 서버들 (1360) 의 각각은, 제한 없이, 위에서 논의된 것들 중 임의의 것, 뿐만 아니라 임의의 상업적으로 (또는 무료로) 이용가능한 서버 운영 체제들을 포함하는 운영 체제로 구성될 수도 있다. 서버들 (1360) 의 각각은 또한 하나 이상의 사용자 컴퓨팅 디바이스들 (1305) 및/또는 다른 서버들 (1360) 에 서비스들을 제공하도록 구성될 수 있는, 하나 이상의 애플리케이션들을 구동할 수도 있다.
단지 예로서, 서버들 (1360) 중 하나는, 단지 예로서, 사용자 컴퓨팅 디바이스들 (1305) 로부터의 웹 페이지들 또는 다른 전자 문서들에 대한 요청들을 프로세싱하는데 이용될 수 있는 웹 서버일 수도 있다. 소정의 구현예들에서, 서버 (1360) 는 적어도 부분적으로 하나 이상의 서버들 (1360) 상에서 수행되는 탬플릿 매칭, 및 데이터베이스 (1320) 에 저장된 것의 매칭에 이용되는 포즈 탬플릿들로, 위에서 설명되는 바와 같은 위치 서비스를 동작시킬 수도 있다. 웹 서버는 또한 HTTP 서버들, FTP 서버들, CGI 서버들, 데이터베이스 서버들, Java® 서버들 등을 포함하는 다양한 서버 애플리케이션들을 구동할 수 있다. 본 발명의 일부 구현예들에서, 웹 서버는 본 발명의 방법들을 수행하기 위해 사용자 컴퓨팅 디바이스들 (1305) 중 하나 이상에 대해 웹 브라우저 내에서 동작될 수 있는 웹 페이지들을 서빙하도록 구성될 수도 있다. 그러한 서버들은 특정 IP 주소들과 연관될 수도 있거나, 특정 URL 을 갖는 모듈들과 연관될 수도 있고, 따라서 프라이버시를 보호하기 위해 모바일 디바이스 (400) 에 제공되는 위치 서비스들의 일부로서 지리적 지점들 또는 타겟 오브젝트들의 보안 표시들을 제공하기 위해 모바일 디바이스 (400) 와 같은 모바일 디바이스와 상호작용할 수도 있는 보안 네비게이션 모듈들에 저장될 수도 있다. 대안적인 구현예들에서, 서버 (1360) 는 사용자 컴퓨팅 디바이스 (1305) 에 다운로드될 수도 있는 애플리케이션을 제공할 수도 있으며, 여기서 애플리케이션은 주변 정보에 기초하여 스피드-업 탬플릿 매칭을 제공하기 위해 로컬로 컴퓨팅 디바이스에 의해 실행될 수도 있는 탬플릿 매칭 모듈들을 포함한다.
다른 구현예들에 따르면, 하나 이상의 서버들 (1360) 은 파일 서버들로서 기능할 수 있고/있거나, 사용자 컴퓨팅 디바이스 (1305) 및/또는 다른 서버 (1360) 상에서 구동하는 애플리케이션에 의해 포함되는 다양한 구현예들의 방법들을 구현하는데 필요한 파일들 (예를 들어, 애플리케이션 코드, 데이터 파일들 등) 중 하나 이상을 포함할 수 있다. 대안적으로, 당업자가 이해할 바와 같이, 파일 서버는 사용자 컴퓨팅 디바이스 (1305) 및/또는 서버 (1360) 에 의해 그러한 애플리케이션이 원격으로 작동되는 것을 가능하게 하는 모든 필요한 파일들을 포함할 수 있다. 본원에서 다양한 서버들 (예를 들어, 애플리케이션 서버, 데이터베이스 서버, 웹 서버, 파일 서버 등) 에 대해 설명되는 기능들은 구현-특정 요구들 및 파라미터들에 따라 단일 서버 및/또는 복수의 특수화된 서버들에 의해 수행될 수도 있음에 유의해야 한다.
소정의 구현예들에서, 시스템은 하나 이상의 데이터베이스들 (1320) 을 포함할 수 있다. 데이터베이스(들) (1320) 의 위치는 자유재량인데: 단지 예로서, 데이터베이스 (1320a) 는 서버 (1360a) (및/또는 사용자 컴퓨팅 디바이스 (1305)) 에 로컬인 저장 매체 상에 있을 수도 있다 (및/또는 서버 및/또는 사용자 컴퓨팅 디바이스에 있을 수도 있다). 대안적으로, 데이터베이스 (1320b) 는, 데이터베이스 (1320b) 가 이들 중 하나 이상과 (예를 들어, 네트워크 (1310) 를 통해) 통신하고 있을 수 있는 한, 사용자 컴퓨팅 디바이스들 (1305) 또는 서버들 (1360a,b) 중 임의의 것 또는 모두로부터 원격일 수 있다. 구현예들의 특정 세트에서, 데이터베이스 (1320) 는 당업자들에게 익숙한 저장-영역 네트워크 ("SAN") 에 있을 수 있다. (마찬가지로, 사용자 컴퓨팅 디바이스들 (1305) 또는 서버들 (1360) 의 책임이라고 보는 기능들을 수행하기 위한 임의의 필요한 파일들은, 적절하다면, 각각의 컴퓨터 상에 로컬로 및/또는 원격으로 저장될 수 있다.) 구현예들의 일 세트에서, 데이터베이스 (1320) 는 SQL-포맷화된 커맨드들에 응답하여 데이터를 저장, 업데이트, 및 취출하도록 적응되는 관계형 데이터베이스일 수 있다. 데이터베이스는, 예를 들어, 위에서 설명되는 바와 같은 데이터베이스 서버에 의해 제어 및/또는 유지될 수도 있다. 그러한 데이터베이스들은 보안의 레벨들과 관련되는 정보를 저장할 수도 있다.
위에서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 대안적인 구성들은 다양한 절차들 또는 컴포넌트들을 적절하게 생략, 치환, 또는 부가할 수도 있다. 예를 들어, 대안적인 방법들에서, 스테이지들은 위에서의 논의와는 상이한 순서들로 수행될 수도 있고, 다양한 스테이지들이 부가, 생략, 또는 결합될 수도 있다. 또한, 특정 구성들에 관하여 설명된 피쳐들은 다양한 다른 구성들에서 결합될 수도 있다. 성들의 상이한 양태들 및 엘리먼트들이 유사한 방식으로 결합될 수도 있다. 또한, 기술은 진화하고, 따라서, 엘리먼트들의 다수는 예들이며 본 개시물 또는 청구항들의 범위를 한정하지 않는다.
특정 세부사항들이 (구현예들을 포함하여) 예시적인 구성들의 철저한 이해를 제공하기 위해 설명에 있어서 주어진다. 그러나, 구성들은 이들 특정 세부사항들없이도 실시될 수도 있다. 예를 들어, 널리 공지된 회로들, 프로세스들, 알고리즘들, 구조들, 및 기술들은, 구성들을 불명료하게 하는 것을 회피하기 위해 불필요한 세부사항없이 도시되었다. 이 설명은 오직 예시적인 구성들을 제공할 뿐, 청구항들의 범위, 적용가능성, 또는 구성들을 한정하지 않는다. 오히려, 구성들의 전술한 설명은, 설명된 기술들을 구현하기 위해 가능한 설명을 당업자에게 제공할 것이다. 본 개시물의 사상 또는 범위로부터 벗어나지 않으면서 엘리먼트들의 기능 및 배열에 있어서 다양한 변경들이 행해질 수도 있다.
구성들은, 플로 다이어그램 또는 블록 다이어그램으로서 도시된 프로세스로서 설명될 수도 있다. 각각은 동작들을 순차적인 프로세스로서 기술할 수도 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는, 도면에 포함되지 않은 부가적인 단계들을 가질 수도 있다. 또한, 방법들의 예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어들, 또는 이들의 임의의 조합에 의해 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현되는 경우, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 비일시적인 컴퓨터-판독가능 매체에 저장될 수도 있다. 프로세서들은 설명된 태스크들을 수행할 수도 있다.
설명된 여러 예시적인 구성들, 다양한 수정들, 대안적인 구성들, 및 등가물들은 본 개시물의 사상으로부터 벗어나지 않으면서 이용될 수도 있다. 예를 들어, 상기 엘리먼트들은 더 큰 시스템의 컴포넌트들일 수도 있으며, 여기서, 다른 룰들이 우선하거나 그렇지 않으면 본 발명의 애플리케이션을 변형할 수도 있다. 또한, 다수의 단계들이, 상기 엘리먼트들이 고려되기 전, 그 동안, 또는 그 이후에 착수될 수도 있다.

Claims (24)

  1. 카메라 포즈를 추정하기 위한 방법으로서,
    카메라를 통해 캡쳐되는 위치의 이미지를 획득하는 단계로서, 상기 이미지는 타겟 오브젝트 및 주변 정보를 포함하는, 상기 위치의 이미지를 획득하는 단계;
    상기 주변 정보에 적어도 부분적으로 기초하여 상기 타겟 오브젝트에 대한 상기 카메라의 포즈를 산출하는 단계;
    탬플릿 매칭 시스템에 액세스하는 단계로서, 상기 탬플릿 매칭 시스템은 복수의 오브젝트들의 각각의 오브젝트에 대한 복수의 탬플릿들을 포함하고, 각각의 탬플릿은 탬플릿 포즈와 연관되는, 상기 탬플릿 매칭 시스템에 액세스하는 단계;
    매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 상기 카메라의 포즈가 상기 탬플릿 포즈에 매칭하는 상기 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 단계; 및
    상기 타겟 오브젝트와의 탬플릿 매치를 식별하기 위해 상기 매칭하는 포즈 탬플릿들의 세트를 프로세싱하는 단계
    를 포함하는, 카메라 포즈를 추정하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 주변 정보는 상기 이미지를 프로세싱하는 것으로부터 도출되는 소실점 정보를 포함하는, 카메라 포즈를 추정하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 주변 정보는 모바일 디바이스에 의해 수집되는 센서 정보를 더 포함하고, 상기 모바일 디바이스는 상기 카메라를 포함하는, 카메라 포즈를 추정하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 센서 정보는 가속도계 데이터를 포함하고, 상기 주변 정보는, 적어도 부분적으로, 상기 가속도계 데이터로부터 결정되는 중력 벡터를 포함하는, 카메라 포즈를 추정하기 위한 방법.
  5. 제 2 항에 있어서,
    상기 주변 정보는 적어도 2 개의 수평 소실점들로 이루어지는, 카메라 포즈를 추정하기 위한 방법.
  6. 제 2 항에 있어서,
    상기 주변 정보는 하나의 수평 소실점 및 중력 벡터로 이루어지는, 카메라 포즈를 추정하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 상기 카메라의 포즈가 상기 탬플릿 포즈에 매칭하는 상기 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 단계는,
    임계 양보다 적은 포즈 각도에서의 차이를 갖는 상기 복수의 탬플릿들 중의 탬플릿들을 식별하는 단계; 및
    상기 매칭하는 포즈 탬플릿들의 세트로서 상기 임계 양보다 적은 포즈 각도에서의 차이를 갖는 상기 복수의 탬플릿들 중의 탬플릿들을 선택하는 단계
    를 포함하는, 카메라 포즈를 추정하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 상기 카메라의 포즈가 상기 탬플릿 포즈에 매칭하는 상기 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 단계는,
    적어도 상기 복수의 탬플릿들 중의 탬플릿에 의해 나타내어지는 각각의 오브젝트에 대해, 가장 적은 양만큼 상기 카메라의 포즈와 상이한 각각의 오브젝트와 연관되는 탬플릿을 결정하는 단계; 및
    상기 매칭하는 포즈 탬플릿들의 세트의 일부로서 상기 가장 적은 양만큼 상기 카메라의 포즈와 상이한 각각의 오브젝트와 연관되는 탬플릿을 선택하는 단계
    를 포함하는, 카메라 포즈를 추정하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 타겟 오브젝트와 매칭하는 탬플릿과 연관되는 위치 정보를 식별하는 단계; 및
    상기 타겟 오브젝트와 매칭하는 탬플릿과 연관되는 위치 정보 및 상기 카메라의 포즈에 기초하여 상기 카메라의 위치를 추정하는 단계
    를 더 포함하는, 카메라 포즈를 추정하기 위한 방법.
  10. 제 9 항에 있어서,
    상기 카메라의 위치에 기초하여 상기 카메라를 포함하는 모바일 디바이스에 위치 기반 서비스들을 제공하는 단계를 더 포함하는, 카메라 포즈를 추정하기 위한 방법.
  11. 제 1 항에 있어서,
    상기 타겟 오브젝트는 상점 로고를 포함하는, 카메라 포즈를 추정하기 위한 방법.
  12. 제 1 항에 있어서,
    상기 주변 정보에 적어도 부분적으로 기초하여 상기 타겟 오브젝트에 대한 상기 카메라의 포즈를 산출하는 단계는,
    상기 이미지의 복수의 에지 라인 피쳐들을 식별하기 위해 상기 이미지를 프로세싱하는 단계를 포함하는, 카메라 포즈를 추정하기 위한 방법.
  13. 제 12 항에 있어서,
    상기 복수의 에지 라인 피쳐들을 검출하는 것은 수평 에지 라인 피쳐들 및 수직 에지 라인 피쳐들을 검출하는 것을 포함하는, 카메라 포즈를 추정하기 위한 방법.
  14. 제 13 항에 있어서,
    상기 복수의 에지 라인 피쳐들을 검출하는 것은 바닥, 지붕, 또는 문 중 적어도 하나를 검출하는 것을 포함하는, 카메라 포즈를 추정하기 위한 방법.
  15. 제 1 항에 있어서,
    상기 카메라의 포즈를 산출하는 단계는, 상기 주변 정보에 기초하여, 상기 이미지에서 상기 타겟 오브젝트에 대해 정의되는 평면에 대한 팬, 기울기, 또는 롤 중 적어도 하나로서 상기 카메라의 포즈를 산출하는 단계를 포함하는, 카메라 포즈를 추정하기 위한 방법.
  16. 주변 정보를 이용하는 가속 탬플릿 매칭을 위한 모바일 디바이스로서,
    프로세서;
    상기 프로세서에 커플링되는 카메라; 및
    상기 프로세서에 커플링되는 메모리
    를 포함하고,
    상기 메모리는, 상기 프로세서로 하여금,
    상기 카메라를 통해 캡쳐되는 위치의 이미지를 획득하게 하는 것으로서, 상기 이미지는 타겟 오브젝트 및 상기 주변 정보의 적어도 일부분을 포함하는, 상기 위치의 이미지를 획득하게 하고;
    상기 주변 정보에 적어도 부분적으로 기초하여 상기 타겟 오브젝트에 대한 상기 카메라의 포즈를 산출하게 하고;
    탬플릿 매칭 시스템에 액세스하게 하는 것으로서, 상기 탬플릿 매칭 시스템은 복수의 오브젝트들의 각각의 오브젝트에 대한 복수의 탬플릿들을 포함하고, 각각의 탬플릿은 탬플릿 포즈와 연관되는, 상기 탬플릿 매칭 시스템에 액세스하게 하고;
    매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 상기 카메라의 포즈가 상기 탬플릿 포즈에 매칭하는 상기 복수의 탬플릿들 중의 탬플릿들을 사전-선택하게 하고;
    상기 타겟 오브젝트와의 탬플릿 매치를 식별하기 위해 상기 매칭하는 포즈 탬플릿들의 세트를 프로세싱하게 하는
    명령들을 포함하는, 주변 정보를 이용하는 가속 탬플릿 매칭을 위한 모바일 디바이스.
  17. 제 16 항에 있어서,
    디스플레이를 더 포함하고,
    상기 명령들은 또한, 상기 프로세서로 하여금, 상기 타겟 오브젝트와 매칭하는 탬플릿과 연관되는 위치를 결정하고, 상기 타겟 오브젝트와 매칭하는 탬플릿과 연관되는 위치에 기초하여 상기 모바일 디바이스의 추정된 위치를 디스플레이하게 하는, 주변 정보를 이용하는 가속 탬플릿 매칭을 위한 모바일 디바이스.
  18. 제 16 항에 있어서,
    가속도계를 더 포함하고,
    상기 명령들은 또한, 상기 프로세서로 하여금, 상기 가속도계로부터의 센서 데이터에 기초하여 중력 벡터를 식별하고, 상기 이미지로부터의 상기 주변 정보와 함께 상기 중력 벡터를 이용하여 상기 타겟 오브젝트에 대한 상기 카메라의 포즈를 산출하게 하는, 주변 정보를 이용하는 가속 탬플릿 매칭을 위한 모바일 디바이스.
  19. 명령들을 포함하는 비일시적 컴퓨터-판독가능 저장 디바이스로서,
    상기 명령들은, 프로세서에 의해 실행되는 경우, 시스템으로 하여금, 탬플릿 매칭의 방법을 수행하게 하고,
    상기 방법은,
    카메라를 통해 캡쳐되는 위치의 이미지를 획득하는 단계로서, 상기 이미지는 타겟 오브젝트 및 주변 정보를 포함하는, 상기 위치의 이미지를 획득하는 단계;
    상기 주변 정보에 적어도 부분적으로 기초하여 상기 타겟 오브젝트에 대한 상기 카메라의 포즈를 산출하는 단계;
    탬플릿 매칭 시스템에 액세스하는 단계로서, 상기 탬플릿 매칭 시스템은 복수의 오브젝트들의 각각의 오브젝트에 대한 복수의 탬플릿들을 포함하고, 각각의 탬플릿은 탬플릿 포즈와 연관되는, 상기 탬플릿 매칭 시스템에 액세스하는 단계;
    매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 상기 카메라의 포즈가 상기 탬플릿 포즈에 매칭하는 상기 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 단계; 및
    상기 타겟 오브젝트와의 탬플릿 매치를 식별하기 위해 상기 매칭하는 포즈 탬플릿들의 세트를 프로세싱하는 단계
    를 포함하는, 비일시적 컴퓨터-판독가능 저장 디바이스.
  20. 제 19 항에 있어서,
    상기 탬플릿 매칭 시스템에 액세스하는 단계는, 무선 네트워크를 통해, 상기 카메라를 포함하는 포함하는 모바일 디바이스로부터 상기 복수의 탬플릿들을 포함하는 데이터베이스를 포함하는 서버 시스템으로 요청을 통신하는 단계를 포함하는, 비일시적 컴퓨터-판독가능 저장 디바이스.
  21. 주변 정보를 이용하는 가속 탬플릿 매칭을 위한 모바일 디바이스로서,
    카메라를 통해 캡쳐되는 위치의 이미지를 획득하는 수단으로서, 상기 이미지는 타겟 오브젝트 및 주변 정보를 포함하는, 상기 위치의 이미지를 획득하는 수단;
    상기 주변 정보에 적어도 부분적으로 기초하여 상기 타겟 오브젝트에 대한 상기 카메라의 포즈를 산출하는 수단;
    탬플릿 매칭 시스템에 액세스하는 수단으로서, 상기 탬플릿 매칭 시스템은 복수의 오브젝트들의 각각의 오브젝트에 대한 복수의 탬플릿들을 포함하고, 각각의 탬플릿은 탬플릿 포즈와 연관되는, 상기 탬플릿 매칭 시스템에 액세스하는 수단;
    매칭하는 포즈 탬플릿들의 세트를 식별하기 위해 상기 카메라의 포즈가 상기 탬플릿 포즈에 매칭하는 상기 복수의 탬플릿들 중의 탬플릿들을 사전-선택하는 수단; 및
    상기 타겟 오브젝트와의 탬플릿 매치를 식별하기 위해 상기 매칭하는 포즈 탬플릿들의 세트를 프로세싱하는 수단
    을 포함하는, 주변 정보를 이용하는 가속 탬플릿 매칭을 위한 모바일 디바이스.
  22. 제 21 항에 있어서,
    중력 벡터를 식별하는 수단을 더 포함하고,
    상기 타겟 오브젝트에 대한 상기 카메라의 포즈를 산출하는 수단은 상기 이미지로부터의 상기 주변 정보와 함께 상기 중력 벡터를 이용하는, 주변 정보를 이용하는 가속 탬플릿 매칭을 위한 모바일 디바이스.
  23. 제 21 항에 있어서,
    상기 타겟 오브젝트와 매칭하는 탬플릿과 연관되는 위치에 기초하여 상기 모바일 디바이스의 위치를 추정하는 수단; 및
    상기 모바일 디바이스의 추정된 위치를 디스플레이하는 수단
    을 더 포함하는, 주변 정보를 이용하는 가속 탬플릿 매칭을 위한 모바일 디바이스.
  24. 제 21 항에 있어서,
    상기 카메라의 포즈를 산출할 시에 이용하기 위해 상기 이미지로부터 피쳐들을 추출하는 수단; 및
    상기 이미지에서 관심 지점들을 검출하는 수단으로서, 상기 관심 지점들은 상기 타겟 오브젝트를 포함하는, 상기 이미지에서 관심 지점들을 검출하는 수단
    을 더 포함하는, 주변 정보를 이용하는 가속 탬플릿 매칭을 위한 모바일 디바이스.
KR1020177000283A 2014-07-10 2015-06-03 주변 정보를 이용하는 스피드-업 탬플릿 매칭 KR101749017B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/328,308 2014-07-10
US14/328,308 US9317921B2 (en) 2014-07-10 2014-07-10 Speed-up template matching using peripheral information
PCT/US2015/034049 WO2016007243A1 (en) 2014-07-10 2015-06-03 Speed-up template matching using peripheral information

Publications (2)

Publication Number Publication Date
KR20170008321A true KR20170008321A (ko) 2017-01-23
KR101749017B1 KR101749017B1 (ko) 2017-06-19

Family

ID=53404939

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177000283A KR101749017B1 (ko) 2014-07-10 2015-06-03 주변 정보를 이용하는 스피드-업 탬플릿 매칭

Country Status (6)

Country Link
US (1) US9317921B2 (ko)
EP (1) EP3138078B1 (ko)
JP (1) JP6273400B2 (ko)
KR (1) KR101749017B1 (ko)
CN (1) CN106471548B (ko)
WO (1) WO2016007243A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9878447B2 (en) * 2015-04-10 2018-01-30 Microsoft Technology Licensing, Llc Automated collection and labeling of object data
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US20190318188A1 (en) * 2016-01-29 2019-10-17 Ent. Services Development Corporation Lp Image skew identification
US11385105B2 (en) * 2016-04-04 2022-07-12 Teledyne Flir, Llc Techniques for determining emitted radiation intensity
US10891502B1 (en) * 2017-01-19 2021-01-12 State Farm Mutual Automobile Insurance Company Apparatuses, systems and methods for alleviating driver distractions
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
CN108734738B (zh) * 2017-04-18 2021-10-29 杭州海康威视数字技术股份有限公司 相机标定方法及装置
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US10169874B2 (en) * 2017-05-30 2019-01-01 International Business Machines Corporation Surface-based object identification
CN107330917B (zh) * 2017-06-23 2019-06-25 歌尔股份有限公司 移动目标的跟踪拍摄方法和跟踪设备
CN107516105B (zh) * 2017-07-20 2020-06-16 阿里巴巴集团控股有限公司 图像处理方法及装置
CN107369179B (zh) * 2017-07-31 2020-01-07 征图新视(江苏)科技股份有限公司 一种高精度图像定位方法
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10636137B1 (en) * 2017-10-23 2020-04-28 Amazon Technologies, Inc. System for determining object orientations in an image
US10970425B2 (en) * 2017-12-26 2021-04-06 Seiko Epson Corporation Object detection and tracking
WO2019164514A1 (en) * 2018-02-23 2019-08-29 Google Llc Transitioning between map view and augmented reality view
JP2021122079A (ja) * 2018-05-08 2021-08-26 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
CN109582147B (zh) * 2018-08-08 2022-04-26 亮风台(上海)信息科技有限公司 一种用于呈现增强交互内容的方法以及用户设备
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
US10547974B1 (en) * 2019-03-19 2020-01-28 Microsoft Technology Licensing, Llc Relative spatial localization of mobile devices
US10811055B1 (en) * 2019-06-27 2020-10-20 Fuji Xerox Co., Ltd. Method and system for real time synchronization of video playback with user motion
CN110414458B (zh) * 2019-08-01 2022-03-08 北京主线科技有限公司 基于平面标签和模板匹配的定位方法及装置
KR20210034253A (ko) 2019-09-20 2021-03-30 삼성전자주식회사 위치 추정 장치 및 방법
CN111915608B (zh) * 2020-09-11 2023-08-15 北京百度网讯科技有限公司 建筑物提取方法、装置、设备和存储介质
CN112733773A (zh) * 2021-01-18 2021-04-30 上海商汤智能科技有限公司 一种对象检测方法、装置、计算机设备和存储介质
CN114536399B (zh) * 2022-01-07 2023-04-25 中国人民解放军海军军医大学第一附属医院 基于多个位姿标识的误差检测方法及机器人系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030012410A1 (en) * 2001-07-10 2003-01-16 Nassir Navab Tracking and pose estimation for augmented reality using real features
DE10323915A1 (de) 2003-05-23 2005-02-03 Daimlerchrysler Ag Kamerabasierte Positionserkennung für ein Straßenfahrzeug
JP2005135014A (ja) * 2003-10-28 2005-05-26 Hitachi Kokusai Electric Inc 物体検出装置
JP4418225B2 (ja) * 2003-12-18 2010-02-17 オリンパス株式会社 情報呈示システム
JP2007011607A (ja) * 2005-06-29 2007-01-18 Mitsubishi Electric Corp 地図検索装置および携帯端末
JP2008035328A (ja) 2006-07-31 2008-02-14 Fujifilm Corp テンプレート生成装置、画像配置装置、変更テンプレート生成装置およびそのプログラム
JP5013961B2 (ja) 2007-05-21 2012-08-29 キヤノン株式会社 位置姿勢計測装置及びその制御方法
US20090110267A1 (en) * 2007-09-21 2009-04-30 The Regents Of The University Of California Automated texture mapping system for 3D models
US8401276B1 (en) 2008-05-20 2013-03-19 University Of Southern California 3-D reconstruction and registration
US8117564B2 (en) 2009-04-10 2012-02-14 United Video Properties, Inc. Systems and methods for generating a media guidance application with multiple perspective views
WO2011048497A2 (en) 2009-10-19 2011-04-28 National University Of Singapore Computer vision based hybrid tracking for augmented reality in outdoor urban environments
JP5455124B2 (ja) 2010-04-01 2014-03-26 国立大学法人鳥取大学 カメラ姿勢パラメータ推定装置
US8938257B2 (en) * 2011-08-19 2015-01-20 Qualcomm, Incorporated Logo detection for indoor positioning
US9324151B2 (en) 2011-12-08 2016-04-26 Cornell University System and methods for world-scale camera pose estimation
US9147122B2 (en) 2012-05-31 2015-09-29 Qualcomm Incorporated Pose estimation based on peripheral information

Also Published As

Publication number Publication date
EP3138078B1 (en) 2017-09-27
EP3138078A1 (en) 2017-03-08
JP6273400B2 (ja) 2018-01-31
KR101749017B1 (ko) 2017-06-19
JP2017520063A (ja) 2017-07-20
CN106471548B (zh) 2018-07-13
WO2016007243A1 (en) 2016-01-14
US9317921B2 (en) 2016-04-19
CN106471548A (zh) 2017-03-01
US20160012593A1 (en) 2016-01-14

Similar Documents

Publication Publication Date Title
KR101749017B1 (ko) 주변 정보를 이용하는 스피드-업 탬플릿 매칭
US11393173B2 (en) Mobile augmented reality system
US9824459B2 (en) Tracking objects between images
KR101645613B1 (ko) 주변 정보에 기초한 포즈 추정
US9953618B2 (en) Using a plurality of sensors for mapping and localization
JP6100380B2 (ja) 特に装置に係る視覚ベースの位置決めに使用される画像処理方法
EP3168571B1 (en) Utilizing camera to assist with indoor pedestrian navigation
JP2017520063A5 (ko)
US11062475B2 (en) Location estimating apparatus and method, learning apparatus and method, and computer program products
WO2013028359A1 (en) Logo detection for indoor positioning
CN107885763B (zh) 室内图中兴趣点信息的更新方法、装置及计算机可读介质
CN113610702B (zh) 一种建图方法、装置、电子设备及存储介质
US9245192B2 (en) Ad collateral detection
JP7039535B2 (ja) 生成装置、生成方法、および生成プログラム
WO2022219780A1 (ja) 点検支援装置、点検支援システム、点検支援方法、及び点検支援プログラム

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