Дататон МТМ 2021. Задача №6. Математическое выражение (уровень сложности – лёгкий)

Финиш 29 апреля 23:59

Поздравляем с прохождением в продвинутый этап Дататона! Это вторая задача, уровень сложности – лёгкий.

Задача

Распознавание математических символов

Необходимо определить какие символы представлены на изображениях и вычислить значение математического выражения, которое они составляют. Возможных символов четыре: альфа, бета, плюс и минус.

Математическое выражение всегда представлено тремя изображениями. На первом и третьем изображены символы альфа и бета, на втором изображён знак математического действия. При вычислении значения выражения, следует заменить alpha на 1999, а beta на 2036.

Пример математического выражения:

digits-values

Решение

Для Вас подготовлены несколько файлов “.py”, и набор изображений с математическими символами и аннотациями к нему. Среди подготовленных файлов есть:

eval.py - файл с ключевыми функциями: предобработки изображений, загрузки модели машинного обучения, распознавания и вычисления значения математического выражения. Именно эти функции Вам необходимо дописать!

main.py - файл проверяющий точность работы вашего алгоритма. Не редактируйте его. main.py использует, написанные вами функции из eval.py и сверяет истинные ответы с предсказанием вашего алгоритма.

data_train.csv - файл устанавливающий соотношение между изображениями и названиями символов на них. Используйте его при обучении модели машинного обучения. В каждой строке файла содержится путь к файлу с изображением и название знака, изображённого на нём.

data_validate.csv - файл использующийся для проверки точности вашего алгоритма. Не редактируйте его.

В качестве решения, необходимо сдать отредактированный файл eval.py.

Порядок решения (прочитайте до конца, и только потом приступайте к выполнению каждого пункта)

0.1. Посмотрите видео-курс в нем содержатся ценные знания, помогающие при решении задачи.

0.2. Посмотрите короткое видео по работе с платформой Sim

0.3. Скачайте подготовленные для вас файлы

1. Ознакомление с данными

В любой задаче по классификации, а именно её нам надо решить, сначала необходимо ознакомиться с данными: посмотрите, что из себя представляют изображения математических символов.

2. Алгоритм классификации

Решите, по каким особенностям изображения можно определить знак на нём. Используйте тот алгоритм, который вы способны реализовать. В файле eval.py есть функции которые Вам необходимо дописать и исправить!

3. Проверьте точность своего алгоритма

Запустите файл main.py, он выведет точность работы вашего алгоритма. Если вы получите ошибку, исправьте свою программу. Отправляйте решение, только если файл main отрабатывает без ошибок!

4. Отправьте решение на проверку

Нажмите кнопку “Прислать решение” и выберите файл eval.py.

Если файл eval.py ссылается ещё на какие-то файлы, запакуйте их, вместе с файлом eval.py, в архив “*.zip”. В архиве, должны быть файлы решения, а не одноимённая архиву папка.

Если вы получили точность ниже, чем хотелось-бы, поправьте свой алгоритм и пришлите ещё раз - количество попыток не ограничено, засчитывается лучшая попытка из всех.


Технические ограничения:

Размер решения ограничен: не более 30 МБ. Если ваш алгоритм успешно проверен платформой, то следующее решение можно прислать только через 10 минут. Если ваш алгоритм в ходе проверки выдал сообщение об ошибке, то следующее решения можно прислать сразу.

Пакеты, ориентированные на работу с изображениями и данными, использующиеся на платформе проверки: Python 3.8.10 dlib 19.22.1 imutils 0.5.4 keras 2.7.0 Keras-Preprocessing 1.1.2 matplotlib 3.4.3 numpy 1.21.3 opencv-python 4.5.4.58 pandas 1.3.4 scikit-image 0.18.3 scikit-learn 1.0.1 scipy 1.7.2 tensorflow-cpu 2.7.0

Используйте совместимые пакеты.




Очки Участник Дата Команда Город Учебное заведение
0.996 Shaman 27.04.2021 20:09
0.684 Anton3004 28.04.2021 14:17
0.514 Виктор Астафьев 29.04.2021 09:40 Robodriver Москва Международная школа завтрашнего дня (IST)
0.2 Олег Кочетков 27.04.2021 18:40 Тестирование
0.136 Василий Белкин 21.04.2021 12:57 Москва