Дататон 2.0 - распознавание цифр [1, 2, 3]
Финиш 28 апреля 16:59
Задача
Распознавание цифр
В этом задании вы попробуете применить свои знания в области компьютерного зрения и методов построения моделей машинного обучения для детектирования расположенных на картинке цифр и последующим построением классификатора для определения, что это за цифра. Вам будет дан массив изображений с представленными на них цифрами.
Система классификации
Мы подготовили для вас программу на языке Python, в которой вы будете предварительно обрабатывать изображения, проектировать и настраивать свой собственный алгоритм для решения задачи распознавания цифры.
Выполнение
Скачайте задание. В архиве задания вы найдёте файлы main.py, eval.py и две папки с цифрами — pictures_numeric_train(тренировочный набор данных) и pictures_numeric_val(валидационный).
В файле eval.py вы должны заполнить 3 функции:
- Функцию предобработки данных
- Фунцию загрузки вашей модель
- Функцию предсказания цифр на картинке: вектор цифр в формате списка, например [1, 2], если ваш алгоритм предсказывает цифры 1 и 2 на конкретной картинке. На картинке может быть от 1 до 3 цифр
В файле main.py вы сможете проверить работоспособность модели и её точность на валидационной выборке. Если модель работает и её точность вас устраивает, то вы можете отправить решённое задание.
Проверка кода осуществляется на тестовых данных: изображениях, не включенных в тренировочную и валидационную выборки. Точность модели рассчитывается следующим образом:. Сумма количества цифр правильно определенных векторов к общему числу цифр на всех векторах. Например, правильный вектор ответов [[1], [1, 2], [1, 2, 3], [3, 2, 1]], а предсказанный [[1], [1, 3], [1, 3, 2], [3, 2, 1]]. Правильно определены 1-ый и 4-ый вектора, количество их цифр составляет 4, а общее количество цифр -- 9. Точность составляет 4 / 9, то есть 0.4444... Для того, чтобы ваша модель была засчитана, вы должны будете получить точность классификатора больше 0.5.
В качестве решения присылайте архив с файлом eval.py и с сохранённой вами моделью в нужном формате. Если вы планируете использовать библиотеку tensorflow, то модель нужно выгружать в формате .h5 (Как сохранять модель в формат h5). Архив должен называться num_task.zip
Важно:
- Для построения модели нейронной сети используйте tensorflow версии 2.0.1
- Версия sklearn на сервере 0.19.1, а dlib 19.19.0. Для импорта этих моделей используйте pickle
- Проверьте, что в векторе с предсказанием данные в формате int, а не float или str, то есть вектор должен быть в формате [1, 2], а не [1.0, 2.0] или ['1', '2']
- Архив с заданием должен называться num_task.zip и содержать файлы eval.py и вашу модель
Очки | Участник | Дата | Команда | Город | Учебное заведение |
---|---|---|---|---|---|
1.0 | Максим Романовский | 21.04.2020 05:37 | F_T_L |