KR101109329B1 - 패턴 인식 방법, 및 패턴 인식 프로그램을 기억하는 기억 매체 - Google Patents

패턴 인식 방법, 및 패턴 인식 프로그램을 기억하는 기억 매체 Download PDF

Info

Publication number
KR101109329B1
KR101109329B1 KR1020090013755A KR20090013755A KR101109329B1 KR 101109329 B1 KR101109329 B1 KR 101109329B1 KR 1020090013755 A KR1020090013755 A KR 1020090013755A KR 20090013755 A KR20090013755 A KR 20090013755A KR 101109329 B1 KR101109329 B1 KR 101109329B1
Authority
KR
South Korea
Prior art keywords
recognition
candidate
processing
node
evaluation value
Prior art date
Application number
KR1020090013755A
Other languages
English (en)
Other versions
KR20090090280A (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 JP2008039137A external-priority patent/JP5224847B2/ja
Priority claimed from JP2008330845A external-priority patent/JP5150479B2/ja
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20090090280A publication Critical patent/KR20090090280A/ko
Application granted granted Critical
Publication of KR101109329B1 publication Critical patent/KR101109329B1/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/768Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/416Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
    • 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
    • G06V30/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • 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/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • 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)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Discrimination (AREA)
  • Image Analysis (AREA)

Abstract

패턴 인식 방법은, 정보 처리 장치가 복수의 단계로 패턴을 인식하는 처리에 적용되는 방법이다. 상기 정보 처리 장치는, 각 단계의 인식 후보로 될 수 있는 각 인식 후보를 검출한다(S11). 상기 정보 처리 장치는, 검출한 각 단계의 각 인식 후보에 속하는 다음 단계의 인식 후보를 전개한다(S15). 상기 정보 처리 장치는, 전개된 각 인식 후보에 대하여, 인식 처리 완료된 인식 후보에 대한 전체 인식 처리 결과를 조건으로 한 사후 확률에 기초하는 평가값을 산출한다(S16). 상기 정보 처리 장치는, 산출한 각 인식 후보에 대한 평가값에 기초하여 각 인식 후보를 선별한다(S18). 상기 정보 처리 장치는, 이들 선별된 각 인식 후보로부터 인식 결과를 결정한다(S21).
정보 처리 장치, 화상 입력 장치, 화상 I/F, 프로세서, 패턴 인식부, 워킹 메모리, 프로그램 메모리, 데이터 메모리, 사전 DB, 출력 I/F

Description

패턴 인식 방법, 및 패턴 인식 프로그램을 기억하는 기억 매체{PATTERN RECOGNITION METHOD, AND STORAGE MEDIUM WHICH STORES PATTERN RECOGNITION PROGRAM}
본 발명은, 예를 들면, 피판독물 상에 기재되어 있는 문자를 인식하는 문자 인식 장치 혹은 생체 정보에 의해 인물을 인식하는 생체 대조 장치 등에 이용되는 패턴 인식 방법, 문자 인식 방법, 및, 그들 방법을 실행하는 프로그램을 기억하는 기억 매체에 관한 것이다.
종래, 패턴 인식 방법에는, 다양한 방법이 제안되어 있다. 예를 들면, 일본 특허 공개 제2004-178280호 공보, 혹은, 일본 특허 공개 제2001-283156호 공보에는, 계층 구조를 갖는 주소 정보에 대한 패턴 인식 방법이 개시되어 있다.
상기 일본 특허 공개 제2004-178280호 공보에는, 임의의 계층에서의 인식 결과의 후보에 대한 각 단어의 신뢰도의 합을 평가값으로 하고, 평가값이 상위 E개인 인식 결과의 후보만 남기고, 나머지를 파기하는 방법이 개시되어 있다.
또한, 상기 일본 특허 공개 제2001-283156호 공보에는, 각 단어 내의 문자가 단어 길이에 대하여 일정 비율 이상 인식되어 있지 않는 인식 결과의 후보를 파기 하는 방법이 개시되어 있다.
또한, 「IEEE Trans. Pattern Analysis and Machine Intelligence, vol.11, no.1, pp.68-83, Jan.1989 」에는, 사후 확률을 사후 확률로 나눈 값을 평가값으로 하고, 평가값이 최대로 되는 후보를 다음 탐색 대상으로 하는 방법이 개시되어 있다. 또한, 사후 확률은, P(c│x)라고 써서 나타낸다. 사후 확률 P(c│x)는, 확인 처리에 의해 얻어진 출력 x를 조건으로 하고, 후보 c가 정해일 확률을 의미하는 것으로 정의되어 있다. 또한, 사전 확률은, P(c)라고 써서 나타내는 것으로 한다. 사전 확률 P(c)는, 인식 처리를 행하고 있지 않은 단계에서, 후보 c가 정해일 확률을 의미하는 것으로 정의되어 있다.
그러나, 일본 특허 공개 제2004-178280호 공보에 개시되어 있는 방법에서는, 잘못하여 정해 후보가 파기되게 되는 경우가 있다. 이것은, 각 단어의 신뢰도의 합에 기초하는 평가값을 이용하여 인식 결과의 후보를 재배열하고 있기 때문이다.
또한, 일본 특허 공개 제2001-283156호 공보에 개시되어 있는 방법은, 실제의 운용면에서 비현실적인 경우가 있다. 이것은, 인식 대상으로 하는 각 패턴에 대한 인식 처리가 복잡하고 상세한 경우, 파기되지 않은 인식 결과도 모두 탐색 대상으로 됨으로써, 방대한 처리 시간이 필요해지기 때문이다.
또한, 「IEEE Trans. Pattern Analysis and Machine Intelligence, vol.11, no.1, pp.68-83, Jan.1989」에 개시되어 있는 방법은, 정해로 되는 인식 결과를 얻 는 데에 처리 시간이 걸리게 된다. 특히, 인식 대상으로 되는 각 패턴의 사전 확률에 치우침이 있는 경우, 방대한 처리 시간이 걸리는 것으로 생각된다. 이것은, 평가값으로서, 사후 확률을 사전 확률로 나눈 값을 이용하고 있기 때문이다.
본 발명의 일 형태는, 효율적으로 패턴을 인식할 수 있는 패턴 인식 방법, 및, 패턴 인식 프로그램을 기억하는 기억 매체를 제공하는 것을 목적으로 한다.
본 발명의 일 형태에 따른 패턴 인식 방법은, 전 단계의 인식 결과를 이용하여 다음 단계의 처리 대상을 좁히는 탐색 트리를 이용하여, 복수 단계의 인식 처리에서 얻어지는 정보에 의해 패턴 전체를 인식하는 처리를 행하는 정보 처리 장치에 이용되는 패턴 인식 방법으로서, 다음에 인식 처리를 행할 처리 대상의 후보로서의 각 인식 후보에 대하여, 실행 완료된 인식 처리의 결과를 조건으로 한 사후 확률에 기초하는 평가값을 산출하고, 산출한 각 인식 후보에 대한 평가값에 기초하여 각 인식 후보를 선별하고, 이들 선별된 각 인식 후보에 대하여 인식 처리를 행하고, 인식 처리를 행한 각 인식 후보의 다음 단계에 종속하는 처리 대상을 다음 인식 후보로서 취급하여, 다음 인식 후보에 대한 상기 평가값의 산출, 상기 인식 후보의 선별 및 상기 인식 처리의 수순을 반복하여 행함으로써 탐색 트리를 탐색하고, 다음 단계에 종속하는 처리 대상이 없는 종단의 인식 처리 완료 처리 대상으로부터 패턴의 인식 결과를 결정한다.
본 발명의 일 형태로서의 컴퓨터가 판독 가능한 기억 매체는, 전 단계의 인식 결과를 이용하여 다음 단계의 처리 대상을 좁히는 탐색 트리를 이용하여, 복수 단계의 인식 처리에서 얻어지는 정보에 의해 패턴 전체를 인식하는 처리를 행하게 하기 위한 프로그램을 기억하는 컴퓨터에 의해 판독 가능한 기억 매체로서, 상기 프로그램은, 다음에 인식 처리를 행할 처리 대상의 후보로서의 각 인식 후보에 대하여 실행 완료된 인식 처리의 결과를 조건으로 한 사후 확률에 기초하는 평가값을 산출하는 기능과, 산출한 각 인식 후보에 대한 평가값에 기초하여 각 인식 후보를 선별하는 기능과, 이들 선별된 각 인식 후보에 대하여 인식 처리를 행하는 기능과, 인식 처리를 행한 각 인식 후보의 다음 단계에 종속하는 처리 대상을 다음 인식 후보로서 취급하여, 다음 인식 후보에 대한 상기 평가값의 산출, 상기 인식 후보의 선별 및 상기 인식 처리의 수순을 반복하여 행함으로써 탐색 트리를 탐색하는 기능과, 다음 단계에 종속하는 처리 대상이 없는 종단의 인식 처리 완료 처리 대상으로부터 패턴의 인식 결과를 결정하는 기능을 갖는다.
본 발명의 부가적인 목적 및 장점은 다음의 상세한 설명에서 기술되며, 이 상세한 설명으로부터 어느 정도 명확해질 것이거나, 또는 본 발명의 실시에 의해 이해될 것이다. 본 발명의 목적들 및 장점들은 특히 이하에 기재한 수단들과 그 조합에 의해 실현되어, 얻어질 것이다.
본 명세서에 첨부되고 본 명세서의 일부를 구성하는 첨부 도면은, 본 발명의 실시예를 기술하며, 상술한 일반적인 설명과 후술하는 상세한 설명은 모두 본 발명의 원리를 설명한다.
본 발명의 실시예에 대해서 도면을 참조하면서 상세하게 설명한다.
우선, 본 실시예로서의 패턴 인식 처리에 대해서 개략적으로 설명한다.
패턴 인식 처리에서는, 소정 시간 내에서의 처리의 필요성으로부터, 고속화한 처리가 필요로 되는 경우가 종종 발생한다. 예를 들면, 패턴 인식 처리의 대표적인 예로서는, 주소 정보 등과 같이 복수의 계층의 정보로 구성되는 문자 정보 전체를 인식하는 처리가 있다. 주소 정보의 인식 처리에서는, 먼저 후보수가 적은 상위 계층을 인식하고, 그 결과를 이용해서 하위 계층의 후보를 좁혀 가는 것이 종종 행해진다. 이러한 복수 단계의 처리로 이루어지는 패턴 인식 처리(복수단 구성의 패턴 인식)에서는, 처리 전체를 고속화하기 위해서, 초기 단계의 처리에서, 고속 동작하는 성긴 식별기에 의한 인식 처리(즉, 처리 속도를 중시하여 후보를 선출하는 인식 처리)가 실행된다. 이 경우, 후단의 처리에서는, 전단의 처리 결과를 이용하여, 순차적으로, 처리 범위 혹은 처리 대상을 좁혀 간다고 하는 방법이 취해지는 경우가 있다. 이러한 복수 단계의 후보로부터 정해로 되는 후보를 선출하는 문제는, 탐색 문제로 파악하는 것이 가능하다.
즉, 복수단 구성의 패턴을 인식하는 처리에서는, 전단의 인식 결과 등을 이용하여, 후단의 처리 범위 혹은 대상을 좁히는 것이 가능하다. 이러한 방법은, 빔 탐색을 행하고 있는 것에 상당한다. 본 실시예에서 설명하는 복수단 구성의 패턴 인식 처리에는, 각 단계의 후보를 사후 확률 등에 의한 평가값에 기초하여 순차적으로 좁혀 가는 탐색 방법이 적용된다. 또한, 탐색 방법으로서는, 예를 들면, 각단에서 소정수의 후보를 순차적으로 좁혀 가는 방법, 혹은, 최량 우선 탐색의 방법 등이 상정된다. 또한, 사후 확률은, P(c│x)로 써서 나타내고, 인식 처리에 의해 얻어진 출력 x를 조건으로 하여, 후보 c가 정해일 확률을 의미하는 것으로 한다. 사후 확률 P(c│x)는, 후술하는 근사 계산법에 의해 근사값이 산출되는 것이다. 또한, 사전 확률은, P(c)로 써서 나타내고, 인식 처리를 행하고 있지 않은 단계에서, 후보 c가 정해일 확률을 의미하는 것으로 한다.
한편, 복수단 구성의 패턴 인식 처리의 대표적인 예로서는, 얼굴 화상 등의 생체 정보에 의한 인물의 인식 처리, 혹은, 복수층의 정보로 구성되는 주소 정보의 인식 처리 등이 있다. 예를 들면, 주소 정보는, 제1 계층의 정보(예를 들면, 도시 명), 제2 계층의 정보(예를 들면, 동명, 스트리트명), 제3 계층의 정보(예를 들면, 번지, 스트리트 번호) 등의 복수 계층의 정보로 구성된다. 이들 각 계층의 정보를 조합해서 구성되는 주소 정보의 총수는, 수백만 내지 수천만에 달한다. 이 때문 에, 전체 주소 정보에 대해서 인식 처리를 행하는 것은 효율적이지 않다. 본 실시예에서 설명하는 패턴 인식 방법은, 복수층의 정보로 이루어지는 정보(예를 들면, 주소 정보)의 인식 처리에 적용함으로써, 정보의 인식 처리를 효율적으로 또한 고속으로 인식 결과를 얻는 것이 가능하다.
여기서, 단어의 인식 처리에 관한 기술로서, 문헌 1 「하마무라 토모유키, 아카기 타쿠마, 미즈타니 히로유키, 이리에 분페이: "워드 길이 정규화된 베이즈 추정에 의한 워드 매칭", 화상의 인식?이해 심포지움(MIRU2000) 강연 논문집 II, pp.1-6(Jul.2000).」, 문헌 2(「하마무라 토모유키, 아카기 타쿠마, 이리에 분페이: "단어 인식에서의 사후 확률을 이용한 평가 함수", 신학 기보, PRMU2006-92,(Oct.2006).」), 문헌 3(「하마무라 토모유키, 아카기 타쿠마, 이리에 분페이: "사후 확률을 이용한 해석적 단어 인식-문구 잘라냄 수의 정규화-", 신학 기보, PRMU2006-238,(Mar.2007).」)에는, 단어 후보의 평가값으로서의 사후 확률을 산출하는 방법이 개시되어 있다.
상기 문헌 1에는, 각 문자의 인식 결과가 독립적이라고 하는 근사를 이용함으로써, 단어 후보의 사후 확률비(사전 확률과 사후 확률의 비)가 각 문자의 사후 확률비의 곱으로 분해할 수 있는 것이 기재되어 있다. 상기 문헌 2에는, 상기 문헌 1에서 큰 오차를 일으키는 근사를 피하는 식 전개를 행함으로써, 정규화 사후 확률비를 산출하는 방법이 기재되어 있다. 상기 문헌 3에는, 주목하고 있는 장소이외에도 어떠한 문자가 쓰여져 있는 것을 이용하여, 확장 사후 확률비를 산출하는 방법이 기재되어 있다.
그러나, 상기 문헌 2 혹은 상기 문헌 3에 기재되어 있는 정규화 사후 확률비 혹은 확장 사후 확률비의 계산에는, 모두 단어 사전 내의 전체 단어에 대한 처리가 필요하다. 이것은, 단어 사전 내의 단어의 수가 많으면 많을수록, 정규화 사후 확률비 혹은 확장 사후 확률비의 계산에 시간이 걸리게 되는 것을 시사하고 있다. 이에 대하여, 본 실시예에서는, 주목하는 1개의 단어에 대한 처리만을 행한 상황에서도, 문헌 3의 아이디어를 적용할 수 있는 식 전개에 대해서 후술한다. 즉, 본 실시예에서 설명하는 패턴 인식 방법에서는, 효율적인 후보의 탐색이 가능하게 되는 방법에 이용 가능한 계산식에 의해 사후 확률을 산출하도록 되어 있다.
다음으로, 복수단 구성의 패턴 인식과 탐색 문제와의 관계에 대해서 설명한다.
여기서는, 복수단 구성의 패턴 인식 처리의 예로서, 얼굴 인식 처리와 주소 인식 처리에 대해서 설명한다.
우선, 얼굴 인식 처리의 예에 대해서 설명한다.
얼굴 인식 처리는, 바이오메트릭스의 일종이다. 얼굴 인식 처리에서는, 생체 정보로서의 인물의 얼굴 화상에 기초하여 개인을 특정한다. 얼굴 인식 처리는, 크게 나누어, 이하와 같은 3단계의 처리에 의해, 인식 결과가 얻어지도록 되어 있다. 즉, 얼굴 인식 처리는, 제1 단계의 처리로서 취득한 화상(입력 화상) 중으로부터 인물의 화상을 검출하고, 제2 단계의 처리로서 검출한 인물의 화상으로부터 얼굴 화상을 검출하고, 제3 단계의 처리로서 검출한 얼굴 화상과 등록자의 얼굴 화상의 대조를 행한다.
제1 단계의 처리는, 입력 화상에 대하여 인물 검출용 식별기를 적용함으로써 실행되는 인물 검출 처리이다. 상기 인물 검출용 식별기는, 입력 화상에 대하여 위치 및 사이즈를 변화시킨 인물 검출용의 템플릿을 서로 겹치게 함으로써 인물의 화상을 검출하는 것이다. 이 제1 단계의 처리는, 예를 들면, 고속으로 처리 결과를 얻기 위해서, 저해상도의 화상에서 실시된다.
제2 단계의 처리는, 제1 단계의 처리에서 얻어진 인물의 화상에 대하여 얼굴 검출용 식별기를 적용함으로써 실행되는 얼굴 검출 처리이다. 상기 얼굴 검출용 식별기는, 인물의 화상에 대하여 위치 및 사이즈를 변화시킨 얼굴 검출용의 템플릿을 서로 겹치게 함으로써 얼굴 화상을 검출한다. 이 제2 단계의 처리는, 예를 들면, 고정밀도로 얼굴을 검출하기 위해서, 고해상도의 화상에서 실시된다.
제3 단계의 처리는, 제2 단계의 처리에서 얻어진 얼굴 화상과 등록자의 얼굴 화상의 대조를 행하는 얼굴 대조 처리이다. 제3 단계의 처리는, 예를 들면, 고정밀도로 얼굴을 식별하기 위해서, 고해상도의 얼굴 화상에서 실행된다.
도 1은, 얼굴 인식 처리의 각 단계의 처리를 탐색 트리로 표현한 것이다. 또한, 탐색 트리란, 복수 계층의 후보를 노드로서 표시한 경우의 탐색의 모습을 나타내는 개념도이다. 도 1에 나타내는 탐색 트리에서는, 등록자의 인원수가 3명인 것으로 한다.
도 1에 나타내는 바와 같은 탐색 트리에서는, 각 단계의 후보가 각각 노드로서 표현된다. 제1 단계의 처리에서는, 인물 검출용 식별기를 다양한 위치 및 사이즈로 움직이게 하여 복수의 인물 검출 결과를 얻는다. 도 1에 나타내는 탐색 트리 에서는, 1단째의 각 노드가 제1 단계의 후보로서 얻어지는 복수의 인물 검출 결과에 대응한다. 즉, 탐색 트리에서 루트 노드에 종속하는 1단째의 각 노드는, 인물 검출용 식별기가 1개의 위치 및 사이즈로 검출한 인물의 검출 결과에 상당하고 있다. 제2 단계의 처리에서는, 제1 단계의 처리로서 얻어진 각 인물 검출 결과(인물의 화상)에 대하여, 복수의 얼굴 검출 결과가 얻어진다. 도 1에 나타내는 탐색 트리에서는, 2단째의 각 노드가 제2 단계의 처리 결과로서 얻어지는 복수의 얼굴 검출 결과에 대응한다. 따라서, 탐색 트리에서의 1단째의 각 노드에는, 각각 복수의 2단째의 노드가 종속하고 있다. 제3 단계의 처리에서는, 제2 단계의 처리로서 얻어진 각 얼굴 검출 결과(얼굴 화상)에 대하여, 등록 인수분의 대조 결과가 얻어진다. 도 1에 나타내는 탐색 트리에서는, 3단째의 각 노드가 제3 단계의 처리 결과로서 얻어지는 각 등록자에 대한 대조 결과에 대응한다. 따라서, 탐색 트리에서의 2단째의 각 노드에는, 각각 등록 인수분의 3단째의 노드가 종속하고 있다.
도 1에 나타내는 바와 같은 각 노드의 친자 관계는, 포함 관계를 의미한다. 예를 들면, 도 1에 나타내는 제1 단계의 1개의 처리 결과로서의 노드 A에는, 4개의 노드 B~E가 종속하고 있다. 노드 B~E는, 노드 A의 처리 결과에 기초하는 4개의 제2 단계의 처리 결과(얼굴 검출 결과)에 상당하고 있다. 노드 C에는, 3개의 노드 F~H가 종속하고 있다. 노드 F~노드 H는, 제2 단계의 처리 결과로서의 노드 C에 기초하는 3개의 제3 단계의 처리 결과(3명의 등록자와의 대조 결과)에 상당한다.
얼굴 인식 처리에서는, 3단째의 전체 노드에 대응하는 얼굴 인식 처리를 모두 실행할 수 있으면 이상적이다. 그러나, 처리를 고속화하기 위해서는, 제1 단계 의 처리 결과 및 제2 단계의 처리 결과를 이용해서 효율적으로 제3 단계의 처리(대조 처리)를 행할 필요가 있다. 이것은, 도 1에 나타내는 바와 같은 탐색 트리를 효율적으로 탐색한다고 하는 탐색 문제의 해결 방법에 상당한다.
다음으로, 주소 정보의 인식 처리의 예에 대해서 설명한다.
도 2는, 주소 데이터베이스의 예를 나타내는 도면이다. 여기서는, 인식 대상으로 하는 주소 정보는, 복수 단계의 정보로 구성되어 있는 것으로 한다. 도 2에 나타내는 예에서는, 인식 대상으로 하는 주소 정보는, 1단째가 도시명, 2단째가 동명, 3단째가 번지이다.
또한, 도 3은, 주소 정보의 표기예를 나타내는 도면이다. 도 3은, 인식 처리의 입력 화상으로서 주어지는 화상의 예를 나타내고 있는 것으로 한다. 예를 들면, 도 3에 나타내는 바와 같은 화상은, 주소 정보가 기재된 매체를 스캐너 등으로 판독함으로써 얻어지는 정보인 것으로 한다. 도 3에 나타내는 바와 같은 주소 정보를 포함하는 화상에 대해서는, 행 후보 검출, 단어 후보 잘라내기, 문자 후보 잘라내기, 각 문자 후보에 대한 개별 문자 인식 등이 실행된다. 개별의 문자 인식 결과가 얻어지면, 개별의 문자 인식 결과에 기초하여 복수의 단어 후보가 선출된다. 이하의 설명에서는, 각 단어 후보와 주소 데이터베이스 내의 각 단어를 매칭하는 처리에 대해서 설명하는 것이다.
도 4는, 도 3에 나타내는 주소 정보의 화상으로부터 얻어진 단어 후보의 예를 나타내는 도면이다. 도 4에 나타내는 예에서는, 단어 후보로서, I1~I10까지의 후보가 검출되어 있다. 또한, 도 5는, 매칭 처리를 탐색 트리로 나타내는 것이다. 즉, 단어 후보 Ii와 주소 데이터베이스 내의 단어와의 조가, 탐색 트리의 1개의 노드에 대응하고, 1조에 대하여 매칭을 행하는 것이, 1개의 노드를 탐색하는 것에 상당한다.
주소 정보의 인식 처리로서는, 주소 데이터베이스 내의 전체 단어에 대해서, 전체 단어 후보와 매칭하면 이상적이다. 그러나, 주소 데이터베이스에 기억되어 있는 단어는 방대하다. 이 때문에, 복수단 구성의 패턴 인식 방법에서는, 상위의 계층으로부터 매칭 처리를 행함으로써, 효율적으로 해를 탐색(주소 정보 전체의 인식 결과를 결정)한다.
전술한 바와 같은 복수단 구성의 패턴 인식에서는, 통상적으로, 상위의 단의 처리로부터 순서대로 행하고, 각 단마다 후보를 좁혀 가고 나서 다음 단의 처리를 행한다고 하는 수순이 취해진다. 예를 들면, 도 1의 예에서는, 1단째의 노드에 대하여 모두 처리를 행하고, 그 중으로부터 n개의 노드로 좁혀 간다. 다음으로, 좁혀 간 1단째의 각 노드에 종속하는 2단째의 각 노드를 모두 처리하고, 그들 2단째의 노드 중으로부터 n개로 좁혀 간다. 또한, 좁혀 간 2단째의 각 노드에 종속하는 3단째의 각 노드를 모두 처리하고, 그들 3단째의 노드 중으로부터 최적의 인식 결과를 결정한다. 이러한 일련의 처리의 흐름을 탐색 문제의 시점으로부터 보면, 빔 탐색을 행하고 있는 것에 상당한다.
한편, 우수한 탐색 문제의 해법으로서, 최량 우선 탐색이라고 하는 방법이 알려져 있다. 최량 우선 탐색이라고 하는 방법은, 처리 완료된 노드에 종속하는 각 자 노드 중, 미처리의 것을 모두 기억해 놓고, 그 중에서 가장 평가값이 높은 노드를 다음 탐색 대상으로 하는 방법이다. 예를 들면, 도 1에 나타내는 예에서, 노드 A와 노드 C가 처리 완료되고, 또한, 다른 노드가 미처리인 것으로 하면, 노드 A 및 노드 C의 자 노드에서 미처리의 것은, 노드 B, D, E, F, G, H의 6개의 노드이다. 이 경우, 노드 B, D, E, F, G, H의 6개의 노드로부터 다음 탐색 대상을 선택하게 된다. 복수단 구성의 패턴 인식에서도, 상기한 바와 같은 최량 우선 탐색을 이용할 수 있으면, 탐색 효율을 향상하는 것이 가능하다고 생각된다.
일반적으로, 빔 탐색에서는, 동일단 내의 노드간에서의 비교만 할 수 있으면 된다. 이 때문에, 예를 들면, 그 단의 식별기가 출력하는 유사도 등을 평가값으로 하면 된다. 그러나, 최량 우선 탐색에서는, 다른 단의 노드간에서의 비교가 필요해진다. 이 때문에, 최량 우선 탐색에서는, 식별기의 출력을 그대로 이용해도 비교해도 의미가 없는 것으로 되게 된다. 즉, 기존의 빔 탐색에서 이용되고 있는 평가값은, 최량 우선 탐색에는 이용할 수 없다.
따라서, 본 실시예에서는, 사후 확률을 평가값으로서 이용하는 패턴 인식 방법을 제공하는 것이다. 일반적으로, 전술한 비특허 문헌 3 등에서 정의되는 사후 확률은, 직접 계산하는 것이 어렵다. 단, 전술한 문헌 1, 2, 3에 기재된 방법에 따르면, 예를 들면, 단어 인식에서, 개별 문자 인식의 출력으로부터 근사적으로 사후 확률을 계산하는 것이 가능하다. 본 실시예의 바코드 인식 처리에서는, 전술한 문헌 1, 2, 3에 기재되어 있는 계산 테크닉을 응용함으로써, 평가값으로서의 근사적인 사후 확률을 계산한다.
다음으로, 최량 우선 탐색에 이용하는 평가값으로서의 사후 확률의 계산법에 대해서 설명한다.
여기서, 노드 ni에 대응하는 처리 결과를 xi로 한다. 예를 들면, 최량 우선 탐색을 얼굴 인식 처리에 응용하는 경우, 각 노드 ni에 대응하는 각 단계의 식별기의 출력이 처리 결과 xi에 상당한다. 또한, 최량 우선 탐색을 주소 정보의 인식 처리에 응용하는 경우, 각 노드 ni에 대응하는 각 단계에서의 각 단어 후보 내의 문자 인식 등의 결과가 처리 결과 xi에 상당한다. 또한,이하의 설명에서는, X, ni, Ui, Xetc를 이하와 같이 정의한다. 처리 완료된 전체 노드에 대응하는 전체 처리 결과를 X로 한다. ni의 친 노드를 더듬어 감으로써 도달할 수 있는 노드의 집합을 Ui로 한다. ni
Figure 112009010259325-pat00001
Ui로 한다. Ui에 포함되지 않는 노드 중, 처리된 노드의 전체 처리 결과를 Xetc로 한다.
도 6은, 탐색 트리에서 나타내어지는 각 노드의 상태를 나타내는 도면이다. 도 6에서, 검은 동그라미는 처리된 노드, 흰 동그라미와 이중 동그라미는 미처리의 노드이며, 이중 동그라미는 처리된 노드를 친에 갖는 노드이다. 즉, 도 6에 나타내는 예에서는, 이중 동그라미로 나타내어진 노드가 다음 탐색 대상의 후보이다. 이들 각 노드에 대해서는, 사후 확률 P(ni│X)가 계산된다. 여기서, 사후 확률 P(ni│X)란, 노드 ni뿐만 아니라, Ui에 포함되는 전체 노드가 만족될 확률을 의미하는 것으로 한다. 예를 들면, 주소 정보의 인식 처리의 예에서는, 단독의 계층(동 등)의 단어가 쓰여져 있을 확률이 아니라, 그 상위의 계층의 단어도 동시에 쓰여저 있을 확률로 되고, 주소가 쓰여져 있을 확률에 상당한다. 또한, 얼굴 인식 처리의 예에서는, 자 노드가 만족되면, 친 노드가 자동적으로 만족된다.
Figure 112009010259325-pat00002
식(2)에서는, Ui에 포함되는 각 노드의 처리 결과가, 다른 처리 결과와는 독립적으로 발생하고 있는 것으로 하는 근사를 이용하고 있다. 식(3)에서는, P(xj│ni)≒P(xj│ni)으로 하는 근사를 이용했다. 식(3)을 이용함으로써, 노드 ni의 사후 확률 P(ni│X)를 근사적으로 계산할 수 있다. 얼굴 인식 처리의 예에서는, xj는 단독의 식별기의 출력이다. 이 때문에, 데이터를 모음으로써, P(xj│nj), P(xj)는 용이하게 얻는 것이 가능하여, 사후 확률의 계산이 가능하게 된다. 한편, 주소 정보의 인식 처리의 예에서는, xj에는 단어 후보 내의 복수의 문자 인식 결과가 포함되어 있다. 이 때문에, 식(3)의 계산이 단순하지 않다. 주소 정보의 인식 처리에서의 사후 확률의 계산 방법에 대해서는, 나중에 상세히 하는 것으로 한다.
식(3)은, 또한,
Figure 112009010259325-pat00003
로 변형할 수 있다. 사전 확률과 사후 확률의 비를 사후 확률비라고 부르기로 하면, 「노드 ni의 사후 확률비는, 그 친 노드의 사후 확률비의 곱이다」라고 표현할 수 있다.
다음으로, 주소 정보의 인식 처리에서의 사후 확률비의 계산 방법에 대해서 설명한다.
주소 정보의 인식 처리에서,xj에는, 단어 후보 내의 복수의 문자 인식 결과가 포함되어 있다. 이 때문에, 식(3)의 사후 확률비 P(xj│nj)/P(xj)의 계산이 용이하지 않는 경우가 많다. 상기 문헌 1, 2, 3에서는, 사후 확률비의 계산식이 몇가지가 제안되어 있다. 그들 사후 확률비의 분모 P(xj)에 주목해서 정리한다. 우선, 문헌 1에서는, xj에 포함되는 각 문자 후보의 문자 인식 결과를 모두 독립적으로 근사하고 있다. 이것은, 큰 오차를 일으키게 되는 것과, 문자 후보 구조(설명은 후술) 혹은 경로의 선택에 관한 항이 남게 되어 계산이 곤란해지는 경우가 있다. 문헌 2에 기재되어 있는 정규화 사후 확률비는, 분모를 P(xj)=ΣkP(xj, wk)로 하는 변형에 의해, 분모의 계산을 단어 사전 내의 전체 단어로 전개하고, 큰 오차를 일으키는 근사 변형을 피하는 것에 성공하고 있다. 또한, 동시에, 계산을 하기 어려운 항을 분모와 분자로 잘 캔슬시키는 것에 성공하고 있다. 또한, 문헌 3에 기재되어 있는 확장 사후 확률비에서는, 주목하고 있는 단어 후보 이외의 장소에도 어떠한 문자가 쓰여져 있는 것을 고려함으로써, 근사 오차를 저감하고 있다. 어떠한 문자가 쓰여져 있는 것을 고려함으로써, 계산 편리성을 떨어뜨리는 항이 발생한다. 그러나, 정규화 사후 확률비와 마찬가지로 분모의 계산을 단어 사전 내의 전체 단어로 전개함으로써, 계산하기 어려운 항이 분모와 분자로 캔슬되어 있다.
단, 탐색 시에도 사후 확률비를 이용할 수 있도록 하기 위해서는, 전체 단어의 처리를 필요로 하지 않고, 주목하는 1개의 단어만의 처리로 계산할 수 있는 것이 바람직하다. 따라서, 본 실시예에서는, 이하의 식 전개에 의해, 분모의 계산을 단어 사전 내의 전체 단어로 전개하지 않고, 「어떠한 문자가 쓰여져 있다」는 것으로 한다. 이에 의해, 확장 사후 확률비의 이점, 즉, 문자 인식 결과를 모두 독립적으로 하는 것보다도 근사 정밀도가 높아진다고 하는 이점이 있으며, 또한 계산이 곤란한 항의 캔슬도 할 수 있는 것을 나타낸다.
노드 ni에 대응하는 단어 후보를 Li, 단어를 wi로 한다. 노드 ni를 탐색하는 것이, 단어 후보 Li에 대하여 단어 wi를 매칭하는 것에 상당한다. 단어 후보 Li 내의 전체 문자 후보의 집합을 Ai, 각 문자 후보를 a∈Ai로 한다.
도 7은, 문자 후보의 예를 나타내는 도면이다. 도 7에 나타내는 바와 같은 구조는, 래티스 구조라고 불린다. 즉, 여기서는, 문자 후보가, 도 7과 같은 래티스 구조를 취하고 있는 것으로 한다. 또한,이하의 설명에서는, ai, ri, Li, Si, xi, wi 등을 이하와 같이 정의하는 것으로 한다. 문자 후보 ai의 문자 인식 결과를 ri로 한다. 단어 후보 Li 내의 전체 문자 인식 결과를 ri, 문자 후보 구조를 Si로 한다. 문자 후보의 구조란, 문자 후보끼리의 인접 정보, 혹은, 문자 후보수등의 문자 인식 결과 이외의 정보를 가리킨다. 전술한 처리 결과 xi를, xi=(ri, Si)로 정의한다. 단어 wi의 j번째의 문자를 cij∈C(C는 알파벳의 집합)로 한다. C*을 임의 문자열로 한다.
단어 후보 Li 내의 좌단으로부터 우단에 이르는 전체 경로의 집합을 Fi={fp}, p=1, 2, …, 경로를 fp=(af1p, af2p, …), afjp∈Ai로 한다. af(j+1)p는, afjp의 우측에 인접해서 위치하는 것으로 한다. 도 7에는, 굵은 선으로 경로 fp 등의 예를 나타내고 있다. 경로 fp 상의 문자 후보의 집합을 E'p={afjp}, j=1, 2, …, E'p에 포함되지 않지만 Ai에 포함되는 문자 후보의 집합을 Ep로 한다. Ep∩E'p=φ, Ep∪E'p=Ai이다. 사후 확률비 P(xj│nj)/P(xj)를 이하와 같이 변형한다.
Figure 112009010259325-pat00004
식(4) 좌변의 분자 P(xj│nj)는, 그 친 노드를 더듬어 가서 얻어지는 노드를 np1, np2, …로 하면, P(xj│Lj, wj, Lp1, wp1, Lp2, wp2, …)라고 하는 의미로 된 다. xj는 단어 후보 Lj에 관한 정보 이외의 영향을 받지 않는 것으로 하는 근사를 행하면,P(xj│Lj, wj)로 된다.
식(4)의 분모에서, P(xj)≒P(xj│Lj, C*)로 하고 있는 것은, 앞에서 설명한 바와 같이, 어느 단어 후보에도 어떠한 문자가 쓰여져 있는 것으로 하는 근사이기 때문이다.
식(6)에서는, 확률이 최대로 되는 경로의 확률에 비해, 그 밖의 경로의 확률은 무시할 수 있는 것으로 하는 근사를 이용하고 있다. 계속해서 이하의 근사를 행한다.
Figure 112009010259325-pat00005
여기서, Kj는 p에 의하지 않는 상수로 한다. 이 근사는, 어느 패스가 정해일 확률도 마찬가지로 확실한 것 같다라고 근사이다.
식(7), 식(8)을 이용함으로써, 식(6)은 이하와 같이 계산된다(어느 fp에서도 단어 wj와 길이가 일치하지 않는 경우, 식(6)은 0으로 된다. 이후의 계산은 그 이외의 경우의 계산으로 한다).
Figure 112009010259325-pat00006
단,match()는, 이하와 같이 정의하고 있다.
Figure 112009010259325-pat00007
식(10)에서는, 각 문자 인식 결과가 서로 독립적이라고 하는 근사를 이용하고 있다. 식(10)으로부터 식(11)로의 변형에서는, fp에 의존하지 않는 값
Figure 112009010259325-pat00008
로 분모 분자를 나누고 있다. 또한,식(9)에서, 계산이 곤란한 문자 후보 구조 Sj나 경로 fp에 관한 항을 캔슬할 수 있는 것에 주의한다.
식(11)이 본 실시예에서 제안하는 사후 확률비의 계산식이다. 식(11)에서는, 확장 사후 확률비와 동일한 아이디어에 의한 근사 정밀도의 향상을 행하면서, 쓸데없는 항의 캔슬도 할 수 있다. 또한, 주목하는 1단어 wj만의 처리로 계산 가능하고, 탐색시에도 이용할 수 있다.
전술한 바와 같이, 본 실시예에 따른 패턴 인식 방법에서는, 복수의 단계로 이루어지는 패턴 인식 처리의 일부를 탐색 문제로 파악하고 있다. 상기 패턴 인식 방법에서는, 각 단계에서 얻어지는 각 후보를 각각 노드로 하고, 얻어진 노드를 사후 확률에 기초하여 선택적으로 처리한다. 이에 의해, 상기 패턴 인식 방법에서는, 복수 단계로 이루어지는 패턴 인식 처리를 효율적으로 또한 고속화로 실행할 수 있다.
또한, 상기 패턴 인식 방법에서는, 처리 대상으로 하는 각단의 노드를 선택하는 경우, 최량 우선 탐색 등의 방법이 적용 가능하다. 최량 우선 탐색에서는, 상이한 단계의 노드를 비교할 필요가 있다. 그를 위한 평가값으로서, 상기 패턴 인식 방법에서는, 사후 확률이 이용된다. 사후 확률은, 각 노드에서의 사후 확률비(사전 확률과 사후 확률의 비)의 곱에 의해 산출된다. 특히, 주소 정보의 인식으로 특화한 경우, 탐색시에도 계산 가능한 형태로 각 노드의 사후 확률비가 계산된다.
이하, 전술한 바와 같은 패턴 인식 방법의 적용예에 대해서 설명한다.
도 8은, 전술한 바와 같은 패턴 인식 방법에 의한 패턴 인식 기능을 갖는 정보 처리 장치(11)의 구성예를 나타내는 도면이다.
도 8에 도시하는 예에서는, 정보 처리 장치(11)에는, 화상 입력 장치(12)가 접속되어 있다. 화상 입력 장치(12)는, 스캐너 혹은 카메라 등에 의해 구성된다. 상기 화상 입력 장치(12)는, 정보 처리 장치(11)에 의해 처리할 화상을 취득하는 것이다. 상기 화상 입력 장치(12)는, 취득한 화상 정보를 정보 처리 장치(11)에 공급하도록 되어 있다. 또한, 상기 화상 입력 장치(12)는, 기록 매체에 기억된 화상 정보를 읽어내고, 기록 매체로부터 읽어낸 화상 정보를 상기 정보 처리 장치(11)에 공급하는 것이어도 된다.
상기 정보 처리 장치(11)는, 패턴 인식 장치 혹은 문자 인식 장치로서 기능 하는 것이다. 상기 정보 처리 장치(11)는, 상기 화상 입력 장치(12)로부터 공급되는 화상에 포함되는 원하는 정보(예를 들면, 주소 정보 혹은 얼굴 화상 등)를 패턴 인식 처리에 의해 인식하는 것이다.
상기 정보 처리 장치(11)는, 예를 들면, 컴퓨터로서 실현된다. 또한, 도 8에 도시하는 구성예에서는, 상기 정보 처리 장치(11)는, 화상 인터페이스(I/F)(21), 프로세서(22), 워킹 메모리(23), 프로그램 메모리(24), 데이터 메모리(25), 출력 인터페이스(I/F)(26) 등을 갖고 있다. 즉, 상기 정보 처리 장치(11)는, 예를 들면, 화상 인터페이스(21) 및 출력 인터페이스(26)로서의 데이터 입출력부와, 프로세서(22)로서의 제어부와, 워킹 메모리(23), 프로그램 메모리(24) 및 데이터 메모리(25) 등의 각종 기억부 등을 갖는 컴퓨터에 의해 실현된다.
상기 화상 인터페이스(21)는, 상기 화상 입력 장치(12)로부터 공급되는 화상을 취득하기 위한 인터페이스이다. 즉, 상기 화상 인터페이스(21)는, 패턴 인식 처리의 대상으로 되는 화상을 취득하기 위한 인터페이스이다.
도 9는, 상기 화상 인터페이스(21)에 의해 취득되는 패턴 인식 처리의 대상으로 되는 화상의 예를 나타내는 도면이다. 도 9에 나타내는 예는, 복수층의 정보로 이루어지는 주소 정보가 기재된 지엽류의 판독 화상의 예인 것으로 한다. 도 9에 나타내는 예에서는, 패턴 인식 처리로서의 복수층의 정보로 이루어지는 주소 정보의 인식 처리의 대상으로 되는 화상의 예를 나타내고 있다.
상기 프로세서(22)는, 상기 정보 처리 장치(11)에서의 다양한 처리 기능을 실행하는 것이다. 상기 프로세서(22)는, 예를 들면, CPU 등의 연산 유닛에 의해 구성된다. 상기 프로세서(22)는, 상기 프로그램 메모리(24) 혹은 데이터 메모리(25)에 기억되어 있는 프로그램을 실행함으로써, 다양한 처리 기능을 실현하고 있다. 예를 들면, 상기 프로세서(22)는, 프로그램을 실행함으로써 실현되는 기능의 하나로서 패턴 인식 처리를 행하는 패턴 인식부(22a)를 갖고 있다. 상기 패턴 인식부(22a)의 구성예에 대해서는, 나중에 상세히 설명하는 것으로 한다.
상기 워킹 메모리(23)는, 일시적으로 데이터를 저장하기 위한 기억부이다. 상기 워킹 메모리(23)는, 예를 들면, RAM(랜덤 액세스 메모리) 등에 의해 구성된다. 상기 프로그램 메모리(24)는, 제어 프로그램 및 제어 데이터 등이 기억되어 있는 기억부이다. 상기 프로그램 메모리(24)는, 예를 들면, ROM(리드 온리 메모리) 등에 의해 구성된다. 상기 데이터 메모리(25)는, 데이터를 기억하기 위한 대 용량의 기억부이다. 상기 데이터 메모리(25)는, 예를 들면, 하드디스크 드라이브(HDD) 등에 의해 구성된다.
상기 데이터 메모리(25)에는, 패턴 인식 처리에 이용되는 사전 데이터베이스(25a)가 설정되어 있다. 예를 들면, 상기 정보 처리 장치(11)가 패턴 인식 처리로서 주소 정보를 인식하는 것인 경우, 상기 사전 데이터베이스(25a)는, 주소 정보가 저장되는 주소 데이터베이스로서 구성된다. 상기 정보 처리 장치(11)가 패턴 인식 처리로서 얼굴 화상 등의 생체 정보에 의한 개인 인증을 행하는 것인 경우, 상기 사전 데이터베이스(25a)는, 등록자의 생체 정보가 저장되는 생체 정보 데이터베이스로서 구성된다. 또한, 여기서는, 정보 처리 장치(11)가 주소 정보를 인식하는 것인 것을 상정한다. 이 때문에, 상기 사전 데이터베이스(25a)는, 주소 데이터베이스인 것으로 한다.
도 10은, 사전 데이터베이스(25a)로서의 주소 데이터베이스의 구성예를 나타내는 도면이다. 도 10에 도시하는 구성예에서는, 사전 데이터베이스(주소 데이터베이스)(25a)에는, 복수 계층(CITY 계층, STREET 계층, DIRECTION 계층)의 각 단어로 이루어지는 주소 정보가 기억되어 있다. 즉, 사전 데이터베이스(25a)에는, 각 계층의 각 정보에는, 다음의 아래 계층의 정보가 종속하도록 기억되어 있다.
도 10에 나타내는 예에서는, CITY계층에는, 「STOCKHOLM」(단어 D1), 「GOTEBORG」(단어 D2), 「ABCDE」(단어 D3), … 등의 단어가 존재하고, STREET 계층에는, 「AGATAN」(단어 D4), 「TOSHIBA」(단어 D5), 「BGATAN」(단어 D6), … 등의 단어가 존재하고, DIRECTION 계층에는, 「EAST」, 「WEST」, 「NORTH」등의 단어가 존재하고 있다. 또한, 도 10에 나타내는 예에서는, CITY 계층의 「STOCKHOLM」(단어 D1)이라고 하는 1개의 단어에는, STREET 계층의 「AGATAN」(단어 D4)과 「TOSHIBA」(단어 D5)라고 하는 2개의 단어가 종속하고 있다.
상기 출력 인터페이스(26)는, 상기 프로세서(22)에 의해 얻어진 정보 등을 외부에 출력하기 위한 인터페이스이다. 예를 들면, 상기 프로세서(22) 내의 패턴 인식 처리에 의해 얻어진 인식 결과는, 상기 출력 인터페이스(26)에 의해 외부에 출력되도록 되어 있다.
다음으로, 상기 패턴 인식부(22a)의 구성에 대해서 설명한다.
도 11은, 상기 패턴 인식부(22a)의 구성예를 나타내는 도면이다. 또한,이하의 설명에서는, 주로, 상기 정보 처리 장치(11)가 주소 정보 등의 복수 계층의 정보로 이루어지는 문자 정보를 인식하는 것인 것을 상정하고 있다.
상기 패턴 인식부(22a)는, 인식 제어부(30), 후보 추출부(31), 노드 전개부(32), 평가값 산출부(33), 노드 선별부(34), 결정부(35) 등에 의해 구성되어 있다. 전술한 바와 같이, 상기 패턴 인식부(22a)는, 프로세서(22)가 프로그램을 실행함으로써 실현되는 기능이다. 즉, 상기 후보 추출부(31), 노드 전개부(32), 평가값 산출부(33), 노드 선별부(34), 결정부(35)도, 프로세서(22)가 프로그램을 실행함으로써 실현되는 기능이다.
상기 인식 제어부(30)는, 패턴 인식부(22a)에서의 패턴 인식 처리 전체를 제어하는 기능을 담당하는 것이다. 상기 후보 추출부(31)는, 상기 화상 인터페이스(21)를 통해서 상기 화상 입력 장치(12)로부터 공급된 입력 화상으로부터 인식 결과에서의 각 계층의 후보로 되는 정보를 추출하는 것이다. 예를 들면, 상기 정보 처리 장치(11)가 주소 정보 등의 복수 계층의 정보로 이루어지는 문자 정보를 인식하는 것인 경우, 상기 후보 추출부(31)는, 입력 화상으로부터 각 계층의 단어 후보를 추출하는 처리를 행한다.
도 12은, 도 9에 나타내는 입력 화상으로부터 추출되는 단어 후보의 예를 나타내는 도면이다. 도 12에 나타내는 예에서는, 알파벳을 인식 대상의 주소 정보를 구성하는 문자로서 상정하고 있다. 이 때문에, 도 12에 나타내는 예에서는, 7개의 단어 후보가 추출되어 있다. 또한, 도 12에 나타내는 7개의 단어 후보는, 해당 화상에서의 위치 정보에 의해 나타내어지는 위치 P1~P7에 존재하고 있는 것으로 한다.
상기 노드 전개부(32)는, 상기 후보 추출부(31)에 의해 추출된 후보에 대한 탐색 트리를 구성하기 위한 각 노드를 생성하는 것이다. 상기 노드 전개부(32)는, 각 노드에 속하는 다음 계층의 노드를 얻는 처리이다. 즉, 상기 노드 전개부(32)에서는, 임의의 계층의 각 후보에 대하여 다음 계층의 후보로 될 수 있는 모든 후보를 선출함으로써, 복수 계층의 각 노드로 이루어지는 탐색 트리를 생성한다.
예를 들면, 도 12에 나타내는 위치 P6의 단어 후보가 도 10에 나타내는 주소 데이터베이스(25a)의 단어 D1인 것을 나타내는 노드를 (D1, P6)으로 나타내는 것으로 한다. 여기서, 도 10에 나타내는 주소 데이터베이스(25a)에서는, 단어 D1(「CITY」 계층의 「STOCKHOLM」)에는, 단어 D4(「STREET」 계층의 「AGATAN」)와 단어 D5(「STREET」계층의 「TOSHIBA」)가 속해 있다. 또한, 위치 P6이 CITY 계층의 정보인 경우, STREET 계층은, 도 12에 나타내는 입력 화상에서, 위치 P7 혹은 위치 P3 중 어느 하나인 것이, 해당 주소 정보의 기재 순서(각 계층의 정보의 표기 상의 룰)에 의해 판별 가능한 것으로 한다. 이들 상황에 따라서, 상기 노드 전개부(32)는, 노드 (D1, P6)에 속하는 노드로서, (D4, P7), (D4, P3), (D5, P7), (D5, P3)의 4개의 노드를 전개한다.
상기 평가값 산출부(33)에서는, 상기 노드 전개부(32)에 의해 생성된 각 노드의 평가값을 산출하는 것이다. 예를 들면, 상기 평가값 산출부(33)에서는, 각 노드로서의 각 후보에 대한 인식 처리를 실행함으로써, 각 노드의 평가값을 산출한다. 본 실시 형태에서는, 상기 평가값 산출부(33)는, 전술한 방법에 의해 산출되는 사후 확률을 평가값으로서 산출하는 것으로 한다.
상기 노드 선별부(34)는, 각 노드 중 최종적으로 평가할 노드를 선별하는 것이다. 상기 노드 선별부(34)에서는, 상기 평가값 산출부(33)에 의해 산출된 평가값에 기초하여 각 노드를 최종적으로 평가할 노드로 할지의 여부를 판정한다. 예를 들면, 상기 노드 선별부(34)는, 각 계층마다 상기 평가값 산출부(33)에 의해 산출된 평가값이 높은 순으로 소정수(즉, 상위 N개)의 노드를 선출한다. 또한, 탐색 방법으로서 최량 우선 탐색이 적용되는 경우, 상기 노드 선별부(34)는, 각 계층에 상관없이, 후술하는 복수의 종단 노드로부터 가장 평가값이 높은 것을 선택한다.
상기 결정부(35)는, 일련의 패턴 인식 처리로서의 최종적인 인식 결과를 결정하는 것이다. 상기 결정부(35)는, 상기 노드 선별부(34)에 의해 최종 계층의 노드가 선별된 경우, 그들 최종 계층의 노드에 기초해서 최종적인 인식 결과를 결정 한다. 예를 들면, 상기 노드 선별부(34)에 의해 최종 계층의 노드가 복수 얻어진 경우, 상기 결정부(35)는, 최대 평가값으로 되는 노드에 기초하는 인식 결과를 최종적인 인식 결과로서 출력한다. 또한, 상기 결정부(35)는, 상기 노드 선별부(34)에 의해 얻어진 최종 계층의 노드 중 소정값 이상의 평가값으로 되는 각 노드에 기초하는 각 인식 결과(1개 또는 복수의 인식 결과)를 최종적인 인식 결과로서 출력하도록 해도 된다. 또한, 상기 결정부(35)는, 상기 노드 선별부(34)에 의해 얻어진 최종 계층의 노드의 평가값이 소정값 미만인 경우, 최종적인 인식 결과로서 해당 패턴이 인식 불능이었던 것을 출력하도록 해도 된다.
다음으로, 상기한 바와 같이 구성되는 정보 처리 장치(11)에서의 패턴 인식 처리의 제1, 제2, 제3 처리예에 대해서 설명한다.
우선, 상기 정보 처리 장치(11)에서의 패턴 인식 처리의 제1 처리예에 대해서 설명한다.
도 13은, 패턴 인식 처리의 제1 처리예로서의 처리의 흐름을 설명하기 위한 플로우차트이다.
우선, 상기 화상 입력 장치(12)로부터 공급되는 패턴 인식 처리의 대상으로 되는 화상은, 화상 인터페이스(21)에 의해 정보 처리 장치(11)에 취득된다(스텝 S10). 화상 인터페이스(21)에 의해 패턴 인식 처리의 대상으로 되는 화상이 취득되면, 프로세서(22)는, 패턴 인식부(22a)에 의한 패턴 인식 처리를 개시한다. 즉, 상기 패턴 인식부(22a)의 인식 제어부(30)는, 우선, 상기 후보 추출부(31)에 의해 입력 화상으로부터 단어 후보를 추출하는 처리를 실행한다(스텝 S11). 예를 들면, 도 9에 도시하는 바와 같은 화상이 공급된 경우, 상기 후보 추출부(31)는, 도 12에 나타내는 바와 같은 단어 후보를 추출한다. 이 때, 상기 후보 추출부(31)는, 추출한 각 단어 후보를 식별하기 위한 식별 정보를 부여함과 함께, 각 단어 후보의 위치를 나타내는 정보를 특정한다.
입력 화상으로부터 단어 후보가 추출되면, 상기 인식 제어부(30)는, 추출된 각 단어 후보에 대한 탐색 처리를 개시한다. 우선, 상기 인식 제어부(30)는, 탐색 트리의 루트 노드를 설정하는 처리를 행한다. 이것은, 버퍼상에서 탐색 트리의 생성을 개시하는 것에 상당한다. 즉, 상기 인식 제어부(30)는, 워킹 메모리(23) 등에 설정된 버퍼에 루트 노드를 저장한다(스텝 S12). 루트 노드를 설정하면, 상기 인식 제어부(30)는, 처리 중인 계층을 나타내는 변수 L에 초기값으로서의 「L=1」을 설정한다(스텝 S13).
변수 L이 설정되면, 상기 인식 제어부(30)는, L계층의 각 노드를 생성하고, 각 노드의 평가값을 산출하는 처리를 행한다(스텝 S14~S17). 즉, 상기 인식 제어부(30)는, 이미 버퍼에 저장되어 있는 노드를 1개 취출한다(스텝 S14). 예를 들면, L=1인 경우, 인식 제어부(30)는, 버퍼로부터 루트 노드를 취출한다. 또한,L=2인 경우, 인식 제어부(30)는, 버퍼에 저장되어 있는 제1 계층의 각 노드를 순차적으로 취출한다.
상기 버퍼로부터 노드가 1개 취출되면(스텝 S14), 상기 인식 제어부(30)는, 상기 노드 전개부(32)에 의해 취출한 노드에 속하는 1개 아래의 계층(L계층)의 각 노드를 얻는 노드 전개 처리를 행한다(스텝 S15). 예를 들면, L=1인 경우, 상기 노드 전개부(32)는, 상기 후보 추출부(31)에 의해 추출된 후보 중 제1 계층의 후보에 상당하는 각 노드를 루트 노드에 종속하는 각 노드로서 버퍼에 저장한다. 또한, 도 12에 나타내는 단어 후보의 추출예에 대하여, 상기 스텝 S14에서 취출된 노드가 (D1, P6)인 경우, 상기 노드 전개부(32)는, 전술한 바와 같이, (D4, P7), (D4, P3), (D5, P7), (D5, P3)의 4가지의 노드를 전개한다.
상기 노드 전개부(32)에 의해 취출한 노드에 속하는 L계층의 각 노드가 얻어진 경우, 상기 평가값 산출부(33)는, 얻어진 각 노드에 대한 평가값을 계산한다(스텝 S16). 여기서는, 전술한 계산식에 의해, 각 노드에 대한 인식 처리에 의해 근사적으로 얻어지는 사후 확률이 평가값으로서 산출되는 것으로 한다.
상기 평가값 산출부(33)에 의해 전개된 각 노드의 평가값이 산출되면, 상기 인식 제어부(30)는, 버퍼에 미처리의 노드가 존재하는지의 여부를 판단한다(스텝 S17). 즉, 상기 인식 제어부(30)는, L계층의 노드에 대하여 친 노드로 될 수 있는 노드 중 미처리의 노드가 존재하는지의 여부를 판단한다. 상기 버퍼에 미처리의 노드가 존재한다고 판단한 경우(스텝 S17, '아니오'), 상기 인식 제어부(30)는, 상기 스텝 S14로 되돌아가서, 다음 노드를 버퍼로부터 취출함으로써, 상기 스텝 S14~S16의 처리를 반복하여 실행한다.
또한, 상기 버퍼에 미처리의 노드가 존재하지 않는다고 판단한 경우(스텝 S17, '예'), 상기 인식 제어부(30)는, 상기 노드 선별부(34)에 의해 상기 스텝 S16에서 계산된 각 노드의 평가값 순으로 상위 N개의 노드를 선택하고, 버퍼에 저장한다(스텝 S18). 즉, 상기 스텝 S18의 처리에서는, 상기 노드 선별부(34)에 의해 선 별된 각 노드(평가값이 상위 N인 노드)가 L계층의 노드(즉, L계층의 후보)로서 얻어진다. 여기서, 상기 노드 선별부(34)가 평가값 순으로 선출하는 노드의 수는, 정해로 되는 후보가 파기되는 일이 없는 값이 설정된다. 단, 선출하는 노드의 수가 많아지면 질수록, 처리의 속도가 저하된다. 따라서, 선출하는 노드의 수는, 인식 대상으로 하는 패턴의 성질 및 필요로 되는 처리 시간 등의 운용 형태에 따라서 적절히 설정해야 할 것이다.
상위 N개의 노드를 L계층의 노드로서 버퍼에 저장하면, 상기 인식 제어부(30)는, L계층이 해당 패턴 인식에서의 최종 계층인지의 여부를 판단한다. 이 판단에 의해 L계층이 최종 계층이 아니라고 판단한 경우(스텝 S19, '아니오'), 상기 인식 제어부(30)는, 상기 변수 L을 「L=L+1」로 갱신함으로써, 변수 L을 인크리먼트한다(스텝 S20). 변수 L을 인크리먼트한 경우, 상기 인식 제어부(30)는, 상기 스텝 S14로 진행하여, 갱신된 L계층의 각 노드에 대한 처리를 행한다.
또한, 상기 판단에 의해 L계층이 최종 계층이라고 판단한 경우(스텝 S19, '예'), 상기 인식 제어부(30)는, 상기 결정부(35)에 의해 최종적인 인식 결과를 결정하는 처리를 행한다(스텝 S21). 이 경우, 상기 결정부(35)에서는, 각 노드의 평가값에 기초하여 해당 패턴 인식 처리의 최종적인 인식 결과를 결정한다. 예를 들면, 소정의 임계값에 기초하여 각 노드의 평가값을 평가하는 경우, 상기 결정부(35)는, 소정의 임계값 이상의 평가값으로 된 각 노드에 의해 특정되는 각 후보를 인식 결과로서 출력한다. 또한, 패턴 인식 처리의 인식 결과를 일의적으로 결정하는 경우, 상기 결정부(35)는, 최대 평가값으로 되는 노드(혹은 소정의 임계값 이상이고 또한 최대 평가값으로 되는 노드)에 의해 특정되는 후보를 인식 결과로서 출력한다.
상기한 바와 같이, 제1 처리예에서는, 복수 단계로 이루어지는 패턴 인식 처리에서, 각 계층마다 평가값이 상위 N개인 노드로 좁혀 가서 탐색을 행한다. 이에 의해, 제1 처리예에 따르면, 잘못하여 정해 후보가 파기될 가능성이 낮고, 또한, 고속으로 정해로 되는 후보를 선출하는 것이 가능하게 된다.
다음으로, 상기 정보 처리 장치(11)에서의 패턴 인식 처리의 제2 처리예에 대해서 설명한다.
본 제2 처리예는, 복수 계층의 후보로부터 정해로 되는 후보를 탐색하는 방법으로서 최량 우선 탐색을 적용한 패턴 인식 처리의 예이다. 전술한 바와 같이, 최량 우선 탐색에서는, 상이한 계층의 노드에 대해서도, 비교 대상으로서, 가장 평가값이 높은 노드를 우선적으로 처리해 가는 탐색 방법이다. 또한, 여기서는, 각 노드의 평가값은, 전술한 바와 같은 계산 방법에 의해 산출되는 것으로 한다.
도 15는, 상기 정보 처리 장치(11)에서의 패턴 인식 처리의 제2 처리예로서의 처리의 흐름을 설명하기 위한 플로우차트이다.
우선, 상기 화상 입력 장치(12)로부터 공급되는 패턴 인식 처리의 대상으로 되는 화상은, 화상 인터페이스(21)에 의해 정보 처리 장치(11)에 취득된다(스텝 S30). 화상 인터페이스(21)에 의해 패턴 인식 처리의 대상으로 되는 화상이 취득되면, 프로세서(22)는, 패턴 인식부(22a)에 의한 패턴 인식 처리를 개시한다. 즉, 상기 패턴 인식부(22a)의 인식 제어부(30)는, 우선, 상기 후보 추출부(31)에 의해 입력 화상으로부터 단어 후보를 추출하는 처리를 실행한다(스텝 S31).
입력 화상으로부터 단어 후보가 추출되면, 상기 인식 제어부(30)는, 추출된 각 단어 후보에 대한 탐색 처리를 개시한다. 우선, 상기 인식 제어부(30)는, 탐색 트리의 루트 노드를 설정하는 처리를 행한다. 이것은, 버퍼 상에서 탐색 트리의 생성을 개시하는 것에 상당한다. 즉, 상기 인식 제어부(30)는, 워킹 메모리(23) 등의 버퍼에 루트 노드를 저장한다(스텝 S32). 루트 노드를 설정하면, 상기 인식 제어부(30)는, 순차적으로 평가값이 최대로 되는 노드를 탐색해 가는 처리를 행한다.
즉, 상기 인식 제어부(30)는, 이미 버퍼에 저장되어 있는 노드로부터 평가값이 최대로 되어 있는 노드를 1개 취출한다(스텝 S33). 또한, 루트 노드만이 버퍼에 저장되어 있는 상태에서는, 상기 인식 제어부(30)는, 버퍼로부터 루트 노드를 취출한다. 또한, 버퍼에 복수의 노드가 저장되어 있는 경우, 상기 인식 제어부(30)는, 각 노드의 계층에 관계없이, 버퍼에 저장되어 있는 각 노드로부터 평가값이 최대로 되는 노드를 취출한다.
버퍼로부터 노드를 1개 취출하면, 상기 인식 제어부(30)는, 취출한 노드가 종단 노드인지의 여부를 판단한다(스텝 S34). 여기서, 종단 노드란, 종속하는 노드가 존재하지 않는 노드이다. 즉, 종단 노드는, 루트 노드로 구성되는 탐색 트리에서 말단으로 되는 노드이다. 예를 들면, 도 14는, 탐색 트리의 구성예를 나타내는 개념도이다. 도 14에 나타내는 예에서, 각 흰 동그라미, 검은 동그라미는, 탐색에서의 각 상태를 나타내는 노드이다. 또한, 도 14에 나타내는 예에서는, 검은 동그라미는, 하위에 노드가 없는(종속하는 노드가 없는) 종단 노드를 나타내고 있다.
상기 판단에 의해 종단 노드가 아니다고 판단한 경우(스텝 S34, '아니오'), 상기 인식 제어부(30)는, 상기 노드 전개부(32)에 의해 취출한 노드에 대한 노드 전개 처리를 행한다(스텝 S35). 전술한 바와 같이, 노드 전개 처리는, 취출한 노드에 속하는 1개 아래의 계층(L계층)의 각 노드를 얻는 처리이다. 또한, 루트 노드가 취출된 경우, 상기 노드 전개부(32)는, 상기 후보 추출부(31)에 의해 추출된 후보 중 제1 계층의 후보에 상당하는 각 노드를 루트 노드에 종속하는 각 노드로서 버퍼에 저장한다.
상기 노드 전개부(32)에 의해 취출한 노드에 속하는 각 노드가 얻어진 경우, 상기 평가값 산출부(33)는, 얻어진 각 노드에 대한 평가값을 계산한다(스텝 S36). 여기서는, 전술한 계산 방법에 의해, 각 노드에 대한 인식 처리에 의해 근사적으로 얻어지는 사후 확률이 평가값으로서 산출되는 것으로 한다.
상기 평가값 산출부(33)에 의해 전개된 각 노드의 평가값이 산출되면, 상기 인식 제어부(30)는, 이들 각 노드와 각 평가값을 대응지어 버퍼에 저장한다(스텝 S37). 얻어진 각 노드와 각 평가값을 버퍼에 저장하면, 상기 인식 제어부(30)는, 상기 스텝 S33으로 되돌아가서, 전술한 처리를 반복하여 실행한다. 상기 스텝 S33~S37의 처리는, 상기 스텝 S33에서 취출한 노드가 종단 노드라고 판단될 때까지 반복하여 실행된다. 이 결과로서, 최대 평가값으로 되는 노드가 종단 노드에 도달할 때까지의 탐색 트리가 얻어진다.
즉, 상기 스텝 S34에서 취출한 노드가 종단 노드라고 판단한 경우(스텝 S34, '예'), 상기 인식 제어부(30)는, 해당 노드의 평가값이 소정의 임계값 이상인지의 여부를 상기 결정부(35)에 의해 판정한다(스텝 S38). 이 판정에 의해 해당 노드의 평가값이 소정의 임계값 미만이라고 판정된 경우(스텝 S38, '아니오'), 상기 인식 제어부(30)는, 상기 버퍼에 해당 노드 이외에 미처리의 노드가 존재하는지의 여부를 판단한다(스텝 S39).
상기 버퍼에 미처리의 노드가 존재한다고 판단한 경우(스텝 S39, '아니오'), 상기 인식 제어부(30)는, 상기 스텝 S33으로 되돌아가서, 해당 노드 이외에서 미처리의 노드로부터 최대 평가값으로 되는 노드를 취출함으로써, 상기 스텝 S33~S37의 처리를 실행한다. 또한, 상기 버퍼에 미처리의 노드가 존재하지 않는다고 판단한 경우(스텝 S39, '예'), 상기 인식 제어부(30)는, 평가값이 소정의 임계값 이상으로 되는 후보가 얻어지지 않은 것으로 하여, 처리를 종료한다.
또한, 상기 스텝 S38의 판정에 의해 해당 노드의 평가값이 소정의 임계값 이상이라고 판정된 경우(스텝 S38, '예'), 상기 인식 제어부(30)는, 상기 결정부(35)에 의해 해당 노드에 의해 특정되는 각 계층의 후보에 의해 나타내어지는 패턴을 최종적인 인식 결과로서 출력한다(스텝 S40). 또한, 제2 처리예로서는, 최종적인 인식 결과로서 소정의 임계값 이상의 전체 노드를 출력하도록 해도 된다. 이것은, 상기 스텝 S40에서 최종적인 인식 결과가 얻어진 경우라도, 상기 스텝 S39로 진행하여, 버퍼에 존재하는 미처리의 노드에 대하여 상기 스텝 S33 이후의 처리를 실행함으로써 실현 가능하다. 이에 의해, 최종적인 인식 결과로서 노드의 평가값이 소 정의 임계값 이상으로 되는 복수의 인식 결과를 출력하도록 할 수 있다.
상기한 바와 같이, 제2 처리예에서는, 복수 단계로 이루어지는 패턴 인식 처리에서, 최량 우선 탐색에 의해 인식 결과로서의 후보를 좁혀 가고, 좁혀 간 후보 중 소정의 임계값 이상의 평가값으로 되는 후보에 기초해서 최종적인 인식 결과를 얻도록 되어 있다. 이에 의해, 제2 처리예에 따르면, 효율적으로 인식 결과의 후보를 좁혀 갈 수 있고, 좁혀 간 후보로부터 최종적인 인식 결과를 얻는 것이 가능하다.
또한, 제2 처리예에 적용되는 최량 우선 탐색에서는, 상이한 계층의 노드에 대해서도 비교할 필요가 있다. 이 때문에, 제2 처리예에서는, 평가값으로서, 전술한 계산식에 의해 근사적으로 산출되는 사후 확률이 이용된다. 이에 의해, 제2 처리예에 따르면, 상이한 단계의 노드에 대해서도 비교하는 것이 가능하게 되어, 최량 우선 탐색이 실현 가능하게 된다.
다음으로, 상기 정보 처리 장치(11)에서의 패턴 인식 처리의 제3 처리예에 대해서 설명한다.
본 제3 처리예는, 제2 처리예와 마찬가지로, 복수 계층의 후보로부터 정해로 되는 후보를 탐색하는 방법으로서 최량 우선 탐색을 적용한 패턴 인식 처리의 예이다. 제3 처리예는, 제2 처리예의 변형예이다. 제3 처리예에서는, 각 노드의 평가값으로서, 각 노드의 사후 확률을 추정되는 처리 시간으로 나눈 값이 이용되는 것이다.
도 16은, 상기 정보 처리 장치(11)에서의 패턴 인식 처리의 제3 처리예로서 의 처리의 흐름을 설명하기 위한 플로우차트이다. 또한, 도 16에 나타내는 스텝 S50~S60은, 각각 제2 처리예로서 설명한 도 14에 나타내는 스텝 S30~S40과 동등한 처리이다.
우선, 상기 화상 입력 장치(12)로부터 공급되는 패턴 인식 처리의 대상으로 되는 화상은, 화상 인터페이스(21)에 의해 정보 처리 장치(11)에 취득된다(스텝 S50). 화상 인터페이스(21)에 의해 패턴 인식 처리의 대상으로 되는 화상이 취득되면, 프로세서(22)는, 패턴 인식부(22a)에 의한 패턴 인식 처리를 개시한다. 즉, 상기 패턴 인식부(22a)의 인식 제어부(30)는, 우선, 상기 후보 추출부(31)에 의해 입력 화상으로부터 단어 후보를 추출하는 처리를 실행한다(스텝 S51).
입력 화상으로부터 단어 후보가 추출되면, 상기 인식 제어부(30)는, 추출된 각 단어 후보에 대한 탐색 처리를 개시한다. 우선, 상기 인식 제어부(30)는, 탐색 트리의 루트 노드를 설정하는 처리를 행한다. 이것은, 버퍼 상에서 탐색 트리의 생성을 개시하는 것에 상당한다. 즉, 상기 인식 제어부(30)는, 워킹 메모리(23) 등의 버퍼에 루트 노드를 저장한다(스텝 S52). 루트 노드를 설정하면, 상기 인식 제어부(30)는, 순차적으로 평가값이 최대로 되는 노드를 탐색해 가는 처리를 행한다.
즉, 상기 인식 제어부(30)는, 이미 버퍼에 저장되어 있는 노드로부터 평가값이 최대로 되어 있는 노드를 1개 취출한다(스텝 S53). 버퍼로부터 노드를 1개 취출하면, 상기 인식 제어부(30)는, 취출한 노드가 종단 노드인지의 여부를 판단한다(스텝 S54). 상기 판단에 의해 종단 노드가 아니라고 판단한 경우(스텝 S54, ' 아니오'), 상기 인식 제어부(30)는, 상기 노드 전개부(32)에 의해 취출한 노드에 대한 노드 전개 처리를 행한다(스텝 S55).
상기 노드 전개부(32)에 의해 취출한 노드에 속하는 각 노드가 얻어진 경우, 상기 평가값 산출부(33)는, 얻어진 각 노드에 대한 평가값을 계산한다(스텝 S56). 이 제3 처리예에서는, 사후 확률을 추정 처리 시간으로 나눈 값을 평가값으로서 산출한다.
즉, 상기 평가값 산출부(33)는, 우선, 상기 노드 전개부(32)에 의해 얻어진 각 노드에 대하여 사후 확률을 산출한다(스텝 S61). 각 노드의 사후 확률은, 전술한 계산 방법에 의해, 각 노드에 대한 인식 처리에 의해 근사적으로 산출된다.
각 노드의 사후 확률이 산출되면, 상기 평가값 산출부(33)는, 각 노드에 관한 처리에 요하는 시간을 추정하는 처리를 행한다(스텝 S62). 여기서는, 각 노드가 속하는 하위 계층의 인식 처리에 요하는 처리 시간이 추정되는 것으로 한다. 이러한 처리 시간은, 예를 들면, 하위 계층의 단어의 총 문자수로부터 상정하는 방법이 생각된다.
각 노드의 사후 확률과 추정 처리 시간이 얻어지면, 상기 평가값 산출부(33)는, 각 노드마다 상기 스텝 S61에서 산출된 사후 확률을 상기 스텝 S62에서 산출된 추정 처리 시간으로 나눈 값을 각 노드의 평가값으로서 산출한다(스텝 S63).
이러한 방법에 의해 상기 평가값 산출부(33)에서 얻어진 각 노드의 평가값이 산출되면, 상기 인식 제어부(30)는, 이들 각 노드와 각 평가값을 대응지어 버퍼에 저장한다(스텝 S57). 얻어진 각 노드와 각 평가값을 버퍼에 저장하면, 상기 인식 제어부(30)는, 상기 스텝 S53으로 되돌아가서, 전술한 처리를 반복하여 실행한다.
즉, 상기 스텝 S54에서 취출한 노드가 종단 노드라고 판단한 경우(스텝 S54, '예'), 상기 인식 제어부(30)는, 해당 노드의 평가값이 소정의 임계값 이상인지의 여부를 상기 결정부(35)에 의해 판정한다(스텝 S58). 이 판정에 의해 해당 노드의 평가값이 소정의 임계값 미만이라고 판정된 경우(스텝 S58, '아니오'), 상기 인식 제어부(30)는, 상기 버퍼에 해당 노드 이외에 미처리의 노드가 존재하는지의 여부를 판단한다(스텝 S59).
상기 버퍼에 미처리의 노드가 존재한다고 판단한 경우(스텝 S59, '아니오'), 상기 인식 제어부(30)는, 상기 스텝 S53으로 되돌아가서, 해당 노드 이외에서 미처리의 노드로부터 최대 평가값으로 되는 노드를 취출함으로써, 상기 스텝 S53~S57의 처리를 실행한다. 또한, 상기 버퍼에 미처리의 노드가 존재하지 않는다고 판단한 경우(스텝 S59, '예'), 상기 인식 제어부(30)는, 평가값이 소정의 임계값 이상으로 되는 후보가 얻어지지 않은 것으로 하여, 처리를 종료한다.
또한, 상기 스텝 S58의 판정에 의해 해당 노드의 평가값이 소정의 임계값 이상이라고 판정된 경우(스텝 S58, '예'), 상기 인식 제어부(30)는, 상기 결정부(35)에 의해 해당 노드에 의해 특정되는 각 계층의 후보에 의해 나타내어지는 패턴을 최종적인 인식 결과로서 출력한다(스텝 S60). 또한, 제3 처리예로서는, 최종적인 인식 결과로서 소정의 임계값 이상의 전체 노드를 출력하도록 해도 된다. 이것은, 상기 스텝 S60에서 최종적인 인식 결과가 얻어진 경우라도, 상기 스텝 S59로 진행하여, 버퍼에 존재하는 미처리의 노드에 대하여 상기 스텝 S53 이후의 처리를 실행 함으로써 실현 가능하다. 이에 의해, 최종적인 인식 결과로서 노드의 평가값이 소정의 임계값 이상으로 되는 복수의 인식 결과를 출력하도록 할 수 있다.
상기한 바와 같이, 제3 처리예에서는, 복수 단계로 이루어지는 패턴 인식 처리에서, 각 후보에 대한 사후 확률을 추정 처리 시간으로 나눈 값을 평가값으로 하고, 최량 우선 탐색에 의해 인식 결과로서의 후보를 좁혀 가고, 좁혀 간 후보 중 소정의 임계값 이상의 평가값으로 되는 후보에 기초해서 최종적인 인식 결과를 얻도록 되어 있다. 이에 의해, 제3 처리예에 따르면, 처리 시간을 가미한 평가값에 의해 효율적으로 인식 결과의 후보를 좁혀 갈 수 있고, 좁혀 간 후보로부터 최종적인 인식 결과를 얻는 것이 가능하다.
다음으로, 상기 정보 처리 장치(11)에서의 패턴 인식 처리의 제4 처리예에 대해서 설명한다.
본 제4 처리예는, 평가값이 상위 N개인 노드(복수의 노드)를 탐색해 가는 방법을 적용한 패턴 인식 처리이다. 제4 처리예에서는, 상기 제2 처리예에서 설명한 최량 우선 탐색과 마찬가지로 상이한 계층의 노드도 비교 대상으로 하여, 평가값이 상위 N개인 노드를 탐색한다. 또한, 제4 처리예에서는, 추출한 N개의 노드에 평가값이 소정 임계값 이상으로 되는 종단 노드(패턴 전체의 인식 결과)가 존재하는지의 여부를 판정한다. 추출한 노드에 평가값이 소정 임계값 이상인 종단 노드가 존재하지 않는 경우, 제4 처리예에서는, 추출한 각 노드를 다시 전개함으로써, 전술한 처리를 반복한다.
이하에 설명하는 제4 처리예에서, 추출하는 노드수는, 미리 설정되는 것으로 한다. 추출하는 노드수는, 인식 처리 시간, 정보 처리 장치의 처리 능력, 및, 인식 대상으로 하는 패턴(문자 혹은 단어)의 특징 등의 조건에 따라서 설정된다. 도 17은, 도 11에 나타내는 패턴 인식부(22a)에, 추출하는 노드수의 설정값을 유지하기 위한 설정 정보 기억부(30a)를 설치한 구성예를 나타내는 도면이다.
도 17에 나타내는 구성예에서는, 설정 정보 기억부(30a)는, 상기 인식 제어부(30)에 설치되어 있다. 예를 들면, 상기 설정 정보 기억부(30a)에 기억되는 노드수의 설정값은, 인식 제어부(30)에 적용되는 인식 알고리즘의 설계 단계에서 설정된다. 단, 상기 설정 정보 기억부(30a)에 기억되는 노드수의 설정값은, 도시하지 않는 키보드 등의 조작부에 의해 오퍼레이터가 적절히 지정할 수 있도록 해도 된다.
도 18은, 추출하는 노드수와 그들 노드에 대한 처리 시간과의 관계를 개념적으로 나타내는 도면이다. 도 18에 나타내는 바와 같이, 1개의 노드에 대한 처리 시간에 비해, 2개째 이후의 노드에 대한 처리 시간은 짧다. 예를 들면, 도 18에 나타내는 예에서는, 각 노드가 일본어 혹은 알파벳 등의 문자로 이루어지는 단어 후보인 경우, 1개째의 노드에 대한 처리 시간에 비해, 2개째 이후의 노드에 대한 처리 시간은 매우 짧아져 있다. 이러한 경향은, 일반적으로, 패턴 인식을 행하기 위한 알고리즘에 적합하다.
즉, 패턴 인식 처리에서는, 인식 후보로서의 각 노드를 개별로 처리하는 것 보다도, 복수의 노드를 통합해서 처리를 실행한 쪽이 효율이 좋다고 생각된다. 단, 통합해서 처리하는 노드수를 무제한으로 늘려도, 반드시 인식 정밀도의 향상을 기대할 수 있는 것은 아니다. 따라서, 통합해서 처리하는 노드수(추출하는 노드수)는, 허용되는 인식 처리 시간, 인식 대상으로 되는 패턴의 특징, 및, 패턴 인식 처리를 실행하는 정보 처리 장치(11)의 처리 능력에 따라서 적절히 설정되는 것이 바람직하다.
예를 들면, 일본어와 영어에서는, 문자 자체의 복잡함 및 사전의 단어수 등이 크게 상이하다. 일반적으로는, 일본어는, 알파벳에 비해서 문자 자체가 복잡하고, 또한, 사전의 단어수도 많다고 생각된다. 이 때문에, 일본어의 문자 인식 처리에서는, 알파벳의 문자 인식 처리에 비해, 추출하는 노드수를 많게 설정하는 것이 바람직하다. 또한, 도 18에 나타내는 예에서는, 1개째의 노드에 대한 처리 시간은, 알파벳에 비해서 일본어쪽이 길다. 1개째의 노드에 대한 처리 시간이 길어지는 패턴의 인식 처리에서는, 처리 시간의 허용 범위 내에서, 많은 노드를 통합해서 처리하는 쪽이 효율 및 정밀도가 좋아진다고 생각된다.
다음으로, 제4 처리예로서의 패턴 인식 처리의 흐름에 대해서 설명한다.
도 19는, 상기 정보 처리 장치(11)에서의 패턴 인식 처리의 제4 처리예로서의 처리의 흐름을 설명하기 위한 플로우차트이다.
우선, 상기 화상 입력 장치(12)로부터 공급되는 패턴 인식 처리의 대상으로 되는 화상은, 화상 인터페이스(21)에 의해 정보 처리 장치(11)에 취득된다(스텝 S70). 화상 인터페이스(21)에 의해 패턴 인식 처리의 대상으로 되는 화상이 취득되면, 프로세서(22)는, 패턴 인식부(22a)에 의한 패턴 인식 처리를 개시한다. 즉, 상기 패턴 인식부(22a)의 인식 제어부(30)는, 우선, 상기 후보 추출부(31)에 의해 입력 화상으로부터 단어 후보를 추출하는 처리를 실행한다(스텝 S71).
입력 화상으로부터 단어 후보가 추출되면, 상기 인식 제어부(30)는, 추출된 각 단어 후보에 대한 탐색 처리를 개시한다. 우선, 상기 인식 제어부(30)는, 탐색 트리의 루트 노드를 설정하는 처리를 행한다. 이것은, 버퍼 상에서 탐색 트리의 생성을 개시하는 것에 상당한다. 즉, 상기 인식 제어부(30)는, 워킹 메모리(23) 등의 버퍼에 루트 노드를 저장한다(스텝 S72).
상기 버퍼에 노드를 저장하는 처리가 행해지면, 상기 인식 제어부(30)는, 평가값이 큰 순부터 소정수까지의 노드(상위 N개의 노드)를 추출하는 처리를 행한다. 즉, 상기 인식 제어부(30)는, 버퍼에 저장되어 있는 복수의 노드로부터 평가값이 큰 순으로 N번째까지의 N개의 노드를 취출한다(스텝 S73). 또한, 버퍼에 저장되어 있는 노드가 N개 미만인 경우(예를 들면, 루트 노드만이 버퍼에 저장되어 있는 경우), 상기 인식 제어부(30)는, 버퍼에 저장되어 있는 모든 노드를 취출하도록 하면 된다.
상기 버퍼로부터 N개까지의 노드를 취출하는 경우, 상기 인식 제어부(30)는, 상기 버퍼로부터 추출하는 노드에 종단 노드가 포함되는지의 여부를 판단한다(스텝 S74). 전술한 바와 같이, 예를 들면, 도 15에 나타내는 탐색 트리의 개념도에서, 탐색 트리의 말단으로 되는 검은 동그라미로 나타내는 노드가 종단 노드이다. 도 15에 나타내는 바와 같이, 종단 노드에는, 종속하는 노드가 존재하지 않는다. 이것은, 종단 노드가, 각 계층의 노드의 조합으로 이루어지는 1개의 패턴 전체(예를 들면, 주소 정보 등의 문자열)를 나타내는 것인 것을 의미하고 있다.
상기 버퍼로부터 취출한 N개의 노드에 종단 노드가 포함되지 않는다고 판단한 경우(스텝 S74, '아니오'), 상기 인식 제어부(30)는, 상기 노드 전개부(32)에 의해 취출한 N개의 각 노드에 대한 노드 전개 처리를 행한다(스텝 S75). 노드 전개 처리는, 각 노드에 속하는 1개 아래의 계층의 각 노드를 얻는 처리이다. 또한, 루트 노드가 취출된 경우, 상기 노드 전개부(32)는, 상기 후보 추출부(31)에 의해 추출된 후보 중 제1 계층의 후보에 상당하는 각 노드를 루트 노드에 종속하는 각 노드로서 버퍼에 저장한다.
상기 노드 전개부(32)에 의해 취출한 각 노드에 종속하는 복수의 노드가 얻어진 경우, 상기 평가값 산출부(33)는, 얻어진 각 노드에 대한 평가값을 계산한다(스텝 S76). 여기서는, 전술한 계산 방법에 의해, 각 노드에 대한 인식 처리에 의해 근사적으로 얻어지는 사후 확률이 평가값으로서 산출되는 것으로 한다.
상기 평가값 산출부(33)에 의해 전개된 각 노드의 평가값이 산출되면, 상기 인식 제어부(30)는, 이들 각 노드와 각 평가값을 대응지어 버퍼에 저장한다(스텝 S77). 얻어진 각 노드와 각 평가값을 버퍼에 저장하면, 상기 인식 제어부(30)는, 상기 스텝 S73으로 되돌아가서, 전술한 처리를 반복하여 실행한다. 상기 스텝 S73~S77의 처리는, 상기 스텝 S73에서 취출하는 노드로부터 인식 결과로서 채용되는 종단 노드가 검출될 때까지 반복하여 실행된다. 이 결과로서, 평가값이 상위 N개로 되는 각 노드를 순서대로 결합한 탐색 트리가 얻어진다.
또한, 상기 스텝 S74에서 버퍼로부터 취출한 노드에 종단 노드가 포함된다고 판단한 경우(스텝 S74, '예'), 상기 인식 제어부(30)는, 각 종단 노드의 평가값이 소정의 임계값 이상인지의 여부를 상기 결정부(35)에 의해 판정한다(스텝 S78). 상기 버퍼에는, 각 노드에 대한 평가값이 기억되어 있다. 따라서, 버퍼로부터 추출되는 종단 노드에도 평가값이 산출되어 있다. 종단 노드는, 패턴 전체를 일의적으로 특정하는 것이다. 이 때문에, 종단 노드에 대한 평가값은, 해당 종단 패턴으로 특정되는 패턴 전체가 확실한 것 같은지의 여부를 평가하는 값이기도 하다. 따라서, 상기 인식 제어부(30)는, 종단 노드에 대한 평가값이 소정의 임계값 이상이면, 해당 종단 노드로 특정되는 패턴 전체가 인식 결과로서 확실한 것 같다고 판정한다.
즉, 추출한 N개의 노드에 포함되는 종단 노드의 평가값이 소정의 임계값 이상인 경우(스텝 S78, '예'), 상기 인식 제어부(30)는, 해당 종단 노드에 의해 특정되는 노드의 조합(패턴 전체)을 최종적인 패턴 전체의 인식 결과로서 채용한다. 즉, 상기 인식 제어부(30)는, 평가값이 소정의 임계값 이상으로 되는 종단 노드로 특정되는 각 단계의 노드의 조합으로 이루어지는 패턴 전체를 최종적인 인식 결과로서 출력한다(스텝 S80).
또한, 제4 처리예로서는, 소정의 임계값 이상의 모든 종단 노드를 패턴 전체의 인식 결과의 후보로서 출력하도록 해도 된다. 이것은, 상기 스텝 S78에서 소정 임계값 이상의 종단 노드가 얻어진 경우라도, 상기 스텝 S75로 진행함으로써 실현할 수 있다. 이 경우, 소정 임계값 이상의 종단 노드를 축적하면서, 버퍼가 비게 될 때까지 상기 스텝 S73~79의 처리를 실행하면 된다. 이에 의해, 상기 인식 제어부(30)는, 평가값이 소정 임계값 이상으로 된 모든 종단 노드에 기초하는 복수의 인식 결과를 출력할 수 있다.
또한, 상기 판정에 의해 추출한 종단 노드의 평가값이 소정의 임계값 이상이 아니라고 판정된 경우(스텝 S78, '아니오'), 상기 인식 제어부(30)는, 상기 스텝 S75로 진행하여, 종단 노드 이외의 각 노드에 대한 노드 전개 처리를 행한다. 상기 노드 전개 처리에 의해 전개한 각 노드에 대한 평가값을 버퍼에 저장하면(스텝 S79, '예'), 상기 인식 제어부(30)는, 상기 스텝 S73으로 되돌아가서, 상기 버퍼로부터 평가값이 상위 N번째까지인 N개의 노드를 취출함으로써, 상기 스텝 S73~S77의 처리를 실행한다. 단, 버퍼로부터 취출한 전체 노드가 종단 노드이고, 또한, 이들 종단 노드가 모두 소정의 임계값 미만인 경우, 상기 버퍼에는 노드가 저장되지 않는다. 이와 같이 버퍼가 비게 된 경우(스텝 S79, '예'), 상기 인식 제어부(30)는, 평가값이 소정의 임계값 이상으로 되는 후보가 얻어지지 않았던 것으로 하여 해당 처리를 종료한다.
상기한 바와 같이, 제4 처리예에서는, 복수 단계의 부분 패턴(예를 들면, 단어)으로 이루어지는 패턴 전체(문자열)를 인식하는 처리에서, 최량 우선 탐색에 의해 각 단계의 부분 패턴의 후보(노드)를 N개씩 좁혀 가고, 좁혀 간 N개의 노드 중 평가값이 소정 임계값 이상으로 되는 종단 노드를 최종적인 인식 결과로서 얻도록 되어 있다. 이에 의해, 제4 처리예에서는, 정해로 되는 노드가 파기되는 일없이, 효율적으로 각 단계의 노드를 좁혀 갈 수 있어, 효율적이며 고정밀도의 패턴 인식 처리를 실현할 수 있다.
또한, 제4 처리예에서는, 평가값이 상위 N개의 노드를 추출하기 위해서, 각 노드에 종속하는 노드를 전개하고, 전개한 각 노드에 대한 평가값으로서의 사후 확률을 근사적으로 산출한다. 이에 의해, 제4 처리예에서는, 사후 확률이 평가값으로 되기 때문에, 상이한 단계의 노드에 대해서도 비교할 수 있고, 그들 노드로부터 상위 N개의 노드를 용이하게 추출할 수 있다.
다음으로, 상기 정보 처리 장치(11)에서의 패턴 인식 처리의 제5 처리예에 대해서 설명한다.
제5 처리예는, 제4 처리예의 변형예이다. 제5 처리예에서는, 제4 처리예와 마찬가지로 최량 우선 탐색에 의해 평가값이 상위 N개인 노드를 탐색해 가는 방법을 적용한 패턴 인식 처리이다. 제5 처리예에서는, 상기 제4 처리예에서 설명한 각 처리에서의 각 노드의 평가값의 산출 처리로서, 각 노드의 사후 확률을 추정되는 처리 시간으로 나눈 값을 산출하는 처리를 행한다.
도 20은, 상기 정보 처리 장치(11)에서의 패턴 인식 처리의 제5 처리예로서의 처리의 흐름을 설명하기 위한 플로우차트이다. 또한, 도 20에 나타내는 스텝 S90~S95, S97~S100의 각 처리는, 각각 제4 처리예에서 설명한 도 19에 나타내는 스텝 S70~S75, S77~S80과 마찬가지의 설명이 가능하다.
상기 화상 입력 장치(12)로부터 공급되는 패턴 인식 처리의 대상으로 되는 화상은, 화상 인터페이스(21)에 의해 정보 처리 장치(11)에 취득된다(스텝 S90). 화상 인터페이스(21)에 의해 패턴 인식 처리의 대상으로 되는 화상이 취득되면, 상기 패턴 인식부(22a)의 인식 제어부(30)는, 상기 후보 추출부(31)에 의해 입력 화상으로부터 단어 후보로 되는 화상 영역을 추출한다(스텝 S91). 입력 화상으로부 터 단어 후보의 영역이 추출되면, 상기 인식 제어부(30)는, 우선, 워킹 메모리(23) 등의 버퍼에 루트 노드를 저장한다(스텝 S92).
상기 버퍼에 노드가 저장되면, 상기 인식 제어부(30)는, 버퍼에 저장되어 있는 복수의 노드로부터 평가값이 큰 순으로 N개까지의 노드를 취출한다(스텝 S93). 상기 버퍼로부터 상위 N개까지의 노드를 취출하는 경우, 상기 인식 제어부(30)는, 상기 버퍼로부터 추출하는 노드에 종단 노드가 포함되는지의 여부를 판단한다(스텝 S94). 상기 버퍼로부터 취출한 N개의 노드에 종단 노드가 포함되지 않는 경우(스텝 S94, '아니오'), 상기 인식 제어부(30)는, 상기 노드 전개부(32)에 의해 취출한 N개의 각 노드에 대한 노드 전개 처리를 행한다(스텝 S95). 노드 전개 처리는, 각 노드에 속하는 1개 아래의 계층의 각 노드를 얻는 처리이다.
상기 노드 전개부(32)에 의해 취출한 각 노드에 종속하는 복수의 노드가 얻어진 경우, 상기 평가값 산출부(33)는, 얻어진 각 노드에 대한 평가값을 계산한다(스텝 S96). 이 제5 처리예에서는, 사후 확률을 추정 처리 시간으로 나눈 값을 평가값으로서 산출한다(스텝 S101~S103).
즉, 상기 평가값 산출부(33)는, 상기 노드 전개부(32)에 의해 얻어진 각 노드에 대하여 사후 확률을 산출한다(스텝 S101). 각 노드의 사후 확률은, 전술한 계산 방법에 의해, 각 노드에 대한 인식 처리에 의해 근사적으로 산출된다.
각 노드의 사후 확률이 산출되면, 상기 평가값 산출부(33)는, 각 노드에 관한 처리에 요하는 시간을 추정하는 처리를 행한다(스텝 S102). 여기서는, 각 노드가 속하는 하위 계층의 인식 처리에 요하는 처리 시간이 추정되는 것으로 한다. 이러한 처리 시간은, 예를 들면, 하위 계층의 단어의 총문자수로부터 상정하는 방법이 생각된다.
각 노드의 사후 확률과 추정 처리 시간이 얻어지면, 상기 평가값 산출부(33)는, 각 노드마다 상기 스텝 S101에서 산출된 사후 확률을 상기 스텝 S102에서 산출된 추정 처리 시간으로 나눈 값을 각 노드의 평가값으로서 산출한다(스텝 S103).
이러한 방법에 의해 상기 평가값 산출부(33)에 의해 전개된 각 노드의 평가값이 산출되면, 상기 인식 제어부(30)는, 이들 각 노드와 각 평가값을 대응지어 버퍼에 저장한다(스텝 S97). 얻어진 각 노드와 각 평가값을 버퍼에 저장하면, 상기 인식 제어부(30)는, 상기 스텝 S93으로 되돌아가서, 전술한 처리를 반복하여 실행한다. 상기 스텝 S93~S97의 처리는, 상기 스텝 S93에서 취출하는 노드로부터 인식 결과로서 채용되는 종단 노드가 검출될 때까지 반복하여 실행된다. 이 결과로서, 평가값이 상위 N개로 되는 각 노드를 순서대로 결합한 탐색 트리가 얻어진다.
또한, 상기 스텝 S94에서 버퍼로부터 취출한 노드에 종단 노드가 포함된다고 판단한 경우(스텝 S94, '예'), 상기 인식 제어부(30)는, 각 종단 노드의 평가값이 소정의 임계값 이상인지의 여부를 상기 결정부(35)에 의해 판정한다(스텝 S98). 상기 결정부(35)에 의해 추출한 N개의 노드에 포함되는 종단 노드의 평가값이 소정의 임계값 이상이라고 판정된 경우(스텝 S98, '예'), 상기 인식 제어부(30)는, 해당 종단 노드에 의해 특정되는 노드의 조합으로 이루어지는 패턴 전체의 최종적인 인식 결과로서 출력한다(스텝 S100).
또한, 제5 처리예로서는, 소정의 임계값 이상으로 되는 모든 종단 노드에 기 초하는 패턴을 최종적인 인식 결과의 후보로서 출력하도록 해도 된다. 이것은, 상기 스텝 S98에서 소정 임계값 이상의 종단 노드가 얻어진 경우라도, 상기 스텝 S95으로 진행함으로써 실현 가능하다. 이 경우, 소정 임계값 이상으로 된 종단 노드를 축적하면서, 버퍼가 비게 될 때까지 상기 스텝 S93~99의 처리가 실행된다. 이에 의해, 상기 인식 제어부(30)는, 평가값이 소정 임계값 이상으로 된 모든 종단 노드에 기초하는 복수의 인식 결과를 최종적인 인식 결과로서 출력하면 된다.
또한, 상기 판정에 의해 추출한 종단 노드의 평가값이 소정의 임계값 이상이 아니라고 판정된 경우(스텝 S98, '아니오'), 상기 인식 제어부(30)는, 상기 스텝 S95로 진행하여, 종단 노드 이외의 각 노드에 대한 노드 전개 처리를 행한다. 상기 노드 전개 처리에 의해 전개한 각 노드에 대한 평가값을 버퍼에 저장하면(스텝 S99, '예'), 상기 인식 제어부(30)는, 상기 스텝 S93으로 되돌아가서, 상기 버퍼로부터 평가값이 상위 N번째까지인 N개의 노드를 취출함으로써, 상기 스텝 S93~S97의 처리를 실행한다. 단, 버퍼로부터 취출한 전체 노드가 종단 노드이고, 또한, 이들 종단 노드가 모두 소정의 임계값 미만인 경우, 상기 버퍼에는 노드가 저장되지 않는다. 이와 같이 버퍼가 비게 된 경우(스텝 S99, '예'), 상기 인식 제어부(30)는, 평가값이 소정의 임계값 이상으로 되는 후보가 얻어지지 않는 것으로 하여 해당 처리를 종료한다.
상기한 바와 같이, 제5 처리예에서는, 각 노드에 대한 평가값으로서, 사후 확률을 추정 처리 시간으로 나눈 값을 산출한다. 이러한 평가값에 기초하여 노드를 N개씩 좁혀 감으로써, 제5 처리예에서는, 평가값이 소정 임계값 이상으로 되는 종단 노드를 최종적인 인식 결과로서 얻도록 되어 있다. 이에 의해, 제5 처리예에 따르면, 처리 시간을 가미한 평가값에 의해 효율적으로 인식 결과의 후보를 좁혀 갈 수 있다.
추가의 이점 및 변형이 당업자에게 용이하게 인식될 것이다. 따라서, 본 발명은 보다 넓은 관점에서 본 명세서에서 예시 및 기술된 상세한 설명 및 실시 형태에 한정되지 않는다. 따라서, 첨부된 특허청구범위 및 그 등가물에 의해 정의된 전체적인 발명의 개념의 취지 또는 범위를 벗어나지 않는 한 다양한 변형이 이루어질 수 있다.
도 1은, 본 실시예의 패턴 인식 방법에 따른 얼굴 인식 처리에서의 각 단계의 처리를 탐색 트리로 표현한 도면.
도 2는, 주소 데이터베이스의 예를 나타내는 도면.
도 3은, 주소 정보의 표기예를 나타내는 도면.
도 4는, 도 3에 나타내는 주소 정보의 화상으로부터 얻어진 단어 후보의 예를 나타내는 도면.
도 5는, 매칭 처리를 탐색 트리로 나타내는 개념도.
도 6은, 탐색 트리로 나타내어지는 각 노드의 상태를 나타내는 도면.
도 7은, 문자 후보의 예를 나타내는 도면.
도 8은, 패턴 인식 기능을 갖는 정보 처리 장치의 구성예를 나타내는 도면.
도 9는, 패턴 인식 처리의 대상으로 되는 화상의 예를 나타내는 도면.
도 10은, 사전 데이터베이스로서의 주소 데이터베이스의 구성예를 나타내는 도면.
도 11은, 패턴 인식부의 구성예를 나타내는 도면.
도 12는, 도 9에 도시하는 입력 화상으로부터 추출되는 단어 후보의 예를 나타내는 도면.
도 13은, 패턴 인식 처리의 제1 처리예로서의 처리의 흐름을 설명하기 위한 플로우차트.
도 14는, 탐색 트리의 구성예를 나타내는 개념도.
도 15는, 정보 처리 장치에서의 패턴 인식 처리의 제2 처리예로서의 처리의 흐름을 설명하기 위한 플로우차트.
도 16은, 정보 처리 장치에서의 패턴 인식 처리의 제3 처리예로서의 처리의 흐름을 설명하기 위한 플로우차트.
도 17은, 제4 처리예에 따른 정보 처리 장치에서의 패턴 인식부의 구성예를 나타내는 도면.
도 18은, 노드수와 그들 노드에 대한 처리 시간과의 관계를 개념적으로 나타내는 도면.
도 19는, 정보 처리 장치에서의 패턴 인식 처리의 제4 처리예로서의 처리의 흐름을 설명하기 위한 플로우차트.
도 20은, 정보 처리 장치에서의 패턴 인식 처리의 제5 처리예로서의 처리의 흐름을 설명하기 위한 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
11 : 정보 처리 장치
12 : 화상 입력 장치
21: 화상 I/F
22 : 프로세서
22a : 패턴 인식부
23 : 워킹 메모리
24 : 프로그램 메모리
25 : 데이터 메모리
25a : 사전 DB
26 : 출력 I/F
30 : 인식 제어부
31 : 후보 추출부
32 : 노드 전개부
33 : 평가값 산출부
34 : 노드 선별부
35 : 결정부

Claims (16)

  1. 전 단계의 인식 결과를 이용하여 다음 단계의 처리 대상을 좁히는 탐색 트리를 이용하여, 복수 단계의 인식 처리에서 얻어지는 정보에 의해 패턴 전체를 인식하는 처리를 행하는 정보 처리 장치에 이용되는 패턴 인식 방법으로서,
    다음에 인식 처리를 행할 처리 대상의 후보로서의 각 인식 후보에 대하여, 실행 완료된 인식 처리의 결과를 조건으로 한 사후 확률에 기초하는 평가값을 산출하고,
    산출한 각 인식 후보에 대한 평가값에 기초하여 각 인식 후보를 선별하고,
    이들 선별된 각 인식 후보에 대하여 인식 처리를 행하고,
    인식 처리를 행한 각 인식 후보의 다음 단계에 종속하는 처리 대상을 다음 인식 후보로서 취급하여, 다음 인식 후보에 대한 상기 평가값의 산출, 상기 인식 후보의 선별 및 상기 인식 처리의 수순을 반복하여 행함으로써 탐색 트리를 탐색하고,
    다음 단계에 종속하는 처리 대상이 없는 종단의 인식 처리 완료 처리 대상으로부터 패턴의 인식 결과를 결정하는
    것을 특징으로 하는 패턴 인식 방법.
  2. 제1항에 있어서,
    상기 인식 후보는, 직전에 인식 처리를 행한 처리 대상의 다음 단계에 종속하는 처리 대상만으로 하여 그 이전의 인식 후보는 파기하고,
    상기 인식 후보의 선별은, 상기 평가값이 높은 순으로 소정수의 인식 후보를 선출하는, 패턴 인식 방법.
  3. 제1항에 있어서,
    상기 인식 후보의 선별은, 상기 평가값이 산출되어 있는 인식 후보 중 평가값이 최대인 인식 후보를 선출하는, 패턴 인식 방법.
  4. 제1항에 있어서,
    상기 인식 후보의 선별은, 상기 평가값이 산출되어 있는 인식 후보 중 평가값이 높은 순으로 소정수의 인식 후보를 선출하는, 패턴 인식 방법.
  5. 제1항, 제3항 또는 제4항 중 어느 한 항에 있어서,
    상기 인식 결과의 결정은,
    선출된 인식 후보에 다음 단계에 종속하는 처리 대상이 없는 종단의 인식 후보가 포함되고, 또한, 상기 종단의 인식 후보에 대한 평가값이 소정의 임계값 이상인 경우, 상기 종단의 인식 후보에 기초하는 각 단계의 인식 후보의 조합을 패턴 전체의 인식 결과로 하는, 패턴 인식 방법.
  6. 제3항 또는 제4항에 있어서,
    각 인식 후보에 종속하는 다음 단계 이후의 처리 대상에 대한 인식 처리에 요하는 시간을 또한 추정하고,
    상기 평가값의 산출은, 상기 사후 확률과 상기 추정한 인식 처리에 요하는 시간에 기초하여 평가값을 산출하는, 패턴 인식 방법.
  7. 제1항에 있어서,
    상기 인식 후보의 사후 확률은, 상기 인식 후보를 조건으로 하여 상기 인식 후보에 대한 인식 처리 결과가 출력될 확률과, 상기 인식 후보에 대한 인식 처리 결과가 출력될 확률과, 상기 인식 후보의 1개 전의 단계의 인식 후보에 대한 사후 확률에 기초하여 산출되는, 패턴 인식 방법.
  8. 제1항에 있어서,
    상기 인식 대상으로 하는 패턴 전체는, 복수 계층의 단어의 조합으로 이루어지는 문자 정보이며,
    상기 각 단계의 처리 대상은 각 계층의 단어 후보인, 패턴 인식 방법.
  9. 전 단계의 인식 결과를 이용하여 다음 단계의 처리 대상을 좁히는 탐색 트리를 이용하여, 복수 단계의 인식 처리에서 얻어지는 정보에 의해 패턴 전체를 인식하는 처리를 행하게 하기 위한 프로그램을 기억하는 컴퓨터에 의해 판독 가능한 기억 매체로서,
    상기 프로그램은,
    다음에 인식 처리를 행할 처리 대상의 후보로서의 각 인식 후보에 대하여 실행 완료된 인식 처리의 결과를 조건으로 한 사후 확률에 기초하는 평가값을 산출하는 기능과,
    산출한 각 인식 후보에 대한 평가값에 기초하여 각 인식 후보를 선별하는 기능과,
    이들 선별된 각 인식 후보에 대하여 인식 처리를 행하는 기능과,
    인식 처리를 행한 각 인식 후보의 다음 단계에 종속하는 처리 대상을 다음 인식 후보로서 취급하여, 다음 인식 후보에 대한 상기 평가값의 산출, 상기 인식 후보의 선별 및 상기 인식 처리의 수순을 반복하여 행함으로써 탐색 트리를 탐색하는 기능과,
    다음 단계에 종속하는 처리 대상이 없는 종단의 인식 처리 완료 처리 대상으로부터 패턴의 인식 결과를 결정하는 기능을 갖는, 기억 매체.
  10. 제9항에 있어서,
    상기 인식 후보는, 직전에 인식 처리를 행한 처리 대상의 다음 단계에 종속하는 처리 대상만으로 하여 그 이전의 인식 후보는 파기하고,
    상기 인식 후보를 선별하는 기능은, 상기 평가값이 높은 순으로 소정수의 인식 후보를 선출하는, 기억 매체.
  11. 제9항에 있어서,
    상기 인식 후보를 선별하는 기능은, 상기 평가값이 산출되어 있는 인식 후보 중 평가값이 최대인 인식 후보를 선출하는, 기억 매체.
  12. 제9항에 있어서,
    상기 인식 후보를 선별하는 기능은, 상기 평가값이 산출되어 있는 인식 후보 중 평가값이 높은 순으로 소정수의 인식 후보를 선출하는, 기억 매체.
  13. 제9항, 제11항 또는 제12항 중 어느 한 한에 있어서,
    상기 인식 결과를 결정하는 기능은,
    선출된 인식 후보에 다음 단계에 종속하는 처리 대상이 없는 종단의 인식 후보가 포함되고, 또한 상기 종단의 인식 후보에 대한 평가값이 소정의 임계값 이상인 경우, 상기 종단의 인식 후보에 기초하는 각 단계의 인식 후보의 조합을 패턴 전체의 인식 결과로 하는, 기억 매체.
  14. 제11항 또는 제12항에 있어서,
    각 인식 후보에 종속하는 다음 단계 이후의 처리 대상에 대한 인식 처리에 요하는 시간을 또한 추정하고,
    상기 평가값의 산출은, 상기 사후 확률과 상기 추정한 인식 처리에 요하는 시간에 기초하여 평가값을 산출하는, 기억 매체.
  15. 제9항에 있어서,
    상기 인식 후보의 사후 확률은, 상기 인식 후보를 조건으로 하여 상기 인식 후보에 대한 인식 처리 결과가 출력될 확률과, 상기 인식 후보에 대한 인식 처리 결과가 출력될 확률과, 상기 인식 후보의 1개 전의 단계의 인식 후보에 대한 사후 확률에 기초하여 산출되는, 기억 매체.
  16. 제9항에 있어서,
    상기 인식 대상으로 하는 패턴 전체는, 복수 계층의 단어의 조합으로 이루어지는 문자 정보이며,
    상기 각 단계의 처리 대상은 각 계층의 단어 후보인, 기억 매체.
KR1020090013755A 2008-02-20 2009-02-19 패턴 인식 방법, 및 패턴 인식 프로그램을 기억하는 기억 매체 KR101109329B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008039137A JP5224847B2 (ja) 2008-02-20 2008-02-20 パターン認識方法、文字認識方法、パターン認識プログラムおよび文字認識プログラム
JPJP-P-2008-039137 2008-02-20
JPJP-P-2008-330845 2008-12-25
JP2008330845A JP5150479B2 (ja) 2008-12-25 2008-12-25 パターン認識方法、文字認識方法、パターン認識プログラムおよび文字認識プログラム

Publications (2)

Publication Number Publication Date
KR20090090280A KR20090090280A (ko) 2009-08-25
KR101109329B1 true KR101109329B1 (ko) 2012-01-31

Family

ID=40651618

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090013755A KR101109329B1 (ko) 2008-02-20 2009-02-19 패턴 인식 방법, 및 패턴 인식 프로그램을 기억하는 기억 매체

Country Status (3)

Country Link
US (1) US20090208112A1 (ko)
EP (1) EP2093700A3 (ko)
KR (1) KR101109329B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5574816B2 (ja) 2010-05-14 2014-08-20 キヤノン株式会社 データ処理装置及びデータ処理方法
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
JP5618670B2 (ja) * 2010-07-21 2014-11-05 キヤノン株式会社 データ処理装置及びその制御方法
JP5521881B2 (ja) * 2010-08-12 2014-06-18 富士ゼロックス株式会社 画像識別情報付与プログラム及び画像識別情報付与装置
JP5834232B2 (ja) * 2011-01-17 2015-12-16 パナソニックIpマネジメント株式会社 撮像画像認識装置、撮像画像認識システム及び撮像画像認識方法
US9053579B2 (en) * 2012-06-19 2015-06-09 Palo Alto Research Center Incorporated Selective learning for growing a graph lattice
US8831339B2 (en) 2012-06-19 2014-09-09 Palo Alto Research Center Incorporated Weighted feature voting for classification using a graph lattice
KR20140075840A (ko) * 2012-11-29 2014-06-20 한국전자통신연구원 우편물 구분 자동화기기의 성능 향상을 위한 주소 데이터베이스 정제 시스템 및 방법
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
CN104966046B (zh) 2015-05-20 2017-07-21 腾讯科技(深圳)有限公司 一种人脸关键点位定位结果的评估方法,及评估装置
CN106599900B (zh) * 2015-10-20 2020-04-21 华中科技大学 一种识别图像中的字符串的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001283156A (ja) * 2000-03-31 2001-10-12 Glory Ltd 住所認識装置、住所認識方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007058304A (ja) * 2005-08-22 2007-03-08 Toshiba Corp 文字認識装置及び文字認識方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847734B2 (en) * 2000-01-28 2005-01-25 Kabushiki Kaisha Toshiba Word recognition method and storage medium that stores word recognition program
US7167588B2 (en) * 2002-08-09 2007-01-23 Xerox Corporation Document image decoding systems and methods using modified stack algorithm
JP2004178280A (ja) 2002-11-27 2004-06-24 Nec Corp 英文住所認識方法および装置
JP4686433B2 (ja) * 2006-10-13 2011-05-25 株式会社東芝 単語認識方法および単語認識装置
JP4672692B2 (ja) * 2007-03-14 2011-04-20 株式会社東芝 単語認識システムおよび単語認識プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001283156A (ja) * 2000-03-31 2001-10-12 Glory Ltd 住所認識装置、住所認識方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007058304A (ja) * 2005-08-22 2007-03-08 Toshiba Corp 文字認識装置及び文字認識方法

Also Published As

Publication number Publication date
EP2093700A3 (en) 2011-11-09
EP2093700A2 (en) 2009-08-26
US20090208112A1 (en) 2009-08-20
KR20090090280A (ko) 2009-08-25

Similar Documents

Publication Publication Date Title
KR101109329B1 (ko) 패턴 인식 방법, 및 패턴 인식 프로그램을 기억하는 기억 매체
JP3689455B2 (ja) 情報処理方法及び装置
US10657183B2 (en) Information processing apparatus, similarity search program, and similarity search method
JP4443443B2 (ja) 文書画像レイアウト解析プログラム、文書画像レイアウト解析装置、および文書画像レイアウト解析方法
KR101938212B1 (ko) 의미와 문맥을 고려한 주제기반 문서 자동 분류 시스템
JP5217127B2 (ja) 一括地名認識プログラム、一括地名認識装置および一括地名認識方法
US6834121B2 (en) Apparatus for rough classification of words, method for rough classification of words, and record medium recording a control program thereof
JP6003705B2 (ja) 情報処理装置及び情報処理プログラム
US7817857B2 (en) Combiner for improving handwriting recognition
CA2438187A1 (en) Holistic-analytical recognition of handwritten text
US9842279B2 (en) Data processing method for learning discriminator, and data processing apparatus therefor
JP2002074268A (ja) 文字認識システム
CN113642320A (zh) 文档目录结构的提取方法、装置、设备和介质
US8208685B2 (en) Word recognition method and word recognition program
WO2016181470A1 (ja) 認識装置、認識方法およびプログラム
JP4631005B2 (ja) 付加情報を用いたパターン認識に係るプログラム、装置および方法
JP5942361B2 (ja) 画像処理装置及び画像処理プログラム
JP5224847B2 (ja) パターン認識方法、文字認識方法、パターン認識プログラムおよび文字認識プログラム
US9378466B2 (en) Data reduction in nearest neighbor classification
JP5150479B2 (ja) パターン認識方法、文字認識方法、パターン認識プログラムおよび文字認識プログラム
JP6320089B2 (ja) 認識装置、認識方法およびプログラム
JP4834693B2 (ja) パターン認識パラメータ学習装置、パターン認識装置、パターン認識パラメータ学習方法
US20020126903A1 (en) Word recognizing apparatus for dynamically generating feature amount of word and method thereof
JP2006139659A (ja) 単語認識装置、単語認識方法、単語認識プログラム
Markov et al. Quantum Time Series Similarity Measures and Quantum Temporal Kernels

Legal Events

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

Payment date: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151218

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee