KR20120102738A - 이미지 인식을 위한 기술자 패치들의 고속 서브스페이스 투영 - Google Patents
이미지 인식을 위한 기술자 패치들의 고속 서브스페이스 투영 Download PDFInfo
- Publication number
- KR20120102738A KR20120102738A KR1020127017263A KR20127017263A KR20120102738A KR 20120102738 A KR20120102738 A KR 20120102738A KR 1020127017263 A KR1020127017263 A KR 1020127017263A KR 20127017263 A KR20127017263 A KR 20127017263A KR 20120102738 A KR20120102738 A KR 20120102738A
- Authority
- KR
- South Korea
- Prior art keywords
- patch
- descriptor
- image
- sparse projection
- sparse
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Burglar Alarm Systems (AREA)
Abstract
피처 기술자를 생성하는 방법이 제공된다. 미리 생성된 스파스 투영 벡터들의 세트가 획득된다. 이미지에 대한 스케일 스페이스가 또한 획득되며, 여기서 스케일 스페이스는 복수의 스케일 레벨들을 갖는다. 스케일 스페이스에서의 키포인트에 대한 기술자는 그 후에 복수의 스케일 레벨들에 걸쳐서 복수의 픽셀들에 대한 스파스하게 샘플링된 픽셀 정와 스파스 투영 벡터들의 조합에 기초하여 생성된다.
Description
U.S.C §119 에 따른 우선권 주장
본 특허 출원은, 발명의 명칭이 "Fast Subspace Projection of Descriptor Patches for Image Recognition" 으로 2009 년 12 월 2 일자로 출원되어 본 발명의 양수인에게 양도되어 있는 가출원 제 61/265,950 호 및 발명의 명칭이 "Fast Descriptor Extraction in Scale-Space" 로 2010 년 11 월 11 일자로 출원되어 본 발명의 양수인에게 양도되어 있는 가출원 제 61/412,759 호를 우선권 주장하며, 이들은 여기서 참조로서 명백하게 포함된다.
한 가지 특징은 컴퓨터 비전에 관한 것이며, 보다 구체적으로, 이미지들의 인식 및 취출 성능, 프로세싱, 및/또는 압축을 개선하는 방법들 및 기술들에 관한 것이다.
다양한 애플리케이션들은 시각적 표현 (예컨대, 이미지 또는 사진) 에서 객체들을 식별할 수 있는 기계 또는 프로세서를 갖는 것으로부터 이득을 얻을 수도 있다. 컴퓨터 비전 분야는 객체 또는 피처가 하나 이상의 키포인트들을 식별하는 기술자 (descriptor) 들을 특징으로 할 수도 있는 이미지에서의 객체들 또는 피처들을 식별하는 것을 허용하는 기술들 및/또는 알고리즘들을 제공하고자 한다. 이들 기술들 및/또는 알고리즘들은 또한 다른 애플리케이션들 중에서도 특히 안면 인식, 객체 검출, 이미지 매칭, 3-차원 구조 구성, 스테레오 대응, 및/또는 모션 추적에 종종 적용된다. 일반적으로, 객체 또는 피처 인식은 피처 식별, 이미지 취출, 및/또는 객체 인식의 목적으로 이미지에서 관심 포인트들 (또는 키포인트들이라고 지칭됨) 을 식별하는 것을 수반할 수도 있다. 바람직하게는, 키포인트들은, 그들이 이미지 스케일 변경들 및/또는 회전들에 대해 불변하고, 상당한 범위의 왜곡들, 시점에서의 변경들, 및/또는 일루미네이션에서의 잡음 및 변경들에 대해 강건한 매칭을 제공하도록 선택 및/또는 프로세싱될 수도 있다. 또한, 이미지 취출 및 객체 인식과 같은 작업들에 잘 어울리도록 하기 위해, 피처 기술자들은, 단일 피처가 복수의 타깃 이미지들로부터 피처들의 대형 데이터베이스에 대해 높은 확률로 정확하게 매칭될 수 있다는 점에서, 바람직하게는 개별적일 수도 있다.
이미지에서의 키포인트들이 검출되고 위치된 후, 이들은 다양한 기술자들을 이용하여 식별 또는 서술될 수도 있다. 예를 들어, 기술자들은, 다른 이미지 특성들 중에서, 형상, 컬러, 텍스처, 회전, 및/또는 모션과 같은, 이미지들에서의 콘텐츠의 시각적 피처들을 나타낼 수도 있다. 기술자는 키포인트 및 그 키포인트 주위의 로컬 이웃을 나타낼 수도 있다. 기술자 추출의 목적은, 키포인트들 주위의 로컬 정보의 강건한 무잡음 표현을 획득하는 것이다. 이것은, 무잡음 주성분 분석 (Principal Component Analysis: PCA) 서브스페이스에 기술자를 투영함으로써 이루어질 수도 있다. PCA 는, 임의의 데이터 투영에 의한 최대 분산이 제 1 좌표 (제 1 주성분이라 지칭됨) 상에 놓이고 두 번째로 큰 분산이 제 2 좌표 상에 놓이고 그 다음 것이 그 다음 좌표 상에 놓이게 하도록 데이터 (예컨대, 이미지에서의 키포인트들) 를 새로운 좌표계로 변환하는 직교 선형 변환을 수반한다. 그러나, PCA 서브스페이스로의 이러한 투영은 고차원 투영 벡터들을 이용하는 계산적으로 복잡한 내적을 필요로 한다.
키포인트들에 대응하고 기술자들에 의해 표현되는 개별적인 피처들은 기지의 객체들로부터의 피처들의 데이터베이스에 매칭된다. 따라서, 대응성 검색 시스템은 3 개의 모듈들: 키포인트 검출기, 피처 기술자, 및 대응성 로케이터로 구분될 수 있다. 이들 3 개의 논리적 모듈들에 있어서, 기술자의 구성 복잡도 및 차원수는 피처 매칭 시스템의 성능에 직접적이고 현저한 영향을 미친다. 제각각 상이한 이점들을 갖는 다양한 기술자들이 제안되어 왔다. 스케일 불변 피처 변환 (SIFT) 은, 이웃에서의 우세한 방위와 정렬되고 검출된 키포인트 σ 의 스케일 레벨에 비례하게 사이즈 조정되는 12σ x 12σ 패치들을 오픈한다. 이 영역에서의 그레디언트 값들은 각각의 셀에서 8 빈 (bin) 방위 히스토그램들을 갖는 4 x 4 셀에 요약된다. PCA-SIFT 는 이웃에서의 그레디언트 값들이 매우 작은 서브스페이스에서 표현될 수 있다는 것을 보여 주었다.
기술자 추출 절차들 중의 대부분은, 잡음을 제거하고 인식 정확도를 개선하도록 하는 차원수 감소의 이점들에 동의한다. 그러나, 기술자들을 저차원 서브스페이스에 투영하는 것과 연관되는 큰 계산 복잡도는 그의 실용성을 방지한다. 예를 들어, PCA-SIFT 패치 사이즈는 39 x 39 이며, 이는 x 및 y 방향에서의 그레디언트 값들을 고려하면, 2 * 392 차 투영이 된다. 따라서, 쿼리 이미지에서의 각각의 기술자는 d-차 서브스페이스로의 투영을 위해 2 * 392 * d 승산 및 가산을 필요로 한다. 이것이 강력한 서버 측 기계들에 현저한 비효율성을 생성하지 않을 수도 있지만, 그것은 이동 전화기들과 같은 제한적 프로세싱 리소스들을 갖는 구현물에서는 병목이 될 수도 있다.
이러한 피처 기술자들은 실시간 객체 인식, 3D 재구성, 파노라마 스티칭, 로봇 지도, 비디오 추적, 및 유사한 작업들에 있어서의 애플리케이션들을 더욱 더 찾고 있다. 애플리케이션에 따라서, 피처 기술자들 (또는 등가물) 의 송신 및/또는 저장은 객체 검출의 계산속도 및/또는 이미지 데이터베이스들의 사이즈를 제한할 수 있다. 이동 디바이스들 (예컨대, 카메라 전화기들, 이동 전화기들 등) 또는 분산형 카메라 네트워크들의 맥락에서, 노드들 사이의 기술자 추출에 현저한 통신 및 프로세싱 리소스들이 소비될 수도 있다. 기술자 추출의 계산 집약적 프로세스는 이동 전화기들과 같은 리소스 제한적 디바이스들에서 그 적용을 저해하거나 복잡하게 만드는 경향이 있다.
따라서, 로컬 피처 기술자들을 신속하고 효율적으로 생성할 방안이 필요하다.
다음은 일부 실시형태들의 기본적인 이해를 제공하기 위해 하나 이상의 실시형태들의 간략화된 개요를 제공한다. 이 개요는 모든 고려되는 실시형태들의 넓은 개요가 아니며, 모든 실시형태들의 키 또는 임계적 엘리먼트들을 식별하거나 임의의 또는 모든 실시형태들의 범주를 상술하고자 하는 것이 아니다. 이것의 유일한 목적은 하나 이상의 실시형태들의 일부 개념들을 추후에 제시되는 더욱 상세한 설명에 대한 전주로서 간략화된 형태로 제공하는 것이다.
피처 기술자를 생성하는 방법 및 장치가 제공된다. 미리 생성된 스파스 (sparse) 투영 벡터들의 세트가 획득된다. 스파스 투영 벡터들은 이미지와는 무관하게 생성될 수도 있다. 각각의 스파스 투영 벡터는 이미지에 대한 평활화 커널의 스케일들로 제약되지 않을 수도 있다. 각각의 스파스 투영 벡터들은 객체 함수를 최대화 또는 최소화시키는 데 이용될 수도 있다. 객체 함수는 이미지들의 트레이닝 세트에 대한 복수의 스케일 레벨들에 걸쳐서 픽셀 정보에 대한 자기상관 행렬의 최대화일 수도 있다. 스파스 투영 벡터는 대다수의 제로 엘리먼트들 및 복수의 비제로 엘리먼트들을 포함할 수도 있다. 비제로 엘리먼트들은 분산 최대화 절차에 의해 획득된다.
이미지에 대한 스케일 스페이스가 또한 획득되며, 여기서 스케일 스페이스는 복수의 스케일 레벨들을 갖는다. 스케일 스페이스에서의 키포인트에 대한 기술자는 그 후에 복수의 스케일 레벨들에 걸쳐서 복수의 픽셀들에 대한 스파스하게 샘플링된 픽셀 정보와 스파스 투영 벡터들의 조합에 기초하여 생성된다. 픽셀 정보는 키포인트와 관련된 패치 내의 각각의 픽셀에 대한 그레디언트 정보를 포함할 수도 있다. 복수의 픽셀들은 키포인트에 대한 패치와 연관될 수도 있다. 복수의 픽셀들은 스파스 투영 벡터들에 대한 비제로 계수들에 대응하는 미리 결정된 위치들에서 선택될 수도 있다. 패치는 m 픽셀 x n 픽셀들의 차원을 가질 수도 있고, 키포인트 기술자는 패치의 m*n 차원보다 더 적은 동작들로 생성된다.
픽셀들을 획득하기 위해, 이미지에 대한 스케일 스페이스로부터 키포인트가 획득될 수도 있고, 그 후에 키포인트에 대한 패치가 획득되며, 여기서 패치는 복수의 픽셀들을 포함한다.
복수의 스파스 투영 벡터들은 비제로 스케일링 계수들의 세트를 정의할 수도 있고, 각각의 비제로 스케일링 계수는 그 패치 내의 대응하는 픽셀 위치와 연관된다.
기술자는 복수의 기술자 콤포넌트들에 의해 생성될 수도 있으며, 각각의 기술자 콤포넌트는, (a) 제 1 스파스 투영 벡터에 대한 비제로 스케일링 계수 위치들에 기초하여 픽셀 위치들을 식별하고, 및/또는 (b) 패치로부터의 픽셀 위치의 값을 제 1 스파스 투영 벡터에 대한 대응하는 비제로 스케일링 계수와 승산하고, 그 결과 값들을 함께 가산하여 제 1 기술자 콤포넌트들을 획득함으로써 생성된다. 나머지 복수의 스파스 투영 벡터들에 대해 추가 기술자 콤포넌트들을 획득하도록 하기 위해 추가 기술자 콤포넌들이 획득될 수도 있으며, 여기서 제 1 기술자 콤포넌트 및 추가 기술자 콤포넌트들은 키포인트 기술자를 획득하도록 벡터로서 조합된다.
다양한 특징들, 본질, 및 이점들은, 도면과 결부시켜 하기에서 설명되는 상세한 설명으로부터 명백해질 것이며, 도면에서 동일한 참조 부호들은 도면 전반에 걸쳐서 상응하게 식별된다.
도 1 (도 1a, 도 1b 및 도 1c 를 포함함) 은 객체 인식에서 고속 서브스페이스 스파스 투영 벡터들을 생성하고 이용하는 다양한 스테이지들을 설명하는 블록도들이다.
도 2 는 예시적인 이미지 프로세싱 스테이지에서 가우시안 스케일 스페이스 생성을 설명한다.
도 3 은 예시적인 이미지 프로세싱 스테이지에서의 피처 검출을 설명한다.
도 4 는 예시적인 이미지 프로세싱 스테이지에서의 피처 기술자 추출을 설명한다.
도 5 는 PCA-SIFT 기술자들이 획득될 수도 있는 방법을 설명한다.
도 6 (도 6a 및 도 6b 를 포함함) 은 스파스 PCA-SIFT 알고리즘이 수행될 수도 있는 방법의 실시예를 설명한다.
도 7 은 스파스 투영 벡터를 추정하거나 생성하는 프로세스를 설명한다.
도 8 은 스파스 PCA-SIFT 를 이용하여 스파스 투영 행렬을 반복적으로 생성하는 예시적인 알고리즘을 설명한다.
도 9 는 제각각 복수의 스파스 레벨들을 갖는 복수의 옥타브들을 갖는 가우시안 스케일-스페이스 피라미드를 설명한다.
도 10 (도 10a 및 도 10b 를 포함함) 은 피처 기술자들이 스파스 투영 행렬에 기초하여 생성될 수도 있는 방법을 설명한다.
도 11 은 비제로 (non-zero) 계수들 및 이들의 대응 패치 위치들로서 스파스 투영 행렬의 예시적인 표현을 설명한다.
도 12 는 미리 정의된 스파스 투영 벡터들을 이용하여 피처 기술자를 생성하는 방법을 설명한다.
도 13 은 미리 정의된 스파스 투영 벡터들을 이용하여 피처 기술자를 생성하는 다른 방법을 설명한다.
도 14 는 피처를 특징짓는 패치의 차원들보다 더 적은 동작들을 갖는 피처 기술자들을 생성하는 방법을 설명한다.
도 15 는 스파스 PCA-SIFT 알고리즘을 이용하여 생성된 기술자의 정확도가 테스트될 수도 있는 동일한 테스트 이미지에 대한 다양한 뷰들을 설명한다.
도 16 은 모두가 x 및 y 방향들에서의 그레디언트 레벨들을 이용하여 획득되는 SIFT, PCA-SIFT 및 스파스 PCA-SIFT 를 이용한 기술자들의 매칭 정확도의 실시예를 설명한다.
도 17 은 SIFT, PCA-SIFT 및 스파스 PCA-SIFT 알고리즘들의 상대적인 계산 복잡도를 설명하는 테이블이다.
도 18 은 스파스 투영 벡터들을 이용하여 키포인트 기술자들을 생성할 수도 있는 이미지 매칭 디바이스의 실시예를 설명하는 블록도이다.
도 19 는 이미지 또는 객체 인식을 목적으로 이미지 프로세싱을 수행하도록 적응된 예시적인 이동 디바이스를 설명하는 블록도이다.
도 1 (도 1a, 도 1b 및 도 1c 를 포함함) 은 객체 인식에서 고속 서브스페이스 스파스 투영 벡터들을 생성하고 이용하는 다양한 스테이지들을 설명하는 블록도들이다.
도 2 는 예시적인 이미지 프로세싱 스테이지에서 가우시안 스케일 스페이스 생성을 설명한다.
도 3 은 예시적인 이미지 프로세싱 스테이지에서의 피처 검출을 설명한다.
도 4 는 예시적인 이미지 프로세싱 스테이지에서의 피처 기술자 추출을 설명한다.
도 5 는 PCA-SIFT 기술자들이 획득될 수도 있는 방법을 설명한다.
도 6 (도 6a 및 도 6b 를 포함함) 은 스파스 PCA-SIFT 알고리즘이 수행될 수도 있는 방법의 실시예를 설명한다.
도 7 은 스파스 투영 벡터를 추정하거나 생성하는 프로세스를 설명한다.
도 8 은 스파스 PCA-SIFT 를 이용하여 스파스 투영 행렬을 반복적으로 생성하는 예시적인 알고리즘을 설명한다.
도 9 는 제각각 복수의 스파스 레벨들을 갖는 복수의 옥타브들을 갖는 가우시안 스케일-스페이스 피라미드를 설명한다.
도 10 (도 10a 및 도 10b 를 포함함) 은 피처 기술자들이 스파스 투영 행렬에 기초하여 생성될 수도 있는 방법을 설명한다.
도 11 은 비제로 (non-zero) 계수들 및 이들의 대응 패치 위치들로서 스파스 투영 행렬의 예시적인 표현을 설명한다.
도 12 는 미리 정의된 스파스 투영 벡터들을 이용하여 피처 기술자를 생성하는 방법을 설명한다.
도 13 은 미리 정의된 스파스 투영 벡터들을 이용하여 피처 기술자를 생성하는 다른 방법을 설명한다.
도 14 는 피처를 특징짓는 패치의 차원들보다 더 적은 동작들을 갖는 피처 기술자들을 생성하는 방법을 설명한다.
도 15 는 스파스 PCA-SIFT 알고리즘을 이용하여 생성된 기술자의 정확도가 테스트될 수도 있는 동일한 테스트 이미지에 대한 다양한 뷰들을 설명한다.
도 16 은 모두가 x 및 y 방향들에서의 그레디언트 레벨들을 이용하여 획득되는 SIFT, PCA-SIFT 및 스파스 PCA-SIFT 를 이용한 기술자들의 매칭 정확도의 실시예를 설명한다.
도 17 은 SIFT, PCA-SIFT 및 스파스 PCA-SIFT 알고리즘들의 상대적인 계산 복잡도를 설명하는 테이블이다.
도 18 은 스파스 투영 벡터들을 이용하여 키포인트 기술자들을 생성할 수도 있는 이미지 매칭 디바이스의 실시예를 설명하는 블록도이다.
도 19 는 이미지 또는 객체 인식을 목적으로 이미지 프로세싱을 수행하도록 적응된 예시적인 이동 디바이스를 설명하는 블록도이다.
이제, 도면을 참조하여 다양한 실시형태들이 설명되며, 도면에서는 도면 전반에 걸쳐서 동일한 엘리먼트들을 지칭하는 데 동일한 참조기호들은 이용된다. 하기의 설명에서는, 설명을 목적으로, 하나 이상의 실시형태들의 철저한 이해를 제공하기 위해 많은 특정 세부사항들이 설명된다. 그러나, 그러한 실시형태(들) 은 이들 특정 세부사항들이 없이 실시될 수도 있다는 것이 명백할 수도 있다. 다른 경우들에 있어서, 주지된 구조들 및 디바이스들은 하나 이상의 실시형태들을 용이하게 설명하기 위해 블록도 형태로 도시된다.
예시적인 객체 인식 프로세스(
Exemplary
Object
Recognition
Process
)
도 1 (도 1a, 도 1b 및 도 1c 를 포함함) 은 객체 인식에서 고속 서브스페이스 스파스 투영 벡터들을 생성하고 이용하는 다양한 스테이지들을 설명하는 블록도들이다.
도 1a 는 스파스 투영 벡터들의 추정을 설명하는 블록도이다. 복수의 트레이닝 이미지들 (107) 이 획득될 수도 있다. 각각의 이미지에 대해, 스케일 스페이스 피라미드 (예컨대, 가우시안 스케일 스페이스 피라미드) 를 획득하도록 스케일 스페이스 생성 (110) 이 수행된다. 그 후, 생성된 스케일 스페이스에 대해 피처/키포인트 검출 (112) 이 수행될 수도 있다. 그 후, 그레디언트 패치 피라미드 추출 (115) 이 수행되고, 그에 의해, 각각의 검출된 키포인트에 대해, 그레디언트들의 패치가 스케일 스페이스로부터 (예컨대, 키포인트 주위에서) 추출된다. 이러한 패치는 일반적으로 그 패치에서 우세한 그레디언트의 배향에 대해 (평면 회전으로) 재배향된다 (회전 불변을 달성하는 흔히 알려져 있는 방법). 이 프로세스는 모든 트레이닝 이미지들에 대해 반복될 수도 있다. 트레이닝 이미지들에서의 복수의 키포인트들에 대한 생성된 그레디언트 패치들을 이용하여, 복수의 스파스 투영 벡터들 (117) 이 연산된다. 스파스 투영 벡터들 (117) 각각은 대응하는 패치 위치들을 갖는 복수의 스케일링 계수들을 포함할 수도 있다. 일 표현에 있어서, 스파스 투영 벡터들 (117) 은 스파스 계수 행렬로서 조직될 수도 있는데, 스파스 계수 행렬의 각 컬럼은 스파스 투영 벡터를 정의한다.
도 1b 는 이미지들의 데이터베이스에 대한 기술자들의 라이브러리가 스파스 투영 벡터들에 기초하여 구축될 수도 있는 방법을 설명하는 블록도이다. 여기서, 이미지들의 데이터베이스 (109) 가 획득되고, 스케일 스페이스들 (111) 이 각각의 데이터베이스 이미지에 대해 생성되며, 피처들/키포인트들이 이들 스케일 스페이스들로부터 검출된다 (113). 그 후, 스파스 피처 추출 (116) 이 스파스 투영 벡터들 (117) 을 이용하여 키포인트 기술자들의 데이터베이스 (121) 를 생성하도록 수행된다.
도 1c 는 쿼리된 이미지에 대해 스파스 투영 벡터들을 이용하여 객체 인식을 수행하는 기능적 스테이지들을 설명하는 블록도이다. 이미지 캡처 스테이지 (102) 에서, 쿼리 이미지 (108) 는 캡처될 수도 있고, 또는 이와 달리 획득될 수도 있다. 예를 들어, 쿼리 이미지 (108) 는 이미지 캡처 디바이스에 의해 캡처될 수도 있는데, 이 디바이스는 디지털 캡처 이미지를 획득하도록 하나 이상의 이미지 센서들 및/또는 아날로그-디지털 컨버터를 포함할 수도 있다. 이미지 센서들 (예컨대, 전하 결합 디바이스들 (CCD), 상보형 금속 반도체들 (CMOS)) 은 광을 전자들로 변환할 수도 있다. 전자들은, 이후에 아날로그-디지털 컨버터에 의해 디지털 값들로 변환되는 아날로그 신호를 형성할 수도 있다. 이 방식으로, 이미지 (108) 는, 예를 들어 대응하는 컬러, 일루미네이션, 및/또는 그 밖의 특성들을 갖는 복수의 픽셀들로서 이미지 I(x, y) 를 정의할 수도 있는 디지털 포맷으로 캡처될 수도 있다.
이미지 프로세싱 스테이지 (104) 에서, 그 후, 캡처 이미지 (108)는, 대응하는 스케일 스페이스 (예컨대, 가우시안 스케일 스페이스) 를 생성하고 (120), 피처/키포인트 검출을 수행하고 (122), 스파스 투영 벡터들 (117) 을 기초로, 스파스 피처 추출 (126) 을 수행하여 쿼리 기술자들 (128) 을 획득함으로써 수행된다. 이미지 비교 스테이지 (106) 에서, 쿼리 기술자들 (128) 은 기지의 기술자들의 데이터베이스 (121) 와의 피처 매칭 (130) 을 수행하는 데 이용된다. 그 후, 기하학적 검증 또는 일관성 체킹 (132) 이 (예컨대, 매칭 기술자들을 기초로) 키포인트 매칭들에 대해 수행되어, 정확한 피처 매칭들을 확인하고 매칭 결과들 (134) 을 제공하도록 할 수도 있다. 이 방식으로, 쿼리 이미지는 타깃 이미지들의 데이터베이스 (109) 와 비교될 수도 있고, 및/또는 그로부터 식별될 수도 있다.
도 2 는 예시적인 이미지 프로세싱 스테이지 (104) 에서의 가우시안 스케일 스페이스 생성을 설명한다. 스케일 불변 피처 변환 (SIFT) 와 같은 다수의 알고리즘들은 이미지들에서의 피처 검출을 수행하도록 개발되어 왔다. 이미지에서의 특정 객체들의 검출을 향한 제 1 단계는 쿼리된 객체의 로컬 피처들을 기초로 그 객체를 분류하는 것이다. 이 목적은, 예를 들어 시점에서의 일루미네이션, 이미지 잡음, 회전, 스케일링, 및/또는 작은 변경들에 대해 불변 및/또는 강건한 피처들을 식별하고 선택하는 것이다. 즉, 쿼리 이미지와 비교 타깃 이미지 사이의 매칭들은, 2 개의 이미지들 사이에서 일루미네이션, 이미지 잡음, 회전, 스케일, 및/또는 시점의 차이에도 불구하고 발견되어야 한다. 이를 위한 한 가지 방식은 이미지의 패치들에 대한 극값 (extrema) 검출 (예컨대, 로컬 최대치들 또는 최소치들) 을 수행하여 매우 독특한 피처들 (예컨대, 이미지에서의 특이성 포인트들, 픽셀들, 및/또는 영역들) 을 식별하는 것이다.
SIFT 는 일루미네이션의 변경들, 이미지 잡음, 회전, 스케일링, 및/또는 시점에서의 작은 변경들에 대해 적정하게 불변하는 로컬 피처들을 검출 및 추출하기 위한 한 가지 접근법이다. SIFT 에 대한 이미지 프로세싱 스테이지 (104) 는: (a) 스케일-스페이스 극값 검출, (b) 키포인트 로컬화, (c) 배향 할당, 및/또는 (d) 키포인트 기술자들의 생성을 포함할 수도 있다. SIFT 는 키포인트의 이웃에 있어서의 그레디언트들의 히스토그램으로서 기술자들을 구축한다. 특히, SURF (Speed Up Robust Features), 그레디언트 위치 및 배향 히스토그램 (GLOH), 로컬 에너지 기반 형상 히스토그램 (LESH), 그레디언트 압축 히스토그램 (CHoG) 를 포함하는, 피처 검출 및 후속의 피처 기술자 생성을 위한 대안의 알고리즘들은 여기에서 설명된 피처들로부터 이득을 얻을 수도 있다는 것이 명백할 것이다.
스케일 스페이스 피라미드 (202) 를 생성하기 위해, 디지털 이미지 I(x, y)(203)(도 2) 는 스케일 스페이스 피라미드 (202) 를 구성하도록 점진적으로 평활화/블러링된다. 블러링 (평활화) 은 스케일 스페이스 L(x, y, cσ) 가 L(x, y, cσ) = G(x, y, cσ)*I(x, y) 로서 정의되도록 오리지널 이미지 I(x, y) 를 스케일 cσ 에서의 블러링/평활화 함수 G(x, y, cσ) 와 컨볼루션하는 것을 수반한다. 일 실시예에서, 스케일 스페이스 피라미드는 가우시안 스케일 스페이스 피라미드일 수도 있다. 따라서, 평활화/블러링 함수 G 는 가우시안 커널 (kernel) 일 수도 있고, cσ 는 이미지 I(x, y) 를 블러링하는 데 이용되는 가우시안 함수 G 의 표준 편차를 나타낼 수도 있다. 승수 c 가 변화됨에 따라 (c0 < c1< c2 < c3 < c4), 표준 편차 cσ 가 변화하고, 이미지 I(x, y) 의 점진적 블러링/평활화가 얻어진다. 여기서, σ 는 베이스 스케일 변수 (예컨대, 가우시안 커널의 폭) 이다. 초기 이미지 I(x, y) 가 가우시안 함수 G 와 증가적으로 컨볼루션하여, 블러링된 이미지 스케일 스페이스들 L 을 생성할 때, 블러링된 이미지 스케일 스페이스들 L 은 스케일 스페이스에서 상수 인자 c 에 의해 분리된다. 가우시안 블러링된 (평활화된) 이미지 스케일 스페이스들의 수 L 이 증가하고, 가우시안 피라미드 (202) 에 제공된 근사화가 연속 스페이스에 접근함에 따라, 2 개의 스케일들이 또한 하나의 스케일에 접근한다. 일 실시예에서, 컨볼루션된 이미지 스케일 스페이스들 L 은, 표준 편차 σ 의 값을 2 배로 한 것에 대응할 수도 있는 옥타브에 의해 그룹화될 수도 있다. 또한, 승수들 c 의 값들 (예컨대, c0 < c1 < c2< c3 < c4) 은, 고정된 수의 이미지 스케일 스페이스들 L 이 옥타브마다 획득되도록 선택된다. 스케일링의 각각의 옥타브는 명시적인 이미지 사이즈 재조정 (resizing) 에 대응할 수도 있다. 따라서, 오리지널 이미지 I(x, y) 가 점진적 블러링/평활화 함수 G 에 의해 블러링/평활화됨에 따라, 픽셀들의 수는 점진적으로 감소한다.
차분 스케일 스페이스 (204)(예컨대, 가우시안 차이 (DoG) 피라미드) 는 피라미드 (202) 에서 임의의 2 개의 연속 블러링 이미지 스케일 스페이스들의 차이를 산출함으로써 구성될 수도 있다. 차분 스케일 스페이스 (204) 에서는, D(x, y, a) = L(x, y, cnσ) - L(x, y, cn -1σ) 이다. 차분 이미지 스케일 스페이스 D(x, y, σ) 는 스케이들 cnσ 및 cn -1σ 에서 2 개의 인접한 평활화/블러링 이미지들 사이의 차이이다. 차분 스케일 스페이스 D(x, y, σ) 의 스케일은 cnσ 및 cn -1σ 사이의 어딘가에 놓인다. 차분 스케일 스페이스 (204) 의 레벨들에 대한 이미지들은 스케일 스페이스의 옥타브 당 인접한 블러링 이미지들로부터 획득될 수도 있다. 각각의 옥타브 후에, 이미지는 인수 2 로 다운-샘플링될 수도 있고, 그 후에 프로세스가 반복된다. 이 방식으로, 이미지는 변환, 회전, 스케일, 및/또는 다른 이미지 파라미터들 및/또는 왜곡들에 대해 강건하거나 불변하는 로컬 피처들로 변환될 수도 있다.
일단 생성되면, 쿼리된 이미지에 대한 차분 스케일 스페이스 (204) 는 관심 피처들을 식별하도록 (예컨대, 이미지에서의 매우 독특한 포인트들을 식별하도록) 극값 검출에 이용될 수도 있다. 이들 매우 독특한 포인트들은 여기에서 키포인트들이라고 지칭된다. 이들 키포인트들은 각각의 키포인트를 둘러싸는 패치 또는 로컬 영역의 특성들에 의해 식별될 수도 있다. 기술자는 각각의 키포인트 및 그의 대응하는 패치에 대해 생성될 수도 있는데, 이러한 패치는 쿼리 이미지와 저장된 타깃 이미지들 간의 키포인트들의 비교에 이용될 수 있다. "피처"는 기술자 (즉, 키포인트 및 그의 대응하는 패치) 를 지칭할 수도 있다. 피처들의 그룹 (즉, 키포인트들 및 대응하는 패치들) 은 클러스터라고 지칭될 수도 있다.
도 3 은 예시적인 이미지 프로세싱 스테이지 (104) 에서의 피처 검출을 설명한다. 피처 검출 시, 차분 스케일 스페이스 (204)(예컨대, 가우시안 스케일 스페이스의 차이) 는 쿼리 이미지 I(x, y) 에 대한 키포인트들을 식별하는 데 이용될 수도 있다. 피처 검출은, 이미지에서 특정 샘플 포인트 또는 픽셀 주위의 로컬 영역 또는 패치가 (기하학적으로 말해서) 잠재적 관심 패치이고 그에 따라 저장 피처들과의 매칭을 위한 후보로서 간주되어야 하는지를 판정하려고 한다.
일반적으로, 차분 스케일 스페이스 (204) 에서의 로컬 최대치 및/또는 로컬 최소치가 식별되고, 이들 최대치 및 최소치의 위치들이 차분 스케일 스페이스 (204) 에서의 키포인트 위치들로서 이용된다. 도 3 에 예시된 실시예에서, 패치 (306) 를 갖는 키포인트 (308) 가 식별된다. 로컬 최대치 및 최소치를 찾는 것 (또한 로컬 극값 검출로도 알려짐) 은, 총 26 개의 픽셀들 (9 x 2 + 8 = 26) 에 대해, 차분 스케일 스페이스 (204) 에서의 각각의 픽셀 (예컨대, 키포인트 (308) 에 대한 픽셀) 을 동일한 스케일의 그의 8 개의 인근 픽셀들과 비교하고, 키포인트 (408) 의 2 개의 측면들에서 각각의 인근 스케일들의 (인접 패치들 (310, 312) 에서의) 9 개의 이웃 픽셀들과 비교함으로써 달성될 수도 있다. 여기서, 패치들은 3 x 3 픽셀 영역들로서 정의된다. 키포인트 (306) 에 대한 픽셀 값이 패치들 (306, 310, 312) 에서의 모든 26 개의 비교 픽셀들 중에서 최대치 또는 최소치인 경우, 그것이 키포인트로서 선택된다. 키포인트들은, 그들의 위치가 더욱 정확하게 식별되고, 낮은 콘트라스트 키포인트들 및 에지 키포인트들과 같은 일부 키포인트들이 무시될 수도 있도록 추가로 프로세싱될 수도 있다.
도 4 는 예시적인 이미지 프로세싱 스테이지 (104) 에서의 피처 기술자 추출을 설명한다. 일반적으로, 피처 (예컨대, 키포인트 및 그의 대응하는 패치) 는, 타깃 이미지들의 데이터베이스에 저장된 피처들에 대한 (쿼리 이미지로부터의) 피처의 효율적인 비교를 허용하는, 기술자에 의해 표현될 수도 있다. 피처 기술자 추출의 일 실시예에서, 각각의 키포인트는 하나 이상의 배향들 또는 방향들을 로컬 이미지 그레디언트의 방향들에 기초하여 할당받을 수도 있다. 로컬 이미지 특성들에 기초하여 각각의 키포인트에 일관된 배향을 할당함으로써, 키포인트 기술자는 이 배향에 상대적으로 나타내질 수 있고, 그에 따라 이미지 회로에 대한 불변성을 달성한다. 크기 및 방향 산출은 블러링된 이미지 스케일 스페이스 L 및/또는 차분 스케일 스페이스에서 키포인트 (308) 주위의 인근 영역에서의 모든 픽셀에 대해 수행될 수도 있다. (x, y) 에 위치한 키포인트 (308) 에 대한 그레디언트의 크기는 m(x, y) 로서 표현될 수도 있고, 위치 (x, y) 에서의 키포인트에 대한 그레디언트의 배향 또는 방향은 로서 표현될 수도 있다. 키포인트의 스케일은, 모든 계산들이 스케일-불변 방식으로 수행되도록 키포인트 (308) 의 스케일에 가장 가까운 스케일을 갖는 평활화된 이미지 L 을 선택하는 데 이용된다. 각각의 이미지 샘플 L(x, y) 에 대해, 이 스케일에서, 그레디언트 크기 m(x, y) 및 배향 은 픽셀 차이들을 이용하여 산출된다. 예를 들어, 크기 m(x, y)은,
[수학식 1]
로서 산출될 수도 있다.
[수학식 2]
로서 계산될 수도 있다. 여기서, L(x, y) 는, 키포인트의 스케일기도 한 스케일 σ 에서의 카우시안-블러링된 이미지 L(x, y, σ) 의 샘플이다.
키포인트 (308) 에 대한 그레디언트들은, 차분 스케일 스페이스에서의 키포인트의 평면보다 더 위에 있는 스케일 스페이스 피라미드의 평면에서 더 높은 스케일로, 또는 키포이트보다 아래에 있는 스케일 스페이스 피라미드의 평면에서 더 낮은 스케일로 일과적으로 계산될 수도 있다. 어느 방식이든, 각각의 키포인트에 대해, 그레디언트들은 키포인트를 둘러싼 직사각형 영역 (예컨대, 패치) 에서 하나의 동일한 스케일에서 모두가 계산된다. 더욱이, 이미지 신호의 주파수는 블러링된 이미지의 스케일에 반영된다. 아직, SIFT 는 패치 (예컨대, 직사각형 영역) 의 모든 픽셀들에서 그레디언트 값들을 이용한다. 패치는 키포인트 주위에 정의되고; 서브블록들은 블록들 내에서 정의되며; 샘플들은 서브블록들 내에 정의되고 이 구조는 키포인트들의 스케일들이 상이한 경우라 해도 모든 키포인트들에 대해 동일하게 유지된다. 따라서, 이미지 신호의 주파수가 동일한 옥타브에서 가우시안 평활 필터들의 연속적인 적용에 따라 변하는 동안, 상이한 스케일들로 식별된 키포인트들은, 스케일로 표현되는 이미지 신호의 주파수에서의 변화와는 무관하게 동일한 수의 샘플들을 갖도록 샘플링될 수도 있다.
키포인트 배향을 특징짓기 위해, 키포인트 (408) 의 이웃에서 (키포인트들의 스케일에 가장 가까운 스케일의 가우시안 이미지를 이용하여) 그레디언트 배향들의 벡터가 (SIFT 로) 생성될 수도 있다. 그러나, 키포인트 배향은 또한, 예를 들어 그레디언트들의 압축 히스토그램 (Compressed Histogram of Gradients: CHoG) 을 이용하여 그레디언트 배향 히스토그램 (도 4 참조) 에 의해 표현될 수도 있다. 각각의 이웃 픽셀의 기여도는 그레디언트 크기 및 가우시안 윈도우에 의해 가중될 수도 있다. 히스토그램에서의 피크들은 우세한 배향들에 대응한다. 키포인트의 모든 특성들은 키포인트 배향에 대해 상대적으로 측정될 수도 있고, 이것은 회전에 대해 불변성을 제공한다.
일 실시예에서, 가우시안-가중 그레디언트들의 분포는, 각각의 블록이 총 4 개의 서브블록들에 대해 2 서브블록 x 2 서브블록인, 각각의 블록에 대해 산출될 수도 있다. 가우시안-가중 그레디언트들의 분포를 산출하기 위해, 키포인트 주위의 영역의 일부분을 각각 커버하는 여러 빈들을 갖는 배향 히스토그램이 형성된다. 예를 들어, 배향 히스토그램은, 360 도 범위의 배향들 중 10 도를 각각 커버하는 36 개의 빈들을 가질 수도 있다. 대안으로, 히스토그램은, 360 도 범위 중 45 도를 각각 커버하는 8 개의 빈들을 가질 수도 있다. 여기에서 설명되는 히스토그램 코딩 기술들이 임의의 수의 빈들의 히스토그램에 적용 가능할 수도 있다는 것은 명백할 것이다. 궁극적으로 히스토그램을 생성하는 다른 기술들이 또한 이용될 수도 있다는 것에 주목한다.
그레디언트 분포들 및 배향 히스토그램들은 다양한 방식들로 얻어질 수도 있다. 예를 들어, 2 차원 그레디언트 분포 (dx, dy) (예컨대, 블록(406)) 는 1 차원 분포 (예컨대, 히스토그램 (414)) 으로 변환된다. 키포인트 (408) 는 키포인트 (408) 를 둘러싼 패치 (406)(셀 또는 영역이라고도 지칭됨) 의 센터에 위치한다. 피라미드의 각 레벨에 대해 미리 산출된 그레디언트들은 각각의 샘플 위치 (408) 에서 작은 화살표들로 도시된다. 도시된 바와 같이, 샘플들 (408) 의 4 x 4 영역들은 서브블록 (410) 을 형성하고, 서브블록들의 2 x 2 영역들은 블록 (406) 을 형성한다. 블록 (406) 은 또한 기술자 윈도우라고 지칭될 수도 있다. 가우시안 가중 함수는 원 (402) 을 갖는 것으로 도시되며, 각각의 샘플 포인트 (408) 의 크기에 가중치를 할당하는 데 이용된다. 원형 윈도우 (402) 의 가중치는 평탄하게 떨어진다. 가우시안 윈도우 (402) 의 목적은, 윈도우의 포지션에서의 작은 변경들에 따른 기술자에서의 급작스러운 변경들을 회피시키고, 기술자의 센터로부터 떨어진 그레디언트들에게 보다 적은 주안점을 부여하는 것이다. 배향 히스토그램들 (412) 의 2 x 2 = 4 어레이는 히스토그램의 각각의 빈에서 8 개의 배향들을 갖는 2 x 2 서브블록들로부터 획득되어, (2 x 2) x 8 = 32 차 피처 기술자 벡터를 초래한다. 예를 들어, 배향 히스토그램들 (413, 415) 은 서브블록 (410) 에 대한 그레디언트 분포에 대응할 수도 있다. 그러나, 각각의 히스토그램 (8-빈 히스토그램들) 에서의 8 개 배향들을 갖는 히스토그램들의 4 x 4 어레이를 이용하면, 각각의 키포인트에 대해 (4 x 4) x 8 = 128 엘리먼트 벡터를 초래하는 것은 보다 우수한 결과를 안출할 수도 있다. 다른 타입들의 양자화 빈 콘스텔레이션들 (예컨대, 상이한 보로노이 (Voronoi) 셀 구조들을 가짐) 이 또한 그레디언트 분포들을 획득하는 데 이용될 수도 있다는 것에 주목한다.
여기에서 사용되는 바와 같이, 히스토그램은 가중치들이 관찰 (예컨대, 그레디언트들의 크기 등) 의 중요성에 대응하는, 빈들로 알려진 다양한 별개의 카테고리들에 속하는 관찰들의 가중 합, 샘플들, 또는 존재 (occurrence) 들을 산출하는 맵핑 ki 이다. 히스토그램의 그래프는 히스토그램을 표현하는 한 가지 방식에 불과하다.
서브블록들로부터의 히스토그램들은 키포인트에 대한 피처 기술자 벡터를 획득하도록 연결될 수도 있다. 16 서브-블록들로부터 8-빈 히스토그램들에서의 그레디언트들이 이용되는 경우, 128 차 피처 기술자 벡터가 생성될 수도 있다. 기술자는 일루미네이션 세기 변화들애 대한 불변성, 즉 가 j 번째 서브블록의 i 번째 빈 값에 대응하는 16 가중 히스토그램들에 대해 을 얻도록 정규화될 수도 있다.
이 방식으로, 기술자는 식별된 각각의 키포인트에 대해 기술자가 획득될 수도 있는데, 이 경우, 그러한 기술자는 위치 (x, y), 배향, 및 가우시안 가중 그레디언트들의 분포들의 기술자에 의해 특징지어질 수도 있다. 이미지는 하나 이상의 키포인트 기술자들 (또한 이미지 기술자들이라고도 지칭됨) 에 의해 특징지어질 수도 있다는 것에 주목한다. 또한, 기술자는 위치 정보 (예컨대, 키포인트에 대한 좌표들), 스케일 (예컨대, 키포인트를 갖는 가우시안 스케일이 검출되었음), 및 클러스터 식별자 등과 같은 다른 정보를 포함할 수도 있다.
일단 기술자들이 쿼리 이미지에서 식별된 키포인트들에 대해 획득되었다면, 쿼리된 이미지 (108) 에서의 키포인트는 피처 매칭 (122) 을 수행하도록 타깃 이미지들에서의 포인트들에 비교 및/또는 매칭될 수도 있다. 예를 들어, 쿼리된 이미지에서의 키포인트에 대한 기술자는 데이터베이스에 저장된 하나 이상의 기술자들 (타깃 이미지들의 데이터베이스에서의 키포인트들에 대응함) 에 비교되어, 하나 이상의 매칭들을 찾도록 할 수도 있다. 이 비교는, 쿼리된 이미지에서의 키포인트가 적어도 임계량 또는 퍼센트 (예컨대, 75 % 매칭, 80 % 매칭 등) 만큼 타깃 이미지에서의 포인트에 대응한다면 "매칭"이 성공하는 경우 확률적 비교일 수도 있다. 이 방식으로, 쿼리 이미지에서의 키포인트들은 타깃 이미지에서의 키포인트들에 매칭된다.
기술자 추출을 위한
PCA
-
SIFT
(
PCA
-
SIFT
for
Descriptor
Extraction
)
주성분 분석 (Principal Component Analysis: PCA) 은 차원수 감소에 대한 표준 기술이며, 피처 선택, 객체 인식 및 안면 인식을 포함하는 넓은 부류의 컴퓨터 비전 문제들에 적용되어 왔다. PCA-SIFT 는 키포인트의 이웃의 그레디언트 값들이 PCA 에 의해 획득된 매우 작은 서브스페이스에 투영될 수 있다는 것을 보여 준다. 기술자 추출의 일부로서, PCA 는 고차원 스페이스로부터의 데이터 (즉, 이미지에서의 키포인트들) 를 보다 적은 차원의 스페이스로 선형 변환하는 데 이용될 수도 있다. PCA 는 이러한 방식으로 저차원 표현에서의 데이터 분산이 최대화되도록 저차원 스페이스로의 데이터 선형 맵핑을 수행한다.
SIFT 기술자들을 개선하기 위해, PCA-SIFT 는 패치에 대한 좌표계를 데이터 세트 (즉, 이미지 내의 키포인트들) 에서의 최대 분산을 달성하는 것에 기초하여 새로운 좌표계로 효과적으로 변경한다. PCA-SIFT 는, 데이터의 임의의 투영에 의한 최대 분산이 제 1 좌표 (제 1 주성분이라고 지칭됨) 에 놓이고, 두 번째로 큰 최대 분산이 제 2 좌표 (제 2 주성분) 에 놓이며, 그 다음 것이 그 다음 좌표 상에 놓이게 하도록 데이터 (예컨대, 이미지에서의 키포인트들) 를 새로운 좌표계로 변환하는 직교 선형 변환을 수반한다. 수학적으로, (a) 각각의 키포인트에 대한 수평 및 수직 그레디언트들을 표현하는 그레디언트 벡터 (예컨대, 패치 = 39 픽셀 x 39 픽셀 x 2 그레디언트 방향 = 3042 차 벡터) 를 획득하고, (b) 모든 키포인트 패치들에 대한 그레디언트 벡터들을 행렬 A (행렬 차원 = k 패치 x 패치 당 3042 벡터) 에 결함하며, (c) 행렬 A 의 공분산 행렬 A 를 계산하고, (d) 공분산 행렬 A 의 고유 벡터들 및 고유 값들을 계산하며, (e) 투영 행렬 (n x 3042) 을 획득하도록 첫 번째 n 개의 고유벡터들을 선택함으로써, 투영 행렬이 획득된다. 이 프로세스는 종종 고유 값 분해라고 지칭된다.
기술자 추출 절차들에 있어서, 차원수 감소는 잡음을 감소시키고 매칭 정확도를 개선하는 이점을 갖는다. PCA-SIFT 알고리즘은 키포인트들 주위의 로컬 그레디언트 패치들에 기초하여 기술자들을 추출할 수도 있다. PCA-SIFT 는 다음의 단계들로 요약될 수 있다: (1) 로컬 패치들의 그레디언트 이미지들을 표현하도록 고유 스페이스를 미리 계산함; (2) 패치가 제공되면, 그의 로컬 이미지 그레디언트를 산출함; (3) 컴팩트 피처 벡터 (즉, 기술자) 를 도출하도록 고유 스페이스를 이용하여 그레디언트 이미지 벡터를 투영함. 이 피처 벡터 (즉, 기술자) 는 표준 SIFT 피처 벡터 (즉, 기술자) 보다 현저히 작으며, 동일한 매칭 알고리즘들과 함께 이용될 수 있다. 2 개의 피처 벡터들 (즉, 기수자) 사이의 유클리드 거리는 2 개의 벡터들이 상이한 이미지들에서의 동일한 키포인트에 대응하는지를 판정하는 데 이용된다. 기술자들의 특이성은 그들의 분산에 의해 정규화된 기술자들의 주성분 분석에 의해 획득된, 기술자들의 고유 값들을 합산함으로써 측정된다. 이것은 상이한 기술자들에 의해 캡처된 분산의 양, 이에 따른 그들의 특이성에 대응한다.
도 5 는 PCA-SIFT 기술자들이 어떻게 획득될 수도 있는지를 설명한다. SIFT 기술자들에 대한 실시예 (도 3, 도 4) 와 마찬가지로, 이미지 I(x, y)(502) 는 복수의 스케일 스페이스들 (506)(즉, 가우시안 피라미드) 을 획득하도록 하나 이상의 가우시안 커널들 G(x, y, σi)(504) 와 컨볼루션된다. 여기서, 상이한 커널 스케일링 파라미터들 (σ0, σ1, σ2) 에 각각 대응하는 스케일 스페이스들 (508, 510, 512) 이 예시된다. 로컬 키포인트 기술자들에 대해, PCA-SIFT 는 표준 SIFT 기술자 (예컨대, 서브픽셀 위치, 스케일, 및 키포인트의 우세한 배향들) 와 동일한 입력들을 이용한다. 이 실시예에서는, 복수의 키포인트들 (514) 이 상이한 스케일 레벨들(및/또는 옥타브들) 에 걸쳐서 검출되고 있다. 패치 (516) 는 각각의 키포인트 (514) 주위에서 정의된다. 패치 (518) 는 W x W 차원 (예컨대, 39 픽셀들 x 39 픽셀들) 를 가질 수도 있으며, 소정 스케일로 추출되고 대응하는 키포인트 전반에 중심을 두어 정준 방향에 그의 우세한 배향을 정렬시키도록 회전될 수도 있다. 그레디언트 행렬 [ga1, ga2, ga3, ..., gaM] (520) 은 각각의 패치 (518) 에 대해 획득될 수도 있고, 그레디언트 행렬들은 행렬 A (522) 로 벡터화된다. 그 후, 행렬 X (522) 의 공분산 행렬 X (524) 이 생성된다. 이후에 d 최대 고유 값들 (즉, 최대 분산) 로부터 투영 행렬 V (530) 을 생성하는 데 이용될 수 있는 공분산 행렬 X (524) 에 대한 고유 벡터들 V (526) 및 고유 값들 Λ (528) 이 획득된다.
PCA-SIFT 기술자들을 획득하는 것은, 일반적으로 PCA 기초 (투영) 벡터 V 와 관심 키포인트에 대한 이미지 패치 Ipatch 사이의 내적을 취하는 것을 요구한다. 본질적으로, 키포인트에 대한 이미지 패치 Ipatch 는, 그것이 더 높은 스케일로 단일 포인트에 의해 표현되는 경우에 그 더 높은 스케일로 "투영"될 수도 있다. PCA 기초 (투영) 벡터 V 는
[수학식 3]
로서 표현될 수도 있는데, 이 때 αI 는 스케일링 계수이고, K(xi, x) 는 위치 xi 에서의 가우시안 기초 함수 (평활화 커널) 이며, m 은 패치에서 샘플링된 위치들의 개수이다. PCA 기초 벡터 V 와 이미지 패치 Ipatch 사이의 내적은,
[수학식 4]
이도록 기초 벡터 V 와 이미지 패치 Ipatch 를 전치함으로써 제공된다.
따라서, 일 실시예에서, 이미지 패치 Ipatch (예컨대, 이미지 패치 (514 또는 516)) 와 PCA 기초 (투영) 벡터 사이의 내적을 계산하는 것은 W2 승산 및 W2 가산을 요구하는 픽셀방향 동작이다.
PCA 기초 (투영) 벡터들은 벡터들의 트레이닝 세트로부터 획득되고, 쿼리 기술자들은 이 서브스페이스에 투영된다. X = {x1, x2, ..., xN} 이 을 갖는 N 개의 트레이닝 패치들이고, p = W2 가 키포인트 주위에서 샘플링된 각각의 패치의 차원수 W x W 라고 한다. 패치들의 공분산 행렬은 로서 추정되며, 여기서 은 샘플 평균이다. 공분산 행렬의 고유 벡터들은 모든 패치 변동들을 표현하기에 충분한 기초 벡터들을 제공한다. 기초 (투영) 벡터들은, 이며, 여기서 은 고유벡터 행렬이고, 은 그의 대각방향으로 대응하는 고유 값들을 갖는 대각 행렬이다. 이 분해의 목적은, 분산을 최대화시킴으로써 잡음을 감소시키는 d-차 서브스페이스를 추출하는 것이며, 여기서 d = {1, 2, ..., n} 이다. 이것은, 최대 d 고유 값들과 관련된 고유 벡터들 에 의해 제공된다. d 를 선택하는 한 가지 방식은 데이터에서의 총 분산의 ~ 90% 를 유지시키는 것이다. 테스트 이미지로부터의 기술자 q 는 에 의해 PCA 서브스페이스 상으로 투영된다. 이것은 d x p 승산 및 d x p 가산을 요구하며, 여기서 d x p = d x W2 이다.
PCA-SIFT 의 구현은, 키포인트들의 수 (수천에 달할 수 있음) 에 의해 악화되는, 저차원 서브스페이스에 대한 기술자들의 PCA 투영들과 연관된 큰 계산 비용들로 인해, 모바일 디바이스들과 같은 제한적 프로세싱 리소스들을 갖는 플랫폼들 상에서 저해될 수도 있다. 예를 들어, PCA-SIFT 패치 사이즈 (W x W ) 는 39 픽셀 x 39 픽셀이며, 이는 x 및 y 방향에서의 그레디언트 값들을 고려하면 2 * 392 차 투영 벡터들이 된다. 따라서, 쿼리 이미지에서의 각각의 기술자는 d-차 서브스페이스로의 투영에 2 * 392 * d 승산 및 가산을 요구한다. 이것은 강력한 서버 측 기계들에 대해 상당한 비효율성을 생성하지 않을 수도 있지만, 모바일 전화기들과 같이 제한적 프로세싱 리소스들을 갖는 구현물들에서 병목이 될 수도 있다.
스파스
PCA
-
SIFT 를
이용한 스케일 스페이스에서의 고속
그레디언트
기반 기술자 추출 (
Fast
Gradient
-
Based
Descriptor
Extraction
in
Scale
-
Space
Using
Sparse
PCA
-
SIFT
)
로컬 그레디언트 패치들로부터의 기술자들의 효율적인 추출을 위한 스파스 서브스페이스 투영 알고리즘이 설명된다. 기술자들은, 가우시안 기초 함수들의 스파스 조합들에 의해 표현되는 PCA 서브스페이스에 로컬 그레디언트 패치를 투영함으로써 획득된다. 가우시안 기초 함수들의 표준 편차는 가우시안 스케일 스페이스 피라미드에서의 스케일들의 차이들 중 하나로부터 선택된다. 따라서, PCA 서브스페이스로의 패치들의 투영은 스케일 스페이스에서 스파스 계수들을 대응하는 그레디언트들에 단순히 승산함으로써 얻어질 수 있다.
테스트 샘플들을 서브스페이스에 투영하기 위한 매우 낮은 계산 복잡도를 갖는 스파스 PCA-SIFT 알고리즘이 여기에서 설명된다. PCA 기초 벡터들 (즉, PCA 투영 벡터 V (526), 도 5) 를 계산하는 것이 아니라, 그 대신에 PCA 기초 벡터들이 가우시안 기초 함수들의 스파스 선형 조합들로서 획득되며, 이들의 표준 편차들은 가우시안 스케일 스페이스의 스케일 레벨 차이들로부터 선택된다. 이것은 스파스 내적에 의해 서브스페이스 상에 소정 패치를 투영하는 것을 허용한다. 스파스 PCA-SIFT 알고리즘은 다른 피처 추출 기술들로 용이하게 확장될 수 있다.
도 6 (도 6a 및 도 6b 를 포함함) 은 스파스 PCA-SIFT 알고리즘이 수행될 수도 있는 방법의 실시예를 설명한다. 그러나, 이 프로세스가 다른 타입의 알고리즘들에 확장 및/또는 적용될 수도 있다는 것은 명백할 것이다.
도 6a 는 스파스 계수 행렬을 획득하도록 하는 스파스 PCA-SIFT 알고리즘에 대한 오프라인 트레이닝 절차를 설명한다. 트레이닝 이미지들 (602) 의 라이브러리는 상이한 스케일들로 가우시안 커널 (604) 와 컨볼루션되어, 각각의 이미지에 대해 가우시안 스케일 스페이스 (606) 를 생성한다. 각각의 이미지에 대해, 키포인트들은 복수의 스케일들 (608, 610, 612) 에 걸쳐서 검출될 수도 있고, 패치 (616) 는 각각의 키포인트 주위에서 정의된다. 이 실시예에서, 제 1 키포인트 (614) 가 식별되었고, 대응하는 패치 (616) 가 키포인트 (614) 주위에서 정의되어 있다. 이 패치 (616) 는 스케일 스페이스 (606) 의 다수의 스케일 레벨들에 걸쳐서 투영되어, 키포인트 (616) 위의 하나 이상의 대응하는 패치들 (617) 및/또는 그 아래의 하나 이상의 대응하는 패치들 (615) 에 대한 로컬 정보를 획득할 수도 있다. 다음으로, 제공된 패치로부터의 핵심적인 정보는 인덱스들 i 및 j 가 패치에서의 픽셀들의 좌표들인 행렬 [gij] 에 포함된다. 행렬의 콤포넌트들은 픽셀 세기 값들 자체일 수 있고, 또는 도면에 예시된 바와 같이, 각각의 픽셀에서의 총 그레디언트 크기를 표기할 수 있으며, 또는 더욱 일반적으로, x 및 y 방향들에서의 그레디언트 값들을 표현할 수 있다. 패치 형상이 정사각형이어야 하는 것이 아니라, 동일한 패치 형상이 기술자들을 생성하는 데 후속으로 이용되는 한, 직사각형, 원형 등과 같은 다른 형태를 취할 수 있다는 것이 명백할 것이다. 일부 실시예들에 있어서, 그레디언트 행렬은 키포인트 (614) 와 동일한 스케일로 패치 (616) 에 대한 정보만을 포함할 수도 있다는 것에 유의한다. 다른 구현예들에 있어서, 그레디언트 행렬은 상이한 스케일들의 대응하는 패치들 (615 및/또는 617) 에 대한 정보를 포함할 수도 있다. 그 후, 복수의 그레디언트 행렬들 (620) 은 행렬 X (622) 로 벡터화될 수도 있다. 행렬 X (622) 의 복수의 열들이 그 후에 선택되고, 그들의 분산이 스파스 계수 행렬 (630) 을 획득하도록 최대화된다 (624), 행렬 X (622) 의 열들의 서브세트만이 분산 최대화에 이용되기 때문에, 오로지 몇 개의 비제로 계수들만이 스파스 계수 행렬 (630) 의 각각의 투영 벡터 (즉, 행) 에 대해 생성된다. 행렬 X (622) 의 열들의 서브세트만이 분산 최대화에 이용되기 때문에, 오로지 몇 개의 비제로 계수들만이 스파스 계수 행렬 (630) 의 각각의 투영 벡터 (즉, 행) 에 대해 생성된다. 스파스 계수 행렬에서 나머지 계수들은 제로이다. 일 실시예에서, 스파스 계수 행렬 (630) 의 행 (즉, 투영 벡터) 에서의 각각의 계수는 패치 내의 위치에 대응한다는 것에 주목한다. 이러한 위치는 스파스 계수 행렬 (630) 에서의 그의 행 내의 계수 위치에 의해 고유하게 식별될 수도 있다. 대안으로, 각각의 비제로 계수에 대한 위치는 비제로 계수들과 함께 제공될 수도 있다.
일단 스파스 계수 행렬 (630) 이 획득되었다면, 그것은 이미지들의 라이브러리 및 쿼리 이미지 양측 모두에 대한 키포인트 기술자들을 생성하는 데 이용될 수도 있다. 스파스 계수 행렬 (630) 의 각각의 행에서의 계수들은 스파스 투영 벡터를 표현한다.
도 6b 는 스파스 계수 행렬에 기초한 스파스 PCA-SIFT 를 이용하여 기술자들의 온라인 생성을 위한 프로세스를 설명한다. 이미지 (644)(예컨대, 데이터베이스 이미지 또는 쿼리 이미지 중 어느 하나) 는 가우시안 커널 (642) 과 컨볼루션되어, 복수의 스케일들에 걸쳐서 가우시안 스케일 스페이스 (646) 를 생성한다. 그 후, 하나 이상의 키포인트들이 스케일 스페이스들 (646) 로부터 식별될 수도 있다. 각각의 키포인트에 대해, 주변 픽셀들 (예컨대, 샘플 포인트들) 의 패치가 생성된다. 각각의 패치에 대해, 그레디언트 벡터 (650) 가 패치에 대해 생성되며, 여기서 그레디언트 벡터는 패치에서의 포인트들 각각에 대한 그레디언트의 크기를 포함할 수도 있다. 이 실시예에서, 패치는 39 x 39 픽셀들 (예컨대, 포인트들) 일 수도 있고, 그에 따라 그레디언트 벡터 [g1 ,1, ..., g39 , 39](650) 는 1521 엘리먼트들을 포함할 수도 있다. 전술된 바와 같이, 스파스 계수 행렬에서의 계수들 중 일부만이 비제로이다. 이 실시예에서, 비제로 계수들은 α2, α50, α88, α143 이다. 이들 비제로 계수들에 대해, 대응하는 그레디언트 크기 값 (즉, 패치에서의 동일한 위치에 대응함) 이 획득된다. 이 실시예에서, 그레디언트들 g1 ,2, g2 ,11, g3 ,20, g4 ,26 에 대한 위치들 (652) 은 비제로 계수들 (654) 에 대응하도록 실벽되었다. 스파스 계수 행렬의 각각의 행에 대해, 비제로 계수들 각각은 대응하는 그레디언트에 의해 승산되고, 그 결과들은 함께 행 단위로 가산되어, 복수의 기술자 콤포넌트들 (656) 을 획득하게 한다. 복수의 기술자 콤포넌트들은 키포인트 기술자 (658) 를 획득하도록 벡터에 조합된다. 이 프로세스는 복수의 키포인트들에 대해 이미지 (644) 의 복수의 대응하는 기술자들을 얻도록 반복될 수도 있다. 이 실시예에서, 키포인트 주위의 패치는 단일 스케일 레벨로 정의된다는 것에 주목한다. 일반적으로, 키포인트 주위의 다수의 스케일들에 걸친 복수의 패치들은 패치들 (615, 616, 617) 에 도시된 바와 같이 이용될 수 있다.
스파스 투영 벡터들을 생성하는 예시적인 프로세스 ( Exemplary Process for Generating Sparse Projection Vectors )
도 7 (도 7a, 도 7b 및 도 7c 를 포함함) 은 스파스 투영 벡터를 추정하거나 생성하는 프로세스를 설명한다. 복수의 트레이닝 이미지들 (702a, 702b, 702c) 이 획득될 수도 있다. 이들 이미지들에서 검출되는 각각의 키포인트에 대해, 패치는 키포인트 주위에서 구축된다. 행렬의 각각의 엘리먼트 g 가 n x n 패치 (예컨대, n = 39) 에서 대응하는 샘플, 포인트 또는 픽셀 각각에 대한 크기를 표현할 수도 있는 행렬 (704) 로서 표현되는 그레디언트 행렬이 각각의 패치에 대해 획득된다. 각각의 그레디언트 행렬 (704) 은 각각의 엘리먼트 g 의 포지션이 그의 대응하는 패치 내에서의 예측 가능하거나 공지된 위치를 갖도록 구성 또는 배열될 수도 있다는 것에 주목한다. 복수의 그레디언트 행렬들 (704)(복수의 트레이닝 이미지들에 대한 패치들을 표현할 수도 있음) 은 그 후에 행렬 X (706) 로 벡터화될 수도 있다. 행렬 X (706) 로부터의 복수의 k 열이 그 후에 행렬 (706') 에 예시된 바와 같이 무작위로 또는 비무작위로 선택될 수도 있다. 이 실시예에서는, k = 4 및 열들 (707a, 707b, 707c, 707d) 이 선택되었다. 행렬 X (706) 의 선택된 열들에 걸친 분산은 그 후에 스파스 계수 행렬 (710) 을 획득하도록 최대화된다 (708). 스파스 계수 행렬 (710) 에서의 계수들은 최대 분산을 달성하도록 선택된다.
일 구현예에서, 스파스 계수 행렬 (710) 의 각각의 행에서의 몇 개의 계수들만이 비제로 계수들이다. 나머지 계수들은 제로일 수도 있다. 예시적인 스파스 계수 행렬 (712) 은 비제로인 그들 콤포넌트들만을 도시한다. 추가로, 일부 구현예들에서, 스파스 계수 행렬 (710) 에서의 행의 개수는 d 개의 행들 (예컨대, d = 200 개의 행들) 로 절단될 수도 있다. 스파스 계수 행렬의 생성된 행들 각각은 스파스 투영 벡터일 수도 있으며, 이는 패치를 스패닝할 수도 있다. 예를 들어, 스파스 계수 행렬 (710) 의 행 (n2 개의 엘리먼트들을 포함함) 은 예시된 바와 같이 n x n 패치 (714) 에 맵핑될 수도 있다.
다양한 구현예들에서, 스파스 계수 행렬 (710) 은 이미지 스케일 스페이스의 상이한 레벨들로 복수의 패치들에 걸쳐서 생성될 수도 있다. 따라서, 각각의 추가 스케일 스페이스 레벨에 대해, 추가 열들이 행렬 (710) 에 추가될 수도 있고, 또는 추가 행렬들이 생성될 수도 있다.
도 8 은 스파스 PCA-SIFT 를 이용하여 스파스 투영 행렬을 반복적으로 생성하는 예시적인 알고리즘을 설명한다. 그레디언트들의 행렬 X 가 N 개 패치들 (802) 의 세트에 대해 획득된다. 자기상관 행렬 S 는, S = (1/N)XXT (804) 이도록 그레디언트들의 행렬 X 에 대해 획득된다. 자기상관 행렬 S 는 패치들의 각각의 차원 사이의 관계를 정의할 수도 있다. N 개 패치들의 행렬 X 에 대한 자기상관 행렬 X 는,
[수학식 5]
에 의해 제공될 수도 있고, 여기서 xi 는 각각의 트레이닝 패치에 대한 벡터를 표현한다.
자기상관 행렬 S 에 대한 기초 벡터들은 고유 값 분해 SV = VΛ 에 의해 획득될 수 있고, 여기서 V 및 Λ 는 고유 벡터 및 대응하는 고유 값 행렬들이라는 것에 주목한다. 수학식 4 로부터, PCA 기초 (투영) 벡터가 V = K(xi, x)α 로서 표현될 수도 있다는 것이 관찰된다. 가우시안 기초 함수들에 기초하여 고유 벡터들을 획득하기 위해, 기초 벡터들이 평활화 커널 행렬 K 로부터 획득되는데, 다시 말해 V = Kα 이며, 여기서 α 는 스파스 계수 벡터이다. K 는,
[수학식 6]
이고, 각각의 행 j 는 대응하는 픽셀 위치 xj 에서 정의된 가우시안 함수에 대응하고, σ 는 상이한 커널 스케일링 파라미터들 σ1 및 σ2 에 대한 커널의 표준 편차, 즉 가 되도록, 열 i 및 행 j 를 갖는 n x n 행렬로서 정의된다.
수학식 6 의 이 커널 행렬 K 는 매우 강력한데, 이는 그것이 그의 행들의 선형 조합을 간단히 형성함으로써 이미지 도메인에서 다수의 함수들을 구성할 수 있기 때문이다. 또한, 커널 행렬 K 의 행과의 상관성은 가우시안 스케일 스페이스 피라미드에서의 더 높은 스케일 레벨에서 픽셀 값에 의해 간단히 획득될 수 있는데, 이는 이미지가 커널 행렬 K 와 이미 컨볼루션되었기 때문이다. 이를 위해, 커널 파라미터 σ 는 가우시안 스케일 스페이스 피라미드의 스케일 레벨 차분들 중 하나로부터 선택될 수도 있다. 기술자 기반 절차들 중 대부분이 가우시안 스케일 스페이스 피라미드를 미리 구축하기 때문에, 가우시안 기초 함수와의 상관성을 획득하는 것은 무상이 된다 (즉, 어떠한 추가 프로세싱도 필요하지 않다).
이 상관성을 획득하기 위해, 가능한 σ 선택안들의 세트는 가우시안 스케일 스페이스 레벨들의 스케일 차이들로 제약받을 수도 있다. 도 9 는 복수의 옥타브들을 갖는 가우시안 스케일 스페이스 피라미드 (902) 를 설명하며, 각각의 옥타브는 복수의 스케일 레벨들을 갖는다. 스케일 레벨들은,
[수학식 7]
에 의해 제공될 수도 있고, 여기서 o 는 옥타브 레벨이고, k 는 옥타브 내의 스케일 레벨이며, s 는 각각의 옥타브 내의 스케일 레벨들의 수이다. 키포인트가 레벨 (o0, k0) 에서 검출되면, 가우시안 기초 함수 표준 편차는 키포인트 주위에서 개방되는 리사이즈되지 않은 패치에 대해 이어야 한다. 패치를 이들 기초 함수들과의 상관시키기는 대신, 피라미드의 더 높은 스케일 레벨, 예컨대 o1 > o0 및/또는 k1 > k0 을 갖는 (o1, k1) 이 이용된다. 따라서,
[수학식 8]
은 o1 > o0 및/또는 k1 > k0 이도록, 스케일들의 가능한 세트
[수학식 9]
을 제공한다. 이것은, 이들 표준 편차들 σ 을 갖는 가우시안 기초 함수들의 선형 조합을 이용하여 서브스페이스 투영 벡터가 산출될 수 있다면, 이 벡터에 대한 이미지 응답의 산출이 스케일 스페이스에서의 대응하는 위치들의 샘플링으로 감소한다는 것을 의미한다.
자기상관 행렬 S 의 기초 벡터들은 SKα = Kαλ 에 의해 제공될 수도 있다. 수학식의 양측 면들을 평활화 커널 행렬 K 로 승산하는 것은, 그 문제를 일반화된 고유 값 분해 문제 KSKα = K2αλ로 변환한다. 그 목적은, 가우시안 기초 함수들에 대한 계수들 α 의 스파스 세트를 찾는 것이다. 다시 말해, 비제로 계수 엘리먼트들 α 의 카디널리티 (cardinality) card(α0) 는 그의 차원수보다 훨씬 작을 필요가 있다. 비제로 계수 엘리먼트들 α 및 그들의 값들의 최적의 수는 비결정적 다항 시간 하드 문제인 것으로 알려져 있다. L-1 표준 와 같은 α 의 카디널리티에 대한 매우 느슨한 상한인 페널티 기간 (term) 을 최소화하는 많은 근사화들이 문헌에서 정의된다.
도 8 에서의 방법을 다시 참조하면, 비제로 계수 엘리먼트들 α 을 획득하기 위한 하나의 실시예가 예시된다. 행렬 S 의 분산은 각각의 패치에서의 복수의 무작위 위치들에 대해 반복적으로 최대화될 수도 있다. 반복 프로세스는 스파스 계수 행렬 A (여기서, A = [α1, ..., αi]) 를 구성하는 복수의 스파스 투영 벡터들 αi (n2 콤포넌트들을 갖는 벡터) 을 생성하는 데 이용될 수도 있다. 각각의 반복 (i = 1 내지 d, 기초 벡터들의 수) 에서, 여러 후보 벡터들 αi 는 비제로 계수들 α 의 수 및 포지션들을 무작위로 선택함으로써 랜덤화된다. 이것은, 이고, 여기서 r = 1 내지 랜덤화의 수 이도록, 계수들에 의해 스패닝된 서브스페이스에서의 자기상관 행렬 S 의 분산을 최대화하는 고유 벡터 및 고유 값을 산출함으로써 이루어질 수도 있다 (810).
그 후, 이들 정규화된 고유벡터들 αi 각각은 스파스 계수 행렬 A = [α1, ..., αi] 에 추가될 수도 있다 (816).
스파스 계수 행렬 A = [α1, ..., αi] 을 획득하면, 투영 행렬 V 는 커널 행렬 K와의 승산, 즉 V = KA 에 의해 제공된다. 쿼리 이미지로부터의 패치 q 는 qTKA 에 의해 서브스페이스에 투영될 수 있다. qTKA 가 패치 1 의 가우시안 컨볼루션에 등가이고 스케일 스페이스의 더 높은 레벨들에 의해 제공되므로, 패치 q 는 스파스 계수 행렬 A 의 비제로 엘리먼트들을 스케일 스페이스로부터 샘플링된 대응하는 픽셀들과 승산함으로써 서브스페이스에 투영될 수 있다.
스파스 투영 벡터들을 이용하여 기술자들을 생성하는 예시적인 프로세스 (Exemplary Process for Generating Descriptors by Using Sparse Projection Vectors )
도 10 (도 10a 및 도 10b 를 포함함) 은 피처 기술자들이 스파스 투영 행렬에 기초하여 생성될 수도 있는 방법을 설명한다. 여기서, 스파스 투영 행렬 A (1002) 은 (도 1 에 예시된 바와 같이) 오프라인으로 획득되었다. 이 실시예에서, 제 1 투영 벡터 (즉, 제 1 행) 는 비제로 계수들 α1 2, α1 75, α1 201 및 α1 576 을 포함한다. 이들 계수들은 예시된 바와 같이 n x n 패치 (1004) 에 매핑될 수도 있다 (예컨대, n = 39).
쿼리 이미지에 대해, 키포인트 (1007) 가 획득될 수도 있고, 패치 (1006) 는 키포인트 (1007) 주위에 구축된다. 여기서, 키포인트 (1007) 주위의 그레디언트들 g 가 쿼리 패치에 대해 예시된다. 각각의 그레디언트 g 는 패치에서의 각각의 포인트 또는 픽셀과 관련된 크기일 수도 있다. 복수의 기술자 콤포넌트들 Dcompi (1008) 은 크기 g 와 대응하는 계수 α 를 승산함으로써 생성될 수도 있다. 여기서, 비제로 계수들 α 의 위치는 스파스 계수 행렬 (1002) 로부터 알려진다. 따라서, 패치 (1006) 에서의 대응하는 위치들에서의 (비제로 계수들 α 에 대한) 그레디언트 크기들만이 이용될 필요가 있다. 각각의 기술자 콤포넌트 Dcomp 는, Dcomp = α2*g1,2 + α50*g2 ,7 + α88*g5 ,3 + α143*g9 ,5 이도록 하는 비제로 계수들과 대응하는 그레디언트 크기들 g 의 조합 (합) 일 수도 있다. 이것은 대응하는 비제로 계수들을 이용하여 스파스 투영 행렬 (1002) 의 모든 행들 또는 복수의 행들에 대해 반복된다. 기술자 벡터 (1010) 는 그 후에 기술자 콤포넌트들 Dcomp 를 연결함으로써 구성될 수도 있다.
따라서, 일 실시예에 따르면, 각각의 피처/키포인트 기술자 (1012) 는 복수의 기술자 엘리먼트들/콤포넌트들 [Dcomp1 m, Dcomp2 m, Dcomp3 m, ..., Dcompd m] 을 포함할 수도 있으며, 여기서 각각의 엘리먼트는 샘플 포인트 Ii 에 대해 이고, IX(i) 는 대응하는 비제로 계수 인덱스이다. 각각의 패치에 대한 하나 이상의 샘플 포인트들의 위치(들)는 계수들 αi j (오프라인 트레이닝 동안 발견됨) 에 대한 대응하는 위치들이다.
스파스 계수 행렬은 다수의 상이한 방식들로 표현될 수도 있다는 것에 주목해야 한다. 도 10 에 예시된 실시예에서, 패치 위치는 각각의 포지션에서 암시적이다. 특히, 계수들의 서브세트만이 비제로 계수들이면, 스파스 계수 행렬의 사이즈는 비제로 계수들 및 그들의 대응하는 패치 위치들만을 제공하여 감소할 수도 있다.
도 11 은 비제로 계수들 (1102) 및 그들의 대응하는 패치 위치들 (1104) 로서 스파스 투영 행렬의 예시적인 표현을 설명한다. 여기서, 패치 식별자는 비제로 계수와 패치 위치를 상관시키는 데 이용될 수도 있다. 여기서, 각각의 엘리먼트 αi,k 는 계수들의 벡터 일 수도 있고, 여기서 s 는 선택된 비제로 계수들의 수이다. 투영 벡터 당 평균 비제로 계수들은, 예를 들어 s = {4, 5.63, 9.41} 일 수도 있다. 각각의 엘리먼트 αi,k 에 대해, 대응하는 위치 벡터 IXi ,k(j) 가 제공되며, 여기서 IXi ,k(j) 는, j = 1, 2, ..., s 에 대해, 차원수 (k) 에 대한 대응하는 패치 (i) 및 샘플 (j)(예컨대, 좌표들) 의 대응하는 위치 벡터 [IX1,1(j), ... ,IXm ,d(j)] 를 제공한다.
스파스 계수 행렬 A (1002)(도 10) 은 스케일링 계수들 및/또는 포지션들의 리스트, 하나 이상의 스케일링 계수 및 포지션 테이블들, 및/또는 벡터들, 행렬들, 및/또는 테이블들의 조합과 같은 다양한 다른 등가의 형태들로 표현될 수도 있다는 것에 주목한다.
스파스 투영 벡터들을 이용하여 기술자들을 생성하는 예시적인 프로세스 (Exemplary Process for Generating Descriptors by Using Sparse Projection Vectors )
도 12 는 미리 정의된 스파스 투영 벡터들을 이용하여 피처 기술자를 생성하는 방법을 예시한다. 미리 생성된 스파스 투영 벡터들의 세트가 획득될 수도 있다 (1202). 그 후, 이미지에 대한 스케일 스페이스가 획득되는데, 여기서 스케일 스페이스는 복수의 스케일 레벨들 (1204) 를 갖는다. 그 후, 스케일 스페이스에서의 키포인트에 대한 기술자는 복수의 스케일 레벨들 (1206) 에 걸쳐서 복수의 픽셀들에 대한 스파스하게 샘플링된 픽셀 정보와 스파스 투영 벡터들의 조합에 기초하여 생성될 수도 있다. 픽셀 정보는 키포인트와 관련된 패치 내의 각각의 픽셀에 대한 그레디언트 정보를 포함할 수도 있다. 복수의 픽셀들은 스파스 투영 벡터들에 대한 비제로 계수들에 대응하는 미리 결정된 위치들에서 선택될 수도 있다.
스파스 투영 벡터들은 이미지와는 무관하게 (예컨대, 프로세싱되고 있는 이미지에 대한 지식을 갖기 이전에) 생성될 수도 있다. 일 실시예에서, 각각의 스파스 투영 벡터는 이미지에 대한 평활화 커널의 스케일들로 제약될 수도 있다. 스파스 투영 벡터는 대다수의 제로 엘리먼트들 및 복수의 비제로 엘리먼트들을 포함할 수도 있다. 비제로 엘리먼트들은 분산 최대화 절차에 의해 획득된다.
다양한 구현예들에서, 스파스 투영 벡터들 각각은 객체 함수를 최대화 또는 최소화시킨다. 예를 들어, 객체 함수는 이미지들의 트레이닝 세트에 대한 복수의 스케일 레벨들에 걸쳐서 픽셀 정보에 대한 자기상관 행렬의 최대화이다.
도 13 은 미리 정의된 스파스 투영 벡터들을 이용하여 피처 기술자를 생성하는 다른 방법을 설명한다. 복수의 스파스 투영 벡터들을 표현하는 비제로 스케일링 계수들의 미리 생성된 세트가 획득될 수도 있는데, 여기서 각각의 스케일링 계수는 패치 내의 대응하는 위치와 관련된다 (1302). 예를 들어, 이러한 스파스 투영 벡터들은 도 7 및 도 8 에 예시된 바와 같이 획득될 수도 있다. 이러한 스파스 투영 벡터들은 오프라인으로 산출될 수도 있고, 스파스 계수 행렬의 일부일 수도 있으며, 및/또는 이미지에 대한 평활화 커널의 스케일들로 제약될 수도 있다. 그 후, 키포인트가 이미지 (1304) 에 해 획득될 수도 있다. 스파스 투영 벡터들은 이미지와 무관할 수도 있다는 것에 주목한다. 예를 들어, 투영 벡터들은 이미지를 배제한 이미지들의 트레이닝 세트에 기초하여 생성될 수도 있다. 그 후, 패치는 키포인트 (1306) 에 대해 획득되거나 정의될 수도 있다. 키포인트에 대한 기술자는 그 후에 복수의 기술자 콤포넌트들을 기초로 생성될 수도 있다. 각각의 기술자 콤포넌트가 하기의 프로세스에 의해 생성된다. 패치에 대한 샘플 포인트 위치들은 제 1 스파스 투영 벡터에 대한 비제로 스케일링 계수 위치들에 기초하여 식별된다 (1308). 패치로부터의 각각의 식별된 샘플 포인트 위치의 크기/값은 제 1 스파스 투영 벡터에 대한 대응하는 비제로 스케일링 계수와 승산 (또는 이와 달리 조합) 되며, 생성된 값들은 함께 가산되어 기술자 콤포넌트를 획득하게 한다 (1310). 이러한 승산 및 가산 프로세스는 도 10b에서 예를 들어 설명된다. 이 프로세스는 그 후에 복수의 기술자 콤포넌트들을 획득하도록 나머지 복수의 스파스 투영 벡터들 각각을 이용하여 반복된다. 그 후, 복수의 기술자 콤포넌트들은 키포인트에 대한 기술자 벡터를 획득하도록 조합된다 (1314).
기술자 엘리먼트는 이미지에 대한 스케일 스페이스의 더 높은 레벨로 투영된 패치 내의 샘플 포인트의 가중 합으로 간주될 수도 있다는 것에 주목한다. 그 결과, 키포인트 기술자는 이미지에 대한 스케일 스페이스의 상이한 레벨들로 투영된 패치로부터 샘플 포인트들의 서브세트의 가중 조합이다. 기술자가 키포인트 및 패치 정보에 기초하기 때문에, 기술자는 키포인트 및/또는 그의 패치의 하나 이상의 특성들을 식별한다. 스파스 투영 벡터들이 이용되므로 (예컨대, 투영 벡터들 중 몇 개의 엘리먼트들만이 비제로인 경우), 키포인트 기술자는 패치의 사이즈보다 더 적은 동작들로 생성될 수도 있다.
도 14 는 피처를 특징짓는 패치의 차원들보다 더 적은 동작들로 피처 기술자들을 생성하는 방법을 예시한다. 키포인트가 이미지에 대해 획득될 수도 있다 (1402). 이러한 키포인트는 이미지에 대해 획득된 스케일 스페이스 (예컨대, 가우시안 스케일 스페이스) 로부터 획득될 수도 있다. 키포인트는 이미지의 영역 내에서의 특정 이미지 스케일의 로컬 최소치 또는 최대화일 수도 있다. 패치는 키포인트 쥐이에서 정의될 수도 있고, 패치는 m 픽셀들 x n 픽셀들의 치수를 갖는다 (1404). 미리 정의된 스파스 투영 벡터들이 또한 획득된다 (1406). 예를 들어, 스파스 투영 벡터들은 스파스 계수 행렬의 일부일 수도 있고, 이미지에 대한 평활화 커널의 스케일들로 제약될 수도 있다. 스파스 투영 벡터들은 이미지와는 무관하다. 예를 들어, 투영 벡터들은 이미지를 배제하는 이미지들의 트레이닝 세트에 기초하여 생성될 수도 있다. 키포인트에 대한 기술자는 그 후에 패치의 적어도 하나의 특성 및 적어도 하나의 스파스 투영 벡터에 기초하여 생성될 수도 있는데, 여기서 기술자는 패치의 m*n 차원보다 더 적은 동작들로 생성된다 (1408).
예시적인 스파스 PCA-
SIFT
구현 (
Exemplary
Sparse
PCA
-
SIFT
Implementation
)
도 15 는 스파스 PCA-SIFT 알고리즘을 이용하여 생성된 기술자의 정확도가 테스트될 수도 있게 하는 동일한 테스트 이미지에 대한 다양한 뷰들을 예시한다. 이들 이미지들 (1502, 1506, 1508) 은 그들의 매칭 정확도 및 계산 복잡도와 관련하여 여기에서 개시된 스파스 PCA-SIFT 알고리즘을 SIFT 및 PCA-SIFT 알고리즘들과 비교하는 데 이용될 수도 있다. 매칭 정확도는 리콜-정확도 곡선을 이용하여 평가된다. 이들 플롯들 (도 16) 은 그들 사이의 공지된 호모그래피를 이용하여 평면의 2 개의 이미지들에 대해 획득된다. 제 1 이미지에서의 기술자 x1 은, 제 1 이미지에서의 기술자 x2 가 피처 스페이스에서 x1 의 가장 가까운 이웃이고, 가장 가까운 이웃까지의 거리와 두 번째로 가까운 이웃까지의 거리의 비율이 임계치 t 보다 작은 경우, x2 에 매칭된다. 이 비율 테스트는 비특이성 기술자들의 매칭을 회피시키는 데 이용된다. 특정 임계치에 대한 리콜 속도는 제 1 이미지와 제 2 이미지 사이의 모든 가능한 대응성의 수에 대한 참된 매칭들의 비율, 즉 에 의해 제공된다. 정확도는 매칭 절차가 총 매칭 수에 대한 참된 매칭 수의 비율, 즉 을 계산함으로써 얼마나 정확한지를 특정한다. 임계치 t 가 변할 때, 리콜 정확도 곡선들이 획득된다.
도 16 은, x 및 y 방향에서의 그레디언트 레벨들을 이용하여 모두 획득되는 SIFT, PCA-SIFT 및 스파스 PCA-SIFT 를 이용하는 기술자들의 매칭 정확도의 실시예를 설명한다. 따라서, PCA-SIFT 및 스파스 PCA-SIFT 는 2 x 39 x 39 개의 정규화된 그레디언트 패치들을 이용한다. 이 실시예에서, 평활화 커널의 표준 편차는 및 S = 3 으로서 선택된다.
패치 (스케일 레벨 l에서 획득됨) 를 스파스 PCA 서브스페이스에 투영하기 위해, 계수는 2 스케일 업 (스케일 레벨 l + 2) 에서 대응하는 픽셀들과 승산된다. 리콜 정확도 곡선들에서 알 수 있는 바와 같이, PCA-SIFT 가 이미지 쌍 1-2 (그래프 1602) 에 대해 매우 우수하게 수행하지만, 그것은 쌍 1-3 (그래프 1604) 에 있게 되어 시점 변화가 더 클 때에는 불량하게 수행한다. 이것은, PCA 가 작은 등록 에러에 민감하기 때문이다. 스파스 PCA-SIFT 는 가우시안 기초 함수들을 이용하여 기초 벡터들을 표현함으로써 이 문제를 해결한다. 따라서, 그것은 이미지 쌍 1-3 에 대해 PCA-SIFT 보다 우수하게 수행한다. 전체적으로, 스파스 PCA-SIFT 및 SIFT 는 필적할만 하며, 전자는 시점 변화가 작을 때 더 우수하게 수행한다. 스파스 PCA-SIFT 의 주요 이점은 평균적으로 몇 개의 비제로 계수들과의 승산으로 구성되는 그것의 낮은 계산 복잡도이다.
도 17 은 SIFT, PCA-SIFT 및 스파스 PCA-SIFT 알고리즘들의 상대적인 계산 복잡도를 예시한 테이블이다. SIFT 에 대한 기술자 복잡도 및 다른 히스토그램 기반 접근법들은 검출된 키포인트의 스케일 레벨 σ 에 의존한다. 일 실시예에서, SIFT 는 검출된 키포인트 위치 주위에서 12σ x 12σ 패치를 개방하며, 여기서, σ 는 이미지에 대한 가우시안 스케일 스페이스의 옥타브 내의 스케일 레벨과 동일하다. 이 패치는 4 x 4 셀에 풀링 (pool) 되는데, 여기서 8 개의 각도들로 양자화된 배향 히스트그램이 각각의 셀에 대해 획득된다. 각각의 셀에 대한 3-선 삽간 (이미지 도메인에서의 3σ 1.5σ = 6σ 픽셀 폭 제곱을 갖는 스케일 스페이스에서의 2 개의 가장 가까운 셀들의 가중 합) 은 16 x 2 x (6σ)2 승산 및 가산 동작들을 초래한다. 표준 스케일링 σ = 1.6 인 경우, 이것은 기술자 당 2949 동작들과 동일하며, 옥타브 σ = 3.2 내에서의 최고 레벨에 대해서는 기술 당 11796 동작들이다.
PCA-SIFT 에 대해, 39 x 39 픽셀 패치들의 수평 및 수직 그레디언트는 검출된 키포인트들 주위에서 이용될 수도 있다. PCA-SIFT 는 모든 2 x 392 = 3042 차원을 이용하여 50-차 서브스페이스에 패치들을 투영한다. 따라서, 그것은 기술자를 생성하는 데 패치 당 50 x 3042 = 152100 승산 및 가산 동작들을 요구한다.
한편, PCA-SFIT 는 계수 벡터들의 비제로 엘리먼트들의 수를 제한했다. PCA-SIFT 알고리즘의 복잡도는 200-서브스페이스에 패치들을 투영하는 데 이용되는 투영 벡터 s = {4, 5.63, 9.41} 에 대한 평균 비제로 계수들에 비례한다. 이것은 패치 당 4 x 200 = 800 내지 9.41 x 200 = 1882 사이의 승산 및 가산 동작들을 요구한다. 따라서, 설명된 스파스 PCA-SIFT 알고리즘은 SIFT 와 같은 히스토그램 기반 기술자들 및 PCA-SIFT 와 같은 픽셀 기반 기술자들보다 훨씬 빠르게 수행한다.
예시적인 이미지
매칭
디바이스
(
Exemplary
Image
Matching
Device
)
도 18 은 스파스 투영 벡터들을 이용하여 키포인트 기술자들을 생성할 수도 있는 이미지 매칭 디바이스의 실시예를 설명한 블록도이다. 이미지 매칭 디바이스 (1800) 는 통신 인터페이스 (1804), 이미지 캡처 디바이스 (1806), 및/또는 저장 디바이스 (1808) 에 커플링된 프로세싱 회로 (1802) 를 포함할 수도 있다. 통신 인터페이스 (1804) 는, 유선/무선 네트워크를 통해 통신하고 이미지들 및/또는 하나 이상의 이미지들에 대한 피처 기술자들을 수신하도록 구성될 수도 있다. 이미지 캡처 디바이스 (1806) 는, 예를 들어 쿼리 이미지를 캡처할 수 있는 디지털 카메라일 수도 있다. 프로세싱 회로 (1802) 는 이미지들로부터 피처들을 추출하도록 하는 이미지 플로세싱 회로 (1814) 및 추출된 피처들을 이용하여 타깃이미지들의 데이터베이스 (1810) 에 쿼리 이미지를 매칭시키고 및/또는 쿼리 이미지 기술자들을 기술자 데이터베이스 (1812) 에 매칭시키는 이미지 매칭 회로 (1816) 를 포함할 수도 있다. 프로세싱 회로는 또한 스파스 투영 벡터들의 스파스 계수 행렬 (1809) 을 생성하는 투영 벡터 생성 회로 (1813) 를 포함하거나 구현할 수도 있다. 스파스 투영 벡터들이 생성되고 이용되는 방법의 실시예들이 도 1, 도 6, 도 7, 도 8, 도 10, 도 12, 도 13, 및 도 14 에 예시된다. 이미지 매칭 디바이스 (1800) 는 그들 도면에서 설명되는 하나 이상의 피처들 및/또는 방법들을 구현할 수도 있다.
일 예시적인 구현예에 따르면, 이미지 매칭 애플리케이션은 이미지 데이터베이스에서 하나 이상의 이미지들에 쿼리 이미지를 매칭시키고자 한다. 이미지 데이터베이스는 데이터베이스에 저장된 하나 이상의 이미지들과 연관된 수백만의 피처 기술자들을 포함할 수도 있다 (1810).
이미지 프로세싱 회로 (1814) 는 가우시안 스케일 스페이스 생성기 (1822), 피처 검출기 (1824), 이미지 스케일링 회로 (1826), 및/또는 피처 기술자 추출기 (1830) 를 포함하는 피처 식별 회로 (1820) 를 포함할 수도 있다. 가우시안 스케일 스페이스 생성기 (1822) 는, 예를 들어 도 12 에서 설명된 바와 같이, 복수의 상이한 스케일 스페이스들을 생성하도록 이미지를 블러링 함수와 컨볼루션하는 데 이용될 수도 있다. 피처 검출기 (1824) 는 그 후에 (예컨대, 도 3에서 설명된 바와 같이 로컬 최대치 및 최소치를 이용하여) 이미지에 대해 상이한 스케일 스페이스들에서 하나 이상의 키포인트들을 식별할 수도 있다. 이미지 스케일링 회로 (1826) 는 피처 검출 및/또는 클러스터링을 수행할 적절한 커널 사이즈를 선택하기 위해 이미지의 스케일을 근사화하는 데 이용될 수도 있다. 피처 기술자 생성기 (1830) 는 스파스 계수 행렬 (1809) 에 저장된 스파스 투영 벡터들을 이용하여 각각의 키포인트 및/또는 그의 주변 패치에 대한 기술자를 생성한다.
일부 구현예들에서, 쿼리 이미지에 대한 키포인트들과 관련된 피처 기술자들의 세트는 이미지 매칭 디바이스에 의해 수신될 수도 있다는 것에 주목한다. 이 상황에서, 쿼리 이미지는 (기술자들을 획득하기 위해) 이미 프로세싱되었다. 따라서, 이미지 프로세싱 회로 (1814) 는 이미지 매칭 디바이스 (1800) 로부터 바이패스되거나 제거될 수도 있다.
예시적인 모바일
디바이스
도 19 는 이미지 또는 객체 인식을 목적으로 이미지 프로세싱을 수행하도록 구성된 예시적인 모바일 디바이스를 설명한 블록도이다. 모바일 디바이스 (2200) 는 이미지 캡처 디바이스 (1904) 에 커플링된 프로세싱 회로 (1902), 통신 인터페이스 (1910) 및 저장 디바이스 (1908) 를 포함할 수도 있다. 이미지 캡처 디바이스 (1904)(예컨대, 디지털 카메라) 는 관심 쿼리 이미지 (1906) 를 캡처하고 그것을 프로세싱 회로 (1902) 에게 제공하도록 구성될 수도 있다. 저장 디바이스 (1908) 는 복수의 스파스 투영 벡터들을 정의하는 스파스 계수 행렬 (1913) 을 포함할 수도 있다. 스파스 계수 행렬 (1913) 은 트레이닝 이미지들의 세트에 기초하여 (모바일 디바이스 상에서 또는 상이한 디바이스에서) 미리 생성될 수도 있다.
프로세싱 회로 (1902) 는 캡처된 이미지를 프로세싱하여 이미지/객체 인식을 위해 후속으로 송신되거나 이용될 수 있는 피처 기술자들을 생성하도록 구성될 수도 있다. 에를 들어, 프로세싱 회로 (1902) 는 가우시안 스케일 스페이스 생성기 (1922), 피처 검출기 (1924), 이미지 스케일링 회로 (1926), 및/또는 피처 기술자 추출기 (1930) 를 포함하는 피처 식별 회로 (1920) 를 포함하거나 구현할 수도 있다. 가우시안 스케일 스페이스 생성기 (1922) 는, 예를 들어 도 2에서 예시된 바와 같이, 복수의 상이한 스케일 스페이스들을 생성하도록 이미지를 블러링 함수와 컨볼루션하는 데 이용될 수도 있다. 피처 검출기 (1924) 는 그 후에 이미지에 대한 상이한 스케일 스페이스들에서 (예컨대, 도 3 및 도 6a 에 예시된 바와 같이 로컬 최대치 및 최소치를 이용하여) 하나 이상의 키포인트들을 식별할 수도 있다. 이미지 스케일링 회로 (1926) 는 피처 검출 및/또는 클러스터링을 수행하게 되는 적절한 커널 사이즈를 선택하기 위해 이미지의 스케일을 근사화하는 데 이용될 수도 있다. 피처 기술자 생성기 (1930) 는 스파스 계수 행렬 (1913) 로부터의 투영 벡터들을 이용하여 각각의 키포인트 및/또는 그 주변의 패치 (예컨대, 도 6b 및 도 10 예 예시됨) 에 대한 기술자를 생성한다. 스파스 투영 벡터들이 생성되고 이용되어 키포인트 기술자들을 생성하는 방법의 실시예들이 도 1, 도 6, 도 7, 도 8, 도 10, 도 12, 도 13, 및 도 14 에 예시된다. 모바일 디바이스 (1900) 는 이들 도면들에 설명된 하나 이상의 피처들 및/또는 방법들을 구현할 수도 있다.
프로세싱 회로 (1902) 는 그 후에 저장 디바이스 (1908) 에 하나 이상의 피처 기술자들을 저장할 수도 있고, 및/또는 통신 인터페이스 (1910)(예컨대, 무선 통신 인터페이스, 송수신기, 또는 회로) 를 통해 통신 네트워크 (1912) 를 통과하여, 이미지 또는 객체를 식별하도록 피처 기술자들을 이용하는 이미지 매칭 서버에게로 피처 기술자들을 송신할 수도 있다. 즉, 이미지 매칭 서버는 피처 기술자들을 피처 기술자들의 자체 데이터 베이스에 비교하여, 그의 데이터베이스에서의 임의의 이미지가 동일한 피처(들)인지를 판정할 수도 있다.
도면에 예시된 콤포넌트들, 단계들, 피처들 및/또는 기능들 중 하나 이상은 단일 콤포넌트, 단계, 피처 또는 기능에 재구성 및/또는 조합될 수도 있고, 도는 여러 콤포넌트들, 단계들, 또는 기능들로 구현될 수도 있다. 추가의 엘리먼트들, 콤포넌트들, 단계들, 및/또는 기능들은 또한 여기에서 개시된 신규한 특징들로부터 벗어나지 않고 추가될 수도 있다. 도면에 예시된 장치, 디바이스들, 및/또는 콤포넌트들은 다른 도면에서 설명되는 방법들, 특징들, 또는 단계들 중 하나 이상을 수행하도록 구성될 수도 있다. 여기에서 개시된 알고리즘들은 또한 효율적으로 소프트웨어에서 구현되고 및/또는 하드웨어에서 실시될 수도 있다.
또한, 실시형태들은 플로우차트, 흐름도, 구조도, 또는 블록도로서 도시되는 프로세스로서 설명될 수도 있다는 것에 주목한다. 플로우차트가 순차적 프로세서로서 동작들을 설명할 수도 있지만, 대부분의 동작들은 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는, 그의 동작들이 완료될 때 종료된다. 프로세스는 방법, 함수, 절차, 서브루틴, 서브프로그램들에 대응할 수도 있다. 프로세스가 함수에 대응할 때, 그의 종료는 호출 함수 또는 메인 함수로의 함수 리턴에 대응한다.
또한, 저장 매체는, 정보 저장을 위한, 판독 전용 메모리 (ROM), 랜덤 액세스 메모리 (RAM), 자기 디스크 저장 매체들, 광학적 저장 매체들, 플래시 메모리 디바이스들 및/또는 다른 기계-판독가능 매체들, 프로세서-판독가능 매체들, 및/또는 컴퓨터-판독가능 매체들을 포함하는, 데이터를 저장하는 하나 이상의 디바이스들을 나타낼 수도 있다. 용어들 "기계-판독가능 매체들", "컴퓨터-판독가능 매체들", 및/또는 "프로세서-판독가능 매체들" 은 휴대용 또는 고정 저장 디바이스들, 광학적 저장 디바이스들과 같은 비일시적 매체들 및 명령(들) 및/또는 데이터를 저장, 포함 또는 전달할 수 있는 다양한 다른 매체들을 포함할 수도 있지만, 이들로 국한되지는 않는다. 따라서, 여기에서 설명된 다양한 방법들은, "기계-판독가능 매체", "컴퓨터-판독가능 매체", 및/또는 "프로세서-판독가능 매체"에 저장될 수도 있고, 하나 이상의 프로세서들, 기계들 및/또는 디바이스들에 의해 실행될 수도 있는 명령들 및/또는 데이터에 의해 완전히 또는 부분적으로 구현될 수도 있다.
또한, 실시형태들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 임의의 조합에 의해 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현될 때, 필수적인 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체 또는 다른 저장소(들)와 같은 기계-판독가능 매체에 저장될 수도 있다. 프로세서는 필수적인 작업들을 수행할 수도 있다. 코드 세그먼트는 절차, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들의 임의의 조합, 데이터 구조들, 또는 프로그램 스테이트먼트들을 표현할 수도 있다. 코드 세그먼트는 정보, 데이터, 인수, 파라미터, 또는 메모리 콘텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수도 있다. 정보, 인수, 파라미터, 데이터 등은, 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적합한 수단을 통해 전달, 포워딩, 또는 송신될 수도 있다.
여기에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래머블 게이트 어레이 신호 (FPGA), 또는 기타 프로그래머블 로직 디바이스, 별도의 게이트 또는 트랜지스터 로직, 별도의 하드웨어 컴포넌트들, 또는 여기서 설명된 기능을 수행하도록 설계되는 이들의 임의의 결합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다른 방법으로, 그 프로세서는 임의의 종래 프로세서, 제어기, 마이크로 제어기, 또는 상태 기계일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합, 예를 들어, DSP 와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들 또는 임의의 기타 다른 구성물로 구현될 수도 있다.
여기에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다.
당업자는 여기에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 및 알고리즘 단계들을 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로 구현할 수도 있음을 알 수 있다. 하드웨어와 소프트웨어의 이러한 대체 가능성을 분명히 설명하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들을 주로 그들의 기능의 관점에서 상술하였다. 그러한 기능이 하드웨어로 구현될지 소프트웨어로 구현될지는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약 조건들에 의존한다.
여기에서 개시된 다양한 특징들은 본 발명으로부터 벗어나지 않고 상이한 시스템들에서 구현될 수 있다. 상기 실시형태들은 단지 실시예들에 불과하고 본 발명을 제한하는 것으로 이해되어서는 안 된다는 것에 유의한다. 실시형태들의 설명은 예시하는 것으로 의도되고, 청구범위의 범주를 제한하는 것으로 의도되지는 않는다. 이와 같이, 본 교시사항은 다른 타입의 장치들에 용이하게 적용될 수 있고, 많은 대안물, 변경물, 및 변형물이 당업자에게는 명백할 것이다.
Claims (60)
- 피처 기술자 (feature descriptor) 를 생성하는 방법으로서,
미리 생성된 스파스 (sparse) 투영 벡터들의 세트를 획득하는 단계;
이미지에 대한 스케일 스페이스를 획득하는 단계로서, 상기 스케일 스페이스는 복수의 스케일 레벨들을 갖는, 상기 스케일 스페이스를 획득하는 단계; 및
상기 복수의 스케일 레벨들에 걸쳐서 복수의 픽셀들에 대한 스파스하게 샘플링된 픽셀 정보와 상기 스파스 투영 벡터들의 조합에 기초하여 상기 스케일 스페이스에서의 키포인트에 대한 기술자를 생성하는 단계를 포함하는, 피처 기술자를 생성하는 방법. - 제 1 항에 있어서,
상기 스파스 투영 벡터들은 상기 이미지와는 무관하계 생성되는, 피처 기술자를 생성하는 방법. - 제 1 항에 있어서,
각각의 스파스 투영 벡터는 상기 이미지에 대한 평활화 커널 (smoothing kernel) 의 스케일들로 제한되는, 피처 기술자를 생성하는 방법. - 제 1 항에 있어서,
상기 스파스 투영 벡터들 각각은 객체 함수를 최대화 또는 최소화시키는, 피처 기술자를 생성하는 방법. - 제 4 항에 있어서,
상기 객체 함수는 이미지들의 트레이닝 세트에 대한 복수의 스케일 레벨들에 걸쳐서 픽셀 정보에 대한 자기상관 행렬의 최대화인, 피처 기술자를 생성하는 방법. - 제 1 항에 있어서,
스파스 투영 벡터는 대다수의 제로 엘리먼트들 및 복수의 비제로 엘리먼트들을 포함하는, 피처 기술자를 생성하는 방법. - 제 6 항에 있어서,
상기 비제로 엘리먼트들은 분산 (variance) 최대화 절차에 의해 획득되는, 피처 기술자를 생성하는 방법. - 제 1 항에 있어서,
상기 픽셀 정보는 상기 키포인트와 연관된 패치 내의 각각의 픽셀에 대한 그레디언트 정보를 포함하는, 피처 기술자를 생성하는 방법. - 제 1 항에 있어서,
상기 복수의 픽셀들은 상기 키포인트에 대한 패치와 연관되는, 피처 기술자를 생성하는 방법. - 제 1 항에 있어서,
상기 복수의 픽셀들은 상기 스파스 투영 벡터들에 대한 비제로 계수들에 대응하는 미리 결정된 위치들에서 선택되는, 피처 기술자를 생성하는 방법. - 제 1 항에 있어서,
상기 이미지에 대한 상기 스케일 스페이스로부터 키포인트를 획득하는 단계; 및
상기 키포인트에 대한 패치를 획득하는 단계로서, 상기 패치는 상기 복수의 픽셀들을 포함하는, 상기 키포인트에 대한 패치를 획득하는 단계를 더 포함하는, 피처 기술자를 생성하는 방법. - 제 11 항에 있어서,
상기 복수의 스파스 투영 벡터들은 비제로 스케일링 계수들의 세트를 정의하되, 각각의 비제로 스케일링 계수는 상기 패치 내에서의 대응하는 픽셀 위치와 연관되는, 피처 기술자를 생성하는 방법. - 제 12 항에 있어서,
상기 기술자는 복수의 기술자 콤포넌트들을 조합함으로써 생성되고,
각각의 기술자 콤포넌트는,
제 1 스파스 투영 벡터에 대한 비제로 스케일링 계수 위치들에 기초하여 픽셀 위치들을 식별하고;
상기 제 1 스파스 투영 벡터에 대한 대응하는 비제로 스케일링 계수로 상기 패치로부터의 픽셀 위치의 값을 승산하고, 그 결과 값들을 함께 가산하여 제 1 기술자 콤포넌트를 획득함으로써 생성되는, 피처 기술자를 생성하는 방법. - 제 13 항에 있어서,
나머지 복수의 스파스 투영 벡터들에 대한 추가 기술자 콤포넌트들을 획득하여 추가 기술자 콤포넌트들을 획득하는 단계로서, 상기 제 1 기술자 콤포넌트 및 상기 추가 기술자 콤포넌트들은 상기 키포인트 기술자를 획득하기 위해 벡터로서 조합되는, 상기 추가 기술자 콤포넌트들을 획득하는 단계를 더 포함하는, 피처 기술자를 생성하는 방법. - 제 9 항에 있어서,
상기 패치는 m 픽셀들 x n 픽셀들의 차원 (dimension) 를 가지며,
상기 키포인트 기술자는 상기 패치의 m*n 차원보다 더 적은 동작들로 생성되는, 피처 기술자를 생성하는 방법. - 미리 생성된 스파스 투영 벡터들의 세트를 저장하는 저장 디바이스;
상기 저장 디바이스에 커플링된 프로세싱 회로를 포함하며,
상기 프로세싱 회로는,
복수의 스케일 레벨들을 갖는, 이미지에 대한 스케일 스페이스를 획득하고,
상기 복수의 스케일 레벨들에 걸쳐서 복수의 픽셀들에 대한 스파스하게 샘플링된 픽셀 정보와 상기 스파스 투영 벡터들의 조합에 기초하여 상기 스케일 스페이스에서의 키포인트에 대한 기술자를 생성하도록 구성된, 디바이스. - 제 16 항에 있어서,
상기 스파스 투영 벡터들은 상기 이미지와는 무관하계 생성되는, 디바이스. - 제 16 항에 있어서,
각각의 스파스 투영 벡터는 상기 이미지에 대한 평활화 커널 (smoothing kernel) 의 스케일들로 제한되는, 디바이스. - 제 16 항에 있어서,
상기 스파스 투영 벡터들 각각은 객체 함수를 최대화 또는 최소화시키는, 디바이스. - 제 19 항에 있어서,
상기 객체 함수는 이미지들의 트레이닝 세트에 대한 복수의 스케일 레벨들에 걸쳐서 픽셀 정보에 대한 자기상관 행렬의 최대화인, 디바이스. - 제 16 항에 있어서,
스파스 투영 벡터는 대다수의 제로 엘리먼트들 및 복수의 비제로 엘리먼트들을 포함하는, 디바이스. - 제 21 항에 있어서,
상기 비제로 엘리먼트들은 분산 최대화 절차에 의해 획득되는, 디바이스. - 제 16 항에 있어서,
상기 픽셀 정보는 상기 키포인트와 연관된 패치 내의 각각의 픽셀에 대한 그레디언트 정보를 포함하는, 디바이스. - 제 16 항에 있어서,
상기 복수의 픽셀들은 상기 키포인트에 대한 패치와 연관되는, 디바이스. - 제 16 항에 있어서,
상기 복수의 픽셀들은 상기 스파스 투영 벡터들에 대한 비제로 계수들에 대응하는 미리 결정된 위치들에서 선택되는, 디바이스. - 제 16 항에 있어서,
상기 프로세싱 회로는, 추가로,
상기 이미지에 대한 상기 스케일 스페이스로부터 키포인트를 획득하고;
상기 복수의 픽셀들을 포함하는, 상기 키포인트에 대한 패치를 획득하도록 구성된, 디바이스. - 제 26 항에 있어서,
상기 복수의 스파스 투영 벡터들은 비제로 스케일링 계수들의 세트를 정의하되, 각각의 비제로 스케일링 계수는 상기 패치 내에서의 대응하는 픽셀 위치와 연관되는, 디바이스. - 제 27 항에 있어서,
상기 기술자는 복수의 기술자 콤포넌트들을 조합함으로써 생성되고,
각각의 기술자 콤포넌트는,
제 1 스파스 투영 벡터에 대한 비제로 스케일링 계수 위치들에 기초하여 픽셀 위치들을 식별하고;
상기 제 1 스파스 투영 벡터에 대한 대응하는 비제로 스케일링 계수로 상기 패치로부터의 픽셀 위치의 값을 승산하고, 그 결과 값들을 함께 가산하여 제 1 기술자 콤포넌트를 획득함으로써 생성되는, 디바이스. - 제 28 항에 있어서,
상기 프로세싱 회로는, 추가로,
나머지 복수의 스파스 투영 벡터들에 대한 추가 기술자 콤포넌트들을 획득하여 추가 기술자 콤포넌트들을 획득하되, 상기 제 1 기술자 콤포넌트 및 상기 추가 기술자 콤포넌트들이 상기 키포인트 기술자를 획득하기 위해 벡터로서 조합되도록 구성되는, 디바이스. - 제 24 항에 있어서,
상기 패치는 m 픽셀들 x n 픽셀들의 차원을 가지며,
상기 키포인트 기술자는 상기 패치의 m*n 차원보다 더 적은 동작들로 생성되는, 디바이스. - 미리 생성된 스파스 투영 벡터들의 세트를 획득하는 수단;
이미지에 대한 스케일 스페이스를 획득하는 수단으로서, 상기 스케일 스페이스는 복수의 스케일 레벨들을 갖는, 상기 스케일 스페이스를 획득하는 수단; 및
상기 복수의 스케일 레벨들에 걸쳐서 복수의 픽셀들에 대한 스파스하게 샘플링된 픽셀 정보와 상기 스파스 투영 벡터들의 조합에 기초하여 상기 스케일 스페이스에서의 키포인트에 대한 기술자를 생성하는 수단을 포함하는, 디바이스. - 제 31 항에 있어서,
상기 스파스 투영 벡터들은 상기 이미지와는 무관하계 생성되는, 디바이스. - 제 31 항에 있어서,
각각의 스파스 투영 벡터는 상기 이미지에 대한 평활화 커널 (smoothing kernel) 의 스케일들로 제한되는, 디바이스. - 제 31 항에 있어서,
상기 스파스 투영 벡터들 각각은 객체 함수를 최대화 또는 최소화시키는, 디바이스. - 제 34 항에 있어서,
상기 객체 함수는 이미지들의 트레이닝 세트에 대한 복수의 스케일 레벨들에 걸쳐서 픽셀 정보에 대한 자기상관 행렬의 최대화인, 디바이스. - 제 31 항에 있어서,
스파스 투영 벡터는 대다수의 제로 엘리먼트들 및 복수의 비제로 엘리먼트들을 포함하는, 디바이스. - 제 36 항에 있어서,
상기 비제로 엘리먼트들은 분산 최대화 절차에 의해 획득되는, 디바이스. - 제 31 항에 있어서,
상기 픽셀 정보는 상기 키포인트와 연관된 패치 내의 각각의 픽셀에 대한 그레디언트 정보를 포함하는, 디바이스. - 제 31 항에 있어서,
상기 복수의 픽셀들은 상기 키포인트에 대한 패치와 연관되는, 디바이스. - 제 31 항에 있어서,
상기 복수의 픽셀들은 상기 스파스 투영 벡터들에 대한 비제로 계수들에 대응하는 미리 결정된 위치들에서 선택되는, 디바이스. - 제 31 항에 있어서,
상기 이미지에 대한 상기 스케일 스페이스로부터 키포인트를 획득하는 수단; 및
상기 키포인트에 대한 패치를 획득하는 수단으로서, 상기 패치는 상기 복수의 픽셀들을 포함하는, 상기 키포인트에 대한 패치를 획득하는 수단을 더 포함하는, 디바이스. - 제 41 항에 있어서,
상기 복수의 스파스 투영 벡터들은 비제로 스케일링 계수들의 세트를 정의하되, 각각의 비제로 스케일링 계수는 상기 패치 내에서의 대응하는 픽셀 위치와 연관되는, 디바이스. - 제 42 항에 있어서,
상기 기술자는 복수의 기술자 콤포넌트들을 조합함으로써 생성되고,
각각의 기술자 콤포넌트는,
제 1 스파스 투영 벡터에 대한 비제로 스케일링 계수 위치들에 기초하여 픽셀 위치들을 식별하고;
상기 제 1 스파스 투영 벡터에 대한 대응하는 비제로 스케일링 계수로 상기 패치로부터의 픽셀 위치의 값을 승산하고, 그 결과 값들을 함께 가산하여 제 1 기술자 콤포넌트를 획득함으로써 생성되는, 디바이스. - 제 43 항에 있어서,
나머지 복수의 스파스 투영 벡터들에 대한 추가 기술자 콤포넌트들을 획득하여 추가 기술자 콤포넌트들을 획득하는 수단으로서, 상기 제 1 기술자 콤포넌트 및 상기 추가 기술자 콤포넌트들은 상기 키포인트 기술자를 획득하도록 벡터로서 조합되는, 상기 추가 기술자 콤포넌트들을 획득하는 수단을 더 포함하는, 디바이스. - 제 39 항에 있어서,
상기 패치는 m 픽셀들 x n 픽셀들의 차원을 가지며,
상기 키포인트 기술자는 상기 패치의 m*n 차원보다 더 적은 동작들로 생성되는, 디바이스. - 디바이스에서 동작하는 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체로서,
상기 명령들은, 프로세싱 회로에 의해 실행될 때, 상기 프로세싱 회로로 하여금,
미리 생성된 스파스 투영 벡터들의 세트를 획득하게 하고;
복수의 스케일 레벨들을 갖는, 이미지에 대한 스케일 스페이스를 획득하게 하고,
상기 복수의 스케일 레벨들에 걸쳐서 복수의 픽셀들에 대한 스파스하게 샘플링된 픽셀 정보와 상기 스파스 투영 벡터들의 조합에 기초하여 상기 스케일 스페이스에서의 키포인트에 대한 기술자를 생성하게 하는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 46 항에 있어서,
상기 스파스 투영 벡터들은 상기 이미지와는 무관하계 생성되는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 46 항에 있어서,
각각의 스파스 투영 벡터는 상기 이미지에 대한 평활화 커널 (smoothing kernel) 의 스케일들로 제한되는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 46 항에 있어서,
상기 스파스 투영 벡터들 각각은 객체 함수를 최대화 또는 최소화시키는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 49 항에 있어서,
상기 객체 함수는 이미지들의 트레이닝 세트에 대한 복수의 스케일 레벨들에 걸쳐서 픽셀 정보에 대한 자기상관 행렬의 최대화인, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 46 항에 있어서,
스파스 투영 벡터는 대다수의 제로 엘리먼트들 및 복수의 비제로 엘리먼트들을 포함하는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 51 항에 있어서,
상기 비제로 엘리먼트들은 분산 최대화 절차에 의해 획득되는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 46 항에 있어서,
상기 픽셀 정보는 상기 키포인트와 연관된 패치 내의 각각의 픽셀에 대한 그레디언트 정보를 포함하는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 46 항에 있어서,
상기 복수의 픽셀들은 상기 키포인트에 대한 패치와 연관되는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 46 항에 있어서,
상기 복수의 픽셀들은 상기 스파스 투영 벡터들에 대한 비제로 계수들에 대응하는 미리 결정된 위치들에서 선택되는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 46 항에 있어서,
상기 프로세싱 회로에 의해 실행될 때, 상기 프로세싱 회로로 하여금,
상기 이미지에 대한 상기 스케일 스페이스로부터 키포인트를 획득하게 하고;
상기 복수의 픽셀들을 포함하는, 상기 키포인트에 대한 패치를 획득하게 하는 하나 이상의 명령들을 더 포함하는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 46 항에 있어서,
상기 복수의 스파스 투영 벡터들은 비제로 스케일링 계수들의 세트를 정의하되, 각각의 비제로 스케일링 계수는 상기 패치 내에서의 대응하는 픽셀 위치와 연관되는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 57 항에 있어서,
상기 기술자는 복수의 기술자 콤포넌트들을 조합함으로써 생성되고,
각각의 기술자 콤포넌트는,
제 1 스파스 투영 벡터에 대한 비제로 스케일링 계수 위치들에 기초하여 픽셀 위치들을 식별하고;
상기 제 1 스파스 투영 벡터에 대한 대응하는 비제로 스케일링 계수로 상기 패치로부터의 픽셀 위치의 값을 승산하고, 그 결과 값들을 함께 가산하여 제 1 기술자 콤포넌트를 획득함으로써 생성되는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 58 항에 있어서,
상기 프로세싱 회로에 의해 실행될 때, 상기 프로세싱 회로로 하여금,
나머지 복수의 스파스 투영 벡터들에 대한 추가 기술자 콤포넌트들을 획득하여 추가 기술자 콤포넌트들을 획득하되, 상기 제 1 기술자 콤포넌트 및 상기 추가 기술자 콤포넌트들이 상기 키포인트 기술자를 획득하기 위해 벡터로서 조합되게 하는 하나 이상의 명령들을 더 포함하는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체. - 제 54 항에 있어서,
상기 패치는 m 픽셀들 x n 픽셀들의 차원을 가지며,
상기 키포인트 기술자는 상기 패치의 m*n 차원보다 더 적은 동작들로 생성되는, 하나 이상의 명령들을 포함하는 프로세서-판독가능 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US26595009P | 2009-12-02 | 2009-12-02 | |
US61/265,950 | 2009-12-02 | ||
US41275910P | 2010-11-11 | 2010-11-11 | |
US61/412,759 | 2010-11-11 | ||
PCT/US2010/058807 WO2011069023A2 (en) | 2009-12-02 | 2010-12-02 | Fast subspace projection of descriptor patches for image recognition |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120102738A true KR20120102738A (ko) | 2012-09-18 |
KR101420550B1 KR101420550B1 (ko) | 2014-07-16 |
Family
ID=43920389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127017263A KR101420550B1 (ko) | 2009-12-02 | 2010-12-02 | 이미지 인식을 위한 기술자 패치들의 고속 서브스페이스 투영을 위한 방법, 디바이스 및 컴퓨터-판독가능 저장 매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8897572B2 (ko) |
EP (1) | EP2507743A2 (ko) |
JP (1) | JP5714599B2 (ko) |
KR (1) | KR101420550B1 (ko) |
CN (1) | CN102782708A (ko) |
WO (1) | WO2011069023A2 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150111641A (ko) * | 2014-03-26 | 2015-10-06 | 포항공과대학교 산학협력단 | 계층적 패턴 구조에 기반한 기술자 생성 방법 및 이를 이용한 객체 인식 방법과 장치 |
KR20160098519A (ko) * | 2014-01-10 | 2016-08-18 | 퀄컴 인코포레이티드 | 센서 식별 |
WO2023008671A1 (ko) * | 2021-07-28 | 2023-02-02 | 주식회사 넥스트칩 | 특징점에 대한 기술자를 생성하기 위한 전자 장치 및 그 동작 방법 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9530073B2 (en) * | 2010-04-20 | 2016-12-27 | Qualcomm Incorporated | Efficient descriptor extraction over multiple levels of an image scale space |
US9122955B2 (en) * | 2010-06-28 | 2015-09-01 | Ramot At Tel-Aviv University Ltd. | Method and system of classifying medical images |
US20120182442A1 (en) * | 2011-01-14 | 2012-07-19 | Graham Kirsch | Hardware generation of image descriptors |
US9014470B2 (en) * | 2011-08-31 | 2015-04-21 | Adobe Systems Incorporated | Non-rigid dense correspondence |
WO2013071141A1 (en) * | 2011-11-09 | 2013-05-16 | Board Of Regents Of The University Of Texas System | Geometric coding for billion-scale partial-duplicate image search |
US9613287B2 (en) | 2011-11-18 | 2017-04-04 | Nec Corporation | Local feature descriptor extracting apparatus, method for extracting local feature descriptor, and program |
JP2013187726A (ja) * | 2012-03-08 | 2013-09-19 | Casio Comput Co Ltd | 画像解析装置、画像処理装置、画像解析方法及びプログラム |
CN103578093B (zh) * | 2012-07-18 | 2016-08-17 | 成都理想境界科技有限公司 | 图像配准方法、装置及增强现实系统 |
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 |
GB201313125D0 (en) * | 2013-07-23 | 2013-09-04 | Univ Singapore Technology & Design | Method and system for classifying images |
KR101491461B1 (ko) * | 2013-08-02 | 2015-02-23 | 포항공과대학교 산학협력단 | 공분산 기술자를 이용하는 물체 인식 방법 및 장치 |
EP3074928A4 (en) * | 2013-11-25 | 2017-11-15 | Ehsan Fazl Ersi | System and method for face recognition |
US9544655B2 (en) * | 2013-12-13 | 2017-01-10 | Nant Holdings Ip, Llc | Visual hash tags via trending recognition activities, systems and methods |
CN104751440A (zh) * | 2013-12-31 | 2015-07-01 | 西门子医疗保健诊断公司 | 一种基于图像处理的方法和装置 |
KR102018046B1 (ko) * | 2014-02-24 | 2019-09-04 | 한국전자통신연구원 | 이미지 특징 추출 장치 및 방법 |
CN107148632B (zh) | 2014-04-24 | 2020-10-27 | 河谷控股Ip有限责任公司 | 用于基于图像的目标识别的稳健特征识别 |
CN105224582B (zh) * | 2014-07-03 | 2018-11-09 | 联想(北京)有限公司 | 信息处理方法和设备 |
WO2016011204A1 (en) * | 2014-07-15 | 2016-01-21 | Face Checks Llc | Multi-algorithm-based face recognition system and method with optimal dataset partitioning for a cloud environment |
CN104156696B (zh) * | 2014-07-23 | 2017-04-12 | 华南理工大学 | 基于双方向图的快速局部不变特征描述子的构造方法 |
JP6460520B2 (ja) * | 2014-12-19 | 2019-01-30 | Kddi株式会社 | 特徴記述装置、方法及びプログラム |
US9483706B2 (en) * | 2015-01-08 | 2016-11-01 | Linear Algebra Technologies Limited | Hardware accelerator for histogram of gradients |
CN104881798A (zh) * | 2015-06-05 | 2015-09-02 | 北京京东尚科信息技术有限公司 | 基于商品图像特征的个性化搜索装置及方法 |
CN104881877A (zh) * | 2015-06-12 | 2015-09-02 | 哈尔滨工业大学 | 基于fpga的卷积与时序优化的图像关键点检测的方法 |
US9830528B2 (en) * | 2015-12-09 | 2017-11-28 | Axis Ab | Rotation invariant object feature recognition |
KR20180114232A (ko) | 2016-03-08 | 2018-10-17 | 난트 홀딩스 아이피, 엘엘씨 | 이미지 기반의 오브젝트 인식을 위한 이미지 피쳐 조합 |
US20170323149A1 (en) * | 2016-05-05 | 2017-11-09 | International Business Machines Corporation | Rotation invariant object detection |
JP6772737B2 (ja) | 2016-10-04 | 2020-10-21 | 富士通株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
CN106503648A (zh) * | 2016-10-20 | 2017-03-15 | 北京邮电大学 | 基于稀疏投影二值编码的人脸识别方法及装置 |
US11189020B2 (en) | 2019-02-06 | 2021-11-30 | Thanh Phuoc Hong | Systems and methods for keypoint detection |
CN110136100B (zh) * | 2019-04-16 | 2021-02-19 | 华南理工大学 | Ct切片图像的自动分类方法和装置 |
CN110232387B (zh) * | 2019-05-24 | 2022-08-05 | 河海大学 | 一种基于kaze-hog算法的异源图像匹配方法 |
CN110909105B (zh) * | 2019-11-25 | 2022-08-19 | 上海有个机器人有限公司 | 机器人地图的构建方法及系统 |
US11256956B2 (en) * | 2019-12-02 | 2022-02-22 | Qualcomm Incorporated | Multi-stage neural network process for keypoint detection in an image |
CN111414925B (zh) * | 2020-03-18 | 2023-04-18 | 北京百度网讯科技有限公司 | 图像处理方法、装置、计算设备和介质 |
CN113537202B (zh) * | 2020-04-15 | 2023-10-27 | 珠海一微半导体股份有限公司 | 硬件加速的sift特征点的坐标定位方法、系统及芯片 |
US11645831B2 (en) * | 2020-07-07 | 2023-05-09 | Applied Materials Israel Ltd. | Identification of an array in a semiconductor specimen |
US11810266B2 (en) * | 2021-03-19 | 2023-11-07 | Apple Inc. | Pattern radius adjustment for keypoint descriptor generation |
US11475240B2 (en) * | 2021-03-19 | 2022-10-18 | Apple Inc. | Configurable keypoint descriptor generation |
US20230281945A1 (en) * | 2022-03-07 | 2023-09-07 | Microsoft Technology Licensing, Llc | Probabilistic keypoint regression with uncertainty |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5481621A (en) * | 1992-05-28 | 1996-01-02 | Matsushita Electric Industrial Co., Ltd. | Device and method for recognizing an image based on a feature indicating a relative positional relationship between patterns |
US7194134B2 (en) * | 2001-01-02 | 2007-03-20 | Microsoft Corporation | Hierarchical, probabilistic, localized, semantic image classifier |
US6678874B1 (en) * | 2001-11-28 | 2004-01-13 | Unisys Corporation | Computer-aided design (CAD) tool |
US7054468B2 (en) | 2001-12-03 | 2006-05-30 | Honda Motor Co., Ltd. | Face recognition using kernel fisherfaces |
JP4613617B2 (ja) | 2005-01-07 | 2011-01-19 | ソニー株式会社 | 画像処理システム、学習装置および方法、並びにプログラム |
US7949186B2 (en) | 2006-03-15 | 2011-05-24 | Massachusetts Institute Of Technology | Pyramid match kernel and related techniques |
EP1850270B1 (en) | 2006-04-28 | 2010-06-09 | Toyota Motor Europe NV | Robust interest point detector and descriptor |
WO2008026414A1 (fr) * | 2006-08-31 | 2008-03-06 | Osaka Prefecture University Public Corporation | Procédé de reconnaissance d'image, dispositif de reconnaissance d'image et programme de reconnaissance d'image |
US8363973B2 (en) | 2008-10-01 | 2013-01-29 | Fuji Xerox Co., Ltd. | Descriptor for image corresponding point matching |
US8374442B2 (en) * | 2008-11-19 | 2013-02-12 | Nec Laboratories America, Inc. | Linear spatial pyramid matching using sparse coding |
DE102009022834A1 (de) | 2009-05-27 | 2010-12-09 | Siemens Aktiengesellschaft | Verfahren zur automatischen Analyse von Bilddaten einer Struktur |
JP4844657B2 (ja) | 2009-07-31 | 2011-12-28 | カシオ計算機株式会社 | 画像処理装置及び方法 |
US8705876B2 (en) | 2009-12-02 | 2014-04-22 | Qualcomm Incorporated | Improving performance of image recognition algorithms by pruning features, image scaling, and spatially constrained feature matching |
US8798377B2 (en) | 2010-02-08 | 2014-08-05 | Telefonica, S.A. | Efficient scale-space extraction and description of interest points |
US9189137B2 (en) | 2010-03-08 | 2015-11-17 | Magisto Ltd. | Method and system for browsing, searching and sharing of personal video by a non-parametric approach |
US8948515B2 (en) | 2010-03-08 | 2015-02-03 | Sightera Technologies Ltd. | Method and system for classifying one or more images |
US9639949B2 (en) | 2010-03-15 | 2017-05-02 | Analog Devices, Inc. | Edge orientation for second derivative edge detection methods |
US9530073B2 (en) | 2010-04-20 | 2016-12-27 | Qualcomm Incorporated | Efficient descriptor extraction over multiple levels of an image scale space |
-
2010
- 2010-12-02 EP EP10801734A patent/EP2507743A2/en not_active Withdrawn
- 2010-12-02 WO PCT/US2010/058807 patent/WO2011069023A2/en active Application Filing
- 2010-12-02 US US12/959,347 patent/US8897572B2/en not_active Expired - Fee Related
- 2010-12-02 KR KR1020127017263A patent/KR101420550B1/ko not_active IP Right Cessation
- 2010-12-02 JP JP2012542206A patent/JP5714599B2/ja not_active Expired - Fee Related
- 2010-12-02 CN CN2010800544015A patent/CN102782708A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160098519A (ko) * | 2014-01-10 | 2016-08-18 | 퀄컴 인코포레이티드 | 센서 식별 |
KR20150111641A (ko) * | 2014-03-26 | 2015-10-06 | 포항공과대학교 산학협력단 | 계층적 패턴 구조에 기반한 기술자 생성 방법 및 이를 이용한 객체 인식 방법과 장치 |
US9619733B2 (en) | 2014-03-26 | 2017-04-11 | Postech Academy—Industry Foundation | Method for generating a hierarchical structured pattern based descriptor and method and device for recognizing object using the same |
WO2023008671A1 (ko) * | 2021-07-28 | 2023-02-02 | 주식회사 넥스트칩 | 특징점에 대한 기술자를 생성하기 위한 전자 장치 및 그 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20110299782A1 (en) | 2011-12-08 |
JP5714599B2 (ja) | 2015-05-07 |
WO2011069023A3 (en) | 2011-07-28 |
WO2011069023A2 (en) | 2011-06-09 |
EP2507743A2 (en) | 2012-10-10 |
US8897572B2 (en) | 2014-11-25 |
JP2013513168A (ja) | 2013-04-18 |
CN102782708A (zh) | 2012-11-14 |
KR101420550B1 (ko) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101420550B1 (ko) | 이미지 인식을 위한 기술자 패치들의 고속 서브스페이스 투영을 위한 방법, 디바이스 및 컴퓨터-판독가능 저장 매체 | |
EP2599034B1 (en) | Object recognition using incremental feature extraction | |
US8705876B2 (en) | Improving performance of image recognition algorithms by pruning features, image scaling, and spatially constrained feature matching | |
KR101470112B1 (ko) | 미리 계산된 스케일-공간으로부터의 데이지 서술자 생성 | |
Heinly et al. | Comparative evaluation of binary features | |
US20110286628A1 (en) | Systems and methods for object recognition using a large database | |
Prakhya et al. | B-SHOT: a binary 3D feature descriptor for fast Keypoint matching on 3D point clouds | |
KR20130142191A (ko) | 비주얼 탐색을 위한 강건한 특징 매칭 | |
AU2017201281B2 (en) | Identifying matching images | |
JP2013541119A (ja) | オブジェクト認識における特徴生成を改善するためのシステム及び方法 | |
Yang et al. | Accumulated stability voting: A robust descriptor from descriptors of multiple scales | |
CN104520878A (zh) | 提供用于描述对象表示的至少一个特征的特征描述符的方法 | |
CN103064857B (zh) | 图像查询方法及图像查询设备 | |
Prakhya et al. | On creating low dimensional 3D feature descriptors with PCA | |
Thomas et al. | Real-time robust image feature description and matching | |
Zhang et al. | 3DMKDSRC: A novel approach for 3D face recognition | |
Li et al. | Automatic remote sensing imagery registration based on improved SIFT | |
KR20190122966A (ko) | 객체의 고유 아이디 생성 방법 | |
Akagündüz et al. | 3D Object Registration and Recognition using Range Images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |