РЕФЕРАТ 4
ВВЕДЕНИЕ 6
1 ДАННЫЕ И ИХ ПРЕДОБРАБОТКА 7
1.1 Входные данные для для всей системы 7
1.1.1 Преобразование из цветного в оттенки серого 7
1.1.2 Выравнивание яркости изображения 7
1.1.3 Применение порогового преобразования 9
1.2 Входные данные для алгоритма классификации 10
2 ЗАДАЧА СЕГМЕНТАЦИИ ИСХОДНОГО ИЗОБРАЖЕНИЯ 11
2.1 Постановка задачи сегментации 11
2.2 Сегментация методами библиотеки OpenCV 12
3 ЗАДАЧА КЛАССИФИКАЦИИ НАЙДЕННЫХ СИМВОЛОВ 14
3.1 Постановка задачи классификации 14
3.2 Теоретические основы используемых методов классификации 14
3.3 Реализация и сравнение используемых методов классификации 18
4 ПОСТРОЕНИЕ СТРУКТУРЫ ВЫРАЖЕНИЯ 21
ЗАКЛЮЧЕНИЕ 23
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 24
Задача распознавания рукописных математических выражений стала актуальной в современном мире в связи с сильным развитием цифровых носителей информации и способов ее обработки и передачи.
Есть множество решений по оцифровке математических выражений, реализованных в виде десктопных приложений и веб-сервисов. Например, ABBYY FineReader, который отлично справляется с печатными выражениями, но не достиг такого же уровня в распознавании рукописных выражений. Кроме того, существующие решения ориентированы на пользователей и не могут быть использованы для автоматизации. Поэтому было решено предложить систему распознавания рукописных математических выражений, которая должна быть ориентирована на использование программистами и реализована в виде модуля для языка Python.
Целью данной работы является разработка системы по распознаванию математических выражений на изображении с возможностью их вычисления с помощью библиотеки SymPy, предназначенной для символьных вычислений на языке Python. Система должна быть реализована в виде модуля для языка Python.
Для выполнения цели были поставлены следующие задачи:
1) Рассмотреть методы предобработки данных, представленных в виде изображений.
2) Рассмотреть методы решения задачи сегментации для изображений.
3) Подготовить выборку из символов для обучения и проверки качества построенных моделей для задачи классификации.
4) Реализовать разные методы машинного обучения и сравнить как они справляются с задачей классификации рукописных символов.
5) Реализовать алгоритм по построению структуры выражения из полученных на этапе классификации результатов.
6) Реализовать парсер из полученный структуры выражения в структуру, используемую в библиотеке символьных вычислений SymPy.
В ходе разработки были решены следующие задачи:
1) Были изучены и реализованы методы предобработки изображений.
2) Был изучен и реализован метод сегментации.
3) Была подготовлена выборка из символов для обучения и проверки качества построенных моделей для задачи классификации.
4) Были реализованы методы машинного обучения для решения задачи классификации.
5) Сравнены результаты реализованных методов, сделаны выводы
6) Предложен и реализован алгоритм по построению структуры выражения.
7) Реализована система, на вход которой подается изображение, а на выходе получаем результат вычисления выражения.