KR20240037144A - 신경망 기반의 수기 문자 인식 시스템 - Google Patents

신경망 기반의 수기 문자 인식 시스템 Download PDF

Info

Publication number
KR20240037144A
KR20240037144A KR1020230103813A KR20230103813A KR20240037144A KR 20240037144 A KR20240037144 A KR 20240037144A KR 1020230103813 A KR1020230103813 A KR 1020230103813A KR 20230103813 A KR20230103813 A KR 20230103813A KR 20240037144 A KR20240037144 A KR 20240037144A
Authority
KR
South Korea
Prior art keywords
string
character
stroke
neural network
handwriting
Prior art date
Application number
KR1020230103813A
Other languages
English (en)
Inventor
지엔밍 주앙
충 쿵 찬
Original Assignee
수니아 피티이 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 수니아 피티이 리미티드 filed Critical 수니아 피티이 리미티드
Publication of KR20240037144A publication Critical patent/KR20240037144A/ko

Links

Classifications

    • 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
    • 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/32Digital ink
    • G06V30/36Matching; Classification
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/18Extraction of features or characteristics of the image
    • G06V30/182Extraction of features or characteristics of the image by coding the contour of the pattern
    • G06V30/1823Extraction of features or characteristics of the image by coding the contour of the pattern using vector-coding
    • 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/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/19Recognition using electronic means
    • G06V30/19193Statistical pre-processing, e.g. techniques for normalisation or restoring missing data

Landscapes

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

Abstract

신경망 기반의 수기 문자 인식 시스템은 온라인 수기의 문자열 수기 궤적을 수신하여 미리 처리를 수행하는 데 사용되는 필획 입력 프로세서; 상기 필획 입력 프로세서에서 처리한 많은 문자열 수기 궤적을 저장하는 데 사용되는 문자열 데이터베이스; 및 인코더, 디코더, 입력 인터페이스 및 출력 인터페이스를 포함하는 문자 인식 신경망을 포함한다. 상기 문자열 데이터베이스의 상기 문자열 수기 궤적 중의 각 필획은 상기 입력 인터페이스를 통해 상기 인코더 및 상기 디코더에 입력되어 여러 회의 인식을 수행하며, 복수의 가능한 문자열을 획득한다. 학습 단계에서, 상기 문자열 수기 궤적에 대응하는 이미 알고 있는 문자열은 상기 문자 인식 신경망의 예상 출력으로 사용된다. 인식된 문자열은 상기 출력 인터페이스를 통해 포스트 프로세서에 출력되어 정규화되어, 상기 문자 인식 신경망의 출력으로 사용된다.

Description

신경망 기반의 수기 문자 인식 시스템 {HANDWRITING TEXT RECOGNITION SYSTEM BASED ON NEURAL NETWORK}
본 발명은 문자 인식 시스템에 관한 것으로, 보다 상세하게는 신경망 기반의 수기 문자 인식 시스템에 관한 것이다.
온라인 수기 문자행 인식 기술은 한 행의 수기 문자의 동적 필적을 문자열로 변환하는 기술이다. 인쇄체 인식 기술에 비해, 수기 인식은 사람마다 다른 필기 습관을 고려해야 하므로 더 어렵다. 또한 오프라인 수기 인식에 비해, 온라인 수기 인식은 타이밍 정보가 추가되고 배경 노이즈가 적기 때문에, 더 높은 정확도를 얻을 수 있다.
종래 기술에는 두 가지의 인식률이 높은 온라인 수기 인식 방법이 있다. 첫 번째 방법은 분할 디코딩 메커니즘을 기반으로 하며, 먼저 필획 순서를 분할한 다음, 동적 프로그래밍의 방식을 적용하여 분류기로 최적의 분할 방식 및 대응하는 인식 결과를 선택한다. MyScript사 및 초기 Google사에서 모두 이러한 방법을 사용하였으며, 이는 정확한 대응 관계를 출력할 수 있다는 장점이 있다. 두 번째 방법은 명시적 분할을 수행하지 않으며, 일반적으로 양방향 순환 신경망 및 CTC(Connectionist Temporal Classification) 디코더를 기반으로 한다. 이 방법을 사용하는 회사로는 Samsung, Google 등이 있는데, 이 방법의 장점은 관련 모델을 end-to-end training 방식으로 학습할 수 있어 구현이 쉽다는 점이다.
그러나 상기 종래 기술의 인식률은 세계의 다양한 주류 자연어(오른쪽에서 왼쪽으로 쓰는 언어 포함)를 정확하게 인식하거나, 거꾸로 작성된 문자를 인식할 만큼 높지 않다.
따라서 본 발명의 목적은 상술한 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명에서는 인식률이 더 높고, 세계의 다양한 주류 자연어(오른쪽에서 왼쪽으로 쓰는 언어 포함)를 보다 정확하게 인식할 수 있으며, 입력 필획과 출력 문자 간의 대응 관계를 제공할 수 있는 신경망 기반 수기 문자 인식 시스템을 제안한다. 또한 임의의 거꾸로 작성된 문자의 인식을 지원할 수 있다. 본원은 실제 응용 시 필요한 문자 인식 범위를 구성하여 개방형 또는 폐쇄형 사전의 응용을 지원할 수 있다. 본원은 일반 휴대폰이나 태블릿 PC에서 실시간 수기 문자 인식에도 적용할 수 있다.
상기 목적을 달성하기 위해, 본 발명은 신경망 기반의 수기 문자 인식 시스템을 제공한다. 여기에는 필획 입력 프로세서, 문자열 데이터베이스, 문자 인식 신경망 및 포스트 프로세서가 포함된다. 상기 필획 입력 프로세서는 온라인 수기의 문자열 수기 궤적을 수신하는 데 사용되며, 상기 문자열 수기 궤적은 복수 개의 필획으로 나뉜다. 신경망의 학습 단계 및 예측 단계에서, 상기 필획 입력 프로세서는 상기 문자열 수기 궤적의 각 필획을 미리 처리한다. 학습 단계에서, 상기 문자열 수기 궤적의 이러한 필획은 공지된 문자열에 대응하며, 이는 적어도 하나의 문자로 구성된다. 상기 문자열 수기 궤적 및 그에 대응하는 문자열은 문자열 샘플을 형성한다. 문자열 데이터베이스는 상기 필획 입력 프로세서에 연결되어, 상기 필획 입력 프로세서에서 처리한 많은 문자열 수기 궤적을 저장하는 데 사용된다. 학습 단계에서, 상기 문자열 데이터베이스는 상기 문자열 수기 궤적 및 그에 대응하는 문자열에 의해 형성된 문자열 샘플을 저장한다. 문자 인식 신경망은 인코더, 디코더, 상기 인코더에 위치하는 입력 인터페이스, 및 상기 디코더에 위치하는 출력 인터페이스를 포함한다. 상기 입력 인터페이스는 상기 문자열 데이터베이스에 연결되어, 상기 문자열 수기 궤적의 각 필획을 수신하는 데 사용된다. 상기 인코더는 각 필획에서 콘텍스트 매트릭스 및 상기 디코더가 사용하는 초기 상태를 찾는 데 사용되고, 상기 디코더는 상기 콘텍스트 매트릭스 및 상기 초기 상태를 수신하고, 상기 출력 인터페이스로부터 예상 출력 문자열의 세그먼트 및 신뢰도를 출력하고, 이 세그먼트 및 신뢰도를 상기 디코더에 자기회귀 입력한 다음 인식을 수행한다. 이처럼 여러 번 반복한 후, 복수의 가능한 문자열 및 대응하는 신뢰도를 획득하고, 결과 후보 세트에 저장한다. 상기 결과 후보 세트는 상기 출력 인터페이스를 통해 외부로 출력된다. 학습 단계에서, 상기 문자열 수기 궤적의 각 필획은 상기 입력 인터페이스를 통해 상기 문자 인식 신경망에 입력되고, 상기 문자열 수기 궤적에 대응하는 문자열은 상기 문자 인식 신경망의 예상 출력으로 사용된다. 포스트 프로세서는 상기 문자열 데이터베이스 및 상기 문자 인식 신경망의 상기 출력 인터페이스를 연결한다. 상기 문자 인식 신경망의 상기 출력 인터페이스에서 출력되는 상기 결과 후보 세트의 문자열은 상기 포스트 프로세서에 의해 정규화(Normalization)되어, 상기 문자 인식 신경망의 출력으로 사용된다.
도 1은 본원의 주요 구성요소가 조합된 구조도이다.
도 2는 본원의 학습 단계의 적용도이다.
도 3은 본원의 문자열 샘플의 블록도이다.
도 4는 본원의 예측 단계의 적용도이다.
이하에서는 본원의 구조적 구성, 및 생성 가능한 효능 및 장점은 도면을 참조하여 본원의 비교적 바람직한 실시예와 함께 상세하게 설명한다.
도 1 내지 도 4에 도시된 바와 같이, 본 발명의 신경망 기반의 수기 문자 인식 시스템은, 문자 인식은 시퀀스 대 시퀀스(sequence to sequence) 문제로 모델링되며, 이 문제의 입력은 일련의 샘플링 포인트(x 좌표, y 좌표 및 필획 종료 표기 포함)이고, 출력은 일련의 문자이며, 이들 둘의 길이는 모두 고정되지 않은 값이다. 본원은 이 문제를 해결하기 위해 어텐션 메커니즘 기반의 인코더-디코더 아키텍처를 채택한다.
본원은 하기의 구성요소를 포함한다.
필획 입력 프로세서(10)는 온라인 수기의 문자열 수기 궤적(80)을 수신하는 데 사용되며, 상기 문자열 수기 궤적(80)은 복수 개의 필획(81)으로 나뉜다. 신경망의 학습 단계 및 예측 단계에서, 상기 필획 입력 프로세서(10)는 상기 문자열 수기 궤적(80)의 각 필획(81)을 미리 처리한다. 학습 단계에서, 상기 문자열 수기 궤적(80)의 이러한 필획(81)은 공지된 문자열(90)에 대응하며, 이는 적어도 하나의 문자(91)로 구성된다. 상기 문자열 수기 궤적(80) 및 그에 대응하는 문자열(90)은 문자열 샘플(100)을 형성한다(도 3에 도시된 바와 같음). 상기 필획 입력 프로세서(10)의 미리 처리 방식은 다음과 같다.
필획 순서 정규화: 각 필획(81)에 대하여 외접 박스를 결정하고, 상기 외접 박스는 상기 필획(81)을 수용할 수 있는 최소 박스이다. 각각의 필획(81)의 외접 박스의 좌측 위치를 기준으로, 모든 필획(81)에 대하여 왼쪽에서 오른쪽으로 정렬한다. 즉, 소위 정규화한다.
행 높이 추정: 필획(81)의 길이와 그 외접 박스의 너비가 비슷하면, 그 외접 박스의 너비를 필획 스케일로 사용하고, 그렇지 않으면 상기 외접 박스의 높이를 필획 스케일로 사용한다. 이러한 필획 스케일의 특정 분위수를 행 높이의 추정치로 사용한다.
재샘플링 재진행: 각각의 필획(81)은 복수 개 샘플링 포인트(83)로 표시되며, 샘플링 포인트(83)의 경우, 상기 샘플링 포인트(83)와 이전 샘플링 포인트(83)의 거리가 행 높이 추정치의 특정 배수보다 작으면, 해당 샘플링 포인트(83)를 제거한다. 상기 샘플링 포인트(83)와 그 전후 샘플링 포인트(83)의 경우, 세 포인트 사이의 협각이 평면각(180도)에 가까우면, 샘플링 포인트(83)를 제거한다. 이러한 방식으로, 샘플링 포인트(83)의 수를 대폭 줄일 수 있다.
좌표 정규화 진행: 각 샘플링 포인트(83)의 좌표를 행 높이 추정치로 나눈다.
학습 단계에서, 상기 문자열 수기 궤적(80)의 각각의 필획(81)은 상기 필획 입력 프로세서(10)에 의해 미리 처리가 수행되어 신경망의 입력으로 사용된다. 상기 문자열 수기 궤적(80)에 대응하는 문자열(90)은 신경망의 예상 출력으로 사용된다.
문자열 데이터베이스(20)는 상기 필획 입력 프로세서(10)에 연결되어, 상기 필획 입력 프로세서(10)에서 처리한 많은 문자열 수기 궤적(80)을 저장하는 데 사용된다. 학습 단계에서, 상기 문자열 데이터베이스(20)는 상기 문자열 수기 궤적(80) 및 그에 대응하는 문자열(90)에 의해 형성된 문자열 샘플(100)을 저장한다. 각각의 상기 문자열 수기 궤적(80)의 각각의 필획(81)은 복수의 샘플링 포인트(83)로 나타낸다. 각각의 필획(81)의 첫 번째 샘플링 포인트(83)는 좌표(0, 0)로 표시되며, 나머지 샘플링 포인트(83)는 이전 샘플링 포인트(83)에 대한 변위 벡터로 표시된다. 각 필획(81)의 마지막 샘플링 포인트(83)에는 종료 표시가 있을 수 있다.
전체 시스템의 일반화 인식 능력을 향상시키기 위해, 문자열 샘플(100)의 수를 증가시키는 데이터 증폭 방법이 사용될 수 있다. 여기에서 본원은 문자열 샘플 생성 유닛(30)을 더 포함하고, 이는 말뭉치 및 수기 샘플 라이브러리(35) 및 상기 필획 입력 프로세서(10)를 연결하고, 상기 말뭉치 및 수기 샘플 라이브러리(35)는 특정 언어의 다양한 문자 및 단어, 및 그에 대응하는 필획(81)의 샘플을 저장한다. 상기 문자열 샘플 생성 유닛(30)은 상기 말뭉치 및 수기 샘플 라이브러리(35)로부터 많은 문자열(90) 및 그에 대응하는 필획(81)을 추출하고, 이러한 문자열(90)에 대해 그 대응하는 문자열 수기 궤적(80)을 합성하여, 많은 문자열 샘플(100)을 형성하고, 상기 필획 입력 프로세서(10)에 의해 처리된 후 상기 문자열 데이터베이스(20)에 저장되어, 신경망 학습에 사용된다. 상기 문자열 샘플 생성 유닛(30)이 상기 문자열 수기 궤적(80)을 합성하는 방법은 다음 단계를 포함한다.
단계 (1) 텍스트 조판 알고리즘을 사용하여 상기 문자열(90)을 렌더링(render)하고, 문자열(90) 중 각 문자/단어의 위치를 기록한 후, 상기 말뭉치 및 수기 샘플 라이브러리(35)에서 각 문자/단어의 필획(81)을 검색하고 해당 위치에 배치하여, 이러한 문자/단어 중 각 필획(81)의 정규화된 필획 순서 및 행 높이 추정치를 획득한 다음, 상기 필획 입력 프로세서(10)에 입력하여 재샘플링 및 좌표 정규화를 수행하여, 대응하는 문자열 샘플(100)을 획득한다.
여기에서 상기 문자열(90)의 문자, 단어, 행 등의 등급에 따라 분류하고, 그 대응하는 필획(81)에 대해 무작위 아핀 변환(Affine transformation)을 수행하여 대응하는 문자열 수기 궤적(80)의 다양성을 더욱 향상시켜, 더 많은 문자열 샘플(100)을 획득하여 신경망을 학습시키는 데 사용할 수 있다.
단계 (2) 레이블이 있는 텍스트 행 샘플을 사용하여 시퀀스 대 시퀀스 번역 모델을 학습시키고, 상기 레이블은 상기 텍스트 행 샘플에서 대응하는 문자열(90)을 나타내고, 상기 시퀀스 대 시퀀스 번역 모델은 문자열(90)을 대응하는 문자열 수기 궤적(80)으로 변환하여, 대응하는 문자열 샘플(100)을 생성하는 데 사용한다.
상기 문자열 샘플 생성 유닛(30)은 획득한 문자열 샘플(100)을 상기 문자열 데이터베이스(20)에 저장한다.
문자 인식 신경망(40)은 인코더(41), 디코더(42), 상기 인코더(41)에 위치하는 입력 인터페이스(43), 및 상기 디코더(42)에 위치하는 출력 인터페이스(44)를 포함한다. 상기 입력 인터페이스(43)는 상기 문자열 데이터베이스(20)에 연결되어, 상기 문자열 수기 궤적(80)의 각 필획(81)을 수신하는 데 사용된다. 상기 인코더(41)는 각 필획(81)에서 콘텍스트 매트릭스 및 상기 디코더(42)가 사용하는 초기 상태를 찾는 데 사용되고, 상기 디코더(42)는 상기 콘텍스트 매트릭스 및 상기 초기 상태를 수신하고, 상기 출력 인터페이스(44)로부터 예상 출력 문자열의 세그먼트 및 신뢰도를 출력하고, 이 세그먼트 및 신뢰도를 상기 디코더(42)에 자기회귀 입력한 다음 인식을 수행한다. 이처럼 여러 번 반복한 후, 복수의 가능한 문자열(90) 및 대응하는 신뢰도를 획득하고, 결과 후보 세트(70)에 저장한다. 상기 결과 후보 세트(70)는 상기 출력 인터페이스(44)를 통해 외부로 출력된다.
도 2에 도시된 바와 같이, 학습 단계에서, 상기 문자열 수기 궤적(80)의 각 필획(81)은 상기 입력 인터페이스(43)를 통해 상기 문자 인식 신경망(40)에 입력되고, 상기 문자열 수기 궤적(80)에 대응하는 문자열(90)은 상기 문자 인식 신경망(40)의 예상 출력으로 사용된다.
포스트 프로세서(50)는 상기 문자열 데이터베이스(20) 및 상기 문자 인식 신경망(40)의 상기 출력 인터페이스(44)를 연결한다. 상기 문자 인식 신경망(40)의 상기 출력 인터페이스(44)에서 출력되는 상기 결과 후보 세트(70)의 문자열(90)은 상기 포스트 프로세서(50)에 의해 정규화(Normalization)되어, 상기 문자 인식 신경망(40)의 출력으로 사용된다. 여기에서 정규화의 방법은 다음과 같다.
(1) Unicode의 NFKD 포맷(Normalization Form KD)의 정규화를 수행한다. 주로 상이한 형태의 동일한 문자로 표현되며, 동일한 프로그램 코드로 정규화된다.
(2) Unicode 코드 비트의 순서를 정상적인 논리적 순서에서 시각적 순서(왼쪽에서 오른쪽으로)로 변환하여, 정렬된 입력과 대략적으로 정렬되도록 한다. 예측 단계에서, 예상 인식 결과도 통상적으로 정규화된 것일 수 있으므로, 인식된 문자열(90)에 대해 Unicode의 NFKC 정규화를 수행하고, Unicode 코드 비트의 순서를 시각적 순서에서 논리적 순서로 변환해야 한다.
예를 들어 문자열(90)에 상이한 배열 순서를 갖는 세그먼트의 문자를 동일한 배열 순서로 정리한다. 이는 신경망을 학습할 때 인식을 더욱 용이하게 한다.
여기에서 상기 인코더(41)는 다층 양방향 LSTM(Long Short-Term Memory) 순환 신경망 및 완전 연결 신경망(Fully-Connected Neural Network, FNN)을 포함한다. 여기에서 상기 인코더(41)에 입력되는 각각의 필획(81)은 다층 양방향 LSTM(Long Short-Term Memory) 순환 신경망으로 들어가고, 상기 다층 양방향 LSTM 순환 신경망의 출력은 콘텍스트 매트릭스(context matrix)이다. 상기 콘텍스트 매트릭스에 대해 전역 평균 풀링(Global Average Pooling)을 수행한 후, 다시 상기 완전 연결 신경망(Fully-connect Neural Network, FNN)을 거치며, 상기 완전 연결 신경망의 출력은 상기 디코더(42)의 초기 상태를 입력하는 데 사용된다.
여기에서 상기 디코더(42)의 입력은 입력 문자, 디코딩 상태, 수렴 벡터, 및 상기 콘텍스트 매트릭스를 포함한다. 상기 디코더(42)는 다단계 디코딩을 수행하는데, 제1단계 디코딩을 수행할 때, 상기 입력 문자의 초기값은 내장된 시작 문자이고, 상기 수렴 벡터의 초기값은 제로 벡터이며, 상기 디코딩 상태의 초기값은 상기 인코더(41)에서 출력되는 상기 초기 상태이고, 상기 콘텍스트 매트릭스는 상기 인코더(41)에서 출력된다. 상기 디코더(42)의 출력은 다음 문자 및 그 신뢰도(Confidence) 분포, 새로운 디코딩 상태 및 새로운 수렴 벡터이고, 상기 다음 문자는 새로운 입력 문자로 사용되며, 새로운 디코딩 상태 및 새로운 수렴 벡터와 함께 상기 디코더(42)에 자기회귀 입력하여, 다음 디코딩을 수행한다. 상기 디코더(42)는 상기 방식을 적용하여 다단계의 디코딩을 반복한다. 여기에서 상기 수렴 벡터의 차원은 각 샘플링 포인트(83)를 나타내며, 그 작용은 어느 샘플링 포인트(83)가 이미 대응하는 출력 문자를 가지는지 기록하는 것이며, 각 차원의 초기 좌표는 0이다. 대응하는 출력 문자가 존재하면, 상기 샘플링 포인트(83)에 대응하는 차원 좌표를 1로 설정한다. 따라서 상기 수렴 벡터를 사용하면 누락되거나 글자가 더 많은 경우를 줄일 수 있다.
여기에서 상기 디코더(42)는 손실 함수(loss function)를 정의할 수 있으며, 이는 복수 개 함수의 선형 조합이고, 계산 시 필요에 따라 의미 있는 손실 함수를 정의할 수 있다. 상기 손실 함수는 신뢰도 분포의 교차 엔트로피(cross-entropy)를 보정하고 상기 수렴 벡터 종료 시 모든 1의 평균 제곱 편차를 안내하는 데 사용된다. 특정 문자에 대응하는 필획(81)을 알고 있으며(예를 들어, 데이터에 문자 레벨의 레이블이 있거나 합성된 경우), 하나의 문자를 디코딩하도록 안내하면, 상기 수렴 벡터의 관련 필획(81)에 대응하는 포인트의 성분을 1 증가시킨다. 따라서 예측 단계에서 상기 수렴 벡터의 변화를 통해 각각의 출력된 문자가 어느 필획(81)에 대응하는지 판단할 수 있다.
예측 단계에서 상기 디코더(42)는 빔 서치(Beam Search)의 방식을 사용하여 점진적으로 후보 행을 구축하고, 미완성 후보 행 각각에 대해, 그 문자열, 신뢰도, 디코딩 상태, 수렴 벡터 및 예측 분석 스택(predictive analysis stack)을 기록한다. 상기 예측 분석 스택은 예측 분석법(predictive analytics)에서 문법 부호 시퀀스가 포함된 스택이다. 문자 레벨의 후보를 출력해야 하는 경우, 각 문자의 여러 다른 후보 문자 및 대응하는 신뢰도를 더 기록한다. 필획(81)과 문자의 대응 관계를 출력해야 하는 경우, 히스토리 수렴 벡터를 더 기록한다. 상기 디코더(42)는 각 디코딩 단계에서 각 미완성 후보 행에 대해 다음 단계를 수행한다.
단계 (1) 상기 디코더(42)를 호출하여 다음 문자의 후보 리스트와 대응하는 신뢰도를 획득하고, 동시에 디코딩 상태 및 수렴 벡터를 동시에 업데이트한다.
단계 (2) 다음 문자의 각각의 후보는 상기 출력 인터페이스(44)를 통해 상기 출력 인터페이스(44) 및 상기 포스트 프로세서(50) 사이에 직렬로 연결된 신뢰도 조정 유닛(60)으로 출력되고, 상기 신뢰도 조정 유닛(60)은 n-gram 방식을 적용하여 획득한 문자열의 확률을 계산하여, 다음 문자의 각 후보의 신뢰도를 조정한다.
단계 (3) 다음 문자의 각 후보에 대해, 원래 문자열과 결합된 후의 신뢰도 및 예측 분석 스택을 계산한다:
(a) 상기 후보가 종료 부호이고 상기 예측 분석 스택이 비어 있으면, 완성 후보 행을 획득한다.
(b) 상기 후보가 종료 부호가 아니고, 상기 예측 분석 스택이 오류 상태에 있지 않으면, 다음 디코딩 시 처리하기 위해 미완성 후보 행을 획득한다.
여기에서 다음 디코딩을 시작할 때마다, 상기 디코더(42)는 신뢰도가 가장 높은 여러 후보 행만 유지한다. 완성된 후보 행 수가 미리 설정된 값에 도달하면, 디코딩이 중지되고, 이때 완성된 후보 행은 여러 가능한 문자열(90)이고, 이러한 문자열(90) 및 그 신뢰도는 상기 결과 후보 세트(70)에 저장되며, 상기 출력 인터페이스(44)에 의해 외부로 출력된다.
도 4에 도시된 바와 같이, 예측 단계에서, 인식하고자 하는 문자열 수기 궤적(80)의 각 필획(81)을 상기 필획 입력 프로세서(10)에서 처리한 후, 상기 문자열 데이터베이스(20)를 통해 상기 문자 인식 신경망(40)에 입력하여 인식하고, 인식 결과를 상기 포스트 프로세서(50)에서 처리하여 획득한 상기 결과 후보 세트(70)는, 상기 문자열 수기 궤적(80)에 대응되는 여러 가능한 문자열(90) 및 그 신뢰도를 포함한다.
본원의 장점은 인식률이 더 높고, 세계의 다양한 주류 자연어(오른쪽에서 왼쪽으로 쓰는 언어 포함)를 더 정확하게 인식할 수 있으며, 입력 필획과 출력 문자 간의 대응 관계를 제공할 수 있다는 것이다. 또한 임의의 거꾸로 작성된 문자의 인식을 지원할 수 있다. 본원은 실제 응용 시 필요한 문자 인식 범위를 구성하여 개방형 또는 폐쇄형 사전의 응용을 지원할 수 있다. 본원은 일반 휴대폰이나 태블릿 PC에서 실시간 수기 문자 인식에도 적용할 수 있다.
상기의 상세한 설명은 본 발명의 실현 가능한 실시예에 대한 구체적인 설명이나, 상기 실시예는 본 발명의 특허범위를 한정하지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 균등한 실시 또는 변형을 수행한 것은 모두 본원의 특허범위에 포함된다.

Claims (13)

  1. 신경망 기반의 수기 문자 인식 시스템에 있어서,
    필획 입력 프로세서, 문자열 데이터베이스, 문자 인식 신경망 및 포스트 프로세서가 포함되고,
    상기 필획 입력 프로세서는 온라인 수기의 문자열 수기 궤적을 수신하는 데 사용되며, 상기 문자열 수기 궤적은 복수 개의 필획으로 나뉘고; 신경망의 학습 단계 및 예측 단계에서, 상기 필획 입력 프로세서는 상기 문자열 수기 궤적의 각 필획을 미리 처리하고; 학습 단계에서, 상기 문자열 수기 궤적의 이러한 필획은 공지된 문자열에 대응하며, 이는 적어도 하나의 문자로 구성되고, 상기 문자열 수기 궤적 및 그에 대응하는 문자열은 문자열 샘플을 형성하고;
    상기 문자열 데이터베이스는 상기 필획 입력 프로세서에 연결되어, 상기 필획 입력 프로세서에서 처리한 많은 문자열 수기 궤적을 저장하는 데 사용되고; 학습 단계에서, 상기 문자열 데이터베이스는 상기 문자열 수기 궤적 및 그에 대응하는 문자열에 의해 형성된 문자열 샘플을 저장하고;
    상기 문자 인식 신경망은 인코더, 디코더, 상기 인코더에 위치하는 입력 인터페이스, 및 상기 디코더에 위치하는 출력 인터페이스를 포함하고; 상기 입력 인터페이스는 상기 문자열 데이터베이스에 연결되어, 상기 문자열 수기 궤적의 각 필획을 수신하는 데 사용되고; 상기 인코더는 각 필획에서 콘텍스트 매트릭스 및 상기 디코더가 사용하는 초기 상태를 찾는 데 사용되고, 상기 디코더는 상기 콘텍스트 매트릭스 및 상기 초기 상태를 수신하고, 상기 출력 인터페이스로부터 예상 출력 문자열의 세그먼트 및 신뢰도를 출력하고, 이 세그먼트 및 신뢰도를 상기 디코더에 자기회귀 입력한 다음 인식을 수행하고; 이처럼 여러 번 반복한 후, 복수의 가능한 문자열 및 대응하는 신뢰도를 획득하고, 결과 후보 세트에 저장하고; 상기 결과 후보 세트는 상기 출력 인터페이스를 통해 외부로 출력되고;
    학습 단계에서, 상기 문자열 수기 궤적의 각 필획은 상기 입력 인터페이스를 통해 상기 문자 인식 신경망에 입력되고, 상기 문자열 수기 궤적에 대응하는 문자열은 상기 문자 인식 신경망의 예상 출력으로 사용되고;
    상기 포스트 프로세서는 상기 문자열 데이터베이스 및 상기 문자 인식 신경망의 상기 출력 인터페이스를 연결하고; 상기 문자 인식 신경망의 상기 출력 인터페이스에서 출력되는 상기 결과 후보 세트의 문자열은 상기 포스트 프로세서에 의해 정규화(Normalization)되어, 상기 문자 인식 신경망의 출력으로 사용되는 것을 특징으로 하는 신경망 기반의 수기 문자 인식 시스템.
  2. 제1항에 있어서,
    상기 필획 입력 프로세서의 미리 처리 방식은,
    필획 순서 정규화: 각 필획에 대하여 외접 박스를 결정하고, 상기 외접 박스는 상기 필획을 수용할 수 있는 최소 박스이고, 각 필획의 외접 박스의 좌측 위치를 기준으로, 모든 필획을 왼쪽에서 오른쪽으로 정렬, 즉 소위 규범화하는 단계;
    행 높이 추정: 필획의 길이와 이의 외접 박스의 너비가 비슷하면, 이의 외접 박스의 너비를 필획 스케일로 사용하고, 그렇지 않으면 상기 외접 박스의 높이를 필획 스케일로 사용하며, 이러한 필획 스케일의 특정 분위수를 행 높이의 추정치로 사용하는 단계;
    재샘플링 재진행: 각각의 필획은 복수 개 샘플링 포인트로 표시되며, 샘플링 포인트의 경우, 상기 샘플링 포인트와 이전 샘플링 포인트의 거리가 행 높이 추정치의 특정 배수보다 작으면, 해당 샘플링 포인트를 제거하고, 상기 샘플링 포인트와 그 전후 샘플링 포인트의 경우, 세 포인트 사이의 협각이 평면각에 가까우면, 샘플링 포인트를 제거하는 단계; 및
    좌표 정규화 진행: 각 샘플링 포인트의 좌표를 행 높이 추정치로 나누는 단계를 포함하는 것을 특징으로 하는 시스템.
  3. 제1항에 있어서,
    문자열 샘플 생성 유닛을 더 포함하고, 이는 말뭉치 및 수기 샘플 라이브러리 및 상기 필획 입력 프로세서를 연결하고, 상기 말뭉치 및 수기 샘플 라이브러리는 특정 언어의 다양한 문자 및 단어, 및 그에 대응하는 필획의 샘플을 저장하고, 상기 문자열 샘플 생성 유닛은 상기 말뭉치 및 수기 샘플 라이브러리로부터 많은 문자열 및 그에 대응하는 필획을 추출하고, 이러한 문자열에 대해 그 대응하는 문자열 수기 궤적을 합성하여, 많은 문자열 샘플을 형성하고, 상기 필획 입력 프로세서에 의해 처리된 후 상기 문자열 데이터베이스에 저장되어, 신경망 학습에 사용하는 것을 특징으로 하는 시스템.
  4. 제3항에 있어서,
    상기 문자열 샘플 생성 유닛이 상기 문자열 수기 궤적을 합성하는 방식은, 텍스트 조판 알고리즘을 사용하여 상기 문자열을 렌더링(render)하고, 문자열 중 각 문자/단어의 위치를 기록한 후, 상기 말뭉치 및 수기 샘플 라이브러리에서 각 문자/단어의 필획을 검색하고 해당 위치에 배치하여, 이러한 문자/단어 중 각 필획의 정규화된 필획 순서 및 행 높이 추정치를 획득한 다음, 상기 필획 입력 프로세서에 입력하여 재샘플링 및 좌표 정규화를 수행하여, 대응하는 문자열 샘플을 획득하는 것이고;
    여기에서 상기 문자열의 문자, 단어, 행 등의 등급에 따라 분류하고, 이의 대응하는 필획에 대해 무작위 아핀 변환(Affine transformation)을 수행하여 대응하는 문자열 수기 궤적의 다양성을 더욱 향상시키는 것을 특징으로 하는 시스템.
  5. 제3항에 있어서,
    상기 문자열 샘플 생성 유닛이 상기 문자열 수기 궤적을 합성하는 방식은, 레이블이 있는 텍스트 행 샘플을 사용하여 시퀀스 대 시퀀스 번역 모델을 학습시키고, 상기 레이블은 상기 텍스트 행 샘플에서 대응하는 문자열을 나타내고, 상기 시퀀스 대 시퀀스 번역 모델은 문자열을 대응하는 문자열 수기 궤적으로 변환하여, 대응하는 문자열 샘플을 생성하는 것임을 특징으로 하는 시스템.
  6. 제1항에 있어서,
    상기 포스트 프로세서가 정규화를 수행하는 방식은, Unicode의 NFKD 포맷(Normalization Form KD)의 정규화를 수행하는 것이며, 주로 상이한 형태의 동일한 문자로 나타내고, 동일한 포맷 코드로 정규화하는 것을 특징으로 하는 시스템.
  7. 제1항에 있어서,
    상기 포스트 프로세서가 정규화를 수행하는 방식은, Unicode 코드 비트의 순서를 정상적인 논리적 순서에서 시각적 순서로 변환하여, 정렬된 입력과 대략적으로 정렬되도록 하는 것이며; 여기에서 인식된 문자열에 대해 Unicode의 NFKC 정규화를 수행하고, Unicode 코드 비트의 순서를 시각적 순서에서 논리적 순서로 변환하는 것을 특징으로 하는 시스템.
  8. 제1항에 있어서,
    상기 인코더는 다층 양방향 LSTM(Long Short-Term Memory) 순환 신경망 및 완전 연결 신경망(Fully-connect Neural Network, FNN)을 포함하고, 여기에서 상기 인코더에 입력되는 각각의 필획은 다층 양방향 LSTM 순환 신경망으로 들어가고, 상기 다층 양방향 LSTM 순환 신경망의 출력은 콘텍스트 매트릭스(context matrix)이고; 상기 콘텍스트 매트릭스에 대해 전역 평균 풀링(Global Average Pooling)을 수행한 후, 다시 상기 완전 연결 신경망을 거치며, 상기 완전 연결 신경망의 출력은 상기 디코더의 초기 상태를 입력하는 데 사용되는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서,
    각각의 상기 문자열 수기 궤적의 각 필획은 복수의 샘플링 포인트로 표시되고; 여기에서 각 필획의 첫 번째 샘플링 포인트는 좌표(0, 0)로 표시되며, 나머지 샘플링 포인트는 이전 샘플링 포인트에 대한 변위 벡터로 표시되고, 각 필획의 마지막 샘플링 포인트에는 종료 표시가 있을 수 있고;
    여기에서 상기 디코더의 입력은 입력 문자, 디코딩 상태, 수렴 벡터, 및 상기 콘텍스트 매트릭스를 포함하고, 상기 디코더는 다단계 디코딩을 수행하는데, 제1단계 디코딩을 수행할 때, 상기 입력 문자의 초기값은 내장된 시작 문자이고, 상기 수렴 벡터의 초기값은 제로 벡터이며, 상기 디코딩 상태의 초기값은 상기 인코더에서 출력되는 상기 초기 상태이고, 상기 콘텍스트 매트릭스는 상기 인코더에서 출력되고, 상기 디코더의 출력은 다음 문자 및 그 신뢰도 분포, 새로운 디코딩 상태 및 새로운 수렴 벡터이고, 상기 다음 문자는 새로운 입력 문자로 사용되며, 새로운 디코딩 상태 및 새로운 수렴 벡터와 함께 상기 디코더에 자기회귀 입력하여, 다음 디코딩을 수행하고; 상기 디코더는 상기 방식을 적용하여 다단계의 디코딩을 반복하고; 여기에서 상기 수렴 벡터의 차원은 각 샘플링 포인트를 나타내며, 그 작용은 어느 샘플링 포인트가 이미 대응하는 출력 문자를 가지는지 기록하는 것이며, 각 차원의 초기 좌표는 0이고, 대응하는 출력 문자가 존재하면, 상기 샘플링 포인트에 대응하는 차원 좌표를 1로 설정하는 것을 특징으로 하는 시스템.
  10. 제9항에 있어서,
    여기에서 상기 디코더는 손실 함수를 정의하고, 이는 복수 개 함수의 선형 조합이고, 계산 시 필요에 따라 의미 있는 손실 함수를 정의하고, 상기 손실 함수는 신뢰도 분포의 교차 엔트로피를 보정하고 상기 수렴 벡터 종료 시 모든 1의 평균 제곱 편차를 안내하는 데 사용되고; 특정 문자에 대응하는 필획을 알고 있으며, 하나의 문자를 디코딩하도록 안내하면, 상기 수렴 벡터의 관련 필획에 대응하는 포인트의 성분을 1 증가시키고; 예측 단계에서 상기 수렴 벡터의 변화를 통해 각각의 출력된 문자가 어느 필획에 대응하는지 판단하는 것을 특징으로 하는 시스템.
  11. 제9항에 있어서,
    예측 단계에서 상기 디코더는 빔 서치의 방식을 사용하여 점진적으로 후보 행을 구축하고, 미완성 후보 행 각각에 대해, 그 문자열, 신뢰도, 디코딩 상태, 수렴 벡터 및 예측 분석 스택을 기록하고; 상기 예측 분석 스택은 예측 분석법에서 문법 부호 시퀀스가 포함된 스택이고; 문자 레벨의 후보를 출력해야 하는 경우, 각 문자의 여러 다른 후보 문자 및 대응하는 신뢰도를 더 기록하고; 필획과 문자의 대응 관계를 출력해야 하는 경우, 히스토리 수렴 벡터를 더 기록하는 것을 특징으로 하는 시스템.
  12. 제11항에 있어서,
    상기 디코더는 각 디코딩 단계에서 각 미완성 후보 행에 대해,
    단계 (1) 상기 디코더를 호출하여 다음 문자의 후보 리스트와 대응하는 신뢰도를 획득하고, 동시에 디코딩 상태 및 수렴 벡터를 동시에 업데이트하는 단계;
    단계 (2) 다음 문자의 각각의 후보는 상기 출력 인터페이스를 통해 상기 출력 인터페이스 및 상기 포스트 프로세서 사이에 직렬로 연결된 신뢰도 조정 유닛으로 출력되고, 상기 신뢰도 조정 유닛은 n-gram 방식을 적용하여 획득한 문자열의 확률을 계산하여, 다음 문자의 각 후보의 신뢰도를 조정하는 단계; 및
    단계 (3) 다음 문자의 각 후보에 대해, 원래 문자열과 결합된 후의 신뢰도 및 예측 분석 스택을 계산하는 단계:
    (a) 상기 후보가 종료 부호이고 상기 예측 분석 스택이 비어 있으면, 완성 후보 행을 획득하는 단계;
    (b) 상기 후보가 종료 부호가 아니고, 상기 예측 분석 스택이 오류 상태에 있지 않으면, 다음 디코딩 시 처리하기 위해 미완성 후보 행을 획득하는 단계;를 수행하고,
    여기에서 다음 디코딩을 시작할 때마다, 상기 디코더는 신뢰도가 가장 높은 여러 후보 행만 유지하고; 완성된 후보 행 수가 미리 설정된 값에 도달하면, 디코딩이 중지되고, 이때 완성된 후보 행은 여러 가능한 문자열이고, 이러한 문자열 및 그 신뢰도는 상기 결과 후보 세트에 저장되며, 상기 출력 인터페이스에 의해 외부로 출력되는 것을 특징으로 하는 시스템.
  13. 제1항에 있어서,
    예측 단계에서, 인식하고자 하는 문자열 수기 궤적의 각 필획을 상기 필획 입력 프로세서에서 처리한 후, 상기 문자열 데이터베이스를 통해 상기 문자 인식 신경망에 입력하여 인식하고, 인식 결과를 상기 포스트 프로세서에서 처리하여 획득한 상기 결과 후보 세트는, 상기 문자열 수기 궤적에 대응되는 여러 가능한 문자열 및 그 신뢰도를 포함하는 것을 특징으로 하는 시스템.
KR1020230103813A 2022-09-14 2023-08-08 신경망 기반의 수기 문자 인식 시스템 KR20240037144A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/931,906 2022-09-14
US17/931,906 US20240087349A1 (en) 2022-09-14 2022-09-14 Handwriting text recognition system based on neural network

Publications (1)

Publication Number Publication Date
KR20240037144A true KR20240037144A (ko) 2024-03-21

Family

ID=87852117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230103813A KR20240037144A (ko) 2022-09-14 2023-08-08 신경망 기반의 수기 문자 인식 시스템

Country Status (5)

Country Link
US (1) US20240087349A1 (ko)
KR (1) KR20240037144A (ko)
CA (1) CA3212902A1 (ko)
FR (1) FR3142587A1 (ko)
GB (1) GB2622681A (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202022106040U1 (de) * 2022-10-26 2022-11-08 Sunia Pte.Ltd Handschrifterkennungssystem auf der Grundlage eines neuronalen Netzwerks

Also Published As

Publication number Publication date
GB202311105D0 (en) 2023-09-06
CA3212902A1 (en) 2024-03-14
US20240087349A1 (en) 2024-03-14
GB2622681A (en) 2024-03-27
FR3142587A1 (fr) 2024-05-31

Similar Documents

Publication Publication Date Title
US11715014B2 (en) System and method of character recognition using fully convolutional neural networks with attention
Kang et al. Convolve, attend and spell: An attention-based sequence-to-sequence model for handwritten word recognition
Truong et al. Improvement of end-to-end offline handwritten mathematical expression recognition by weakly supervised learning
Hu et al. Writer independent on-line handwriting recognition using an HMM approach
CN109858488B (zh) 一种基于样本增强的手写样本识别方法与系统
CN111199727A (zh) 语音识别模型训练方法、系统、移动终端及存储介质
Sin et al. Ligature modeling for online cursive script recognition
US20200104635A1 (en) Invertible text embedding for lexicon-free offline handwriting recognition
Gui et al. Adaptive Context-aware Reinforced Agent for Handwritten Text Recognition.
Calvo-Zaragoza et al. Hybrid hidden Markov models and artificial neural networks for handwritten music recognition in mensural notation
Jemni et al. Domain and writer adaptation of offline Arabic handwriting recognition using deep neural networks
Mhiri et al. Convolutional pyramid of bidirectional character sequences for the recognition of handwritten words
CN115293139A (zh) 一种语音转写文本纠错模型的训练方法和计算机设备
CN115293138A (zh) 一种文本纠错方法及计算机设备
JP3244068U (ja) ニューラルネットワークに基づく手書き文字識別システム
Nguyen et al. Online handwritten mathematical symbol segmentation and recognition with bidirectional context
JP3244068U6 (ja) ニューラルネットワークに基づく手書き文字識別システム
Zhu et al. Attention combination of sequence models for handwritten Chinese text recognition
Malhotra et al. End-to-end historical handwritten ethiopic text recognition using deep learning
Fischer et al. HMM-based alignment of inaccurate transcriptions for historical documents
Fischer et al. Hidden markov models for off-line cursive handwriting recognition
Calvo-Zaragoza et al. Recognition of pen-based music notation with finite-state machines
Ly et al. Attention augmented convolutional recurrent network for handwritten Japanese text recognition
Munivel et al. Optical character recognition for printed tamizhi documents using deep neural networks
CN115114887A (zh) 一种联机手写文本行识别方法