An experiment in the recognition of handwritten texts in Cyrillic

Introduction





Handwritten Text Recognition (HTR) is an automatic way to transcribe records using a computer. The digitized form of handwritten notes would automate the business processes of many companies, making human work easier. In this paper, we consider a model for recognizing handwritten text in Cyrillic based on an artificial neural network. The study used the SimpleHTR system developed by Harald, as well as LineHTR , an extended version of the Simple HTR system  . You can read more about SimpleHTR here .





Dataset





In this section, I will describe two types of datasets: The first dataset contains handwritten quotes in Cyrillic. It contains 21,000 images from various handwriting samples (names of countries and cities). We augmented this training dataset by collecting 207,438 images from available shapes or samples.





The second HKR for the handwritten Kazakh-Russian database consisted of single words (or short phrases) written in Russian and Kazakh (about 95% Russian and 5% Kazakh word / sentence, respectively). Note that both languages โ€‹โ€‹are Cyrillic written and share the same 33 characters. In addition to these symbols, there are 9 more specific symbols in the Kazakh alphabet. Some examples of the HKR dataset are shown below: 









Some sample dataset
Some sample dataset

(70%), (15%) (15%) . ( 7,5% ): TEST1 , ; TEST2 , , . TEST1 TEST2 , , .





SimpleHTR





ANN, CNN . RNN. RNN . RNN . RNN. CTC . . CTC ; RNN , . CTC . , , , . , , , , .





: CNN: CNN. . 55 33 . RELU , , . 2 , () , ( ) 32 256. RNN: 256 . . LSTM- RNN, , . RNN 3280.





CTC: RNN , . CTC . 32













SimpleHTR model, where green icons are operations and pink are data streams
SimpleHTR, - , -

: : 128 32. , ( ) , 128 32 . 128 32 . , .









LineHTR

LineHTR - SimpleHTR, , ( ), , . LineHTR SimpleHTR, CNN RNN : 7 CNN 2 Bidirectinal LSTM (BLSTM) RNN. 





LineHTR:





  • 800 x 64 ( x ).





  • CNN 100 x 512.





  • BLSTM 512 100 x 205: 100 ( ) ; 205 )





  • CTC 2 : LOSS - ; -





  • 50









Python deep learning Tensorflow. Tensorflow Python. Python , . matplotlib Python, Inkscape- , Adobe Photoshop. 2- " Intel ยฎ Xeon(R) E-5-2680โ€, 4x " NVIDIA Tesla k20xโ€ 100 RAM. 3 , , .





SimpleHTR





SimpleHTR - , . , :





โ€ข





โ€ข DataLoader





โ€ข : 90% 10% . : -, , ; -, CNN ; -, ; -, , , , .





: SimpleHTR, 42 . 10 . : . , .





















CER





WAR





CER





WAR





bestpath





19.13





52.55





17.97





57.11





beamsearch





18.99





53.33





17.73





58.33





wordbeamsearch





16.38





73.55





15.78





75.11









SimpleHTR (bestpath, beamsearch, wordbeamsearch). NN , . NN, , , . character-LM , .





:





Experiment results using SimpleHTR (lr = 0.01): model accuracy.
SimpleHTR (lr=0,01): .
Experiment results using SimpleHTR (lr = 0.01): model error.
SimpleHTR (lr=0,01): .

, , " โ€ 86 .









An example of an image with the phrase "South Kazakhstan" in Russian
" -โ€





Recognition result

(HKR Dataset): SimpleHTR 20,13% (CER) 1,55% CER. SimpleHTR ( ). (WER) 58,97% 1 11,09% 2. TEST2 . TEST1 , , , .













LineHTR, 100 . CAR 29,86% 86,71% TEST1 TEST2 ( ). .









SimpleHTR LineHTR : 57,1% SimpleHTR CNN , 58,3% Beamsearch 75,1% wordbeamsearch. Wordbeamsearch, .








All Articles