KR20150127653A - 특징들의 공간 로컬화의 이용에 의한 객체 검출 시간 단축 - Google Patents

특징들의 공간 로컬화의 이용에 의한 객체 검출 시간 단축 Download PDF

Info

Publication number
KR20150127653A
KR20150127653A KR1020157027584A KR20157027584A KR20150127653A KR 20150127653 A KR20150127653 A KR 20150127653A KR 1020157027584 A KR1020157027584 A KR 1020157027584A KR 20157027584 A KR20157027584 A KR 20157027584A KR 20150127653 A KR20150127653 A KR 20150127653A
Authority
KR
South Korea
Prior art keywords
image
tile
features
object detection
detection pipeline
Prior art date
Application number
KR1020157027584A
Other languages
English (en)
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 KR20150127653A publication Critical patent/KR20150127653A/ko

Links

Images

Classifications

    • G06K9/6211
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
    • G06K9/46
    • G06K9/6857
    • 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
    • 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/757Matching configurations of points or features

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (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

일례로, 객체 검출 파이프라인을 종료하기 위한 방법은 객체 검출 파이프라인 내에 있는 동안, 이미지의 제 1 타일 내의 특징들의 수를 결정하는 단계 ― 이미지는 복수의 타일들로 구성됨 ―, 제 1 타일 내의 특징들의 수가 임계값을 충족한다면, 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하는 단계, 매칭 프로시저의 결과가 이미지에서 객체가 인식됨을 나타낸다면, 객체 검출 파이프라인을 종료하는 단계, 및 매칭 프로시저의 결과를 제시하는 단계를 포함한다.

Description

특징들의 공간 로컬화의 이용에 의한 객체 검출 시간 단축{REDUCING OBJECT DETECTION TIME BY UTILIZING SPACE LOCALIZATION OF FEATURES}
[0001] 본 개시는 이미지 처리 시스템들에 관한 것으로, 보다 구체적으로는 이미지들에서의 객체 인식에 관한 것이다.
[0002] 컴퓨팅 디바이스들 또는 컴퓨터들의 맥락에서 시각적 탐색은 컴퓨터 또는 다른 디바이스가 하나 또는 그보다 많은 이미지들에서 객체들에 대한 정보의 식별을 제공할 수 있게 하는 기술들을 의미한다. 시각적 탐색에 있어서의 최근 관심은 잡음 및 조명의 변화들을 비롯하여, 매우 다양하게 변화하는 이미지 상태들에서 부분적으로 가려진 객체들 및/또는 특징들을 컴퓨터들이 식별할 수 있게 하는 알고리즘들을 야기하였다. 이와 같은 시기 동안, 카메라들을 포함하는 모바일 디바이스들이 알려졌지만, 이러한 모바일 디바이스들은 텍스트를 입력하거나 아니면 모바일 디바이스들과 인터페이싱하기 위한 사용자 인터페이스들을 제한했을 수도 있다. 모바일 디바이스들 및 모바일 디바이스 애플리케이션들의 개발자들은 모바일 디바이스의 카메라를 이용하여 모바일 디바이스와의 사용자 상호 작용들을 강화하려고 노력해왔다.
[0003] 한 가지 강화를 예시하기 위해, 모바일 디바이스의 사용자는 상점에서 쇼핑하는 동안 모바일 디바이스의 카메라를 사용하여 소정 제품의 이미지를 캡처할 수도 있다. 다음에, 모바일 디바이스는 다양한 이미지들에 대한 한 세트의 보관된 특징 기술자들 내에서 시각적 탐색 알고리즘을 시작하여, 매칭 이미지를 기초로 제품을 식별할 수 있다. 객체를 식별한 후, 모바일 디바이스는 다음에 증강 현실(AR: Augmented Reality) 정보를 제시할 수도 있고, 그리고/또는 관련된 비-증강 현실 애플리케이션을 제시할 수도 있다. 예를 들어, 모바일 디바이스는 인터넷 기반 탐색을 시작하여 식별된 상점 제품에 관한 정보를 포함하는 웹페이지를 제시할 수 있다.
[0004] 본 개시에 따른 객체 검출 파이프라인을 종료하는 방법의 일례는 상기 객체 검출 파이프라인 내에 있는 동안, 이미지의 제 1 타일 내의 특징들의 수를 결정하는 단계 ― 상기 이미지는 복수의 타일들로 나눌 수 있음 ―, 상기 제 1 타일 내의 특징들의 수가 임계값을 충족한다면, 상기 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하는 단계, 상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하는 단계, 및 상기 매칭 프로시저의 결과를 제시하는 단계를 포함한다.
[0005] 상기 방법의 구현들은 다음의 특징들 중 하나 또는 그보다 많은 특징을 포함할 수도 있다. 상기 제 1 타일 내의 특징들의 수가 상기 임계값을 충족하지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하는 단계. 상기 이미지 내에서 제 2 타일의 위치는 수직 래스터 패턴 또는 다른 미리 결정된 탐색 패턴을 기초로 할 수 있다. 상기 이미지 내에서 상기 제 1 타일과 상기 제 2 타일의 위치들은 상기 이미지의 다운샘플링된 버전에 대해 수행된 이미지 분석을 기초로 할 수 있다. N개의 타일들 내의 특징들의 누적 개수가 임계값을 충족하지 않는다면, 상기 이미지 내의 N+1 타일로부터 특징들을 추출하는 단계, 상기 N개의 타일들과 상기 N+1 타일로부터의 누적 특징들의 수가 임계값을 충족한다면, 상기 N+1 타일로부터 추출된 특징들 및 상기 N개의 타일들로부터 추출된 누적 특징들을 사용하여 상기 매칭 프로시저를 수행하는 단계, 및 상기 N개의 타일들과 상기 N+1 타일로부터의 누적 특징들을 사용한 상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하는 단계. 상기 매칭 프로시저의 결과들이 객체가 인식됨을 나타내지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하는 단계. 인식된 객체의 포즈를 결정하는 단계, 및 상기 인식된 객체의 포즈가 객체 데이터베이스 내의 정보와 기하학적으로 일치하지 않는다면, 상기 이미지 내에서 제 2 타일로부터 특징들을 추출하는 단계. 상기 이미지는 상기 제 1 타일로부터 상기 특징들이 추출되기 전에 다운샘플링될 수 있다. 상기 매칭 프로시저는 상기 특징들의 서브세트를 원격 디바이스에 송신하는 것, 그리고 상기 원격 디바이스로부터 상기 결과들을 수신하는 것을 포함할 수도 있다. 상기 제 1 타일의 추출된 특징들을 기초로 위치 통계를 결정하는 단계, 상기 위치 통계를 기초로 상기 이미지의 하위 옥타브 버전 상에서 상기 추출된 특징들을 검출하는 단계, 및 상기 이미지의 하위 옥타브 버전 상에서 검출된 특징들을 기초로 상기 객체의 포즈를 계산하는 단계.
[0006] 본 개시에 따른 객체 검출 파이프라인을 종료하기 위한 장치의 일례는 메모리 유닛, 상기 객체 검출 파이프라인 내에 있는 동안, 이미지의 제 1 타일 내의 특징들의 수를 결정하고 ― 상기 이미지는 복수의 타일들로 나눌 수 있음 ―, 상기 제 1 타일 내의 특징들의 수가 임계값을 충족한다면, 상기 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하고, 상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하고, 그리고 상기 매칭 프로시저의 결과를 상기 메모리 유닛에 저장하도록 구성된 프로세서를 포함한다.
객체 검출 파이프라인을 종료하기 위한 장치의 일례는 상기 객체 검출 파이프라인 내에 있는 동안, 이미지의 제 1 타일 내의 특징들의 수를 결정하기 위한 수단 ― 상기 이미지는 복수의 타일들로 나눌 수 있음 ―, 상기 제 1 타일 내의 특징들의 수가 임계값을 충족한다면, 상기 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하기 위한 수단, 상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하기 위한 수단, 및 상기 매칭 프로시저의 결과를 저장하기 위한 수단을 포함한다.
[0007] 본 개시에 따른 컴퓨터 판독 가능 매체의 일례는 프로세서로 하여금, 객체 검출 파이프라인 내에 있는 동안, 이미지의 제 1 타일 내의 특징들의 수를 결정하게 하고 ― 상기 이미지는 복수의 타일들로 나눌 수 있음 ―, 상기 제 1 타일 내의 특징들의 수가 임계값을 충족한다면, 상기 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하게 하고, 상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하게 하고, 그리고 상기 매칭 프로시저의 결과를 저장하게 하도록 구성된 프로세서 실행 가능 명령들을 포함한다.
[0008] 방법의 일례는 이미지로부터의 복수의 공간적으로 오프셋된 타일들 중 제 1 타일에 대해 특징 추출 프로세스를 수행하는 단계; 특징 추출 프로세스가 임의의 특징들을 추출했다면, 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하는 단계; 및 복수의 공간적으로 오프셋된 타일들 중 제 2 타일에 대해 특징 추출 프로세스를 수행하기 전에, 매칭 프로시저의 결과가 이미지에서 객체가 인식됨을 나타내는지 여부를 결정하는 단계를 포함할 수도 있다. 일부 실시예들에서, 매칭 프로시저를 수행하는 단계는 특징들의 서브세트를 원격 디바이스에 송신하는 단계, 및 원격 디바이스로부터 결과를 수신하는 단계를 포함한다.
[0009] 방법의 일례는 이미지로부터의 복수의 공간적으로 오프셋된 타일들 중 하나 또는 그보다 많은 타일들을 순차적으로 분석하는 단계를 포함할 수도 있다. 각각의 타일의 분석은, 타일에 대해 특징 추출 프로세스를 수행하는 단계; 및 특징 추출 프로세스를 사용하여 타일로부터 추출된 임의의 특징들 및 임의의 이전에 분석된 타일들로부터 추출된 임의의 특징들을 기초로 이미지에서 객체가 인식 가능한지 여부를 결정하는 단계를 포함할 수도 있다. 이 방법은, 객체가 인식 가능하다는 결정에 응답하여, 복수의 공간적으로 오프셋된 타일들 중 임의의 나머지 타일들의 분석을 중단하는 단계 더 포함할 수도 있다.
[0010] 일부 실시예들에서, 이 방법은 순차적으로 분석하기 위한 제 1 타일을 선택하는 단계를 더 포함한다. 일부 실시예들에서, 제 1 타일은 이미지의 코너에 있는 타일을 포함한다. 일부 실시예들에서, 제 1 타일은 이미지의 중심 영역에 있는 타일을 포함한다. 일부 실시예들에서, 제 1 타일은 높은 특징 영역에 있는 타일을 포함한다. 일부 실시예들에서, 제 1 타일은 이전에 객체가 인식되었던 영역에 있는 타일을 포함한다. 일부 실시예들에서, 이 방법은 이미지를 로컬 특징 좌표들로 변환하는 단계를 더 포함한다. 일부 실시예들에서, 하나 또는 그보다 많은 타일들은 제 1 스케일로 순차적으로 분석되며, 제 1 스케일은 이미지의 네이티브 스케일과 다르고, 이 방법은 네이티브 스케일을 사용하여 객체의 포즈를 결정하는 단계를 더 포함한다. 일부 실시예들에서, 순차적으로 분석하는 단계는, 복수의 공간적으로 오프셋된 타일들 중의 타일들 전부를 이미지의 제 1 스케일로 순차적으로 분석하는 단계를 포함하고, 이 방법은 그 뒤에, 복수의 공간적으로 오프셋된 타일들 중 하나 또는 그보다 많은 타일들을 이미지의 제 2 스케일로 순차적으로 분석하는 단계, 및 제 2 스케일로 타일들로부터 추출된 특징들을 기초로 객체가 인식 가능하다고 결정된 경우, 복수의 공간적으로 오프셋된 타일들 중 임의의 나머지 타일들의 제 2 스케일에서의 분석을 중단하는 단계를 포함한다. 일부 실시예들에서, 제 1 스케일은 제 2 스케일보다 더 높다. 일부 실시예들에서, 순차적으로 분석하는 단계는 이미지의 복수의 스케일들 중 하나 또는 그보다 많은 스케일들에 대해 순차적으로 수행되고, 객체가 인식된 후 나머지 스케일들을 분석되지 않는다. 일부 실시예들에서, 복수의 스케일들은 가장 높은 스케일에서부터 가장 낮은 스케일까지의 순서로 분석된다. 일부 실시예들에서, 객체가 인식 가능한지 여부를 결정하는 단계는, 타일로부터 추출된 특징들을 원격 디바이스에 송신하는 단계, 및 객체가 인식 가능한지 여부의 표시를 원격 디바이스로부터 수신하는 단계를 포함한다.
[0011] 일반적으로, 본 개시는 디지털 이미지들에서 객체 식별을 위한 기술들을 설명한다. 이러한 기술들은 이미지에서 객체들을 식별하는 데 대한 계산 복잡도를 감소시킬 수 있다. 본 개시의 기술들은 이미지의 공간 분할을 기반으로 한 키포인트/특징 추출을 제공한다. 검출은 이미지 내의 타일들의 서브세트를 기초로 할 수 있다. 전체 이미지보다는 타일들의 서브세트만을 처리하는 것은 검출 파이프라인의 계산 요건들을 감소시킬 수 있다. 개시되는 공간 분할은 또한 스케일 기반 알고리즘들과 결합될 수도 있다. 더욱이, 본 개시는 로컬화된 검출된 특징들을 객체의 비-다운샘플링된 이미지에 투사하는 것을 통해, 검출된 객체의 포즈를 결정하기 위한 기술들을 제공한다.
[0012] 하나 또는 그보다 많은 예들의 세부사항들은 첨부 도면들 및 아래 설명에서 제시된다. 다른 특징들, 목적들 및 이점들은 설명 및 도면들로부터 그리고 청구항들로부터 명백할 것이다.
[0013] 도 1a는 공간 기반 특징 추출을 위한 기술들이 적용될 수 있는 예시적인 시스템을 나타내는 블록도이다.
[0014] 도 1b는 4개의 차수들을 가진 이미지 피라미드의 개념도이다.
[0015] 도 2는 이미지의 타일들에 대한 래스터 주사 패턴으로의 처리를 나타내는 개념도이다.
[0016] 도 3은 확장 원 패턴에 따른 이미지의 타일들의 처리를 나타내는 개념도이다.
[0017] 도 4는 이미지의 공간 처리를 기반으로 검출 파이프라인으로부터의 조기 종료를 수행하기 위한 예시적인 방법을 나타내는 흐름도이다.
[0018] 도 5는 스케일 및 공간 이미지 처리 후의 조기 종료를 나타내는 개념도이다.
[0019] 일반적으로, 본 개시는 이미지들에서 객체 식별을 위한 기술들을 설명한다. 이러한 기술들은 이미지에서 객체들을 식별하는 데 대한 계산 복잡도를 감소시키고 객체 검출 파이프라인으로부터의 조기 종료를 지원할 수 있다. 전체 이미지를 분석한 후 특징 기술자들을 추출하기보다는, 본 개시의 기술들은 타일들(즉, 이미지의 서브세트들) 내에서의 특징들의 검출을 제공한다. 각각의 타일이 처리된 후, 검출된 특징들의 수가 임계값과 비교된 다음, 객체 데이터베이스와 비교될 수 있다. 하나 또는 그보다 많은 옥타브들에 타일링이 적용될 수 있다. 일반적으로, 각각의 옥타브는 이미지의 특정 크기(예를 들어, 픽셀 해상도)에 대응한다. 주어진 옥타브에 대해, 입력 이미지가 해상도와 연관된 크기로 스케일링될 수 있다. 본 명세서에서 설명되는 공간 분할 기술들은 2011년 7월 28일자로 출원된 공동 계류중인 미국 특허출원 제13/193,294호에 기술된 것과 같은 스케일 기반 특징 추출과 결합될 수 있다.
[0020] 객체 인식을 위해, 특징 기술자 세트들 및/또는 다른 식별 정보의 데이터베이스가 트레이닝 이미지들로부터 도출될 수 있다. 다음에, 특징 기술자들이 타깃 이미지로부터 추출되고, 데이터베이스에 질의하여, 주어진 질의 이미지(즉, 데이터베이스에 저장된 이미지들)의 내용을 평가하는데 사용될 수 있다. 증강 현실 또는 시각적 탐색 애플리케이션들의 경우, 클라이언트(예를 들어, 셀폰)가 관심 객체의 이미지를 캡처하고 이를 이미지들, 특징들 및/또는 메타데이터 정보의 데이터베이스와 비교할 수 있다. 이 데이터베이스는 네트워크 상의 서버 상에 저장될 수 있고, 로컬 처리를 위해 클라이언트에 의해 리트리브될 수 있으며, 또는 대안으로, 네트워크 자원들을 사용하여 처리되도록 서버로 질의가 송신될 수 있다. 본 개시의 기술들은 일반적으로, 타일 내에서 키포인트들의 로컬화 및 특징 기술자들의 추출을 수행하기 위한 스케일 고정 특징 변환(SIFT: scale invariant feature transform) 알고리즘에 관해 설명된다. 각각의 SIFT 특징은 다음의 속성들: 2D(x, y) 특징 위치, 특징이 검출되는 스케일, 특징 인근에서 가장 강한 이미지 경사도의 회전 배향으로 주어지는 특징의 회전 배향, 및/또는 식별 방식, 예를 들어 로컬 이미지 경사도들의 히스토그램에서 로컬 픽셀 변화들을 기술하는 벡터를 가질 수 있다. 일부 실시예들에서, 특징 기술자들은 SIFT 이외의 방법 또는 알고리즘을 사용하여 식별, 추출 및/또는 로컬화될 수도 있다.
[0021] 키포인트 식별 및 기술자 추출은 계산상의 부담이 클 수 있다. 예컨대, 일반적인 하프사이즈 비디오 그래픽 어레이(HVGA: half-size video graphics array) 이미지는 수천개의 SIFT 특징들을 만들어 낼 수 있다. 반복적인 매칭 프로세스를 포함하는 SIFT 알고리즘의 구현은 일부 모바일 플랫폼들 상에서 이용 가능한 계산 자원들을 능가할 수 있다. 그러나 대부분의 실제 경우들에, 데이터베이스 내의 특징 기술자들과의 매칭들로 이어지는 실제 특징 기술자들의 수는 실제로 계산되는 특징 기술자들의 수보다 훨씬 더 적은 경향이 있다. 즉, 계산된 특징 기술자들의 세트 중에서, 작은 서브세트가 객체 식별 결과를 산출할 수 있다. 이는 부분적으로는, 단지 몇 개만이 데이터베이스 내의 특징들과 매칭하게 되도록 특징 기술자들에 영향을 주는 질의 이미지의 서로 다른 이미징 상태들(예를 들어, 조명, 원근 등)에 의해 야기될 수 있다. 본 개시의 기술들은 객체를 식별하는데 사용될 수 있는 키포인트들이 전체 이미지의 단지 작은 영역에만 있을 수 있고, 따라서 전체 이미지를 처리하는 계산 요건들을 감소시킬 수 있다는 공간 현실을 활용할 수 있다.
[0022] 도 1a는 공간 기반 특징 추출을 위한 기술들이 적용될 수 있는 예시적인 시스템(2)을 나타내는 블록도이다. 이 예에서, 시스템(2)은 네트워크(40)를 통해 통신하는 클라이언트 디바이스(10) 및 서버 디바이스(50)를 포함한다. 이 예에서, 클라이언트 디바이스(10)는 랩톱, 소위 넷북, 태블릿 컴퓨터, 개인용 디지털 보조기기(PDA: personal digital assistant), (소위 "스마트폰들"을 포함하는) 셀룰러 또는 모바일 전화 또는 핸드셋, 글로벌 포지셔닝 시스템(GPS: global positioning system) 디바이스, 디지털 카메라, 디지털 미디어 플레이어, 게임 디바이스, 또는 서버 디바이스(50)와 통신할 수 있는 임의의 다른 모바일 디바이스와 같은 모바일 디바이스를 나타낸다. 본 개시에서는 모바일 클라이언트 디바이스(10)에 관해 설명되지만, 본 개시에서 설명되는 기술들은 모바일 클라이언트 디바이스들에 대해 이 점으로 한정되는 것은 아니다. 대신에, 이 기술들은 로컬 객체 데이터베이스를 저장할 수 있는 그리고/또는 네트워크(40) 또는 임의의 다른 통신 매체를 통해 서버 디바이스(50)와 통신할 수 있는 임의의 디바이스에 의해 구현될 수도 있다.
[0023] 서버 디바이스(50)는 접속들, 예를 들어 송신 제어 프로토콜(TCP: transmission control protocol) 접속들을 받고, 그 자신의 TCP 접속으로 응답하여 질의 데이터를 수신하고 식별 데이터를 제공하는데 이용할 TCP 세션을 형성하는 서버 디바이스를 나타낸다. 서버 디바이스(50)는 서버 디바이스(50)가 시각적 탐색 알고리즘을 수행하거나 아니면 구현하여 이미지 내에서 하나 또는 그보다 많은 특징들 또는 객체들을 식별하는 시각적 탐색 서버 디바이스를 나타낼 수도 있다. 개별 디바이스들로서 예시 및 설명되지만, 서버 디바이스(50)의 엘리먼트들 및/또는 기능은 예를 들어, 클라이언트 디바이스(10)가 서버 디바이스(50)와 통신하지 않고 객체를 식별하도록 구성될 때, 클라이언트 디바이스(10)에 포함될 수도 있다.
[0024] 네트워크(40)는 클라이언트 디바이스(10) 및 서버 디바이스(50)와 상호 접속하는 공공 네트워크, 예컨대 인터넷을 나타낸다. 흔히, 네트워크(40)는 클라이언트 디바이스(10)와 서버 디바이스(50) 간의 통신들 또는 데이터 전송을 가능하게 하기 위한 개방형 시스템 상호 접속(OSI: open system interconnection) 모델의 다양한 계층들을 구현한다. 네트워크(40)는 일반적으로 클라이언트 디바이스(10)와 서버 디바이스(50) 간의 데이터 전송을 가능하게 하기 위한 많은 수의 네트워크 디바이스들, 예컨대 스위치들, 허브들, 라우터들, 서버들을 포함한다. 단일 네트워크로서 도시되지만, 네트워크(40)는 네트워크(40)를 형성하도록 상호 접속되는 하나 또는 그보다 많은 서브네트워크들을 포함할 수도 있다. 이러한 서브네트워크들은 서비스 제공자 네트워크들, 액세스 네트워크들, 백엔드 네트워크들, 또는 네트워크(40)를 통한 데이터의 전송을 제공하기 위해 공공 네트워크에 흔히 이용되는 임의의 다른 타입의 네트워크를 포함할 수도 있다. 이 예에서는 공공 네트워크로서 설명되지만, 네트워크(40)는 일반적으로 대중에 의해 액세스 가능하지 않은 개인 네트워크를 포함할 수도 있다.
[0025] 도 1a의 예로 도시된 바와 같이, 클라이언트 디바이스(10)는 카메라(12), 센서들(14), 제어 유닛(20), 로컬 객체 데이터베이스(30) 및 네트워크 인터페이스(32)를 포함할 수 있다. 제어 유닛(20)은 이 예에서, 특징 추출 유닛(22), 타일 패턴 유닛(24) 및 포즈 개선 유닛(26)을 포함한다. 특징들은 처리를 위해 클라이언트 디바이스(10)로부터 서버 디바이스(50)에 전송될 수 있고, 객체 식별들 및/또는 신뢰도 정보(예를 들어, 객체가 식별 가능한지 여부에 관한 표시 및/또는 객체 식별의 신뢰도)가 서버 디바이스(50)로부터 수신될 수 있다. 일부 예들에서, 제어 유닛(20)은 또한 서버 디바이스(50)의 특징 매칭 유닛(62) 및 신뢰도 평가 유닛(64)과 비슷한 유닛들을 포함할 수도 있다. 예시의 목적들로, 이러한 유닛들은 서버 디바이스(50)에 관해 논의될 것이지만, 클라이언트 디바이스(10)의 제어 유닛(20) 내에 비슷한 유닛들이 포함될 수도 있다고 이해되어야 한다.
[0026] 제어 유닛(20) 및 제어 유닛(60) 그리고 이들의 서브유닛들에 부속된 기능은 하드웨어, 소프트웨어 및/또는 펌웨어의 임의의 결합으로 구현될 수도 있다. 제어 유닛(20)에 부속된 하나 또는 그보다 많은 기능들이 소프트웨어 또는 펌웨어로 구현될 때, 제어 유닛(20)은 소프트웨어에 대한 명령들을 저장하기 위한 하나 또는 그보다 많은 컴퓨터 판독 가능 저장 매체들뿐만 아니라, 소프트웨어를 실행하기 위한 하나 또는 그보다 많은 하드웨어 기반 처리 유닛들도 포함할 수 있다. 이러한 처리 유닛들은 하나 또는 그보다 많은 범용 프로세서들, 애플리케이션 프로세서들, 및/또는 다른 타입들의 프로세서들 포함할 수도 있다. 일부 실시예들에서, 컴퓨터 판독 가능 저장 매체들은 처리 유닛들 중 적어도 하나의 내부에 있다. 제어 유닛(20) 및 제어 유닛(60)은 추가로 또는 대안으로, 하나 또는 그보다 많은 디지털 신호 프로세서(DSP: digital signal processor)들, 이미지 신호 프로세서(ISP: image signal processor)들, 범용 마이크로프로세서들, 주문형 집적 회로(ASIC: application specific integrated circuit)들, 필드 프로그래밍 가능 로직 어레이(FPGA: field programmable logic array)들, 또는 다른 대등한 집적 또는 이산 로직 회로와 같은 하나 또는 그보다 많은 하드웨어 유닛들을 포함할 수도 있다. 제어 유닛(20) 및 제어 유닛(60)에 부속된 기능 중 임의의 또는 모든 기능이 이들의 임의의 각각의 하드웨어, 소프트웨어 또는 펌웨어에 의해 수행될 수도 있다. 따라서 도 1a의 예에서 제어 유닛들(20, 60) 내에 개별 유닛들이 예시되더라도, 실제로 이러한 개별 유닛들은 임의의 타당한 방식으로 결합될 수도 있고 또는 훨씬 더 많은 수의 모듈들 또는 컴포넌트들로 분리 가능할 수도 있다고 이해되어야 한다.
[0027] 카메라(12)는 예를 들어, 행들과 열들로 배열된 개별 이미지 센서 엘리먼트들의 2차원 어레이를 포함할 수도 있다. 카메라(12)는 예를 들어, 상보성 금속 산화물 반도체(CMOS: complementary metal-oxide semiconductor) 센서들과 같은 고체 상태 센서 엘리먼트들 또는 다른 센서 엘리먼트들의 어레이를 포함할 수도 있다. 카메라(12) 내의 이미지 센서 엘리먼트들이 장면에 노출되어 장면으로부터 광 정보를 얻고 장면의 디지털 이미지를 캡처한다. 디지털 이미지는 예를 들어, 적-녹-청 값들, 또는 픽셀 휘도(명암도 또는 밝기) 값들 및 픽셀 색차(색) 값들을 갖는 특정 색 공간에 정의될 수 있는 픽셀 값들의 2차원 행렬을 포함할 수도 있다.
[0028] 센서들(14)은 제어 유닛(20)에 정보를 제공하는 하나 또는 그보다 많은 환경 센서들을 포함할 수도 있다. 제어 유닛(20)은 이 정보를 사용하여, 카메라(12)에 의해 캡처된 이미지 내의 객체에 대한 스케일을 근사화할 수 있다. 일부 예들에서, 센서들(14)은 GPS 위성들과 상호 작용하여 클라이언트 디바이스(10)의 지리적 위치를 결정하는 글로벌 포지셔닝 시스템(GPS) 유닛과 같은 위성 포지셔닝 시스템(SPS: satellite positioning system) 유닛을 포함할 수도 있다. 다른 센서들(14)과 결합한 GPS 유닛은 또한 이미지가 캡처될 때 카메라(12)가 향해진 방향의 표시를 제공할 수도 있다. 제어 유닛(20)은 이 위치 및 방향 정보를 사용하여 카메라(12)의 시선 안에 있을 수 있는 잠재적 객체들에 대한 탐색을 제한할 수 있다.
[0029] 예를 들어, 원격 객체 데이터베이스(52)는 원격 객체 데이터베이스(52)의 객체들에 대한 지리적 위치들을 저장할 수도 있다. 센서들(14)의 GPS 유닛이 카메라(12)의 지리적 위치 및 방향을 결정하면, 제어 유닛(20)이 원격 객체 데이터베이스(52)로부터 카메라(12)의 시선 또는 인근 영역들 내에 지리적 위치들을 갖는 데이터의 서브세트를 리트리브하고, 리트리브된 데이터를 로컬 객체 데이터베이스(30)에 저장할 수 있다. 다음에, 특징 추출 유닛(22)이 이미지로부터 특징 기술자들을 추출하고 이러한 추출된 특징 기술자들로 로컬 객체 데이터베이스(30)에 질의할 수 있다.
[0030] 다른 예로서, 특징 추출 유닛(22)은 지리적 위치 및 방향을 사용하여 카메라(12)의 시선 내의 객체들의 초기 스케일을 근사화할 수 있다. 예를 들어, 원격 객체 데이터베이스(52)는 센서들(14)의 GPS 유닛에 의해 결정된 클라이언트 디바이스(10)의 위치를 기초로, 클라이언트 디바이스(10) 근처의 지리적 위치 내의 그리고 카메라(12)의 시선 내의 객체들에 대해 가장 가능성 있는 스케일을 저장할 수 있다. 다음에, 특징 추출 유닛(22)은 처음에 이 초기 스케일을 사용하여 타일들로부터 특징 기술자들을 추출하고 네트워크(40)를 통해 서버 디바이스(50)에 질의를 전송하여, 원격 객체 데이터베이스(52)에 질의할 수 있다. 질의는 일부 예들에서, 특징 기술자들뿐만 아니라 위치 정보도 포함할 수 있다.
[0031] 센서의 다른 예들은 예를 들어, 온도 센서들, 압력 센서들(예를 들어, 기압 센서들), 광 센서들, 적외선 센서들, 자외선 센서들, 습도 센서들, 이산화탄소(CO2) 센서들, 또는 이러한 다른 환경 센서들을 포함할 수도 있는데, 이들 중 임의의 또는 모든 센서는 각각의 감지 값들에 대한 값들을 제공할 수 있다. 제어 유닛(20)은 실내 및 실외 환경들을 나타내는, 이러한 센서들 중 임의의 또는 모든 센서에 대한 데이터 범위들을 포함할 수도 있다. 제어 유닛(20)은 센서들 중 임의의 또는 모든 센서에 대한 현재 값들을 대응하는 데이터 범위들과 비교하여 카메라(12)가 질의 이미지를 캡처했을 때 클라이언트 디바이스(10)가 실내에 있었는지 아니면 실외에 있었는지를 결정할 수 있다.
[0032] 특징 추출 유닛(22)은 스케일 고정 특징 변환(SIFT) 알고리즘, 경사도들의 압축 히스토그램(CHoG: compressed histogram of gradients) 알고리즘, 또는 다른 키포인트 또는 특징 기술 추출 알고리즘들과 같은 특징 추출 알고리즘에 따라 특징 추출을 수행하는 유닛을 나타낸다. 일반적으로, 특징 추출 유닛(22)은 카메라(12) 또는 클라이언트 디바이스(10) 내에 포함된 다른 이미지 캡처 디바이스를 사용하여 로컬하게 캡처될 수 있는 이미지 데이터에 대해 동작한다. 대안으로, 클라이언트 디바이스(10)는 이미지 데이터 자체를 캡처하지 않고, 예를 들어 네트워크(40)를 통해, 로컬하게는 다른 컴퓨팅 디바이스와의 유선 접속을 통해 또는 임의의 다른 유선 또는 무선 형태의 통신을 통해 이미지 데이터를 다운로드함으로써 이러한 이미지 데이터를 저장할 수도 있다.
[0033] 타일 패턴 유닛(24)은 예를 들어, 카메라(12)에 의해 캡처된 이미지에서 타일 처리 순서를 결정하는 유닛을 나타낸다. 예를 들어, 주어진 스케일에 대해, 타일 패턴 유닛(24)은 제 1 타일(즉, 시작 타일)에 대한 초기 위치 및 다음 타일들의 위치를 결정할 수 있다. 타일 패턴 유닛(24)은 초기 옥타브에서 검출된 잠재적 키포인트들을 기초로 타일 순서를 결정할 수 있다. 타일 패턴 유닛(24)은 특징들(예를 들어, 잠재적 키포인트들)을 포함하는 이미지 부분들이 먼저 처리될 수 있게 이미지의 공간 레이아웃의 우선순위를 정하도록 구성될 수 있다. 더 높은 스케일로 이미지를 처리하고(예를 들어, 다운샘플링되고) 로컬화 알고리즘(예를 들어, SIFT)을 수행함으로써 특징들의 대략적 위치가 결정될 수 있다.
[0034] 본 개시의 기술들에 따르면, 특징 추출 유닛(22)은 사전 구성된 패턴(예를 들어, 래스터 주사)에 대응하게, 또는 타일 패턴 유닛에 의해 결정된 대로 초기 타일을 처리할 수 있다. 특징 추출 유닛(22)은 타일로부터 추출된 키포인트들을 사용하여 특징 기술자들을 추출할 수 있다. 다음에, 제어 유닛(20)은 질의 이미지 내의 객체의 아이덴티티가 단지 이러한 특징 기술자들만을 사용하여 결정될 수 있는지 여부를 결정하여, 그렇지 않다면 다음 타일에 대한 특징 기술자들의 추출로 진행할 수도 있다.
[0035] 포즈 개선 유닛(26)은 객체의 포즈를 결정하는 유닛을 나타낸다. 일반적으로, 키포인트들의 검출 및 특징들의 결정은 더 낮은 옥타브의 처리를 기초로 객체의 포즈를 결정하면서 높은 옥타브들로 달성될 수 있다. 포즈 개선 유닛(26)은 특징 기술자의 정교한 포즈를 제공하기 위해 정규 상호 상관(NCC: Normal Cross-Correlation) 또는 다른 특징 추적 기술을 이용하여 타일 내의 이웃을 더 낮은 옥타브(예를 들어, 네이티브 옥타브)로 처리하도록 구성될 수 있다. 대응하는 포즈 정보가 질의 이미지에 대한 탐색을 개선하는데 사용될 수 있다.
[0036] 아래 설명되는 바와 같이, 네트워크 인터페이스(32)는 무선 네트워크 인터페이스를 포함할 수도 있다. 네트워크 인터페이스(32)가 무선 네트워크 인터페이스를 포함하는 경우, 무선 네트워크 인터페이스는 IEEE 802.11 표준들(예를 들어, 802.11 a/b/g/n), 3세대 모바일 전기 통신(3G) 표준들, (모바일 마이크로파 액세스에 관한 전세계 상호 운용성(모바일 WiMAX: mobile Worldwide Interoperability for Microwave Access), 3G 롱 텀 에볼루션(LTE: Long Term Evolution), LTE 어드밴스드 및 WirelessMAN 어드밴스드(IEEE 802.16)를 포함할 수도 있는) 4세대 전기 통신 표준들, 또는 다른 무선 네트워크 프로토콜들 중 하나 또는 그보다 많은 것과 같은 하나 또는 그보다 많은 무선 네트워크 프로토콜들을 구현할 수도 있다. 일반적으로, 무선 네트워크가 이용 가능하다면, 제어 유닛(20)은 클라이언트 디바이스(10)가 실내에 있을 가능성이 상당히 높다고 결정할 수도 있다. 클라이언트 디바이스(10)가 실내에 있을 때, 제어 유닛(20)은 카메라(12)에 의해 캡처된 이미지 내의 객체들의 크기들이 비교적 작을 가능성이 있다고 결정할 수도 있다. 이에 따라, 특징 추출 유닛(22)은 질의 이미지에 대한 특징 기술자들을 추출할 시작 옥타브의 결정시 인자로서 무선 네트워크가 이용 가능한지 여부를 처리하도록 구성될 수도 있다.
[0037] 도 1의 예에서, 서버 디바이스(50)는 원격 객체 데이터베이스(52)를 저장하는 한편, 클라이언트 디바이스(10)는 로컬 객체 데이터베이스(30)를 저장한다. 클라이언트 디바이스(10)는 네트워크(40)를 통해 서버 디바이스(50)로부터 로컬 객체 데이터베이스(30)에 대한 데이터를 리트리브할 수도 있다. 이에 따라, 로컬 객체 데이터베이스(30)는 원격 객체 데이터베이스(52)의 전부 또는 일부를 나타낼 수도 있다. 일부 예들에서, 로컬 객체 데이터베이스(30)는 원격 객체 데이터베이스(52)로부터의 데이터뿐만 아니라 (도 1a에 도시되지 않은) 다른 서버 디바이스들의 다른 원격 객체 데이터베이스들로부터의 데이터도 포함할 수 있다. 일반적으로, 본 개시의 기술들은 로컬 객체 데이터베이스(30) 및/또는 원격 객체 데이터베이스(52) 중 어느 하나 또는 둘 다에 질의하여 이미지 내의 객체의 아이덴티티를 결정할 수도 있다.
[0038] 아래 더 상세히 설명되는 바와 같이, 특징 추출 유닛(22)은 원본 이미지를 기초로, 필터링된 이미지들의 다양한 세트들로부터 키포인트들을 추출할 수 있다. 일부 예들에서, 원본 이미지는 가우시안 필터들을 사용해 필터링되어 한 세트의 가우시안 블러링된 이미지들을 생성할 수도 있다. 다양한 필터링 기술들이 적용될 수도 있다고 이해되어야 하지만, 본 개시는 일례로 주로 가우시안 필터들에 집중할 것이다. 그러나 본 개시의 기술들을 벗어나지 않으면서 다른 필터링 기술들이 또한 적용될 수도 있다. 또한, 일부 실시예들에서는 특징 추출 유닛(22)이 필터링되지 않은 이미지들을 처리할 수도 있다. 일반적으로, 한 세트 내의 필터링된 이미지들 각각은 (예를 들어, 픽셀 해상도 면에서) 비슷한 크기를 가질 수 있는데, 여기서 세트 내의 각각의 이미지는 점진적으로 더 많이 필터링될 수도 있다. 세트들 각각은 "옥타브"로 지칭될 수도 있다. 가우시안 블러링은 일반적으로 특정 옥타브에 대한 이미지 데이터를 정해진 스케일로 가우시안 블러 함수를 이용해 컨볼빙(convolving)하는 것을 수반한다. 특징 추출 유닛(22)은 이미지 데이터를 점증적으로 컨볼빙할 수 있는데, 여기서 변수인 시그마(σ)로 지칭되는 일정한 곱셈 계수가 옥타브 내에서 결과적인 가우시안 필터들을 증분한다. 특징 추출 유닛(22)은 특정 옥타브에 대해 가우시안 블러링된 이미지들 각각을 갖는 "가우시안 피라미드"로 지칭될 수 있는 것을 형성할 수 있다. 다음에, 특징 추출 유닛(22)은 피라미드에서 2개의 연속적으로 적층된 가우시안 블러링된 이미지들을 비교하여 가우시안 차(DoG: difference of Gaussian) 이미지들을 생성할 수 있다. DoG 이미지들은 "DoG 공간"으로 지칭되는 것을 형성할 수도 있다.
[0039] 이러한 DoG 공간을 기초로, 특징 추출 유닛(22)은 키포인트들을 검출할 수도 있으며, 여기서 키포인트는 기하학적인 관점에서 잠재적으로 흥미로운 이미지 데이터 내의 특정 샘플 포인트 또는 픽셀 주변의 픽셀들의 영역 또는 패치를 의미한다. 일반적으로, 특징 추출 유닛(22)은 구성된 DoG 공간 내의 로컬 최대치들 및/또는 로컬 최소치들로서 키포인트들을 식별한다. 다음에, 특징 추출 유닛(22)은 키포인트가 검출된 패치에 대한 로컬 이미지 경사도의 방향들을 기초로, 이러한 키포인트들에 하나 또는 그보다 많은 배향들 또는 방향들을 할당할 수 있다. 이러한 배향들을 특성화하기 위해, 특징 추출 유닛(22)은 경사도 배향 히스토그램에 관해 배향을 정의할 수도 있다. 다음에, 특징 추출 유닛(22)은 (예를 들어, 경사도 배향 히스토그램에 의해) 위치 및 배향으로서 특징 기술자를 정의할 수도 있다. 특징 기술자를 정의한 후, 특징 추출 유닛(22)은 예를 들어, 로컬 객체 데이터베이스(30) 또는 원격 객체 데이터베이스(52)에 특징 기술자로 질의함으로써 특징 기술자를 출력할 수도 있다. 특징 추출 유닛(22)은 이러한 프로세스를 사용하여 한 세트의 특징 기술자들을 출력할 수 있다.
[0040] 네트워크 인터페이스(32)는 무선 인터페이스들 및 유선 인터페이스들을 비롯하여, 네트워크(40)를 통해 서버 디바이스(50)와 통신할 수 있는 임의의 타입의 인터페이스를 나타낸다. 네트워크 인터페이스(32)는 무선 셀룰러 인터페이스를 나타내며 네트워크(40)와의 무선 셀룰러 네트워크를 통해 그리고 서버 디바이스(50)와의 네트워크(40)를 통해 통신하기 위한, 안테나들, 변조기들 등과 같은 필수 하드웨어 또는 다른 컴포넌트들을 포함할 수도 있다. 이 경우, 도 1a의 예에는 도시되지 않았지만, 네트워크(40)는 무선 셀룰러 네트워크 인터페이스(32)가 네트워크(40)와 통신하게 하는 무선 셀룰러 액세스 네트워크를 포함한다. 도 1a에는 예시되지 않았지만, 클라이언트 디바이스(10)는 디스플레이, 예를 들어 객체 아이덴티티들이 결정되는 이미지 데이터, 또는 임의의 다른 타입들의 데이터와 같은 이미지들을 디스플레이할 수 있는 임의의 타입의 디스플레이 유닛을 더 포함할 수도 있다. 디스플레이는 예를 들어, 발광 다이오드(LED: light emitting diode) 디스플레이 디바이스, 유기 LED(OLED: organic LED) 디스플레이 디바이스, 액정 디스플레이(LCD: liquid crystal display) 디바이스, 플라즈마 디스플레이 디바이스, 또는 임의의 다른 타입의 디스플레이 디바이스를 포함할 수도 있다.
[0041] 서버 디바이스(50)는 네트워크 인터페이스(54), 원격 객체 데이터베이스(52) 및 제어 유닛(60)을 포함한다. 제어 유닛(60)은 이 예에서, 특징 매칭 유닛(62) 및 신뢰도 평가 유닛(64)을 포함한다. 네트워크 인터페이스(54)는 네트워크(40)와 같은 네트워크와 통신할 수 있는 임의의 타입의 인터페이스를 나타낼 수도 있다는 점에서, 네트워크 인터페이스(54)는 클라이언트 디바이스(10)의 네트워크 인터페이스(32)와 비슷할 수도 있다. 특징 매칭 유닛(62)은 클라이언트 디바이스(10)로부터 수신된 특징 기술자들을 기초로 이미지 데이터 내에서 하나 또는 그보다 많은 특징들 또는 객체들을 식별하기 위한 특징 매칭을 수행하는 유닛을 나타낸다.
[0042] 특징 매칭 유닛(62)은 원격 객체 데이터베이스(52)에 액세스하여 이러한 특징 식별을 수행할 수 있는데, 여기서 원격 객체 데이터베이스(52)는 특징 기술자들을 정의하는 데이터를 저장하고 수신된 특징 기술자들 중 적어도 일부를 이미지 데이터로부터 추출된 대응하는 특징 또는 객체를 식별하는 식별 데이터와 상관시킨다. 신뢰도 평가 유닛(64)은 수신된 특징 식별자들에 대응하는 것으로서 식별된 객체가 이미지 데이터 내의 객체의 실제 아이덴티티라는 신뢰도를 나타내는 신뢰도 값을 결정한다.
[0043] 원격 객체 데이터베이스(52)에 저장된 객체들은 복수의 특징 기술자들을 포함할 수도 있고, 클라이언트 디바이스(10)로부터 수신된 특징 기술자들은 원격 객체 데이터베이스(52)에서 객체의 특징 기술자들의 단지 서브세트와 매칭할 수도 있다. 일반적으로, 신뢰도 값은 수신된 특징 기술자들과 대응하는 객체와 연관된 특징 기술자들 간의 매칭들 간의 대응을 나타낸다. 따라서 더 높은 신뢰도 값은 수신된 특징 기술자들이 원격 객체 데이터베이스(52)에 의해 저장된 객체의 비교적 많은 수의 특징 기술자들과 매칭함을 반영할 수 있는 한편, 더 낮은 신뢰도 값은 수신된 특징 기술자들이 원격 객체 데이터베이스(52)에 의해 저장된 객체의 비교적 적은 수의 특징 기술자들가 매칭함을 반영할 수 있다.
[0044] 클라이언트 디바이스(10)로부터 수신된 특징 기술자들에 대한 객체의 아이덴티티를 결정한 후, 특징 매칭 유닛(62)은 결정된 아이덴티티를 나타내는 식별 데이터를 제공한다. 마찬가지로, 신뢰도 평가 유닛(64)은 결정된 아이덴티티가 수신된 특징 기술자들과 적절히 매칭한다는 신뢰도를 평가하고, 대응하는 신뢰도 값을 생성하여, 신뢰도 값을 클라이언트 디바이스(10)에 제공한다. 클라이언트 디바이스(10)는 신뢰도 값이 임계치를 초과하는지 여부 결정하여, 초과하지 않는다면, 이미지 데이터에 대한 추가 옥타브들로부터 추가 특징 기술자들을 추출하고, 이러한 추가 특징 기술자들을 추가 분석을 위해 서버 디바이스(50)에 전송할 수도 있다.
[0045] 처음에, 클라이언트 디바이스(10)의 사용자는 클라이언트 디바이스(10)와 인터페이스하여 시각적 탐색을 시작할 수 있다. 사용자는 사용자 인터페이스 또는 클라이언트 디바이스(10)의 디스플레이에 의해 제시된 다른 타입의 인터페이스와 인터페이스하여 이미지 데이터를 선택한 다음, 시각적 탐색을 시작하여, 이미지 데이터로서 저장된 이미지의 포커스인 하나 또는 그보다 많은 특징들 또는 객체들을 식별할 수도 있다. 예를 들어, 이미지 데이터는 한 편의 유명한 아트워크의 이미지에 대응할 수도 있다. 사용자가 클라이언트 디바이스(10)의 카메라(12)를 사용하여 이 이미지를 캡처했거나, 이 이미지를 네트워크(40)로부터 다운로드했거나, 또는 다른 컴퓨팅 디바이스와의 유선 또는 무선 접속을 통해 이미지를 로컬하게 리트리브했을 수도 있다. 어떤 경우든, 이미지 데이터를 선택한 후, 사용자가 시각적 탐색을 시작하여, 이 예에서는 그 한 편의 유명한 아트워크를 예를 들어, 이름, 아티스트 및 완료일로 식별할 수도 있다. 일부 실시예들에서는, 카메라(12)에 의해 이미지가 캡처되면, 예를 들어 디바이스가 증강 현실 애플리케이션의 특정 실시예들을 실행하고 있을 때, 시각적 탐색이 자동으로 시작된다.
[0046] 시각적 탐색의 시작에 응답하여, 클라이언트 디바이스(10)는 특징 추출 유닛(22)을 호출하여 이미지 데이터의 분석을 통해 발견된 키포인트들 중 하나를 기술하는 적어도 하나의 특징 기술자를 추출한다. 제어 유닛(20)은 특징 기술자를 사용하여 로컬 객체 데이터베이스(30)에 질의하고 그리고/또는 특징 기술자를 네트워크(40)를 통해 서버 디바이스(50)에 전송하여 특징 기술자를 사용해 원격 객체 데이터베이스(52)에 질의할 수도 있다. 일부 예들에서, 특징 추출 유닛(22)은 네트워크(40)를 통한 특징 기술자의 송신 전에 특징 기술자를 압축할 수 있는 (이 예에서는 도시되지 않은) 특징 압축 유닛으로 특징 기술자를 전달한다. 서버 디바이스(50)에 전송될 때, 제어 유닛(20)은 (캡슐화 전에 압축될 수도 있는) 특징 기술자를 네트워크 패킷, 예를 들어 TCP/IP 패킷으로서 캡슐화할 수도 있다.
[0047] 개시되는 기술들을 수행하도록 구성된 디바이스들의 기능적 양상들을 강조하기 위해 본 개시에서는 다양한 컴포넌트들, 모듈들 또는 유닛들이 설명되지만, 이러한 유닛들은 반드시 서로 다른 하드웨어 유닛들에 의한 실현을 필요로 하는 것은 아니다. 그보다는, 다양한 유닛들이 하드웨어 유닛에 결합되거나 컴퓨터 판독 가능 매체들에 저장된 적당한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명한 것과 같은 하나 또는 그보다 많은 프로세서들을 포함하는 상호 운용 하드웨어 유닛들의 집합으로 제공될 수도 있다. 이 점에 있어서, 본 개시에서 유닛들에 대한 언급은 개별 하드웨어 유닛들 및/또는 하드웨어 및 소프트웨어 유닛들로서 구현될 수도 있고 또는 구현되지 않을 수도 있는 서로 다른 기능 유닛들을 제안하는 것으로 의도된다.
[0048] 위에서 논의한 바와 같이, 본 개시의 기술들에 따른 특징 추출 유닛(22)은 카메라(12)에 의해 캡처된 이미지로부터 특징 기술자들을 순차적으로 추출하도록 구성될 수도 있다. 즉, 특징 추출 유닛(22)은 제 1 타일로부터 특징 기술자들을 추출하여, 그러한 특징 기술자들이 이미지 내의 객체의 아이덴티티를 정확히 결정하는데 사용될 수 있는지 여부를 결정하고, 사용될 수 없다면, 하나 또는 그보다 많은 다음 타일들로부터 특징 기술자들을 추출할 수 있다. 서로 다른 옥타브들 내에서는 서로 다른 타일링 패턴들이 사용될 수 있다.
[0049] 트레이닝 이미지들 또는 테스트 이미지들로부터의 특징 속성들이 특징 생성 및 매칭의 복잡도를 감소시키는데 사용될 수도 있다. 이러한 통계는 특징 추출 프로세스에 수반되는 파라미터들을 초기화하는데 사용될 수도 있다. 초기화된다면, 특징 추출 유닛(22)은 특징들을 점증적으로 추출하여, 인식 및/또는 추론을 수행하고, 인식이 이미지 내 객체의 아이덴티티에 대한 신뢰성 있는 결정들에 충분하지 않다면, 특징 추출들의 다음 세트를 위해 특징 추출 파라미터들을 업데이트할 수 있다. (로컬 객체 데이터베이스(30)에 저장 및/또는 원격 객체 데이터베이스(52)로부터 리트리브될 수 있는) 트레이닝 데이터 및 과거 질의 통계를 사용하면, 질의 이미지에서의 객체들의 인식이 더 적은 수의 단계들로 달성될 수 있고, 이는 계산 절감을 야기할 수 있다.
[0050] 본 개시의 기술들은 하나 또는 그보다 많은 이점들을 제공할 수도 있다. 예를 들어, 이러한 기술들은 예를 들어, SIFT에 대한 특징 기술자들에 대한, 그렇지 않은 경우에 SIFT가 달성하게 되는 것보다 더 빠른 로컬화된 추출을 제공할 수도 있다. 이러한 기술들은 처리할 스케일-공간 레벨들(예를 들어, 옥타브 레벨들)의 가장 관련된 서브세트의 추정을 가능하게 할 수 있으며, 이는 객체 인식의 속도 및 복잡도를 개선할 수 있다. 이러한 기술들은 추가로, 클라이언트 디바이스(10)(예를 들어, 모바일 전화)의 로컬 객체 데이터베이스(30)에서 더 빠른 탐색을 가능하게 할 수도 있다. 즉, 이러한 기술들은 먼저 상위 레벨들로부터의 특징 기술자 추출, 그리고 충분한 정확도에 도달하면 알고리즘의 중단을 가능하게 한다. 이런 식으로, 도 1a의 시스템(2)과 같은 분산된 시각적 탐색 시스템에서 비교적 짧은 응답이 존재할 수 있다. 특징 기술자들은 네트워크(40)를 통해 상위 레벨들에서 먼저 시작하여 서버 디바이스(50)로 점진적으로 송신될 수 있으며, 서버 디바이스(50)는 수신된 데이터에 대한 탐색들의 여러 번의 반복들을 수행하여 결과들을 또는 충분한 정확도 매칭이 발견된다면 종료 신호를 다시 전송할 수 있다. 클라이언트 디바이스(10)는 탐색 결과들 또는 종료 신호가 수신된 후 서버 디바이스(50)로의 특징 기술자들의 전송을 중단할 수도 있다.
[0051] 도 1b를 참조하면, 4개의 차수들을 가진 이미지 피라미드의 개념도(100)가 도시된다. 도면(100)은 스케일의 개념을 나타내고 다양한 해상도의 옥타브들에서 입력 이미지(102)가 어떻게 처리될 수 있는지를 강조하도록 제공된다. 예를 들어, 도시된 옥타브들(104, 106, 108, 110) 각각은 순차적으로 감소하는 해상도(예를 들어, 75%, 20%, 4%, 1%)로 이미지(102)를 나타낸다. 네이티브 이미지(102)는 0차 이미지로 간주되고, 피라미드에서 다음 이미지들은 더 높은 차수들 또는 더 높은 옥타브들로 간주된다. 이미지의 차수(예를 들어, 스케일, 옥타브)가 증가함에 따라, 해상도 및 대응하는 메모리 요건들이 감소한다. 더 높은 차수의 이미지들(106, 108, 110)은 키포인트들의 대략적 매칭에 사용될 수 있다. 더 높은 옥타브들에서의 처리는 클라이언트 디바이스(10)의 계산 전력을 보존한다. 더 낮은 차수 이미지들(104)의 부분들과 0차 이미지(102)는 포즈 개선 유닛(26)에 의해 객체의 포즈를 결정하는데 사용될 수 있다.
[0052] 도 2를 참조하면, 이미지의 타일들에 대한 래스터 주사 패턴으로의 처리를 나타내는 개념도(200)가 도시된다. 도면(200)은 이미지 영역(202) 그리고 타일 또는 이웃으로도 또한 지칭되는 관심 영역(204)을 포함한다. 타일 패턴 유닛(24)은 이미지 영역(202)을 수신하여 초기 관심 영역(204) 및 대응하는 주사 패턴을 결정하도록 구성된다. 예를 들어, 관심 영역(204)은 오버헤드 'P'의 대응 영역에 따라, 폭이 'Q'일 수 있다. 특징 추출 유닛(22)은 타일(204)(예를 들어, (x,y)와 +/- 델타로 정의된 영역)의 고려시 키포인트들을 추출할 수 있다. 즉, 키포인트들은 로컬 이웃에서 추출되며, 이웃들은 한 번에 하나씩 처리된다. 이미지(202)는 타일들(204)이 한 번에 하나씩 처리되도록 순차적으로 처리된다. 이 기술은 본 명세서에서 일반적으로 타일링 또는 스트라이핑으로 지칭된다. 타일이라는 용어는 현재 처리되고 있는 이미지의 이웃으로 간주될 수 있다. 일반적으로, 타일(204)은 이미지(202)(예를 들어, 이미지(202)의 서브세트) 내의 관심 영역이다. 이미지(202)는 0차 또는 더 높은 차수 표현일 수 있다. 타일(204)의 크기는 일정하게 유지될 수 있으며, 따라서 더 높은 차수들에서 이미지의 더 큰 부분을 커버할 수 있다. 타일 패턴 유닛(24)은 이미지(202)에 걸쳐 타일(204)을 이동시키거나 주사할 수 있다. 예를 들어, 예시(200)는 타일(204)이 이미지 하위 영역(예를 들어, 스트라이프)을 수직으로 아래로 진행시키는 수직 래스터 주사를 보여준다. 하위 영역에서 최저 위치에 도달하면, 타일은 다음 스트라이프로 진행되어, 이미지 영역(202)의 최상부 및 첫 번째 중첩 영역(P)의 처음에서 출발한다. 프로세스는 전체 이미지(202)에 대해 반복될 수 있다.
[0053] 특징 추출 유닛(22)의 성능들은 치수들 'Q'와 'P'를 설정할 수 있다. 타일(204)의 크기는 모바일 디바이스(10)에 이용 가능한 처리 및 필터링 전력을 기초로 할 수 있다. 'P'는 이미지 처리에 필요한 오버헤드를 나타낸다. 상당한 양의 메모리를 사용하지 않고 타일들을 처리하는 것이 유리할 수도 있다. 일례로, 특징 추출 유닛(22)은 2개의 시퀀스들(예를 들어, 필터 및 입력 샘플)을 컨볼빙한다. 이 예에서, 타일(204)은 주어진 임의의 시점에 처리된 입력 이미지의 로컬 이웃이다. 타일의 수직 크기는 이웃에 대해 동작하는 가장 긴 필터의 크기를 기초로 할 수도 있다. 타일의 수평 면('Q' 또는 'P+Q')은 상대적 처리 오버헤드(P/Q)를 최소화하기 위해 더 길 수도 있다. 일례로, 특징들을 추출하기 위한 입력 이미지에 대한 가장 긴 필터링 동작은 25개의 샘플들 길이일 수 있는데 - 이는 로컬 평활화, 로컬 차들 및 극값들 탐색을 수행하는데 필요한 필터들의 결합일 것이다. 이 예에서, 타일(204)의 크기는 수평으로는 100개의 픽셀들 그리고 수직으로는 25개의 픽셀들일 수 있다. 오버헤드(P)는 대략 25이다. 제 1 타일 위치를 처리한 결과적인 출력은 (예를 들어, 100-25와 같은) 대략 75개의 픽셀들로 이루어진 더 작은 행 그리고 단 하나의 픽셀 높이가 될 것이다. 이들은 잠재적 특징 위치들이 될 수 있다(예를 들어, 이들이 특징 위치들일 필요는 없다). 75개의 픽셀들로 이루어진 다음 행이 첫 번째 위치 바로 아래에 있는 타일의 두 번째 위치로 처리될 수 있다. 수직 래스터 주사는 단지 예시일 뿐이며, 주사 패턴이 결정론적으로 선택될 수 있으므로 한정이 아니며, 현재 스케일을 기초로 할 수 있고 그리고/또는 예를 들어, 연속한 타일 위치들의 처리시 로컬(예를 들어, 캐시된) 메모리 재사용을 최대화하려는 시도를 할 수도 있다.
[0054] 타일의 수직 크기를 최소값(예를 들어, 상기 예에서는 25)보다 더 크게 유지하는 것이 가능하지만, 이는 처리하는 오버헤드 시점으로부터 이익을 제공하지 않을 수도 있으며, 로컬 캐시 최소 크기를 증가시킬 필요성을 야기할 수도 있다). 상기 예에서와 같이 수직 치수가 단지 25라면, 첫 번째 타일 위치 동안 추출된 모든 특징들은 대략, 처음에 처리된 75개의 픽셀들로 이루어진 동일한 행에 놓일 것이다. 타일을 아래쪽으로 슬라이딩하는 것은 모두 첫 번째 스트라이프(202) 내에 로케이팅된 더 많은 특징들을 모을 수 있다. 타일이 첫 번째 스트라이프가 바닥에 도달할 때, 202에 포함된 모든 특징들이 추출되어 기술자들로 암호화되었다. 타일의 크기 및 형상은 예를 들어, 필터의 설계, 처리 성능들 및/또는 이용 가능한 캐시 메모리를 기초로 달라지고 그리고/또는 수정될 수도 있다.
[0055] 도 2에 추가 관련하여 도 3을 참조하면, 확장 원 패턴에 따른 이미지의 타일들의 처리를 나타내는 개념도(300)가 도시된다. 도면(300)은 이미지(302) 및 관심 영역(304)을 포함한다. 위에서 논의한 바와 같이, 관심 영역(304)의 치수들은 모바일 디바이스(10)에 이용 가능한 처리 전력을 기초로 할 수 있다. 이 예에서, 타일 패턴 유닛(24)은 이미지(302) 내의 위치에서 타일링 프로세스를 시작하여, 확장 원 패턴에서 추가 타일들이 처리될 수 있음을 결정할 수 있다. 이러한 처리 패턴이 처리 전력의 가장 효율적인 사용일 수도 있는 것이 아니라, 패턴은 단지 예시일 뿐이며, 타일 패턴 유닛(24)이 다른 패턴들을 이용하도록 구성될 수 있으므로 한정은 아니라고 인식된다. 한 실시예에서, 타일 패턴 유닛(24)은 이미지의 심하게 다운샘플링된 버전을 기초로 초기 타일을 선택할 수 있다. 즉, 다운샘플링된 이미지에서 특징의 위치는 이미지의 더 낮은 옥타브 버전에서 주사의 초기 위치로서 사용될 수 있다. 탐색 패턴은 다운샘플링된 이미지 내의 하나 또는 그보다 많은 특징들을 기초로 할 수 있다. 예를 들어, 제 1 특징 주위의 영역이 처리될 수 있고, 다음에 제 2 특징 주위의 영역이 처리될 수 있다. 순차적인 순서로 추가 특징들이 처리될 수 있다. 타일 패턴 유닛(24)은 처리될 타일들의 시퀀스 및 위치에 대한 다른 패턴들 및 기준들을 포함할 수 있다. 초기 타일의 위치는 이미지 내에서의 상대적 위치(예를 들어, 중심, 좌측 최상부, 우측 하단)를 기초로, 또는 사용자에 의해 식별된 영역, 예컨대 사용자가 디스플레이를 터치하거나 아니면 활성화하는 곳을 기초로 할 수도 있다. 초기 타일은 예컨대, 클라이언트 디바이스(10)의 위치 및 배향을 기초로 디스플레이의 지리적 참조(geo-referenced) 영역을 식별하는 위치 서비스 정보를 기초로 할 수도 있다. 한 실시예에서, 초기 타일은 초점 거리, 줌 계수 및 명암과 같은 이미지 관련 변수들을 기초로 선택될 수도 있다. 예를 들어, 광각은 초기 타일이 이미지의 경계들 상에 로케이팅되어야 함을 표시할 수 있는 한편, 더 높은 줌 계수는 초기 타일이 이미지의 중심에 있어야 함을 표시할 수 있다. 일부 실시예들에서, 초기 타일 및/또는 초기 스케일은 객체 또는 특징들이 검출 또는 식별된 이전 이미지 내에서의 위치 또는 이전 이미지의 스케일을 기초로 결정될 수도 있다. 클라이언트 디바이스 및 이미지와 연관된 다른 변수들이 초기 타일을 결정하는데 사용될 수도 있다.
[0056] 동작시, 도 2와 도 3에 추가 관련하여 도 4를 참조하면, 시스템(2)을 이용한 이미지의 공간 처리를 기반으로 검출 파이프라인으로부터의 조기 종료를 수행하기 위한 예시적인 프로세스(400)를 나타내는 흐름도가 도시된다. 그러나 프로세스(400)는 단지 예시일 뿐이며 한정은 아니다. 프로세스(400)는 예를 들어, 스테이지들을 추가, 제거 또는 재배열하게 함으로써 변경될 수도 있다. 도 4는 클라이언트 디바이스(10)의 컴포넌트들에 관해 설명된다. 그러나 도 4의 방법은 다른 디바이스들에 의해 수행되거나 다양한 디바이스들에 의해 공동으로 수행될 수도 있다고 이해되어야 한다. 예를 들어, 서버 디바이스(50)의 제어 유닛(60)(도 1a)이 도 4의 방법을 수행하도록 구성될 수도 있다.
[0057] 일반적으로, 프로세스(400)는 이미지에서 객체를 검출하는데 필요한 시간을 단축할 수도 있다. 검출 시간은 이미지(202) 내에서 키포인트들의 위치 및 특징에 좌우될 수 있다. 특징 추출 유닛(22)은 타일(204)로부터 특징들을 추출하기 위한 추출 알고리즘들을 포함하고, 제어 유닛(20)은 추출된 특징들을, 연결 기하학적 구조들을 기초로 특징들을 서로 관련시키는 질의의 형태로 제공한다. 이러한 특징들 및 기하학적 구조들은 비슷한 방식으로 추출되었던 특징들을 갖는, 하나 또는 그보다 많은 객체 데이터베이스들(30, 52)에 저장된 기준 이미지들과 비교될 수 있다. 그 목적은 특징들 및 질의 이미지로부터의 특징들을 데이터베이스 내의 이미지들에 연결하는 기반이 되는 기하학적 구조를 비교하여 가장 근접한 매칭을 찾는 것이다. 프로세스(400)는 0차 이미지에 대해 직접 수행될 수도 있고, 그리고/또는 이는 더 높은 차수의 이미지들에 대해 수행될 수도 있다. 한 실시예에서, 더 높은 차수의 이미지가 프로세스(400)에 따라 처리되어 초기 타일의 포지션 및/또는 더 낮은 차수 이미지 상에 사용될 래스터 주사 패턴을 결정할 수 있다. 일부 실시예들에서, 초기 타일 및/또는 사용될 래스터 주사 패턴이 결정된 후, 결정된 초기 타일 및/또는 래스터 주사 패턴을 사용하여 프로세스(400)에 따라 더 낮은 차수 이미지가 처리된다.
[0058] 스테이지(402)에서, 제어 유닛(20)이 객체의 이미지를 수신한다. 예를 들어, 카메라(12)가 객체의 이미지(202)를 캡처할 수 있고, 제어 유닛(20)이 카메라 모드를 통해 또는 이전에 저장된 이미지 파일로부터 이미지를 수신한다. 스테이지(404)에서, 특징 추출 유닛(22)이 옥타브를 선택하거나 수신된 이미지를 더 낮은 스케일(즉, 더 높은 차수)로 다운샘플링하여 처리를 시작할 수 있다. 프로세스(400)가 이미지의 0 옥타브에 대해 이용될 수 있으므로 스테이지(404)는 선택적이다. 더 높은 옥타브들(즉, 다운샘플링된 이미지들)이 특징 인식에 충분할 수도 있고, 특징 로컬화 정보를 제공하여 더 낮은 옥타브들에서의 처리를 보조할 수 있다.
[0059] 스테이지(406)에서, 타일 패턴 유닛(24)이 처리될 초기 타일(204)을 결정할 수 있다. 한 실시예에서, 초기 타일은 이미지(202)의 상부 좌측 코너에 있을 수 있으며, 래스터 주사 패턴에서 다음 타일들이 처리될 수 있다. 다른 실시예에서, 도 3을 참조하면, 초기 타일(304)은 심하게 다운샘플링된 이미지의 낮은 복잡도의 탐색을 기초로 할 수 있고, 타일 처리 패턴에 따라 더 낮은 차수 이미지에서 추가 타일들이 처리될 수 있다. 타일들은 임의의 순서 또는 시퀀스로 처리될 수 있으므로 타일 처리 패턴은 도 3에 도시된 것과 같이 순차적이고 연속적인 순서일 필요는 없다.
[0060] 초기 타일(예를 들어, 204, 304)을 결정한 후, 특징 추출 유닛(22)은 초기 타일로부터 키포인트들을 추출할 수 있다. 특징 추출 유닛은 특징들을 추출하도록 구성된 알고리즘들, 및 타일의 대응하는 기하학적 구조들을 적용할 수도 있다. 한 실시예에서, 특징 추출 유닛(22)이 단일 타일을 처리하고, 다음에 제어 유닛(20)이 시퀀스에서 다음 타일(예를 들어, 래스터 주사에서는, 확장 원 또는 다른 패턴들)로 이동하기 전에 데이터베이스(예를 들어, 로컬 객체 데이터베이스(30) 또는 원격 객체 데이터베이스(52))에 특징 매칭이 존재하는지 여부를 결정한다. 예를 들어, 스테이지(408)에서, 특징 추출 유닛(22)은 가우시안 블러 필터링과 같은 특징 검출 알고리즘들을 이용하여 타일로부터 특징들을 추출할 수 있다. 스테이지(410)에서, 특징 추출 유닛(22)은 만약 있다면, 타일(204)에서 추출된 특징들의 카운트를 결정하고, 처리된 타일마다 추출된 특징들의 누계를 유지할 수 있다. 일반적으로, 추출된 특징들의 총 개수는 타일이 초기 포지션에서부터 앞으로 진행됨에 따라 선형적으로 증가할 수 있고, 매칭 질의를 형성할 때 누적 특징들 전부가 고려된다. 예를 들어, 특징 추출 유닛(22)은 N개의 타일들에 걸쳐 반복하고 N개의 타일들에서 검출된 특징들의 누계를 저장할 수 있다.
[0061] 스테이지(412)에서, 특징 추출 유닛(22)은 처리된 타일들에 대해 검출된 특징들의 카운트를 임계값과 비교할 수 있다. 충분한 수의 특징들이 검출된다면(예를 들어, 3, 4, 5, 10, 15, 50), 제어 유닛(20)이 스테이지(414)에서 매칭 프로시저를 실행할 수 있다. 예를 들어, 검출된 특징들 및 대응하는 기하학적 구조들이 객체 데이터베이스들(30, 52) 중 하나 또는 그보다 많은 데이터베이스에 저장된 특징들과 비교될 수 있다. 스테이지(416)에서 제어 유닛(20)이 객체가 인식된다고 결정한다면, 스테이지(418)에서 검출 파이프라인이 종료될 수 있다. 한 실시예에서, 프로세스(400)는 인식된 객체들의 수가 미리 결정된 임계값(예를 들어, 1개, 2개, 5개, 10개의 객체들)을 충족할 때까지 계속될 수 있다. 미리 결정된 임계치는 예를 들어, 클라이언트(10) 상에서 실행되는 증강 현실 애플리케이션에 의해 설정될 수도 있다. 객체 검출(즉, 매칭 프로시저)의 결과들이 사용자 또는 다른 애플리케이션에 제시될 수 있다. 예를 들어, 매칭 프로시저의 결과들이 클라이언트 디바이스 상에 텍스트 또는 첨가물로서 디스플레이되거나, 네트워크(40)를 통해 다른 로컬 또는 원격 애플리케이션(예를 들어, 웹 서비스)에 제시될 수 있다. 한 실시예에서, 매칭 프로시저의 결과들은 애플리케이션에 의한 다음 액세스를 위해 메모리에 저장될 수 있다.
[0062] 한 실시예에서, 스테이지(416)에서 객체가 인식되면, 선택적 스테이지(416a)에서 포즈 개선 유닛(26)은 객체의 포즈가 객체 데이터베이스들(30, 52) 내의 정보와 기하학적으로 일치하는지 여부를 결정하도록 구성된다. 예를 들어, 포즈 개선 유닛(26)은 가장 낮은 옥타브를 기초로 객체의 포즈를 개선하도록 시도할 수 있다. 포즈 개선 정보가 기하학적으로 일치하지 않는다면, 프로세스(400)는 객체가 인식되지 않는다고 결정할 수 있다. 포즈 개선 단계(416a)는 더 높은 옥타브 탐색들에 발견된 긍정 오류들에 대한 보호 장치를 부가할 수 있다. 객체가 인식되지 않거나, 포즈 정보가 기하학적으로 일치하지 않거나, 또는 특징들의 수가 충분하지 않다면, 스테이지(420)에서 시퀀스의 다음 타일이 처리될 수 있다.
[0063] 일부 실시예들에서, 프로세스(400)에 따라 네이티브 옥타브 이외의 옥타브가 처음에 처리되고, 임계 개수의 객체들이 인식되지 않고 그리고/또는 임계 개수의 객체들의 포즈가 기하학적으로 일치하지 않는다면, 프로세스(400)에 따라 더 낮은 옥타브가 처리될 수도 있다. 일부 실시예들에서는, 제 1 옥타브(예를 들어, 가장 높은 옥타브)가 선택되고, 임계 개수의 객체들이 인식되고 기하학적으로 일치할 때까지 ― 이 시점에 프로세스(400)가 검출 파이프라인을 종료할 수 있음 ― 더 낮은 옥타브들이 프로세스(400)에 따라 순차적으로 처리된다.
[0064] 도 5를 참조하면, 스케일 및 공간 이미지 처리 후의 조기 종료를 나타내는 개념도(500)가 도시된다. 도면(500)은 카메라 뷰를 나타내는 낮은 옥타브 이미지(502)(예를 들어, 0 또는 네이티브 옥타브), 또는 모바일 디바이스(10)에 의해 캡처된 이미지 파일을 포함한다. 이미지(502)는 이미지의 상부 절반에 로케이팅된 관심 객체(504)(즉, 자전거)를 포함한다. 특징 추출 유닛(22)은 일반적으로 이미지(502) 내에서 특징들을 포함할 수 있는 영역을 검출하도록 구성되고, 타일 패턴 유닛(24)은 초기 타일 위치에 대한 영역을 선택하도록 구성될 수 있다. 특징 추출 유닛(22)은 또한 초기 타일에 대한 스케일을 결정할 수도 있다. 이미지(502)에 도시된 바와 같이, 객체들은 이미지(502)의 상부 절반에 로케이팅되고, 이미지의 하부 절반에 있는 타일들을 처리할 이유는 거의 없을 수도 있다. 타일 패턴 유닛(24)은 주사 패턴을 결정한다. 일례로, 제 1 타일(508)이 (예를 들어, 0 옥타브 이미지(502)의 픽셀들 중 대략 1%, 5%, 10% 또는 15%를 사용하여) 심하게 다운샘플링된 옥타브 이미지(506)에 로케이팅될 수 있다. 일반적으로, 이미지(506)는 일부 실시예들에서 이미지(502)보다 더 높은 옥타브이다. 원본 이미지(502)는 가장 낮은(또는 네이티브) 스케일/옥타브로서 기술될 수 있다. 일례로, 이미지(506)는 이미지(502) 크기의 대략 ¼(즉, 각각의 치수가 ½)이고, 제 1 옥타브(즉, 원본 이미지보다 한 옥타브 더 높은)로 불린다. 이미지(512)는 다른 더 높은 옥타브이며, 타일링 프로세스가 서로 다른 옥타브들로 구현될 수 있음을 증명하도록 제공된다. 예를 들어, 이미지(512)는 원본 이미지(502) 크기의 대략 1/16(즉, 각각의 치수가 ¼)일 수 있다. 특징 추출 유닛(22)은 이웃(514)에서 낮은 복잡도의 특징 탐색을 수행할 수 있다. 제어 유닛(20)이 로컬 통계를 실행할 수 있고, 관심 객체들(504)의 위치가 저장될 수 있다. 예를 들어, 위치는 이미지의 하위 영역을 식별할 수 있다. 하위 영역은 (x1, y1) 및 (x2, y2)로 정의될 수 있으며, 하위 영역 내에서 타일링이 발생할 수 있다.
[0065] 동작시, 특징 추출 유닛(22)은 더 높은 옥타브 이미지들(506, 512)(즉, 심하게 다운샘플링된 이미지들)을 처리하고 대략적 레벨 매칭을 수행하도록 구성된다. 예를 들어, 특징 추출 유닛(22)은 처음에 제 2(또는 더 높은) 옥타브 이미지(512)에서 특징들(510) 및 연관된 기하학적 구조들을 검출할 수 있다. 제 2 옥타브 이미지(512)를 사용한 대략적 매칭의 결과들이 성공적이지 않다면, 특징 추출 유닛(22)이 더 낮은 옥타브 이미지(예를 들어, 제 1 옥타브 이미지(506))를 처리하도록 구성된다. 일반적으로, 특징 추출 유닛(22)의 출력은 카메라 뷰(502) 내의 타깃 객체가 관심 객체인지(예를 들어, 객체 데이터베이스들(30, 52) 중 하나에 있는 정보와 상관하는지) 여부에 관한 표시이다.
[0066] 논의한 바와 같이, 특징 추출 유닛(22)을 높은 옥타브 이미지들(506, 512)을 처리하여 특징들(510)이 관심 객체(504)를 나타내는지 여부를 결정할 수 있다. 포즈 개선 유닛(26)은 더 낮은 옥타브 이미지(516)로부터의 타일을 처리하여 객체의 포즈를 결정하도록 구성된다. 예를 들어, 더 낮은 옥타브(516)는 픽셀 레벨 도메인(예를 들어, 네이티브 옥타브(502)) 내에 있을 수도 있다. 일반적으로, 더 높은 옥타브 이미지들(예를 들어, 506, 512)은 더 심하게 다운샘플링된 옥타브들이다. 더 높은 옥타브 이미지(512)가 일반적으로 객체(504)의 대략적 위치를 결정하는데 충분할 수도 있다. 예를 들어, 특징 추출 유닛(22)은 다운샘플링된 이미지(512)의 대략적 위치 처리를 기초로 영역(518)을 식별하도록 구성된다. 포즈 개선 유닛(26)은 객체(504)의 특징들(510)을 포함하는 영역(518)을 처리하여 객체(504)의 정교한 포즈를 결정하도록 구성된다. 한 실시예에서, 포즈 개선 유닛(26)은 다운샘플링된 이미지(512)로부터 객체의 추정된 위치 상으로의 대략적 호모그래피 투영을 이용하여 더 낮은 옥타브 이미지의 영역(518)에서 로컬 탐색을 수행한다. 포즈 개선 유닛(26)은 정규화된 상호 상관(NCC) 또는 다른 저가의 특징 추적 기술을 사용하여 원본 해상도(예를 들어, 옥타브 0)로 포즈 개선을 위한 로컬 탐색을 수행할 수 있다. 영역(518)의 크기는 객체 특징들(510)을 검출하는데 사용된 옥타브를 기초로 할 수도 있다. 예를 들어, 제 1 옥타브 이미지(506)가 대략적 로컬화에 사용된다면, 영역(518)은 타일(508) 크기의 4배일 수도 있다. 마찬가지로, 타일(514)이 대략적 로컬화에 사용된다면, 영역(518)의 크기는 타일(514) 크기일 것이다. 타일들의 크기 및 비율은 단지 예시일 뿐이며, 다른 크기들 및 비율들이 사용될 수도 있으므로 한정은 아니다.
[0067] 하나 또는 그보다 많은 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 결합으로 구현될 수 있다. 소프트웨어로 구현된다면, 이 기능들은 하나 또는 그보다 많은 명령들 또는 코드로서 컴퓨터 판독 가능 매체 상에 저장되거나 이를 통해 송신될 수 있고, 하드웨어 기반 처리 유닛에 의해 실행될 수 있다. 컴퓨터 판독 가능 매체는 데이터 저장 매체와 같은 유형 매체에 대응하는 컴퓨터 판독 가능 저장 매체, 또는 예를 들어, 통신 프로토콜에 따라 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수도 있다. 이런 식으로, 컴퓨터 판독 가능 매체는 일반적으로 (1) 비-일시적인 유형의 컴퓨터 판독 가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 본 개시에서 설명된 기술들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 리트리브하기 위해 하나 또는 그보다 많은 컴퓨터들 또는 하나 또는 그보다 많은 프로세서들에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수도 있다. 컴퓨터 프로그램 물건은 컴퓨터 판독 가능 매체를 포함할 수 있다.
[0068] 한정이 아닌 예시로, 유형의 컴퓨터 판독 가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM이나 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령들이나 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스 가능한 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독 가능 매체로 적절히 지칭된다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 꼬임 쌍선, 디지털 가입자 회선(DSL: digital subscriber line), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다. 그러나 컴퓨터 판독 가능 저장 매체 및 데이터 저장 매체는 접속들, 반송파들, 신호들 또는 다른 일시적 매체를 포함하지 않지만, 대신에 비-일시적 유형 저장 매체에 관한 것이라고 이해되어야 한다. 본 명세서에서 사용된 것과 같은 디스크(disk 및 disc)는 콤팩트 디스크(CD: compact disc), 레이저 디스크(laser disc), 광 디스크(optical disc), 디지털 다기능 디스크(DVD: digital versatile disc), 플로피 디스크(floppy disk) 및 블루레이 디스크(blu-ray disc)를 포함하며, 여기서 디스크(disk)들은 보통 자기적으로 데이터를 재생하는 한편, 디스크(disc)들은 레이저들에 의해 광학적으로 데이터를 재생한다. 상기의 결합들이 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
[0069] 명령들은 하나 또는 그보다 많은 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 필드 프로그래밍 가능 로직 어레이(FPGA)들, 또는 다른 대등한 집적 또는 이산 로직 회로와 같은 하나 또는 그보다 많은 프로세서들에 의해 실행될 수 있다. 이에 따라, 본 명세서에서 사용된 "프로세서"라는 용어는 앞서 말한 구조 또는 본 명세서에서 설명한 기술들의 구현에 적합한 임의의 다른 구조 중 임의의 구조를 의미할 수 있다. 또한, 일부 양상들에서, 본 명세서에서 설명한 기능은 인코딩 및 디코딩을 위해 구성되거나 결합된 코덱으로 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에서 제공될 수 있다. 또한, 기술들은 완전히 하나 또는 그보다 많은 회로들 또는 로직 엘리먼트들로 구현될 수 있다.
[0070] 본 개시의 기술들은 무선 핸드셋, 집적 회로(IC: integrated circuit) 또는 IC들의 세트(예를 들어, 칩셋)를 포함하는 광범위한 디바이스들 또는 장치들로 구현될 수도 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들은 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양상들을 강조하도록 본 개시에서 설명되지만, 반드시 서로 다른 하드웨어 유닛들에 의한 실현을 요구하는 것은 아니다. 그보다는, 앞서 설명한 바와 같이, 다양한 유닛들이 적당한 소프트웨어 및/또는 펌웨어와 함께, 앞서 설명한 하나 또는 그보다 많은 프로세서들을 포함하는 연동 하드웨어 유닛들의 집합에 의해 제공되거나 코덱 하드웨어 유닛으로 결합될 수도 있다.
[0071] 다양한 예들이 설명되었다. 이러한 예들 및 다른 예들이 다음 청구항들의 범위 내에 있다.

Claims (38)

  1. 객체 검출 파이프라인을 종료하는 방법으로서,
    상기 객체 검출 파이프라인 내에 있는 동안, 이미지의 제 1 타일 내의 특징들의 수를 결정하는 단계 ― 상기 이미지는 복수의 타일들로 나눌 수 있음 ―;
    상기 제 1 타일 내의 특징들의 수가 임계값을 충족한다면, 상기 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하는 단계;
    상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하는 단계; 및
    상기 매칭 프로시저의 결과를 제시하는 단계를 포함하는,
    객체 검출 파이프라인을 종료하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 타일 내의 특징들의 수가 상기 임계값을 충족하지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하는 단계를 더 포함하는,
    객체 검출 파이프라인을 종료하는 방법.
  3. 제 2 항에 있어서,
    상기 이미지 내에서 제 2 타일의 위치는 수직 래스터 패턴을 기초로 하는,
    객체 검출 파이프라인을 종료하는 방법.
  4. 제 2 항에 있어서,
    상기 이미지 내에서 상기 제 2 타일의 위치는 미리 결정된 탐색 패턴을 기초로 하는,
    객체 검출 파이프라인을 종료하는 방법.
  5. 제 2 항에 있어서,
    상기 이미지 내에서 상기 제 1 타일과 상기 제 2 타일의 위치들은 상기 이미지의 다운샘플링된 버전에 대해 수행된 이미지 분석을 기초로 하는,
    객체 검출 파이프라인을 종료하는 방법.
  6. 제 2 항에 있어서,
    N개의 타일들 내의 특징들의 누적 개수가 임계값을 충족하지 않는다면, 상기 이미지 내의 N+1 타일로부터 특징들을 추출하는 단계;
    상기 N개의 타일들과 상기 N+1 타일로부터의 누적 특징들의 수가 임계값을 충족한다면, 상기 N+1 타일로부터 추출된 특징들 및 상기 N개의 타일들로부터 추출된 누적 특징들을 사용하여 상기 매칭 프로시저를 수행하는 단계; 및
    상기 N개의 타일들과 상기 N+1 타일로부터의 누적 특징들을 사용한 상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하는 단계를 더 포함하는,
    객체 검출 파이프라인을 종료하는 방법.
  7. 제 1 항에 있어서,
    상기 매칭 프로시저의 결과들이 객체가 인식됨을 나타내지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하는 단계를 더 포함하는,
    객체 검출 파이프라인을 종료하는 방법.
  8. 제 1 항에 있어서,
    인식된 객체의 포즈를 결정하는 단계, 및
    상기 인식된 객체의 포즈가 객체 데이터베이스 내의 정보와 기하학적으로 일치하지 않는다면, 상기 이미지 내에서 제 2 타일로부터 특징들을 추출하는 단계를 더 포함하는,
    객체 검출 파이프라인을 종료하는 방법.
  9. 제 1 항에 있어서,
    상기 이미지는 상기 제 1 타일로부터 상기 특징들이 추출되기 전에 다운샘플링되는,
    객체 검출 파이프라인을 종료하는 방법.
  10. 제 1 항에 있어서,
    상기 매칭 프로시저를 수행하는 단계는,
    상기 특징들의 서브세트를 원격 디바이스에 송신하는 단계, 및
    상기 원격 디바이스로부터 상기 결과를 수신하는 단계를 포함하는,
    객체 검출 파이프라인을 종료하는 방법.
  11. 제 1 항에 있어서,
    상기 제 1 타일의 추출된 특징들을 기초로 위치 통계를 결정하는 단계;
    상기 위치 통계를 기초로 상기 이미지의 하위 옥타브 버전 상에서 상기 추출된 특징들을 검출하는 단계; 및
    상기 이미지의 하위 옥타브 버전 상에서 검출된 특징들을 기초로 상기 객체의 포즈를 계산하는 단계를 포함하는,
    객체 검출 파이프라인을 종료하는 방법.
  12. 객체 검출 파이프라인을 구현하도록 구성된 장치로서,
    메모리 유닛;
    상기 메모리 유닛에 연결된 프로세서를 포함하며,
    상기 프로세서는,
    상기 객체 검출 파이프라인 내에 있는 동안, 이미지의 제 1 타일 내의 특징들의 수를 결정하고 ― 상기 이미지는 복수의 타일들로 나눌 수 있음 ―;
    상기 제 1 타일 내의 특징들의 수가 임계값을 충족한다면, 상기 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하고;
    상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하고; 그리고
    상기 매칭 프로시저의 결과를 상기 메모리 유닛에 저장하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  13. 제 12 항에 있어서,
    상기 프로세서는, 상기 제 1 타일 내의 특징들의 수가 상기 임계값을 충족하지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하도록 추가로 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  14. 제 13 항에 있어서,
    상기 프로세서는, 수직 래스터 패턴을 기초로 상기 이미지 내에서 제 2 타일의 위치를 결정하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  15. 제 13 항에 있어서,
    상기 프로세서는, 미리 결정된 탐색 패턴을 기초로 상기 이미지 내에서 상기 제 2 타일의 위치를 결정하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  16. 제 13 항에 있어서,
    상기 프로세서는, 상기 이미지의 다운샘플링된 버전을 생성하고 상기 이미지의 다운샘플링된 버전에 대해 수행된 이미지 분석을 기초로 상기 이미지 내에서 상기 제 1 타일과 상기 제 2 타일의 위치들을 결정하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  17. 제 13 항에 있어서,
    상기 프로세서는,
    N개의 타일들 내의 특징들의 누적 개수가 임계값을 충족하지 않는다면, 상기 이미지 내의 N+1 타일로부터 특징들을 추출하고;
    상기 N개의 타일들과 상기 N+1 타일로부터의 누적 특징들의 수가 임계값을 충족한다면, 상기 N+1 타일로부터 추출된 특징들 및 상기 N개의 타일들로부터 추출된 누적 특징들을 사용하여 상기 매칭 프로시저를 수행하고; 그리고
    상기 N개의 타일들과 상기 N+1 타일로부터의 누적 특징들을 사용한 상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  18. 제 12 항에 있어서,
    상기 프로세서는, 상기 매칭 프로시저의 결과들이 객체가 인식됨을 나타내지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  19. 제 12 항에 있어서,
    상기 프로세서는, 인식된 객체의 포즈를 결정하고, 그리고 상기 인식된 객체의 포즈가 객체 데이터베이스 내의 정보와 기하학적으로 일치하지 않는다면, 상기 이미지 내에서 제 2 타일로부터 특징들을 추출하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  20. 제 12 항에 있어서,
    상기 프로세서는, 상기 제 1 타일로부터 상기 특징들이 추출되기 전에 상기 이미지를 다운샘플링하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  21. 제 12 항에 있어서,
    상기 프로세서는, 상기 특징들의 서브세트를 원격 디바이스에 송신하고, 상기 원격 디바이스로부터 상기 결과를 수신함으로써 상기 매칭 프로시저를 수행하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  22. 제 12 항에 있어서,
    상기 프로세서는,
    상기 제 1 타일의 추출된 특징들을 기초로 위치 통계를 결정하고;
    상기 위치 통계를 기초로 상기 이미지의 하위 옥타브 버전 상에서 상기 추출된 특징들을 검출하고; 그리고
    상기 이미지의 하위 옥타브 버전 상에서 검출된 특징들을 기초로 상기 객체의 포즈를 계산하도록 구성되는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  23. 제 12 항에 있어서,
    상기 이미지를 캡처하고 상기 이미지를 상기 프로세서에 제공하도록 구성된 카메라를 더 포함하는,
    객체 검출 파이프라인을 구현하도록 구성된 장치.
  24. 객체 검출 파이프라인을 종료하기 위한 장치로서,
    상기 객체 검출 파이프라인 내에 있는 동안, 이미지의 제 1 타일 내의 특징들의 수를 결정하기 위한 수단 ― 상기 이미지는 복수의 타일들로 나눌 수 있음 ―;
    상기 제 1 타일 내의 특징들의 수가 임계값을 충족한다면, 상기 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하기 위한 수단;
    상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하기 위한 수단; 및
    상기 매칭 프로시저의 결과를 저장하기 위한 수단을 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  25. 제 24 항에 있어서,
    상기 제 1 타일 내의 특징들의 수가 상기 임계값을 충족하지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하기 위한 수단을 더 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  26. 제 25 항에 있어서,
    수직 래스터 패턴을 기초로 상기 이미지 내에서 제 2 타일의 위치를 결정하기 위한 수단을 더 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  27. 제 25 항에 있어서,
    미리 결정된 탐색 패턴을 기초로 상기 이미지 내에서 상기 제 2 타일의 위치를 결정하기 위한 수단을 더 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  28. 제 25 항에 있어서,
    상기 이미지의 다운샘플링된 버전을 생성하기 위한 수단, 및
    상기 이미지의 다운샘플링된 버전에 대해 수행된 이미지 분석을 기초로 상기 이미지 내에서 상기 제 1 타일과 상기 제 2 타일의 위치들을 결정하기 위한 수단을 더 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  29. 제 25 항에 있어서,
    N개의 타일들 내의 특징들의 누적 개수가 임계값을 충족하지 않는다면, 상기 이미지 내의 N+1 타일로부터 특징들을 추출하기 위한 수단;
    상기 N개의 타일들과 상기 N+1 타일로부터의 누적 특징들의 수가 임계값을 충족한다면, 상기 N+1 타일로부터 추출된 특징들 및 상기 N개의 타일들로부터 추출된 누적 특징들을 사용하여 상기 매칭 프로시저를 수행하기 위한 수단; 및
    상기 N개의 타일들과 상기 N+1 타일로부터의 누적 특징들을 사용한 상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하기 위한 수단을 더 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  30. 제 24 항에 있어서,
    상기 매칭 프로시저의 결과들이 객체가 인식됨을 나타내지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하기 위한 수단을 더 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  31. 제 24 항에 있어서,
    인식된 객체의 포즈를 결정하기 위한 수단, 및
    상기 인식된 객체의 포즈가 객체 데이터베이스 내의 정보와 기하학적으로 일치하지 않는다면, 상기 이미지 내에서 제 2 타일로부터 특징들을 추출하기 위한 수단을 더 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  32. 제 24 항에 있어서,
    상기 제 1 타일로부터 상기 특징들이 추출되기 전에 상기 이미지를 다운샘플링하기 위한 수단을 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  33. 제 24 항에 있어서,
    상기 매칭 프로시저를 수행하기 위한 수단은,
    상기 특징들의 서브세트를 원격 디바이스에 송신하기 위한 수단, 및
    상기 원격 디바이스로부터 상기 결과를 수신하기 위한 수단을 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  34. 제 24 항에 있어서,
    상기 제 1 타일의 추출된 특징들을 기초로 위치 통계를 결정하기 위한 수단;
    상기 위치 통계를 기초로 상기 이미지의 하위 옥타브 버전 상에서 상기 추출된 특징들을 검출하기 위한 수단; 및
    상기 이미지의 하위 옥타브 버전 상에서 검출된 특징들을 기초로 상기 객체의 포즈를 계산하기 위한 수단을 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  35. 제 24 항에 있어서,
    상기 이미지를 캡처하고 상기 이미지를 프로세서에 제공하기 위한 수단을 포함하는,
    객체 검출 파이프라인을 종료하기 위한 장치.
  36. 컴퓨터 판독 가능 매체로서,
    상기 컴퓨터 판독 가능 매체 상에는, 실행될 때 프로세서로 하여금,
    객체 검출 파이프라인 내에 있는 동안, 이미지의 제 1 타일 내의 특징들의 수를 결정하게 하고 ― 상기 이미지는 복수의 타일들로 나눌 수 있음 ―;
    상기 제 1 타일 내의 특징들의 수가 임계값을 충족한다면, 상기 제 1 타일 내의 특징들의 적어도 서브세트를 사용하여 매칭 프로시저를 수행하게 하고;
    상기 매칭 프로시저의 결과가 상기 이미지에서 객체가 인식됨을 나타낸다면, 상기 객체 검출 파이프라인을 종료하게 하고; 그리고
    상기 매칭 프로시저의 결과를 저장하게 하는 명령들이 저장되는,
    컴퓨터 판독 가능 매체.
  37. 제 36 항에 있어서,
    상기 프로세서로 하여금, 상기 제 1 타일 내의 특징들의 수가 상기 임계값을 충족하지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하게 하기 위한 명령들을 더 포함하는,
    컴퓨터 판독 가능 매체.
  38. 제 36 항에 있어서,
    상기 프로세서로 하여금, 상기 매칭 프로시저의 결과들이 객체가 인식됨을 나타내지 않는다면, 상기 이미지 내의 제 2 타일로부터 특징들을 추출하게 하기 위한 명령들을 더 포함하는,
    컴퓨터 판독 가능 매체.
KR1020157027584A 2013-03-12 2014-03-05 특징들의 공간 로컬화의 이용에 의한 객체 검출 시간 단축 KR20150127653A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/796,444 US9202129B2 (en) 2013-03-12 2013-03-12 Reducing object detection time by utilizing space localization of features
US13/796,444 2013-03-12
PCT/US2014/020898 WO2014164158A1 (en) 2013-03-12 2014-03-05 Reducing object detection time by utilizing space localization of features

Publications (1)

Publication Number Publication Date
KR20150127653A true KR20150127653A (ko) 2015-11-17

Family

ID=50389528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157027584A KR20150127653A (ko) 2013-03-12 2014-03-05 특징들의 공간 로컬화의 이용에 의한 객체 검출 시간 단축

Country Status (6)

Country Link
US (1) US9202129B2 (ko)
EP (1) EP2973231A1 (ko)
JP (1) JP6437514B2 (ko)
KR (1) KR20150127653A (ko)
CN (1) CN105009145A (ko)
WO (1) WO2014164158A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101214536B1 (ko) * 2010-01-12 2013-01-10 삼성전자주식회사 뎁스 정보를 이용한 아웃 포커스 수행 방법 및 이를 적용한 카메라
US10970429B2 (en) * 2013-01-07 2021-04-06 Magma Giessereitechnologie Gmbh Method and algorithm for simulating the influence of thermally coupled surface radiation in casting processes
US10091419B2 (en) * 2013-06-14 2018-10-02 Qualcomm Incorporated Computer vision application processing
KR20150095144A (ko) * 2014-02-12 2015-08-20 삼성전자주식회사 그래픽스 데이터를 렌더링하는 방법 및 장치
DK178380B1 (en) * 2014-07-01 2016-01-25 Magma Giessereitechnologie Gmbh Method of beam tracking for use in a simulation or calculation process
US9576196B1 (en) 2014-08-20 2017-02-21 Amazon Technologies, Inc. Leveraging image context for improved glyph classification
US9418283B1 (en) * 2014-08-20 2016-08-16 Amazon Technologies, Inc. Image processing using multiple aspect ratios
US10033941B2 (en) * 2015-05-11 2018-07-24 Google Llc Privacy filtering of area description file prior to upload
CN106097398B (zh) * 2016-07-27 2019-01-29 维沃移动通信有限公司 一种运动对象的检测方法及移动终端
DE102016115837A1 (de) 2016-08-25 2018-03-01 Werner Scholzen Verfahren für die Urheberschaftsbewertung eines Gemäldes sowie eine entsprechende Verwendung
CN108428242B (zh) * 2017-02-15 2022-02-08 宏达国际电子股份有限公司 图像处理装置及其方法
CN108965687B (zh) * 2017-05-22 2021-01-29 阿里巴巴集团控股有限公司 拍摄方向识别方法、服务器及监控方法、系统及摄像设备
CN107657574A (zh) * 2017-10-06 2018-02-02 杭州昂润科技有限公司 一种基于ar技术的地下管线资产管理系统及方法
US20190266401A1 (en) * 2018-01-11 2019-08-29 Intelinair, Inc Change Detection System
US11042626B2 (en) * 2018-05-21 2021-06-22 Nextek Power Systems, Inc. Method of and system for authenticating a user for security and control
US11977723B2 (en) * 2019-12-17 2024-05-07 Palantir Technologies Inc. Image tiling and distributive modification
KR102519144B1 (ko) * 2019-12-27 2023-04-06 부산대학교 산학협력단 심층신경망 가속기의 동적 전원 제어 장치 및 방법
US11494880B2 (en) * 2021-03-19 2022-11-08 Apple Inc. Image pyramid generation for image keypoint detection and descriptor generation
US11475240B2 (en) * 2021-03-19 2022-10-18 Apple Inc. Configurable keypoint descriptor generation
US11947590B1 (en) * 2021-09-15 2024-04-02 Amazon Technologies, Inc. Systems and methods for contextualized visual search

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579444A (en) 1987-08-28 1996-11-26 Axiom Bildverarbeitungssysteme Gmbh Adaptive vision-based controller
US5768421A (en) 1995-09-12 1998-06-16 Gaffin; Arthur Zay Visual imaging system and method
JPH09282453A (ja) * 1996-04-09 1997-10-31 Matsushita Electric Ind Co Ltd 位置認識方法
US6173066B1 (en) 1996-05-21 2001-01-09 Cybernet Systems Corporation Pose determination and tracking by matching 3D objects to a 2D sensor
US6195473B1 (en) 1997-12-26 2001-02-27 International Business Machines Corporation Non-integer scaling of raster images with image quality enhancement
EP1096777A1 (en) 1999-10-28 2001-05-02 Hewlett-Packard Company, A Delaware Corporation Document imaging system
JP5116640B2 (ja) * 2008-11-15 2013-01-09 株式会社キーエンス 検出候補の近傍排除処理機能を有する画像処理装置及び画像処理プログラム並びにコンピュータで読み取り可能な記録媒体
CN101504655B (zh) * 2009-03-06 2011-03-23 中山大学 一种基于彩色关系特征的图像近似拷贝检测方法
US8861864B2 (en) 2010-03-11 2014-10-14 Qualcomm Incorporated Image feature detection based on application of multiple feature detectors
CN102096821B (zh) * 2010-04-15 2014-05-07 西安理工大学 基于复杂网络理论的强干扰环境下的车牌识别方法
US8699821B2 (en) 2010-07-05 2014-04-15 Apple Inc. Aligning images
US8625902B2 (en) * 2010-07-30 2014-01-07 Qualcomm Incorporated Object recognition using incremental feature extraction
GB2487375B (en) * 2011-01-18 2017-09-20 Aptina Imaging Corp Interest point detection
JP4764531B1 (ja) * 2011-02-28 2011-09-07 ヴィスコ・テクノロジーズ株式会社 画像検査装置

Also Published As

Publication number Publication date
JP2016513843A (ja) 2016-05-16
CN105009145A (zh) 2015-10-28
JP6437514B2 (ja) 2018-12-12
US9202129B2 (en) 2015-12-01
WO2014164158A1 (en) 2014-10-09
EP2973231A1 (en) 2016-01-20
US20140270344A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
US9202129B2 (en) Reducing object detection time by utilizing space localization of features
JP5654127B2 (ja) インクリメントな特徴抽出を使用するオブジェクト認識
JP6976270B2 (ja) 地理的領域におけるコンテナ内に格納された量の遠隔決定
EP2491532B1 (fr) Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images
US8897512B1 (en) Video hashing system and method
CN108734185B (zh) 图像校验方法和装置
KR20130019430A (ko) 미리 계산된 스케일-공간으로부터의 데이지 서술자 생성
WO2013079098A1 (en) Dynamically configuring an image processing function
CN108416902A (zh) 基于差异识别的实时物体识别方法和装置
JP4864310B2 (ja) 画像の表現方法、記述子を符号化、送信、または復号化する方法、マッチング方法、画像の検索方法、装置、およびコンピュータプログラム
CN110516731B (zh) 一种基于深度学习的视觉里程计特征点检测方法及系统
CN113298871B (zh) 地图生成方法、定位方法及其系统、计算机可读存储介质
FR2946444A1 (fr) Procede et dispositif de calibration d'un capteur d'images utilisant un systeme temps reel de suivi d'objets dans une sequence d'images
Amato et al. Technologies for visual localization and augmented reality in smart cities
Bal et al. Image‐based locating and guiding for unmanned aerial vehicles using scale invariant feature transform, speeded‐up robust features, and oriented fast and rotated brief algorithms
Lehiani et al. Object identification and tracking for steady registration in mobile augmented reality
Handbauer et al. Photo Tagging in Urban Environments.
George et al. Real-time logo detection and tracking in video
Cao et al. The joint effect of image blur and illumination distortions for Mobile Visual Search of print media
Yagcioglu et al. City scale image geolocalization via dense scene alignment
CN115294358A (zh) 特征点提取方法、装置、计算机设备及可读存储介质
Abolfazli et al. A Novel Scene Matching Method in Very High Resolution Satellite Images
You et al. A High-Performance Image Matching and Recognition System for Multimedia Applications

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid