Простое детектирование дорожных знаков

Финиш 7 августа 2022 23:59 (НСК)

Задача

Детектирование дорожных знаков по цветам и их распознавание

Необходимо определить где на изображении расположен знак дорожного движения и как он называется. Возможных вариантов знаков пять: “NoDrive”, “Stop”, “Parking”, “RoadWorks”, “PedestrianCrossing”. На каждом изображении только один знак дорожного движения.

Решение

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

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

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

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

В качестве решения, необходимо сдать отредактированный файл eval.py. Либо архив “*.zip” с файлом eval.py и остальными файлами, требующимися для его работы.

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

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

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

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

2. Алгоритм детектирования и распознавания

Подумайте, сколько масок для бинаризации вы будете использовать при детектировании знаков. Какие эталонные изображения вы будите использовать? Реализуйте алгоритм! Помните, что при различном освещении, пороги бинаризации для детектирования могут изменяться.

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

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

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

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

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

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


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

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

Пакеты, ориентированные на работу с изображениями и данными, использующиеся на платформе проверки: Python 3.8.10

dlib 19.24.0 keras 2.8.0 Keras-Preprocessing 1.1.2 imutils 0.5.4 numpy 1.22.4 opencv-python 4.6.0.66 pandas 1.4.3 scikit-image 0.19.3 scikit-learn 1.1.1 scipy 1.8.1 tensorflow-cpu 2.8.2

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


Вопросы по задачам можно задать в канале чемпионата в Telegram



Очки Участник Дата Команда Город Учебное заведение
1.0 Юрий Карабинцев 06.08.2022 15:57 Лицей №22
1.0 Кирилл Хорьков 06.08.2022 17:02 TPT
0.983 Андрей Миняев 07.08.2022 16:45 seal team
0.983 Денис Русинович 07.08.2022 16:37 seal team
0.933 Дарья Торопова 06.08.2022 17:50
0.933 Кирилл Лизунов 05.08.2022 13:57
0.783 Gleb Zhukov 05.08.2022 07:41 MYR
0.767 Сергей Некрасов 06.08.2022 07:59 Kuybushev School 3
0.7 Ольга Демидович 06.08.2022 06:14
0.417 Егор Сергеев 07.08.2022 14:05 томат всем рад