Введение 3
Актуальность 4
Постановка задачи 5
Глава 1: Обзор литературы 7
Глава 2: Основные понятия 9
Глава 3: Реализация 14
3.1: Построение диаграммы Вороного 14
3.2: Обучение свёрточной нейронной сети 16
3.3: Распознавание 19
3.3.1: Первая попытка распознавания 19
3.3.2: Вторая попытка распознавания 23
Выводы 25
Заключение 25
Использованные материалы 27
Человечество веками стремилось к автоматизации. Сегодня всё больше типовых задач способны взять на себя специальные устройства и грамотно написанные алгоритмы.
Одной из задач оптического распознавания символов (англ. Optical Character Recognition — OCR) является задача распознавания рукописного текста. Главное отличие и сложность рукописного текста в том, что не существует стандарта написания одних и тех же букв, символов. Каждый человек может написать их по-разному. Кроме того, в отличие от печатного текста, его рукописный аналог, зачастую, сложно разделить на строки и слова; строки могут получиться косыми, а несколько слов одного предложения слиться воедино.
Среди рукописных текстов можно встретить специализированный, направленный на определенную аудиторию текст. В данной работе рассматриваются рукописные математические тексты. Их основная сложность в наличии формул, которые, в отличие от обычных слов и букв, может быть сложно выделять из текста. Они могут быть не линейны, содержать в себе трудноотделимые символы, такие как квадратные корни и степени.
Выделяют два основных типа распознавания рукописного текста: ONLINE и OFFLINE распознавание. ONLINE распознавание чаще применяется в программному обеспечению (ПО) электронных устройств, например в сенсорных экранах телефонов и планшетов. ПО отслеживает движения пальца пользователя, когда он рисует символы. Далее эта информация участвует в алгоритме определения символа написанного пользователем.
В случае же OFFLINE распознавания, доступна лишь конечная информация о символах, к примеру, фотосканы работ учащихся 11 класса, или рукописное заявление о приеме на работу. Этот тип распознавания сложнее, так как отсутствует доступ к информации о том, как автор текста выводил символы.
Решение задачи OFFLINE распознавания рукописных математических выражений и символов и будет рассмотрено в этой работе.
В данной работе был рассмотрен подход к распознаванию математических уравнений и их приведении к удобочитаемому виду. В процессе были решены следующие задачи:
• найдена и обработанная тестовая коллекция, содержащая математические символы, цифры и буквы латинского алфавита;
• на тестовых данных обучена свёрточная нейронная сеть;
• найден и применён алгоритм построения диаграммы Вороного алгоритмом Форчуна;
• алгоритмически произведено разделение изображения на математические выражения, и каждое из них — на набор символов;
• каждый из символов распознан обученной нейросетью.