Blog Detail

  • Home
  • Дорожные знаки телефон картинки: Дорожный знак 7.6 Телефон

Дорожные знаки телефон картинки: Дорожный знак 7.6 Телефон

Дорожный знак, для печати без знака сотового телефона, текст, логотип, номер png

Дорожный знак, для печати без знака сотового телефона, текст, логотип, номер png

теги

  • текст,
  • логотип,
  • номер,
  • знак,
  • вывески,
  • знак остановки,
  • улыбка,
  • символ,
  • масштабируемая векторная графика,
  • красный,
  • для печати Нет знака сотового телефона,
  • точка,
  • без символа,
  • линия,
  • бесплатный контент,
  • скачать,
  • круг,
  • бренд,
  • площадь,
  • дорожный знак,
  • Картинки,
  • Версия для печати,
  • Мобильный телефон,
  • png,
  • прозрачный,
  • бесплатная загрузка

Об этом PNG

Размер изображения

600x595px

Размер файла

23.52KB

MIME тип

Image/png

Скачать PNG ( 23.52KB )

изменить размер PNG

ширина(px)

высота(px)

Лицензия

Некоммерческое использование, DMCA Contact Us

    org/ImageGallery» align=»middle»>

  • Стоп логотип вывесок, Стоп знак бесплатного контента, Стоп знак графики, текст, логотип, знак png
    600x600px
    16.91KB

  • Телефонные значки на iPhone, значок бесплатного телефона, логотип вызова, Разное, текст, телефонный звонок png
    594x594px
    28.42KB

  • круглый красный знак, без символа знак равенства компьютерные иконки, запрещенный знак, угол, текст, товарный знак png
    600x600px
    19.53KB

  • красная стрелка, Иконка Стрелка компьютера, Красная линия стрелки, разное, угол, текст png
    600x529px
    15.53KB

  • красная х иллюстрация, значки компьютеров X знак галочка, красная х, Разное, текст, товарный знак png
    512x512px
    21. 96KB

  • Дорожный знак Масштабируемая графика, бесплатный вход, текст, знак, дорожный знак png
    800x800px
    46.08KB

  • красные вывески, без символа, запрещено, прочее, текст, товарный знак png
    640x640px
    69.42KB

  • Автостоянка Дорожные знаки в Сингапуре Дорожный знак, No Ac s, текст, товарный знак, логотип png
    552x552px
    23.91KB

  • крест иллюстрация, без символа Компьютерные иконки, Красный Крест, угол, текст, прямоугольник png
    600x600px
    8.36KB

  • Стоп знак, Стоп знак Арт, текст, логотип, знак png
    600x600px
    34.54KB

  • org/ImageObject»>

    предупреждающий символ, предупреждающий знак, восклицательный знак, разное, угол, текст png
    1024x897px
    80.64KB

  • Стоп знак Дорожный знак, Стоп Знак Арт, текст, прямоугольник, предупреждающий знак png
    512x512px
    17.67KB

  • Стоп знак, Стоп знак графика, текст, логотип, лицензионный платеж png
    600x600px
    18.03KB

  • Стоп знак Дорожный знак Масштабируемая графика, красный стоп-сигнал, Форматы файлов изображений, текст, прямоугольник png
    768x768px
    22.55KB

  • Телефон Компьютер Иконки Электронная почта, Префикс с, белый, текст, мобильные телефоны png
    1000x1000px
    51.32KB

  • org/ImageObject»>

    Стоп вывески, Стоп знак, Дорожные знаки, прочее, текст, логотип png
    1920x1920px
    103.38KB

  • Логотип LG, Логотип Масштабируемая графика LG Corp, Логотип LG, текст, знак, пурпурный png
    850x850px
    119.04KB

  • кнопка завершения вызова, кнопка телефонного звонка, текст, товарный знак, логотип png
    1000x1006px
    9.83KB

  • белый и красный дорожный знак «Стоп», знак «Стоп», текст, прямоугольник, логотип png
    480x621px
    201.75KB

  • Предупреждающий знак Scalable Graphics, Alert s, угол, треугольник, фонды Викимедиа png
    600x518px
    85.73KB

  • Стоп знак Дорожный знак, бесплатно для печати Стоп знак, угол, текст, прямоугольник png
    600x600px
    5. 49KB

  • красная стрелка, стрелка влево, стрелка HD, угол, веб-дизайн, текст png
    1083x816px
    28.42KB

  • Галочка Масштабируемая графика, Check s, угол, текст, товарный знак png
    768x768px
    42.94KB

  • Цены с, сфера, ценник, масштабируемая векторная графика png
    600x600px
    128.37KB

  • Масштабируемая Графика Знак доллара Иконка, Знак доллара, текст, товарный знак, логотип png
    1024x1024px
    40.58KB

  • WhatsApp Icon Logo, логотип WhatsApp, логотип WhatsApp, текст, товарный знак, трава png
    584x585px
    32.64KB

  • org/ImageObject»>

    синий значок телефона внутри круга, телефонный звонок символ смартфон звонит, телефон, Разное, синий, текст png
    1024x1024px
    16.36KB

  • белый телефон логотип, значки компьютеров телефон мобильные телефоны, номер телефона, Разное, текст, телефонный звонок png
    980x980px
    75.5KB

  • Логотип запрещен, знак запрещен, запрещен, разное, текст, товарный знак png
    1024x1024px
    38.7KB

  • Посох Гермеса Кадуцея как символ медицины, Версия для печати, текст, логотип, номер png
    480x599px
    47.95KB

  • Предупреждающий знак Знак опасности, Предупреждающие знаки, текст, логотип, авторское право png
    541x478px
    26.69KB

  • org/ImageObject»>

    предупреждающий знак, предупреждающий знак Дорожный знак Компьютерные иконки, значок предупреждения безопасности дорожного движения Daquan, разное, угол, текст png
    681x599px
    43.78KB

  • красная стрелка вниз, стрелка, красная стрелка вниз, угол, сердце, прокрутка png
    600x800px
    3.8KB

  • Instagram логотип, значок, значок Instagram, текст, логотип, наклейка png
    1024x1023px
    180.26KB

  • Приоритетные знаки Стоп знак Дорожный знак Предупреждающий знак Дорожные знаки в Новой Зеландии, знак стоп, вождение, текст, прямоугольник png
    2000x2000px
    75.77KB

  • Дорожный знак, Извилистая дорога, текст, треугольник, предупреждающий знак png
    800x800px
    16. 88KB

  • Стоп знак Дорожный знак, дорога, угол, текст, логотип png
    640x1280px
    39.33KB

  • Предупреждающий знак Треугольник Дорожный знак, Предупреждающие знаки, угол, текст, треугольник png
    1159x1024px
    42.61KB

  • № 10 иллюстрации, номер, с № 10, текст, товарный знак, компьютер png
    2400x1964px
    270.85KB

  • без знака, дорожный знак Стоп, Красный Крест, текст, пешеход, авторское право png
    600x600px
    24.51KB

  • желтый и черный предупреждающий знак, значок, значки предупреждения, угол, треугольник, знак png
    600x550px
    23.95KB

  • org/ImageObject»>

    Весы Правосудие Иконка, Весы, текст, измерение, логотип png
    512x512px
    18.32KB

  • Предупреждающий знак Computer Icons, ВНИМАНИЕ, угол, треугольник, предупреждающий знак png
    600x517px
    55.85KB

  • значки компьютеров iPhone телефонный звонок, значок телефонного звонка, синий значок вызова, Разное, текст, другие png
    1024x1024px
    46.55KB

  • Стоп знак Дорожный знак, Стоп Знак Арт, текст, логотип, знак png
    594x596px
    24.57KB

  • WhatsApp iPhone, WhatsApp, логотип, монохромный, черный png
    512x512px
    35.34KB

  • Галочка Х пометка Масштабируемая графика, Ошибка с, текст, товарный знак, логотип png
    5695x5695px
    210. 42KB

  • Логотип Whats App, значок мгновенного обмена сообщениями WhatsApp Facebook, логотип Whatsapp, текст, логотип, трава png
    512x512px
    26.48KB

  • Дорожный знак Ограничение скорости Регулирующий знак Светофор Предупреждающий знак, Дорожный знак, текст, товарный знак, предупреждающий знак png
    1024x1024px
    86.47KB

  • красный и белый восклицательный знак, значки компьютеров, значок оповещения красный значок оповещения круглый, Разное, предупреждающий знак, другие png
    600x600px
    39.73KB

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

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

Этой статьей я открываю цикл материалов по разбору задач Всероссийского чемпионата «Цифровой Прорыв», связанных с 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.

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

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

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

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

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

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

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

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

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

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

А теперь самое время импортировать все необходимые библиотеки.

import pandas as pd
from tqdm.notebook import tqdm
import os
from shutil import copyfile, move
import sys
import json

Загрузим набор данных с Kaggle.

!pip install kaggle
!kaggle datasets download -d watchman/rtsd-dataset
!7z x rtsd-dataset.zip

Детектор объектов

В качестве детектора будет выступать yolov5, а именно yolov5m6 с разрешением 1280 пикселей. По моему мнению, это оптимальный вариант, так как знаки дорожного движения маленькие, а само изображение большое; если мы будем обучать модель на разрешении 640, то можем пропустить значительное количество знаков дорожного движения. Конечно, вы всегда можете использовать другую архитектуру. Задача этой статьи не выбор оптимальной архитектуры, а демонстрация того, что можно занимать призовые места в соревновании, не прибегая к разметке организаторов. 

Преобразование набора данных в YOLO-формат

Есть несколько способов, как это можно сделать. Например, воспользоваться сервисом Roboflow, но тогда придётся загружать всю разметку в их сервис, что займёт довольно много времени. Как альтернатива — cvat, но все это очень долго, хотя и потребует лишь терпения и времени. Всегда можно включить hard-mode и написать всё самому. Мы же будем использовать готовый скрипт от Ultralytics, но внесём в него одно изменение.

!git clone https://github.com/ultralytics/JSON2YOLO

Нужно модифицировать 274 строку в файле general_json2yolo.py следующим образом:

h, w, f = img['height'], img['width'], img['file_name'].split('/')[1]

Перейдём непосредственно к конвертации СOCO-формата в YOLO-формат.

sys.path.append('./JSON2YOLO')
from JSON2YOLO.general_json2yolo import convert_coco_json
test_path = 'test_annotation'
train_path = 'train_annotation'
os.makedirs(train_path, exist_ok=True)
os.makedirs(test_path, exist_ok=True)
move('train_anno.json', os.path.join(train_path, 'train_anno.json'))
move('val_anno.json', os.path.join(test_path, 'val_anno.json'))
for folder in ['labels', 'images']:
    for path in [test_path, train_path]:
        os.makedirs(os.path.join(path, folder), exist_ok=True)
        
convert_coco_json(train_path)
for file in tqdm(os. listdir(os.path.join('new_dir/labels/train_anno'))):
    move(os.path.join('new_dir/labels/train_anno', file), os.path.join(train_path, 'labels', file))
    
convert_coco_json('./test_annotation/')
for file in tqdm(os.listdir(os.path.join('new_dir/labels/val_anno'))):
    move(os.path.join('new_dir/labels/val_anno', file), os.path.join(test_path, 'labels', file))

Разметка у нас есть, не хватает лишь изображений, которые ей соответствуют. Ну что же, добавим и их.

test_labels = os.listdir(os.path.join(test_path, 'labels'))
train_labels = os.listdir(os.path.join(train_path, 'labels'))
test_labels = set(map(lambda x: x.split('.')[0], test_labels))
train_labels = set(map(lambda x: x.split('.')[0], train_labels))
images = 'rtsd-frames/rtsd-frames'
for file in os.listdir(images):
    name = file.split('.')[0]
    if name in train_labels:
        move(os.path.join(images, file), os.path.join(train_path,'images', file))
    if name in test_labels:
        move(os.path.join(images, file), os. path.join(test_path,'images', file))

Создадим файл «trafic_signs.yaml» с описанием путей и классов, используемых в датасете. Это обязательное требование для yolov5.

train: /home/jovyan/train_annotation/images  # train images (relative to 'path') 128 images
val: /home/jovyan/test_annotation/images  # val images (relative to 'path') 128 images
nc: 155
names: ['2_1', '1_23', '1_17', '3_24', '8_2_1', '5_20', '5_19_1', '5_16', 
'3_25', '6_16', '7_15', '2_2', '2_4', '8_13_1', '4_2_1', '1_20_3', '1_25', 
'3_4', '8_3_2', '3_4_1', '4_1_6', '4_2_3', '4_1_1', '1_33', '5_15_5', '3_27', 
'1_15', '4_1_2_1', '6_3_1', '8_1_1', '6_7', '5_15_3', '7_3', '1_19', '6_4', 
'8_1_4', '8_8', '1_16', '1_11_1', '6_6', '5_15_1', '7_2', '5_15_2', '7_12', 
'3_18', '5_6', '5_5', '7_4', '4_1_2', '8_2_2', '7_11', '1_22', '1_27', '2_3_2', 
'5_15_2_2', '1_8', '3_13', '2_3', '8_3_3', '2_3_3', '7_7', '1_11', '8_13', 
'1_12_2', '1_20', '1_12', '3_32', '2_5', '3_1', '4_8_2', '3_20', '3_2', '2_3_6', 
'5_22', '5_18', '2_3_5', '7_5', '8_4_1', '3_14', '1_2', '1_20_2', '4_1_4', '7_6', 
'8_1_3', '8_3_1', '4_3', '4_1_5', '8_2_3', '8_2_4', '1_31', '3_10', '4_2_2', '7_1', 
'3_28', '4_1_3', '5_4', '5_3', '6_8_2', '3_31', '6_2', '1_21', '3_21', '1_13', '1_14', 
'2_3_4', '4_8_3', '6_15_2', '2_6', '3_18_2', '4_1_2_2', '1_7', '3_19', '1_18', '2_7', 
'8_5_4', '5_15_7', '5_14', '5_21', '1_1', '6_15_1', '8_6_4', '8_15', '4_5', '3_11', 
'8_18', '8_4_4', '3_30', '5_7_1', '5_7_2', '1_5', '3_29', '6_15_3', '5_12', '3_16', 
'1_30', '5_11', '1_6', '8_6_2', '6_8_3', '3_12', '3_33', '8_4_3', '5_8', '8_14', 
'8_17', '3_6', '1_26', '8_5_2', '6_8_1', '5_17', '1_10', '8_16', '7_18', '7_14', '8_23']

Обучение модели

!git clone https://github. com/ultralytics/yolov5
!cd "yolov5"
!pip install -r requirements.txt
!python train.py --img 1280 --batch -1 --epochs 40 --data "/home/jovyan/trafic_signs.yaml" --weights yolov5m6.pt --project "hackaton_trafic_signs" --name "yolov5m6"

Модель, определяющая знаки дорожного движения, у нас есть, перейдём к тестовому набору.

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

Применим наш детектор объектов к тестовому набору данных.

!python detect.py --source {путь к тестовому набору} --weights {путь к весам модели} --save-txt --save-conf --name "yolov5m6_signs_test" --imgsz 1280 --conf-thres 0.25

Замечание: в RTSD отсутствует знак ‘5.19.2’, но он входит в топ-3 самых частых знаков в обучающем наборе нашей задачи. Посмотрим, как ведёт себя детектор при наличии знаков ‘5.19.1’ и ‘5.19.2’ на изображении. Получается, если мы встретили два раза ‘5.19.1’ в результате работы детектора, то это не что иное, как ‘5.19.1’ и ‘5.19.2’.

Результаты работы обученного детектора на тестовом изображении

Научимся преобразовывать знаки дорожного движения из RTSD в формат нашей задачи.

sings_rtsd = {"2_1": 1, "1_23": 2, "1_17": 3, "3_24": 4, "8_2_1": 5, "5_20": 6, "5_19_1": 7, "5_16": 8, "3_25": 9, "6_16": 10, "7_15": 11, "2_2": 12, "2_4": 13, "8_13_1": 14, "4_2_1": 15, "1_20_3": 16, "1_25": 17, "3_4": 18, "8_3_2": 19, "3_4_1": 20, "4_1_6": 21, "4_2_3": 22, "4_1_1": 23, "1_33": 24, "5_15_5": 25, "3_27": 26, "1_15": 27, "4_1_2_1": 28, "6_3_1": 29, "8_1_1": 30, "6_7": 31, "5_15_3": 32, "7_3": 33, "1_19": 34, "6_4": 35, "8_1_4": 36, "8_8": 37, "1_16": 38, "1_11_1": 39, "6_6": 40, "5_15_1": 41, "7_2": 42, "5_15_2": 43, "7_12": 44, "3_18": 45, "5_6": 46, "5_5": 47, "7_4": 48, "4_1_2": 49, "8_2_2": 50, "7_11": 51, "1_22": 52, "1_27": 53, "2_3_2": 54, "5_15_2_2": 55, "1_8": 56, "3_13": 57, "2_3": 58, "8_3_3": 59, "2_3_3": 60, "7_7": 61, "1_11": 62, "8_13": 63, "1_12_2": 64, "1_20": 65, "1_12": 66, "3_32": 67, "2_5": 68, "3_1": 69, "4_8_2": 70, "3_20": 71, "3_2": 72, "2_3_6": 73, "5_22": 74, "5_18": 75, "2_3_5": 76, "7_5": 77, "8_4_1": 78, "3_14": 79, "1_2": 80, "1_20_2": 81, "4_1_4": 82, "7_6": 83, "8_1_3": 84, "8_3_1": 85, "4_3": 86, "4_1_5": 87, "8_2_3": 88, "8_2_4": 89, "1_31": 90, "3_10": 91, "4_2_2": 92, "7_1": 93, "3_28": 94, "4_1_3": 95, "5_4": 96, "5_3": 97, "6_8_2": 98, "3_31": 99, "6_2": 100, "1_21": 101, "3_21": 102, "1_13": 103, "1_14": 104, "2_3_4": 105, "4_8_3": 106, "6_15_2": 107, "2_6": 108, "3_18_2": 109, "4_1_2_2": 110, "1_7": 111, "3_19": 112, "1_18": 113, "2_7": 114, "8_5_4": 115, "5_15_7": 116, "5_14": 117, "5_21": 118, "1_1": 119, "6_15_1": 120, "8_6_4": 121, "8_15": 122, "4_5": 123, "3_11": 124, "8_18": 125, "8_4_4": 126, "3_30": 127, "5_7_1": 128, "5_7_2": 129, "1_5": 130, "3_29": 131, "6_15_3": 132, "5_12": 133, "3_16": 134, "1_30": 135, "5_11": 136, "1_6": 137, "8_6_2": 138, "6_8_3": 139, "3_12": 140, "3_33": 141, "8_4_3": 142, "5_8": 143, "8_14": 144, "8_17": 145, "3_6": 146, "1_26": 147, "8_5_2": 148, "6_8_1": 149, "5_17": 150, "1_10": 151, "8_16": 152, "7_18": 153, "7_14": 154, "8_23": 155}
sings_rtsd = dict(zip(range(len(sings_rtsd)), [x. replace('_','.') for x in list(sings_rtsd.keys())]))
sings_input = ['3.24', '1.16', '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']

Определим вспомогательные функции.

def parse_labeltxt(path):
    with open(os.path.join(path), 'r') as file:
        lines = file.readlines()
        labels = [sings_rtsd[int(x.split(' ')[0])] for x in lines]
        if labels.count('5.19.1')>1:
            labels.append('5.19.2')
        labels = list(set(labels))
        return labels
def rtsd2predict(labels):
    int_labels = []
    for sign in labels:
        if sign in sings_input:
            int_labels. append(sings_input.index(sign) + 1)
    return int_labels

Преобразуем yolo-предсказания в знаки дорожного движения RTSD, а затем в метки нашей задачи.

test_csv = pd.read_csv('test.csv', delimiter=',')
sample_solution = pd.read_csv('sample_solution.csv', delimiter=',')
labels_path = '/home/jovyan/yolov5/runs/detect/yolov5m6_signs_test/labels' #заменить на путь, где у вас хранятся запуски yolov5
predicted_labels = {}
for label in tqdm(os.listdir(labels_path)):
    predicted_labels[label[:-3]+'jpg'] = rtsd2predict(parse_labeltxt(os.path.join(labels_path, label)))

Последний шаг

Наш файл с решением должен содержать не названия файлов, а их id, которые мы можем получить из test.csv. Так же учтём, что у нас может быть максимум 8 знаков дорожного движения, то есть наш массив с предсказанием знаков дорожного движения нужно дополнить нулями так, чтобы его длина стала равна 8.

img2id = {}
for index, row in test_csv.iterrows():
    img2id[row['img']] = row['id']
for img in predicted_final. keys():
    img_id = img2id[img]
    signs = predicted_final[img] + ((8-len(predicted_final[img]))*[0])
    sample_solution[sample_solution['id']==img_id] = [img_id] + signs
sample_solution.to_csv('solution.csv', index=False)

Значение метрики для нашего решения

Идеи по улучшению решения

  • Разметить данные из обучающего набора для тех знаков дорожного движения, которые отсутствуют в RTSD. Этот способ точно даёт получить +0.04-0.1 к скору.

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

  • Эту задачу имеет смысл решать с конца. Нужно понять, насколько хорошо размечены тестовые данные. В ручном режиме разметить все тестовые изображения, а затем отправлять посылки, что позволит выяснить, что же система ожидает получить от нас. Таким образом, можно «подогнать» наше решение под ответ.

Итоги

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

Участвуйте и побеждайте, всем удачи на чемпионатах и хакатонах!

Весь код доступен в Github.

изображений дорожных знаков | Скачать бесплатные картинки на Unsplash

Дорожные знаки картинки | Скачать бесплатные изображения на Unsplash

  • A Photophotos 10k
  • А

    символна открытом воздухепригород

    улицанебо облакаостановка

    дорожный знаксимволзнак

    Hd синие обоиголубое небоСтрела изображения

    Горы изображения и картинкиДолина СмертиСША

    uu. sparrow

    Hd зеленые обоиавтомобиль

    Hd современные обоиэлектричествовид транспорта

    –––– –––– –––– – –––– – –––– –– – –– –––– – – –– ––– –– –––– – –.

    дорогашоссешоссе

    death valley national parkunited statesdirt road

    signone wayCar images & pictures

    road signhealth and safetysafety sign

    pushingslovakiaday

    signasphalttarmac

    symbolsignBrown backgrounds

    Hd grey wallpapersspeed limitutah

    etobicokecanadatoronto

    Related collections

    Road Signs

    332 фото · Куратор: Bong Comme

    Дорожные знаки

    368 фото · Куратор: Иэн Мур

    Road signs

    54 photos · Curated by phuong nguyen

    los angelesFlag images & pictureswhere to go

    symboloutdoorssuburb

    pushingslovakiaday

    signasphalttarmac

    transportationspeedstation

    Hd grey wallpapersspeed limitutah

    Hd modern wallpaperselectricitymode of transport

    roadfreewayhighway

    streetнебо облакаstop

    Hd синие обоиголубое небоСтрелка фото

    Mountain images & imagesdeathvalleyusa

    florenceItaly images & imagesawkward

    etobicokecanadatoronto

    –––– –––– –––– ––––– – –––– –– ––– –––– – – –– ––– –– –––– – –.

    Долина Смерти национальный паркСоединенные Штатыгрязная дорога

    signone wayCar images & images0011

    Дорожные знаки

    368 фото · Куратор Iain Moore

    Дорожные знаки

    54 фото · Куратор phuong nguyen uu.sparrow

    Hd зеленые обоиавтомобильтранспортное средство

    Лос-АнджелесФлаг изображения и картинкикуда пойти

    Логотип Unsplash

    Unsplash+

    При сотрудничестве с Getty Images0011

    Майкл Юань

    roadfreewayhighway

    –––– –––– –––– – –––– – –––– –– – –– –––– – – –– ––– –– – ––– – –.

    Rosie Steggles

    Death Valley National Parkunited Statesdirt Road

    Ian Taylor

    Signone Waycar Images & Pictures

    Streetsky Cloudstop

    Joshua Hoehne

    RoadHealth и Safetysafety Sign

    Unsplash insplash Anslash

    .

    Unsplash+

    Unlock

    pushingslovakiaday

    Paule Knete

    road signsymbolsign

    Aniculesei Sebastian

    signasphalttarmac

    chris robert

    Hd blue wallpapersblue skiesArrow images

    Yannic Läderach

    Mountain images & picturesdeathvalleyusa

    Felipe López

    SymbolsignКоричневые фоны

    Логотип Unsplash

    Unsplash+

    В сотрудничестве с Getty Images

    UNSPLASH+

    разблокировка

    Транспорт, Серый,

    Joshua Hoehne

    HD Grey Wallpapersspespeed Limitutah

    Belinda Letings

    Florenceitaly Pictсь и изображения

    Eduardo Casajú Gorostia Pictures & Imagesawkward

    Eduardo CasaJú Gorostia и ImageSawbard

    Eduardo CasaJú GorStiaSEIA

    . uu.sparrow

    Yeshi Kangrang

    etobicokecanadatoronto

    Brett Jordan

    Hd зеленые обоиавтомобильтранспортное средство

    Unsplash logo

    Unsplash+

    В сотрудничестве с Getty Images

    Unsplash+

    Разблокировать

    Современные обои Hdэлектричествовид транспорта

    Ральф (Рави) Кайден

    Лос-АнджелесФлаг изображения и картинкикуда идти

    900 на600 | Скидка 20% на iStock

    Unsplash logo

    Сделайте что-нибудь потрясающее

    Digital Road Signs — изображения и фото

    изображения

    • изображения
    • изображения
    • Графика
    • Vektoren
    • Видео

    Durchstöbern Sie 44.772

    цифровые дорожные знаки Фото и фотографии. Oder starten Sie eine neuesuche, um noch mehr Stock-Photografie und Bilder zu entdecken.

    Сортировать по номеру:

    Am beliebtesten

    Цифровые дорожные знаки с цифровыми изображениями и фото0011 цифровое шоссе — цифровые дорожные знаки фото и изображения

    цифровое шоссе

    дорожная информационная система на шоссе — ограничение скорости — цифровые дорожные знаки фото и изображения

    дорожная информационная система на шоссе — ограничение скорости

    vertikale leere plakatwand auf der der stadtstraße — цифровые дорожные знаки фото и фотографии

    Vertikale leere Plakatwand auf der Stadtstraße

    Digitalanzeige, Schild, Banner — Schild, Werbetafel, Werbeschild

    kfz-technologie-konzept. — цифровые дорожные знаки: фото и изображения

    Kfz-Technologie-Konzept.

    Variable nachricht zeichen — цифровые дорожные знаки с графикой, клипартом, -мультфильмами и символами — цифровые дорожные знаки — графические изображения, -клипарты, -мультфильмы и -символы

    Плакаты, изображения, эффекты на рекламных щитах.

    электронный дорожный знак — цифровые дорожные знаки стоковые фото и изображения

    Электронный дорожный знак

    covid-19 testklinik zeichen — цифровые дорожные знаки стоковые фото и изображения

    Covid-19 Testklinik Zeichen

    Covid-19-Testklinik digitales Verkehrsschild в Южной Австралии lichtsignal oder beacon blitz krankenwagenrettung gefahrenalarmzeichen auf autowarnhintergrund mit verkehrsglühbirne unfall. 3D-рендеринг. — цифровые дорожные знаки: фото и изображения

    Rote Notfallsirene Dringlichkeitsalarm und Sicherheitspolizei…

    buchstabe m form labyrinth labyrinth, irrgarten mit einweg, eingang und ein weg, um zu wereden. flache bauweise, векторная иллюстрация. — цифровые дорожные знаки с графикой, клипартом, мультфильмами и символами

    Бухштаб M Form Labyrinth Labyrinth, Irrgarten mit Einweg,…

    ein satz von vector-audio waage. — цифровые дорожные знаки — графика, -клипарт, -мультфильмы и -символ

    Ein Satz von Vector-audio Waage.

    Вектор-Schallwellen eingestellt. Аудиоплеер. Audio-Equalizer-Technologie, Puls-Musical. Векториллюстрация.

    транспорт и технологииконцепт. его (intelligente verkehrssysteme). mobilität als dienstleistung. — цифровые дорожные знаки фото и изображения

    Transport- und Technologiekonzept. ITS (Intelligente…

    voraus-bauarbeiten — цифровые дорожные знаки стоковые фотографии и изображения -мультики и -символ

    Wegweiser mit Pfeil gesetzt, 3D-Auswahlweiser zur Wahl der Straße,

    Richtungsweiser mit Pfeilsatz-Vektorillustration. Realistischer 3D-Auswahlwegweiser zur Auswahl von Straße oder Straße, leerer Schilderzeiger mit Holzstangenvorlagensammlung isoliert auf weißem Hintergrund

    leere autobahn mit leeren digitalen straßenschildern — digital road signs stock-fotos und bilder

    Leere Autobahn mit leeren digitalen Straßenschildern

    pfeil richtung zeichen oder vektor-logo mit roten halbton digitale led-punktmuster punktiert — цифровые дорожные знаки, графика, клипарт, мультфильмы и символы

    Pfeil Richtung Zeichen oder Vektor-Logo mit roten Halbton. ..

    Highway in der Dämmerung, Lange Belichtung — цифровые дорожные знаки schild und reisenavigation pin straßenkarte zeiger symbol isoliert auf weißem straßenadressehintergrund mit punkt richtung erkennung tracking. — цифровые дорожные знаки, стоковые фотографии и изображения

    Синий Позиция 3D-Symbolmarkierung или Route GPS-Positionsnavigat

    Синий Стандартный 3D-Symbolmarkierung или Route GPS-Positionsnavigator Schild und Reisenavigations-Pin Straßenkarte Zeigersymbol isoliert auf weißem Straßenadresshintergrund mit Punktrichtungserkennung Tracking.

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

    Реалистичная детализация 3D Red Map Pointer Pin Set in…

    3D-рендеринг, визуализация Neonpfeile, абстракция Hintergrund,…

    desktopsymbol für stoppzeichenwarnung — цифровые дорожные знаки, графика, клипарт, мультфильмы и символы

    Desktopsymbol für Stoppzeichenwarnung

    beschilderung — цифровые дорожные знаки, фото и изображения

    Beschilderung

    achtung isometrische symbol, isoliert auf Farbigem Hintergrund — цифровые дорожные знаки, графика, -клипарт, -мультфильмы и -symbole

    Achtung isometrische Symbol, isoliert auf farbigem Hintergrund

    юмористический schnellstraßenschild — kein camping auf der linken spur — цифровые дорожные знаки фото и изображения Dieser Satz wechselt alle paar Sekunden auf diesem digitalen Autobahnanzeigeschild mit einer weiteren Nachricht hin und her: «НЕ БУДЬТЕ ТЕМ ПАРНИЕМ», um eine humvolle Gesamtbotschaft zu machen, in der langsamere (hartnäckige? Straßenschwein? kluger Kerl / Mädchen?) Fahrer und Autofahrer aufgefordert werden, auf die rechte Spur zu wechseln, um eine schnellere Verkehrsnutzung der linken Überholspur zu ermöglichen.

    weißer wegweiser mit vier pfeilen nach links und rechts. 3d макет gerendertes. — цифровые дорожные знаки фото и изображения

    Weißer Wegweiser mit vier Pfeilen nach links und rechts. 3D…

    viele verkehrsschilder — цифровые дорожные знаки стоковые фотографии и изображения стоковые графики, клипарты, мультфильмы и символы

    Wir sind offene Zeichen Label willkommen zurück halten sicheren…

    rotes nein-zeichen auf weißem hintergrund — цифровые дорожные знаки, фото и изображения

    Rotes Nein-Zeichen auf weißem Hintergrund

    3D-иллюстрация

    rund. 3d-векторсимвол. мультяшный минималистский стиль. zeitmessung, zeitmessung, zeitmanagement и термин. — цифровые дорожные знаки — графика, -клипарт, -мультфильмы и -символ

    Rund um die Uhr. 3D-Векторсимвол. Мультяшный минималист Стиль….

    Рунде Ур. 3D-Векторсимвол. Мультяшный минималист Стил. Zeiterfassung, Zeitmessung, Zeitmanagement и Terminkonzept. Логотип Uhrsymbol, приложение, пользовательский интерфейс. Uhrsymbol Vektorillustration, 3D free editierbar

    aufmerksamkeit — цифровые дорожные знаки, фото и изображения

    Aufmerksamkeit

    Achtung Zeichen.

    straßenschilder auf Weißem Hintergrund — цифровые дорожные знаки стоковые фотографии и изображения брошюра, документ. — цифровые дорожные знаки — графика, -клипарт, -мультфильмы и -символ

    Kreative abstraktes Vector Hintergrund for Web- und Mobile-Anwendu

    tempolimit und hinweisschild auf deutschen autobahnen — цифровые дорожные знаки, фото и изображения

    Tempolimit und Hinweisschild на немецких автобанах

    warnschild auf der autobahn. иллинойс мы. — цифровые дорожные знаки фото и фотографии

    Warnschild на автобане. Иллинойс США.

    Illinois Highway, Vereinigte Staaten 8. Май 2019 г.: Warnschild für anghaltene Fahrzeuge und Geschwindigkeitsbegrenzungen auf einer Autobahn, bewölkter Himmel

    rotes ausrufezeichen kreis warnung oder gefahr risikomeldung warnung problem symbol hintergrundkonzept 3d-rendering — digital road signs stock-fotos und bilder

    Rotes Ausrufezeichen Kreis Warnung oder Gefahr Risikomeldung. ..

    Rotes Ausrufezeichenzeichen Warnung oder Gefahr Risikomeldung Problemsymbol Hintergrundkonzept 3D-Rendering

    realistische 3d Detaillierte Straße Ampel Banner Card вектор — цифровые дорожные знаки сток-графика, -клипарт, -мультфильмы и -symbole

    Реалистичная 3d Detaillierte Straße Ampel Banner Card Vektor

    изменения впереди: schild am straßenrand: anhänger-mobilfunkschild, das auf der straße mit wörtern für die sicherheit von orangefarbenen kegeln geparkt ist — цифровые дорожные знаки stock-fotos und bilder

    ИЗМЕНЕНИЯ ВПЕРЕДИ: Schild am Straßenrand: Anhänger-Mobilfunkschild…

    ÄNDERUNGEN ВПЕРЕДИ: Dies ist ein Foto eines mobilen Straßenschildes, das auf dem Highway One in Nordkalifornien geparkt ist. Es ist ein Anhänger und wird mit Batterien betrieben und bietet Informationen und Warnungen für Fahrer, indem es Wörter auf einem großen Panel-Display anzeigt.

    реалистичный видеоплеер гласбилдширм изолирован на прозрачном фоне. vektor-illustration — цифровые дорожные знаки стоковые графики, -клипарты, -мультфильмы и -символы

    Реалистичный видеоплеер Glasbildschirm isoliert auf…

    leere weiße fahne mock-up auf schwarze stadt plakatwand — digital дорожные знаки стоковые фото и изображения

    ЗарегистрироватьсяВойти Мокап Fahne на фоне городского плаката

    Просмотров Weißes Мокап баннера на черном фоне Stadtplakatwand, 3D-рендеринг. Leeres Plakatmodell isoliert. Klare Canvas-Vorlage auf dem Straßenschild von Sity. Großer Posterbildschirm im Freien. Großer Cityboard-Beschilderungsstand.

    минимальная концепция идеи розового цвета и люфтбаллонов на синем фоне. 3D-рендеринг. — цифровые дорожные знаки стоковые фотографии и изображения

    Минимальная концепция идеи розового цвета и дизайна…

    karte pinpoint icons — multi series — цифровые дорожные знаки стоковые графики, -клипарты, -мультфильмы и -символы

    Карты Pinpoint Icons — Multi Серия

    ausrufezeichen auf weißemhintergrund isoliert — цифровые дорожные знаки, фото и изображения

    Ausrufezeichen auf weißem Hintergrund isoliert

    голубая позиция пиктограмма символ символ oder kartenzeiger маркер навигационная булавка gps-markierung isoliert auf weißem hintergrund mit position ort und flaches design. 3D-рендеринг. — цифровые дорожные знаки стоковые фотографии и изображения

    Синий Позиция Пиктограмма Символ Символ или Карточный маркер…

    pfeil abstrakterhintergrund der aufwärtsbewegung

    Pfeil abstraktes Aufwärtsbewegungs-Hintergrundmuster.

    Absperrung im bau — цифровые дорожные знаки, фото и изображения

    Absperrung Im Bau

    Straßensperre mit den Worten Im Bau. 3D-рендеринг.

    130 Speedlimit Deutsch Autobahnen 3D-иллюстрация — цифровые дорожные знаки стоковые фотографии и изображения дорожные знаки сток-графики, -клипарт, -мультфильмы и -symbolerichtung pfeilzeichen — цифровые дорожные знаки сток-фото и изображения

    Richtung Pfeilzeichen

    weißes kreuzkreuz-häkchen-symbol-button und kein oder falsches symbol aufablehnen abbruch-zeichen-schaltfläche отрицательный контрольный список второстепенных значений с возможностью-optionsfeld. 3D-рендеринг. — цифровые дорожные знаки с фотографиями и изображениями

    Weißes Kreuzkreuz-Häkchen-Symbol-Button und kein oder falsches. ..

    satz schwarzen vektorpfeilen. pfeile flachen stil — лагер вектор. — цифровые дорожные знаки — графика, -клипарт, -мультфильмы и -символ

    Satz von schwarzen Vektorpfeilen. Pfeile flachen Stil — Лагер…

    3D-шварц-вайс-линия в перспективе с синим элементом абстрактного вектора, линейная перспективная иллюстрация оп-арта, мы видим горизонт. — цифровые дорожные знаки, графика, клипарт, мультфильмы и символы

    3D-Schwarz-Weiß-Linien in Perspektive mit blue Elementen…

    3D-Schwarz-Weiß-Linien perspektivisch mit blue Elementen abstrakter Vectorhintergrund, lineare perspektivische Иллюстрация оп-арт, Weg zum Horizont.

    ограничение скорости stau warnschild deutsche autobahn — цифровые дорожные знаки стоковые фотографии и изображения

    Ограничение скорости Stau Warnschild Deutsche Autobahn

    Verkehrsinformationssystem auf der Autobahn, das Informationen über einen Lkw-Stau liefert und eine Geschwindigkeitsbegrenzung ankündigt.

Write a comment