KR101648651B1 - 객체의 분류를 위한 방법, 장치 및 컴퓨터 프로그램 제품 - Google Patents

객체의 분류를 위한 방법, 장치 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR101648651B1
KR101648651B1 KR1020147017795A KR20147017795A KR101648651B1 KR 101648651 B1 KR101648651 B1 KR 101648651B1 KR 1020147017795 A KR1020147017795 A KR 1020147017795A KR 20147017795 A KR20147017795 A KR 20147017795A KR 101648651 B1 KR101648651 B1 KR 101648651B1
Authority
KR
South Korea
Prior art keywords
class
test object
threshold
classes
distance
Prior art date
Application number
KR1020147017795A
Other languages
English (en)
Other versions
KR20140097490A (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 KR20140097490A publication Critical patent/KR20140097490A/ko
Application granted granted Critical
Publication of KR101648651B1 publication Critical patent/KR101648651B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • G06V40/173Classification, e.g. identification face re-identification, e.g. recognising unknown faces across different face tracks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • 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/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

각종 예시적인 실시예에 따라, 방법, 장치 및 컴퓨터 프로그램 제품이 제공된다. 방법은 복수의 클래스를 포함하는 갤러리를 액세스하는 단계와, 복수의 클래스 중 클래스들 사이의 거리를 결정하는 단계와, 테스트 객체를 클래스로 분류하기 위해 갤러리의 하나 이상의 클래스에 대한 임계치를 결정하는 단계를 포함하며, 클래스에 대한 임계치는 복수의 클래스 중 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정된다. 장치는 적어도 하나의 프로세서 및 적어도 하나의 메모리를 포함하며, 장치가 복수의 클래스를 포함하는 갤러리를 액세스하고, 복수의 클래스 중 클래스들 사이의 거리를 결정하고, 테스트 객체를 클래스로 분류하기 위해 갤러리의 하나 이상의 클래스에 대한 임계치를 결정하는 것을 수행하도록 하고, 클래스에 대한 임계치는 갤러리의 나머지 클래스로부터 당해 클래스의 거리에 근거하여 결정된다.

Description

객체의 분류를 위한 방법, 장치 및 컴퓨터 프로그램 제품{METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR CLASSIFICATION OF OBJECTS}
각종 구현예는 전반적으로 객체(object) 인식 및 분류를 위한 방법, 장치 및 컴퓨터 프로그램 제품에 관한 것이다.
카메라와 같은 각종 전자 디바이스, 모바일 폰 및 다른 디바이스는 이미지, 비디오, 애니메이션과 같은 매체 컨텐츠를 프로세싱하는 능력을 갖는다. 매체 컨텐츠 프로세싱 애플리케이션의 몇몇은 이들 디바이스에 의해 캡쳐되거나 수신되는 객체의 인식 및 분류를 포함할 수 있다. 객체는 주로 2 가지 방식으로, 즉 폐쇄형 세트 분류(closed set classification) 및 개방형 세트 분류(open set classification)로 분류된다. 폐쇄형 세트 분류에서, 객체는 알려진 클래스인 이미 트레이닝된(trained) 클래스 중 하나로 강제적으로 분류된다. 개방형 세트 분류에서, 알려지지 않은/트레이닝되지 않은 클래스에 속하는 객체는 트레이닝된 클래스 중 어느 것에도 속하는 않는 것으로 분류된다. 예를 들어, 개방형 세트 얼굴(face) 인식에서, 트레이닝된 얼굴의 갤러리(gallery)가 존재할 수 있고, 분류되는 사람의 얼굴이 갤러리에 존재하지 않을 경우, 디바이스는 얼굴이 갤러리의 어떠한 클래스에도 속하지 않는 것으로 정확하게 판정해야 한다.
예시적인 실시예의 각종 측면이 특허청구범위에 개시되어 있다.
제 1 측면에서, 복수의 클래스를 포함하는 갤러리를 액세스하는 단계와, 상기 복수의 클래스 중 클래스들 사이의 거리를 결정하는 단계와, 하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 상기 갤러리의 상기 하나 이상의 클래스에 대한 임계치를 결정하는 단계로서, 클래스에 대한 임계치는 상기 복수의 클래스 중 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정되는, 상기 결정하는 단계를 포함하는 방법이 제공된다.
제 2 측면에서, 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하며, 상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 장치가, 복수의 클래스를 포함하는 갤러리를 액세스하고, 상기 복수의 클래스 중 클래스들 사이의 거리를 결정하고, 하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 상기 갤러리의 상기 하나 이상의 클래스에 대한 임계치를 결정하되, 클래스에 대한 임계치는 상기 복수의 클래스 중 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정되는 것을 적어도 수행하도록 하는 장치가 제공된다.
제 3 측면에서, 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의해 실행되는 경우, 장치로 하여금 적어도 상기 인스트럭션은, 복수의 클래스를 포함하는 갤러리를 액세스하는 단계와, 상기 복수의 클래스 중 클래스들 사이의 거리를 결정하는 단계와, 하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 상기 갤러리의 상기 하나 이상의 클래스에 대한 임계치를 결정하는 단계로서, 클래스에 대한 임계치는 상기 복수의 클래스 중 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정되는, 상기 결정하는 단계를 수행하도록 하는 인스트럭션 세트를 포함하는 컴퓨터 프로그램 제품이 제공된다.
제 4 측면에서, 복수의 클래스를 포함하는 갤러리를 액세스하는 수단과, 상기 복수의 클래스 중 클래스들 사이의 거리를 결정하는 수단과, 하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 상기 갤러리의 상기 하나 이상의 클래스에 대한 임계치를 결정하는 수단으로서, 클래스에 대한 임계치는 상기 복수의 클래스 중 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정되는, 상기 결정하는 수단을 포함하는 장치가 제공된다.
제 5 측면에서, 프로그램 인스트럭션을 포함하는 컴퓨터 프로그램으로서, 상기 프로그램 인스트럭션은 장치에 의해 실행되는 경우, 장치로 하여금, 복수의 클래스를 포함하는 갤러리를 액세스하는 단계와, 상기 복수의 클래스 중 클래스들 사이의 거리를 결정하는 단계와, 하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 상기 갤러리의 상기 하나 이상의 클래스에 대한 임계치를 결정하는 단계로서, 클래스에 대한 임계치는 상기 복수의 클래스 중 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정되는, 상기 결정하는 단계를 수행하도록 하는 컴퓨터 프로그램이 제공된다.
각종 실시예는 예시를 위해 도시된 것으로서, 제한하기 위해 도시된 것은 아니며, 첨부 도면에서
도 1은 예시적인 실시예에 따른 디바이스를 도시하고,
도 2는 예시적인 실시예에 따른 테스트 객체를 분류하는 장치를 도시하고,
도 3(a)는 예시적인 실시예에 따른 2 차원 부분 공간 표시(subspace representation)에서 클래스 및 테스트 객체의 예시적인 표시를 도시하고,
도 3(b)는 다른 예시적인 실시예에 따른 2 차원 부분 공간 표시에서 클래스 및 테스트 객체의 예시적인 표시를 도시하고,
도 4는 예시적인 실시예에 따른 예시적인 방법을 도시하는 플로우차트이고,
도 5는 다른 예시적인 실시예에 따라 테스트 객체를 분류하는 예시적인 방법을 도시하는 플로우차트이고,
도 6은 다른 예시적인 실시예에 따라 테스트 객체를 분류하는 예시적인 방법을 도시하는 플로우차트이다.
예시적인 실시예 및 그 잠재적인 효과는 도면의 도 1 내지 도 6을 참조하여 이해된다.
도 1은 예시적인 실시예에 따른 디바이스(100)를 도시한다. 그러나, 이하에서 도시되고 기술된 바와 같은 디바이스(100)는 각종 실시예로부터 장점을 얻을 수 있는 한 유형의 디바이스를 단지 예시하기 위한 것이고, 따라서 실시예의 범위를 제한하도록 취해져서는 안 된다. 이와 같이, 디바이스(100)와 결합하여 이하에서 기술되는 구성요소의 적어도 몇몇은 선택적이며 따라서 예시적인 실시예에서 도 1의 예시적인 실시예와 결합하여 기술된 것보다 많거나, 적거나 또는 상이한 구성요소를 포함할 수 있다. 디바이스(100)는 임의의 다수의 유형의 모바일 전자 디바이스, 예를 들어, PDA(portable digital assistants), 페이저, 모바일 텔레비전, 게임 디바이스, 셀룰라 폰, 모든 유형의 컴퓨터(예를 들어, 랩탑, 모바일 컴퓨터 또는 데스크탑), 카메라, 오디오/비디오 플레이어, 무선장치(radios), GPS(global positioning system) 디바이스, 모바일 플레이어, 모바일 디지털 어시스턴트, 또는 상기한 디바이스의 임의의 조합 및 다른 유형의 통신 디바이스일 수 있다.
디바이스(100)는 송신기(104) 및 수신기(106)와 통신하여 동작 가능한 안테나(102)(또는 복수의 안테나)를 포함할 수 있다. 디바이스(100)는 제어기(108)와 같은 장치 또는 송신기(104) 및 수신기(106)에 신호를 제공하고 송신기(104) 및 수신기(106)로부터 신호를 수신하는 다른 프로세싱 디바이스를 더 포함할 수 있다. 신호는 적용 가능한 셀룰라 시스템의 인터페이스 표준에 따라 시그널링 정보를 포함할 수 있고, 및/또는 사용자 음성에 대응하는 데이터, 수신된 데이터 및/또는 사용자에 의해 생성된 데이터를 또한 포함할 수 있다. 이러한 관점에서, 디바이스(100)는 하나 이상의 무선 인터페이스 표준, 통신 프로토콜, 변조 유형 및 액세스 유형과 함께 동작할 수 있다. 예시로서, 디바이스(100)는 임의의 다수의 제 1, 제 2, 제 3 및/또는 제 4 세대 통신 프로토콜 등에 따라 동작할 수 있다. 예를 들어, 디바이스(100)는 IS-136(TDMA((time division multiple access)), GSM(global system for mobile communication) 및 IS-95(CDMA(code division multiple access))와 같은 2G(second-generation) 무선 통신 프로토콜에 따라, 또는 UMTS(Universal Mobile Telecommunications System), CDMA1000, 광대역 CDMA(WCDMA) 및 시분할 동기 CDMA(TD-SCDMA)와 같은 3G(third-generation) 무선 통신 프로토콜에 따라, 또는 E-UTRAN(evolved- universal terrestrial radio access network)과 같은 3.9G 무선 통신 프로토콜에 따라, 또는 4G(fourth-generation) 무선 통신 프로토콜 등에 따라 동작할 수 있다. 대안으로서(또는 추가적으로), 디바이스(100)는 비(non)셀룰라 통신 메커니즘에 따라 동작할 수 있다. 예를 들어, 인터넷, LAN(local area network), 광대역 네트워크 등과 같은 컴퓨터 네트워크, Bluetooth® 네트워크, Zigbee® 네트워크, IEEE(Institute of Electric and Electronic Engineers) 802.11x 네트워크 등과 같은 짧은 범위 무선 통신 네트워크, 및 PSTN(public switched telephone network)과 같은 유선 원거리 네트워크를 들 수 있다.
제어기(108)는 특히, 디바이스(100)의 오디오 및 논리 기능을 구현하는 회로를 포함할 수 있다. 예를 들어, 제어기(108)는 하나 이상의 디지털 신호 프로세서 디바이스, 하나 이상의 마이크로프로세서 디바이스, 디지털 신호 프로세서(들)를 수반하는 하나 이상의 프로세서(들), 디지털 신호 프로세서(들)를 수반하지 않는 하나 이상의 프로세서(들), 하나 이상의 특수용 컴퓨터 칩, 하나 이상의 FPGA(field-programmable gate arrays), 하나 이상의 제어기, 하나 이상의 ASIC(application-specific integrated circuits), 하나 이상의 컴퓨터(들), 각종 아날로그/디지털 변환기, 디지털/아날로그 변환기, 및/또는 다른 지원 회로를 포함할 수 있으며 이들로 제한되지 않는다. 디바이스(100)의 제어 및 신호 프로세싱 기능은 그 각각의 능력에 따라 이들 디바이스 사이에 할당된다. 제어기(108)는 변조 및 송신 이전에 메시지 및 데이터를 콘볼루션 인코딩하고 인터리브하기 위한 기능을 또한 포함할 수 있다. 제어기(108)는 내부 음성 코더를 추가적으로 포함할 수 있고, 내부 데이터 모뎀을 포함할 수 있다. 또한, 제어기(108)는 메모리에 저장될 수 있는 하나 이상의 소프트웨어 프로그램을 동작시키기 위한 기능을 포함할 수 있다. 예를 들어, 제어기(108)는 통상적인 웹 브라우저와 같은 접속 프로그램을 동작시킬 수 있다. 접속 프로그램은 WAP(Wireless Application Protocol), HTTP(Hypertext Transfer Protocol) 등에 따라, 디바이스(100)가 위치 기반형 컨텐츠 및/또는 다른 웹 페이지 컨텐츠와 같은 웹 컨텐츠를 송신하고 수신할 수 있게 한다. 예시적인 실시예에서, 제어기(108)는 듀얼 또는 쿼드(quad) 코어 프로세서와 같은 멀티 코어 프로세서로서 구현될 수 있다. 그러나, 임의의 다수의 프로세서가 제어기(108)에 포함될 수 있다.
디바이스(100)는 링어(110), 이어폰 또는 스피커(112), 마이크로폰(114), 디스플레이(116)와 같은 출력 디바이스, 및 제어기(108)에 결합될 수 있는 사용자 입력 인터페이스를 포함하는 사용자 인터페이스를 또한 포함할 수 있다. 디바이스(100)가 데이터를 수신하도록 하는 사용자 입력 인터페이스는 키패드(118), 터치 디스플레이, 마이크로폰 또는 다른 입력 디바이스와 같이, 디바이스(100)가 데이터를 수신하도록 하는 임의의 다수의 디바이스를 포함할 수 있다. 키패드(118)를 포함하는 실시예에서, 키패드(118)는 숫자(0-9) 및 관련 키(#,*), 및 디바이스(100)를 동작시키는데 사용된 다른 하드 및 소프트 키를 포함할 수 있다. 대안적으로 또는 추가적으로, 키패드(118)는 통상적인 QWERTY 키패드 배치를 포함할 수 있다. 키패드(118)는 연관 기능을 갖는 각종 소프트 키를 또한 포함할 수 있다. 추가적으로 또는 대안적으로, 디바이스(100)는 조이스틱 또는 다른 사용자 입력 인터페이스와 같은 인터페이스 디바이스를 포함할 수 있다. 디바이스(100)는, 디바이스(100)를 동작시키는데 사용되는 각종 회로에 전원 공급할 뿐만 아니라, 검출 가능한 출력으로서 기계적인 진동을 선택적으로 제공하는 진동 배터리 팩과 같은 배터리(120)를 더 포함한다.
예시적인 실시예에서, 디바이스(100)는 제어기(108)와 통신하는, 카메라, 비디오 및/또는 오디오 모듈과 같은 매체 캡쳐링 요소를 포함한다. 매체 캡쳐링 요소는 저장, 디스플레이 또는 송신을 위한 이미지, 비디오 및/또는 오디오를 캡쳐하는 임의의 수단일 수 있다. 매체 캡쳐링 요소가 카메라 모듈(122)인 예시적인 실시예에서, 카메라 모듈(122)은 캡쳐된 이미지로부터 디지털 이미지 파일을 형성할 수 있는 디지털 카메라를 포함할 수 있다. 이와 같이, 카메라 모듈(122)은 렌즈 또는 다른 광학 구성요소(들)와 같은 모든 하드웨어, 및 캡쳐된 이미지로부터 디지털 이미지 파일을 생성하는 소프트웨어를 포함한다.
이와 달리, 카메라 모듈(122)은 이미지를 뷰(view)하는데 필요한 하드웨어를 포함할 수 있고, 디바이스(100)의 메모리 디바이스는 캡쳐된 이미지로부터 디지털 이미지 파일을 생성하기 위한 소프트웨어의 형태로 제어기(108)에 의해 실행되는 인스트럭션을 저장한다. 예시적인 실시예에서, 카메라 모듈(122)은 이미지 데이터를 프로세스함에 있어 제어기(108)를 지원하는 코프로세서, 및 이미지 데이터를 압축하고 및/또는 압축 해제하는 인코더 및/또는 디코더와 같은 프로세싱 요소를 더 포함할 수 있다. 인코더 및/또는 디코더는 JPEG 표준 포맷 또는 다른 동일한 포맷에 따라 인코딩 및/또는 디코딩할 수 있다. 비디오의 경우, 인코더 및/또는 디코더는, 예를 들어, H.26l, H.262/MPEG-2, H.263, H.264, H.264/MPEG-4, MPEG-4 등과 연관된 표준과 같은 임의의 복수의 표준 포맷을 채용할 수 있다. 몇몇 경우에서, 카메라 모듈(122)은 디스플레이(116)에 라이브 이미지 데이터를 제공할 수 있다. 또한, 예시적인 실시예에서, 디스플레이(116)는 디바이스(100)의 한 측면 상에 위치할 수 있고, 카메라 모듈(122)은 디스플레이(116)에 대해 디바이스(100)의 대향하는 측면 상에 위치하는 렌즈를 포함하여 카메라 모듈(122)이 디바이스(100)의 한 측면 상에서 이미지를 캡쳐하고 디바이스(100)의 다른 측면 상에 위치하는 사용자에 이러한 이미지의 뷰를 제공할 수 있다.
디바이스(100)는 사용자 아이덴티티 모듈(user identity module : UIM)(124)을 더 포함할 수 있다. UIM(124)은 내장된 프로세서를 갖는 메모리 디바이스일 수 있다. UIM(124)은, 예를 들어, SIM(subscriber identity module), UICC(universal integrated circuit card), USIM(universal subscriber identity module), R-UIM(removable user identity module), 또는 임의의 다른 스마트 카드를 포함할 수 있다. UIM(124)은 전형적으로 모바일 가입자에 관한 정보 요소를 저장한다. UIM(124)에 부가하여, 디바이스(100)에는 메모리가 설치될 수 있다. 예를 들어, 디바이스(100)는 데이터의 임시 저장을 위한 캐쉬 영역을 포함하는 휘발성 RAM(random access memory)과 같은 휘발성 메모리(126)를 포함할 수 있다. 디바이스(100)는 내장될 수 있고 및/또는 제거 가능한 다른 비휘발성 메모리(128)를 또한 포함할 수 있다. 비휘발성 메모리(128)는 EEPROM(electrically erasable programmable read only memory), 플래시 메모리, 하드 드라이브 등을 추가적으로 또는 대안적으로 포함할 수 있다. 메모리는 디바이스(100)의 기능을 구현하기 위해 디바이스(100)에 의해 사용되는 임의의 다수의 정보 및 데이터를 저장할 수 있다.
도 2는 예시적인 실시예에 따른 테스트 객체를 분류하는 장치(200)를 도시한다. 장치(200)는, 예를 들어, 도 1의 디바이스(100)에서 채용될 수 있다. 그러나, 장치(200)는 이동형 및 고정형인 다양한 다른 디바이스 상에서 또한 채용될 수 있고, 따라서, 실시예는 도 1의 디바이스(100)와 같은 디바이스 상에서의 애플리케이션으로 제한되지 않는다. 예시적인 실시예에서, 장치(200)는 통신 디바이스의 예일 수 있는 모바일 폰이다. 대안적으로 또는 추가적으로, 실시예는, 예를 들어, 상기 열거된 것을 포함하는 디바이스의 조합에서 채용될 수 있다. 따라서, 각종 실시예는 전체적으로 단일의 디바이스, 예를 들어, 디바이스(100)에서 채용될 수 있거나 또는 디바이스 조합에서 채용될 수 있다. 이하에 기술된 몇몇 디바이스 또는 요소는 필수적인 것은 아니며 몇몇은 특정의 실시예에서 생략될 수 있음에 주목해야 한다.
장치(200)는 적어도 하나의 프로세서(202) 및 적어도 하나의 메모리(204)를 포함하거나 또는 이와 달리 이들과 통신한다. 적어도 하나의 메모리(204)의 예는 휘발성 및/또는 비휘발성 메모리를 포함하며, 이들로 제한되지 않는다. 휘발성 메모리의 몇몇 예는 RAM(random access memory), DRAM(dynamic random access memory), SRAM(static random access memory) 등을 포함하며, 이들로 제한되지 않는다. 비휘발성 메모리의 몇몇 예는 하드 디스크, 자기 테이프, 광학 디스크, PROM(programmable read only memory), EPROM(erasable programmable read only memory), EEPROM(electrically erasable programmable read only memory), 플래시 메모리 등을 포함하며, 이들로 제한되지 않는다. 메모리(204)는 장치(200)가 각종 예시적인 실시예에 따라 각종 기능을 수행할 수 있도록 하는 정보, 데이터, 애플리케이션, 인스트럭션 등을 저장하도록 구성될 수 있다. 예를 들어, 메모리(204)는 프로세서(202)에 의해 프로세싱하기 위한 매체 컨텐츠를 포함하는 입력 데이터를 버퍼링하도록 구성될 수 있다. 추가적으로 또는 대안적으로, 메모리(204)는 프로세서(202)에 의해 실행하기 위한 인스트럭션을 저장하도록 구성될 수 있다.
프로세서(202)의 예는 제어기(108)를 포함할 수 있다. 프로세서(202)는 다수의 상이한 방식으로 구현될 수 있다. 프로세서(202)는 멀티 코어 프로세서, 단일 코어 프로세서, 또는 멀티 코어 프로세서와 단일 코어 프로세서의 조합으로서 구현될 수 있다. 예를 들어, 프로세서(202)는 코프로세서, 마이크로프로세서, 제어기, 디지털 신호 프로세서(DSP), 그래픽 프로세싱 유닛(GPU), 동반하는 DSP를 갖거나 갖지 않는 프로세싱 회로와 같은 각종 프로세싱 수단, 또는, 예를 들어, ASIC(application specific integrated circuit), FPGA(field programmable gate array), MCU(microcontroller unit), 하드웨어 가속장치, 특수용 컴퓨터 칩 등과 같은 집적 회로를 포함하는 각종 다른 프로세싱 디바이스 중 하나 이상으로서 구현될 수 있다. 예시적인 실시예에서, 멀티 코어 프로세서는 메모리(204)에 저장되거나 또는 이와 달리 프로세서(202)에 액세스 가능한 인스트럭션을 실행하도록 구성될 수 있다. 대안적으로 또는 추가적으로, 프로세서(202)는 하드 코딩된 기능을 실행하도록 구성될 수 있다. 그러므로, 하드웨어 또는 소프트웨어 방법에 의해, 또는 그 조합에 의해 구성되는지에 관계없이, 프로세서(202)는 각종 실시예에 따라 동작을 수행할 수 있고, 그에 따라 구성되는, 예를 들어, 회로에 물리적으로 구현되는, 개체를 나타낼 수 있다. 예를 들어, 프로세서(202)가 ASIC, FPGA 등 중 2개 이상으로서 구현되는 경우, 프로세서(202)는 본 명세서에서 기술된 동작을 수행하는 특별히 구성된 하드웨어일 수 있다. 이와 달리, 다른 예로서, 프로세서(202)가 소프트웨어 인스트럭션의 실행자로서 구성되는 경우, 인스트럭션이 실행되는 경우 인스트럭션은 본 명세서에서 기술된 알고리즘 및/또는 동작을 수행하도록 프로세서(202)를 특별히 구성할 수 있다. 그러나, 몇몇 경우에서, 프로세서(202)는 특정의 디바이스, 예를 들어, 본 명세서에서 기술된 알고리즘 및/또는 동작을 수행하는 인스트럭션에 의해 프로세서(202)의 또 다른 구성에 의한 실시예를 구현하도록 적응된 이동 단말 또는 네트워크 디바이스의 프로세서일 수 있다. 프로세서(202)는, 특히 프로세서(202)의 동작을 지원하도록 구성된 클록, ALU(arithmetic logic unit), 및 논리 게이트를 포함할 수 있다.
사용자 인터페이스(206)는 프로세서(202)와 통신할 수 있다. 사용자 인터페이스(206)의 예는 입력 인터페이스 및/또는 출력 사용자 인터페이스를 포함하며, 이들로 제한되지 않는다. 입력 인터페이스는 사용자 입력의 표시를 수신하도록 구성된다. 출력 사용자 인터페이스는 청각적, 시각적, 기계적 또는 다른 출력 및/또는 피드백을 사용자에 제공한다. 입력 인터페이스의 예는 키보드, 마우스, 조이스틱, 키패드, 터치 스크린, 소프트 키 등을 포함할 수 있으며, 이들로 제한되지 않는다. 출력 사용자 인터페이스의 예는 발광 다이오드 디스플레이, 박막 트랜지스터(TFT) 디스플레이, 액정 디스플레이, AMOLED(active-matrix organic light-emitting diode) 디스플레이와 같은 디스플레이, 마이크로폰, 스피커, 링어, 진동자 등을 포함할 수 있으며, 이들로 제한되지 않는다. 예시적인 실시예에서, 사용자 인터페이스(206)는 다른 디바이스 또는 요소 중에서, 임의의 또는 모든 스피커, 마이크로폰, 디스플레이 및 키보드, 터치 스크린 등을 포함할 수 있다. 이러한 관점에서, 예를 들어, 프로세서(202)는, 예를 들어, 스피커, 링어, 마이크로폰, 디스플레이 등과 같은 사용자 인터페이스(206)의 하나 이상의 요소의 적어도 몇몇 기능을 제어하도록 구성된 사용자 인터페이스 회로를 포함할 수 있다. 프로세서(202) 및/또는 프로세서(202)를 포함하는 사용자 인터페이스 회로는, 프로세서(202)에 액세스할 수 있는 메모리, 예를 들어, 적어도 하나의 메모리(204) 등에 저장된 컴퓨터 프로그램 인스트럭션, 예를 들어, 소프트웨어 및/또는 펌웨어를 통해, 사용자 인터페이스(206)의 하나 이상의 요소의 하나 이상의 기능을 제어하도록 구성될 수 있다.
예시적인 실시예에서, 장치(200)는 전자 디바이스를 포함할 수 있다. 전자 디바이스의 몇몇 예는 통신 디바이스, 통신 능력을 갖는 매체 캡쳐링 디바이스, 컴퓨팅 디바이스 등을 포함한다. 통신 디바이스의 몇몇 예는 모바일 폰, PDA(personal digital assistant) 등을 포함할 수 있다. 컴퓨팅 디바이스의 몇몇 예는 랩탑, 퍼스널 컴퓨터 등을 포함할 수 있다. 예시적인 실시예에서, 통신 디바이스는 디스플레이의 사용을 통해 통신 디바이스의 적어도 하나의 기능을 사용자가 제어하는 것을 용이하게 하도록 구성되고 사용자 입력에 응답하도록 또한 구성되는 사용자 인터페이스 회로 및 사용자 인터페이스 소프트웨어를 갖는 사용자 인터페이스, 예를 들어, UI(206)를 포함할 수 있다. 예시적인 실시예에서, 통신 디바이스는, 통신 디바이스의 사용자 인터페이스의 적어도 일부분을 디스플레이하도록 구성된 디스플레이 회로를 포함할 수 있다. 디스플레이 및 디스플레이 회로는 통신 디바이스의 적어도 하나의 기능을 사용자가 제어하는 것을 용이하게 하도록 구성될 수 있다.
예시적인 실시예에서, 통신 디바이스는 트랜시버를 포함하는 것으로서 구현될 수 있다. 트랜시버는 소프트웨어에 따라 또는 이와 달리 하드웨어 또는 하드웨어와 소프트웨어의 조합으로 구현되어 동작하는 임의의 디바이스 또는 회로일 수 있다. 예를 들어, 소프트웨어 제어 하에서 동작하는 프로세서(202), 또는 본 명세서에서 기술된 동작, 또는 그 조합을 수행하도록 특별히 구성된 ASIC 또는 FPGA로서 구현된 프로세서(202)는 트랜시버의 기능을 수행하도록 장치 또는 회로를 구성한다. 트랜시버는 매체 컨텐츠를 수신하도록 구성될 수 있다. 매체 컨텐츠의 예는 오디오 컨텐츠, 비디오 컨텐츠, 데이터, 및 그의 조합을 포함할 수 있다.
예시적인 실시예에서, 통신 디바이스는 이미지 센서(208)와 같은 이미지 센서를 포함하는 것으로서 구현될 수 있다. 이미지 센서(208)는 프로세서(202) 및/또는 장치(200)의 다른 구성요소와 통신할 수 있다. 이미지 센서(208)는 다른 이미징 회로 및/또는 소프트웨어와 통신하고, 디지털 이미지를 캡쳐하거나 비디오 또는 다른 그래픽 매체 파일을 형성하도록 구성된다. 이미지 센서(208) 및 다른 회로는 결합하여, 디바이스(100)의 카메라 모듈(122)의 예일 수 있다.
이들 구성요소(202-208)는 복수의 클래스를 포함하는 갤러리에서 테스트 객체의 분류를 수행하도록 중앙 회로(210)를 통해 서로 간에 통신할 수 있다. 중앙 회로 시스템(210)은 특히, 장치(200)의 구성요소들(202-208) 사이의 통신을 제공하거나 통신을 가능하게 하도록 구성된 각종 디바이스일 수 있다. 특정의 실시예에서, 중앙 회로 시스템(210)은 마더보드, 메인 보드, 시스템 보드, 또는 로직 보드와 같은 중앙 인쇄 회로 기판(PCB)일 수 있다. 중앙 회로 시스템(210)은 또한, 또는 이와 달리 다른 인쇄 회로 조립체(printed circuit assemblies : PCA) 또는 통신 채널 매체일 수 있다.
예시적인 실시예에서, 프로세서(202)는 메모리(204)의 컨텐츠와 함께, 선택적으로는 본 명세서에서 기술된 다른 구성요소와 함께, 장치(200)가 객체의 개방형 세트 분류 및 폐쇄형 세트 분류를 수행하도록 구성된다. 예시적인 실시예에서, 테스트 객체의 개방형 세트 분류는 테스트 객체를 갤러리에서 이미 트레이닝되는 클래스로 분류하는 것을 지칭한다. 일 예시적인 실시예에서, 개방형 세트 분류에서, 장치(200)는 테스트 객체가 갤러리에서의 임의의 클래스에 속하지 않는지를 판정하도록 구성되고, 예시적인 실시예에서, 장치(200)는 테스트 객체가 트레이닝된 클래스에 속하지 않도록 테스트 객체를 분류하도록 구성된다. 예를 들어, 테스트 객체는 트레이닝되지 않은 클래스로 분류될 수 있고, 갤러리에서 새로운 클래스로서 추가될 수 있다.
갤러리는 데이터베이스 또는, 예를 들어, 장치(200) 내의 메모리(204) 및/또는 장치(200) 외부에 있고 프로세서(202)에 의해 액세스 가능하고/제어되는 하나 이상의 저장 위치일 수 있다. 몇몇 형태에서, 갤러리는 컨텐츠의 집합체, 예를 들어, 복수의 객체의 이미지를 또한 지칭할 수 있으며, 이러한 컨텐츠는 하나 이상의 메모리 위치에 저장된다. 예를 들어, 갤러리(복수의 이미지와 연관된 클래스의 집합체)는 메모리(204)와 같은 장치(200) 내의 하나 이상의 저장 위치, 또는 장치(200) 외부의 하나 이상의 저장 위치에 저장될 수 있다. 예시적인 실시예에서, 갤러리의 클래스는 트레이닝된 클래스이다. 예시적인 실시예에서, 갤러리에 저장되어 있거나 또는 갤러리를 형성하는 트레이닝된 클래스는 이미 알려져 있는 클래스이다. 예를 들어, 트레이닝된 클래스는 알려진 객체의 하나 이상의 표시와 연관될 수 있다. 객체의 예는 사람, 자동차, 말, 책, 경기장, 산 등과 같은 인간의 눈에 가시적인 임의의 생물 또는 무생물 개체를 포함할 수 있다. 몇몇 사례에서, 클래스는 개별적인 사람, 예를 들어, '존' 또는 '루시'와 같은 특정의 객체, 또는 럭비에 관련된 경기장과 같은 특정의 경기장에 대응할 수 있다. 그러나, 몇몇 사례에서, 클래스는 금발 외모를 갖는 사람, 또는 축구, 럭비, 하키, 테니스 등과 같은 다수의 실외 스포츠에 관련되는 경기장과 같은 유사한 객체에 대응할 수 있다. 예를 들어, 각종 뷰에서 복수의 경기장의 이미지는 갤러리에서 '경기장'으로 명명된 단일의 클래스로서 저장될 수 있다.
각종 예시적인 실시예는 테스트 객체의 개방형 세트 분류를 갤러리의 알려진(트레니닝된) 클래스로, 또는 트레이닝되지 않은 클래스로 수행하는 방법 및 시스템을 제공한다. 몇몇 예시적인 실시예는 테스트 객체의 폐쇄형 세트 분류를 갤러리의 알려진 클래스로 수행하는 방법 및 시스템을 또한 제공한다. 테스트 객체는 갤러리의 클래스에 대응하는 객체일 수 있고, 특정의 사례에서, 테스트 객체는 갤러리에 존재하는 클래스에 대응할 수 없고 이에 따라 트레이닝되지 않은 클래스로 분류되거나 또는 분류되지 않는다. 예시적인 실시예에서, 테스트 객체를 트레이닝되지 않은 클래스로 분류하는 것은 테스트 객체가 갤러리의 트레이닝된 클래스로 분류되지 않는다는 것을 나타낸다. 몇몇 형태에서, 테스트 객체는 비디오, 애니메이션 및 다른 그래픽 파일과 같은 멀티미디어 컨텐츠로부터 수신될 수 있다. 테스트 객체는 사람의 얼굴 또는 임의의 다른 생물 또는 무생물 객체와 같은 임의의 객체일 수 있다. 몇몇 형태에서, 테스트 객체는 장치(200)의 이미지 센서(208)를 이용하여 또한 캡쳐될 수 있다.
예시적인 실시예에서, 프로세서(202)는 메모리(204)의 컨텐츠와 함께, 선택적으로는 본 명세서에서 기술된 다른 구성요소와 함께, 장치(200)가 복수의 클래스를 포함하는 갤러리를 액세스하도록 구성된다. 예시적인 실시예에서, 프로세서(202)는 메모리(204)의 컨텐츠와 함께, 선택적으로는 본 명세서에서 기술된 다른 구성요소와 함께, 장치(200)가 복수의 클래스에서 클래스들 사이의 거리를 결정하도록 구성된다. 예시적인 실시예에서, 갤러리의 클래스의 상이한 쌍 사이의 각종 거리가 결정될 수 있다. 예를 들어, 주어진 클래스에 대해, 복수의 클래스 중 적어도 하나의 다른 클래스와의 거리가 결정될 수 있다. 예시적인 실시예에서, 클래스에 대해, 갤러리의 복수의 클래스의 각각으로부터의 거리가 결정된다. 각종 예시적인 실시예의 범위를 제한하지 않고, 2개의 클래스들 사이의 거리는 2개의 클래스들 사이의 부분 공간 거리를 나타낼 수 있다. 클래스에 대한 부분 공간이, 예를 들어, 선형 대수로 결정될 수 있다. 예를 들어, 클래스는 '존'과 같은 사람의 얼굴의 전면 뷰, 측면 뷰와 같은 동일한 객체의 하나 이상의 표시에 근거하여 모델링될 수 있다. 특정의 예시적인 실시예에서, 부분 공간은 '존'의 얼굴의 하나 이상의 표시에 근거하여 계산될 수 있다. 특정의 사례에서, 2개의 클래스들, 예를 들어, 2개의 얼굴들 사이의 부분 공간 거리를 결정하기 위해, '상호 부분 공간 방법' 등과 같은 방법이 사용될 수 있다. 예시적인 실시예에서, 2개의 클래스들 사이의 부분 공간 거리는 두 부분 공간들 사이의 평균 거리일 수 있다. 다른 예시적인 실시예에서, 2개의 클래스들 사이의 거리는 2개의 클래스들 사이의 유사성/매칭 정도와 같은 다른 거리 척도로 결정될 수 있다. 한 형태에서, 유사성의 정도는 2개의 클래스의 특성 기반의 매칭(feature based matching), 템플릿 기반의 매칭(template based matching), 전체적 또는 부분적인 픽셀 패턴 매칭에 의해 결정될 수 있다. 2개의 부분 공간들 사이의 거리의 다른 예는 커넬 주요 구성요소 분석 기반의 거리, 주요 각도 등을 포함한다.
예시적인 실시예에서, 프로세서(202)는 메모리(204)의 컨텐츠와 함께, 선택적으로는 본 명세서에서 기술된 다른 구성요소와 함께, 장치(200)가 갤러리의 하나 이상의 클래스에 대한 임계치를 결정하도록 구성된다. 예시적인 실시예에서, 하나 이상의 클래스에 대한 임계치는 테스트 객체가 클래스로 분류될 수 있는지 여부를 판정하는데 사용된다. 예시적인 실시예에서, 장치(200)는 적응적 방식으로 갤러리의 각각의 클래스에 대한 임계치를 결정하도록 한다. 예시적인 실시예에서, 클래스에 대한 임계치는 복수의 클래스 중의 적어도 하나의 나머지 클래스로부터의 당해 클래스의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정된다. 예를 들어, 예시적인 실시예에서, 장치(200)는 적어도 하나의 거리의 (최소 부분 공간 거리와 같은) 최소 거리를 결정하고, 클래스에 대한 임계치를 최적 거리의 실질적으로 절반인 것으로서 선택함으로써 클래스에 대한 임계치를 결정하도록 한다.
예를 들어, 갤러리에 등록된/존재하는 N개의 클래스가 존재하는 경우, 다음과 같이 나타내어질 수 있는 상이한 클래스(λi 및 λj) 쌍 사이의 부분 공간 거리가 결정될 수 있다.
Figure 112014060458226-pct00001
, 여기서 i = 1 내지 N, j = 1 내지 N, i는 j와 같지 않음.
예시적인 실시예에서, i번째 클래스(λi)에 대해, 임계치는 min {d(λi,λj)}에 근거하여 결정될 수 있으며, 최소 거리는 j = 1 내지 N에서 결정되고, j는 i와 같지 않다. 예를 들어, i번째 클래스에 대한 임계치는 다음과 같은 수식에서의 최소 부분 공간 거리의 실질적으로 절반일 수 있다.
Figure 112014060458226-pct00002
여기서 최소값은 j = 1 내지 N에서의 값이고, j는 i와 같지 않다.
몇몇 예시적인 실시예에서, i번째 클래스에 대한 임계치는 최소 부분 공간 거리의 실질적으로 절반일 수 있다. 예시적인 실시예에서, 갤러리의 각각의 클래스에 대해, 갤러리의 임의의 다른 클래스와의 그 가장 근접한 거리에 근거하여 대응하는 임계치가 결정되고, 그에 따라 각각의 클래스는 본질적으로 적응적인 별개의 임계치를 가질 수 있다.
예시적인 실시예에서, 장치(200)는 갤러리의 하나 이상의 클래스에 대해 결정된 임계치에 근거하여 테스트 객체를 분류하도록 한다. 예시적인 실시예에서, 장치(200)는 비디오, 사진, 애니메이션 또는 다른 그래픽 컨텐츠와 같은 멀티미디어 컨텐츠로부터 테스트 객체를 액세스할 수 있다. 몇몇 예시적인 실시예에서, 테스트 객체는 외부 디바이스로부터의 장치에 의해 액세스될 수 있거나, 또는 메모리(204) 또는 다른 이러한 저장 디바이스와 같은 저장 위치로부터 액세스될 수 있다.
예시적인 실시예에서, 장치(200)는 갤러리의 클래스 세트로부터 테스트 객체의 거리 세트를 결정하도록 한다. 예를 들어, 갤러리의 클래스의 전체 또는 일부와 같은 클래스 세트로부터 테스트 객체의 거리가 결정될 수 있다. 예시적인 실시예에서, 테스트 얼굴과 같은 테스트 객체로부터 클래스의 거리를 결정하기 위해, 테스트 얼굴에 대응하는 부분 공간이 추정된다. 예시적인 실시예에서, 근접 전면 테스트 얼굴 및 그 수평으로 플립된(flipped) 버전은 테스트 얼굴에 대응하는 부분 공간을 추정하는데 사용될 수 있다. 예시적인 실시예에서, 클래스와 테스트 객체 사이의 부분 공간 거리는 두 부분 공간 사이의 평균 거리일 수 있다. 예시적인 실시예에서, 장치(200)는 거리 세트에 근거하여 테스트 객체에 가장 근접하는 클래스 세트 중의 클래스를 선택하도록 한다. 예를 들어, 테스트 객체로부터의 최소 부분 공간 거리를 갖는 클래스가 선택될 수 있다. 예시적인 실시예에서, 개방형 세트 분류에서, 장치(200)는 선택된 클래스에 대응하는 임계치, 및 선택된 클래스와 테스트 객체 사이의 거리의 비교에 근거하여 테스트 객체가 선택된 클래스로 분류될 수 있는지를 판정하도록 한다. 예시적인 실시예에서, 폐쇄형 세트 분류에서, 테스트 객체는 선택된 클래스에 대응하는 임계치와 선택된 클래스와 테스트 객체 사이의 거리의 비교에 근거하여 확인되지 않은 스테이터스 및 확인된 스테이터스를 갖는 선택된 클래스로 분류될 수 있다.
예를 들어, λi로 표시된 갤러리의 N개의 고유한 클래스가 존재하며, 여기서 i = 1 내지 N이다. 이 예에서, 얼굴과 같은 테스트 객체는 x에 의해 표시되고, d(x, λi)는 테스트 객체 x와 i번째 클래스 사이의 부분 공간 거리와 같은 거리를 표시한다. 장치(200)는 갤러리 d(x, λi)의 클래스로부터 테스트 객체의 부분 공간 거리를 결정하도록 하고, 여기서 i는 1부터 N까지 변화한다. 예시적인 실시예에서, 장치(200)는 부분 공간 거리의 최소 부분 공간 거리(d*)(예를 들면, d* = min {d(x, λi)}를 결정하도록 하며, 여기서 최소값은 i = 1 내지 N에서의 값이다). 이 예에서, 장치(200)는 최소 부분 공간 거리 d*에 대응하는 클래스 (λ*), 예를 들어, λ* = arg min {d(x, λi)}를 선택하도록 하며, 여기서 최소값은 i = 1 내지 N에서의 값이다.
예시적인 실시예에서, 개방형 세트 분류에서, 장치(200)는 테스트 객체 'x'로부터 선택된 클래스 'λ*'의 부분 공간 거리(예를 들어, 부분 공간 거리 d*)가 선택된 클래스 'λ*'에 대한 임계치(예를 들어, 임계치 'thr(λ*)') 미만인 경우, 선택된 클래스 'λ*'로 테스트 객체 'x'를 분류하도록 한다. 예시적인 실시예에서, 테스트 객체 (d*)로부터 선택된 클래스 (λ*)의 부분 공간 거리 (d*)가 임계치 (thr(λ*)) 이상인 경우, 테스트 객체 'x'는 트레이닝되지 않은 클래스로 분류될 수 있다. 다른 예시적인 실시예에서, 장치(200)는 테스트 객체 'x'로부터의 선택된 클래스 (λ*)의 부분 공간 거리 (d*)가 임계치 (thr(λ*)) 이상인 경우, 테스트 객체 'x'의 어떠한 분류도 수행하도록 하지 않는다.
예를 들어, 예시적인 실시예에서, 얼굴을 포함하는 이미지와 같은 테스트 객체 'x'는 다음을 실행함으로써 분류될 수 있다.
Figure 112014060458226-pct00003
여기서 thr(λ*)는 클래스 λ*에 대응하는 임계치를 표시한다.
일례에서, 갤러리의 클래스의 기하학적 해석의 관점에서, 2차원 부분 공간에서, 각각의 클래스의 패턴의 주위를 원으로 가정할 수 있다. 이 예에서, 클래스에 대응하는 원의 반경(r)은 클래스로부터의 가장 근접한 클래스의 부분 공간 거리에 근거하여 결정될 수 있다(예를 들어, 반경은 클래스에 대응하는 임계치일 수 있음). 예시적인 실시예에서, 테스트 객체가 원의 경계 내에 존재하는 경우(예를 들어, d*(예를 들어, min {d(x, λi)})은 'r' 미만임), 테스트 객체는 갤러리의 원에 대응하는 클래스로 분류될 수 있다. 테스트 객체가 원의 경계 내에 존재하지 않는 경우(예를 들어, d*(예를 들어, min {d(x, λi)})은 'r' 이상임), 테스트 객체는 갤러리로 분류되지 않거나 또는 트레이닝되지 않은 클래스로 분류될 수 있다.
테스트 객체의 분류의 예시적인 표시가 도 3(a)에 도시되어 있다. 도 3(a)는 2 차원 부분 공간 표시에서 클래스 및 테스트 객체의 예시적인 표시를 도시한다. 예를 들어, 갤러리의 복수의 클래스 Cl, C2, C3, C4, C5, C6 및 C7의 부분 공간은 X-Y 평면으로 도시되어 있다. 장치(200)는 나머지 클래스로부터 당해 클래스의 부분 공간 거리에 근거하여, 클래스 (Cl-C7)에 대한 임계치를 결정하도록 한다. 예를 들어, 클래스 'Cl'에 대해, d(Cl, C2), d(Cl, C3), d(Cl, C4), d(Cl, C5), d(Cl, C6) 및 d(Cl, C7)와 같이, 클래스 'Cl'과 다른 클래스 사이의 각종 부분 공간 거리가 결정된다. 도 3(a)에 도시된 바와 같이, 장치(200)는 클래스 'Cl'에 대해 결정된 각종 부분 공간 거리의 최소 부분 공간 거리를 결정하도록 한다. 도 3(a)에 도시된 예에서, 클래스의 쌍 (Cl, C2)는 클래스의 다른 쌍 (Cl, C3), (Cl, C4), (Cl, C5), (Cl, C6) 및 (Cl, C7)보다 최거 부분 공간 거리만큼 이격되어 있다. 이 예에서, 클래스 'Cl'에 대한 임계치는 'Cl'과 'C2' 사이의 부분 공간 거리의 실질적으로 절반인 것으로 결정될 수 있다. 한 형태에서, 클래스 'Cl'에 대한 임계치는 'Cl'과 'C2' 사이의 부분 공간 거리의 절반일 수 있다. 예를 들어, 클래스 'Cl'에 대한 임계치는 다음의 수식에 의해 정의된 바와 같이 'r1'으로서 표시될 수 있다.
Figure 112014060458226-pct00004
여기서 d(C1, C2)는 'Cl'과 'C2' 사이의 부분 공간 거리를 나타낸다. 유사한 방식으로, 다른 클래스 C2-C7에 대한 임계치는 r2-r7으로서 결정될 수 있다. 도 3(a)에 도시된 바와 같은 예에서, 클래스의 임계치인 반경을 갖는 원 근처의 부분 공간 평면에서 원이 그려질 수 있다. 예시적인 실시예에서, 부분 공간 평면에서, 테스트 객체가 클래스에 대응하는 원의 경계 내에 존재하는 경우, 테스트 객체는 클래스로 분류될 수 있다. 예를 들어, 도 3(a)에 도시된 바와 같이, 테스트 객체 'T1'이 그 임계치 'r1'인 반경을 갖는 클래스 'C1'의 원내에 존재하고, 테스트 객체 'T1'은 클래스 'C1'로 분류된다.
예시적인 실시예에서, 'T1'을 갤러리의 클래스로 분류하기 위해, 'T1'로부터의 각종 클래스의 부분 공간 거리가 결정된다. 예를 들어, d(T1, Cl) 내지 d(Tl, C7)과 같은 각종 부분 공간 거리가 결정될 수 있다. d(T1, Cl)은 각종 부분 공간 거리 중에서 최소 부분 공간 거리이므로, 테스트 객체 'T1'이 클래스 'C1'로 분류될 수 있는지 여부를 판정하기 위해 클래스 'C1'이 선택되고 부분 공간 거리 d(T1, Cl)이 선택된 클래스 'C1'의 임계치 'r1'과 비교된다. 도 3(a)에 도시된 예에서, d(T1, Cl)이 클래스 'C1'의 임계치 'r1' 미만이므로(또한 'C1'에 대응하는 원의 경계 내에 'T1'이 존재한다는 사실로부터 명백함), 테스트 객체 'T1'은 클래스 'C1'로 분류된다.
다른 예에서, 테스트 객체 'T2'에 대해, 최소 부분 공간 거리를 갖는 클래스는 도 3(a)에 도시된 바와 같이 'C3'이다. 이 예에서, 'T2'를 분류하기 위해, 거리 d(T2, C3)은 클래스 'C3'의 임계치 'r3'과 비교된다. d(T2, C3)이 클래스 'C3'의 임계치 'r3' 미만이므로(또한 'C3'에 대응하는 원의 경계 내에 'T2'가 존재한다는 사실로부터 명백함), 테스트 객체 'T2'는 클래스 'C3'로 분류된다.
다른 예에서, 테스트 객체 'T3'에 대해, 최소 부분 공간 거리만큼 이격된 클래스는 도 3(a)에 도시된 바와 같이, 'C7'이다. 이 예에서, 'T3'을 분류하기 위해, 거리 d(T3, C7)은 클래스 'C7'의 임계치 'r7'과 비교된다. 거리 d(T3, C7)이 클래스 'C7'의 임계치 'r7' 초과하므로(또한 'C2'에 대응하는 원의 경계 외부에 'T2'가 존재한다는 사실로부터 명백함), 테스트 객체 'T3'은 클래스 'C7'로 분류되지 않는다. 즉, 테스트 객체 'T3'은 갤러리의 이름 없는 클래스로 분류될 수 있거나, 또는 다른 형태에서, 테스트 객체 'T3'은 갤러리에서 분류되지 않을 수 있다.
몇몇 예시적인 실시예에서, 2개 이상의 클래스들 사이의 부분 공간 거리가 작고, 테스트 객체가 이러한 클래스에 대해 상대적으로 근접하는 경우, 이들 클래스에 대한 임계치는 이들 클래스로부터의 테스트 객체의 거리 및 이들 클래스들 사이의 거리에 근거하여 계산될 수 있다. 이들 예시적인 실시예에서, 이러한 클래스에 대해 결정된 임계치는 매우 작으며 도 3(a)에서 기술된 기법으로부터 달리 계산될 수 있는 임계치보다 작을 수 있다.
이들 예시적인 실시예에서, 장치(200)는 테스트 객체로부터의 갤러리의 각종 클래스의 거리에 근거하여 테스트 객체로부터 가장 근접한 클래스 세트를 선택하도록 한다. 예를 들어, 테스트 객체로부터의 K개의 가장 근접한 클래스가 선택될 수 있다. 예시적인 실시예에서, 장치(200)는 K개의 가장 근접한 클래스에 대한 공통 임계치를 결정하도록 한다. 예를 들어, 테스트 객체의 K개의 가장 근접한 클래스에 대한 임계치는 K개의 가장 근접한 클래스 중의 클래스들 사이의 거리의 함수일 수 있다. 예를 들어, 예시적인 실시예에서, 임계치는 테스트 객체에 가장 근접하는 K개의 가장 근접한 클래스 중의 2개의 클래스들 사이의 거리의 실질적으로 절반인 것으로서 결정될 수 있다. 예를 들어, K개의 가장 근접한 클래스(λi, 여기서 i는 1 내지 K)로부터, 테스트 객체 'X'에 가장 근접하는 제 1 클래스(λ1)가 식별될 수 있고, 제 1 클래스(λ1) 다음으로 테스트 객체에 가장 근접하는 제 2 클래스(λ2)가 식별될 수 있다. 이 예시적인 실시예에서, K개의 가장 근접한 클래스에 대한 임계치(thr)는 다음의 수식에 근거할 수 있다.
Figure 112014060458226-pct00005
여기서 d(x, λ1) < d(x, λ2) 및 d(x, λ2) < d(x, λm)이고, m은 3으로부터 K까지 변화한다. 다른 표시에서, 임계치는 다음의 수식에 근거할 수 있다.
Figure 112014060458226-pct00006
여기서 j = 2 내지 K이고 λ1 = arg min {d(x, λi)}이고, i는 1로부터 K까지 변화한다. 이 예시적인 실시예에서 결정된 임계치에 근거한 테스트 객체의 분류의 예시적인 표시가 도 3(b)에 도시되어 있다.
도 3(b)는 다른 예시적인 실시예에 따라, 2 차원 부분 공간 표시에서 클래스 및 테스트 객체의 예시적인 표시를 도시한다. 예시적인 실시예에서, 클래스 'C8', 'C9' 및 'C10'이 갤러리에 도시되어 있다. 장치(200)는 적어도 하나의 나머지 클래스로부터의 소정의 클래스의 부분 공간 거리 및 클래스 C8-C10 중 하나 이상의 클래스로부터 테스트 객체 'T4'의 거리에 근거하여, 클래스 (C8-C10)에 대한 임계치를 결정하도록 한다. 도 3(b)에 도시된 예시적인 실시예에서, 테스트 객체 'T4'를 분류하기 위해, 테스트 객체 'T4'로부터의 가장 근접한 클래스 세트(K개의 가장 근접한 클래스), 예를 들어, 클래스 'C8' 및 'C9'가 선택된다(K = 2인 경우). 예시적인 실시예에서, 클래스 'C8' 및 'C9'에 대한 임계치는 클래스 'C8'과 'C9' 사이의 거리의 실질적으로 절반이다. 예를 들어, 클래스 'C8' 및 'C9'에 대한 임계치는 클래스 'C8'과 'C9' 사이의 부분 공간 거리의 실질적으로 절반인 'r8'로서 나타내어진다(예를 들어, 1/2*d(C8, C9)). 예시적인 실시예에서, 테스트 객체 'T4'를 분류하는 클래스 'C8' 및 'C9'에 대한 임계치는 클래스 'C8'과 'C9' 사이의 부분 공간 거리의 절반일 수 있다.
이 예시적인 실시예에서, 'C8'과 같은 클래스에 대해, 하나 이상의 임계치가 존재할 수 있고, 각각의 임계치는 부분 공간 평면에서의 클래스에 대한 테스트 객체의 위치에 근거하여 결정된다. 예를 들어, 테스트 객체 'T5'를 분류하기 위해, 클래스 'C8'에 대한 적용 가능한 임계치가 'r9'로서 도시되어 있다. 예를 들어, 클래스 'C9' 및 'C10'과 같이, 테스트 객체 'T5'로부터의 가장 근접한 클래스 세트가 선택된다. 이 예에서, 클래스 'C9'와 'C10' 사이의 부분 공간 거리의 실질적으로 절반인 임계치(예를 들어, 1/2*d(C9, C10))는 갤러리에서 테스트 객체 'T5'의 분류를 수행하기 위해 클래스 'C9' 및 'C10'에 대해 결정된다. 도 3(b)에 도시된 예시적인 실시예에서, 클래스에 대한 하나 이상의 임계치는 테스트 객체의 위치에 따라 변화한다. 예를 들어, 테스트 객체 'T4'의 위치에 근거하여, 클래스 'C9'에 대한 임계치는 'r8'로 결정되고, 테스트 객체 'T5'의 위치에 근거하여, 클래스 'C9'에 대한 임계치는 'r9'로 결정된다.
이 예시적인 실시예에서, 테스트 객체 'T4'를 분류하기 위해, 테스트 객체 'T4'로부터의 클래스 'C8', 'C9' 및 'C10'의 거리에 근거하여 테스트 객체 'T4'에 가장 근접하는 클래스가 선택된다. 예를 들어, 클래스 'C9'는 테스트 객체 'T4'에 가장 근접하고, 따라서, 테스트 객체 'T4'가 클래스 'C9'로 분류될 수 있는지 여부를 판정하기 위해 클래스 'C9'가 선택된다. 예시적인 실시예에서, 테스트 객체로부터의 선택된 클래스의 부분 공간 거리가 결정된 임계치 미만인 경우, 테스트 객체는 선택된 클래스로 분류된다. 도 3(b)의 이 예시적인 표시에서, 테스트 객체 'T4'로부터의 선택된 클래스 'C9'의 부분 공간 거리가 결정된 임계치 'r8' 미만이므로(또한 반경 'r8'을 갖는 클래스 'C9'와 연관된 원의 부분의 경계 내에 테스트 객체 'T4'가 존재한다는 사실로부터 명백함), 테스트 객체 'T4'는 클래스 'C9'로 분류된다.
예시적인 실시예에서, 장치(200)는 테스트 객체로부터의 선택된 클래스의 부분 공간 거리가 결정된 임계치 이상인 경우, 테스트 객체를 트레이닝되지 않은 클래스로 뷴류하도록 한다. 도 3(b)의 이 예시적인 표시에서, 테스트 객체 'T5'를 분류하기 위해, 테스트 객체 'T5'로부터의 클래스 'C8', 'C9' 및 'C10'의 거리에 근거하여 테스트 객체 'T5'에 가장 근접하는 클래스가 선택된다. 예를 들어, 클래스 'C10'은 테스트 객체 'T5'에 가장 근접하고, 따라서, 테스트 객체 'T5'가 클래스 'C10'로 분류될 수 있는지 여부를 판정하기 위해 클래스 'C10'이 선택된다. 테스트 객체 'T5'로부터의 선택된 클래스 'C10'의 부분 공간 거리가 결정된 임계치 'r9' 초과하므로(또한 반경 'r8'을 갖는 클래스 'C9'와 연관된 원의 부분의 경계 외부에 테스트 객체 'T5'가 존재한다는 사실로부터 명백함), 테스트 객체 'T5'는 갤러리에서 분류되지 않는다. 몇몇 예시적인 실시예에서, 테스트 객체 'T5'는 갤러리의 트레이닝되지 않은 클래스로 분류될 수 있다. 몇몇 다른 실시예에서, 테스트 객체 'T5'는 새로운 트레이닝된 클래스로서 갤러리에 추가될 수 있다.
몇몇 예시적인 실시예에서, 테스트 객체의 개방형 세트 분류 및 폐쇄형 세트 분류를 수행함에 있어 선택된 클래스에서 테스트 객체의 분류에는 확인된 스테이터스 및 확인되지 않은 스테이터스와 같은 스테이터스가 할당될 수 있다. 예시적인 실시예에서, 선택된 클래스에서 테스트 객체의 분류의 확인된 스테이터스는 분류가 정확한 것으로서 여겨질 수 있는 경우를 나타낼 수 있는 반면(예를 들어, 잘못된 분류의 가능성이 존재할 수 없음), 확인되지 않은 스테이터스는 분류가 정확한 것으로서 여겨질 수 없는 분류를 나타낼 수 있다(예를 들어, 잘못된 분류의 가능성이 존재할 수 있음). 이러한 예시적인 실시예에서, 장치(200)는 선택된 클래스와 테스트 객체 사이의 거리, 및 스테이터스 임계치의 비교에 근거하여 테스트 객체의 분류에 확인된 스테이터스 및 확인되지 않은 스테이터스 중 하나를 할당하도록 한다.
예시적인 실시예에서, 장치(200)는 선택된 클래스와 테스트 객체 사이의 거리가 스테이터스 임계치 이하인 경우, 테스트 객체의 분류에 확인된 스테이터스를 할당하도록 한다. 예시적인 실시예에서, 개방형 세트 분류에 대해, 스테이터스 임계치는 선택된 클래스에 대한 임계치 미만이다. 예를 들어, 선택된 클래스에 대한 임계치는 (예를 들어, 선택된 클래스와 선택된 클래스에 가장 근접한 클래스 사이의) 부분 공간 거리의 실질적으로 절반이고, 스테이터스 임계치는 부분 공간 거리의 실질적으로 1/4(또는 절반보다 작은 다른 값)인 것으로서 선택될 수 있다. 예시적인 실시예에서, 폐쇄형 세트 분류에 대해, 스테이터스 임계치는 선택된 클래스에 대한 임계치와 동일할 수 있다.
이 예시적인 실시예에서, 장치(200)는 선택된 클래스와 테스트 객체 사이의 거리가 스테이터스 임계치 초과인 경우 확인되지 않은 스테이터스를 할당하도록 한다. 일례에서, 개방형 세트 분류에서, 선택된 클래스로부터의 테스트 객체의 거리는 8 유닛이고, 선택된 클래스에 대한 임계치는 10 유닛이고, 스테이터스 임계치는 5 유닛이다. 이 예에서, 클래스로부터의 테스트 객체의 거리(8 유닛)가 클래스에 대한 스테이터스 임계치(5 유닛) 초과하므로, 테스트 객체는 선택된 클래스로 분류되지만, '확인되지 않은' 스테이터스가 분류에 할당될 수 있다. 이러한 예시적인 실시예에서, 테스트 객체를 분류하고, 스테이터스를 분류에 할당하기 위해 이용될 수 있는 클래스에 대해 2개의 임계치가 존재할 수 있다. 예를 들어, 제 1 임계치(선택된 클래스에 대한 임계치)는 테스트 객체의 거리와 제 1 임계치의 비교에 근거하여 테스트 객체를 분류하는데 사용될 수 있고 제 2 임계치(선택된 클래스에 대한 스테이터스 임계치)는 테스트 객체의 분류에 대한 확인된 스테이터스 및 확인되지 않은 스테이터스 중 하나를 할당하는데 사용될 수 있다. 폐쇄형 세트 분류에 대해, 스테이터스 임계치는 선택된 객체에 대한 임계치와 동일하고, 일례에서, 선택된 클래스로부터의 테스트 객체의 거리가 8 유닛이고, 선택된 클래스에 대한 임계치(및 스테이터스 임계치)가 10 유닛인 경우, 테스트 객체는 확인된 스테이터스를 갖는 선택된 클래스로 분류된다. 폐쇄형 세트 분류의 이 예에서, 선택된 클래스로부터의 테스트 객체의 거리가 12 유닛이고, 선택된 클래스에 대한 임계치(및 스테이터스 임계치)가 10 유닛인 경우, 테스트 객체는 확인되지 않은 스테이터스를 갖는 선택된 클래스로 분류된다.
각종 예시적인 실시예에서, 장치(200)와 같은 장치는 복수의 클래스를 포함하는 갤러리를 액세스하는 수단과, 복수의 클래스 중 클래스들 사이의 거리를 결정하는 수단과, 하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 갤러리의 하나 이상의 클래스에 대한 임계치를 결정하되, 클래스에 대한 임계치가 복수의 클래스 중 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정되는 수단과 같은 각종 구성요소를 포함할 수 있다. 이러한 구성요소는 하드웨어, 펌웨어 및 소프트웨어 구성요소를 이용함으로써 구성될 수 있다. 이러한 수단의 예는 메모리(204), UI(206), 이미지 센서(208)와 함께, 프로세서(202)를 포함할 수 있으며, 이들로 제한되지 않는다.
예시적인 실시예에서, 클래스에 대한 임계치를 결정하는 수단은, 적어도 하나의 거리의 최소 거리를 결정하는 수단과, 클래스에 대한 임계치를 최소 거리의 실질적으로 절반인 것으로서 선택하는 수단을 포함한다. 이러한 수단의 예는 프로세서(202) 및 메모리(204)를 제한 없이 포함할 수 있다. 예시적인 실시예에서, 장치는 테스트 객체를 액세스하는 수단과, 갤러리의 클래스 세트로부터 테스트 객체의 거리 세트를 결정하는 수단과, 거리 세트에 근거하여 테스트 객체에 가장 근접하는 클래스 세트 중의 클래스를 선택하는 수단과, 선택된 클래스에 대한 임계치와, 선택된 클래스와 테스트 객체 사이의 거리의 비교에 근거하여 테스트 객체를 선택된 클래스로 분류하는 수단을 더 포함한다. 예시적인 실시예에서, 장치는 테스트 객체로부터의 선택된 클래스의 거리가 선택된 클래스에 대한 임계치 미만인 경우, 선택된 클래스로 테스트 객체를 분류하는 수단을 더 포함한다. 예시적인 실시예에서, 장치는 테스트 객체로부터의 선택된 클래스의 거리가 선택된 클래스에 대한 임계치 이상인 경우, 트레이닝되지 않은 클래스로 테스트 객체를 분류하는 수단을 더 포함한다. 이러한 수단의 예는 프로세서(202) 및 메모리(204)를 제한 없이 포함할 수 있다.
예시적인 실시예에서, 장치는 테스트 객체를 액세스하는 수단과, 갤러리의 클래스 세트로부터 테스트 객체의 거리 세트를 결정하는 수단과, 클래스 세트로부터, 거리 세트에 근거하여 테스트 객체로부터의 가장 근접한 클래스 세트를 선택하는 수단과, 가장 근접한 클래스 세트의 클래스들 사이의 거리 함수에 근거하여 가장 근접한 클래스 세트에 대한 임계치를 결정하는 수단을 더 포함한다. 예시적인 실시예에서, 임계치는 테스트 객체에 가장 근접하는 가장 근접한 클래스 세트의 2개의 클래스들 사이의 거리의 실질적으로 절반이다. 예시적인 실시예에서, 장치는 거리 세트에 근거하여 테스트 객체에 가장 근접하는 가장 근접한 클래스 세트 중의 클래스를 선택하는 수단과, 결정된 임계치와, 선택된 클래스와 테스트 객체 사이의 거리의 비교에 근거하여 선택된 클래스로 테스트 객체를 분류하는 수단을 더 포함한다. 예시적인 실시예에서, 장치는 테스트 객체로부터의 선택된 클래스의 거리가 결정된 임계치 미만인 경우, 테스트 객체를 선택된 클래스로 분류하는 수단과, 테스트 객체로부터의 선택된 클래스의 부분 공간 거리가 결정된 임계치 이상인 경우, 테스트 객체를 트레이닝되지 않은 클래스로 분류하는 수단을 더 포함한다. 예시적인 실시예에서, 갤러리의 복수의 클래스는 복수의 트레이닝된 클래스를 포함한다. 예시적인 실시예에서, 복수의 트레이닝된 클래스는 복수의 얼굴을 포함한다. 예시적인 실시예에서, 테스트 객체는 얼굴일 수 있고, 클래스들 사이의 거리는 부분 공간 거리이다.
도 4는 예시적인 실시예에 따른 예시적인 방법(400)을 도시하는 플로우차트이다. 플로우차트에 도시된 방법(400)은, 예를 들어, 장치(200)에 의해 실행될 수 있다. 방법(400)을 기술하기 위해, 도 1 내지 도 3(b)를 참조할 수 있음이 이해될 수 있다.
블록(402)에서, 방법(400)은 복수의 클래스를 포함하는 갤러리를 액세스하는 단계를 포함한다. 클래스를 포함하는 갤러리는 장치(200)에 저장될 수 있거나 또는 장치(200)에 액세스 가능한 외부 저장 장치에 저장될 수 있다. 블록(404)에서, 방법(400)은 복수의 클래스 중 클래스들 사이의 거리를 결정하는 단계를 포함한다. 예시적인 실시예에서, 클래스들 사이의 거리는 클래스의 부분 공간들 사이의 부분 공간 거리로 결정될 수 있다. 예시적인 실시예에서, 클래스의 쌍들 사이의 각종 부분 공간 거리가 결정될 수 있다. 블록(406)에서, 방법(400)은 하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 갤러리의 하나 이상의 클래스에 대한 임계치를 결정하는 단계를 포함한다. 예시적인 실시예에서, 클래스에 대한 임계치는 복수의 클래스 중 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정된다. 테스트 객체의 분류의 각종 실시예는 도 5 및 도 6에서 더 기술되어 있다.
도 5는 다른 예시적인 실시예에 따라 테스트 객체를 분류하는 예시적인 방법(500)을 도시하는 플로우차트이다. 플로우차트에 도시된 방법(500)은, 예를 들어, 장치(200)에 의해 실행될 수 있다. 방법(500)을 기술하기 위해, 도 1 내지 도 5를 참조할 수 있음이 이해될 수 있다. 도 5의 방법(500)이 특정의 순서를 도시한다 하더라도, 이 순서는 도시된 순서로 제한될 필요는 없고, 각종 예시적인 실시예의 범위에 대해 실질적인 변경을 제공하지 않고 보다 많거나 적은 블록이 실행될 수 있음에 주목해야 한다.
블록(502)에서, 방법(500)이 개시되고, 복수의 클래스를 포함하는 갤러리가 액세스된다. 블록(504)에서, 방법(500)은 복수의 클래스 중 클래스들 사이의 거리를 결정하는 단계를 포함한다. 예를 들어, 각종 쌍의 클래스들 사이의 거리가 결정될 수 있다. 예를 들어, 갤러리의 N개의 클래스가 존재하는 경우, N×N 거리 매트릭스는 클래스들 사이의 부분 공간 거리와 같은 거리 척도를 이용하여 연산될 수 있고, 매트릭스의 각각의 열(row)은 갤러리의 나머지 클래스에 대한 특정의 클래스의 부분 공간 거리를 나타낸다.
블록(506)에서, 방법(500)은 갤러리의 하나 이상의 클래스에 대한 임계치를 결정하는 단계를 포함한다. 예시적인 실시예에서, 테스트 객체가 갤러리의 임의의 클래스로 분류될 수 있는지 여부를 판정하기 위한 임계치가 이용된다. 예시적인 실시예에서, 클래스에 대한 임계치는 갤러리의 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 근거하여 클래스에 대한 임계치가 결정된다. 예시적인 실시예에서, 갤러리의 각각의 클래스에 대해 임계치가 결정된다. 방법(500)은 블록(508 및 510)의 동작을 수행함으로써 갤러리의 클래스에 대한 임계치를 결정하는 단계를 수행한다. 블록(508)에서, 클래스에 대한 임계치를 결정하기 위해, 갤러리의 나머지 클래스로부터의 당해 클래스의 각종 거리로부터 최소 거리가 결정된다. 예를 들어, N×N 거리 매트릭스의 각각의 열로부터의 최소 비제로 거리는 그 열의 대응하는 클래스에 대한 임계치로서 선택된다. 블록(510)에서, 클래스에 대한 임계치는 클래스와 연관된 최소 거리의 실질적으로 절반인 것으로서 선택된다. 몇몇 예시적인 실시예에서, 임계치는 클래스와 연관된 최소 거리의 절반일 수 있다.
블록(512)에서, 테스트 객체가 액세스된다. 테스트 객체는 갤러리의 클래스에 대응하는 객체에 대응하거나 대응하지 않을 수 있다. 블록(514)에서, 갤러리의 클래스 세트로부터의 테스트 객체의 부분 공간 거리와 같은 거리 세트가 결정된다. 예시적인 실시예에서, 클래스 세트는 갤러리의 각각의 클래스를 포함할 수 있다. 블록(516)에서, 결정된 거리에 근거하여 테스트 객체에 가장 근접하는 세트로부터 클래스가 선택된다. 예를 들어, 거리 세트의 최소 거리가 결정될 수 있고 최소 거리에 대응하는 클래스가 선택된다.
블록(518)에서, 테스트 객체로부터의 선택된 클래스의 거리가 선택된 클래스에 대한 임계치 미만인지가 체크된다. 예시적인 실시예에서, 블록(520)에서 선택된 클래스로부터의 테스트 객체의 거리가 선택된 클래스에 대한 임계치 미만인 것으로 판정되는 경우, 테스트 객체가 갤러리의 선택된 클래스로 분류된다. 예시적인 실시예에서, 블록(522)에서 선택된 클래스로부터의 테스트 객체의 거리가 선택된 클래스에 대한 임계치 이상인 것으로 판정되는 경우, 테스트 객체가 갤러리로 분류되지 않을 수 있다. 다른 예시적인 실시예에서, 블록(522)에서 선택된 클래스로부터의 테스트 객체의 거리가 선택된 클래스에 대한 임계치 이상인 것으로 판정되는 경우, 테스트 객체는 갤러리의 트레이닝되지 않은 클래스로 분류될 수 있다. 특정의 예시적인 실시예에서, 일단 테스트 객체가 트레이닝되지 않은 클래스로 분류되면, 트레이닝되지 않은 클래스는 갤러리에서 새로운 트레이닝된 클래스로서 등록될 수 있다.
예시적인 실시예에서, 블록(524)에서, 방법(500)은 테스트 객체와 (테스트 객체가 분류되는) 선택된 클래스 사이의 거리가 스테이터스 임계치를 초과하는지를 판정하는 단계를 포함한다. 예시적인 실시예에서, 스테이터스 임계치는 선택된 클래스에 대한 임계치 미만인 것으로서 선택된다. 예를 들어, 선택된 클래스에 대한 임계치는 (예를 들어, 선택된 클래스와 선택된 클래스의 가장 근접한 클래스 사이의) 부분 공간 거리의 실질적으로 절반이므로, 스테이터스 임계치는 부분 공간 거리의 1/4(또는 절반보다 작은 다른 값)인 것으로서 선택될 수 있다. 예시적인 실시예에서, 방법(500)은 선택된 클래스와 테스트 객체 사이의 거리와, 스테이터스 임계치의 비교에 근거하여 테스트 객체의 분류에, 확인된 스테이터스 및 확인되지 않은 스테이터스 중 하나를 할당하는 단계를 포함한다.
예시적인 실시예에서, 블록(526)에서 방법(500)은 선택된 클래스와 테스트 객체 사이의 거리가 스테이터스 임계치 이하인 것으로 판정되는 경우, 테스트 객체의 분류에 확인된 스테이터스를 할당하는 단계를 포함한다. 이 예시적인 실시예에서, 선택된 클래스와 테스트 객체 사이의 거리가 스테이터스 임계치 초과인 것으로 판정되는 경우, 블록(528)에서 방법(500)은 분류에 확인되지 않은 스테이터스를 할당하는 단계를 포함한다.
도 6은 다른 예시적인 실시예에 따라 테스트 객체를 분류하는 예시적인 방법(600)을 도시하는 플로우차트이다. 플로우차트에 도시된 방법(600)은, 예를 들어, 장치(200)에 의해 실행될 수 있다. 방법(600)을 기술하기 위해, 도 1 내지 도 5를 참조할 수 있음이 이해될 수 있다. 도 6의 방법(600)이 특정의 순서를 도시한다 하더라도, 이 순서는 도시된 순서로 제한될 필요는 없고, 각종 예시적인 실시예의 범위에 대해 실질적인 변경을 제공하지 않고 보다 많거나 적은 블록이 실행될 수 있음에 주목해야 한다.
블록(602)에서, 방법(600)은 복수의 클래스를 포함하는 갤러리를 액세스한다. 블록(604)에서, 방법(600)은 복수의 클래스 중 클래스들 사이의 거리를 결정하는 단계를 포함한다. 예를 들어, 각종 쌍의 클래스들 사이의 거리가 결정될 수 있다. 블록(606)에서, 방법(600)은 갤러리의 하나 이상의 클래스에 대한 임계치를 결정하는 단계를 포함한다. 예시적인 실시예에서, 하나 이상의 테스트 객체가 갤러리의 클래스로 분류될 수 있는지 여부를 판정하기 위한 임계치가 이용된다. 예시적인 실시예에서, 클래스에 대한 임계치는 갤러리의 적어도 하나의 나머지 클래스로부터 당해 클래스의 적어도 하나의 거리에 근거하여 클래스에 대한 임계치가 결정된다. 예시적인 실시예에서, 갤러리의 각각의 클래스에 대한 임계치가 결정된다.
방법(600)은 블록(608, 610, 612 및 614)의 동작을 수행함으로써 갤러리의 클래스에 대한 임계치를 결정하는 단계를 수행한다. 블록(608)에서, 분류되는 테스트 객체가 액세스된다. 예시적인 실시예에서, 테스트 객체를 액세스하는 단계는 테스트 객체를 나타내는 부분 공간을 액세스하는 단계를 포함한다. 블록(610)에서, 방법(600)은 갤러리의 클래스 세트로부터의 테스트 객체의 거리 세트를 결정하는 단계를 포함한다. 실시예에서, 클래스 세트는 갤러리의 각각의 클래스, 또는 갤러리의 몇몇 클래스를 포함할 수 있다. 블록(612)에서, 클래스 세트로부터, 테스트 객체로부터의 가장 근접한 클래스 세트가 부분 공간 거리에 근거하여 선택된다. 예를 들어, 사전 결정된 수의 가장 근접한 클래스(예를 들어, 2)가 갤러리의 클래스 세트로부터 선택될 수 있다. 블록(614)에서, 가장 근접한 클래스 세트의 클래스들 사이의 부분 공간 거리의 함수로서 가장 근접한 클래스 세트에 대한 임계치가 결정된다. 예시적인 실시예에서, 결정된 임계치는 테스트 객체가 갤러리의 클래스로 분류될 수 있는지 여부를 판정하는데 사용된다. 예시적인 실시예에서, 가장 근접한 클래스 세트에 대한 임계치는 테스트 객체에 가장 근접하는 가장 근접한 클래스의 2개의 클래스들 사이의 거리의 실질적으로 절반일 수 있다. 일례에서, 테스트 객체의 2개의 가장 근접한 클래스가 존재하는 경우, 이들 2개의 클래스에 대한 임계치는 2개의 클래스들 사이의 거리의 실질적으로 절반이다.
블록(616)에서, 방법(600)은 부분 공간 거리에 근거하여 테스트 객체에 가장 근접하는 가장 근접한 클래스 세트 중의 클래스를 선택하는 단계를 포함한다. 예를 들어, 2개의 가장 근접한 클래스 'C8' 및 'C9'로부터, 클래스 'C9'는 테스트 객체 'T4'(도 3(b) 참조)에 대해 가장 근접한 클래스이고, 클래스 'C1'은 테스트 객체가 클래스 'C1'로 분류될 수 있는지 여부를 판정하기 위해 선택된다. 예시적인 실시예에서, 블록(618)에서, 테스트 객체로부터의 선택된 클래스의 거리가 선택된 클래스에 대한 임계치 미만인지가 체크된다. 예시적인 실시예에서, 블록(620)에서 선택된 클래스로부터의 테스트 객체의 거리가 선택된 클래스에 대한 임계치 미만인 것으로 판정되는 경우, 테스트 객체는 갤러리의 선택된 클래스로 분류된다. 예시적인 실시예에서, 블록(622)에서 선택된 클래스로부터의 테스트 객체의 거리가 선택된 클래스에 대한 임계치 이상인 것으로 판정되는 경우, 테스트 객체는 갤러리에서 분류되지 않을 수 있다. 다른 예시적인 실시예에서, 블록(622)에서 선택된 클래스로부터의 테스트 객체의 거리가 선택된 클래스에 대한 임계치 이상인 것으로 판정되는 경우, 테스트 객체는 갤러리의 트레이닝되지 않은 클래스로 분류될 수 있다. 특정의 예시적인 실시예에서, 일단 테스트 객체가 트레이닝되지 않은 클래스로 분류되면, 트레이닝되지 않은 클래스는 갤러리에서 트레이닝된 클래스로서 추가될 수 있다.
예시적인 실시예에서, 블록(624)에서, 방법(600)은 테스트 객체와 (테스트 객체가 분류되는) 선택된 클래스 사이의 거리가 스테이터스 임계치를 초과하는지를 판정하는 단계를 포함한다. 예시적인 실시예에서, 스테이터스 임계치는 선택된 클래스에 대한 임계치 미만인 것으로서 선택된다. 예를 들어, 선택된 클래스에 대한 임계치는 (예를 들어, 테스트 객체에 가장 근접하는 가장 근접한 클래스 세트의 2개의 클래스들 사이의) 부분 공간 거리의 실질적으로 절반이므로, 스테이터스 임계치는 부분 공간 거리의 1/4(또는 절반보다 작은 다른 값)인 것으로서 선택될 수 있다. 예시적인 실시예에서, 방법(600)은 선택된 클래스와 테스트 객체 사이의 거리와, 스테이터스 임계치의 비교에 근거하여 테스트 객체의 분류에, 확인된 스테이터스 및 확인되지 않은 스테이터스 중 하나를 할당하는 단계를 포함한다.
예시적인 실시예에서, 블록(626)에서 방법(600)은 선택된 클래스와 테스트 객체 사이의 거리가 스테이터스 임계치 이하인 것으로 판정되는 경우, 테스트 객체의 분류에 확인된 스테이터스를 할당하는 단계를 포함한다. 이 예시적인 실시예에서, 블록(628)에서 방법(600)은 선택된 클래스와 테스트 객체 사이의 거리가 스테이터스 임계치 초과인 것으로 판정되는 경우, 분류에 확인되지 않은 스테이터스를 할당하는 단계를 포함한다. 예시적인 실시예에서, 분류에 확인된/확인되지 않은 스테이터스를 할당하는 블록(626 및 628)의 동작은 테스트 객체의 개방형 세트 분류 및 폐쇄형 세트 분류에 대해 모두 사용될 수 있다.
몇몇 예시적인 실시예에서, 방법(500 및 600)은 모두 클래스에 대한 임계치를 결정하는데 이용될 수 있고 이후에 갤러리의 클래스로 테스트 객체를 분류한다. 예를 들어, 부분 공간 거리의 관점에서 테스트 객체가 다수의 클래스에 근접하여 존재하는 경우, 도 6에 기술된 방법(600)은 테스트 객체에 근접하는 클래스에 대한 임계치를 결정하는데 이용될 수 있다. 또한, 클래스가 사전 정의된 거리 이상으로, 다른 나머지 클래스와 이격되는 경우, 방법(500)은 이러한 클래스에 대한 임계치를 결정하는데 이용될 수 있다.
플로우차트(400, 500, 또는 600)의 동작, 및 플로우차트(400, 500, 또는 600)에서의 동작의 조합은 하나 이상의 컴퓨터 프로그램 인스트럭션을 포함하는 소프트웨어의 실행과 연관된 하드웨어, 펌웨어, 프로세서, 회로 및/또는 다른 디바이스와 같은 각종 수단에 의해 구현될 수 있다. 예를 들어, 각종 실시예에서 기술된 프로시쥬어의 하나 이상은 컴퓨터 프로그램 인스트럭션에 의해 구현될 수 있다. 예시적인 실시예에서, 각종 실시예에서 기술된 프로시쥬어를 구현하는 컴퓨터 프로그램 인스트럭션은 장치의 적어도 하나의 메모리 디바이스에 의해 저장되고, 장치 내의 적어도 하나의 프로세서에 의해 실행될 수 있다. 임의의 이러한 컴퓨터 프로그램 인스트럭션은, 결과적인 컴퓨터 또는 다른 프로그램 가능한 장치가 플로우차트(400, 500, 또는 600)에서 특정된 동작을 구현하는 수단을 구체화하도록, 머신을 생성하기 위한 컴퓨터 또는 다른 프로그램 가능한 장치(예를 들어, 하드웨어)상에 로드될 수 있다. 이들 컴퓨터 프로그램 인스트럭션은, 실행에 의해 컴퓨터 판독 가능한 메모리에 저장된 인스트럭션이 플로우차트에서 특정된 동작을 구현하는 제조물을 생산하도록, 특정의 방식으로 기능하기 위한 컴퓨터 또는 다른 프로그램 가능한 장치에 지시할 수 있는 (캐리어 웨이브 또는 전자기 신호와 같은 전송 매체와는 다른) 컴퓨터 판독 가능한 저장 메모리에 또한 저장될 수 있다. 컴퓨터 프로그램 인스트럭션은, 컴퓨터 또는 다른 프로그램 가능한 장치를 실행하는 인스트럭션이 플로우차트에서 동작을 구현하는 동작을 제공하도록, 컴퓨터 또는 다른 프로그램 가능한 장치상에서 수행될 일련의 동작이 컴퓨터 구현된 프로세스를 생성하도록 하는 컴퓨터 또는 다른 프로그램 가능한 장치상에 또한 로드될 수 있다. 방법(400, 500, 및 600)의 동작은 장치(200)와 연관하여 기술되어 있다. 그러나, 방법(400, 500, 및 600)의 동작은 임의의 다른 장치를 이용하여 기술 및/또는 실시될 수 있다.
이하에 나타나는 특허청구범위의 범위, 해석, 또는 적용을 제한하지 않는 임의의 방식으로, 본 명세서에서 기술된 예시적인 실시예의 하나 이상의 기술적 효과는 갤러리의 테스트 객체의 분류를 수행하는 갤러리에서 각종 클래스에 대한 임계치를 결정하는 것이다. 각종 실시예는 갤러리의 각각의 클래스에서 테스트 객체의 보다 많은 수의 분류를 초래하는 갤러리의 클래스에 대해 적응적인 임계치를 결정하는 방식을 제공한다. 몇몇 실시예에서, 클래스에 대한 임계치는 거리 척도에서 테스트 객체에 근접하는 다수의 클래스가 존재하는 경우에 동적으로 조정된다. 예를 들어, 테스트 객체와 유사한 클래스의 수가 증가함에 따라, 테스트 객체의 잘못된 분류의 가능성이 또한 증가할 수 있다. 이러한 경우에, 각종 실시예는 이러한 클래스에 대한 임계치를 엄격하게(conservative) 결정한다. 사람이 갤러리의 등록된 모든 다른 것과 약간 상이한 것으로 보이고, 잘못된 분류의 가능성이 보다 낮으며, 상대적으로 높은 임계치가 결정될 수 있다.
상기 기술된 각종 실시예는 소프트웨어, 하드웨어, 애플리케이션 로직 또는 소프트웨어, 하드웨어 및 애플리케이션 로직의 조합으로 구현될 수 있다. 소프트웨어, 애플리케이션 로직 및/또는 하드웨어는 적어도 하나의 메모리, 적어도 하나의 프로세서, 장치 또는 컴퓨터 프로그램 제품에 상주할 수 있다. 예시적인 실시예에서, 애플리케이션 로직, 소프트웨어 또는 인스트럭션 세트는 각종 통상적인 컴퓨터 판독 가능한 매체 중 임의의 하나에서 유지된다. 이 문서의 문맥에서, "컴퓨터 판독 가능한 매체"는 도 1 및/또는 도 2에 기술되고 도시된 장치의 일례와 함께, 컴퓨터와 같은 인스트럭션 실행 시스템, 장치, 또는 디바이스에 의해 사용하기 위해 또는 이들과 조합하여 인스트럭션을 포함하고, 저장하고, 통신하고, 전파하거나 또는 전달할 수 있는 임의의 매체 또는 수단일 수 있다. 컴퓨터 판독 가능한 매체는 컴퓨터와 같은 인스트럭션 실행 시스템, 장치, 또는 디바이스에 의해 사용하기 위해 또는 이들과 조합하여 인스트럭션을 포함하거나 또는 저장할 수 있는 임의의 매체 또는 수단일 수 있는 컴퓨터 판독 가능한 저장 매체를 포함할 수 있다.
본 명세서에서 기술된 각종 기능은, 필요하다면, 상이한 순서 및/또는 다른 것과 동시에 수행될 수 있다. 또한, 필요하다면, 상기 기술된 기능의 하나 이상은 선택적일 수 있거나 또는 생략될 수 있다.
실시예의 각종 측면이 독립 청구항에 개시되어 있으나, 다른 측면은 기술된 실시예 특징 및/또는 종속 청구항으로부터 특징과 독립 청구항의 특징의 다른 결합을 구성하며, 특허청구범위에 명시적으로 개시된 조합만을 포함하는 것은 아니다.
상기 설명은 예시적인 실시예를 기술하지만, 이들 설명은 제한적인 의미로 보여져서는 안 된다는 것에 또한 주목해야 한다. 그 대신에, 첨부된 특허청구범위에 정의된 바와 같이, 본 개시 내용의 범위로부터 벗어나지 않고 행해질 수 있는 몇 가지의 변형 및 변경이 존재한다.

Claims (69)

  1. 각각의 원으로서 기하학적으로 표현되는 복수의 클래스들을 포함하는 갤러리(gallery)를 액세스하는 단계와,
    상기 복수의 클래스들 중 클래스들 사이의 거리를 판정하는 단계와,
    하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 상기 갤러리의 상기 하나 이상의 클래스에 대한 임계치를 결정하는 단계와,
    테스트 객체를 해석하는 단계
    를 포함하되,
    클래스에 대한 임계치는 상기 복수의 클래스들 중 적어도 하나의 나머지 클래스로부터 상기 클래스로의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정되고,
    상기 클래스에 대한 임계치를 결정하는 단계는 (1) 상기 적어도 하나의 거리 중 최단 거리를 결정하는 단계와, (2) 상기 클래스에 대한 상기 임계치가 상기 최단 거리의 절반이 되도록 선택하는 단계를 포함하며,
    한 클래스에 대한 임계치는 다른 클래스에 대한 임계치와는 상이하고,
    상기 클래스를 기하학적으로 표현하는 원은 상기 임계치에 근거하는 반경을 가지며,
    상기 테스트 객체를 해석하는 단계는 (1) 상기 테스트 객체가 어떤 클래스와 연관된 임계치를 만족시키는 경우는 상기 테스트 객체를 해당 클래스로 분류하는 단계와, (2) 상기 테스트 객체가 상기 하나 이상의 클래스와 연관된 임계치들 중 어느 것도 만족시키지 못하는 경우는 상기 테스트 객체를 상기 하나 이상의 클래스 중 어느 것으로도 분류하지 않는 단계를 포함하는
    방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 테스트 객체를 해석하는 단계는
    상기 테스트 객체를 액세스하는 단계와,
    상기 갤러리의 클래스 세트로부터 상기 테스트 객체까지의 거리 세트를 판정하는 단계와,
    상기 거리 세트에 근거하여 상기 테스트 객체에 가장 근접하는 클래스를 상기 클래스 세트로부터 선택하는 단계와,
    상기 선택된 클래스에 대한 임계치 및 상기 선택된 클래스와 상기 테스트 객체 사이의 거리의 비교에 근거하여, 상기 테스트 객체를 상기 선택된 클래스로 분류하는 단계
    를 더 포함하는
    방법.
  4. 제 3 항에 있어서,
    상기 테스트 객체로부터 상기 선택된 클래스까지의 거리가 상기 선택된 클래스에 대한 상기 임계치 미만인 경우, 상기 테스트 객체를 상기 선택된 클래스로 분류하는 단계, 또는
    상기 테스트 객체로부터 상기 선택된 클래스까지의 거리가 상기 선택된 클래스에 대한 상기 임계치 이상인 경우, 상기 테스트 객체를 트레이닝되지 않은(untrained) 클래스로 분류하는 단계
    를 더 포함하는 방법.
  5. 제 3 항에 있어서,
    상기 선택된 클래스와 상기 테스트 객체 사이의 거리 및 스테이터스(status) 임계치의 비교에 근거하여, 확인된(confirmed) 스테이터스와 확인되지 않은(unconfirmed) 스테이터스 중 하나를 상기 테스트 객체의 분류에 할당하는 단계
    를 더 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 선택된 클래스와 상기 테스트 객체 사이의 거리가 상기 스테이터스 임계치 이하인 경우 상기 테스트 객체의 분류에 상기 확인된 스테이터스를 할당하는 단계 - 상기 스테이터스 임계치는 상기 선택된 클래스에 대한 임계치 미만이 되도록 선택됨 - 또는,
    상기 선택된 클래스와 상기 테스트 객체 사이의 거리가 상기 스테이터스 임계치 초과인 경우 상기 테스트 객체의 분류에 상기 확인되지 않은 스테이터스를 할당하는 단계 - 상기 스테이터스 임계치는 상기 선택된 클래스에 대한 임계치 미만이 되도록 선택됨 -
    를 더 포함하는 방법.
  7. 제 1 항에 있어서,
    테스트 객체를 액세스하는 단계와,
    상기 갤러리의 클래스 세트로부터 상기 테스트 객체까지의 거리 세트를 결정하는 단계와,
    상기 거리 세트에 근거하여 상기 테스트 객체에 가장 근접하는 클래스 세트를 상기 클래스 세트로부터 선택하는 단계
    를 더 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 거리 세트에 근거하여, 상기 테스트 객체에 가장 가까이 위치하는 클래스를 상기 가장 근접한 클래스 세트 중에서 선택하는 단계와,
    상기 결정된 임계치 및 상기 선택된 클래스와 상기 테스트 객체 사이의 거리의 비교에 근거하여, 상기 테스트 객체를 상기 선택된 클래스로 분류하는 단계
    를 더 포함하는 방법.
  9. 제 7 항에 있어서,
    상기 테스트 객체로부터 상기 선택된 클래스까지의 거리가 상기 결정된 임계치 미만인 경우, 상기 테스트 객체를 상기 선택된 클래스로 분류하는 단계
    를 더 포함하는 방법.
  10. 장치로서,
    적어도 하나의 프로세서와,
    컴퓨터 프로그램 코드를 저장하는 적어도 하나의 메모리를 포함하며,
    상기 적어도 하나의 메모리 내의 상기 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서에 의해 실행되면, 상기 장치는
    각각의 원으로서 기하학적으로 표현되는 복수의 클래스들을 포함하는 갤러리(gallery)를 액세스하고,
    상기 복수의 클래스들 중 클래스들 사이의 거리를 판정하며,
    하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 상기 갤러리의 상기 하나 이상의 클래스에 대한 임계치를 결정하고,
    테스트 객체를 해석하되,
    클래스에 대한 임계치는 상기 복수의 클래스들 중 적어도 하나의 나머지 클래스로부터 상기 클래스로의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정되고,
    상기 장치는 (1) 상기 적어도 하나의 거리 중 최단 거리를 결정하고, (2) 상기 클래스에 대한 상기 임계치가 상기 최단 거리의 절반이 되도록 선택함으로써, 상기 클래스에 대한 상기 임계치를 결정하며,
    한 클래스에 대한 임계치는 다른 클래스에 대한 임계치와는 상이하고,
    상기 클래스를 기하학적으로 표현하는 원은 상기 임계치에 근거하는 반경을 가지며,
    상기 테스트 객체를 해석하는 것은 (1) 상기 테스트 객체가 어떤 클래스와 연관된 임계치를 만족시키는 경우는 상기 테스트 객체를 해당 클래스로 분류하는 것과, (2) 상기 테스트 객체가 상기 하나 이상의 클래스와 연관된 임계치들 중 어느 것도 만족시키지 못하는 경우는 상기 테스트 객체를 상기 하나 이상의 클래스 중 어느 것으로도 분류하지 않는 것을 포함하는
    장치.
  11. 삭제
  12. 제 10 항에 있어서,
    상기 장치는 적어도 부분적으로,
    상기 테스트 객체를 액세스하고,
    상기 갤러리의 클래스 세트로부터 상기 테스트 객체까지의 거리 세트를 결정하고,
    상기 거리 세트에 근거하여 상기 테스트 객체에 가장 근접하는 상기 클래스 세트 중의 한 클래스를 선택하고,
    상기 선택된 클래스에 대한 임계치 및 상기 선택된 클래스와 상기 테스트 객체 사이의 거리의 비교에 근거하여, 상기 테스트 객체를 상기 선택된 클래스로 분류하는 것
    에 의해 상기 테스트 객체를 해석하는
    장치.
  13. 제 12 항에 있어서,
    상기 장치는 적어도 부분적으로,
    상기 테스트 객체로부터 상기 선택된 클래스까지의 거리가 상기 선택된 클래스에 대한 상기 임계치 미만인 경우, 상기 테스트 객체를 상기 선택된 클래스로 분류하거나,
    상기 테스트 객체로부터 상기 선택된 클래스까지의 거리가 상기 선택된 클래스에 대한 상기 임계치 이상인 경우, 상기 테스트 객체를 트레이닝되지 않은 클래스로 분류하는 것
    을 더 수행하는 장치.
  14. 제 12 항에 있어서,
    상기 장치는 적어도 부분적으로,
    상기 선택된 클래스와 상기 테스트 객체 사이의 거리 및 스테이터스 임계치의 비교에 근거하여, 확인된 스테이터스 및 확인되지 않은 스테이터스 중 하나를 상기 테스트 객체의 분류에 할당하는 것
    을 더 수행하는 장치.
  15. 제 14 항에 있어서,
    상기 장치는 적어도 부분적으로,
    상기 선택된 클래스와 상기 테스트 객체 사이의 거리가 상기 스테이터스 임계치 이하인 경우, 상기 테스트 객체의 분류에 상기 확인된 스테이터스를 할당하거나 - 상기 스테이터스 임계치는 상기 선택된 클래스에 대한 임계치 미만이 되도록 선택됨 - ,
    상기 선택된 클래스와 상기 테스트 객체 사이의 거리가 상기 스테이터스 임계치 초과인 경우, 상기 테스트 객체의 분류에 상기 확인되지 않은 스테이터스를 할당하는 것 - 상기 스테이터스 임계치는 상기 선택된 클래스에 대한 임계치 미만이 되도록 선택됨 -
    을 더 수행하는 장치.
  16. 제 10 항에 있어서,
    상기 장치는 적어도 부분적으로,
    상기 테스트 객체를 액세스하고,
    상기 갤러리의 클래스 세트로부터 상기 테스트 객체까지의 거리 세트를 결정하고,
    상기 거리 세트에 근거하여 상기 테스트 객체에 가장 근접하는 클래스 세트를 상기 클래스 세트로부터 선택하는 것
    을 더 수행하는 장치.
  17. 제 16 항에 있어서,
    상기 장치는 적어도 부분적으로,
    상기 거리 세트에 근거하여, 상기 테스트 객체에 가장 가까이 위치하는 클래스를 상기 가장 근접한 클래스 세트 중에서 선택하고,
    상기 결정된 임계치 및 상기 선택된 클래스와 상기 테스트 객체 사이의 거리의 비교에 근거하여, 상기 테스트 객체를 상기 선택된 클래스로 분류하는 것
    을 더 수행하는 장치.
  18. 제 17 항에 있어서,
    상기 장치는 적어도 부분적으로,
    상기 테스트 객체로부터 상기 선택된 클래스까지의 거리가 상기 결정된 임계치 미만인 경우, 상기 테스트 객체를 상기 선택된 클래스로 분류하는 것
    을 더 수행하는 장치.
  19. 인스트럭션 세트를 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 인스트럭션 세트는 하나 이상의 프로세서에 의해 실행되는 경우 장치로 하여금 적어도
    각각의 원으로서 기하학적으로 표현되는 복수의 클래스들을 포함하는 갤러리(gallery)를 액세스하고,
    상기 복수의 클래스들 중 클래스들 사이의 거리를 판정하며,
    하나 이상의 테스트 객체를 하나 이상의 클래스로 분류하기 위해 상기 갤러리의 상기 하나 이상의 클래스에 대한 임계치를 결정하고,
    테스트 객체를 해석하도록 하되,
    클래스에 대한 임계치는 상기 복수의 클래스들 중 적어도 하나의 나머지 클래스로부터 상기 클래스로의 적어도 하나의 거리에 적어도 부분적으로 근거하여 결정되고,
    상기 장치는 (1) 상기 적어도 하나의 거리 중 최단 거리를 결정하고, (2) 상기 클래스에 대한 상기 임계치가 상기 최단 거리의 절반이 되도록 선택함으로써, 상기 클래스에 대한 상기 임계치를 결정하며,
    한 클래스에 대한 임계치는 다른 클래스에 대한 임계치와는 상이하고,
    상기 클래스를 기하학적으로 표현하는 원은 상기 임계치에 근거하는 반경을 가지며,
    상기 테스트 객체를 해석하는 것은 (1) 상기 테스트 객체가 어떤 클래스와 연관된 임계치를 만족시키는 경우는 상기 테스트 객체를 해당 클래스로 분류하는 것과, (2) 상기 테스트 객체가 상기 하나 이상의 클래스와 연관된 임계치들 중 어느 것도 만족시키지 못하는 경우는 상기 테스트 객체를 상기 하나 이상의 클래스 중 어느 것으로도 분류하지 않는 것을 포함하는
    컴퓨터 판독가능 저장 매체.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
KR1020147017795A 2011-11-29 2012-10-25 객체의 분류를 위한 방법, 장치 및 컴퓨터 프로그램 제품 KR101648651B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN4120CH2011 2011-11-29
IN4120/CHE/2011 2011-11-29
PCT/FI2012/051026 WO2013079772A1 (en) 2011-11-29 2012-10-25 Method, apparatus and computer program product for classification of objects

Publications (2)

Publication Number Publication Date
KR20140097490A KR20140097490A (ko) 2014-08-06
KR101648651B1 true KR101648651B1 (ko) 2016-08-16

Family

ID=48467760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017795A KR101648651B1 (ko) 2011-11-29 2012-10-25 객체의 분류를 위한 방법, 장치 및 컴퓨터 프로그램 제품

Country Status (5)

Country Link
US (1) US9275134B2 (ko)
EP (1) EP2786311A4 (ko)
KR (1) KR101648651B1 (ko)
CN (1) CN103930900B (ko)
WO (1) WO2013079772A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016065375A1 (en) * 2014-10-27 2016-05-06 Fts Computertechnik Gmbh Computer vision monitoring for a computer vision system
US10210381B1 (en) 2017-08-01 2019-02-19 Apple Inc. Multiple enrollments in facial recognition
EP3785166A1 (en) * 2018-06-03 2021-03-03 Apple Inc. Multiple enrollments in facial recognition
CN110871980B (zh) * 2018-08-29 2023-05-02 北京京东乾石科技有限公司 储位分类方法和装置
CN109612961B (zh) * 2018-12-13 2021-06-25 温州大学 海岸环境微塑料的开集识别方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080175446A1 (en) * 2006-08-28 2008-07-24 Colorado State University Research Foundation Set to set pattern recognition
US20090006102A1 (en) * 2004-06-09 2009-01-01 Canon Kabushiki Kaisha Effective Audio Segmentation and Classification

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835901A (en) * 1994-01-25 1998-11-10 Martin Marietta Corporation Perceptive system including a neural network
JP2004361987A (ja) * 2003-05-30 2004-12-24 Seiko Epson Corp 画像検索システム、画像分類システム、画像検索プログラム及び画像分類プログラム、並びに画像検索方法及び画像分類方法
US7697764B2 (en) * 2003-11-21 2010-04-13 National University Corporation Kochi University Similar pattern searching apparatus, method of similar pattern searching, program for similar pattern searching, and fractionation apparatus
US7536357B2 (en) * 2007-02-13 2009-05-19 International Business Machines Corporation Methodologies and analytics tools for identifying potential licensee markets
US7797265B2 (en) * 2007-02-26 2010-09-14 Siemens Corporation Document clustering that applies a locality sensitive hashing function to a feature vector to obtain a limited set of candidate clusters
CN101840514B (zh) * 2009-03-19 2014-12-31 株式会社理光 图像对象分类装置及方法
JP5254893B2 (ja) * 2009-06-26 2013-08-07 キヤノン株式会社 画像変換方法及び装置並びにパターン識別方法及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006102A1 (en) * 2004-06-09 2009-01-01 Canon Kabushiki Kaisha Effective Audio Segmentation and Classification
US20080175446A1 (en) * 2006-08-28 2008-07-24 Colorado State University Research Foundation Set to set pattern recognition

Also Published As

Publication number Publication date
EP2786311A4 (en) 2016-08-17
EP2786311A1 (en) 2014-10-08
WO2013079772A1 (en) 2013-06-06
CN103930900A (zh) 2014-07-16
CN103930900B (zh) 2017-06-23
US20130138657A1 (en) 2013-05-30
KR20140097490A (ko) 2014-08-06
US9275134B2 (en) 2016-03-01

Similar Documents

Publication Publication Date Title
US9443130B2 (en) Method, apparatus and computer program product for object detection and segmentation
US9542750B2 (en) Method, apparatus and computer program product for depth estimation of stereo images
US9785865B2 (en) Multi-stage image classification
JP5996013B2 (ja) 立体画像の視差マップ推定のための方法,装置及びコンピュータプログラム製品
EP2911113B1 (en) Method, apparatus and computer program product for image segmentation
US9633446B2 (en) Method, apparatus and computer program product for segmentation of objects in media content
US9342866B2 (en) Method, apparatus and computer program product for generating panorama images
KR101648651B1 (ko) 객체의 분류를 위한 방법, 장치 및 컴퓨터 프로그램 제품
US9478036B2 (en) Method, apparatus and computer program product for disparity estimation of plenoptic images
EP2736011B1 (en) Method, apparatus and computer program product for generating super-resolved images
KR101620933B1 (ko) 제스쳐 인식 메커니즘을 제공하는 방법 및 장치
WO2014184417A1 (en) Method, apparatus and computer program product to represent motion in composite images
KR20130028734A (ko) 얼굴 검출을 위한 방법 및 장치
US9183618B2 (en) Method, apparatus and computer program product for alignment of frames
WO2012146823A1 (en) Method, apparatus and computer program product for blink detection in media content
US20150332472A1 (en) Method, apparatus and computer program product for disparity estimation in images
US9269158B2 (en) Method, apparatus and computer program product for periodic motion detection in multimedia content
US9158374B2 (en) Method, apparatus and computer program product for displaying media content
US9489741B2 (en) Method, apparatus and computer program product for disparity estimation of foreground objects in images
US20130107008A1 (en) Method, apparatus and computer program product for capturing images
JP6155349B2 (ja) デコンボリューション画像において色収差を減じる方法、装置及びコンピュータプログラム製品
WO2012131149A1 (en) Method apparatus and computer program product for detection of facial expressions
CN117114979A (zh) 视频生成方法、装置、介质及设备

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191209

Year of fee payment: 4