KR20140111007A - 이미지 분석을 위한 방법 및 시스템 - Google Patents

이미지 분석을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20140111007A
KR20140111007A KR1020147021747A KR20147021747A KR20140111007A KR 20140111007 A KR20140111007 A KR 20140111007A KR 1020147021747 A KR1020147021747 A KR 1020147021747A KR 20147021747 A KR20147021747 A KR 20147021747A KR 20140111007 A KR20140111007 A KR 20140111007A
Authority
KR
South Korea
Prior art keywords
array
sub
descriptor
arrays
image
Prior art date
Application number
KR1020147021747A
Other languages
English (en)
Other versions
KR101954395B1 (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 KR20140111007A publication Critical patent/KR20140111007A/ko
Application granted granted Critical
Publication of KR101954395B1 publication Critical patent/KR101954395B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Image Analysis (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

이미지를 프로세싱하기 위한 방법이 제안된다. 상기 방법은 이미지 내의 키포인트들의 그룹을 식별하는 단계를 포함한다. 상기 방법은, 상기 그룹의 각 키포인트에 대해서, 복수의 어레이 요소들을 포함하는 대응 기술자 (descriptor) 어레이를 계산하는 단계를 더 포함하며, 각 어레이 요소는 상기 키포인트의 이웃 내 상기 이미지의 각 서브-구역의 대응하는 컬러 그래디언트 (gradient) 히스토그램에 의해서 취해진 값들을 저장한다. 상기 방법은, 상기 그룹의 각 키포인트에 대해서, 상기 기술자 어레이를 적어도 두 개의 서브-어레이들로 세분하는 (subdivide) 단계로, 상기 서브-어레이 각각은 각자 개수의 상기 기술자 어레이의 요소들을 포함하는, 세분 단계, 그리고 상기 적어도 두 개의 서브-어레이들 각각에 대해 대응하는 압축된 서브-어레이를 포함하는 압축된 기술자를 생성하는 단계를 더 포함한다. 각각의 압축된 서브-어레이는 상기 적어도 두 개의 서브-어레이들의 대응 서브-어레이를 각각의 코드북을 이용한 벡터 양자화에 의해서 압축하여 얻어진다. 상기 방법은 상기 이미지를 분석하기 위해서 상기 그룹의 키포인트들의 압축된 기술자 어레이들을 활용하는 단계를 더 포함한다. 상기 그룹의 각 키포인트에 대해서, 적어도 두 개의 서브-어레이들로 상기 기술자 어레이를 세분한 것은 상기 컬러 그래디언트 히스토그램들 사이의 상관 (correlation) 관계들을 기반으로 하여 수행되며, 상기 컬러 그래디언트 히스토그램들의 값은 상기 각 키포인트의 기술자 어레이의 요소들 내에 저장된다.

Description

이미지 분석을 위한 방법 및 시스템{Method and system for image analysis}
본 발명은 이미지 분석의 분야에 관한 것이다.
이미지 분석의 분야에서, 공통적인 연산은 두 개의 이미지들에 대한 비교를 제공하는 것이며, 이것은 그 이미지들 둘 모두가 동일한 씬 (scene) 의 또는 동일한 오브젝트의 적어도 일부를 포함하는 경우에 그 두 이미지들 사이에서 발생하는 관계를 찾기 위한 것이다.
많은 수의 애플리케이션들 중에서, 이미지 비교는 멀티-카메라 시스템에 속한 비디오 카메라들을 캘리브레이션하기 위해서, 비디오 촬영의 두 프레임들 사이에서 발생하는 모션에 관계하기 위해서, 그리고 이미지 (예를 들면, 사진) 내의 오브젝트의 인지 (object recognition)를 위해서 아주 중요하다. 후자의 애플리케이션은 사진으로부터 시작해서 사진 내에 묘사된 오브젝트(들)를 식별할 수 있고 그리고 그 식별된 오브젝트(들)에 관련된 정보를 제공할 수 있는 소위 시각적 검색 엔진들, 즉, 자동화된 서비스들에서 채택될 것으로 특별하게 설계된 오브젝트 인식 알고리즘들의 근래의 발전으로 인해서 더욱 더 중요한 것으로 이제 생각되고 있다. 이런 유형의 알려진 서비스들의 예들은 Google Goggles, Nokia Point&Find, 그리고 kooaba Smart Visuals를 포함한다. 오브젝트 인지 애플리케이션은 인식될 오브젝트를 도시하는 제1 이미지 - 전문어로 하면, "쿼리 이미지 (query image)"로 언급됨 -를, 각각이 알려진 개별 오브젝트를 도시하는 복수의 모델 이미지들과 비교하는 것을 제공하는 것이 보통이다; 이것은 쿼리 이미지 내에 도시된 오브젝트와 모델 이미지들에 도시된 오브젝트들 사이의 비교를 수행하는 것을 가능하게 한다.
상기 모델 이미지들은 보통은 적절한 모델 데이터베이스에 배치된다. 예를 들면, 오브젝트 인지가 온라인 쇼핑 시나리오에서 활용되는 경우에, 각 모델 이미지는 온라인 상점에 의해서 제공된 아이템에 대응한다 (예를 들면, 책 커버, DVD 커버 그리고/또는 CD 커버의 사진들). 그런 유형의 데이터베이스에 포함된 모델 이미지들의 개수는 아주 많다; 예를 들면, 온라인 쇼핑 서비스의 모델 데이터베이스는 수백만 개의 상이한 모델 이미지들을 포함할 수 있을 것이다.
두 개의 이미지들 사이의 비교 연산들을 수행하기 위한 아주 효율적인 방식은 제1 이미지 내의 포인트들의 세트 - 전문어로는 키포인트들 (keypoints)로 언급된다 - 를 선택하고 그리고 상기 세트의 각 키포인트를 제2 이미지 내의 대응 키포인트와 매치하는 것을 허용한다. 상기 제1 이미지 중 어느 포인트가 키포인트가 되어야만 하는가를 선택하는 것은, 예를 들면, 포인트 추출 스케일, 그 영역의 특권화된 방위 (orientation), 그리고 소위 "기술자 (descriptor)"와 같은 그 포인트 자체 주위의 이미지의 영역의 로컬 특징들을 추출하는 것에 의해서 수행되는 것이 유리하다. 이미지 분석의 분야에서, 키포인트의 기술자는 그 키포인트에 중심을 둔 (패치 (patch)로 불리는) 이미지 영역의 휘도 그래디언트 (luminance gradient)를 기술하는 수학적인 연산자이며, 패치 그 자체의 주된 휘도 그래디언트에 따라서 방위가 정해진 그런 패치를 수반한다.
"Distinctive image features from scale-invariant keypoints" by David G. Lowe, International Journal of computer vision, 2004에서, 스케일-불변 특징 변환 (Scale-Invariant Feature Transform (SIFT)) 기술자가 제안되었다; 간략하게, 신뢰성있는 이미지 인식을 가능하게 하기 위해서, 각 키포인트에 대응하는 이미지로부터 추출된 로컬 특징들은 이미지 스케일, 잡음 및 조명에서의 변화가 있다고 하더라도 탐지될 수 있어야만 한다는 것을 고려하여 상기 SIFT 기술자들이 생성된다. 그래서 상기 SIFT 기술자들은 균일한 스케일링, 방위에는 불변이며, 그리고 유사 변형 및 조명 변화들에는 부분적으로 불면이다.
상기 SIFT 기술자는 아주 강력한 도구로, 정밀한 이미지 비교들을 수행하기 위해서 키포인트들을 선택하는 것을 가능하게 한다. 그러나, 이 정밀도는 아주 많은 양의 데이터를 이용하는 경우에만 달성될 수 있다; 예를 들면, 전형적인 SIFT 기술자는 128 데이터 바이트의 어레이이다. 각 이미지 내의 키포인트들의 개수가 상대적으로 많기 때문에 (예를 들면, 표준 VGA 사진에 대해 1000 - 1500개), 그리고 각 키포인트는 대응하는 SRFT 기술자와 연관되기 때문에, 프로세싱될 데이터의 전체적인 양은 효과적으로 관리되기에는 과도하게 될 수 있을 것이다.
모바일 단말들을 이용하는 것을 포함하는 시나리오의 경우 (예를 들면, 스마트폰의 카메라에 의해서 찍힌 사진들로부터 추출된 오브젝트들을 인식하는 경우)에 이 약점은 악화된다. 실제로, 이미지 분석을 수행하기 위해서 실행되어야 하는 연산들이 매우 복잡하고 그리고 계산상의 부하를 필요로 하기 때문에, 이 경우 상기 연산들의 대부분은 보통은 서버 측에서 수행된다; 상기 분석을 수행하기 위해서 필요한 모든 정보를 구비하기 위해서, 서버는 모바일 단말로부터 필요한 모든 데이터를 인출할 필요가 있으며, 이것은 모든 키포인트들을 위한 SIFT 기술자들을 포함한다. 그래서 상기 단말로부터 서버로 전송되어야 하는 데이터의 양은 상기 서비스의 양호한 효율성을 보증하기 위해서 과도하게 될 수 있을 것이다.
예를 들면, Google Goggles에서 채택한 것과 같이 본 발명이 속한 기술 분야에서 알려진 솔루션에 따르면, 이 약점은 상기 모바일 단말로부터 서버로 기술자들이 아니라 이미지를 직접 전송함으로써 근본적으로 해결된다. 실제로, 아주 많은 개수의 키포인트들 때문에, 대응하는 SIFT 기술자들의 데이터 양은 표준의 VGA 사진 그 자체의 크기를 (바이트의 관점에서) 초과할 수 있을 것이다.
프로세싱될 데이터의 양은, 기술자 어레이들을 전송하기 이전에 그 기술자 어레이들을 압축함으로써 유리하게도 줄어들 수 있을 것이다. 예를 들면, 기술자 어레이들은 벡터 양자화를 통해서 압축될 수 있을 것이며, 이 벡터 양자화는 기술자 어레이들이 코드북 (codebook)의 코드워드 (codeword)들의 축소된 세트로 생각할 수 있는 튜플 (tuple) 값들을 근사화하는 것을 제공한다.
프로세싱될 데이터의 양을 더 축소하는 것은 프로덕트 코드 벡터 양자화를 통해서, 즉, 기술자 어레이들을 서브-어레이들로 세분하고 (subdivide) 그리고 각 서브-어레이에 벡터 양자화를 적용함으로써 기술자 어레이들을 압축하여 얻어질 수 있을 것이다.
Chandrasekhar V. et al: "Survey of SIFT Compression Schemes", The Second International Workshop on Mobile Multimedia Processing in Conjunction with the 20th International Conference on Pattern Recognition" ICPR 2010; Istanbul, Turkey; August 23-26, 2010, 22 August 2010 (2010-08-22), pages 1-8 은 이 문헌에서 제안된 SIFT (Scale Invariant Feature Transform) 압축 방식들에 대한 포괄적인 개관을 수행하고 그리고 그 압축 방식들을 공통 프레임워크에서 평가한다.
H Jegou et al: "Product Quantization for Nearest Neighbor Search", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33, no. 1, 1 January 2011 (2011-01-01), pages 117-128 은 가장 가까운 이웃의 검색에 대한 프로덕트 양자화-기반의 접근을 도입한다. 그 아이디어는 공간을 저-차원의 서브공간들의 데카르트 (Cartesian) 프로덕트로 분해하고 그리고 각 서브공간을 개별적으로 양자화하는 것이다. 벡터는 자신의 서브공간 양자화 인덱스들로 구성된 짧은 코드에 의해서 표현된다. 두 벡터들 사이의 유클리드 거리는 그 벡터들의 코드들로부터 효과적으로 추정될 수 있다. 비대칭의 버전은 정밀도를 증가시키며, 이는 그것이 벡터와 코드 사이의 대략적인 거리를 계산하기 때문이다.
"Distinctive image features from scale-invariant keypoints" by David G. Lowe, International Journal of computer vision, 2004. Chandrasekhar V. et al: "Survey of SIFT Compression Schemes", The Second International Workshop on Mobile Multimedia Processing in Conjunction with the 20th International Conference on Pattern Recognition" ICPR 2010; Istanbul, Turkey; August 23-26, 2010, 22 August 2010 (2010-08-22), pages 1-8. H Jegou et al: "Product Quantization for Nearest Neighbor Search", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33, no. 1, 1 January 2011 (2011-01-01), pages 117-128. S. Tsai, D. Chen, G. Takacs, V. Chandrasekhar, J. P. Singh, and B. Girod in "Location coding for mobile image retrieval", Proc. Int. Mobile Multimedia Conference (MobiMedia), 2009.
본 출원인은 본 발명이 속한 기술 분야에서 알려진 접근방식들은 효율적이지 못하며, 많은 양의 데이터의 관리 그리고/또는 서버 측에 연산들의 많은 부분의 집중을 여전히 필요로 하며, 시스템의 확장성 및 전체적인 성능을 제한한다는 것을 발견했다.
예를 들면, Google Goggles에 의해서 채택된 솔루션은 기술자들이 아니라 이미지를 모바일 단말로부터 서버로 직접 전송하는 것을 제공하는데, 전체적인 계산 부하가 서버로 이동할 것을 필요로 하며, 이것은 너무 부담이 될 수 있을 것이다. 더욱이, 압축된 이미지를 전송하는 것은 상당한 양의 데이터를 여전히 필요로 한다 (예를 들면, VGA 이미지에 대해서 수십 Kbytes).
본 출원인은 프로세싱될 데이터의 양의 면에서 이런 접근방식을 어떻게 개선하는가의 문제점을 다루었다.
특히, 본 출원인은 관리될 감소된 양의 데이터를 필요로 하는 이미지를 프로세싱하기 위한 방법을 제공하기 위해서 상기 문제점을 다룬다.
본 출원인은 이미지 분석 절차들을 수행하기 위해서 프로세싱될 데이터의 양은, 이미지 내에서 식별된 기술자 어레이들을 그 기술자 어레이에 저장된 컬러 그래디언트 히스트그램들 사이의 상관 관계들을 기반으로 하여 대응 서브-어레이들로 세분함으로써, 그리고 벡터 양자화에 의해서 상기 서브-어레이를 압축함으로써, 유리하게도 줄어들 수 있다는 것을 발견했다.
본 발명의 모습은 이미지를 프로세싱하기 위한 방법에 관련된다. 상기 방법은 이미지 내의 키포인트들의 그룹을 식별하는 단계를 포함한다. 상기 방법은, 상기 그룹의 각 키포인트에 대해서, 복수의 어레이 요소들을 포함하는 대응 기술자 (descriptor) 어레이를 계산하는 단계로, 각 어레이 요소는 상기 키포인트의 이웃 내 상기 이미지의 각 서브-구역의 대응하는 컬러 그래디언트 (gradient) 히스토그램에 의해서 취해진 값들을 저장하는, 계산 단계를 더 포함한다. 상기 방법은, 상기 그룹의 각 키포인트에 대해서, 상기 기술자 어레이를 적어도 두 개의 서브-어레이들로 세분하는 (subdivide) 단계로, 상기 서브-어레이 각각은 각자 개수의 상기 기술자 어레이의 요소들을 포함하는, 세분 단계, 그리고 상기 적어도 두 개의 서브-어레이들 각각에 대해 대응하는 압축된 서브-어레이를 포함하는 압축된 기술자를 생성하는 단계를 더 포함한다. 각각의 압축된 서브-어레이는 상기 적어도 두 개의 서브-어레이들의 대응 서브-어레이를 각각의 코드북을 이용한 벡터 양자화에 의해서 압축하여 얻어진다. 상기 방법은 상기 이미지를 분석하기 위해서 상기 그룹의 키포인트들의 압축된 기술자 어레이들을 활용하는 단계를 더 포함한다. 상기 그룹의 각 키포인트에 대해서, 적어도 두 개의 서브-어레이들로 상기 기술자 어레이를 세분한 것은 상기 컬러 그래디언트 히스토그램들 사이의 상관 (correlation) 관계들을 기반으로 하여 수행되며, 상기 컬러 그래디언트 히스토그램들의 값은 상기 각 키포인트의 기술자 어레이의 요소들 내에 저장된다.
본 출원인은 기술자 어레이들을 서브-어레이들로 세분함으로써 압축된, 압축된 기술자 어레이들을 압축 해제하는 것에 의해서 얻어진 압축 해제된 기술자 어레이들은 왜곡에 의해서 영향을 받는다는 것을 관찰했다 (즉, 압축 해제된 기술자 어레이들은 압축 이전의 원래의 기술자 어레이들과는 어느 정도 차이가 있다). 이 관찰을 기반으로 하여, 본 출원인은 압축 해제 동안에 일반적인 키포인트를 둘러싼 영역의 다양한 서브-구역들 사이에서의 통계적인 공간적 상관들을 고려함으로써 상기 왜곡이 실질적으로 줄어들 수 있는 방법을 덕분에 발견했다. 그래서, 본 발명의 실시예에 따라서, 상기 압축 해제는 키포인트에 이웃한 이미지의 서브-구역들의 위치들 사이의 통계적인 공간적 상관 관계들을 기반으로 하여 수행된다.
다른 모습에 따르면, 청구항 26에서 제시된 방법이 제공된다.
다른 모습에 따르면, 청구항 33에서 제시된 시스템이 제공된다.
다른 모습에 따르면, 청구항 34에서 제시된 시스템이 제공된다.
다른 모습에 따르면, 청구항 35에서 제시된 시스템이 제공된다.
바람직한 실시예들은 종속의 청구항들에서 제시된다.
본 발명의 효과는 본 명세서의 해당되는 부분들에 개별적으로 명시되어 있다.
본 발명의 이런 그리고 다른 특징들 및 유리함들은 몇몇의 예시적이면서 비-제한적인 본 발명의 실시예들의 다음의 설명을 첨부된 도면들과 함께 참조하면 명백하게 될 것이다.
도 1은 본 발명의 실시예에 따라 쿼리 이미지로부터 키포인트들의 최적 세트를 추출하고 기술자들의 압축된 세트를 생성하는 추출 절차를 기능적인 블록들의 면에서 도시한다.
도 2a - 도 2f는 본 발명의 몇몇의 예시적인 실시예들에 따른 키포인트들의 대응하는 선택된 로컬 특징들의 통계적인 분포이다.
도 2g는 도 1의 추출 절차에 따라서 프로세싱된 예시적인 사진이다.
도 3a는 SIFT 유형의 예시적인 기술자를 도시한다.
도 3b는 도 3a의 기술자의 예시적인 기술자 어레이를 도시한다.
도 4a는 본 발명이 속한 기술 분야에서 알려진 솔루션에 따른 예시적인 기술자 어레이 압축을 도시한다.
도 4b는 본 발명이 속한 기술 분야에서 알려진 다른 솔루션에 따른 예시적인 기술자 어레이 압축을 도시한다.
도 5는 본 발명에 따른 상관 패밀리들에서의 기술자의 서브-히스토그램들의 배치를 도시한다.
도 6a - 6d는 본 발명의 예시적인 실시예들에 따라서 기술자 어레이가 어떻게 압축되는가를 보여준다.
도 7a는 키포인트들 KP의 예시적인 분포를 도시한다.
도 7b는 도 7a의 키포인트들의 좌표들을 양자화하기 위해서 어떻게 그리드가 쿼리 이미지 위에 중첩될 수 있는가를 도시한다.
도 7c는 도 7a의 키포인트들 KP의 세트 위에 도 7b의 그리드를 중첩시킴으로써 획득된 히스토그램의 예시적인 그래픽적인 도면이다.
도 7d는 어떤 키포인트도 포함하지 않은 셀들에 의해서 전체적으로 형성된 도 7b의 그리드의 컬럼들 및 로우들을 확인시킨다.
도 7e는 랭크-1 지원을 통한 예시적인 히스트그램을 도시한다.
도 7f는 도 7e의 랭크-1 지원을 통한 히스토그램에 대응하는 히스토그램 지도를 도시한다.
도 8a는 워드 히스토그램의 예를 도시한다.
도 8b는 히스토그램 지도의 예를 도시한다.
도 9는 본 발명의 실시예에 따라 두 개의 이미지들 사이의 비교를 수행하는 매칭 절차를 기능적인 블록들의 면에서 도시한 것이다.
도 10은 본 발명의 실시예에 따라 쿼리 이미지에서 도시된 동일한 오브젝트/씬을 도시한 모델 데이터베이스 모델 이미지로부터 인출된 인출 절차를 기능적인 블록들의 면에서 도시한 것이다.
도 11은 본 발명의 실시예에 따라, 압축된 기술자 어레이들을 압축 해제하는 최적화된 압축 해제 절차를 기능적인 블록들의 면에서 도시한 것이다.
도 12는 기술자의 빈들의 방위를 그래픽적으로 도시한 것이다.
도 13a는 기술자 어레이를 네 개의 서브-어레이들에 세분하고 그리고 2^13 개 코드워드들을 포함하는 코드북을 각 서브-어레이에 대해서 사용하는 것을 제공하는 압축 방식에 대응하는 예시적인 보상 매트릭스 (compensation matrix)를 도시한 것이다.
도 13b는 도 13a의 보상 매트릭스의 컬럼의 요소들에 의해서 가정된 값들을 도시한 도면이다.
도 14a는 기술자 어레이를 여덟 개의 서브-어레이들로 세분하고 그리고 2^11 코드워드들을 포함하는 코드북을 각 서브-어레이에 대해서 사용하는 것을 제공하는 압축 방식에 대응한 예시적인 보상 매트릭스 Z를 도시한 것이다.
도 14b는 도 14a의 보상 매트릭스의 컬럼의 요소들에 의해서 가정된 값들을 도시한 도면이다.
추출 절차 (도 1)
도 1은 아래에서는 "추출 절차"로 언급되며 참조번호 100으로 식별되는 절차를 기능적인 블록들의 면에서 도시한 것으로, 본 발명이 실시예에 따라서 키포인트들의 최적 세트를 획득하고 그리고 기술자 (descriptor)들의 대응 세트를 생성하는 것에 관한 것이다. 그러면 상기 키포인트들 및 상기 기술자들은 이미지 분석 목적을 위해서 활용될 것이다. 다음의 본 발명 설명에서, "이미지 분석" 그리고 "이미지를 분석함"의 일반적인 표현들은 한 이미지를 적어도 하나의 다른 이미지와 비교하는 것을 제공하는 그런 모든 연산들을 포함할 것을 의도되어야만 한다. 이런 연산들은, 예를 들면, 복수의 상이한 사진들로부터 시작하는 단일의 파노라마 사진을 생성하는 것을 제공하는 애플리케이션에서는 물론이며 오브젝트 인식 애플리케이션에서와 같은 아주 다양한 애플리케이션들에서 수행될 수 있을 것이다
나중에 설명될 것처럼, 본 발명의 실시예에 따른 추출 절차들은 키포인트들의 최적의 서브세트를 선택하고 그리고 그런 키포인트들의 기술자들을 후속의 절차들의 효율성을 크게 향상시키는 범위까지 압축하는 것을 더 제공한다.
이 섹션에서 설명된 추출 절차 (100)의 단계들은 적절한 프로세싱 유닛들에 의해서 수행될 수 있을 것이며, 그 프로세싱 유닛들의 구조 및 기능은 예정된 애플리케이션의 특정 분야에 종속된다. 예를 들면, 각 프로세싱 유닛은 상기 방법의 하나 또는 그 이상의 단계들을 수행하도록 특별하게 설계된 하드웨어 유닛일 수 있다. 더욱이, 상기 방법의 단계들은 프로그램 가능한 기계 (예를 들면, 컴퓨터)에 의해서 대응하는 명령어들의 세트의 제어 하에 수행될 수 있을 것이다.
키포인트들 추출 (단계 110)
추출 절차 (100)의 제1 단계 (110)는 쿼리 이미지를 수신하고 그리고 상기 쿼리 이미지 (115) 내에서 그런 키포인트 KP의 위치를 식별하는 공간적인 좌표들 C의 대응 쌍과 각각이 연관된 키포인트들 (KP)의 제1 세트를 그 쿼리 이미지로부터 추출하는 것을 제공한다.
이 연산은 알려진 DoG (Difference of Gaussians) 키포인트 추출 알고리즘을 활용하여 수행될 수 있을 것이다; 그러나, 예를 들어, DoH (Determinant of the Hessians) 키포인트 추출 알고리즘과 같은 상이한 키포인트 추출 알고리즘들이 채택되는 경우에도 유사한 고려들을 적용한다. DoG 키포인트 추출 알고리즘을 참조하면, 상기 쿼리 이미지 (115)는 상이한 스케일들에서 일렬의 가우스 필터들에 감겨진다. 그러면 인접한 가우스-블러링된 (Gaussian-blurred) 이미지들의 쌍 사이에 차분 연산 (difference operation)이 차례로 수행된다. 그러면 키포인트들 KP은 다중 스케일들에서 DoG (Difference of Gaussian)의 최대/최소 값들을 구비한 포인트들로서 선택된다. 특히, DoG 이미지 내의 각 픽셀은 동일한 스케일에서 자신의 여덟 개의 이웃들과 그리고 각 이웃하는 스케일들 (즉, 차례로 다음의 그리고 이전의 스케일들) 각각에서 아홉 개의 이웃하는 픽셀들과 비교된다. 그 픽셀 값이 모든 비교된 픽셀들 사이에서 최대 또는 최소라면, 그 포인트는 후보의 키포인트 KP로 간주된다.
단계 110은 각 키포인트 KP가 로컬 이미지 휘도 그래디언트 방향들을 기반으로 하여 하나 또는 그 이상의 방위 (orientation)들에 할당되는 것을 또한 제공한다. 예를 들면, 복수의 빈 (bin)들을 구비한 방위 히스토그램이 형성되며, 각 빈은 대응하는 각도 간격을 커버한다. 히스토그램 빈에 부가된 이웃하는 윈도우 내의 각 샘플은 자신의 그래디언트 크기에 의해서 그리고 가우스-가중 원형 (Gaussian-weighted circular) 윈도우에 의해서 가중된다. 그 결과인 히스토그램 내의 피크들은 우세한 방위 (dominant orientation)들에 대응한다. 일단 상기 히스토그램이 채워지면, 가장 높은 피크 그리고 가장 높은 피크들의 80% 이내인 로컬 피크들에 대응하는 방위들이 키포인트 KP에 할당된다. 다중의 방위들이 할당된 경우에, 추가적인 키포인트 KP가 생성되며, 각 추가의 방위에 대한 원래의 키포인트와 동일한 위치 및 스케일을 가진다.
그래서 단계 110의 끝에서, 키포인트들 KP의 세트가, 대응하는 좌표들 C, 키포인트가 추출된 스케일 S, 그 키포인트의 우세 방위 O. 그리고 피크 P, 즉, 그런 키포인트에 대응하는 DoG의 절대값 (이것은 키포인트의 대비 (contrast)를 표시한다)과 함께 생성된다.
기술자들 생성 (단계 120)
다음의 단계 120은 각 키포인트 KP에 대해서 대응 기술자 D를 계산하기 위해서 상기 쿼리 이미지 (115)를 프로세싱하는 것을 제공한다. 문제의 이 예에서, 단계 120에서 계산된 기술자들 D는 SIFT 유형의 기술자이다. 키포인트들 KP가 이미지 위치, 스케일 및 회전에 불변인 것을 확실하게 하는 방식으로 추출되었지만, SIFT 기술자들 D는 고도로 구분되며 그리고 조도 및 뷰포인트에 부분적으로 불변이게 하는 방식으로 계산된다. 특히, 각 키포인트 KP에 대해서, 상기 키포인트 KP를 중심으로 하며 키포인트 KP의 우세 방위에 따라 방위가 정해진 4x4 그리드 상에서 16개 서브-히스토그램들이 계산된다. 각 서브-히스토그램은 8개의 빈들을 포함하며, 그 빈들 각각은 상기 우세 방위에 관하여 n*π/4 (n= 0, 1, …7)의 각도를 가지는 방위에 대응한다; 서브-히스토그램의 각 빈의 빈도는 그런 서브-히스토그램에 대응하는 그리드 셀 (이하에서는 서브-구역으로 언급됨)의 휘도 그래디언트에 비례하며, 서브-히스토그램은 그런 빈에 의해서 식별된 방향을 따라서 고려된 것이다. 그런 방위 히스토그램의 값들은 어레이 내에 배치되어, 상기 키포인트 KP의 기술자 D를 형성한다. 각각이 8개의 빈들을 가진 4 x 4 = 16개의 서브-히스토그램들이 존재하기 때문에, 상기 기술자 D는 128개 아이템들을 구비한 어레이이다.
상이한 개수의 셀들을 포함하는 그리고/또는 히스토그램 당 상이한 개수의 빈들을 갖춘 그리드 상에서 상기 SIFT 기술자가 계산된다면 본 발명의 개념들이 또한 적용 가능하다
더욱이, 문제의 예에서 SIFT 유형의 기술자들을 참조했다고 해도, 예를 들면, SURF (Speeded Up Robust Feature) 그리고 HOG (Histogram of Oriented Gradients), 또는 가능한 다른 것들과 같은 상이한 유형의 기술자들이 채택된 경우에도 유사한 고려들이 적용된다. 또한, 비록 휘도 그래디언트들에 관한 데이터를 포함하는 기술자들을 참조했고 다음에도 참조할 것이지만, 상이한 파라미터들의 그래디언트들이 고려된다고 해도 유사한 고려들이 적용된다. 실제로, 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자들에게 잘 알려진 것처럼, 휘도는 컬러의 물리적인 특성들 중 단 하나일 뿐이다. 그래서, 이미지 분석 목적들을 위해서 휘도가 최선의 (즉, 가장 강건한) 물리적인 특성인 것으로 확인되었다고 해도, 예를 들면, 색차 그래디언트들, 채도 그래디언트들, 또는 심지어는 (휘도, 채도 및 색차 모두를 포함하는) 컬러 그래디언트들에 관련된 데이터를 포함하는 상이한 유형의 기술자들이 또한 고려될 수 있을 것이다.
위에서 이미 언급된 것처럼, 이미지 분석 연산들을 수행하는 것은 아주 큰 양의 데이터를 관리하는 것을 포함한다: 실제로, 각 키포인트 KP는 128개 아이템들의 어레이에 의해서 형성된 대응 기술자 D는 물론이며 좌표들 C, 스케일 C, 우세한 방위 O, 그리고 피크 P를 포함하는 복수의 로컬 특징들과 연관된다 (이하에서는 전역적으로 식별된 레퍼런스 LFkp). 이런 목적을 위해서, 관리될 (예를 들면, 기억하고 그리고/또는 전송될) 데이터의 전체적인 양을 줄이기 위해서, 본 발명의 실시예에 따른 상기 추출 절차 (100)는 두 가지 방편들을 제공한다. 즉:
1) (이미지 비교의 관점에서) 가장 많이 관련된 키포인트들 KP을 선택함으로써 이전에 생성된 키포인트들 KP의 개수를 축소하며, 이것은 키포인트들 KP의 최적의 서브세트 SUB를 얻기 위한 것이다, 그리고
2) 좌표들 C 그리고 기술자들 D 둘 모두를 적절하게 압축한다.
상기 추출 절차 (100)의 단계 130은 최적의 서브세트 SUB를 선택하는 것에 전용된 것이며, 단계 140은 기술자들 D를 압축하는 것에 전용이며, 그리고 단계 150은 좌표들 C를 압축하는 것에 전용이다.
키포인트들의 최적 서브세트 선택
본 발명의 실시예에 따라서, 상기 최적의 서브세트 SUB를 선택하는 것은, 상기 쿼리 이미지 (115)의 각 키포인트 KP의 적어도 하나의 로컬 특징들 LFkp - 좌표들 C, 스케일 C, 우세한 방위 O, 피크 P 그리고 기술자 D -에 대해서 적어도 하나의 대응하는 특징 관련성 확률 (feature relevance probability, FRP)를 계산하고, 로컬 특징들 LFkp의 특징 관련성 확률들 FRP를 기반으로 하여 키포인트 관련 확률 KRP에 따라서 상기 키포인트들 KP를 소팅하고, 그리고 가장 높은 키포인트 관련 확률들 KRP을 가진 키포인트들 KP를 선택함으로써 수행된다.
본 발명의 실시예에 따르면, 일반적인 키포인트 KP의 각 로컬 특징 LFkp의 특징 관련성 확률은, 벤치마크 이미지 데이터베이스 상에서 통계적인 추정들을 수행했던 이후에 미리 정해졌던, 대응 레퍼런스 통계적 분포 Rsd를 활용함으로써 계산된다.
상기 레퍼런스 통계적 분포 Rsd는, 이미지 분석 목적들을 위해서 유용한 것으로 간주된 키포인트들 KP의 로컬 특징들 LFkp의 통계적인 행동을 반영하는 방식으로 만들어진다.
예를 들면, 오브젝트 인식 절차들의 경우에, 벤치마크 이미지 데이터베이스는 복수의 이미지 쌍들을 포함한 데이터베이스이며, 이때에 각 이미지 쌍은 동일한 오브젝트/씬 (scene)을 도시한 두 사진들로 구성된다. 본 발명의 실시예에 따르면, 레퍼런스 통계적 분포들은 다음의 방식으로 생성된다.
상기 벤치마크 데이터베이스의 모든 이미지들로부터 키포인트들이 첫째로 추출된다. 그러면, 모든 추출된 키포인트들의 하나 또는 그 이상의 선택된 특징들 상에서 제1의 통계적 분석이 수행되어, 그런 선택된 로컬 특징들의 제1의 통계적 분포들을 생성한다. 로컬 특징의 제1 통계적 분산 각각은 히스토그램의 모습으로 배치되며, 이 히스토그램은, 상기 벤치마크 데이터베이스의 이미지들로부터 추출된 키포인트들의 전체 중에서, 복수의 미리 정의된 로컬 특징 값 간격들 (빈) 각각 내에 있는 그런 로컬 특징의 값을 가지는 키포인트들의 개수 (키포인트들 빈도)를 카운팅함으로써 획득된 것이다. 그러면, 각 이미지 쌍에 대해서, 하나의 사진의 키포인트들은 다른 사진의 키포인트들과 매치된다. 그런 키포인트들 사이에서의 매치들은 (이미지 특징 매칭을 기반으로 하는 알려진 이미지 비교 절차들 중 어떤 하나와 같은) 이미지 비교 절차를 이용하여 프로세싱되며, 이것은 어느 매치가 옳은 것인가 (인라이어 (inlier)) 그리고 어느 것이 틀린 것인가 (아웃라이어 (outlier))를 식별하기 위해서이다. 그러면 특징 관련성 확률들 FRP를 계산하기 위해서 사용될 레퍼런스 통계적 분포들 Rsd를 생성하기 위해서, 동일한 특징 또는 이전에 고려된 특징들 상에서 제2의 통계적 분석이 수행된다. 이 시점에서, 레퍼런스 통계적 분포들 Rsd를 생성하는 것은 각 빈에 대해서, 인라이어들에 속하며 그리고 상기 빈 내에 위치한 대응 로컬 특징의 값을 구비한 키포인트들의 개수 그리고 동일한 빈 내에 위치한 대응 로컬 특징의 값을 구비한 키포인트들 (둘 모두 인라이어들 그리고 아웃라이어들에 속한다)의 전체 개수 사이의 비율을 계산함으로써 수행된다. 본 출원인은 상기 제1 통계적 분포들 그리고 상기 레퍼런스 통계적 분포들 Rsd는 서로 완전히 다르다는 것을 관찰했다. 상기 레퍼런스 통계적 분포들 Rsd가 올바른 특징 매치를 포함한 키포인트들 (인라이어)을 고려하여 생성되었기 때문에, 본 출원인은 그런 통계적 분포들은 이미지 분석 목적들을 위해 관련된 키포인트들의 통계적인 행동에 대한 양호한 표현이며 (아래에서 "관련 키포인트들 (relevant keypoints)"이라고 함), 그리고 이미지 압축 절차에서 효과적으로 채택되기에 특히 적합하다는 것을 발견했다.
도 2a - 도 2f는 본 발명의 몇몇의 예시적인 실시예들에 따른 키포인트들 KP의 대응하는 선택된 로컬 특징들 LFkp의 몇몇의 통계적인 분포들 Rsd을 도시한다. 특히, 도 2a - 도 2f의 통계적 분포들 Rsd은 오브젝트 인식 애플리케이션들을 위해서 특별하게 배치된 벤치마크 데이터베이스의 이미지들로부터 생성되었다. 예를 들어 복수의 상이한 사진들로부터 시작하는 단일의 파노라마 사진의 생성과 같은 상이한 이미지 분석 애플리케이션이 고려되어야만 한다면, 그 결과인 통계적 분포들 Rsd는 상이할 것이다.
도 2a는 키포인트들 KP의 좌표들 C에 관련된 통계적인 분포 Rsd이다. 대응하는 히스토그램의 각 빈은 상기 이미지의 중심으로부터 일반적인 키포인트 KP까지의 거리를 나타낸다 (픽셀 단위). 문제의 예에서, 고려된 이미지는 VGA 유형이며 (즉, 640 x 480의 해상도를 가진다), 그래서 상기 중심은 좌표 (320, 240)에 대응한다. 도 2a에 도시된 히스토그램에 따르면, 가장 높은 키포인트 KP 빈도를 가진 빈은 상기 이미지의 중심에 대응하는 빈이다. 이것은 키포인트 KP가 중심에 가까울수록, 그런 키포인트 KP가 관련 키포인트일 확률이 더 높아진다는 것을 의미한다; 상기 히스토그램 빈도들의 추세는 중심으로부터의 거리가 증가함에 따라서 단조성으로 감소한다. 이는 오브젝트가 사진이 찍힐 때에, 그 오브젝트가 사진의 중심에 프레임이 정해질 확률이 아주 높다는 사실에 의해서 쉽게 설명될 수 있을 것이다. 이 경우에 상기 히스토그램의 빈들 모두가 동일한 폭을 가지는 것은 아니라는 것이 이해되어야만 한다; 이것은 각 빈의 폭은 (스칼라 및/또는 벡터) 양자화기에 의해서 적절하게 결정되어서 적은 빈들을 계산하도록 하여, 오버피팅 (overfitting) 현상의 경우들이 발생하는 것을 피하게 한다는 사실로 인한 것이다. 본 발명의 개념들은 (스칼라 및/또는 벡터의) 균일한 양자화가 채택되는 경우, 즉, 히스토그램의 모든 빈들이 동일한 폭을 가지는 경우에도 또한 적용된다.
도 2b는 키포인트들 KP의 우세 방위 O에 관련 통계적 분포 Rsd이다. 대응하는 히스토그램의 각 빈은 일반적인 키포인트 KP의 수평 (0 라디언에 대응된다)에 대한 상기 우세 방향의 각도 (라디안 단위)를 나타낸다. 도 2b에 도시된 히스토그램에 따르면, 가장 높은 KP 빈도들을 가지는 빈은 수평 방위에 평행하거나 수직인 방위들 (즉, π/2, 0, -π/2, - π 에 대응한다)에 대응하는 빈들이다. 이것은 키포인트 KP의 방위가 상기 방위들 중 하나에 가까울수록, 그런 키포인트 KP가 관련 키포인트일 확률이 더 높아진다는 것을 의미한다. 이것은 오브젝트가 사진이 찍힐 때에, 상기 오브젝트는 수평 라인에 평행하게 그리고/또는 수직으로 주로 확장되도록 프레임이 정해질 확률이 아주 높다는 사실에 의해서 설명될 수 있을 것이다. 이 경우에도 마찬가지로, 빈들의 폭은 양자화기에 의해서 결정된다.
도 2c는 키포인트들 KP의 피크 P에 관련된 통계적인 분포 Rsd이다. 대응하는 히스토그램의 각 빈은 일반적인 키포인트 KP 그리고 이웃하는 포인트들 중에서 가장 유사한 포인트 사이의 대비 (contrast)를 나타낸다. 도 2c에 도시된 히스토그램에 따르면, 가장 높은 키보인트 KP 빈도를 가진 빈은 가장 높은 피크 값들을 가진 빈이다. 이것은 키포인트 KP의 대비가 더 높을수록, 그런 키포인트 KP가 관련 키포인트일 확률이 더 높아진다는 것을 의미한다; 히스토그램 빈도들의 추세는 대비가 증가할수록 단조롭게 증가한다. 이것은 높은 대비를 가지는 사진의 포인트는 쉽게 인식 가능하며 그리고 식별 가능하다는 사실에 의해서 쉽게 설명될 수 있을 것이다. 이 경우에도 마찬가지로, 빈들의 폭은 양자화기에 의해서 결정된다.
도 2d는 키포인트들 JP의 스케일 (크기) S에 관련된 통계적인 분포 Rsd 이다. 대응하는 히스토그램의 각 빈은 특별한 스케일 S를 나타내며, 키포인트 KP는 그 특별한 스케일에서 추출될 수 있을 것이다. 도 2d에서 도시된 히스토그램에 따르면, 가장 높은 키포인트들 KP 빈도를 가지는 빈은 중간-낮은 (mid-low) 스케일에 대응한다. 이 경우에도 마찬가지로, 빈들의 폭은 양자화기에 의해서 결정된다.
도 2e는 키포인트들 KP의 기술자들 D에 관련된 제1의 통계적 분포 Rsd이다. 이 경우에, 대응하는 히스토그램은 3차원이며, 그 히스토그램의 각 빈은 일반적인 키포인트 KP의 기술자 D의 두 개의 파라미터들, 즉, 상기 기술자 D의 중간값 (mean) (x 축) 그리고 편차 (variance) (y 축)의 간격 값들에 대응한다. 더 큰 빈도 값들은 더 큰 직경을 가진 원들에 의해서 지시된다. 중간값 및 편차는 동일한 히스토그램을 형성하기 위해서 같이 고려되었으며, 이는 그것들이 서로 링크되기 때문이다. 그런 히스토그램에 따르면, 가장 높은 키포인트들 KP 빈도를 가진 빈은 더 큰 원들에 의해서 표시되며, 그리고 가장 높은 중간값 그리고 가장 낮은 편차에 대응하는 빈이다. 이것은, 키포인트 KP의 기술자 D의 중간값이 더 높을수록, 그런 키포인트 KP에 대응하는 휘도 그래디언트는 더 높아지며, 그리고 키포인트 KP의 기술자 D의 편차는 더 낮아지며, 그런 키포인트 KP에 영향을 주는 원치 않는 잡음은 더 낮아진다는 사실에 의해서 설명될 수 있다.
도 2f는 키포인트들 KP의 기술자들 D에 관련된 제2의 통계적인 분포 Rsd이다. 이 경우에, 각 빈은 키포인트 KP의 기술자 D 그리고 동일한 이미지의 다른 키포인트들 KP의 기술자들 D 사이의 특별한 최대 거리에 대응한다. 예를 들면, 그런 최대 거리는 두 기술자들 사이의 유클리드 거리를 기반으로 하여 계산될 수 있을 것이다. 예를 들면, 대칭적인 Kullback-Leibler 발산을 활용하는 것과 같은 다른 알려진 방법 또는 예상될 수 있을 것이다.
도 1로 돌아가면, 본 발명의 실시예에 따라서, 상기 추출 절차 (100)의 단계 130은, 단계 110에서 추출된 각 키포인트 KP에 대해서 다음의 것들을 생성하는 것을 제공한다:
- 제1 특징 관련성 확률 (feature relevance probability) FRP1, 이것은 상기 키포인트 KP의 좌표들 C에 관련된 상기 통계적 분포 Rsd로부터 얻어진다. 상기 분포에 대응하는 히스토그램은 그 히스토그램의 빈을 식별하기 위해서 검사되어, 상기 키포인트 KP의 좌표들 C를 피팅 (fitting)한다; 그러면, 상기 제1 특징 관련성 확률 FRP1은 상기 식별된 빈의 키포인트들 빈도와 동일하게 세팅된다.
- 제2 특징 관련성 확률 FRP2, 이것은 상기 키포인트 KP의 우세 방위 O에 관련된 상기 통계적 분포 Rsd로부터 얻어진다. 상기 분포에 대응하는 히스토그램은 그 히스토그램의 빈을 식별하기 위해서 검사되어, 상기 키포인트 KP의 우세 방위 O를 피팅한다; 그러면, 상기 제2 특징 관련성 확률 FRP2는 상기 식별된 빈의 키포인트들 빈도와 동일하게 세팅된다.
- 제3 특징 관련성 확률 FRP3, 이것은 상기 키포인트 KP의 피크 P에 관련된 상기 통계적 분포 Rsd로부터 얻어진다. 상기 분포에 대응하는 히스토그램은 그 히스토그램의 빈을 식별하기 위해서 검사되어, 상기 키포인트 KP의 피크 P를 피팅한다; 그러면, 상기 제3 특징 관련성 확률 FRP3은 상기 식별된 빈의 키포인트들 빈도와 동일하게 세팅된다.
- 제4 특징 관련성 확률 FRP4, 이것은 상기 키포인트 KP의 스케일 S에 관련된 상기 통계적 분포 Rsd로부터 얻어진다. 상기 분포에 대응하는 히스토그램은 그 히스토그램의 빈을 식별하기 위해서 검사되어, 상기 키포인트 KP의 스케일 S를 피팅한다; 그러면, 상기 제4 특징 관련성 확률 FRP4는 상기 식별된 빈의 키포인트들 빈도와 동일하게 세팅된다.
- 제4 특징 관련성 확률 FRP4, 이것은 상기 키포인트 KP의 스케일 S에 관련된 상기 통계적 분포 Rsd로부터 얻어진다. 상기 분포에 대응하는 히스토그램은 그 히스토그램의 빈을 식별하기 위해서 검사되어, 상기 키포인트 KP의 스케일 S를 피팅한다; 그러면, 상기 제4 특징 관련성 확률 FRP4는 상기 식별된 빈의 키포인트들 빈도와 동일하게 세팅된다.
- 제5 특징 관련성 확률 FRP5, 이것은 상기 키포인트 KP의 기술자 D의 중간값 및 편차에 관련된 통계적 분포 Rsd로부터 얻어진다. 상기 분포에 대응하는 히스토그램은 그 히스토그램의 빈을 식별하기 위해서 검사되어, 상기 키포인트 KP의 기술자 D의 중간값 및 편차를 피팅한다; 그러면, 상기 제5 특징 관련성 확률 FRP5는 상기 식별된 빈의 키포인트들 빈도와 동일하게 세팅된다.
- 제6 특징 관련성 확률 FRP6, 이것은 상기 키포인트 KP의 기술자 D 그리고 다른 키포인트들 KP의 기술자들 D 사이의 최대 거리 (예를 들면, 유클리드 거리)에 관련된 통계적 분포 Rsd로부터 얻어진다. 상기 분포에 대응하는 히스토그램은 그 히스토그램의 빈을 식별하기 위해서 검사되어, 그런 거리를 피팅한다; 그러면, 상기 제6 특징 관련성 확률 FRP6은 상기 식별된 빈의 키포인트들 빈도와 동일하게 세팅된다.
그러므로, 각 키포인트 KP에 대해서, 키포인트 관련 확률 (keypoint relevance probability) KRP는 로컬 특징들의 특징 관련성 확률들 FRP 중 적어도 하나, 또는 그것들 사이에서의 조합에 의해서 얻어진다. 예를 들면, 특징 관련성 확률들 FRP는 서로에게 독립적이다라는 가정으로부터 시작하여, 일반적인 키포인트 KP의 키포인트 관련 확률 KRP는 자신의 대응 특징 관련성 확률들 FRP를 서로 곱함으로써 계산된다. 일반적으로, 키포인트 관련 확률 KRP를 계산하기 위해서 사용된 상이한 특징 관련성 확률들 RFP의 개수가 더 많을수록, 그런 방법를 채택함으로써 얻어질 수 있는 결과들은 더 양호하다. 시각적인 검색 애플리케이션들을 위한 SIFT 기술자들의 예를 고려하여, 키포인트 관련 확률을 계산하기 위해서 고려된 특징 관련성 확률들은 스케일, 피크 및 중심으로부터의 거리에 대응하는 것들을 적어도 포함하는 것이 바람직하다.
도 2g는 대응하는 원형의 얼룩들에 의해서 복수의 키포인트들이 식별된 예시의 사진으로, 그 원형의 얼룩들 각각은 키포인트의 관련 확률 KRP에 비례하는 직경을 가진다.
단계 110에서 추출된 모든 키포인트들 KP의 키포인트 관련 확률들 KRP가 일단 계산되었으며, 상기 키포인트들 KP은 감소하는 키포인트 관련 확률 KRP의 순서에 따라서 일렬로 소팅된다. 그러면, 상기 순서가 정해진 시퀀스 중 첫 번째 것들로부터 키포인트들 KP의 개수 (관리될 데이터의 양에서의 원하는 감소를 기반으로 한다)를 고려함으로써 최적의 서브세트 SUB가 형성된다. 상기 최적의 서브세트 SUb에 속한 선택된 키포인트들 KP는 단계 110에서 추출된 키포인트들 KP의 전체 중에서 (이미지 비교의 면에서) 가장 관련된 키포인트들 KP인 결과가 된다. 이 방식에서, 데이터의 전체적인 양을 축소하는 것은 스마트하며 효율적인 방식으로 수행되며, 이것은 상기 관련 키포인트들 KP만을 고려하며, 덜 유용한 것은 폐기한다.
비록 상기에서 설명된 본 발명의 실시예에 따른 최적의 서브세트를 선택하는 것이 각 특징 관련성 확률을 계산하는 것을 제공하여 대응하는 통계적 분포 Rsd를 활용하여, 상기 대응하는 통계적 분포 Rsd는 상기 빈 내에 위치한 대응 로컬 특징의 값을 구비한 키포인트 인라이어들 그리고 동일한 빈 내에 위치한 대응하는 로컬 특징의 값을 가지는 키포인트들의 전체 개수 사이의 비율을 계산함으로써 얻어지지만, 본 발명의 개념들은 상이한 방법들, 심지어는 수동의 방법을 이용하여 획득된 통계적으로 등가인 상이한 통계적 분포가 채택된 경우에도 또한 적용 가능하다는 것이 강조된다. 다음의 설명에서, 두 개의 통계적 분포들이 고려되며, 그 통계적 분포들이 동일한 세트의 키포인트들로부터 시작하여 유사한 특징 관련성 확률들을 획득할 수 있다면 서로에게 등가이다.
기술자들 비교 (단계 140)
본 발명의 실시예에 따르면, 기술자들 D를 압축하는 것은 축소된 개수의 최적화된 코드북들을 활용함으로써 벡터 양자화를 통해서 수행된다
도 3a는 일반적인 키포인트 KP에 대응하는 SIFT 유형의 예시적인 기술자 D (최적 서브세트 SUB의 일부로서 선택되었던 도 1의 추출 절차 (100)의 단계 120에서 생성된 기술자들 D 중 하나의 기술자)를 도시한다. 이미 위에서 언급된 것처럼, 상기 기술자 D는 16개의 서브-히스토그램 shi (i= 1, 2, …, 16)를 보여주며, 그 서브-히스토그램 각각은 키포인트 KP에 가까운 이미지의 각 서브-구역의 휘도 그래디언트가 어떻게 여덟 개의 방향들을 따라서 분포되는가를 보여준다. 특히, 각 서브-히스토그램 shi는
상기 키포인트 KP 위치에 중심을 두고 키포인트 KP의 우세 방위 O에 따른 방위를 가지는 4x4 그리드의 16개 셀들 중 하나에 대응하는 서브-구역과 연관된다; 각 서브-히스토그램 shi는 여덟 개의 빈들을 포함하며, 각 빈은 상기 우세 방위 O에 대해서 각도 n*π/4 (n= 0, 1, …7)를 가지는 방위에 대응한다.
도 3b에 도시된 것처럼, 기술자 D의 모든 방위 히스토그램들 shi의 값들은 대응하는 기술자 어레이 내에 배치되며, 도면에서는 레퍼런스 DA로 식별된다. 상기 기술자 어레이 DA는 16개의 요소들 ai (i= 1,2, …, 16)를 포함하며, 이들 각각은 대응하는 서브-히스토그램 shi (i= 1,2, …, 16)에 의해서 취해진 값들을 저장한다; 각 요소 ai는 차례로 각각의 서브-요소들을 포함하며, 이 서브-요소들 각각은 상기 서브-히스토그램 shi의 여덟 개의 빈들 중 각 하나의 빈에 대응한 빈도 값을 저장한다. 그래서, 각 기술자 어레이 DA는 16*8 = 128 개 서브-요소들을 포함하며, 이것들은 se(h) (h = 1,2,…,128)로 식별된다. SIFT 기술자 D에서 전형적인 빈도 값이 0 부터 255까지의 범위라는 것을 고려하면, 기술자 어레이 DA의 각 서브-요소 se(h)는 바이트로 표현될 수 있다; 그러므로, 기술자 어레이 D의 메모리 점유는 128 바이트와 동일하다. 그래서, 도 1의 추출 절차 (100)를 다시 참조하면, 상기 선택된 최적 서브세트 SUB에 속한 키포인트들 KP의 모든 기술자들 D에 대응하는 데이터의 양 (바이트 단위)은 128에 상기 최적 서브세트 SUB의 키포인트들 KP의 개수를 곱한 것과 동일하다.
데이터의 이 양을 줄이기 위해서, 그런 기술자들 D에 대응하는 기술자 어레이들 DA는 벡터 양자화를 통해서 압축된다.
본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자들에게 잘 알려진 것처럼, n 개 요소들 (n-튜플; n-tuple)에 의해서 형성된 데이터 어레이를 벡터 양자화를 활용하여 압축하는 것은 상기 데이터 어레이가 가정할 수 있을 모든 가능한 n-튜플 값들의 세트를 더 작은 개수의 n-튜플 값들 (심지어 이 값들은 양자화될 세트의 값들과 상이할 수 있을 것이다)을 포함하는 축소된 세트로 공동으로 양자화하는 것을 제공한다. 상기 축소된 세트는 더 작은 개수의 n-튜플 값들을 포함하기 때문에, 더 작은 저장 공간을 필요로 한다. 상기 축소된 세트를 형성하는 n-튜플 값들은 "코드워드들 (codewords)"로 또한 언급된다. 각 코드워드는 상기 어레이가 가정할 수 있을 상이한 n-튜플 값들의 대응 세트와 연관된다. 상기 데이터 어레이의 n-튜플 값들 그리고 코드워드들 사이의 연관 관계는 대응하는 코드북에 의해서 결정된다.
각각이 0부터 255까지의 범위인 값들을 구비한 여덟 개의 서브-요소들 se(h)에 의해서 차례로 형성된 16개 요소들 ai를 포함하는 기술자 어레이 DA를 특히 참조하면, 기술자 어레이 DA는 N = 256128 개의 상이한 16-튜플 값들을 취할 수 있을 것이다. 벡터 양자화를 통해서 압축을 적용함으로써, 그런 N 개의 상이한 16-튜플 값들은 코드북의 N1 개 (N1 < N)의 코드워드들에 근사한다. 상기 코드북은 각 코드워드 그리고 기술자 어레이 DA의 16-튜플 값들의 대응 세트 사이의 연관 관계들을 결정한다. 그러므로, 상기 코드북의 각 코드워드는 16-튜플 값이며, 이는 기술자 어레이 DA의 16-튜플 값들의 대응 세트를 "근사화하기 (approximate)" 위해서 사용된다. 상기 벡터 양자화는 손실 데이터 압축이며, 그 압축의 정밀도는 왜곡으로 불리는 파라미터를 통해서 측정된다. 그 왜곡은, 예를 들면, 코드북의 일반적인 코드워드 그리고 그런 코드워드에 의해서 근사화된 어레이의 n-튜플 값들의 세트 사이의 유클리드 거리로서 계산된다. 그 왜곡이 상이한 방법을 이용하여 계산되었다고 해도 유사한 고려들이 적용된다. 어떤 경우에, 대략적으로 말하자면, 코드북의 코드워드들의 개수 N1이 많아질수록, 압축의 왜곡은 더 낮아진다.
본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자들에게 잘 알려진 것처럼, 코드북의 코드워드들을 생성하는 것은 아주 많은 개수의 트레이닝 어레이들의 컬렉션을 포함하는 트레이닝 데이터베이스 상에서 통계적인 연산들 (트레이닝 연산들로 언급된다)을 수행함으로써 일반적으로 실행된다. 특히 기술자 어레이 DA를 참조하면, 상기 트레이닝 데이터베이스는 수백만의 트레이닝 기술자 어레이들을 포함할 수 있을 것이며, 이 경우에 각 트레이닝 기술자 어레이는 상기 기술자 어레이 DA가 가정할 수 있을 N = 256128 개의 가능한 16-튜플 값들 중 하나이다.
도 4a에서 도시된 솔루션에 따르면, 전체 기술자 어레이 DA는 N1개 16-튜플 값 코드워드들 CWj (j = 1, 2, …N1)를 포함하는 단일의 코드북 CBK를 이용하여 압축된다. 그러므로, N1개의 상이한 코드워드들 CWj의 경우에, 상기 코드워드들을 식별하기 위해서 필요한 비트들의 최소 개수는 log2 N1과 동일하다. 위에서 이미 언급된 것처럼, 그런 단일 코드북 DBK의 N1개의 상이한 코드워드들 CWj를 생성하는 것은 복수의 트레이닝 기술자 어레이들 상에서 트레이닝 연산들을 수행함으로써 실행되며, 이 경우에 각 트레이닝 기술자 어레이는 상기 기술자 어레이 DA가 가정할 수 있을 N = 256128 개의 가능한 16-튜플 값들 중 하나이다.
이어지는 이미지 분석 연산들의 성과를 손상하지 않기 위한 것과 같이 충분하게 축소된 문턱값 아래에서 압축 왜곡을 유지하기 위해서, 필요한 코드워드들 개수 N1은 아주 높아질 수 있을 것이다. 코드북이 너무 많은 개수인 N1 개의 코드워드들에 의해서 형성되도록 하는 것은 상이한 관점들 하에서는 불리하다. 실제로, 코드워드들을 생성하기 위해서 사용될 트레이닝 어레이들의 개수는 과도하게 될 것이며, 그리고 프로세싱 시간들은 너무 길어질 것이다. 더욱이, 코드북을 활용하여 압축 연산들을 수행하기 위해서, 코드북을 형성하는 전체 N1개 코드워드들은 어딘가에 기억되어야만 하며, 무시할 수 없는 양의 메모리 공간을 차지한다. 후자 경우의 약점은 아주 치명적이며, 이미지 분석 애플리케이션들을 위해서 채택된 하드웨어 (예를 들면, 그래픽 프로세싱 유닛, GPU)는 그렇게 용량이 큰 메모리들을 갖추지 않기 때문이다.
도 4b를 참조하면, 왜곡을 증가시키지 않으면서 코드워드들 CWj 의 전체 개수를 축소시키기 위해서, 기술자 어레이 DA는 복수의 서브-어레이들 SDAk (k = 1, 2, …)로 세분 (subdivide)될 수 있을 것이며, 이 복수의 서브-어레이들 각각은 기술자 어레이 DA의 요소들 ai 중의 각각의 개수인 mk 개의 요소들을 포함하며, 그러면 각 서브-어레이 SDAk는 N2개의 mk-튜플 값 코드워드들 CWj (j = 1, 2, …N2)를 포함하는 각각의 코드북 CBKk를 이용하여 개별적으로 압축된다.
도 4b에 도시된 예에서, 기술자 어레이 DA는 네 개의 서브-어레이들 SDAk (k = 1, 2, 3, 4)로 세분되며, 그 서브-어레이 각각은 상기 기술자 어레이 DA의 mk=4 개의 요소들 ai를 포함한다:
- 제1 서브-어레이 SDA1은 요소 시퀀스 a1, a2, a3, a4 에 의해서 형성된다;
- 제2 서브-어레이 SDA1은 요소 시퀀스 a5, a6, a7, a8 에 의해서 형성된다;
- 제3 서브-어레이 SDA1은 요소 시퀀스 a9, a10, a11, a12 에 의해서 형성된다; 그리고
- 제4 서브-어레이 SDA1은 요소 시퀀스 a13, a14, a15, a16에 의해서 형성된다.
각 서브-어레이 SDAk를 압축하는 것은 N2 개의 4-튜플 값 코드워드들 CWj (j = 1, 2, …N2)를 포함하는 각각의 코드북 CBKy (y = k)를 이용하여 수행된다. 그러므로, 4*N2 개의 상이한 코드워드들 CWj의 경우에, 모든 코드워드들을 식별하기 위해서 필요한 비트들의 최소 개수는 4*log2 N2와 동일하다. 상기 고려된 경우에 각 서브-어레이 SDAk가 동일한 개수 N2 개의 코드워드들 CWj를 포함하는 코드북 CBKy를 이용하여 압축되었다고 하더라도, 각 서브-어레이 SDAk가 각각의 상이한 개수의 코드워드들 CWj을 이용하여 압축된 경우에 유사한 고려들이 적용된다.
도 4b에서 도시된 경우에, 각 코드북 CBKy의 N2개의 상이한 코드워드들 CWj를 생성하는 것은 트레이닝 기술자 어레이들의 각 서브-세트 상에서 트레이닝 연산들을 수행하는 것에 의해서 실행된다. 코드북 CBKk의 트레이닝 기술자 어레이들의 각 서브-세트는 네 개의 서브-어레이들 SDAk 중 하나에 대응하며, 그리고 도 4a의 단일의 코드북 CBK를 생성하기 위해서 사용된 각 트레이닝 기술자 어레이로부터 상기 서브-어레이 SDAk에 대응하는 부분만을 고려함으로써 얻어질 수 있을 것이다. 예를 들면, 코드북 CBK1을 생성하기 위해서, 도 4a의 단일의 코드북 CBK를 생성하기 위해서 사용된 16-튜플 트레이닝 기술자의 처음의 네 개 요소들 a1, a2, a3, a4 만이 채택된다.
기술자 어레이 DA 그 자체와 동일한 차원 (16개 요소들)을 가진 코드워드들 CWj에 의해서 형성된 단일 코드북 CBK를 이용하여 전체 기술자 어레이 DA가 압축된 도 4a의 경우에 비교하면, 서브-어레이 SDAk의 (더 작은) 차원 mk (예를 들면, mk = 4개 요소들)을 가진 코드워드들 CWj에 의해서 형성된 코드북 CBKy를 이용하는 것은 동일한 개수의 코드워드들 CWj를 이용하여 더 낮은 왜곡을 가지는 것을 가능하게 한다.
코드워드들 CWj의 전체 개수를 고정시키다면, 기술자 어레이 DA가 세분화되어 그 내부에 있는 서브-어레이들 SADk의 개수가 더 많아질수록, 왜곡은 더 작아지지만, 그러나, 그와 동시에, 모든 코드워드들 CWj을 식별하기 위해서 필요한 비트들의 최소 개수는 더 많아진다.
본 발명의 실시예에 따르면, 압축의 목적들을 위해서 상기 기술자 어레이 DA를 서브-어레이들 SDAk 내로 세분하는 것은 상기 기술자 어레이 DA의 요소들 ai 사이에서 상관 관계들이 발생하는 것을 고려함으로써 수행된다.
도 3a 및 도 3b를 참조하여 이미 설명된 것처럼, 상기 기술자 DA의 각 요소 ai 는 각 서브-구역에 연관된 서브-히스토그램 shi 에 의해서 취해진 값들을 저장하며, 그 서브-구역은 그와 같은 기술자 어레이 DA에 대응하는 키포인트 KP에 중심을 둔 4x4 그리드의 셀에 대응한다.
도 5에 도시된 본 발명의 실시예에 따르면, (예를 들면, 트레이닝 데이터베이스의 트레이닝 기술자 어레이들을 활용하여) 많은 양의 기술자 어레이들 D 상에서 통계적인 행동 분석을 수행한 이후에, 일반적인 키포인트 KP의 서브-히스토그램들 shi는 상관 패밀리들 (correlation families) CFx (x = 1, 2, 3, 4) 내에 배치되며, 각 상관 패밀리 CFx는 유사한 통계적인 행동을 가진, 즉, 유사한 경향의 빈 (bin) 빈도들을 가지는 상관된 서브-히스토그램들 shi의 세트를 포함한다는 것이 발견되었다. 예를 들면, 동일한 상관 패밀리 CFx에 속한 두 개의 서브-히스토그램들 shi는 동일한 (또는 유사한) 빈에서 유사한 개수의 주파수 피크들을 가질 수 있을 것이다. 상관 패밀리들 CFx를 형성하기 위해서 채택된 통계적인 행동 분석은, 기술자 어레이 DA를 압축하기 위해서 사용되기 위해 코드워드들 CWj 의 최대 개수를 고정하고, (상기 서브-히스토그램 shi를 상이한 상관 패밀리들 CFx에 할당함으로써) 상관 패밀리 CFx 내 서브-히스토그램 shi 의 배치가 변한다면, 그에 따른 결과인 왜곡이 변한다는 것을 보여주었다. 그래서 상관 패밀리들 CFx는 모든 가능한 서브-히스토그램들 shi 세분들 중에서도 가장 낮은 왜곡에 대응하는 것을 고려함으로써 형성된다.
그런 통계적인 행동 분석을 수행했던 이후에, 두 개의 서브-히스토그램들 shi 의 통계적인 행동 사이의 상관은 두 개의 주요한 파라미터들, 즉, 서브-히스토그램들에 연관된 서브-구역들의 키포인트 KP로부터의 거리 그리고 그 키포인트의 우세 방위에 종속된다는 것이 또한 발견되었다.
도 5를 참조하면, 키포인트 KP의 16개 서브-히스토그램들 shi 는 다음과 같은 네 개의 상관 패밀리들 내에 배치된다:
- 서브-히스토그램들 sh1, sh4, sh13 그리고 sh16을 포함하는 제1 상관 패밀리 CF1;
- 서브-히스토그램들 sh2, sh3, sh14 그리고 sh15를 포함하는 제2 상관 패밀리 CF2;
- 서브-히스토그램들 sh5, sh8, sh9 그리고 sh12를 포함하는 제3 상관 패밀리 CF3; 그리고
- 서브-히스토그램들 sh6, sh7, sh10 그리고 sh11을 포함하는 제4 상관 패밀리 CF4.
본 발명의 실시예에 따르면, 위에서 식별된 상관 패밀리들 CFx는, 축소된 개수의 최적화된 코드북들 CBKy를 이용하여 기술자 어레이 DA를 압축하기 위해서 유리하게 활용된다. 기술자 어레이 DA를 서브-어레이 SDAk 내에 세분하는 것은 적어도 두 개의 서브-어레이들 SDAk 가 동일한 전역적인 (즉, 모든 요소들을 고려하는) 통계적 행동을 가지도록 하는 방식으로 수행된다; 이 방식에서, 하나 이상의 서브-어레이들 SDAk를 압축하기 위해서 단일의 코드북 CBK를 사용하는 것이 가능하다. 이 목적을 위해서, 기술자 어레이 DA를 세분하는 것은 서브-어레이들 SDAk의 그룹(들)을 얻기 위한 방식으로 수행되며, 그 서브-어레이들의 그룹에서 각 그룹에 대해 그 그룹의 모든 서브-어레이들 SDAk에서 동일한 위치를 차지하는 요소들 ai 는 동일한 상관 패밀리 CFx에 속한다. 그러므로, 동일한 그룹에 속하는 모든 서브-어레이들 SDAk는 동일한 대응 코드북 CBK를 이용하여 유리하게 압축될 수 있으며, 그 대응 코드북의 코드워드들 CWj 는 도 4a의 단일의 코드북 CBK를 생성하기 위해서 사용된 각 트레이닝 기술자 어레이로부터, 서브-어레이들 SDAk의 요소들 ai가 속한 상관 패밀리들 CFx에 속한 요소들만을 고려함으로써 얻어지는 것이다.
도 6a에 도시된 본 발명의 예시적인 실시예에 따르면, 기술자 어레이 DA는 단일의 그룹 내에 배치된 네 개의 서브-어레이들 SDA1 - SDA4 내에서 세분된다. 그러므로, 모든 서브-어레이들 SDAk 는 동일한 코드북 CBK1을 이용하여 압축된다. 특히:
- 제1 서브-어레이 SDA1은 요소 시퀀스 a1, a2, a6, a5에 의해서 형성된다;
- 제2 서브-어레이 SDA2는 요소 시퀀스 a4, a3, a7, a8에 의해서 형성된다;
- 제3 서브-어레이 SDA3은 요소 시퀀스 a16, a15, a11, a12에 의해서 형성된다; 그리고
- 제4 서브-어레이 SDA44는 요소 시퀀스 a13, a14, a10, a9에 의해서 형성된다.
이 경우에,
- 각 서브-어레이 SDAk의 제1 요소들 ai 는 제1 상관 패밀리 CF1에 속한다;
- 각 서브-어레이 SDAk의 제2 요소들 ai 는 제2 상관 패밀리 CF2에 속한다;
- 각 서브-어레이 SDAk의 제3 요소들 ai 는 제3 상관 패밀리 CF3에 속한다; 그리고
- 각 서브-어레이 SDAk의 제4 요소들 ai 는 제4 상관 패밀리 CF4에 속한다;
일반적인 서브-어레이 SDA1- SDA4를 압축하기 위한 코드북 CBK1은 N3개의 코드워드들 CWj을 포함하며, 이 경우에 각 코드워드 CWj는 제1 상관 패밀리 CF1에 속하는 제1 요소, 제2 상관 패밀리 CF2에 속하는 제2 요소, 제4 상관 패밀리 CF4에 속하는 제3 요소, 그리고 제3 상관 패밀리 CF3에 속하는 제4 요소를 가진다.
N3개의 코드워드들 CWj을 구비한 경우에, 모든 코드워드들을 식별하기 위해서 필요한 비트들의 최소 개수는 4*(log2 N3)과 동일하다.
도 6b에 도시된 본 발명의 다른 예시적인 실시예에 따르면, 기술자 어레이 DA는 단일의 그룹 내에 배치된 두 개의 서브-어레이들 SDA1, SDA2 내에 세분된다. 그러므로, 모든 서브-어레이들 SDAk는 동일한 코드북 CBK1을 이용하여 압축된다. 특히:
- 제1 서브-어레이 SDA1은 요소 시퀀스 a1, a2, a3, a4, a5, a6, a7, a8에 의해서 형성되며, 그리고
- 제2 서브-어레이 SDA2는 요소 시퀀스 a13, a14, a15, a16, a9, a10, a11, a12에 의해서 형성된다.
이 경우에,
- 각 서브-어레이 SDAk의 제1 요소 및 제4 요소는 제1 상관 패밀리 CF1에 속한다;
- 각 서브-어레이 SDAk의 제2 요소 및 제3 요소는 제2 상관 패밀리 CF2에 속한다;
- 각 서브-어레이 SDAk의 제5 요소 및 제8 요소는 제3 상관 패밀리 CF3에 속한다; 그리고
- 각 서브-어레이 SDAk의 제6 요소 및 제7 요소는 제4 상관 패밀리 CF4에 속한다.
일반적인 서브-어레이 SDA1, SDA2를 압축하기 위한 코드북 CBK1은 N4 개의 코드워드들 CWj을 포함하며, 이 경우에 각 코드워드 CWj는 제1 상관 패밀리 CF1에 속한 제1 요소 및 제4 요소, 제2 상관 패밀리 CF2에 속한 제2 요소 및 제3 요소, 제3 상관 패밀리 CF3에 속한 제5 요소 및 제8 요소, 그리고 제4 상관 패밀리 CF4에 속한 제6 요소 및 제7 요소를 가진다.
N4 개의 상이한 코드워드들 CWj를 가진 경우에, 모든 코드워드들을 식별하기 위해서 필요한 비트들의 최소 개수는 2*(log2 N4)와 동일하다.
도 6c에 도시된 본 발명의 다른 예시적인 실시예에 따르면, 상기 기술자 어레이 DA는 여섯 개의 서브-어레이들 SDA1- SDA6로 세분되며, 그 서브-어레이들 중 네 개 (SDA1-SDA4)는 제1 그룹 내에 배치되며, 그리고 그 서브-어레이들 중 두 개 (SDA5, SDA6)는 제2 그룹 내에 배치된다. 그러므로, 서브-어레이들 SDA1-SDA4 는 동일한 제1 코드북 CBK1을 이용하여 압축되며, 반면에서 서브-어레이들 SDA5-SDA6 은 동일한 두 번째 코드북 CBK2를 이용하여 압축된다. 특히:
- 제1 서브-어레이 SDA1은 요소 시퀀스 a5, a1, a2에 의해서 형성된다;
- 제2 서브-어레이 SDA2는 요소 시퀀스 a8, a4, a3에 의해서 형성된다;
- 제3 서브-어레이 SDA3은 요소 시퀀스 a9, a13, a14에 의해서 형성된다;
- 제4 서브-어레이 SDA4는 요소 시퀀스 a12, a16, a15에 의해서 형성된다;
- 제5 서브-어레이 SDA5는 요소 시퀀스 a6, a7에 의해서 형성된다; 그리고
- 제6 서브-어레이 SDA6은 요소 시퀀스 a10, a11에 의해서 형성된다;
이 경우에:
- 제1 그룹 내 서브-어레이 SDA1 - SDA4 각각의 제1 요소들 ai 는 제3 상관 패밀리 CF3에 속한다;
- 제1 그룹 내 서브-어레이 SDA1 - SDA4 각각의 제2 요소들 ai 는 제1 상관 패밀리 CF1에 속한다;
- 제1 그룹 내 서브-어레이 SDA1 - SDA4 각각의 제3 요소들 ai 는 제2 상관 패밀리 CF2에 속한다; 그리고
- 제2 그룹 내 서브-어레이 SDA5 - SDA6 각각의 제1 및 제2 요소들 ai 는 제4 상관 패밀리 CF4에 속한다;
제1 그룹에 속한 일반적인 서브-어레이 SDA1-SDA4를 압축하기 위한 코드북 CBK1은 N5 개 코드워들 CWj을 포함하며, 이 경우에 각 코드워드 CWj는 제3 상관 패밀리 CF3에 속한 제1 요소, 제1 상관 패밀리 CF1에 속한 제2 요소, 그리고 제2 상관 패밀리 CF2에 속한 제3 요소를 가진다. 제2 그룹에 속한 일반적인 서브-어레이 SDA5-SDA6을 압축하기 위한 코드북 CBK2는 N6 개 코드워들 CWj을 포함하며, 이 경우에 각 코드워드 CWj는 제4 상관 패밀리 CF4에 속한 제1 및 제2 요소를 가진다.
N5 + N6 개의 상이한 개수의 코드워드들 CWj을 가진 경우에, 모든 코드워드들을 식별하기 위해서 필요한 비트들의 최소 개수는 4*(log2 N5)+2*(log2 N6)와 동일하다.
도 6d에 도시된 본 발명의 다른 예시적인 실시예에 따르면, 기술자 어레이 DA는 여덟 개의 서브-어레이들 SDA1- SDA8로 세분되며, 그 중 네 개 (SDA1-SDA4)는 제1 그룹 내에 배치되며, 그리고 그 중 네 개 (SDA5-SDA8)는 제2 그룹 내에 배치된다. 그러므로, 서브-어레이들 SDA1 - SDA4는 동일한 첫 번째 코드북 CBK1을 이용하여 압축되며, 반면에 서브-어레이들 SDA5 - SDA8은 동일한 두 번째 코드북 CBK2를 이용하여 압축된다. 특히:
- 제1 서브-어레이 SDA1은 요소 시퀀스 a5, a1에 의해서 형성된다;
- 제2 서브-어레이 SDA2는 요소 시퀀스 a8, a4에 의해서 형성된다;
- 제3 서브-어레이 SDA3은 요소 시퀀스 a9, a13에 의해서 형성된다;
- 제4 서브-어레이 SDA4는 요소 시퀀스 a12, a16에 의해서 형성된다;
- 제5 서브-어레이 SDA5는 요소 시퀀스 a6, a2에 의해서 형성된다;
- 제6 서브-어레이 SDA6은 요소 시퀀스 a7, a3에 의해서 형성된다;
- 제7 서브-어레이 SDA7은 요소 시퀀스 a10, a14에 의해서 형성된다; 그리고
- 제8 서브-어레이 SDA8은 요소 시퀀스 a11, a15에 의해서 형성된다.
이 경우에:
- 제1 그룹의 각 서브-어레이 SDA1-SDA4 의 제1 요소 ai 는 제3 상관 패밀리 CF3에 속한다;
- 제1 그룹의 각 서브-어레이 SDA1-SDA4 의 제2 요소 ai 는 제1 상관 패밀리 CF1에 속한다;
- 제2 그룹의 각 서브-어레이 SDA5-SDA8 의 제1 요소 ai 는 제4 상관 패밀리 CF4에 속한다; 그리고
- 제2 그룹의 각 서브-어레이 SDA5-SDA8 의 제2 요소 ai 는 제2 상관 패밀리 CF2에 속한다.
제1 그룹에 속한 일반적인 서브-어레이들 SDA1 - SDA4를 압축하기 위한 코드북 CBK1은 N7 개의 코드워드들 CWj를 포함하며, 이 경우에 각 코드워드 CWj는 제3 상관 패밀리 CF3에 속한 제1 요소, 그리고 제1 상관 패밀리 CF1에 속한 제2 요소를 가진다. 제2 그룹에 속한 일반적인 서브-어레이들 SDA5 - SDA8을 압축하기 위한 코드북 CBK2는 N8 개의 코드워드들 CWj를 포함하며, 이 경우에 각 코드워드 CWj는 제4 상관 패밀리 CF4에 속한 제1 요소들, 그리고 제2 상관 패밀리 CF2에 속한 제2 요소들을 가진다.
그러므로, N7 + N8 개의 상이한 개수의 코드워드들 CWj을 가진 경우에, 모든 코드워드들을 식별하기 위해서 필요한 비트들의 최소 개수는 4*(log2 N7)+ 4*(log2 N8)와 동일하다.
당연히, 본 발명의 개념들은 상이한 개수의 서브-어레이들로 세분하고 그리고/또는 상이한 개수의 코드북들을 구비한 경우에도 또한 적용할 수 있다. 더욱이, 본 발명의 설명이 히스토그램 당 여덟 개의 빈들을 구비한 4x4 셀들을 포함하는 그리드 상에서 계산된 SIF 기술자를 압축하는 것을 언급한다고 하더라도, 다른 유형의 기술자들이 고려되는 것은 물론이며, 히스토그램 당 셀들의 개수 그리고/또는 빈들의 개수가 상이하다면 유사한 고려들이 적용된다.
동일한 압축 왜곡을 가진, 알려진 솔류션들과 비교하면, 기술자 어레이 DA를 서브-어레이들 SDAk 내에 세분하고 그리고 하나 이상의 서브-어레이들 SDAk를 위해서 동일한 코드북 CBKy를 채택하는 것을 결합한 것은 기술자 어레이 DA를 압축하기 위해서 사용된 코드북(들) CBKy를 저장하기 위해서 필요한 메모리 공간을 철저하게 줄어들게 하는 것을 가능하게 한다. 이것은 아주 유리한 것이며, 상기에서 언급된 것처럼, 아미지 분석 애플리케이션들을 위해서 채택된 하드웨어 (예를 들면, 그래픽 프로세싱 유닛들, GPU)는 그렇게 큰 용량의 메모리들을 장착하지 않을 수 있기 때문이다. 기술자 어레이 DA를 서브-어레이들 SDAk 내에 세분하고 그리고 하나 이상의 서브-어레이들 SDAk를 위해서 동일한 코드북 CBKy를 채택하는 것을 결합한 사용에 의해서 주어진 다른 유리함은 코드북(들) CBKy의 생성을 위한 트레이닝 절차가 더욱 빠른 결과를 가져온다는 것이다.
각 수신한 기술자 D 상에서의 추출 절차 (100)의 단계 140에서 수행된 압축 연산들 (도 1 참조)은 대응하는 압축된 기술자 어레이 CDA를 결과로서 생성하며, 이것은 각 기술자 어레이 DA에 의해서 취해진 값을 근사화한다. 더 상세하게는, 상기 기술자 어레이 DA를 압축하기 위해서 사용된 각 코드북 CBKy에 대해서, 그런 코드북 CBKy의 각 코드워드 CWj는 대응하는 압축 인덱스 Cy에 의해서 식별된다; 코드북 CBKy가 N개의 상이한 코드워드들 CWj 에 의해서 형상된다면, 압축 인덱스 Cy는 적어도 log2 N 개 비트들에 의해서 형성된다. 서브-어레이들 SDAk의 세트로 세분된 기술자 어레이 DA에 대해서, 대응하는 압축된 기술자 어레이 DA는 상기 세트의 각 서브-어레이 SDAk에 대한 압축 인덱스 Cy를 포함하며, 이 경우에 각 압축 인덱스 Cy는 상기 서브-어레이 SDAk를 근사화하기 위해서 사용된 코드북 CBKy의 코드워드 CWj 를 식별한다.
좌표들 압축 (단계 150)
본 발명의 실시예들에 따르면, 이미지 분석 연산들을 수행하기 위해서 관리될 (예를 들면, 기억될 그리고/또는 전송될) 데이터의 양은 상기 추출 절차 (100)의 단계 130 (도 1 참조)에서 계산된 최적의 서브세트 SUB에 속한 상기 키포인트들 KP의 좌표들 C를 압축함으로써 더 줄어든다.
도 7a는 질의 이미지 (115)에 대응하는 2차원 공간 내 최적의 서브세트 SUB의 키포인트들 KP의 예시적인 분포를 도시한다; 각 키포인트 KP는 쿼리 이미지 (115) 내의 그런 키포인트 KP의 위치를 식별하는 공간 좌표들 C의 대응 쌍과 연관된다.
우선, 상기 서브세트 SUB의 모든 키포인트 KP의 좌표들 C가 양자화된다. 이 목적을 위해서, n x m 그리드가 상기 쿼리 이미지 (115) 위에 중첩된다. 도 7b에 도시된 예에서, 상기 그리드는 n = 10 개의 로우들 그리고 m = 15의 컬럼들을 가진다.
그러면 (상기 히스토그램의 빈에 대응하는) 상기 그리드의 각 셀에 대해서 그 내부에 있는 키포인트들 KP의 개수를 카운트함으로써 2차원 히스토그램이 생성된다. 도 7c는 도 7a의 키포인트들 KP의 세트 위에 도 7b의 그리드를 중첩시켜서 얻어진 히스토그램의 예시적인 그래픽 도시이다. 도 7c의 그래픽 도시에서, 키포인트들 KP가 없는 셀들은 검정 색상이며, 적어도 키포인트 KP를 포함하는 셀들은 회색 색상이다. 문제의 예에서 (이 경우에 가장 많은 개수의 키포인트들을 포함하는 셀들은 두 개의 키포인트들을 포함한다), 단일의 키포인트 KP를 포함하는 셀들은 짙은 회색 색상이며, 반면에 두 개의 키포인트들 KP을 포함하는 셀들은 밝은 회색의 색상이다.
키포인트를 카운트한 것으로부터 얻어진 히스토그램은 빈도가 0과 동일한, 즉, 어떤 키포인트 KP도 포함하지 않는 대응 셀 (도 7c에서 도시된 검정 셀들)을 가지는 빈들을 많이 구비한다.
상기 히스토그램을 나타내는 데이터는 제로 (zero) 빈도의 빈들에 대응하는 히스토그램의 부분들은 자신의 대응 셀이 어떤 키포인트도 포함하지 않는다는 정보를 제공할 뿐이라는 것을 고려하면서 유리하게도 압축될 수 있을 것이다.
이 목적을 위해서, 어떤 키포인트들 KP도 포함하지 않는 셀들에 의해서 전체적으로 형성된 그리드의 로우들 및 컬럼들은 유리하게도 제거될 수 있다. 그러나, 그런 로우들 및/또는 컬럼들을 제거하는 것은 상기 키포인트들 KP의 절대적인 위치 그리고 상대적인 위치를 변경할 것이기 때문에, 키포인트들 KP가 없는 모든 로우들 및 컬럼들의 위치들의 로케이션의 표시 (제거될 로우들 및/또는 컬럼들에 대응하는 위치들을 포함한다)는 기록되어야만 한다.
이 목적을 위해서, 두 개의 어레이들 r 및 c 가 다음의 방식으로 정의된다:
- 상기 어레이 r은 상기 그리드의 각 로우를 위한 요소를 포함하는 어레이이며, 이 경우에 상기 어레이의 일반적인 요소는 상기 그리드의 대응 셀이 어떤 키포인트 KP도 포함하지 않는다면 제1 값 (예를 들면, 0)으로 세팅되며, 상기 그리드의 대응 셀이 적어도 키포인트 KP를 포함한다면 제2 값 (예를 들면, 1)으로 세팅되며, 그리고
- 상기 어레이 c는 상기 그리드의 각 컬럼을 위한 요소를 포함하는 어레이이며, 이 경우에 상기 어레이의 일반적인 요소는 상기 그리드의 대응 셀이 어떤 키포인트 KP도 포함하지 않는다면 제1 값 (예를 들면, 0)으로 세팅되며, 상기 그리드의 대응 셀이 적어도 키포인트 KP를 포함한다면 제2 값 (예를 들면, 1)으로 세팅된다.
일단 어레이들 r 및 c가 생성되면, 다음의 단계는 어떤 키포인트들 KP도 포함하지 않는 셀들에 의해서 전체적으로 형성된 로우들 및/또는 컬럼들이 식별되는 신원확인을 제공한다. 문제의 예를 참조하면, 그런 로우들 및 컬럼들은 도 7d에서 검정으로 도시된다.
어떤 키포인트들 KP도 포함하지 않는 셀들에 의해서 전체적으로 형성된 상기 그리드의 상기 로우들 및/또는 컬럼들은 그러면 제거되며, 그리고 그 결과인 상기 그리드의 일부들은 상기 제거에 의해서 남겨진 빈 공간들을 채우기 위해서 컴팩트하게 된다. 그래서, 랭크-1 지원 (rank-1 support)으로 언급되는, 상기의 결과인 (컴팩트하게 된) 그리드에서, 모든 로우들 그리고 모든 컬럼들은 적어도 하나의 키포인트 KP를 포함하는 적어도 하나의 셀을 포함한다. 문제의 예에 대응하는 랭크-1 지원 위의 히스토그램이 도 7e에 도시된다.
그런 히스토그램으로부터, 두 개의 상이한 조각의 정보가 추출될 수 있으며, 즉:
1) 적어도 하나의 키포인트 KP를 포함하는 랭크-1 지원의 셀들의 위치들, 그리고
2) 포인트 1)에서 식별된 랭크-1 지원의 각 셀에 대해서, 키포인트들 KP의 개수가 그 셀 내에 포함된다.
유리하게도, S. Tsai, D. Chen, G. Takacs, V. Chandrasekhar, J. P. Singh, and B. Girod in "Location coding for mobile image retrieval", Proc. Int. Mobile Multimedia Conference (MobiMedia), 2009에 의해서 제안된 것처럼, 포인트 1)에 대응하는 정보는 소위 말하는 "히스토그램 지도"를 활용하여 추출될 수 있을 것이며, 반면에 포인트 2)에 대응하는 정보는 소위 "히스토그램 카운트"에 배치될 수 있을 것이다.
히스토그램 지도는 랭크-1 지원을 통해서 상기 히스토그램을 2차원 매핑한 것이며, 1과 동일한 또는 더 높은 빈도를 가진 빈들을 식별하게 한다. 도 7e의 랭크-1 지원을 통한 상기 히스토그램에 대응하는 상기 히스토그램 지도는 도 7f에 도시된다.
상기 히스토그램 지도는 대응하는 매트릭스를 이용하여 표현될 수 있으며, 그 매트릭스의 일반적인 요소는 랭크-1 지원의 대응 셀이 어떤 키포인트 KP도 포함하지 않는다면 0과 동일하며, 그리고 랭크-1 지원의 대응 셀이 적어도 하나의 키포인트 KP를 포함한다면 1과 동일하다. 상기 히스토그램 지도의 매트릭스는 다음의 매트릭스이다:
Figure pct00001
본 발명의 실시예에 따르면, 히스토그램 지도에 의해서 제공된 정보는 많은 개수의 트레이닝 이미지들을 분석한 것으로부터 학습된 예시적인 랭크-1 지원 히스토그램들의 통계적인 행동을 기반으로 하여 최적화된 엔트로픽 (entropic) 코딩을 이용하여 유리하게 압축될 수 있다.
그런 분석으로부터, 일반적인 이미지 내에서 키포인트들 KP의 로케이션들은 상기 히스토그램 지도의 매트릭스 내에서 "1"의 공통적인 통계적 분포를 수반한다는 것이 발견되었다.
엔트로픽 코딩은 다음의 방식으로 수행된다.
히스토그램의 매트릭스가 스캔되어 (예를 들면, 컬럼 단위로), 그것을 각각이 동일한 길이 z를 가지는 복수의 워드들로 세분한다. 트레이닝 이미지 상에서 수행된 통계적 분석을 기반으로 하여, 워드 히스토그램이 생성되며, 이것은 각각의 가능한 값에 대해서 일반적인 워드의 x-튜플이 취할 수 있는 빈을, 상기 워드의 x-튜플이 그런 빈과 연관된 값을 취하는 확률을 표시하는 각 빈의 빈도와 함께 포함한다. 간략하게, 그런 통계적 분석은 상기 히스토그램 지도의 매트릭스의 요소들이 서로에게 독립적이라는 가정을 함으로써 수행된다. 아주 많은 개수의 트레이닝 이미지들을 분석함으로써, 모두 n개의 "0"이 있는 매트릭스에서 "1"이 발생할 확률이 얼마인가를 식별할 수 있으며; 그러면, 그런 확률을 기반으로 하여 워드 히스토그램이 생성된다.
도 8a는 워드들의 길이가 6과 동일하며, 그리고 각 빈이 대응하는 x-튜플 값의 십진수 값에 의해서 식별되는 워드 히스토그램의 예를 도시한다. 예상되는 것처럼, 가장 높은 빈도는 x-튜플 (0,0,0,0,0,0)에 대응하며, 이는 랭크-1 지원의 일반적 셀은 어떤 키포인트 KP도 포함하지 않는다는 것이 아주 높은 확률을 가지기 때문이다. 다음으로 가장 높은 확률은 셀 당 단일의 키포인트 KP (x-튜플 (1,0,0,0,0,0), (0,1,0,0,0,0), (0,0,1,0,0,0), (0,0,0,1,0,0), (0,0,0,0,1,0), (0,0,0,0,0,1))에 대응하는 것, 그 후에 셀 당 두 개의 키포인트들 KP가 대응하는 것 등등이다.
상기 단어들은 상기 워드 히스토그램에서 대응 빈의 확률에 종속하는 개수의 비트들을 가지는 코딩된 bci (i= 1, 2, …)를 각 워드에 대해서 사용함으로써 엔트로픽 코딩 기법 (예를 들면, 허프만 (Huffman) 기법 또는 산술 (Arithmetic) 코딩 기법)으로 인코딩된다. 워드의 확률이 더 높을수록, 그런 워드를 인코딩하기 위해서 사용된 코딩된 워드 bci의 비트들의 개수는 더 작아진다.
랭크-1 지원을 통해서 히스토그램으로부터 추출될 수 있는 다른 정보는 적어도 하나의 키포인트 KP를 포함하는 히스토그램 지도의 각 셀 내에 포함된 키포인트들의 개수와 관련된다. 그런 정보는 대응하는 히스토그램 내에 배치되며, 히스토그램 카운트로 언급된다. 상기 히스토그램 카운트의 각 빈은 적어도 하나의 키포인트 KP를 포함하는 랭크-1 지원의 셀들 중에서 대응하는 하나의 셀에 대응한다. 상기 히스토그램 카운트는 상기 대응 셀 내에 포함된 키포인트들 KP의 개수를 각 빈에 대해서 목록에 올린다. 문제의 예의 히스토그램 지도는 도 8b에 도시되며, 여기에서 11개 셀들이 단일의 키포인트 KP를 각각 포함하며 그리고 두 개의 셀들은 두 개의 키포인트들을 각각 포함한다. 도 8b의 히스토그램 지도의 빈들은 랭크-1 지원의 컬럼-방향의 스캔을 따르는 순서이다.
상기 히스토그램 카운트에 의해서 제공된 키포인트 카운팅 정보는, 히스토그램 카운트 빈들의 각 세트 중 어느 빈(들)이 특정 값보다 큰 또는 동일한 키포인트들 KP의 개수에 대응하는가를 표시하는 세트의 각 코딩된 워드 wj 와 함께, 상이한 길이들의 코딩된 워드들 wj (j = 1, 2, …)로 인코딩된다.
더 상세하게는, 각 빈 내에서 카운트된 키포인트들 KP의 가장 많은 개수가 Nmax와 동일하다면, 코딩된 wj의 그런 세트는 Nmax - 2와 동일한 개수의 코딩된 워드들 wj을 포함한다. 각 코딩된 워드 wj를 생성하는 것은 Nmax - 2 개 절차 단계들의 세트 중에서 대응하는 하나를 수행하는 것에 의해서 실행된다. 본 발명의 실시예에 따라서, 그런 절차 단계들은 아래에서 설명된다.
단계 1 - 제1의 코딩된 워드 w1은 상기 히스토그램의 각 빈에 대한 요소를 포함하도록 세팅된다. 그러므로, 상기 제1의 코딩된 워드 w1은 상기 히스토그램 빈의 빈들의 개수와 동일한 개수의 요소들을 포함한다. 상기 히스토그램 카운트의 대응 빈이 1보다 더 큰 키포인트들 KP의 개수에 대응한다면 상기 제1의 코딩된 워드 w1의 각 요소는 제1 값 (예를 들면, "1")으로 세팅되며, 대응하지 않는다면, 제2 값 (예를 들면, "0")으로 세팅된다. Nmax가 2보다 더 크면, 제2의 코딩된 워드 w2를 생성하기 위한 두 번째 단계가 수행되며, 2보다 더 크지 않다면, 프로세스는 종결된다. 후자의 경우에, 상기 히스토그램 카운트에 의해서 제공된 모든 정보는 상기 제1의 코딩된 워드 w1만으로 코딩되는 결과가 된다.
단계 j (j > 1) - j-번째 코딩된 워드 wj가 생성된다. 상기 j-번째 코딩된 워드 wj는 j 개 키포인트들 KP보다 더 많이 포함하는 히스토그램 지도의 각 빈에 대한 요소를 포함하도록 세팅된다. 그러므로, 상기 j-번째 코딩된 워드 wj 는 j-1번째 코딩된 워드 w(j-1)와 같거나 또는 더 작은 개수의 요소들을 포함한다. 상기 j-번째 코딩된 워드 wj의 각 요소는 상기 히스토그램 카운트의 대응 빈이 j보다 더 많은 개수의 키포인트들 KP에 대응한다면 제1 값으로 세팅되며, 그렇지 않다면 제2 값으로 세팅된다. Nmax가 j+1보다 더 크다면, (j+1)-번째 코딩된 워드 w(j+1)을 생성하기 위해서 (j+1)-번째 단계가 수행되며, 그렇지 않다면 상기 프로세스는 종결한다. 후자의 경우에, 상기 히스토그램에 의해서 제공된 전체 정보는 코딩된 워드들 w1 - wj로 코딩된다.
상기 추출 절차 (100) (도 1 참조)의 단계 150에서 수행된 압축 연산들은 상기 서브세트 SUB에 속한 키포인트들 KP의 좌표들 C에 대해서 압축된 좌표 세트 CC를 얻는 것을 가능하게 하며, 이 좌표 세트는 다음을 포함한다:
- 상기 어레이 r 및 상기 어레이 c;
- 코딩된 워드들 bci, 그리고
- 코등된 워드들 wj.
압축된 좌표 세트 CC를 관리 (기억하고 그리고/또는 전송)하기 위해서 필요한 데이터의 양은 (압축되지 않은) 좌표들 C의 세트를 관리하기 위해서 필요한 데이터의 양보다 현저하게 더 작다.
매칭 절차 (MATCHING PROCEDURE) (도 9)
도 9는 본 발명의 실시예에 따른 이미지 분석 절차를 기능적인 블록들의 면에서 도시한 것이며, 이 절차는 이하에서는 "매칭 절차"로 언급되며 그리고 참조번호 900으로 식별되며, 두 개의 이미지들 I1, I2 사이에서의 비교를, 키포인트들의 각 최적의 서브세트 그리고 도 1의 추출 절차 (100)를 이용하여 생성된 대응하는 압축된 기술자들 및 좌표들을 각 이미지에 대해서 활용함으로써 수행하는 것에 관한 것이다.
매칭 절차 (900)의 단계들은 적절한 프로세싱 유닛들에 의해서 수행될 수 있을 것이다; 예를 들면, 각 프로세싱 유닛은 상기 절차의 하나 또는 그 이상의 단계들을 수행하기 위해서 특별하게 설계된 하드웨어 유닛일 수 있다. 이미지 I1을 이미지 I2와 비교하기 위해서 이미지 비교 서비스 (서버 측)를 활용할 것을 원하는 사용자 (클라이언트 측)를 위해서 가능한 시나리오가 제공될 수 있을 것이다. 이 경우에, 상기 이미지들 I1 및 I2는 키포인트의 최적의 서브세트 그리고 대응하는 압축된 기술자들 및 좌표들을 생성하기 위해서 도 1의 추출 절차 (100)에 따라서 클라이언트에서 프로세싱될 수 있을 것이다; 그러면, 키포인트들의 최적 서브세트 그리고 대응하는 압축된 기술자들 및 좌표들은 서버로 송신되며, 서버는 수신된 데이터를 활용하여 매칭 절차 (900)를 수행하고 그리고 그 결과들을 클라이언트로 제공한다. 이 경우에, 상기 추출 절차 (100)는 예를 들면, 클라이언트에 위치한 프로세싱 유닛들에 의해서, 사용자의 스마트폰를 통해서 수행될 수 있을 것이며, 매칭 절차 (900)는 이미지 비교 서비스들을 제공하도록 적응된 하나 또는 그 이상의 서버 유닛들을 통해, 서버에 위치한 프로세싱 유닛들에 의해서 수행될 수 있을 것이다. 다른 가능한 시나리오는 상기 매칭 절차 (900)가 클라이언트에서 직접 수행되는 것을 대신 제공할 수 있을 것이다. 혼합된 시나리오들 또한 예상되며, 그 경우에 매칭 절차 (900)는 상기 서버가 송신한 압축된 기술자들 및 좌표들을 이용하여 클라이언트에서 수행된다.
이미지 I1의 압축된 좌표들은 레퍼런스 CC1으로 식별되며, 반면에 이미지 I1의 압축된 기술자들은 레퍼런스 CDA1으로 식별된다. 유사하게, 이미지 I2의 압축된 좌표들은 레퍼런스 CC2로 식별되며, 반면에 이미지 I2의 압축된 기술자들은 레퍼런스 CDA2로 식별된다.
제1 이미지 I1의 압축된 기술자들 CDA1은 대응하는 (압축 해제된) 기술자들 D1을 인출하기 위해서 압축 해제된다 (단계 902). 유사하게, 제2 이미지 I2의 압축된 기술자들 CDA2는 대응하는 (압축 해제된) 기술자들 D2를 인출하기 위해서 압축 해제된다 (단계 904). 기술자들을 압축 해제하는 것은 추출 절차 (100)의 단계 140에서 수행된 압축 연산들의 역전된 버전들에 의해서 수행될 수 있을 것이다. SIFT 유형의 기술자들을 참조하면, 단계 902 및 단계 904 이후에, 기술자들 D1 및 D2는 128개 서브-요소들 se(h)에 의해서 형성된 대응하는 기술자 어레이들에 의해서 표현된다.
단계 906에서, 제1 이미지 I1의 기술자들 D1 그리고 제2 이미지 I2의 기술자들 D2 사이의 매치들은, 예를 들면, 유클리드 거리 비율 테스트와 같이 본 발명이 속한 기술 분야에서 알려진 특징 매칭 알고리즘들 중 어느 하나를 활용하여 형성된다.
그러면, 단계 908에서, 단계 906에서 형성된 것들 사이에서 어느 매치들이 옳은 것인가 (인라이어들) 그리고 어느 매치들이 옳지 않은 것인가 (아웃라이어들)를 확인하기 위해서 기하학적인 검증 연산들이 수행된다. 본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자들에게 알려진 것처럼, 이 유형의 연산들은 상기 기술자들에 추가로 각 키포인트의 좌표들을 필요로 하며, 이 키포인트의 대응 기술자는 다른 하나의 키포인트의 기술자와 매치되었던 것이다. 이 목적을 위해서, 이미지 I1의 압축된 좌표들 CC1 그리고 이미지 I2의 압축된 좌표들 CC2는, 예를 들면, 추출 절차 (100)의 단계 150에서 수행된 압축 연산들의 역 버전들에 의해서 마찬가지로 압축 해제되어야만 한다. 상기 압축된 좌표들 CC1을 압축 해제하기 위한 전용의 단계는 도 9에서 참조번호 910으로 식별되며, 반면에 상기 압축된 좌표들 CC2를 압축 해제하기 위한 전용의 단계는 도 9에서 참조번호 912로 식별된다. 일단 인라이어들이 식별되면, 상기 기하학적인 검증은 이미지 I1 그리고 이미지 I2 사이의 매치의 정도를 표시하는 파라미터 DOM을 결과로서 제공할 수 있을 것이다. 예를들면, 그런 파라미터 DOM이 미리 정해진 문턱값보다 더 높으면, 상기 이미지들 I1 및 I2는 동일한 오브젝트(들)/씬(들)을 도시한 것으로 여겨진다.
추가로, 상기 두 이미지들 I1 및 I2 내에서 그런 동일한 오브젝트(들)/씬(들)의 위치(들) L을 인출하기 위해서 로컬화 연산들 (단계 914)이 더 수행될 수 있을 것이다.
이전에 언급된 클라이언트-서버 이미지 비교 시나리오를 참조하면, 매칭 절차 (900)는 축소된 개수의 키포인트들 (상기 추출 절차 (100)에 의해서 생성된 서브세트 SUB에 속한 것들만)을 이용하여 동작하도록 구성되기 때문에, 그리고 그런 축소된 개수의 키포인트들의 기술자들 및 좌표들이 압축된 방식으로 수신되기 때문에, 상기 제안된 솔루션을 이용하면 클라이언트로부터 서버로 송신되어야 할 데이터의 전체 양이 종래의 솔루션들이 비해서 철저하게 줄어든다.
인출 절차 (도 10)
도 10은 본 발명의 실시예에 따른 이미지 분석 절차를 기능적인 블록들의 면에서 도시하며, 이하에서 이 절차는 "인출 절차 (retrieval procedure)"로 언급되며 참조번호 1000으로 식별되며, 상기 쿼리 이미지 내에서 도시된 동일한 오브젝트/씬을 도시한 모델 이미지(들)를 인출하기 위해서, 인식될 오브젝트/씬을 도시한 - 도 1의 쿼리 이미지 (115)와 같은 - 쿼리 이미지는 모델 데이터베이스에 저장된 복수의 모델 이미지들과 비교되며, 이 복수의 이미지들 각각은 개별적으로 알려진 오브젝트/씬을 도시한 것이다.
도 9의 매칭 절차 (900)와 유사하게, 인출 절차 (1000)의 단계들은 적절한 프로세싱 유닛들에 의해서 수행될 수 있을 것이다; 예를 들면, 각 프로세싱 유닛은 상기 절차의 하나 또는 그 이상의 단계들을 수행하기 위해서 특별하게 설명된 하드웨어 유닛일 수 있다. 쿼리 이미지 (115) 내에 도시된 오브젝트/씬을 자동적으로 인식하기 위해서 이미지 인식 서비스 (서버 측)를 활용할 것을 원하는 사용자 (클라이언트 측)를 위해서 전형적인 시나리오가 제공될 수 있을 것이다. 이 경우에, 상기 질의 이미지 (115)는 키포인트들의 최적의 서브세트 SUB 그리고 대응하는 압축된 기술자들 CDA 및 좌표들 CC의 생성을 위해서 도 1의 추출 절차 (100)에 따라서 클라이언트에서 프로세싱될 수 있을 것이다; 그러면, 키포인트들의 최적의 서브세트 그리고 대응하는 압축된 기술자들 및 좌표들은 서버로 송신되며, 그 서버는 상기 수신된 데이터를 활용하여 인출 절차 (1000)를 수행하고 그리고 그 결과들을 클라이언트에게 제공한다. 상기 질의 이미지 (115) 내에서 도시된 오브젝트/씬으 인식을 위해서 사용될 복수의 모델 이미지들은 모델 데이터베이스 (1002)에 저장되며, 이것은 서버 측에 위치한다.
상기 압축된 기술자들 CDA는 대응하는 (압축 해제된) 기술자들 DD를 인출하기 위해서 압축 해제된다 (단계 1004). 기술자들을 압축 해제하는 것은 상기 추출 절차 (100)의 단계 140에서 수행된 압축 연산들의 역전된 버전들에 의해서 수행될 수 있을 것이다. 다시, SIFT 유형의 기술자들에게 모델을 만들어주고, 단계 1004 이후에 상기 기술자들 DD는 128개 서브-요소들 se(h)에 의해서 형성된 대응하는 기술자 어레이들에 의해서 표현된다.
표준의 오브젝트 인식 절차는 질의 이미지 그리고 아주 많은 개수의 모델 이미지들 (예를 들면, 모델 데이터베이스 (1002)에 포함된 모델 이미지들은 수백만 개일 수 있다) 사이의 비교 연산들을 실행할 것을 필요로 하는 것이 보통이기 때문에, 그런 절차는 시간 그리고 메모리 둘 모두를 소비하는 것이다. 이 목적을 위해서, 알려진 솔루션은 그런 비교 연산들을 수행하기 위해서 두 개의 별개의 단계들을 제공한다. 질의 이미지의 기술자들을 모든 모델 이미지들의 기술자들과 직접적으로 비교하는 것 대신에, 상기 질의 이미지로부터 추출된 시각적인 단어들 그리고 상기 모델 이미지들로부터 추출된 시각적인 단어들 중의 시각적인 단어들에 의해서 빠르고, 대략적인 비교가 예비적으로 실행된다; 그러면, 기술자들을 (세밀하게) 비교하는 것이, 질의 이미지의 기술자들 그리고 상기 예비의 비교를 기반으로 하여 선택된 모델 이미지들의 축소된 세트의 기술자들 사이에서만 수행된다. 시각적인 워드는 기술자에 대해 벡터 양자화를 수행함으로써 얻어진 어레이이다; 다른 말로 하면, 각 시각적인 워드는 시각적인 코드북의 코드워드이다. 시각적인 워드들을 생성하는 것은 상기 질의 이미지의 각 기술자 그리고 상기 모델 이미지들의 각 기술자에 대해서 실행된다. 예를 들면, 상기 예비적인 비교는 상기 질의 이미지 그리고 각 모델 이미지 사이에서 공통인 시각적인 워드들의 개수를 카운트함으로써 수행된다. 그러면, 각 모델 이미지에 대해서, 공통인 시각적인 워드들의 개수 카운트들을 기반으로 하여 유사 랭크 (similitude rank)가 계산된다. 대안의 방법들을 이용하여 상기 시각적인 워드들을 비교함으로써 상기 유사 링크가 생성되었다면 유사한 고려들이 적용된다. 이 방식에서, 기술자들 사이에서의 세밀한 비교는 상기 질의 이미지 그리고 가장 높은 유사 랭크들 (즉, 상기 질의 이미지와 공통인 시각적인 워드들 중 가장 높은 개수들을 가지는 것들)을 가진 모델 이미지들 사이에서만 유리하게 수행될 수 있을 것이다. 이런 접근 방식은 텍스트 분석 분야로부터 유도되며, "특징들의 백 (Bag of Features (BoF))에 의한 랭킹"으로도 알려져 있다.
도 10을 다시 참조하면, BoF에 의해 상기 랭킹을 수행할 것을 허용하기 위해서, 상기 질의 이미지의 각 기술자에 대한 시각적 워드들 VD 그리고 각 모델 이미지의 각 기술자에 대한 시각적 워드들 VDR이 생성되어야만 한다.
시각적인 워드들 사이에서의 비교를 허용하기 위해서, 상기 시각적 워드들 VD 그리고 상기 시각적 워드들 VDR은 동일한 코드북을 이용하여 생성되어야만 한다는 것이 지적된다.
질의 절차 (1000)가 수행될 때마다 매번 질의 이미지 (115)의 시각적 워드들 VD가 생성되어야만 하지만 (단계 1006), 연산 시간들을 철저하게 줄이기 위해서, 상기 모델 이미지들의 시각적 워드들 VDR을 생성하는 것은 유리하게도 단 한번만 수행될 수 있을 것이며, 그리고 그 결과인 복수의 시각적 워드들 VDR은 상기 모델 데이터베이스 (1002)에 직접 저장될 수 있다; 대안으로, 상기 시각적인 워드들 VDR은 주기적으로 업데이트될 수 있을 것이다.
상기 질의 이미지의 각 기술자 DD를 위해서 대응하는 시각적 워드 VD가 생성되면, 단계 1008에서 BoF 절차에 의해서 랭크를 정하는 것이 수행된다. 이 방식에서, 각 모델 이미지에 대해서, 상기 질의 이미지의 시각적 워드들 VD이기도 한 그런 모델 이미지의 시각적 워드들 VDR의 개수를 카운트함으로써 랭크 인덱스가 계산된다. 그런 카운팅은 역전된 인덱스 (Invertedindex)로도 알려진 BoF 구현에 의해서 알려진 랭킹을 이용하여 수행될 수 있을 것이다. 그러나, 상기한 구현들이 적용된 경우에 유사한 고려들이 적용된다. 모든 랭크 인덱스들이 일단 계산되면, 데이터베이스의 모델 이미지들의 랭크 인덱스가 감소하는 순서에 따라서 소팅된 목록이 생성된다. 그러면, 가장 높은 랭크 인덱스 값들을 가진 모델 이미지들의 세트 SR이 이어지는 (세밀한) 비교 연산들을 겪게 되도록 선택된다.
본 발명의 실시예에 따라서 각 이미지의 기술자들의 개수는 유리하게도 감소되었기 때문에, 관련된 것으로 간주된 (도 1의 추출 절차 (100)의 단계 130 참조) 키포인트들의 최적 서브세트 SUB만에 대응하며, 워킹 메모리에 (즉, 서버 측에 위치한 RAM 뱅크들에) 로딩되어야 하는 BoF 절차 (단계 1008)에 의해서 랭크를 정하는 것을 수행하기 위해서 필요한 데이터의 양은 매우 줄어들어, 상기 프로세스의 속도를 과감하게 향상시킨다는 것이 지적된다. 더욱이, 관련된 것으로 여겨진 키포인트들의 기술자들만을 고려함으로써 상기 비교들이 수행되기 때문에, 그 비교의 정밀도는 증가되며, 이는 잡음이 감소되기 때문이다. 속도 및 정밀도를 더 향상시키기 위해서, 축소된 개수의 기술자들을 포함하는 최적의 서브세트가 상기 모델 데이터베이스 (1002)에 포함된 각 모델 이미지를 위해서 또한 생성된다.
상기 최적의 서브세트 SUB를 형성하는 키포인트들의 개수가 BoF에 의한 랭크 결정의 성과에 크게 영향을 미친다는 것이 발견되었다. 실제로, 동일한 개수의 고련된 이미지들을 갖춘 경우에, 쿼리 이미지 (115) 내에 도시된 오브젝트/씬이, 모델 이미지들의 선택된 세트 SR에 속한 모델 이미지들 중 적어도 하나에도 또한 도시되는가의 확률은 상기 최적의 서브세트 SUB의 키포인트들의 개수가 감소하면 증가한다. 그러나, 최적 서브세트 SUB의 키포인트들의 그런 개수가 더 낮은 문턱값 아래에 있다면, 상기 절차의 성능들은 감소한다. 이것은, 각 이미지를 만족스럽게 표현하기에는 상기 서브세트 SUB에 포함된 키포인트들의 개수가 너무 작아지기 때문이다.
이 지점에서, 상기 쿼리 이미지 (115) 그리고 모델 이미지의 세트 SR 사이에서 두 번째의, 세밀한 비교가 수행된다 (단계 1010). 이미 알려진 특징 매칭 절차들 중 하나가 쿼리 이미지 (115)의 기술자들 DD를 상기 세트 SR의 모델 이미지의 기술자들과 매치하기 위해서 (서브-단계 1012), 예를 들면, 상기 기술자들 사이의 유클리드 길이들을 계산함으로써 매치하기 위해서 채택될 수 있을 것이며, 그러면 어느 매칭들이 인라이어들이고 그리고 어느 매칭들이 아웃라이어들인가를 확인하기 위해서 기하학적인 검증이 수행된다 (서브-단게 1014). 이 방식에서, 그것이 존재한다면, 쿼리 이미지 (115)에서도 또한 도시된 오브젝트/씬을 도시한 상기 세트 SR의 모델 이미지 RI는 상기 단계 끝에서 인출된다.
본 발명의 실시예에 따라서, 상기 쿼리 이미지 (115)의 기술자들 DD 상에서 그리고 상기 세트 SR의 모델 이미지들의 기술자들 상에서 특징 매칭 연산들을 직접 수행하는 것 대신에, 상기 특징 매칭 연산들은 대응하는 기술자 어레이들을 서브 어레이들로 세분하고 그리고 벡터 양자화를 기반으로 하여 코드북에 의해서 각 서브-어레이를 압축함으로써 얻어진 압축된 버전들 상에서 수행된다. 이 목적을 위해서, 예를 들면, 대응하는 기술자 어레이들을 네 개의 서브-어레이들로 세분하고 그리고 상기 네 개의 서브-어레이들 중 하나하나를 각각의 코드북으로 압축함으로써 상기 쿼리 이미지 (115)의 기술자들 DD는 단계 1016에서 압축된다. 시각적인 워드들을 생성하는 것과 유사하게, 상기 모델 데이터베이스 (1002)는 대응하는 미리-계산된 압축된 버전을 각 모델 이미지에 대해서 저장하며, 상기 미리-계산된 압축된 버전은 상기 쿼리 이미지 (115)의 기술자들 DD를 압축하기 위해서 사용된 것과 동일한 코드북들을 이용하여 압축된 것이다. 이 실시예에 따르면, 특징 매칭 (서브-단계 1012)은 매우 빠르고 효율적인 방식으로 수행될 수 있다. 실제로, 상기 특징 매칭이 압축된 공간에서 수행되기 때문에 (상기 질의 이미지의 기술자 그리고 상기 모델 이미지들의 기술자들 모두가 압축된다), 그리고 고려될 기술자들의 개수가 (최적의 서브세트의 키포인트들에만 대응하여) 줄어들기 때문에, 상기 모델 데이터베이스의 모델 이미지들을 표현하는 데이터를 또한 메인 메모리에 직접 로드하는 것이 가능하다. 더욱이, 상기 기술자 어레이들을 압축하는 것이 기술자 어레이들을 서브-어레이들로 세분함으로써 수행되었으며, 그래서 대응하는 코드북들의 코드워드들의 개수를 강력하게 축소시키기 때문에, 각 코드북의 각 코드워드 사이의 모든 가능한 유클리드 거리들을 포함하는 목록이 미리 먼저-계산되고, 그리고 메인 메모리 내에 로드될 수 있을 것이며, 서브-단계 (1012)의 속도를 더 증가시킨다. 유클리드 거리들을 이용하지 않는 상이한 알고리즘을 활용하여 상기 특징 매칭이 수행된다면 유사한 고려들이 적용된다.
본 발명의 실시예에 따라, 도 1의 추출 절차 (100)의 단계 140에서 사용된 것과 유사한 접근 방식을 이용하며, 동일한 코드북을 이용해서 각 기술자의 서브-어레이들을 압축함으로써 서브-단계 (1012)가 더 향상될 수 있을 것이다.
기하학적인 검증 (서브-단계 1014)에 있어서, 상기 기술자들에 추가로 상기 키포인트들 [이 키포인트들의 대응 기술자들이 다른 키포인트들의 기술자들과 매치되었음]의 좌표들을 필요로 하기 때문에, 상기 쿼리 이미지 (115)의 키포인트들의 압축된 좌표들 CC 역시 압축 해제되어야 한다 (단계 1018).
기술자들의 최적화된 압축 해제 (도 11)
도 11은 이하에서 "최적화된 압축 해제 절차"로 언급되며 참조번호 1100으로 식별된 절차를 기능적인 블록들의 면에서 도시한 것으로, 본 발명의 실시예에 따라서 압축된 기술자 어레이들을 압축 해제하는 것에 관한 것이다. 최적화된 압축 해제 절차 (1100)의 단계들은 적절한 프로세싱 유닛들에 의해서 수행될 수 있을 것이다; 예를 들면, 각 프로세싱 유닛은 상기 절차의 하나 또는 그 이상의 단계들을 수행하기 위해서 특별하게 설게된 하드웨어 유닛일 수 있다.
압축된 기술자 어레이 DA는 기술자 어레이 DA에 의해서 취해진 값을 근사화한다. 이전에 상세하게 설명된 것처럼, 서브-어레이들 SDAk로 세분되었던 기술자 어레이에 대해서, 대응하는 압축된 기술자 어레이 CDA는 상기 세트의 각 서브-어레이 SDAk를 위한 압축 인덱스 Cy를 포함하며, 이 경우에 각 압축 인덱스 Cy는 상기 서브-어레이 SDAk를 근사화하기 위해서 사용된 코드북 CBKy의 코드워드 CWj를 식별한다 (예를 들면, 도 4b 참조).
기술자 어레이 DA를 압축 해제하기 위해서, 압축된 기술자 어레이 CDA 내에 포함된 각 압축 인덱스 Cy에 대해서, 대응하는 코드워드 CWj 는 그런 압축 인덱스 Cy의 값을 기반으로 하여 - 서브-어레이 SDAk를 근사화하기 위해서 사용된 코드북 CBKy 내에서 - 식별된다; 그러면, 수신된 압축된 기술자 어레이 CDA에서 상기 압축 인덱스들 Cy의 순서를 따라서, 상기 식별된 코드워드들 CWj 는 결합되어 대응하는 제1의 압축 해제된 기술자 어레이 DA'를 형성한다 (블록 1110). 그런 제1의 압축 해제된 기술자 어레이 DA'는 상기 기술자 어레이 DA의 일반적인 근사 버전이며, 그것으로부터 상기 수신된 압축된 기술자 어레이 CDA가 생성되었다. 이미 본 발명 개시에서 언급된 것처럼, 상기 제1의 압축 해제된 기술자 어레이 DA' 그리고 상기 기술자 어레이 DA 사이의 차이 (즉, 왜곡)의 기본적인 이유들 중 하나는 벡터 양자화 절차의 피할 수 없는 손실의 속성이다.
본 출원인은 왜곡의 다른 원인은 전체 기술자 어레이 DA를 직접 양자화하는 것 대신에 기술자 어레이 DA의 각 서브-어레이 SDAk를 양자화하는 것으로부터 발생한다는 것을 발견했다. 실제로, 기술자 어레이 DA의 각 서브-어레이 SDAk에 별개의 벡터 양자화를 적용하는 것이 코드북들을 저장하기 위해서 사용된 메모리의 전체적인 양을 유리하게도 줄어들게 하는 것을 가능하게 한다고 해도, 각 서브-어레이 SDAk를 양자화하는 것들은 독립적으로 수행되며, 다음의 것들을 고려하지 않는다:
- 기술자 D에 대응하는 기술자 어레이 DA의 요소들 ai는 상기 기술자 D의 대응하는 서브-히스토그램들 shi와 연관된 서브-구역들의 위치들 사이의 공간적인 거리를 기반으로 하여 통계적인 상관 관계들을 통해서 서로에게 상관된다 (도 3a 참조). 도 3a 및 도 3b에 도시된 예에서, 기술자 D의 서브-히스토그램 sh4와 연관된 서브-구역이 서브-히스토그램들 sh3, sh7, sh8과 연관된 서브-구역들에 가깝기 때문에, 기술자 어레이 DA의 요소 a4는 a3, a7, a8과 소위 "통계적인 공간적 상관"을 가지며, 이는, 예를 들면, 요소 a9와의 상관보다 더 높은 상관이다.
- 기술자 어레이 DA의 상이한 요소들 ai, aj 의 쌍의 서브-요소들 se(h)는 서브-히스토그램들 shi, shj 의 대응하는 빈들의 방위들 사이의 각도 거리를 기반으로 하여 통계적인 관계들을 통해서 서로에게 상관된다. 각도 거리의 그런 개념을 더 잘 도시하기 위해서, 도 12를 참조하며, 도 12는 예시적인 기술자 D를 도시하며, 이 경우에 상기 기술자의 각 서브-히스토그램 shi는 여덟 개의 빈들을 포함하며, 각각의 하나의 빈은 우세 방위 O에 대해 각도 n*π/4 (n= 0, 1, …, 7)를 가지는 방위에 대응한다. 각 빈은 도 12에서 그래픽으로 도시되며, 자신의 대응 각도에 따른 방위인 각자의 화살표를 구비한다. 이 예에서, "64"로 라벨이 붙여진 서브-히스토그램 sh8의 빈에 대응하는 기술자 어레이 DA의 요소 a8의 서브-요소 se(64)는 기술자 어레이 DA의 요소 a4의 서브-요소 se(32)와 소위 "통계적 각도 상관"을 가지며, 상기 기술자 어레이 DA는 "31"로 라벨이 붙여진 서브-히스토그램 sh4의 빈에 대응하는 기술자 어레이 DA의 요소 a4의 서브-요소 se(31)와의 상관보다 더 높은, "32"로 라벨이 붙여진 서브-히스토그램 sh4의 빈에 대응하는데, 이는 서브-요소들 se(64) 그리고 se(32) 둘 모두는 우세 방위 O에 관해 각도 π/4를 가지는 방위에 대응하며, 반면에 서브-요소 eh(31)은 우세 방위 O에 관하여 각도 π/2를 가지는 방위에 대응하기 때문이다.
도 11로 돌아가서, 본 출원인은 벡터 양자화가 기술자 어레이 DA의 각 서브-어레이 SDAk에 독립적으로 적용된다면, 상이한 서브-어레이들 SDAk에 속한 서브-요소들 se(h) 사이에서의 통계적인 공간적 상관 그리고 통계적 각도 상관은 없어진다는 것을 발견했다. 그러므로, 압축/압축 해제 연산들에 의해서 도입된 전체적인 왜곡, 그리고 제1의 압축 해제된 기술자 어레이 DA' 그리고 기술자 어레이 DA 사이의 차이는 그런 상관들이 고려되었다면 더 줄어들 수 있을 것이다.
본 발명의 실시예에 따라서, 그런 왜곡은 제1의 압축 해제된 기술자 어레이 DA'에 FxF 보상 (compensation) 매트릭스 Z (이 경우에 F는 기술자 어레이 DA의 서브-요소들 se(h)의 개수이다. 즉, SIFT 경우에 대해서 F = 128)를 곱해서 유리하게도 줄어들며, 상기 보상 매트릭스의 요소들 zk,l (k, l = 1, 2, …, F)은 서브-어레이들에서의 세분 (subdivision)에 의해서 초래된 기술자 어레이의 서브-요소들 se(h) 사이에서의 통계적인 공간적 상관, 그리고 바람직하게는 통계적 각도 상관의 상기에서 언급된 손실을 상쇄하기 위해서 배치되며, 그래서 상기 제1의 압축 해제된 기술자 어레이 DA'가 가까운 것보다 원래의 기술자 어레이 DA에 더 가까운 (즉, 더 유사한) 제2의 압축 해제된 기술자 어레이 DA''를 얻도록 한다.
상세하게는, 상기 제2의 압축 해제된 기술자 어레이 DA''는 다음과 같이 얻어지며:
DA''=DA'Z,
즉:
Figure pct00002
이 경우에, se(h)''는 상기 제2의 압축 해제된 기술자 어레이 DA''의 일반적인 h-번째 서브-요소이며 그리고 se(h)'는 상기 제1의 압축 해제된 기술자 어레이 DA'의 일반적인 h-번째 서브-요소이다. 그러므로, 상기 제2의 압축 해제된 기술자 어레이 DA''의 각 서브-요소 se(h)''는 상기 제1의 압축 해제된 기술자 어레이 DA'의 서브-요소들 se(h)'의 선형 결합에 의해서 생성된다. 상기 보상 매트릭스 Z의 요소들 zk,l 은, 일반적인 기술자 어레이 DA의 서브-요소들 se(h) 사이에서 발생하는 통계적인 공간적 상관 그리고 통계적 각도 상관을 반영하기 위해서 상기 서브-요소들 se(h)'의 그런 선형 결합에 가중치가 부여되는 방식으로 세팅된다.
다른 말로 하면, 본 발명의 실시예에 따라서, 상기 보상 매트릭스 Z는, 기술자 어레이를 서브-어레이들로 세분하고 그리고 각 서브-어레이에 벡터 양자화를 적용함으로써 그런 기술자 어레이가 압축되었다면 손실될 수 있을, 일반적인 기술자 어레이 DA의 서브-요소들 se(h) 사이에서 발생하는 통계적인 공간적 상관 그리고, 바람직하게는, 통계적 각도 상관을 수학적인 관계들의 면으로 표현하는 것을 가능하게 한다.
상기 보상 매트릭스 Z의 요소들 zk,l의 값들은 압축된 기술자 어레이 DA를 얻기 위해서 사용된 코드북들 CBKy의 유형 그리고 서브-어레이들 SDAk의 개수에 종속하는 것은 물론이며 상기 기술자 어레이 DA의 크기 및 유형에도 또한 종속한다.
본 발명의 실시예에 따르면, 상기 보상 매트릭스 Z는 다음의 방식으로 생성된다.
1) 매우 많은 개수인 M 개 (예를 들면, M
Figure pct00003
1000000)의 샘플 기술자 어레이들 UDA가, 예를 들면, 시각적 검색 데이터베이스 MIRFLICKR 25000과 같은 적절한 데이터베이스로부터 추출된다. 각 샘플 기술자 어레이 UDA는 F 개의 서브-요소들 u(h) (h = 1, 2, …, F)을 포함한다. 압축 해제를 최적화하기 위해서 적응된 보상 매트릭스 Z를 생성하기 위해서, M은 효과적인 통계적 모집단을 형성하기에 충분하게 커야만 한다.
2) 각 샘플 기술자 어레이 UDA는, 그러면 샘플 기술자 어레이 UDA를 서브-어레이들로 세분하고 그리고 대응하는 코드북을 이용하여 각 서브-어레이를 압축함으로써, 대응하는 압축된 샘플 기술자 어레이 CUDA로 압축된다.
3) 각 압축된 샘플 기술자 어레이 CUDA는 그러면 대응하는 압축 해제된 샘플 기술자 어레이 TDA를 얻기 위해서 (포인트 2에서 사용된 동일한 코드북들을 이용하여) 압축 해제된다. 각 압축 해제된 샘플 기술자 어레이 TDA는 F 개의 서브-요소들 t(h) (h = 1, 2, …, F)를 포함한다.
4) 상기 보상 매트릭스 Z는 놈 (norm)
Figure pct00004
를 최소화하는 매트릭스와 같게 세팅되며, 이 경우에 T는 MxF 매트릭스로, 그 로우들이 M개의 압축 해제된 샘플 기술자 어레이들 TDA이며, 그리고 U는 MxF 매트릭스로, 그 로우들이 M개의 샘플 기술자 어레이들 UDA이다. 놈 (norm)
Figure pct00005
를 최소화하는 상기 보상 매트릭스 Z는 컴퓨터-지원 선형 최소 자승 (Linear Least Squares) 절차를 통해서 계산될 수 있을 것이다. 추가로, 예를 들면, Tikhonov 절차와 같이 알려진 정규화 절차가 이어서 적용될 수 있을 것이다
이 방식으로 얻어진 보상 매트릭스 Z는 U의 컬럼들을 (
Figure pct00006
의 면에서 ) 최선으로 근사화하기 위해서 T의 컬럼들을 어떻게 결합하는가를 보여준다.
기술자 어레이를 압축하는 것이 그 기술자 어레이를 서브-어레이들로 세분하지 않고 수행되었다면, 상기 보상 매트릭스 Z는 항등 매트릭스 (identity matrix)와 거의 동일할 것이다. 샘플 기술자 어레이들 UDA의 서브-어레이들과 독립적으로 벡터 양자화를 수행함으로써, 통계적인 공간적 상관 그리고 통계적 각도 상관이 손실되며, 그리고 보상 매트릭스 Z는 항등 매트릭스와는 다르다.
도 13a는 (도 6a에서 도시된 경우에서처럼) 기술자 어레이를 네 개의 서브-어레이들에 세분하고 그리고 2^13 개 코드워드들을 포함하는 코드북을 각 서브-어레이에 대해서 사용하는 것을 제공하는 압축 방식에 대응하는 예시적인 보상 매트릭스 Z를 도시한다. 도 13b는 도 13a의 보상 매트릭스 Z의 43-번째 컬럼의 요소들 zk,43 (k = 1, 2, …, F)에 의해서 가정된 값들을 예시하는 도면이다.
도 14a는 (도 6d에서 도시된 경우에서처럼) 기술자 어레이를 여덟 개의 서브-어레이들로 세분하고 그리고 2^11 코드워드들을 포함하는 코드북을 각 서브-어레이에 대해서 사용하는 것을 제공하는 압축 방식에 대응한 추가의 예시적인 보상 매트릭스 Z를 도시한 것이다. 도 14b는 도 14a의 보상 매트릭스 Z의 43-번째 컬럼의 요소들 zk,43 (k = 1, 2, …, F)에 의해서 가정된 값들을 도시한 도면이다.
도 13a, 도 13b, 도 14a, 그리고 도 14b를 관찰함으로써, 가장 높은 값들을 가지는 보상 매트릭스 Z의 요소들 zk,l 은 주 대각선 (main diagonal)에 속하는 요소들이다. 이것은, 제1의 압축 해제된 기술자 어레이 DA'로부터 제2의 압축 해제된 기술자 어레이 DA''를 얻기 위해서 보상 매트릭스 Z가 사용될 때에 (도 11 참조), 상기 제2의 압축 해제된 기술자 어레이 DA''의 특정 서브-요소 se(h)''를 생성하기 위한 상기 제1의 압축 해제된 기술자 어레이 DA'의 F 개 서브-요소들 se(h)'의 선형 결합에서의 가장 높은 가중치 (즉, 요소 zk,l)는 정확하게 상기 특정 서브-요소 se(h)''에 대응하는 것이라는 것을 의미한다. 예를 들면, 서브-요소 se(43)''의 생성을 향한 상기 서브-요소들 se(h)'의 선형 결합에서, 가장 높은 가중치는 정확하게 서브-요소 se(43)'의 배수인 요소 z43,43 이다.
상기 제2의 압축 해제된 기술자 어레이 DA''의 특정 서브-요소 se(h)''를 생성하기 위한 상기 제1의 압축 해제된 기술자 어레이 DA'의 F 개 서브-요소들 se(h)'의 선형 결합에서 0과는 현저하게 상이한 값들을 가지는 다른 요소들 zk,l 의 존재는 그런 특정 서브-요소 se(h)''와 통계적인 공간 상관 및/또는 통계적인 각도 상관을 가지는 다른 서브-요소들 se(h)'에 대응한다. 예를 들면, 서브-요소 se(43)''의 생성을 향한 상기 서브-요소들 se(h)'의 선형 결합에서, 도 14b에 도시된 경우에, 0과는 현저하게 상이한 (0보다 더 큰) 세 개의 다른 요소들 zk,l 은 z35,43, z51,43, 그리고 z75,43 이며, 이것들은 각각 서브-요소들 se(35)', se(51)' 그리고 se(75)'의 배수이다.
상기에서 설명된 절차를 이용하면, 상기 제2의 압축 해제된 기술자 DA''의 결과인 서브-요소들 se(h)'' 중 몇몇이 허용된 범위의 값들을 초과하는 경우가 발생할 수 있을 것이다. 이런 경우에, 본 발명의 실시예에 따라서, 상기 서브-요소들 se(h)''는 상기 범위의 가장 가까운 종료점으로 유리하게 세팅된다. 예를 들면, SIFT 기술자에서 서브-요소들이 보통 0부터 255까지의 범위인 값들을 가진다는 것을 고려하면, 보상 매트릭스 Z를 통해서 계산된 서브-요소 se(h)''의 값이 255보다 더 크거나 또는 0보다 더 작다면, 그 값은 각각 255 또는 0으로 세팅된다.
상기 제안된 최적화된 압축 해제 절차가 기술자 어레이를 서브-어레이들로 세분하고 그리고 코드북들이 사용되는 방식에는 무관하게 각 서브-어레이에 벡터 양자화를 적용함으로써 압축된 임의의 압축된 기술자 어레이에 적용 가능하다는 것이 인정되어야 한다. 예를 들면, 상기 제안된 최적화된 압축 해제 절차는, (도 6a - 6d에서 도시된 경우에서처럼) 동일한 코드북을 활용하여 하나 이상의 서브-어레이가 압축된 경우는 물론이며 각 서브-어레이가 (도 4b에 도시된 경우에서처럼) 각자의 상이한 코드북을 이용하여 압축되는 경우에 채택되기 위해서 적응된다. 본 출원인은 스칼라 양자화의 제한적인 경우에, 몇몇의 또는 모든 서브-어레이들이 단 하나의 요소만을 포함하는 경우에 적용되면, 상기 제안된 최적화된 압축 해제 절차는 여전히 적용 가능하다는 것에 주목한다.
제한된 최적화된 압축 해제 절차 덕분에, 압축된 기술자 어레이들을 저장하기 위해서 필요한 비트들의 양을 증가시키지 않으면서도 압축 해제의 품질을 증가시키는 것이 가능하며, 그런 압축된 기술자 어레이들을 활용하여 이미지 분석의 결과들에 긍정적으로 영향을 미치게 한다.
이전의 설명은 본 발명의 여러 실시예들을 상세하게 제시하고 설명하였다; 그럼에도 불구하고, 첨부된 청구항들에 의해서 정의된 범위로부터 이탈하지 않으면서도 상기한 발명의 실시예들은 물론이며 상기 설명된 실시예들에 대한 여러 변경들이 가능하다.

Claims (35)

  1. 이미지를 프로세싱하는 방법으로서:
    - 이미지 내의 키포인트들의 그룹을 식별하는 단계;
    - 상기 그룹의 각 키포인트에 대해서:
    a) 복수의 어레이 요소들을 포함하는 대응 기술자 (descriptor) 어레이를 계산하는 단계로, 각 어레이 요소는 상기 키포인트의 이웃 내 상기 이미지의 각 서브-구역의 대응하는 컬러 그래디언트 (gradient) 히스토그램에 의해서 취해진 값들을 저장하는, 계산 단계;
    b) 상기 기술자 어레이를 적어도 두 개의 서브-어레이들로 세분하는 (subdivide) 단계로, 상기 서브-어레이 각각은 각자 개수의 상기 기술자 어레이의 요소들을 포함하는, 세분 단계, 그리고
    c) 상기 적어도 두 개의 서브-어레이들 각각에 대해 대응하는 압축된 서브-어레이를 포함하는 압축된 기술자를 생성하는 단계로, 각각의 압축된 서브-어레이는 상기 적어도 두 개의 서브-어레이들의 대응 서브-어레이를 각각의 코드북을 이용한 벡터 양자화에 의해서 압축하여 얻어진 것인, 생성 단계;
    - 상기 이미지를 분석하기 위해서 상기 그룹의 키포인트들의 압축된 기술자 어레이들을 활용하는 단계를 포함하며,
    - 상기 그룹의 각 키포인트에 대해서, 적어도 두 개의 서브-어레이들로 상기 기술자 어레이를 세분한 것은 상기 컬러 그래디언트 히스토그램들 사이의 상관 (correlation) 관계들을 기반으로 하여 수행되며, 상기 컬러 그래디언트 히스토그램들의 값은 상기 각 키포인트의 기술자 어레이의 요소들 내에 저장된, 이미지 프로세싱 방법.
  2. 제1항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 상기 적어도 두 개의 서브-어레이들을 상기 서브-어레이들의 적어도 하나의 그룹 내에 배치하는 단계, 그리고
    - 서브-어레이들의 상기 적어도 하나의 그룹의 동일한 그룹의 서브-어레이들을 압축하기 위해서 동일한 코드북을 사용하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  3. 제2항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 복수의 상관 패밀리들에 상기 컬러 그래디언트 히스토그램들을 배치하는 단계로, 각 상관 패밀리는 유사한 통계적인 행동을 가진 상관된 컬러 그래디언트 히스토그램들의 대응 세트를 포함하며, 서브-어레이들의 상기 적어도 하나의 그룹에 대해서;
    - 상기 그룹의 중 모든 서브-어레이들에서 동일한 위치를 차지한 어레이 요소들은 동일한 상관 패밀리에 속한 컬러 그래디언트 히스토그램들에 대응하는, 이미지 프로세싱 방법.
  4. 제3항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 상기 키포인트는 이웃하는 16개 각각의 서브-구역들과 연관되며;
    - 상기 대응 기술자 어레이는 16개의 어레이 요소들을 포함하며, 상기 어레이 요소 각각은 이웃하는 상기 16개의 서브-구역들 중에서 각각의 하나에 대응하며, 그리고
    - 복수의 상관 패밀리들에 상기 컬러 그래디언트 히스토그램들을 상기 배치하는 것은 상기 컬러 그래디언트 히스토그램들을 4개의 상관 패밀리들에 배치하는 것을 포함하며, 상기 4개의 상관 패밀리들 각각은 4개의 상관된 컬러 그래디언트 히스토그램들을 포함하는, 이미지 프로세싱 방법.
  5. 제4항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 상기 16개의 각각의 서브-구역들은 상기 키포인트에 중심을 둔 그리드 배치에 따라서 배치되며 그리고 4개의 로우 (row)들 및 4개의 컬럼 (column)들을 포함하며, 복수의 상관 패밀리들에 상기 컬러 그래디언트 히스토그램들을 상기 배치하는 것은:
    - 상기 그리드 배치의 제1 로우의 제1 및 제4 서브-구역들 그리고 상기 그리드 배치의 제4 로우의 제1 및 제4 서브-구역들을 제1 상관 패밀리에 배치하고;
    - 상기 그리드 배치의 제1 로우의 제2 및 제3 서브-구역들 그리고 상기 그리드 배치의 제4 로우의 제2 및 제3 서브-구역들을 제2 상관 패밀리에 배치하고;
    - 상기 그리드 배치의 제2 로우의 제1 및 제4 서브-구역들 그리고 상기 그리드 배치의 제3 로우의 제1 및 제4 서브-구역들을 제3 상관 패밀리에 배치하고; 그리고
    - 상기 그리드 배치의 제2 로우의 제2 및 제3 서브-구역들 그리고 상기 그리드 배치의 제3 로우의 제2 및 제3 서브-구역들을 제4 상관 패밀리에 배치하는 것을 포함하는, 이미지 프로세싱 방법.
  6. 제5항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 상기 기술자 어레이를:
    - 상기 기술자 어레이의 제1 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제2 어레이 요소에 대응하는 제2 요소, 상기 기술자 어레이의 제6 어레이 요소에 대응하는 제3 요소 그리고 상기 기술자 어레이의 제5 어레이 요소에 대응하는 제4 요소를 포함하는 제1 서브-어레이;
    - 상기 기술자 어레이의 제4 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제3 어레이 요소에 대응하는 제2 요소, 상기 기술자 어레이의 제7 어레이 요소에 대응하는 제3 요소 그리고 상기 기술자 어레이의 제8 어레이 요소에 대응하는 제4 요소를 포함하는 제2 서브-어레이;
    - 상기 기술자 어레이의 제16 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제15 어레이 요소에 대응하는 제2 요소, 상기 기술자 어레이의 제11 어레이 요소에 대응하는 제3 요소 그리고 상기 기술자 어레이의 제12 어레이 요소에 대응하는 제4 요소를 포함하는 제3 서브-어레이;
    - 상기 기술자 어레이의 제13 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제14 어레이 요소에 대응하는 제2 요소, 상기 기술자 어레이의 제10 어레이 요소에 대응하는 제3 요소 그리고 상기 기술자 어레이의 제9 어레이 요소에 대응하는 제4 요소를 포함하는 제4 서브-어레이로,
    세분하는 단계; 그리고
    - 상기 제1, 제2, 제3 및 제4 서브-어레이들을 압축하기 위해서 동일한 코드북을 사용하는 단계;를 더 포함하는, 이미지 프로세싱 방법.
  7. 제5항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 상기 기술자 어레이를:
    - 상기 기술자 어레이의 제1 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제2 어레이 요소에 대응하는 제2 요소, 상기 기술자 어레이의 제3 어레이 요소에 대응하는 제3 요소, 상기 기술자 어레이의 제4 어레이 요소에 대응하는 제4 요소, 상기 기술자 어레이의 제5 어레이 요소에 대응하는 제5 요소, 상기 기술자 어레이의 제6 어레이 요소에 대응하는 제6 요소, 상기 기술자 어레이의 제7 어레이 요소에 대응하는 제7 요소 그리고 상기 기술자 어레이의 제8 어레이 요소에 대응하는 제8 요소를 포함하는 제1 서브-어레이, 그리고
    - 상기 기술자 어레이의 제13 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제14 어레이 요소에 대응하는 제2 요소, 상기 기술자 어레이의 제15 어레이 요소에 대응하는 제3 요소, 상기 기술자 어레이의 제16 어레이 요소에 대응하는 제4 요소, 상기 기술자 어레이의 제9 어레이 요소에 대응하는 제5 요소, 상기 기술자 어레이의 제10 어레이 요소에 대응하는 제6 요소, 상기 기술자 어레이의 제11 어레이 요소에 대응하는 제7 요소 그리고 상기 기술자 어레이의 제12 어레이 요소에 대응하는 제8 요소를 포함하는 제2 서브-어레이로,
    세분하는 단계; 그리고
    - 상기 제1 및 제2 서브-어레이들을 압축하기 위해서 동일한 코드북을 사용하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  8. 제5항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 상기 기술자 어레이의 제5 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제1 어레이 요소에 대응하는 제2 요소, 그리고 상기 기술자 어레이의 제2 어레이 요소에 대응하는 제3 요소를 포함하는 제1 서브-어레이;
    - 상기 기술자 어레이의 제8 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제4 어레이 요소에 대응하는 제2 요소, 그리고 상기 기술자 어레이의 제3 어레이 요소에 대응하는 제3 요소를 포함하는 제2 서브-어레이;
    - 상기 기술자 어레이의 제9 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제13 어레이 요소에 대응하는 제2 요소, 그리고 상기 기술자 어레이의 제14 어레이 요소에 대응하는 제3 요소를 포함하는 제3 서브-어레이;
    - 상기 기술자 어레이의 제12 어레이 요소에 대응하는 제1 요소, 상기 기술자 어레이의 제16 어레이 요소에 대응하는 제2 요소, 그리고 상기 기술자 어레이의 제15 어레이 요소에 대응하는 제3 요소를 포함하는 제4 서브-어레이;
    - 상기 기술자 어레이의 제6 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제7 어레이 요소에 대응하는 제2 요소를 포함하는 제5 서브-어레이;
    - 상기 기술자 어레이의 제10 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제11 어레이 요소에 대응하는 제2 요소를 포함하는 제6 서브-어레이로,
    세분하는 단계;
    - 상기 제1, 제2, 제3 및 제4 서브-어레이들을 압축하기 위해서 제1의 동일한 코드북을 사용하는 단계; 그리고
    - 상기 제5 및 제6 서브-어레이들을 압축하기 위해서 제2의 동일한 코드북을 사용하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  9. 제5항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 상기 기술자 어레이의 제5 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제1 어레이 요소에 대응하는 제2 요소를 포함하는 제1 서브-어레이;
    - 상기 기술자 어레이의 제8 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제4 어레이 요소에 대응하는 제2 요소를 포함하는 제2 서브-어레이;
    - 상기 기술자 어레이의 제9 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제13 어레이 요소에 대응하는 제2 요소를 포함하는 제3 서브-어레이;
    - 상기 기술자 어레이의 제12 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제16 어레이 요소에 대응하는 제2 요소를 포함하는 제4 서브-어레이;
    - 상기 기술자 어레이의 제6 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제2 어레이 요소에 대응하는 제2 요소를 포함하는 제5 서브-어레이;
    - 상기 기술자 어레이의 제7 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제3 어레이 요소에 대응하는 제2 요소를 포함하는 제6 서브-어레이;
    - 상기 기술자 어레이의 제10 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제14 어레이 요소에 대응하는 제2 요소를 포함하는 제7 서브-어레이;
    - 상기 기술자 어레이의 제11 어레이 요소에 대응하는 제1 요소 그리고 상기 기술자 어레이의 제15 어레이 요소에 대응하는 제2 요소를 포함하는 제8 서브-어레이로,
    세분하는 단계;
    - 상기 제1, 제2, 제3 및 제4 서브-어레이들을 압축하기 위해서 제1의 동일한 코드북을 사용하는 단계; 그리고
    - 상기 제5, 제6, 제7 및 제8 서브-어레이들을 압축하기 위해서 제2의 동일한 코드북을 사용하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    키포인트의 그룹을 식별하는 상기 단계는 이미지 내 키포인트들의 제1 그룹을 식별하는 단계를 포함하며, 상기 방법은:
    - 상기 제1 그룹의 각 키포인트에 대해서:
    a) 상기 각 키포인트에 관련된 키포인트 로컬 특징들의 대응 세트를 식별하는 단계;
    b) 상기 대응 세트의 로컬 특징들 중에서 적어도 하나의 키포인트 로컬 특징에 대해서, 대응하는 로컬 특징 관련성 확률을 계산하는 단계;
    c) 상기 적어도 하나의 로컬 특징의 로컬 특징 관련성 확률들을 기반으로 하여 키포인트 관련성 확률을 계산하는 단계;
    - 키포인트들의 제2 그룹을 형성하기 위해서 가장 높은 키포인트 관련성 확률들을 가지는 키포인트들을 상기 제1 그룹의 키포인트들 중에서 선택하는 단계를 포함하며,
    - 이미지를 분석하기 위해서 압축된 기술자 어레이들을 활용하는 상기 단계는 상기 이미지를 분석하기 위해서 상기 제2 그룹의 키포인트들의 압축된 기술자 어레이들을 활용하는 단계를 포함하며, 그리고
    - 키포인트의 로컬 특징을 위해서 계산된 상기 로컬 특징 관련성 확률은 상기 로컬 특징에 의해서 가정된 값을 상기 로컬 특징의 값들의 대응 레퍼런스 통계적 분포와 비교함으로써 얻어지는, 이미지 프로세싱 방법.
  11. 제10항에 있어서,
    상기 대응 레퍼런스 통계적 분포 각각은 복수의 레퍼런스 이미지 쌍들에서 식별된 복수의 레퍼런스 키포인트들 중에서 각 레퍼런스 이미지 쌍의 레퍼런스 키포인트들에 대응하는 로컬 특징 값들을 수집함으로써 생성된 대응 통계적 분포와 통계적으로 동등하며, 상기 각 레퍼런스 이미지 쌍은 그런 쌍의 레퍼런스 이미지들 사이에서의 올바른 특징 매치를 수반하는 것으로 확인되었던 것인, 이미지 프로세싱 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 각 키포인트에 관련된 키포인트 로컬 특징들의 세트는:
    - 상기 키포인트의 좌표들;
    - 상기 키포인트가 식별되었던 스케일;
    - 상기 키포인트의 우세한 방위;
    - 상기 키포인트의 피크; 그리고
    - 상기 키포인트의 기술자,
    중 적어도 하나를 포함하는, 이미지 프로세싱 방법.
  13. 제11항 또는 제11항에 종속된 제12항에 있어서,
    - 각 레퍼런스 통계적 분포는 복수의 빈 (bin)들을 구비한 대응 히스토그램의 모습으로 배치되며, 각 빈은 상기 대응 로컬 특징의 값들의 미리 정의된 범위에 대응하며, 그리고 각 빈의 빈도는:
    a) 올바른 특징 매치를 포함하는 것으로 확인되었으며 상기 빈 내에 위치한 대응 로컬 특징의 값을 가지는 레퍼런스 키포인트들의 개수, 그리고
    b) 상기 빈 내에 위치한 대응 로컬 특징의 값을 가지는 레퍼런스 키포인트들의 전체 개수
    사이의 비율에 대응하며,
    - 키포인트의 로컬 특징에 대한 로컬 특징 관련성 확률을 상기 계산하는 것은:
    c) 그런 로컬 특징에 대응하는 히스토그램을 검사하는 단계로서, 이 검사는 키포인트의 로컬 특징에 의해서 가정된 값에 맞는 상기 히스토그램의 빈을 식별하기 위한 것인, 검사 단계, 그리고
    d) 로컬 특징 관련성 확률을 상기 식별된 빈의 빈도로 세팅하는 단계를 포함하는, 이미지 프로세싱 방법.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서,
    제1 그룹의 키포인트의 키포인트 관련성 확률을 상기 계산하는 것은,
    대응하는 키포인트의 상기 적어도 하나의 로컬 특징 중 하나의 로컬 특징 각각의 로컬 특징 관련성 확률들을 결합하는 것을 포함하는, 이미지 프로세싱 방법.
  15. 제14항에 있어서,
    제1 그룹의 키포인트의 키포인트 관련성 확률을 상기 계산하는 것은,
    대응하는 키포인트의 상기 적어도 하나의 로컬 특징 중 하나의 로컬 특징 각각의 로컬 특징 관련성 확률들 중 하나를 다른 하나와 곱하는 것을 포함하는, 이미지 프로세싱 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서,
    - 이미지 위에 로우들 및 컬럼들로 배치된 복수의 셀들을 포함하는 레퍼런스 그리드를 제공하여, 상기 그룹의 각 키포인트가 상기 그리드의 각 셀 내에 위치하도록 하는 단계;
    - 키포인트들이 없는 셀들에 의해서 전체적으로 형성된 상기 로우들 및 컬럼들을 레퍼런스 그리드로부터 제거하고 그리고 모든 로우 및 모든 컬럼이 적어도 하나의 키포인트를 포함하는 적어도 하나의 셀을 포함하는 컴팩트한 그리드 배치를 생성하는 단계;
    - 로우들 및 컬럼들로 배치된 복수의 요소들을 포함하는 좌표 매트릭스를 생성하는 단계로서, 이 좌표 매트릭스에서 각 매트릭스 요소는 상기 캠팩트한 그리드 배치의 셀에 대응하며, 상기 매트릭스 요소는 상기 컴팩트한 그리드 배치의 대응 셀이 적어도 하나의 키포인트를 포함한다면 제1 값과 동일하며, 상기 컴팩트한 그리드 배치의 대응 셀에는 키포인트들이 없다면 상기 매트릭스 요소는 제2 값과 동일한, 생성 단계;
    - 상기 좌표 매트릭스를, 각각이 동일한 개수의 매트릭스 요소들을 포함하는 복수의 서브-워드들로 세분하는 단계;
    - 상기 서브-워드들이 취할 수 있을 가능한 값 각각에 대하여 빈을 포함하는 서브-워드 히스토그램들 생성하는 단계로서, 각 빈의 빈도는 상기 빈과 연관된 값을 서브-워드가 취할 확률을 표시하는, 생성 단계;
    - 각 서브-워드에 대하여 압축된 서브-워드를 획득하기 위해서 상기 서브-워드 히스토그램을 기반으로 하는 엔트로픽 (entropic) 코딩 기술을 활용하여 각 서브-워드를 인코딩하는 단계, 그리고
    - 상기 이미지를 분석하기 위해서 상기 압축된 서브-워드들을 활용하는 단계를 더 포함하며,
    - 서브-워드 히스토그램을 활용하는 상기 단계는 복수의 트레이닝 이미지들로부터 생성된 좌표 매트릭스들의 요소들은 서로 독립적이라고 가정함으로써 수행된 상기 복수의 트레이닝 이미지들에 관한 통계적인 분석을 기반으로 하여 상기 빈들의 빈도들을 세팅하는 것을 포함하며, 그리고
    - 상기 서브-워드 히스토그램을 기반으로 하는 엔트로픽 코딩 기술을 활용하여 각 서브-워드를 인코딩하는 상기 단계는 각 서브-워드를, 상기 서브-워드의 값에 대응하는 빈의 빈도에 종속하는 개수의 매트릭스 요소들을 포함하는 압축된 서브-워드로 인코딩하는 것을 포함하는, 이미지 프로세싱 방법.
  17. 제10항 및 제10항에 종속된 제11항 내지 제16항 중 어느 한 항에 있어서,
    이미지를 상기 분석하는 것은 상기 이미지 그리고 추가의 이미지 사이의 비교를 수행하는 것을 포함하는, 이미지 프로세싱 방법.
  18. 제10항 및 제10항에 종속된 제11항 내지 제16항 중 어느 한 항에 있어서,
    상기 이미지는 오브젝트/씬 (scene)을 도시하며,
    이미지를 상기 분석하는 것은, 각각이 오브젝트/씬을 도시하는 복수의 모델 이미지들을 포함하는 모델 데이터베이스로부터, 상기 이미지 내에 도시된 오브젝트/씬에 대응하는 오브젝트/씬을 도시한 모델 이미지를 인출하는 것을 포함하는, 이미지 프로세싱 방법.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서,
    이미지를 분석하기 위해서 상기 그룹의 키보인트들의 압축된 기술자 어레이들을 상기 활용하는 것은:
    - 대응하는 압축 해제된 기술자 어레이들을 얻기 위해서 상기 압축된 기술자 어레이들을 압축 해제하는 단계, 그리고
    - 상기 이미지를 분석하기 위해서 상기 압축 해제된 기술자 어레이들을 활용하는 단계를 포함하며,
    - 상기 그룹의 각 키포인트에 대해서 상기 압축 해제하는 것은,
    상기 키포인트의 이웃 내의 상기 이미지의 서브-구역들의 위치들 사이에서의 통계적인 공간적 상관 관계들을 기반으로 하여 수행되는, 이미지 프로세싱 방법.
  20. 제19항에 있어서,
    상기 통계적인 공간적 상관 관계들은 상기 키포인트의 이웃 내의 상기 이미지의 서브-구역들의 위치들 사이에서의 공간적인 거리들을 기반으로 하는, 이미지 프로세싱 방법.
  21. 제19항 또는 제20항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 상기 대응하는 기술자 어레이의 각 어레이 요소는 서브-요소들의 그룹을 포함하며, 각 서브-요소는 대응하는 컬러 그래디언트 히스토그램의 각 빈의 빈도 값을 저장하며, 컬러 그래디언트 히스토그램의 각 빈은 키포인트의 우세한 방위에 관한 각 방위에 대응하며, 그리고
    - 상기 압축 해제하는 것은, 상기 기술자 어레이의 상이한 어레이 요소들에 대응하는 컬러 그래디언트 히스토그램들의 빈들에 대응하는 방위들 사이에서의 통계적인 각도 상관 관계들을 기반으로 하여 수행되는, 이미지 프로세싱 방법.
  22. 제21항에 있어서,
    상기 통계적인 각도 상관 관계들은, 상기 기술자 어레이의 상이한 어레이 요소들에 대응하는 컬러 그래디언트 히스토그램들의 빈들에 대응하는 방위들 사이에서의 각도 거리들을 기반으로 하는, 이미지 프로세싱 방법.
  23. 제21항 또는 제22항에 있어서,
    상기 그룹의 각 키포인트에 대해서 상기 압축 해제하는 것은:
    - 상기 적어도 두 개의 서브-어레이들로부터 벡터 양자화에 의해서 생성된 압축된 서브-어레이들을 결합하여, 복수의 제1 서브-요소들을 포함하는 제1의 압축 해제된 기술자 어레이를 형성하는 단계, 그리고
    - 상기 제1의 압축 해제된 기술자 어레이로부터 제2의 압축 해제된 기술자 어레이를 계산하는 단계를 포함하며,
    상기 제2의 압축 해제된 기술자 어레이는 복수의 제2 서브-요소들을 포함하며, 제2의 압축 해제된 기술자 어레이를 계산하는 상기 단계는 각 제2 서브-요소를 상기 제1 서브-요소들 중 적어도 두 개의 가중된 선형 조합으로 세팅하는 것을 포함하며,
    이미지를 분석하기 위해서 압축 해제된 기술자 어레이들을 상기 활용하는 것은:
    - 상기 그룹의 각 키포인트에 대해서, 상기 이미지를 분석하기 위해서 상기 대응하는 제2의 압축 해제된 기술자 어레이를 활용하는 것을 포함하는, 이미지 프로세싱 방법.
  24. 제23항에 있어서,
    제2의 압축 해제된 기술자 어레이를 상기 계산하는 것은 상기 제1의 압축 해제된 기술자 어레이에 보상 매트릭스 (compensation matrix)를 곱하는 것을 포함하며, 상기 보상 매트릭스는:
    - 복수의 샘플 기술자 어레이들을 제1 샘플 매트릭스에 배치하고;
    - 각 샘플 기술자 어레이를 적어도 두 개의 대응 서브-어레이들로 세분하고 그리고 상기 적어도 두 개의 대응 서브-어레이들 중 하나의 서브-어레이 각각을 벡터 양자화를 통해서 압축함으로써 압축된 샘플 기술자 어레이들을 생성하고;
    - 각각의 압축된 샘플 기술자 어레이에 대해서, 압축 해제된 샘플 기술자 어레이를 획득하기 위해서 대응하는 압축된 서브-어레이들을 결합하고;
    - 상기 압축 해제된 샘플 기술자 어레이들을 제2 샘플 매트릭스에 배치하고;
    - a) 제2 샘플 매트릭스에 보상 매트릭스를 곱한 것에서
    b) 제1 샘플 매트릭스를 뺀 것의
    놈 (norm)을 최소화하기 위한 방식으로 보상 매트릭스를 세팅하는 것에 의해서 계산되는, 이미지 프로세싱 방법.
  25. 제1항에 있어서,
    이미지를 분석하기 위해서 상기 그룹의 키보인트들의 압축된 기술자 어레이들을 상기 활용하는 것은:
    - 대응하는 압축 해제된 기술자 어레이들을 획득하기 위해서 상기 압축된 기술자 어레이들을 압축 해제하는 단계, 그리고
    - 상기 이미지를 분석하기 위해서 상기 압축 해제된 기술자 어레이들을 활용하는 단계를 포함하며,
    상기 그룹의 각 키포인트에 대해서 상기 압축 해제하는 것은:
    - 상기 적어도 두 개의 서브-어레이들로부터 벡터 양자화에 의해서 생성된 압축된 서브-어레이들을 결합하여, 복수의 제1 서브-요소들을 포함하는 제1의 압축 해제된 기술자 어레이를 형성하는 단계, 그리고
    - 상기 제1의 압축 해제된 기술자 어레이로부터 제2의 압축 해제된 기술자 어레이를 계산하는 단계를 포함하며,
    상기 제2의 압축 해제된 기술자 어레이는 복수의 제2 서브-요소들을 포함하며, 제2의 압축 해제된 기술자 어레이를 계산하는 상기 단계는 각 제2 서브-요소를 상기 제1 서브-요소들 중 적어도 두 개의 가중된 선형 조합으로 세팅하는 것을 포함하며,
    이미지를 분석하기 위해서 압축 해제된 기술자 어레이들을 상기 활용하는 것은:
    - 상기 그룹의 각 키포인트에 대해서, 상기 이미지를 분석하기 위해서 상기 대응하는 제2의 압축 해제된 기술자 어레이를 활용하는 것을 포함하는, 이미지 프로세싱 방법.
  26. 이미지를 프로세싱하는 방법으로서:
    - 적어도 하나의 압축된 기술자 어레이를 수신하는 단계로서,
    - 상기 이미지 내 적어도 하나의 키포인트를 식별하는 단계;
    - 상기 적어도 하나의 키포인트에 대해서:
    a) 복수의 어레이 요소들을 포함하는 대응 기술자 어레이를 계산하는 단계로서, 각 어레이 요소는 상기 키포인트의 이웃 내 상기 이미지의 각 서브-구역의 대응 컬러 그래디언트 히스토그램에 의해서 취해진 값들을 저장하는, 계산 단계;
    b) 상기 기술자 어레이를 적어도 두 개의 서브-어레이들로 세분하는 단계로, 각 서브-어레이는 각자 개수의 상기 기술자 어레이의 엘리먼트들을 포함하는, 세분 단계; 그리고
    c) 상기 적어도 두 개의 서브-어레이들 각각에 대해서 대응 압축된 서브-어레이를 포함하는 압축된 기술자 어레이를 생성하는 단계로서, 각 압축된 서브-어레이는 각각의 코드북을 이용하여 벡터 양자화에 의해 상기 적어도 두 개의 서브-어레이들의 대응하는 서브-어레이를 압축하여 획득된 것인, 생성 단계에 의해서,
    상기 적어도 하나의 압축된 기술자 어레이가 생성된, 수신 단계;
    - 적어도 하나의 수신된 압축된 기술자 어레이를 압축 해제하여, 대응하는 적어도 하나의 압축 해제된 기술자 어레이를 획득하는 단계, 그리고
    - 상기 이미지를 분석하기 위해서 상기 적어도 하나의 압축 해제된 기술자를 활용하는 단계를 포함하며,
    - 상기 적어도 하나의 식별된 키포인트 중 하나의 키포인트 각각에 대해서, 상기 압축 해제하는 것은 상기 키포인트의 이웃 내의 이미지의 서브-구역들의 위치들 사이에서의 통계적인 공간적 상관 관계들을 기반으로 하여 수행되는, 이미지 프로세싱 방법.
  27. 제26항에 있어서,
    상기 통계적인 공간적 상관 관계들은 상기 키포인트의 이웃 내의 상기 이미지의 서브-구역들의 위치들 사이에서의 공간적인 거리들을 기반으로 하는, 이미지 프로세싱 방법.
  28. 제26항 또는 제27항에 있어서,
    상기 그룹의 각 키포인트에 대해서:
    - 상기 대응하는 기술자 어레이의 각 어레이 요소는 서브-요소들의 그룹을 포함하며, 각 서브-요소는 대응하는 컬러 그래디언트 히스토그램의 각 빈의 빈도 값을 저장하며, 컬러 그래디언트 히스토그램의 각 빈은 키포인트의 우세한 방위에 관한 각 방위에 대응하며, 그리고
    - 상기 압축 해제하는 것은, 상기 기술자 어레이의 상이한 어레이 요소들에 대응하는 컬러 그래디언트 히스토그램들의 빈들에 대응하는 방위들 사이에서의 통계적인 각도 상관 관계들을 기반으로 하여 수행되는, 이미지 프로세싱 방법.
  29. 제28항에 있어서,
    상기 통계적인 각도 상관 관계들은, 상기 기술자 어레이의 상이한 어레이 요소들에 대응하는 컬러 그래디언트 히스토그램들의 빈들에 대응하는 방위들 사이에서의 각도 거리들을 기반으로 하는, 이미지 프로세싱 방법.
  30. 제28항 또는 제29항에 있어서,
    상기 그룹의 각 키포인트에 대해서 상기 압축 해제하는 것은:
    - 상기 적어도 두 개의 서브-어레이들로부터 벡터 양자화에 의해서 생성된 압축된 서브-어레이들을 결합하여, 복수의 제1 서브-요소들을 포함하는 제1의 압축 해제된 기술자 어레이를 형성하는 단계, 그리고
    - 상기 제1의 압축 해제된 기술자 어레이로부터 제2의 압축 해제된 기술자 어레이를 계산하는 단계를 포함하며,
    상기 제2의 압축 해제된 기술자 어레이는 복수의 제2 서브-요소들을 포함하며, 제2의 압축 해제된 기술자 어레이를 계산하는 상기 단계는 각 제2 서브-요소를 상기 제1 서브-요소들의 가중된 선형 조합으로 세팅하는 것을 포함하며,
    이미지를 분석하기 위해서 압축 해제된 기술자 어레이들을 상기 활용하는 것은:
    - 상기 그룹의 각 키포인트에 대해서, 상기 이미지를 분석하기 위해서 상기 대응하는 제2의 압축 해제된 기술자 어레이를 활용하는 것을 포함하는, 이미지 프로세싱 방법.
  31. 제30항에 있어서,
    제2의 압축 해제된 기술자 어레이를 상기 계산하는 것은 상기 제1의 압축 해제된 기술자 어레이에 보상 매트릭스를 곱하는 것을 포함하며, 상기 보상 매트릭스는:
    - 복수의 샘플 기술자 어레이들을 제1 샘플 매트릭스에 배치하고;
    - 각 샘플 기술자 어레이를 적어도 두 개의 대응 서브-어레이들로 세분하고 그리고 상기 적어도 두 개의 대응 서브-어레이들 중 하나의 서브-어레이 각각을 벡터 양자화를 통해서 압축함으로써 압축된 샘플 기술자 어레이들을 생성하고;
    - 각각의 압축된 샘플 기술자 어레이에 대해서, 압축 해제된 샘플 기술자 어레이를 획득하기 위해서 대응하는 압축된 서브-어레이들을 결합하고;
    - 상기 압축 해제된 샘플 기술자 어레이들을 제2 샘플 매트릭스에 배치하고;
    - a) 제2 샘플 매트릭스에 보상 매트릭스를 곱한 것에서
    b) 제1 샘플 매트릭스를 뺀 것의
    놈 (norm)을 최소화하기 위한 방식으로 보상 매트릭스를 세팅하는 것에 의해서 계산되는, 이미지 프로세싱 방법.
  32. 이미지를 프로세싱하는 방법으로서:
    - 적어도 하나의 압축된 기술자 어레이를 수신하는 단계로서,
    - 상기 이미지 내 적어도 하나의 키포인트를 식별하는 단계;
    - 상기 적어도 하나의 키포인트에 대해서:
    a) 복수의 어레이 요소들을 포함하는 대응 기술자 어레이를 계산하는 단계로서, 각 어레이 요소는 상기 키포인트의 이웃 내 상기 이미지의 각 서브-구역의 대응 컬러 그래디언트 히스토그램에 의해서 취해진 값들을 저장하는, 계산 단계;
    b) 상기 기술자 어레이를 적어도 두 개의 서브-어레이들로 세분하는 단계로, 각 서브-어레이는 각자 개수의 상기 기술자 어레이의 엘리먼트들을 포함하는, 세분 단계; 그리고
    c) 상기 적어도 두 개의 서브-어레이들 각각에 대해서 대응 압축된 서브-어레이를 포함하는 압축된 기술자 어레이를 생성하는 단계로서, 각 압축된 서브-어레이는 각각의 코드북을 이용하여 벡터 양자화에 의해 상기 적어도 두 개의 서브-어레이들의 대응하는 서브-어레이를 압축하여 획득된 것인, 생성 단계에 의해서,
    상기 적어도 하나의 압축된 기술자 어레이가 생성된, 수신 단계;
    - 적어도 하나의 수신된 압축된 기술자 어레이를 압축 해제하여, 대응하는 적어도 하나의 압축 해제된 기술자 어레이를 획득하는 단계, 그리고
    - 상기 이미지를 분석하기 위해서 상기 적어도 하나의 압축 해제된 기술자를 활용하는 단계를 포함하며,
    상기 적어도 하나의 키포인트 중 각각의 하나에 대해서, 상기 압축 해제하는 것은:
    - 상기 적어도 두 개의 서브-어레이들로부터 벡터 양자화에 의해서 생성된 압축된 서브-어레이들을 결합하여, 복수의 제1 서브-요소들을 포함하는 제1의 압축 해제된 기술자 어레이를 형성하는 단계, 그리고
    - 상기 제1의 압축 해제된 기술자 어레이로부터 제2의 압축 해제된 기술자 어레이를 계산하는 단계를 포함하며,
    상기 제2의 압축 해제된 기술자 어레이는 복수의 제2 서브-요소들을 포함하며, 제2의 압축 해제된 기술자 어레이를 계산하는 상기 단계는 각 제2 서브-요소를 상기 제1 서브-요소들 중 적어도 2개의 가중된 선형 조합으로 세팅하는 것을 포함하며,
    이미지를 분석하기 위해서 압축 해제된 기술자 어레이들을 상기 활용하는 것은:
    - 상기 적어도 하나의 키포인트 중 각 키포인트에 대해서, 상기 이미지를 분석하기 위해서 상기 대응하는 제2의 압축 해제된 기술자 어레이를 활용하는 것을 포함하는, 이미지 프로세싱 방법.
  33. 이미지를 프로세싱하는 시스템으로서:
    - 상기 이미지 내의 키포인트들의 그룹을 식별하도록 구성된 제1 프로세싱 유닛;
    - 상기 그룹의 각 키포인트에 대해서 다음의 연산들:
    a) 복수의 어레이 요소들을 포함하는 대응 기술자 (descriptor) 어레이를 계산하는 연산으로, 각 어레이 요소들은 상기 키포인트의 이웃 내 상기 이미지의 각 서브-구역의 대응하는 컬러 그래디언트 (gradient) 히스토그램에 의해서 취해진 값들을 저장하는, 계산 연산;
    b) 상기 기술자 어레이를 적어도 두 개의 서브-어레이들로 세분하는 (subdivide) 연산으로, 상기 서브-어레이 각각은 각자 개수의 상기 기술자 어레이의 요소들을 포함하는, 세분 연산; 그리고
    c) 상기 적어도 두 개의 서브-어레이들 각각에 대해 대응하는 압축된 서브-어레이를 포함하는 압축된 기술자를 생성하는 연산으로, 각각의 압축된 서브-어레이는 상기 적어도 두 개의 서브-어레이들의 대응 서브-어레이를 각각의 코드북을 이용한 벡터 양자화에 의해서 압축하여 얻어진 것인, 생성 연산;을
    수행하도록 구성된 제2 프로세싱 유닛;
    - 상기 이미지를 분석하기 위해서 상기 그룹의 키포인트들의 압축된 기술자 어레이들을 활용하도록 구성된 제3 프로세싱 유닛을 포함하며,
    - 상기 그룹의 각 키포인트에 대해서, 상기 제2 프로세싱 유닛은 상기 컬러 그래디언트 히스토그램들 사이의 상관 (correlation) 관계들을 기반으로 하여 상기 기술자 어레이를 적어도 두 개의 서브-어레이들로 세분하도록 구성되며,
    상기 컬러 그래디언트 히스토그램들의 값은 상기 각 키포인트의 기술자 어레이의 요소들 내에 저장된, 이미지 프로세싱 시스템.
  34. 이미지를 프로세싱하는 시스템으로서:
    - 적어도 하나의 압축된 기술자 어레이를 수신하도록 구성된 제1 프로세싱 유닛으로서, 상기 적어도 하나의 압축된 기술자 어레이는:
    - 상기 이미지 내 적어도 하나의 키포인트를 식별하는 단계;
    - 상기 적어도 하나의 키포인트에 대해서:
    a) 복수의 어레이 요소들을 포함하는 대응 기술자 어레이를 계산하는 단계로서, 각 어레이 요소는 상기 키포인트의 이웃 내 상기 이미지의 각 서브-구역의 대응 컬러 그래디언트 히스토그램에 의해서 취해진 값들을 저장하는, 계산 단계;
    b) 상기 기술자 어레이를 적어도 두 개의 서브-어레이들로 세분하는 단계로, 각 서브-어레이는 각자 개수의 상기 기술자 어레이의 엘리먼트들을 포함하는, 세분 단계; 그리고
    c) 상기 적어도 두 개의 서브-어레이들 각각에 대해서 대응 압축된 서브-어레이를 포함하는 압축된 기술자 어레이를 생성하는 단계로서, 각 압축된 서브-어레이는 각각의 코드북을 이용하여 벡터 양자화에 의해 상기 적어도 두 개의 서브-어레이들의 대응하는 서브-어레이를 압축하여 획득된 것인, 생성 단계에 의해서 얻어진 것인, 제1 프로세싱 유닛;
    - 대응하는 적어도 하나의 압축 해제된 기술자 어레이를 획득하기 위해서 적어도 하나의 수신된 압축된 기술자 어레이를 압축 해제하도록 구성된 제2 프로세싱 유닛; 그리고
    - 상기 이미지를 분석하기 위해서 상기 적어도 하나의 압축 해제된 기술자를 활용하도록 구성된 제3 프로세싱 유닛을 포함하며,
    - 상기 적어도 하나의 식별된 키포인트 중 하나의 키포인트 각각에 대해서, 상기 제2 프로세싱 유닛은 상기 키포인트의 이웃 내의 이미지의 서브-구역들의 위치들 사이에서의 통계적인 공간적 상관 관계들을 기반으로 하여, 상기 적어도 하나의 수신된 압축된 기술자 어레이를 압축 해제하도록 구성된, 이미지 프로세싱 시스템.
  35. 이미지를 프로세싱하는 시스템으로서:
    - 적어도 하나의 압축된 기술자 어레이를 수신하도록 구성된 제1 프로세싱 유닛으로서, 상기 적어도 하나의 압축된 기술자 어레이는:
    - 상기 이미지 내 적어도 하나의 키포인트를 식별하는 단계;
    - 상기 적어도 하나의 키포인트에 대해서:
    a) 복수의 어레이 요소들을 포함하는 대응 기술자 어레이를 계산하는 단계로서, 각 어레이 요소는 상기 키포인트의 이웃 내 상기 이미지의 각 서브-구역의 대응 컬러 그래디언트 히스토그램에 의해서 취해진 값들을 저장하는, 계산 단계;
    b) 상기 기술자 어레이를 적어도 두 개의 서브-어레이들로 세분하는 단계로, 각 서브-어레이는 각자 개수의 상기 기술자 어레이의 엘리먼트들을 포함하는, 세분 단계; 그리고
    c) 상기 적어도 두 개의 서브-어레이들 각각에 대해서 대응 압축된 서브-어레이를 포함하는 압축된 기술자 어레이를 생성하는 단계로서, 각 압축된 서브-어레이는 각각의 코드북을 이용하여 벡터 양자화에 의해 상기 적어도 두 개의 서브-어레이들의 대응하는 서브-어레이를 압축하여 획득된 것인, 생성 단계에 의해서 획득된 것인, 제1 프로세싱 유닛;
    - 대응하는 적어도 하나의 압축 해제된 기술자 어레이를 획득하기 위해서, 적어도 하나의 수신된 압축된 기술자 어레이를 압축 해제하도록 구성된 제2 프로세싱 유닛; 그리고
    - 상기 이미지를 분석하기 위해서 상기 적어도 하나의 압축 해제된 기술자를 활용하도록 구성된 제3 프로세싱 유닛을 포함하며,
    상기 적어도 하나의 키포인트 중 각각의 하나에 대해서, 상기 제2 프로세싱 유닛은:
    - 상기 적어도 두 개의 서브-어레이들로부터 벡터 양자화에 의해서 생성된 압축된 서브-어레이들을 결합하여, 복수의 제1 서브-요소들을 포함하는 제1의 압축 해제된 기술자 어레이를 형성하는 단계, 그리고
    - 상기 제1의 압축 해제된 기술자 어레이로부터 제2의 압축 해제된 기술자 어레이를 계산하는 단계에 의해서, 상기 적어도 하나의 수신된 압축된 기술자 어레이를 압축 해제하도록 구성되며,
    상기 제2의 압축 해제된 기술자 어레이는 복수의 제2 서브-요소들을 포함하며, 제2의 압축 해제된 기술자 어레이를 계산하는 상기 단계는 각 제2 서브-요소를 상기 제1 서브-요소들 중 적어도 2개의 가중된 선형 조합으로 세팅하는 것을 포함하며,
    상기 제3 프로세싱 유닛은:
    - 상기 적어도 하나의 키포인트 중 각 키포인트에 대해서, 상기 이미지를 분석하기 위해서 상기 대응하는 제2의 압축 해제된 기술자 어레이를 활용하는 것에 의해,
    상기 이미지를 분석하기 위해서 상기 압축 해제된 기술자 어레이들을 활용하도록 구성된, 이미지 프로세싱 시스템.
KR1020147021747A 2012-01-02 2012-10-12 이미지 분석을 위한 방법 및 시스템 KR101954395B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
ITMI2012A000004 2012-01-02
ITMI20120004 2012-01-02
US201261599586P 2012-02-16 2012-02-16
US61/599,586 2012-02-16
PCT/EP2012/070321 WO2013102503A1 (en) 2012-01-02 2012-10-12 Method and system for image analysis

Publications (2)

Publication Number Publication Date
KR20140111007A true KR20140111007A (ko) 2014-09-17
KR101954395B1 KR101954395B1 (ko) 2019-03-05

Family

ID=45809456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147021747A KR101954395B1 (ko) 2012-01-02 2012-10-12 이미지 분석을 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US9412037B2 (ko)
EP (1) EP2801055B1 (ko)
KR (1) KR101954395B1 (ko)
CN (1) CN104160409B (ko)
AR (1) AR089622A1 (ko)
WO (1) WO2013102503A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017116916A1 (en) * 2015-12-31 2017-07-06 Adaptive Computation, Llc Image integration search based on human visual pathway model

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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.
US9075847B2 (en) * 2012-11-28 2015-07-07 Sap Se Methods, apparatus and system for identifying a document
CA2900841C (en) 2013-01-16 2018-07-17 Huawei Technologies Co., Ltd. Context based histogram map coding for visual search
ITTO20130629A1 (it) * 2013-07-24 2015-01-25 Sisvel Technology Srl Method for encoding an image descriptor based on a gradient histogram and relative image processing apparatus
US9697233B2 (en) * 2014-08-12 2017-07-04 Paypal, Inc. Image processing and matching
CN104615988A (zh) * 2015-02-04 2015-05-13 四川中科腾信科技有限公司 一种图像识别方法
CN107368834A (zh) * 2016-05-12 2017-11-21 北京君正集成电路股份有限公司 一种方向梯度积分图存储方法及装置
US10311288B1 (en) 2017-03-24 2019-06-04 Stripe, Inc. Determining identity of a person in a digital image
CN107368827B (zh) * 2017-04-01 2020-09-15 阿里巴巴集团控股有限公司 字符识别方法及装置、用户设备、服务器
CN112020630A (zh) * 2018-04-27 2020-12-01 北京嘀嘀无限科技发展有限公司 用于更新建筑物的3d模型的系统和方法
KR102528453B1 (ko) 2018-10-18 2023-05-02 삼성전자주식회사 영상 내의 특징 추출 방법, 이를 이용하는 영상 매칭 방법 및 영상 처리 방법
CN113228653B (zh) 2018-12-21 2024-03-15 零点科技公司 用于高效压缩和解压缩以获得更高吞吐量的方法、设备和系统
CN117275130B (zh) * 2023-11-17 2024-01-26 长春金融高等专科学校 基于人脸识别的智慧门禁验证系统
CN117392038B (zh) * 2023-12-05 2024-03-08 北京智源人工智能研究院 医学图像直方图均衡化方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US560662A (en) * 1896-05-26 Brush
US608848A (en) * 1898-08-09 Ice-tongs
US20070195996A1 (en) * 2006-02-22 2007-08-23 Fujifilm Corporation Characteristic point detection method, apparatus, and program
US20090324026A1 (en) * 2008-06-27 2009-12-31 Palo Alto Research Center Incorporated System and method for finding a picture image in an image collection using localized two-dimensional visual fingerprints
US20110158533A1 (en) * 2009-12-28 2011-06-30 Picscout (Israel) Ltd. Robust and efficient image identification

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2626528B2 (ja) * 1993-11-22 1997-07-02 日本電気株式会社 図形認識装置
US6088482A (en) * 1998-10-22 2000-07-11 Symbol Technologies, Inc. Techniques for reading two dimensional code, including maxicode
US6594382B1 (en) * 1999-11-04 2003-07-15 The United States Of America As Represented By The Secretary Of The Navy Neural sensors
FI113930B (fi) * 2002-05-31 2004-06-30 Oplayo Oy Menetelmä ja järjestely digitaalikuvien kompressoimiseksi
US9031851B2 (en) * 2007-09-20 2015-05-12 Lg Electronics Inc. Method and an apparatus for processing a signal
US8731317B2 (en) * 2010-09-27 2014-05-20 Xerox Corporation Image classification employing image vectors compressed using vector quantization
CN101986295B (zh) * 2010-10-28 2013-01-02 浙江大学 基于流形稀疏编码的图像聚类的方法
US8473679B2 (en) * 2011-03-31 2013-06-25 Ceva D.S.P. Ltd. System, data structure, and method for collapsing multi-dimensional data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US560662A (en) * 1896-05-26 Brush
US608848A (en) * 1898-08-09 Ice-tongs
US20070195996A1 (en) * 2006-02-22 2007-08-23 Fujifilm Corporation Characteristic point detection method, apparatus, and program
US20090324026A1 (en) * 2008-06-27 2009-12-31 Palo Alto Research Center Incorporated System and method for finding a picture image in an image collection using localized two-dimensional visual fingerprints
US20110158533A1 (en) * 2009-12-28 2011-06-30 Picscout (Israel) Ltd. Robust and efficient image identification

Non-Patent Citations (12)

* Cited by examiner, † Cited by third party
Title
"Distinctive image features from scale-invariant keypoints" by David G. Lowe, International Journal of computer vision, 2004.
Chandrasekhar V, et al., "SHoG: Compressed histogram of gradients a low bit-rate feature descriptor", CVPR 2009, pp. 2504-2511, 20 June 2009. *
Chandrasekhar V, et al., "Survey of SIFT Compression Schemes", ICPR 2010, Istanbul, Turkey, pp. 1-8, 23-26 August 2010. *
Chandrasekhar V. et al: "Survey of SIFT Compression Schemes", The Second International Workshop on Mobile Multimedia Processing in Conjunction with the 20th International Conference on Pattern Recognition" ICPR 2010; Istanbul, Turkey; August 23-26, 2010, 22 August 2010 (2010-08-22), pages 1-8.
H Jegou et al: "Product Quantization for Nearest Neighbor Search", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33, no. 1, 1 January 2011 (2011-01-01), pages 117-128.
H Jégou, et al., "Product Quantization for Nearest Neighbor Search", IEEE Trans. Pattern Anal. Mach. Intell., vol. 33., no. 1, pp. 117-128, January 2011.* *
Hongping Cai, et al., "Learning Weights for Codebook in Image Classification and Retrieval", CVPR 2010, San Francisco, CA, USA, pp. 2320-2327, 13 June 2010.* *
Jie Chen, et al., "Peking Compact Descriptor - PQ-SIFT", 98th MPEG MEETING, Geneva, Switzerland, Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11, no. m22620, 21 November 2011.* *
Jonathan Brandt, "Transform Coding for Fast Approximate Nearest Neighbor Search in High Dimensions", CVPR 2010, San Francisco, CA, USA, pp. 1815-1822, 13 June 2010.* *
S. Tsai, D. Chen, G. Takacs, V. Chandrasekhar, J. P. Singh, and B. Girod in "Location coding for mobile image retrieval", Proc. Int. Mobile Multimedia Conference (MobiMedia), 2009.
Skjalg Lepsoy, et al., "Statistical modelling of outiers for fast visual search", ICME 2011, pp. 1-6, 11 July 2011. *
Tsai, et al., "Location Coding for Mobile Image Retrieval", Proceedings of The 5th International Mobile Multimedia Communications Conference, pp. 1-7, 1 January 2009.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017116916A1 (en) * 2015-12-31 2017-07-06 Adaptive Computation, Llc Image integration search based on human visual pathway model

Also Published As

Publication number Publication date
US9412037B2 (en) 2016-08-09
AR089622A1 (es) 2014-09-03
EP2801055B1 (en) 2016-04-20
CN104160409B (zh) 2017-12-19
WO2013102503A1 (en) 2013-07-11
CN104160409A (zh) 2014-11-19
US20140363078A1 (en) 2014-12-11
KR101954395B1 (ko) 2019-03-05
EP2801055A1 (en) 2014-11-12

Similar Documents

Publication Publication Date Title
KR101954395B1 (ko) 이미지 분석을 위한 방법 및 시스템
KR101971114B1 (ko) 이미지 분석 방법 및 시스템
KR102049078B1 (ko) 이미지 분석
US20200184696A1 (en) Global signatures for large-scale image recognition
Simonyan et al. Learning local feature descriptors using convex optimisation
US9349072B2 (en) Local feature based image compression
US9420299B2 (en) Method for processing an image
KR20140045585A (ko) 피쳐 위치 정보의 코딩
US10445613B2 (en) Method, apparatus, and computer readable device for encoding and decoding of images using pairs of descriptors and orientation histograms representing their respective points of interest
US20220139085A1 (en) Method and apparatus for video frame processing
CN115631339A (zh) 视觉特征提取方法、装置及电子设备
Zhang et al. Blind image quality assessment based on local quantized pattern
Yan et al. Learning the histogram sequences of generalized local ternary patterns for blind image quality assessment

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