KR950013127B1 - 영어 문자 인식 방법 및 시스템 - Google Patents

영어 문자 인식 방법 및 시스템 Download PDF

Info

Publication number
KR950013127B1
KR950013127B1 KR1019930003917A KR930003917A KR950013127B1 KR 950013127 B1 KR950013127 B1 KR 950013127B1 KR 1019930003917 A KR1019930003917 A KR 1019930003917A KR 930003917 A KR930003917 A KR 930003917A KR 950013127 B1 KR950013127 B1 KR 950013127B1
Authority
KR
South Korea
Prior art keywords
stroke
character
hmm
recognition
training
Prior art date
Application number
KR1019930003917A
Other languages
English (en)
Other versions
KR940022320A (ko
Inventor
김진형
하진영
오세창
Original Assignee
김진형
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김진형 filed Critical 김진형
Priority to KR1019930003917A priority Critical patent/KR950013127B1/ko
Priority to US08/121,494 priority patent/US5459809A/en
Publication of KR940022320A publication Critical patent/KR940022320A/ko
Application granted granted Critical
Publication of KR950013127B1 publication Critical patent/KR950013127B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • G06V30/2276Character recognition characterised by the type of writing of cursive writing using stroke segmentation with probabilistic networks, e.g. hidden Markov models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Character Discrimination (AREA)

Abstract

내용 없음.

Description

영어 문자 인식 방법 및 시스템
제 1 도는 본 발명이 적용될 수 있는 문자인식장치의 한실시예를 보여주는 도면
제 2 도는 본 발명이 적용되는 경우에 인접점을 연결하는 벡터 방향각을 보여주는 도면
제 3 도는 종래 기술로서 은닉 마르코프 모델의 구조를 설명하기 위한 도면
제 4 도는 본 발명에서 훈련모드와 인식모드에 따라 문자인식을 위한 준비단계로 훈련 모드를 실시하고 상기 훈련 완료후 순환 HMM을 구성하여 미지의 문자에 대해 인식하는 순서를 보여주는 흐름도
제 5 도는 본 발명에 적용되는 문자의 실제획과의 소정 떨어진 부분에 가상획을 삽입하는 순서를 보여주는 도면
제 6 도는 본 발명에 적용되는 상기 가상획이 포함된 획에서 획을 이루는 인접하는 점사이의 간격을 일정하게 하기 위한 순서를 보여주는 도면
제 7 도는 제 6 도에서 획을 이루는 점이 정규화된 것으로부터 인접점을 연결하는 벡터 방향각에 따라 0-31까지의 체인코드를 발생시키는 순서를 보여주는 도면
제 8 도는 본 발명에 따라 인식을 위해 연결획과 알파벳 문자획 HMM 훈련이 완료된 상태에서 인식모드에서 상기 알파벳 문자획 모델에 연결획 모델을 연결하여 순환되도록 한 구성도
제 9 도는 본 발명에 다른 제 8 도와 같이 알파벳 HMM 모델과 연결획 HMM 모델을 연결하는 순서를 보여주는 도면
제 10 도는 본 발명에 적용하는 인식과정에서 제 8 도의 구성으로부터 출력심볼(체인 코드)의 갯수에 비례한 시간내에서 최적경로를 찾아가는 순서를 보여주는 도면
제 11 도는 본 발명에 적용되는 최적경로를 찾기 위한 설명을 위해 나타내는 격자 구조도
제 12 도는 본 발명에 적용되는 최적경로의 탐색과 확률값을 나타내는 도면
제 13 도는 본 발명에 따른 단어 인식결과를 출력하는 순서를 보여주는 도면
제 14 도는 본 발명의 실시예를 설명하기 위해 가상획 삽입하여 하나의 획으로부터 인접점과 점사이를 정규화하기 위해 "b ut"를 도시한 도면
본 발명은 문자 인식에 있어서 영어 문자 인식 방법 및 장치에 관한 것으로, 특히 순환 은닉 마르코프 모델을 이용하여 온라인으로 입력되는 손으로 쓰여지는(Hand Written)흘림체(Cursive Script)영어문자를 인식하기 위한 방법 및 장치에 관한 것이다.
일반적으로 문자인식방법에는 온라인(On Line)인식방법과 오프라인(Off Line)인식 방법이 있다.
상기 오프라인 방법은 이미 쓰여진 문자를 스케너를 통해 읽어 들이어 일정영역에 보관후 이를 세선화나 윤곽추출처리 방법에 의해 인식한다. 더욱 상세하게는 국내특허 출원번호 90-18517호로부터 충분히 이해될 수 있을 것이다.
온라인 인식방법은 테블렛을 컴퓨터에 연결시켜 전자잉크의 사용을 가능케 한 것이다. 상기 전자잉크란 테블렛상에서 전자펜의 이동에 따라 얻어진 결과를 내부에서 처리하여 프린팅 또는 모니터로 인식결과를 표시토록 한 것이다. 이는 온라인 필기 인식방법에서 필수적이다. 따라서 이 방법은 상기 테블렛상에서 전자펜으로 손의 이동에 의해 쓰여지는 문자 즉, 흘림체문자를 실시간으로 인식처리할 수 있다.
그런데 최근 그래픽 테블렛 기술의 발달 및 강력한 계산능력을 갖는 컴퓨터의 개발과 펜컴퓨터의 출현으로 상기 온라인 문자인식에 관한 관심이 날로 고조되어 있으며, 일부 대학, 연구소, 기업체등에서는 온라인영어 인식 시스템을 개발하여 이미 상품으로 시판되기도 한다. 하지만 이의 대부분은 또박 또박 필기한 문자만을 인식할 수 있다. 즉 흘림체는 인식하지 못한다. 따라서 사용자에게 편리하고 자연스런 필기 환경을 제공하지 못하고 있다. 왜냐하면 단어단위로 입력되는 문장을 문자단위로 분할(Character Segmentation)해야하는 어려운 점과, 쓰는 사람의 스타일에 따라 다양하고 변형이 많은 문자 모양의 발생으로 문자인식에 큰 진전을 이루지 못하고 있다.
상기 온라인 문자인식방법에서 가끔씩 은닉 마르코프 모델(이하 "HMM"이라 칭함)을 사용한 예를 볼 수 있는데 상기 HMM은 시간에 따라 순차적인 정보를 모델링 하도록 되어 있다. 상기 HMM의 특징은 모델링 능력이 우수한 것으로 알려져 있다.
상기 HMM은 "Bahl" 특허 즉, 미국특허번호 4,819,271에 개시되어 있는 바와같이 음성인식분야에서 많이 적용되어 왔던 방식이였다. 이는 L.R.Rabiner에 의해 "IEEE, VOL.77, No2, Feb. 1989의 페이지 257-285에 개시하였듯이 기존의 동적프로그램 기법을 이용한 정합방식보다 좋은 결과를 얻게 된다고 밝히고 있다. 그런데 상기 기술을 문자인식 방법에서 쉽게 사용한 동기는 온라인 문자 데이타도 X, Y문자정보가 음성신호와 같이 시간에 따라 순차적으로 발생되기 때문에 쉽게 이용할 수 있었다.
상기 HMM기술이 문자인식에 종래 사용한 예를 몇가지 살펴보면 다음과 같다.
HMM을 이용한 문자인식방법으로 1986년 R.Nag,K.H wong and F.Fallside가 IEEE ASSP의 페이지 2071-2074에 "Script Recognition Using Hidden Markov Models"로 개시한바 있다. 이는 흘림체 영어입력데이타로부터 같은 길이로 짧은 벡터(Vector)값을 만들고, 정량화된 각도 변화와 몇가지 특성을 추출하여 HMM을 훈련시킨후 그것으로부터 단어 단위의 인식을 하도록 되어있다. 이와같은 방법은 어떤 특정한 한사람의 필체에 대해서는 인식율은 높으나, HMM 모델에 대해 훈련되지 않은 다른 사람의 필체에서는 인식율이 떨어져 누구나 범용으로 사용할 수 없는 결점이 있다.
1988년발행 "J.A.Vlantzos"와 "S.Y.Kung"가 "A Hierachical system for charcater recognition with stochastic knowledge represention"의 내용으로 페이지 1-601∼1-608에서 게시하고 있는 문자인식방법은 오프라인 영어 인식에서 HMM을 사용한 예이다. 이 인식방법은 3개의 레벨(Sentenscs level, word level, letter level)이 계층적인 구조를 갖는데 특징이 있는데, 문자인식에 있어 문자레벨모델을 스코링(Scoreing)함으로써 문자 단위별 인식을 하고, 상위 레벨에서 최적상태의 순서(Optimal state sequence)를 찾아 단어 또는 문장을 인식하도록 되어 있다.
1988년 "A.Kundu"와 "P.Bahl"은 "IEEE Proc. Int. Conf. Acoust speech, signal processing 1988. PP928-931"에서 흘려쓴 오프라인 영어인식을 제시하고 있다. 상기 오프라인 영어인식을 위해 우선 26개의 스테이트(state)로 구성된 1개의 HMM을 만들고, 스테이트 전이 확률을 영어 텍스트에서 얻은 통계치를 이용하여 구한다. 그리고 출력 확률은 입력 데이타를 VQ알고리즘을 사용하여 최적(optimal codebook symbol) 상태를 찾아 각 스테이트에 나타나는 분포를 조사하여 구하도록 되어 있다. 그리고 인식은 단어단위의 입력을 문자 단위로 분할한 후 각 문자에 가장 가까운 코드북 심볼(codebook symbol)을 찾아 그 심볼의 순서(sequence)를 HMM에 입력한 다음 비터비(Viterbi) 알고리즘으로 베스트 스테이트 순서(best state sequence)를 찾아 단어를 인식토록 하였다. 하지만, 이 방법은 문자단위로 분할하는 방법을 제시하지 못하여 인식효율이 떨어진다.
1991년 "J. Camillerapp"가 "Proc, Int, work shop on frontiers in mandwriting recognition, chateanate bonas, france"에서 "off-line and on-line methods for cursive hand writing recognition"에서 온라인으로 흘려쓴 영어 인식에 MM(Markov Model)을 적용함을 발표하였다. 이는 입력 데이타를 일정한 크기의 체인코드 벡터(chain code vector)로 만들고, 이로부터 단어 단위로 모델을 훈련시킨후 인식 실험을 한다. 상기 실험은 1st-order MM, 2nd-order MM 그리고 3rd-order MM으로 각각 하는데, 그중 3rd order MM이 가장 좋은 결과를 얻어냈고, 55개의 단어에 대해 66%의 인식율을 얻을 수 있다고 기재하고 있다.
그런데 HMM을 이용한 종래 대부분의 문자 인식방법에서는 정확한 문자 분리를 하지 못하는데서 문자인식에 좋은 영향을 주지 못했으며, 심한 흘림체에 있어 인접 문자간의 연결에 대한 처리가 이루어지지 않아 인식율을 떨어뜨리는 원인이 되어 왔었다.
따라서 본 발명의 목적은 상기 문제점을 해결할 수 있는 흘림체 영어 문자인식 방법을 제공함에 있다.
본 발명의 다른 목적은 문자간의 연결획에 대해 별도의 은닉 마르코프 모델을 순환 구조로 연결하여 흘려쓴 영어 단어문자에 대해 인식율을 높일 수 있는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 임의의 영어 문자수로 구성된 영어단어를 별도의 문자 분리 기법을 사용하지 않고도 정확히 인식할 수 있는 방법 및 시스템을 제공함에 있다.
본 발명의 또 다른 목적은 많은 문자 변형을 가져와도 은닉 마르코프 모델에 의해 효과적으로 흡수 처리할 수 있는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 연결획 모델을 사용하여 단어내의 인접문자간의 연결획을 처리하므로 흘림체 필기는 물론 정서체와 흘림체가 혼용되어 필기된 영어단어도 인식을 용이하게 할 수 있는 방법 및 시스템을 제공함에 있다.
이하 본 발명에 따라 첨부됨 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명에서 사용되는 "문자"란 단어로 이루어진 문자도 포함됨을 이해해야 한다.
본 발명에서 "획"이란 펜이 지면(테블렛)에 한번 접촉되어지는 시작(Per Down)지점부터 소정 이동되어 펜이들려져 끝마치는 지점(Pen up)까지 그려진 상태를 의미함을 말하며, "연결획"이란 여러 영어 알파벳으로 구성된 단어를 흘려쓰기를 할때 문자와 문자사이 연결되는 획을 뜻하고, "가상획"이란 문자와 문자사이 또는 문자내 획과 획사이에서, 즉 영어 알파벳의 티자(t)의 예와 같이 "l"와 "-" 2번으로 획을 처리해야 할 경우 획사이 끊어지는 부분에서 의도적으로 연결획을 부가시켜 두는 것을 의미한다.
제 1 도를 참조하면, 본 발명에 따른 문자인식 방법을 실현하는 장치의 일실시예를 나타내고 있다. 참조번호 101은 테블렛로서 상기 테블렛(101)에 전자펜(102)이 연결되어 있다. 상기 테블렛(101)상에서 전자펜(102)이 움직이면 이동에 따라 그려지는 변화상태가 디지탈화된 x, y 좌표값과 상태값(D)으로 발생된다. 본 발명에 사용된 테블렛(101)은 일본 "WACOM"사의 모델명 "MODEL SD-510C"이다. 그러나 본 발명은 그러한 테블렛(101)에 한정되는 것이 아님을 이해하여야 한다. 참조번호 103은 마이크로 프로세서로서 본 발명에 따라 HMM 훈련과 문장인식 처리를 제어한다.
메모리(104)는 독출전용 메모리(Read Only Memory : 이하 "ROM"이라 칭함)와, 랜덤 액세스 메모리(Random Access Memory : 이하 "RAM"이라 칭함)로 구성된다. ROM에는 본 발명에 따른 문자인식 처리 프로그램과 단어에 대해 처리된 단어사전용 데이타, HMM에 의해 훈련된 문자모델 및 연결획 모델값이 저장되어 있다. 영어단어인식을 위해서는 외부 키보드를 통해 운영자가 마이크로 프로세서(103)에 명령어를 주어야 한다. 물론 모델 훈련과정에서 훈련모드와 알파벳, 연결획 훈련모드를 구분하여 조정한 후 테블렛(101)으로부터 출력되는 값에 따라 각각 훈련을 시킨후 그 결과를 RAM에 기록토록한다. 훈련을 위해서는 테블렛(101)으로부터 전자펜(102)에 의해 그려지는 순차적인 점의 X, Y 및 점의 정보를 마이크로 프로세서(103)에서 받는다.
상기 테블렛(101)상에 필기되어진 문자 및 단어는 X, Y 좌표열이 디지탈 데이타로 출력되어지며, 이는 공지의 프리프로세서에서 또는 마이크로 프로세서(103)의 처리에 의해 상기 메모리장치(104)의 RAM에 저장된다. 상기 RAM에 저장된 X, Y 좌표열, 획을 구성하는 점의 상태 데이타는 각각 쓰여진 연결획 및 알파벳 단어문자에 대해 실제획으로부터 가상획이 삽입된다. 실제획에 가상획을 삽입하여 하나의 획으로 된 것의 각점의 거리를 일정 간격으로 정규화하고, 상기 정규화된 각 인접좌표간에 벡터 방향각을 기준으로 체인코드로 변환한다. 이는 연결획 및 알파벳(a-y)문자획에서 더 이상의 입력이 없을 때까지 진행한다. 상기 체인코드로 변환된 값을 각 HMM에서 훈련시키고 HMM 훈련시킨 결과를 기록한다. 해당 훈련할 모든 연결획, 알파벳 문자획의 입력문자를 HMM 모델에서 훈련시켜 메모리(104)에 기록한다.
상기 훈련모드가 아니고 인식모드일때 연결획 및 문자모델의 훈련이 완료되어 마련되어 있으면 상기 훈련완료된 연결획 및 알파벳문자 HMM 모델을 순환 구조로 만들고, 인식은 인식할 필기된 문자를 좌표값으로 입력될시 실제획으로부터 가상획을 처리한다.
상기 가상획이 삽입된 문자 및 단어의 궤적의 상태를 획을 이루는 각점간의 거리가 일정하모록 정규화 한후 체인코드로 변환한다.
상기 체인코드로 변환된 값이 최적 경로를 찾기위해 각 모델간 순환되도록 구성된 즉, 상기 훈련된 알파벳문자 "a"∼"y" HMM 모델과 연결획 모델이 상호 연결된 순환 HMM 모델에서 최적경로를 찾아 상기 메모리장치(104)의 ROM상의 단어사전과 참조한후 일치되는 값이 있으면 출력장치(105)를 통해 인식된 단어문자를 출력토록 되어 있다.
본 발명에 다른 영어단어 인식을 하기위해서는 키보드로 입력되는 코맨드 명령에 의해 단어인식 프로그램을 저장하고 있는 하드디스크 또는 플로피 디스크와 같은 저장장치의 작업수순에 의해 행해진다. 이 경우 사용된 범용컴퓨터는 "SUN Microsystem"사에서 제작된 "SPARC StationII"이다.
상기 "은닉 마르코프 모델(HMM)"은 "Levinson"에 허여된 미국특허 4,587,670에서 이해가 용이하도록 개시되어 있다. 본 발명에서 이 기술을 적용함에 있어 상세한 설명은 하지 않을 것이며, 여기서 더 이상 구체적인 설명을 하지 않아도 상기 "Levinson"을 보면 이분야 통상의 지식을 가진자에게는 자명한 것이며, 다만 본 발명의 실시예의 이해에 있어 도움을 줄 수 있는 것만 최소한 간단히 다음에서 기술되어짐을 유념하여야 한다.
상기 HMM은 다음과 같은 파라미터 벡터 λ로 표시한다.
λ = (A, B,)
A={aij}는 노드전이(Si→Sj)확률 분포 행렬
i,j=1,…S(노드 수)
B={bij(kk)}는 노드전이(Si→Sj)에서의 심볼출력 확률 분포 벡터
k=1,…,K(출력 심볼의 종류)
={πi| πi=P(Si·0)}는 초기(시간 t=0)노드의 확률 분포 벡터
제 3 도에서 보면 노드수가 3이고, 출력 심볼의 종류가 a와 b의 2개인 HMM의 한예를 보여주고 있다.
HMM은 유한개의 노드(Node)와 전이(Transition)로 구성된 유한상태 네트워크가 기본구조이다.
는 출력확률을 나타낸 예이다.
노드는 상태(state)라고도 불리우며, 전이로서 출력 심볼이 있어야 전이가 발생하는 아크(arc)와 출력 심볼없이 전이가 발생하는 널-아크(null-arc)가 있다. 제 3 도의 모델에서 보면, 노드가(S1∼S3)가 3개 있으며(301, 302, 303)(원으로 표시된 것), 전이가 6개 있다(304∼309). 이들 전이중 아크가 4개(306, 307, 304, 305), 널-아크가 2개 존재한다(308, 309), 출력 심볼 P(a),P(a)의 종류로는 a, b 두가지가 있다. 두번째 노드 S2(302)의 예를들면, 노드 S2(301)으로부터의 전이는 2개(306, 308)가 있고, S2(302)에서 다시 S2(302)로의 전이가 1개(305)가 있다. 노드 S1(301)에서 S3(303)로의 전이중 실선(306, 307, 304, 305)으로 표시된 것은 아크이고, 이점쇄선(308, 309)으로 표시된 것은 널-아크이다, 그리고 노드(Si)에서 노드(Sj)로의 아크에는 전이 확률 aij와 함께 출력 확률분포 bij(K)가 있는데, 출력 가능한 모든 심볼에 대하여 확률값의 분포를 갖고 있다. 제 3 도에서 노드 S1(301)에서 S2(302)로의 아크를 통해 전이가 발생할때 출력 심볼 a를 관측할 확률은 0.7이고, 출력 심볼 b를 관측할 확률은 0.3이다. 또한 이때의 전이확률은 0.3이 된다.
실제로 전자펜(102)으로 테블렛(101)에 쓰여져 점의 형태로 그려진 획의 예와 상기 점에 대응하는 값을 X, Y 좌표로 도시한 것이 제 14(a)(b) 도에 도시하고 있다.
상기 획은 전자펜(102)이 테블렛(101)에서 접촉한 시점(Pen Down)부터 위로 들려진 시점(Pen Up)까지 X, Y 좌표로 구성된 것을 보여주고 있다. (14A)는 전자펜(102)으로 테블렛(101)에서 이동시킨 궤적의 예(but)에서 "b"를 X, Y 좌표값과 점(D)으로 도시한 것인데, 하기표 1에서 점(D)의 값이 "1"이면 실제 그려진 획이고 "0"이면, 가상획이 된다.
[표 1]
상기 표 1 값이 디지탈 데이타로 마이크로 프로세서(102)에 입력되어 제 4 도의 흐름도에 따라 처리된다.
물론 마이크로 프로세서(102)는 롬(ROM) 또는 FDD, HDD로부터 제공되는 프로그램에 의해 테블렛(101)의 운용을 지원할 수 있음은 공지의 사실이다. 따라서 테블렛(101)상의 전자펜(102)의 접촉에 의해 이동되는 상태를 상기 표 1의 예처럼 용이하게 읽어들 일 수 있다.
누구나 어떤 상태에서 어떻게 쓰던 관계없이 흘려쓰여진 영어단어 인식을 위해서는 하나의 문자에 대해 여러사람을 시켜 쓰도록 하여 이를 이용하여 HMM 훈련이 이루어진다.
예를들어 100명 정도의 남여노소 구별없이 상기와 같이 "b"를 쓰게하여 표 1과 같은 형태의 X, Y 좌표와 점(D)의 값을 만들어야 할 것이다.
훈련시킬 알파벳과 연결획의 값을 입력하는 과정에서 입력시키는 방법 및 순서는 먼저 연결획 또는 동일문자 ''b''를 여러사람이 한번에 입력하는 방법과 또 다른 방법은 "but"을 여러사람이 쓴 것을 알파벳별로 선택 입력하는 방법등으로 이루어질 수 있다. 그러나 본 발명에서는 단어 단위로 입력시키지 않고 문자 단위로 입력하는 방법을 취한다. 상기와 같이 모든 연결획 또는 알파벳이 입력되었으면 이 값에서 문자간 즉 떨어진 획의 간격으로부터 각 가상획을 삽입하고, 상기 가상획이 삽입된 하나의 획 즉, 점으로 이루어진 한획의 인접점간의 거리를 일정한 간격으로 정규화한후 인접점을 연결하는 벡터 방향각을 기준으로 체인코드로 변환한다. 상기 체인코드로 변환한 것을 해당 모델(연결획, α∼y 모델)에서 HMM으로 훈련시켜 그 결과를 기록시킨다. 여기서 모델 훈련이 완료되었으면 훈련시킨 연결획 및 알파벳 모델로부터 순환 은닉 마르코프 모델로 구성한다.
상기 인식을 위해서 인식할 단어 문자의 필기된 궤적 좌표값을 입력하여 상기 훈련과정과 동일한 방법으로 가상획을 삽입한다. 상기 가상획이 삽입된 인식할 단어문자의 획으로부터 정규화한후 체인코드로 변환후 각 체인코드를 "a"∼"y" 문자모델과 연결획 모델에서 상호 연결된 HMM에서 최적경로를 찾아 단어를 인식하여 인식결과를 표시장치(105)를 통해 출력토록 되어 있다.
따라서 본 발명에서는 모델 훈련 과정과 인식과정이 구분되어짐을 알 수 있을 것이다.
[모델훈련]
마이크로 프로세서(103)는 키보드를 통한 외부명령에 의해 모델 훈련모드에 있어야 한다(401), 그리고 영어인식을 위한 것이므로 알파벳 훈련모드에 두고(402), 훈련시킬 "a"∼"y" 알파벳에 대한 모델을 지정한다(411, 419, 429), 예를들어 "b"의 훈련을 시킬 경우 b모델이 지정되고(419), 테블렛(101)상에 전자펜(102)으로 "b"를 쓰면 X, Y 좌표 값과 도트(D)에 대한 값이 상표 표 1와 같이 입력된다(420).
상기 "b"의 X, Y 좌표 값과 도트 상태(D)으로부터 "b"에 대해 발생되는 가상획을 삽입한다(421).
1) 가상획 삽입
상기 (420)과정의 "b"의 가상획 삽입은 연결획에서 가상획 삽입과정(405)과, "a"∼"y" 알파벳 모델에서 가상획 삽입과정(413, 431)이 모두 동일한 원칙에 의해 처리되므로 가상획 처리과정을 구체적으로 설명하는데 있어, "b"에서의 가상획의 삽입예를 들지 하고, 제 5 도의 흐름도를 참조한 제 4 도 "but"예를 설명한다. 따라서 연결획이나 a∼y 알파벳 문자획에 대한 가상획 삽입예를 더 이상 설명하지 않더라도 연결획 및 모든 알파벳의 가상획 처리는 동일하게 이해되어질 것이다.
제 5 도에서 (201)-(507)과정에서는 가상획 삽입과정을 나타내며, (508)-(512)과정에서는 한개의 획으로 결합하는 과정을 나타내고 있다.
(501)과정에서 가상획의 삽입에 관련되어지는 처리할 획수(N)와 획값(S1-SN)을 입력한다. 제 4 도의 "but"의 경우를 보면 획수(N)는 "b", "ul", "-"에 의해 N=3이 되고, 획값(S1-SN)정보는 하기표 2, 3, 4의 값(X, Y, D)이 된다. 따라서 이 값이 초기값으로 지정된다.
[표 2]
[표 3]
[표 4]
가상한 삽입을 위한 루우핑(i)으로 루우핑 초기값을 (502)과정에서 지정하고(i=1), (503)에서 획수(N)에 의한 값을 비교한다. 즉, 획수(N)가 3이므로 1보다 크다, 그러나 1보다 크지 않으면 더 이상의 가상획은 처리할 것이 없으므로 한개의 획으로 결합하기 위한 과정으로 넘어간다.
따라서 (503)과정에서 보면 N이 3이므로 1보다 크다. (504)과정에서 첫번째 획 "b"에 대한 획값(si)의 마지막점(114, 77, 1)(표 3 참조), 두번째획 "ul"에 대한 획값(Si+1)의 첫점(162, 49, 1)(표 4 참조)으로부터 가상획 값(ISi)을 발생한다[ISi={(114, 77, 0),(162, 49, 0)}]
(505)과정에서 첫번째 획(b)와 두번째 획(ul)으로부터 상기 가상획이 부가된 획을 새로운 획으로 처리키 위해 S2i-1=Si, S2i'=ISi로 되도록 한다. 상기 (505)과정에서 가상획으로 추가된 새로운 획으로 저장한후, (506)과정에서 루우프(i)를 증가시키면 (i=i+1) "2"가 된다. 따라서 N이 3에 도달되지 않았으면 (504)과정에서 가상획을 삽입처리한다. 이전 루우프 처리과정에서 "b"와 "ul"의 획사이 사이에는 가상획을 부가시켜 하나의 획으로 결합 처리된다. 이때 첫번째 획값(Si)의 마지막점은 "205, 79, 1"이고 (표 3참조), 두번째 획값(Si+1)의 첫점은 188, 39, 1(표 4참조)이 되어 이로부터 가상획(ISi)[SIi={(205, 79, 0),(188, 39, 0)}]이 된다. 상기 가상획이 삽입된 새로운 획으로 처리키 위해 S2i-1'=Si, S2i'=ISi로 처리한다. 다음(505)과정에서 루우프(i)를 증가시키면 (i=i+1) "2"가 된다. 그리고 상기와 같은 방법으로 "ul"와 "-" 사이에 가상획 처리를 위해 "ul"의 마지막 점(212, 76, 1)과 "-"의 첫점(88, 93, 1)를 가상획[ISi+1={[212, 76, 0),(188, 30, 9)}]으로 처리된다. 그리고 또 (505)과정에서 루우프(i)를 증가시키면(i=i+1) "3"이 된다.
따라서 I=는 획수(N) "3"에 해당되므로 (508)과정으로 가서 마지막획("-")값 (표 4)을 복사처리한다(S2i-1'=Si). 이 과정이 완료되면 상기 획수(N=3)로 각획값이 가상획이 부가된 새로운 획으로 형성된다. 다음 가상획이 포함된 새로운 각획은 연결키 위해(509)과정에서 첫 루우프(i)를 지정하고 (i=1), (510)과정에서 한 단어내에서 문자가 떨어지더라도 하나의 단어로 하여 인식을 정학하게 하기 위해 각 모아진 획을 하나의 획으로 나열하는 작업을 실행한다[=append](,Si'). 다음 획을 연결키 위한 루우핑(i)을 위해(511)과정에서 증가시킨다(i=i+1).
(512)과정에서 모든 획이 연결되었는지를 체킹한다. 일반적으로 상호 떨어진 획을 하나의 획으로 연결하는데 있어서 획이 N개 있더라도 서로 연결키 위해서는 연결부는 획의 수보다 1개 줄어 들게되므로 루우프(i)는 2N(획수)-1와 비교관계를 가진다. 따라서 i가 2N-1 보다 작을때 다음 획을 하나의 획으로 결합시키기 위한 (510)과정을 실행하고, i가 2N-1 보다 클때 결합처리하여 한개의 획으로 통합시킨다.
즉, 상기 방법과 같이 "b"에 대해서는 사람에 의해 쓰여진 양태(樣態)에 따라 (421)과정에서 발생될 수 있는 가상획을 삽입하여 하나의 새로운 획으로 만든다. 여기서 하나로 연결된 획은 실제획으로 점(D)은 "1"이 되고, 가상획으로 하는 점(D)은 "0"으로 되어 있다. 상기 가상획의 삽입이 끝나면 (422)과정에서 획(S1-SN)의 인접 각점간의 간격을 일정하게 하기 위한 정규화 과정이 실행된다.
2) 획각점의 거리 정규화
상기 (422)과정에서 획의 각점의 거리를 같게 정규화하는 처리는 연결획 및 "a"∼"y" 모델 HMM 훈련, 즉(406, 414, 432)과정의 처리와 동일한 방법을 취함으로 (421)과정에서 제 14 도의 예를 사용하여 처리한 가상획으로부터 제 6 도를 참조한 한번의 설명으로 이 분야 통상의 지식을 가진자라면 동일하게 이해되어질 것이다. 모두 하나로 연결되어진 가상획을 포함한 입력획값={P1,…PN}(N은 점의 갯수), Pi=(xi, yi, ri)[∴r=0(가상점), r=1(실제점)]으로부터 거리 정규화된 획값 S'={P1',…PM'}으로 만들려면 (615)과정에서 문자의 쓰여진 크기에 따라 소정의 단위 거리(unit length)(U)를 지정하고, (601)과정에서 상기 모두 하나로 연결된 가상획을 포함한 입력획값()에서 처음값(P1)을 지정한다(P1'=P1). 그리고 (602)과정에서 정규화처리할 점의 인덱스(i)와 정규화된 점의 인덱스(j)를 처음 상대로 한다(i=1,j=1).
(603)과정에서 현재점과 이웃하는 다음 점사이를 비교하기 위해 시작점(SP=Xi, yi)을 지정하고(P1), 이웃하는 다음 점(FP=xi+1, yi+1)을 지정한다(P2). (604)과정에서 상기 지정한 점과 점 사이의 거리(D)를 계산한다[D=dist(SP, FP)]. (605)과정에서는 상기 (604)과정에서 계산한 거리(D)값이 상기 (612)과정에서 지정한 소정 단위거리(U : unit length)값보다 큰지를 비교한다.
상기 계산한 상기 거리(D)값이 단위거리(U)보다 같거나 이내값일때 (606)과정에서 양점 즉 시작점(SP=xi, yi)과 끝점(FP=xi+1, yi+1)의 (x, y)좌표로부터 x, y간의 거리를 하기(1), (2)식과 같은 식에 의해 계산해낸다.
그리고 (607)과정에서 정규화되어지는 점을 계속 찾아가면서 이를 유지하기 위해 정규화점의 변수(j)를 증가시킨다(j=j+1). 그리고 (608)과정에서 새로 생성된 점(Pj')를 (x', y', ry)를 지정하고, (609)과정에서 시작점(SP)에 대해 정규화된 점으로 대치한다(SP=Pj).
(610)과정에서 원래 점을 찾아가는 변수(i)가 처리해야 할 총점의 수(N)에 도달되었는가를 체킹한다. 이때 도달되지 않았으면 (604)과정에서 다시 거리(D)를 계산하여 단위 거리(U)에 있으면 상기와 같이 (606)-(610)과정을 반복하고, 단위거리(U)를 벗어나면 (612)과정에서 원래의 점을 찾기 위한 변수(i)를 증가시킨다(i=i+1). 그리고 (613)과정에서 이전 시작점(SP)과 비교를 위한 끝점(FP)을 지정키 위해 상기(612)과정에서 처리한 점을 끝점(FP)으로 하여 (610)과정에서 체킹한다. 여기서 처리할 모든 점의 수(N)에 도달되지 않았을시 상기와 동일한 과정을 진행하면서 차례로 순차적으로 점과 점사이를 비교하여 계속 일정한 같은 거리의 정규화된 새로운 위치(x', y')를 지정하면서 rj의 값으로 하되 실제획의 점은 "1"로 하고, 가상획의 점은 "0"으로 한다. 상기 (610)과정의 체킹 결과에 따라 처리할 모든 점(N)을 같은 거리로 정규화 처리했을시 상기 연결된 가상획이 포함된 획의 마지막점(PN)을 정규화된 마지막점(Pj+1)으로 처리한다(Pj+1=PN).
상기 제 14 도 (4a)의 예를 가상획을 삽입한 후 정규화한 결과는 하기 표 5와 같다.
[표 5]
이를 도면으로 나타내면 제 14 도 (14b)와 같이 도시된다.
상기 획의 인접각점의 거리의 정규화가 완료되었으면 (403), (415), (424), (434)과정에서 체인코드로 변환시킨다.
3) 체인코드 변환
(407), (415), (424), (434)의 체인 코드 변환 처리는 본 발명에서 동일한 과정을 거치는 것으로 제 12 도와 제 7 도를 참조하여 설명되어질 것이며, 이로 하여금 이 분야 통상의 지식을 가진자라면 동일하게 이해되어질 것임은 자명하다. 상기 제 2 도에서 0-15는 실제획의 점에 대한 체인코드를, 16-31은 가상획의 체인코드로 나타낸다.
상기 과정에서 정규화된 점(S')={P1',…PM'}(M=은 점은 갯수)으로부터 (701)과정에서 래점을 찾아가기 위한 초기변수(i=1)를 지정하고, (702)과정에서 상기 정규화된 값으로부터 하기(3)식에서와 같은 원리로 인접점을 연결하는 벡터방향각에 따라 체인코드로 변환시킨다. 하기 식(3)의 INT는 소수 부분을 버리고 정수로 변환하고자 하는 것으로서, 하기 식(3)의 마지막에서 0.5를 더하는 것은 반올림의 효과를 얻기위한 것이다.
체인코드(CHi)=INT[각(θ)(Pi', Pi+1')×16/360+0.5] …………………( 3 )
상기 표 6에서 대응되어 도시된 제 14 도 (14b)의 첫점[Pi'=(126, 9, 1)]에서 두번째 점[Pi+1=125, 17, 1]으로부터 이루어지는 각도는 약 262.87°이다. 이때을 곱하고 0.5를 더하면 약 12.18이 된다. 이를 정수로 변환하며 "12"이다. 따라서 제 2 도와 같이 체인코드는 "12"임을 알 수 있다. (703)과정에서 Pi 또는 Pi+1이 가상점인가를 체킹한다. 가상점이 아니면 (704)과정에서 점의 수를 증가시켜(i=i+1) 최종 M에 도달했는가를 체킹하고, 다시 (702)과정에서 다음점 [Pi+1'=(125, 17, 1)]에서 그 다음점 [Pi+2'=(123, 24, 1)]이루어지는 각도를 계산하면 약 245.05가 된다. 이에 360을 곱하고 0.5를 더하면 약 11.79°가 된다. 이를 정수로 변환하면 약 11이 된다. 따라서 체인코드(CHi)는 "11"이 된다.
이런 방법으로 표 5의 모든 인접점간에 연결되는 방향각으로부터 체인코드(CHi)를 발생시킬 수 있다.
그런데 상기 (703)과정에서 가상획이면 (704)과정에서 가상획에 따른 체인코드를 처리한다. 즉, 상기(702)과정에서 구해진 체인코드(CHi)에 16를 더하여 가상획에 따른 체인코드(CHi)를 구하도록 되어 있다.상기 과정을 반복하여 i가 점의 전체 갯수(M)에 도달되면 체인코드 변환은 완료된다. 하기 표 6이 상기 제 14 도 (4b)로부터 구해진 체인코드 테이블도이다.
[표 6]
상기 각 과정에서 체인코드 변환이 완료되면 (408), (410), (423), (433)과정에서 훈련시킬 연결획 및 알파벳 문자에 대한 수집된 데이타의 입력 완료여부를 체킹한다. 훈련시킬 알파벳 문자 수집에 있어서는 여러가지 방법이 있을 수 있다. 예를들어 문자단위의 데이타를 수집하거나 단어단위의 데이타를 문자단위로 분리하여 수집할 수도 있다. 본 발명의 실시예에는 문자단위의 데이타를 수집한 예를 기준으로 했음을 알 수 있다. 그리고 훈련시킬 연결획 수집에 있어서는 단어에서 수작업으로 연결획 부분을 추출하여 입력시킨다.
따라서 수집된 각 암파벳 문자 및 연결획의 데이타 입력완료 여부를 (408, 416, 424, 434)과정에서 체킹한다.
각 과정에서 입력이 완료되면 (409)과정에서 연결획 HMM 훈련을 시키고, (417), (425), (435)과정에서 각 알파벳 및 HMM 훈련을 시킨다.
4) HMM 훈련
본 발명에 사용되는 HMM 모델 구조는 제 3 도와 같이 기본형태는 다수개의 노드와 아크, 널-아크로 구성되어진다.
본 발명에서 바람직한 실시예로 하는 알파벳의 문자 모델구조는 제 8 도 (801)-(803)와 같이 10개의 노드와 18개의 아크로 구성되고, 널-아크는 9개정도로 구성하였다. 여기서 마지막 노드를 제외하고 자기자신과 다음 노드로 전이가 가능토록 되어 있으나 전이가 발생할때마다 상기 표 6와 같은 체인코드 하나씩 소모를 한다. 그런데 널-아크는 체인코드의 소모없이 전이가 가능토록 되어 있다.
한편 연결획 모델의 구조는 제 8 도(811)-(313)와 같이 각 모델이 3개의 노드와 5개의 아크로 구성되어있다. 연결획 모델은 알파벳 문자모델과는 달리 널-아크는 존재하지 않는다.
상기 변환된 알파벳문자 및 연결획 체인코드는 HMM 모델에서 훈련을 시키는데, 훈련에서는 하기 식(5)와 (6)을 사용하여 전이확률과 출력확률을 계산한다. 먼저 식(5)과 (6)식에 사용되는 용어와 정의는 다음과 같다.
S : 노드의 수
A={aij=P(qk)}
: 전이 확률 분포(transition probability distribution)
B={bij(yk)=P(yk| q1)}
: 출력 확률 분포(output probability distribution)
X : 전이열(sequence of transitions)
y : 훈련데이타열(sequence of training data)
K : y의 길이
q : 전이, 즉 아크(arc) 또는 널-아크(null-arc)
Ω(s) : {시작 노드가 s인 전이 q의 집합}
α(s, i) = P(yij, dest(Xi)=s) …………………………………………………… (4)
(dest(Xi) : 전이 Xi의 도착 노드)
β(s, i) = P(yi+1, k | origin(Xi)=s) ………………………………………… (5)
(origin(xi) : 전이 Xi의 출발 노드)
r(q, i)=α(origin(q), i-1)P(q | origin(q))P(yi| q), β(best(q), i) q가 아크일때 ……… (6)
r(q, i)=α(origin(q), i) P(q | origin(q))β(dest(q), i), q가 널-아크일때 ………………… (7)
M : 각 모델의 훈련데이타의 수
식(1)의 α(s, i)와 식(2)의 β(s, i)는 다음 두 알고리즘으로 구한다. 다음 알고리즘에서 m(s)는 노드 s로 들어가는 아크의 접합이고, n(s)는 노드 s로 들어가는 널-아크의 집합이다. P(q)는 아크 또는 널-아크 q가 발생할 확률이고, P(yi| q)는 q전이가 발생할때 yi출력 심볼을 관측할 확률이다. 또한 mb(S)는 노드 s로부터 나오는 아크의 집합이고, nb(s)는 노드 s로부터 나오는 널-아크의 집합이다. 모든 노드의 갯수는 S이고, 출력 심볼의 갯수는 K이다. 다음 식(8)와 식(9)에서 Pm은 m번째 훈련 데이타에 대한 HMM의 확률값인데 m번째 훈련데이타에 대한 α(S, K)의 값과 같다(식 (10)참조). α값과 β값을 구한 다음 각 훈련데이타에 대한 r값을 식(6)과 식(7)를 이용하여 구한다. 다음 식(8)과 식(9)에서 rm은 m번째 훈련 데이타에 대한 r값을 나타낸다. 다음 식(8)에서 분자 부분의 ∑i : ymi=j는 i에 대한 합을 구할때, ymi=j 조건을 만족할 때만 계산하라는 의미이고, ymi는 m번째 훈련 데이터의 i번째 출력 심볼이다.
(a) 알고리즘 1, α(s, i)의 계산
모든 S개의 노드를 널-아크의 도착노드가 출발 노드보다 큰 값을 갖도록 위상순으로 정렬(topological sorting) 한다.
α(초기노드, 0) ← 1
α(초기노드 이외의 노드, 0) ← 1
for i ← 0 to K do
for s ← 1 to s do
α(s, i) ← 0
for q i m(s) do
if i 〉 0 then do
α(s, i) ← α(s, i) + α(origin(q), i-1) * P(q) * P(Yi| q)
end
end
for q in n (s) do
α(s, i) ← α(s, i) + α(origin(q), i) * p(q)
end
end
end
(b) 알고리즘 2. β(s, i)의 계산
모든 S개의 노드를 널-아크의 도착노드가 출발 노드보다 큰 값을 갖도록 위상순으로 정렬(topological sorting)한다.
β(최종 노드, K) ← 1
β(최종 노드 이외의 노드, K) ← 0
for i ← K to 0 by -1 do
for s ← s to 1 by -1 do
β(s, i) ← 0
for q in mb(s) do
if i 〈 k then do
β(s, i) ←β(s, i) + β(dest(q), i+1) * P(q) * P(yi+1| q)
end
end
for q in nb(s) do
β(s, i) ← β(s, i) + β(dest(q), i) * P(q)
end
end
end
출력 확률 : 아크 q에서 j번째 기호의 확률
전이확률 : 노드 S에서 아크 또는 널-아크 r로 전이가 발생할 확률
상기 HMM 모델 훈련 원칙에 따라 (417, 425, 435)과정에서 알파벳 문자의 HMM 훈련이 일어나고 (409)과정에서 연결획에 대한 훈련이 이루어진다. 상기 각 과정(409, 418, 425, 435)에서 훈련이 완료되면 각 모델의 훈련결과를 메모리(104)의 RAM에 일시적으로 기록하여 둔다. 이 상태에서 인식을 위해서는 외부 명령에 의해 마이크로 프로세서(103)는 인식모드가 지정되어지므로 (401), (427)과정에서 체킹되어 훈련모드가 아니고(410), 인식모드(427)에 있으면 상기 (409, 417, 425, 435)과정의 HMM 모델훈련 완료여부를 (428)과정에서 체킹한다. HMM 모델훈련이 완료되었으면 (437)과정에서 각 훈련된 모델에 대해 제 8 도와 같은 형태의 순환은 은닉 마르코프 모델을 구성한다. 초기노드(830)와 최종노드(832)가 하나씩 존재하고, 상기 초기노드(830)는 각 문자모델(801∼803)의 첫째 노드로 널-아크를 통해 연결되어 있고, 각, a∼y 문자 모델(801∼803)의 마지막 노드(833, 835, 837)에서 최종노드(20) 사이에도 널-아크로 연결이 되어 있다. 또한 각 a∼y 문자모델(801∼803)의 연결획모델(811∼813)의 연결획모델 사이에도 널-아크로 연결되어 있다. 상기 문자모델(801∼803)과 연결획모델(811∼813)밖의 널-아크의 확률은 각 노드에서 출발하는 모든 널-아크의 확률값의 합이 1이 되도록 지정해준다.
제 4 도의 (437)과정에서 제 8 도와 같은 구성의 순환 은닉 마르코프 모델의 구성되는 실시예는 이 분야 통상의 지식을 가진 자는 제 9 도에서 구체적으로 이해되어질 것이다. (901)과정에서 훈련완료된 a∼y 문자모델(801∼803)의 갯수(Chr Mum)와 연결획모델(811∼813)의 갯수(Lg Num)를 입력한다. 상기 구성할 HMM중 a∼y 문자모델(801∼803)에 대해 (902)과정에서 초기 값을 지정하고(j=1), (903)과정에서 a∼y문자모델(CMj)(801∼803)을 가져와서 (904)과정에서 초기노드(IS)(803)에서 상기 a∼y 문자모델(CMj)(801∼803)의 마지막노드로 널-아크를 연결한다. (905)과정에서 a∼y 문자모델(CMj)(801∼803)의 첫 노드에서 최종노드(FS)(932)로 널-아크를 연결한다. (906)과정에서 연결할 문자의 다음 HMM 모델을 증가시켜(j=j+1), 이 값이 상기 (901)과정에서 입력된 문자 모델의 갯수(Chr Num)에 도달되었는가를 체킹한다. 상기 문자모델의 수에 도달되지 않았으면 상기 (903)∼(906)과정을 거치면서 HMM간 제 8 도와 같이 널-아크로 연결시킨다. 연결획 모델의 연결 처리를 위해 (908)과정에서 초기 값을 지정한다(i=1). (909)과정에서 연결획모델(LMi)(811∼813)의 값을 가져오고, a∼y 문자모델(801∼803)과의 처음부터 널-아크로 같이 연결시키기 위해 이에 초기값을 지정한다(j=1). (911)과정에서 a∼y 문자모델(CMj)(801)의 끝노드(833)에서 연결획모드(LMi)(811)의 첫 노드(838)에 널-아크로 연결하고, (912)과정에서 상기 연결획모델(LMi)(811)의 끝노드(804)에서 a∼y 문자모델(CMj)(801∼803)의 첫노드(821)를 널-아크로 연결한다. 상기와 동일과정을 진행함에 있어서 문자모델에 대해서는 (913)과정에서 a∼y 문자모델(801∼803)의 수에 따라 순차적으로 증가시키고(j=j+1), (914)과정에서 알파벳 문자모델의 갯수(Chr NUM)에 도달될 때까지 진행한다.
이어서 연결획모델에 대해서는 (915)과정에서 연결획모델(811∼813)의 수에 따라 순차적으로 증가시키고(i=i+1), 상기 연결획의 모델의 연결에 대해서는 (916)과정에서 연결획모델의 갯수(Lg Num)에 도달될 때까지 진행하여 제 8 도와 같은 구성을 완료한다. 상기와 같이 각 모델의 훈련과 모델외부 널-아크의 확률값의 지정이 완료되면 미지의 영어문자 및 단어를 받아 인식할 수 있다.
인식 과정
미지의 영어단어 및 문자를 인식하기 위해서는 메모리(104) 상에는 제 8 도와 같이 훈련이 완료된 연결획 및 문자모델로 이루어진 순환 HMM이 저장되어 있어야 하고, 마이크로 프로세서(103)는 문자인식을 위한 모드에 있어야 함을 밝혔다. 따라서 마이크로 프로세서(103)가 영어 문자 및 단어를 위한 준비가 완료되어 있을때 테블렛(101)상에서 전자펜(102)에 의해 영어문자 또는 단어로 제 14 도와 같이 쓰여진 궤적의 X, Y좌표 값과 획을 형성하는 점상태(D)값(표 1 참조)으로 된 출력을 (438)과정에서 마이크로 프로세서(103)에서 받아 처리에 의해 RAM(104)에 저장된다. (439)과정에서 모델훈련과정에서 사용한 제 5 도와 동일한 방법의 수순으로 획값으로부터 가상획을 삽입한다. 상기 (439)과정에서 가상획이 삽입되었으면 (440)과정에서 상기 가상획이 포함된 하나의 획으로부터 획을 이루는 각 점으로부터 거리가 같도록 모델훈련시 사용된 제 6 도와 동일한 방법 수순으로 획의 인접점간의 거리를 같게 정규화한다. (441)과정에서는 상기 (440)과정에서 정규화된 획의 각 점으로부터 인접점을 연결하는 벡터의 방향각을 모델훈련시 사용된 제 7 도의 흐름도에 의해 제 2 도에 0∼31까지의 체인코드로 변환시킨다. 이때 실제획에 대해서는 0에서 15까지의 체인코드를 부여하고, 추가 삽입된 가상획에 대해서는 16-31가지의 체인코드를 부여한다. 상기의 처리에 의해 인식할 미지의 영어단어 및 문자에 대해 얻어진 체인 코드 변환이 완료되면 (422)과정에서 제 8 도와 같이 상기 (437)과정의 순환 은닉 마르코프(HMM) 모델구성 과정에서 형성된 모델에 입력된다. 상기 얻어진 체인코드열로부터 제 8 도의 초기노드(830)에서 출발하여 최종노드(832)에 도달하는 최적의 경로를 찾아줌으로써 미지의 입력 영어단어 및 문자가 무엇인지 인식된다. (422)과정의 제 8 도와 구성된 a∼y 문자모델과 연결획 모델이 연결된 HMM에서 최적경로를 찾아 과정을 제 10 도 및 제 11∼12 도를 참조하여 설명한다.
2) 최적경로 선택
제 8 도의 알파벳 및 연결획의 순환 HMM로부터 최적의 경로를 찾을때 메모리(104)의 ROM의 단어사전을 참조하여 단어가 구성되지 않는 문자열은 제거시킨다. 제 11 도는 제 3 도의 HMM에서 출력심볼 aabb를 관측했을때 최적경로를 찾기 위한 격자구조를 보여주고 있는 예이고, 이는 단지 최적경로 찾는 과정에 대해 이해를 돕기 위해 사용되었음을 유념하여야 한다.
제 12 도는 최적경로를 계산하는 과정을 보여주는데, 시작노드 S1에서 출발하여 출력심볼 aabb를 관측하면서 최종 노드 S3에 도달했을때의 경로를 알 수 있다. 최적경로는 노드 S3에서 굵은 화살표를 역으로 S2까지 따라가면 된다. 따라서 이 예에서의 최적경로는 S→S2→S2→S2→S3 이다. 제 12 도에서 *로 표시한 21은 다음 각 확률 21은 다음 각 확률값을 구해 최개값을 선택할 것이다.
*21 = MAX{(1.0) * 37, (0.4) * .2, (0.2) * .4.5}
본 발명에서 최적경로를 찾는 방법으로 비터비(Viterbi) 알고리즘을 이용하였다. 비터비 알고리즘은 "Shenoy"특허로 "Serial Viterbi Decoder"로 하는 미국특허 번호 "4,583,078"에서 좀더 구체적이고 상세히 개시되어 있는 바 다음에서 설명되는 그 이상의 설명은 생략한다. 다음의 알고리즘 3은 본 발명에 적용된 상기 비터비 알고리즘을 보여주고 있다.
알고리즘 3. 최적경로의 탐색(비터비 알고리즘)
모든 S개의 노드를 널-아크의 도착노드가 출발노드보다 큰 값을 갖도록 위상순으로 정렬(topological sorting) 한다.
입력 = Y=Y1, Y2, Y3,…, Yk' 출력심볼의 열
출력 : Q, 초기노드로부터 최종 노드까지의 최적경로
F(초기노드, 0) ← 1.0
F(초기노드 이외의 노드, 0) ← 0.0
for i ← 0 to K do
for s ← 1 to S do
for q in n(s) do
prob ← F(origin(q), i) * p(q)
in prob 〉 F(s, i) then do
F(s, i) ← prob
Q(s, i) ← Q(origin(q), i) append q
end
for q in m(s) do
if i 〉 0 then do
prob ← F(origin(q), i-1) * p(q) * p(yi| q)
if prob 〉 F(s, i) then do
F(s, i) ← prob
Q(s, i) ← Q(origin(q), i-1) append q
end
end
상기 제 8 도의 순환 HMM 모델로부터 최적경로를 찾기 위한 비터비 알고리즘을 제 10 도를 참조하여 구체적으로 살펴보면 (111)과정에서 모든 노드(S)를 널아크의 도착노드와 출력노드 보다 큰 값을 갖도록 위상순으로 정렬(Sotr)하고, (112)과정에서 F(초기이외의 노드, 0)는 "0"로 하고 (113)과정에서 F(초기노드, 0)는 "1"로 한다.
(114, 115)과정에서 노드(S)와 출력심볼(체인코드) 변수(i)를 처음 상태로 하고(i=0, s=1), (116)과정에서 i개의 출력심볼(체인코드)을 관측하고 현재의 노드 S일때의 확률[F(s, i)]을 초기화 한다[F(S, i)=0].
(117)과정에서 첫번째 아크(q)을 지정하고 (q=1), (118)과정에서 아크(q)가 노드(S)로 들어가는 아크인가를 체킹한다. 상기 (118)과정에서 아크(q)가 노드(S)로 들어가는 아크일때 (125)과정에서 출력심볼 변수(i)가 "0"보다 큰지를 비교하고, 상기 (118)과정에서 아크(q)가 노드(S)로 들어가는 아크가 아닐때 (119)과정에서 아크(q)가 노드(S)로 들어가는 널-아크인가를 체킹한다.
상기 (119)과정에서 아크(q)가 노드(S)로 들어가는 널-아크일때 (120)과정에서 i번째 출력심볼(i)을 보고, 널-아크의 출발노드[origin(q)]에서의 확률값과 널아크가 발생할 확률[P(q)]을 곱하여 (F{origin(q), i}*{P(q)}), i개의 출력심볼(체인코드)을 관측하고, 현재의 노드가 S일때의 확률[F(s, i)]보다 큰지를 비교한다. 상기 (120)과정에서 F(s, i)보다 클때 (121)과정에서의 F(s, i)값으로 상기 F{origin(q), i}×P(q) 값을 선택하고, (122)과정에서 출력 심볼을 i개 보았을때 아크(q)의 출발노드(origin)(q) 최적경로[Q{origin(q), i}]에 널-아크(q)의 현재까지의 최적경로에 덧붙인다[Q(s, i) =Q{origin(q), i} append q].
상기 (125)과정에서 출력심볼 변수(i)가 "0"보다 클때 (126)과정에서 아크의 출발노드를 가르키는 출발아크[origin(q)]와 아크(q)중 자체가 발생할 확률 p(q)을 곱하고, 이에 아크(q)가 발생할때 i번째 출력심볼(체인코드) (ri)을 출력할 확률{P(Yi | q)}을 곱하여 [F{origin(q), i-1)*P(q)*P(Yi | q)}, 이 값이 i개 출력심볼(체인코드)을 관측하고 현재의 노드가 S일때 확률[F(s, i)]보다 큰지를 체킹한다. 상기 F(s, i)가 클때(127)과정에서 F{origing(q), i-1} *P(q) * P(Yi | q) 값을 F(s, i) 값으로 선택하고, (128)과정에서 출력심볼(체인코드)을 i개 보았을때 초기노드로부터 아크(q)의 출발노드 origin(q)까지의 최적경로 Q{origin(q)}에서 현재까지의 최적경로를 붙여 (122)과정과 같이 Q(s, i)를 결정한다.
다음 (123)과정에서 다음 처리를 위해 아크(q)를 증가시켜 (q=q+1), 노드(S)로 들어가는 아크(q)와 널-아크의 총 갯수(Q)와 상기 (123)과정에서 처리된 아크(q)의 값과의 큰지를 (124)과정에서 비교한다.
상기 (123)과정의 아크(q)의 계산값이 총갯수(Q)에 도달되지 않았을시 상기 과정을 반복하고, 하나의 노드에 대해 아크, 널-아크 모두를 처리했을때 다음 노드(S)를 처리하기 위해 (129)과정에서 노드(S)를 증가시킨다(S=S+1).
상기 (129)과정에서 노드(S)를 증가시킨 후 (130)과정에서 모든 노드수(S)에 대해 처리했는지를 체킹한다.
이에 도달되지 않았으면 상기 과정을 반복하고, 도달되었을때 (13)과정에서 다음 출력심볼(체인코드)을 증가시켜(i=i+1), 상기 과정을 실행하되, 상기 모든 체인코드(K)를 비교하여 출력심볼(i)에 대해 제 8 도 순환 HMM 모델을 거치면서 최적경로를 찾아간다.
상기 (442)과정에서 제 8 도와 같이 구성된 "a"∼"y" 문자모델과 연결획 모델이 상호 연결된 HMM에서 최적경로가 찾아지면 제 4 도의 (433)과정에서 단어인식 결과를 출력한다.
단어인식 결과 출력
제 4 도의 (443)과정의 단어인식 결과 출력의 일실시예는 제 13 도를 참조하여 구체적으로 설명되어질 것이다.
(331)과정에서 최종노드와 출력심볼의 갯수(K)를 기준으로 [Q(최종노드, K)] 최적경로상의 선택된 모든 아크(q1, q2,∼qk')(k' : 최적경로상의 아크 또는 널-아그의 갯수)를 입력한다.
(332)과정에서 인식할 단어를 널스트링(null-string)으로 만들고(W=""), (333)과정에서 최적경로상의 아크 또는 널-아크의 첫번째를 지정한다(i=1).
(334)과정에서 현재노드(S)에 도착노드를 지정하고 [S=Dest(qi)], (335), (337), (339)과정에서 노드(S)가 a∼y 문자모델의 최종노드인가를 체킹한다. 노드(S)가 해당 모델의 최종노드일때 (336), (338), (340)과정에서 해당문자를 인식하여 이전인식된 문자에 순차적으로 덧붙여간다. 그리고 (341)과정에서 다음 최적경로상의 아크 또는 널아크의 변수를 증가시켜(i=i+1), 상기 (331)과정의 최적경로상의 아크 또는 널아크의 수(k')에 도달될때까지 상기 과정을 반복하여 모두 처리가 끝나면 (343)과정에서 출력장치(103)로 출력한다..
영어문자의 숫자를 포함하는 아스키코드도 본 발명의 실시예에서 생략하였지만 본 발명의 기본적 사상을 벗어나지 않는한 이 분야 통상의 지식을 가진자라면 용이하게 실시할 수 있을 것이다.
상술한 바와같이 HMM 모델을 문자인식에 이용하되, 연결획과 문자를 HMM에서 훈련시킨 후 순환HMM으로 구성하여 임의의 문자수의 영어단어를 별도의 분리기없이 인식할 수 있고, 상기 HMM 사용으로 손으로 쓰여질때 많은 문자의 변형이 발생하더라도 효과적으로 흡수할 수 있다. 한편 연결획 모델의 사용으로 흘림체 필기는 물론 정서체와 흘림체가 혼용되어진 필기체의 단어의 인식이 가능한 이점이 있다.

Claims (11)

  1. 인식되어질 입력데이타는 좌표열로 구성되어지며, 상기 입력데이타를 온라인으로 순차적으로 받아 저장하고 있는 메모리된 문자를 처리하는 방법에 있어서, 상기 문자인식을 위해 훈련모드에서 상기 입력데이타의 알파벳 문자에 대해 가상획을 삽입하고 전처리하여 출력심볼로 변환한 후 HMM에서 문자단위로 해당문자에 대해 훈련을 시켜주는 문자 HMM 훈련과정과, 상기 훈련모드에서 상기 입력데이타의 연결획에 대해 가상획을 삽입하고 전처리하여 출력심볼로 변환한 후 HMM에서 연결획 단위로 훈련을 시켜주는 연결획 HMM 훈련과정과, 상기 문자인식므드에서 상기 문자 및 연결획 HMM 훈련과정의 처리결과로부터 단어내에서 문자 분리가 없이도 인식을 용이하도록 하기 위해 상기 훈련된 문자 HMM에 상기 훈련된 연결획 HMM를 부가하여 순환 HMM으로 형성하는 순환 HMM 형성과정과, 상기 인식되어질 입력데이타를 받아입력문자획에 가상획을 삽입하여 전처리한 후 출력심볼로 변환하고 상기 출력심볼이 상기 순환 HMM 형성과정에서 형성된 순환 HMM을 통과하면서 영어단어를 인식해내는 단어인식 과정으로 구성됨을 특징으로하는 영어문자인식 방법.
  2. 제 1 항에 있어서, 문자 HMM 훈련 또는 연결획 과정에서 전처리는 상기 입력데이타로부터 입력문자 또는 연결획에 있어 실제획에 가상획을 포함시켜 하나의 획으로 처리하고, 상기 하나로 처리된 획에서 이 획을 구성하고 있는 점에 대해 인접점의 간격을 일정한 거리로 정규화 함을 특징으로 하는 영어문자인식 방법.
  3. 제 1 항에 있어서, 출력심볼이 체인코드임을 특징으로 하는 영어문자인식 방법.
  4. 제 1 항에 있어서, 영어단어인식 과정이 상기 체인코드를 순환 HMM에 입력시키고 순환 HMM을 거치는 동안 상기 순환 HMM에서 최적경로를 찾기 위해 확률이 제일 높은 값을 선택하도록 함을 특징으로 하는 영어문자인식 방법.
  5. 인식되어질 입력데이타가 좌표열로 구성되어지며, 상기 입력데이타를 온라인으로 순차적으로 받아 저장하고 있는 메모리된 문자를 처리하는 방법에 있어서, 상기 순차적으로 입력된 획의 상기 저장 데이타로부터 문자의 실제획 사이의 단절을 찾는 획단절 추출과정과, 상기 획단절 추출과정에서 단절된 획사이에 가상획을 삽입 처리하는 가상획 삽입과정과, 상기 문자의 흘림체 필기 또는 정서체와 흘림체가 혼용되어 있는 문자를 인식하기 위해 상기 실제획과 상기 생성된 가상획을 하나의 획으로 통합하는 과정으로 구성됨을 특징으로 하는 영어문자인식 방법.
  6. 제 5 항에 있어서, 상기 가상획 삽입과정이 단절 상호 실제획에서 상기 실제획의 끝점과 다음획의 시작점을 찾아 가상획으로 처리함을 특징으로 하는 영어문자인식 방법.
  7. 인식되어질 필기체 입력데이타는 좌표열로 구성되어지며, 상기 입력데이타를 온라인으로 순차적으로 받아 저장하고 있는 메모리된 문자를 처리하는 방법에 있어서, 상기 필기체 획 입력데이타를 점의 좌표열로 받는 좌표열 입력과정과, 상기 획에 대응된 점의 좌표열로 입력되는 수와 상기 인접점간의 거리가 같도록 단위거리를 갖도록 지정하는 지정과정과, 흘려쓰여진 단어라도 처리속도 향상 및 문자인식을 용이하도록 상기 획의 인접점을 순차적으로 지정하여 거리를 산출한 후 상기 지정한 단위거리내에 있을때 상기 점들을 동일 단위 거리를 갖는 새로운 점을 발생하는 단위거리 환산과정과, 상기 발생된 점으로 이루어진 획의 인접거리간의 방향각으로부터 출력심볼을 발생하고 이를 문자 및 연결획모델 상호연결된 순환 HMM 모델에 최적경로를 찾아 단어를 인식하는 과정으로 구성됨을 특징으로 하는 영어문자인식 방법.
  8. 제 7 항에 있어서, 단위 거리환산 과정이 상기 획을 이루는 인접 시작점(SP : xi, yi) 끝점(FP : xi+1, yi+1)과의 거리를 순차적으로 지정하면서 단위거리(D)를 갖는 새로운 (x1, y2)로 생성하는데 있어 하기 식에 생성함을 특징으로 하는 방법.
  9. 영어문자인식 방법에 있어서, 상기 영어문자인식을 위한 준비단계인 훈련모드와 상기 훈련으로부터 미지의 문자를 인식하기 위한 인식모드를 체킹하는 제 1 과정과, 상기 제 1 과정에서 훈련모드일 때 영어문자훈련과 연결획 훈련모드에 있는가를 체킹하는 제 2 과정과, 상기 제 2 과정의 영어문자 훈련 또는 연결획 훈련모드에서 인식시 사용될 문자와 관련되어 HMM 훈련을 시키기 위해 필기되어지는 문자획 또는 연결획에 대한 궤적좌표 값과 획을 이루는 점의 데이타를 입력하는 제 3과정과, 상기 제 3 과정에 입력한 문자의 실제획으로부터 획간의 떨어진 부분에 가상획을 삽입하는 제 4 과정과, 상기 제 4 과정의 실제획으로부터 가상획이 포함된 획에서 상기 획을 이루는 인접점간의 간격을 일정하게 정규화하는 제 5 과정과, 상기 제 5 과정의 정규화된 획의 점으로부터 인접점을 연결하는 벡터 방향을 체인 코드로 변환하되, 상기 제 3-5 과정을 거치면서 해당 알파벳 문자 및 연결획에 대한 복수개를 입력받아 처리하는 제 6 과정과, 상기 제 6 과정에서 발생된 각 복수의 연결획 또는 문자획으로부터 발생된 체인코드를 HMM 모델에서 입력시켜 훈련결과를 기록하는 제 7 과정과, 상기 제 1 과정에서 인식모드시 단어내에서 문자분리의 별도과정없이 단어인식을 위해 상기 제 7 과정의 HMM 훈련완료 여부를 체킹하여 연결획 및 문자에 대한 HMM 훈련이 완료되었을시 각 훈련된 문자 HMM에 연결획 HMM을 상호 연결하되, 모델간 순환되도록 연결하는 제 7 과정과, 상기 제 7 과정의 문자인식을 위한 순환 HMM의 구성이 완료되었을시 인식을 위한 문자데이타를 입력하여 상기 문자의 획간의 밀어진 부분에 가상획을 삽입하고 이로부터 상기 획의 인접점과 점사이의 거리가 일정하도록 정규한후 체인코드로 변환하는 제 8 과정과, 상기 제 8 과정에서 변환된 체인코드를 상기 제 7 과정에서 구성된 순환HMM 모델에 입력하여 최적경로를 찾는 제 9 과정과, 상기 제 9 과정에서 찾은 최적경로에 따라 단어인식결과를 출력하는 제 10 과정으로 구성됨을 특징으로 하는 영어문자인식 방법.
  10. 제 4 항에 있어서, 제 7 과정이, 훈련된 전체의 문자 HMM 갯수와 연결획 HMM 갯수를 입력하여 초기모드에 상기 문자 HMM의 첫 노드로 널-아크를 연결하고 상기 문자 HMM의 각 마지막 노드에서 최종 노드로 널-아크를 연결하되, 상기 문자 HMM 갯수만큼 순차적으로 진행하는 문자 HMM연결과정과, 상기 문자 HMM의 마지막 노드 연결획 HMM의 첫 노드를 연결하고 상기 연결획 HMM의 마지막 노드를 상기 문자 HMM의 첫 노드를 연결하되, 상호 순환이 되도록 문자 및 연결획 HMM의 갯수만큼 상호 연결되도록 하는 연결획 HMM 및 문자 HMM 연결과정으로 구성됨을 특징으로 하는 영어문자인식 방법.
  11. 영어문자인식 시스템에 있어서, 상기 영어문자인식을 의한 준비단계인 훈련모드와 상기 훈련으로부터 미지문자를 인식하는 인식 모드를 체킹하는 제 1 수단과, 상기 제 1 수단에서 훈련모드일 때 영어문자 훈련과 연결획 훈련모드에 있는가를 체킹하는 제 2 수단과, 상기 제 2 수단의 영어문자 훈련 또는 연결획 훈련 모드에서 인식시 사용될 문자와 관련되어 HMM 훈련을 시키기 위해 필기되어지는 문자획 또는 연결획에 대한 궤적좌표 값과 획을 이루는 점의 데이타를 입력하는 제 3 수단과, 상기 제 3 수단에 입력한 문자의 실제획으로부터 획간의 떨어진 부분을 연결하기 위한 가상획을 삽입하는 제 4 수단과, 상기 제 4 수단의 실제획으로부터 가상획이 포함된 획에서 획을 이루는 인접점의 간격을 일정하게 정규화하는 제 5 수단과, 상기 제 5 수단의 정규화된 획의 점으로부터 인접점을 연결하는 벡터 영향을 체인코드로 변환하되, 상기 제 3-5 수단을 거치면서 해당 알파벳 문자 및 연결획에 대한 복수개를 입력받아 처리하는 제 6 수단과, 상기 제 6 수단에서 발생된 각 복수의 연결획 또는 문자획으로부터 발생된 체인코드를 HMM 모델에서 입력시켜 훈련결과를 기록하는 제 7 수단과, 상기 제 1 수단에서 인식모드시 단어내에서 문자분리의 별도과정없이 단어인식을 위해 상기 제 7 과정의 HMM 훈련완료 여부를 체킹하여 연결획 및 문자에 대한 HMM 훈련이 완료되었을시 각 훈련된 문자 HMM에 연결획 HMM을 상호 연결하되 모델간 순환되도록 연결하는 제 7 수단과, 상기 제 7 수단의 문자인식을 위한 순환 HMM의 구성이 완료되었을시 인식을 위한 문자데이타를 입력하여 상기 문자의 획간의 떨어진 부분에 가상획을 삽입하고 이로부터 상기 획의 점과 점사이의 거리가 일정하도록 정규한 후 체인코드로 변환하는 제 8 수단과, 상기 제 8 수단에서 변환된 체인코드를 상기 제 7 수단에서 구성된 순환 HMM 모델에 입력하여 최적경로를 찾는 제 9 수단과, 상기 제 9 수단에서 찾은 최적경로에 따라 단어인식결과를 출력하는 제 10 수단으로 구성됨을 특징으로 하는 영어문자인식 시스템.
KR1019930003917A 1993-03-15 1993-03-15 영어 문자 인식 방법 및 시스템 KR950013127B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019930003917A KR950013127B1 (ko) 1993-03-15 1993-03-15 영어 문자 인식 방법 및 시스템
US08/121,494 US5459809A (en) 1993-03-15 1993-09-16 Character recognition system and method therefor accommodating on-line discrete and cursive handwritten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930003917A KR950013127B1 (ko) 1993-03-15 1993-03-15 영어 문자 인식 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR940022320A KR940022320A (ko) 1994-10-20
KR950013127B1 true KR950013127B1 (ko) 1995-10-25

Family

ID=19352195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930003917A KR950013127B1 (ko) 1993-03-15 1993-03-15 영어 문자 인식 방법 및 시스템

Country Status (2)

Country Link
US (1) US5459809A (ko)
KR (1) KR950013127B1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0654755B1 (en) * 1993-11-23 2000-08-02 International Business Machines Corporation A system and method for automatic handwriting recognition with a writer-independent chirographic label alphabet
EP0694862A3 (en) * 1994-07-22 1996-07-24 At & T Corp Detection of degraded, grayscale documents using two-dimensional hidden pseudo-Markov models and N-best hypotheses
US6052481A (en) * 1994-09-02 2000-04-18 Apple Computers, Inc. Automatic method for scoring and clustering prototypes of handwritten stroke-based data
US5806034A (en) * 1995-08-02 1998-09-08 Itt Corporation Speaker independent speech recognition method utilizing multiple training iterations
JP3052997B2 (ja) * 1996-01-12 2000-06-19 日本電気株式会社 手書き入力表示装置
AU764561B2 (en) * 1996-05-23 2003-08-21 Apple Computer, Inc. Method and apparatuses for handwriting recognition
US6556712B1 (en) * 1996-05-23 2003-04-29 Apple Computer, Inc. Methods and apparatus for handwriting recognition
SE9602745D0 (sv) * 1996-07-11 1996-07-11 Abb Research Ltd A method for producing a channel region layer in a SiC-layer for a voltage controlled semiconductor device
US6847734B2 (en) * 2000-01-28 2005-01-25 Kabushiki Kaisha Toshiba Word recognition method and storage medium that stores word recognition program
US6677929B2 (en) 2001-03-21 2004-01-13 Agilent Technologies, Inc. Optical pseudo trackball controls the operation of an appliance or machine
AU2004271639B2 (en) * 2003-09-05 2010-09-23 Gannon Technologies Group Systems and methods for biometric identification using handwriting recognition
US7724958B2 (en) * 2004-09-07 2010-05-25 Gannon Technologies Group Llc Systems and methods for biometric identification using handwriting recognition
US7467086B2 (en) * 2004-12-16 2008-12-16 Sony Corporation Methodology for generating enhanced demiphone acoustic models for speech recognition
CA2526633A1 (en) * 2005-11-10 2007-05-10 Imaginet Software Transmission of handwriting over sms protocol
US7903877B2 (en) 2007-03-06 2011-03-08 Microsoft Corporation Radical-based HMM modeling for handwritten East Asian characters
US7974472B2 (en) * 2007-06-29 2011-07-05 Microsoft Corporation Feature design for HMM based Eastern Asian character recognition
US7983478B2 (en) * 2007-08-10 2011-07-19 Microsoft Corporation Hidden markov model based handwriting/calligraphy generation
US8229232B2 (en) * 2007-08-24 2012-07-24 CVISION Technologies, Inc. Computer vision-based methods for enhanced JBIG2 and generic bitonal compression
US8542927B2 (en) * 2008-06-26 2013-09-24 Microsoft Corporation Character auto-completion for online east asian handwriting input
CN101398902B (zh) * 2008-09-27 2012-07-04 宁波新然电子信息科技发展有限公司 一种自然手写阿拉伯字母联机识别方法
US20100189316A1 (en) * 2009-01-27 2010-07-29 Gannon Technologies Group, Llc Systems and methods for graph-based pattern recognition technology applied to the automated identification of fingerprints
US8363947B2 (en) 2010-07-31 2013-01-29 International Business Machines Corporation Handwritten character recognition based on frequency variations in characters
KR101386248B1 (ko) * 2013-09-09 2014-04-17 재단법인 실감교류인체감응솔루션연구단 공간 제스처 인식 장치 및 방법
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60136892A (ja) * 1983-12-26 1985-07-20 Hitachi Ltd オンライン手書き図形認識装置
US4764972A (en) * 1985-05-23 1988-08-16 Nec Corporation Continuous characters recognition system
US4819271A (en) * 1985-05-29 1989-04-04 International Business Machines Corporation Constructing Markov model word baseforms from multiple utterances by concatenating model sequences for word segments
JP3017740B2 (ja) * 1988-08-23 2000-03-13 ソニー株式会社 オンライン文字認識装置およびオンライン文字認識方法
JPH02263275A (ja) * 1989-04-03 1990-10-26 Kiyadeitsukusu:Kk 手書き文字の登録パターン作成方式
US5105468A (en) * 1991-04-03 1992-04-14 At&T Bell Laboratories Time delay neural network for printed and cursive handwritten character recognition
US5199077A (en) * 1991-09-19 1993-03-30 Xerox Corporation Wordspotting for voice editing and indexing
US5392363A (en) * 1992-11-13 1995-02-21 International Business Machines Corporation On-line connected handwritten word recognition by a probabilistic method

Also Published As

Publication number Publication date
US5459809A (en) 1995-10-17
KR940022320A (ko) 1994-10-20

Similar Documents

Publication Publication Date Title
KR950013127B1 (ko) 영어 문자 인식 방법 및 시스템
Mahdavi et al. ICDAR 2019 CROHME+ TFD: Competition on recognition of handwritten mathematical expressions and typeset formula detection
CN101853126B (zh) 一种联机手写句子实时识别方法
JP4350109B2 (ja) 走査された及びリアルタイムの手書き文字の識別を行う文字認識システム
KR100630886B1 (ko) 문자 스트링 식별
CN100533470C (zh) 对手写字符进行解码的设备及方法
US5982933A (en) Information processing method, information processing apparatus, and storage medium
Peng et al. Recognition of handwritten Chinese text by segmentation: a segment-annotation-free approach
CN114065738B (zh) 基于多任务学习的中文拼写纠错方法
Lv et al. Learning-based candidate segmentation scoring for real-time recognition of online overlaid Chinese handwriting
Sundaram et al. Bigram language models and reevaluation strategy for improved recognition of online handwritten Tamil words
Anigbogu et al. Hidden Markov models in text recognition
Nakai et al. Generation of hierarchical dictionary for stroke-order free Kanji handwriting recognition based on substroke HMM
Fujisaki et al. Online recognition of unconstrained handprinting: a stroke-based system and its evaluation
Sun et al. Adaptive online multi-stroke sketch recognition based on hidden markov model
JP3419251B2 (ja) 文字認識装置及び文字認識方法
Prum et al. Cursive on-line handwriting word recognition using a bi-character model for large lexicon applications
Xia et al. An efficient off-line handwritten Japanese address recognition system
Kim et al. On-line recognition of run-on Korean characters
Yin et al. Lexicon-driven recognition of one-stroke character strings in visual gesture
Tung et al. 2-stage character recognition by detection and correction of erroneously-identified characters
Xu et al. A hybrid post-processing system for handwritten chinese character recognition
Xu et al. A hybrid post-processing system for offline handwritten Chinese character recognition based on a statistical language model
Chiang et al. A method for improving the machine recognition of confusing Chinese characters
He et al. Off-line handwritten word recognition using HMM with adaptive length Viterbi algorithm

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20010628

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee