Разбор задачи «Распознавание дорожных знаков на кадрах с автомобильного видеорегистратора», Цифровой Прорыв

eadb42ee9529e110b9f3b3bf1f7107ba.jpg

Привет, Хабр!

Этой статьей я открываю цикл материалов по разбору задач Всероссийского чемпионата «Цифровой Прорыв», связанных с Computer Vision. Решение, предлагаемое в статье, позволяет получить место в топ-5 лидерборда. Особенность данного подхода в том, что мы не будем использовать данные для обучения, предлагаемые организаторами соревнования. В конце даются советы по улучшению решения, а также идеи, которые могут привести к первому месту.

Введение

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

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

Условие задачи

Разработать решение, которое сможет распознавать дорожные знаки на кадрах записанных автомобильным видеорегистратором.

Описание входных данных 

  • train/ — папка, содержит в себе 778 кадров снятых на видеорегистратор;

  • train.csv — содержит перечисление знаков для каждой фотографии;

  • test/ — содержит в себе 388 изображений на которых требуется определить автомобильные знаки;

  • test.csv — содержит перечисление всех изображений тестового набора;

  • sample_solution.csv — пример файла для отправки;

Пояснение к данным

Для удобство интерпретации результатов дорожные знаки были преобразованы в цифры от 1 до 70, где:

цифре 1 соответствует знак под ГОСТ »3.24',

цифре 2 соответствует знак под ГОСТ '1.16',

цифре 3 соответствует знак под ГОСТ '5.15.5',

и т.д. для следующих знаков: '5.19.1', '5.19.2', '1.20.1', '8.23', '2.1', '4.2.1', '8.22.1', '6.16', '1.22', '1.2', '5.16', '3.27', '6.10.1', '8.2.4', '6.12', '5.15.2', '3.13', '3.1', '3.20', '3.12', '7.14.2', '5.23.1', '2.4', '5.6', '4.2.3', '8.22.3', '5.15.1', '7.3', '3', '2.3.1', '3.11', '6.13', '5.15.4', '8.2.1', '1.34.3', '8.2.2', '5.15.3', '1.17', '4.1.1', '4.1.4', '3.25', '1.20.2', '8.22.2', '6.9.2', '3.2', '5.5', '5.15.7', '7.12', '8.2.3', '5.24.1', '1.25', '3.28', '5.9.1', '5.15.6', '8.1.1', '1.10', '6.11', '3.4', '6.10', '6.9.1', '8.2.5', '5.15', '4.8.2', '8.22', '5.21', '5.18'.

На что стоить обратить внимание

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

Метрика качества

В задаче важна точность распознавания модели, поэтому к каждой строке набора будет применен Recall.

Result =\sum_{i=1}^8 0.125*Recall_{sing_{i}}

Решение задачи

Даже беглый просмотр информации о задаче сразу даёт понять, что данных, мягко говоря, недостаточно. У нас 70 различных классов, и всего 778 фотографий для обучения. Полезно построить гистограмму частот появления того или иного знака в обучающем наборе.

Гистограмма появления дорожного знака в обучающем набореГистограмма появления дорожного знака в обучающем наборе

Стоит также отметить, что и качество разметки оставляет желать лучшего, и это несмотря на то, что в списке знаков дорожного движения встречаются знаки, которые вы никак не сможете опознать. Например, какой-то неведомый знак »3». Хорошо, что эти проблемные знаки встречаются не так часто, поэтому проигнорируем их.

Альтернативный набор данных

Для наших нужд лучше всего подходит набор данных RTSD. Набор данных RTSD содержит кадры, предоставленные компанией «Геоцентр Консалтинг». Изображения получены с широкоформатного видеорегистратора, который снимает с частотой 5 кадров в секунду. Разрешения изображений от 1280×720 до 1920×1080. Фотографии были сделаны в разное время года (весна, осень, зима), в разное время суток (утро, день, вечер) и при различных погодных условиях (дождь, снег, яркое солнце). В наборе используется 155 знак дорожного движения, формат разметки — COCO.

Пример изображений из набора RTSDПример изображений из набора RTSD

Немного статистики

RSTD отличается по количеству и составу знаков от набора данных нашей задачи. Так что следующий вопрос назревает сам собой — какое количество знаков из исходной задачи покрывает наш набор данных ? Знаки из набора RTSD составляют 65.2% от знаков дорожного движения в нашей задаче.

Как мы убедились выше, у знаков разная частота появления. Предположим, что соотношение знаков в обучающем и тестовом наборе одинаковое. Какой объём train-набора охватывают знаки, которые присутствуют в RTSD? Знаки из набора RTSD охватывают 72.4% от объема всех знаков дорожного движения в train-наборе. Таким образом, мы можем покрыть большую часть кейсов, вообще не используя train из нашей задачи. По-моему, это

© Habrahabr.ru