Nothing Special   »   [go: up one dir, main page]

KR101775591B1 - 데이터베이스 생성의 목적을 위한 대화식 및 자동 3-d 오브젝트 스캐닝 방법 - Google Patents

데이터베이스 생성의 목적을 위한 대화식 및 자동 3-d 오브젝트 스캐닝 방법 Download PDF

Info

Publication number
KR101775591B1
KR101775591B1 KR1020167000414A KR20167000414A KR101775591B1 KR 101775591 B1 KR101775591 B1 KR 101775591B1 KR 1020167000414 A KR1020167000414 A KR 1020167000414A KR 20167000414 A KR20167000414 A KR 20167000414A KR 101775591 B1 KR101775591 B1 KR 101775591B1
Authority
KR
South Korea
Prior art keywords
points
interest
key
identifying
scene
Prior art date
Application number
KR1020167000414A
Other languages
English (en)
Other versions
KR20160019497A (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 KR20160019497A publication Critical patent/KR20160019497A/ko
Application granted granted Critical
Publication of KR101775591B1 publication Critical patent/KR101775591B1/ko

Links

Images

Classifications

    • G06K9/78
    • 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/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06K9/6228
    • 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/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하고, 이 콤팩트한 표현들을 오브젝트 표현으로서 데이터베이스에 저장하기 위한 시스템들, 방법들, 및 디바이스들이 설명된다. 일 실시예는 장면의 프레임들을 캡쳐하는 것, 장면의 상이한 키 프레임들로부터 관심대상 지점들을 식별하는 것, 연관된 삼차원 키 지점들을 생성하기 위해 관심대상 지점들을 사용하는 것, 그리고 오브젝트와 연관된 키 지점들을 오브젝트 표현으로서 오브젝트 검출 데이터베이스에 저장하는 것을 포함할 수 있다.

Description

데이터베이스 생성의 목적을 위한 대화식 및 자동 3-D 오브젝트 스캐닝 방법{INTERACTIVE AND AUTOMATIC 3-D OBJECT SCANNING METHOD FOR THE PURPOSE OF DATABASE CREATION}
[0001] 본 개시물은 일반적으로 이미지 인식에 관한 것이고, 특히, 오브젝트들을 식별하는 것을 돕는데 사용될 수 있는 오브젝트 표현 기반 정보의 생성에 관한 것이다.
[0002] 디지털 카메라들, 카메라들이 임베딩된 전화들, 또는 다른 카메라 또는 센서 디바이스들과 같은 디바이스들은, 삼차원 환경들에서 오브젝트들을 식별하고 추적하는데 사용될 수 있다. 이는 증강 현실 디스플레이들을 생성하는데 사용될 수 있는데, 여기서는 시스템에 의해 인식되는 오브젝트들에 관한 정보가 이 시스템의 디스플레이를 관찰하고 있는 사용자에게 제시될 수 있다. 이러한 정보는 디바이스의 디스플레이에서 실제 환경의 오버레이 상에 제시될 수 있다. 이후, 오브젝트들의 데이터베이스로부터의 정보가, 디바이스에 의해 관찰되는 환경에서 오브젝트들을 식별하는데 사용될 수 있다.
[0003] 특히 디지털 카메라들이 임베딩된 모바일 디바이스들은, 특히 강력한 고정된 설치 서버 시스템들과 비교할 때, 제한된 스토리지 및 프로세싱을 가질 수 있다. 이러한 오브젝트 검출/추적을 구현하는 시스템의 프로세싱 및 대역폭 부하를 감소시키는 하나의 방법은 환경에서 오브젝트들을 식별하는데 사용될 수 있는 오브젝트 정보의 로컬 데이터베이스를 저장하는 것이다. 이 데이터베이스 정보는 본질적으로, 디바이스가 데이터베이스에 저장되는 템플레이트들을 사용하여 오브젝트들을 식별하는 것을 돕기 위한 도움 정보로 간주될 수 있다. 디바이스가 증강 현실 또는 오브젝트 식별 모드에서 동작하고 있을 때, 오브젝트 매치가 있는지 그리고 오브젝트 매치가 있다면 카메라의 현재 포즈가 식별된 오브젝트의 어떤 포즈에 비교되는지를 결정하기 위해, 디바이스에 의해 캡쳐되는 이미지들이 데이터베이스의 오브젝트 표현들과 비교된다. 오브젝트 매치가 발생할 때, 반응 동작이 개시될 수 있거나, 또는 디바이스 디스플레이에서, 식별된 오브젝트를 포함하는 이미지와 함께, 오브젝트에 관련된 부가 정보가 제시될 수 있다.
[0004] 이러한 데이터베이스 정보를 생성하기 위한 시스템들이 존재하지만, 기존 시스템들은 폭넓게 다양한 모바일 디바이스들로 스케일러블하지 않다. 이러한 기존 시스템의 일 실시예는 관심대상 오브젝트의 결합된 기하학적/텍스처 모델들을 사용한다. 이들 모델들은 때때로 오브젝트 제작 단계에서 알려져 있지만(CAD 모델들), 대부분의 경우들에서 이들 모델들은 이용 가능하지 않다. 다른 알려진 방법은, 동시에 기하학적 구조를 추정하여 오브젝트의 이미지들을 수집하기 위해 레이저-기반 또는 IR-기반 스캐닝 시스템을 사용하는 것이다. 그러나, 이러한 스캐닝 시스템들은 통상적으로 값비싸고, 사용되는 상이한 센서들의 물리적 제한들로 인해, 아직은 구성이 어렵다. 따라서, 일반적으로, 모델들은 이용 가능하지 않거나, 또는 그들이 검출 성능에 영향을 끼치는 지점에 다소 부정확하다.
[0005] 본원에서 설명되는 바와 같은, 컴퓨터 비전에서 사용하기 위한 삼차원 오브젝트 표현들을 생성하기 위한 시스템들 및 방법들은, 검출 및 추적 시스템들에서 사용하기 위해 오브젝트 표현들이 현재 획득되는 방법에서 개선들 및 단순화를 제공할 수 있다.
[0006] 본원에서는, 삼차원 오브젝트 표현들을 생성하기 위한 시스템들 및 방법들이 설명된다. 일 실시예는 오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법일 수 있고, 방법은, 디바이스의 카메라 모듈을 사용하여, 장면(scene)의 복수의 이미지들을 캡쳐하는 단계 ―장면의 복수의 이미지들 각각은 오브젝트의 적어도 일부분의 이미지를 포함함―; 제1 키 프레임으로서 복수의 이미지들 중 제1 이미지, 및 제1 이미지와 연관된, 디바이스의 제1 포지션을 식별하는 단계 ―제1 이미지는 디바이스에 의해 제1 포지션으로부터 캡쳐됨―; 제2 키 프레임으로서 복수의 이미지들 중 제2 이미지, 및 제2 이미지와 연관된, 디바이스의 제2 포지션을 식별하는 단계 ―제2 이미지는 디바이스에 의해 제2 포지션으로부터 캡쳐되고, 제2 포지션은 제1 포지션과 상이함―; 제1 키 프레임으로부터 복수의 제1 관심대상 지점들을 식별하는 단계 ―복수의 제1 관심대상 지점들은 장면으로부터 특징(feature)들을 식별함―; 제2 키 프레임으로부터 복수의 제2 관심대상 지점들을 식별하는 단계 ―복수의 제2 관심대상 지점들은 장면으로부터의 특징들 중 적어도 일부분을 식별함―; 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 매칭시키는 단계; 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들의 매칭에 적어도 부분적으로 기초하여, 오브젝트와 연관된 키 지점들을 식별하는 단계; 및 오브젝트와 연관된 키 지점들을 오브젝트 표현으로서 오브젝트 검출 데이터베이스에 저장하는 단계를 포함한다.
[0007] 추가로, 오브젝트와 연관된 키 지점들을 식별하는 단계가, 오브젝트와 연관된 관심대상 지점들을 식별하기 위해, 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 필터링하는 단계를 포함하는 부가 실시예들이 동작할 수 있다.
[0008] 추가로, 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 필터링하는 단계가, 임계치 거리 미만인, 임계치 수의 가장 가까운 관심대상 지점들까지의 평균 거리를 갖는 관심대상 지점들을 삭제하는 단계; 다른 키 프레임들로부터의 관심대상 지점들과 매칭되지 않는 관심대상 지점들을 삭제하는 단계; 및 장면의 정의된 관심대상 볼륨의 밖에 있는 키 지점들을 삭제하는 단계 중 하나 또는 그 초과를 포함하는 부가 실시예들이 동작할 수 있다.
[0009] 추가로, 장면이 평면형 타겟을 더 포함하거나, 또는 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 매칭시키는 단계가, 제1 이미지에서 평면형 타겟의 제1 위치로부터 디바이스의 제1 포지션을 식별하는 단계; 제2 이미지에서 평면형 타겟의 제2 위치로부터 디바이스의 제2 포지션을 식별하는 단계; 디바이스의 제1 포지션과 디바이스의 제2 포지션 사이의 상대 포지션을 결정하는 단계; 제1 포지션과 제2 포지션 사이의 상대 포지션에 기초하여, 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 매칭시키는 단계; 및 좌표계에서 각각의 키 지점의 포지션을 결정 및 레코딩하는 단계를 포함하는 부가 실시예들이 동작할 수 있다.
[0010] 추가로, 각각의 키 지점이 키 지점 위치 정보 및 키 지점 디스크립터(descriptor)를 포함하고, 이 키 지점 디스크립터가 관심대상 키 지점 주위의 픽셀 영역의 외양으로부터 도출되는 정보를 포함하는 부가 실시예들이 동작할 수 있다. 특정 실시예들에서, 키 지점 디스크립터는 키 지점 및 이 키 지점을 둘러싸는 픽셀들과 연관된 기울기 또는 다른 정보를 포함할 수 있다.
[0011] 추가로, 제1 이미지를 제1 키 프레임으로서 식별하는 단계가 사용자 선택을 포함하는 부가 실시예들이 동작할 수 있다.
[0012] 추가로, 제1 이미지를 제1 키 프레임으로서 식별하는 단계가 디바이스에 의한 자동 선택을 포함하는 부가 실시예들이 동작할 수 있다.
[0013] 추가로, 제2 이미지를 제2 키 프레임으로서 식별하는 단계가, 제2 이미지 내에서 키 지점 밀도를 식별하는 단계; 제2 포지션과 제1 포지션 사이의 공간적 관계를 식별하는 단계; 오브젝트 표현에서 사용하기 위해 제2 포지션에서의 키 프레임이 임계치 값을 초과하는 데이터 값을 갖는 데이터를 제공할 것임을 결정하는 단계; 및 제2 이미지를 제2 키 프레임으로서 선택하는 단계를 포함하는 부가 실시예들이 동작할 수 있다.
[0014] 대안적 실시예는 오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하기 위한 시스템일 수 있고, 시스템은, 장면의 복수의 이미지들을 캡쳐하는 디바이스의 카메라 모듈 ―장면의 복수의 이미지들 각각은 오브젝트의 적어도 일부분의 이미지를 포함함―; (1) 제1 키 프레임으로서 복수의 이미지들 중 제1 이미지, 및 제1 이미지와 연관된, 디바이스의 제1 포지션을 식별하고 ―제1 이미지는 디바이스에 의해 제1 포지션으로부터 캡쳐됨―; (2) 제2 키 프레임으로서 복수의 이미지들 중 제2 이미지, 및 제2 이미지와 연관된, 디바이스의 제2 포지션을 식별하고 ―제2 이미지는 디바이스에 의해 제2 포지션으로부터 캡쳐되고, 제2 포지션은 제1 포지션과 상이함―; (3) 제1 키 프레임으로부터 복수의 제1 관심대상 지점들을 식별하고 ―복수의 제1 관심대상 지점들은 장면으로부터 특징들을 식별함―; (4) 제2 키 프레임으로부터 복수의 제2 관심대상 지점들을 식별하고 ―복수의 제2 관심대상 지점들은 장면으로부터의 특징들 중 적어도 일부분을 식별함―; (5) 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 매칭시키고; 그리고 (6) 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들의 매칭에 적어도 부분적으로 기초하여, 오브젝트와 연관된 키 지점들을 식별하는 하나 또는 그 초과의 프로세서들; 및 오브젝트와 연관된 키 지점들을 오브젝트 표현으로서 오브젝트 검출 데이터베이스에 저장하는 메모리를 포함한다.
[0015] 추가로, 디바이스가 카메라 모듈에 커플링되는 디스플레이를 더 포함하고, 디스플레이가, 디바이스의 카메라 모듈이 장면의 복수의 이미지들의 적어도 일부분을 캡쳐할 때 키 지점들의 적어도 일부분의 이미지를 출력하는 이러한 실시예가 기능할 수 있다.
[0016] 추가로, 디스플레이가 추가로, 오브젝트 상에 오버레이되는 키 지점들을 갖는 장면의 비디오 이미지를 출력하고, 디바이스가 모션 센서를 더 포함하고, 디바이스의 제2 포지션이 하나 또는 그 초과의 프로세서들에 의해 모션 센서로부터의 정보를 사용하여 식별되거나, 또는 디바이스가 사용자 입력 모듈을 더 포함하고, 제1 키 프레임으로서 제1 이미지를 식별하는 것이 디바이스의 사용자 입력 모듈에 수신되는 사용자 선택을 포함하는 이러한 실시예가 기능할 수 있다.
[0017] 추가로, 디바이스가 안테나; 및 무선 트랜시버를 더 포함하고, 하나 또는 그 초과의 프로세서들이 네트워크, 안테나, 및 무선 트랜시버를 통해 디바이스에 커플링되는 이러한 실시예가 기능할 수 있다.
[0018] 다른 실시예는 비-일시적 컴퓨터-판독가능 매체일 수 있고, 비-일시적 컴퓨터-판독가능 매체는, 비-일시적 컴퓨터-판독가능 매체에 커플링된 프로세서에 의해 실행될 때, 디바이스로 하여금, 디바이스의 카메라 모듈을 사용하여, 장면의 복수의 이미지들을 캡쳐하게 하고 ―장면의 복수의 이미지들 각각은 오브젝트의 적어도 일부분의 이미지를 포함함―; 제1 키 프레임으로서 복수의 이미지들 중 제1 이미지, 및 제1 이미지와 연관된, 디바이스의 제1 포지션을 식별하게 하고 ―제1 이미지는 디바이스에 의해 제1 포지션으로부터 캡쳐됨―; 제2 키 프레임으로서 복수의 이미지들 중 제2 이미지, 및 제2 이미지와 연관된, 디바이스의 제2 포지션을 식별하게 하고 ―제2 이미지는 디바이스에 의해 제2 포지션으로부터 캡쳐되고, 제2 포지션은 제1 포지션과 상이함―; 제1 키 프레임으로부터 복수의 제1 관심대상 지점들을 식별하게 하고 ―복수의 제1 관심대상 지점들은 장면으로부터 특징들을 식별함―; 제2 키 프레임으로부터 복수의 제2 관심대상 지점들을 식별하게 하고 ―복수의 제2 관심대상 지점들은 장면으로부터의 특징들 중 적어도 일부분을 식별함―; 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 매칭시키게 하고; 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들의 매치에 적어도 부분적으로 기초하여, 오브젝트와 연관된 키 지점들을 식별하게 하고; 그리고 오브젝트와 연관된 키 지점들을 오브젝트 표현으로서 오브젝트 검출 데이터베이스에 저장하게 하는 명령들을 포함한다.
[0019] 추가로, 명령들이, 프로세서에 의해 실행될 때, 추가로 디바이스로 하여금, 오브젝트와 연관된 키 지점들을 식별하는 것의 일부로서 오브젝트와 연관된 관심대상 지점들을 식별하기 위해, 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 필터링하게 하는 이러한 실시예의 예들이 동작할 수 있다.
[0020] 추가로, 명령들이, 프로세서에 의해 실행될 때, 추가로 디바이스로 하여금, 임계치 거리 미만인, 임계치 수의 다른 관심대상 지점들까지의 평균 거리를 갖는 관심대상 지점들을 삭제하게 하고, 그리고 오브젝트와 연관된 관심대상 지점들을 식별하기 위해, 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 필터링하는 것의 일부로서, 다른 키 프레임들로부터의 관심대상 지점들과 매칭되지 않는 관심대상 지점들을 삭제하게 하는 이러한 실시예의 예들이 동작할 수 있다.
[0021] 추가로, 명령들이, 프로세서에 의해 실행될 때, 추가로 디바이스로 하여금, 오브젝트와 연관된 관심대상 지점들을 식별하기 위해, 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 필터링하는 것의 일부로서, 오브젝트의 정의된 볼륨의 밖에 있는 키 지점들의 세트를 삭제하게 하는 이러한 실시예의 예들이 동작할 수 있다.
[0022] 추가로, 오브젝트 검출 데이터베이스의 오브젝트 표현으로서 오브젝트와 연관된 키 지점들의 각각의 키 지점이 좌표 정보, 밝기 정보, 및 주변 픽셀 패턴 정보를 포함하는 이러한 실시예의 예들이 동작할 수 있다.
[0024] 도 1은 데이터베이스로 스캐닝될 오브젝트를 포함하는 일 실시예의 양상들을 예시한다;
[0025] 도 2는 일 실시예에 따라, 데이터베이스에 대한 오브젝트 표현을 생성하기 위해 오브젝트를 스캐닝하는 방법의 양상들을 예시한다;
[0026] 도 3a는 하나의 디바이스 포지션으로부터의, 필터링되지 않은 관심대상 지점들을 포함하는 하나의 잠재적 실시예의 양상들을 예시한다;
[0027] 도 3b는 관심대상 지점들의 히스토그램을 포함하는 일 실시예의 양상들을 예시한다;
[0028] 도 3c는 필터링된 관심대상 지점들을 포함하는 하나의 잠재적 실시예의 양상들을 예시한다;
[0029] 도 3d는 필터링된 관심대상 지점들을 포함하는 일 실시예의 양상들을 예시한다;
[0030] 도 3e는 데이터베이스에 저장을 위한 오브젝트 표현을 형성하는 3-D 키 지점들을 포함하는 일 실시예의 양상들을 예시한다;
[0031] 도 4는 삼각측량에 관련된 일 실시예의 양상들을 예시한다;
[0032] 도 5는 본원에 설명되는 다양한 실시예들과 함께 사용하기 위한 디바이스의 일 실시예이다;
[0033] 도 6은 본원에 설명되는 다양한 실시예들과 함께 사용하기 위한 컴퓨팅 디바이스의 일 실시예이다; 그리고
[0034] 도 7은 본원에 설명되는 다양한 실시예들에서 디바이스들 및 데이터베이스들을 연결할 수 있는 네트워크 시스템의 일 실시예이다.
[0035] 본원에 설명되는 실시예들은 오브젝트 표현을 생성하기 위해 오브젝트들을 스캐닝하기 위한 시스템들 및 방법들에 관한 것이고, 여기서 오브젝트 표현은 디바이스에 의한 오브젝트 인식을 최적화시키기 위해 생성된다.
[0036] 본원에 설명되는 실시예들은 콤팩트한 오브젝트 표현을 생성할 수 있고, 이 오브젝트 표현은, 데이터베이스에 저장될 수 있고, 디바이스에서 캡쳐된 이미지에서 보이는 오브젝트들을 앞서 스캐닝된 오브젝트들과 매칭시키는데 추후에 사용될 수 있다. 이는, 오브젝트의 콤팩트한 표현이 생성되고 오브젝트를 추적하는데 사용되지만, 미래의 오브젝트 식별을 위해 저장되지는 않는 다른 실시예들과 구별될 수 있다. 본원에 설명되는 실시예들에 대해, 콤팩트한 표현들은 다수의 비디오 또는 픽처 이미지들을, 연관된 기술 데이터(descriptive data)를 갖는 비교적 소수의 키 지점들로 압축할 수 있다. 일 예에서, 1000개의 키 지점들 및 그러한 키 지점들에 관한 기술 정보(descriptive information), 예컨대, 상이한 각도들로부터 보이는 주변 영역의 기울기 정보를 갖는 콤팩트한 오브젝트 모델을 달성하기 위해, 수 메가바이트들의 비디오 데이터가 프로세싱될 수 있다. 돌극성(saliency) 키 지점들의 추출기는, 이미지들의 서브세트를 키 프레임들로서 선택하여 비디오 데이터의 이미지들 전부로부터 이미지들을 먼저 걸러 냄으로써 이러한 비디오 데이터를 프로세싱할 수 있다. 이후, 키 프레임들 내에서 높은 대비 또는 높은 곡률의 관심대상 지점들을 선택함으로써, 키 프레임들이 프로세싱될 수 있다. 이후, 관심대상 지점들은 추가로, 키 프레임들에 걸친 반복, 다른 관심대상 지점들에 대한 키 프레임들의 근접성, 또는 다른 이미지-레벨 또는 기하학적 관심대상 지점 값들에 의해 순서화될 수 있다. 한쪽 끝에서 이미지들의 시퀀스를 취하고 돌극성 키 지점들 및 그들의 기술로 구성된 콤팩트한 오브젝트를 제작하는 이러한 프로세싱은, 종래 기술에서 알려지지 않은 방식으로 수행된다. 특정 실시예들은, 이미지들을 키 프레임들로 분리시키고 이미지들 및 키 프레임들에 걸쳐 관찰되는 관심대상 지점들 사이의 기하학적 관계를 설정하기 위한 수단으로서 SLAM(Simultaneous Location and Mapping) 또는 PTAM(Parallel Tracking and Mapping) 시스템들의 양상들을 사용할 수 있고, 이후, 부가하여, 키 지점들의 세트들로부터 종래 기술에서 알려지지 않은 방식으로 콤팩트한 오브젝트들에 이르기 위하여 관심대상 지점 세그멘테이션 및 전지 작업(pruning)을 제공할 수 있다. 따라서, 이러한 시스템들은, 앞서 알려지지 않은 방식으로, 임의적인 오브젝트들에 대한 콤팩트한 오브젝트 정보의 데이터베이스들을 생성하기에 적절한 오브젝트 표현들의 효율적인 생성을 제공할 수 있다. 이러한 오브젝트 표현들은 네트워크에 연결되지 않은 디바이스 상에 저장될 수 있고, 디바이스에 의해 캡쳐되는 이미지들에서 오브젝트들을 인식하는데 사용될 수 있다.
[0037] 예컨대, 스캐닝될 오브젝트가 알려진 장면 바로 옆의 테이블 상에 배치될 수 있다. 알려진 장면은 알려진 평면형 오브젝트(평면형 타겟), 알려진 삼차원 오브젝트(3-D 타겟) 또는 둘의 결합에 의해 주어질 수 있다. 타겟의 포지션 및 배향은 오브젝트를 스캐닝할 모바일 디바이스에게 알려져 있다. 이는, 오브젝트 검출 및 앞서 알려진 오브젝트-타겟의 추적에 의해 달성된다. 모바일 디바이스는, 예컨대, 카메라, 프로세서, 및 이용 가능한 메모리 스토리지 공간을 갖는 전화일 수 있다. 대안적으로, 모바일 디바이스는 비디오 시퀀스를 취득하는 카메라일 수 있고, 이 비디오 시퀀스는 오프라인의 별개의 프로세싱 유닛 상에서 포스트-프로세싱될 수 있다. 또한, 모바일 디바이스는 퍼스널 컴퓨터 또는 대안적 프로세싱 디바이스에 연결되는 카메라일 수 있다. 사용자가 스캐닝 프로세스를 시작하라는 커맨드를 입력할 수 있고, 이 지점에서, 모바일 스캐닝 카메라는 오브젝트를 포함하는 장면의 이미지들을 캡쳐하는 것을 시작할 수 있다. 디바이스는 이미지들을 실시간으로(최대 수 초만큼 지연되는 시간 기간에 있음) 분석할 수 있거나, 또는 단순히, 추후의 분석을 위해 이미지들을 저장할 수 있다. 사용자가 디바이스를 오브젝트 주위에서 그리고 오브젝트 위에서 상이한 포지션들로 이동시킴에 따라, 상이한 거리들, 각도들, 및 고도들로부터의 이미지들이 캡쳐되어, 오브젝트의 상이한 뷰들이 저장될 것이다. 몇몇 실시예들에서, 예컨대, 실시간 또는 거의 실시간 분석을 구현하는 디바이스에 대해, 디바이스는, 선호되는 포지션들로부터 이미지들을 캡쳐하도록, 디바이스의 이동에 대한 방향들 또는 권고들을 제공할 수 있다. 이후, 이미지 또는 비디오 스트림에서 오브젝트를 식별하기 위해, 콤팩트한 표현이 추후에 액세스될 수 있다.
[0038] 다른 실시예에서, 카메라를 갖는 스캐닝 디바이스가 장착 및 고정될 수 있는 반면에, 관심대상 오브젝트가 다양한 뷰잉 각도들로부터 가능한 많이 자신의 표면을 드러내는 식으로 회전 및 이동될 수 있다. 이 스캐닝 디바이스는 전화, 비디오 레코더, 디지털 카메라, 또는 카메라 및 특정 구현에 따른 다른 모듈들을 포함할 수 있는 임의의 다른 이러한 디바이스일 수 있다. 오브젝트는 다시, 추출되는 관심대상 지점들을 알려진 좌표계에 연관시키는 것을 가능하게 하기 위하여 알려진 타겟을 동반할 수 있다. 대안적으로, 상이한 실시예에서, 오브젝트 스캐닝을 위한, 카메라 홀더로부터 포디움까지의 전체 시스템이 완벽하게 교정될 수 있어, 오브젝트에 대한 카메라 포지션이 어떠한 순간에도 알려진다.
[0039] 이후, 특정 이미지들이 키 이미지 프레임들로서 선택될 수 있다. 이러한 키 프레임들은 단순히 주기적으로 취해질 수 있거나, 프로세서에 의한 분석 후에 선택될 수 있거나, 또는 사용자에 의해 수동으로 선택될 수 있다. 일단 복수의 키 프레임들이 선택되었다면, 키 프레임들 내의 관심대상 지점들이 식별되고, 그리고 각각의 키 프레임이 캡쳐되었던 시간에 카메라의 상대 위치를 식별하기 위해 분석이 수행될 수 있다. 디바이스 포지션 분석은 알려진 타겟에 대한 이미지 데이터, 카메라의 일부로서 통합되거나 또는 카메라에 커플링되는 포지션 모듈로부터의 데이터를 사용할 수 있다. 포지션 모듈은 임의의 적절한 모듈, 예컨대, 가속도계 또는 자이로스코프, (오브젝트 홀더 및 회전 테이블을 갖는 로봇 팔과 같은) 교정된 이미지 취득 시스템으로부터의 데이터, 또는 이미지들이 캡쳐됨에 따라 고정된 좌표계에 대한 카메라의 이동 및 포지션을 추적하기 위한 이러한 수단의 임의의 결합일 수 있다. 이후, 삼차원(3-D) 키 지점들을 생성하기 위해, 각각의 키 프레임의 캡쳐 동안의 카메라의 포지션이 상이한 키 프레임들로부터의 이차원 관심대상 지점들을 매칭시키는데 사용될 수 있다.
[0040] 특정 단계들 동안, 스캐닝되고 있는 오브젝트와 연관될 개연성이 낮은 키 지점들 또는 관심대상 지점들을 제거하기 위해, 키 프레임들로부터의 키 지점들 또는 관심대상 지점들이 필터링될 수 있다. 이는, 오브젝트를 기술하는 키 지점들의 콤팩트한 세트를 남겨 둔다. 오브젝트를 기술하는 이들 나머지 키 지점들이 오브젝트 표현으로서 데이터베이스에 저장될 수 있다. 추후에, 증강 현실 또는 오브젝트 식별 애플리케이션이 오브젝트 식별 디바이스에 의해 실행될 때, 카메라 뷰에 존재하는 특정 오브젝트들 및 오브젝트 식별 디바이스의 카메라에 대한 이 오브젝트들의 포즈들을 식별하기 위해, 데이터베이스의 콤팩트한 키 지점 오브젝트 표현을 사용하여, 오브젝트 식별 디바이스의 카메라에 의해 캡쳐되는 이미지들이 분석될 수 있다. 이 오브젝트 식별 디바이스는, 초기에 오브젝트 표현을 생성했던 동일한 스캐닝 디바이스일 수 있거나, 또는 상이한 디바이스일 수 있다.
[0041] 마지막으로, 필터링 및 선택되는 키 지점들이 오브젝트 표현의 일부로서 애그리게이팅된다. 오브젝트 표현은 특정 좌표계에서의 키 지점들의 콜렉션이고, 이 키 지점들은, 오브젝트 또는 유사한 형상 및 크기를 갖는 다른 오브젝트들을 식별할 때의 추후 사용을 위해 연관된다. 오브젝트 표현은 키 지점들에 대한 좌표 위치들뿐만 아니라, 색 정보, 또는 오브젝트 식별에 유용할 수 있는 임의의 다른 이러한 정보도 포함할 수 있다. 이후, 사용자가 검출 모드에서 장면과 상호작용(interaction)하고 있는 동안, 데이터베이스에 저장된 오브젝트 표현들을 사용하여 오브젝트 또는 유사한 오브젝트들을 식별하기 위하여, 다수의 오브젝트 표현들의 데이터베이스(이 오브젝트 표현들 각각은 앞서 스캐닝된 오브젝트에 대한 키 지점들을 포함함)가 액세스될 수 있다.
[0042] 도 1은 일 실시예의 양상을 예시한다. 도 1은 디바이스(110), 오브젝트(120), 타겟(130), 및 장면(100)을 포함한다. 디바이스(110)는 제1 포지션(116)에서 그리고 제2 포지션(118)에서 도시된다. 장면(100)은, 디바이스(110)가 키 지점들에 대한 경계로서 식별했던 구체적으로 정의된 영역 또는 볼륨일 수 있다. 대안적으로, 장면(100)은 단순히, 데이터베이스에 저장할 오브젝트(120)의 콤팩트한 표현을 생성하기 위한 스캐닝 프로세스의 일부로서, 디바이스(110)가 이미지들을 캡쳐하는 상이한 포지션들로 이동함에 따라, 이미지들이 캡쳐되는 영역의 제한치들일 수 있다.
[0043] 디바이스(110)는 콤팩트한 오브젝트 표현에 대한 스토리지 및 커플링된 프로세서를 갖는, 이미지를 캡쳐할 수 있는 임의의 디바이스일 수 있다. 위에서 설명된 바와 같이, 일 실시예에서, 디바이스(110)는 카메라가 임베딩된 전화일 수 있다. 대안적으로, 디바이스(110)는 전용 증강 현실 디바이스, 카메라 모듈을 갖는 헤드 장착 디바이스, 데이터를 별개의 컴퓨팅 모듈에 전송하기 위한 포트를 갖는 카메라, 또는 오브젝트의 이미지들을 캡쳐하고 키 데이터를 식별할 수 있는 임의의 이러한 디바이스일 수 있다. 디바이스(110)의 위의 예들 중 임의의 것이 이미지 데이터, 키 프레임 데이터, 키 지점 데이터, 콤팩트한 오브젝트 표현, 또는 이들의 임의의 결합을 생성할 수 있고, 이들은 로컬 또는 원격 데이터베이스에 저장될 수 있다. 특정 실시예들에서, 이후, 이 데이터는 오브젝트들을 추적할 때, 오브젝트들을 검출할 때 또는 둘 다의 사용을 위해 다른 디바이스에 전송될 수 있다. 대안적 실시예들에서, 오브젝트의 추적을 위한 로컬 오브젝트 표현의 생성 직후에, 로컬 디바이스 상에서 로컬 오브젝트 표현이 사용될 수 있다.
[0044] 디바이스(110)는 이미지 데이터를 캡쳐하기 위한 적어도 하나의 센서를 포함한다. 이러한 센서들의 예들은 단안 카메라(monocular camera)들, 스테레오 카메라들, 및 RGBD 센서들을 포함한다. 도 1에 도시된 바와 같이, 스캐닝 프로세스의 일부로서, 상이한 포지션들로부터, 디바이스(110)는 적어도 두 개의 이미지들을 캡쳐할 것이고, 이 이미지들은 키 프레임들로서 사용될 수 있다. 도 1은 제1 이미지(122)에 대한 시야(112)를 도시하고, 디바이스(110)가 제1 포지션(116)에 있을 때 이 제1 이미지(122)가 캡쳐된다. 또한, 제2 이미지(124)에 대한 시야(114)가 도시되고, 디바이스(110)가 제2 포지션(118)에 있을 때 이 제2 이미지(124)가 캡쳐된다. 키 프레임으로서 기능하기 위하여, 각각의 이미지는 오브젝트(120)의 적어도 일부분을 포함해야 한다. 오브젝트(120)의 나머지 일부분은 다른 오브젝트에 의해 가려질 수 있거나, 또는 카메라의 특정 포지션에 대한 시야의 밖에 있을 수 있다.
[0045] 본원에 사용된 바와 같이, 디바이스의 포지션은, 디바이스 상의 임의의 센서들의 공간적 위치 및 배향 그리고 디바이스 상의 센서들과 디바이스 사이의 관계를 비롯한 디바이스의 공간적 위치 및 배향을 지칭한다. 포지션은 또한, 특히 사용자에 의해 다양한 포지션들 및 배향들로 이동되고 있는 핸드헬드 디바이스에 관련된 포즈로 지칭될 수도 있다. 따라서, 포지션 정보는, 오브젝트가 정적인 것으로서 보이는 좌표계에 대하여, 디바이스의 카메라에 대한 위치 및 시야 정보를 캡쳐한다.
[0046] 오브젝트(120)는 디바이스(110)의 카메라에 의해 캡쳐될 수 있는 오브젝트 관심대상 지점 특징들을 갖는 임의의 오브젝트일 수 있다. 특정 실시예들에서, 오브젝트(120)는 오브젝트의 일부분만이 오브젝트(120)에 가까운 사용자에 의해 캡쳐될 수 있을 만큼 충분히 클 수 있다. 대안적으로, 디바이스(110)의 카메라가 오브젝트에 대한 관심대상 지점 정보를 캡쳐하기에 충분한 해상도 및 감도를 갖는 한, 오브젝트(120)는 임의의 소형 크기를 가질 수 있다. 이후, 수용 가능한 오브젝트는, 이미지들로부터 식별될 수 있는 관심대상 지점들을 갖는 오브젝트인 것으로 간주될 수 있다. 키 프레임들의 프로세싱 시, 이들 관심대상 지점들은 3-D 키 지점들의 이차원 양상들로서 식별될 수 있다. 키 지점들은, 오브젝트의 효율적인 식별을 가능하게 하는 식별 지점들일 수 있다. 높은 대비 및 높은 곡률의 영역들에 가까운 지점들이 키 지점들의 일 예일 수 있다.
[0047] 본원에 사용된 바와 같이, "키 지점"은, 삼차원 좌표계에서, 다른 키 지점들과 함께 오브젝트를 식별하는데 사용될 수 있는 지점을 지칭한다. 단일 키 프레임들은 이들 키 지점들과 연관되는 복수의 관심대상 지점들의 이차원 프로젝션(projection)을 포함할 수 있다. 본원에서, 이들 이차원 양상들은 "관심대상 지점들"로 지칭된다. 이들 관심대상 지점들이 상이한 카메라 포즈들 또는 상이한 디바이스 포지션들로부터의 다수의 키 프레임들에서 식별되기 때문에, 이차원 관심대상 지점 정보 및 디바이스 포지션 정보로부터 각각의 키 지점의 삼차원 포지션이 도출될 수 있다. 따라서, 키 프레임은 키 지점에 관한 이차원 정보를 포함할 것이다. 키 프레임 내에서의 관심대상 지점의 이차원 위치는, 다른 키 프레임들로부터의 연관된 관심대상 지점들과 함께, 3-D 키 지점으로서 3개의 차원들에서의 오브젝트 상의 지점의 식별을 가능하게 한다. 이후, 키 프레임 내에서 관심대상 지점으로서 키 지점과 연관된 오브젝트 상의 지점의 이차원 외양 및 이 지점의 주변이, 키 프레임과 연관된 이러한 키 지점의 디스크립터를 형성하는데 사용될 수 있다. 불확실성들, 예컨대, 디바이스 포지션 불확실성, 이미지 블러(image blur), 및 오류들의 다른 이러한 소스들 때문에, 키 지점들은 3-D 좌표계에서 다수의 가능한 포지션들을 가질 수 있다. 다수의 키 프레임들로부터의 관심대상 지점들의 프로세싱 또는 통계 평균들이, 각각의 프레임이 캡쳐되었을 때 디바이스의 포지션 정보와 함께, 다수의 키 프레임들의 이차원 정보로부터 3-D 키 지점 위치를 식별하는데 사용될 수 있다. 관심대상 지점들 및 키 지점들의 예들이 도 3a-도 3e에서 보일 수 있으며, 하기에서 더욱 상세히 설명될 것이다.
[0048] 타겟(130)은 화살표로서 도시되지만, 이미지 데이터에 기초하여 디바이스(110)의 배향을 결정하는데 사용될 수 있는 임의의 패터닝된 또는 패터닝되지 않은 형상일 수 있다. 카메라의 배향은 좌표계, 예컨대, 월드 좌표계 또는 타겟-중심의 좌표들에 대한 카메라 광학 축의 세 개의 각도들에 의해 주어질 수 있다. 디바이스(110)의 포지션은 다른 세 개의 값들 : 월드 좌표계에서 카메라 렌즈의 x, y, z를 제공한다. 함께, 이들은 카메라 6 자유도(six degrees of freedom)를 형성한다. 특정 실시예들에서, 타겟(130)은 예컨대 모서리들을 갖는 종이의 조각일 수 있고, 장면(100)의 주변 일부분과 구별 가능할 수 있다. 특정 실시예들에서, 타겟(130)은 오브젝트(120)가 배치되는, 알려진 패터닝된 표면일 수 있다. 대안적 실시예들에서, 볼륨 타겟이 사용될 수 있거나, 평면형 타겟이 사용될 수 있거나, 또는 어떠한 타겟도 사용되지 않을 수 있다.
[0049] 아래에서 상세히 설명되는 바와 같이, 특정 실시예들에서, 타겟(130)은 상이한 이미지들로부터의 관심대상 지점들의 매칭을 가능하게 할 수 있고, 이 매칭은 오브젝트 표현 생성에 더욱 효율적이다. 이 매칭은 통상적인 SLAM 키 지점 매칭보다, 데이터베이스 생성에 더욱 효율적일 수 있다. 통상적인 SLAM 시스템들은, 연속적인 이미지들 사이의 작은 변환들을 계산하고, 이후, 다수의 이미지들에 걸쳐 키 프레임들 사이의 변환들을 계산함으로써, 키 프레임들 사이의 대응성들을 설정한다. 이 프로세스는 프로세서-집약적이고, 레이턴시(latency)에 민감하며, 이 정보가 다른 용도들을 가질 수 있는 환경의 실시간 분석에 적절하다. 프로세싱 전력이 제한되고 목표가 데이터베이스를 위한 콤팩트한 오브젝트 표현들의 생성인 환경에서는, 키 프레임들 사이의 대응성들을 설정하기에 이 프로세스는 비효율적이다. 추가로, 특정 실시예들에서, 이 정보는, 이미지들에 걸쳐 키 프레임들 사이의 관심대상 지점들의 변환들을 추적하기 위해 이용 가능하지 않을 수 있다. 이는, 디바이스(110)가 이미지들을 레코딩하는 것을 중지하고 레코딩을 재개하기 전에 새로운 포지션으로 점프하도록 허용하는 시스템들에서의 경우일 수 있거나, 또는 키 프레임들만이 저장되고 그러나 중간 이미지들은 저장되지 않는 실시예들에서의 경우일 수 있다. 관심대상 지점들의 매칭은 도 4를 참조하여 하기에서 추가로 논의된다.
[0050] 다양한 대안적 실시예들이 타겟 없이 기능할 수 있다. 예컨대, 특정 실시예들에서, 다양한 키 프레임들에서 오브젝트들을 구별하기 위해, 자동화된 오브젝트 세그멘테이션 알고리즘이 사용될 수 있다. 대안적 실시예들에서, 사용자 입력이 오브젝트를 식별할 수 있고, 이후, 하나 또는 그 초과의 프레임들에서 사용자에 의해 식별된 오브젝트는, 오브젝트가 존재하는 3-D에서 볼륨을 식별하는 사용자 입력에 기초하여, 다른 프레임들에서 추적될 수 있다. 여전히 추가의 실시예들에서, 상이한 오브젝트 식별 방법들의 임의의 결합이 사용될 수 있다.
[0051] 도 2는 다양한 실시예들과 함께 사용될 수 있는 일 방법을 설명한다. S202에서, 장면의 복수의 이미지들을 캡쳐하기 위해 디바이스, 예컨대, 디바이스(110)의 카메라 모듈이 사용되고, 여기서 복수의 이미지들 각각은 제1 오브젝트의 적어도 일부분을 포함한다. 일 예에서, 콤팩트한 오브젝트 표현의 생성을 위한 많은 정보를 제공하기 위해 가능한 한 많은 포지션들로부터 정보를 캡쳐하기 위하여, 사용자는 스캐닝되고 있는 오브젝트 주위에서 디바이스를 이동시킬 수 있다. 대안적 실시예들에서, 스캐닝되고 있는 오브젝트를 포함하는 장면의 다수의 상이한 이미지들의 캡쳐를 가능하게 하기 위해, 미리 프로그래밍된 로봇 팔이 카메라를 이동시킬 수 있다.
[0052] S204a에서, 디바이스는, 스캐닝되는 이미지들의 품질에 관하여 그리고 복수의 이미지들로부터 데이터베이스를 위해 오브젝트 표현을 생성할 때 이 이미지들이 얼마나 유용한지에 관하여, 피드백을 사용자에게 대화식으로 제공할 수 있다. 예컨대, 디바이스의 디스플레이가 오브젝트(120) 및 타겟(130)을 갖는 장면(100)을 나타낼 수 있다. 또한, 디스플레이는, 오브젝트(120)의 스캐닝 동안에 식별된 키 지점들 또는 관심대상 지점들의 수 및 품질에 관련된 텍스트 및 이미지 표시들을 포함할 수 있다. S204a는, 사용자에게 제공되는 피드백을 업데이트하기 위해, 키 프레임들 또는 키 지점들의 식별 후에 주기적으로 반복될 수 있다. 일 실시예에서, 세그멘테이션이 디스플레이 단계에 앞서 구현되는지 또는 디스플레이 단계 후에 구현되는지에 따라, 추출된 키 지점들 또는 관심대상 지점들은 오브젝트 상에 직접적으로 그리고/또는 장면의 나머지 상에 시각화될 수 있다. 추가로, 다른 대안적 실시예에서, 임계치 수의 프레임들에서 관심대상 지점들로서 관찰되었던 추출된 키 지점들만이 디스플레이될 수 있는데, 스캐닝되고 있는 오브젝트에 대한 스캐닝 프로세스의 일부로서 관찰되는 신뢰성 있는 관심대상 지점들의 수의 대략적인 표시로서 임계치가 셋팅된다.
[0053] S204b에서, 시스템은 키 프레임들의 자동 선택을 위해 그리고/또는 키 프레임들로부터 관심대상 지점들의 자동 선택을 위해 기준들을 식별할 수 있다. 이러한 선택에 관한 부가적인 세부사항들이 본원에서 상세히 설명되지만, 가장 가까운 선택된 키 프레임의 각도 및 위치, 이미지 품질, 스캐닝될 오브젝트 상에서의 관심대상 지점들의 밀도, 관심대상 지점들의 외양들의 유사성, 또는 다른 유사한 이러한 기준들과 같은 기준들을 포함할 수 있다. 피드백이 사용자에게 제공되고 오브젝트의 스캔 동안 업데이트되기 때문에, 자동 키 프레임 선택 기준들은 사용자에 의해 변경될 수 있다. 일 실시예에서, SLAM 시스템의 구조의 키 프레임 파트의 자동 선택을 이용하여, 키 프레임 선택은 전적으로, 하부의 SLAM 시스템으로부터의 요청에 따라 수행될 수 있다. 키 프레임들의 선택을 위해 SLAM을 사용하는 스캐닝 구현들의 부가적인 세부사항들이 하기에서 논의된다. 대안적으로, 사용자에 의한 수동 선택에 찬성하여, 이러한 자동 키 프레임 선택 기준들이 디스에이블링될 수 있다. 수동 선택 시스템에서는, 사용자가 키 프레임들로서 식별될 특정 프레임들을 명시적으로 선택할 수 있다. 이 선택은 온라인으로 일어날 수 있거나(이 경우, 사용자는 스캐닝 시스템과의 라이브 상호작용에 의해 키 프레임들을 선택함), 또는 오프라인으로 일어날 수 있다(여기서, 사용자는 시스템에 의해 결정된 선택 키 프레임들을 무효화할 능력을 가짐).
[0054] 여전히 추가의 실시예들에서, 시스템은, 키 프레임들의 충분한 다양성이 달성되었을 때 적합한 오브젝트 표현을 생성하기 위해, 자동화된 피드백을 제공할 수 있다. 오브젝트 표현을 위해 따라서 선택되었던 오브젝트 상의 키 지점들을 단순히 디스플레이함으로써, 그리고/또는 선택된 키 프레임 카운트, 및 배향과 커플링된 위치를 디스플레이함으로써, 피드백이 제공될 수 있다. 이후, 키 프레임들 및/또는 선택된 관심대상 지점들의 밀도를 검사함으로써, 사용자는 이러한 표현의 예상 품질(likely quality)을 추론할 수 있고, 충분한 정보가 캡쳐되었을 때를 결정할 수 있다. 다른 실시예에서, 표현 품질의 척도(measure)를 대화식으로 디스플레이함으로써 더욱 명시적인 방식으로 피드백이 제공될 수 있다. 이 척도는, 오브젝트의 뷰들의 충분한 다양성을 검증하기 위해 실시간 분석 또는 사용자-선택된 셋팅에 기초할 수 있다. 실시간 분석을 위해, 시스템은 오브젝트의 가려진 면들을 체크할 수 있거나, 또는 오브젝트의 특정 엘리먼트들의 부분적 캡쳐를 체크할 수 있다. 또한, 과도한 모션 또는 블러가 키 프레임 정보를 변질시키지 않았음을 보장하기 위해, 시스템은 키 프레임들의 잡음 레벨들을 체크할 수 있다. 특정 실시예들에서, 캡쳐링 시스템은 오브젝트 표현을 즉석에서(on the fly) 형성하고, 실시간으로, 오브젝트를 검출하는 것을 시도하기 위해 이러한 표현을 사용한다. 성공적인 검출 인스턴스들은 거의 실제 오브젝트를 증가(augmentation) 디스플레이함으로써 시각화될 수 있고, 이의 크기 및 포지션은 검출 시간에 컴퓨팅된 카메라 포즈에 따라 좌우된다. 이후, 사용자는 시각적 피드백으로부터, 충분한 정보가 캡쳐되었을 때를 결정할 수 있는데, 그 이유는 증가가 다양한 뷰들로부터 안정적임을 사용자가 관찰할 수 있기 때문이다. 오브젝트 표현의 품질이 모든 뷰들로부터 균일하지 않을 수 있고, 이것이 또한, 본원에 설명되는 대화식 시스템에 의해 효율적으로 캡쳐될 수 있음을 주목하라.
[0055] S206에서, 복수의 이미지들 중 제1 이미지를 제1 키 프레임으로서 식별하는데 선택 기준들이 사용될 수 있고, S208에서, 상이한 위치로부터 캡쳐된 복수의 이미지들 중 제2 이미지가 제2 키 프레임으로서 식별될 수 있다. 제1 키 프레임 및 제2 키 프레임 둘 다에 대해, 프레임이 레코딩되었을 때의 디바이스의 포지션이 알려질 수 있다. 디바이스 포지션을 결정하는데 임의의 수의 방법들이 사용될 수 있다. 각각의 키 프레임에 대해 디바이스의 현재 포지션을 결정하는데 가속도계들 또는 임의의 수의 다양한 변위 측정 방법들이 사용될 수 있다. 다른 실시예에서, 키 프레임 캡쳐 동안, 각각의 키 프레임에서의 카메라 위치 정보가 자동으로 알려지는 방식으로, 오브젝트 좌표계에 대하여 완벽하게 교정되었던 그립핑 디바이스(gripping device) 상에 카메라가 배치될 수 있다. 또한, 카메라 위치 정보는, 타겟(130)을 임의의 주어진 시간에 추적함으로써 추론될 수 있거나, 또는 특정 실시예들에서 하부의 SLAM 시스템에 의해 또는 임의의 디바이스 추적 방법들 또는 시스템들, 예컨대, PTAM(parallel tracking and mapping) 시스템들에 의해 결정될 수 있다. 또한, 언급된 카메라 로컬화 시스템들의 임의의 결합이 가능하다. 이 포지션 정보는 x, y, 및 z 포지션 정보뿐만 아니라, 카메라의 렌즈가 향하고 있는 방향에 관한 각도 정보 및 카메라의 시야, 또는 다른 이러한 정보도 포함할 것이다. 또한, 이 포지션 정보는 카메라 포즈로 지칭될 수 있다.
[0056] S210 및 S212에서, 각각의 키 프레임으로부터의 관심대상 지점들이 식별된다. 이러한 관심대상 지점들은 각각의 프레임의 관심대상 지점 특징들, 예컨대, 높은 대비의 영역들을 식별한다. S214에서, 각각의 이미지로부터의 관심대상 지점들이 매칭된다. 각각의 이미지로부터의 관심대상 지점들이 상이한 포지션으로부터 취해지기 때문에, 이는 삼차원 정보가 각각의 지점과 연관되는 것을 가능하게 한다. 더 많은 수의 키 프레임들이 사용될수록, 관심대상 지점들의 매칭에서 더 많은 양의 삼차원 정보가 생성된다. 이 식별 프로세스의 일부로서, 특정 프레임들로부터의 이차원의 관심대상 지점들 사이의 대응성들이 설정된다. 이 대응성은, 상이한 키 프레임들로부터의 키 지점들과 연관된 관심대상 지점들의 복수의 이차원 식별들에 기초하여, 키 지점에 대한 삼차원 좌표의 결정을 가능하게 한다. 이것의 일 예는 도 4에 설명되는 공액 기하(epipolar geometry)의 사용이다. 상이한 키 프레임들로부터의 관심대상 지점 정보를 합치는 이러한 프로세스는, 모든 키 프레임들로부터 추출되는 관심대상 지점들 전부에 걸쳐 계속된다. 이러한 방식으로 대응성들을 설정하는 것은 때때로, 부가 키 프레임으로부터의 정보를 이용하여, 다수의 키 프레임들로부터의 정보를 갖는 삼차원 키 지점들을 수정하는 것을 수반한다. 따라서, 특정 실시예들에서, 삼차원 키 지점은, 겨우 두 개의 키 프레임들에서 또는 수백 또는 수천의 많은 키 프레임들에서 식별된 특정 키 지점과 연관된 이차원의 관심대상 지점 양상들로부터의 정보를 포함할 수 있다. 삼차원 키 지점이 다수의 관심대상 지점들로부터 정보를 도출할 때, 추후의 사용을 위해 데이터베이스에 저장될 최종 오브젝트 표현에서 사용하기 위한 단일 키 지점 위치의 정확성을 높이기 위하여, 다양한 상이한 수단들을 사용하여, 정보가 필터링 또는 평균될 수 있다.
[0057] 일단 키 프레임들로부터의 관심대상 지점들 전부가 삼차원 키 지점 위치와 연관되면, 시스템은 어느 삼차원 키 지점들이 오브젝트 표현의 일부로서 유지될 것인지를 결정할 수 있다. S216에서, 오브젝트와 연관된 키 지점들이 식별된다. 이 단계는 오브젝트 세그멘테이션, 가장 가까운 이웃들의 키 지점들에 대한 근접성에 기초한 필터링 이상점(outlier)들, 관찰들의 수에 의한 필터링, 또는 다른 이러한 필터들을 비롯한 다양한 컴포넌트들을 포함할 수 있다. 특정 실시예들에서, 이는, 스캐닝되고 있는 오브젝트와 연관된 키 지점들을 식별하기 위해, 장면에서 알려진 타겟 또는 알려진 배경으로부터 정보를 분리시킴으로써 수행될 수 있다. 다른 실시예들에서, 배경 장면 표현으로부터 오브젝트 표현을 세그멘팅하는데 다른 정보가 사용될 수 있다. 이러한 세그멘테이션의 특정 실시예들이 추가로 하기에서 설명된다. 일단 오브젝트와 연관된 키 지점들이 배경 장면 키 지점들로부터 세그멘팅되면, 오브젝트와 연관된 키 지점들 및 각각의 키 지점에 대한 주변 세부사항들이 오브젝트 표현으로서 데이터베이스에 저장된다. 이후, 이 오브젝트 표현은, 오브젝트를 식별하고 추적하는데 즉시 사용될 수 있다.
[0058] 이후, 도 3a, 도 3b, 도 3c, 도 3d, 및 도 3e는 부가 기술 정보와 함께 데이터베이스에 대한 콤팩트한 오브젝트 표현들을 형성하는 삼차원(3-D) 키 지점들을 도출하는데 사용될 수 있는 2D 이미지들로부터 식별되는 관심대상 지점들의 추가 세부사항들을 설명한다. 도 3a 및 도 3c에서는, 위에서 아래를 보며 관심대상 지점들이 보이기 때문에, 관심대상 지점들은 머그의 측면들 주위의 지점들이다. 또한, 관심대상 지점(306a)이 도시된다. 관심대상 지점(306a)이 비교적 격리되기 때문에, 관심대상 지점(306a)이 스캐닝되고 있는 오브젝트의 일부가 아니고, 그리고 관심대상 지점들(301 및 302)을 포함하는 콤팩트한 오브젝트 표현들이 데이터베이스로부터 리트리빙되고 오브젝트 식별을 위해 사용될 때 이미지 인식을 위해 차후의 시점에 가치 있는 정보를 제공할 개연성이 낮을 가능성이 있다. 관심대상 지점들(301) 주위의 형상은 아마도 속이 비는데, 그 이유는 머그의 하단 상에는 어떠한 패턴도 없고, 머그의 하단과 같은 단색 표면이 관심대상 지점들을 생성할 어떠한 대비도 제공하지 않기 때문이다. 예컨대, 도 3a, 도 3c, 및 도 3d에서 표시된 각각의 관심대상 지점은 밝기, 색, 또는 관심대상 지점을 둘러싸는 픽셀들의 패턴에 관한 정보와 연관되었을 수 있다. 3-D 키 지점들이 2D 관심대상 지점들로부터 생성될 때, 차후 오브젝트 검출에 유용할 수 있는 방식으로, 연관된 밝기, 색, 또는 픽셀들의 패턴이 콤팩트한 오브젝트 표현에 통합될 수 있다. 그것은 3-D 키 지점 기술들 및 그들의 상대적인 기하학적 위치의 결합이고, 이는 검출에 적절한 각각의 오브젝트에 대한 고유한 시그너처를 생성한다. 키 지점 추출/디스크립터 컴퓨테이션 시스템이 오브젝트 검출에 적절하게 되도록 하기 위하여, 데이터베이스에 저장되는 오브젝트 표현을 형성하는 결과적 키 지점들은, 질의 시간 동안 카메라의 변하는 포지션/배향으로부터 도출되는 다수의 기하학적 변환들에 대해서는 불변이지만, 상이한 오브젝트들로부터의 특징들에 대한 많은 거짓 매치들을 생성하는 것을 회피하기에는 충분히 차별적일 필요가 있다. 도 3a의 포지션(316) 및 도 3d의 포지션(318)과 같은 다수의 포지션들로부터의 키 프레임들을 선택함으로써, 도 3e에 도시된 오브젝트 표현(310)을 형성하는 키 지점들에 대해 충분한 양의 세부사항이 도출될 수 있다.
[0059] 따라서, 도 3a, 도 3c, 및 도 3d는 하나의 포지션으로부터 주어진 각도로 취해진 키 프레임들로부터의 관심대상 지점들을 도시한다. 도 3a는 필터링 전의 관심대상 지점들을 평면도로 도시한다. 도 3c는 필터링 후의 관심대상 지점들을 평면도로 도시한다. 도 3d는 필터링 후의 관심대상 지점들을 측면도로 도시한다. 각각의 뷰로부터의 관심대상 지점들이 결합되어, 도 3e의 오브젝트 표현(310)을 형성하는 삼차원 키 지점들(305)이 생성된다. 매칭의 일부로서, 관심대상 지점들(301)과 관심대상 지점들(304)이 결합되어, 다른 키 지점들로부터 도출되는 삼차원 키 지점들(305)이 생성될 것이다. 상이한 포지션들을 갖는 두 개의 키 프레임들로부터의 관심대상 지점들이 도 3c 및 도 3d에서 도시되지만, 상이한 뷰들로부터의 임의의 수의 키 프레임들이, 최종 오브젝트 표현을 형성하는 키 지점들을 도출하는데 사용되는 관심대상 지점들에 기여할 수 있다. 추가로, 각각의 포지션으로부터의 키 프레임들이 총 수의 삼차원 키 지점들(305) 중 일부분에만 기여할 수 있음이 명백할 것이다. 그 이유는 오브젝트 상의 특정 표현이 하나의 뷰로부터 가려지거나, 또는 키 지점들이 도출되는 특정 키 프레임들에서는 필터링되거나 또는 잡음성일 수 있기 때문일 수 있다.
[0060] 위에서 언급된 바와 같이, 단일 포지션으로부터 취해지는 단일 이미지, 예컨대, 도 1의 포지션(116)으로부터 취해지는 이미지(122)는 본질적으로, 이 이미지에 의해 캡쳐되는 장면으로부터의 이차원 프로젝션이다. 이러한 이미지로부터 식별되는 관심대상 지점들은, 이 이미지에 의해 캡쳐되는 이차원 프로젝션에서 그러한 관심대상 지점들 주위의 영역을 기술하는 세부사항 디스크립터와 연관된다. 단일 관심대상 지점이 많은 평면형 디스크립터들과 연관될 수 있는데, 그 이유는 단일 3-D 키 지점과 연관된 관심대상 지점들이 통상적으로, 다수의 키 프레임들로부터 보이기 때문이다. 이들 평면형 디스크립터들이 일반적으로, 심지어 아주 가깝지만 상이한 뷰잉 각도들에 대해 상이하게 보일지라도, 실제로는, 가까운 뷰잉 각도들에 대응하는 디스크립터들은 비교적 유사하고, 그리고 3-D 키 지점과 연관될 수 있는 단일 디스크립터로 붕괴될 수 있다. 따라서, 얼마나 많은 키 프레임들이 단일 3-D 키 지점과 연관된 관심대상 지점들을 포함하는지에 관계없이, 이 3-D 키 지점은 콤팩트한 오브젝트 표현에서 기껏해야 소수의 엔트리들과 연관될 것이다.
[0061] 상이한 각도로부터 캡쳐되는 제2 이미지가 유사하게, 삼차원 오브젝트의 이차원 프로젝션인 정보를 캡쳐할 것이다. 도 4에 도시된 것과 같이, 두 개의 이미지들은 함께, 다수의 이차원 프로젝션들로부터 수집되는 단일 지점에 관한 삼차원 정보를 포함한다. 따라서, 하나의 키 프레임으로부터의 관심대상 지점들을 다른 키 프레임으로부터의 관심대상 지점들과 상관시키는 것은 삼차원 정보를 식별하고, 이 삼차원 정보는, 키 프레임들이 상이한 각도들로부터 취해질 때 키 지점들을 도출하는데 사용될 수 있다. 따라서, 합쳐진 관심대상 지점들은, 좌표들의 표준화된 세트에서 키 지점의 삼차원 위치를 식별할 뿐만 아니라, 이 키 지점을 둘러싸는 볼륨에 관한 삼차원 기술 데이터와도 연관될 수 있다. 따라서, 다양한 실시예들에서, 삼차원 기술 데이터와 함께 관심대상 키 지점들의 삼차원 위치를 식별하기 위하여, 시스템은 키 프레임들에 걸쳐 이차원의 관심대상 지점들의 세트들 사이의 대응성들을 설정할 수 있다. 이후, 단일 키 프레임으로부터의 이차원의 관심대상 지점들의 세트들에 대해 특정 타입들의 필터링, 예컨대, 경계 필터링이 수행될 수 있지만, 오브젝트를 식별하기 위한 세그멘테이션이 상관된 키 지점들에 대해서는 수행될 수 있고, 이차원의 관심대상 지점들의 세트들에 대해서는 수행되지 않을 수 있다. 이 필터링과 함께 기능하는 실시예들에서, 이는 반복적인 세그멘테이션/필터링(이는 키 프레임들로부터의 이차원의 관심대상 지점들에 대해 다수 회일 수 있음)을 제거한다. 또한, 이는, 이차원 정보만을 사용하는 것이 아니라, 공간에서의 3-D 키 지점 위치 및 키 지점의 다른 키 지점들에 대한 관계에 관한 모든 정보의 사용을 가능하게 한다. 오브젝트 표현을 위한 키 지점들의 단일한 삼차원의 합쳐진 세트에 대한 필터링은 이차원 데이터의 많은 세트들에 대한 필터링과 동일한 필터링을 제공할 수 있다.
[0062] 일 예에서, 보통의 배경 클러터에서 표준 프레임 레이트로의 오브젝트의 2분 스캔이 대략 15000개의 별개의 관심대상 지점들을 생성할 수 있는데, 이들 중에서, 오브젝트에 속하는 대략 1000-1500개의 키 지점들만이 도출될 수 있고 추가로, 750-1000개의 키 지점들만이 오브젝트 검출에 적절할 수 있다. 도 3a는 세그멘테이션의 제1 단계 ―삼차원 위치에 의한 세그멘테이션임― 에서 살아남은 커피 머그의 관심대상 지점들을 도시한다. 즉, 실제 시스템들에서는, 알려진 타겟에 대하여 오브젝트의 삼차원 좌표들의 경계 박스를 정의하는 것이 유익하다. 오브젝트 관심대상 지점 세그멘테이션 및 필터링의 제1 단계에서는, 이 경계 박스 내에 있지 않은 수집된 관심대상 지점들 전부가 폐기될 수 있다. 보통의 배경 클러터를 이용한 통상적인 2분 오브젝트 스캔에서는, 약 15000개의 별개의 관심대상 지점들의 초기 수가 이 단계 동안 약 2000개의 키 지점들로 감소될 수 있어, 오브젝트 표현, 예컨대, 오브젝트 표현(310)은 이 오브젝트 표현이 도출되었던 키 프레임들에 있었던 총 관심대상 지점들 중 일부(fraction)만을 사용할 수 있다. 타겟, 예컨대, 타겟(130)을 사용하는 시스템에 대해, 도 3a 및 도 3c에 의해 표현된 관심대상 지점들을 갖는 장면에 대한 좌표들이 타겟의 중간에 묶일 수 있다. 이후, 오브젝트에 속하는 키 지점들에 대해 경계 볼륨이 식별될 수 있다. 대략 15000개의 관심대상 지점들의 어떤 일부분이 경계 박스의 밖에 있는 것으로서 식별될 수 있고, 걸러 내져 제거될 수 있다.
[0063] 추가로, 특정 실시예들에서, 시스템은 오브젝트에 속하는 관심대상 지점들에 대해 특정 밀도를 가정할 수 있다. 오브젝트를 식별하기 위한 세그멘테이션은, 주어진 수의 가장 가까운 이웃들에 대한 임계치 거리에 기초한 필터링에 의해 수행될 수 있다. 도 3b는, 예컨대 도 3a의 오브젝트에 대해, 3개의 차원들에서의 추정된 관심대상 지점 거리들의 히스토그램을 도시한다. 어느 픽셀들을 필터링할지를 식별하는데 필터링 임계치(308)가 사용될 수 있다. 관심대상 지점(302)이 조밀한 영역에 있기 때문에, 이 관심대상 지점(302)은 도 3b에서 필터링 임계치(308)의 왼쪽의 픽셀들과 함께 그룹핑될 것이다. 그러나, 관심대상 지점(306a)은 명확하게, 관심대상 지점들의 조밀한 영역에 있지 않고, 도 3b에서 필터링 임계치(308)의 오른쪽에 있을 것이다. 따라서, 도 3c에서는, 필터링된 관심대상 지점(306b)이 도시되지 않는데, 그 이유는 필터링 임계치(308)의 오른쪽의 픽셀들이 콤팩트한 오브젝트 표현으로부터 삭제될 때 이 관심대상 지점(306b)이 필터링 프로세스에 의해 삭제될 것이기 때문이다.
[0064] 특정 실시예들에서, 세그멘테이션을 수행하는 시스템은 장면에서 우세한 평면을 식별할 수 있다. 장면을 정의하고 추가로 상이한 이미지들로부터의 관심대상 지점들 사이의 대응성을 생성하는 것을 돕기 위해, 우세한 평면에 대한 레퍼런스가 사용될 수 있다. 이러한 시스템들에서는, 관심대상 지점 좌표들을 획득하는 것 또는 세그멘테이션을 돕기 위해 장면에서 명시적으로 알려진 오브젝트(타겟)에 대한 어떠한 필요도 없을 것이다. 그러나, 특히, 레퍼런스의 좌표계뿐만 아니라 경계 박스가 스캔 시에든 또는 오프라인 프로세싱 동안에든 사용자에 의해 수동으로 주어질 수 있다.
[0065] 부가하여, 특정 실시예들에서는, 관심대상 지점들을 식별하는데 특정 방법들이 사용될 수 있다. 특정 실시예들에서, 높은 밀도와 높은 기울기의 영역들이 식별되는데, 주변 픽셀들의 기울기에 기초하여, 어느 지점들이 선택되는지를 결정하는데 임계치들이 사용된다. 여전히 추가의 실시예들에서, 키 프레임에서 선호되는 관심대상 지점들을 검출하기 위해 이미지들이 다양한 스케일들로 프로세싱되고, 이 선호되는 관심대상 지점들은 특정 스케일에서 관찰 가능하다. 키 지점들 및/또는 관심대상 지점들의 선택 뿐만 아니라 그들의 기술(description)은, 오프셋들을 이용한 특징 배향들의 분석(주변 세기 차이들 또는 곡률이 가장 두드러지는 스케일), 주성분 분석을 이용한 주변 픽셀들의 분석, 및 가우시안 유도 필터들과 스티어링 가능한 필터들의 사용을 비롯해, 이러한 변환들을 사용하여 다양한 방식들로 수행될 수 있다. 부가하여, 회전에 불변인 값들에 기초한 선택을 이용하여, 주어진 키 지점들에 대해, 차분 불변량(differential invariant)들이 식별될 수 있다. 또한, 관심대상 영역을 표현하는데 형상 콘텍스트 디스크립터들이 사용될 수 있다. 추가의 실시예들에서, 이러한 선택 기준들의 임의의 결합은, 오프라인 오브젝트 검출을 돕기에 적절한 콤팩트한 오브젝트 표현의 생성을 최적화시킬 수 있는 임의의 다른 선택 기준들과 함께, 관심대상 지점들 또는 키 지점들을 식별하는데 사용될 수 있다.
[0066] 이후, 도 4는 키 프레임들에 대해 대응성들이 설정될 수 있도록 하는 일실시예에 대한 세부사항들을 제공한다. 일 예에서, 도 1의 이미지들(112 및 114)은 설정된 대응성들을 갖는 키 프레임들일 수 있다. 도 4는, 공액 평면(epipolar plane)(423)을 이용하여, 디바이스(410)에 의해 두 개의 상이한 포지션들로부터 취해진 오브젝트(420)의 이미지들(412 및 414)을 도시한다. 이미지(412)는 제1 포지션(416)으로부터 취해지고, 이미지(414)는 제2 포지션(418)으로부터 취해진다. 오브젝트(420)는 관심대상 지점 X를 갖는 것으로서 도시된다. 이미지(412)에서는, 관심대상 지점 X가 관심대상 지점 x1으로서 이미징된다. 이미지(414)에서는, 관심대상 지점 X가 관심대상 지점 x2로서 이미징된다.
[0067] 시스템이 이미지 정보만을 갖는다면, x1을 x2와 일관성 있게 연관시킬 수 있을 개연성은 낮다. 그러나, X의 관찰 x1, 및 포지션(416)과 제2 포지션(418) 사이의 상대 포지션의 지식이 주어진다면, x1에 대응하는 공액선(l1)이 이미지(414)에서 식별될 수 있다. (A) 주변 픽셀들의 기술들이 두 개의 관심대상 지점 관찰들 사이에서 충분히 가깝고(예컨대, 디스크립터 도메인에서의 거리가 임계치 미만이고), 그리고 (B) x2가 공액선(l2)에 대한 임계치 거리 미만이라면, 주변 픽셀들에 대한 기술 정보와 함께, 관심대상 지점 x2가 이미지(414)에서 추출될 수 있다. 디스크립터 도메인에서의 임계치 거리 및 x(1)에 대응하는 공액선으로부터의 임계치 거리는 시스템 내에서 선택 가능한 파라미터들일 수 있다. 이들은 자동으로 셋팅될 수 있거나, 또는 사용자에 의해 사용자 인터페이스를 이용하여 선택될 수 있다.
[0068] 최대 공액선 거리에 대한 일 임계치 값은 두 개의 픽셀들, 세 개의 픽셀들, 또는 네 개의 픽셀들일 수 있다. 다른 실시예들에서는, 이들 임계치 공액선 거리 값들 이외의 값들이 사용될 수 있다. 예시적 디스크립터 거리 임계치 값들이 기술 정보 사이의 고정된 차이로서 셋팅될 수 있거나, 또는 정규화된 디스크립터 값의 일부로서 셋팅될 수 있다. 예컨대, 128-엘리먼트 길이의 디스크립터가 1의 값으로 정규화된다면, 고려되는 제곱 거리들(동일한 관심대상 지점이 관찰됨을 표시할 것임)은 그 정규화된 범위의 일부분일 수 있는데, 예컨대, 정규화된 값의 0.2 내지 0.35일 수 있다. 다시 말해, 이는, 다수의 키 프레임들이 합쳐질 때, 관심대상 지점을 둘러싸는 영역이 다른 관심대상 지점들과 연관된 것으로서 일관성 있게 식별됨을 체킹하고 있다.
[0069] 두 개의 임계치들은 함께, 본질적으로, 관심대상 지점들과 연관된 포지션 및 정보가 주어진다면 두 개의 관심대상 지점들이 실제로 대응하는 관심대상 지점들일 수 있음을 보장하기 위한 체크이다. 이들 임계치들 둘 다에 대해, 파라미터를 릴렉싱(relaxing)하는 것은 더 많은 수의 대응성들을 유도하고, 이에 따라 잠재적으로, 성공적으로 추출되는 더 많은 수의 관심대상 지점들을 유도한다. 다시 말해, 이차원 관심대상 지점들이 다른 이차원 관심대상 지점들과 상관되어 삼차원 키 지점들이 생성되기 때문에, 더 많은 수의 오류들을 대가로 치르고, 임계치들이 릴렉싱됨에 따라 더 많은 삼차원 키 지점들이 식별된다. 이들 오류들은, 부분적으로 또는 완전히 부정확한 데이터를 포함하는 부정확한 또는 가공의 관심대상 지점들 또는 키 지점들의 형태로 있을 수 있다. 도 3a에 도시된 오브젝트의 밖에 떠 있는 관심대상 지점들 중 많은 지점들, 예컨대, 관심대상 지점(306a)이 아마도, 오류가 있는 대응성들을 사용하여 식별되고 삼각측량(triangulating)된다. 추후에, 필터링 및 세그멘테이션이 이들 가공의 지점들 중 일부분을 식별하고 제거할 수 있다.
[0070] 추가로, 특정 실시예들에서, 관심대상 지점들 X의 위치를 더욱 견고한 방식으로 식별할 때 삼각측량 및 번들 조정을 위해 유사한 계산들이 사용될 수 있다. 번들 조정은, 세 개 또는 그 초과의 상이한 키 프레임들로부터의 관심대상 지점들의 매칭을 동시에 평가 및 조정하는 것을 지칭할 수 있다. 도 4에서, 제1 포지션(416)에서의 관심대상 지점 X의 제1 프로젝션이 X0,1로서 도시되고, 제2 포지션(418)에서의 관심대상 지점 X의 제2 프로젝션이 X0,2로서 도시된다. 도 4의 이미지가 타겟, 예컨대, 타겟(130)이라면, 시스템은, 타겟의 포지션 및 배향에 관한 앞서 제공된 정보를 사용하여, 상이한 이미지들로부터의 관심대상 지점들을 연관시킬 수 있을 것이다. 이들 대응성들에 관한 정보가 주어진다면, 초점들의 위치가 삼각측량될 수 있다. 이러한 추정치는 잡음성일 수 있는데, 그 이유는 관심대상 지점들 x의 포지션에서의 서브-픽셀 오류들이 관심대상 지점 X의 계산된 포지션에서의 더 큰 오류를 야기할 수 있기 때문이다. 이들 오류들은 동일한 지점에서의 다수의 관찰들에 의해 감소될 수 있다. 또한, 추정된 위치의 리-프로젝션 오류를 최소화시킴으로써, 번들 조정은 키 프레임들, 예컨대, 도 4의 프레임들(412 및 414)에서 카메라 포즈들에 관한 초기 정보를 동시에 정정할 수 있다.
[0071] 추가로, 둘보다 많은 키 프레임들로부터 둘보다 많은 대응성들 및 포지션들이 사용될 때 번들 조정들이 사용될 수 있고, 이는 평균된 정보로 인해 모든 연관된 관심대상 지점들 X, Y, 및 Z에 대한 결과적 위치들에서의 훨씬 더 높은 신뢰성을 야기한다. 추가로, 관심대상 지점들의 추적 및 검출 둘 다를 사용하여 이러한 번들 조정이 수행될 때, 정확성이 추가로 개선된다.
[0072] 또한, 위에서 언급된 바와 같이, 키 프레임들을 캡쳐할 때, 디바이스의 상대적 포지셔닝의 정확성을 추가로 개선시키기 위해, 디바이스에 있는 부가 센서들이 사용될 수 있다. 디바이스의 위치 및 이동을 측정하는 가속도계들, 자이로스코프들, 및 다양한 다른 포지셔닝 시스템들이 위에서 설명된 포지션 측정치들을 대체하기 위해 또는 보충하기 위해 사용될 수 있다. 특정 실시예들에서, 이는 증가된 정확성 또는 감소된 프로세서 사용을 제공할 수 있다. 특정 실시예들에서, 디바이스가 특정 키 프레임을 캡쳐할 때, 디바이스의 포지션 또는 포즈를 결정하는데 이러한 포지셔닝 시스템들이 사용될 수 있다. 이 정보는, 특정 키 프레임들의 이차원 관심대상 지점들로부터 도출되는 키 지점들에 관한 정보를 생성하는데 사용될 수 있다.
[0073] 특정 실시예들에서, 관심대상 지점들을 둘러싸는 픽셀들에 관한 기술 정보는, 이미지들 사이에서 실제 픽셀들을 매칭시키는 단순한 프로세스로 인해, 매칭 결정에 큰 영향을 갖는 것으로서 선택될 수 있다. 그러나, 많은 오브젝트들에 대해, 동일한 관심대상 지점의 다수의 관찰들이 다수의 뷰들에 걸쳐 점진적으로 그러나 지속적으로 변하는 경향이 있다. 이는, 표면 반사율의 변화들, 오브젝트 상의 가변적인 자가-폐색(self-occlusion)들, 또는 단순히, 투사 뷰들의 성질에 기인할 수 있다. 이 때문에, 키 지점 그룹핑들의 여러 클러스터들로 끝을 맺는 것이 가능하고, 여기서 각각의 그룹핑에 대한 디스크립터들은 특정 공통 필터 요건들은 충족시키지만, 다른 요건들은 충족시키지 않는다. 예컨대, 각각의 클러스터 내의 디스크립터들은 최대 거리 요건들을 충족시킬 수 있지만, 클러스터들에 걸쳐 최대 거리 요건들을 충족시키지 않을 수 있다. 이는, 단 한 개가 존재하는 곳에서 여러 삼차원 키 지점 매치들이 추정됨을 유도할 수 있다. 따라서, 특정 실시예들에서, 디스크립터 클러스터들 사이의 교차점에서의 관찰들이 이루어질 수 있다. 이들은, 관심대상 지점들 사이의 링크, 그리고 다수의 관심대상 지점들 또는 지점들의 대응성 세트들을 합칠지의 여부에 관한 의사결정을 위한 부가 정보를 제공한다. 이들은 추가로, 임의의 번들 조정에 부가된 견고함을 제공하며, 여분의 또는 불필요한 데이터를 전지 작업하기 위한 전조(precursor)로서의 역할을 할 수 있다. 번들 조정 프로세스는 뷰들의 클러스터들에 걸쳐 대응성들을 합치는 것으로부터 이득을 얻을 수 있는데, 그 이유는 이후, 두 개의 별개의 지점들 X 및 X'(이들 중에서 하나가 가상임)를 추정하는 대신에, 더 많은 데이터에 기초하여 동일한 관심대상 지점 X가 추정되기 때문이다. 이는 또한, 다른 전지 작업 또는 데이터 필터링 기술들과 결합되어, 콤팩트 오브젝트 표현으로서 데이터베이스에 저장될 데이터를 최적화시킬 수 있고, 여기서 다수의 프레임들로부터의 합쳐진 관심대상 지점들은 키 지점 주위의 오브젝트에 관한 연관된 기술 데이터와 함께 단일 키 지점으로서 저장될 수 있다. 대안적으로, 몇몇 인스턴스들에서, 동일한 삼차원 지점 위치 X이지만 그것과 연관된 둘 또는 그 초과의 별개의 디스크립터들의 다수의 인스턴스들을 갖는 것이 유익하다. 이는, 다수의 뷰들에 걸쳐 디스크립터 차이가 매우 두드러져서, 매칭 파이프라인이 데이터베이스의 단일 디스크립터와, 동일한 위치 X의 "별개의" 질의 뷰들로부터 추출되는 대응하는 디스크립터들 사이의 연관들을 형성할 수 없을 때의 경우일 수 있다.
[0074] 번들 조정 후에, 적어도 두 개의 뷰포인트들로부터 보이는 각각의 관심대상 지점 X는 이제, 그것의 삼차원 위치 및 다수의 디스크립터들에 의해 표현되고, 각각의 디스크립터는 통상적으로, 스캔 동안 지점이 관찰되었던 하나의 별개의 키 프레임에 대응한다. 이 단계 뒤에는 통상적으로, 관심대상 오브젝트와 연관되지 않은 키 지점들을 제거하는 것을 목표로 하는 세그멘테이션 및 필터링 기술들이 이어진다. 이 방법들은 통상적으로, 모든 캡쳐된 키 지점들의 삼차원 위치들(x1,x2,x3)에만 의존하며, 그로 인해서 번들 조정을 위한 단계들과 결합될 수 있는데, 그 이유는 삼차원 위치들이 이 단계에서 이미 알려져 있기 때문이다. 스캔 후에 콤팩트한 오브젝트 표현을 형성하기 위한 프로세스의 최종 단계는 특징 전지 작업으로 불린다. 즉, 살아남은 관심대상 지점들 X가 이제, 적어도 두 개의 디스크립터들과 연관되고, 통상적으로는 여러 디스크립터들과 연관된다. 부착된 기술과 함께, 관심대상 지점의 위치는 때때로 "특징"으로 지칭된다. 따라서, 삼차원 좌표들의 하나의 특정 세트에서 단일 키 지점과 연관된 많은 특징들이 있을 수 있고, 목표는, 반복하는 것을 회피하고, 표현 크기를 압축하는 것이지만, 또한 이들 특징들 중 몇몇을 전지 작업함으로써 혼란을 최소화시키는 것인데, 여기서 전지 작업은, 특정 디스크립터들을 제거하는 것과, 감소된 수의 새로운 "전지 작업된" 디스크립터들을 형성하기 위해 다수의 살아남은 디스크립터들을 결합시키는 것의 결합된 효과이다. 이 전지 작업은, 일련의 전지 작업 단계들을 구현하는 모듈에 의해 수행될 수 있다. 이러한 단계들은, 관심대상 지점이 키 지점으로서 검출되는 특징으로서 관찰되도록 하는 다수의 상이한 이미지들 및 뷰포인트들에 대한 반복 가능성에 기초하여, 관심대상 지점들을 필터링할 수 있다. 이는 또한 차별성에 기초하여 필터링할 수 있어, 다수의 뷰들에서 동일한 키 지점에 대응하는 유사한 특징들의 일부가 선택된다. 유사한 특징들의 나머지 일부에 대한 키 지점들이 제거되어, 콤팩트한 오브젝트 표현에서의 중복성이 감소된다.
[0075] 특정 실시예들에서, 오브젝트 표현의 크기를 최적화시키기 위하여, 값을 키 지점들과 연관시키는 분석이 수행될 수 있다. 값 임계치가 설정될 수 있어, 중복적이거나 또는 그렇지 않으면 가치가 덜한 키 지점들이 제거되는 반면에, 데이터 값 임계치를 초과하는 스코어를 갖는 고유하고 매우 잘 보이는 키 지점들이 저장될 수 있다.
[0076] 추가 실시예들에서, 디바이스에 이용 가능한 프로세싱 자원들 및 사용자에 의해 선택되는 다른 선택들에 따라, 상이한 전지 작업 단계들이 사용될 수 있다. 키 지점 전지 작업의 레벨을 제어할 수 있는 부가 파라미터들의 예들은 키 지점들 주위의 픽셀들이 충분히 유사한지를 결정하기 위한, 다차원 디스크립터 공간에서의 엡실론 볼의 반경; 별개의 키 지점들이 유클리드 공간에서 서로 매우 가까이 번들링됨을 결정하기 위한, 삼차원 공간에서의 엡실론 볼의 반경; 특정 키 지점의 뷰들의 수에 기초한 반복 가능성 임계치; 및 다수의 뷰들에서 단일 키 지점에 대해 식별되는 특징 변화들에 기초한 차별성 임계치를 포함한다.
[0077] 따라서, 일 실시예는, 모바일 컴퓨팅 디바이스의 카메라 모듈을 사용하여, 장면의 복수의 이미지들을 캡쳐하는 것을 수반할 수 있다. 장면의 복수의 이미지들 각각은 제1 오브젝트의 적어도 일부분의 이미지를 포함한다. 6 자유도 및 관심대상 오브젝트가 이동하고 있지 않은 월드 좌표계에 대한 3개의 차원들에서의 포지션으로 구성된 카메라 포지션 또는 "카메라 포즈"는, 캡쳐된 이미지들의 각각의 이미지에 대해 알려진 것으로 간주된다. 카메라 포즈는 다양한 방식들로 (로봇 팔에 대해서와 같이) 고정된 셋업을 조심스럽게 교정함으로써, 또는 스캐닝되고 있는 오브젝트를 갖는 동일한 장면에서 존재하는 알려진 오브젝트 "타겟"의 투사 외양을 검출 및 추적함으로써 획득될 수 있다. 이후, 복수의 이미지들 중 제1 이미지가 제1 키 프레임으로서 식별될 수 있고, 여기서 제1 이미지는 모바일 컴퓨팅 디바이스에 의해 제1 포지션으로부터 캡쳐된다. 복수의 이미지들 중 제2 이미지가 제2 키 프레임으로서 선택될 수 있다. 제2 이미지는 모바일 컴퓨팅 디바이스에 의해, 제1 포지션과는 상이한 제2 포지션으로부터 캡쳐된다. 제1 키 프레임으로부터 복수의 제1 관심대상 지점들이 식별될 수 있고, 여기서 복수의 제1 관심대상 지점들은 장면으로부터 특징들을 식별한다. 복수의 제2 관심대상 지점들이 제2 키 프레임으로부터 식별될 수 있다. 이후, 시스템은 복수의 제1 관심대상 지점들 및 복수의 제2 관심대상 지점들을 매칭시킬 수 있고, 오브젝트와 연관된 키 지점들을 식별할 수 있다. 다음 차례로, 오브젝트와 연관된 키 지점들은 각각의 키 지점을 둘러싸는 영역의 적어도 하나의 기술과 연관될 수 있고, 그들은 함께, 콤팩트한 오브젝트 표현들로서 오브젝트 검출 데이터베이스에 저장될 수 있다.
[0078] 대안적 실시예에서, 디바이스는 SLAM 시스템을 동작시킬 수 있다. SLAM 시스템은, (선험적 지식 없이) 알려지지 않은 환경 내에서 지도를 만들어 내거나 또는 (주어진 지도로부터의 선험적 지식을 이용하여) 알려진 환경 내에서 지도를 업데이트하면서 동시에, 이미징 데이터로부터 그들의 현재 위치를 추적하기 위해 이미징 데이터를 사용하기 위한 표준 시스템이다. 본원에 설명된 실시예들에서, 환경 또는 장면을 만들어 내는 것이 아니라, 위에서 설명된 바와 같이 생성되는 키 지점들을 사용하여 오브젝트의 지도를 만들어내는데 표준 SLAM 시스템으로부터의 지도 데이터가 사용된다. SLAM 시스템은 위에서 설명된 바와 같이 이미지들로부터 키 프레임들을 선택하는데, 그 이유는 SLAM 시스템의 표준 동작이 SLAM 동작의 일부로서 키 프레임들의 생성을 포함하기 때문이다. 위에서 설명된 바와 같이, 장면 맵핑 및 디바이스 포지션 추적은, 오브젝트의 현저한 특징들 및 구조적 특성들을 추출하기 위한 도구로서 사용될 수 있다. 이러한 방식으로, 이미지 캡쳐 및 키 프레임 선택은 SLAM 시스템에 의해 수행될 수 있다. 전체 시스템은 SLAM 시스템으로부터의 키 프레임들을 별개의 추출기 및 디스크립터 시스템에 제공할 수 있다. 이후, 이 추출기 및 디스크립터 시스템은, 오브젝트 외양 정보를 추출하기 위해 키 프레임들에 대하여 실행될 수 있다. 특정 실시예들에서, 별개의 SLAM 및 추출기/디스크립터 시스템들은 추적, 지도 만들기, 및 로컬화를 위한 더 단순하고 더 저렴한 시스템으로서 이득들을 제공할 수 있다. 전체 시스템은 더욱 복잡할 수 있지만, 또한, 더욱 효율적인 차별과 불변의 관심대상 지점 검출을 제공할 수 있다. 이후, 디스크립터 시스템은 키 프레임들에 걸쳐 키 지점 대응성을 설정할 수 있고, 임의의 나머지 단계들을 수행할 수 있다.
[0079] 이러한 실시예는 카메라 포지션 안정성, 추출되는 다수의 충분히 "상이한" 특징들, 및 다른 이러한 메트릭들을 비롯한 다수의 기준들을 사용하여 키 프레임들을 선택 및 저장하기 위해 SLAM을 사용할 수 있다. 따라서, SLAM 키 프레임들은 검출 특징 추출을 위해 수정되지 않은 채로 사용될 수 있다. 다른 실시예들은, 데이터베이스 생성과 더욱 조화되어 키 프레임들을 자동으로 생성하는 것을 타겟으로 하는 맞춤형 키 프레임 선택을 가능하게 할 수 있다. 이들 실시예들 중 어느 한 쪽이, 오브젝트가 스캐닝될 때 사용자로부터 숨겨질 수 있는 자동화된 키 프레임 선택을 가능하게 한다.
[0080] 특정 실시예들에서, SLAM 시스템은 멀티스레드 방식으로 구현되는데, 키 지점 특징 추출은 백그라운드 프로세스에서 실행된다. 관심대상 지점들에 대해 추출되는 디스크립터들은, 특정 키 프레임들 내에서 투사 오브젝트 뷰에 대응할 수 있다. 키 지점들 사이의 상호 기하학적 구조를 인코딩하기 위하여, 특정 실시예들에 의해, 위에서 설명된 바와 같이, 통상적인 멀티-뷰 공액 기하 기술(multi-view epipolar geometry technique)들이 사용될 수 있다.
[0081] 다양한 대안적 실시예들에서, 키 지점들을 생성하기 위해 이미지들 사이의 관심대상 지점들을 매칭시키기 전에, 이러한 매칭 후에, 또는 그 전후로 둘 다에서, 관심대상 지점들은 필터링될 수 있다. 추가 실시예들은, 삼차원 키 지점 위치를 견고하게 추정하기 위해, 검출 뿐만 아니라 SLAM 특징들 및 다수의 키 프레임들에 걸쳐 그들의 대응성들을 사용할 수 있다. 또한, 추가 실시예들은, 추출된 멀티-뷰 검출 특징들을 전지 작업하고 오브젝트 검출 데이터베이스에 대한 콤팩트한 오브젝트 표현들을 생성하기 위해 키 지점 데이터를 포스트-프로세싱할 수 있다.
[0082] 일 실시예에서, 사용자 인터페이스는, 데이터베이스 생성을 위해 콤팩트한 오브젝트 표현들을 최적화시키는 것을 타겟으로 할 수 있는 상이한 키 프레임 선택 기준을 제공할 수 있다. 특정 실시예들에서, 디스플레이는, 스캐닝 프로세스를 시각화하기 위해, 추출 및 삼각측량된 키 지점들을 거의 실시간으로 제시할 수 있다. 특정 실시예들에서, 이는, 키 프레임들이 선택될 때 키 지점 생성을 조정하기 위해 사용자가 파라미터들을 즉석에서 변경하는 것을 가능하게 할 수 있다.
[0083] 이제, 도 5는 특정 실시예들에 따른 디바이스(500)의 일 구현을 설명한다. 위에서 설명된 바와 같이, 도 1 및 도 5는, 일 실시예에서 오브젝트를 스캐닝하는데 사용되는 디바이스(110 또는 410)를 포함할 수 있는 시스템을 예시한다. 디바이스(500)는 디바이스(110) 또는 디바이스(410)의 일 실시예일 수 있고, 오브젝트 검출 데이터베이스에 대한 콤팩트한 오브젝트 표현들을 생성하기 위한 방법의 엘리먼트들 전부를 수행할 수 있다. 도 5에 도시된 디바이스(500)의 실시예에서, 오브젝트 식별 모듈(521)과 스캐닝 및 데이터베이스 입력 모듈(522)을 비롯해, 오브젝트 스캐닝을 구현하기 위해, 전문화된 모듈들이 사용될 수 있다. 데이터베이스(524)는 전문화된 콤팩트한 오브젝트 표현 베이스일 수 있거나, 또는 더 큰 데이터베이스 시스템의 일부일 수 있다. 오브젝트 식별 모듈(521)은 본원에 설명된 바와 같이 SLAM을 구현하는 모듈일 수 있거나, 또는 키 프레임들을 식별하기 위한 맞춤형 모듈일 수 있다. 특정 실시예들에서, 오브젝트 식별 모듈(521) 및 데이터베이스 입력 모듈(522)은 단일 모듈로서 구현될 수 있다.
[0084] 부가하여, 특정 실시예들에서, 오브젝트 식별 모듈(521) 그리고/또는 스캐닝 및 데이터베이스 입력 모듈(522)에 대한 제어 모듈 또는 제어 입력은, 다양한 스캐닝 양상들의 수동 선택을 가능하게 할 수 있다. 예컨대, 키 프레임들이 특정 각도들에서 희박할 때, 상이한 각도들로부터의 더 많은 키 프레임들이 요구될 때를 결정하기 위해, 사용자는 디스플레이 출력(503)에 자동 프롬프트들이 제시되게 택할 수 있다. 또한, 이러한 시스템은, 높은 값의 키 지점 데이터가 예상되는 특정 각도들에 대한 프롬프트들 및 방향들을 가능하게 할 수 있다. 특정 실시예들에서, 이러한 시스템은 본질적으로, 오브젝트의 특정 일부분들 주위의 관심대상 지점 밀도 및/또는 키 지점 밀도를 추적할 수 있다. 주어진 이미지에 대해, 시스템은, 이미지가 취해지는 위치와 가장 가까운 키 프레임이 취해졌었던 위치 사이의 공간적 관계를 결정할 수 있고, 새로운 위치로부터 부가 키 프레임의 값을 결정하기 위해, 이들 위치들에 대한 관심대상 지점 정보와 함께, 이 정보를 사용할 수 있다.
[0085] 따라서, 시스템은, 부가 키 프레임들이 특정 각도들로부터 높은 데이터 값을 제공할 때를 사용자에게 통보할 수 있다. 또한, 이러한 제어는 사용자가, 키 프레임들의 선택을 맞춤화하거나 또는 진행중인 스캔에 대한 키 프레임들의 선택을 업데이트하는 것을 가능하게 할 수 있다. 특정 실시예들에서, 이것은 또한 사용자가, 레코딩된 이미지들을 보고 특정 이미지들을 키 프레임들로서 수동으로 선택하는 것을 가능하게 할 수 있다. 추가로, 여전히, 키 지점 전지 작업 및 필터링에 대한 임계치들이 사용자 선택에 의해 셋팅될 수 있다.
[0086] 도 5에 도시된 실시예에서, 모바일 디바이스(500)는 다수의 컴포넌트들에서 동작들을 수행하기 위해 명령들을 실행시키도록 구성된 프로세서(510)를 포함하고, 예컨대, 휴대용 전자 디바이스 내에서의 구현에 적절한 범용 프로세서 또는 마이크로프로세서일 수 있다. 따라서, 프로세서(510)는 본원에 설명된 콤팩트한 오브젝트 표현 생성을 위한 특정 단계들 중 임의의 단계 또는 단계들 전부를 구현할 수 있다. 프로세서(510)는 모바일 디바이스(500) 내의 복수의 컴포넌트들과 통신 가능하게 커플링된다. 이 통신 커플링을 구현하기 위해, 프로세서(510)는 버스(540)를 가로질러 다른 예시된 컴포넌트들과 통신할 수 있다. 버스(540)는 모바일 디바이스(500) 내에서 데이터를 전송하도록 적응된 임의의 서브시스템일 수 있다. 버스(540)는 복수의 컴퓨터 버스들일 수 있고, 데이터를 전송하기 위한 부가 회로를 포함할 수 있다.
[0087] 메모리(520)는 프로세서(510)에 커플링될 수 있다. 몇몇 실시예들에서, 메모리(520)는 단기 및 장기 스토리지 둘 다를 제공하고, 실제로는, 여러 유닛들로 분할될 수 있다. 메모리(520)는 휘발성, 예컨대 SRAM(static random access memory) 및/또는 DRAM(dynamic random access memory), 및/또는 비-휘발성, 예컨대 ROM(read-only memory), 플래시 메모리 등일 수 있다. 또한, 메모리(520)는 탈착 가능한 스토리지 디바이스들, 예컨대, SD(secure digital) 카드들을 포함할 수 있다. 따라서, 메모리(520)는 컴퓨터-판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 및 모바일 디바이스(500)에 대한 다른 데이터의 스토리지를 제공한다. 몇몇 실시예들에서, 메모리(520)는 상이한 하드웨어 모듈들로 분산될 수 있다.
[0088] 몇몇 실시예들에서, 메모리(520)는 복수의 애플리케이션 모듈들을 저장한다. 애플리케이션 모듈들은 프로세서(510)에 의해 실행될 특정 명령들을 포함한다. 대안적 실시예들에서, 다른 하드웨어 모듈들은 부가하여, 특정 애플리케이션들, 또는 애플리케이션들의 부분들을 실행시킬 수 있다. 메모리(520)는 특정 실시예들에 따른 스캐닝을 구현하는 모듈들에 대한 컴퓨터-판독가능 명령들을 저장하는데 사용될 수 있고, 또한, 데이터베이스의 일부로서 콤팩트한 오브젝트 표현들을 저장할 수 있다.
[0089] 몇몇 실시예들에서, 메모리(520)는 운영체제(523)를 포함한다. 운영체제(523)는, 애플리케이션 모듈들에 의해 제공되는 명령들의 실행을 개시하고 그리고/또는 다른 하드웨어 모듈들 뿐만 아니라 WAN 무선 트랜시버(512) 및 LAN 무선 트랜시버(542)를 사용할 수 있는 통신 모듈들과의 인터페이스들을 관리하도록 동작 가능할 수 있다. 운영체제(523)는, 스레딩, 자원 관리, 데이터 스토리지 제어 및 다른 유사한 기능성을 비롯해, 모바일 디바이스(500)의 컴포넌트들에 걸쳐 다른 동작들을 수행하도록 적응될 수 있다.
[0090] 몇몇 실시예들에서, 모바일 디바이스(500)는 복수의 다른 하드웨어 모듈들을 포함한다. 다른 하드웨어 모듈들 각각은 모바일 디바이스(500) 내의 물리적 모듈이다. 그러나, 하드웨어 모듈들 각각이 구조로서 영구적으로 구성되지만, 하드웨어 모듈들의 개개의 하드웨어 모듈은 특정 기능들을 수행하도록 일시적으로 구성될 수 있거나 또는 일시적으로 활성화될 수 있다. 공통적인 예는, 셔터 릴리스 및 이미지 캡쳐를 위해 카메라(501)(즉, 하드웨어 모듈)를 프로그래밍할 수 있는 애플리케이션 모듈이다. 이러한 카메라 모듈은, 이미지들, 예컨대, 도 1의 이미지들(122 및 124) 및 도 4의 이미지들(412 및 414)을 캡쳐하는데 사용될 수 있다.
[0091] 다른 하드웨어 모듈들은, 예컨대, 가속도계, Wi-Fi 트랜시버, 위성 내비게이션 시스템 수신기(예컨대, GPS 모듈), 압력 모듈, 온도 모듈, 오디오 출력 및/또는 입력 모듈(예컨대, 마이크로폰), 카메라 모듈, 근접성 센서, ALS(alternate line service) 모듈, 용량성 터치 센서, NFC(near field communication) 모듈, Bluetooth® 1 트랜시버, 셀룰러 트랜시버, 자력계, 자이로스코프, 관성 센서(예컨대, 가속도계와 자이로스코프를 결합시키는 모듈), 주변광 센서, 상대 습도 센서, 또는 감각 출력을 제공하고 그리고/또는 감각 입력을 수신하도록 동작 가능한 임의의 다른 유사한 모듈일 수 있다. 몇몇 실시예들에서, 하드웨어 모듈들의 하나 또는 그 초과의 기능들이 소프트웨어로 구현될 수 있다. 추가로, 본원에 설명된 바와 같이, 특정 하드웨어 모듈들, 예컨대, 가속도계, GPS 모듈, 자이로스코프, 관성 센서, 또는 다른 이러한 모듈들이 키 프레임들 사이의 상대 위치들을 추정하는데 사용될 수 있다. 이 정보는, 위에서 설명된 이미지 기반 기술들과 함께, 데이터 품질을 개선시키기 위해 사용될 수 있거나, 또는 프로세서 자원들을 절약하기 위하여 이러한 방법들을 대체할 수 있다. 특정 실시예들에서, 사용자는 이러한 옵션들을 선택하기 위해 사용자 입력 모듈(504)을 사용할 수 있다.
[0092] 모바일 디바이스(500)는 무선 통신들에 필요한 임의의 다른 하드웨어, 펌웨어, 또는 소프트웨어와 안테나(514) 및 무선 트랜시버(512)를 통합시킬 수 있는 무선 통신 모듈과 같은 컴포넌트를 포함할 수 있다. 이러한 무선 통신 모듈은, 네트워크들과 액세스 포인트들, 예컨대, 네트워크 액세스 포인트를 통해, 다양한 디바이스들, 예컨대, 데이터 소스들로부터 신호들을 수신하도록 구성될 수 있다. 특정 실시예들에서, 원격 데이터베이스에 저장되고, 그리고 디바이스들이 오브젝트 인식 기능성을 실행할 때 다수의 다른 디바이스들에 의해 사용되도록, 콤팩트한 오브젝트 표현들이 서버 컴퓨터들, 다른 모바일 디바이스들, 또는 다른 네트워킹된 컴퓨팅 디바이스들에 통신될 수 있다.
[0093] 메모리(520)의 다른 하드웨어 모듈들 및 애플리케이션들 이외에도, 모바일 디바이스(500)는 디스플레이 출력(503) 및 사용자 입력 모듈(504)을 가질 수 있다. 디스플레이 출력(503)은 모바일 디바이스(500)로부터 사용자에게 정보를 그래픽으로 제시한다. 이 정보는 하나 또는 그 초과의 애플리케이션 모듈들, 하나 또는 그 초과의 하드웨어 모듈들, 이들의 결합, 또는 (예컨대, 운영체제(523)에 의해) 사용자에 대한 그래픽 콘텐트를 리졸빙하기 위한 임의의 다른 적절한 수단으로부터 도출될 수 있다. 디스플레이 출력(503)은 LCD(liquid crystal display) 기술, LPD(light-emitting polymer display) 기술, 또는 어떤 다른 디스플레이 기술일 수 있다. 몇몇 실시예들에서, 디스플레이 모듈(503)은 용량성 또는 저항성 터치 스크린이고, 사용자와의 촉각 접촉 및/또는 햅틱을 감지할 수 있다. 이러한 실시예들에서, 디스플레이 출력(503)은 멀티-터치-감지 디스플레이를 포함할 수 있다. 이후, 디스플레이 출력(503)은, 오브젝트 인식을 사용하여, 데이터베이스(524)로부터의 콤팩트한 오브젝트 표현들과 함께, 오브젝트 식별 모듈(521)과 연관된 임의의 수의 출력들, 예컨대, 증강 현실 출력을 디스플레이하는데 사용될 수 있다. 또한, 스캐닝 및 스토리지 옵션들을 선택하기 위해 인터페이스 선택들이 디스플레이될 수 있다. 또한, 키 지점들은, 오브젝트의 이미지와 함께, 오브젝트가 스캐닝됨에 따라 실시간으로 디스플레이될 수 있다.
[0094] 도 6은 다양한 다른 실시예들, 예컨대, 본원에 설명된 바와 같은 도 1-도 5에 의해 설명된 실시예들과 함께 사용될 수 있는 컴퓨팅 디바이스(600)의 일 실시예의 개략적인 예시를 제공한다. 도 6은 다양한 컴포넌트들의 일반화된 예시를 제공하는 것으로만 여겨지며, 이 다양한 컴포넌트들 중 임의의 컴포넌트 또는 전부가 적절한 대로 활용될 수 있다. 특정 실시예들에서, 예컨대, 도 6 및 도 5의 컴포넌트들은 단일 디바이스에 포함될 수 있거나, 또는 하나의 특정 실시예를 포함할 수 있는 다수의 분산된 디바이스들에 포함될 수 있다. 그러므로, 도 6은 개별 시스템 엘리먼트들이 비교적 분리된 또는 비교적 더욱 통합된 방식으로 어떻게 구현될 수 있는지를 폭넓게 예시하고, 그리고 예컨대, 비-일시적 컴퓨터-판독가능 스토리지 디바이스, 예컨대, 스토리지 디바이스들(625)로부터의 컴퓨터-판독가능 명령들에 의해 제어될 때 실시예들에 따른 특정 방법들을 구현할 수 있는 엘리먼트들을 설명한다.
[0095] 버스(605)를 통해 전기적으로 커플링될 수 있는(또는 그렇지 않으면, 적절한 대로, 통신할 수 있는) 하드웨어 엘리먼트들을 포함하는 컴퓨팅 디바이스(600)가 도시된다. 하드웨어 엘리먼트들은, 제한 없이 하나 또는 그 초과의 범용 프로세서들 및/또는 하나 또는 그 초과의 특수-목적 프로세서들(예컨대, 디지털 신호 프로세싱 칩들, 그래픽스 가속 프로세서들 등)을 포함하는 하나 또는 그 초과의 프로세서들(610); 제한 없이 마우스, 키보드 등을 포함할 수 있는 하나 또는 그 초과의 입력 디바이스들(615); 및 제한 없이 디스플레이 디바이스, 프린터 등을 포함할 수 있는 하나 또는 그 초과의 출력 디바이스들(620)을 포함할 수 있다.
[0096] 컴퓨팅 디바이스(600)는 추가로, 하나 또는 그 초과의 비-일시적 스토리지 디바이스들(625)을 포함할 수 있고(그리고/또는 통신할 수 있고), 이 하나 또는 그 초과의 비-일시적 스토리지 디바이스들(625)은 제한 없이 로컬 및/또는 네트워크 액세스 가능한 스토리지를 포함할 수 있고, 그리고/또는 제한 없이 디스크 드라이브, 드라이브 어레이, 광학 스토리지 디바이스, 고체-상태 스토리지 디바이스, 예컨대 랜덤 액세스 메모리("RAM(random access memory)") 및/또는 판독-전용 메모리("ROM(read-only memory)")를 포함할 수 있으며, 이들은 프로그래밍 가능하고, 플래시-업데이트 가능하고 등일 수 있다. 이러한 스토리지 디바이스들은, 제한 없이 다양한 파일 시스템들, 데이터베이스 구조들 등을 포함하는 임의의 적절한 데이터 스토어들을 구현하도록 구성될 수 있다.
[0097] 또한, 컴퓨팅 디바이스(600)는 통신 서브시스템(630)을 포함할 수 있고, 이 통신 서브시스템(630)은 제한 없이 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 칩셋(예컨대, Bluetooth 디바이스, 702.11 디바이스, Wi-Fi 디바이스, WiMax 디바이스, 셀룰러 통신 설비들 등), 및/또는 유사한 통신 인터페이스들을 포함할 수 있다. 통신 서브시스템(630)은 데이터가 네트워크(예컨대, 하나의 예를 들자면, 하기에서 설명되는 네트워크), 다른 컴퓨터 시스템들, 및/또는 본원에 설명된 임의의 다른 디바이스들과 교환되도록 허가할 수 있다. 따라서, 모바일 디바이스, 예컨대, 모바일 디바이스(500)는 무선 트랜시버(512) 및 LAN 무선 트랜시버(542)를 포함하는 것들 이외에도 다른 통신 서브시스템들을 포함할 수 있다.
[0098] 위에서 설명된 바와 같이, 많은 실시예들에서, 컴퓨팅 디바이스(600)는 비-일시적 작업 메모리(635)를 더 포함할 것이고, 이 비-일시적 작업 메모리(635)는 RAM 또는 ROM 디바이스를 포함할 수 있다. 또한, 컴퓨팅 디바이스(600)는 소프트웨어 엘리먼트들을 포함할 수 있고, 이 소프트웨어 엘리먼트들은 작업 메모리(635) 내에 현재 위치되어 있는 것으로서 도시되고, 운영체제(640), 디바이스 드라이버들, 실행 가능한 라이브러리들, 및/또는 다른 코드, 예컨대, 하나 또는 그 초과의 애플리케이션 프로그램들(645)을 포함하며, 이 하나 또는 그 초과의 애플리케이션 프로그램들(645)은 다양한 실시예들에 의해 제공되는 컴퓨터 프로그램들을 포함할 수 있고, 그리고/또는 본원에 설명된 바와 같이, 다른 실시예들에 의해 제공되는 시스템들을 구성하고 그리고/또는 방법들을 구현하도록 설계될 수 있다. 단지 예로서, 위에서 논의된 방법(들)에 대하여 설명된 하나 또는 그 초과의 프로시저들은 컴퓨터(및/또는 컴퓨터 내의 프로세서)에 의해 실행 가능한 코드 및/또는 명령들로서 구현될 수 있고; 양상에서, 이후, 이러한 코드 및/또는 명령들은, 설명된 방법들에 따라, 키 프레임들, 관심대상 지점들, 키 지점들을 식별하고, 오브젝트 표현을 생성하고, 이 오브젝트 표현을 데이터베이스에 저장하고, 그리고 알려지지 않은 또는 부분적으로 알려지지 않은 장면의 차후 스캔에서의 오브젝트 식별을 위해 오브젝트 표현을 리트리빙하기 위하여, 오브젝트를 스캐닝하기 위한 하나 또는 그 초과의 동작들을 수행하도록 범용 컴퓨터(또는 다른 디바이스)를 구성시키고 및/또는 적응시키는데 사용될 수 있다.
[0099] 이들 명령들 및/또는 코드의 세트는 컴퓨터-판독가능 스토리지 매체, 예컨대, 위에서 설명된 스토리지 디바이스(들)(625) 상에 저장될 수 있다. 몇몇 경우들에서, 스토리지 매체는 컴퓨터 시스템, 예컨대, 컴퓨팅 디바이스(600) 내에 통합될 수 있다. 다른 실시예들에서, 스토리지 매체는 컴퓨터 시스템과 별개일 수 있고(예컨대, 탈착 가능한 매체, 예컨대 콤팩트 디스크), 그리고/또는 설치 패키지로 제공될 수 있어, 스토리지 매체는 그 상에 저장된 명령들/코드를 이용하여 범용 컴퓨터를 프로그래밍하고, 구성시키고 그리고/또는 적응시키는데 사용될 수 있다. 이들 명령들은 실행 가능한 코드의 형태를 취할 수 있고, 이 실행 가능한 코드는 컴퓨팅 디바이스(600)에 의해 실행 가능하고 그리고/또는 소스 및/또는 설치 가능한 코드의 형태를 취할 수 있으며, 이 소스 및/또는 설치 가능한 코드는, 컴퓨팅 디바이스(600) 상에 (예컨대, 다양한 일반적으로 이용 가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등 중 임의의 것을 사용한) 컴파일링 시 그리고/또는 설치 시, 이후에 실행 가능한 코드의 형태를 취한다. 따라서, 본원에 설명된 바와 같이, 오브젝트 식별 모듈(521)과 스캐닝 및 데이터베이스 입력 모듈(522)은 실행 가능한 코드일 수 있다. 대안적 실시예들에서, 이들 모듈들은 하드웨어, 펌웨어, 실행 가능한 명령들, 또는 이들 구현들의 임의의 결합일 수 있다.
[0100] 실질적인 변형들이 특정 요건들에 따라 이루어질 수 있다. 예컨대, 맞춤형 하드웨어가 또한 사용될 수 있고, 그리고/또는 특정 엘리먼트들이 하드웨어로, 소프트웨어(휴대용 소프트웨어, 예컨대 애플릿들 등을 포함함)로, 또는 둘 다로 구현될 수 있다. 또한, 특정 기능성을 제공하는 하드웨어 및/또는 소프트웨어 컴포넌트들은 전용 시스템(전문화된 컴포넌트들을 가짐)을 포함할 수 있거나, 또는 더욱 일반적인 시스템의 일부일 수 있다. 단일 키 프레임들로부터 도출되는 다수의 이차원 관심대상 지점들로부터 생성되는 삼차원 키 지점들의 출력을 위해 수용 가능한 특성들의 선택에 관련된 본원에 설명된 특징들 중 일부 또는 전부를 제공하도록 구성된 활동 선택 서브시스템, 및 이러한 서브시스템들은 전문화된 하드웨어 및/또는 소프트웨어(예컨대, ASIC(application-specific integrated circuit), 소프트웨어 방법 등), 또는 일반적인 하드웨어 및/또는 소프트웨어(예컨대, 프로세서(들)(610), 예컨대 메모리(635) 내에서 임의의 모듈을 구현할 수 있는 애플리케이션들(645) 등)를 포함한다. 추가로, 네트워크 입/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 연결이 사용될 수 있다.
[0101] 본원에 사용된 바와 같은 용어들 "머신-판독가능 매체" 및 "컴퓨터-판독가능 매체"는, 머신으로 하여금 특정 방식으로 동작하게 하는 데이터를 제공하는 것에 참여하는 임의의 매체를 지칭한다. 컴퓨팅 디바이스(600)를 사용하여 구현되는 실시예에서는, 다양한 컴퓨터-판독가능 미디어가 실행을 위해 명령들/코드를 프로세서(들)(610)에 제공할 때 수반될 수 있고, 그리고/또는 이러한 명령들/코드를 (예컨대, 신호들로서) 저장 및/또는 운반하는데 사용될 수 있다. 많은 구현들에서, 컴퓨터-판독가능 매체는 물리적 및/또는 유형의 스토리지 매체이다. 이러한 매체는 비-휘발성 미디어, 비-일시적 미디어, 휘발성 미디어를 포함하는 많은 형태들을 취할 수 있지만, 이들로 제한되지는 않는다. 비-휘발성 미디어는, 예컨대, 광학 및/또는 자기 디스크들, 예컨대 스토리지 디바이스(들)(625)를 포함한다. 휘발성 미디어는, 제한 없이, 동적 메모리, 예컨대 작업 메모리(635)를 포함한다.
[0102] 물리적 및/또는 유형의 컴퓨터-판독가능 미디어의 공통 형태들은, 예컨대, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치카드들, 페이퍼테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 이후에 설명되는 바와 같은 캐리어 파, 또는 임의의 다른 매체 ―이 임의의 다른 매체로부터, 컴퓨터가 명령들 및/또는 코드를 판독할 수 있음― 를 포함한다. 임의의 이러한 메모리는 메모리(520) 또는 메모리(635)로서, 또는 저장된 콘텐트의 보안을 유지시키도록 구조화된다면 보안 메모리로서 기능할 수 있다. 특정 실시예들에서, 오브젝트 표현들은 특정 레벨의 연관된 보안을 가질 수 있고, 특정 보안 또는 프라이버시 셋팅과 연관된 메모리(635)의 일부분들에 저장될 수 있다.
[0103] 통신 서브시스템(630)(및/또는 그 컴포넌트들)은 일반적으로 신호들을 수신할 것이고, 이후, 버스(605)는 신호들(및/또는 이 신호들에 의해 운반되는 데이터, 명령들 등)을 작업 메모리(635)에 운반할 수 있으며, 이 작업 메모리(635)로부터, 프로세서(들)(610)가 명령들을 리트리빙하여 실행시킨다. 작업 메모리(635)에 의해 수신된 명령들은 선택적으로, 프로세서(들)(610)에 의한 실행 전에 또는 그 후에 비-일시적 스토리지 디바이스(625) 상에 저장될 수 있다.
[0104] 본원에 설명된 다양한 실시예들에서, 정보를 통신하기 위하여 컴퓨팅 디바이스들은 네트워킹될 수 있다. 예컨대, 위에서 설명된 바와 같이, 모바일 디바이스(500)는, 정보를 수신하거나 또는 원격 오브젝트 표현 데이터베이스와 통신하기 위해 네트워킹될 수 있다. 부가하여, 이들 엘리먼트들 각각은 네트워킹된 통신들에서 다른 디바이스들, 예컨대, 웹 서버들, 데이터베이스들, 또는 네트워크를 통해 애플리케이션들을 인에이블링하기 위해 정보에 대한 액세스를 제공하는 컴퓨터들과 관계를 맺을 수 있다.
[0105] 도 7은, 다양한 실시예들에 따라, 오브젝트들을 식별할 때 추후에 사용하기 위한 오브젝트 표현들을 생성 및 저장하기 위한 시스템들을 구현할 수 있는 시스템들, 예컨대, 시스템(700) 또는 다른 시스템들을 가능하게 하는데 사용될 수 있는, 네트워킹된 컴퓨팅 디바이스들의 시스템(700)의 개략도를 예시한다. 예컨대, 다양한 실시예들에서, 시스템(700)에 의해 설명되는 바와 같이, 출력된 오브젝트 표현은 네트워킹된 컴퓨터들을 통해 하나 또는 그 초과의 데이터베이스들에 통신될 수 있다. 시스템(700)은 하나 또는 그 초과의 사용자 컴퓨팅 디바이스들(705)을 포함할 수 있다. 사용자 컴퓨팅 디바이스들(705)은 범용 퍼스널 컴퓨터들(단지 예로서, Microsoft® Windows® 2 및/또는 Mac OS® 3 운영체제의 임의의 적절한 플레이버(flavor)를 실행시키는 퍼스널 컴퓨터들 및/또는 랩톱 컴퓨터들을 포함함) 및/또는 다양한 상업적으로 이용 가능한 UNIX® 4 또는 UNIX-유사 운영체제들 중 임의의 운영체제를 실행시키는 워크스테이션 컴퓨터들일 수 있다. 또한, 이들 사용자 컴퓨팅 디바이스들(705)은 본 발명의 방법들을 수행하도록 구성된 하나 또는 그 초과의 애플리케이션들, 뿐만 아니라 하나 또는 그 초과의 오피스 애플리케이션들, 데이터베이스 클라이언트 및/또는 서버 애플리케이션들, 및 웹 브라우저 애플리케이션들을 비롯한 다양한 애플리케이션들 중 임의의 애플리케이션을 가질 수 있다. 대안적으로, 사용자 컴퓨팅 디바이스들(705)은 임의의 다른 전자 디바이스, 예컨대, 씬(thin)-클라이언트 컴퓨터, 인터넷 가능한 모바일 전화, 및/또는 네트워크(예컨대, 하기에서 설명되는 네트워크(710))를 통해 통신할 수 있고 그리고/또는 웹 페이지들 또는 다른 타입들의 전자 문서들을 디스플레이 및 내비게이팅할 수 있는 PDA(personal digital assistant)일 수 있다. 예시적 시스템(700)이 세 개의 사용자 컴퓨팅 디바이스들(705a, 705b, 705c)을 갖게 도시되지만, 임의의 수의 사용자 컴퓨팅 디바이스들이 지원될 수 있다.
[0106] 본 발명의 특정 실시예들은 네트워크(710)를 포함할 수 있는 네트워킹된 환경에서 동작한다. 네트워크(710)는, 제한 없이, TCP/IP, SNA, IPX, AppleTalk® 3 등을 비롯한 다양한 상업적으로 이용 가능한 프로토콜들 중 임의의 프로토콜을 사용하여 데이터 통신들을 지원할 수 있는, 당업자들에게 친숙한 임의의 타입의 네트워크일 수 있다. 단지 예로서, 네트워크(710)는 제한 없이, 이더넷 네트워크, 토큰-링 네트워크 등을 포함하는 로컬 영역 네트워크("LAN(local area network)"); 광역 네트워크(WAN(wide-area network)); 제한 없이, 가상 사설 네트워크("VPN(virtual private network)")를 포함하는 가상 네트워크; 인터넷; 인트라넷; 엑스트라넷; 공중 교환 전화 네트워크("PSTN(public switched telephone network)"); 적외선 네트워크; 제한 없이, IEEE 802.11 프로토콜 슈트의 임의의 프로토콜, 기술분야에서 알려진 Bluetooth 프로토콜, 및/또는 임의의 다른 무선 프로토콜 하에서 동작하는 네트워크를 포함하는 무선 네트워크; 및/또는 이들 네트워크들 및/또는 다른 네트워크들의 임의의 결합일 수 있다. 네트워크(710)는 다양한 컴퓨팅 디바이스들에 의한 네트워크(710)로의 액세스를 가능하게 하기 위한 액세스 포인트들을 포함할 수 있다.
[0107] 본 발명의 실시예들은 하나 또는 그 초과의 서버 컴퓨터들(760)을 포함할 수 있다. 서버 컴퓨터들(760a, 760b) 각각은, 제한 없이, 위에서 논의된 것들 중 임의의 것, 뿐만 아니라 임의의 상업적으로(또는 무료로) 이용 가능한 서버 운영체제들을 비롯한 운영체제를 갖게 구성될 수 있다. 또한, 서버 컴퓨터들(760a, 760b) 각각은 하나 또는 그 초과의 애플리케이션들을 실행중일 수 있고, 이 애플리케이션들은, 서비스들을 하나 또는 그 초과의 사용자 컴퓨팅 디바이스들(705) 및/또는 다른 서버 컴퓨터들(760)에 제공하도록 구성될 수 있다.
[0108] 단지 예로서, 서버 컴퓨터들(760) 중 하나가 웹 서버일 수 있고, 이 웹 서버는, 단지 예로서, 사용자 컴퓨팅 디바이스들(705)로부터의 웹 페이지들 또는 다른 전자 문서들에 대한 요청들을 프로세싱하는데 사용될 수 있다. 또한, 웹 서버는 HTTP 서버들, FTP 서버들, CGI 서버들, 데이터베이스 서버들, Java® 5 서버들 등을 비롯한 다양한 서버 애플리케이션들을 실행시킬 수 있다. 본 발명의 몇몇 실시예들에서, 웹 서버는, 본 발명의 방법들을 수행하기 위해 사용자 컴퓨팅 디바이스들(705) 중 하나 또는 그 초과의 사용자 컴퓨팅 디바이스들 상의 웹 브라우저 내에서 동작될 수 있는 웹 페이지들을 서빙하도록 구성될 수 있다. 이러한 서버들은 특정 IP 어드레스들과 연관될 수 있거나, 또는 특정 URL을 갖는 모듈들과 연관될 수 있고, 따라서, 모바일 디바이스(500)에 제공되는 위치 서비스들의 일부로서 지리적 지점들의 보안 표시들을 제공하기 위해 모바일 디바이스, 예컨대, 모바일 디바이스(500)와 상호작용할 수 있는 보안 내비게이션 모듈들을 저장할 수 있다.
[0109] 추가 실시예들에 따라, 하나 또는 그 초과의 서버 컴퓨터들(760)은 파일 서버로서 기능할 수 있고, 그리고/또는 사용자 컴퓨팅 디바이스(705) 및/또는 다른 서버 컴퓨터(760) 상에서 실행되는 애플리케이션에 의해 통합되는 다양한 실시예들의 방법들을 구현하는데 필요한 파일들(예컨대, 애플리케이션 코드, 데이터 파일들 등) 중 하나 또는 그 초과를 포함할 수 있다. 대안적으로, 당업자들이 인식할 바와 같이, 파일 서버가 모든 필요한 파일들을 포함할 수 있고, 이는 이러한 애플리케이션이 사용자 컴퓨팅 디바이스(705) 및/또는 서버 컴퓨터(760)에 의해 원격으로 호출되도록 허용한다. 본원에서 다양한 서버들(예컨대, 애플리케이션 서버, 데이터베이스 서버, 웹 서버, 파일 서버 등)에 대하여 설명된 기능들이 구현-특정 필요들 및 파라미터들에 따라 단일 서버 및/또는 복수의 전문화된 서버들에 의해 수행될 수 있음이 주목되어야 한다.
[0110] 특정 실시예들에서, 시스템은 하나 또는 그 초과의 데이터베이스들(720)을 포함할 수 있다. 데이터베이스(들)(720)의 위치는 임의적이다: 단지 예로서, 데이터베이스(720a)는 서버(760a)(및/또는 사용자 컴퓨팅 디바이스(705))에 로컬인(그리고/또는 이에 상주하는) 스토리지 매체 상에 있을 수 있다. 대안적으로, 데이터베이스(720b)는 사용자 컴퓨팅 디바이스들(705) 또는 서버 컴퓨터들(760) 중 임의의 것 또는 전부로부터, 데이터베이스(720b)가 이들 중 하나 또는 그 초과와 (예컨대, 네트워크(710)를 통해) 통신할 수 있는 한 원격일 수 있다. 실시예들의 특정 세트에서, 데이터베이스(720)는 당업자들에게 친숙한 스토리지-영역 네트워크("SAN(storage-area network)")에 있을 수 있다. (마찬가지로, 사용자 컴퓨팅 디바이스들(705) 또는 서버 컴퓨터들(760)에 기인하는 기능들을 수행하기 위한 임의의 필요한 파일들이, 적절한 대로, 개개의 컴퓨터 상에 로컬로 그리고/또는 원격으로 저장될 수 있다.) 실시예들의 일 세트에서, 데이터베이스(720)는 관계형 데이터베이스, 예컨대, Oracle® 5 데이터베이스일 수 있고, 이 데이터베이스는, SQL-포맷팅된 커맨드들에 응답하여 데이터를 저장, 업데이트, 및 리트리빙하도록 적응된다. 데이터베이스는, 예컨대, 위에서 설명된 바와 같이, 데이터베이스 서버에 의해 제어 및/또는 유지될 수 있다. 이러한 데이터베이스들은 보안 레벨들에 관련된 정보를 저장할 수 있다.
[0111] 위에서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 실시예들이 적절한 대로 다양한 프로시저들 또는 컴포넌트들을 생략, 치환, 또는 부가할 수 있다. 예컨대, 대안적 구성들에서, 설명된 방법들은 설명된 것과 상이한 순서로 수행될 수 있고, 그리고/또는 다양한 단계들이 부가, 생략, 및/또는 결합될 수 있다. 또한, 특정 실시예들에 대하여 설명된 특징들은 다양한 다른 실시예들에서 결합될 수 있다. 실시예들의 상이한 양상들 및 엘리먼트들이 유사한 방식으로 결합될 수 있다.
[0112] 설명에서는, 실시예들의 완전한 이해를 제공하기 위해, 특정 세부사항들이 주어진다. 그러나, 특정한 구체적인 세부사항들 없이, 실시예들이 실시될 수 있다. 예컨대, 실시예들을 모호하게 하는 것을 회피하기 위하여, 불필요한 세부사항 없이, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기술들이 언급되었다. 이 설명은 예시적 실시예들만을 제공하며, 다양한 실시예들의 범위, 적용 가능성, 또는 구성을 제한하는 것으로 의도되지 않는다. 그보다는, 실시예들의 앞선 설명은 실시예들을 구현하기 위한 가능한 설명을 당업자들에게 제공할 것이다. 다양한 실시예들의 사상 및 범위로부터 벗어남 없이, 엘리먼트들의 기능 및 어레인지먼트에서 다양한 변화들이 이루어질 수 있다.
[0113] 또한, 몇몇 실시예들은 프로세스 화살표들을 갖는 흐름으로 묘사될 수 있는 프로세스들로서 설명되었다. 각각의 프로세스가 동작들을 순차적 프로세스로서 설명할 수 있지만, 동작들 중 많은 동작들은 병렬로 또는 동시에 수행될 수 있다. 부가하여, 동작들의 순서는 재배열될 수 있다. 프로세스는 도면에 포함되지 않은 부가 단계들을 가질 수 있다. 또한, 방법들의 실시예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어들, 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현될 때, 연관된 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 컴퓨터-판독가능 매체, 예컨대, 스토리지 매체에 저장될 수 있다. 프로세서들은 연관된 작업들을 수행할 수 있다. 부가하여, 위의 엘리먼트들은 단지, 더 큰 시스템의 컴포넌트일 수 있는데, 여기서는 다른 규칙들이 본 출원의 다양한 실시예들보다 우선할 수 있거나 또는 그렇지 않으면 본 출원의 다양한 실시예들을 수정할 수 있고, 임의의 실시예의 엘리먼트들이 구현되기 전에, 그 동안에, 또는 그 후에, 임의의 수의 단계들이 착수될 수 있다.
[0114] 그러므로, 여러 실시예들을 설명하였지만, 본 개시물의 사상으로부터 벗어남 없이, 다양한 수정들, 대안적 구성들, 및 등가물들이 사용될 수 있음이 당업자에게 명백할 것이다.
본 명세서에 대한 별지
1 "Bluetooth" 단어 마크 및 로고들은 Bluetooth SIG, Inc에 의해 소유되는 등록 상표들이다. 다른 상표들 및 상표명들은 그들의 개개의 소유자들의 것들이다.
2 "Microsoft" 및 "Windows"는 미합중국 및/또는 다른 국가들에서 Microsoft Corporation의 등록 상표들, 또는 상표들이다.
3 "Mac OS" 및 "AppleTalk"는 U.S. 및 다른 국가들에서 등록된, Apple, Inc.의 등록 상표들이다.
4 "UNIX"는 오픈 그룹의 등록 상표이다.
5 "Java" 및 "Oracle"은 Oracle 및/또는 그 계열사들의 등록 상표들이다. 다른 이름들은 그들의 개개의 소유자들의 상표들일 수 있다.

Claims (20)

  1. 오브젝트(object) 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들(compact representations)을 캡쳐하는 방법으로서,
    디바이스의 카메라 모듈을 사용하여, 장면(scene)의 복수의 이미지들을 캡쳐하는 단계 ―상기 장면의 상기 복수의 이미지들 각각은 오브젝트의 적어도 일부분을 캡쳐함―;
    상기 복수의 이미지들로부터 제1 키 프레임(key frame), 및 상기 제1 키 프레임과 연관된 상기 디바이스의 제1 포지션을 식별하는 단계;
    상기 복수의 이미지들로부터 제2 키 프레임, 및 상기 제2 키 프레임과 연관된 상기 디바이스의 제2 포지션을 식별하는 단계 ―상기 제2 포지션은 상기 제1 포지션과 상이함―;
    상기 제1 키 프레임으로부터 복수의 제1 관심대상 지점들(points of interest)을 식별하는 단계 ―상기 복수의 제1 관심대상 지점들 각각은 상기 장면으로부터 하나 또는 그 초과의 특징들을 식별함―;
    상기 제2 키 프레임으로부터 복수의 제2 관심대상 지점들을 식별하는 단계 ―상기 복수의 제2 관심대상 지점들 각각은 상기 장면으로부터의 상기 특징들 중 하나 또는 그 초과의 특징들을 식별함―;
    상기 복수의 제1 관심대상 지점들의 서브세트 및 상기 복수의 제2 관심대상 지점들의 서브세트를 매칭(matching)시키는 단계;
    상기 복수의 제1 관심대상 지점들의 서브세트 및 상기 복수의 제2 관심대상 지점들의 서브세트를 매칭시키는 것, 그리고 임계치 거리(threshold distance)를 초과하는, 임계치 수(threshold number)의 가장 가까운 관심대상 지점들까지의 평균 거리를 갖는 관심대상 지점들을 삭제하는 것에 적어도 부분적으로 기초하여, 상기 오브젝트와 연관된 복수의 키 지점들(key points)을 식별하는 단계; 및
    상기 오브젝트와 연관된 복수의 키 지점들의 적어도 일부분을 오브젝트 표현으로서 오브젝트 검출 데이터베이스에 저장하는 단계
    를 포함하는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  2. 제 1 항에 있어서,
    상기 오브젝트와 연관된 복수의 키 지점들을 식별하는 단계는,
    상기 오브젝트와 연관된 복수의 키 지점들 중 적어도 일부분을 식별하기 위해, 상기 복수의 제1 관심대상 지점들 및 상기 복수의 제2 관심대상 지점들을 필터링하는 단계
    를 포함하는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  3. 제 2 항에 있어서,
    상기 복수의 제1 관심대상 지점들 및 상기 복수의 제2 관심대상 지점들을 필터링하는 단계는,
    다른 키 프레임들로부터의 관심대상 지점들과 매칭하지 않는 관심대상 지점들을 삭제하는 단계; 및
    상기 장면의 정의된 관심대상 볼륨(volume)의 밖에 있는 상기 키 지점들을 삭제하는 단계
    중 하나 또는 그 초과를 포함하는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  4. 제 1 항에 있어서,
    상기 장면은 평면형 타겟을 더 포함하는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  5. 제 4 항에 있어서,
    상기 평면형 타겟은 상기 장면의 관심대상 볼륨을 정의하는 것을 돕는데 사용되는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  6. 제 4 항에 있어서,
    상기 복수의 제1 관심대상 지점들의 서브세트 및 상기 복수의 제2 관심대상 지점들의 서브세트를 매칭시키는 단계는,
    제1 이미지에서 상기 평면형 타겟의 제1 위치로부터 상기 디바이스의 상기 제1 포지션을 식별하는 단계;
    제2 이미지에서 상기 평면형 타겟의 제2 위치로부터 상기 디바이스의 상기 제2 포지션을 식별하는 단계;
    상기 디바이스의 상기 제1 포지션과 상기 디바이스의 상기 제2 포지션 사이의 상대 포지션을 결정하는 단계;
    상기 제1 포지션과 상기 제2 포지션 사이의 상대 포지션에 기초하여, 상기 복수의 제1 관심대상 지점들의 서브세트 및 상기 복수의 제2 관심대상 지점들의 서브세트를 매칭시키는 단계; 및
    좌표계에서 각각의 키 지점의 포지션을 결정 및 레코딩하는 단계
    를 포함하는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  7. 제 1 항에 있어서,
    각각의 키 지점은 키 지점 위치 정보 및 상기 키 지점을 둘러싸는 픽셀들에 대한 정보를 포함하는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  8. 제 1 항에 있어서,
    제1 이미지를 상기 제1 키 프레임으로서 식별하는 것은, 사용자 선택을 포함하는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  9. 제 1 항에 있어서,
    제1 이미지를 상기 제1 키 프레임으로서 식별하는 것은, 상기 디바이스에 의한 자동 선택을 포함하는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  10. 제 9 항에 있어서,
    제2 이미지를 상기 제2 키 프레임으로서 식별하는 것은,
    상기 제2 이미지 내에서 키 지점 밀도를 식별하는 것;
    상기 제2 포지션과 상기 제1 포지션 사이의 공간적 관계를 식별하는 것;
    상기 오브젝트 표현에서 사용하기 위해 상기 제2 포지션에서의 키 프레임이 임계치 값을 초과하는 데이터 값을 갖는 데이터를 제공할 것임을 결정하는 것; 및
    상기 제2 이미지를 상기 제2 키 프레임으로서 선택하는 것
    을 포함하는,
    오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하는 방법.
  11. 오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하기 위한 디바이스로서,
    장면의 복수의 이미지들을 캡쳐하는 디바이스의 카메라 모듈 ―상기 장면의 상기 복수의 이미지들 각각은 오브젝트의 적어도 일부분을 캡쳐함―;
    (1) 상기 복수의 이미지들로부터 제1 키 프레임, 및 상기 제1 키 프레임과 연관된 상기 디바이스의 제1 포지션을 식별하고; (2) 상기 복수의 이미지들로부터 제2 키 프레임, 및 상기 제2 키 프레임과 연관된 상기 디바이스의 제2 포지션을 식별하고 ―상기 제2 포지션은 상기 제1 포지션과 상이함―; (3) 상기 제1 키 프레임으로부터 복수의 제1 관심대상 지점들을 식별하고 ―상기 복수의 제1 관심대상 지점들은 상기 장면으로부터 특징들을 식별함―; (4) 상기 제2 키 프레임으로부터 복수의 제2 관심대상 지점들을 식별하고 ―상기 복수의 제2 관심대상 지점들은 상기 장면으로부터의 상기 특징들 중 적어도 일부분을 식별함―; (5) 상기 복수의 제1 관심대상 지점들의 일부분 및 상기 복수의 제2 관심대상 지점들의 일부분을 매칭시키고; 그리고 (6) 상기 복수의 제1 관심대상 지점들의 일부분 및 상기 복수의 제2 관심대상 지점들의 일부분을 매칭시키는 것, 그리고 임계치 거리를 초과하는, 임계치 수의 가장 가까운 관심대상 지점들까지의 평균 거리를 갖는 관심대상 지점들을 삭제하는 것에 적어도 부분적으로 기초하여, 상기 오브젝트와 연관된 복수의 키 지점들을 식별하는 하나 또는 그 초과의 프로세서들; 및
    상기 오브젝트와 연관된 복수의 키 지점들의 적어도 일부분을 오브젝트 표현으로서 오브젝트 검출 데이터베이스에 저장하는 메모리
    를 포함하는,
    오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하기 위한 디바이스.
  12. 제 11 항에 있어서,
    상기 디바이스는,
    상기 카메라 모듈에 커플링되는 디스플레이
    를 더 포함하고,
    상기 디스플레이는, 상기 디바이스의 상기 카메라 모듈이 상기 장면의 상기 복수의 이미지들의 적어도 일부분을 캡쳐할 때 상기 복수의 키 지점들의 적어도 일부분의 이미지를 출력하는,
    오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하기 위한 디바이스.
  13. 제 12 항에 있어서,
    상기 디스플레이는 추가로, 상기 오브젝트 상에 오버레이되는 상기 복수의 키 지점들의 적어도 제2 일부분을 갖는 상기 장면의 비디오 이미지를 출력하는,
    오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하기 위한 디바이스.
  14. 제 11 항에 있어서,
    상기 디바이스는,
    모션 센서
    를 더 포함하고,
    상기 디바이스의 상기 제2 포지션은 상기 모션 센서로부터의 정보를 사용하여 상기 하나 또는 그 초과의 프로세서들에 의해 식별되는,
    오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하기 위한 디바이스.
  15. 제 11 항에 있어서,
    상기 디바이스는,
    사용자 입력 모듈
    을 더 포함하고,
    상기 제1 키 프레임을 식별하는 것은 상기 디바이스의 상기 사용자 입력 모듈에서 수신되는 사용자 선택을 포함하는,
    오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하기 위한 디바이스.
  16. 제 15 항에 있어서,
    상기 디바이스는,
    안테나; 및
    무선 트랜시버
    를 더 포함하고,
    상기 하나 또는 그 초과의 프로세서들은 네트워크, 상기 안테나, 및 상기 무선 트랜시버를 통해 상기 디바이스에 커플링되는,
    오프라인 오브젝트 검출에 적절한 삼차원 오브젝트들의 콤팩트한 표현들을 캡쳐하기 위한 디바이스.
  17. 비-일시적인 컴퓨터-판독가능 저장 매체로서,
    상기 비-일시적인 컴퓨터-판독가능 저장 매체에 커플링된 프로세서에 의해 실행될 때, 디바이스로 하여금,
    상기 디바이스의 카메라 모듈을 사용하여, 장면의 복수의 이미지들을 캡쳐하게 하고 ―상기 장면의 상기 복수의 이미지들 각각은 오브젝트의 적어도 일부분을 캡쳐함―;
    상기 복수의 이미지들로부터 제1 키 프레임, 및 상기 제1 키 프레임과 연관된 상기 디바이스의 제1 포지션을 식별하게 하고;
    상기 복수의 이미지들로부터 제2 키 프레임, 및 상기 제2 키 프레임과 연관된 상기 디바이스의 제2 포지션을 식별하게 하고 ―상기 제2 포지션은 상기 제1 포지션과 상이함―;
    상기 제1 키 프레임으로부터 복수의 제1 관심대상 지점들을 식별하게 하고 ―상기 복수의 제1 관심대상 지점들은 상기 장면으로부터 특징들을 식별함―;
    상기 제2 키 프레임으로부터 복수의 제2 관심대상 지점들을 식별하게 하고 ―상기 복수의 제2 관심대상 지점들은 상기 장면으로부터의 상기 특징들 중 적어도 일부분을 식별함―;
    상기 복수의 제1 관심대상 지점들의 일부분 및 상기 복수의 제2 관심대상 지점들의 일부분을 매칭시키게 하고;
    상기 복수의 제1 관심대상 지점들의 일부분 및 상기 복수의 제2 관심대상 지점들의 일부분을 매칭시키는 것, 그리고 임계치 거리를 초과하는, 임계치 수의 가장 가까운 관심대상 지점들까지의 평균 거리를 갖는 관심대상 지점들을 삭제하는 것에 적어도 부분적으로 기초하여, 상기 오브젝트와 연관된 복수의 키 지점들을 식별하게 하고; 그리고
    상기 오브젝트와 연관된 복수의 키 지점들의 적어도 일부분을 오브젝트 표현으로서 오브젝트 검출 데이터베이스에 저장하게 하는
    명령들
    을 포함하는,
    비-일시적인 컴퓨터-판독가능 저장 매체.
  18. 제 17 항에 있어서,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 추가로, 상기 디바이스로 하여금,
    상기 오브젝트와 연관된 키 지점들을 식별하는 것의 일부로서 상기 오브젝트와 연관된 복수의 관심대상 지점들을 식별하기 위해, 상기 복수의 제1 관심대상 지점들 및 상기 복수의 제2 관심대상 지점들을 필터링하게 하는,
    비-일시적인 컴퓨터-판독가능 저장 매체.
  19. 제 18 항에 있어서,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 추가로, 상기 디바이스로 하여금,
    상기 오브젝트와 연관된 관심대상 지점들을 식별하기 위해 상기 복수의 제1 관심대상 지점들 및 상기 복수의 제2 관심대상 지점들을 필터링하는 것의 일부로서, 다른 키 프레임들로부터의 관심대상 지점들과 매칭하지 않는 관심대상 지점들을 삭제하게 하는,
    비-일시적인 컴퓨터-판독가능 저장 매체.
  20. 제 18 항에 있어서,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 추가로, 상기 디바이스로 하여금,
    상기 오브젝트와 연관된 관심대상 지점들을 식별하기 위해 상기 복수의 제1 관심대상 지점들 및 상기 복수의 제2 관심대상 지점들을 필터링하는 것의 일부로서, 상기 오브젝트의 정의된 볼륨의 밖에 있는 키 지점들의 세트를 삭제하게 하고, 그리고
    상기 오브젝트 검출 데이터베이스의 상기 오브젝트 표현으로서 상기 오브젝트와 연관된 복수의 키 지점들의 각각의 키 지점은, 좌표 정보, 밝기 정보, 및 주변 픽셀 패턴 정보를 포함하는,
    비-일시적인 컴퓨터-판독가능 저장 매체.
KR1020167000414A 2013-06-11 2014-06-11 데이터베이스 생성의 목적을 위한 대화식 및 자동 3-d 오브젝트 스캐닝 방법 KR101775591B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361833889P 2013-06-11 2013-06-11
US61/833,889 2013-06-11
US14/302,056 2014-06-11
PCT/US2014/042005 WO2014201176A1 (en) 2013-06-11 2014-06-11 Interactive and automatic 3-d object scanning method for the purpose of database creation
US14/302,056 US9501725B2 (en) 2013-06-11 2014-06-11 Interactive and automatic 3-D object scanning method for the purpose of database creation

Publications (2)

Publication Number Publication Date
KR20160019497A KR20160019497A (ko) 2016-02-19
KR101775591B1 true KR101775591B1 (ko) 2017-09-06

Family

ID=52005520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167000414A KR101775591B1 (ko) 2013-06-11 2014-06-11 데이터베이스 생성의 목적을 위한 대화식 및 자동 3-d 오브젝트 스캐닝 방법

Country Status (6)

Country Link
US (1) US9501725B2 (ko)
EP (1) EP3008694B1 (ko)
JP (1) JP6144826B2 (ko)
KR (1) KR101775591B1 (ko)
CN (1) CN105247573B (ko)
WO (1) WO2014201176A1 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395125B2 (en) 2016-10-06 2019-08-27 Smr Patents S.A.R.L. Object detection and classification with fourier fans
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
EP3023808A4 (en) * 2013-07-18 2017-09-06 Mitsubishi Electric Corporation Target type identification device
SG2013069893A (en) * 2013-09-13 2015-04-29 Jcs Echigo Pte Ltd Material handling system and method
KR20150049535A (ko) * 2013-10-30 2015-05-08 삼성전자주식회사 전자장치 및 그 이용방법
US10380410B2 (en) * 2014-04-07 2019-08-13 Eyeways Systems Ltd. Apparatus and method for image-based positioning, orientation and situational awareness
US10026010B2 (en) * 2014-05-14 2018-07-17 At&T Intellectual Property I, L.P. Image quality estimation using a reference image portion
JP6399518B2 (ja) * 2014-12-18 2018-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 処理装置、処理方法、およびプログラム
US10133947B2 (en) * 2015-01-16 2018-11-20 Qualcomm Incorporated Object detection using location data and scale space representations of image data
EP3262443B1 (en) 2015-02-26 2023-05-03 Brüel & Kjaer Sound & Vibration Measurement A/S Method of detecting a spatial orientation of a transducer by one or more spatial orientation features
US10042078B2 (en) * 2015-02-27 2018-08-07 The United States of America, as Represented by the Secretary of Homeland Security System and method for viewing images on a portable image viewing device related to image screening
US9595038B1 (en) * 2015-05-18 2017-03-14 Amazon Technologies, Inc. Inventory confirmation
RU2602386C1 (ru) * 2015-05-26 2016-11-20 Общество с ограниченной ответственностью "Лаборатория 24" Способ визуализации объекта
KR102499332B1 (ko) * 2015-06-05 2023-02-13 헥사곤 테크놀로지 센터 게엠베하 다중 트랜잭션 기술을 사용하여 객체 지향 환경에서 객체들에 대한 기하학적 변환을 수행하기 위한 방법 및 장치
US9734587B2 (en) * 2015-09-30 2017-08-15 Apple Inc. Long term object tracker
US10318819B2 (en) * 2016-01-05 2019-06-11 The Mitre Corporation Camera surveillance planning and tracking system
WO2017132636A1 (en) * 2016-01-29 2017-08-03 Pointivo, Inc. Systems and methods for extracting information about objects from scene information
US10003732B2 (en) * 2016-02-25 2018-06-19 Foodim Ltd Depth of field processing
JP6744747B2 (ja) * 2016-04-01 2020-08-19 キヤノン株式会社 情報処理装置およびその制御方法
US10019839B2 (en) 2016-06-30 2018-07-10 Microsoft Technology Licensing, Llc Three-dimensional object scanning feedback
US11400860B2 (en) 2016-10-06 2022-08-02 SMR Patents S.à.r.l. CMS systems and processing methods for vehicles
US10339627B2 (en) 2016-10-10 2019-07-02 Gopro, Inc. Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image
JP2018067115A (ja) * 2016-10-19 2018-04-26 セイコーエプソン株式会社 プログラム、追跡方法、追跡装置
US11040491B2 (en) 2016-10-19 2021-06-22 Shapeways, Inc. Systems and methods for identifying three-dimensional printed objects
US10194097B2 (en) 2017-01-13 2019-01-29 Gopro, Inc. Apparatus and methods for the storage of overlapping regions of imaging data for the generation of optimized stitched images
US11740690B2 (en) 2017-01-27 2023-08-29 Qualcomm Incorporated Systems and methods for tracking a controller
CN107481284A (zh) * 2017-08-25 2017-12-15 京东方科技集团股份有限公司 目标物跟踪轨迹精度测量的方法、装置、终端及系统
DK180470B1 (en) 2017-08-31 2021-05-06 Apple Inc Systems, procedures, and graphical user interfaces for interacting with augmented and virtual reality environments
WO2019045714A1 (en) * 2017-08-31 2019-03-07 Sony Mobile Communications Inc. METHODS, DEVICES AND COMPUTER PROGRAM PRODUCTS FOR MESH GENERATION IN BUILD 3D IMAGES
EP3676807A1 (en) 2017-08-31 2020-07-08 SONY Corporation Methods, devices and computer program products for generating 3d images
CA3115898C (en) * 2017-10-11 2023-09-26 Aquifi, Inc. Systems and methods for object identification
US10860847B2 (en) * 2017-10-17 2020-12-08 Motorola Mobility Llc Visual perception assistant
EP3486606A1 (de) * 2017-11-20 2019-05-22 Leica Geosystems AG Stereokamera und stereophotogrammetrisches verfahren
DK201870349A1 (en) 2018-01-24 2019-10-23 Apple Inc. Devices, Methods, and Graphical User Interfaces for System-Wide Behavior for 3D Models
KR102397481B1 (ko) * 2018-01-24 2022-05-12 애플 인크. 3d 모델들에 대한 시스템 전체 거동을 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들
CN108592919B (zh) * 2018-04-27 2019-09-17 百度在线网络技术(北京)有限公司 制图与定位方法、装置、存储介质和终端设备
US10885622B2 (en) 2018-06-29 2021-01-05 Photogauge, Inc. System and method for using images from a commodity camera for object scanning, reverse engineering, metrology, assembly, and analysis
CN109063567B (zh) * 2018-07-03 2021-04-13 百度在线网络技术(北京)有限公司 人体识别方法、装置及存储介质
CN111046698B (zh) * 2018-10-12 2023-06-20 锥能机器人(上海)有限公司 可视化编辑的视觉定位方法和系统
CN109325970A (zh) * 2018-12-03 2019-02-12 舒彬 一种基于目标位姿跟踪的增强现实系统
CN109840500B (zh) * 2019-01-31 2021-07-02 深圳市商汤科技有限公司 一种三维人体姿态信息检测方法及装置
CN109931906B (zh) * 2019-03-28 2021-02-23 华雁智科(杭州)信息技术有限公司 摄像机测距方法、装置以及电子设备
CN111986250B (zh) * 2019-05-22 2024-08-20 顺丰科技有限公司 物体体积测量方法、装置、测量设备及存储介质
CN112102223B (zh) * 2019-06-18 2024-05-14 通用电气精准医疗有限责任公司 用于自动设置扫描范围的方法和系统
US11288835B2 (en) * 2019-09-20 2022-03-29 Beijing Jingdong Shangke Information Technology Co., Ltd. Lighttrack: system and method for online top-down human pose tracking
SE543108C2 (en) 2019-10-23 2020-10-06 Winteria Ab Method and device for inspection of a geometry, the device comprising image capturing and shape scanning means
WO2021083475A1 (en) * 2019-10-28 2021-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Method for generating a three dimensional, 3d, model
US11407431B2 (en) 2019-11-22 2022-08-09 Samsung Electronics Co., Ltd. System and method for object trajectory prediction in an autonomous scenario
WO2021119813A1 (en) * 2019-12-17 2021-06-24 Motion Metrics International Corp. Apparatus for analyzing a payload being transported in a load carrying container of a vehicle
CN116721235A (zh) 2020-02-26 2023-09-08 奇跃公司 利用缓冲的交叉现实系统用于定位精度
CN111432291B (zh) * 2020-03-20 2021-11-05 稿定(厦门)科技有限公司 视频分段取帧场景下的视图更新方法及装置
US11941860B2 (en) * 2021-09-24 2024-03-26 Zebra Tehcnologies Corporation Computational load mitigation for image-based item recognition
CN114119686A (zh) * 2021-11-24 2022-03-01 刘文平 空间布局相似计算的多源遥感影像配准方法
KR20230098944A (ko) * 2021-12-27 2023-07-04 주식회사 버넥트 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006084385A1 (en) 2005-02-11 2006-08-17 Macdonald Dettwiler & Associates Inc. 3d imaging system
US20070216675A1 (en) 2006-03-16 2007-09-20 Microsoft Corporation Digital Video Effects
US20090010507A1 (en) 2007-07-02 2009-01-08 Zheng Jason Geng System and method for generating a 3d model of anatomical structure using a plurality of 2d images
US20100232727A1 (en) 2007-05-22 2010-09-16 Metaio Gmbh Camera pose estimation apparatus and method for augmented reality imaging
US20120194513A1 (en) 2011-02-01 2012-08-02 Casio Computer Co., Ltd. Image processing apparatus and method with three-dimensional model creation capability, and recording medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4715539B2 (ja) * 2006-02-15 2011-07-06 トヨタ自動車株式会社 画像処理装置、その方法、および画像処理用プログラム
CA2703314A1 (en) 2009-05-06 2010-11-06 University Of New Brunswick Method of interest point matching for images
WO2011069021A2 (en) 2009-12-02 2011-06-09 Qualcomm Incorporated Improving performance of image recognition algorithms by pruning features, image scaling, and spatially constrained feature matching
US9020187B2 (en) 2011-05-27 2015-04-28 Qualcomm Incorporated Planar mapping and tracking for mobile devices
AU2011253973B2 (en) 2011-12-12 2015-03-12 Canon Kabushiki Kaisha Keyframe selection for parallel tracking and mapping

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006084385A1 (en) 2005-02-11 2006-08-17 Macdonald Dettwiler & Associates Inc. 3d imaging system
US20070216675A1 (en) 2006-03-16 2007-09-20 Microsoft Corporation Digital Video Effects
US20100232727A1 (en) 2007-05-22 2010-09-16 Metaio Gmbh Camera pose estimation apparatus and method for augmented reality imaging
US20090010507A1 (en) 2007-07-02 2009-01-08 Zheng Jason Geng System and method for generating a 3d model of anatomical structure using a plurality of 2d images
US20120194513A1 (en) 2011-02-01 2012-08-02 Casio Computer Co., Ltd. Image processing apparatus and method with three-dimensional model creation capability, and recording medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Christian Pirchheim, Gerhard Reitmayr, "Homography-Based Planar Mapping and Tracking for Mobile Phones", IEEE 10th International Symposium on Mixed and Augmented Reality, 26 Oct. 2011.
Zilong Dong, Guofeng Zhang, Jiaya Jia, Hujun Bao, "Keyframe-Based Real-Time Camera Tracking", IEEE 12th Conference on Computer Vision, 29 Sept. 2009.

Also Published As

Publication number Publication date
JP2016521892A (ja) 2016-07-25
KR20160019497A (ko) 2016-02-19
EP3008694A1 (en) 2016-04-20
EP3008694B1 (en) 2021-01-27
US9501725B2 (en) 2016-11-22
CN105247573A (zh) 2016-01-13
CN105247573B (zh) 2018-11-30
JP6144826B2 (ja) 2017-06-07
WO2014201176A1 (en) 2014-12-18
US20140363048A1 (en) 2014-12-11

Similar Documents

Publication Publication Date Title
KR101775591B1 (ko) 데이터베이스 생성의 목적을 위한 대화식 및 자동 3-d 오브젝트 스캐닝 방법
CN110411441B (zh) 用于多模态映射和定位的系统和方法
EP2915138B1 (en) Systems and methods of merging multiple maps for computer vision based tracking
US11842514B1 (en) Determining a pose of an object from rgb-d images
US9424461B1 (en) Object recognition for three-dimensional bodies
US10488195B2 (en) Curated photogrammetry
KR101072876B1 (ko) 이동 로봇에서 자신의 위치를 추정하기 위한 방법 및 장치
US9679384B2 (en) Method of detecting and describing features from an intensity image
US20150161476A1 (en) Method of matching image features with reference features
KR102398478B1 (ko) 전자 디바이스 상에서의 환경 맵핑을 위한 피쳐 데이터 관리
CN104981680A (zh) 相机辅助的运动方向和速度估计
KR20140121861A (ko) 반대쌍 카메라들을 이용하여 디바이스의 위치를 결정하는 시스템 및 방법
US20160210761A1 (en) 3d reconstruction
JP7147753B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US10607350B2 (en) Method of detecting and describing features from an intensity image
JP2018195241A (ja) 情報処理装置、情報処理方法、及びプログラム
KR102249380B1 (ko) 기준 영상 정보를 이용한 cctv 장치의 공간 정보 생성 시스템
Ching et al. Mobile indoor positioning using Wi-Fi localization and image processing

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