KR101434205B1 - 다수의 쓰레숄드 적응적 부스팅을 가진 객체 검출 및 분류를 위한 시스템 및 방법 - Google Patents

다수의 쓰레숄드 적응적 부스팅을 가진 객체 검출 및 분류를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101434205B1
KR101434205B1 KR1020080082366A KR20080082366A KR101434205B1 KR 101434205 B1 KR101434205 B1 KR 101434205B1 KR 1020080082366 A KR1020080082366 A KR 1020080082366A KR 20080082366 A KR20080082366 A KR 20080082366A KR 101434205 B1 KR101434205 B1 KR 101434205B1
Authority
KR
South Korea
Prior art keywords
features
subset
determining
feature
value
Prior art date
Application number
KR1020080082366A
Other languages
English (en)
Other versions
KR20090119664A (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 KR20090119664A publication Critical patent/KR20090119664A/ko
Application granted granted Critical
Publication of KR101434205B1 publication Critical patent/KR101434205B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships

Landscapes

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

Abstract

복수의 쓰레숄드를 가지는 부스팅 방법을 이용하여 객체를 객체 클래스에 속하거나 또는 속하지 않는 것으로 분류하기 위한 시스템들 및 방법들이 개시된다. 일 실시예는, 강한 분류기를 정의하는 방법에 있어서, 양 및 음의 샘플들의 훈련(training) 집합을 수신하는 단계, 특징들의 집합을 수신하는 단계, 특징들의 집합의 제1 서브집합 각각에 대하여, 대응하는 특징값을 훈련 집합의 제1 서브집합 각각과 연관시키는 단계, 대응하는 가중치(weight)를 훈련 집합의 제2 서브집합 각각과 연관시키는 단계, 반복적으로 ⅰ) 특징들의 집합의 제2 서브집합 각각에 대하여, 제1 메트릭이 최소화되는 제1 쓰레숄드 값을 결정하는 단계, ⅱ) 특징들의 집합의 제3 서브집합 각각에 대하여, 제2 메트릭이 최소화되는 제2 쓰레숄드 값을 결정하는 단계, ⅲ) 특징들의 집합의 제4 서브집합 각각에 대하여, 쓰레숄드들의 개수를 결정하는 단계, ⅳ) 특징들의 집합의 제5 서브집합 각각에 대하여, 결정되는 쓰레숄드들의 개수에 기초하여 에러값을 결정하는 단계, ⅴ) 가장 낮게 연관되는 에러값을 가지는 특징을 결정하는 단계, 및 ⅵ) 가중치들을 업데이트하는 단계, 복수의 반복들에서 상기 가장 낮게 연관되는 에러값을 가지는 특징들에 기초하여 강한 분류기를 정의하는 단계, 및 샘플을 강한 분류기에 기초하여 객체 클래스에 속하는지 또는 객체 클래스에 속하지 않는지로 분류하는 단계를 포함한다.

Description

다수의 쓰레숄드 적응적 부스팅을 가진 객체 검출 및 분류를 위한 시스템 및 방법{Systems and methods for object detection and classification with multiple threshold adaptive boosting}
본 발명은 객체 분류 및 검출에 관한 것으로, 특히 적응적 부스팅 검출 방법의 이용에 관한 것이다.
디지털 이미지, 디지털 비디오에서의 최근의 발전 및 데이터 저장 능력의 증가는 많은 타입의 자동 객체 인식 및 객체 식별 시스템 및 방법을 생산하여 왔다. 디지털 카메라 및 기타 이미지 캡쳐 시스템들의 정확도의 향상은 다양한 분석 방법들에 의해 분석되고 사용되는 전례없는 양의 데이터를 제공하였다. 처리 속도의 향상은 성능 증가 및 더욱 세부화된 데이터 분석을 허용하였으나, 요구되는 시간을 줄이고 전력 절약을 향상시키기 위한 효율적인 분석은 여전히 중요하다.
처리 속도의 향상을 허용한 세부화된 데이터 분석의 일 형태는 객체 분류(object classification) 및 검출이다. 사람의 두뇌가 이러한 기능을 자동으로 실행하는 것과 당연히 밀접한 관계가 있다고 할지라도, 그것은 계산적으로 컴퓨터를 위한 집중 업무이다. 객체 분류는 데이터 샘플을 하나 이상의 객체 클래스들 로 분류하는 함수이다. 따라서, 분류기(classifier)는 데이터 샘플을 수신하고 그 샘플에 관한 부가 정보, 특히 그 샘플이 특별한 객체를 나타내는지 여부에 관한 정보를 제공한다. 데이터 샘플은 온도, 압력, 또는 스포츠 스타디움에서의 관중수와 같은 데이터 척도(measurement)를 포함할 수도 있다. 또한 데이터 샘플은 많은 데이터 척도들을 연결하는 데이터 벡터일 수도 있다. 또한 데이터 샘플은 사운드 클립, 디지털 이미지, 또는 기타 지각적인 미디어의 표시일 수도 있다. 예를 들어, 음악의 사운드 클립을 포함하는 데이터 샘플은 그 샘플을 "클래식" 객체 클래스, "록/팝" 객체 클래스, 또는 "기타" 객체 클래스에 속하는 것으로 분류할 수도 있다. 샘플을 "클래식" 객체로 분류하는 것은 예를 들어 다른 클래식 음악의 사운드 클립들일 다른 "클래식" 객체들을 나타내는 것을 가리킨다. 따라서, "클래식" 객체 분류로 컴퓨터로 생성된 분류에 기초하여, 데이터 샘플이 클래식 음악의 사운드 클립, 또는 적어도 클래식 음악의 많은 특성들을 공유함이 추론될 수 있다.
이러한 분류 프로세스에서의 사용을 찾는 컴퓨터로 구현된 모듈의 일 타입은 이진 분류기(binary classifier)이다. 이진 분류기는 입력으로 데이터 샘플을 수신하고, 그 샘플이 객체 클래스에 속하는지 또는 속하지 않는지 여부의 표시를 출력한다. 다른 분류기들은 데이터 샘플을 수신하고 그 샘플이 어떤 객체 클래스에 속하는지의 표시를 출력한다. 예를 들어, 공통적으로 인식되는 다양한 객체들(공(balls), 차량들, 우산들, 소(cows), 사람들 등과 같은)을 포함하는 이미지들의 집합이 제공되면, 이러한 이미지들은 분석되는 새로운 이미지들에 포함되는 객체들의 자동 분류를 위한 분류기를 개발하기 위하여 적절하게 프로그램된 컴퓨터에 의 해 분석될 수 있다. 객체의 단일한 이미지 특징에 기초하여 생성된 단순한 분류기들은 떨어지는 카테고리화 성능을 가지는 경향이 있고, 따라서 "약한 분류기들"의 카테고리에 속한다. 그러한 성능은 많은 약한 분류기들을 연결하여 더욱 정확하게 객체들을 분류하는 "강한 분류기"를 형성하는 "부스팅(boosting)" 방법들의 사용에 의해 향상될 수 있다.
부스팅은 알고리즘적으로 제한되지 않는 반면에, 대부분의 부스팅 알고리즘들은 템플릿(template)을 따른다. 전형적으로 부스팅은 반복적으로 약한 분류기들을 증가적으로(incrementally) 부가하여 최종의 강한 분류기를 형성함으로써 일어난다. 각각의 반복에서, 약한 분류기는 분포(distribution)에 관한 훈련(training) 데이터를 학습한다. 그리고나서 약한 분류기는 최종의 강한 분류기에 부가된다. 이것은 전형적으로 약한 분류기의 정확성에 관계된 몇몇 방식으로 약한 분류기를 가중함(weighting)으로써 행하여 진다. 약한 분류기가 최종의 강한 분류기에 부가된 후에, 데이터는 다시 가중된다(reweighted): 오분류된 이득 가중치(gain weight)인 예시들 및 올바르게 분류된 예시들은 가중치를 잃는다. 따라서, 미래의 약한 분류기들은 이전의 약한 학습자들(learners)이 오분류한 예시들에 더욱 초점을 맞출 것이다.
하나의 그러한 부스팅 방법은 객체 이미지들의 훈련 집합을 이용하여 직렬(cascade)의 강한 분류기들을 훈련하는데 대부분 사용되는 방법인 적응적 부스팅 검출 방법으로, 강한 분류기는 새로운 이미지들에서 객체를 검출할 때 효율적이다. 적응적 부스팅 방법의 전통적인 사용은 집중적인 계산을 요구하고, 따라서 시 스템을 훈련하고 객체 검출을 위해 그것을 사용하는데 많은 양의 시간을 요구한다. 검출 속도의 향상은 실시간 애플리케이션들을 가능하게 할 수도 있다.
본 발명의 일 양상은, 강한 분류기(strong classifier)를 정의하는 방법에 있어서, 상기 방법은, 양 및 음의 샘플들의 훈련 집합을 수신하는 단계; 특징들의 집합을 수신하는 단계; 상기 특징들의 집합의 제1 서브집합 각각에 대하여, 대응하는 특징값을 상기 훈련 집합의 제1 서브집합 각각과 연관시키는 단계; 대응하는 가중치(weight)를 상기 훈련 집합의 제2 서브집합 각각과 연관시키는 단계; 반복적으로, ⅰ) 상기 특징들의 집합의 제2 서브집합 각각에 대하여, 제1 메트릭이 최소화되는 제1 쓰레숄드 값을 결정하는 단계; ⅱ) 상기 특징들의 집합의 제3 서브집합 각각에 대하여, 제2 메트릭이 최소화되는 제2 쓰레숄드 값을 결정하는 단계; ⅲ) 상기 특징들의 집합의 제4 서브집합 각각에 대하여, 쓰레숄드들의 개수를 결정하는 단계; ⅳ) 상기 특징들의 집합의 제5 서브집합 각각에 대하여, 상기 결정되는 쓰레숄드들의 개수에 기초하여 에러값을 결정하는 단계; ⅴ) 가장 낮게 연관되는 에러값을 가지는 특징을 결정하는 단계; 및 ⅵ) 상기 가중치들을 업데이트하는 단계; 복수의 반복들에서 상기 가장 낮게 연관되는 에러값을 가지는 특징들에 기초하여 강한 분류기를 정의하는 단계; 및 상기 강한 분류기에 기초하여 샘플을 객체 클래스에 속하는지 또는 객체 클래스에 속하지 않는지로써 분류하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 양상은, 강한 분류기(strong classifier)를 정의하기 위한 시스템에 있어서, 상기 시스템은, 양 및 음의 샘플들의 훈련 집합을 수신하도록 구성되는 입력; 특징들의 집합을 수신하도록 구성되는 특징 모듈; 상기 특징들 의 집합의 제1 서브집합 각각에 대하여, 대응하는 특징값을 상기 훈련 집합의 제1 서브집합 각각과 연관시키도록 구성되는 특징값 모듈; 대응하는 가중치(weight)를 상기 훈련 집합의 제2 서브집합 각각과 연관시키도록 구성되는 가중치 모듈; 반복적으로 ⅰ) 상기 특징들의 집합의 제2 서브집합 각각에 대하여, 제1 메트릭이 최소화되는 제1 쓰레숄드 값을 결정하고; ⅱ) 상기 특징들의 집합의 제3 서브집합 각각에 대하여, 제2 메트릭이 최소화되는 제2 쓰레숄드 값을 결정하며; ⅲ) 상기 특징들의 집합의 제4 서브집합 각각에 대하여, 쓰레숄드들의 개수를 결정하고; ⅳ) 상기 특징들의 집합의 제5 서브집합 각각에 대하여, 상기 결정되는 쓰레숄드들의 개수에 기초하여 에러값을 결정하며; ⅴ) 가장 낮게 연관되는 에러값을 가지는 특징을 결정하고; 및 ⅵ) 상기 가중치들을 업데이트하도록 구성되는 계산 모듈; 복수의 반복들에서 상기 가장 낮게 연관되는 에러값을 가지는 특징들에 기초하여 강한 분류기를 정의하도록 구성되는 정의 모듈; 및 상기 강한 분류기에 기초하여 샘플을 객체 클래스에 속하는 것 또는 객체 클래스에 속하지 않는 것으로써 분류하도록 구성되는 분류 모듈을 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 양상은, 강한 분류기(strong classifier)를 정의하기 위한 시스템에 있어서, 상기 시스템은, 양 및 음의 샘플들의 훈련 집합을 수신하기 위한 수단; 특징들의 집합을 수신하기 위한 수단; 상기 특징들의 집합의 제1 서브집합 각각에 대하여, 대응하는 특징값을 상기 훈련 집합의 제1 서브집합 각각과 연관시키기 위한 수단; 대응하는 가중치(weight)를 상기 훈련 집합의 제2 서브집합 각각과 연관시키기 위한 수단; 반복적으로 ⅰ) 상기 특징들의 집합의 제2 서브집합 각각에 대하여, 제1 메트릭이 최소화되는 제1 쓰레숄드 값을 결정하고; ⅱ) 상기 특징들의 집합의 제3 서브집합 각각에 대하여, 제2 메트릭이 최소화되는 제2 쓰레숄드 값을 결정하며; ⅲ) 상기 특징들의 집합의 제4 서브집합 각각에 대하여, 쓰레숄드들의 개수를 결정하고; ⅳ) 상기 특징들의 집합의 제5 서브집합 각각에 대하여, 상기 결정되는 쓰레숄드들의 개수에 기초하여 에러값을 결정하며; ⅴ) 가장 낮게 연관되는 에러값을 가지는 특징을 결정하고; 및 ⅵ) 상기 가중치들을 업데이트하기 위한 수단; 복수의 반복들에서 상기 가장 낮게 연관되는 에러값을 가지는 특징들에 기초하여 강한 분류기를 정의하기 위한 수단; 및 상기 강한 분류기에 기초하여 샘플을 객체 클래스에 속하는 것 또는 객체 클래스에 속하지 않는 것으로써 분류하기 위한 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 양상은, 강한 분류기(strong classifier)를 정의하는 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 방법은, 양 및 음의 샘플들의 훈련 집합을 수신하는 단계; 특징들의 집합을 수신하는 단계; 상기 특징들의 집합의 제1 서브집합 각각에 대하여, 대응하는 특징값을 상기 훈련 집합의 제1 서브집합 각각과 연관시키는 단계; 대응하는 가중치(weight)를 상기 훈련 집합의 제2 서브집합 각각과 연관시키는 단계; 반복적으로 ⅰ) 상기 특징들의 집합의 제2 서브집합 각각에 대하여, 제1 메트릭이 최소화되는 제1 쓰레숄드 값을 결정하는 단계; ⅱ) 상기 특징들의 집합의 제3 서브집합 각각에 대하여, 제2 메트릭이 최소화되는 제2 쓰레숄드 값을 결정하는 단계; ⅲ) 상기 특징들의 집합의 제4 서브집합 각각에 대하여, 쓰레숄드들의 개수를 결정하는 단계; ⅳ) 상기 특징들의 집합의 제5 서브집합 각각에 대하여, 상기 결정되는 쓰레숄드들의 개수에 기초하여 에러값을 결정하는 단계; ⅴ) 가장 낮게 연관되는 에러값을 가지는 특징을 결정하는 단계; 및 ⅵ) 상기 가중치들을 업데이트하는 단계; 복수의 반복들에서 상기 가장 낮게 연관되는 에러값을 가지는 특징들에 기초하여 강한 분류기를 정의하는 단계; 및 상기 강한 분류기에 기초하여 샘플을 객체 클래스에 속하는 것 또는 객체 클래스에 속하지 않는 것으로써 분류하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 시스템 및 방법들 각각은 몇 가지 양상들을 가지며, 바람직한 속성들에 대해 단독으로 책임이 있는 단일의 양상을 가지는 것이 아니다. 이하의 청구항들에 의해 표현되는 본 발명의 범위를 한정함이 없이, 더욱 뛰어난 특징들이 이제 간략하게 논의될 것이다. 이러한 논의, 특히 "발명의 실시를 위한 구체적인 내용"의 섹션을 읽게 되면, 본 발명의 샘플 특징들이 이미지들의 하나 이상의 객체들의 클래스로의 분류를 포함하는 장점들을 어떻게 제공하는지가 이해될 것이다.
컴퓨터 비전(vision)은 기계들로 하여금 다양한 정보들에 대하여 이미지 데이터를 이해하고 분석할 수 있도록 하는 자동화된 이미지 분석의 과학 기술이다. 이미지 데이터는 단일의 이미지들, 비디오 시퀀스, 다수의 카메라로부터의 시점들, 또는 의료용 스캐너로부터 수신되는 것과 같은 다차원 데이터와 같이 많은 형태를 취할 수 있다.
디지털 이미지는 다양한 타입의 광 민감(light-sensitive) 카메라들 외에도, 거리 센서(range sensor), 단층촬영(tomography) 디바이스, 레이다, 초음파(ultra-sonic) 카메라, 또는 기타 이미지(imaging) 디바이스들을 포함하는 하나 또는 몇 개의 이미지 센서들에 의해 생성된다. 센서의 타입에 따라, 결과 이미지 데이터는 일반적인 2D 이미지, 3D 볼륨, 또는 이미지 시퀀스이다. 이미지 데이터는 각각이 값과 연관되는 복수 개의 픽셀들을 포함할 수 있고, 픽셀값들은 전형적으로 하나 또는 몇 개의 스펙트럴(spectral) 밴드들(예를 들어, 그레이 이미지들 또는 컬러 이미지들)에서의 광도(light intensity)에 대응하지만, 또한 깊이, 음파 또는 전자기파의 흡수 또는 반사, 또는 핵 자기 공명과 같은 다양한 물리적 척도들에 관계될 수도 있다. 본 명세서에서, 디지털 이미지 데이터(또는 이미지 데이터)는 당업자에게 알려진 어떠한 형태의 시각적 이미지들 또는 비-시각적 이미지들도 포함하는 것으로 정의된다.
몇몇 양상들에서, 컴퓨터 비전은 컴퓨터 비전 시스템들에서 다양한 작업들을 실행하기 위하여 컴퓨터 비전의 이론 및 모델들을 적용하기 위해 탐색한다. 컴퓨터 비전 시스템의 애플리케이션들의 예시는 예를 들어 프로세스 제어(예를 들어, 조립 라인 로봇), 사람이나 사물의 이벤트 또는 존재를 검출하기 위한 시각적 감시, 데이터베이스들에 포함되는 이미지 정보의 식별 및 구조화, 및 사람-기계 상호작용을 포함한다.
객체 분류는 이미지가 몇몇 특정 카테고리의 객체를 포함하는지 아닌지의 여부를 결정하는 것을 포함하는 컴퓨터 비전의 전형적인 작업이다. 아이디어는 인식, 식별, 및 검출과 밀접하게 관계된다. 외관(appearance)-기반의 객체 분류는 전형적으로 특징 추출, 분류기 학습, 및 상기 분류기의 새로운 예시들에 적용을 포함한다. 예를 들어, 형상 분석, bag-of-words 모델들, 또는 SIFT (Scale-Invariant Feature Transform)와 같은 로컬 디스크립터들로부터 객체들의 클래스를 나타내기 위한 많은 방법들이 있다. 분류기들의 예시는 Naive Bayes 분류기, SVM (Support Vector Machine), Gaussian 혼합, 및 신경 네트워크이다. 또한 객체들은 "양(positive)" 또는 "음(negative)"으로 분류될 수 있다.
양의 샘플은 훈련된 시스템이 예를 들어 객체 클래스에 속하는 양(positive)으로써 분류해야 하는 데이터를 나타내는 샘플이고, 음의 샘플은 시스템이 예를 들어 객체 클래스에 속하지 않는 음(negative)으로써 분류해야 하는 데이터를 나타내는 샘플이다. 알려진 양의 샘플들의 집합 및 알려진 음의 샘플들의 집합을 적절하게 구성된 전산화된 시스템에 제공함으로써, 시스템은 음의 샘플들에 존재하지 않는 양의 샘플들의 특징들을 "학습한다". 그리고나서 시스템은 알려지지 않은 샘플에서 이러한 특징들을 찾을 수도 있고, 그 특징들이 존재할 때, 그 샘플이 양의 샘플임을 선언한다. 시스템에게 테스트 샘플들을 제공하고 시스템에게 뛰어난 특징들을 학습하도록 하거나 "가르치는" 프로세스는 분류기를 훈련하는 것으로 알려져 있다.
시스템 개요
도 1은 본 발명의 일 실시예에 따른 방법을 구현할 수 있는 시스템의 기능적인 블록도이다. 시스템(100)은 입력(104), 출력(106), CPU(central processing unit)(102), 캐쉬(108), 주 메모리(110)를 포함하고, 네트워크(112)에 연결된다. 시스템(100)은 예를 들어 퍼스널 컴퓨터 또는 비디오 분석을 위한 전용 프로세싱 유닛으로 구현될 수 있다. 입력(104)은 CPU(102)에 연결되어 정보를 제공하도록 구성되고, 예를 들어, 키보드, 마우스, 비디오 카메라, 마이크로폰, 또는 기타 입력 디바이스를 구현할 수 있다. 입력(104)은 사용자로부터 또는 시스템 외부의 어떤 다른 소스로부터 정보를 수신하도록 구성될 수 있다. 유사하게, 출력(106)은 CPU(102)에 연결되어 CPU(102)로부터 정보를 제공받도록 구성되고, 예를 들어, 모니터, 스피커, 또는 알람 시스템을 구현할 수 있다. 출력(106)은 사용자에게 또는 시스템 외부의 다른 소스로 정보를 제공하도록 구성될 수 있다.
CPU(102)는 Pentium® 프로세서, Pentium II® 프로세서, Pentium III® 프로세서, Pentium IV® 프로세서, Pentium® Pro 프로세서, 8051 프로세서, MIPS® 프로세서, Power PC® 프로세서, 또는 ALPHA® 프로세서와 같은 어떠한 범용의 단일 또는 멀티 칩 마이크로프로세서일 수도 있다. 부가적으로, CPU(102)는 디지털 시그널 프로세서와 같은 어떤 특별한 목적의 마이크로프로세서일 수도 있다. 도 1의 실시예에서, CPU(102)는 캐쉬(108) 및 주 메모리(110) 모두에 연결된다.
캐쉬(108) 및 메모리(110)는 특히 명령(instruction) 모듈들, 훈련 집합들, 특징 집합들, 이미지 데이터, 및 비디오 데이터를 저장하도록 구성될 수 있다. 캐쉬(108) 및 주 메모리(110) 모두는 서로 연결되고 전형적으로 컴퓨터 데이터인 정보가 저장되고 검색되도록 허용하는 전자 회로를 구현할 수 있다. 또한 캐쉬(108) 또는 주 메모리(110)는 예를 들어 디스크 드라이브 또는 테이프 드라이브와 같은 외부 디바이스들 또는 시스템들을 포함할 수도 있다. 또한 캐쉬(108) 또는 주 메 모리(110)는 예를 들어 Random Access Memory(RAM)와 같은 빠른 반도체 스토리지 (칩들) 또는 다양한 형태의 Read Only Memory(ROM)를 포함할 수도 있고, 이는 CPU(102)에 직접 연결된다. 캐쉬(108) 또는 주 메모리(110)를 포함할 수 있는 다른 타입의 메모리는 버블(bubble) 메모리 또는 코어(core) 메모리를 포함한다. 몇몇 실시예에서, 캐쉬(108)는 주 메모리(110)보다 더 빠르게 액세스되도록 구성된다. 그러나, 많은 경우들에서, 캐쉬는 더 비싸고 따라서 주 메모리(110)보다 적은 저장 용량을 가진다.
일반적으로, 본 명세서에서, 워드(word) 모듈은 하드웨어 또는 펌웨어로 구현되는 로직, 또는 예를 들어 C 또는 C++과 같은 프로그래밍 언어로 기록된 입구 및 출구 지점(entry and exit points)을 가질 수 있는 소프트웨어 명령들의 모음을 말한다. 소프트웨어 모듈은 동적 링크 라이브러리에서 인스톨되는 실행가능한 프로그램으로 컴파일되고 링크될 수도 있고, 또는 예를 들어 BASIC, Perl, 또는 Python과 같은 기계번역되는(interpreted) 프로그래밍 언어로 기록될 수도 있다. 소프트웨어 모듈들은 다른 모듈들 또는 그 자신들로부터 호출될 수도 있고, 및/또는 검출되는 이벤트들 또는 인터럽트들에 응답하여 실시될 수도 있다. 소프트웨어 명령들은 EPROM과 같은 펌웨어에 임베딩될 수도 있다. 일반적으로, 본 명세서에서 기술되는 모듈들은 다른 모듈들과 연결될 수도 있고, 그들의 물리적 구조나 스토리지에 불구하고 서브-모듈들로 분리될 수도 있는 논리 모듈들을 말한다.
시스템(100)은 일반적으로 윈도우즈 95, 98, NT, 2000, XP, 비스타, 리눅스, SunOS, 솔라리스(Solaris), PalmOS, 블랙베리 OS, 또는 기타 호환성있는 운영 체제 들과 같은 서버 및/또는 데스크톱 컴퓨터 운영 체제 소프트웨어에 의해 제어되고 조정된다(coordinated). 매킨토시 체제들에서, 운영 체제는 MAC OS X와 같은 어떠한 사용가능한 운영 체제일 수도 있다. 다른 실시예들로, 시스템(100)은 전용(proprietary) 운영 체제에 의해 제어될 수도 있다. 일반적인 운영 체제들은 실행을 위해 컴퓨터 프로세스들을 제어 및 스케줄링하고, 메모리 관리를 실행하며, 파일 시스템, 네트워킹 및 I/O 서비스들을 제공하고, 특히 그래픽 사용자 인터페이스("GUI")와 같은 사용자 인터페이스를 제공한다.
도 1의 실시예에서, 시스템(100)은 예를 들어, 유선(wired) 연결, 무선(wireless) 연결, 또는 유선 및 무선 연결의 결합을 통한 하나 이상의 LAN, WAN, 또는 인터넷의 어떠한 결합과 같은 네트워크(112)와 통신할 수도 있다. 네트워크는 다양한 컴퓨팅 디바이스들 및/또는 기타 전자 디바이스들과 유선 또는 무선 통신 링크들을 통해서 통신할 수도 있다. 예를 들어, 데이터 스트림은 네트워크로부터 수신될 수 있고, 예를 들어 인터넷을 통해서 하나 이상의 디바이스로부터 송신되는 웹 또는 이메일 데이터와 같은 데이터를 포함할 수 있다.
객체 분류 또는 객체 검출 시스템을 훈련시키는 것은 양 및 음의 샘플들의 집합을 분석하는 것을 포함하고, 여기서 양의 샘플들은 객체 클래스에 속하고 음의 샘플들은 객체 클래스에 속하지 않는다. 컴퓨터는 양 및 음의 샘플 간의 차이를 학습하기 위하여 감시되거나 또는 감시되지 않는 방식으로 특징들을 추출한다. 이러한 특징들은 그것들이 객체 클래스에 속하거나 또는 객체 클래스에 속하지 않는 것으로써 분류되어야 하는지 여부를 결정하기 위해서 새로운 샘플들에 적용될 수 있다.
도 2는 객체 검출을 위한 시스템을 훈련하는 방법을 나타내는 흐름도이다. 프로세스(200)는 블록(210)에서 양 및 음의 샘플들의 훈련 집합을 획득함으로써 시작한다. 훈련된 시스템의 하나의 애플리케이션은 입력 이미지를 가져가고 그 이미지의 부분들이 특별한 객체 클래스에 속하는 것으로 분류하는 것이기 때문에, 그 시스템을 객체 클래스에 속하는 이미지들의 모음 및 객체 클래스에 속하지 않는 이미지들의 모음으로 훈련하는 것은 이익이 있다. 본 시스템의 다른 실시예들은 이미지 또는 비디오 프로세싱이 아닌 데이터에 적용될 수도 있고, 따라서 더욱 포괄적인 용어 "양의 샘플" 및 "음의 샘플"이 사용된다. 양의 샘플은 훈련된 시스템이 예를 들어 객체 클래스에 속하는 양으로써 분류해야 하는 데이터를 나타내는 샘플이고, 음의 샘플은 상기 시스템이 예를 들어 객체 클래스에 속하지 않는 음으로써 분류해야 하는 데이터를 나타내는 샘플이다. 얼굴 검출을 위한 양의 샘플들의 예시적인 모음이 도 3에 나타나 있다.
다음으로, 블록(215)에서, 특징들의 집합이 획득된다. 일반적으로, 특징은 샘플에 대한 정보를 제공하는 함수이다. 예를 들어, 이미지에서의 객체 검출 및 분류에서, 특징은 특징값을 출력하는 이미지의 픽셀들의 함수일 수 있다. 몇몇 실시예들에서, 특징은 이미지의 일부를 부가하고 또 다른 부분을 빼는 것과 같은 프로세스들에 의해 이루어지는 픽셀 강도들(intensities)의 선형 결합이다. 특징들의 하나의 집합은 소위 그것들이 Haar 웨이블렛(wavelets)과 직관적인 유사성을 공유하기 때문에 Haar-like 특징들이다. Haar-like 특징들은 본래 사각형이고(rectangular) 계산을 단순화하기 위해 사용될 수 있다. Haar-like 특징들의 예시적인 집합은 도 4에 나타나 있다. 밝은 영역은 이미지의 부분이 합산되는 것을 가리키고, 어두운 영역은 이미지의 부분이 차감되는(subtracted) 것을 가리킨다. 이것은 능동적으로 각각의 픽셀의 강도에 부가하거나 또는 대신하여 계산에서 사용될 수 있는 특징값을 생성한다. 예를 들어, 샘플 이미지에 적용되는 도 4의 4개의 특징들은 4개의 특징값들을 제공할 것이다. 샘플 이미지에 특징을 적용하는 것은 이미지 데이터를 특징에 의해 정의되는 프로세스로 처리하는 것을 포함한다. 예를 들어, 도 4의 A로 표시된 제1 Haar-like 특징을 적용하는 것은 밝은 사각형 하에서 픽셀 강도들을 합산하는 것과 이로부터 어두운 사각형 하의 픽셀 강도들을 차감하여 특징값을 생성하는 것을 포함할 수 있다. 물론, 특징 집합들은 4개보다 훨씬 더 많은 특징들로 구성될 수도 있다. 몇몇 실시예들에서, 수 백, 수 천, 또는 수 만의 특징들이 특징 집합의 일부로써 사용될 수도 있다. 몇몇에서 사각형의 특징들이 사용될 수 있다고 할지라도, 다른 실시예들은 원형 또는 임의의 모양의 특징들을 채용할 수도 있다. 다른 실시예에서, 조종가능한(steerable) 필터들을 포함하는 다른 특징들이 채용될 수도 있다. "조종가능한 필터"라는 용어는 임의의 방위(orientation)의 필터가 기본 필터들의 선형 결합으로 합성되는 필터들의 클래스를 기술하는데 사용된다. 이미지 프로세싱이 아닌 환경에서는, 특징의 "모양(shape)" 또는 "방위(orientation)"는 의미가 없다.
블록(220)에서, 각각의 특징에 대한 특징값이 훈련 집합의 각각의 샘플에 대해 정의된다. 몇몇 실시예들에서는, 획득된 훈련 집합의 모든 샘플이 사용되는 것 이 아니라 그 훈련 집합의 서브집합이 사용된다. 따라서 새로운 훈련 집합이 형성된다. 서브집합은 집합 중 단지 하나의 구성요소만을 포함할 수도 있고, 적어도 두 개의 구성요소들을 포함할 수도 있으며, 적어도 세 개의 구성요소들을 포함할 수도 있고, 집합의 구성요소들 중 중요한 부분(예를 들어, 적어도 10%, 20%, 30%)을 포함할 수도 있으며, 집합의 구성요소들 중 대부분을 포함할 수도 있고, 집합의 구성요소들 중 거의 모두(예를 들어, 적어도 80%, 90%, 95%)를 포함할 수도 있으며, 집합의 구성요소들 모두를 포함할 수도 있다. 각각의 특징은 훈련 집합의 각각의 샘플(양 및 음 모두)에 적용되고, 특징값들이 획득된다. 훈련 집합에 관해서, 몇몇 실시예들에서는, 획득된 특징 집합의 모든 특징이 사용되는 것은 아니며, 그 대신에 특징 집합의 서브집합이 분석된다.
다음으로, 블록(220)에서, 가중치들(weights)이 훈련 집합의 각각의 샘플과 연관된다. 각각의 가중치는 단순히 이후의 계산에서 사용되는 값이다. 가중치는 샘플을 올바르게 분류하는 중요성에 대응할 수 있다. 일 실시예에서, 가중치들은 균일하며(uniform), 예를 들어, 각각의 양의 샘플에 대한 가중치는 동일하고, 각각의 음의 샘플에 대한 가중치는 동일하다. 선택적으로, 다른 가중치들이 데이터의 특성들에 의존하여 할당될 수도 있다. 예를 들어, 훈련 샘플의 신호-대-잡음 비율이 샘플에 대한 가중치를 결정하기 위해 사용될 수 있고, 분류기는 잡음에 의해 오염되기 쉬운 데이터에 부가적인 중요성을 부여한다. 일 실시예에서, 각각의 양의 샘플에 대한 가중치는 1/(2m)이고, 여기서 m은 양의 샘플들의 개수이며, 각각의 음의 샘플에 대한 가중치는 1/(2l)이고, 여기서 l은 음의 샘플들의 개수이다. 다른 실시예들에서, 가중치들이 정규화될(normalized) 수도 있고, 예를 들어, 모든 가중치들의 합산은 1이다. 정규화(normalization)는 또한 양 및 음의 가중치들에 대해서 별도로 실행될 수도 있다.
도 5는 훈련 집합에 적용되는 특징으로부터의 결과일 수 있는 예시적인 가중치들 및 특징값들을 나타내는 도면이다. 각각의 화살표는 상이한 샘플을 나타내며, +는 양의 샘플을 가리키고, -는 음의 샘플을 가리킨다. 화살표의 높이는 본 발명의 일 실시예에 따라 각각의 샘플에 할당되는 가중치들을 나타낼 수 있다. 수평 축에 따른 화살표의 위치는 각각의 샘플과 연관되는 예시적인 특징값을 나타내고, 여기서 더 높은 특징값들은 더 낮은 특징값들의 오른쪽에 위치한다. 이러한 예시에서, 분류화에서 일어난 4개의 에러들이 있는 쓰레숄드(510)가 결정된다. 특히, 2개의 양의 샘플들(520,521)은 그것들이 쓰레숄드보다 낮은 특징값을 가지기 때문에 음이라고 부적절하게 가정되고, 2개의 음의 샘플들(522,523)은 그것들이 쓰레숄드보다 높은 특징값을 가지기 때문에 양이라고 부적절하게 가정된다. 동일한 특징이 알려지지 않은 샘플에 적용되는 경우, 만일 샘플이 객체 클래스에 속하면 특징값이 쓰레숄드 위에 있을 것이라고 가정될 것이고, 만일 샘플이 객체 클래스에 속하지 않으면 특징값이 쓰레숄드 아래에 있다고 가정될 것이다. 이러한 가정은 항상 옳은 것은 아니지만, 예를 들어, 잘못 분류된 훈련 샘플들과 같이, 객체 클래스에 속하는 샘플은 쓰레숄드보다 낮은 특징값을 가지고, 또는 객체 클래스에 속하지 않는 샘플은 쓰레숄드보다 높은 특징값들을 가진다. 이것은 강한 분류기를 형성하기 위해 많은 특징들을 결합시키는 동기가 된다.
제2 예시는 도 6에 나타나 있고, 도 6은 훈련 집합에 적용되는 다른 특징으로부터의 결과일 수 있는 예시적인 가중치들 및 특징값들을 나타내는 도면이다. 이 경우에서, 유사한 특징을 이용하여 객체들을 분류하는데 이익이 되는 정보를 제공하는 두 개의 쓰레숄드(610,615)가 결정된다. 동일한 특징이 알려지지 않은 샘플에 적용되는 경우에, 만일 샘플이 객체 클래스에 속하면 특징값은 두 개의 쓰레숄드의 사이에 있을 것이고, 만일 샘플이 객체 클래스에 속하지 않으면 특징값은 두 개의 쓰레숄드의 외부에 있을 것으로 가정된다.
쓰레숄드들의 개수 및 그것들의 배치를 결정하는 한 가지 방법이 이하에서 설명된다. 각각의 특징에 대하여, 블록(230)에서, 제1 및 제2 쓰레숄드 값이 결정된다. 일 실시예에서, 제1 쓰레숄드 값은 제1 메트릭이 최소화되는 값이고, 여기서 제1 메트릭은 다음과 같이 표현될 수 있다:
M1 = S+ + (T- - S-)
여기서, M1은 제1 메트릭이고, S+는 제1 쓰레숄드 값보다 큰 특징값을 가진 양의 샘플들과 연관된 가중치들의 합산이며, T-는 모든 음의 샘플들과 연관된 가중치들의 합산이고, S-는 제1 쓰레숄드 값보다 큰 특징값을 가진 음의 샘플들과 연관된 가중치들의 합산이다. 일 실시예에서, 제2 쓰레숄드 값은 제2 메트릭이 최소화되는 값이고, 여기서 제2 메트릭은 다음과 같이 표현될 수 있다:
M2 = S- + (T+ - S+)
여기서, M2는 제1 메트릭이고, S-는 제1 쓰레숄드 값보다 큰 특징값을 가진 음의 샘플들과 연관된 가중치들의 합산이며, T+는 모든 양의 샘플들과 연관된 가중치들의 합산이고, S+는 제1 쓰레숄드 값보다 큰 특징값을 가진 양의 샘플들과 연관된 가중치들의 합산이다.
따라서, 일 실시예에서, 제1 쓰레숄드 값은 쓰레숄드보다 큰 샘플들 모두를 양으로 분류하고 쓰레숄드보다 작은 샘플들 모두를 음으로 분류하는 가중화된(weighted) 에러를 최소화할 수도 있고, 제2 쓰레숄드 값은 쓰레숄드 값보다 큰 샘플들 모두를 음으로 분류하고 쓰레숄드보다 작은 샘플들 모두를 양으로 분류하는 가중화된 에러를 최소화할 수도 있다.
도 5에 도시된 특징과 같은 몇몇 특징들에 대하여, 양의 샘플들은 높은 특징값을 가지고 음의 샘플들은 낮은 특징값을 가지며, 이러한 쓰레숄드들 중 하나만이 분류에서 많이 사용된다(예를 들어, 제2 쓰레숄드). 그러나, 도 6에 도시된 특징과 같은 다른 특징들은 음의 샘플들에 대해 높고 낮은 특징값들 모두 및 양의 샘플들에 대해 중간(medium) 특징값들을 가져온다. 이러한 경우에 모든 쓰레숄드들을 사용함으로써, 시스템을 훈련시키는 것이 단순화될 수도 있다. 이익이 될 쓰레숄드들의 개수를 결정하는 방법은 이하에서 설명된다.
도 2의 블록(235)에서, 다시 각각의 특징에 대해서, 비교값이 결정된다. 몇 몇 실시예들에서, 특징들 중 서브집합에 속하는 특징들만이 비교값을 결정되도록 한다. 만일 제1 및 제2 메트릭이 너무 높으면, 그 특징은 불량한 분류기를 가리키므로, 몇몇 실시예들은 예를 들어 특징 집합을 감소시킬 수도 있다. 일 실시예에서, 비교값은 음의 샘플들 모두와 연관된 가중치들의 합산(T-) 및 양의 샘플들 모두와 연관된 가중치들의 합산(T+) 중 더 작은 것이다. 다른 실시예들에서, T-와 T+의 평균과 같은 상이한 비교값이 사용될 수 있다. 비교값을 사용하여, 블록(240)에서, 쓰레숄드들의 개수가 결정된다. 다시, 이러한 단계는 그것이 실행되는 각각의 특징에 대해 독립적으로 실행된다. 일 실시예에서, 만일 제1 및 제2 메트릭 모두가 비교값보다 작으면, 쓰레숄드들의 개수는 2이고, 모든 쓰레숄드들은 다음의 단계들에서 사용된다. 일 실시예에서, 만일 제1 또는 제2 메트릭 중 하나만이 비교값보다 작으면, 쓰레숄드들의 개수는 1이고 더 작은 메트릭에 대응하는 쓰레숄드만이 다음의 단계들에서 사용된다. 일 실시예에서, 제1 및 제2 메트릭 모두가 비교값보다 작지 않으면, 특징은 이후의 단계들에서 사용되지 않을 수 있다.
블록(245)에서, 쓰레숄드들을 사용하도록 결정된 각각의 특징에 대하여 에러값이 결정된다. 에러값은 샘플들이 객체 클래스에 속하는지 아닌지를 적절하게 평가할 때 분류기의 정확성을 나타낸다. 쓰레숄드들은 쓰레숄드의 반대 쪽에 특징값들을 가진 그러한 샘플들을 상이하게 분류함으로써 에러값을 결정하는데 사용된다. 예를 들어, 하나의 쓰레숄드가 사용될 때, 쓰레숄드보다 큰 특징값을 가진 샘플들 모두는 양의 샘플들이고 쓰레숄드보다 작은 특징값을 가진 샘플들 모두는 음의 샘 플들이라고 가정함으로써 에러가 결정될 수도 있다. 이러한 가정은 에러값을 결정하기 위하여 샘플들의 알려진 양 또는 음에 대해서 비교된다. 에러값은 샘플들과 연관된 가중치들을 사용함으로써 결정될 수도 있다. 다른 실시예에서, 두 개의 쓰레숄드들을 가지고, 두 개의 쓰레숄드들 사이의 특징값들을 가진 샘플들 모두는 음으로 가정될 수 있고 두 개의 쓰레숄드들 외부의 것들은 양으로 가정될 수 있다. 다시, 에러값은 샘플들의 알려진 양 또는 음에 대해 그 가정을 비교함으로써 결정될 수 있다.
선행하는 단계들이 많은 특징들에 대해서 실행되었을 때, 프로세스는 블록(250)으로 이동하고, 여기서는 가장 낮은 에러값을 가지는 특징이 결정된다. 각각의 특징은 예를 들어 특징 인덱스와 연관될 수도 있다. 블록(250)에서, 가장 낮은 에러값을 가진 특징에 대응하는 특징 인덱스는 이후의 사용을 위하여 메모리에 저장될 수도 있다. 다른 실시예들에서, 특징 그 자체는 이후의 사용을 위해 저장될 수도 있다. 프로세싱의 이 지점에서, 알려진 샘플을 적절하게 분류하기에 가장 쉬운 특징 및 연관된 쓰레숄드(들)가 결정되었다.
도 2의 블록(255)에서, 가장 낮은 에러값을 가지는 특징을 이용하여 가중치들이 업데이트된다. 일 실시예에서, 잘못 분류된 샘플들에 대하여 가중치들이 증가된다. 일 실시예에서, 다음의 공식에 따라서 가중치들이 업데이트된다:
Figure 112008059958165-pat00001
여기서, wt +1,i는 제i 샘플에 대한 업데이트된 가중치, 즉 반복 t+1에서 제i 샘플에 대한 가중치이고, wt ,i는 제i 샘플에 대한 원래의 가중치, 즉 반복 t에서 제i 샘플에 대한 가중치이며,
Figure 112008059958165-pat00002
이고, εt는 특징의 에러값이며, ei는 제i 샘플이 올바르게 분류되면 0이고 제i 샘플이 잘못 분류되면 1이다. 따라서, 몇몇 실시예들은 가중치들을 업데이트하기 위해 가장 낮은 에러값으로 특징의 에러값을 사용한다.
도 7은 도 5의 특징에 적용되는 적응적 부스팅 방법의 한 번의 반복 후의 결과일 수 있는 예시적인 가중치들을 나타내는 도면이다. 이 예시에서, 잘못 식별된 샘플들은 이전의 반복에서보다 더 높은 가중치를 가진다. 업데이트된 가중치로 인해서, 쓰레숄드 값들은 반복마다 변할 수 있다.
도 2의 블록(260)에서는 최종 반복이 실행되었는지 여부에 관한 결정이 이루어진다. 만일 실행되는 더 많은 반복들이 있다면, 프로세스는 블록(230)으로 돌아가서 제1 및 제2 쓰레숄드 값들을 재결정하고 다음의 단계들을 실행한다. 반복들의 개수는 고정된 개수 T, 예를 들어, 2, 3, 4, 10, 20 등일 수 있다. 또한, 반복들의 개수는 예를 들어 에러값, 또는 제1 및 제2 메트릭을 동적으로(dynamically) 조사함으로써 결정될 수도 있다. 만일 최종의 반복이 실행되었으면, 프로세스는 블록(265)으로 이동하고, 여기서 각각의 반복에서 가장 낮은 에러값을 가진 특징에 기초하여 강한 분류기가 정의된다. 상술한 것과 같이, 이러한 특징은 블록(250)에서 결정되었다. 많은 반복들에 대하여, 많은 특징들이 결정될 수 있고, 그것들 각 각은 강한 분류기를 정의하는데 사용될 수 있다. 강한 분류기를 정의하는 것은 일반적으로 특징들을 결합하는 것을 포함한다. 언급된 바와 같이, 일 실시예로, 분류기는 입력으로 샘플을 수신하고, 샘플이 객체 클래스에 속하는지 객체 클래스에 속하지 않는지 여부의 표시를 출력한다. 일 실시예에서, 강한 분류기는 다음 방정식에 의해 정의될 수도 있다:
Figure 112008059958165-pat00003
여기서, x는 분류되는 샘플을 나타내고, C(x)는 샘플에 대해 동작하는 강한 분류기이며,
Figure 112008059958165-pat00004
이고, ht(x)는 반복 t에서 가장 낮은 에러를 가지는 특징에 의해서 결정되는 샘플의 특징값이다. 위의 용어 "log"는 자연 로그, 밑수 10의(base-10) 로그, 또는 다른 밑수의 로그를 나타낼 수 있다. 본 실시예에서, 샘플 x는 방정식에 의해서 프로세스되고, 1은 샘플이 객체 클래스에 속하는 것을 가리키며, 0은 샘플이 객체 클래스에 속하지 않는 것을 가리킨다.
다음으로, 정의된 강한 분류기는 저장되고, 송신되며, 디스플레이되고, 또는 다른 방식으로 시스템으로부터 출력될 수도 있다. 또는, 강한 분류기는 추가적인 프로세싱을 위하여 시스템의 또 다른 기능적 부분으로 전송될 수도 있다. 예를 들어, 프로세싱은 객체 검출을 실행하기 위하여 강한 분류기를 사용하는 것을 포함할 수도 있다. 강한 분류기는 특히 캐쉬(108) 또는 주 메모리(110)에 저장될 수도 있 다. 그것들은 예를 들어 네트워크(112)를 거쳐서 송신될 수도 있다.
상술한 설명이 단지 두 개의 쓰레숄드들을 언급한다고 할지라도, 본 발명의 범위를 벗어남이 없이 어떠한 개수의 쓰레숄드들이 사용될 수도 있다. 예를 들어, 4개의 쓰레숄드는 음의 샘플들의 특징값들이 균일하게 퍼지고 양의 샘플들의 특징값들이 두 개의 별도의 값들 주위로 집중되는(centered) 특징으로부터 객체를 분류하기 위해 사용될 수도 있다. 만일 알려지지 않은 샘플에 동일한 특징이 적용되는 경우, 만일 샘플이 객체 클래스에 속하면 특징값은 제1 및 제2 쓰레숄드 사이에 또는 제3 및 제4 쓰레숄드 사이에 있을 것으로 가정되고, 만일 샘플이 객체 클래스에 속하지 않으면 특징값은 이러한 영역들의 외부에 있을 것으로 가정된다.
얼굴 검출 및 분류
위에서 설명된 방법을 사용하여 훈련되는 강한 분류기의 한 가지 애플리케이션은 얼굴 검출에 있다. 예를 들어, 컴퓨터에 연결되는 비디오 카메라는 그 또는 그녀가 그들의 얼굴을 시점 필드 주위에서 움직일 때 사용자를 추적할 수 있을 수도 있다. 얼굴 검출의 다른 사용들은 얼굴 인식 프로그램들에 도움을 줄 수도 있다. 얼굴 검출의 한 가지 목적은 입력 이미지(비디오의 프레임과 같은)를 가져가고 이미지의 일부를 사람의 얼굴인 것으로 특성화하는 것이다.
양의 훈련 샘플들의 집합은 도 3에 나타나 있다. 도 8은 본 발명의 일 실시예에 의해 선택된 예시적인 제1 및 제2 특징들을 나타내는 도면이다. 일반적으로 눈(eyes)은 눈 아래의 영역보다 더 어둡기 때문에, 제1 특징(810)은 예를 들어 방법(200)의 블록(250)에 의해 선택될 수도 있다. 일반적으로 잡음의 브릿지(bridge)는 눈보다 더 밝기 때문에, 제2 특징(820)이 선택될 수도 있다.
예를 들어 상술된 방법을 이용하여 강한 분류기가 훈련된 후에, 많은 위치들 및 많은 스케일들에서 입력 이미지의 부분들은 그 부분을 얼굴이거나 얼굴이 아닌 것으로 분류하도록 시도하기 위해 분류기 내로 입력될 수 있다. 도 9는 얼굴 검출 시스템의 일 실시예의 출력들의 예시적인 모음이다. 이 실시예에서, 이미지는 강한 분류기가 그 부분을 얼굴인 것으로 식별할 때마다 이미지에 덧붙여진(superimposed) 박스를 가진다.
결론
일반적으로, 상기 방법에 의해 훈련되는 강한 분류기와 같이, 분류기는 데이터 샘플을 객체 클래스에 속하거나 객체 클래스에 속하지 않는 것으로 분류하기 위해서 사용된다. 따라서, 몇몇 실시예들에서, 강한 분류기를 이용한 분류는 데이터 조각이 객체이거나 또는 객체가 아닌 표시자(indicator)를 출력하도록 실행된다. 표시자는 예를 들어 이미지에서 객체 검출의 일부로써 사용될 수 있다.
얼굴은 상술된 방법들을 이용하여 검출될 수 있는 이미지에서의 유일한 객체가 아니다. 예를 들어, 만일 객체 클래스가 사람의 손을 포함한다면, 손 움직임의 비디오 분석에 의해 형성되는 경로 또는 궤도들이 사람-기계 인터페이스의 부분으로써 사용될 수도 있다. 만일 객체 클래스가 차량(차, 트럭, SUV, 모터싸이클 등)을 포함한다면, 프로세스는 차량 분석을 자동화하거나 용이하게 하도록 채용될 수도 있다. 자동화된 크랩(craps) 테이블이 객체 클래스로 주사위를 선택 및 훈련하고, 던져진 주사위를 카메라로 추적하며, 주사위가 멈췄을 때 결과의 숫자를 분석 함으로써 생성될 수도 있다.
상술된 방법들은 단지 이미지 분석에만 제한되지 않는다. 본 발명은 예를 들어 오디오 데이터에 대해 작업하기 위하여 강한 분류기를 훈련하는데 적용될 수도 있다. 고래의 소리들을 결정하고 인구 분석을 용이하게 하며 및/또는 보존 노력들을 촉진하기 위해, 해양(oceanic) 기록이 강한 분류기에 의해서 분석될 수도 있다. 개시된 방법들로 훈련된 강한 분류기로부터 다른 데이터 집합들도 이익이 있을 수도 있다.
상술한 설명은 다양한 실시예들에 적용되는 본 발명의 신규한 특징들을 지적한 것인 반면에, 당업자는 본 발명의 범위를 벗어남이 없이 설명된 디바이스 또는 프로세스의 형태 및 세부사항들에 다양한 생략, 치환, 및 변경이 행해질 수도 있음을 이해할 것이다. 따라서, 본 발명의 범위는 앞서의 설명에 의해서라기 보다는 첨부된 청구항들에 의해서 정의된다. 청구항들의 균등의 의미 및 범위 내에 들어오는 모든 변형들은 그 범위에 포함된다.
도 1은 본 발명의 일 실시예에 따른 방법을 실행하도록 구성될 수 있는 시스템의 기능적인 블록도이다.
도 2는 객체 검출을 위한 시스템을 훈련하는 방법을 나타내는 흐름도이다.
도 3은 얼굴 검출 시스템을 훈련하기 위한 양의 샘플들의 예시적인 모음을 나타낸다.
도 4는 Haar-like 특징들의 집합을 나타낸다.
도 5는 훈련 집합에 적용되는 특징으로부터의 결과일 수 있는 예시적인 가중치들(weights) 및 특징값들을 나타내는 도면이다.
도 6은 훈련 집합에 적용되는 다른 특징으로부터의 결과일 수 있는 예시적인 가중치들 및 특징값들을 나타내는 도면이다.
도 7은 도 5의 특징에 적용되는 적응적 부스팅 방법의 한 번의 반복 후의 결과일 수 있는 예시적인 가중치들을 나타내는 도면이다.
도 8은 본 시스템의 일 실시예에 의해 선택되는 예시적인 제1 및 제2 특징들을 나타내는 도면이다.
도 9는 얼굴 검출 시스템의 일 실시예의 출력들의 예시적인 모음이다.

Claims (20)

  1. 강한 분류기(strong classifier)를 정의하는 방법에 있어서, 상기 방법은,
    양 및 음의 샘플들의 훈련 집합을 수신하는 단계;
    특징들의 집합을 수신하는 단계;
    상기 특징들의 집합의 제1 서브집합 각각에 대하여, 대응하는 특징값을 상기 훈련 집합의 제1 서브집합 각각과 연관시키는 단계;
    대응하는 가중치(weight)를 상기 훈련 집합의 제2 서브집합 각각과 연관시키는 단계;
    반복적으로,
    ⅰ) 상기 특징들의 집합의 제2 서브집합 각각에 대하여, 제1 메트릭이 최소화되는 제1 쓰레숄드 값을 결정하는 단계;
    ⅱ) 상기 특징들의 집합의 제3 서브집합 각각에 대하여, 제2 메트릭이 최소화되는 제2 쓰레숄드 값을 결정하는 단계;
    ⅲ) 상기 특징들의 집합의 제4 서브집합 각각에 대하여, 쓰레숄드들의 개수를 결정하는 단계;
    ⅳ) 상기 특징들의 집합의 제5 서브집합 각각에 대하여, 상기 결정되는 쓰레숄드들의 개수에 기초하여 에러값을 결정하는 단계;
    ⅴ) 가장 낮게 연관되는 에러값을 가지는 특징을 결정하는 단계; 및
    ⅵ) 상기 가중치들을 업데이트하는 단계;
    복수의 반복들에서 상기 가장 낮게 연관되는 에러값을 가지는 특징들에 기초하여 강한 분류기를 정의하는 단계; 및
    상기 강한 분류기에 기초하여 샘플을 객체 클래스에 속하는지 또는 객체 클래스에 속하지 않는지로써 분류하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    각각의 특징은 픽셀값들의 함수인 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 특징들의 집합의 상기 제1, 제2, 제3, 제4 및 제5 서브집합 중 적어도 하나는 상기 특징들의 집합 각각을 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 훈련 집합의 상기 제1 또는 제2 서브집합 중 적어도 하나는 상기 양 및 음의 샘플들 각각을 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 특징들의 집합의 상기 제1, 제2, 제3, 제4 및 제5 서브집합 중 적어도 두 개는 동일한 서브집합을 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    제1 반복에서 상기 특징들의 집합의 상기 제2, 제3, 제4 및 제5 서브집합 중 적어도 하나는 순차적인 반복에서 각각 상기 특징들의 집합의 상기 제2, 제3, 제4 및 제5 서브집합과 상이한 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 제1 메트릭은, (상기 음의 샘플들과 연관되는 가중치들의 합) + (상기 제1 쓰레숄드 값보다 큰 특징값을 가지는 상기 양의 샘플들과 연관되는 가중치들의 합) - (상기 제1 쓰레숄드 값보다 큰 특징값을 가지는 상기 음의 샘플들과 연관되는 가중치들의 합)인 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 제2 메트릭은, (상기 양의 샘플들과 연관되는 가중치들의 합) + (상기 제2 쓰레숄드 값보다 큰 특징값을 가지는 상기 음의 샘플들과 연관되는 가중치들의 합) - (상기 제2 쓰레숄드 값보다 큰 특징값을 가지는 상기 양의 샘플들과 연관되는 가중치들의 합)인 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 쓰레숄드들의 개수를 결정하는 단계는 적어도 상기 제1 및 제2 쓰레숄드 값들을 비교값에 비교하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 비교값은 상기 음의 샘플들 모두와 연관되는 가중치들의 합 및 상기 양의 샘플들 모두와 연관되는 가중치들의 합 중 작은 것인 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 가중치들을 업데이트하는 단계는 상기 가장 낮은 에러값에 기초하여 상기 가중치들을 업데이트하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 가중치들은 공식
    Figure 112008059958165-pat00005
    에 따라 업데이트되고, wt +1,i는 제i 샘플에 대한 업데이트된 가중치이며, wt ,i는 제i 샘플에 대한 원래의 가중치이고,
    Figure 112008059958165-pat00006
    이며, εt는 상기 특징의 에러값이고, ei는 제i 샘플이 올바르게 분류되면 0이고 제i 샘플이 잘못 분류되면 1인 것을 특징으로 하는 방법.
  13. 제1항에 있어서,
    상기 강한 분류기는 공식
    Figure 112008059958165-pat00007
    에 의해 정의되고, x는 분류되는 샘플을 나타내며, C(x)는 상기 샘플에 대해 동작하는 상기 강한 분류기이고,
    Figure 112008059958165-pat00008
    이며, ht(x)는 반복 t에서 상기 가장 낮은 에러를 가지는 특징에 의해 결정되는 샘플의 특징값인 것을 특징으로 하는 방법.
  14. 강한 분류기(strong classifier)를 정의하기 위한 시스템에 있어서, 상기 시스템은,
    양 및 음의 샘플들의 훈련 집합을 수신하도록 구성되는 입력;
    특징들의 집합을 수신하도록 구성되는 특징 모듈;
    상기 특징들의 집합의 제1 서브집합 각각에 대하여, 대응하는 특징값을 상기 훈련 집합의 제1 서브집합 각각과 연관시키도록 구성되는 특징값 모듈;
    대응하는 가중치(weight)를 상기 훈련 집합의 제2 서브집합 각각과 연관시키도록 구성되는 가중치 모듈;
    반복적으로
    ⅰ) 상기 특징들의 집합의 제2 서브집합 각각에 대하여, 제1 메트릭이 최소화되는 제1 쓰레숄드 값을 결정하고;
    ⅱ) 상기 특징들의 집합의 제3 서브집합 각각에 대하여, 제2 메트릭이 최소화되는 제2 쓰레숄드 값을 결정하며;
    ⅲ) 상기 특징들의 집합의 제4 서브집합 각각에 대하여, 쓰레숄드들의 개수를 결정하고;
    ⅳ) 상기 특징들의 집합의 제5 서브집합 각각에 대하여, 상기 결정되는 쓰레숄드들의 개수에 기초하여 에러값을 결정하며;
    ⅴ) 가장 낮게 연관되는 에러값을 가지는 특징을 결정하고; 및
    ⅵ) 상기 가중치들을 업데이트하도록 구성되는 계산 모듈;
    복수의 반복들에서 상기 가장 낮게 연관되는 에러값을 가지는 특징들에 기초하여 강한 분류기를 정의하도록 구성되는 정의 모듈; 및
    상기 강한 분류기에 기초하여 샘플을 객체 클래스에 속하는 것 또는 객체 클래스에 속하지 않는 것으로써 분류하도록 구성되는 분류 모듈을 포함하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서,
    상기 입력은 메모리로부터 훈련 집합을 수신하도록 구성되는 메모리 액세스 모듈인 것을 특징으로 하는 시스템.
  16. 제14항에 있어서,
    상기 샘플이 객체 클래스에 속하는지 또는 객체 클래스에 속하지 않는지의 표시를 출력하도록 구성되는 출력 모듈을 더 포함하는 것을 특징으로 하는 시스템.
  17. 제14항에 있어서,
    상기 정의된 강한 분류기를 메모리에 저장하도록 구성되는 저장 모듈을 더 포함하는 것을 특징으로 하는 시스템.
  18. 제14항에 있어서,
    상기 샘플이 객체 클래스에 속하는지 또는 속하지 않는지의 표시를 메모리에 저장하도록 구성되는 저장 모듈을 더 포함하는 것을 특징으로 하는 시스템.
  19. 강한 분류기(strong classifier)를 정의하기 위한 시스템에 있어서, 상기 시스템은,
    양 및 음의 샘플들의 훈련 집합을 수신하기 위한 수단;
    특징들의 집합을 수신하기 위한 수단;
    상기 특징들의 집합의 제1 서브집합 각각에 대하여, 대응하는 특징값을 상기 훈련 집합의 제1 서브집합 각각과 연관시키기 위한 수단;
    대응하는 가중치(weight)를 상기 훈련 집합의 제2 서브집합 각각과 연관시키기 위한 수단;
    반복적으로
    ⅰ) 상기 특징들의 집합의 제2 서브집합 각각에 대하여, 제1 메트릭이 최소화되는 제1 쓰레숄드 값을 결정하고;
    ⅱ) 상기 특징들의 집합의 제3 서브집합 각각에 대하여, 제2 메트릭이 최소화되는 제2 쓰레숄드 값을 결정하며;
    ⅲ) 상기 특징들의 집합의 제4 서브집합 각각에 대하여, 쓰레숄드들의 개수를 결정하고;
    ⅳ) 상기 특징들의 집합의 제5 서브집합 각각에 대하여, 상기 결정되는 쓰레숄드들의 개수에 기초하여 에러값을 결정하며;
    ⅴ) 가장 낮게 연관되는 에러값을 가지는 특징을 결정하고; 및
    ⅵ) 상기 가중치들을 업데이트하기 위한 수단;
    복수의 반복들에서 상기 가장 낮게 연관되는 에러값을 가지는 특징들에 기초하여 강한 분류기를 정의하기 위한 수단; 및
    상기 강한 분류기에 기초하여 샘플을 객체 클래스에 속하는 것 또는 객체 클래스에 속하지 않는 것으로써 분류하기 위한 수단을 포함하는 것을 특징으로 하는 시스템.
  20. 강한 분류기(strong classifier)를 정의하는 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 방법은,
    양 및 음의 샘플들의 훈련 집합을 수신하는 단계;
    특징들의 집합을 수신하는 단계;
    상기 특징들의 집합의 제1 서브집합 각각에 대하여, 대응하는 특징값을 상기 훈련 집합의 제1 서브집합 각각과 연관시키는 단계;
    대응하는 가중치(weight)를 상기 훈련 집합의 제2 서브집합 각각과 연관시키는 단계;
    반복적으로
    ⅰ) 상기 특징들의 집합의 제2 서브집합 각각에 대하여, 제1 메트릭이 최소화되는 제1 쓰레숄드 값을 결정하는 단계;
    ⅱ) 상기 특징들의 집합의 제3 서브집합 각각에 대하여, 제2 메트릭이 최소화되는 제2 쓰레숄드 값을 결정하는 단계;
    ⅲ) 상기 특징들의 집합의 제4 서브집합 각각에 대하여, 쓰레숄드들의 개수를 결정하는 단계;
    ⅳ) 상기 특징들의 집합의 제5 서브집합 각각에 대하여, 상기 결정되는 쓰레숄드들의 개수에 기초하여 에러값을 결정하는 단계;
    ⅴ) 가장 낮게 연관되는 에러값을 가지는 특징을 결정하는 단계; 및
    ⅵ) 상기 가중치들을 업데이트하는 단계;
    복수의 반복들에서 상기 가장 낮게 연관되는 에러값을 가지는 특징들에 기초하여 강한 분류기를 정의하는 단계; 및
    상기 강한 분류기에 기초하여 샘플을 객체 클래스에 속하는 것 또는 객체 클래스에 속하지 않는 것으로써 분류하는 단계를 포함하는 것을 특징으로 하는 기록매체.
KR1020080082366A 2008-05-16 2008-08-22 다수의 쓰레숄드 적응적 부스팅을 가진 객체 검출 및 분류를 위한 시스템 및 방법 KR101434205B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/122,393 US8015132B2 (en) 2008-05-16 2008-05-16 System and method for object detection and classification with multiple threshold adaptive boosting
US12/122,393 2008-05-16

Publications (2)

Publication Number Publication Date
KR20090119664A KR20090119664A (ko) 2009-11-19
KR101434205B1 true KR101434205B1 (ko) 2014-08-26

Family

ID=41317078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080082366A KR101434205B1 (ko) 2008-05-16 2008-08-22 다수의 쓰레숄드 적응적 부스팅을 가진 객체 검출 및 분류를 위한 시스템 및 방법

Country Status (2)

Country Link
US (1) US8015132B2 (ko)
KR (1) KR101434205B1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117137B2 (en) 2007-04-19 2012-02-14 Microsoft Corporation Field-programmable gate array based accelerator system
US8131659B2 (en) * 2008-09-25 2012-03-06 Microsoft Corporation Field-programmable gate array based accelerator system
US8301638B2 (en) * 2008-09-25 2012-10-30 Microsoft Corporation Automated feature selection based on rankboost for ranking
JP5376906B2 (ja) * 2008-11-11 2013-12-25 パナソニック株式会社 特徴量抽出装置、物体識別装置及び特徴量抽出方法
JP5371541B2 (ja) * 2009-05-19 2013-12-18 キヤノン株式会社 データ処理装置及びその処理方法
US8396286B1 (en) * 2009-06-25 2013-03-12 Google Inc. Learning concepts for video annotation
US8452763B1 (en) 2009-11-19 2013-05-28 Google Inc. Extracting and scoring class-instance pairs
US8452778B1 (en) 2009-11-19 2013-05-28 Google Inc. Training of adapted classifiers for video categorization
US8687700B1 (en) * 2010-06-18 2014-04-01 Ambarella, Inc. Method and/or apparatus for object detection utilizing cached and compressed classifier information
US20120148160A1 (en) * 2010-07-08 2012-06-14 Honeywell International Inc. Landmark localization for facial imagery
US8965111B2 (en) * 2010-09-09 2015-02-24 Nec Corporation Learning apparatus, a learning system, learning method and a learning program for object discrimination
US9087297B1 (en) 2010-12-17 2015-07-21 Google Inc. Accurate video concept recognition via classifier combination
WO2012091936A1 (en) * 2010-12-30 2012-07-05 Dolby Laboratories Licensing Corporation Scene change detection around a set of seed points in media data
US8520080B2 (en) 2011-01-31 2013-08-27 Hand Held Products, Inc. Apparatus, system, and method of use of imaging assembly on mobile terminal
US8565482B2 (en) * 2011-02-28 2013-10-22 Seiko Epson Corporation Local difference pattern based local background modeling for object detection
CN102855500A (zh) * 2011-06-27 2013-01-02 东南大学 一种基于Haar和HoG特征的前车检测方法
WO2013067539A1 (en) 2011-11-04 2013-05-10 Massachusetts Eye & Ear Infirmary Adaptive visual assistive device
FR2983607B1 (fr) * 2011-12-02 2014-01-17 Morpho Procede et dispositif de suivi d'un objet dans une sequence d'au moins deux images
US9207760B1 (en) * 2012-09-28 2015-12-08 Google Inc. Input detection
EP2746962B8 (en) * 2012-12-20 2018-05-16 Alcatel Lucent Method and arrangement for image retrieval based on multiple images
CN103310287B (zh) * 2013-07-02 2016-07-06 北京航空航天大学 基于svm预测乘客出行概率的轨道交通客流预测方法
US9157855B2 (en) 2013-09-06 2015-10-13 Canon Kabushiki Kaisha Material classification
CN104680120B (zh) * 2013-12-02 2018-10-19 华为技术有限公司 一种人脸检测的强分类器的生成方法及装置
JP2016057918A (ja) * 2014-09-10 2016-04-21 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US9569692B2 (en) * 2014-10-31 2017-02-14 The Nielsen Company (Us), Llc Context-based image recognition for consumer market research
CN107003834B (zh) * 2014-12-15 2018-07-06 北京市商汤科技开发有限公司 行人检测设备和方法
US10210464B2 (en) 2015-03-11 2019-02-19 Qualcomm Incorporated Online training for object recognition system
CN104809429A (zh) * 2015-04-01 2015-07-29 南京航空航天大学 一种基于压缩感知的前方车辆检测方法
KR102415503B1 (ko) * 2015-08-21 2022-07-01 삼성전자주식회사 분류기 학습 방법 및 객체 검출 방법
JP6633462B2 (ja) * 2016-06-29 2020-01-22 株式会社東芝 情報処理装置および情報処理方法
US20180005136A1 (en) * 2016-07-01 2018-01-04 Yi Gai Machine learning in adversarial environments
CN107169532B (zh) * 2017-06-14 2020-07-03 北京航空航天大学 一种基于小波分析和半监督学习的车联网油耗数据质量评估方法
EP4254349A3 (en) * 2018-07-02 2023-12-06 MasterCard International Incorporated Methods for generating a dataset of corresponding images for machine vision learning
CN110751670B (zh) * 2018-07-23 2022-10-25 中国科学院长春光学精密机械与物理研究所 一种基于融合的目标跟踪方法
CN110351241B (zh) * 2019-05-31 2021-08-03 浙江工业大学 一种基于GWA优化的工业网络DDoS入侵检测系统分类方法
CN110322050B (zh) * 2019-06-04 2023-04-07 西安邮电大学 一种风能资源数据补偿方法
US10929677B1 (en) * 2019-08-07 2021-02-23 Zerofox, Inc. Methods and systems for detecting deepfakes
CN113450776A (zh) * 2020-03-24 2021-09-28 合肥君正科技有限公司 一种改善婴儿哭声检测模型效果的数据增强方法及其系统
CN111988306B (zh) * 2020-08-17 2021-08-24 北京邮电大学 基于变分贝叶斯的网内DDoS攻击流量检测方法和系统
CN115344728A (zh) * 2022-10-17 2022-11-15 北京百度网讯科技有限公司 图像检索模型训练、使用方法、装置、设备和介质
CN116689310B (zh) * 2023-08-08 2023-10-20 河南工学院 一种用于电池分拣回收的自动化识别分类系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060064974A (ko) * 2004-12-09 2006-06-14 삼성전자주식회사 부스트 알고리즘을 이용한 영상의 얼굴 검출 장치 및 방법
KR20070117922A (ko) * 2006-06-09 2007-12-13 삼성전자주식회사 고속 정확한 얼굴 검출 방법과 얼굴 검출 학습 방법 및이를 구현하는 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421114B1 (en) * 2004-11-22 2008-09-02 Adobe Systems Incorporated Accelerating the boosting approach to training classifiers
US7724960B1 (en) * 2006-09-08 2010-05-25 University Of Central Florida Research Foundation Inc. Recognition and classification based on principal component analysis in the transform domain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060064974A (ko) * 2004-12-09 2006-06-14 삼성전자주식회사 부스트 알고리즘을 이용한 영상의 얼굴 검출 장치 및 방법
KR20070117922A (ko) * 2006-06-09 2007-12-13 삼성전자주식회사 고속 정확한 얼굴 검출 방법과 얼굴 검출 학습 방법 및이를 구현하는 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Boosting Nested Cascade Detector for Multi-View Face Detection (Pattern Recognition 2004. ICPR 2004. Proceedings of the 17th International Conference on, vol.2, pp.415-418, Aug. 23-26, 2004) *
Robust Multi-Pose Face Detection in Images (Circuit and Systems for Video Technology, IEEE Transactions on, vol.14. No.1, pp. 31-41, Jan 2004) *

Also Published As

Publication number Publication date
US8015132B2 (en) 2011-09-06
US20090287620A1 (en) 2009-11-19
KR20090119664A (ko) 2009-11-19

Similar Documents

Publication Publication Date Title
KR101434205B1 (ko) 다수의 쓰레숄드 적응적 부스팅을 가진 객체 검출 및 분류를 위한 시스템 및 방법
US8805018B2 (en) Method of detecting facial attributes
US8401250B2 (en) Detecting objects of interest in still images
US8649594B1 (en) Active and adaptive intelligent video surveillance system
US10936868B2 (en) Method and system for classifying an input data set within a data category using multiple data recognition tools
CN110929593A (zh) 一种基于细节辨别区别的实时显著性行人检测方法
CN117038055B (zh) 一种基于多专家模型的疼痛评估方法、系统、装置及介质
CN106250878B (zh) 一种结合可见光和红外图像的多模态目标跟踪方法
CN108805181B (zh) 一种基于多分类模型的图像分类装置及分类方法
US7313267B2 (en) Automatic encoding of a complex system architecture in a pattern recognition classifier
CN107886060A (zh) 基于视频的行人自动检测与跟踪方法
Dixit et al. Multi-feature based automatic facial expression recognition using deep convolutional neural network
Nebili et al. Background subtraction using artificial immune recognition system and single gaussian (airs-sg)
Al-Shammri et al. A combined method for object detection under rain conditions using deep learning
CN113361422A (zh) 一种基于角度空间损失承数的人脸识别方法
Briceño et al. Robust identification of persons by lips contour using shape transformation
Shojaei et al. Semi-supervised domain adaptation for pedestrian detection in video surveillance based on maximum independence assumption
Devi et al. Face Emotion Classification using AMSER with Artificial Neural Networks
Khryashchev et al. Enhancement of Fast Face Detection Algorithm Based on A Cascade of Decision Trees
Atallah et al. NEURAL NETWORK WITH AGNOSTIC META-LEARNING MODEL FOR FACE-AGING RECOGNITION
Ammar et al. Algorithmic Optimization Effects on Energy Consumption for Real time Object Tracking
Rajaguru et al. Detection of Abnormal Liver in Ultrasonic Images from FCM Features
Danish et al. Error Rate Analysis of State-of-the-Art Algorithms for Face Detection
Shah Automatic Analysis and Recognition of Facial Expressions Invariant to Illumination
Rajasri REAL-TIME OBJECT TRACKING USING ARTIFICIAL INTELLIGENCE

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee