alysmirnova / church_slavonic_text_recognition

This repository contains algorithms that can be used to recognize texts in Cyrillic Church Slavonic editions of the 19th century.

Repository from Github https://github.comalysmirnova/church_slavonic_text_recognitionRepository from Github https://github.comalysmirnova/church_slavonic_text_recognition

Распознавание церковнославянского шрифта

Статья на Springer Link

Данный репозиторий содержит приложение для распознавания старопечатных книг, в которых используется церковнославянский шрифт. С помощью него можно получить текст из изображения страницы в редактируемом формате. Реализация включает в себя предварительную обработку (исправление перекоса, удаление шума и бинаризацию), сегментацию на строки, слова и символы, а также извлечение признаков и классификацию.

Приложение

В папке nero находится инструкция для пользователей и архив с собранным приложением. Для работы необходимо скачать этот архив, распаковать его и запустить установку nero_WINDOWS_v1.0_setup.exe.
В папке notebooks находится та же реализация сегментации, классификации и распознавания в виде .ipynb файлов с примерами работы.

Исходные данные

В качестве исходных данных взята коллекция болгарских старопечатных книг и периодических изданий 1806-1878 гг. национальной библиотеки Святых Кирилла и Мефодия. Для обучения и тестирования подготовлено два набора данных: с символами церковнославянского алфавита и надстрочными знаками. Первый набор содержит 39 символов и 3 знака препинания (точка, запятая и тире):

Первый набор

Для каждого класса не менее 200 примеров, все изображения приведены к размеру 28х28 пикселей. Общее количество - 9255. Заглавные буквы находятся в одном классе со строчными. Второй набор состоит из 10 классов:

Второй набор

Для каждого символа представлено не менее 150 примеров, общее количество - 1770, размер 16х16 пикселей. Данные хранятся в формате .csv в папке datasets.
Оба датасета подготовлены из изображений страниц двенадцати книг («Христоития или Благонравие» 1837 г, «Кратко начертание на всеобщата история» 1836 г, «Слово, изказаное заради умирание» 1814 г и др.)

Апробация алгоритма

Для нейронных сетей, проводящих классификацию извлеченных символов церковнославянского алфавита, достигнута точность (accuracy) в 99,13% для первого датасета и 98,58% для второго.
Для оценки результатов работы алгоритма было отобрано 30 фрагментов страниц из различных книг, затем найдено отношение количества верно расставленных пробелов и верно распознанных букв и знаков к общему количеству символов. Полученный результат варьируется от 89% до 99% точности.

About

This repository contains algorithms that can be used to recognize texts in Cyrillic Church Slavonic editions of the 19th century.


Languages

Language:Jupyter Notebook 98.6%Language:Python 1.4%