link to github
Вебинар с разбором задачи
Соревнование алгоритмов определения препятствий и элементов ЖД-инфраструктуры.
Одним из способов повышения безопасности ЖД перевозок является создание интеллектуальных систем, предупреждающих машиниста о возможном столкновении с потенциально опасными объектами. В рамках соревнования требуется создать алгоритм, детектирующий такие объекты, а также определяющий элементы дорожной инфраструктуры, определяющие движение поезда - рельсы, стрелочные переводы и светофоры.
В качестве входных данных используются RGB изображения, полученные с различных камер, установленных на электропоезде и аннотации к ним.
На основе размеченных фотографий необходимо создать алгоритм детекции следующих объектов:
- "Car" (автомобиль),
- "Human" (человек),
- "Wagon" (вагон)*,
- "FacingSwitchL" (стрелочный перевод по ходу движения, влево),
- "FacingSwitchR" (стрелочный перевод по ходу движения, вправо),
- "FacingSwitchNV" (стрелочный перевод по ходу движения, вне видимости),
- "TrailingSwitchL" (стрелочный перевод против хода движения, влево),
- "TrailingSwitchR" (стрелочный перевод против хода движения, вправо),
- "TrailingSwitchNV" (стрелочный перевод против хода движения, вне видимости),
- "SignalE" (разрешающий сигнал светофора),
- "SignalF" (запрещающий сигнал светофора).
Одновременно требуется разметить сегментационные маски для следующих элементов:
- 6 - "MainRailPolygon" (главный ЖД-полигон);
- 7 - "AlternativeRailPolygon" (вспомогательный ЖД-полигон);
- 10 - "Train" (поезд)*.
Примечание: требуется детектировать первый и последний вагоны поезда, также для всех вагонов требуются сегментационные маски.
В проверяющую систему необходимо отправить код алгоритма, запакованный в ZIP-архив. Решения запускаются в изолированном окружении при помощи Docker. Время и ресурсы во время тестирования ограничены. Участнику нет необходимости разбираться с технологией Docker.
В корне архива обязательно должен быть файл metadata.json следующего содержания:
{
"image": "cr.msk.sbercloud.ru/aijcontest2021/aitrain-base:v0.0.5",
"entrypoint": "python3 /home/jovyan/solution.py"
}
Здесь image
— поле с названием docker-образа, в котором будет запускаться решение, entrypoint
— команда, при помощи которой запускается решение. Для решения текущей директорией будет являться корень архива.
Для запуска решений можно использовать существующие окружения:
Подойдет любой другой образ, доступный для загрузки из sbercloud
. При необходимости, Вы можете подготовить свой образ, добавить в него необходимое ПО и библиотеки (см. инструкцию по созданию Docker-образов для sbercloud
); для использования его необходимо будет опубликовать на sbercloud
.
В течение одного дня Участник или Команда Участников может загрузить для оценки не более трёх решений. Учитываются только валидные попытки, получившие численную оценку.
Контейнер с решением запускается в следующих условиях:
- 94 Гб оперативной памяти;
- 3 vCPU;
- 1 GPU Tesla V100 32 Gb.
- время на выполнение решения: 15 минут (300 изображений)
- решение не имеет доступа к ресурсам интернета
- максимальный размер упакованного и распакованного архива с решением: 10 Гб
- максимальный размер используемого Docker-образа: 25 Гб
В качестве метрики качества соревнования используется взвешенное среднее mAP@.5
и meanIoU
:
competition_metric = 0.7 * mAP@.5 + 0.3 * meanIoU
Для финальной оценки можно выбрать 3 решения. По умолчанию это решения с наилучшей метрикой на лидерборде.
В случае одинаковых значений метрики competition_metric у нескольких участников, их решения оцениваются по processing time (время, затраченное на обработку задач). Чем быстрее обрабатывается решение, тем выше позиция в лидерборде.
Если же и значения competition_metric, и processing time моделей у нескольких участников совпадают, то будет учитываться время загрузки решения на Сайт Конкурса. Ранее загруженному решению на Сайт Конкурса будет присвоено более высокое место.