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

Финиш 18 августа 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 Настя Сапожникова 15.08.2022 14:31 Железный капут
1.0 Кирилл Хорьков 06.08.2022 17:02 TPT
1.0 Егор Сергеев 16.08.2022 14:09 томат всем рад
1.0 Андрей Миняев 17.08.2022 13:55 Железный капут
1.0 Денис Русинович 17.08.2022 13:59 Добавьте либу для yolov8
0.933 Дарья Торопова 18.08.2022 16:42
0.933 Кирилл Лизунов 15.08.2022 13:17 Славяне
0.783 Gleb Zhukov 05.08.2022 07:41 MYR
0.767 Sergej Nekrasov 06.08.2022 07:59 CyberLaw ;)
0.7 Ольга Демидович 06.08.2022 06:14 Разрушители Легенд
0.333 Константин Суббач 15.08.2022 10:41
0.2 Михаил Валенюк 18.08.2022 16:47