Содержание
Дорожный знак, для печати без знака сотового телефона, текст, логотип, номер png
Дорожный знак, для печати без знака сотового телефона, текст, логотип, номер png
теги
- текст,
- логотип,
- номер,
- знак,
- вывески,
- знак остановки,
- улыбка,
- символ,
- масштабируемая векторная графика,
- красный,
- для печати Нет знака сотового телефона,
- точка,
- без символа,
- линия,
- бесплатный контент,
- скачать,
- круг,
- бренд,
- площадь,
- дорожный знак,
- Картинки,
- Версия для печати,
- Мобильный телефон,
- png,
- прозрачный,
- бесплатная загрузка
Об этом PNG
Размер изображения
- 600x595px
Размер файла
- 23.52KB
MIME тип
- Image/png
Скачать PNG ( 23.52KB )
изменить размер PNG
ширина(px)
высота(px)
Лицензия
Некоммерческое использование, DMCA Contact Us
Стоп логотип вывесок, Стоп знак бесплатного контента, Стоп знак графики, текст, логотип, знак 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
предупреждающий символ, предупреждающий знак, восклицательный знак, разное, угол, текст png
1024x897px
80.64KB
Стоп знак Дорожный знак, Стоп Знак Арт, текст, прямоугольник, предупреждающий знак png
512x512px
17.67KB
Стоп знак, Стоп знак графика, текст, логотип, лицензионный платеж png
600x600px
18.03KB
Стоп знак Дорожный знак Масштабируемая графика, красный стоп-сигнал, Форматы файлов изображений, текст, прямоугольник png
768x768px
22.55KB
Телефон Компьютер Иконки Электронная почта, Префикс с, белый, текст, мобильные телефоны png
1000x1000px
51.32KB
Стоп вывески, Стоп знак, Дорожные знаки, прочее, текст, логотип 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
синий значок телефона внутри круга, телефонный звонок символ смартфон звонит, телефон, Разное, синий, текст png
1024x1024px
16.36KB
белый телефон логотип, значки компьютеров телефон мобильные телефоны, номер телефона, Разное, текст, телефонный звонок png
980x980px
75.5KB
Логотип запрещен, знак запрещен, запрещен, разное, текст, товарный знак png
1024x1024px
38.7KB
Посох Гермеса Кадуцея как символ медицины, Версия для печати, текст, логотип, номер png
480x599px
47.95KB
Предупреждающий знак Знак опасности, Предупреждающие знаки, текст, логотип, авторское право png
541x478px
26.69KB
предупреждающий знак, предупреждающий знак Дорожный знак Компьютерные иконки, значок предупреждения безопасности дорожного движения 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
Весы Правосудие Иконка, Весы, текст, измерение, логотип 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.