Детектирование смартфонов

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

Задача

Детектирование смартфонов

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

Решение

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

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

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

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

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

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

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

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

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

2. Разметка собственного датасета

Чтобы решить поставленную задачу, Вам необходимо собрать и разметить собственный датасет.

3. Алгоритм детектирования

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

4. Предварительная обработка

Изображения, прежде чем передать алгоритмам детектирования, необходимо привести к одному общему виду. В файле eval.py есть функция normalize_image() для предобработки изображений, измените её по собственному усмотрению.

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

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

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

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

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

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


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

Размер решения ограничен: не более 5 МБ. Если ваш алгоритм успешно проверен платформой, то следующее решение можно прислать только через 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

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



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



Очки Участник Дата Команда Город Учебное заведение
1.0 Кирилл Хорьков 12.08.2022 07:54 TPT
0.91 Дарья Торопова 18.08.2022 16:09
0.87 Ольга Демидович 18.08.2022 15:30 Разрушители Легенд
0.87 Кирилл Лизунов 18.08.2022 16:59 Славяне
0.83 Михаил Валенюк 18.08.2022 14:49
0.8 Егор Сергеев 18.08.2022 14:49 томат всем рад
0.7 Настя Сапожникова 18.08.2022 16:53 Железный капут
0.7 Денис Русинович 18.08.2022 15:32 Добавьте либу для yolov8
0.67 Андрей Миняев 15.08.2022 15:56 Железный капут
0.51 Константин Суббач 10.08.2022 02:52
0.42 Сергей Некрасов 09.08.2022 12:46
0.32 Юрий Карабинцев 18.08.2022 17:01 Лицей №22