KR100207883B1 - 적응적 분류자 장치 - Google Patents

적응적 분류자 장치 Download PDF

Info

Publication number
KR100207883B1
KR100207883B1 KR1019950067125A KR19950067125A KR100207883B1 KR 100207883 B1 KR100207883 B1 KR 100207883B1 KR 1019950067125 A KR1019950067125 A KR 1019950067125A KR 19950067125 A KR19950067125 A KR 19950067125A KR 100207883 B1 KR100207883 B1 KR 100207883B1
Authority
KR
South Korea
Prior art keywords
data
prototype
feature data
classifier
class
Prior art date
Application number
KR1019950067125A
Other languages
English (en)
Other versions
KR960032227A (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 KR960032227A publication Critical patent/KR960032227A/ko
Application granted granted Critical
Publication of KR100207883B1 publication Critical patent/KR100207883B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명에 따르면, 컴퓨터 데이타베이스상에 저장된 다수의 객체 클래스(a number of classes of objects)에 대해 하나 이상의 프로토타입 품목 세트(one or more sets of prototype descriptions)가 유지된다. 이들 프로토타입은 제공된 객체의 클래스를 식별하기 위한 기준으로서 사용된다. 트레이너(trainer)는 신형 프로토타입이 현재의 정합 결과(current match results)에 기초하여 데이타베이스에 부가되도록 요구되는 시기를 결정한다. 이것은 시스템으로 하여금, 초기에 분류 규칙을 결정하기 위해 이용되었던 항목으로부터 현저히 벗어난 클래스내의 항목을 인식하도록 트레인될 수 있게 한다. 그들의 정합 히스토리(match histories)에 기초하여 어느 프로토타입이 제거될 수 있는지에 대한 결정이 이루어진다. 이것은 시스템으로 하여금, 자동으로 제한된 프로토타입 집합(bounded collection of prototypes)과 함께 동작하기 위해 자신을 최적화할 수 있게 한다. 또한, 이것은 시스템으로 하여금, 시간에 따른 클래스 특성의 변화를 추적하게 하고, 대응하는 프로토타입의 세트를 적절히 조정하게 한다.

Description

적응적 분류자 장치
제1도는 본 발명의 바람직한 실시예의 블럭도.
제2도는 객체를 인식하고, 신뢰성 척도, 예를 들면, 매칭 강도를 그 결과로 생긴 응답에 할당하는 본 발명의 바람직한 실시예를 나타내는 흐름도.
제3도는 언제 학습할지 여부, 예를 들면, 언제 신형 프로토타입 기술을 추가해야 하는지 여부를 판정하는 본 발명의 바람직한 실시예를 나타내는 흐름도.
제4도는 어떤 구형 프로토타입 기술을 교체할 것인가를 판단하는 본 발명의 바람직한 실시예를 나타내는 흐름도.
제5도는 방기하는 경우와 방기하지 않는 경우에 클래스 경계가 어떻게 연장되는지를 도시하고, 클래스 추적이 중첩되는 때에 발생하는 문제점을 도시한 도면.
제6도는 각 클래스의 프로토타입 기술에 대한 유효 스코어를 생성하는 본 발명의 바람직한 실시예를 나타내는 흐름도.
제7도는 프로토타입 기술에 연관된 유효 스코어가 어떻게 사용 빈도 및 최근 사용을 코드화하는지를 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
110 : 객체 115 : 객체 클래스
120 : 입력 장치 130 : 객체 기술 추출자
135 : 객체 기술 140 : 매칭기
150 : 저장 장치 155 : 프로토타입 기술
160 : 사용자 I/O 장치 170 : 트레이닝 유닛
본 발명은 객체의 컴퓨터 인식(computer recognition of objects) 분야에 관한 것으로, 특히 컴퓨터 인식에 있어서 미지의 객체에 대한 학습 시스템 및 방법에 관한 것이다.
학습 시스템은 객체를 프로토타입의 데이타베이스와 매칭시키는 컴퓨터 인식의 종래 기술에 존재한다. 사용된 기법에는, 최근접 항목(nearest neighbor), 분류 및 회귀 트리(classification and regression trees), 신경 네트워크(neural networks) 및, 규칙 기반 시스템(rule-based system)등이 있다. 이들 시스템은 통상, 일반화된 카테고리 기술이 생성되어 나오는 정확히 레이블된 트레이닝 샘플의 대규모 집합(large corpus of correctly labelled training samples)을 필요로 한다. 다음에, 이들 일반화된 기술은 미지의 객체를 분류하는데 사용된다. 종종 이들 방법은 이러한 인식 달성 절차를 가속화시키곤 한다. 전형적으로 이들 시스템은 오프-라인 배치 모드(off-line batch mode)에서 동작하고, 분류자(classifier)의 설계에는 사용후에도 변하지 않고 그대로 유지되는 고정된 집합(fixed corpus)을 사용한다.
본 분야에는 다수의 공통 용어가 있다.
항목(item), 객체(object) 또는 제시 객체(presented object)는 인식을 위해 제시된 사물에 대응한다.
클래스(classes), 카테고리(category), 또는 레이블(lable)은 유사 객체로 이루어진 그룹에 대한 명칭이다.
식별(identifying), 분류(classifying), 또는 인식(recognizing)은 제시 객체에 대한 정확한 그룹 레이블의 생성을 의미한다.
트레이닝(training) 또는 학습(learning)은 시스템이 이전에 잘못 분류한 항목을 올바르게 인식할 수 있게 해주는 기능이다.
시스템은 사례(example), 인스탄스(instance) 혹은 프로토타입으로 나타냄으로써 트레이닝된다. 이들은 소정의 클래스를 대표하는 객체이다. 본 명세서에서 바람직한 용어는 프로토타입이다.
특징(features), 특성(charateristics), 또는 특질(qualities)은 현 분류 작업(current classification task)에 잠재적으로 유용한 객체의 속성이다. 본 명세서에서 이러한 속성의 집합에 대한 바람직한 용어는 객체 기술(object description)이다.
프로토타입 기술(prototype descriptions)은 미지의 객체의 분류에 사용되는 객체 기술이다.
최인접 항목 비교(nearest-neighbor comparison)는 프로토타입 기술과 객체 기술과의 거리(distance)에 기초하여 객체를 분류하는 기법이다.
관리된(supervised) 학습시에는, 시스템은 사례 및 그들의 정확한 레이블을 부여받는다. 관리되지 않은(unsupervised) 학습시에는, 시스템은 외부 안내없이 분류자를 구축하거나 또는 개량하려고 한다.
벌크 항목(bulk item)은 수퍼마켓, 식료잡화점, 소매 상점, 또는 금속품점에서 대량으로 판매되는 임의의 객체(항목)를 포함한다. 사례는 생산물(과일 및 채소), 설탕, 커피 열매, 캔디, 못, 너츠(nuts), 볼트(bolts), 일반 금속 제품, 부품 및 패킷화된 제품(packeted goods)을 포함한다.
대부분의 종래 기술은, 시스템이 설계되는 경우 시스템에 주어진 일련의 사례에 기초하여 분류자를 구축하는 것과 관련된다. 일단 사례가 인식 절차(recognition procedure)를 구성하는데 사용되면, 이 사례는 폐기되고 구성된 인식 절차만이 보유된다. 사례 세트가 장래에 마주치게 될 가능성이 있는 객체의 분포 상태를 표시하는 경우에는, 통상 이것으로 충분하다. 하지만, 몇몇 경우에 있어서, 특정 클래스를 표시하는 특질/특징/특성은 시간에 따라 변한다. 고정된 인식 절차를 갖는 시스템은 이러한 변화에 대처할 수 없다.
이러한 상황은 예컨대, 상이한 종류의 과일 및 채소를 그들의 색에 의해 인식하는 시스템에서 발생한다. 바나나는 녹색으로 시작해서, 황색으로 변화한 후, 마침내 흑색이 된다. 바로 초기 녹색 바나나상에서 트레이닝된 인식 시스템은 갈색 바나나에 대해서는 실패할 수도 있다. 과일의 색 특성은 전형적으로 계절 및 공급원에 따라 변화한다. 이번 주에 창고로부터 발송된 사과는 지난 주에 발송된 사과 보다 약간 더 붉을 수 있다. 따라서, 이러한 애플리케이션에 대해, 시간에 따라 단계적으로(incrementally) 학습될 수 있는 시스템이 필요하다.
다수의 시스템은, 필요에 따라 새로운 트레이닝 사례에 병합하므로써 이러한 변화(drift) 문제를 해결하려고 한다. (규칙 기반과 같은) 몇몇 시스템에서는 이러한 동작은 비교적 간단하고 이전에 학습된 클래스에 어떠한 에러도 유발하지 않는다. (신경 네트워크와 같은) 다른 시스템에서는, 소정 클래스에 새로운 사례를 부가하면 다른 클래스상에서의 시스템의 성능이 저하될 수 있다. 이러한 문제를 회피하는 방법은, 이전 사례 및 새로운 사례를 포함하여 마주치게 되는 모든 트레이닝 사례를 저장하고, 이 세트가 변화할 때마다 새로운 인식 절차를 구축하는 것이다. 불행하게도, 이것은 통상, 새로운 인식 루틴(new recognition routine)이 발생될 때마다, 과도하게 큰 데이타베이스와 매우 고가의 재학습(종종 느린 속도임)을 초래한다.
또한, 클래스 특징의 변화를 추적하기 위해서는, 구형 프로토타입중의 일부를 무시(방기(放棄)(forget))하는 것도 필요하다. 만족할 인식을 달성하기 위해서는, 현재의 바나나가 갈색인 경우, 그들이 황색이었던 사례를 기억할 필요는 없다. 실제로, 새로운 황색을 띠는 1군(群)의 오렌지를 수취한 경우, 시스템은 이들을 바나나의 이전 황색 사례와 매칭시킬 필요는 없다. 방기하는 것(forgetting)은 대부분의 종래 시스템에 대해서는 어렵고, (신경 네트워크와 같은) 몇몇 시스템에 대해서는 불가능하다. 상술한 바와 같이 통상의 방법은, 모든 원데이타에 새로운 트레이닝 데이타를 부가하여 저장한 다음, 특정의 새로운 분류 루틴을 생성하는데 이들을 사용한다.
본 발명의 목적은 프로토타입 기술에 기초하여 객체(항목)를 인식하는 향상된 학습가능 장치 및 방법이다.
본 발명의 다른 목적은 객체의 특성이 시간에 따라 변화하는 경우 객체의 클래스를 인식하는 향상된 장치 및 방법이다.
본 발명의 다른 목적은 인식될 객체 클래스의 특성이 시간에 따라 변화하는 경우 관련성이 보다 작은 프로토타입 기술을 데이타베이스로부터 삭제하는, 객체의 클래스를 인식하는 향상된 장치 및 방법이다.
본 발명은 입력 객체의 특성이 시간에 따라 변할 수 있는 경우에, 프로토타입 기술에 기초하여 입력 객체를 분류하는 것을 자동으로 학습하는 시스템 및 장치이다. 학습은, 프로토타입 기술의 구형 세트로부터 프로토타입 기술을 제거하기도 하고, 프로토타입 기술의 구형 세트에 프로토타입 기술을 부가하기도 하여, 프로토타입의 새로운 세트를 생성함으로써, 프로토타입 기술의 데이타베이스를 유지 또는 갱신하는 방법에 따른다. 그 새로운 세트는 입력 객체 또는 인식을 위해 시스템에 제시된 객체(예컨대, 사과)를 보다 정확하게 기술한다. 프로토타입 기술의 사례는 색, 무늬(texture), 크기 및 형상과 같은 객체의 시각 특성을 포함한다. 몇몇 바람직한 실시예에서 객체는 벌크 항목 및/또는 생산물이다.
시스템은 머신 판독가능 형식으로 제시 객체를 나타내는 입력 장치를 포함한다. 다음에, 특징 추출자는 객체의 머신 판독가능 형식을 취득하고, 예컨대, 객체의 색과 같은 하나 이상의 객체 기술을 생성한다. 각각의 객체 기술은 예를 들면, 색 주파수의 히스토그램(histogram) 등의 기술 형식을 갖는다. 프로토타입 기술의 세트는 시스템 메모리에 저장된다. 각 세트는, 객체가 속하게 되는 객체 클래스와 연관된다. 세트의 프로토타입 기술 각각은 객체 기술과 동일한 기술 형식을 갖는다. 시스템이 그 객체 기술을 세트의 프로토타입 기술중 하나에 매칭시키는 경우, 객체는 그 세트가 연관되는 클래스에 속하는 것으로서 식별된다.
트레이너(trainer)는, 시스템이 한계 또는 제한에 도달하는 경우, 저장된 하나 이상의 프로토타입 기술을 단계적으로 변경한다. 이러한 제한은, 프로토타입 기술을 저장하는 메모리 저장장치 제한과, 객체 클래스를 나타내는 세트내에 허용되는 프로토타입 기술의 수의 제한과, 시간 제한 및/또는 이벤트 제한(생산물의 신출하품의 판매)을 포함하여, 어떤 임의의 것이 될 수 있다. 트레이너가 하나 이상의 프로토타입 기술을 부가하고 및/또는 제거하므로써 프로토타입 기술을 갱신한 후, 갱신된 세트는 연관된 클래스를 보다 명확하게 기술한다. 제거 및/또는 부가할 프로토타입 기술의 선택은, 각 프로토타입 기술에 대한 매칭 히스토리 및 사용 빈도에 기초한다.
시스템은 객체의 분류를 디스플레이하는 사용자 인터페이스를 선택적으로 구비할 수 있기 때문에, 오퍼레이터 주도(human-initiated)의 트레이닝 및 분류 결과에 대한 오퍼레이터 주도의 피드백을 행할 수 있다.
제1도에 도시된 장치(100)는 본 발명의 하나의 바람직한 실시예이다. (전체 작업에 의해 결정되는 바와 같은) 객체(110)의 관련된 특징은 입력 장치(120)에 의해 머신 판독가능한 형식으로 변환된다. 객체 추출 장치(130)는 그 표시를 분석하여 객체 기술(135)(제2도의 블럭(210)을 참조)을 생성한다. 다음에, 매칭 장치(matching device)(140)는 이 객체 기술을 저장 장치(150)로부터 획득된 상이한 클래스의 프로토타입 기술(155)과 비교한다. 분류자(166)에 연관된 가장 근사한 객체 클래스(분류, 164)는 오퍼레이터에 의해 고려되도록, 사용자 인터페이스의 I/O 장치(160)로 출력된다. 필요하다면, 오퍼레이터는 I/O 장치(160)상의 객체(110)에 적절한 클래스를 입력하므로써 그 머신의 결정을 수정(수정 신호, 168)할 수 있다(제3도에 기술된다.). 다음에, 머신(164)에 의해 선택된 클래스 및 오퍼레이터에 의해 공급된 선택가능한 클래스의 수정 신호(168)는 트레이닝 유닛(트레이너)(170)으로 전송된다. 이 유닛은 추가로 트레이닝이 필요한지를 판단하고, 필요한 경우, 신형 프로토타입 기술을 저장 장치(150)에 부가하거나 교체한다. 트레이닝 유닛(170)은 저장 장치(150)상에 저장된 관련 프로토타입 기술에 대한 유효 스코어(제6도 및 제7도를 참조)도 갱신하므로, 프로토타입 기술이 삭제될 필요가 있는 경우, 합리적인 선택(즉, 성능을 현저하게 감소시키지 않는 선택)이 가능하도록 한다.
입력 장치(120)는 TV 카메라, 레이저 스캐너(laser scanner), 열 모니터의 네트워크(network of thermal monitors), 음향 센서(acoustic sensor), 키보드, 또는 다른 공지된 데이타 획득 장치가 될 수 있다. 입력 장치(129)의 바람직한 일실시예는 소니 XC-999 또는 소니 카드 카메라 CCB-C35YC와 같은 색 CCD 카메라를 포함한다. 이러한 유형의 비디오 소스 데이타를 위해, 입력 장치(120)는 컴퓨터에 컴퓨터 프레임 그래버 보드(computer frame grabber board)를 부가한다. 바람직한 실시예는 데이타 변환 DT2878의 DSP 보드에 접속된 데이타 변환 DT2871 프레임 그래버이다. 객체 기술 추출자(130)는, 어떤 입력 장치(120)가 선택되더라도, 동일한 클래스 멤버간의 표시의 차를 최소화하는 한편, 객체 클래스간의 관련된 차(인식 작업에 관한)를 코드화하여 전송하도록 적절히 구성되어야 한다. 기술 추출자(130)는 면적 정규화 색조(area-normalized hue), 채도 및 휘도의 히스토그램(intensity histograms)을 생성하는 알고리즘을 실행한다. 이들 히스토그램은 객체(110)로부터 도출된 객체 기술(135)이다. 다른 입력 양식은 상이한 입력 장치와 상이한 특징 추출자를 요구할 수 있다. 예를 들면, 해저 애플리케이션에 있어서, 입력 장치(120)는 소나 트랜스듀서 어레이(array of sonar transducers)가 될 수 있으며, 한편으로 특징 추출자(130)는 전용 다중-노드 디지탈 신호 프로세서(dedicated multi-node digital signal processor)에 접속된 특수한 아날로그 하드웨어(표면 탄성파 필터(surface acoustic wave filters), 상관기(correlators)등)일 수 있다.
객체 기술(135)은, 입력 장치(120)에 의해 출력된 머신 판독가능한 형식으로 부터 도출될 수 있는 소정의 양이고, 입력 장치(120)는 동일한 클래스(115)의 멤버간의 객체 기술의 차를 최소화하는 한편, 객체(110)의 클래스(115)간의 관련된 차(인식 작업에 관한)를 코드화한다. 예를 들면, 시각적인 머신 판독가능한 형식에 기초한 기술은 각각이 머신 판독가능 형식으로 그레이 레벨(grey level)로 표시하는 것이 가능한 횟수의 열거법, 즉 그레이 레벨의 히스토그램이다. 객체 기술(135)의 다른 동등한 사례는, 본 발명의 의도하는 범위내에 있으며, 본 발명의 개시 및 본 명세서에 참조로서 인용된 미국 특허 출원들, 즉, 볼레(Bolle) 등에 의한 1994년 4월 29일에 출원된 생산물 인식 시스템(Prodeuce Recognition System)라는 명칭의 제 08/235,834 호와, 볼레 등에 의한 1994년 4월 29일에 출원된 객체 영상 시스템(Object Imaging System)라는 명칭의 제 08/235,064 호에 따르면 당업자에게 분명해 질 것이다.
프로토타입 기술(155)은 데이타베이스로 구축된다. 이 데이타베이스는, 데이타베이스의 객체의 기술을 편성하기 위한 임의의 공지된 방법으로도 구축될 수 있다. 일예로는, 선형 구조의 프로토타입 기술(155)이 있는데, 모든 프로토타입 기술이 메모리(150)내에 선형적으로 배열되고, 객체의 소정 클래스를 나타내는 프로토타입 기술(157,159)이 연속하는 프로토타입 기술의 세트(156)에 그루핑된다. 세트(156)는 단일의 객체 클래스(115)에 속하는, 입력 장치(120)로부터 머신 판독가능한 형식으로 획득된 프로토타입 기술(157, 159)에 연관된다. 이러한 세트(156)는 객체 클래스(115)를 기술하는데, 이러한 세트(156)(157 혹은 159와 같은)의 각각의 기술은, 이 클래스내의 프로토타입 기술의 머신 판독가능 기술 형식으로 부터 도출되고, 각각의 프로토타입 기술은 클래스(115)와 연관된 고유의 클래스 레이블과 연관된다. 세트(156)는 구형 프로토타입 기술(157) 및 신형 프로토타입 기술(159)을 가질 수 있다. 본 발명의 신규한 특징은 구형 프로토타입 기술(157)이 신형 프로토타입 기술(159)과 단계적으로 교체될 수 있다는 것이다. 이러한 교체는 각 클래스(156)의 데이타베이스(155)의 각 프로토타입 기술에 연관된 유효 스코어(제6도 및 제7도의 기술에 정의됨)에 의해 신규하게 결정된다.
기술 형식(158)은 세트(156)의 각 프로토타입 기술(예를 들면, 157,159)의 머신 판독가능한 형식이다. 기술 형식(158)의 사례는 상술한 바와 같은 히스토그램 등을 포함한다. 다른 공지된 기술 형식(135)도 가능하다. 프로토타입 기술 형식 및 객체 기술(135)은 동일한 기술 형식(158)을 갖는다.
매칭 장치(140)의 바람직한 일실시예는 신규한 단계적으로 조정된 최인접 항목 비교 알고리즘(200)(제2도에 도시된)을 실행하는 컴퓨터이다. 다른 바람직한 실시예는 그 신규한 단계적으로 조정된 최인접 항목 비교 알고리즘을 실행하는 전용 DSP(디지탈 신호 프로세서) 기판이다. 아날로그 전자 장치(analog electronic devices), 광학 상관기(optical correlator), 신경 네트워크 하드웨어(neural net hardware)와 같은 다른 연산 수단, IBM ZISC와 같은 주문형 ASIC(애플리케이션 지정 집적 회로) 또는 종래 기술에 공지된 다른 어떤 수단이 사용될 수 있다. 마찬가지로, 매칭 장치(140)에 의해 구현된 실제의 방법은, 규칙 기반 전문가 시스템(rule-based expert system), 신경 네트워크 분류자, 케이스 기반 유추 시스템(case-based analog system), 분류 트리, 퍼지 논리 추론기(fuzzy logic reasoner), 또는 종래 기술에 공지된 다른 어떤 방법이 될 수 있다. 저장 장치(150)로부터 검색된 프로토타입 기술은 매칭 프로세스에서 직접 사용되거나, 또는 동등한 인식 절차를 생성하는 기초로서 간접적으로 사용될 수 있다. 분류 트리의 제작은 간접적 방법의 일예이다. 이는 프로토타입 세트가 최종 트리로서 재생될 수 없기 때문이다. 저장 장치(150) 자체는 광학 디스크, 자기 테이프, 반도체 메모리, 또는 종래 기술에 공지된 다른 어떤 저장 장치가 될 수 있다. 이것은 매칭 장치(140)와 별도로 존재하거나, 또는 물리적으로 일체형일 수 있다.
사용자 입출력 장치(160)는 선택사양으로서, 매칭기(140)의 결과(164 및 166)를 디스플레이하는데 사용된다. 소정의 입력 객체의 분류의 종료 결과로서, 분류(l64)(예컨대, 생산물 항목)의 단어 바나나가 I/O 장치(160)상에 표시될 수 있다. 이러한 동일한 정보는 청각 형식(auditory form)의 다른 수단에 의해 소정의 단말 사용자에게 제공될 수 있다. 이와는 달리, 그 분류(164)의 결과는 기계적 분류기(mechanical sorter)와 같은 다른 몇몇 출력 장치로 향하거나, 또는 가격 참조 시스템(price lookup system)과 같은 다른 컴퓨터에 대한 입력으로서 제공되거나 또는 하드 드라이브 또는 프린터와 같은 장치를 사용하여 나중에 참조하기 위해 파일링된다. I/O 장치(160)의 다른 용도는, 객체(110)에 대한 정확한 클래스 레이블(수정 신호(168)) 인지 여부 또는 매칭기(140)에 의해 선택된 클래스의 시비(是非)(수정 신호(168)) 여부를 학습 도중에 트레이닝 유닛(170)에 제공하는 것이다. 전형적으로 이 정보는 키보드, 터치 디스플레이(touch display), 마우스 감지 스크린 버튼, 또는 음성을 통해 사용자에 의해 제공된다. 이와는 달리, 이러한 동일한 정보는, 사과용으로 설계된 상자내에 포도 과일을 넣도록 요청되는 경우, 에러를 신호하는 크레이트-패킹 장치(crate-packing device)와 같은 상이한 시스템에 의해 제공될 수 있다.
마지막으로, 트레이닝 유닛(트레이너)(170)의 바람직한 실시예는 알고리즘(300, 400 및 600)(이하 기술됨)을 실행하는 컴퓨터이다. 이 컴퓨터는 매칭 장치(140)를 결정하는데 사용되는 컴퓨터와 동일하거나, 또는 아닐 수도 있다. 마찬가지로, 저장 장치(150)는 트레이닝 유닛(170) 및 매칭 유닛(140)에 대해 상이한 방법으로(및 가능하다면 분리된 상태로) 구현될 수 있다. 예를 들면, 매칭 유닛(140)은 프로토타입 기술의 데이타베이스가 로컬 RAM(랜덤 액세스 메모리) 캐쉬내에 저장되는 분산형 하드웨어일 수 있다. 트레이닝 유닛(트레이너)(170)은 그의 하드 디스크로부터 동일한 프로토타입 데이타를 액세스하는 컴퓨터상에서 실행중인 알고리즘일 수 있다. 저장 장치(150)의 대응하는 구현에 있어 중요한 것은, 데이타가 일관되게 유지되어야 한다는 것이다. 다시 말해, 각 데이타베이스는 소정의 형식(반드시 형식(158)은 아님)으로 동일한 프로토타입 기술의 세트(156)를 나타내야 하는데, 여기서 각 세트(예를 들면, 프로토타입 기술(157,159))의 각각의 멤버는, 동일한 해상도를 갖는 동일한 기본 특징 정보를 코드화한다. 트레이닝 유닛(170)이 장치(150)상에 저장된 프로토타입 기술을 변경하면, 이들 변경은 매칭기(140)에 의해 사용된 프로토타입 기술도 또한 대응하여 변경시켜야 한다.
제2도는 바람직한 실시예의 매칭 장치(140)에 의해 실행되는 신규한 알고리즘(200)의 흐름도를 나타낸다. 알고리즘(200)은 매칭에 있어 시스템의 신뢰성을 기술하는 분류자(166)와 함께, 객체(110)에 대한 가장 가능성있는 클래스인 분류(164)를 보고한다. 바람직한 일실시예에서, 출력 분류자는 확실(sure)(270), 또는 합격(okay)(260) 및 불확실(unreliable)(250)이다. 알고리즘(200)은 단계(210)에서 객체 기술 추출자(130)(즉, 객체 기술(135))에 의해 입력 객체(110)를 계산하고, 계산된 객체 기술(210)을 입력으로서 취한다. 단계(215)에서는 객체 기술을 저장 장치(150)로부터 검색된 프로토타입 기술과 비교하여, 데이타베이스(155)의 각 프로토타입의 거리 스코어(distance score)를 생성한다. 즉, 메모리(150)내의 모든 프로토타입 기술에 대한 객체 기술(210)의 거리를 결정한다. 단계(220)에서는, 일단 거리가 결정되면, (프로토타입 객체를 나타내는) 가장 근접한(최소 거리의) 프로토타입 기술의 수 N을 결정한다. N의 바람직한 값은 2 이지만, 0 보다 큰 임의의 정수가 될 수도 있다. 단계(225)에서, 가장 근접한 프로토타입 기술에 연관된 객체 클래스는 매칭기(140)에 의해 보고된 분류(164)가 되도록 선언된다.
알고리즘(200)의 나머지 부분에 의해, 그 매칭을 위한 분류자(166)를 결정한다. 먼저, 단계(230)는 가장 근접한 프로토타입 기술의 거리(D1)가 소정의 임계치(T)를 초과하는지 여부를 결정한다. T에 대해 바람직한 값은 프로토타입 기술들간의 최대 가능한 차의 25% 이다. 단계(230)에서 사례가 가장 근접한 프로토타입 기술(최상의 매칭(top match))과 매우 상이하다(D1T)고 판단하는 경우, 분기(232)가 취해져서 단계(250)에서 불확실의 분류자가 I/O 장치(160)(및 트레이닝 유닛(170))으로 출력된다. 대신에, 최상의 매칭이 수용될 수 있는 경우, 분기(234)가 이루어져 루프(240)로 진행한다.
루프(240)는 다음의 N-1 번째의 매칭(가장 근접한 프로토타입 기술)을 검사하여, 그 최상의 매칭(분류(164))과 동일한 객체 클래스와 연관되는지의 여부를 결정한다. 먼저 단계(242)에서 i 번째 최상의 매칭 프로토타입 기술의 거리(Di)가 객체 기술(210)에 대해 합리적으로 근접하는가의 여부를 체크한다. (합리적으로 근접하다는 것은 거리(Di)가 임계 거리(T) 보다 작음을 의미한다.) 근접하지 않은 경우, 단계(260)는 분류자 합격을 출력하는데 그 이유는 최초의 매칭이 합리적으로 근접하나 루프(244)가 최초의 매칭과 비교해 합리적으로 근접한 N-1의 다른 매칭을 발견할 수 없었기 때문이다. 단계(242)에서 i 번째 최상의 프로토타입 기술이 테스트를 통과한 경우, 단계(244)는 다음에 이러한 프로토타입(클래스 Ci)에 연관된 객체 클래스가 최상의 프로토타입 기술(C1, 분류(164))에 연관된 객체 클래스와 동일한지의 여부를 결정한다.
동일하지 않은 경우, 단계(260)에서 매칭이 단지(I/O 장치(160) 및 트레이닝 유닛(170)에 대해) 합격임을 선언하는데, 이는 이후 N-1 매칭에 의해 확증되지 않기 때문이다. 원한다면, 단계(242 및 244)는 반대 순서로 수행될 수 있다. 마지막으로, i 번째 프로토타입이 두 테스트(단계(242) 및 단계(244))를 통과한 경우, 단계(246)에서 최상의 매칭 수 N이 모두 테스트되었는지의 여부를 결정한다. 모두 테스트된 경우, 이들 모두는 최상의 매칭의 객체 클래스와 합치하는 알맞은 매칭인 것으로 판명된다. 따라서, 단계(270)는 I/O 장치(160) 및 트레이닝 유닛(170)에 의한 사용을 위해 객체 클래스 응답이 확실임을 선언한다. 그렇지 않고, 테스트될 클래스가 더 존재하면, 루프(240)는 프로토타입 i+1에 대해 반복된다.
알고리즘(200)은 신규한 매칭 장치(140)에 대한 단지 하나의 바람직한 방법이다. 매칭기(140)에 대해 요구되는 것은 소정의 신뢰성 척도에 의해 분류된 N개의 최근접 객체 기술들이 출력으로 생성되어야 한다는 것이다. 예를 들면, 루프(240)는, 다음의 N-1 매칭이 최상의 매칭과 동일한 객체 클래스를 갖는 루프(240)의 테스트를 수용하는 대신에, 대다수의 프로토타입이 동일한 클래스를 갖는지를 테스트하는 것에 의해 테스트를 간략하게 할 수 있다. 또한, 매칭기(140)는 상이한 방법으로 구현되어, 최상의 매칭에 분류자(166)가 직접 할당될 수 있게 할 수도 있다. 예를 들면, 신경 네트워크 및 거리의 상이한 정의를 사용하면, 출력 유닛을 통해 계산된 충분히 작은 엔트로피 값(entropy value)은 분류자 확실에 대응할 수 있다.
또한, 매칭기(140)는 단지 N개의 최상의 프로토타입 기술을 출력할 필요는 없다. 소정의 경우에서는, 최고 P개의 상이한 객체 클래스(최상의 P개의 상이한 프로토타입 기술은 아님)의 랭크된(ranked) 리스트를 생성하는 것이 바람직할 수도 있다. P에 대해 바람직한 하나의 값은 4이다. 여기서, 매칭 분류자가 확실이 아니고 단지 합격인 경우, 사용자 I/O 장치(160)는 P개의 모든 객체 클래스를 순서적으로 디스플레이하고, 이들로부터 하나를 선택하도록(또는 시스템을 완전히 무시(override)하고 상이한 클래스를 지정하도록) 사용자에게 요청할 수 있다. 사용자 수정 신호(168)는 제1도에 표시되어 있다.
당업자는, 본 발명의 개시에 따르면, 알고리즘(200)과 동일한 또는 유사한 결과를 성취하는 동등한 방법을 고안할 수 있다. 이들 방법은 또한, 본 발명의 의도하는 범위내에 존재한다.
제3도는 시스템이 신형 프로토타입 기술을 언제 구축해야 하는지를 판정하는 알고리즘(300)에 대한 흐름도를 도시한다. 알고리즘(300)은 트레이닝 유닛(170)의 바람직한 실시예의 일부이다. 알고리즘(300)에 대한 주요한 입력 데이타(310)는 매칭기(140)에 의해 선택된 객체 클래스(164)이다. 단계(320)는 이 분류가 정확한가, 사용자 I/O 장치(160)에 의해 제공된 수정 신호(168)에 가능한 한 기초하는가 여부를 체크한다. 매칭기(140)가 잘못되었다는 내용의 응답을 생성하면(I/O 장치(160)를 통해 수정 신호(168)로 전송됨), 분기(322)가 취해져 단계(360)는 이 사례상에서의 트레이닝을 요구한다. 하지만, 이 경우에서, 트레이닝은, 적절한 객체 클래스(168)가 또한, 그 사례에 대해서 제공되는 경우에만, 행해질 수 있다(완전 관리 학습). 대신에, 계산된 객체 클래스가 정확한 경우(또는 피드백이 없을 때 정확한 것으로 가정되는 경우), 분기(324)가 취해지고, 단계(330)에서, 분류자가 확실인지의 여부를 체크한다(단계(270)로부터). 확실하지 않다라는 매칭기의 응답이면, 분기(332)가 취해지고, 이 객체 기술상에서 추가로 트레이닝이 요구된다(단계(360)).
마지막으로, 매칭기가 정확한 응답을 생성하고 그 선택이 확실하면(분기(334)), 단계(340)에서 현 객체 기술이 분류 영역의 주변에 존재하는지 또는 분류 영역의 중심부 근처에 존재하는지의 여부를 체크한다. 분류 영역은 동일한 객체 클래스에 연관된 프로토타입 기술로 밀집된 프로토타입 기술 공간의 일부이다. 바람직한 일실시예에서 단계(340)는 매칭기(140)에 의해 제공되는 최상의 M개의 프로토타입 기술(가장 근접한 기술을 포함함)의 거리를 체크한다. 일반적으로, M은 N(매칭 분류자를 계산하기 위해 검사되는 높은 순위의 프로토타입 기술의 수)보다 작거나 이와 같다. M에 대해 바람직한 값은 1이다. Di은 현 객체 기술로부터 i 번째 프로토타입 기술까지의 거리로 한다. 임의의 Di가 소정의 임계 거리(R)보다 큰 경우, 단계(340)에서 분류 영역이 충분히 밀집되지 않아(분기(342)), 트레이닝이 추가로 요구되는지를 판단한다(단계(360)). 여기서 충분히 밀집되지 않음은 분류 영역이 동일한 객체 클래스의 프로토타입 기술로 밀집되어 있지 않음을 의미한다. 하지만, 현재의 객체 기술이 모든 최상의 M개의 프로토타입 기술으로부터의 거리(R)보다 작으면, 클래스는 충분히 밀집한 것으로 판단되고(분기(344)), 더 이상의 트레이닝을 필요로 하지 않는다(단계(350)). R의 선택치는 프로토타입 기술 클래스의 객체 클래스들간의 예상된 간격을 반영한다. R에 대한 바람직한 값은 두개의 프로토타입 기술들간의 최대 가능한 거리의 10%이다.
단계(320, 330 및 340)는 어떤 순서로도 실행될 수 있다.
본 발명의 개시에 따르면, 당업자는 알고리즘(300)과 동일한 결과로 되는, 단계적 학습을 이루는 상이한 방법을 고안할 수 있다.
상술한 기술은 어떻게 프로토타입 기술과 객체 기술을 매칭시킬 것인가와, 언제 신형 프로토타입 기술을 학습할 것인가를 개시한다. 제4도는 어떻게 실제의 학습이 수행되는지를 설명하는 알고리즘(400)에 대한 흐름도를 도시한다. 알고리즘(400)은 트레이닝 유닛(170)의 바람직한 실시예의 일부이다. 대개의 경우, 분기(422)가 취해져서 신형 프로토타입 기술(단계(410)에서의 입력)으로서 삽입될 현 객체 기술(135)은 단지 저장 장치(150)상으로 복사되고(단계(430)) 정확한 객체 클래스로 레이블된다. 하지만, 이것이 제한없이 행해지는 경우, 프로토타입 기술의 매우 큰 집합을 구축하는 것이 용이할 것이다. 이러한 이유로 인해, 각 객체 클래스의 프로토타입 기술의 최대 수에 소정의 제한(K)을 설정하는 것이 유용하다. 단계(420)는 이러한 조건을 테스트한다. 여기서, J는 현재의 객체 클래스에 대해 저장된 프로토타입 기술의 현재 수이다. 제한(K)에 도달되지 않는 경우, 분기(422)로 진행하여 신형 프로토타입 기술이 프로토타입 데이타베이스(155)에 부가된다(단계 430). 제한 K에 도달한 경우(분기(424)), 트레이닝 유닛(170)은 신형 기술을 부가하기 전에, 소정의 구형 프로토타입 기술을 먼저 삭제해야 한다. 단계(440)에서 가장 적게 사용된(least useful)(제6도 및 제7도를 참조) 구형 프로토타입을 발견하고, 다음에 그 위치를 현 객체 기술로 대체한다(단계 450). 이것은, 시스템에 의해 저장된 프로토타입 기술의 최대 수에 제한을 둠으로써, 저장 장치(150)에 필요한 최대 용량을 지정할 수 있다. 이 최대 용량은 K × 객체 클래스의 수로서 지정된다.
객체 기술에 연관된 객체 클래스의 가장 적게 사용된 프로토타입 기술을 교체하는 또다른 방법은, 전체 데이타베이스내에서 가장 적게 사용된 프로토타입 기술을 교체하는 것이다. 물론, 대응하는 객체 클래스(115)가 여전히 인식될 필요가 있으며, 한편으로 프로토타입 기술(156)의 어떤 세트도 완전히 고갈되지 않도록 주의가 필요하다.
제5도에 도시한 바와 같이, 비록 프로토타입 기술을 보존할 공간이 있지만, 소정의 보다 구형의 프로토타입 기술을 방기하는 것이 유용할 수 있다. 여기에, 두개의 객체의 클래스, A(원형, 510) 및 B(십자형, 520)이 존재한다. 각 객체 클래스의 프로토타입 기술은 두개의 특징, 즉, 그의 x 및 y 좌표를 갖는다. 분류자의 작업은 객체 기술 공간(가능한 모든 x 및 y 쌍)을 클래스 A 또는 B에 속하는 영역으로 나누는 것이다. 이 도면에서 좌측 열(530)은 상이한 시간(t - 0 내지 t = 3; 532, 534, 536, 538)에서 수신한 각 객체 클래스의 객체 기술을 나타낸다. 주의할 것은 객체 기술 A와 객체 기술 B의 평균 특성은 시간이 경과함에 따라 변화한다는 것이다(즉, (510, 514, 518) 및 (520, 524, 528)으로 표시되는 바와 같은 객체 클래스의 객체 기술에 대응하는 세트의 위치의 평균 위치에 있어서 쉬프트(shift)함).
제5도의 중심 열(540)은 매 시간마다 수신된 객체 기술에 이전에 수신된 모든 객체 기술을 부가한 객체 기술에 기초한 객체 클래스 경계(511,512,516 및 521,522,526)를 나타낸다. 여기서, 객체 클래스 경계는 분류 영역의 경계이다. 결국 t = 3 (548)에서 A 및 B는 객체 클래스 공간의 가늘고 긴 영역(516 및 526)으로 표시되어 있다. 이러한 방법의 문제점은 어떤 객체 클래스가 두개의 객체 클래스 영역이 교차하는(패널(546 및 548)에서 실행하는 바와 같이) 영역에 위치하는 객체 기술에 할당되어야 하는지를 결정하는 것이다. 우측 열(550)은 각 객체 클래스로부터 가장 최근의 6가지 객체 기술이 객체 클래스 경계(513, 515, 519 및 523,525,529)를 구성하는데 사용되는 경우에 무엇이 일어나는지를 나타낸다. 여기서, 임의의 시간에 객체 클래스 영역이 교차하는 문제점은 존재하지 않는다(객체 클래스 영역들은 패널(552,554,556,558)내에서 분리된다). 비록 A 및 B가 모두 객체 기술 공간의 동일한 영역을 통과한다 하더라도, 동시에 양자가 존재하는 경우는 결코 없다.
이 추적(tracking)을 적절히 수행하기 위해서, 알고리즘(400)의 K 파라미터는 매 시간 단계에서 객체 클래스를 정의하는데 필요한 프로토타입 기술의 수로 대략 설정되도록 해야 한다. K가 너무 낮게 설정될 경우, 객체 클래스는 적절히 정의될 수 없으며 인식율은 저하된다. K가 너무 높게 설정될 경우, 과거의 사례를 기억하는 용량이 커지게 되며, 각 객체 클래스 영역은 보다 구형 프로토타입 기술 쪽으로 연장된 꼬리(tail)로 성장할 것이다. 생산물 인식의 범위에서의 바람직한 K의 값은 10이다.
일반적으로, 폐기할 후보 프로토타입 기술을 결정하는 경우, 시스템은 그 프로토타입 기술이 전체적으로 얼마나 사용되었는지 뿐만 아니라 그것이 얼마나 최근에 마지막으로 사용되었는지도 고려해야 한다. 상술한 바와 같이, 객체의 소정의 클래스는 시간 경과에 따라 변하는 특성(및 그에 따른 객체 기술)을 갖는다. 따라서 보다 최근에 사용되었고, 이에 따라 현 객체 클래스 특성을 보다 잘 나타내는 프로토타입 기술(예를 들면, 알고리즘(200)에 의해 결정된 최고 매칭중의 하나)을 선호하는 것이 합리적이다. 반면에, 프로토타입 기술이 매칭되는 횟수가 많을수록, 보다 유용해진다. 그 유용한 프로토타입 기술을 삭제하는 것은 자주 사용되지 않은 프로토타입 기술을 삭제하는 것보다 매칭 성능에 있어 보다 큰 영향을 미칠 것이다.
제6도는 프로토타입 기술의 유효 스코어를 계산하고 갱신하는 알고리즘(600)에 대한 흐름도를 도시한다. 이들 유효 스코어는 클래스의 가장 적게 사용된 프로토타입 기술(즉, 최저 유효 스코어를 구비한 프로토타입 기술)을 찾기 위해, 알고리즘(400)의 단계(440)에 의해 사용되는 기준(metric)이다. 알고리즘(600)을 실행하기 전에, 소정의 객체 기술의 객체 클래스(분류(164))는 알고리즘(200)에 의해 결정되었고, 사용자 I/O 장치(160)로부터의 입력(수정 신호(168))에 의해 검증 혹은 보정될 수도 있으며, 소정의 새로운 프로토타입 기술은 알고리즘(400)에 의해 부가되는 것으로 가정하자. 이후에, 알고리즘(600)은(정정된) 객체 클래스에 연관된 모든 프로토타입 기술(K 까지)에 적용된다. 이러한 신규한 개념은, 그 객체 클래스에 대한 다른 모든 프로토타입 기술에 페널티를 가하는 한편, 객체 기술(135)에 가장 근접한 프로토타입 기술을 보상(reward)하는 것이다. 축적된 보너스 및 페널티는 각 프로토타입 기술의 유효 스코어 S를 형성한다.
유효 스코어 S를 적절히 유지하기 위해, 먼저 단계(620)에서, 객체 클래스의 각 프로토타입(610)을 테스트하여, 가장 근접한 매칭(즉, 매칭기(140)에 의해 분류를 위해 사용된 프로토타입 기술)이었는지를 판정한다. 그 프로토타입 기술이 알고리즘(200)에 의해 발견된 최상의 기술(최고의 매칭 스코어를 갖는 기술)인 경우, 또는 알고리즘(400)에 의해 부가된 신형 기술인 경우에, 분기(642)로 진행한다. 어느 경우에 있어서도, 단계(630)는 프로토타입 기술의 유효 스코어(S)가 최대 허용치(L) 미만인지를 체크한다. 미만인 경우(분기(634)), 단계(640)는 양(V) 만큼 유효 스코어를 증분시킨다. 대신에, 유효 스코어가 이미 한계값 또는 그 이상인 경우, 분기(632)가 취해져서 단계(650)는 유효 스코어를 L로 재설정한다. 입력 프로토타입 기술이 가장 근접한 매칭이 아닌 경우(분기(622)), 단계(660)는 유효 스코어가 여전히 양의 값인지를 체크한다. 양인 경우(664), 단계(670)는 스코어를 1 만큼 감분한다. 대신에, 그 스코어가 이미 0 이하인 경우(분기(662)), 단계(680)는 스코어를 정확히 0으로 재설정한다. 스코어가 0인 프로토타입 기술은 시스템에 의해 여전히 보유되고 사용된다. 하지만, 새로운 사례가 부가되는 경우 이들이 먼저 교체되어야 할 것이다.
제7도는 결과로서 생긴 유효 스코어(S)가 얼마나 최근 사용(recency) 및 사용 빈도에 의존하는지를 도시한다. 선두의 그래프(710)에 도시된 바와 같이, 프로토타입 기술 A는 시간 3에서 최초로 사용된다. 따라서 자신의 스코어는 V(이 경우에는 5)만큼 증가되지만, 이후 매 시간 단계마다 1 만큼 감소한다. 유사하게, B(그래프 720)는 시간 4에서 사용되고, C(그래프 730)는 시간 5에서 사용된다. 시간 7에서 시스템이 그 객체 클래스의 프로토타입 기술을 K 만큼 이미 축적한 것으로 가정하면, 소정의 구형 프로토타입 기술을 교체할 필요가 있다. 이때, 프로토타입 기술 A는 스코어가 1, B는 스코어가 2, C는 스코어가 3이다. 따라서, 최근에 가장 적게 사용된 프로토타입 기술 A는 신형 프로토타입 기술을 위한 공간 확보를 위해 삭제될 것이다. 하지만, 프로토타입 기술 D(740)에 대한 그래프가 나타내는 바와 같이, 교체될 프로토타입 기술이 항상 최근에 가장 적게 사용된 프로토타입 기술인 것은 아니다. 여기서, D는 시간 1 및 시간 2에서 사용되지만 이후에 사용되지는 않는다. 따라서 시간 7에서 D는 최근에 가장 적게 사용된 프로토타입 기술이다. 하지만, 시간 7의 D는 프로토타입 기술A(및 B와 C)의 스코어보다 큰 4의 스코어를 갖는다. 따라서, 비록 D가 잠시동안 사용되지 않는다 하더라도 과거에는 매우 많이 사용되었기 때문에, 우선적으로 보유된다.
알고리즘(600)이 실제로 올바르게 동작하게 하기 위해서는, V 및 L 파라미터에 대한 적절한 값을 선택해야 한다. V 값(보상으로서의 증가)의 적절한 선택은 클래스 당 허용된 프로토타입 기술의 수(K)에 기초하여 평가된다. 모든 프로토타입 기술이 동등하게 사용된다고 가정하면, 임의의 특정 프로토타입 기술의 사용 확률은 1/K이다. 사용 방법(소정의 프로토타입 기술은 실제로 존재하나 흔치 않은 사례를 포함할 필요가 있음)에 따른 약간의 변동을 고려하여, 프로토타입 기술이 적어도 1/(2K) 횟수로 매칭되는 경우, 프로토타입 기술은 인식 작업의 역할을 실행하고 있다고 할 수 있다. 따라서, 2K 회 제시(presentation)를 초과하면, 그 스코어는 전형적으로 한번에 V 만큼 증분되고, 2K-1 회 감분된다. 이러한 프로토타입 기술의 유효 스코어가 안정하게 유지되기 위해서는, V는 대략 2K 이어야 한다. K = 10인 경우 생산물 인식 애플리케이션은 V 값이 20인 것이 바람직하다. 클래스를 정의하는데 필요한 프로토타입 기술의 최소 세트가 매우 불균등한 사용 분포를 갖는 애플리케이션에서, 각 클래스에 대해 상이한 V를 설정하는 것이 바람직할 수 있다. 여기서, V의 적절한 값은 가장 사용되지 않는(least popular)(하지만, 여전히 필요한) 프로토타입 기술을 사용할 상대적 확률에 기초해야만 한다.
알고리즘(600)에서 L에 대한 적절한 값은 다수의 요소에 의존한다. 우선, 객체 클래스의 특성(객체 기술)이 얼마나 신속히 변화하는지를 인식하는 것이 필요하다. 다음에, 프로토타입 기술은 과거에 자주 사용되었으며, 유효 스코어가 L이라고 가정한다. 상기 프로토타입 기술이 클래스 변화(drift)에 전형적으로 연관된 시간내에서 사용되지 않는 경우, 그 스코어는 0으로 감소되어야 한다. 그 클래스가 매칭되는 경우, 이 프로토타입 기술의 스코어만이 감소되므로, 인식할 필요가 있는 제2의 요소는 매칭/인식의 빈도(특정 클래스의 생산물 항목이 구입되는 빈도)이다.
제2의 문제를 먼저 언급한다. 수퍼마켓에서 시스템(100)을 사용한 생산물의 인식을 고려하자. 수퍼마켓의 계산대에서 생산물을 인식하는 경우, 1주문당 100 항목이 있고 그 중 10%가 생산물이라고 가정하자. 이러한 주문에 대한 전형적인 계산 시간은 제공(tendering) 시간을 포함하여 약 3분 정도이다. 따라서, 인식은 계산대가 혼잡할 때에는 약 18초마다 수행된다. 계산대가 혼잡한 시간이 단지 하루에 12시간 정도라면, 이것은 하루에 약 2400의 인식 동작을 일으킨다. 일반적인 상점에는 120종의 생산물이 비치되어 있을 수 있다. 따라서, 판매의 균일한 분산을 위해서는, 생산물의 각 클래스는 계산대 당 평균적으로 하루에 20회 인식된다. 하지만, (바나나와 같은) 어떤 종류의 생산물이(루타바가(rutabaga)와 같은) 다른 종류보다 더 인기가 있으므로, 보다 실제적인 값은(계산대 당) 생산물 클래스 당 하루에 약 10의 인식 횟수이다.
이제 제1 문제로 돌아가서, 클래스 특성이 어떻게 변화하는지의 추정을 설정해 보자. 상점은 2일 내지 4일 마다 새로운 생산물의 적하를 수신한다. 클래스 변화가 생산물의 열화가 아닌 재공급 때문에 발생한다고 가정하면, 전형적인 변화 주기는 약 일주일이 될 것이다. 일주일에 각 클래스는 각 계산대 마다 약 70회의 인식, 따라서 5개의 계산대가 존재하는 경우 총 350회 인식된다. 따라서, 이러한 다수의 인식 동작 및 비매칭(non-match)이 최대 유효 스코어를 0으로 감소시키도록 L의 값을 설정하여야 한다. 이들 값을 사용하면, 이 애플리케이션에서 L에 대한 바람직한 값은 400이다. V의 소정의 바람직한 값과의 결합은, 프로토타입이 사용 횟수가 많으면 단 하루만에 최대 스코어 L을 획득할 수 있음을 의미한다(횟수의 50%의 클래스에 대해 최상의 매칭된 프로토타입이라고 가정). 또한, 상이한 항목의 판매 비율이 상당히 변화하는 경우, 상기한 가이드라인을 사용하여 각 클래스에 대해 상이한 L을 설정하는 것이 바람직할 수 있다.

Claims (15)

  1. 적응적 분류자 장치(adaptive classifier apparatus)에 있어서, 테스트 객체를 스캐닝하고 상기 테스트 객체의 스캐닝된 물리 파라미터를 나타내는 파라미터 신호를 출력하는 수단과, 상기 파라미터 신호를 수신하고 상기 파라미터 신호에 기초하여 테스트 특징 데이타를 생성하는 수단과, 제1 복수의 프로토타입 특징 데이타 및 제2 복수의 프로토타입 특징 데이타를 검색가능하게 저장하는 수단과, 상기 테스트 특징 데이타를 상기 제1 복수의 프로토타입 특징 데이타 및 제2 복수의 프로토타입 특징 데이타의 각각과 비교하고 상기 제1 및 제2 복수의 프로토타입 특징 데이타중 어느 것이 상기 테스트 특징 데이타에 가장 근접한 프로토타입 특징 데이타를 갖는지 여부를 표시하는 분류자 데이타(classifier data)를 생성하는 수단과, 상기 분류자 데이타의 생성과 연관된 이벤트 신호를 생성하는 수단과, 상기 제1 및 제2 복수의 프로토타입 특징 데이타의 각각에 대응하는 유효 데이타(usefulness data) ― 상기 유효 데이타는 그 연관된 프로토타입 데이타가 상기 테스트 특징에 가장 근접한 프로토타입 특징 데이타임을 표시하는 상기 이벤트 신호에 대한 사용 빈도(frequency) 및 최근 사용(recency)을 나타냄 ― 를 생성하는 수단과, 상기 유효 데이타에 기초하여 상기 저장된 제1 및 제2 복수의 프로토타입 특징 데이타를 변경하는 수단을 포함하는 적응적 분류자 장치.
  2. 제1항에 있어서, 상기 유효 데이타 생성 수단은 상기 유효 데이타와 연관된 상기 프로토타입 특징 데이타가 상기 테스트 특징 데이타에 가장 근접한 데이타인 각각의 이벤트 카운트시에 제1 양 만큼 상기 유효 데이타를 증가시키고, 상기 유효 데이타와 연관된 상기 프로토타입 특징 데이타가 상기 테스트 특징 데이타에 가장 근접한 데이타가 아닌 각각의 이벤트 카운트시에 제2 양 만큼 상기 유효 데이타를 감소시키는 적응적 분류자 장치.
  3. 제1항에 있어서, 상기 특징 데이타가 상기 제1 복수의 프로토타입 특징 데이타중 소정의 프로토타입 특징 데이타와 가장 근접함을 표시하는 상기 분류자 데이타에 응답하여, 상기 테스트 특징 데이타와 연관된 데이타를 상기 제1 복수의 프로토타입 특징 데이타의 하나로서 저장하는 수단과, 상기 특징 데이타가 상기 제2 복수의 프로토타입 특징 데이타중 소정의 프로토타입 특징 데이타와 가장 근접함을 표시하는 상기 분류자 데이타에 응답하여, 상기 테스트 특징 데이타와 연관된 데이타를 상기 제2 복수의 프로토타입 특징 데이타의 하나로서 저장하는 수단을 더 포함하는 적응적 분류자 장치.
  4. 제3항에 있어서, 제1 및 제2 복수의 프로토타입 데이타를 저장하는 상기 수단은 상기 제1 복수의 프로토타입 데이타에 대한 최대 인구(population) 데이타와, 상기 제2 복수의 프로토타입 데이타에 대한 최대 인구 데이타 ― 상기 최대 인구는 상기 수단의 최대 물리 저장 용량보다 작음 ― 을 저장하고, 상기 제1 및 제2 프로토타입 특징 데이타를 변경하는 상기 수단은 상기 최대 인구 데이타에 따라, 상기 유효 데이타에 기초한 삭제의 순서로, 소정의 프로토타입 특징 데이타를 삭제하는 적응적 분류자 장치.
  5. 제1항에 있어서, 상기 스캐닝된 파라미터 신호를 수신하는 상기 수단은 상기 테스트 객체의 소정의 시각 특성을 나타내는 테스트 특징 데이타를 생성하고, 상기 제1 및 제2 복수의 프로토타입 특징 데이타는 프로토타입 시각 특성을 나타내는 적응적 분류자 장치.
  6. 제5항에 있어서, 상기 테스트 객체의 상기 시각 특성은 색 특성이고, 상기 프로토타입 시각 특성은 무늬(texture) 특성인 적응적 분류자 장치.
  7. 제5항에 있어서, 상기 테스트 객체의 상기 시각 특성은 무늬 특성이고, 상기 프로토타입 시각 특성은 무늬 특성인 적응적 분류자 장치.
  8. 제5항에 있어서, 상기 테스트 객체의 상기 시각 특성은 크기 특성이고, 상기 프로토타입 시각 특성은 크기 특성인 적응적 분류자 장치.
  9. 제1항에 있어서, 제1 및 제2 복수의 프로토타입 데이타를 저장하는 상기 수단은 상기 제1 복수의 프로토타입 데이타에 대한 최대 인구(population) 데이타와, 상기 제2 복수의 프로토타입 데이타에 대한 최대 인구 데이타 ― 상기 최대 인구는 상기 수단의 최대 물리 저장 용량보다 작음 ― 을 설정하고, 분류자 특징 데이타를 삭제하는 상기 수단은 상기 최대 인구 데이타에 따라, 상기 유효 데이타에 기초한 삭제의 순서로 상기 분류자 데이타를 삭제하는 적응적 분류자 장치.
  10. 제1항에 있어서, 상기 분류자 수단은 상기 제1 및 제2 복수의 프로토타입 특징 데이타의 각각과 상기 테스트 특징 데이타간의 유사도를 나타내는 근접치(proximity value)를 생성하는 수단을 포함하는 적응적 분류자 장치.
  11. 제10항에 있어서, 상기 분류자 수단은, 사전결정된 임계치를 저장하는 수단과, 상기 생성된 분류자 데이타에 대응하는 상기 근접치 및 상기 사전결정된 임계치에 기초하여 강도 데이타(a strength data)를 생성하는 수단을 더 포함하는 적응적 분류자 장치.
  12. 제10항에 있어서, 상기 장치는 제3 복수의 프로토타입 특징 데이타를 저장하는 수단을 더 포함하며, 상기 분류자 수단은 상기 제1 복수의 프로토타입 특징 데이타로부터 상기 테스트 특징 데이타에 가장 근접한 소정의 프로토타입 특징 데이타를 삭제하는 수단과, 상기 제2 복수의 프로토타입 특징 데이타로부터 상기 테스트 특징 데이타에 가장 근접한 소정의 프로토타입 특징 데이타를 삭제하는 수단과, 상기 제1, 2 및 3 복수의 프로토타입 특징 데이타로부터의 상기 가장 근접한 프로토타입 특징의 지점에 대응하는 상기 근접치의 크기의 상대적 순서를 나타내는 클래스 옵션 데이타(a class option data)를 생성하는 수단을 포함하는 적응적 분류자 장치.
  13. 제12항에 있어서, 상기 클래스 옵션 데이타를 디스플레이하는 수단을 더 포함하는 적응적 분류자 장치.
  14. 제13항에 있어서, 상기 분류자 수단은 소정의 사전결정된 임계치를 저장하는 수단을 포함하며, 상기 장치는 상기 근접치 및 상기 임계치에 기초하여 소정의 클래스 옵션 데이타의 디스플레이를 억제하는(suppressing) 수단을 더 포함하는 적응적 분류자 장치.
  15. 제10항에 있어서, 상기 분류자 수단은 상기 제1 및 제2 복수의 프로토타입 특징 데이타의 각각과 상기 테스트 특징 데이타간의 차를 검출하고, 상기 검출된 차에 기초하여 상기 근접치 데이타를 생성하는 수단과, 상기 근접치 데이타에 기초하여, 상기 제1 및 2 복수의 프로토타입 특징 데이타로부터 N 번째 최근접 항목 분류자 특징 데이타를 삭제하는 수단을 포함하되, 상기 분류자 데이타는 상기 제1 및 2 복수의 프로토타입 특징 데이타중 어느 것이 상기 N 번째 최근접 항목 특징 데이타 지점과 연관되는지를 반영하는 적응적 분류자 장치.
KR1019950067125A 1995-02-17 1995-12-29 적응적 분류자 장치 KR100207883B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/394,525 US5649070A (en) 1995-02-17 1995-02-17 Learning system with prototype replacement
US08/394,525 1995-02-17
US8/394,525 1995-02-17

Publications (2)

Publication Number Publication Date
KR960032227A KR960032227A (ko) 1996-09-17
KR100207883B1 true KR100207883B1 (ko) 1999-07-15

Family

ID=23559321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950067125A KR100207883B1 (ko) 1995-02-17 1995-12-29 적응적 분류자 장치

Country Status (4)

Country Link
US (1) US5649070A (ko)
EP (1) EP0727755A2 (ko)
JP (1) JPH08292911A (ko)
KR (1) KR100207883B1 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799148A (en) * 1996-12-23 1998-08-25 General Electric Company System and method for estimating a measure of confidence in a match generated from a case-based reasoning system
JP3209163B2 (ja) * 1997-09-19 2001-09-17 日本電気株式会社 分類装置
EP1058924B1 (en) 1998-01-26 2012-06-13 Apple Inc. Method and apparatus for integrating manual input
JP2002510817A (ja) * 1998-04-03 2002-04-09 トライアングル・ファーマシューティカルズ,インコーポレイテッド 治療処方計画の選択をガイドするためのシステム、方法及びコンピュータ・プログラム製品
EP0952534A1 (de) * 1998-04-21 1999-10-27 Gmd - Forschungszentrum Informationstechnik Gmbh Verfahren zur automatisierten Regelgenerierung für die Klassifizierung von Daten, insbesondere Bilddaten
US6363366B1 (en) 1998-08-31 2002-03-26 David L. Henty Produce identification and pricing system for checkouts
US6155489A (en) * 1998-11-10 2000-12-05 Ncr Corporation Item checkout device including a bar code data collector and a produce data collector
US6332573B1 (en) 1998-11-10 2001-12-25 Ncr Corporation Produce data collector and produce recognition system
US6296186B1 (en) * 1998-11-19 2001-10-02 Ncr Corporation Produce recognition system including a produce shape collector
US6226408B1 (en) * 1999-01-29 2001-05-01 Hnc Software, Inc. Unsupervised identification of nonlinear data cluster in multidimensional data
US6332137B1 (en) * 1999-02-11 2001-12-18 Toshikazu Hori Parallel associative learning memory for a standalone hardwired recognition system
US6959870B2 (en) 1999-06-07 2005-11-01 Metrologic Instruments, Inc. Planar LED-based illumination array (PLIA) chips
US6431446B1 (en) 1999-07-28 2002-08-13 Ncr Corporation Produce recognition system and method
US6529855B1 (en) * 1999-07-28 2003-03-04 Ncr Corporation Produce recognition system and method
US6847731B1 (en) * 2000-08-07 2005-01-25 Northeast Photo Sciences, Inc. Method and system for improving pattern recognition system performance
US6606579B1 (en) * 2000-08-16 2003-08-12 Ncr Corporation Method of combining spectral data with non-spectral data in a produce recognition system
US8042740B2 (en) * 2000-11-24 2011-10-25 Metrologic Instruments, Inc. Method of reading bar code symbols on objects at a point-of-sale station by passing said objects through a complex of stationary coplanar illumination and imaging planes projected into a 3D imaging volume
US20020164070A1 (en) * 2001-03-14 2002-11-07 Kuhner Mark B. Automatic algorithm generation
US7197506B2 (en) * 2001-04-06 2007-03-27 Renar Company, Llc Collection management system
US20020184169A1 (en) * 2001-05-31 2002-12-05 Opitz David William Method and device for creating a sequence of hypotheses
US7293002B2 (en) * 2001-06-19 2007-11-06 Ohio University Self-organizing data driven learning hardware with local interconnections
US7254565B2 (en) * 2001-07-26 2007-08-07 International Business Machines Corporation Method and circuits to virtually increase the number of prototypes in artificial neural networks
US7095872B2 (en) * 2001-08-28 2006-08-22 University Of North Carolina At Charlotte Automated digital watermarking methods using neural networks
US6718221B1 (en) 2002-05-21 2004-04-06 University Of Kentucky Research Foundation Nonparametric control chart for the range
US7320000B2 (en) * 2002-12-04 2008-01-15 International Business Machines Corporation Method and apparatus for populating a predefined concept hierarchy or other hierarchical set of classified data items by minimizing system entrophy
US6980875B1 (en) 2003-05-21 2005-12-27 University Of Kentucky Research Foundation Nonparametric control chart for the range
JP2007080184A (ja) * 2005-09-16 2007-03-29 Canon Inc 画像処理装置及び方法
US8130203B2 (en) 2007-01-03 2012-03-06 Apple Inc. Multi-touch input discrimination
US7855718B2 (en) 2007-01-03 2010-12-21 Apple Inc. Multi-touch input discrimination
US8269727B2 (en) 2007-01-03 2012-09-18 Apple Inc. Irregular input identification
US7853081B2 (en) * 2007-04-02 2010-12-14 British Telecommunications Public Limited Company Identifying data patterns
US8229158B2 (en) 2008-04-29 2012-07-24 International Business Machines Corporation Method, system, and program product for determining a state of a shopping receptacle
WO2010106587A1 (ja) 2009-03-18 2010-09-23 パナソニック株式会社 ニューラルネットワークシステム
US8935258B2 (en) * 2009-06-15 2015-01-13 Microsoft Corporation Identification of sample data items for re-judging
US8977561B2 (en) 2011-12-06 2015-03-10 Toshiba Global Commerce Solutions Holding Corporation Caching item information in a cloud-based point of sale system
US20130166337A1 (en) * 2011-12-26 2013-06-27 John MacGregor Analyzing visual representation of data
JP5579202B2 (ja) * 2012-01-16 2014-08-27 東芝テック株式会社 情報処理装置、店舗システム及びプログラム
US10650368B2 (en) * 2016-01-15 2020-05-12 Ncr Corporation Pick list optimization method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5091963A (en) * 1988-05-02 1992-02-25 The Standard Oil Company Method and apparatus for inspecting surfaces for contrast variations
US5060290A (en) * 1989-09-05 1991-10-22 Dole Dried Fruit And Nut Company Algorithm for gray scale analysis especially of fruit or nuts
CA2036974C (en) * 1990-02-26 1996-06-11 Masayuki Kimura Pattern recognition data processing device using an associative matching method
EP0555024B1 (en) * 1992-02-07 2000-05-17 Canon Kabushiki Kaisha Method and apparatus for pattern recognition
US5335293A (en) * 1992-06-16 1994-08-02 Key Technology, Inc. Product inspection method and apparatus
JP2894113B2 (ja) * 1992-11-04 1999-05-24 松下電器産業株式会社 画像クラスタリング装置
JP3163185B2 (ja) * 1992-11-27 2001-05-08 株式会社東芝 パターン認識装置およびパターン認識方法
US5537488A (en) * 1993-09-16 1996-07-16 Massachusetts Institute Of Technology Pattern recognition system with statistical classification
US5546475A (en) * 1994-04-29 1996-08-13 International Business Machines Corporation Produce recognition system

Also Published As

Publication number Publication date
US5649070A (en) 1997-07-15
JPH08292911A (ja) 1996-11-05
EP0727755A2 (en) 1996-08-21
KR960032227A (ko) 1996-09-17

Similar Documents

Publication Publication Date Title
KR100207883B1 (ko) 적응적 분류자 장치
US7958070B2 (en) Parameter learning method, parameter learning apparatus, pattern classification method, and pattern classification apparatus
US11176366B2 (en) Method of searching data to identify images of an object captured by a camera system
US5546503A (en) Apparatus for configuring neural network and pattern recognition apparatus using neural network
US8331655B2 (en) Learning apparatus for pattern detector, learning method and computer-readable storage medium
JP3762840B2 (ja) 類似事例に基づく予測を行う予測装置および方法
KR20050085576A (ko) 컴퓨터 비전 시스템 및 조명 불변 신경 네트워크를사용하는 방법
US5943661A (en) Hybrid neural network classifier, systems and methods
JPWO2015146113A1 (ja) 識別辞書学習システム、識別辞書学習方法および識別辞書学習プログラム
US7181062B2 (en) Modular classification architecture for a pattern recognition application
Greenspan et al. Texture analysis via unsupervised and supervised learning.
US20050131873A1 (en) System and method for adaptive pruning
Halstead et al. Fingerprinting concepts in data streams with supervised and unsupervised meta-information
Robi et al. Image Detection and Classification of Oil Palm Fruit Bunches
JP3095069B2 (ja) 文字認識装置、学習方法および文字認識プログラムを記録した記録媒体
US6219658B1 (en) Method for learning data classification in two separate classes separated by a region divider of order 1 or 2
US20220114404A1 (en) Method and system for automatic cook program determination
Jaber et al. Anticipative and dynamic adaptation to concept changes
JP2022089430A (ja) 画像処理システム、及び画像処理プログラム
JP2022079331A (ja) 商品認識用学習済みモデル生成方法及び商品認識用学習済みモデル生成装置
JPH05314320A (ja) 認識距離の差と候補順を利用した認識結果の評価方式
Zehraoui et al. New self-organizing maps for multivariate sequences processing
Tigga et al. A Comparative Study of Multiple Linear Regression and K Nearest Neighbours using Machine Learning
Nijaguna et al. Multiple kernel fuzzy clustering for uncertain data classification
JP7404962B2 (ja) 画像処理システム、及び画像処理プログラム

Legal Events

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

Payment date: 20020209

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee