KR100249055B1 - 문자인식장치및방법 - Google Patents

문자인식장치및방법 Download PDF

Info

Publication number
KR100249055B1
KR100249055B1 KR1019970004938A KR19970004938A KR100249055B1 KR 100249055 B1 KR100249055 B1 KR 100249055B1 KR 1019970004938 A KR1019970004938 A KR 1019970004938A KR 19970004938 A KR19970004938 A KR 19970004938A KR 100249055 B1 KR100249055 B1 KR 100249055B1
Authority
KR
South Korea
Prior art keywords
cluster
character
category
recognition
clustering
Prior art date
Application number
KR1019970004938A
Other languages
English (en)
Other versions
KR19980018029A (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
Priority claimed from JP03021796A external-priority patent/JP3281530B2/ja
Priority claimed from JP21458196A external-priority patent/JP3280577B2/ja
Application filed by 아끼구사 나오유끼, 후지쯔 가부시끼가이샤 filed Critical 아끼구사 나오유끼
Publication of KR19980018029A publication Critical patent/KR19980018029A/ko
Application granted granted Critical
Publication of KR100249055B1 publication Critical patent/KR100249055B1/ko

Links

Images

Classifications

    • 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/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/12Detection or correction of errors, e.g. by rescanning the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7625Hierarchical techniques, i.e. dividing or merging patterns to obtain a tree-like representation; Dendograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Discrimination (AREA)

Abstract

입력 문자의 특징 벡터를 클러스터링 처리함으로써 클러스터가 생성된다. 잘못 인식될 가능성이 높은 클러스터가 추출된다. 생성된 클러스터에 근접하고 다른 문자 카테고리에 속하는 클러스터가 특정된다. 클러스터들이 유사한 경우 잘못 인식될 가능성이 높고 아울러 낮은 인식 신뢰도를 나타내는 클러스터에 포함된 입력 문자의 인식 문자 카테고리는 유사한 클러스터의 문자 카테고리로 변경된다.

Description

문자 인식 장치 및 방법{CHARACTER RECOGNITION APPARATUS}
본 발명은 동일 필기자에 의해 기록된 여러 입력 문자의 문자 카테고리를 인식하기 위한 문자 인식 장치 및 방법에 관한 것으로, 특히 문자 샘플을 수집하는 일 없이 높은 정밀도로 수기 문자(handwritten character)를 인식하기 위한 문자 인식 장치 및 방법에 관한 것이다.
이미지 스캐너를 이용하여 수기 문서를 광학적으로 판독하고, 이미지 데이터를 생성하며, 생성된 이미지 데이터로부터 수기 문자를 인식하는 통상의 문자 인식 장치가 있다. 최근, 수기 문자의 입력을 위한 주변 기기로서 수기 문자 인식 장치 즉, 광학적 문자 판독기(OCR)의 수요가 증가하고 있다. 이러한 수기 문자 인식 장치의 실용화를 고려할 경우 대단히 높은 문자 인식율이 요구된다.
수기 문자를 인식하기 위한 문자 인식 장치에서는 필기자에 의해 기록되는 문자의 특이한 필기 특성을 고려함으로써 문자 인식율을 높이도록 구성할 필요가 있다.
문자 인식 장치는 입력 문자의 특징과 문자 사전에 등록된 문자 카테고리의 특징을 대조함으로써 입력 문자의 문자 카테고리를 인식한다.
그러나, 상기 문자 사전은 범용으로 준비되기 때문에 수기 문자에 대한 독특한 개인적 변동을 완전히 수용하기란 어려운 문제이고 따라서, 문자 인식률이 저하된다.
종래에는 수기 문자가 인식될 때에는 필기자마다 미리 수집된 문자 샘플에 기초하여 사전에 등록된 문자 카테고리의 특성을 생성하고, 아울러 입력 문자의 특성이 상기 수집된 샘플에 기초하여 추출될 때, 입력 문자의 특성을 필기자마다 적절히 수정함으로써 문자 인식율을 증가시키고 있었다.
그러나, 종래의 방법처럼 필기자에 대한 사전을 준비하거나 적절히 수정을 해야한다면 문자 인식 처리를 수행하기에 앞서 문자 샘플을 수집해야하는 문제가 있다.
또한, 필기자의 필기 특성도 시간에 따라 조금씩 변화되어가기 때문에 높은 문자 인식율을 유지하기 위해서는 어느 기간마다 문자 샘플을 다시 수집해서 사전을 다시 작성해두거나 수정 파라미터를 다시 작성해 두지 않으면 안된다고 하는 문제가 있다.
더욱이, 인식 대상이 되는 수기 문자에 대한 필기자의 수가 많을 때에는 필기자마다 사전을 준비하거나 수정 파라미터를 적절히 관리할 필요가 있으므로 메모리 용량이 과도하게 커진다는 문제가 있다.
본 발명의 목적은 잘못된 문자 인식 결과를 정확한 문자 인식 결과로 수정할 수 있는 문자 인식 장치 및 방법을 제공함에 있다.
도 1은 본 발명의 제1 실시예에 따른 문자 인식 장치의 구성을 나타내는 블록도.
도 2는 도 1에 나타낸 각 개인의 필기 특성에 대한 처리 장치의 기능적 구성을 나타내는 블록도.
도 3은 도 1에 나타낸 각 개인의 필기 특성에 대한 처리 장치의 기능적 구성을 나타내는 블록도.
도 4는 본 발명의 제2 실시예에 따른 문자 인식 장치의 구성을 나타내는 블록도.
도 5는 도 4에 나타낸 동일 필기자 등록 영역 추출 장치의 구성에 대한 예를 나타내는 블록도.
도 6은 본 발명의 제3 실시예에 따른 문자 인식 장치의 구성을 나타내는 블록도.
도 7은 본 발명의 실시예에 따른 문서의 예 1을 나타내는 도면.
도 8은 본 발명의 실시예에 따른 문서의 예 2를 나타내는 도면.
도 9는 본 발명의 실시예에 따른 특징 벡터에 대한 산출예를 나타낸 도면.
도 10은 본 발명의 실시예에 따른 문자 카테고리를 식별하는 예를 나타낸 도면.
도 11은 본 발명의 실시예에 따른 계층적 클러스터링 처리의 개념을 나타낸 도면.
도 12는 본 발명의 실시예에 따라 클러스터들이 통합될 때 클러스터 통합 시간간의 관계와 클러스터들간의 거리를 나타낸 도면.
도 13은 본 발명의 실시예에 따른 계층적 클러스터링 처리를 나타낸 도면.
도 14는 본 발명의 실시예에 따른 계층적 클러스터링 처리와 문자 카테고리 식별 처리의 개념을 나타내는 도면.
도 15는 문자 카테고리 식별 결과의 수정 처리를 나타내는 흐름도.
도 16은 본 발명의 제4 실시예에 따른 문자 인식 장치의 구성을 나타내는 블록도.
도 17은 본 발명의 제1 실시예에 따른 문자 인식 장치의 시스템 구성을 나타내는 블록도.
도 18은 본 발명의 제1 실시예에 따른 문자 인식 장치의 동작을 나타내는 흐름도.
도 19는 본 발명의 실시예에 따른 계층적 클러스터링 처리를 나타내는 도면.
도 20은 본 발명의 실시예에 따른 비계층적 클러스터링 처리를 나타내는 흐름도.
도 21은 본 발명의 실시예에 따른 클러스터링 처리를 나타내는 흐름도.
도 22는 잘못 인식된 클러스터 후보 추출 처리(cluster candidate extracting process)를 나타내는 흐름도.
도 23은 잘못 인식된 클러스터 후보 추출 처리를 나타내는 흐름도.
도 24는 잘못 인식된 클러스터 후보 추출 처리를 나타내는 흐름도.
도 25는 잘못 인식된 클러스터 후보 추출 처리를 나타내는 흐름도.
도 26은 인식 결과의 수정 처리를 나타내는 도면.
도 27은 인식 결과의 수정 처리를 나타내는 도면.
도 28은 인식 결과의 수정 처리를 나타내는 흐름도에 대한 실시예를 나타내는 도면.
도 29는 잘못 인식된 수기 문자의 예를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 이미지 스캐너
6 : 이미지 데이터 저장부
7 : 동일 필기자 등록 영역 추출부
8 : 동일 필기자 등록 영역 저장부
9 : 문자 구분화부
10 : 특징 벡터 산출부
11 : 문자 카테고리 판정부
12 : 전체 문자 카테고리 판정 결과 수정부
14 : 전체 특징 벡터 저장부
15 : 클러스터링 처리부
16 : 클러스터링 경과 저장부
17 : 문자 카테고리 판정 결과 수정부
71 : 필기자 식별 마크 판독부
72 : 마크 대응 영역 좌표 획득부
73 : 영역 판독부
101 : 문서 인식부
102 : 일문자 인식부
104 : 개인의 필기 특성 처리부
111, 121 : 클러스터링 처리부
112, 122 : 클러스터 추출부
113, 123 : 클러스터간 거리 산출부
114, 125 : 인식 결과 수정부
124 : 인식 신뢰도 획득부
본 발명의 특징에 따르면, 소정의 상태를 갖는 각 입력 문자가 속하는 문자 카테고리가 식별된다.
입력 문자들간의 유사성에 기초하여 요소로서 입력 문자를 포함하고 있는 클러스터가 생성된다. 문자 카테고리가 상이한 클러스터가 존재하고 또한, 이들 클러스터들의 거리가 짧다면, 보다 적은 개수의 요소를 포함하는 클러스터의 문자 카테고리는 보다 큰 개수의 요소를 포함하는 클러스터의 문자 카테고리로 수정된다.
입력 문자의 소정의 상태는 동일한 필기자에 의한 수기 문자와, 불명료한 문자 및 변형된 문자 등에 의한 것이다.
따라서, 문자 인식 처리는 각 필기자 또는 각 문자의 성질에 대한 문자 사전을 준비하지 않고 다양한 상태에서 정확히 수행될 수 있다.
실시예
이하 개인의 필기 특성을 갖는 수기 문자가 수신되는 본 발명의 실시예에 따른 문자 인식 장치의 예가 상술된다.
도 1은 본 발명의 제1 실시예에 따른 문자 인식 장치의 구성을 나타내는 블록도이다.
도 1에서 참조 부호 '101'은 문서 입력부를 나타내고, '102'는 일문자 인식부(one-character recognition unit)를 나타내고, '103'은 인식 사전을 나타내며, '104'는 개인의 필기 특성 처리부를 나타낸다.
문서 입력부(101)에서는 동일 필기자에 의해 형태 등이 등록된 여러 문자를 수신한다.
일문자 인식부(102)는 사전(103)에 등록된 카테고리의 특징 벡터와 문서 입력부(101)로부터 입력된 문자를 대조함으로써 입력된 문자를 인식한다.
예를 들어, 수기 숫자 '0' 내지 '9'가 문서 입력부(101)로부터 일문자 인식부(102)에 입력되면, 이 일문자 인식부(102)는 입력된 숫자와 사전(103)에 등록된 '0' 내지 '9' 카테고리 내의 특징 벡터를 대조한다.
다음에, 일문자 인식부(102)는 문서 입력부(101)로부터 입력된 숫자에 가장 근접한 카테고리를 사전(103)으로부터 선택하고, 그 인식 결과를 개인의 필기 특성 처리부(104)에 전송한다.
문서 입력부(101)로부터 입력된 숫자가 사전(103)에 등록된 '0' 내지 '9' 카테고리의 어떠한 특성과도 근접하지 않으면, 거부 결과(rejection result)가 개인의 필기 특성 처리부(104)로 전송된다.
더욱이, 일문자 인식부(102)는 문서 입력부(101)로부터 입력된 수기 문자의 특징 벡터를 인식 결과와 함께 개인 필기 특성 처리부(104)에 전송한다.
개인 필기 특성 처리부(104)에서는 입력 문자의 특징 벡터를 클러스터링 처리함으로써 클러스터를 생성한다. 문자 카테고리에 속하는 클러스터가 또 다른 문자 카테고리에 속하는 클러스터와 유사한 경우에는 2 클러스터들간의 보다 적은 개수의 입력 문자를 갖는 클러스터의 인식된 문자 카테고리가 보다 큰 개수의 입력 문자를 갖는 클러스터의 인식된 문자 카테고리로 수정된다.
따라서, 필기자의 필기 특징을 등록하는 등의 처리는 수기 문자 인식 처리가 수행되기 이전에는 전혀 요구되지 않으므로 정확하면서도 효율적인 수기 문자 인식 처리를 일정하게 실현할 수 있다.
도 2는 개인의 필기 특성 처리부(104)의 구성에 대한 예를 나타내는 블록도이다.
클러스터링 처리부(111)에서는 각 카테고리 내의 수기 문자를 클러스터링함으로써 요소와 같은 수기 문자를 포함하는 복수의 클러스터들을 각 카테고리에 생성한다.
클러스터 추출부(112)에서는 클러스터링 처리부(111)에 의해 생성된 클러스터로부터 소정의 값보다 적은 개수의 요소를 포함하는 클러스터를 추출한다.
클러스터간 또는 클러스터내 거리 계산부(113)에서는 클러스터 추출부(112)에 의해 추출된 제1 카테고리에 속하는 제1 클러스터와, 상기 클러스터링 처리부(111)에 의해 추출된 제2 카테고리에 속하는 제2 클러스터간의 클러스터간 거리를 계산한다.
인식 결과 수정부(114)에서는 제1 및 제2 클러스터 사이의 클러스터간 거리가 소정의 값보다 적을 때 제2 클러스터 내에 제1 클러스터를 통합하고, 제1 클러스터가 속하는 제1 카테고리를 제2 클러스터가 속하는 제2 카테고리로 수정한다.
동일 카테고리에 속하는 수기 문자들이 상이한 카테고리들에 속하는 개인의 필기 특성에 기초하여 판정되는 경우라도, 서로 높은 유사한 레벨을 갖는 수기 문자가 동일 클러스터의 형태로 클러스터되고, 보다 적은 개수의 요소를 포함하는 수기 문자 카테고리는 보다 많은 개수의 요소를 포함하는 수기 문자 카테고리로 수정된다. 그 결과, 각 필기자에 대한 독특한 수기 문자가 정확히 인식될 수 있다.
도 3은 도 1에 나타낸 개인의 필기 특성 처리부(104)의 구성에 대한 또 다른 예를 나타내는 블록도이다.
클러스터링 처리부(121)는 각 카테고리의 수기 문자를 클러스터링함으로써 각 카테고리 내에 요소로서 수기 문자를 각각 포함하는 복수의 클러스터를 생성한다.
클러스터 추출부(122)에서는 상기 클러스터링 처리부(111)에 의해 생성된 클러스터로부터의 소정의 값보다 적은 개수의 요소를 포함하는 클러스터를 추출한다.
클러스터간 거리 계산부(123)에서는 상기 클러스터 추출부(112)에 의해 추출된 제1 카테고리에 속하는 제1 클러스터와, 상기 제1 클러스터링 처리부(111)에 의해 추출된 제2 카테고리에 속하는 제2 클러스터 사이의 클러스터간 거리를 계산한다.
인식 신뢰도 획득부(124)에서는 각 수기 문자의 인식 신뢰도가 얻어진다.
인식 결과 수정부(125)에서는 제1 및 제2 클러스터 사이의 클러스터간 거리가 제1 소정의 값보다 적을 때 제2 클러스터 내에 제1 클러스터를 통합한다. 통합된 제1 및 제2 클러스터로부터 인식 결과 수정부(125)는 인식 신뢰도가 제2 소정의 값보다 큰 제1 클러스터의 수기 문자만을 추출해서 이 추출된 수기 문자를 포함하는 제1 카테고리를 제2 카테고리로 수정한다.
인식 결과 수정부(125)는 각 카테고리 내의 다른 클러스터와 긴 클러스터간의 거리를 유지하는 제3 클러스터를 추출하고, 제3 클러스터에 속하는 수기 문자를 거부한다.
다음에, 인식 결과 수정부(125)는 거부된 수기 문자와 상기 클러스터링 처리부(121)에 의해 생성된 클러스터간의 거리를 계산한다. 거부된 수기 문자로부터의 단거리를 유지하는 제4 클러스터가 있다면 상기 거부된 수기 문자는 제4 클러스터 내에 통합되고 거부된 수기 문자의 카테고리는 제4 클러스터가 속하는 제3 카테고리로 수정된다.
클러스터링 방법에 의해 문자 인식 알고리즘이 구현되는 경우에는 인식된 문자의 카테고리는 인식 신뢰도를 고려하여 수정된다. 따라서, 동일 필기자에 의해 등록된 수기 문자가 보다 높은 정밀도로 인식될 수 있다. 추가적인 실행 인식 처리는 잘못 인식된 문자를 상기 인식 신뢰도를 기초로한 거부된 문자(rejected character)로 변화시키고 아울러, 거부된 문자를 인식 신뢰도를 기초로한 인식 가능한 문자로 변화시킴으로써 실현될 수 있다.
본 발명의 제2 실시예에 따른 문자 인식 장치가 첨부 도면을 참조하여 설명된다.
도 4에서 문서 내의 이미지 데이터로부터의 수기 문자를 인식하기 위한 문자 인식 장치는 이미지 스캐너(1)로부터 출력된 문서에 이미지 데이터를 저장하는 이미지 데이터 저장부(6)와; 동일 필기자 등록 영역 추출부(7)(동일 필기자 등록 영역 추출 수단)와; 동일 필기자 등록 영역 저장부(8)와; 문자 구분화부(9)와; 특징 벡터 산출부(10)(특징 벡터 산출 수단)와; 문자 카테고리 판정부(11)(문자 카테고리 판정 수단)와; 전체 문자 카테고리 판정 결과 저장부(12)와; 식별사전(13)과; 전체 특징 벡터 저장부(14)와; 클러스터링 처리부(15)(클러스터링 수단)와; 클러스터링 결과 저장부(16)와; 문자 카테고리 판정 결과 수정부(17)(문자 카테고리 판정 결과 수정 수단)를 구비하고 있다.
즉, 제2 실시예의 문자 인식 장치는 문서의 이미지 데이터로부터 동일 필기자에 의해 수기 문자가 등록되는 영역을 추출하기 위한 동일 필기자 등록 영역 추출부(7)와; 이 동일 필기자 등록 영역 추출부(7)에 의해 추출된 영역의 전체 문자의 각 문자에 대한 특징 벡터를 산출하기 위한 특징 벡터 산출부(10)와; 특징 벡터 산출부(10)에 의해 산출된 각 문자의 특징 벡터와 식별 사전에 등록된 특징 벡터 사이의 거리에 기초하여 각 문자의 문자 카테고리를 판정하는 문자 카테고리 판정부(11)와; 상기 특징 벡터 산출부(10)에 의해 산출된 모든 특징 벡터와 높은 유사성을 나타내는 문자를 순차적으로 통합합으로써 클러스터링 처리를 수행하는 클러스터링 처리부(15)와; 이 클러스터링 처리부에 의해 얻어진 클러스터링 결과와 상기 문자 카테고리 판정부(11)에 의해 얻어진 문자 카테고리 판정 결과를 비교함으로써 문자 카테고리 판정 결과를 수정하는 문자 카테고리 판정 결과 수정부(17)를 구비하고 있다.
문자 카테고리 판정 결과 수정부(17)는 상기 클러스터링 처리부(15)로부터의 처리 결과에 따라 모든 카테고리 내의 클러스터들간의 거리를 비교한다. 상기 문자 카테고리 판정 결과 수정부(17)는 클러스터간 거리가 소정의 임계치보다 짧은 클러스터들을 통합하는 클러스터 통합부와; 클러스터 통합부에 의해 통합되는 클러스터들의 문자 카테고리들이 문자 카테고리 판정부(11)에 의해 판정되는 모든 문자 카테고리의 판정 결과에 따라 사로 상이한지의 여부를 판정하는 클러스터내 또는 클러스터 내부 문자 카테고리 판정부와; 클러스터들이 통합될 때 보다 적은 개수의 요소를 포함하는 하나의 클러스터의 문자 카테고리를 보다 큰 개수의 요소를 포함하는 다른 클러스터의 문자 카테고리로 수정하는 문자 카테고리 수정부를 구비하며, 클러스터가 서로 상이한 문자 카테고리를 포함하는 클러스터내 문자 카테고리 판정부에 의해 판정된다.
클러스터링 처리부(15)는 문자 카테고리 내의 문자 벡터의 계층적 클러스터링을 수행함으로써 클러스터로서 특징 벡터에 있어 높은 유사성을 갖는 문자를 순차적으로 통합하는 계층적 클러스터링 처리부와; 계층적 클러스터링 처리부에 의해 계층적 클러스터링 처리를 수행함으로써 카테고리 내의 클러스터의 개수가 소정의 개수에 도달할 때 계층적 클러스터링 처리를 중지하는 클러스터링 중지부를 구비하도록 설계될 수 있다.
클러스터링 처리부(15)는 문자 카테고리 내의 문자 벡터의 계층적 클러스터링 처리를 수행함으로써 클러스터로서 특징 벡터에 있어 높은 유사성을 갖는 문자를 순차적으로 통합하는 계층적 클러스터링 처리부와; 계층적 클러스터링 처리부에 의해 계층적 클러스터링 처리를 수행함으로써 클러스터 통합시 클러스터간의 거리가 소정의 임계값에 도달했을 때 계층적 클러스터링 처리를 중지하는 클러스터링 중지부를 구비하도록 설계될 수도 있다.
더욱이, 클러스터링 처리부(15)는 문자 카테고리 내의 문자 벡터의 계층적 클러스터링 처리를 수행함으로써 클러스터로서 특징 벡터에 있어 높은 유사성을 갖는 문자를 순차적으로 통합하는 계층적 클러스터링 처리부와; 계층적 클러스터링 처리부에 의해 계층적 클러스터링 처리를 수행함으로써 클러스터 통합시 클러스터간 거리의 증가율이 소정의 임계값에 도달했을 때 계층적 클러스터링 처리를 중지하는 클러스터링 중지부를 구비하도록 설계될 수도 있다.
이하, 도 4에 나타낸 실시예에 따른 동작을 설명한다.
이미지 스캐너(1)는 문서의 수기 문자를 광학적으로 판독한 후 이진 이미지 데이터를 생성시켜 출력한다. 이미지 스캐너(1)로부터 출력된 이미지 데이터는 이미지 데이터 저장부(6)에 저장된다. 이후, 동일 필기자 등록 영역 추출부(7)는 상기 이미지 데이터 저장부(6)에 저장되어 있는 이미지 데이터로부터 동일 필기자에 의해 기록되는 영역에서 이미지 데이터를 추출해서 이 데이터를 동일 필기자 등록 영역 저장부(8)에 저장한다.
도 5는 동일 필기자 등록 영역 추출부(7)의 구성에 대한 예를 나타내는 블록도이다.
도 5에서 필기자 식별 마크 판독부(71)는 필기자 식별 마크 등록 영역으로부터 필기자 식별 마크를 판독하고, 판독 이미지 데이터에 있어 문자에 대한 필기자를 식별한다.
마크 대응 영역 좌표 획득부(72)는 필기자 식별마크에 의해 수용되는 동일 필기자 등록 영역을 나타내는 좌표를 획득한다.
영역 판독부(73)는 마크 대응 영역 좌표 획득부(72)에 의해 획득되는 동일 필기자 등록 영역의 이미지 데이터를 추출한다.
이어서, 문자 구분화부(9)는 동일 필기자가 등록된 데이터를 가지는 이미지 데이터로부터 일문자 영역을 검출해서 특징 벡터 산출부(10)에 출력시킨다. 특징 벡터 산출부(10)는 문자 구분화부(9)에 의해 구분화된(segmented) 이미지 데이터로부터 특징 벡터를 산출한다. 이 때, 산출된 특징 벡터는 전체 특징 벡터 저장부(14)에 저장되고 문자 카테고리 판정부(11)에 출력된다.
문자 카테고리 판정부(11)는 특징 벡터 산출부(10)에 의해 산출되는 특징 벡터에 기초하여 식별 사전(13)을 참조함으로써 문자 카테고리를 판정해서 판정 결과를 전체 문자 카테고리 판정 결과 저장부(12)에 저장한다. 클러스터링 처리부(15)는 각 문자 카테고리에 대해 전체 특징 벡터 저장부(14)에 저장되고, 클러스터링 결과 저장부(16)에 클러스터링 처리 결과가 저장되는 전체 특징 벡터의 계층적 클러스터링 처리를 수행한다.
이어서, 문자 카테고리 판정 결과 수정부(17)는 클러스터링 결과 저장부(16)에 저장된 클러스터링 결과에 따라 문자 카테고리 판정 결과와, 전체 문자 카테고리 판정 결과에 저장된 전체 문자 카테고리 판정 결과를 수정한 후 이 수정 결과를 출력한다.
문자 인식 결과 수정 처리는 상기한 바와 같이 종래의 문자 인식 장치의 기능에 더해 각 필기자의 개인의 필기 특징에 따라 수행되기 때문에 정확히 문자가 인식될 수 있다. 더욱이 개인의 필기 특징은 복수의 입력 문자를 기초로 계산되기 때문에 각 필기자에 대한 문자를 예비적으로 샘플링 할 필요가 없어 문자의 샘플링을 위한 메모리가 전혀 요구되지 않는다. 더욱이 문자 인식 결과 수정 처리가 종래의 문자 인식 장치에 의해 수행되는 처리에 전처리(preprocess)로서 부가될 수 있다. 따라서 종래의 문자 인식 장치 그 자체는 변화될 필요가 없으므로 제2 실시예를 용이하게 구현할 수 있다.
제2 실시예의 또 다른 양상으로서 동일 필기자 등록 영역 추출부(7)는 이미지 데이터 저장부(6)에 저장되는 문서의 이미지 데이터를 기초로하여 동일 필기자가 문자를 기록한 영역을 추출한다. 특징 벡터 산출부(10)는 동일 필기자 등록 영역 추출부(7)에 의해 추출되는 영역의 전체 문자에 대한 각 문자의 특징 벡터를 산출한다. 문자 카테고리 판정부(11)는 특징 벡터 산출부(10)에 의해 산출된 각 문자의 특징과 식별 사전에 등록된 특징 벡터간의 거리를 기초로 각 문자의 문자 카테고리를 판정한다.
클러스터링 처리부(15)는 클러스터로서 특징 벡터 산출부(10)에 의해 산출된 전체 벡터에 대해 높은 유사성을 갖는 문자를 순차적으로 통합함으로써 클러스터링 처리를 수행한다. 문자 카테고리 판정 결과 수정부(17)는 클러스터링 처리부(15)에 의해 얻어진 클러스터링 결과와 문자 카테고리 판정부(11)에 의해 얻어진 문자 카테고리 판정 결과를 비교한 후에 클러스터링 결과를 수정한 후 그 수정 결과를 출력한다.
문자 인식 결과 수정 처리는 상기한 바와 같이 종래의 문자 인식 장치의 기능에 더해 각 필기자의 개인의 필기 특징에 따라 수행되기 때문에 정확히 문자가 인식될 수 있다. 더욱이, 개인의 필기 특징은 복수의 입력 문자를 기초로 계산되기 때문에 각 필기자에 대한 문자를 예비적으로 샘플링할 필요가 없어 문자의 샘플링을 위한 메모리가 전혀 요구되지 않는다. 또한, 문자 인식 결과 수정 처리가 종래의 문자 인식 장치에 의해 수행되는 처리에 전처리(preprocess)로서 부가될 수 있다. 따라서, 종래의 문자 인식 장치 그 자체는 변화될 필요가 없으므로 제2 실시예를 용이하게 구현할 수 있다.
또, 클러스터링 처리가 각 문자 카테고리에 대해 수행되기 때문에 개인의 필기 특징을 나타내는 문자의 특징이 용이하게 얻어질 수 있고, 종래의 처리에 있어 잘못 인식된 문자가 용이하게 수정될 수 있다.
제2 실시예의 또 다른 특징에 의하면, 문자 카테고리 판정 결과 수정부(17)의 클러스터 통합부는 클러스터부(15)의 처리 결과에 따라 전체 카테고리의 모든 클러스터에 대한 클러스터들간의 거리를 비교해서 클러스터간의 거리가 소정의 임계값보다 적은 클러스터들을 통합한다. 이어서, 클러스터간 카테고리 판정부는 클러스터 통합부에 의해 통합된 클러스터의 문자 카테고리가 문자 카테고리 판정부(11)에 의해 얻어진 전체 문자 카테고리 판정 결과를 토대로 서로 상이한지를 판정한다.
통합된 클러스터들이 상이한 문자 카테고리를 포함하는 클러스터간의 문자 카테고리 판정부에 의해 그러한 상이한 점이 판정되면 문자 카테고리 수정부는 보다 적은 개수의 요소를 포함하는 클러스터의 문자 카테고리를 보다 큰 개수의 요소를 포함하는 클러스터의 문자 카테고리로 수정한다.
이러한 경우, 클러스터링 처리는 각 문자 카테고리에 대해 수행되며, 그 결과적인 데이터를 사용하여 수정 처리가 수행된다. 따라서, 개인의 필기 특성을 나타내는 문자의 특징이 용이하게 얻어지며, 종래의 처리에서 잘못 인식된 문자가 용이하게 수정될 수 있다.
이웃하는 클러스터들이 클러스터링 처리시 점차적으로 통합되기 때문에 다른 것들과 떨어져 위치하는 클러스터만을 추출하며 아울러, 잘못 인식된 문자만을 포함하는 클러스터를 추출할 것이다. 따라서, 클러스터링 결과에 따라 잘못 인식된 문자의 수정이 용이하다.
제2 실시예의 다른 특징에 따르면, 클러스터링 처리부(15)의 계층적 클러스터링 처리부는 문자 카테고리 내의 문자 벡터의 계층적 클러스터링 처리를 수행함으로써 클러스터로서 특징 벡터에 높은 유사성을 갖는 문자를 순차적으로 통합한다. 클러스터링 중지부는 카테고리 내의 클러스터의 개수가 계층적 클러스터링 처리부에 의한 계층적 클러스터링 처리를 수행함으로써 소정의 개수에 도달할 때 계층적 클러스터링 처리를 중지한다.
클러스터링 처리를 중지하기 위한 표준은 간단하기 때문에 클러스터링 중지부는 용이하게 부가될 수 있고 따라서 고속 처리를 실현할 수 있다.
제2 실시예의 다른 양상에 따르면, 클러스터링 처리부의 계층적 클러스터링 처리부는 문자 카테고리 내의 문자 벡터의 계층적 클러스터링 처리를 수행함으로써 클러스터로서 특징 벡터에 높은 유사성을 갖는 문자를 순차적으로 통합한다. 클러스터링 중지부는 클러스터 통합시 클러스터간의 거리가 계층적 클러스터링 처리부에 의해 계층적 클러스터링 처리를 수행함으로써 소정의 임계값에 도달했을 때 계층적 클러스터링 처리를 중지한다. 클러스터링 처리는 클러스터간의 거리에 따라 수행되기 때문에 클러스터가 정확히 얻어질 수 있다.
제2 실시예의 다른 양상에 따르면, 클러스터링 처리부(15)의 계층적 클러스터링 처리부는 문자 카테고리 내의 문자 벡터의 계층적 클러스터링 처리를 수행함으로써 클러스터로서 특징 벡터에 높은 유사성을 갖는 문자를 순차적으로 통합한다. 클러스터링 중지부는 계층적 클러스터링 처리부에 의해 계층적 클러스터링 처리를 수행함으로써 클러스터 통합시 클러스터간 거리의 증가율이 소정의 임계값에 도달했을 때 계층적 클러스터링 처리를 중지한다.
상술한 구성에 의하면, 문자 특징 벡터의 불균일한 분포가 각각의 문자 카테고리와 상이하더라도 클러스터간의 거리의 증가율이 클러스터 통합시 사용되기 때문에 클러스터의 문자의 분포에 좌우되는 클러스터가 보다 정확히 얻어질 수 있다. 그 결과 문자 카테고리는 언제라도 정확히 수정될 수 있다.
본 발명의 제3 실시예를 첨부 도면을 참조하여 설명한다.
이미지 스캐너(1)와 문자 인식부(2)가 도 6에 나타낸 제3 실시예에 제공된다. 이 실시예에서 이미지 스캐너(1)는 문자 인식 장치(하드웨어 구성시의 전용 장치)에 형성된 스캐너와, 케이블을 통해 문자 인식 장치(하드웨어 구성시의 전용 장치)에 접속할 수 있는 독립적인 스캐너와, 개인용 컴퓨터와 워크스테이션과 같은 범용 정보 처리 장치에 형성된 스캐너와, 케이블을 통해 상술한 범용 정보 처리 장치에 접속할 수 있는 독립적인 스캐너가 될 수 있다.
문자 인식부(2)는 상술한 문자 인식 장치(하드웨어 구성시 전용장치)에 형성된 문자 인식부이거나 개인용 컴퓨터 등과 같은 정보 처리 장치에 형성된 문자 인식 부(수기 문자 인식 소프트웨어)가 될 수 있다.
문자 인식부(2)는 이미지 데이터 수신부(5)와; 이미지 데이터 저장부(6)와; 동일 필기자 등록 영역 추출부(7)와; 동일 필기자 등록 영역 저장부(8)와; 문자 구분화부(9)와; 특징 벡터 산출부(10)와; 문자 카테고리 판정부(11)와; 전체 문자 카테고리 판정 결과 저장부(12)와; 식별 사전(13)과; 전체 특징 벡터 저장부(14)와; 클러스터링 처리부(15)와; 클러스터링 저장부(16)와; 문자 카테고리 판정 결과 수정부(17)와; 클러스터링 중지 조건 저장부(18) 등을 구비하고 있다. 문자 카테고리 판정 결과 수정부(17)는 클러스터내 문자 카테고리 판정부(19)를 구비하고 있다.
이미지 스캐너(1)는 수기 문자를 포함하는 문서를 광학적으로 판독한 후 이진 이미지 데이터를 생성해서 출력한다.
문자 인식부(2)는 이미지 스캐너(1)로부터 출력되는 이미지 데이터로부터의 문자 인식 처리시 수기 문자를 인식한다.
이미지 데이터 수신부(5)는 이미지 스캐너(1)로부터 출력된 이미지 데이터를 수신해서 그 데이터를 이미지 데이터 저장부(6)에 저장한다.
이미지 데이터 저장부(6)는 이미지 스캐너(1)로부터 출력된 이미지 데이터를 저장하는 메모리이다.
동일 필기자 등록 영역 추출부(7)는 이미지 데이터 저장부(6)에 저장된 데이터로부터 동일 필기자가 데이터를 기록하는 영역을 추출한다. 이어서, 동일 필기자 등록 영역 추출부(7)는 동일 필기자 등록 영역 저장부(8)에 상기 추출된 영역을 저장한다.
동일 필기자 등록 영역 저장부(8)는 동일 필기자 등록 영역 추출부(7)에 의해 추출된 동일 필기자 등록 영역에 이미지 데이터를 저장하는 메모리이다.
문자 구분화부(9)는 동일 필기자 등록 영역 저장부(8)에 저장된 동일 필기자 등록 영역에 이미지 데이터로부터 일문자 데이터(one-character data)를 구분화한다.
특징 벡터 산출부(10)는 동일 필기자 등록 영역 저장부(8)에 저장된 전체 문자에 대해 문자 구분화부(9)에 의해 구분화된 각 문자의 특징 벡터를 산출한다.
문자 카테고리 판정부(11)는 특징 벡터 산출부(10)에 의해 산출된 각각의 특징 벡터와 식별 사전(13)에 등록된 사전 등록 벡터 사이의 거리에 따라 각각의 문자의 카테고리를 판정한다.
전체 문자 카테고리 판정 결과 저장부(12)는 문자 카테고리 판정부(11)에 의해 판정된 결과적인 데이터를 저장하는 메모리이다.
식별 사전(13)이 사전 벡터로서 특징 벡터를 저장한 후에 각 카테고리(일 문자당)의 특징 벡터는 학습 패턴을 사용하여 미리 산출된다.
전체 특징 벡터 저장부(14)는 특징 벡터 산출부(10)에 의해 산출된 전체 카테고리(문자)의 특징 벡터를 저장하는 메모리이다.
클러스터링 처리부(15)는 특징 벡터 산출부(10)에 의해 산출된 전체 특징 벡터에 따라 클러스터링 처리(계층적 클러스터링 처리)를 수행한다.
클러스터링 결과 저장부(16)는 클러스터링 처리부(15)로부터의 처리 결과 데이터를 저장하는 메모리이다.
문자 카테고리 판정 결과 수정부(17)는 상술한 클러스터링 처리 결과와 문자 카테고리 판정부(11)에 의해 판정된 각각의 문자의 문자 카테고리를 비교해서 그 문자 카테고리 판정 결과를 수정한다(잘못 인식된 문자 수정).
클러스터링 중지 조건 저장부(18)는 클러스터링 중지 조건을 미리 저장하는 메모리이다.
클러스터내 문자 카테고리 판정부(19)는 전체 문자 카테고리 판정 결과 저장부(12)에 저장된 전체 문자 카테고리를 참조해서 클러스터내 문자 카테고리에 대해 통합된 클러스터들의 문자 카테고리가 서로 대조되는지의 여부를 판정한다.
도 7은 처리될 수기 문자를 포함하는 제1 문서의 예를 나타내고 도 8은 처리될 수기 문자를 포함하는 제2 문서의 예를 나타낸다. 이미지 스캐너(1)에 의해 판독될 수기 문자를 포함하는 문서는 예컨대 도 7에 나타낸 제1 문서의 예가 될 수도 있고 도 8에 나타낸 제2 문서의 예가 될 수도 있다. 클러스터링 처리부(15)는 클러스터링 처리시의 통계적 처리를 수행하기 때문에 수기 문자를 포함하는 상기 문서들은 여러 수기 문자를 포함한다.
도 7에 나타낸 제1 문서의 예는 예컨대 상품 구매 형태로 사용되어 '구매량 열'과 '필기자 수 열' 등을 가지고 있다. 유저가 이러한 형태를 이용할 때 유저는 '필기자 수 열'에 필기자 수(본 예에서는 '0321')를 등록하고 각 상품에 대한 양을 수기 문자로 '구매량 열'에 등록한다. 제1 문서의 예에서 단 한명의 필기자는 한 장의 문서에 값에 대한 양을 등록한다.
도 8에 나타낸 제2 문서의 예는 '판매 원장(sales ledger)'의 예로서 예컨대 여러 상품이 판매되는 경우에 사용된다. 이러한 판매 원장은 제품명의 열과, 단가와, 구매자와, 각 상품에 대한 양을 포함하고, 이러한 기록들은 수기 문자로 등록되어 있다. 수기 문자의 책임자명 "다로니폰"은 판매 원부의 아래 부분에 등록된다.
클러스터링 처리부(15)는 클러스터링 처리시 통계적 처리를 수행하고 수기 문자를 포함하는 문서들은 소정 개수 이상의 수기 문자를 포함한다. 문자 인식 처리시 대상 이미지 데이터는 잡음을 제거함으로써 전처리되며, 문자의 포즈(pose)를 수정한다. 더욱이, 문자 구분화처리는 문자 구분화부(9)에 의한 문자에 의해 정확히 수행된다.
이미지 스캐너(1)는 수기 문서를 정확히 판독한 후 이진 데이터를 생성해서 출력한다. 이미지 스캐너(1)로부터의 이미지 데이터 출력은 이미지 데이터 수신부(5)에 의해 수신되어 이미지 데이터 저장부(6)에 저장된다. 다음에, 동일 필기자 등록 영역 추출부(7)는 이미지 데이터 저장부(6)에 저장되어 있는 이미지 데이터로부터 동일 필기자에 의해 기록된 영역에서 이미지 데이터를 추출해서 추출된 데이터를 동일 필기자 등록 영역 저장부(8)에 저장한다.
이어서, 문자 구분화부(9)는 동일 필기자에 의해 기록되어 동일 필기자 등록 영역 저장부(8)에 저장되어 있는 영역의 이미지 데이터로부터 일문자 영역을 구분화해서 검출된 영역을 특징 벡터 산출부(10)에 출력한다. 특징 벡터 산출부(10)는 문자 구분화부(9)에 의해 구분화된 이미지 데이터로부터 특징 벡터를 산출한다. 이 때, 산출된 특징 벡터는 전체 특징 벡터 저장부(14)에 저장되어 문자 카테고리 판정부(11)에 출력된다.
문자 카테고리 판정부(11)는 특징 벡터 산출부(10)에 의해 산출되는 특징 벡터에 기초하여 식별사전(13)을 참조함으로써 문자 카테고리를 판정해서 판정 결과를 전체 문자 카테고리 판정 결과 저장부(12)에 저장한다. 클러스터링 처리부(15)는 전체 특징 벡터 저장부(14)에 저장되는 전체 특징 벡터에 따라 각 문자 카테고리에 대한 계층적 클러스터링 처리를 수행한 후, 전체 문자 카테고리에 대한 클러스터링 처리가 종결된 때에 상기 클러스터링 처리 결과를 클러스터링 처리 결과 저장부(16)에 저장한다.
다음에, 문자 카테고리 판정 결과 수정부(17)는 클러스터링 결과 저장부(16)에 저장된 클러스터링 결과에 따라 문자 카테고리 판정 결과(잘못 인식된 문자 카테고리를 수정한)와, 전체 문자 카테고리 판정 결과 저장부(12)에 저장된 전체 문자의 카테고리 판정 결과를 수정한 후 이 수정 결과를 출력한다.
이하, 동일 필기자 등록 영역 추출부(7)를 설명한다.
동일 필기자 등록 영역 추출부(7)는 이미지 데이터 저장부(6)에 저장된 데이터로부터 동일 필기자에 의해 기록된 영역을 추출해서 동일 필기자 등록 영역 저장부(8)에 상기 추출된 데이터를 저장한다. 이 때, 이미지 데이터 저장부(6)에 저장된 문서의 이미지 데이터는 (1) 단일 필기자에 의해 수기된(handwritten) 문서를 판독함으로써 생성된 단일 필기자의 이미지 데이터와; (2) 복수의 필기자에 의해 수기된 문서를 판독함으로써 생성된 복수의 이미지 데이터일 수 있다.
단일의 필기자에 의해 기록된 문서로부터 이미지 데이터가 생성되는 (1)의 경우에 동일 필기자 등록 영역 추출부(7)는 이미지 데이터 저장부(6)에 저장된 전체 이미지 데이터를 판독해서 그 데이터를 동일 필기자 등록 영역 저장부(8)에 저장한다. 복수의 필기자에 의해 기록된 문서로부터 이미지 데이터가 생성되는 (2)의 경우에 특정 필기자의 이미지 데이터만이 추출되어 동일 필기자 등록 영역 저장부(8)에 저장된다. 이 경우의 처리는 다음과 같이 수행된다.
단일의 필기자에 의해서만 기록된 문서로부터 이미지 데이터가 생성되는 (1)의 경우에 그 처리는 단일 필기자에 관해 동일 필기자 등록 영역 추출부(7)에서 이미지 데이터가 생성되고 있음을 나타내는 명령 정보(키보드를 통해 담당자에 의해 등록됨)를 전송하고 아울러 그 명령 정보를 내부적으로 설정함으로써(예컨대 메모리에) 수행될 수 있다. 또한, 이러한 처리는 필기자 수 등을 처리 대상 영역에 입력함으로써 수행될 수 있다.
복수의 필기자에 의해 기록된 문서로부터 이미지 데이터가 생성되는 (2)의 경우에 그 처리는 이미지 데이터의 각 대상 처리 영역에 대해 각 필기자에 대한 추출된 영역 정보를 특정하고 특정 명령에 따라 각 필기자에 대한 영역을 추출함으로써 수행될 수 있다. 더욱이, 그 처리는 문서에 필기자 수를 등록하고, 문서를 판독함으로써 생성된 이미지 데이터로부터 필기자 수를 판독하며, 필기자 수와 판독될 소정의 영역에 관한 정보에 따라 각 필기자에 대한 등록 영역을 확인하고, 동일 필기자 등록 영역을 추출함으로써 (2)의 경우에 수행될 수 있다. 이러한 처리는 통상적으로 다음과 같은 다른 선택적 방법에 있어 동일 필기자 등록 영역을 추출함으로써 달성될 수도 있다.
이하, 특징 벡터 산출부(10)를 설명한다. 특징 벡터 산출부(10)는 문자 구분화부(9)에 의해 구분화된 일문자 영역으로부터 특징 벡터를 산출한다. 여기에는 예컨대, 특징 벡터를 산출하는 가중 방향 히스토그램법(weighing direction histogram method)이 있다.
예컨대, 1987년 7월에 출판된 전자 정보와 통신 학회에서 출판한 "RECOGNITION OF HANDWRITTEN CHINESE CHARACTERS (KANJI) AND JAPANNESE CHARACTERS (HIRAGANA) BY WEIGHING DIRECTION HISTOGRAM METHOD"의 J70-D 제7권 페이지 1390-1397에 설명되어 있다. 상술한 특징 벡터의 산출 방법에 의해 64 차원의 특징 벡터가 각각의 문자에 대해 산출될 수 있다.
이하, 문자 카테고리 판정부(11)를 설명한다. 문자 카테고리 판정부(11)는 특징 벡터 산출부(10)에 의해 산출된 특징 벡터를 토대로 식별 사전(13)을 참조함으로써 문자의 카테고리를 판정한다. 이러한 경우, 특징 벡터는 학습 패턴을 사용하여 각 문자 카테고리(카테고리가 각 문자에 대해 표시됨)에 대해 미리 산출되어 식별 사전(13)에 등록된다.
문자 카테고리 판정부(11)는 특징 벡터 산출부(10)에 의해 산출된 입력 문자의 특징 벡터와 식별 사전(13)에 등록된 각 카테고리의 특징 벡터를 비교해서 입력 문자의 특징 벡터와 가장 근접한 사전 벡터(식별 사전(13)에 등록된 특징 벡터)의 카테고리를 입력 문자의 문자 카테고리로 판정한다.
거리 비교 방법에 대해서는 1987년 7월에 출판된 전자 정보와 통신 학회에서 출판한 "RECOGNITION OF HANDWRITTEN CHINESE CHARACTERS (KANJI) AND JAPANNESE CHARACTERS (HIRAGANA) BY WEIGHING DIRECTION HISTOGRAM METHOD"의 J70-D 제7권 페이지 1390-1397를 참조한다.
도 9는 특징 벡터를 산출하는 예를 나타낸다.
이 예에서 문자 '2'는 도 9(1)에 나타낸 바와 같이, 20 셀(5열 4행)에 기록된다. 검정 셀은 '1'을 나타내고 흰 셀은 '0'을 나타낸다. 셀들은 상부 좌측으로부터 바닥부 우측까지 순차적으로 체크되고 값 '1'과 '0'은 특징 벡터를 나타내는 것으로 한다.
예컨대, 도 9(2)에 나타낸 특징 벡터는 벡터 A=(1,1,1,1,0,0,0,1,1, 1,1,1,1,0,0,0,1,1,1,1)로 표현된다. 도 9(3)에 나타낸 특징 벡터는 벡터 B=(0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1)로 표현된다. 도 9(4)에 나타낸 특징 벡터 C=(1,1,1,1,0,0,0,1,0,1,1,0,1,0,0,0,1,1,1,1)로 표현된다.
도 10은 시티 블록 거리 d(i,j)로부터 특징 벡터 사이의 거리 Dij를 산출하는 예를 나타내고 있다.
시티 블록 거리 d(i,j)는 N으로 설정된 특징 벡터의 차원의 수와 i로 설정된 특징 벡터의 개수로 표현된다. i 번째 특징 벡터 xi는 xi=(xi1,xi2,xi3, ..., xiN)으로 표현되고, 특징 벡터 xj는 xj=(xj1,xj2,xj3,..., xjN)으로 표현된다. i 번째 특징 벡터 xi와 j 번째 특징 벡터 xj사이의 시티 블록 거리 d(i,j)는 다음의 수학식 1로 표현된다.
d(i,j)=|xi- xj
예컨대, 문자 카테고리 '1', '2', '3', '4'의 특징 벡터가 도 10에 나타낸 바와 같은 식별 사전(13)에 등록된다. 이러한 예에서 '1'의 문자 카테고리의 특징 벡터 1은 벡터 1=(0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0)으로 표현된다. '2'의 문자 카테고리의 특징 벡터 2는 벡터 2=(1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1, 1,1)로 표현된다. '3'의 문자 카테고리의 특징 벡터 3은 벡터 3=(1,1,1,1, 0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1)로 표현된다. '4'의 문자 카테고리의 특징 벡터 4는 벡터 4=(1,0,1,0,1,0,1,0,1,1,1,1,0,0,1,0,0,0,0,1,0)으로 표현된다.
미지의 문자가 입력되고 그 특징 벡터가 벡터=(0,1,1,1,0,0,0,1,1,1, 1,1,1,0,0,0,1,1,1,1)로 표현된다고 하면 이러한 특징 벡터와 식별 사전(13)에 각각 등록되는 '1','2','3','4'의 문자 카테고리의 각 특징 벡터 1,2,3,4 사이의 시티 블록 거리 d(i,j)는 식 (2)에 의해 산출된다.
즉, 미지의 문자의 특징 벡터와 '1'의 문자 카테고리의 특징 벡터 1 사이의 시티 블록 거리 d(i,j)는 다음의 수학식 2에 의해 얻어진다.
Figure pat00001
이와 마찬가지로, 미지 문자의 특징 벡터와 '2'의 문자 카테고리의 특징 벡터 2 사이의 시티 블록 거리 d(i,j)는 d(i,j)=|벡터 - 벡터2|=1에 의해 얻어진다. 미지 문자의 특징 벡터와 '3'의 문자 카테고리의 특징 벡터 3 사이의 시티 블록 거리 d(i,j)는 d(i,j)=|벡터 - 벡터3|=3에 의해 얻어진다. 미지 문자의 특징 벡터와 '4'의 문자 카테고리의 특징 벡터 4 사이의 시티 블록 거리 d(i,j)는 d(i,j)=|벡터 - 벡터4|=11에 의해 얻어진다.
미지 문자의 특징 벡터와 각각 '1', '2', '3', '4'의 문자 카테고리의 특징 벡터 1,2,3,4 사이의 시티 블록 거리 d(i,j) 중에서 미지 문자의 특징 벡터와 '2'의 문자 카테고리의 특징 벡터 2 사이의 시티 블록 거리 d(i,j)는 가장 작은 값을 나타낸다.
따라서 특징 벡터=(0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1)을 갖는 미지 문자는 '2'의 카테고리에 속하는 것으로 판정된다.
특징 스페이스에 있어서의 특징 벡터들간의 거리는 유클리드 거리 |i-j|2와, 시티 블록 거리 Σ|i-j|에 더해 식별 함수 등으로도 산출될 수 있다.
문자 카테고리 판정부(11)는 특징 벡터 산출부(10)에 의해 산출되는 상술된 특징 벡터를 기초로 하여 식별 사전(13)을 참조함으로써 문자 카테고리를 판정한 후 전체 문자에 대한 판정 결과를 전체 문자 카테고리 판정 결과 저장부(12)에 저장한다.
이하, 클러스터링 처리부(15)를 설명한다.
도 11은 계층적 클러스터링 처리를 나타낸다. 도 12는 클러스터 통합 시간과 클러스터가 통합될 때 클러스터간의 거리의 관계를 나타내고 있다. 클러스터링 처리부(15)는 특징 벡터 산출부(10)에 의해 산출된 전체 특징 벡터에 따라 각 문자 카테고리에 대한 계층적 클러스터링 처리를 수행하고, 이러한 클러스터링 처리가 전체 문자 카테고리에 대해 완료되었을 때 그 클러스터링 결과를 클러스터링 결과 저장부(16)에 저장한다.
상술한 처리에 있어서, 클러스터링 처리부(15)는 전체 특징 벡터 저장부(14)로부터 특징 벡터를 판독하고, 클러스터링 중지 조건 저장부(18)로부터의 조건에 따라 클러스터링 처리를 수행한 후 이 클러스터링 처리 결과를 클러스터링 결과 저장부(16)에 저장한다.
상술한 계층적 클러스터링 처리에서는 각각의 특징 벡터는 가변인 하나를 갖는 클러스터이며, 새로운 클러스터는 클러스터간의 거리에 있어 서로 가장 가까운 문자들을 통합함으로써 생성되며, 마찬가지로 통합처리는 클러스터간 거리가 서로 가장 가까운 문자들 사이에서 추가로 수행된다.
도 11에 나타낸 계층적 클러스터링 처리에 있어서 계층적 클러스터링 처리는 '4'의 문자 카테고리로 식별되는 특징 벡터를 위해 설명되어 있다. 도 11에 있어서 일문자 '2'는 '4'를 잘못 인식한 것이다. 이 상태에서 제1, 제2, 제3, 제4,...,제11 계층적 클러스터링 처리가 순차적으로 수행된다. 클러스터링 중지 조건이 만족되면 클러스터링 처리는 종결된다.
클러스터들이 통합될 때 예컨대 상술한 시티 블록 거리는 하나의 요소를 포함하는 클러스터들 즉, 특징 벡터들간의 거리를 비교하기 위해 사용된다. 예컨대 센트로이드법(centroid method)은 복수의 요소를 포함하는 클러스터간의 거리의 비교에 이용된다. 센트로이드법에서 클러스터를 나타내는 벡터 xm은 다음과 같은 벡터의 평균으로 표현된다.
Figure pat00002
수학식 3에서 클러스터의 i번째(i=1,2,3,..., M) 특징 벡터 xi=(xi1,xi2,xi3, ..., xiN)으로 표현된다.
따라서, 대표적인 벡터는 시티 블록 거리를 이용하여 비교된다.
클러스터링 처리가 도 11에 나타낸 것처럼 완전히 수행되지 않으면 잘못 인식된 문자는 발견할 수 없기 때문에 상술한 클러스터링 중지 조건이 설정된다. 클러스터링 중지 조건은 다음의 경우에 만족된다. 즉,
(a) 클러스터의 최종 개수가 소정의 값(예컨대 3개)과 같거나 적은 경우.
(b) 클러스터가 통합되는 경우 클러스터간 거리가 소정의 임계값을 초과하는 경우.
(c) 클러스터가 통합되는 경우 클러스터간 거리의 증가율이 소정의 임계값을 초과하는 경우.
선택적 클러스터링 중지 조건은 상기 열거된 클러스터링 중지 조건 (a),(b),(c)로부터 선택되어 클러스터링 중지 조건 저장부(18)에 저장된다. 클러스터링 처리부(15)는 상기 열거된 중지 조건을 참조함으로써 클러스터링 처리를 수행한다.
상기 열거한 클러스터링 조건하에서의 클러스터간의 거리 임계값은 예를 들어 1/3 씩 사전 등록 벡터간의 최저 거리를 승산함으로써 얻어진 값일 수 있다. 즉, 다음의 수학식 4로 표현될 수 있다.
Figure pat00003
수학식 4에서, Ji(i=0,1,2, ... ,9)는 사전 등록 벡터를 나타내고;
Lmin은 사전 등록 벡터간의 최저 거리를 나타내며;
Lth는 임계값을 나타낸다.
상기 열거된 클러스터링 중지 조건하에서의 클러스터간의 거리 증가율에 관련하여 근접한 클러스터들이 계층적 클러스터링 처리에 순차적으로 통합되고 이어서, 클러스터가 통합될 때 클러스터간 거리가 점차적으로 증가한다. 잘못 인식된 문자의 클러스터는 정확히 인식된 문자의 클러스터와 비교되는 경우 별개로 위치하게 된다. 따라서, 정확히 인식된 문자의 클러스터가 통합될 때 보다는 잘못 인식된 문자의 클러스터에 정확히 인식된 문자의 클러스터가 통합될 때 클러스터간의 거리 증가율이 보다 높게 상승한다.
클러스터링 처리는 클러스터간의 거리 증가율이 상승하기 이전에 즉시 정지된다. 임계값에 관하여서는 클러스터간의 거리 증가율이 사전 통합시 얻어진 증가율의 3 배를 초과하는 경우에는 클러스터링 처리가 정지된다.
도 12에서 수평축은 통합 클러스터의 시간을 나타내고(클러스터 통합 시간), 수직축은 클러스터 통합시의 클러스터간 거리를 나타낸다. 포인트 P는 잘못 인식된 문자의 클러스터가 통합될 때(정확히 인식된 문자의 클러스터가 잘못 인식된 문자의 클러스트 내에 통합될 때)의 포인트를 나타낸다. 도 12에 나타낸 바와 같이 클러스터간 거리는 계층적 클러스터링 처리가 진행됨에 따라 증가하고, 잘못 인식된 문자가 통합되는 경우(도 12에 나타낸 포인트 P 참조)에 클러스터간 거리는 급히 증가한다.
즉, di가 i 번째 클러스터 통합시 클러스터간의 거리를 나타낸다고 하면 클러스터링 중지 조건은 다음과 같이 표현된다.
(di+1- di) / (di- di-1) > 3
도 13은 클러스터링 처리를 나타내는 흐름도이다.
클러스터링 처리부(15)는 전체 특징 벡터 저장부(14)로부터 특징 벡터를 검색해서 클러스터링 처리를 개시한다. 클러스터링 처리시에는 문자 카테고리의 특징 벡터 만이 추출된다(S1). 이어서, 클러스터링 처리부(15)는 클러스터링 중지 조건 저장부(18)로부터 클러스터링 중지 조건을 가지고와서 이 조건을 클러스터링 처리부(15)에 설정한다.
이어서, 클러스터링 처리부(15)는 전체 특징 벡터 저장부(14)(S3)에 저장된 전체 특징 벡터의 전체 클러스터(각 특징 벡터는 단일 요소를 포함하는 클러스터로서 간주됨)에 서로 가장 근접한 2개의 클러스터를 선택한다.
클러스터링 처리부(15)는 클러스터링 중지 조건이 만족되는지의 여부를 판정한다(S4). 만약 조건이 만족되지 않으면 클러스터들은 통합되고(S5) 처리는 S3의 처리로부터 다시 반복된다.
클러스터링 중지 조건이 S4의 처리로 만족된다면 전체 문자 카테고리에 대한 클러스터링 처리가 수행되었는지의 여부가 판정된다(S6). 전체 문자 카테고리에 대한 클러스터링 처리가 수행되지 않았으면 S1의 처리로부터 클러스터링이 반복된다(연속 처리에 대한 처리). 따라서 전체 문자 카테고리에 대한 클러스터링 처리가 수행되었다면 그 클러스터링 결과는 클러스터링 결과 저장부(16)에 저장되고(S7) 클러스터링 처리가 종결된다.
이어서, 문자 카테고리 판정 결과 수정부(17)를 설명한다.
도 14는 계층적 클러스터링 처리의 개념과 문자 카테고리 판정 결과 수정 처리에 대한 개념을 보여주고 있다. 문자 카테고리 판정 결과 수정부(17)는 클러스터링 결과 저장부(16)에 저장되어 있는 클러스터링 결과와 전체 문자 카테고리 판정 결과 저장부(12)에 저장되어 있는 전체 문자의 카테고리 판정 결과를 기초로 해서 문자 카테고리 판정 결과를 수정한다.
문자 카테고리 판정 결과 수정부(17)가 문자 카테고리 판정 결과를 수정하는 경우에 상기 수정부는 클러스터링 처리부(15)에 의해 얻어진 전체 카테고리의 전체 클러스터(클러스터링 결과 저장부(16)에 저장되어 있는 데이터) 내의 클러스터의 각 쌍에 대한 클러스터간 거리를 산출한다.
클러스터간의 거리가 소정의 임계값보다 작은 경우 대응하는 클러스터들이 통합된다. 이 때, 클러스터내 문자 카테고리 판정부(19)는 전체 문자 카테고리 판정 결과 저장부(12)에 저장되어 있는 전체 문자의 카테고리 판정 결과를 참조하고, 통합된 클러스터의 문자 카테고리가 서로 대조되는지의 여부를 판정한다. 판정 결과 클러스터의 카테고리가 서로 대조되지 않으면 문자 카테고리 판정 결과 수정부(17)는 보다 적은 개수의 요소를 포함하는 클러스터의 문자 카테고리를 보다 큰 개수의 요소를 포함하는 클러스터의 문자 카테고리로 수정한다.
클러스터 통합시 클러스터간의 거리 임계값은 예컨대 보다 큰 개수의 요소를 포함하는 클러스터 내의 일정한 클러스터간의 거리일 수 있다. 즉, 클러스터 A(요소=M 개)가 클러스터 B(요소=N 개)에 통합되는지의 여부를 판정하기 위해 다음의 처리가 수행된다. xam이 클러스터 A의 평균 벡터를 나타내고, xbm이 클러스터 B의 평균 벡터를 나타내며, xai가 클러스터 A의 특징 벡터를 나타낸다면(i=1,2,...,M), M은 N 보다 크고(M>N) 클러스터 A 내의 클러스터간 거리 dth는 다음의 수학식 5로 표현된다.
Figure pat00004
통합 클러스터링의 조건은 다음과 같이 표현된다.
|xam - xbm| < 1.5 dth
수학식 6에서, 상수는 1.5이다.
상기 처리는 도 14를 참조함으로써 명확히 설명된다. 도 14에 나타낸 문자 a,b,c,d,e,f,g,h는 식별 번호(부호)이다. 이러한 예에서 계층적 클러스터링 중지 조건은 '각 카테고리의 요소의 개수가 3이 될 때'의 클러스터링을 중지하는 것이다. 먼저, 문자 카테고리 판정 결과 수정부(17)는 클러스터의 개수가 각 카테고리에서 3이 될 때까지 특징 벡터에 대한 클러스터링 처리를 계속한다.
이어서, 문자 카테고리 판정 결과 수정부(17)는 클러스터간 거리가 서로 가장 근접한 클러스터들을 통합한다. 이러한 예에서 클러스터 b는 클러스터 c에 통합되어 클러스터 h를 만든다. 클러스터 b와 c의 문자 카테고리가 '2'이기 때문에 클러스터 통합시 각 문자 카테고리가 수정된다.
클러스터 a는 클러스터 d에 통합되어 클러스터 g를 만든다. 클러스터 a의 문자 카테고리는 '2'이고 반면에 클러스터 d의 문자 카테고리는 '4'이다. 클러스터 a와 d의 문자 카테고리는 서로 상이하고 클러스터 a 내의 요소의 개수는 클러스터 d 내의 요소의 개수보다 크기 때문에 클러스터 d의 문자 카테고리는 '4'에서 '2'로 수정된다.
도 15는 문자 카테고리 판정 결과의 수정 처리를 나타내는 흐름도이다.
문자 카테고리 판정 결과 수정부(17)가 문자 카테고리의 판정 결과를 수정할 때 상기 수정부는 클러스터링 결과 저장부(16)로부터 클러스터링 결과를 수신한다(S11). 이어서, 클러스터링 처리부(15)에 의해 얻어진 모든 카테고리의 전체 클러스터에 있어서의 각 클러스터 쌍간의 클러스터간의 거리를 산출해서 비교한다.
이 결과 산출된 클러스터간의 거리가 소정의 임계값보다 적은지의 여부가 판정된다. 클러스터간의 거리가 소정의 임계값과 동일하거나 적다면 어떠한 동작도 취해지지 않는다(거부). 산출된 클러스터간 거리가 임계값과 동일하거나 적다면 대응하는 클러스터가 통합된다(S14). 전체 클러스터에 대해 상기 처리가 수행되지 않았다면 S12 로부터 S15의 처리가 반복된다.
이 때, 클러스터내 문자 카테고리 판정부(19)는 전체 문자 카테고리 판정 결과 저장부(12)에 저장된 전체 문자의 카테고리 판정 결과를 참조해서 클러스터내 문자 카테고리를 판정한다. 이어서, 통합된 클러스터의 문자 카테고리가 서로 상이한지의 여부가 판정된다(S17).
이러한 판정 결과 클러스터의 카테고리가 서로 상이하다면 문자 카테고리 판정 결과 수정부(17)는 보다 적은 개수의 요소를 포함하는 클러스터의 문자 카테고리를 보다 큰 개수의 요소를 포함하는 클러스터의 문자 카테고리로 수정해서(S18) 클러스터 내의 각 문자에 대한 문자 카테고리를 출력한다. S17에 있어서의 처리에서 통합된 클러스터의 문자 카테고리가 서로 상이하지 않다면 문자 카테고리 판정 결과 수정부(17)는 클러스터의 각 문자에 대한 문자 카테고리를 출력한다(S19).
상기한 바와 같이, 도 6에 나타낸 문자 인식 장치는 복수의 입력 문자에 따라 개인의 필기 특성을 산출하고, 각 필기자에 대한 문자를 미리 샘플링하는 처리가 요구되지 않거나 또는 문자 샘플을 저장하기 위한 통상의 메모리 역시 요구되지 않는다.
더욱이, 수정 처리는 종래 제안된 다양한 문자 인식 처리에 대한 전처리로서 부가될 수 있기 때문에 종래의 문자 인식 처리는 수정될 필요가 없으므로 수정 처리를 용이하게 구현한다.
각 문자 카테고리에 대한 클러스터링 처리가 수행되기 때문에 개인의 필기 특성을 반영하는 문자의 특징을 용이하게 얻을 수 있으며, 아울러 종래의 처리에 있어서 잘못 인식된 문자가 용이하게 수정될 수 있다. 또한, 인접하는 클러스터들이 계층적 클러스터링 처리시 점차적으로 통합되기 때문에 떨어져 위치하는 클러스터들의 추출이 더욱 용이해지고 따라서, 잘못 인식된 문자를 포함하는 크러스터만을 용이하게 추출할 수 있다. 마찬가지로, 잘못 인식된 문자가 정확히 인식된 문자로 수정될 수 없는 경우라도 거부는 클러스터간의 거리에 따라 판정된다.
이하, 본 발명의 제4 실시예에 따른 문자 인식 장치를 설명한다.
도 16에서 문자 인식 장치는 동일 필기자에 의해 입력된 여러 입력 문자의 문자 카테고리를 인식하며, 사전(20)과, 산출 수단(21)과, 제1 저장 수단(22)과, 인식 수단(23)과, 제2 저장 수단(24)과, 제3 저장 수단(25)과, 클러스터링 수단(26)과, 수정 수단(27)과, 출력 수단(28)을 구비하고 있다.
사전(20)은 각 문자 카테고리의 특징 벡터를 관리한다. 산출 수단(21)은 입력 문자의 특징 벡터를 산출한다. 제1 저장 수단(22)은 입력 문자에 대응하는 산출 수단(21)에 의해 산출된 특징 벡터를 저장한다.
인식 수단(23)은 산출 수단(21)에 의해 산출된 특징 벡터와 사전(20)에 등록된 각 문자 카테고리의 특징 벡터간의 거리를 산출하며, 입력 문자의 문자 카테고리로서 최소의 거리값을 나타내는 문자 카테고리를 인식한 후 인식된 문자 카테고리에 대한 거리 값이 소정의 값과 동일하지 않거나 보다 적을 경우 인식 불능인 입력 문자를 거부한다.
제2 저장 수단(24)은 입력 문자와 이 입력 문자에 대응하는 인식된 문자 카테고리 사이의 인식 수단(23)에 의해 산출되는 거리값을 저장한다. 제3 저장 수단(23)은 입력 문자에 대응하는 인식 수단(23)에 의해 인식된 문자 카테고리를 저장한다.
클러스터링 수단(26)은 인식 수단(23)에 의해 인식된 각 문자 카테고리에 대한 산출 수단(21)에 의해 산출된 특징 벡터를 클러스터링함으로써 각 문자 카테고리에 대한 하나 이상의 클러스터를 생성한다.
수정 수단(27)은 제3 저장 수단(25)에 저장된 인식 수단(23)의 인식 결과를 수정하며, 이 수정 수단은 클러스터링 수단(26)에 의해 생성되는 클러스터로부터 잘못 인식될 가능성이 높은 클러스터를 추출하기 위한 추출 수단(29)과; 또 다른 문자 카테고리에 속하고 아울러 상기 산출 수단(21)에 의해 산출된 특징 벡터를 이용하여 추출 수단(29)에 의해 추출된 클러스터에 가장 근접한 클러스터를 특정하거나 또는 또 다른 문자 카테고리에 속하고 아울러 상기 인식 수단(23)에 의해 거부된 입력 문자에 가장 근접한 클러스터를 특정하는 특정 수단(30)과; 상기 추출 수단(29)에 의해 추출된 클러스터에 속하는 입력 문자의 인식된 문자 카테고리를 수정하고, 거부된 입력 문자를 인식 가능한 문자로 수정하고, 카테고리나 인식가능한 문자를 설정하는 제1 수정 수단(31)과; 추출 수단(29)에 의해 추출된 클러스터에 속하는 입력 문자를 거부된 문자로 수정하는 제2 수정 수단(32)을 구비하고 있다.
출력 수단(28)은 인식 수단(23)에 의해 인식되고 수정 수단(27)에 의해 인식되는 인식 결과를 외부로 출력한다.
상기와 같이 구성된 문자 인식 장치의 클러스터링 수단(26)은 상기 인식 수단(23)에 의해 인식된 각 문자 카테고리에 대한 산출 수단(21)에 의해 산출된 특징 벡터를 클러스터링함으로써 각 문자 카테고리에 대해 하나 이상의 클러스터를 생성한다.
예를 들어, 클러스터링 수단(26)은 계층적 클러스터링법에 의해 클러스터링 처리를 수행함으로써 클러스터를 생성하고, 이어서, 초기 상태의 먼저 생성된 클러스터를 사용하는 비계층적 클러스터링에 의한 클러스터링 처리를 수행함으로써 각 문자 카테고리에 대한 하나 이상의 클러스터를 생성한다.
하나 이상의 클러스터가 생성된 후에 추출 수단(29)은 예컨대 생성된 클러스터로부터의 소정의 개수 보다는 적은 여러 입력 문자를 포함하는 클러스터를 추출함으로써 잘못 인식될 가능성이 높은 클러스터를 추출한다. 이러한 추출 결과 추출 수단(30)은 산출 수단(21)에 의해 산출된 특징 벡터를 이용하여 또 다른 문자 카테고리에 속하고 잘못 인식될 가능성이 높은 추출된 클러스터에 근접한 클러스터를 특정한다.
이 때, 특정 수단(30)은 잘못 인식될 가능성이 높은 추출된 클러스터의 문자 카테고리에 따라 특정될 또 다른 문자 카테고리를 미리 제한할 수도 있고, 따라서 특정 처리가 정확하면서도 고속으로 수행될 수 있다. 또한, 상기 특정 수단은 인식 수단(23)에 의해 산출된 적은 거리값을 나타내는 상당한 정도의 문자 카테고리(high order category)로 특정될 또 다른 문자 카테고리를 제한할 수도 있다.
잘못 인식될 가능성이 높은 추출된 클러스터와 특정 수단(30)에 의해 특정되는 또 다른 문자 카테고리에 속하고 추출된 클러스터에 근접한 클러스터간의 거리가 소정의 값보다 작을 때, 제1 수정 수단(31)은 잘못 인식될 가능성이 높은 추출된 클러스터에 속하고 아울러, 소정의 값보다 큰 인식된 문자 카테고리로부터의 거리값을 나타내는 입력 문자의 인식된 문자 카테고리를 특정 수단(30)에 의해 특정된 클러스터의 문자 카테고리로 수정한다.
즉, 잘못 인식될 가능성이 높은 클러스터가 추출될 때 또 다른 문자 카테고리에 속하고 동시에 추출된 클러스터에 근접한 클러스터가 특정된다. 추출된 클러스터에 대한 유사성이 높다면 잘못 인식될 가능성이 높은 클러스터 내에 포함되는 낮은 인식 신뢰도를 갖는 입력 문자의 인식된 문자 카테고리는 추출된 클러스터의 카테고리에 거리상으로 근접한 클러스터의 인식된 문자 카테고리로 수정된다.
제2 수정 수단(32)은 잘못 인식될 가능성이 높은 추출된 클러스터와 전체 다른 문자 카테고리의 클러스터들간의 거리값이 소정값보다 큰 경우 잘못 인식될 가능성이 높은 추출된 클러스터에 속하는 입력 문자를 거부 문자로 수정한다.
즉, 잘못 인식될 가능성이 높은 클러스터가 추출되고 이 클러스터가 기타 모든 문자의 카테고리에 대한 전체 클러스터의 어느것과도 유사하지 않다면 이어서, 잘못 인식될 가능성이 높은 클러스터에 속하는 입력 문자는 거부문자로 수정된다.
반면에 특정 수단(30)은 상기 산출 수단(21)에 의해 산출된 특징 벡터를 이용하여 인식 수단(23)에 의해 거부된 입력 문자에 근접한 문자에 대한 카테고리의 클러스터를 특정한다.
이 때, 특정 수단(30)은 거부된 문자의 인식된 문자 카테고리에 따라 특정될 또 다른 문자 카테고리를 미리 제한할 수도 있고, 따라서 특정 처리가 고속으로 수행될 수 있다. 또한 상기 특정 수단은 인식 수단(23)에 의해 산출된 적은 거리값을 나타내는 상위의 문자 카테고리(high order category)로 특정될 또 다른 문자 카테고리를 제한할 수도 있다.
거부된 입력 문자의 클러스터와 이 거부된 입력 문자에 근접한 문자인 특정 수단(30)에 의해 특정되는 또 다른 문자 카테고리에 속하는 클러스터간의 거리가 소정의 값보다 작을 때, 제1 수정 수단(31)은 소정의 값보다 작은 인식된 문자 카테고리로부터의 거리 값을 나타내는 거부된 입력 문자를 인식가능한 문자로 수정하고, 특정 수단(30)에 의해 특정된 클러스터의 문자 카테고리로서 입력 문자의 인식된 문자 카테고리를 설정한다.
즉, 거부된 입력 문자에 근접한 문자의 카테고리에 대한 클러스터가 특정되고, 유사성이 높고, 거부된 입력 문자의 거부 신뢰성이 낮으면 다음에 거부된 입력 문자는 인식 가능한 문자로 수정되고 아울러 거부된 입력 문자의 인식된 문자 카테고리는 거부된 입력 문자에 근접한 클러스터의 문자 카테고리로서 설정된다.
따라서, 제4 실시예에 따르면 입력 문자의 특징 벡터는 클러스터를 생성하도록 클러스트되고, 잘못 인식될 가능성이 높은 하나의 클러스터가 클러스터들로부터 추출되고, 또 다른 문자 카테고리에 속하고 추출된 클러스터에 근접한 클러스터가 특정된다. 유사성이 높다면 잘못 인식될 가능성이 있어 낮은 인식 신뢰성을 나타내는 클러스터 내에 포함되는 입력 문자의 인식된 문자 카테고리는 유사한 클러스터에 대한 문자 카테고리로 수정된다. 따라서, 사전에 문자 샘플을 수집할 필요없이 수기 문자 인식 처리가 정확히 수행될 수 있다.
잘못 인식될 가능성이 높은 클러스터가 그 밖의 모든 문자에 대한 카테고리의 전체 클러스터와 유사하지 않을 때 잘못 인식될 가능성이 높은 클러스터에 속하는 입력 문자는 거부된 문자로 수정된다. 그 결과 수기 문자 인식 처리가 정확히 수행될 수 있다.
즉, 거부된 입력 문자와 근접한 문자의 카테고리에 대한 클러스터가 특정되고, 유사성이 높고, 거부된 입력 문자의 거부 신뢰성이 낮으면 다음에 거부된 입력 문자는 인식 가능한 문자로 수정되고 아울러 거부된 입력 문자의 인식된 문자 카테고리는 거부된 입력 문자와 유사한 클러스터의 문자 카테고리로서 설정된다. 그 결과 수기 문자 인식 처리가 정확히 수행될 수 있다.
이하, 문자 인식 장치의 시스템에 대한 구성을 설명한다.
도 17에 나타낸 바와 같이, 본 발명의 제4 실시예에 따른 문자 인식 장치는 인식될 문서의 이미지를 판독하는 스캐너(40)와; 이 스캐너(40)에 의해 판독된 문서 이미지를 저장하는 문서 이미지 저장 메모리(41)와; 각 문자 카테고리의 특징 벡터를 관리하기 위한 사전(42)과; 인식될 문자를 상기 문서 이미지 저장 메모리(41)에 저장되는 문서 이미지로부터 동일 필기자에 의해 기록된 여러 문자를 추출하고 아울러 클러스터링 처리법을 통해 인식될 문자의 특징 벡터를 이용하여 인식될 문자의 문자 카테고리를 인식하는 인식 프로그램(43)과; 인식 프로그램(43)에 의해 추출된 인식될 문자의 문서 이미지를 저장하는 처리 문서 이미지 저장 메모리(44)와; 상기 인식 프로그램(43)에 의해 인식되어 추출될 문자의 특징 벡터를 저장하는 특징 벡터 저장 메모리(45)와; 인식 프로그램(43)의 인식 결과를 저장하는 인식 결과 저장 메모리(46)와; 상기 인식 프로그램(43)에 의해 인식될 문자와 상기 인식된 문자 카테고리 사이의 거리를 저장하는 사전 거리값 저장 메모리(47)와; 인식 프로그램(43)에 의해 얻어진 클러스터링 결과를 저장하는 클러스터 정보 저장 메모리(48)를 구비하고 있다.
도 18은 인식 프로그램(43)에 의해 수행된 처리 흐름에 대한 실시예를 나타내는 도면이다.
먼저 인식 프로그램(43)은 문서 이미지 저장 메모리(41)에 저장된 문서 이미지로부터 동일 필기자에 의해 기록된 문서를 추출한 후 동일 필기자에 의해 기록된 문서의 문자를 인식할 필요가 있을 때 도 18의 처리 흐름에 나타낸 바와 같이 단계 21에서 처리 문서 이미지 저장 메모리(44)에 문서를 저장한다.
이러한 추출 처리는 예컨대 동일 필기자에 의해 기록된 문자를 나타내는 마크가 문서 이미지 저장 메모리(41)에 저장된 문서 이미지에 저장될 때 마크된 문서를 추출함으로써 수행된다. 이러한 처리는 도 7에 나타낸 바와 같은 동일 필기자에 의해 필기된 것으로 규정되는 부분을 검색함으로써 수행된다.
이어서, 단계 22에서 동일 필기자에 의해 기록되어 단계 21에서 저장되는 문서는 처리 문서 이미지 저장 메모리(44)로부터 판독되고, 문서 내의 문자는 한 문자씩 순차적으로 구분화된다. 문자 구분화 처리는 종래의 방법으로 수행된다.
이어서, 단계 23에서 구분화된 각 문자의 특징 벡터가 순차적으로 산출되고 그 결과가 특징 벡터 저장 메모리(45)에 순차적으로 저장된다. 특징 벡터는 종래의 방법에 사용된 어떠한 벡터일 수도 있다. 특징 벡터의 차원이 크면 그 차원의 수는 주 구성요소 분석법(main component analysis method)과 식별 분석법(discrimination analysis method)과 같은 통계적 방법에 의해 필요에 따라 감소된다.
예컨대, 문자는 값 1로 할당된 블랙 블록과 그 값이 0으로 할당된 화이트 블록을 갖는 블록 단위로 구분화된다. 상기 블록값이 특징 벡터로서 처리되도록 좌측 상부로부터 우측 상부로 순차적으로 배열될 때 도 9에 나타낸 것과 같은 특징 벡터가 산출된다. 도 9는 문자 '2'의 특징 벡터의 일례를 나타내고 있다. 벡터 A로 표현된 수기 문자 '2'와, 벡터 B로 표현된 수기 문자 '2'와, 벡터 C로 표현된 수기 문자 '2'는 수기 문자들이기 때문에 서로 그 패턴에 있어 조금씩 상이하므로 그 특징 벡터 역시 상이하다.
단계 24에서 단계 21에서 구분화된 각 문자의 문자 카테고리가 인식되어 인식 결과 저장 메모리(46)에 저장되고, 인식된 문자 카테고리로부터의 거리값은 사전 거리값 저장 메모리(47)에 저장된다.
이러한 인식 처리는 특징 벡터 저장 메모리(45)로부터 단계 23에 저장된 각 문자의 특징 벡터를 순차적으로 판독하고, 판독된 특징 벡터와 종래의 방법으로 사전(42)에 등록된 각 문자 카테고리의 특징 벡터간의 거리값을 산출하고, 최소의 거리값을 특정하고, 이 최소의 거리값을 사전 거리값 저장 메모리(47)에 저장하고, 인식 결과인 최소 거리값에 의해 표시되는 문자 카테고리를 인식 결과 저장 메모리(46)에 저장함으로써 수행된다. 인식된 문자 카테고리로부터의 거리값이 소정의 값과 동일하지 않거나 작을 경우 즉, 인식 신뢰도가 낮을 경우에는 문자는 인식 불가능하고 거부 문자로 설정된다.
단계 25에서는 특징 벡터들과 근접한 클러스터에 대해 각각의 인식된 문자 카테고리를 위한 특징 벡터 저장 메모리(45)에 저장되는 특징 벡터에 대해 클러스터링 처리를 수행함으로써 규정된 클러스터가 생성된다. 클러스터 정보는 클러스터 정보 저장 메모리(48)에 저장된다.
클러스터링 처리를 수행하는데에는 2개의 방법 즉, 계층적 클러스터링 방법이나, k-means 방법과, 계층적 모드 방법등과 같은 비계층적 클러스터링 방법이 있다.
계층적 클러스터링 방법에 있어서는 각 특징 벡터는 하나의 클러스터가 될 것으로 생각되고 가장 근접한 클러스터들은 도 11에 나타낸 바와 같이 통합된다. 이러한 처리가 반복되어 클러스터를 생성한다. 일단 클러스터의 요소가 클러스터에 속한다면 상기 요소는 어느 다른 클러스터로 이동되지 않는다. 도 11에서는 단지 하나의 문자 '2' 만이 '4'로 잘못 인식되어 있다.
반면에 비계층적 클러스터링 처리는 k-means 법으로 설명될 수 있다. 즉, 도 19에 나타낸 바와 같이, 클러스터의 최종 개수가 먼저 판정되고 이어서, 클러스터의 핵으로 기능하는 요소가 판정되어 클러스터의 중심으로서 설정된다. 특정 요소와 각 클러스터의 중심간의 거리가 산출되고 그 요소는 근접한 클러스터에 속하는 것으로 만들어진다. 클러스터가 증가된 수의 요소를 포함하면 크러스터의 중심의 위치가 재산출된다. 근접한 클러스터의 중심이 각 클러스터의 요소에 대해 변화되면 각 클러스터의 중심의 위치가 각 클러스터의 어느 위치의 변경도 나타내지 않을때까지 재배열 처리가 반복된다.
예를 들어, 5개의 요소 51 내지 55가 인식 문자 카테고리에 존재하고, 최종 클러스터의 번호가 도 19에 나타낸 바와 같이, 2 라면 2 클러스터의 핵은 인식 문자 카테고리에 설정된다. 이러한 예에 있어서 클러스터 1의 핵은 요소 51 이고, 클러스터 2의 핵은 요소 52 이다.
첫 번째 처리에서 클러스터 1과 2의 요소의 번호는 1 이고, 클러스터 1과 2의 중심은 각각 51과 52 이다.
두 번째 처리에서 요소 54는 클러스터 1과 2에 속하지 않는 요소 53과 55의 요소 중 가장 근접한 요소로서 요소 54가 선택되고 선택된 요소 54는 클러스터 2에 통합된다.
요소 54가 클러스터 2에 통합될 때 클러스터 2 안의 요소의 번호는 2 이고, 클러스터 2의 중심은 요소 52와 54 사이의 포인트로 변경된다.
다음에, 클러스터 2와 각 요소들 51 내지 55 사이의 거리가 산출된다. 이 때, 클러스터 2의 요소 52가 클러스터 2의 중심 보다 클러스터 1의 중심에 보다 근접하기 때문에 클러스터 2의 요소 52는 클러스터 2 로부터 클러스터 1로 재배열된다. 따라서, 클러스터 1의 중심이 요소 51과 요소 52 사이의 포인트로 변경되고, 아울러 클러스터 2의 중심이 요소 54로 변경된다.
다음에 제3 처리에 있어서 클러스터 1과 2에 속하지 않는 요소 53과 55의 요소중 가장 근접한 요소로서 요소 55가 선택되고 선택된 요소 55는 클러스터 2에 통합된다. 클러스터 2의 중심은 요소 54와 요소 55 사이의 포인트로 변경된다.
다음에 제4 처리에 있어서 클러스터 1과 2에 속하지 않는 요소는 근접한 클러스터 2에 통합되고 이 클러스터 2의 중심은 요소 53과 요소 55 사이의 포인트로 변경된다.
계층적 클러스터링 방법과는 달리 이러한 비계층적 클러스터링 방법은 요소가 클러스터에 귀속된 후에라도 생성되는 클러스터의 분포에 따라 다른 클러스터에 클러스터 내의 요소가 배열될 수 있는 특징을 갖는다. 따라서, 계층적 클러스터링 처리 방법에서 보다 정확한 클러스터링 처리를 수행할 수 있다. 그러나, 이러한 클러스터링 처리 결과는 최초로 선택된 클러스터의 핵에 좌우된다.
클러스터간의 거리가 계층적 클러스터링 방법/비계층적 클러스터링 방법으로 얻어질 때 그 결과는 클러스터의 요소(특징 벡터)의 번호가 1 일 때의 특징 벡터간의 거리를 산출함으로써 얻어질 수 있지만 클러스터의 요소의 번호가 1 이상일 때 클러스터에 속하는 특징 벡터의 평균 벡터를 산출함으로써 얻어진 대표 벡터들 간의 거리를 산출함으로써 얻어질 수 있다.
인식 프로그램(43)이 계층적 클러스터링 방법과 비계층적 클러스터링 방법의 특징을 이용하는 도 18에 나타낸 흐름도의 단계 25에 진입하면 상기 프로그램은 먼저 계층적 클러스터링 방법의 특징 벡터에 대한 클러스터링 처리를 수행함으로써 클러스터를 생성한다. 다음에 인식 프로그램(43)은 핵으로서 각 클러스터의 평균벡터를 사용하는 비계층적 클러스터링 방법에 의해 클러스터링 처리를 수행함으로써 상당히 정확한 클러스터링 처리를 수행한다.
도 20은 비계층적 클러스터링 방법을 나타내는 흐름도이다.
도 20에 있어서 처리 대상으로 선택되는 인식 문자 카테고리의 각 클러스터에 대한 평균 벡터는 먼저 단계 31에서 얻어져 비계층적 클러스터링 처리시 클러스터의 핵으로서 선택된다.
다음에 단계 32에서 요소(문자의 특징 벡터)와 각 클러스터간의 거리가 산출된다. 단계 33에 있어서 요소는 근접한 클러스터에 속하는 것으로 만들어진다. 단계 34에서 각 클러스터의 중심의 위치가 산출된다.
다음에 단계 35에서는 중심의 위치가 변경되었는지가 체크된다. 중심의 위치가 변경되지 않았다고 판정되면 클러스터링 처리가 종결된다. 중심의 위치가 변경되었다고 판정되면 제어는 단계 36으로 진행되어 각 클러스터의 요소에 가장 근접한 중심이 변경되었는지의 여부가 체크된다. 중심이 변경되었다고 판정되면 제어는 단계 37로 진행되고, 클러스터의 요소가 재배열되며 제어는 다시 단계 32로 되돌아간다. 중심이 변경되지 않았다고 판정되면 제어는 단계 32로 되돌아간다. 따라서 비계층적 클러스터링 처리가 수행된다.
도 21은 비계층적 클러스터링 처리를 수행한 이후의 비계층적 클러스터링 처리의 실시를 나타내는 흐름도이다.
도 21에서 동일 카테고리의 각 특징 벡터는 단일 클러스터일 것으로 생각된다(단계 S41). 2개의 근접한 클러스터들은 클러스터의 번호가 소정의 임계값보다 작을 때까지 순차적으로 통합된다(단계 S42와 S43).
이어서, 각 클러스터의 중심이 산출되고(단계 S44), 이 클러스터의 중심에 가장 근접한 특징 벡터가 클러스터의 핵으로 설정된다(단계 S45). 핵 이외의 특징 벡터는 단일 클러스터일 것으로 생각된다(단계 S46). 비계층적 클러스터링 처리가 수행된다(단계 S47).
따라서, 인식 프로그램(43)이 도 18에 나타낸 바와 같은 처리 흐름의 단계 25에 진입할 때에는 먼저 인식 프로그램은 각 인식 문자 카테고리에 대한 계층적 클러스터링 처리에 의해 특징 벡터에 대한 클러스터링 처리를 수행함으로써 클러스터를 생성한다. 이어서, 핵으로서 각 클러스터의 평균 벡터를 이용하는 비계층적 클러스터링 방법에 의해 클러스터링 처리에 의한 클러스터링 처리를 수행함으로써 최종 특징 벡터의 클러스터가 생성된다. 클러스터 정보가 클러스터 정보 저장 메모리(48)에 저장된다.
상기한 바와 같이 클러스터가 생성되어 잘못 인식될 가능성이 높은 문자를 추출한다. 인식 프로그램(43)은 상술한 2 단 클러스터링 처리를 수행함에 따라 계층적 클러스터링 처리의 결과에 따라 계층적 클러스터링 방법의 재 클러스터링 처리를 수행함으로써 별도의 클러스터로서 정확하게 인식된 문자와 잘못 인식된 문자가 생성될 수 있다.
인식 프로그램(43)이 도 18에 나타낸 처리 흐름시 단계 25의 각각의 인식된 문자 카테고리에 대한 특징 벡터의 클러스터를 생성하는 경우에는 상기 인식 프로그램은 단계 26에서 생성된 클러스터에 포함된 잘못 인식된 클러스터에 대한 후보를 추출한다.
클러스터의 요소의 번호를 카운트하고(단계 S51), 잘못 인식된 후보 클러스터로서 소정의 임계보다 적은 요소의 번호를 포함하는 클러스터를 추출하고, 정확히 인식된 후보 클러스터로서 다른 클러스터를 추출함으로써(단계 S52) 도 22에 나타낸 처리 흐름에 의해 표시되는 바와 같은 잘못 인식된 후보 클러스터를 추출하는 처리가 수행된다. 즉, 이러한 판정 방법에 있어서는 임계값보다 적은 수의 요소를 포함하는 클러스터가 잘못 인식될 가능성이 높은지가 판정된다. 이러한 판정 방법은 클러스터 내의 요소의 수에 의해서만 수행될 수 있기 때문에 고속 처리가 용이하게 실현될 수 있다.
도 23에 나타낸 처리 흐름으로 나타낸 바와 같이 잘못 인식된 클러스터에 대한 후보를 추출하는 처리는 클러스터의 요소수를 카운트하고(단계 S61), 소정의 임계값보다 적은 요소수를 포함하는 클러스터를 추출해서(단계 S62) 소정의 임계값보다 큰 다른 클러스터의 인식된 문자 카테고리에 인식된 문자 카테고리의 상관비를 잘못 인식된 클러스터에 대한 후보로서 나타내고, 정확히 인식된 클러스터에 대한 후보로서 다른 클러스터를 추출함으로써(단계 S63) 수행된다. 상관비는 전체 분포로 클러스터간 분포합을 나눔으로써 얻어진 값으로 정의된다(클러스터내 분포합 + 클러스터간 분포합). 클러스터간 거리가 길면 길수록 상관비는 높아진다. 즉, 이러한 판정 방법에 있어서는 소수의 요소를 포함하고 다른 클러스터들과 떨어져 있는 클러스터가 잘못 인식될 가능성이 높다. 이러한 판정방법은 클러스터 내의 요소수에 따라서만 처리가 수행되는 경우보다 정확히 처리가 수행될 수 있다는 장점을 가지고 있다.
클러스터의 요소수를 카운트하고(단계 S71), 잘못 인식된 후보 클러스터로서 인식된 문자 카테고리의 요소의 전체 수 중에서 정수배 보다 작은 요소수를 포함하는 클러스터를 포함하고, 정확히 인식된 후보 클러스터로서 다른 클러스터를 추출함으로써(단계 S72) 예컨대 도 24에 나타낸 처리 흐름으로 나타나는 바와 같이 잘못 인식된 후보 클러스터를 추출하는 처리가 수행된다. 즉, 이러한 판정 방법에서는 임계값보다 적은 요소수를 포함하는 클러스터가 잘못 인식될 가능성이 높은 임계값로서 0.2로 요소의 전체수를 승산함으로써 얻어진 요소수를 설정함으로써 판정된다. 이러한 판정 방법은 클러스터의 요소수에 따라서만 수행되기 때문에 고속 처리가 용이하게 실현될 수 있다. 더욱이 인식된 문자 카테고리의 전체 요소수에 따라 임계값이 설정되기 때문에 임계값이 고정된 값인 경우보다 처리가 더욱 정확히 수행될 수 있다.
도 25에 나타낸 처리 흐름도에 나타낸 바와 같이 잘못 인식된 클러스터에 대한 후보를 추출하는 처리는 클러스터의 요소수를 카운트하고(단계 S81), 인식된 문자 카테고리의 전체 요소수에 대한 소정의 정수보다 적은 요소수를 포함하고 잘못 인식된 후보 클러스터로서 임계값보다 큰 다른 클러스터의 인식된 문자 카테고리에 인식된 문자 카테고리의 상관비를 나타내고, 정확히 인식된 후보 클러스터로서 다른 클러스터들을 추출(단계 S83)함으로써 수행된다. 즉, 이러한 판정 방법에서는 전체 요소수에 대한 소정 정수에 의해 규정되는 임계값보다 작은 수의 요소를 포함하고 다른 클러스터와 떨어져 있는 클러스터가 잘못 인식될 가능성이 높다. 이러한 소정의 방법은 클러스터 내의 요소수를 토대로 처리가 수행되는 경우 보다 처리가 보다 정확히 수행될 수 있다는 장점을 가지고 있다. 더욱이, 인식된 문자 카테고리의 요소의 전체 수에 따라 임계값이 설정되기 때문에 임계값이 고정된 값인 경우 보다 정확하게 처리가 수행될 수 있다.
인식 프로그램(43)이 도 18에 나타낸 흐름도의 단계 26에서 잘못 인식된 후보 클러스터를 추출하는 경우에 인식 프로그램(43)은 잘못 인식된 문자 카테고리를 정확히 인식된 문자로 수정하고, 잘못 인식된 문자 카테고리를 거부된 문자 카테고리로 수정하거나 또는 거부된 문자로 규정되는 문자를 단계 27의 인식 가능한 문자로 변경시킴으로써 문자 카테고리를 정확히 설정한다.
단계 27에서 수행된 수정 처리의 기본 개념은 도 26을 참조하여 설명된다. 도 18에 나타낸 처리 흐름의 단계 23과 24의 처리에 있어서 각각의 인식된 문자 카테고리에 속하는 문자의 특징 벡터는 도 26에 나타낸 α로 표시되는 바와 같이 얻어질 수 있다. 도 18에 나타낸 처리 흐름의 단계 25의 처리에 있어서 각각의 인식된 문자 카테고리에 속하는 특징 벡터의 클러스터는 도 26에 나타낸 β로 나타낸 바와 같이 생성될 수 있다. 도 18에 나타낸 처리 흐름의 단계 26의 처리에 있어서 인식된 문자 '2'에 속하는 클러스터 a와 인식된 문자 카테고리 '4'에 속하는 d는 생성된 클러스터로부터 잘못 인식된 후보 클러스터로서 추출된다.
단계 27에서 그 문자 카테고리가 잘못 인식된 후보 클러스터에 가장 근접한 클러스터가 특정된다. 잘못 인식된 후보 클러스터가 다른 클러스터에 가장 가까운 경우 잘못 인식된 후보 클러스터에 포함되고 인식된 문자 카테고리로부터 떨어져 있는(사전 거리값 저장 메모리(47)에 사전 거리값이 저장되는) 문자의 인식된 문자 카테고리 즉, 인식된 문자 카테고리에 대해 낮은 인식 신뢰도를 갖는 문자는 현재의 카테고리로부터 근접한 클러스터의 문자 카테고리로 수정된다.
예를 들어 인식된 문자 카테고리 '2'에 속하는 클러스터 b는 또 다른 문자 카테고리에 속하고 아울러 도 26에 β와 γ로 표시된 바와 같이 잘못 인식된 후보 클러스터에 근접한 클러스터로서 특정되면 그리고, 잘못 인식된 클러스터 d에 대한 후보가 클러스터 b에 근접하다면 잘못 인식된 클러스터 d에 대한 후보에 포함되고 아울러 인식된 문자 카테고리 '4'에 대해 낮은 인식 신뢰도를 갖는 문자의 인식된 문자 카테고리는 현재의 값 '4'에서 크러스터 b로 수정된다.
인식된 문자 카테고리가 수정 처리시 변경되는 경우 인식된 문자 카테고리는 잘못 인식되는 것이 방지될 수 있으며, 이는 낮은 인식 신뢰성을 갖는 문자에 대한 인식 문자 카테고리만이 변경되기 때문이다.
잘못 인식된 클러스터에 대한 후보의 문자 카테고리와는 상이한 문자 카테고리에 속하는 클러스터가 특정될 때 인식될 수 있는 다른 문자 카테고리나 또는 전부는 아니지만 다른 문자 카테고리로 검색 대상이 제한되면 클러스터는 정확하면서도 고속으로 특정될 수 있다. 인식 결과가 최저의 거리값을 참조하는 문자 카테고리를 나타낼 때 다음의 최저 거리값을 나타내는 상위의 문자 카테고리로 검색 대상이 제한되면 클러스터는 정확하면서도 고속으로 특정될 수 있다. 즉, 잘못 인식된 문자가 특정 패턴으로부터 예측될 수 있기 때문에 잘못 인식될 가능성이 높은 문자 카테고리로 또는 인식될 후보인 상위의 문자 카테고리로 검색 대상을 제한함으로써(카테고리의 번호 또는 거리값에 의한 제한) 처리가 고속으로 수행될 수 있다.
단계 27에서 거부된 문자의 클러스터와 근접한 문자 카테고리에 속하는 클러스터가 특정되고 아울러 거부된 문자가 클러스터에 근접하면 인식된 문자 카테고리로부터의 작은 거리값을 나타냄는 거부된 문자(상기한 바와 같이 인식된 문자 카테고리는 거부된 문자에 대한 경우라도 특정된다) 즉, 낮은 신뢰성을 갖는 거부된 문자는 거부된 문자로부터 제거되고 인식 가능한 문자로 수정되며, 인식된 문자 카테고리는 현재의 카테고리로부터 근접한 클러스터의 문자 카테고리로 수정된다.
예를 들어, 인식된 문자 카테고리(4)에 속하는 클러스터는 도 26에 나타낸 β와 γ로 나타낸 바와 같이 거부된 문자 g와 h에 근접한 또 다른 문자 카테고리의 클러스터로서 특정되고, 거부된 문자 g와 h가 클러스터 e에 근접하고, 거부된 문자 g와 h의 거부 신뢰도가 낮다면 거부된 문자 g와 h는 인식 가능한 문자로 변경되고 인식된 문자 카테고리는 클러스터 e가 속하는 현재의 문자 카테고리로부터 '4'로 수정된다.
거부된 문자가 수정 처리시 정확히 인식된 문자로 수정되는 경우에는 낮은 거부 신뢰성을 나타내는 거부된 문자만이 정정되므로 거부된 문자를 실수로 정정하는 것을 방지할 수 있다.
거부된 문자에 근접하고 또 다른 문자 카테고리에 속하는 클러스터가 특정될 때 다른 전체 문자 카테고리로는 아니지만 정확히 인식될 수 있는 다른 문자 카테고리로 검색 대상이 제한되면 클러스터는 정확하면서도 고속으로 특정될 수 있다. 클러스터 역시 거부된 문자로부터의 거리에 대한 작은 값을 나타내는 상당한 정도로 검색 대상이 제한되면 클러스터 역시 정확하면서도 고속으로 특정될 수 있다.
잘못 인식된 클러스터에 대한 후보가 단계 27의 다른 문자 카테고리에 대한 클러스터로부터 떨어져 있는 경우 잘못 인식된 후보 클러스터에 속하는 문자는 인식 가능한 문자로부터 거부된 문자로 수정된다.
예를 들어, 잘못 인식된 클러스터 a에 대한 후보가 β와 γ로 나타낸 바와 같이 다른 문자 카테고리에 대한 모든 클러스터로부터 떨어져 있다면 잘못 인식된 클러스터 a에 대한 후보에 속하는 전체 문자는 인식 가능한 문자로부터 거부된 문자로 수정된다.
이러한 수정 처리시 잘못 인식된 문자는 거부되고 잘못 인식된 비율은 감소될 수 있다.
도 27은 본 발명의 제4 실시예에 따른 수정 처리를 나타내고 있다.
도 27에서 2개의 클러스터 1과 2는 카테고리 '2'에서 생성되고 2개의 클러스터 3과 4는 카테고리 '4'에서 생성된다. 클러스터 2는 클러스터 3에 근접하고, 작은 요소수를 포함하는 클러스터 3은 큰 요소수를 포함하는 클러스터 2에 통합된다. 이 때, 클러스터 3의 요소와 카테고리 '4'의 중심간의 거리가 체크되고, 카테고리 '4'의 중심으로부터의 클러스터 3의 요소만이 카테고리 2로 수정된다. 카테고리의 중심에 근접한 클러스터 3의 요소는 수정되지 않는다.
도 28은 도 26을 참조하여 상술되는 인식 결과 수정 처리를 수행하는 인식 프로그램(43)으로 도 18에 나타낸 처리 흐름의 단계 27에서 수행된 인식 결과 수정 처리에 대한 상세한 처리 흐름의 실시예를 나타내고 있다.
인식 프로그램(43)이 도 18에 나타낸 처리 흐름의 단계 26의 잘못 인식된 클러스터에 대한 후보를 추출할 때 인식 프로그램은 도 18에 나타낸 처리 흐름의 단계 27로 진행되고, 도 28에 나타낸 처리 흐름에 나타낸 바와 같은 특징 벡터를 사용하여 잘못 인식된 클러스터/각각의 거부된 문자에 대한 각 후보에 근접하고 또 다른 문자 카테고리에 속하는 클러스터를 먼저 추출한다.
이어서, 단계 92에서는 추출된 클러스터로부터의 거리값이 소정의 임계값 보다 작은지의 여부가 판정된다. 그 값이 소정의 임계값과 동일하지 않거나 작지않고 추출된 클러스터가 유사하지 않다면 어떠한 처리도 수행되지 않는다. 그러나, 현재의 클러스터가 잘못 인식된 클러스터에 대한 후보를 참조하고 잘못 인식된 클러스터에 대한 후보가 기타 모든 문자 카테고리의 전체 클러스터와 떨어져 있다면 잘못 인식된 클러스터에 대한 후보에 속하는 문자는 인식 가능한 문자로부터 거부된 문자로 수정된다.
단계 92에서 또 다른 문자 카테고리에 속하는 근접한 클러스터로부터의 값이 소정의 임계값 보다 작다고 판정되면 제어는 단계 93으로 진행되고, 잘못 인식된 클러스터/거부 클러스터에 대한 후보는 추출된 클러스터 내에 통합된다. 현재 클러스터가 단계 94의 잘못 인식된 클러스터에 대한 후보를 참조하면 잘못 인식된 후보 클러스터에 포함된 문자는 높은 인식 신뢰도를 갖는 문자 및 인식 문자 카테고리에 대한 낮은 인식 신뢰도를 갖는 문자로 분할된다. 낮은 인식 신뢰도를 갖는 문자에 대한 인식 문자 카테고리가 단계 95의 통합-카테고리에 통합되는 동안에는 높은 인식 신뢰도를 갖는 문자들은 처리되지 않는다.
현재 클러스터가 거부된 문자를 참조하면 거부된 문자는 높은 거부 신뢰성을 나타내는 문자와 낮은 거부 신뢰성을 나타내는 문자로 분할된다. 낮은 거부 신뢰성을 나타내는 문자가 거부된 문자로부터 제거되는 동안에는 높은 거부 신뢰성을 나타내는 문자는 처리되지 않고 인식된 문자 카테고리는 단계 95의 근접한 클러스터의 문자 카테고리로 수정된다.
다음에 현재의 클러스터가 잘못 인식된 클러스터에 대한 후보를 참조하면 단계 96의 잘못 인식된 클러스터에 대한 후보에 포함된 전체 문자에 대한 처리가 수행되는지의 여부가 판정되고, 제어는 모든 문자가 처리되지 않았다면 단계 94로 되돌아간다.
단계 97에서는 잘못 인식된 클러스터/전체 거부 문자에 대한 전체 후보에 대해 처리가 수행되는지의 여부가 판정된다. 전체 문자가 처리되지 않았다면 제어는 단계 91로 되돌아간다. 전체 문자가 처리되면 처리는 종결된다.
따라서, 인식 프로그램(43)은 도 28에 나타낸 처리 흐름을 수행함으로써 도 26에 설명되는 처리를 수정하는 인식 결과를 수행한다.
따라서, 인식 프로그램(43)은 동일 필기자에 의해 기록된 문서의 문자를 인식하도록 하는 요구가 있을 때 도 18의 처리 흐름에 의해 나타낸 바와 같이 단계 21에서 동일 필기자에 의해 기록된 문서를 먼저 추출한다. 이어서, 단계 22에서 인식 프로그램(43)은 한 문자씩 추출된 문서에서 문자를 추출한다. 단계 23에서 각 문자의 특징 벡터가 산출된다. 단계 24에서는 각 문자의 문자 카테고리가 인식되고 이 인식된 문자 카테고리로부터의 거리값이 특정된다. 단계 25에서는 계층적 클러스터링 방법/비계층적 클러스터링 방법에 의해 각각의 인식된 문자 카테고리에대한 특징 벡터의 클러스터링을 수행함으로써 클러스터가 생성된다. 단계 27에서는 잘못 인식된 클러스터에 대한 후보가 클러스터로부터 추출된다. 단계 27에서는 잘못 인식된 클러스터에 대한 후보에 포함된 문자의 인식 문자 카테고리가 수정되고, 잘못 인식된 클러스터에 대한 후보에 포함된 문자는 거부 문자로 수정되며, 거부 문자는 인식 가능한 문자로 수정되고 인식된 문자 카테고리가 설정된다. 따라서, 문자 인식 처리가 동일 필기자에 의해 등록된 문서에 대해 수행될 수 있다.
상기한 바와 같이, 본 발명의 제4 실시예에 따른 문자 인식 장치는 특징 벡터를 추출함으로써 클러스터를 생성하고, 잘못 인식될 가능성이 높은 클러스터를 추출하며, 추출된 클러스터에 근접하고 추출된 클러스터와는 상이한 문자 카테고리에 속하는 클러스터를 특정한다. 이들 클러스터들이 서로 유사하다면 잘못 인식될 가능성이 높고 아울러 낮은 인식 신뢰성을 갖는 클러스터에 포함된 입력 문자의 인식된 문자 카테고리는 유사 클러스터의 인식된 문자 카테고리로 변경된다. 그 결과, 통상적으로 인식된 문자의 문자 카테고리가 자동적으로 수정될 수 있고, 수기 문자는 문자 샘플을 미리 수집하지 않고 높은 정밀도로 인식될 수 있다.
잘못 인식될 가능성이 높은 클러스터가 기타 전체 문자 카테고리의 어느 다른 클러스터와 유사하지 않다면 잘못 인식될 가능성이 높은 클러스터에 속하는 입력 문자는 거부된 문자로 변경된다. 따라서, 거부될 문자가 잘못 인식되지 않게되므로 높은 정밀도로 수기 문자를 인식하게 된다.
거부된 입력 문자에 근접하고 동시에 또 다른 문자 카테고리에 속하는 클러스터가 특정되고, 클러스터들이 서로 유사하며, 거부된 입력 문자의 거부 신뢰도가 낮다면 거부된 입력 문자는 인식 가능한 문자로 변경되고, 인식된 문자 카테고리는 유사한 클러스터의 인식된 문자 카테고리로 수정된다. 따라서, 판독 가능한 거부된 문자가 정확히 인식될 수 있고, 문자 인식 처리가 정확히 수행될 수 있다.
다음에 본 발명의 제5 실시예에 따른 문자 인식 장치를 첨부 도면을 참조하여 설명한다.
예를 들어, 도 29에서 수기 문자 '4'는 '6'과 '9'로 쉽사리 잘못 인식될 수 있다. 그러나, 수기 문자 '4'는 '1' 또는 '3'으로는 잘못 인식되지 않음을 실험적으로 알 수 있다.
따라서, 잘못 인식된 문자의 후보에 관한 정보가 미리 저장된다.
예를 들어, '4'로 식별되는 수기 문자의 수정-카테고리는 '1' 또는 '3'이 아니라 '6' 또는 '9'로 제한된다.
본 발명의 제6 실시예에 따른 문자 인식 장치를 설명한다.
본 발명의 제6 실시예에 따르면, 수기 문자 '2'가 입력될 때 입력 문자의 특징 벡터는 일문자 인식 처리시 사전에 등록된 벡터 또는 각 카테고리의 거리가 비교된다. 카테고리는 최저 거리값으로부터 순서대로 출력된다. 예를 들어 "2 - 3 - 9 - 4 - ... "가 수기 문자 '2'에 대해 출력된다. 이것은 인식된 카테고리에 대한 첫 번째 후보가 '2'이고, 인식된 카테고리에 대한 두 번째 후보가 '3'이며, 인식된 카테고리에 대한 세 번째 후보가 '9'라는 것을 나타낸다.
인식된 문자의 경우에 인식된 카테고리에 대한 첫 번째 후보가 잘못 인식된다. 예를 들어 인식 결과 카테고리들은 '4'를 잘못 인식한 수기 문자 '2'에 대해 "4 - 2 - 3 - 9 - ..."의 거리값에서 작은 값부터 순차적으로 출력된다. '4'를 잘못 인식한 수기 문자 '2'의 문자 카테고리가 클러스터링 처리시 수정될 때에는 인식된 카테고리(예컨대 제3 카테고리)에 대해 카테고리의 수정(amennded-to category)이 상위의 후보(higher-order candidate)인지의 여부가 판정된다. 수정 처리는 카테고리의 수정(amended-to category)의 상위의 카테고리(higher-order category)인 경우에만 수행된다.
상술한 실시예에서 잘못 인식된 수기 문자의 카테고리가 수정된다. 그러나, 본 발명은 상기 실시예에 제한되는 것은 아니며 여러 다른 응용에 적용될 수 있다.
예를 들어, 잘못 인식되거나 거부되거나 변형된 문자의 인식 결과는 모호한 문자와 변형된 문자를 클러스터링함으로써 수정될 수 있다.
본 발명에 의하면, 인식 신뢰도를 고려하여 인식 문자 카테고리를 수정하도록 하였으므로 동일 필기자에 의해 기록된 수기 문자를 추가로 정확히 인식할 수 있게 된다. 아울러, 인식 신뢰도를 이용하여, 잘못 인식된 문자를 거부 문자로 변경하거나, 거부 신뢰도를 이용하여, 거부 문자를 인식 가능한 문자로 변경할 수 있다.

Claims (27)

  1. 문서의 이미지 데이터로부터 수기 문자의 인식 처리를 행하는 문자 인식 장치에 있어서,
    상기 문서의 이미지 데이터로부터 동일 필기자에 의해 문자가 기록되는 영역을 추출하는 동일 필기자 등록 영역 추출 수단과;
    상기 동일 필기자 등록 영역 추출 수단에 의해 추출된 영역 내의 전체 문자에 대해 각 문자의 특징 벡터를 산출하는 특징 벡터 산출 수단과;
    상기 특징 벡터 산출 수단에 의해 산출된 각 문자의 특징 벡터와 사전에 등록된 특징 벡터와의 거리 비교에 기초하여 각 문자의 문자 카테고리를 판정하는 문자 카테고리 판정 수단과;
    상기 특징 벡터 산출 수단에 의해 산출된 전체의 특징 벡터 중에서 유사도가 높은 것끼리를 클러스터로서 순차적으로 통합하여 클러스터링 처리를 수행하는 클러스터링 처리 수단과;
    상기 클러스터링 처리 수단에 의한 클러스터링 처리 결과를 상기 문자 카테고리 판정 수단에 의한 문자 카테고리 판정 결과와 비교해서 상기 문자 카테고리 판정 결과를 수정하는 문자 카테고리 판정 결과 수정 수단을 구비하는 것을 특징으로 하는 문자 인식 장치.
  2. 제1항에 있어서, 상기 문자 카테고리 판정 결과 수정 수단은,
    상기 클러스터링 처리 수단의 처리 결과를 기초로 하여 전체 카테고리의 전체 클러스터를 대상으로 각 클러스터간의 거리를 비교하고 클러스터간 거리가 소정의 임계값 이하가 되는 클러스터들을 통합하는 클러스터 통합 수단과;
    상기 문자 카테고리 판정 수단으로부터의 문자 카테고리 판정 결과를 기초로 하여 상기 클러스터 통합 수단에 의해 통합된 클러스터끼리의 문자 카테고리가 상이한지의 여부를 판정하는 클러스터내 문자 카테고리 판정 수단과;
    상기 클러스터내 문자 카테고리 판정 수단에 의해 상기 통합된 클러스터가 서로 상이한 문자 카테고리로 판정된 경우에 적은 수의 요소를 포함하는 클러스터의 문자 카테고리를 다른 문자 카테고리로 수정하는 문자 카테고리 수정 수단을 구비하는 것을 특징으로 하는 문자 인식 장치.
  3. 제1항에 있어서, 상기 클러스터링 처리 수단은 문자 카테고리 내에서 특징 벡터에 대한 계층적 클러스터링 처리를 행함으로써 특징 벡터에 대해 서로 유사한 문자들을 클러스터로서 순차적으로 통합하는 계층적 클러스터링 처리 수단과;
    상기 계층적 클러스터링 처리 수단에 의한 계층적 클러스터링 처리를 행한 후에 카테고리 내의 클러스터수가 소정값에 도달할 때 상기 계층적 클러스터링 처리를 중지하는 클러스터링 중지 수단을 구비하는 것을 특징으로 하는 문자 인식 장치.
  4. 제1항에 있어서, 상기 클러스터링 처리 수단은,
    문자 카테고리 내에서 특징 벡터에 대한 계층적 클러스터링 처리를 행함으로써 특징 벡터에 대해 서로 유사한 문자들을 클러스터로서 순차적으로 통합하는 계층적 클러스터링 처리 수단과;
    상기 계층적 클러스터링 처리 수단에 의한 계층적 클러스터링 처리시에 계층적 클러스터링 처리에 의한 클러스터 통합시의 클러스터간의 거리가 소정의 임계값 이상이 된 경우 계층적 클러스터링을 중지하는 클러스터링 중지 수단을 구비하는 것을 특징으로 하는 문자 인식 장치.
  5. 제1항에 있어서, 상기 클러스터링 처리 수단은,
    문자 카테고리 내에서 특징 벡터에 대한 계층적 클러스터링 처리를 행함으로써 특징 벡터에 대해 서로 유사한 문자들을 클러스터로서 순차적으로 통합하는 계층적 클러스터링 처리 수단과;
    상기 계층적 클러스터링 처리 수단에 의해 수행되는 계층적 클러스터링 처리시, 클러스터 통합시의 클러스터간 거리의 증가율이 소정의 임계값 이상이 된 경우계층적 클러스터링 처리를 중지하는 클러스터링 중지 수단을 구비하는 것을 특징으로 하는 문자 인식 장치.
  6. 동일 필기자에 의해 입력된 다수의 입력 문자의 문자 카테고리를 인식하는 문자 인식 장치에 있어서,
    입력 문자의 특징 벡터를 산출하는 산출 수단과;
    상기 산출 수단에 의해 산출되는 특징 벡터와, 사전에 등록된 각 문자 카테고리가 갖는 특징 벡터사이의 거리값을 산출하고, 가장 작은 거리값을 나타내는 문자 카테고리를 입력 문자의 문자 카테고리로서 인식함과 동시에 그 인식 문자 카테고리로부터의 거리값이 소정값 이하가 되지 않을 때에는 입력 문자를 인식 불가능으로 거부하는 인식 수단과;
    상기 산출 수단에 의해 산출되는 특징 벡터를 상기 인식 수단에 의해 인식되는 문자 카테고리마다 클러스터링 처리함으로써 상기 문자 카테고리마다 1개 이상의 클러스터를 생성하는 클러스터링 수단과;
    상기 클러스터링 수단으로부터의 처리 결과와, 상기 산출 수단에 의해 산출되는 특징 벡터와, 상기 인식 수단에 의해 인식되는 문자 카테고리와, 상기 인식 수단에 의해 산출되는 입력 문자와 인식 문자 카테고리간의 거리값으로부터 상기 인식 수단의 인식 결과를 수정하는 수정 수단을 구비하는 것을 특징으로 하는 문자 인식 장치.
  7. 제6항에 있어서, 상기 수정 수단은 클러스터링 수단에 의해 생성되는 클러스터로부터 잘못 인식될 가능성이 높은 클러스터를 추출하는 추출 수단과;
    산출 수단에 의해 산출되는 특징 벡터를 사용하여, 상기 추출 수단에 의해 추출되는 클러스터에 가장 근접한 다른 문자 카테고리의 클러스터를 특정하는 특정 수단과;
    상기 추출 수단에 의해 추출되는 클러스터와 상기 특정 수단에 의해 특정되는 클러스터간의 거리값이 소정값 이하를 나타낼 때 상기 추출 수단에 의해 추출되는 클러스터에 속하고, 인식 문자 카테고리와의 거리값이 소정값 이상임을 나타내는 입력 문자의 인식 문자 카테고리를 상기 특정 수단에 의해 특정되는 클러스터의 문자 카테고리로 변경하는 변경 수단을 구비하는 것을 특징으로 하는 문자 인식 장치.
  8. 제7항에 있어서, 상기 수정 수단은 추출 수단에 의해 추출되는 클러스터와, 전체 다른 문자 카테고리의 전체 클러스터간의 거리값이 소정값 이상을 나타낼 때 상기 추출 수단에 의해 추출되는 클러스터에 속하는 입력 문자를 거부 문자로 변경하는 제2 변경 수단을 추가로 구비한 것을 특징으로 하는 문자 인식 장치.
  9. 제6항에 있어서, 상기 수정 수단은,
    산출 수단에 의해 산출되는 특징 벡터를 사용하여, 인식 수단에 의해 거부되는 입력 문자에 근접한 다른 문자 카테고리의 클러스터를 특정하는 특정 수단과;
    상기 인식 수단에 의해 거부되고 인식 문자 카테고리로부터의 거리값이 소정값 이하인 입력 문자를 인식 가능한 문자로 변경하고, 상기 인식 수단에 의해 거부된 입력 문자와 상기 특정 수단에 의해 특정된 클러스터 사이의 거리값이 소정값 이하인 경우 상기 특정 수단에 의해 특정된 클러스터의 문자 카테고리를 변경된 입력 문자의 인식 문자 카테고리로 설정하는 변경 수단을 구비하는 것을 특징으로하는 문자 인식 장치.
  10. 제7항에 있어서, 상기 추출 수단은 소정값 이하의 입력 문자를 포함하는 클러스터를 잘못 인식될 가능성이 높은 클러스터로서 추출하는 것을 특징으로 하는 문자 인식 장치.
  11. 제7항에 있어서, 상기 추출 수단은 클러스터 내의 입력 문자수가 각각이 속하는 문자 카테고리의 총입력 문자수의 소정 정수배 이하가 되는 클러스터를 잘못 인식될 가능성이 높은 클러스터로서 추출하는 것을 특징으로하는 문자 인식 장치.
  12. 제7항에 있어서, 상기 추출 수단은 클러스터 내의 입력 문자 수가 소정값 이하이면서, 클러스터의 문자 카테고리와 다른 클러스터간의 거리값이 소정값 이상이 되는 클러스터를 잘못 인식될 가능성이 높은 클러스터로서 추출하는 것을 특징으로 하는 문자 인식 장치.
  13. 제7항에 있어서, 상기 추출 수단은 클러스터 내의 입력 문자수가 각각이 속하는 문자 카테고리의 총입력 문자수의 소정 정수배 이하이면서 상기 문자 카테고리의 다른 클러스터와의 거리값이 소정값 이상이 되는 클러스터를 잘못 인식될 가능성이 높은 클러스터로서 출력하는 것을 특징으로 하는 문자 인식 장치.
  14. 제7항에 있어서, 상기 특정 수단은 특정 대상이 되는 다른 문자 카테고리를 특정 문자 카테고리에 따라 미리 판정하는 것을 특징으로 하는 문자 인식 장치.
  15. 제7항에 있어서, 상기 특정 수단은 특정 대상이 되는 다른 문자 카테고리를 인식 수단에 의해 산출되는 거리값이 작은 상위의 문자 카테고리로 한정하는 것을 특징으로 하는 문자 인식 장치.
  16. 제6항에 있어서, 상기 클러스터링 수단은 먼저 계층적 클러스터링 방법에 따라 클러스터링 처리를 행함으로써 클러스터를 생성하고, 이어서, 상기 클러스터를 초기 상태로 이용하여 비계층적 클러스터링 방법에 따라 클러스터링 처리를 행하는 것을 특징으로 하는 문자 인식 장치.
  17. 입력 이미지로부터 문자를 추출하는 문자 추출 수단과;
    상기 입력 이미지로부터 추출된 문자의 카테고리를 인식하는 인식 수단과;
    동일한 클러스터 내의 유사한 문자를 클러스터링 처리하기 위한 클러스터링 처리 수단과;
    상기 클러스터링 처리 수단에 의해 얻어진 클러스터링 결과에 따라 상기 인식 수단에 의해 얻어진 인식 결과를 수정하는 수정 수단을 구비하는 것을 특징으로 하는 문자 인식 장치.
  18. 제17항에 있어서, 상기 수정 수단은 상이한 카테고리에 속하는 인식 문자가 동일 클러스터에서 클러스터 처리될 때 소수의 요소를 포함하는 카테고리를 다수의 요소를 포함하는 카테고리로 수정하는 것을 특징으로 하는 문자 인식 장치.
  19. 입력 이미지로부터 추출된 문자의 카테고리를 인식하는 인식 수단과;
    각 카테고리 내의 문자를 클러스터링 처리함으로써 문자를 요소로서 포함하는 각 카테고리의 다수의 클러스터를 생성하는 클러스터링 처리 수단과;
    상기 클러스터링 처리 수단에 의해 생성된 클러스터로부터의 소정의 값보다 적은수의 요소를 포함하는 클러스터를 추출하는 클러스터 추출 수단과;
    상기 클러스터 추출 수단에 의해 추출된 제1 카테고리에 속하는 제1 클러스터와 상기 클러스터링 수단에 의해 생성된 제2 카테고리에 속하는 제2 클러스터 사이의 클러스터간의 거리를 산출하는 클러스터간 거리 산출 수단과;
    상기 제1 클러스터와 제2 클러스터 사이의 클러스터간의 거리값이 소정값 이하인 경우 제1 클러스터를 제2 클러스터로 통합하고, 제1 클러스터에 속하는 문자의 카테고리를 제2 카테고리로 수정하는 카테고리 수정 수단을 구비한 것을 특징으로 하는 문자 인식 장치.
  20. 제19항에 있어서, 동일 카테고리 내의 다른 클러스터와의 클러스터간 큰 거리값을 나타내는 제3 클러스터를 추출함으로써 제3 클러스터에 속하는 문자를 거부하는 거부 수단과;
    상기 인식 수단에 의해 거부된 문자와 상기 클러스터링 처리 수단에 의해 생성된 클러스터간의 거리값을 산출하고, 상기 인식 수단에 의해 거부된 문자에 근접한 제4 클러스터가 존재하는 경우 상기 인식 수단에 의해 거부된 문자를 제4 클러스터에 통합하고, 상기 인식 수단에 의해 거부된 문자의 카테고리를 제4 클러스터가 속하는 제3 카테고리로 수정하는 거부 수정 수단을 구비한 것을 특징으로 하는 문자 인식 장치.
  21. 제19항에 있어서, 상기 문자는 동일 필기자에 의해 기록된 문자인 것을 특징으로 하는 문자 인식 장치.
  22. 제19항에 있어서, 상기 문자는 불명료한 문자인 것을 특징으로 하는 문자 인식 장치.
  23. 제19항에 있어서, 상기 문자는 변형된 문자인 것을 특징으로 하는 문자 인식 장치.
  24. 입력 이미지로부터 추출된 문자의 카테고리를 인식하는 인식 수단과;
    각 카테고리 내의 문자를 클러스터링 처리함으로써 문자를 요소로서 포함하는 다수의 클러스터를 각 카테고리에 생성하는 클러스터링 처리 수단과;
    상기 클러스터링 처리 수단에 의해 생성된 클러스터로부터의 소정값보다 적은 수의 요소를 포함하는 클러스터를 추출하는 클러스터 추출 수단과;
    상기 클러스터 추출 수단에 의해 추출된 제1 카테고리에 속하는 제1 클러스터와 상기 클러스터링 처리 수단에 의해 생성된 제2 카테고리에 속하는 제2 클러스터사이의 클러스터간의 거리를 산출하는 클러스터간 거리 산출 수단과;
    제1 클러스터와 제2 클러스터 사이의 클러스터간 거리값이 소정값 이하인 경우 상기 인식 수단으로부터 제1 클러스터에 속하는 문자의 인식 신뢰도를 얻기 위한 인식 신뢰도 획득 수단과;
    제1 클러스터에 속하고 인식 신뢰도가 소정값 이하인 문자의 카테고리를 제2 카테고리로 수정하는 카테고리 수정 수단을 구비하는 것을 특징으로 하는 문자 인식 장치.
  25. 입력 이미지로부터 추출된 문자의 카테고리를 인식하는 인식 단계와;
    각 카테고리에 대한 문자를 클러스터링 처리함으로써 문자를 요소로서 포함하는 다수의 클러스터를 각 클러스터에 생성하는 생성 단계와;
    소정값 이하의 요소를 포함하는 클러스터를 추출하는 단계와;
    제1 카테고리에 속하는 제1 클러스터와 제2 카테고리에 속하는 제2 클러스터 사이의 클러스터간 거리를 산출하는 단계와;
    제1 클러스터와 제2 클러스터 사이의 클러스터간 거리값이 소정값 이하일 때 제1 클러스터를 제2 클러스터에 통합하고, 제1 클러스터에 속하는 문자의 카테고리를 제2 카테고리로 수정하는 단계를 포함하는 것을 특징으로 하는 문자 인식 방법.
  26. 제25항에 있어서, 동일 카테고리 내의 다른 클러스터와의 클러스터간 거리값이 큰 제3 클러스터를 추출하는 단계와;
    제3 클러스터에 속하는 문자를 거부하는 단계와;
    인식 처리시 거부된 문자와 클러스터 사이의 거리값을 산출하는 단계와;
    인식 처리에 의해 거부된 문자에 근접한 제4 클러스터가 존재하는 경우 인식 처리에 의해 거부된 문자를 제4 클러스터에 통합하는 단계와;
    인식 처리에 의해 거부된 문자의 카테고리를 제4 클러스터가 속하는 제3 카테고리로 수정하는 단계를 추가로 포함한 것을 특징으로 하는 문자 인식 방법.
  27. 입력 이미지로부터 추출된 문자의 카테고리를 인식하는 단계와;
    각 카테고리에 대한 문자를 클러스터링 처리함으로써 문자를 요소로 포함하는 다수의 클러스터를 각 카테고리에 생성하는 단계와;
    소정값 이하의 요소를 포함하는 클러스터를 추출하는 단계와;
    제1 카테고리에 속하는 제1 클러스터와 제2 카테고리에 속하는 제2 클러스터 사이의 클러스터간 거리를 산출하는 단계와;
    제1 클러스터와 제2 클러스터 사이의 클러스터간 거리값이 소정값 이하인 경우 제1 클러스터에 속하는 문자의 인식 신뢰도를 획득하는 단계와;
    제1 클러스터에 속하고 소정값 이하의 인식 신뢰도를 갖는 문자의 카테고리를 제2 카테고리로 수정하는 단계를 포함하는 것을 특징으로 하는 문자 인식 방법.
KR1019970004938A 1996-02-19 1997-02-19 문자인식장치및방법 KR100249055B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP03021796A JP3281530B2 (ja) 1996-02-19 1996-02-19 文字認識装置
JP96-30217 1996-02-19
JP21458196A JP3280577B2 (ja) 1996-08-14 1996-08-14 文字認識装置
JP96-214581 1996-08-14

Publications (2)

Publication Number Publication Date
KR19980018029A KR19980018029A (ko) 1998-06-05
KR100249055B1 true KR100249055B1 (ko) 2000-03-15

Family

ID=26368526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970004938A KR100249055B1 (ko) 1996-02-19 1997-02-19 문자인식장치및방법

Country Status (4)

Country Link
US (1) US6345119B1 (ko)
EP (1) EP0790574B1 (ko)
KR (1) KR100249055B1 (ko)
DE (1) DE69732156D1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19755133A1 (de) * 1997-12-11 1999-06-24 Siemens Ag Verfahren zur Überwachung von Bearbeitungsanlagen
US6697497B1 (en) * 1998-12-22 2004-02-24 Novell, Inc. Boundary identification and characterization through density differencing
US6631211B1 (en) * 1999-07-08 2003-10-07 Perkinelmer Las, Inc. Interactive system for analyzing scatter plots
DE19942223C2 (de) * 1999-09-03 2003-03-13 Daimler Chrysler Ag Klassifikationsverfahren mit Rückweisungsklasse
JP3467437B2 (ja) * 1999-09-16 2003-11-17 富士通株式会社 文字認識装置及びその方法とプログラム記録媒体
JP4674778B2 (ja) * 2000-08-31 2011-04-20 ヒューレット・パッカード・カンパニー 文字認識システム
US7254269B2 (en) 2000-08-31 2007-08-07 Hewlett-Packard Development Company, L.P. Character recognition system
CA2375355A1 (en) * 2002-03-11 2003-09-11 Neo Systems Inc. Character recognition system and method
US7392472B2 (en) 2002-04-25 2008-06-24 Microsoft Corporation Layout analysis
US7120297B2 (en) * 2002-04-25 2006-10-10 Microsoft Corporation Segmented layered image system
US7043079B2 (en) 2002-04-25 2006-05-09 Microsoft Corporation “Don't care” pixel interpolation
US7164797B2 (en) * 2002-04-25 2007-01-16 Microsoft Corporation Clustering
US7263227B2 (en) 2002-04-25 2007-08-28 Microsoft Corporation Activity detector
US7110596B2 (en) * 2002-04-25 2006-09-19 Microsoft Corporation System and method facilitating document image compression utilizing a mask
US7024039B2 (en) 2002-04-25 2006-04-04 Microsoft Corporation Block retouching
US7284200B2 (en) * 2002-11-10 2007-10-16 Microsoft Corporation Organization of handwritten notes using handwritten titles
CN1303563C (zh) * 2003-09-29 2007-03-07 摩托罗拉公司 用于压缩手写字符模板的方法和系统
JP4532915B2 (ja) * 2004-01-29 2010-08-25 キヤノン株式会社 パターン認識用学習方法、パターン認識用学習装置、画像入力装置、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JP3861157B2 (ja) * 2004-02-27 2006-12-20 国立大学法人広島大学 参照データ最適化装置とパターン認識システム
US7643686B2 (en) * 2004-11-17 2010-01-05 Eastman Kodak Company Multi-tiered image clustering by event
US8175394B2 (en) * 2006-09-08 2012-05-08 Google Inc. Shape clustering in post optical character recognition processing
EP2116971A3 (en) * 2006-09-08 2013-07-31 Google Inc. Shape clustering in document image processing
TWI336055B (en) * 2007-01-05 2011-01-11 Compal Electronics Inc Symbol recognition method
US7949711B2 (en) * 2007-01-24 2011-05-24 Chang Ypaul L Method, system, and program for integrating disjoined but related network components into collaborative communities
JP5365065B2 (ja) * 2008-05-13 2013-12-11 富士通株式会社 辞書作成装置
JP5588165B2 (ja) * 2009-12-24 2014-09-10 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US8566270B2 (en) * 2010-09-24 2013-10-22 Nuance Communications, Inc. Sparse representations for text classification
US9020271B2 (en) * 2012-07-31 2015-04-28 Hewlett-Packard Development Company, L.P. Adaptive hierarchical clustering algorithm
US9405997B1 (en) * 2014-06-17 2016-08-02 Amazon Technologies, Inc. Optical character recognition
US9330311B1 (en) 2014-06-17 2016-05-03 Amazon Technologies, Inc. Optical character recognition
WO2015197029A1 (zh) * 2014-06-27 2015-12-30 北京奇虎科技有限公司 一种人脸相似度识别方法和系统
CN111881902B (zh) * 2020-07-28 2023-06-27 平安科技(深圳)有限公司 训练样本制作方法、装置、计算机设备及可读存储介质
CN114118296B (zh) * 2021-12-08 2024-06-18 昆明理工大学 一种基于聚类集成的岩体结构面优势产状分组方法
CN116720812B (zh) * 2023-08-11 2023-10-20 合肥恒艺德机械有限公司 一种基于数据编码的大数据智慧仓储管理系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4937747A (en) * 1988-02-16 1990-06-26 Amoco Corporation Iterative disjoint cluster and discriminant function processing of formation log responses and other data
JPH02268388A (ja) * 1989-04-10 1990-11-02 Hitachi Ltd 文字認識方法
JPH0481988A (ja) * 1990-07-24 1992-03-16 Sharp Corp クラスタリング方式
US5343537A (en) * 1991-10-31 1994-08-30 International Business Machines Corporation Statistical mixture approach to automatic handwriting recognition
JPH0744514A (ja) * 1993-07-27 1995-02-14 Matsushita Electric Ind Co Ltd ニューラルネットの学習用データ縮約化方法
US5537491A (en) * 1993-11-24 1996-07-16 Xerox Corporation Analyzing an image or other data to obtain a stable number of groups
US5602938A (en) * 1994-05-20 1997-02-11 Nippon Telegraph And Telephone Corporation Method of generating dictionary for pattern recognition and pattern recognition method using the same
US5764799A (en) * 1995-06-26 1998-06-09 Research Foundation Of State Of State Of New York OCR method and apparatus using image equivalents
US5970171A (en) * 1995-08-14 1999-10-19 Hughes Aircraft Company Apparatus and method of fusing the outputs of multiple intelligent character recognition (ICR) systems to reduce error rate
US5796924A (en) * 1996-03-19 1998-08-18 Motorola, Inc. Method and system for selecting pattern recognition training vectors

Also Published As

Publication number Publication date
EP0790574A2 (en) 1997-08-20
US6345119B1 (en) 2002-02-05
DE69732156D1 (de) 2005-02-10
EP0790574A3 (en) 1998-03-04
KR19980018029A (ko) 1998-06-05
EP0790574B1 (en) 2005-01-05

Similar Documents

Publication Publication Date Title
KR100249055B1 (ko) 문자인식장치및방법
US20210034849A1 (en) System and method of character recognition using fully convolutional neural networks with attention
US6687401B2 (en) Pattern recognizing apparatus and method
KR100412317B1 (ko) 문자인식/수정방법및장치
US5917941A (en) Character segmentation technique with integrated word search for handwriting recognition
KR100487386B1 (ko) 부수 모델에 기초한 초서체 한자 수기 주석의 검색법
US5005205A (en) Handwriting recognition employing pairwise discriminant measures
US5579408A (en) Character recognition method and apparatus
US6917708B2 (en) Handwriting recognition by word separation into silhouette bar codes and other feature extraction
Davis et al. Recognition of handwritten characters—a review
Biswas et al. Writer identification of Bangla handwritings by radon transform projection profile
JPH11203415A (ja) 類似パターンカテゴリ識別辞書作成装置および方法
US5909509A (en) Statistical-based recognition of similar characters
JP3917349B2 (ja) 文字認識結果を利用して情報を検索する検索装置および方法
Elaiwat et al. Arabic word recognition system for historical documents using multiscale representation method
KR940007345B1 (ko) 온라인 한글 필기체 문자의 인식방법
JP3374762B2 (ja) 文字認識方法及びその装置
KR102673900B1 (ko) 표 데이터 추출 시스템 및 그 방법
JP3281530B2 (ja) 文字認識装置
JP3280577B2 (ja) 文字認識装置
Amin Recognition of printed Arabic text using machine learning
JP2866920B2 (ja) 標準パターン作成方法及び装置並びに文字認識装置及び方法
JP2677271B2 (ja) 文字認識装置
JP2851865B2 (ja) 文字認識装置
JP3138665B2 (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: 20111202

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee