Дослідження та реалізація методів розпізнавання рукописного тексту

Автор: Купінський Андрій Романович
Кваліфікаційний рівень: магістр
Спеціальність: Кіберфізичні системи
Інститут: Інститут комп'ютерних технологій, автоматики та метрології
Форма навчання: денна
Навчальний рік: 2021-2022 н.р.
Мова захисту: англійська
Анотація: Розпізнання рукописного тексту – це автоматичний процес оцифрування записів за допомогою комп’ютера. Оцифрований вигляд тексту позволить автоматизувати процеси роботи багатьох бізнес компаній, спростивши роботу людини [1]. Цифровий формат тексту допоможе у скануванні книг для пошуку, збережені історичних джерел, газет, документів, індексації документів для пошукових систем та полегшить аналіз тексту та його редагування. Для реалізації системи розпізнавання символів потрібно визначитися з певними критеріями: друкований чи рукописний текст, онлайн введення чи офлайн [2]. Розпізнання друкованого тексту простий процес, адже для кожного шрифту є фіксовані матриці, які його описують [3]. Онлайн введення також не викликає великих проблем, адже комп’ютер зчитує дані ведення пера і може одразу розпізнати символи . З офлайн методом все складніше, адже існує багато різних почерків та варіантів написання одного і того ж символу. Через це неможливо виробити шаблон, який для всього підійде [4-5]. Об’єкт дослідження – аналіз методів розпізнавання рукописного тексту. Предмет дослідження - розроблення власного методу розпізнавання рукописного тексту, з можливістю записати розпізнаний текст у окремий файл. Мета – дослідження популярних методів розпізнавання рукописного тексту та розроблення власного. На основі проведених досліджень розглянуто доцільність використання різних методів та підходів до задачі розпізнавання рукописного тексту. За основу власного методу взято нейронні мережі. Для більшої ефективності прийнято рішення об’єднати в даному методі згорткову та рекурентну нейронні мережі, додавши до них на виході алгоритм декодування, який власне і видає кінцевий результат розпізнаного тексту. Реалізовано нейронну мережу за допомогою високорівневої мови програмування Python та відповідних допоміжних бібліотек, які відповідають за комп’ютерний зір, машинне навчання та нейронні мережі. В якості бібліотек обрано популярні рішення на ринку: OpenCV, TensorFlow, Keras. Навчання нейронної мережі проходило за допомогою датасету, який представляв з себе друковані слова та їхні рукописні аналоги. Наукова новизна полягає у поєднанні різних нейронних мереж, які працюють як одне ціле, та додавання до них алгоритму декодування. Прийняте рішення позитивно вплинуло на обробку зображення з текстом та його розпізнавання, показавши високий результат. Середній відсоток правильно розпізнаних символів становить 88,91%, що свідчить про високу ефективність даної розробки.