KR20130057465A - 증분 특징 추출을 사용하는 오브젝트 인식 - Google Patents

증분 특징 추출을 사용하는 오브젝트 인식 Download PDF

Info

Publication number
KR20130057465A
KR20130057465A KR1020137004895A KR20137004895A KR20130057465A KR 20130057465 A KR20130057465 A KR 20130057465A KR 1020137004895 A KR1020137004895 A KR 1020137004895A KR 20137004895 A KR20137004895 A KR 20137004895A KR 20130057465 A KR20130057465 A KR 20130057465A
Authority
KR
South Korea
Prior art keywords
descriptors
received image
keypoints
scale
processor
Prior art date
Application number
KR1020137004895A
Other languages
English (en)
Other versions
KR101528081B1 (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 KR20130057465A publication Critical patent/KR20130057465A/ko
Application granted granted Critical
Publication of KR101528081B1 publication Critical patent/KR101528081B1/ko

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/88Image or video recognition using optical means, e.g. reference filters, holographic masks, frequency domain filters or spatial domain filters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Collating Specific Patterns (AREA)
  • Position Input By Displaying (AREA)

Abstract

일 실시형태에 있어서, 한 장치는 수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하고, 상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하고, 상기 제 1의 세트의 디스크립터로 특징 디스크립터 데이터베이스에 질의하여 생성되는 결과로서, 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함하는 상기 결과에 대한 확신도 값을 수신하고, 상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하도록 구성된 프로세서를 포함한다. 이와 같이, 프로세서는 증분 특징 디스크립터 추출을 수행할 수도 있고, 이것은 디지털 이미지들에서 오브젝트 인식의 계산 효율을 향상시킬 수도 있다.

Description

증분 특징 추출을 사용하는 오브젝트 인식{OBJECT RECOGNITION USING INCREMENTAL FEATURE EXTRACTION}
본 개시는 이미지 프로세싱 시스템들에 관한 것으로, 특히, 이미지들에서의 오브젝트 인식에 관한 것이다.
컴퓨팅 디바이스들 또는 컴퓨터들의 환경에서의 비쥬얼 검색은, 컴퓨터 또는 다른 디바이스들로 하여금 하나 이상의 이미지들에서 오브젝트들에 대한 식별 정보를 제공할 수 있게 하는 기술들에 관련된다. 시각적인 검색에서의 최근의 관심은, 이미지 스케일, 노이즈, 조명, 국소적인 기하학적 변형을 포함하여 아주 광범위하게 변하는 이미지 조건들에서 부분적으로 차단된 오브젝트들 및/또는 특징들을 컴퓨터가 식별할 수 있도록 하는 알고리즘으로 나타나고 있다. 동시에, 카메라를 포함하는 모바일 디바이스들이 출현하고 있지만, 이러한 모바일 디바이스들은, 텍스트를 입력하거나 또는 그 모바일 디바이스들과 상호작용 (interface) 하기 위한 제한된 유저 인터페이스들을 구비할 수도 있다. 모바일 디바이스들 및 모바일 어플리케이션들의 개발자는, 모바일 디바이스의 카메라를 활용하여 그 모바일 디바이스와의 유저 상호작용을 향상시키기 위해 노력하고 있다.
하나의 향상 내용을 설명하자면, 모바일 디바이스의 유저는, 한 가게에서 쇼핑을 하는 동안 임의의 소정의 제품의 이미지를 캡쳐하기 위해 모바일 디바이스의 카메라를 사용할 수도 있다. 그러면 모바일 디바이스는 여러 이미지들에 대한 문서화된 특징 디스크립터들의 세트 내에서 비쥬얼 검색 알고리즘을 개시하여 일치하는 이미지들에 기초하여 그 제품을 식별할 수도 있다. 제품 식별 후, 모바일 디바이스는 인터넷 기반의 검색을 개시하고 식별된 제품에 관한 정보를 포함하는 웹페이지를 제공할 수도 있는데, 상기 정보는, 예를 들면, 근처의 상인들 및/또는 온라인 상인들로부터 이용 가능한 최저 가격을 포함할 수도 있다. 다른 실시형태에서, 오브젝트 인식은 보충 정보를 생성하기 위해 사용될 수도 있는데, 이것은 모바일 디바이스의 디스플레이에 중첩되어 소위 증강 현실 (augmented reality) 을 달성할 수 있다.
일반적으로, 본 개시는 디지털 이미지들에서의 오브젝트 식별을 위한 기술들을 개시한다. 이들 기술들은 이미지에서 오브젝트들을 식별하는 계산의 복잡도를 감소시킬 수도 있다. 선정된 수의 옥타브들로부터 특징 스크립터들을 추출하는 대신, 본 개시의 기술은, 옥타브들의 진행에 따라, 증분 특징 스크립터 추출을 제공한다. 또한, 본 개시는 시작 옥타브를 선택하는 기술들과 특징 디스크립터를 추출하기 시작할 후속 옥타브들을 선택하는 기술을 제공한다.
일 실시형태에 있어서, 한 방법은 수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하는 단계와, 상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하는 단계, 상기 제 1의 세트의 디스크립터로 특징 디스크립터 데이터베이스에 질의하여 생성된 결과에 대한 확신도 값을 수신하는 단계로서, 상기 결과는 상기 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함하는, 상기 확신도 값을 수신하는 단계, 및 상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하는 단계를 포함한다.
다른 실시형태에 있어서, 한 장치는 수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하고, 상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하고, 상기 제 1의 세트의 디스크립터로 특징 디스크립터 데이터베이스에 질의하여 생성된 결과에 대한 확신도 값을 수신하고, 상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하도록 구성된 프로세서를 포함하고, 상기 결과는 상기 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함한다.
다른 실시형태에 있어서, 한 장치는 수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하는 수단과, 상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하는 수단과, 상기 제 1의 세트의 디스크립터로 특징 디스크립터 데이터베이스에 질의하여 생성된 결과에 대한 확신도 값을 수신하는 수단으로서, 상기 결과는 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함하는, 상기 확신도 값을 수신하는 수단, 및 상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하는 수단을 포함한다.
다른 실시형태에 있어서, 한 컴퓨터 프로그램 제품은 명령들이 저장된 컴퓨터 판독 가능한 매체를 포함하고, 상기 명령들은, 실행시 프로세서로 하여금 수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하게 하고, 상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하게 하고, 상기 제 1의 세트의 디스크립터로 특징 디스크립터 데이터베이스에 질의하여 생성된 결과에 대한 확신도 값을 수신하게 하고, 상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하게 하고, 상기 결과는 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함한다.
도 1은 증분 특징 디스크립터 추출을 위한 기술들이 적용될 수도 있는 예시적인 시스템을 도시하는 블록도이다.
도 2는 키포인트 추출에서 사용하기 위해 결정된 가우시안 차 (difference of Gaussian; DoG) 피라미드를 설명하는 개념도이다.
도 3은 키포인트의 검출을 더 상세히 설명하는 개념도이다.
도 4는 특징 추출 유닛이 그래디언트 분포들 (gradient distributions) 및 방향 히스토그램들 (orientation histograms) 을 얻을 수도 있도록 하는 예시적인 기술들을 설명하는 개념도이다.
도 5는 다양한 가우시안 스케일 공간들을 가로지르는 예시적인 키포인트 분포를 설명하는 차트 선도이다.
도 6은 증분 특징 디스크립터 추출을 수행하기 위한 예시적인 방법을 설명하는 순서도이다.
일반적으로, 본 개시는 디지털 이미지들에서의 오브젝트 식별을 위한 기술들을 설명한다. 이들 기술들은 이미지에서 오브젝트들을 식별하는 계산의 복잡도를 감소시킬 수도 있다. 선정된 수의 옥타브들로부터 특징 스크립터들을 추출하는 대신, 본 개시의 기술들은, 옥타브들의 진행에 따라, 증분 특징 스크립터 추출을 제공한다. 특징 디스크립터들은 일반적으로 하나 이상의 옥타브들로부터 추출될 수도 있는데, 각 옥타브는 이미지의 특정 사이즈 (예를 들면 픽셀 해상도) 에 대응한다. 주어진 옥타브에 대해, 입력 이미지는 해상도와 관련된 사이즈로 증감 (scale) 될 수도 있다. 그러면 복수의 증가적으로 많아지는 가우시안 블러 이미지들 (Gaussian-blurred images) 이 형성될 수도 있는데, 각각은 옥타브와 관련된 해상도를 갖는다. 특징 디스크립터들을 추출하기 위해 옥타브에 대한 이들 증가적으로 많아지는 블러된 이미지들이 분석될 수도 있다.
선정된 수의 옥타브들에 대한 특징 디스크립터를 추출하는 대신, 본 개시의 기술들은 제 1의 옥타브에 대한 특징 디스크립터들을 추출하고, 그 다음 이 제 1의 세트의 특징 디스크립터들에 기초하여 이미지에서 오브젝트 검출을 시도하는 것에 주안점을 둔다. 이들 특징 디스크립터들을 사용하여 오브젝트가 검출될 수 있으면, 더 이상 옥타브들을 분석할 필요가 없다. 그러나, 제 1의 옥타브로부터 오브젝트가 검출될 수 없으면, 후속 옥타브로부터 특징 디스크립터들이 추출될 수도 있다.
또한, 본 개시는 시작 옥타브를 선택하는 기술들과 특징 디스크립터를 추출하기 시작할 후속 옥타브들을 선택하는 기술을 제공한다. 시작 옥타브를 선택하는데 다양한 인자들 (factors) 이 사용될 수도 있다. 예를 들면, 이미지가 실내에서 캡쳐되었는지 또는 실외에서 캡쳐되었는지에 기초하여, 및/또는 이미지를 캡쳐하기 위해 사용된 카메라에 대한 이미지 내의 오브젝트들의 심도 (즉, 이미지 내의 오브젝트들에 대한 카메라로부터의 거리) 에 기초하여, 예를 들면, 이미지에 대한 스케일링 인자가 먼저 추정될 수도 있다.
카메라를 포함하는 디바이스, 예를 들면, 스마트폰, 태블릿 컴퓨팅 디바이스, 랩탑 컴퓨터와 같은 모바일 디바이스, 또는 다른 모바일 디바이스는, 이미지가 캡쳐될 때 그 디바이스가 실내에 있었는지 또는 실외에 있었는지를 추정하기 위해 사용될 수 있는 센서들을 또한 포함할 수도 있다. 예를 들면, 이미지가 캡쳐될 때, GPS (Global Positioning System) 유닛이 카메라의 위치를 나타내는 정보를 제공할 수도 있는데, 이것은 카메라가 실내에 있었는지 또는 실외에 있었는지의 여부를 결정하기 위해 사용될 수도 있다. 다른 실시형태로서, 이미지가 캡쳐되었을 때 무선 액세스 포인트에 접속되었던 무선 네트워크 인터페이스를 디바이스가 포함하면, 카메라가 캡쳐되었을 때 디바이스가 실내에 있었음의 추정을 지지하는 좋은 인자로 사용될 수도 있다. 또 다른 실시형태로서, 예를 들면, 디바이스가 입체 카메라 장치 (stereo camera arrangement) 를 가질 때, 이미지 내의 오브젝트들의 심도 정보가 결정될 수도 있다.
몇몇 실시형태에서, 디바이스는, 입체 카메라 장치를 사용하여 수행되는 심도 추정에 더하여 또는 이 심도 추적의 대안으로, 이미지내에서의 오브젝트들의 심도를 추정하도록 구성된 심도 추정 유닛을 포함할 수도 있다. 예를 들면, 디바이스는, 하나 이상의 적외선 센서들로부터 측정치를 수집하여 장면 (scene) 내에서의 오브젝트들의 상대적 심도들을 추정하는 심도 추정 유닛을 포함할 수도 있다. 다른 실시형태로서, 디바이스는, 이미지 내의 오브젝트들의 심도들을 추정하기 위해, 라이더 (LIght Detection And Ranging; LIDAR) 유닛과 같은 액티브 프로빙 센서들 (active proving sensors) 을 포함할 수도 있다. 라이더 유닛은 오브젝트에 대해 자외선, 가시광선 또는 적외선을 사용하여 비추고, 되돌아온 신호들을 처리하여 오브젝트들에 대한 심도들을 추정할 수도 있다. 이들 심도 추정 유닛들은 이미지 내의 오브젝트들의 심도를 추정하기 위해 단독으로 사용될 수도 있고 또는 임의의 조합으로 사용될 수도 있다. 심도 추정 유닛들은 이미지를 캡쳐하는 카메라와 거의 동시에 동작하여, 상기 심도 추정 유닛들이, 카메라로부터의 이미지 데이터를 실제 처리하지 않고도 카메라에 의해 캡쳐된 이미지 내의 오브젝트들에 대한 심도를 결정할 수도 있다.
상기 디바이스는, 예를 들면 이미지와 상기 디바이스의 부가적인 센서들에 기초한, 여러 가지 인자들을, 추정된 오브젝트 스케일과 관련시키는 구성 데이터를 포함할 수도 있다. 예를 들면, 상기 구성 데이터는, 오브젝트에 대한 여러 가지 위치 셀들(location cells) (또는 "loxels") (즉, 오브젝트가 나타날 수도 있는 loxels) 에 대해 시작 옥타브들과 스케일들을 매핑할 수도 있다. 한 실시형태로서, 사용량 통계는, 주어진 loxel에서 오브젝트가 나타날 때 가장 가능성 있는 스케일들 및/또는 옥타브들에 대한 추정을 제공하여, 시작 스케일 및/또는 옥타브뿐만 아니라 후속 스케일들 및/또는 옥타브들을 결정할 수도 있다. 다시 말하면, 몇몇 실시형태들에서, 본 개시의 기술들은 오브젝트가 나타나는 loxel에 기초하여 오브젝트에 대한 시작 옥타브 및/또는 스케일 (또한, 후속 옥타브들) 을 선택할 수도 있다.
몇몇 실시형태들에서, 키포인트 분포는 오브젝트에 대한 스케일을 추정하기 위해 사용될 수도 있다. 일반적으로, 키포인트들은 특징 디스크립터들을 생성하기 위해 사용될 수 있는 이미지의 영역들이다. 일반적으로, 상대적으로 높은 스케일들에서 검출된 키포인트들은 오브젝트의 상대적으로 더 큰 특징들에 대응한다. 마찬가지로, 이미지 해상도가 감소할수록, 미세한 세부들 (finer details) 은 더 인식하기 어렵다. 따라서, 더 큰 해상도들에서 더 큰 스케일들로 검출된 세부들 (details) 은, 일반적으로, 더 작은 해상도들에서 더 작은 스케일들로 검출된다 (따라서 더 미세한 세부들이 된다). 스케일 공간에 걸친 키포인트들의 분포를 나타내는 통계가 수집될 수 있는데, 이것은 이미지의 스케일링 인자를 추정하기 위해 사용될 수도 있다. 이전 옥타브에 대해 추출된 키포인트들을 이용하여, 제어 유닛은, 질의 이미지 (query image) 의 오브젝트에 대한 스케일을 추정하고, 추정된 스케일을 사용하여 검색할 특징 디스크립터들의 데이터베이스의 최소 옥타브를 선택할 수도 있다. 즉, 제어 유닛은 데이터베이스로 하여금 최소 옥타브 미만이 아닌 최소 옥타브 이상의 옥타브에서의 특징 디스크립터들만을 질의하게 할 수도 있다.
몇몇 경우들에 있어서, 디바이스의 카메라는 이미지들을 연속적으로 캡쳐하고, 프로세서 또는 오브젝트 인식용 다른 유닛은 캡쳐된 이미지들의 전체 또는 서브셋에서 오브젝트들의 검출을 시도할 수도 있다. 몇몇 경우들에 있어서, 프로세서는 이전 이미지들 중 하나에서 오브젝트 스케일의 근사에 도달할 수도 있다. 본 개시의 기술들은, 예를 들면, 유저가 이동하여 이미지 트래커가 이전에 획득한 타겟을 잃어버린 이후, 현재 이미지에 대한 오브젝트 스케일의 추정을 개시하기 위해 이전 픽처에 대해 미리 결정된 오브젝트 스케일 정보를 사용할 수도 있다.
일반적으로, 오브젝트 인식을 위해, 특징 디스크립터 세트들 및 다른 식별 정보의 데이터베이스가 트레이닝 이미지들로부터 유도된다. 그러면 특징 디스크립터들이 타겟 이미지들로부터 추출되고 데이터베이스에 질의하도록 사용되어, 주어진 질의 이미지의 컨텐츠를 평가하게 된다. 증강 현실 또는 비쥬얼 검색 어플리케이션을 위해, 클라이언트 (예를 들면, 셀 폰) 는 관심을 갖는 오브젝트의 이미지를 캡쳐하고 그것을 이미지들, 특징들, 및 메타데이터 정보의 데이터베이스와 비교한다. 이 데이터베이스는 네트워크 상의 서버에 저장될 수 있고, 로컬 프로세싱을 위해 클라이언트에 의해 검색되거나, 또는 네트워크 리소스들을 사용하여 처리되도록 질의(query)가 서버로 전송될 수 있다. 본 개시의 기술들은, 일반적으로, 키포인트들의 로컬라이제이션과 특징 디스크립터들의 추출을 수행하기 위해 스케일 불변 특징 변환 (Scale Invariant Feature Transfrom; SIFT) 알고리즘에 관하여 설명된다. 각각의 SIFT 특징은 다음의 속성을 가질 수도 있다: 2D(x,y) 특징 위치, 특징이 검출된 스케일, 이웃하는 특징 (feature neighborhood) 에서의 가장 강한 이미지 그래디언트의 회전 방향에 의해 주어지는 것과 같은 특징의 회전 방향, 및 차별적인 방식으로 로컬 픽셀 배리에이션들을 설명하는 벡터, 본질적으로 로컬 이미지 그래디언트들의 히스토그램.
키포인트 식별 및 디스크립터 추출은 계산적으로 힘든 작업일 수 있다. 예를 들면, 통상의 절반 크기의 비디오 그래픽스 어레이 (HVGA) 이미지는 수천개의 SIFT 특징들을 생성할 수 있다. 반복 매칭 프로세스를 포함하여, SIFT 알고리즘의 구현은 몇몇 모바일 플랫폼들에서 이용 가능한 컴퓨터 사용의 리소스들을 쉽게 넘어서게 된다. 그러나, 대부분의 실제 경우들에 있어서, 데이터베이스 내의 특징 디스크립터들과 일치하게 되는 실제 특징 디스크립터의 수는 실제 계산된 특징 디스크립터들의 수보다 훨씬 더 작아지기 쉽다. 즉, 계산된 특징 디스크립터들의 세트 중에서, 작은 서브셋이 오브젝트 식별 결과를 가져올 수도 있다. 이것은, 특징 디스크립터들에 영향을 미치는 질의 이미지에서의 상이한 촬상 조건들에 의해 (예를 들면, 조명, 원근 등), 부분적으로, 야기되어, 단지 몇몇만이 데이터베이스의 특징들과 일치하게 될 수도 있다. 본 개시의 기술들은, 디스크립터 추출 및 매칭 프로세스에 의해 부과되는 계산 부하 (computational load) 를 감소시키는 것을 돕기 위해 스케일 공간에서의 키포인트들 사이의 상호관계성을 활용할 수도 있다. 또한, 주어진 장면 내에서 복수의 오브젝트를 인식/추적할 때, 특히 몇몇 오브젝트들이 유사하면, 긍정 오류들 (false positives) 은 문제점을 일으킬 수 있다. 몇몇 실시형태들에서, 이들 기술들은, 긍정 오류들을 줄이기 위해, 매칭을 강제하기 위한 장면의 대략적이고, 상대적인 심도-맵의 계산을 포함할 수도 있다.
도 1은 증분 특징 디스크립터 추출을 위한 기술들이 적용될 수도 있는 예시적인 시스템 (2) 을 도시하는 블록도이다. 본 실시형태에서, 시스템 (2) 은 클라이언트 디바이스 (10) 와 서버 디바이스 (50) 를 포함하는데, 이들은 네트워크 (40) 를 통해 통신한다. 클라이언트 디바이스 (10) 는, 본 실시형태에서, 랩탑, 소위 넷북, 태블릿 컴퓨터, 퍼스널 디지털 어시스턴트 (PDA), 셀룰러 또는 모바일 폰 또는 핸드셋 (소위 "스마트폰" 포함), GPS 디바이스, 디지털 카메라, 디지털 미디어 플레이어, 게임 디바이스와 같은 모바일 디바이스, 또는 서버 디바이스 (50) 와 통신할 수 있는 임의의 다른 모바일 디바이스를 나타낸다. 본 개시에서는 모바일 클라이언트 디바이스 (10) 에 대해 설명하지만, 이러한 점에서 본 개시에서 설명된 기술들은 모바일 클라이언트 디바이스들에 제한되는 것은 아니다. 대신, 본 기술은 로컬 오브젝트 데이터베이스를 저장할 수 있고/있으며 네트워크 (40) 또는 임의의 다른 통신 매체를 통해 서버 디바이스 (50) 와 통신할 수 있는 임의의 디바이스에 의해 구현될 수도 있다.
서버 디바이스 (50) 는 접속들, 예를 들면 전송 제어 프로토콜 (TCP) 접속들을 수용하며, 질의 데이터를 받아 들이고 식별 데이터를 제공하게 하는 TCP 세션을 형성하도록 그 자신의 TCP 접속을 통해 응답하는 서버 디바이스를 나타낸다. 서버 디바이스 (50) 는, 서버 디바이스 (50) 가 비쥬얼 검색 알고리즘을 수행 또는 구현하여 하나의 이미지 내의 하나 이상의 특징들 또는 오브젝트들을 식별하는 점에서 비쥬얼 검색 서버 디바이스를 나타낸다.
네트워크 (40) 는, 클라이언트 디바이스 (10) 와 서버 디바이스 (50) 를 상호 접속시키는 인터넷과 같은 공중 네트워크를 나타낸다. 공통적으로, 네트워크 (40) 는 OSI (Open System Interconnection) 모델의 여러 레이어들을 구현하여 클라이언트 디바이스 (10) 와 서버 디바이스 (50) 사이에서의 통신들 또는 데이터의 전송을 용이하게 한다. 네트워크 (40) 는, 클라이언트 디바이스 (10) 와 서버 디바이스 (50) 사이에서의 데이터의 전송을 가능하게 하기 위해, 스위치들, 허브들, 라우터들, 서버들과 같은 임의의 수의 네트워크 디바이스들을 통상 포함한다. 단일의 네트워크로 도시되었지만, 네트워크 (40) 는, 상호 접속되어 네트워크 (40) 를 형성하는 하나 이상의 서브네트워크들을 포함할 수도 있다. 이들 서브네트워크들은 서비스 공급자 네트워크들, 액세스 네트워크들, 백엔드 네트워크들 또는 네트워크 (40) 를 통한 데이터의 전송을 제공하기 위해 공중 네트워크에서 공통적으로 활용되는 임의의 다른 형태의 네트워크들을 포함할 수도 있다. 본 실시형태에서 공중 네트워크로서 설명되었지만, 네트워크 (40) 는 공중에 의해 일반적으로 액세스될 수 없는 사설 네트워크를 포함할 수도 있다.
도 1의 실시형태에서 도시된 바와 같이, 클라이언트 디바이스 (10) 는 카메라 (12), 센서들 (14), 제어 유닛 (20), 로컬 오브젝트 데이터베이스 (30), 및 네트워크 인터페이스 (32) 를 포함한다. 제어 유닛 (20) 은, 본 실시형태에서, 특징 추출 유닛 (22), 스케일 추정 유닛 (24), 및 심도 정보 유닛 (26) 을 포함한다. 몇몇 실시형태들에서, 제어 유닛 (20) 은 서버 디바이스 (50) 의 확신도 평가 유닛 (confidence valuation unit; 64) 및 특징 매칭 유닛 (62) 을 또한 포함한다. 실시형태의 목적 때문에, 이들 유닛이 서버 디바이스 (50) 와 관련하여 설명될 것이지만, 유사한 유닛들이 클라이언트 디바이스 (10) 의 제어 유닛 (20) 내에 포함될 수도 있음을 주지해야 한다.
제어 유닛 (20), 제어 유닛 (60) 및 이들의 서브 유닛들에 관한 기능은 하드웨어, 소프트웨어, 및/또는 펌웨어의 임의의 조합에 의해 구현될 수도 있다. 제어 유닛 (20) 에 관한 하나 이상의 기능들이 소프트웨어 또는 펌웨어에서 구현되면, 제어 유닛 (20) 은, 소프트웨어를 실행하기 위한 하드웨어 기반의 처리 유닛들뿐만 아니라, 소프트웨어용의 명령들을 저장하는 하나 이상의 컴퓨터 판독 가능한 저장 매체를 포함할 수도 있다. 이러한 처리 유닛들은 하나 이상의 범용 프로세서를 포함할 수도 있다. 제어 유닛 (20) 과 제어 유닛 (60) 은, 부가적으로 또는 대안적으로, 하나 이상의 디지털 신호 프로세서들 (DSPs), 범용 마이크로프로세서들, 주문형 반도체들 (ASICs), 필드 프로그래머블 로직 어레이들 (FPGAs), 또는 다른 등가적인 집적 또는 이산 로직 회로와 같은, 하나 이상의 하드웨어 유닛들을 포함할 수도 있다. 제어 유닛 (20) 및 제어 유닛 (60) 에 관한 임의의 기능 또는 전체 기능은 임의의 각 하드웨어, 소프트웨어, 또는 그 펌웨어에 의해 수행될 수도 있다. 따라서, 도 1의 실시형태에서 개별적인 유닛들이 제어 유닛들 (20 및 60) 내에서 도시되었지만, 실제에 있어서는, 이러한 개별적인 유닛들은 임의의 적당한 방식으로 조합될 수도 있음을 주지해야 한다.
카메라 (12) 는 개개의 이미지 센서 소자들의 2차원 어레이, 즉, 열들과 행들로 배열된 어레이를 포함한다. 카메라 (12) 는, 예를들면, 상보형 금속 산화 반도체 (CMOS) 센서들과 같은 고상 센서 소자들, 또는 다른 센서 소자들의 어레이를 포함할 수도 있다. 카메라 (12) 내의 이미지 센서 소자들은 한 장면에 노출되어 그 장면으로부터 광정보를 획득하고 그 장면의 디지탈 이미지를 캡쳐하게 된다. 디지털 이미지는 2차원 매트릭스의 픽셀 값들을 포함할 수도 있는데, 이들은, 예를 들면, 적녹청 값들, 또는 휘도 (강도 또는 밝기) 값들 및 픽셀 색도 (칼라) 값들을 갖는 특정한 색공간에서 정의될 수도 있다.
센서 (14) 는 제어 유닛 (20) 에 정보를 제공하는 하나 이상의 환경 센서들 (environmental sensors) 을 포함한다. 제어 유닛 (20) 은 이 정보를 사용하여 카메라 (12) 에 의해 캡쳐된 이미지 내의 오브젝트에 대한 스케일을 근사시킬 수도 있다. 몇몇 실시형태에서, 센서 (14) 는 GPS(Global Positioning System) 위성들과 상호작용하여 클라이언트 디바이스 (10) 의 지리적 위치를 결정하는 GPS 유닛을 포함할 수도 있다. 또한, GPS 유닛은, 이미지가 캡쳐되었을 때 카메라 (12) 가 가리켰던 방향의 지시(indication)를 제공할 수도 있다. 제어 유닛 (20) 은 이 위치 및 방향 정보를 사용하여, 카메라 (12) 의 시선에 있을 수도 있는 잠재적인 오브젝트들로 검색을 제한할 수도 있다.
예를 들면, 원격 오브젝트 데이터베이스 (52) 는, 원격 오브젝트 데이터베이스 (52) 의 오브젝트들에 대한 지리적 위치들을 포함할 수도 있다. 센서 (14) 들의 GPS 유닛이 카메라 (12) 의 지리적 위치와 방향을 결정하면, 제어 유닛 (20) 은, 카메라 (12) 의 시선에서 지리적 위치들을 갖는 원격 오브젝트 데이터베이스 (52) 로부터 데이터의 서브셋을 검색하고 검색된 데이터를 로컬 오브젝트 데이터베이스 (30) 로서 저장할 수도 있다. 그 다음 특징 추출 유닛 (22) 은 이미지로부터 특징 디스크랩터들을 추출하고 이들 추출된 특징 디스크립터들로 로컬 오브젝트 데이터베이스 (30) 에 질의할 수도 있다.
다른 실시형태로서, 특징 추출 유닛 (22) 은 지리적 위치 방향을 사용하여, 카메라 (12) 의 시선에서 오브젝트들의 초기 스케일을 근사시킬 수도 있다. 예를 들면, 원격 오브젝트 데이터베이스 (52) 는, 센서들 (14) 의 GPS 유닛에 의해 결정된 클라이언트 디바이스 (10) 의 위치에 기초하여, 클라이언트 디바이스 (10) 근처의 지리적 위치에서 그리고 카메라 (12) 의 시선에서 오브젝트들에 대한 가장 가능성이 있는 스케일을 저장할 수도 있다. 그 다음 특징 추출 유닛 (22) 은, 원격 오브젝트 데이터베이스 (52) 에 질의하기 위해, 이 초기 스케일을 사용하여 특징 디스크립터들을 먼저 추출하고, 네트워크 (40) 를 통해 서버 디바이스 (50) 에 질의를 전송할 수도 있다. 상기 질의는, 몇몇 실시형태들에서, 특징 디스크립터들에 부가하여, 위치 정보를 포함할 수도 있다.
센서의 다른 실시형태들은, 예를 들면, 온도 센서들, 압력 센서들 (예를 들면, 기압 센서들), 광센서들, 적외선 센서들, 자외선 센서들, 습도 센서들, 이산화탄소 (CO2) 센서들, 또는 다른 환경 센서들을 포함할 수도 있는데, 이들 중 어느 것 또는 전체는 각각의 검지한 값들에 대한 값을 제공할 수도 있다. 제어 유닛 (20) 은 실내 또는 실외 환경들을 나타내는 이들 센서들의 어느 것 또는 전체에 대한 데이터 레인지들을 포함할 수도 있다. 제어 유닛 (20) 은, 카메라 (12) 가 질의 이미지를 캡쳐했을 때 클라이언트 디바이스 (10) 가 실내에 있었는지 실외에 있었는지의 여부를 결정하기 위해, 상기 센서들의 어느 것 또는 전체에 대한 현재의 값들을 대응하는 데이터 레인지들과 비교할 수도 있다.
특징 추출 유닛 (22) 은, 스케일 불변 특징 변환 (SIFT) 알고리즘, CHoG(Compressed Histogram of Gradients) 알고리즘과 같은 특징 추출 알고리즘, 또는 다른 키포인트 또는 특징 추출 디스크립터 알고리즘들에 따라 특징 추출을 수행하는 유닛을 의미한다. 일반적으로, 특징 추출 유닛 (22) 은 이미지 데이터에 대해 동작하는데, 상기 이미지 데이터는 카메라 (12) 또는 클라이언트 디바이스 (10) 내에 포함된 다른 이미지 캡쳐 디바이스를 사용하여 로컬하게 캡쳐될 수도 있다. 다르게는, 클라이언트 디바이스 (10) 는 이 이미지 데이터 자체를 캡쳐하지 않고, 예를 들면, 네트워크 (40) 를 통해 이미지를 다운로드하거나, 다른 컴퓨팅 디바이스와의 유선 접속을 통해 또는 임의의 다른 유선 또는 무선 형태의 통신을 통해 로컬하게 이미지 데이터를 다운로드하는 것에 의해 이미지 데이터를 저장할 수도 있다.
스케일 추정 유닛 (24) 은, 예를 들면, 카메라 (12) 에 의해 캡쳐된 질의 이미지의 오브젝트에 대한 스케일을 추정하는 유닛을 나타낸다. 예를 들면, 스케일 추정 유닛 (24) 은, 이미지에 대한 다양한 스케일들로부터의 실제 키포인트 분포와 비교된 (예를 들면, 트레이닝 이미지들의 세트로부터 유도된) 다양한 스케일들로부터의 키포인트들의 예상 분포에 기초하여 질의 이미지에서 오브젝트에 대한 스케일을 추정할 수도 있다. 특징 추출 유닛 (22) 은 이미지에 대한 이전 옥타브에 대해 키포인트들을 추출하고 이들 키포인트들을 스케일 추정 유닛 (24) 에 제공할 수도 있고, 스케일 추정 유닛 (24) 은, 구성 데이터를 사용하여, 질의 이미지 내의 오브젝트에 대한 스케일을 근사시키기 위해 이들 키포인트들을 사용할 수도 있다. 추정된 스케일을 사용하여, 스케일 추정 유닛 (24) 은 검색할 데이터베이스 (예를 들면, 로컬 오브젝트 데이터베이스 (30) 및/또는 원격 오브젝트 데이터베이스 (52) 의 어느 하나 또는 양자) 의 최소 옥타브를 계산할 수도 있다.
스케일 추정 유닛 (24) 은 다양한 스케일들에 대한 키포인트 분포를 설명하는 구성 데이터를 저장할 수도 있다. 그 다음, 스케일 추정 유닛 (24) 은 질의 이미지에 대한 키포인트들의 분포들을 구성 데이터의 분포들과 비교할 수도 있다. 그 다음, 스케일 추정 유닛 (24) 은 가장 잘 매칭하는 키포인트 분포를 갖는 스케일로서 질의 이미지 내의 오브젝트에 대한 근사 스케일을 결정할 수도 있다. 즉, 스케일 추정 유닛 (24) 은 다양한 스케일들에서의 질의 이미지에 대한 키포인트 분포를 대표하는 값들을 결정하고 이들 값들을 구성 데이터의 다양한 스케일들의 키포인트 분포에 대한 예상 값들과 비교할 수도 있다. 스케일 추정 유닛 (24) 은, 질의 이미지로부터의 키포인트 분포 값들이 대응하는 스케일에 대한 구성 데이터로부터의 추정 키포인트 분포 값들과 가장 잘 매치하게 되는 스케일로서 오브젝트의 스케일을 근사시킬 수도 있다.
본 개시의 기술들에 따르면, 특징 추출 유닛 (22) 은 질의 이미지에 대한 추정 스케일에 대응하는 옥타브에서 시작할 수도 있다. 즉, 특징 추출 유닛 (22) 은 추정 스케일에 대응하는 옥타브에 대한 특징 디스크립터를, 그 옥타브로부터 추출된 키포인트들을 사용하여 추출할 수도 있다. 그 다음, 제어 유닛 (20) 은, 질의 이미지의 오브젝트의 아이덴티티가 이들 특징 디스크립터들만을 사용하여 결정될 수 있는지의 여부를 결정하고, 아니면, 후속 혹타브에 대한 특징 디스크립터들의 추출로 진행할 수도 있다.
심도 추정 유닛 (26) 은 카메라 (12) 에 의해 캡쳐된 이미지에서 하나 이상의 오브젝트들에 대한 심도를 추정하도록 일반적으로 구성된다. 심도 추정 유닛 (26) 은, 비행시간 센서 (time-of-flight sensor), 구조화 광센서 (structured light sensor), 또는 키넥트 (Kinects) 들과 같은 심도 센서를 포함할 수도 있다. 몇몇 실시형태들에서, 클라이언트 디바이스 (10) 는, 예를 들면 3차원 이미지 및/또는 비디오 데이터를 캡쳐하기 위한, 두 개 이상의 카메라를 갖는 카메라 어레이를 포함할 수도 있다. 이러한 실시형태에서, 심도 추정 유닛 (26) 은 카메라 어레이에 의해 캡쳐된 이미지 내의 오브젝트들에 대한 심도 정보를 계산하도록 구성될 수도 있다. 예를 들면, 심도 추정 유닛 (26) 은 카메라 어레이에 의해 캡쳐된 두 개 이상의 이미지들의 장면을 수신할 수도 있다. 이미지들의 유사한 픽셀들의 수평 위치들을 비교함으로써, 심도 추정 유닛 (26) 은 그 이미지들 사이의 유사한 픽셀들의 수평 불일치 (또는 시차) 를 계산하고, 이 불일치에 기초하여, 그 픽셀들에 대응하는 오브젝트의 심도를 결정할 수도 있다. 심도 추정 유닛 (26) 은 하나 이상의 심도 값들 (예를 들면, 심도 맵) 을 특징 추출 유닛 (22) 으로 전송할 수도 있고, 특징 추출 유닛 (22) 은 특징 디스크립터들을 추출하기 시작하는 시작 옥타브를 결정할 때 심도 값들을 사용할 수도 있다.
몇몇 실시형태들에 있어서, 디바이스는 심도 추정 유닛을 포함할 필요가 없고, 본 개시의 어떤 기술들은 여전히 동작 가능할 수도 있다. 그러나, 디바이스가 심도 추정 유닛 (26) 과 같은 심도 추정 유닛을 포함하면, 디바이스는 심도 정보를 사용하여 특징들이 계산되는 옥타브와 옥타브들이 처리되는 순서를 선택하도록 구성될 수도 있다. 예를 들면, 카메라 (12) 가 상대적으로 큰 오브젝트와 직접적으로 (즉, 정면으로) 면하면, 그 오브젝트에 대응하는 픽셀들은 일반적으로 클라이언트 디바이스 (10) 로부터 동일한 거리에서 나타날 수도 있다. 이러한 정보는, 몇몇 실시형태들에서, 가장 가치가 있는 키포인트들이 발견될 스케일을 결정하기 위해 사용될 수도 있다. 또한, 또는 다르게는, 심도 정보는, 가장 가치가 있는 키포인트들이 발견되는 스케일들을 결정하기 위해 확신도 값들과 함께 사용될 수 있다. 마찬가지로, 몇몇 실시형태들에서, 오브젝트가 카메라에 대해 비스듬히 위치되면, 오브젝트 내에서의 가장 가까운 지점으로부터 가장 먼 지점까지의 심도 차이들은, 가장 가치가 있는 키포인트들이 발견되는 스케일들의 레인지를 식별하기 위해 사용될 수 있다. 이와 같이, 심도 정보는, 적어도 부분적으로, 이미지 내의 오브젝트에 대한 스케일 값을 추정하기 위해 사용될 수도 있다.
하기에 설명되는 바와 같이, 네트워크 인터페이스 (32) 는 무선 네트워크 인터페이스를 포함할 수도 있다. 네트워크 인터페이스 (32) 가 무선 네트워크 인터페이스를 포함하면, 무선 네트워크 인터페이스는, IEEE 802.11 표준들 (예를 들면, 802.11 a/b/g/n), 3세대 모바일 텔레커뮤니케이션즈 (3G) 표준들, 4세대 모바일 텔레커뮤니케이션즈 표준들 (모바일 와이맥스 (WiMAX; Worldwide Interoperability for Microwave Access), 3G 롱텀 에볼루션 (LTE), LTE 어드밴스드, 및 와이브로-에볼루션 (WirelessMAN-Advanced) (IEEE 802.16) 을 포함할 수도 있다), 또는 다른 무선 네트워크 프로토콜들의 하나 이상과 같은, 하나 이상의 무선 네트워크 프로토콜들을 구현할 수도 있다. 일반적으로, 무선 네트워크가 이용가능하면, 제어 유닛 (20) 은, 클라이언트 디바이스 (10) 가 실내에 있을 가능성이 매우 크다고 결정할 수도 있다. 클라이언트 디바이스 (10) 가 실내에 있으면, 제어 유닛 (20) 은 카메라 (12) 에 의해 캡쳐된 이미지 내의 오브젝트들의 크기들이 상대적으로 작을 가능성이 있다고 결정할 수도 있다. 따라서, 특징 추출 유닛 (22) 은, 질의 이미지에 대한 특징 디스크립터들을 추출하기 시작하는 시작 옥타브를 결정함에 있어서 무선 네트워크가 인자로서 이용가능한지의 여부를 처리하도록 구성될 수도 있다.
도 1의 실시형태에서, 서버 디바이스 (50) 는 원격 오브젝트 데이터베이스 (52) 를 저장하고, 클라이언트 디바이스 (10) 는 로컬 오브젝트 데이터베이스 (30) 를 저장한다. 클라이언트 디바이스 (10) 는 네트워크 (40) 를 통해 서버 디바이스 (50) 로부터 로컬 오브젝트 데이터베이스 (30) 에 대한 데이터를 검색할 수도 있다. 따라서, 로컬 오브젝트 데이터베이스 (30) 는 원격 오브젝트 데이터베이스 (52) 의 전체 또는 일부를 나타낼 수도 있다. 몇몇 실시형태들에서, 로컬 오브젝트 데이터베이스 (30) 는, 원격 오브젝트 데이터베이스 (52)로부터의 데이터 뿐만 아니라 다른 서버 디바이스들 (도 1에 도시되지 않음) 의 다른 원격 오브젝트 데이터베이스들로부터의 데이터를 포함할 수도 있다. 일반적으로, 본 개시의 기술들은 이미지 내의 오브젝트의 아이덴티티를 결정하기 위해 로컬 오브젝트 데이터베이스 (30) 및/또는 원격 오브젝트 데이터베이스 (52) 의 어느 하나 또는 양자에 질의할 수도 있다.
하기에 더욱 상세히 설명되는 바와 같이, 일반적으로, 특징 추출 유닛 (22) 은 원래 이미지 (original image) 에 기초한 필터링된 이미지들의 여러 세트들로부터 추출 키포인트들을 추출할 수도 있다. 몇몇 실시형태들에서, 원래 이미지는 가우시안 필터들을 사용하여 필터링되어 가우시안 블러링된 이미지들의 세트를 생성할 수도 있다. 여러 가지 필터링 기술들이 적용될 수도 있음을 주지해야 하지만, 본 개시는 일 실시형태로서 가우시안 필터들에 주로 초점을 맞출 것이다. 그러나, 본 개시의 기술로부터 벗어나지 않으면서 다른 유사한 필터링 기술들이 또한 적용될 수도 있다. 일반적으로, 한 세트의 필터링된 이미지들 각각은 비스한 크기를 가질 수도 있는데, 상기 한 세트의 각 이미지는 점차적으로 더 필터링될 수도 있다. 상기 세트들의 각각은 "옥타브"로서 칭해질 수도 있다. 일반적으로 가우시안 블러링은 규정된 스케일에서 가우시안 블러 기능을 통해 특정 옥타브에 대해 이미지 데이터를 컨볼빙 (convolving) 하는 것을 포함한다. 특징 추출 유닛 (22) 은 이미지 데이터를 증분적으로 (incrementally) 컨볼빙할 수도 있는데, 여기서 변수 시그마 (σ) 에 의해 참조되는 고정된 배수 인자 (multiplicative factor) 는 그 옥타브 내에서 결과적으로 나타나는 가우시안 필터들을 증가시킨다. 특징 추출 유닛 (22) 은, 특정 옥타브에 대해 가우시안 블러링된 이미지들의 각각을 갖는 "가우시안 피라미드"로 칭해질 수도 있는 것을 형성할 수도 있다. 그러면 특징 추출 유닛 (22) 은 피라미드에서의 두 개의 연속하여 적층된 가우시안 블러링된 이미지들을 비교하여 가우시안 차 (DoG) 이미지들을 생성할 수도 있다. DoG 이미지들은 "Dog 공간"으로 칭해지는 것을 형성할 수도 있다.
이 DoG 공간에 기초하여, 특징 추출 유닛 (22) 은 키포인트들을 검출할 수도 있는데, 여기서 키포인트는, 기하학적 관점에서 잠재적으로 흥미가 있는 이미지 데이터 내의 특정 샘플 지점 또는 픽셀 주변의 픽셀들의 구역 (patch) 또는 영역을 가리킨다. 일반적으로, 특징 추출 유닛 (22) 은 구성된 DoG 공간 내에서의 로컬 맥시마 (local maxima) 및/또는 로컬 미니마 (local minima) 로서 키포인트들을 식별한다. 그 후, 특징 추출 유닛 (22) 은, 키포인트가 검출되었던 구역에 대한 로컬 이미지 그래디언트의 방향들에 기초하여, 이들 키포인트들에 하나 이상의 방향들 (orientations), 또는 방위들 (directions) 을 할당할 수도 있다. 이들 방향들을 특징지우기 위해, 특징 추출 유닛 (22) 은 그래디언트 방향 히스토그램에 의해 방향을 규정할 수도 있다. 그러면, 특징 추출 유닛 (22) 은 특징 디스크립터를 (예를 들면, 그래디언트 방향 히스토그램 대신) 위치 및 방향으로서 규정할 수도 있다. 특징 디스크립터를 규정한 후, 특징 추출 유닛 (22) 은, 예를 들면 그 특징 디스크립터로 로컬 오브젝트 데이터베이스 (30) 또는 원격 오브젝트 데이터베이스 (52) 에 질의하는 것에 의해, 특징 디스크립터를 출력할 수도 있다. 특징 추출 유닛 (22) 은 이 프로세스를 이용하여 특징 디스립크터들의 세트를 출력할 수도 있다.
네트워크 인터페이스 (32) 는, 무선 인터페이스들 및 유선 인터페이스들을 포함하여, 네트워크 (40) 를 통해 서버 디바이스 (50) 와 통신할 수 있는 임의의 형태의 인터페이스를 나타낸다. 네트워크 인터페이스 (32) 는 무선 셀룰러 인터페이스를 나타낼 수도 있고, 무선 셀룰러 네트워크를 통해 네트워크 (40) 와 통신하기 위한 그리고 네트워크 (40) 를 통해 서버 (50) 와 통신하기 위한, 안테나들, 변조기들 등과 같은 필요한 하드웨어 또는 다른 소자들을 포함할 수도 있다. 이 경우에 있어서, 도 1의 실시형태에 도시되지 않았지만, 네트워크 (40) 는, 무선 셀룰러 네트워크 인터페이스 (32) 가 네트워크 (40) 와 통신하게 하는 무선 셀룰러 액세스 네트워크를 포함한다. 도 1에 도시되진 않았지만, 클라이언트 디바이스 (10) 는, 오브젝트 아이덴티티들이 결정된 이미지 데이터, 또는 임의의 다른 형태들의 데이터와 같은 이미지들을 디스플레이할 수 있는 임의의 형태의 디스플레이 유닛과 같은 디스플레이를 더 포함할 수도 있다. 디스플레이는, 예를 들면, 발광 다이오드 (LED) 디스플레이 디바이스, 유기 LED(OLED) 디스플레이 디바이스, 액정 디스플레이 (LCD) 디바이스, 플라스마 디스플레이 디바이스, 또는 임의의 다른 형태의 디스플레이 디바이스를 포함할 수도 있다.
서버 디바이스 (50) 는 네트워크 인터페이스 (54), 원격 오브젝트 데이터베이스 (52), 및 제어 유닛 (60) 을 포함한다. 제어 유닛 (60) 은, 본 실시형태에서, 특징 매칭 유닛 (62) 및 확신도 평가 유닛 (64) 을 포함한다. 네트워크 인터페이스 (54) 가 네트워크 (40) 와 같은 네트워크와 통신할 수 있는 임의의 형태의 인터페이스를 나타낼 수도 있다는 점에서, 네트워크 인터페이스 (54) 는 클라이언트 디바이스 (10) 의 네트워크 인터페이스 (32) 와 유사할 수도 있다. 특징 매칭 유닛 (62) 은, 클라이언트 디바이스 (10) 로부터 수신된 특징 디스크립터들에 기초하여 이미지 데이터 내에서 하나 이상의 특징들 또는 오브젝트들을 식별하기 위해 특징 매칭을 수행하는 유닛을 나타낸다.
특징 매칭 유닛 (62) 은 이 특징 식별을 수행하기 위해 원격 오브젝트 데이터베이스 (52) 에 액세스할 수도 있는데, 여기서 원격 오브젝트 데이터베이스 (52) 는 특징 디스크립터들을 규정하는 데이터를 저장하고 수신된 특징 디스크립터들의 적어도 몇몇을, 대응하는 특징 또는 이미지 데이터로부터 추출된 오브젝트를 식별하는 식별 데이터와 관련시킨다. 확신도 평가 유닛 (64) 은, 수신된 특징 식별자들에 대응하는 것으로 식별된 오브젝트가 이미지 데이터 내의 오브젝트의 실제 아이덴티티이다는 확신도를 나타내는 확신도 값을 결정한다.
원격 오브젝트 데이터베이스 (52) 에 저장된 오브젝트들은 복수의 특징 디스크립터들을 포함할 수도 있고, 클라이언트 디바이스 (10) 로부터 수신된 특징 디스크립터들은 원격 오브젝트 데이터베이스 (52) 내의 오브젝트의 특징 디스크립터들의 서브셋만을 매칭시킬 수도 있다. 일반적으로, 확신도 값은, 대응하는 오브젝트와 관련된 특징 디스크립터들과 수신된 특징 디스크립터들 사이의 매치들 사이의 일치도를 나타낸다. 따라서, 확신도 값이 더 클수록, 수신된 특징 디스크립터들이 원격 오브젝트 데이터베이스 (52) 에 의해 저장된 오브젝트의 상대적으로 많은 수의 특징 디스크립터들과 매치한다는 것을 나타내고, 확신도 값이 더 작을 수록, 수신된 특징 디스크립터들이 원격 오브젝트 데이터베이스 (52) 에 의해 저장된 오브젝트의 상대적으로 작은 수의 특징 디스크립터들과 매치한다는 것을 나타낼 수도 있다.
클라이언트 디바이스 (10) 로부터 수신된 특징 디스크립터들에 대한 오브젝트의 아이덴티티를 결정한 이후, 특징 매칭 유닛 (62) 은 결정된 아이덴티티를 나타내는 식별 데이터를 제공한다. 마찬가지로, 확신도 평가 유닛 (64) 은, 결정된 아이덴티티가 수신된 특징 디스크립터들과 적절히 매칭한다는 확신도를 평가하고, 대응하는 확신도 값을 생성하고, 그 확신도 값을 클라이언트 디바이스 (10) 에 제공한다. 클라이언트 디바이스 (10) 는, 상기 확신도 값이 임계값을 초과하는지의 여부를 결정하고, 초과하지 않으면, 이미지 데이터에 대한 다른 옥타브들로부터 부가적인 특징 디스크립터들을 추출하고 또 다른 분석을 위해 이들 부가적인 특징 디스크립터들을 서버 디바이스 (50) 로 전송할 수도 있다.
최초, 클라이언트 디바이스 (10) 의 유저는 비쥬얼 검색을 개시하기 위해 클라이언트 디바이스 (10) 와 상호작용할 수도 있다. 유저는 유저 인터페이스 또는 클라이언트 디바이스 (10) 의 디스플레이에 의해 제공되는 다른 형태의 인터페이스와 상호작용하여 이미지 데이터를 선택하고 그다음 비쥬얼 검색을 개시하여 이미지 데이터로서 저장된 이미지의 초점인 하나 이상의 특징들 또는 오브젝트들을 식별할 수도 있다. 예를 들면, 이미지 데이터는 유명한 작품의 이미지에 대응할 수도 있다. 유저는 클라이언트 디바이스 (10) 의 카메라 (12) 를 사용하여 이 이미지를 캡쳐하거나, 이 이미지를 네트워크 (40) 로부터 다운로드하거나, 또는 다른 컴퓨팅 디바이스와의 유선 또는 무선 접속을 통해 그 이미지를 로컬하게 검색할 수도 있다. 어쨌든, 이미지 데이터를 선택한 후, 유저는, 본 실시형태에서는, 비쥬얼 검색을 개시하여, 예를 들면, 이름, 아티스트 및 완료 날짜에 의해 유명한 작품을 식별할 수도 있다.
비쥬얼 검색 개시에 응답하여, 클라이언트 디바이스 (10) 는, 이미지 데이터의 분석을 통해 발견된 소위 "키포인트들"의 하나를 설명하는 적어도 하나의 특징 디스크립터를 특징 추출 유닛 (22) 이 추출하게 한다. 제어 유닛 (20) 은 특징 디스크립터를 사용하여 로컬 오브젝트 데이터베이스 (30) 에 질의하고/하거나 특징 디스크립터를 사용하여 원격 오브젝트 데이터베이스 (52) 에 질의하기 위해 네트워크 (40) 를 통해 서버 디바이스 (50) 에 특징 디스크립터를 전송할 수도 있다. 몇몇 실시형태들에 있어서, 특징 추출 유닛 (22) 은 특징 디스크립터를 특징 압축 유닛 (본 실시형태에서는 도시되지 않음) 으로 전송하는데, 특징 압축 유닛은 네트워크 (40) 를 통한 특징 디스크립터의 전송 이전에 특징 디스크립터를 압축할 수도 있다. 서버 디바이스 (50) 로 전송되면, 제어 유닛 (20) 은 네트워크 패킷, 예를 들면 TCP/IP 패킷으로서 특징 디스크립터를 캡슐화 (encapsulation) 할 수도 있다.
개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양상들을 강조하기 위해 다양한 소자들, 모듈들, 또는 유닛들이 본 개시에서 설명되었지만, 이들 유닛들이 반드시 상이한 하드웨어 유닛들에 의해 실현될 필요는 없다. 대신, 다양한 유닛들이, 컴퓨터 판독 가능한 매체에 저장된 적절한 소프트웨어 및/또는 펌웨어와 함께, 하나의 하드웨어 유닛으로 합쳐지거나 또는 상기 상술된 바와 같은 하나 이상의 프로세서들을 포함하여, 상호 동작적인 (inter-operative) 하드웨어 유닛의 집합체에 의해 제공될 수도 있다. 이 점에서, 본 개시에서의 유닛들에 대한 언급은, 개별적인 하드웨어 유닛들 및/또는 하드웨어 및 소프트웨어 유닛들로서 구현될 수도 있는 또는 구현되지 않을 수도 있는 상이한 기능의 유닛들을 제안하려는 의도이다.
상술한 바와 같이, 본 개시의 기술들에 따른 특징 추출 유닛 (22) 은 카메라 (12) 에 의해 캡쳐된 이미지로부터 특징 디스크립터들을 순차적으로 추출하도록 구성될 수도 있다. 즉, 특징 추출 유닛 (22) 은 제 1의 옥타브로부터 특징 디스크립터들을 추출하고, 이들 특징 디스크립터들이 이미지 내의 오브젝트의 아이덴티티를 정확히 결정하는데 사용될 수 있는지의 여부를 결정하고, 그렇지 않다면, 하나 이상의 후속하는 옥타브들로부터 특징 디스크립터를 추출할 수도 있다. 또한, 센서들 (14), 네트워크 인터페이스 (32), 로컬 오브젝트 데이터베이스 (30) 에 저장된 데이터, 스케일 추정 유닛 (24), 및/또는 심도 추정 유닛 (26) 과 같은 클라이언트 디바이스 (10) 의 소자들은 특징 추출 유닛 (22) 에 데이터를 제공할 수도 있고 제 1 및/또는 후속 옥타브를 선택하기 위해 사용될 수도 있다. 일반적으로, 상위 (upper) 옥타브들이 하위 (lower) 옥타브들보다 상대적으로 더 부드럽고 상대적으로 더 안정적이다. 따라서, 몇몇 실시형태들에서, 제 1의 옥타브가 결과를 산출하지 못하면 특징 추출 유닛 (22) 은 다음 옥타브를 시도하고, 계속해서 상기 다음 옥타브가 결과를 산출하지 못하면 더 높은 옥타브들로 진행한다. 몇몇 실시형태들에서, 옥타브 제로 (0) 를 시험하여 매칭이 없으면, 데이터베이스의 기준 이미지는 더 높은 스케일로 존재할 수도 있고, 따라서, 특징 추출 유닛 (22) 은 특징 추출을 위해 더 높은 옥타브로 이동할 수도 있다.
트레이닝 이미지들 또는 테스트 이미지들로부터의 특징 속성들은 특징 생성 및 매칭에서 복잡도를 줄이기 위해 사용될 수도 있다. 이들 통계는 특징 추출 프로세스에 포함된 파라미터들을 초기화하기 위해 사용될 수도 있다. 초기화되면, 특징 추출 유닛 (22) 은 특징들을 증분적으로 추출하고, 인식 및/또는 추론을 수행하고, 이미지 내의 오브젝트의 아이덴티티에 관한 신뢰할 만한 결정들을 위해 인식이 충분하지 않다면, 다음 세트의 특징 추출들을 위해 특징 추출 파라미터들을 업데이트할 수도 있다. 트레이닝 데이터 (로컬 오브젝트 데이터베이스 (30) 에 저장되고/되거나 원격 오브젝트 데이터베이스 (52) 로부터 검색될 수도 있다) 및 이전 질의 통계를 사용하여, 질의 이미지 내의 오브젝트들의 인식은 더 적은 수의 단계에서 달성될 수도 있는데, 이것은 계산적인 절약으로 나타날 수도 있다.
스케일 추정 유닛 (24) 은 특징 속성들에 기초하여 오브젝트의 스케일 식별을 시도할 수도 있다. 오브젝트의 스케일은 질의할 데이터베이스의 최소 옥타브를 선택하기 위해 사용될 수도 있다. 즉, 데이터베이스에 특징 디스크립터들을 제출하면, 데이터베이스는, 최소 옥타브가 특정될 때, 최소 옥타브 미만이 아닌 최소 옥타브 이상의 옥타브들을 검색할 수도 있다. 따라서, 각 세트의 키포인트들이 추출된 후, 스케일 추정 유닛 (24) 은, 이미지 내의 오브젝트에 대한 스케일을 근사시키기 위해 키포인트들의 분포를 사용할 수도 있고, 최소 옥타브를 추정하기 위해 그 스케일을 사용할 수도 있다. 도 5는 키포인트 분포와 대응하는 최소 옥타브들 사이의 예시적인 관계를 도시한다. 데이터베이스의 최소 옥타브를 추정하기 위한 키포인트 분포의 사용에 관한 상세가 도 5를 참조하여 하기에 설명된다. 어떤 경우에도, 최소 옥타브뿐만 아니라 특징 디스크립터들의 증분 추출을 사용하는 것은, 더 적은 수의 특징 디스크립터들을 초기에 추출하는 것과 실제 검색되는 데이터베이스의 양을 줄이는 것의 양자에 의해 상대적으로 더 빠른 검색을 제공할 수도 있다.
심도 추정 유닛 (26) 은 질의 이미지에 대한 심도 값들을 결정할 수도 있다. 예를 들면, 심도 추정 유닛 (26) 은 질의 이미지에 대한 심도 맵을 생성할 수도 있는데, 심도 맵은 질의 이미지 내의 픽셀들 또는 오브젝트들에 대한 심도 값들을 포함할 수도 있다. 심도 맵을 사용하여, 특징 추출 유닛 (22) 은 매칭 또는 트래킹을 강제할 수도 있는데, 이것에 의해 긍정 오류들이 줄어들 수도 있다. 또한, 특징 추출 유닛 (22) 은 매칭 또는 트래킹을 특정 심도 레벨로 제한할 수도 있는데, 이것에 의해 복잡도가 더 낮아질 수도 있다.
이와 같이, 본 개시의 기술들은 특징 디스크립터 추출에 관한 어떤 관찰결과의 이점을 취할 수도 있다. 이들 관찰결과는, 먼저, 질의 이미지 내의 오브젝트의 스케일이, 그 키포인트가 스케일 공간 내에서 어떻게 분포되는지를 일반적으로 결정할 수도 있다는 것을 포함한다. 더 작은 오브젝트들은 스케일 공간에서 더 낮은 스케일들로 압축된 (squished) 분포를 갖는 경향이 있다. 또한, 이미지 내의 어떤 영역이 다른 것들 보다 더 고르면 (textured), 결과로서의 키포인트들은 안정적으로 변하는 경향이 있다. 마찬가지로, 키포인트들에 고정된 특징 디스크립터들에 대한 품질들도 안정적으로 변한다. 또한, 이미지 품질은 일반적으로 더 나은 촬상 조건들(예를들면, 양호한 조명)에서 향상하고, 이것은 이미지로부터의 더 많은 키포인트들로 나타날 수도 있다. 그러나, 해상도가 상대적으로 높으면, 예를 들면, 로컬 오브젝트 데이터베이스 (30) 및/또는 원격 오브젝트 데이터베이스 (52) 에 데이터가 저장된 트레이닝 이미지들에 대한, 더 큰 변화들, 즉, 더 세세한 디테일로 인해, 즉, 실제 특징 디스크립터들의 수는 더 작아지게 된다. 이들 차이들은 상이한 조명, 원근, 또는 다른 사진촬영상의 파라미터들로부터 유래할 수도 있다.
로컬 오브젝트 데이터베이스 (30) 및/또는 원격 오브젝트 데이터베이스 (52) 는, 상술된 바와 같이, 일반적으로 트레이닝 이미지들의 세트에 대한 다양한 데이터를 저장한다. 이 데이터는 여러 오브젝트들에 대한 특징 디스크립터들뿐만 아니라, 스케일 추정, 심도 매핑, 및/또는 이미지들에서 오브젝트 식별의 복잡도를 줄이기 위한 다른 기술들에서 보조하는 데이터를 포함할 수도 있다. 예를 들면, 데이터베이스는, 이미지의 주어진 위치 셀 (또는 "loxel") 에서 어떤 옥타브들 및 스케일들로부터 특징 디스크립터를 추출하는지를 나타내는 데이터를 저장할 수도 있다. 이미지는 loxels로 칭해지는 2차원의 매트릭스 영역들로 분할될 수도 있다. 데이터베이스 데이터는 옥타브들 및 스케일들의 순서에 관한 부수적인 정보 (side information), 및/또는 매칭하는 특징들이 통상적으로 속하는 옥타브들 및 스케일들을 포함할 수도 있다. 데이터베이스들은 주어진 loxel 내에서 잘 매치하는 가장 가능성이 있는 스케일들 또는 옥타브들을 나타내는 사용량 통계를 저장할 수도 있다.
몇몇 실시형태들에서, 데이터베이스들은 키포인트 분포 기반의 이미지 스케일 추정을 저장할 수도 있다. 데이터베이스들은 또한, 몇몇 실시형태들에서, 센서 기반의 위치 정보에 대응하는 데이터를 저장할 수도 있는데, 이것은 특징 추출에 공급할 스케일 및 옥타브 파라미터를 초기화하기 위해 사용될 수도 있다. 예를 들면, 제어 유닛 (20) 은, 센서들 (14) 로부터의 GPS 정보를 이용하여 질의 이미지가 실외 환경의 것임을 결정할 수도 있고, 데이터베이스들은 질의 이미지가 캡쳐될 때 클라이언트 디바이스 (10) 의 지리적 위치에 대한 오브젝트들의 위치들에 관한 정보를 저장할 수도 있다. 제어 유닛 (20) 은, 무선 네트워크가 이용가능한지의 여부를 결정하는 것과 같은 실내 위치 결정 기술들에 기초하여 질의 이미지가 실내 환경의 것임을 결정할 수도 있다. 입체 카메라는 질의 이미지의 오브젝트의 심도를 추정하기 위해 사용될 수도 있는데, 이것은 옥타브 선택을 초기화하는데 도움이 될 수도 있다. 카메라 고유의 파라미터들 (예를 들면, 초점 길이, 주점 (principal point), 이미지 포맷) 은 오브젝트에 대한 심도를 추정하기 위해 사용될 수도 있다. 몇몇 경우들에서, 고유 파라미터들은 성긴 심도 맵에 대해 연역적으로 구성될 필요는 없다. 몇몇 실시형태들에 있어서, 제어 유닛 (20) 은, 8점 알고리즘 (Eight-Point Algorithm) 을 사용하여, 특징 일치도들로부터 고유의 그리고 비고유의 파라미터들을 계산할 수도 있다. 일반적으로, 8점 알고리즘은, 입체 이미지 쌍에 대한 필수 매트릭스 또는 기본 매트릭스를 산출하기 위해 입체 이미지 쌍에서 8개의 대응하는 점들을 사용하는 것을 포함한다.
몇몇 실시형태들에서, 제어 유닛 (20) 은 특징 추출이 수행되는 초기 스케일 또는 옥타브를 결정하기 위해 히스토리 데이터 (historical data) 를 사용하도록 구성될 수도 있다. 예를 들면, 제어 유닛 (20) 에 의해 실행되는 트래커 (도시되지 않음) 는 카메라 (12) 에 의해 캡쳐된 이미지들에서의 오브젝트들에 대한 심도 또는 스케일을 결정할 수도 있다. 트래커가 타겟을 놓치면, 제어 유닛 (20) 은 보다 최근의 이미지에서 오브젝트들에 대한 스케일을 결정할 때 추적된 타겟들의 스케일에 관한 가장 최근의 "양호한" 정보를 사용할 수도 있다.
상술된 데이터의 어느 것 또는 전체를 사용하여, 제어 유닛 (20) 은 질의 이미지 내의 오브젝트의 아이덴티티를 결정하도록 구성될 수도 있다. 예를 들면, 특징 추출 유닛 (22) 은, 최초, 선호되는 옥타브와 스케일들의 세트를 선택하고 선호된 옥타브와 스케일들의 세트에 대한 특징 디스크립터들을 추출할 수도 있다. 특징 추출 유닛 (22) 은 필요에 따라 스케일 공간에서 다음 옥타브들을 점차적으로 더할 수도 있는데, 이것은, 프로세스를 영구적으로 종료하는 위험없이, 오브젝트 인식 프로세스의 조기 종료를 가능하게 할 수도 있다. 옥타브들 및 스케일들의 세트에 대한 선호는 로컬 오브젝트 데이터베이스 (30) 및/또는 원격 오브젝트 데이터베이스 (52)의 데이터 및/또는 트래커로부터의 질의 통계로부터 유도될 수 있다. 스케일 추정 유닛 (24) 은, 키포인트 추출의 각각의 반복 이후 누적 임계치 통계를 사용하여 오브젝트의 스케일을 추정할 수도 있다. 또한, 추정된 스케일은, 센서 (14) 로부터의 데이터, 심도 추정 유닛 (26) 에 의해 결정된 심도 정보, 또는 다른 데이터와 같은 부가적인 입력에 기초하여 개선될 수도 있다.
본 개시의 기술은 하나 이상의 이점들을 제공할 수도 있다. 예를 들면, 이들 기술들은, 예를 들면 SIFT에 대해, SIFT가 다른 방법으로 달성하는 것보다, 더 빠르고 로컬화된 특징 디스크립터들의 추출을 제공할 수도 있다. 이들 기술들은 프로세싱을 위한 스케일 공간 레벨들 (예를 들면, 옥타브 레벨들) 의 가장 타당한 서브셋의 추정을 가능하게 할 수도 있는데, 이것은 오브젝트 인식의 속도와 복잡도를 향상시킬 수도 있다. 이들 기술들은, 또한, 클라이언트 디바이스 (10) (예를 들면, 모바일 폰) 의 로컬 오브젝트 데이터베이스 (30) 에서 더 빠른 검색을 가능하게 할 수도 있다. 즉, 이들 기술들은 먼저 상위 레벨들로부터의 특징 디스크립터 추출을 허용하고, 충분한 정확도가 도달되면 알고리즘 정지를 허용한다. 이런 식으로, 도 1의 시스템 (2) 과 같은, 분포된 비쥬얼 검색 시스템에서 상대적으로 짧은 응답이 있을 수도 있다. 특징 디스크립터들은, 상위 레벨들로 먼저 시작하여, 네트워크 (40) 를 통해 서버 디바이스 (50) 로 점진적으로 전송될 수도 있고, 서버 디바이스 (50) 는 수신된 데이터에 대한 검색들의 여러 반복들을 수행하고 결과들을 전송하거나 또는 충분한 정확도 매치가 발견되면 종료 신호를 되돌려 보낼 수도 있다. 클라이언트 디바이스 (10) 는, 검색의 결과들 또는 종료 신호가 수신된 이후 서버 디바이스 (50) 로 특징 디스크립터들을 전송하는 것을 중단할 수도 있다.
본 개시의 기술들은 복잡도를 줄일수 있고 트래킹의 속도를 향상시킬 수도 있다. 일단 이미지 내의 오브젝트가 인식되면, 그 상대적인 스케일도 또한 알려질 수도 있다. 트래커가 오브젝트를 놓치면, 다음 검색 동작은, 이전에 추적되었던 오브젝트의 스케일을 사용하여 단순화될 수도 있다. 또한, 이들 기술들은 추정된 스케일을 사용하여 키포인트들의 클러스터링을 위한 커널 사이즈를 초기화시키고, 그 후 상대적 심도 맵 추정에 기초하여 세그멘테이션을 수행할 수도 있다.
이런 식으로, 클라이언트 디바이스 (10) 는 한 장치의 실시형태를 나타내는데, 상기 장치는, 수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하고, 상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하고, 상기 제 1의 세트의 디스크립터로 특징 디스크립터 데이터베이스에 질의하여 생성된 결과에 대한 확신도 값을 수신하되, 상기 결과는 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함하고, 상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하도록 구성된 프로세서를 포함한다.
도 2는 키포인트 추출에서 사용하기 위해 결정된 가우시안 차 (difference of Gaussian; DoG) 피라미드 (104) 를 설명하는 개념도이다. 도 2의 실시형태는 가우시안 피라미드 (102) 와 대응하는 Dog 피라미드 (104) 에서의 이미지들의 세트 (100), 및 가우시안 피라미드 (122) 와 대응하는 DoG 피라미드 (124) 에서의 이미지들의 제 2의 세트 (120) 를 도시하는데, 여기서 세트 (100) 는 제 1의 선택된 옥타브에 대응하고, 세트 (120) 는 제 2의 옥타브에 대응한다. 본 개시의 기술들에 따르면, 제어 유닛 (20) 은, 세트 (100) 에 대한 데이터를 사용하여 식별된 오브젝트가 임계값 아래의 확신도 값을 산출할 때 세트 (120) 에 대한 데이터를 생성하도록 구성될 수도 있다.
도 1의 특징 추출 유닛 (22) 은 가우시안 피라미드 (102) 에서 임의의 두 개의 연속하는 가우시안 블러링된 이미지들의 차를 계산함으로써 DoG 피라미드 (104) 를 구성할 수도 있다. 도 1의 실시형태에서 카메라 (12) 로부터 특징 추출 유닛 (22) 에 의해 수신될 수도 있는 입력 이미지 I(x,y) 는 점차적으로 가우시안 블러처리되어 가우시안 피라미드 (102) 를 구성하게 된다. 가우시안 블러링은 스케일 c 에서 원래의 이미지 I(x,y) 를 가우시안 블러 함수 G(x, y, c ) 로 컨볼빙하는 프로세스를 일반적으로 포함하는데, 가우시안 블러링된 함수 L(x, y, c ) 는 L(x, y, c ) =G(x, y, c ) *I(x, y) 로서 정의된다. 여기서, G는 가우시안 커널, c 는 이미지 I(x, y) 를 블러링하기 위해 사용되는 가우시안 함수의 표준 편차를 나타낸다. c가 변함에 따라 (c0<c1<c2<c3<c4), 표준 편차 (c ) 는 변하고 점차적인 블러링이 얻어진다. 시그마 는 기본 스케일 변수이다 (본질적으로 가우시안 커널의 폭). 초기 이미지 I(x,y) 가 가우시안 (G) 으로 증분적으로 컨볼빙되어 블러링된 이미지들 (L) 을 생성하면, 블러링된 이미지 (L) 는 스케일 공간에서 상수 인자 (c) 에 의해 분리된다. SIFT의 실시형태에서, 가우시안 커널들은 스케일 공간을 생성하기 위해 사용될 수도 있다. 다르게는, 몇몇 실시형태들에서, 스케일 공간, 예를 들면, 박스 함수, 삼각형 함수 (triangular function), 또는 다른 이러한 함수들을 생성하기 위해 로우-패스 커널들이 사용될 수도 있다.
DoG 공간 또는 피라미드 (104) 에서, D(x, y, a) = L(x, y, cn ) - L(x, y, cn-1 ) 이다. DoG 이미지 D(x, y, ) 는 스케일들 (cn 및 cn -1 ) 에서 두 개의 인접한 가우시안 블러링된 이미지들 (L) 사이의 차이이다. D(x, y, ) 의 스케일은 cn 및 cn -1 사이의 어디엔가에 놓인다. 가우시안 블러링된 이미지들 (L) 의 수가 증가하고 가우시안 피라미드 (102) 에 대해 제공되는 근사가 연속 공간에 도달함에 따라, 두 개의 스케일들도 하나의 스케일로 접근하게 된다. 컨볼빙된 이미지들 (L) 은 옥타브에 의해 그룹화될 수도 있는데, 여기서 옥타브는 표준 편차 의 값을 두 배로 하는 것에 대응한다. 또한, 승수들 (multipliers; k) (예를 들면, c0<c1<c2<c3<c4) 의 값들은 고정된 수의 컨볼빙된 이미지들 (L) 이 옥타브마다 얻어지도록 선택된다. 그러면, DoG 이미지 (D) 는 옥타브마다 인접한 가우시안 블러링된 이미지들 (L) 로부터 얻어질 수도 있다.
본 개시의 기술들에 따르면, 이미지들 (D) 이 주어진 옥타브로부터 얻어진 이후, 특징 추출 유닛 (22) 은 그 옥타브에 대한 키포인트들을 추출하고 이들 추출된 키포인트들에 대한 특징 디스크립터들을 결정할 수도 있다. 현재 옥타브 ( 및 이전의 임의의 옥타브들) 에 대한 특징 디스크립터들은 이미지에서 오브젝트의 아이덴티티 결정을 시도하기 위해 사용될 수도 있다. 오브젝트의 아이덴티티가 결정된 이후, 제어 유닛 (20) 은 결정된 아이덴티티에 대한 확신도 값을 얻을 수도 있다. 확신도 값이 임계값보다 작으면, 특징 추출 유닛 (22) 은 후속 옥타브로 진행하여, 후속 옥타브에 대한 부가적인 특징 디스크립터들을 결정하고 이미지 내의 오브젝트의 아이덴티티 결정을 다시 시도할 수도 있다. 한편, 확신도 값이 임계값을 넘으면, 특징 추출 유닛 (22) 은 후속 옥타브로 진행할 필요가 없다. 하기에 상세히 설명되는 바와 같이, 제어 유닛 (20) 은, 예를 들면, 이미지 내의 오브젝트들에 대한 근사된 스케일, 질의 이미지가 실내 환경에서 촬상되었는지 실외 환경에서 촬상되었는지를 나타내는 센서 데이터, 및/또는 질의 이미지내의 오브젝트에 대한 심도 값을 나타내는 질의 이미지에 대한 심도 맵과 같은, 여러가지 인자들에 기초하여 제 1의 옥타브와 후속 옥타브들을 선택할 수도 있다.
그 다음, 특징 추출 유닛 (22) 은 DoG 피라미드 (104) 를 사용하여 이미지 I(x, y) 에 대한 키포인트들을 식별할 수도 있다. 키포인트 추출을 수행함에 있어서, 특징 추출 유닛 (22) 은 이미지의 특정 샘플 포인트 또는 픽셀 주위의 로컬 영역 또는 구역이 (기하학적 관점에서) 잠재적으로 관심을 끄는 구역인지의 여부를 결정한다. 일반적으로, 특징 추출 유닛 (22) 은 DoG 공간 (104) 에서 로컬 맥시마 및/또는 로컬 미니마를 식별하고 이들 맥시마 및 미니마의 위치들을 DoG 공간 (104) 의 키포인트 위치들로서 사용한다. 도 2에 도시된 실시형태에서, 특징 추출 유닛 (22) 은 구역 (106) 내에서 키포인트 (108) 를 식별한다. 로컬 맥시마 및 미니마를 찾는 것은 (로컬 익스트림 검출로도 알려져 있다), DoG 공간 (104) 의 각 픽셀 (예를 들면, 키포인트 (108) 에 대한 픽셀) 을 동일한 스케일에서 그 이웃하는 8개의 픽셀들 및 두 사이드들의 이웃하는 스케일들의 각각에서의 (인접한 구역들 (110 및 112) 의) 9개의 이웃하는 픽셀들 (전체 26 (=9x2+8) 픽셀) 과 비교하는 것에 의해 달성될 수도 있다. 키포인트 (106) 에 대한 픽셀 값이 구역 (106, 110, 및 108) 의 전체 26개의 비교된 픽셀들 중에서 맥시마 또는 미니마이면, 특징 추출 유닛 (22) 은 이것을 키포인트로서 선택한다. 특징 추출 유닛 (22) 은 키포인트들의 위치가 더 정확하게 식별되도록 키포인들을 더 처리할 수도 있다. 특징 추출 유닛 (22) 은, 몇몇 경우들에서, 로우 콘트라스트 (low contrast) 키 포인트들 및 에지 키포인트들과 같은, 키포인트들의 몇몇을 버릴 수도 있다.
도 3은 키포인트의 검출을 더 상세히 설명하는 개념도이다. 도 3의 실시형태에서, 구역 (106, 110, 및 112) 의 각각은 3x3 픽셀 영역을 포함한다. 특징 추출 유닛 (22) 은 먼저 관심을 끄는 픽셀 (예를 들면, 키포인트 (108)) 을, 동일한 스케일에서 그 이웃하는 8개의 픽셀들 (132) 및 키포인트 (108) 의 양사이드의 이웃하는 스케일들 각각에서의 인접한 구역들 (110 및 112) 의 9개의 이웃하는 픽셀들 (134 및 136) 과 비교한다.
특징 추출 유닛 (22) 은 로컬 이미지 그래디언트의 방향들에 기초하여, 각 키포인트에 하나 이상의 방향들을 할당할 수도 있다. 로컬 이미지 특성들에 기초하여 각 키포인트에 일정한 방향을 할당하는 것에 의해, 특징 추출 유닛 (22) 은 이에 대한 키포인트 디스크립터를 나타낼 수도 있고 따라서 이미지 회전에 대한 불변성을 달성할 수도 있다. 그 다음, 특징 추출 유닛 (22) 은 가우시안 블러링된 이미지 (L) 및/또는 키포인트 스케일에서 키포인트 (108) 주위의 이웃하는 영역의 매 픽셀에 대해 크기와 방향을 계산한다. (x, y) 에 위치된 키포인트 (108) 에 대한 그래디언트의 크기는 m(x, y) 로 표현되고 (x, y) 에서의 키포인트에 대한 그래디언트의 방향 또는 방위는 Γ(x, y) 로서 표현될 수도 있다.
그 다음, 특징 추출 유닛 (22) 은 키포인트의 스케일을 사용하여, 키포인트 (108) 의 스케일에 가장 가까운 스케일을 갖는 가우시안 스무디드 이미지 (Gaussian smoothed image) L을 선택하게 된다. 각각의 이미지 샘플, L(x, y) 에 대해, 이 스케일에서, 특징 추출 유닛 (22) 은 픽셀 차이를 이용하여 그래디언트 크기 m(x, y) 와 방향Γ(x, y) 를 계산한다.
예를 들면, 크기 m(x, y) 는 하기의 식 (1) 에 따라 계산될 수도 있다;
Figure pct00001
특징 추출 유닛 (22) 은 하기의 식 (2) 에 따라 방향 또는 방향Γ(x, y) 를 계산할 수도 있다:
Figure pct00002
식 (2) 에서, L(x, y) 는 키포인트의 스케일이기도 한 스케일에서, 가우시안 블러링된 이미지 L(x, y, ) 의 샘플을 나타낸다
특징 추출 유닛 (22) 은, 낮은 스케일로 키포인트보다 아래에 놓여 있는 가우시안 피라미드의 평면 또는 높은 스케일로 DoG 공간의 키포인트의 평면보다 위에 놓여 있는 가우시안 피라미드의 평면 중 어느 하나에 대한 키포인트에 대한 그래디언트들을 일관성 있게 계산할 수도 있다. 어느 쪽이든, 각각의 키포인트에 대해서, 특징 추출 유닛 (22) 은 키포인트를 둘러싸는 사각형 영역 (즉, 패치) 에서 동일한 스케일로 그래디언트들을 계산한다. 또한, 이미지 신호의 주파수는 가우시안 블러 이미지의 스케일에서 반영된다. 아직, SIFT 및 CHoG(compressed histogram of gradients) 알고리즘과 같은 다른 알고리즘은, 구역(예를들면, 4각형 영역) 내의 모든 픽셀들에서의 그래디언트 값들을 단순히 이용한다. 패치는 키포인트를 둘레에서 정의되며; 서브 블록들은 블록 내에서 정의되고; 샘플들은 서브 블록들 내에서 정의되고 이 구조는 키포인트들의 스케일들이 상이한 경우에도 모든 키포인트들에 대해 동일하게 유지된다. 따라서, 동일한 옥타브에서 가우시안 스무딩 필터들의 연속 적용에 따라 이미지 신호의 주파수가 변하는 동안, 상이한 스케일들에서 식별된 키포인트들은, 이미지 신호의 주파수에서의 변경에 관계없이, 동일한 수의 샘플들로 샘플링될 수도 있는데, 이것은 스케일에 의해 표현된다.
키포인트 방향을 특징지우기 위해, 특징 추출유닛 (22) 은, 예를 들면, CHoG(Compressed Histogram of Gradients) 를 사용하는 것에 의해 그래디언트 방향 히스토그램을 생성할 수도 있다. 각각의 이웃하는 픽셀의 기여도는 그래디언트 크기와 가우시안 윈도우에 의해 가중될 수도 있다. 히스토그램에서의 피크들은 주 방향들 (dominat orientations) 에 대응한다. 특징 추출 유닛 (22) 은 키포인트 방향들에 관련하는 키포인트의 모든 특성들을 측정할 수도 있고, 이것은 회전에 대한 불변성을 제공할 수도 있다.
일 실시형태에서, 특징 추출 유닛 (22) 은 각 블록에 대한 가우시안 가중 그래디언트들의 분포를 계산하는데, 여기서 각 블록은 2 서브 블록×2 서브 블록의 총 4 서브 블록이다. 가우시안 가중 그래디언트들의 분포를 계산하기 위해, 특징 추출 유닛 (22) 은 여러 개의 빈들 (bins) 을 갖는 방향 히스토그램을 형성하는데, 각 빈은 키포인트 둘레 영역의 일부를 커버한다. 예를 들면, 방향 히스토그램은 36개의 빈들을 구비할 수도 있고, 각 빈은 360도 범위의 방향들 중 10도를 커버한다. 다르게는, 방향 히스토그램은 8개의 빈들을 구비할 수도 있고, 각 빈은 360도 범위의 방향들 중 45도를 커버한다. 본원에서 설명된 히스토그램 코딩 기술들은 임의의 수의 빈들의 히스토그램에 적용될 수도 있음은 명백하다.
도 4는 특징 추출 유닛이 그래디언트 분포들 (gradient distributions) 및 방향 히스토그램들 (orientation histograms) 을 얻을 수도 있도록 하는 예시적인 기술들을 설명하는 개념도이다. 여기서, 2차원 그래디언트 분포 (dx, dy) (예를 들면, 블록 156) 는 1차원 분포 (예를 들면 히스토그램 (164)) 로 변환된다. 키포인트 (108) 는 키포인트 (108) 를 둘러싸는 패치 (156) (셀 또는 영역으로도 칭해짐) 의 중앙에 위치된다. 피라미드의 각 레벨에 대해 미리 계산된 그래디언트들은 각 샘플 위치 (158) 에서 작은 화살표들로 도시된다. 도시된 바와 같이, 4x4 그룹의 샘플들 (158) 은 서브 블록 (160) 을 형성하고, 2x2 그룹의 서브 블록들은 블록 (156) 을 형성한다. 블록 (156) 은 디스크립터 윈도우로서 칭해질 수도 있다.
가우시안 가중함수는 써클 (152)로 도시되고, 샘플 포인트들 (158) 의 각각의 크기에 가중치를 할당하도록 사용될 수도 있다. 원형 윈도우 (152) 내의 가중치는 스무스하게 떨어진다. 가우시안 윈도우 (152) 의 목적은 윈도우의 위치에서의 작은 변화들로 디스크립터에서의 갑작스런 변화들을 방지하고 디스크립터의 중심에서 먼 그래디언트들에 더 적은 강조를 주기 위한 것이다. 2×2=4 어레이의 방향 히스토그램들 (162) 은 히스토그램의 각 빈에서 8 방향들을 갖는 2×2 서브 블록로부터 얻어지는데, (2×2)×8=32 차원의 특징 디스크립터 벡터로 귀결된다. 예를 들면, 방향 히스토그램들 (163 및 165) 은 서브 블록 (160) 에 대한 그래디언트 분포에 대응할 수도 있다. 그러나, 각 히스토그램에서 8개의 방향들을 갖는 히스토그램들 (8-빈 히스토그램들) 의 4×4 어레이를 사용하는 것은 (각 키포인트에 대해 (4×4)×8=128 차원의 특징 디스크립터 벡터로의 귀결된다), 더 나은 결과를 산출할 수도 있다. 다른 형태들의 양자화 빈 배열들 (constellations) (예를 들면, 상이한 보로노이(Voronoi) 셀 구조들) 이 그래디언트 분포들을 얻기 위해 또한 사용될 수도 있음을 주지해야한다.
본원에서 사용된 바와 같이, 히스토그램은, 빈들로 알려진 다양하게 흩어진 카테고리들로 분류되는 관측들, 샘플, 또는 사건들의 수를 계수하는 매핑 (ki) 이다. 히스토그램의 그래프는 단지 히스토그램을 표현하는 한 방식이다. 따라서, k가 관측들, 샘플들, 또는 사건들의 전체 수이고, m이 빈들의 전체 수이면, 히스토그램 (ki) 내의 빈도들은 다음의 조건을 만족한다:
Figure pct00003
여기서
Figure pct00004
는 합 연산자이다.
히스토그램들 (162) 에 더해진 각 샘플은, 키포인트의 스케일의 1.5배인 표준 편차를 갖는 가우시안 가중 원형 윈도우 (152) 내에서의 그 그래디언트 크기에 의해 가중될 수도 있다. 결과적으로 나타나는 방향 히스토그램 (164)에서의 피크들은 로컬 그래디언트들의 주 방향들에 대응한다. 히스토그램에서 최고 피크가 검출되고 그 다음 최고 피크의 소정의 비율, 예를 들면 80% 내에 있는 임의의 다른 로컬 피크가 그 방향을 갖는 키포인트를 생성하기 위해 또한 사용된다. 따라서, 유사한 크기의 복수의 피크들을 갖는 위치들에 있어서, 동일한 위치와 스케일이지만 다른 방향들에서 생성된 복수의 키포인트들이 있을 수 있다.
서브 블록들로부터의 히스토그램들은 키포인트에 대한 특징 디스크립터 벡터를 획득하기 위해 연결될 수도 있다. 16 서브 블록들로부터의 8-빈 히스토그램들에서의 그래디언트들이 사용되면, 128차원의 특징 디스크립터 벡터가 나타날 수도 있다.
이와 같이, 디스크립터는 각 키포인트에 대해 얻어질 수도 있는데, 이러한 디스크립터는 위치 (x,y), 방향, 및 가우시안 가중 그래디언트들의 분포들의 디스크립터를 특징으로 할 수도 있다. 이미지는 하나 이상의 키포인트 디스크립트들 (이미지 디스크립트들로도 칭해짐) 을 특징으로 할 수도 있음을 주지해야 한다.
몇몇 예시적인 어플리케이션들에서, 이미지는 모바일 디바이스에 의해 얻어지고/얻어지거나 캡쳐될 수도 있고, 오브젝트 인식은 캡쳐된 이미지 또는 캡쳐된 이미지의 일부에 대해 수행될 수도 있다. 제 1의 옵션에 따르면, 캡쳐된 이미지는 모바일 디바이스에 의해 서버로 전송될 수도 있는데, 서버에서 캡쳐된 이미지는 처리되고/되거나 복수의 이미지들 (예를 들면, 복수의 이미지들에 대한 하나 이상의 디스크립터들) 과 비교되어 매치 (예를 들면, 캡쳐된 이미지 또는 그 안의 오브젝트의 인식) 를 얻게 된다. 그러나, 이 옵션에서는, 전체 캡쳐된 이미지가 전송되며, 이것은 그 사이즈로 인해 바람직하지 않다. 두 번째 옵선에서, 모바일 디바이스는 이미지를 처리하여 (예를 들면, 이미지에 대한 특징 추출을 수행) 하나 이상의 이미지 디스크립터들을 획득하고 그 디스크립터들을 이미지 및/또는 오브젝트 식별을 위해 서버로 전송한다. 이미지보다는 이미지에 대한 키포인트 디스크립터들이 전송되기 때문에, 이미지에 대한 키포인트 디스크립터들이 이미지 그 자체보다 더 작은 한 전송 시간이 더 적게 걸릴 것이다. 따라서, 키포인트 디스크립터들의 사이즈의 압축이 아주 바람직할 수도 있다.
키포인트 디스크립터의 사이즈를 최소화하기 위해서는, 그래디언트들의 분포의 디스크립터를 압축하는 것이 바람직할 수도 있다. 그래디언트들의 분포의 디스크립터가 히스토그램에 의해 표현되기 때문에, 히스토그램에 대한 효과적인 코딩 기술들이 본원에서 설명된다.
특징 디스크립터들을 효과적으로 표현하고/하거나 압축하기 위해, 분포들 (예를 들면, 방향 히스토그램들) 의 디스크립터는 더 효과적으로 표현되는 것이 바람직할 수도 있다. 따라서, 히스토그램들의 효율적인 코딩을 위한 하나 이상의 방법 또는 기술들이 본원에서 설명된다. 이들 방법들 또는 기술들은 히스토그램을 압축된 형식으로 효율적으로 (또는 최적으로) 코딩하기 위한 임의의 형태의 히스토그램 구현으로 구현될 수도 있음을 주지해야 한다. 히스토그램의 효율적인 코딩은 전통적인 인코딩 기술들에 의해 제시되지 않은 별개의 문제이다. 통상의 인코딩 기술들은 값들의 시퀀스를 효율적으로 인코딩하는 것에 초점을 맞추고 있다. 시퀀스 정보가 히스토그램에서는 사용되지 않기 때문에, 히스토그램의 효율적인 인코딩은 종래의 기술에 의해 제시되는 것들과는 다른 문제점이다.
제 1의 스텝으로서, 히스토그램의 최적의 (가장 작은 사이즈 또는 길이의) 코딩에 대해 고려한다. 히스토그램의 손실없는 및/또는 손실이 많은 인코딩을 위한 최대 길이를 얻기 위해 정보 이론 원칙들이 적용될 수도 있다.
상기 언급된 바와 같이, 특정 패치 (예를 들면, 셀 또는 영역으로도 종종 칭해짐) 에 대해, 그 패치 내의 그래디언트들의 분포는 히스토그램으로서 표현될 수도 있다. 히스토그램은 m 개의 심볼들 (2≤m≤∞) 의 길이를 갖는 알파벳 A로 표현될 수도 있는데, 각각의 심볼은 히스토그램 내의 빈(bin)과 관련된다. 따라서, 히스토그램은 전체 m 개의 빈들의 수를 갖는다. 예를 들면, 알파벳 A 내의 각각의 심볼 (빈) 은 한 세트의 정의된 그래디언트들/방향들로부터의 그래디언트/방향에 대응할 수도 있다. 여기서, n은 관측들, 샘플들 또는 사건들 (셀, 패치 또는 영역의 그래디언트 샘플들) 의 전체 수를 나타낼 수도 있고, k는 특정 빈 내의 관측들, 샘플들, 또는 사건들의 수를 나타내며(예를 들면 k1은 첫 번째 빈의 그래디언트 샘플들의 수이고....km은 m번째 빈의 그래디언트 샘플들의 수이다.),
Figure pct00005
이 된다. 즉, 히스토그램 빈들의 모든 그래디언트 샘플들의 합은 패치 내의 그래디언트 샘플들의 전체 수와 동일하다. 히스토그램이 셀, 패치 또는 영역 내의 그래디언트 샘플들의 제 1의 분포에 대한 확률 분포를 나타낼 수도 있기 때문에, 그래디언트 샘플들의 (제 1의 분포와는 상이한) 제 2의 분포를 갖는 셀들, 패치들, 또는 영역들은 그럼에도 불구하고 동일한 히스토그램을 가질 수도 있을 수 있다.
P가 m진(m-ary) 확률 분포 [p1...., pm]를 나타내면, 이 분포의 엔트로피 (H(P)) 는 다음과 같이 정의될 수 있다:
Figure pct00006
이 경우, 두 개의 알려진 분포들 (P 및 Q) 사이의 상대 엔트로피 D(P||Q) 는 다음의 수식에 의해 주어진다:
Figure pct00007
그래디언트 분포들의 주어진 샘플 (w) 에 대해서, 각각의 그래디언트 값이 나타나는 횟수가 ki (i=1, ...m) 라고 가정하자.
그러면, 샘플 w 의 확률 (P(w)) 은 다음의 수식에 의해 주어진다:
Figure pct00008
여기서
Figure pct00009
는 곱 연산자이다.
예를 들면, 셀 또는 패치의 경우, 확률 (P(w)) 은 특정 셀 또는 패치의 확률이다.
그러나, 수식 6은 확률 (P) 이 공지임을 가정한다. 패치 내의 통상의 그래디언트들의 경우에서와 마찬가지로, 소스 분포가 미지인 경우, 샘플 w 의 확률은 Krichecvsky-Trofimov (KT) 추정량에 의해 주어질 수도 있다:
Figure pct00010
여기서,
Figure pct00011
Figure pct00012
인 감마 함수이다.
샘플 w 가 그 확률의 KT 추정량을 사용하여 인코딩되면, (실제 분포 P 하에서) 그러한 인코딩의 길이 (L) 는 다음의 수식을 만족한다:
Figure pct00013
수식 8은 히스토그램의 손실 없는 인코딩에 대한 최대 코드 길이를 제공한다. KT 추정기 기반의 코드의 용장도는 다음의 수식에 의해 주어질 수도 있다:
Figure pct00014
이것은 실제 소스 분포에 의존하지 않는다. 이것은 이러한 코드가 범용적임을 의미한다. 따라서, KT 추정기는, 샘플 w 가 충분히 길게 사용되기만 하면 실제 확률 (P) 의 밀접한 근사를 제공한다.
KT 추정기는 분포들에 대한 확률을 계산하는 한 방식에 불과함을 주지해야 한다. 예를 들면, 최대 우도 (maximum likelihood; ML) 추정기가 사용될 수도 있다.
또한, 히스토그램을 코딩할 때, 인코더 및 디코더 양자가 히스토그램 내의 샘플들의 전체 수 (n) 와 히스토그램에 대한 빈들의 수 (m) 를 결정할 수 있거나 또는 이들로 구성되는 것으로 가정될 수도 있다. 따라서, 이 경우에 있어서, 이 정보는 인코딩될 필요가 없다. 따라서, 인코딩은 m 개의 빈들의 샘플들의 수에 집중된다.
키포인트 (또는 이미지) 디스크립터의 일부로서 히스토그램 자체를 전송하는 대신, 압축된 형태의 히스토그램이 사용될 수도 있다. 이를 달성하기 위해, 히스토그램들은 타입들에 의해 표현될 수도 있다. 일반적으로, 타입은 히스토그램의 압축 표현이다 (예를 들면, 여기서는 타입이 전체 (full) 히스토그램 대신 히스토그램의 형상을 표현한다). 샘플 w 의 타입 t 는 다음과 같이 정의될 수도 있다:
Figure pct00015
타입 t(w) 는 그 심볼들의 한 세트의 주파수들 (예를 들면, 그래디언트 분포들 (ki) 의 주파수들) 을 나타낸다. 타입은 샘플을 생성한 소스의 진성 분포 (true distribution) 의 추정량으로서 이해될 수도 있다. 따라서, 타입 t(w) 의 인코딩및 전송은, 특정 샘플 w 에 기초하여 추정될 수 있는 바와 같이 분포의 형상의 인코딩및 전송과 동등하다.
그러나, 통상의 인코딩 기술들은 값들의 시퀀스를 효율적으로 인코딩하는 것에 초점을 맞추고 있다. 시퀀스 정보가 히스토그램에서는 사용되지 않기 때문에, 히스토그램의 효율적인 인코딩은 통상의 인코딩 기술에 의해 제시되는 것들과는 다른 문제점이다. 빈들의 수가 인코더 및 디코더에 알려져 있고, 히스토그램들의 인코딩이 포인트들의 전체 수와 빈마다의 포인트들을 포함한다.
이하, 타입 t(w) 를 어떻게 효율적으로 인코딩할지를 해결하는 것이 한 목표이다. 임의의 주어진 타입 t는 다음과 같이 주어질 수도 있음을 주지해야 한다:
Figure pct00016
여기서 k1 내지 km은 샘플들의 전체 수가 n으로 주어졌을 때 가능한 타입들 t의 수를 나타낸다. 따라서, 타입 t를 갖는 가능한 시퀀스들의 전체 수는 다음의 수식에 의해 주어진다:
Figure pct00017
여기서
Figure pct00018
은 모집단 t에서의 심볼들의 가능한 배열들의 전체 수이다.
가능한 타입들의 전체 수는 본질적으로 k1+...+km=n인 모든 정수들 (k1,..., km) 의 수이고, 복수 세트의 계수에 의해 주어진다:
Figure pct00019
타입 t의 임의의 샘플 w의 사건의 확률은 P(t) 에 의해 표현될 수도 있다.
Figure pct00020
의 이러한 가능한 샘플들이 있기 때문에, 이들이 모두 동일한 확률을 가지면:
Figure pct00021
이다.
이 밀도 P(t) 는 타입들의 분포로서 칭해질 수도 있다. 이것은
Figure pct00022
에서 최대 (모드) 를 갖는 다항식 분포임이 명백하다
계속해서, (집중 특성에 의한) 타입들의 분포의 엔트로피는:
Figure pct00023
이다.
길이 n의 샘플 w를 고려하면, 범용 인코더의 작업은, 그 최악의 경우의 평균 용장도, 즉,
Figure pct00024
이 최소가 되도록 코드 f(w) (또는 등가적으로는, 그 유도 분포 Pf(w)) 를 디자인하는 것이다. 수식 17 및 수식 18은 범용 코딩에 의해 제시되는 문제점을 설명하는데, 주어진 시퀀스에서 모든 가능한 입력 분포들에 대해 평균 코드 길이와 n*H (P) 사이의 차이가 최소가 되는 코드 길이가 검색된다. 즉, 분포를 미리 알고 있지 않아도 최소의 최악의 경우의 코드 길이가 검색된다.
동일한 타입의 샘플들의 확률들이 동일하고, 코드 유도 분포 Pf(w) 는 이 특성을 유지할 것으로 예상되기 때문에, Pf(w) 는 다음과 같이 정의될 수 있다:
Figure pct00025
여기서 Pf(t) 는 타입 t(w) 의 확률이고
Figure pct00026
는 동일한 타입 t(w) 내에서의 시퀀스들의 전체 수이다. 따라서 타입 t(w) 에 할당된 코드의 확률 Pf은 다음과 같이 정의될 수 있다:
Figure pct00027
이것은 타입들의 코드 유도 분포이다.
수식 18을 풀고 (개개의 샘플들 대신) 타입들을 조사하기 위해 합을 변경하는 것에 의해, 평균 용장도 R* (n) 은 다음과 같이 정의될 수도 있다:
Figure pct00028
여기서 "sup"는 상한 연산자이고, 여기서는 한 값이 한 세트의 다른 요소만큼 적어도 크면 그 세트에 대한 상한이된다. 이들 식들은 타입들의 코딩의 문제점이 최소 용장도 범용 코딩의 문제점과 동등하다는 것을 의미한다.
결과적으로, 타입들의 손실없는 코딩의 문제점은 타입들의 KT 추정 분포를 사용하는 것에 의해 점근적으로 최적으로 해결될 수 있다:
Figure pct00029
이 수식 22.2에 기초하면, 거의 균일한 모집단들을 갖는 타입들은 추정 밀도의 밸리(valley) 내로 떨어지고, 특이 모집단을 갖는 타입들 (제로 카운트들을 갖는 것들) 은 그 피크들이 된다.
도 5는 다양한 가우시안 스케일 공간들을 가로지르는 예시적인 키포인트 분포를 설명하는 차트 선도 (180) 이다. 그래프 (180) 에 대한 데이터는 트레이닝 이미지들, 즉 700×1000 픽셀의 해상도를 갖는 105 이미지들의 세트로부터 생성되었다. 각각의 이미지에 대해, 1.0 (그래프 186), 0.75 (그래프 188), 0.5 (그래프 190), 및 0.25 (그래프 192) 의 스케일들에 대해 데이터가 수집되었다. 차트 180은 스케일 공간을 가로지르는 키포인트들의 통상의 분포를 도시한다. 이 관측에 기초하면, 제어 유닛 (20) (도 1) 은 이미지의 스케일링 인자의 추정을 가능하게 하는 통계치를 계산할 수도 있다.
그래프 180의 X-축 (184) 은 이 특정한 실시형태의 데이터의 세트에 대한 가우시안 스케일 공간 (GSS) 에서의 가능한 스케일 인덱스들과 대응하는 스케일들을 나타낸다. Y-축 (182) 은 이 실시형태에 대한 키포인트들의 수를 나타낸다.
자연의 이미지에 대해, 도시된 바와 같이, 가우시안 스케일 공간을 따른 스케일 파라미터에 대한 검출된 키포인트들의 분포가 있을 수도 있다. 일반적으로, 높은 스케일들에서 검출된 키포인트들은 더 큰 특징들에 대응한다. 해상도가 감소할수록 (예를 들면, 유저가 타겟으로부터 더 멀리 떨어지면), 더 정교한 디테일들은 감소되고 더 높은 스케일들 (조악한 디테일들에 대응) 에서 검출되었던 디테일들은 더 낮은 스케일들 (더 정교한 디테일들에 대응) 로 이동한다. 따라서, 대부분의 키포인트들은 더 낮은 스케일들로 떨어질 것이다. 빈이 중앙에 있는 스케일 공간 레벨들로 작성된 키포인트들의 히스토그램은, 이미지 사이즈가 감소할수록, 히스토그램의 영역의 대부분이 더 낮은 빈 중심들에 집중될 수도 있다는 특성을 가질 수도 있다. 효과적으로, 이것은 스케일 공간에서의 키포인트들의 분포가 텍스쳐 의존적임을 의미하며, 이것은 다음에는 오브젝트로부터의 카메라의 거리에 따라 변하게 된다.
다수의 오브젝트들이 주어진 장면 내에 나타날 수 있는데, 각각은 카메라로부터 자신의 고유의 거리에서 있으며 따라서 고유의 스케일에 있게 된다. 유저가 상호작용하길 원하는 오브젝트와 관련된 스케일에 적절히 액세스하기 위해서, 약간의 대략적인 세그먼테이션이 수행되어 그 오브젝트를 이미지 내의 다른 오브젝트들과 분리하고, 그 오브젝트의 스케일에 관해 로컬라이즈된 추론들을 할 수도 있다. 이것은, 예를 들면, 다이나믹 윈도우, 또는 오브젝트 영역들 사이의 경계들을 대략적으로 묘사하는 다른 알고리즘들을 사용하는 것에 의해 의해 달성될 수 있다.
검색할 데이터베이스의 최소 옥타브를 결정하기 위해 사용될 수 있는 컷오프 스케일을 계산하기 위해, 스케일 추정 유닛 (24) 은, 키포인트들의 히스토그램 P(s) 로, 스케일 공간 레벨들 (s) 에 걸친 키포인트들의 분포를 추정할 수도 있다. 다음에, 스케일 추정 유닛 (24) 은 sc까지의 스케일 레벨들 내에서 키포인트들의 대략 90%가 보존되도록 컷오프 스케일 (sc) 을 추정할 수도 있다. 공식으로, 스케일 추정 유닛 (24) 은 하기의 식 (23) 을 계산할 수도 있다:
Figure pct00030
그 다음, 스케일 추정 유닛 (24) 은 추적된 스케일 공간 컷오프 레벨을 이미지 스케일링 인자 (Y) 로 매핑하는 함수를 추정할 수도 있다. 즉, 스케일 추정 유닛 (24) 은 다음 식을 추정할 수도 있다:
Figure pct00031
여기서, Y는 이미지 스케일링 인자이고 sc는 컷오프 스케일 공간 레벨이다. 함수를 학습하기 위해, 스케일 추정 유닛 (24) 은 가장 반복된 경로, 예를 들면, 그래프 186, 188, 190, 또는 192 중 하나로부터 Y와 sc를 고를 수도 있다.
일반적으로, 이미지 해상도가 증가할수록, sc는 스케일 공간에서 위로 더 이동하고 역으로 이미지 해상도가 감소할수록 스케일 공간에서 아래로 이동한다. 또한, 그래프 180은 본 실시형태의 데이터 세트에서 1.0 (포인트 198), 0.75 (포인트 196), 및 0.5 (포인트 194) 의 스케일들에 대한 예시적인 컷오프 스케일들 (최소 옥타브에 대응) 을 도시한다. 이 실시형태로부터, 해상도가 감소할수록 컷오프 스케일은 왼쪽으로 이동함을 알 수 있다. 즉, 해상도가 감소할수록, 컷오프 스케일은 감소한다.
도 6은 증분 특징 디스크립터 추출을 수행하기 위한 예시적인 방법을 설명하는 순서도이다. 설명의 목적을 위해, 도 6의 방법은 클라이언트 디바이스 (10) 의 컴포넌트들에 대해서 설명된다. 그러나, 도 6의 방법은 다른 디바이스들에 의해 수행될 수도 있거나, 또는 여러 가지 디바이스들과 결합하여 수행될 수도 있음을 이해해야 한다. 예를 들면, 서버 디바이스 (50) (도 1) 의 제어 유닛 (60) 은 도 6의 방법을 수행하도록 구성될 수도 있다. 마찬가지로, 본 개시의 기술들을 벗어나지 않으면서, 부가적인 단계들이 수행될 수도 있거나, 또는 어떤 단계들이 생략될 수도 있으며, 본 방법의 단계들과는 다른 순서로 수행될 수도 있다.
도 6의 실시형태에서, 최초, 제어 유닛 (20) 은 오브젝트의 이미지 (질의 이미지로도 칭해짐) 를 수신한다 (200). 예를 들면, 제어 유닛 (20) 은 카메라 (12) 로부터 이미지를 수신할 수도 있다. 다르게는, 제어 유닛 (20) 은 클라이언트 디바이스 (10) 의 메모리로부터 저장된 이미지를 가지고 올 수도 있다. 그 다음, 제어 유닛 (20) 의 특징 추출 유닛 (22) 은 특징 디스크립터들을 추출하기 시작하는 이미지에 대한 제 1의 옥타브를 선택할 수도 있다 (202).
특징 추출 유닛 (22) 은 본 개시에서 설명한 바와 같이, 기술들의 조합을 포함하여, 다양한 기술들 중 임의의 기술을 사용하여 제 1의 옥타브를 선택할 수도 있다. 예를 들면, 특징 추출 유닛 (22) 은 센서 (14) 로부터, 특징 추출 유닛 (22) 이 제 1의 옥타브를 선택하기 위해 사용할 수도 있는 데이터를 수신할 수도 있다. 특징 추출 유닛 (22) 은, 예를 들면, 센서 (14) 의 GPS로부터 클라이언트 디바이스 (10) 의 위치를 나타내는 위치 데이터를 수신할 수도 있다. 특징 추출 유닛 (22) 은 클라이언트 디바이스 (10) 근처의 오브젝트들의 위치를 결정하기 위해 위치 데이터를 사용할 수도 있다. 특징 추출 유닛 (22) 은 이미지 내의 오브젝트에 대한 스케일을 근사하기 위해 클라이언트 디바이스 (10) 근처의 오브젝트들을 사용할 수도 있다.
예를 들면, 클라이언트 디바이스 (10) 가 프랑스 파리의 에펠탑 근처에 있다고 GPS 데이터가 나타내면, 특징 추출 유닛 (22) 은 이미지 내의 오브젝트의 가장 가능성 있는 스케일이 상대적으로 크다고 결정할 수도 있다. 이 결정은, 이미지가 에펠탑이다는 (구성 데이터를 통한) 가정에 기초할 수도 있는데, 이것은 특징 디스크립터 추출 및 비교를 통해 확인될 수도 있다. 한편, 클라이언트 디바이스 (10) 가 프랑스 파리의 루브르 박물관 근처에 있다고 GPS 데이터가 나타내면, 특징 추출 유닛 (22) 은 이미지 내의 오브젝트의 가장 가능성 있는 스케일이 상대적으로 작다고 결정할 수도 있다. 이 결정은, 본 실시형태에서는, 이미지가 루브르 박물관 내에 전시된 작품이다는 (구성 데이터를 통한) 가정에 기초할 수도 있다.
GPS 유닛으로부터의 위치 데이터 또는 다른 형태들의 감지된 데이터에 부가하여, 또는 이들에 대안으로, 제어 유닛 (20) 은 심도 추정 유닛 (26) 에 의해 계산된 심도 맵에 기초하여 제 1의 옥타브를 선택할 수도 있다. 심도 추정 유닛 (26) 은 심도 맵을 계산하기 위한 다양한 기술들 중 임의의 기술을 사용할 수도 있다. 예를 들면, 심도 추정 유닛 (26) 은 스테레오 카메라들에 의해 캡쳐된 둘 이상의 이미지들의 픽셀들 사이에서 수평 불일치 (또는 시차) 를 분석할 수도 있다. 이들 이미지들 중 하나는 질의 이미지에 대응할 수도 있다. 질의 이미지 내의 오브젝트에 대한 심도에 기초하여, 제어 유닛 (20) 은 오브젝트에 대한 스케일을 결정할 수도 있고, 이것은 제 1의 옥타브에 대응할 수도 있다. 제 1의 옥타브에 영향을 줄 수도 있는 다른 요인들은, 예를 들면, 오브젝트가 이미지 내에 존재하는 loxel, 이전에 스케일이 결정되었는지의 여부, 트래커가 놓친 후 최근의 질의 이미지, 또는 다른 요인들을 포함한다.
제 1의 옥타브를 결정한 이후, 특징 추출 유닛 (22) 은 제 1의 옥타브에 대한 키포인트들을 추출할 수도 있다 (204). 상기 논의된 바와 같이, 특징 추출 유닛 (22) 은, 질의 이미지의 해상도를 위에서 선택된 바와 같은 제 1의 옥타브에 대응하는 사이즈로 스케일링함으로써 질의 이미지로부터 제 1의 옥타브에 대한 이미지를 계산할 수도 있다. 특징 추출 유닛 (22) 은 가우시안 블러 필터들을 정도들(degrees)이 변하는 제 1의 옥타브 이미지에 적용하여, 키포인트들을 추출하게 될 가우시안 피라미드의 차이를 계산할 수도 있다. 키포인트들을 사용하여, 특징 추출 유닛 (22) 은 질의 이미지 (206) 의 제 1의 옥타브에 대한 하나 이상의 특징 디스크립터들을 추출할 수도 있다.
그 다음 특징 추출 유닛 (22) 은 특징 디스크립터들을 사용하여 질의 이미지 내의 오브젝트의 아이덴티티를 결정하기 위한 시도를 할 수도 있다 (208). 몇몇 실시형태들에서, 제어 유닛 (20) 은 원격 오브젝트 데이터베이스 (52) 의 전체 또는 일부를 검색하고 로컬 오브젝트 데이터베이스 (30) 로서 데이터를 로컬하게 저장할 수도 있다. 다른 실시형태들에서, 제어 유닛 (20) 은 하나 이상의 추출된 특징 디스크립터들을 네트워크 (40) 를 통해 서버 디바이스 (50) 로 전송할 수도 있다. 특징 매칭 유닛 (62) 은 클라이언트 디바이스 (10) 로부터 수신된 특징 디스크립터들의 임의의 것 또는 전체가 원격 오브젝트 데이터베이스 (52) 의 오브젝트와 일치하는지의 여부를 결정할 수도 있다. 특징 매칭 유닛 (62) 은 특징 디스크립터들에 대한 하나 이상의 매치들을 결정할 수도 있다. 특징 매칭 유닛 (62) 이 검색을 위한 최소 옥타브의 지시(indication)를 수신하면, 특징 매칭 유닛 (62) 은, 특정된 최소 옥타브 아래가 아닌, 최소 옥타브에서의 또는 최소 옥타브 위의 옥타브들에 대한 특징 디스크립터들만을 검색할 수도 있다. 그 다음 확신도 평가 유닛 (64) 은 각각의 매치들에 대한 확신도 값을 결정할 수도 있는데, 이 확신도 값은 매치가 특징 디스크립터들과 얼마나 잘 맞는지를 나타낸다. 그 다음 제어 유닛 (60) 은 결정된 매치들 각각에 대한 식별자를 포함하는 정보와 각각의 확신도 값을 네트워크 (40) 를 통해 클라이언트 디바이스 (10) 로 전송할 수도 있다.
서버 디바이스 (50) 로부터 정보를 수신한 후, 클라이언트 디바이스 (10) 의 제어 유닛 (20) 은 오브젝트들의 다양한 결정된 아이덴티티에 대한 확신도 값들의 임의의 것이 임계값을 초과하는지의 여부를 결정할 수도 있다 (210). 예를 들면, 제어 유닛 (20) 은 가장 큰 확신도 값이 임계값을 초과하는지의 여부를 결정할 수도 있다. 가장 큰 확신도 값이 임계값을 초과하지 않으면 (201의 분기 "NO"), 제어 유닛 (20) 은, 아래에 설명되는 바와 같이, 특징 디스크립터를 추출하게 되는 다음 옥타브, 및 몇몇 실시형태들에서 질의될 데이터베이스의 컷오프 스케일 (최소 옥타브로도 칭해짐) 을 결정할 수도 있다.
스케일 추정 유닛 (24) 은 어느 스케일이 키포인트 분포와 가장 잘 맞는지의 여부를 결정하고, 그 다음 가장 잘 맞는 스케일이 오브젝트의 가장 가능성이 있는 스케일이라고 결정할 수도 있다 (212). 이러한 스케일 근사에 기초하여, 특징 추출 유닛 (22) 은 추출된 특징 디스크립터들이 비교되는 데이터베이스의 최소 옥타브를 선택할 수도 있다 (214). 특징 추출 유닛 (22) 은 키포인트들을 추출하게 되는 다음 옥타브를 또한 선택할 수도 있다 (216). 그 다음 특징 추출 유닛 (22) 은 이 다음 번으로 결정된 옥타브에 대한 키포인트들을 추출하고 (218) 현재 옥타브에 대한 특징 디스크립터들을 추출하기 위해 추출된 키포인트들을 사용할 수도 있다 (206). 그 다음 특징 추출 유닛 (22) 은 추출된 특징 디스크립터들을 사용하여 오브젝트 아이덴티티를 다시 결정할 수도 있다 (208). 특히, 특징 추출 유닛 (22) 은 데이터베이스가 추출된 특징 디스크립터들을 사용하여 선택된 최소 옥타브에서 또는 선택된 최소 옥타브 위의 옥타브에서 오브젝트들을 검색하도록 하고, 오브젝트의 결정된 아이덴티티의 새로운 확신도 값을 수신할 수도 있다.
오브젝트의 결정된 아이덴티티의 확신도 값이 임계값을 초과하면 (210의 분기 "YES"), 특징 추출 유닛 (22) 은 이미지내의 오브젝트에 대한 아이덴티티 정보를 출력할 수도 있다 (218). 몇몇 실시형태들에서, 특징 추출 유닛 (22) 은 제어 유닛 (20) 에 의해 실행되는 웹브라우저와 상호작용하고, 결정된 아이덴티티를 검색 용어 또는 키워드로서 사용하여, 웹브라우저가 검색 질의를 인터넷 기반의 검색 엔진에 제공하도록 할 수도 있다. 검색에 의해 웹브라우저는, 예를 들면, 오브젝트의 다른 이미지, 오브젝트에 대한 위치 정보 (예를 들면, 오브젝트가 이정표인 경우), 가격 정보 (예를 들면, 오브젝트 또는 그 복제물 (replica) 이 구입될 수 있는 경우), 오브젝트에 대한 더 많은 정보를 갖고 있는 웹 주소로의 링크 (예를 들면, URL(Uniform Resource Locator)), 또는 다른 이러한 정보와 같은, 이미지 내의 오브젝트에 대한 여러 정보를 디스플레이하게 된다.
이와 같이, 도 6은 일 실시형태의 방법을 나타내는데, 상기 방법은: 수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하는 단계와, 상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하는 단계, 상기 제 1의 세트의 디스크립터로 특징 디스크립터 데이터베이스에 질의하여 생성된 결과에 대한 확신도 값을 수신하는 단계로서, 상기 결과는 상기 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함하는, 상기 확신도 값을 수신하는 단계, 및 상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하는 단계를 포함한다.
하나 이상의 실시형태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌?어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 상기 기능들은 컴퓨터 판독가능한 매체상에서 하나 이상의 명령들 또는 코드로서 저장되거나 전송되며 하드웨어 기반의 처리 유닛에 의해 실행될 수도 있다. 컴퓨터 판독 가능한 매체는, 데이터 저장 매체와 같이 실체가 있는 매체에 대응하는 컴퓨터 판독 가능한 저장 매체, 또는 예를 들면, 통신 프로토콜에 따라, 한 장소에서 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수도 있다. 이와 같이, 컴퓨터 판독 가능한 매체는 일반적으로 (1) 실체가 있는 비일시적인 컴퓨터 판독 가능한 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는, 본 개시에서 설명된 기술들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 검색하기 위한 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독 가능한 매체를 포함할 수도 있다.
비제한적인 예로서, 실체가 있는 컴퓨터 판독 가능한 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 스토리지디바이스들, 플래시 메모리, 또는 소망하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독 가능한 매체로 적절히 칭해진다. 예를 들면, 명령들이 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 라인 (DSL; Digital Subscriber Line), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 전송되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 그러나, 컴퓨터 판독 가능한 저장 매체 및 데이터 저장 매체는 배선들, 반송파들, 신호들 또는 다른 일시적 매체를 포함하지 않으며, 대신 비일시적이며 실체가 있는 저장 매체임을 주지해야 한다. 본원에서 사용된 디스크 (disk) 와 디스크 (disc) 는 CD(Compact Disc), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 디스크 (disk) 는 데이터를 주로 자기적으로 재생하며, 디스크 (disc) 는 데이터를 레이저들을 이용하여 광학적으로 재생한다. 상기의 조합들도 컴퓨터 판독 가능한 매체의 범위 내에 또한 포함되어야만 한다.
명령들은, 하나 이상의 디지털 신호 프로세서들 (DSPs), 범용 마이크로프로세서들, 주문형 반도체들 (ASICs), 필드 프로그래머블 로직 어레이 (FPGAs), 또는 다른 등가의 집적 또는 이산 로직 회로와 같은, 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 본원에서 사용된 용어 "프로세서"는 임의의 앞서 설명된 구조 또는 본원에서 설명된 기술들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 또한, 몇몇 양상에 있어서, 본원에서 설명된 상관성 (functionality) 은 인코딩 및 디코딩용으로 구성된 소프트웨어 모듈 및/또는 전용 하드웨어, 또는 통합 코덱 내에 통합될 수도 있다. 또한, 본원에서 개시된 기술들은 하나 이상의 회로들 또는 로직 소자들에서 완전히 구현될 수 있다.
본 개시의 기술들은, 무선 헤드셋, 집적 회로 (IC) 또는 ICs의 세트 (예를 들면, 칩셋) 를 포함하는 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양태를 강조하기 위해 다양한 소자들, 모듈들, 또는 유닛들이 본 개시에서 설명되었지만, 반드시 상이한 하드웨어 유닛들에 의해 실현될 필요는 없다. 대신, 상기 설명된 바와 같이, 다양한 유닛들은, 적절한 소프트웨어 및/또는 펌웨어와 연계하여, 상기 설명한 바와 같이 하나 이상의 프로세서들을 포함하는, 상호 작용적인 하드웨어 유닛들의 집합에 의해 제공되거나 또는 코덱 하드웨어 유닛에 병합될 수도 있다.

Claims (50)

  1. 이미지 내의 오브젝트들에 대한 아이덴티티들을 결정하는 방법으로서,
    수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된(blurred) 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하는 단계;
    상기 제 1의 세트의 키포인트들에 대해 제 1의 세트의 하나 이상의 디스크립터들을 계산하는 단계;
    상기 제 1의 세트의 디스크립터들로 특징 디스크립터 데이터베이스에 질의함으로써 생성된 결과에 대한 확신도 값을 수신하는 단계로서, 상기 결과는 상기 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함하는, 상기 확신도 값을 수신하는 단계; 및
    상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하는 단계를 포함하는, 아이덴티티들을 결정하는 방법.
  2. 제 1항에 있어서,
    상기 확신도 값이 상기 확신도 임계값을 초과하지 않음을 결정하는 단계;
    상기 결정에 기초하여 상기 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 상기 제 2의 세트의 키포인트들을 추출하는 단계;
    상기 제 2의 세트의 키포인트들로부터 제 2의 세트의 하나 이상의 디스크립터들을 계산하는 단계; 및
    상기 제 1의 세트의 디스크립터들과 상기 제 2의 세트의 디스크립터들을 포함하는 디스크립터들의 세트로 상기 특징 디스크립터 데이터베이스에 질의하는 단계를 더 포함하는, 아이덴티티들을 결정하는 방법.
  3. 제 1항에 있어서,
    상기 수신된 이미지 내의 상기 오브젝트에 대한 스케일 값을 추정하는 단계;
    상기 추정된 스케일에 기초하여 상기 특징 디스크립터 데이터베이스의 최소 옥타브를 선택하는 단계; 및
    상기 특징 디스크립터 데이터베이스에 최소 옥타브의 지시(indication)를 제공하여, 상기 특징 디스크립터 데이터베이스 내에서의 상기 선택된 최소 옥타브에서 또는 이 최소 옥타브 위에서 특징 디스크립터들을 검색하도록 상기 특징 디스크립터 데이터베이스의 검색을 야기하는 단계를 더 포함하는, 아이덴티티들을 결정하는 방법.
  4. 제 3항에 있어서,
    상기 스케일 값을 추정하는 단계는:
    스케일 공간을 가로지르는 상기 제 1의 세트의 키포인트들의 분포를 분석하는 단계;
    상기 분포 내의 스케일 레벨에 대응하는 컷오프 포인트를 결정하여 상기 키포인트들의 대략 90%가 상기 스케일 레벨 아래에 있게 하는 단계; 및
    상기 결정된 컷오프 포인트의 함수로서 상기 스케일 값을 추정하는 단계를 포함하는, 아이덴티티들을 결정하는 방법.
  5. 제 3항에 있어서,
    상기 오브젝트에 대한 심도 정보를 획득하는 단계를 더 포함하고,
    상기 스케일 값을 추정하는 단계는 상기 오브젝트에 대한 상기 심도 정보에 적어도 부분적으로 기초하여 상기 스케일 값을 추정하는 단계를 포함하는, 아이덴티티들을 결정하는 방법.
  6. 제 1항에 있어서,
    상기 수신된 이미지를 캡쳐했던 카메라와 관련된 하나 이상의 센서들로부터의 센서 정보를 분석하는 단계; 및
    상기 센서 정보의 분석에 기초하여 상기 제 1의 옥타브와 상기 제 2의 옥타브 중 적어도 하나에 대한 옥타브 레벨을 결정하는 단계를 더 포함하는, 아이덴티티들을 결정하는 방법.
  7. 제 6항에 있어서,
    상기 센서 정보를 분석하는 단계는, 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라가 실외 환경에 위치되었는지의 여부를 결정하기 위해 GPS (Global Positioning system) 정보를 분석하는 단계를 포함하는, 아이덴티티들을 결정하는 방법.
  8. 제 6항에 있어서,
    상기 센서 정보를 분석하는 단계는, 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라에 상대적으로 근처에 있는 오브젝트들의 위치들을 결정하기 위해 GPS 정보를 분석하는 단계와, 상기 오브젝트들에 대한 설명 데이터 (descriptive data) 로부터 상기 오브젝트들에 대한 사이즈들을 결정하는 단계를 포함하는, 아이덴티티들을 결정하는 방법.
  9. 제 6항에 있어서,
    상기 센서 정보를 분석하는 단계는, 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라를 포함하는 디바이스가 무선 네트워크에 통신 가능하게 연결되었는지의 여부를 나타내는 네트워크 데이터에 기초하여 상기 카메라가 실내 환경에 위치되었는지의 여부를 결정하는 단계를 포함하는, 아이덴티티들을 결정하는 방법.
  10. 제 6항에 있어서,
    상기 센서 정보를 분석하는 단계는, 상기 수신된 이미지가 캡쳐되었을 때 상기 수신된 이미지의 하나 이상의 오브젝트들과 상기 카메라 사이의 거리들을 나타내는 심도 정보를 계산하는 단계를 포함하는, 아이덴티티들을 결정하는 방법.
  11. 제 6항에 있어서,
    상기 센서 정보를 분석하는 단계는 액티브 프로빙 센서에 의해 제공되는 데이터를 이용하여 상기 오브젝트에 대한 심도 값을 추정하는 단계를 포함하는, 아이덴티티들을 결정하는 방법.
  12. 제 1항에 있어서,
    상기 하나 이상의 디스크립터들을 서버에 전송하여, 상기 서버로 하여금 상기 하나 이상의 디스크립터들을 사용하여 상기 특징 디스크립터 데이터베이스에 질의하게 하는 단계를 더 포함하고,
    상기 확신도 값을 수신하는 단계는 상기 질의에 응답하여 상기 서버로부터 상기 확신도 값을 수신하는 단계를 포함하는, 아이덴티티들을 결정하는 방법.
  13. 이미지 내의 오브젝트들에 대한 아이덴티티들을 결정하는 장치로서,
    수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하고,
    상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하고,
    상기 제 1의 세트의 디스크립터들로 특징 디스크립터 데이터베이스에 질의하는 것에 의해 생성된 결과에 대한 확신도 값을 수신하고,
    상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하도록 구성된 프로세서를 포함하며,
    상기 결과는 상기 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함하는, 아이덴티티들을 결정하는 장치.
  14. 제 13항에 있어서,
    상기 이미지를 캡쳐하고 상기 이미지를 상기 프로세서로 제공하도록 구성된 카메라를 더 포함하는, 아이덴티티들을 결정하는 장치.
  15. 제 13항에 있어서,
    상기 확신도 값이 상기 확신도 임계값을 넘지 않는다고 상기 프로세서가 결정하면, 상기 프로세서는 상기 결정에 기초하여 상기 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 상기 제 2의 세트의 키포인트들을 추출하고, 상기 제 2의 세트의 키포인트들로부터 제 2의 세트의 하나 이상의 디스크립터들을 계산하고, 상기 제 1의 세트의 디스크립터들과 상기 제 2의 세트의 디스크립터들을 포함하는 디스크립터들의 세트로 상기 특징 디스크립터 데이터베이스에 질의하도록 더 구성되는, 아이덴티티들을 결정하는 장치.
  16. 제 15항에 있어서,
    상기 프로세서는, 상기 수신된 이미지 내의 상기 오브젝트에 대한 스케일 값을 추정하고, 상기 추정된 스케일에 기초하여 상기 특징 디스크립터 데이터베이스의 최소 옥타브를 선택하며, 상기 특징 디스크립터 데이터베이스에서 디스크립터들을 검색하도록 더 구성되며,
    상기 검색된 디스크립터들은 상기 선택된 최소 옥타브에서의 또는 상기 선택된 최소 옥타브 위에서의 상기 특징 디스크립터 데이터베이스의 옥타브들에 대응하는, 아이덴티티들을 결정하는 장치.
  17. 제 16항에 있어서,
    상기 스케일 값을 추정하기 위해, 상기 프로세서는: 스케일 공간을 가로지르는 상기 제 1의 세트의 키포인트들의 분포를 분석하고, 상기 분포 내에서의 한 스케일 레벨에 대응하는 컷오프 포인트를 결정하여 상기 키포인트들의 대략 90%가 상기 스케일 레벨 아래에 있게 하고, 상기 결정된 컷오프 포인트의 함수로서 상기 스케일 값을 계산하도록 구성되는, 아이덴티티들을 결정하는 장치.
  18. 제 16항에 있어서,
    상기 오브젝트에 대한 심도 정보를 획득하도록 구성된 심도 추정 유닛을 더 포함하고,
    상기 프로세서는 상기 오브젝트에 대한 상기 심도 정보에 적어도 부분적으로 기초하여 상기 스케일 값을 추정하도록 구성되는, 아이덴티티들을 결정하는 장치.
  19. 제 13항에 있어서,
    상기 프로세서는 상기 수신된 이미지를 캡쳐했던 카메라와 관련된 하나 이상의 센서들로부터의 센서 정보를 분석하고, 상기 센서 정보의 분석에 기초하여 상기 제 1의 옥타브 및 상기 제 2의 옥타브 중 적어도 하나에 대한 옥타브 레벨을 결정하도록 더 구성되는, 아이덴티티들을 결정하는 장치.
  20. 제 19항에 있어서,
    상기 장치에 대한 위치 정보를 결정하도록 구성된 GPS (Global Positioning System) 유닛을 더 포함하고,
    상기 센서 정보를 분석하기 위해, 상기 프로세서는 상기 GPS 유닛에 의해 결정된 위치 정보에 기초하여 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라가 실외 환경에 위치되었는지의 여부를 결정하도록 구성되는, 아이덴티티들을 결정하는 장치.
  21. 제 19항에 있어서,
    상기 장치에 대한 위치 정보를 결정하도록 구성된 GPS 유닛을 더 포함하고,
    상기 센서 정보를 분석하기 위해, 상기 프로세서는 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라에 상대적으로 근처에 있는 오브젝트들의 위치들을 결정하기 위해 상기 GPS 유닛에 의해 결정된 상기 위치 정보를 분석하고, 상기 오브젝트들에 대한 설명 데이터로부터 상기 오브젝트들에 대한 사이즈들을 결정하도록 구성되는, 아이덴티티들을 결정하는 장치.
  22. 제 19항에 있어서,
    무선 네트워크 인터페이스를 더 포함하고,
    상기 센서 정보를 분석하기 위해, 상기 프로세서는 상기 수신된 이미지가 캡쳐되었을 때 상기 무선 네트워크 인터페이스가 무선 네트워크에 통신 가능하게 연결되었는지를 나타내는 네트워크 데이터에 기초하여 상기 카메라가 실내 환경에 위치되었는지의 여부를 결정하도록 구성되는, 아이덴티티들을 결정하는 장치.
  23. 제 19항에 있어서,
    상기 수신된 이미지를 캡쳐했던 상기 카메라를 포함하는 적어도 두개의 카메라를 포함하는 카메라 어레이를 더 포함하고,
    상기 센서 정보를 분석하기 위해, 상기 프로세서는 상기 수신된 이미지가 캡쳐되었을 때의 상기 카메라와 상기 수신된 이미지에서의 하나 이상의 오브젝트들 사이의 거리들을 나타내는 심도 정보를 상기 카메라 어레이에 의해 캡쳐된 이미지들로부터 계산하도록 구성되는, 아이덴티티들을 결정하는 장치.
  24. 제 19항에 있어서,
    상기 하나 이상의 센서들은 상기 오브젝트에 대한 심도 값을 추정하도록 구성된 액티브 프로빙 센서를 포함하는, 아이덴티티들을 결정하는 장치.
  25. 제 13항에 있어서,
    상기 프로세서는 하나 이상의 디스크립터들을 서버에 전송하여 상기 서버가 상기 하나 이상의 디스크립터들을 이용하여 상기 특징 디스크립터 데이터베이스에 질의하게 하고, 상기 질의에 응답하여 상기 서버로부터 상기 확신도 값을 수신하도록 구성되는, 아이덴티티들을 결정하는 장치.
  26. 제 13항에 있어서,
    상기 장치는;
    집적 회로;
    마이크로프로세서; 및
    상기 프로세서를 포함하는 무선 통신 디바이스
    중 적어도 하나를 포함하는, 아이덴티티들을 결정하는 장치.
  27. 이미지 내의 오브젝트들에 대한 아이덴티티들을 결정하는 장치로서,
    수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하는 수단;
    상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하는 수단;
    상기 제 1의 세트의 디스크립터들로 특징 디스크립터 데이터베이스에 질의하는 것에 의해 생성된 결과에 대한 확신도 값을 수신하는 수단으로서, 상기 결과는 상기 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함하는, 상기 확신도 값을 수신하는 수단 ; 및
    상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하는 수단을 포함하는, 아이덴티티들을 결정하는 장치.
  28. 제 27항에 있어서,
    상기 확신도 값이 상기 확신도 임계값을 넘지 않았음을 결정하는 수단과;
    상기 결정에 기초하여 상기 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 상기 제 2의 세트의 키포인트들을 추출하는 수단과;
    상기 제 2의 세트의 키포인트들에 대한 제 2의 세트의 하나 이상의 디스크립터들을 계산하는 수단; 및
    상기 제 1의 세트의 디스크립터들과 상기 제 2의 세트의 디스크립터들을 포함하는 디스크립터들의 세트로 상기 특징 디스크립터 데이터베이스에 질의하는 수단을 더 포함하는, 아이덴티티들을 결정하는 장치.
  29. 제 28항에 있어서,
    상기 수신된 이미지 내의 오브젝트에 대한 스케일 값을 추정하는 수단과;
    상기 추정된 스케일에 기초하여 상기 특징 디스크립터 데이터베이스의 최소 옥타브를 선택하는 수단; 및
    상기 특징 디스크립터 데이터베이스에서 최소 옥타브의 지시를 제공하여 상기 특징 디스크립터 데이터베이스의 검색으로 하여금 상기 특징 디스크립터 데이터베이스 내에서의 상기 선택된 최소 옥타브에서 또는 상기 선택된 최소 옥타브 위에서 특징 디스크립터들을 검색하게 하는 수단을 더 포함하는, 아이덴티티들을 결정하는 장치.
  30. 제 29항에 있어서,
    상기 스케일 값을 추정하는 수단은:
    스케일 공간을 가로지르는 상기 제 1의 세트의 키포인트들의 분포를 분석하는 수단과;
    상기 분포 내에서의 한 스케일 레벨에 대응하는 컷오프 포인트를 결정하여 상기 키포인트들의 대략 90%가 상기 스케일 레벨 아래에 있게 하는 수단; 및
    상기 결정된 컷오프 포인트의 함수로서 상기 스케일 값을 추정하는 수단을 포함하는, 아이덴티티들을 결정하는 장치.
  31. 제 29항에 있어서,
    상기 오브젝트에 대한 심도 정보를 획득하는 수단을 더 포함하고, 상기 스케일 값을 추정하는 수단은 상기 오브젝트에 대한 상기 심도 정보에 적어도 부분적으로 기초하여 상기 스케일 값을 추정하는 수단을 포함하는, 아이덴티티들을 결정하는 장치.
  32. 제 27항에 있어서,
    상기 수신된 이미지를 캡쳐했던 카메라와 관련된 하나 이상의 센서들로부터의 센서 정보를 분석하는 수단; 및
    상기 센서 정보의 분석에 기초하여 상기 제 1의 옥타브 및 상기 제 2의 옥타브 중 적어도 하나에 대한 옥타브 레벨을 결정하는 수단을 더 포함하는, 아이덴티티들을 결정하는 장치.
  33. 제 32항에 있어서,
    GPS (Globla Positioning System) 정보를 수신하는 수단을 더 포함하고, 상기 센서 정보를 분석하는 수단은 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라가 실외 환경에 있었는지의 여부를 결정하기 위해 상기 GPS 정보를 분석하는 수단을 포함하는, 아이덴티티들을 결정하는 장치.
  34. 제 32항에 있어서,
    GPS 정보를 수신하는 수단을 더 포함하고,
    상기 센서 정보를 분석하는 수단은:
    상기 수신된 이미지가 캡쳐되었을 때 상기 카메라에 상대적으로 근처에 있는 오브젝트들의 위치들을 결정하기 위해 상기 GPS 정보를 분석하는 수단; 및
    상기 오브젝트들에 대한 설명 데이터로부터 상기 오브젝트들에 대한 사이즈들을 결정하는 수단을 포함하는, 아이덴티티들을 결정하는 장치.
  35. 제 32항에 있어서,
    적어도 하나의 무선 네트워크 프로토콜을 통해 통신하는 수단을 더 포함하고, 상기 센서 정보를 분석하는 수단은 상기 수신된 이미지가 캡쳐되었을 때 상기 무선 네트워크 프로토콜을 통해 통신하는 상기 수단이 무선 네트워크에 통신 가능하게 연결되었는지를 나타내는 네트워크 데이터에 기초하여 상기 카메라가 실해 환경에 위치되었는지의 여부를 결정하는 수단을 포함하는, 아이덴티티들을 결정하는 장치.
  36. 제 32항에 있어서,
    장면의 두 개 이상의 이미지들을 캡쳐하는 수단을 더 포함하고, 상기 두 개 이상의 이미지들 중 하나는 상기 수신된 이미지를 포함하고, 상기 센서 정보를 분석하는 수단은 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라와 상기 수신된 이미지 내의 하나 이상의 오브젝트들 사이의 거리들을 나타내는 심도 정보를 상기 장면의 상기 두 개 이상의 이미지들로부터 계산하는 수단을 포함하는, 아이덴티티들을 결정하는 장치.
  37. 제 32항에 있어서,
    상기 센서 정보를 분석하는 수단은 액티브 프로빙 센서에 의해 제공되는 데이터를 이용하여 상기 오브젝트에 대한 심도 값을 추정하는 수단을 포함하는, 아이덴티티들을 결정하는 장치.
  38. 제 27항에 있어서,
    하나 이상의 디스크립터들을 서버에 전송하여 상기 서버로 하여금 상기 하나 이상의 디스크립터들을 이용하여 상기 특징 디스크립터 데이터베이스에 질의하게 하는 수단을 더 포함하고, 상기 확신도 값을 수신하는 수단은 상기 질의에 응답하여 상기 서버로부터 상기 확신도 값을 수신하는 수단을 포함하는, 아이덴티티들을 결정하는 장치.
  39. 명령들이 저장된 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 명령들은 실행시 프로세서로 하여금:
    수신된 이미지의 제 1의 옥타브의 제 1의 세트의 블러링된 이미지들로부터 제 1의 세트의 하나 이상의 키포인트들을 추출하게 하고;
    상기 제 1의 세트의 키포인트들에 대한 제 1의 세트의 하나 이상의 디스크립터들을 계산하게 하고;
    상기 제 1의 세트의 디스크립터들로 특징 디스크립터 데이터베이스에 질의하는 것에 의해 생성된 결과에 대한 확신도 값을 수신하게 하며;
    상기 확신도 값이 확신도 임계값을 초과하지 않을 때 상기 수신된 이미지의 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 제 2의 세트의 하나 이상의 키포인트들을 추출하게 하고,
    상기 결과는 상기 수신된 이미지 내의 오브젝트의 아이덴티티를 설명하는 정보를 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  40. 제 39항에 있어서,
    상기 프로세서로 하여금:
    상기 확신도 값이 상기 확신도 임계값을 넘지 않았음을 결정하게 하고;
    상기 결정에 기초하여 상기 제 2의 옥타브의 제 2의 세트의 블러링된 이미지들로부터 상기 제 2의 세트의 키포인트들을 추출하게 하고;
    상기 제 2의 세트의 키포인트들에 대한 제 2의 세트의 하나 이상의 디스크립터들을 계산하게 하며;
    상기 제 1의 세트의 디스크립터들과 상기 제 2의 세트의 디스크립터들을 포함하는 디스크립터들의 세트로 상기 특징 디스크립터 데이터베이스에 질의하게 하는 명령들을 더 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  41. 제 40항에 있어서,
    상기 프로세서로 하여금:
    상기 수신된 이미지 내의 오브젝트에 대한 스케일 값을 추정하게 하고;
    상기 추정된 스케일에 기초하여 상기 특징 디스크립터 데이터베이스의 최소 옥타브를 선택하게 하며;
    상기 특징 디스크립터 데이터베이스에서 최소 옥타브의 지시를 제공하여 상기 특징 디스크립터 데이터베이스의 검색으로 하여금 상기 특징 디스크립터 데이터베이스 내에서의 상기 선택된 최소 옥타브에서 또는 상기 선택된 최소 옥타브 위에서 특징 디스크립터들을 검색하게 하는 명령들을 더 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  42. 제 41항에 있어서,
    상기 프로세서로 하여금 상기 스케일 값을 추정하게 하는 상기 명령들은 상기 프로세서로 하여금:
    스케일 공간을 가로지르는 상기 제 1의 세트의 키포인트들의 분포를 분석하게 하고;
    상기 분포 내에서의 한 스케일 레벨에 대응하는 컷오프 포인트를 결정하여 상기 키포인트들의 대략 90%가 상기 스케일 레벨 아래에 있게 하며;
    상기 결정된 컷오프 포인트의 함수로서 상기 스케일 값을 추정하게 하는 명령들은 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  43. 제 41항에 있어서,
    상기 프로세서로 하여금 상기 오브젝트에 대한 심도 정보를 획득하게 하는 명령들을 더 포함하고, 상기 프로세서로 하여금 상기 스케일 값을 추정하게 하는 상기 명령들은, 상기 프로세서로 하여금 상기 오브젝트에 대한 상기 심도 정보에 적어도 부분적으로 기초하여 상기 스케일 값을 추정하게 하는 명령들을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  44. 제 39항에 있어서,
    상기 프로세서로 하여금:
    상기 수신된 이미지를 캡쳐했던 카메라와 관련된 하나 이상의 센서들로부터의 센서 정보를 분석하게 하며;
    상기 센서 정보의 분석에 기초하여 상기 제 1의 옥타브 및 상기 제 2의 옥타브 중 적어도 하나에 대한 옥타브 레벨을 결정하게 하는 명령들을 더 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  45. 제 44항에 있어서,
    상기 프로세서로 하여금 상기 센서 정보를 분석하게 하는 명령들은, 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라가 실외 환경에 있었는지의 여부를 결정하기 위해 상기 프로세서로 하여금, GPS (Globla Positioning System) 정보를 분석하게 하는 명령들을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  46. 제 44항에 있어서,
    상기 프로세서로 하여금 상기 센서 정보를 분석하게 하는 상기 명령들은, 상기 프로세서로 하여금, 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라에 상대적으로 근처에 있는 오브젝트들의 위치들을 결정하기 위해 상기 GPS 정보를 분석하게 하고, 상기 오브젝트들에 대한 설명 데이터로부터 상기 오브젝트들에 대한 사이즈들을 결정하게 하는 명령들을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  47. 제 44항에 있어서,
    상기 프로세서로 하여금 상기 센서 정보를 분석하게 하는 상기 명령들은, 상기 프로세서로 하여금, 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라를 포함하는 디바이스가 무선 네트워크에 통신 가능하게 연결되었는지를 나타내는 네트워크 데이터에 기초하여 상기 카메라가 실내 환경에 위치되었는지의 여부를 결정하게 하는 명령들을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  48. 제 44항에 있어서,
    상기 프로세서로 하여금 상기 센서 정보를 분석하게 하는 상기 명령들은, 사기 프로세서로 하여금, 상기 수신된 이미지가 캡쳐되었을 때 상기 카메라와 상기 수신된 이미지 내의 하나 이상의 오브젝트들 사이의 거리를 나타내는 심도 정보를 계산하게 하는 명령들을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  49. 제 44항에 있어서,
    상기 프로세서로 하여금 상기 센서 정보를 분석하게 하는 상기 명령들은, 사기 프로세서로 하여금, 액티브 프로빙 센서에 의해 제공되는 데이터를 사용하여 상기 오브젝트에 대한 심도 값을 추정하게 하는 명령들을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  50. 제 39항에 있어서,
    상기 프로세서로 하여금, 하나 이상의 디스크립터들을 서버에 전송하게 하여 상기 서버로 하여금 상기 하나 이상의 디스크립터들을 이용하여 상기 특징 디스크립터 데이터베이스에 질의하게 하는 명령들을 더 포함하고,
    상기 프로세서로 하여금 상기 확신도 값을 수신하게 하는 상기 명령들은, 상기 프로세서로 하여금, 상기 질의에 응답하여 상기 서버로부터 상기 확신도 값을 수신하게 하는 명령들을 포함하는, 장치.
KR1020137004895A 2010-07-30 2011-07-29 증분 특징 추출을 사용하는 오브젝트 인식 KR101528081B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US36922810P 2010-07-30 2010-07-30
US61/369,228 2010-07-30
US13/193,294 2011-07-28
US13/193,294 US8625902B2 (en) 2010-07-30 2011-07-28 Object recognition using incremental feature extraction
PCT/US2011/045942 WO2012016168A2 (en) 2010-07-30 2011-07-29 Object recognition using incremental feature extraction

Publications (2)

Publication Number Publication Date
KR20130057465A true KR20130057465A (ko) 2013-05-31
KR101528081B1 KR101528081B1 (ko) 2015-06-10

Family

ID=44534653

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137004895A KR101528081B1 (ko) 2010-07-30 2011-07-29 증분 특징 추출을 사용하는 오브젝트 인식

Country Status (7)

Country Link
US (1) US8625902B2 (ko)
EP (1) EP2599034B1 (ko)
JP (1) JP5654127B2 (ko)
KR (1) KR101528081B1 (ko)
CN (1) CN103026368B (ko)
IN (1) IN2013CN00117A (ko)
WO (1) WO2012016168A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190107076A (ko) * 2017-07-13 2019-09-18 얀마 가부시키가이샤 물체 식별 시스템

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224078B2 (en) * 2000-11-06 2012-07-17 Nant Holdings Ip, Llc Image capture and identification system and process
US7899243B2 (en) 2000-11-06 2011-03-01 Evryx Technologies, Inc. Image capture and identification system and process
US9310892B2 (en) 2000-11-06 2016-04-12 Nant Holdings Ip, Llc Object information derived from object images
US7680324B2 (en) 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
US7565008B2 (en) 2000-11-06 2009-07-21 Evryx Technologies, Inc. Data capture and identification system and process
US9071868B2 (en) * 2009-05-29 2015-06-30 Cognitive Networks, Inc. Systems and methods for improving server and client performance in fingerprint ACR systems
US10375451B2 (en) 2009-05-29 2019-08-06 Inscape Data, Inc. Detection of common media segments
US8769584B2 (en) 2009-05-29 2014-07-01 TVI Interactive Systems, Inc. Methods for displaying contextually targeted content on a connected television
US10949458B2 (en) 2009-05-29 2021-03-16 Inscape Data, Inc. System and method for improving work load management in ACR television monitoring system
US10116972B2 (en) 2009-05-29 2018-10-30 Inscape Data, Inc. Methods for identifying video segments and displaying option to view from an alternative source and/or on an alternative device
US9449090B2 (en) 2009-05-29 2016-09-20 Vizio Inscape Technologies, Llc Systems and methods for addressing a media database using distance associative hashing
US10395125B2 (en) * 2016-10-06 2019-08-27 Smr Patents S.A.R.L. Object detection and classification with fourier fans
US10192138B2 (en) 2010-05-27 2019-01-29 Inscape Data, Inc. Systems and methods for reducing data density in large datasets
US9838753B2 (en) 2013-12-23 2017-12-05 Inscape Data, Inc. Monitoring individual viewing of television events using tracking pixels and cookies
US20120109993A1 (en) * 2010-10-28 2012-05-03 Qualcomm Incorporated Performing Visual Search in a Network
US8965130B2 (en) * 2010-11-09 2015-02-24 Bar-Ilan University Flexible computer vision
US9398313B2 (en) 2010-12-29 2016-07-19 Nokia Technologies Oy Depth map coding
KR101165357B1 (ko) * 2011-02-14 2012-07-18 (주)엔써즈 이미지 특징 데이터 생성 장치 및 방법
US9036925B2 (en) 2011-04-14 2015-05-19 Qualcomm Incorporated Robust feature matching for visual search
US8706711B2 (en) 2011-06-22 2014-04-22 Qualcomm Incorporated Descriptor storage and searches of k-dimensional trees
US8953889B1 (en) * 2011-09-14 2015-02-10 Rawles Llc Object datastore in an augmented reality environment
JP6103243B2 (ja) * 2011-11-18 2017-03-29 日本電気株式会社 局所特徴量抽出装置、局所特徴量抽出方法、及びプログラム
US8489585B2 (en) * 2011-12-20 2013-07-16 Xerox Corporation Efficient document processing system and method
US9031326B2 (en) * 2012-02-16 2015-05-12 Sony Corporation System and method for effectively performing an image categorization procedure
ITTO20120602A1 (it) 2012-07-09 2014-01-10 Sisvel Technology Srl Method for transforming an image descriptor based on a gradient histogram and relative image processing apparatus.
EP2883192A1 (en) * 2012-08-07 2015-06-17 metaio GmbH A method of providing a feature descriptor for describing at least one feature of an object representation
WO2014047606A2 (en) * 2012-09-24 2014-03-27 President And Fellows Of Harvard College Techniques for data synchronization using compressive sensing
US8861793B1 (en) * 2012-11-05 2014-10-14 Pixelworks, Inc. Depth map generation based on vanishing lines and vanishing points
EP2746962B8 (en) * 2012-12-20 2018-05-16 Alcatel Lucent Method and arrangement for image retrieval based on multiple images
US9946963B2 (en) * 2013-03-01 2018-04-17 Layar B.V. Barcode visualization in augmented reality
US9202129B2 (en) * 2013-03-12 2015-12-01 Qualcomm Incorporated Reducing object detection time by utilizing space localization of features
US9924102B2 (en) * 2013-03-14 2018-03-20 Qualcomm Incorporated Image-based application launcher
US9367811B2 (en) * 2013-03-15 2016-06-14 Qualcomm Incorporated Context aware localization, mapping, and tracking
US9581431B1 (en) * 2014-03-18 2017-02-28 Jeffrey M. Sieracki Method and system for parallactically synced acquisition of images about common target
US10091419B2 (en) * 2013-06-14 2018-10-02 Qualcomm Incorporated Computer vision application processing
US20140374600A1 (en) * 2013-06-19 2014-12-25 Silicon Laboratories Inc. Ultraviolet Sensor
JP6261199B2 (ja) * 2013-06-21 2018-01-17 キヤノン株式会社 情報処理装置、情報処理方法、及び、コンピュータプログラム
US9336440B2 (en) * 2013-11-25 2016-05-10 Qualcomm Incorporated Power efficient use of a depth sensor on a mobile device
US10318576B2 (en) * 2013-12-12 2019-06-11 Nant Holdings Ip, Llc Image recognition verification
WO2015099683A1 (en) 2013-12-23 2015-07-02 Empire Technology Development, Llc Suppression of real features in see-through display
US9955192B2 (en) 2013-12-23 2018-04-24 Inscape Data, Inc. Monitoring individual viewing of television events using tracking pixels and cookies
CN106575365B (zh) * 2014-02-28 2020-09-22 河谷控股Ip有限责任公司 对象识别特点分析系统和方法
US20150355309A1 (en) * 2014-06-05 2015-12-10 University Of Dayton Target tracking implementing concentric ringlets associated with target features
CN105224582B (zh) * 2014-07-03 2018-11-09 联想(北京)有限公司 信息处理方法和设备
US9978887B2 (en) 2014-10-28 2018-05-22 Silicon Laboratories Inc. Light detector using an on-die interference filter
US9830527B2 (en) * 2015-01-09 2017-11-28 Stmicroelectronics S.R.L. Image processing system for extraction of contextual information and associated methods
CA2973740C (en) 2015-01-30 2021-06-08 Inscape Data, Inc. Methods for identifying video segments and displaying option to view from an alternative source and/or on an alternative device
CN105987694B (zh) * 2015-02-09 2019-06-07 株式会社理光 识别移动设备的用户的方法和装置
CN104866873B (zh) * 2015-04-10 2018-06-26 长安大学 一种基于手机图像匹配的室内定位方法
DE102015004939A1 (de) * 2015-04-17 2016-10-20 Diehl Bgt Defence Gmbh & Co. Kg Verfahren zum Lenken eines Flugkörpers
MX2017013128A (es) 2015-04-17 2018-01-26 Inscape Data Inc Sistemas y metodos para reducir densidad de los datos en grandes conjuntos de datos.
US9613273B2 (en) * 2015-05-19 2017-04-04 Toyota Motor Engineering & Manufacturing North America, Inc. Apparatus and method for object tracking
US10080062B2 (en) 2015-07-16 2018-09-18 Inscape Data, Inc. Optimizing media fingerprint retention to improve system resource utilization
CA2992529C (en) 2015-07-16 2022-02-15 Inscape Data, Inc. Prediction of future views of video segments to optimize system resource utilization
WO2017011768A1 (en) 2015-07-16 2017-01-19 Vizio Inscape Technologies, Llc Systems and methods for partitioning search indexes for improved efficiency in identifying media segments
JP6903653B2 (ja) 2015-07-16 2021-07-14 インスケイプ データ インコーポレイテッド 共通メディアセグメントの検出
US9754182B2 (en) * 2015-09-02 2017-09-05 Apple Inc. Detecting keypoints in image data
CN105205782B (zh) * 2015-09-06 2019-08-16 京东方科技集团股份有限公司 超解像方法和系统、服务器、用户设备及其方法
CN105095919A (zh) * 2015-09-08 2015-11-25 北京百度网讯科技有限公司 图像识别方法和装置
US9858498B2 (en) * 2015-09-23 2018-01-02 Qualcomm Incorporated Systems and methods for incremental object detection using dual-threshold local binary pattern operators
US9727800B2 (en) * 2015-09-25 2017-08-08 Qualcomm Incorporated Optimized object detection
US10169684B1 (en) 2015-10-01 2019-01-01 Intellivision Technologies Corp. Methods and systems for recognizing objects based on one or more stored training images
US10755380B2 (en) * 2015-11-11 2020-08-25 Texas Instruments Incorporated Down scaling images in a computer vision system
US10122996B2 (en) * 2016-03-09 2018-11-06 Sony Corporation Method for 3D multiview reconstruction by feature tracking and model registration
CN105843891A (zh) * 2016-03-22 2016-08-10 浙江大学 一种增量式的在线特征提取分析方法及系统
US10410365B2 (en) 2016-06-02 2019-09-10 Verily Life Sciences Llc System and method for 3D scene reconstruction with dual complementary pattern illumination
CN107680028B (zh) * 2016-08-01 2020-04-21 北京百度网讯科技有限公司 用于缩放图像的处理器和方法
US20180122079A1 (en) * 2016-10-27 2018-05-03 Qualcomm Incorporated Systems and methods for determining histograms
DE102016124594A1 (de) * 2016-12-16 2018-06-21 Jena-Optronik Gmbh Verfahren zur Erfassung einer 3D-Szene mittels eines LIDAR-Systems und LIDAR-System hierzu
US20180196125A1 (en) * 2017-01-09 2018-07-12 Qualcomm Incorporated Systems and methods for lidar interference mitigation
JP7118998B2 (ja) 2017-04-06 2022-08-16 インスケイプ データ インコーポレイテッド メディア視聴データを使用してデバイスマップの精度を改善させるためのシステムおよび方法
WO2019040339A1 (en) * 2017-08-19 2019-02-28 Wave Computing, Inc. RECONFIGURABLE MATRIX DATA ROUTING
US10095925B1 (en) 2017-12-18 2018-10-09 Capital One Services, Llc Recognizing text in image data
US20190205693A1 (en) * 2017-12-28 2019-07-04 MorphoTrak, LLC Scale-Invariant Feature Point Extraction in Edge Map
US11488392B2 (en) 2018-03-15 2022-11-01 Harman International Industries, Incorporated Vehicle system and method for detecting objects and object distance
CN110321767B (zh) * 2018-03-30 2023-01-31 株式会社日立制作所 图像提取装置和方法、行为分析系统和存储介质
GB2572756B (en) * 2018-04-05 2020-05-06 Imagination Tech Ltd Sampling for feature detection
US10769474B2 (en) 2018-08-10 2020-09-08 Apple Inc. Keypoint detection circuit for processing image pyramid in recursive manner
EP3641275A1 (de) * 2018-10-18 2020-04-22 Siemens Aktiengesellschaft Verfahren, vorrichtung und computerprogramm zur automatischen verarbeitung von datenbezeichnern
US10956719B2 (en) * 2018-11-30 2021-03-23 Qualcomm Incorporated Depth image based face anti-spoofing
CN109635004B (zh) * 2018-12-13 2023-05-05 广东工业大学 一种数据库的对象描述提供方法、装置及设备
US10992714B2 (en) * 2019-01-07 2021-04-27 International Business Machines Corporation Certifying authenticity via dynamic dimensional coordinate scanning and decentralized data storage
JP2022520019A (ja) * 2019-02-15 2022-03-28 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド 画像処理方法、装置、移動可能なプラットフォーム、プログラム
US11521316B1 (en) 2019-04-03 2022-12-06 Kentucky Imaging Technologies Automatic extraction of interdental gingiva regions
US11343454B2 (en) 2019-08-16 2022-05-24 Semiconductor Components Industries, Llc Imaging systems and methods for performing pixel binning and variable integration for analog domain regional feature extraction
CN110796119A (zh) * 2019-11-14 2020-02-14 深圳一块互动网络技术有限公司 一种互动阅读实现方法
CN111327827B (zh) * 2020-03-05 2023-12-26 瞬联软件科技(北京)有限公司 拍摄场景识别控制方法、装置及拍摄设备
CN114494087A (zh) * 2020-11-12 2022-05-13 安霸国际有限合伙企业 无监督的多尺度视差/光流融合
US20220188547A1 (en) * 2020-12-16 2022-06-16 Here Global B.V. Method, apparatus, and computer program product for identifying objects of interest within an image captured by a relocatable image capture device
JP7055186B2 (ja) * 2020-12-16 2022-04-15 ヤンマーパワーテクノロジー株式会社 物体識別システム
US11900662B2 (en) 2020-12-16 2024-02-13 Here Global B.V. Method, apparatus, and computer program product for training a signature encoding module and a query processing module to identify objects of interest within an image utilizing digital signatures
US11830103B2 (en) 2020-12-23 2023-11-28 Here Global B.V. Method, apparatus, and computer program product for training a signature encoding module and a query processing module using augmented data
US11829192B2 (en) 2020-12-23 2023-11-28 Here Global B.V. Method, apparatus, and computer program product for change detection based on digital signatures
US11587253B2 (en) 2020-12-23 2023-02-21 Here Global B.V. Method, apparatus, and computer program product for displaying virtual graphical data based on digital signatures
US11475240B2 (en) * 2021-03-19 2022-10-18 Apple Inc. Configurable keypoint descriptor generation
US11810266B2 (en) 2021-03-19 2023-11-07 Apple Inc. Pattern radius adjustment for keypoint descriptor generation
US11991295B2 (en) 2021-12-07 2024-05-21 Here Global B.V. Method, apparatus, and computer program product for identifying an object of interest within an image from a digital signature generated by a signature encoding module including a hypernetwork

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7009A (en) * 1850-01-08 Machinery for dressing shingles
US5850490A (en) * 1993-12-22 1998-12-15 Xerox Corporation Analyzing an image of a document using alternative positionings of a class of segments
JPH0848199A (ja) * 1994-08-09 1996-02-20 Hitachi Ltd 障害物警報システム
US5852823A (en) * 1996-10-16 1998-12-22 Microsoft Image classification and retrieval system using a query-by-example paradigm
US6236768B1 (en) * 1997-10-14 2001-05-22 Massachusetts Institute Of Technology Method and apparatus for automated, context-dependent retrieval of information
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
JP2001238177A (ja) * 1999-10-28 2001-08-31 Fuji Photo Film Co Ltd 画像処理方法および装置
US6304197B1 (en) 2000-03-14 2001-10-16 Robert Allen Freking Concurrent method for parallel Huffman compression coding and other variable length encoding and decoding
US7454037B2 (en) * 2005-10-21 2008-11-18 The Boeing Company System, method and computer program product for adaptive video processing
US7787711B2 (en) * 2006-03-09 2010-08-31 Illinois Institute Of Technology Image-based indexing and classification in image databases
JP4196302B2 (ja) 2006-06-19 2008-12-17 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7545293B2 (en) 2006-11-14 2009-06-09 Qualcomm Incorporated Memory efficient coding of variable length codes
CN101046846A (zh) * 2006-12-31 2007-10-03 北京交通大学 掌纹图像信息采集、识别装置及方法
WO2008087466A1 (en) 2007-01-17 2008-07-24 Rosen Stefanov Run-length encoding of binary sequences followed by two independent compressions
JP2008194239A (ja) 2007-02-13 2008-08-28 Toshiba Corp 画像処理装置及びその方法
US8396331B2 (en) * 2007-02-26 2013-03-12 Microsoft Corporation Generating a multi-use vocabulary based on image data
CN101419090B (zh) * 2007-10-22 2011-03-16 中国科学院声学研究所 一种目标噪声测量中的阵列噪声信号的聚焦方法
JP5151472B2 (ja) * 2007-12-27 2013-02-27 株式会社豊田中央研究所 距離画像生成装置、環境認識装置、及びプログラム
US8214139B2 (en) * 2008-01-25 2012-07-03 Garmin Switzerland Gmbh Position source selection
JP2009223527A (ja) * 2008-03-14 2009-10-01 Seiko Epson Corp 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム
JP4871909B2 (ja) * 2008-04-25 2012-02-08 日立オートモティブシステムズ株式会社 物体認識装置、および物体認識方法
US8233716B2 (en) * 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated System and method for finding stable keypoints in a picture image using localized scale space properties
CN101327126A (zh) * 2008-07-23 2008-12-24 天津大学 人体赤足迹形态学特征提取方法
WO2010096986A1 (zh) * 2009-02-27 2010-09-02 华为技术有限公司 移动搜索方法及装置
CN101582260B (zh) * 2009-05-20 2012-01-11 王卫东 电子耳蜗中的非幅度调制语音编码方法及装置
US20100303354A1 (en) 2009-06-01 2010-12-02 Qualcomm Incorporated Efficient coding of probability distributions for image feature descriptors
US20100310174A1 (en) 2009-06-05 2010-12-09 Qualcomm Incorporated Efficient incremental coding of probability distributions for image feature descriptors
US9036925B2 (en) * 2011-04-14 2015-05-19 Qualcomm Incorporated Robust feature matching for visual search

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190107076A (ko) * 2017-07-13 2019-09-18 얀마 가부시키가이샤 물체 식별 시스템
KR20210054024A (ko) * 2017-07-13 2021-05-12 얀마 파워 테크놀로지 가부시키가이샤 물체 식별 시스템

Also Published As

Publication number Publication date
EP2599034A2 (en) 2013-06-05
US8625902B2 (en) 2014-01-07
EP2599034B1 (en) 2015-07-08
JP5654127B2 (ja) 2015-01-14
JP2013534342A (ja) 2013-09-02
CN103026368A (zh) 2013-04-03
CN103026368B (zh) 2015-12-16
KR101528081B1 (ko) 2015-06-10
IN2013CN00117A (ko) 2015-10-02
US20120027290A1 (en) 2012-02-02
WO2012016168A3 (en) 2012-06-07
WO2012016168A2 (en) 2012-02-02

Similar Documents

Publication Publication Date Title
KR101528081B1 (ko) 증분 특징 추출을 사용하는 오브젝트 인식
JP6437514B2 (ja) 特徴の空間局所化を利用することによる物体検出時間の減少
JP5749394B2 (ja) 視覚探索のための堅牢な特徴マッチング
KR101420550B1 (ko) 이미지 인식을 위한 기술자 패치들의 고속 서브스페이스 투영을 위한 방법, 디바이스 및 컴퓨터-판독가능 저장 매체
JP5911578B2 (ja) 画像の特徴点位置情報を符号化する方法、コンピュータプログラム、モバイルデバイス
KR101650994B1 (ko) 객체 인식에서 피처 생성을 개선시키기 위한 시스템들 및 방법들
US20120269425A1 (en) Predicting the aesthetic value of an image
US20120109993A1 (en) Performing Visual Search in a Network
CN110532413B (zh) 基于图片匹配的信息检索方法、装置、计算机设备
CN111182364B (zh) 一种短视频版权检测方法及系统
Feng et al. A novel saliency detection method for wild animal monitoring images with WMSN
CN110533050B (zh) 图片地理信息获取方法、装置、计算机设备及存储介质
CN107870923B (zh) 图像检索方法和装置
Baheti et al. Information-theoretic database building and querying for mobile Augmented Reality applications
CN111582107B (zh) 目标重识别模型的训练方法、识别方法、电子设备及装置
Abdulkadhem et al. Geo-localization of videobased on proposed LBP-SVD method
Yang et al. Image Description and Matching Scheme Using Synthetic Features for Recommendation Service
Yang et al. OGB: A distinctive and efficient feature for mobile augmented reality
George et al. Real-time logo detection and tracking in video
CN116977677A (zh) 基于聚类的图像特征点匹配筛选方法、装置、设备及介质
Yagcioglu et al. City scale image geolocalization via dense scene alignment
You et al. A High-Performance Image Matching and Recognition System for Multimedia Applications
PEREZ MURCIA Visual landmark recognition using binary features

Legal Events

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

Payment date: 20180329

Year of fee payment: 4