Знаки доп информации дорожного движения: Знаки доп.информации (таблички) | AVTONAUKA.RU

Содержание

Знаки доп.информации (таблички) | AVTONAUKA.RU

, Комментариев нет

1-я статья из 8 в серии Знаки доп.информации (таблички) Знаки дополнительной информации (таблички) применяют для уточнения или ограничения действия других дорожных знаков, а также для сообщения участникам движения иной информации. Первая группа знаков дополнительной информации

Подробнее →

, 4 комментария

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

Подробнее →

, 2 комментария

3-я статья из 8 в серии Знаки доп.информации (таблички) Знаки дополнительной информации (таблички) применяют для уточнения или ограничения действия других дорожных знаков, а также для сообщения участникам движения иной информации. Следующая группа знаков дополнительной информации

Подробнее →

, Комментариев нет

4-я статья из 8 в серии Знаки доп.информации (таблички) Знаки дополнительной информации (таблички) применяют для уточнения или ограничения действия других дорожных знаков, а также для сообщения участникам движения иной информации. Следующая группа знаков дополнительной информации

Подробнее →

, Комментариев нет

5-я статья из 8 в серии Знаки доп.информации (таблички) Знаки дополнительной информации (таблички) применяют для уточнения или ограничения действия других дорожных знаков, а также для сообщения участникам движения иной информации. Следующая группа знаков дополнительной информации

Подробнее →

, Комментариев нет

6-я статья из 8 в серии Знаки доп.информации (таблички) Знаки дополнительной информации (таблички) применяют для уточнения или ограничения действия других дорожных знаков, а также для сообщения участникам движения иной информации. Следующая группа знаков дополнительной информации

Подробнее →

Знаки дополнительной информации

Автор admin На чтение 6 мин. Просмотров 194


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

Это значит, что они не являются самостоятельными, а работают только в связке с другими. Имеют надписи черного цвета на белом фоне, с черной обводкой и небольшую прямоугольную форму (за исключением таблички 8.13).

  1. Расстояние до объекта (8.1.1, 8.1.2, 8.1.3, 8.1.4)
  2. Зона действия (8.2.1, 8.2.2, 8.2.3, 8.2.4, 8.2.5, 8.2.6)
  3. Направление действия (8.3.1, 8.3.2, 8.3.3)
  4. Вид транспортного средства (8.4.1, 8.4.2, 8.4.3, 8.4.4, 8.4.5, 8.4.6, 8.4.7, 8.4.8)
  5. Кроме вида транспортного средства (8.4.9, 8.4.10, 8.4.11, 8.4.12, 8.4.13, 8.4.14, 8.4.15)
  6. Субботние, воскресные и праздничные дни (8.
    5.1)
  7. Рабочие дни (8.5.2)
  8. Дни недели (8.5.3)
  9. Время действия (8.5.4, 8.5.5, 8.5.6, 8.5.7)
  10. Способ постановки транспортного средства на стоянку (8.6.1, 8.6.2, 8.6.3, 8.6.4, 8.6.5, 8.6.6, 8.6.7, 8.6.8, 8.6.9)
  11. Стоянка с неработающим двигателем (8.7)
  12. Платные услуги (8.8)
  13. Ограничение продолжительности стоянки (8.9)
  14. Стоянка только для владельцев парковочных разрешений (8.9.1)
  15. Место для осмотра автомобиля (8.10)
  16. Ограничение разрешенной максимальной массы (8.11)
  17. Опасная обочина (8.12)
  18. Направление главной дороги (8.13)
  19. Полоса движения (8.14)
  20. Слепые пешеходы (8.15)
  21. Влажное покрытие (8.16)
  22. Инвалиды (8.17)
  23. Кроме инвалидов (8.18)
  24. Класс опасного груза (8.19)
  25. Тип тележки транспортного средства (8.20.1, 8.20.2)
  26. Вид маршрутного транспортного средства (8.21.1, 8.21.2, 8.21.3)
  27. Препятствие (8.22.1, 8.22.2, 8.22.3)
  28. Фотовидеофиксация (8.23)
  29. Работает эвакуатор (8. 24)
  30. Видео

Расстояние до объекта (8.1.1, 8.1.2, 8.1.3, 8.1.4)

Самый простой способ запомнить, как работают таблички «расстояние до объекта» — ассоциировать их с предлогом «через».

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

8.1.1 указывают на расстояние от знака с этой табличкой до опасного участка, или того места, когда он вступит в силу. Устанавливается по ходу движения.

8.1.2 работает только со знаком 2.4 (уступите дорогу) и информирует о том, что на перекрестке будет стоять 2.5 (движение без остановки запрещено).

8.1.3 и 8.1.4 информирует о расстоянии до какого-либо объекта справа или слева от дороги.

Зона действия (8.2.1, 8.2.2, 8.2.3, 8.2.4, 8.2.5, 8.2.6)

Таблички серии 8.2.1-8.2.6 необходимо трактовать как «на протяжении». То есть действуют ровно на то расстояние, которое указано на табличке.

8. 2.1 указывает протяженность опасного участка в том случае, когда установлена совместно с предупреждающим знаком, например, 1.12.1 опасные повороты. Под запрещающим – информирует о зоне его действия. Часто дополняет знаки 5.16 (место остановки), 6.2 (рекомендуемая скорость), 6.4 (парковка).

8.2.2 используется исключительно с серией 3.27-3.30 (стоянка и остановка запрещены), и указывают зону действия.

8.2.3 указывают на то, что в месте установки зона действия оканчивается. Работают с 3.27-3.30.

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

8.2.5 и 8.2.6 содержат стрелку вправо или влево, указывающую направление, а также цифры, определяющие протяженность действия. Являются дополнением для 3.27-3.30.

Направление действия (8.3.1, 8.3.2, 8.3.3)

Информируют о направлении действия знака, либо направления до какого-то объекта, указанного на нем.

Вид транспортного средства (8.4.1, 8.4.2, 8.4.3, 8.4.4, 8.4.5, 8.4.6, 8.4.7, 8.4.8)

Таблички из этой серии могут работать с любыми знаками. Они показывают для каких именно транспортных средств действует ограничение, предписание и т. д.

Табличка 8.4.1 распространяется на грузовики массой свыше 3.5 тонн, в том числе с прицепом.
  • 8.4.2 на любые ТС с прицепом.
  • 8.4.3 касается легковых, а также грузовых автомобилей до 3.5 тонн.
  • 8.4.3.1 относится к электромобилям и гибридным ТС.
  • 8.4.8 затрагивает транспорт, перевозящий опасные грузы.

Кроме вида транспортного средства (8.4.9, 8.4.10, 8.4.11, 8.4.12, 8.4.13, 8.4.14, 8.4.15)

В случаях, когда ограничение касается всех видов транспортных средств кроме одного, используются знаки дополнительной информации «кроме». Они уточняют вид транспортного средства, на который действие знака не распространяется.

Субботние, воскресные и праздничные дни (8. 5.1)

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

Рабочие дни (8.5.2)

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

Дни недели (8.5.3)

Знак с такой табличкой будет работать только по указанным дням. В данном случае с понедельника по среду.

Время действия (8.5.4, 8.5.5, 8.5.6, 8.5.7)

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

Способ постановки транспортного средства на стоянку (8.6.1, 8.6.2, 8.6.3, 8.6.4, 8.6.5, 8.6.6, 8.6.7, 8.6.8, 8.6.9)

На табличках дополнительно указано, каким способом необходимо ставить ТС на стоянку по отношению к бордюру. По правилам, при отсутствии знаков дополнительной информации о способе парковки, автомобиль необходимо ставить параллельно проезжей части.

Следует запомнить важное правило: все таблички этой серии, за исключением 8. 6.1, распространяются только на легковые транспортные средства, мотоциклы и мопеды. Другой вид транспорта под знаками с этими табличками парковаться не может.

8.6.1 разрешает парковку параллельно проезжей части любым ТС без исключения.

Стоянка с неработающим двигателем (8.7)

Говорит о том, что под знаком 6.4 стоянка разрешена только с заглушенным двигателем. Согласно правилам, время до 5 минут считается остановкой а не стоянкой.

Платные услуги (8.8)

Информирует водителя о том, что за парковку взимается плата.

Ограничение продолжительности стоянки (8.9)

Табличка ограничивает максимальное время пребывания автомобиля на парковочном месте.

Стоянка только для владельцев парковочных разрешений (8.9.1)

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

Место для осмотра автомобиля (8.10)

Работает совместно со знаками парковки (6.4) и место отдыха (7.11). Информирует водителя о наличии на площадке смотровой канавы или эстакады. При этом совершенно не обязательно, что там будет находиться автосервис.

Ограничение разрешенной максимальной массы (8.11)

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

Опасная обочина (8.12)

Применяется с 1.25 (дорожные работы) и информирует участников движения, что съезд на обочину может быть опасен, в связи с проводимыми на ней работами. Табличка не запрещает съезд, а лишь предупреждает об опасности.

Направление главной дороги (8.13)

Дополнительно информирует о направлении главной дороги при пересечении проезжих частей. Всегда ставится совместно с 2.1 (главная дорога) в тех случаях, когда меняется ее направление.

Полоса движения (8.14)

Указывает на то, что действие знака или светофора распространяется только на указанную полосу движения.

Слепые пешеходы (8.15)

Табличка дополняет знаки 1.22, 5.19.1, 5.19.2 (пешеходный переход), кроме того вешается на светофорах. Информирует о том, что переходом пользуются слепые люди и водитель должен быть предельно внимателен.

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

Влажное покрытие (8.16)

Чаще всего устанавливается совместно с 3.24 (ограничение максимальной скорости). Сообщает, что знак работает лишь в том случае, если дорожное покрытие влажное. Влажное покрытие ухудшает сцепление колес, увеличивает тормозной путь автомобиля, может вызвать неуправляемый занос.

Инвалиды (8.17)

Действие знака с этой табличкой распространяется лишь на автомобили и мотоколяски с опознавательным знаком 9. 14 (инвалид).

Кроме инвалидов (8.18)

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

Класс опасного груза (8.19)

Указывает на какие именно классы опасных грузов действует ограничение, запрет, предписание.

Тип тележки транспортного средства (8.20.1, 8.20.2)

Уточняет знак 3.12 (ограничение массы на ось), сообщая число сближенных осей грузового ТС, для каждой из которых будет действовать ограничение предельно допустимой массы.

Вид маршрутного транспортного средства (8.21.1, 8.21.2, 8.21.3)

Вместе с 6.4 обозначают место парковки у станций метро, остановок автобусов, троллейбусов и трамваев.

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

Препятствие (8.22.1, 8.22.2, 8.22.3)

Таблички предназначены для использования дополнительно со знаками 4.2.1, 4.2.2, 4.2.3 (направление объезда). Задача сделать их более заметными для водителей.

Фотовидеофиксация (8.23)

Указывает, что на данном участке дороги осуществляется фиксация нарушений ПДД, с использованием автоматических средств фото и видеозаписи. Источник известных многим владельцам автомобилей «писем счастья».

Работает эвакуатор (8.24)

Информирует водителей о том, что в зоне действия знаков 3.27-3.30 работает эвакуатор, и может производиться задержание транспортного средства, с помещение его на штрафную стоянку. Это влечет за собой расходы на оплату как самой штрафстоянки, так и работы эвакуатора.

Видео

Мне нравится1Не нравится
Что еще стоит почитать

Знаки дорожного движения и их обозначения: предупреждающие, запрещающие в ПДД, пешеходный переход

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

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

Вконтакте Facebook Twitter Google+ Мой мир

Группы дорожных знаков

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

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

  1. Приближение автомобиля к опасному участку требует от водителя повышенного внимания и чрезвычайной осторожности. Для обозначения таких мест на проезжей части используются предупреждающие знаки.
  2. Не все современные городские улицы оснащены специальным оборудованием, регулирующим порядок перемещения транспорта на перекрестках. Для таких случаев предназначены знаки приоритета дорожного движения, устанавливающие очередность следования автомобилей.
  3. Следующая группа является наиболее категоричной. Запрещающие знаки дорожного движения определяют некоторые ограничения действий водителей. Нарушение предъявляемых требований влечет за собой достаточно серьезное наказание.
  4. В определенных зонах проезжей части компетентными органами предусматриваются особые условия перемещения транспортных средств. Для подобных случаев предназначается отдельная категория специфических символов под общим названием предписывающие дорожные знаки.
  5. К очередной категории относятся знаки особых предписаний. В них отражается введение и ли отмена специфических режимов движения транспортных средств.
  6. О приближении к определенному населенному пункту или другому объекту свидетельствуют информационные дорожные указатели. Примером является знак парковки, известный каждому автолюбителю. Также их устанавливают для обозначения особых участков с рекомендуемым режимом движения.
  7. Привыкшие к комфорту водители оценят символы сервиса, указывающие местоположение специальных служб, порой необходимых в дороге.
  8. Последняя группа состоит из уточняющих табличек, несущих дополнительную информацию. Они являются неким приложением к имеющимся указателям и содержат более подробные сведения.

Чтобы хорошо ориентироваться на улицах за рулем автомобиля, необходимо досконально изучить все перечисленные категории. Предлагаемая информация позволит рассмотреть подробнее группы знаков дорожного движения и их точное обозначение.

Знаки дорожного движения

Предупреждающие знаки

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

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

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

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

Предупреждающие знаки

Обозначение приоритета

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

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

Наиболее распространенной табличкой данной категории является знак «Стоп», хорошо знакомый большинству нарушителей правил дорожного движения. Неподчинение требованиям подобного указателя приоритета многим облегчило кошелек на 800 р. Именно такая сумма предусмотрена законодательством в качестве штрафа за игнорирование специальных обозначений, установленных для контроля правил автомобильного движения.

Дословным толкованием таблички считается фраза «движение без остановки запрещается».

Важно знать! Правилами дорожного движения четко обозначены границы возможной остановки. Максимальное расстояние, допустимое до прекращения следования на участке, где расположен знак «Стоп», не должно выходить за пределы пересечения.

Знак «Стоп» чаще всего водитель может увидеть на подъезде к месту пересечения проезжих частей, при приближении к карантинному посту, железнодорожному переезду и т.д.

Знаки приоритета

Запрещающие знаки

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

Изучение этой категории представляет повышенную сложность. Объясняется трудность запоминания следующими причинами:

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

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

  • выполнять требования конкретного ограничения необходимо до приближения к первому перекрестку,
  • зачастую зона актуальности уличного символа указывается в текстовой части таблички,
  • действие указателя, установленного на территории населенного пункта, не распространяется за его пределы,
  • для отмены предыдущих ограничений используется представитель группы с цифровым идентификатором 3. 31.

Запрещающие знаки

Предписывающие знаки

Таблички этой категории предназначены не только для водителей, но и для пешеходов, а также для владельцев велосипедов. Предписывающие знаки дорожного движения применяются для указания направления следования автомобилей, допустимой скорости, маршрута спецтранспорта. Следуя рекомендациям таких табличек, велосипедисты и пешеходы могут перемещаться на определенных участках. Большинство предписывающих рекомендаций представлено синими символами в форме круга. Обозначения на них наносят краской белого цвета.

Некоторые предписывающие уличные таблички допустимо игнорировать водителям общественного автотранспорта определенного вида. К таким машинам относятся автобусы и маршрутные такси.

Предписывающие знаки

Знаки особых предписаний

Знаки особых предписаний

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

О въезде и выезде из населенного пункта, где привычные правила утрачивают актуальность, свидетельствуют цифровые идентификаторы 5.25 и 5.26. Зона действия таблички ограничивается участком проезжей части, на котором она установлена. Остальные дороги населенного пункта подчиняются общепринятым нормам автомобильного движения.

Применяются символы категории особых предписаний для определения территорий с нестандартными правилами перемещения транспортных средств. Подробный перечень таких табличек и их описание содержится в справочных материалах.

Это интересно! Нарушение ПДД: как оспорить штраф ГИБДД с камеры видеофиксации

Информационные указатели

Основным предназначением данной группы является предоставление водителям определенных сведений, полезных в пути. Помимо информации о месторасположении важных объектов (например, населенных пунктов) подобные путевые таблички оповещают автомобилистов об установленных на конкретных участках режимах следования.

Перечень указателей состоит из множества позиций. Для жителей мегаполисов, владеющих личным транспортом, особый интерес представляет знак парковки. В справочном приложении к правилам уличного движения он обозначается цифровым идентификатором 6.4 и представлен синим прямоугольником с белой литерой «Р». С его помощью водитель получает информацию о месте, предназначенном для временного содержания автомобиля.

Знаки сервиса

Особую актуальность категория приобретает для дальнобойщиков и других шоферов, значительное время проводящих за рулем. Такими табличками водители оповещаются о расположении следующих объектов путевого сервиса:

  • медпункт,
  • лечебное учреждение,
  • заправка,
  • ремонтная мастерская,
  • пункт телефонной связи,
  • мойка,
  • закусочная,
  • гостиница,
  • полиция,
  • туалет.

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

Знаки сервиса

Дополнительная информация

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

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

Это интересно! Изучаем действие знака остановка запрещена: зона действия

Знаки, знакомые с детства

Детские дорожные знаки

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

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

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

Максимальную пользу для открывающего мир малыша имеет знак «Пешеходный переход», относящийся к информационной группе и выполненный в форме белого треугольника с символическим изображением идущего человека, размещенного в синем квадрате. Он указывает возможность пересечения проезжей части на специально предназначенном участке пути. Особая разметка на дороге под народным названием «зебра», представленная широкими белыми полосами, позволяет пешеходам свободно переходить улицу в отведенном месте.

Рекомендуется познакомить ребенка с такими табличками:

  • места остановки общественного транспорта,
  • пешеходная и велосипедная дорожка,
  • дети,
  • запрещенный въезд.

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

Полезное видео: Дорожные знаки. Предупреждающие знаки

Познакомившись с многообразием путевых указателей, можно обезопасить себя от возможных аварий и недоразумений с представителями ГИБДД. Тщательное выполнение требований позволяет избежать административных наказаний и непредвиденных затрат в виде штрафов.

Это интересно! Какой положен штраф за проезд на красный свет

Загрузка…

Знаки дополнительной информации (таблички)

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


8. 1.1


8.1.2


8.1.3


8.1.1 — 8.1.4 «Расстояние до объекта»
8.1.1 — Указывается расстояние от знака до начала опасного участка, места введения соответствующего ограничения или определенного объекта (места), находящегося впереди по ходу движения. 8.1.2 — указывает расстояние от знака 2.4 «Уступите дорогу» до перекрестка в случае, если непосредственно перед перекрестком установлен знак 2.5 «Движение без остановки запрещено». 8.1.3-8.1.4 — указывает расстояние до объекта, находящегося в стороне от дороги.


8.2.1
8.2.2
8.2.3
8.2.4
8.2.5
8.8.1 — 8.2.6

«Зона действия»
8.2.1 — Указывает протяженность опасного участка дороги, обозначенного предупреждающими знаками, или зону действия запрещающих знаков, а также знаков 5.16, 6.2 и 6.4;
8.2.2 — указывает зону действия запрещающих знаков 3.27-3.30; 8.2.3 — указывает конец зоны действия знаков 3.27-3.30; 8.2.4 — информирует водителей о нахождении их в зоне действия знаков 3. 27-3.30; 8.2.5-8.2.6 — указывают направление и зону действия знаков 3.27-3.30 при запрещении остановки или стоянки вдоль одной стороны площади, фасада здания и тому подобного.


8.3.1
8.3.2
8.3.1 — 8.3.3

«Направления действия»
Указывают направления действия знаков, установленных перед перекрестком или направления движения к обозначенным объектам, находящимся непосредственно у дороги.


8.4.1


8.4.2


8.4.3


8.4.4


8.4.5


8.4.6


8.4.7


8.4.1. — 8.4.8 «Вид транспортного средства»
Указывают вид транспортного средства, на который распространяется действие знака.
Табличка 8.4.1 распространяет действие знака на грузовые автомобили, в том числе и с прицепом, с разрешенной максимальной массой более 3,5 т, табличка 8.4.3 — на легковые автомобили, а также грузовые автомобили с разрешенной максимальной массой до 3,5 т, табличка 8.4.8 — на транспортные средства, оборудованные опознавательными знаками (информационными табличкми) «Опасный груз».


8.4.9


8.4.10


8.4.11


8.4.12


8.4.13


8.4.9 — 8.4.14 «Кроме вида транспортного средства»
Указывают вид транспортного средства, на который не распространяется действие знака. Табличка 8.4.14 не распространяет действие знака на транспортные средства, используемые в качестве легкового такси.


8.5.1 «Субботние, воскресные и праздничные дни»


8.5.2 «Рабочие дни»


8.5.3 «Дни недели»


8.5.4


8.5.5


8.5.6


8.5.4 — 8.5.7  «Время действия»
8.5.4 — Указывает время суток, в течение которого действует знак. 8.5.5-8.5.7 — указывают дни недели и время суток, в течение которых действует знак. Указывают дни недели, в течение которых действует знак.


8.6.1
8.6.2
8.6.3
8.6.4
8.6.5
8.6.6
8.6.7
8.6.8
8.6.1 — 8.6.9

«Способ постановки транспортного средства на стоянку»
8. 6.1 — указывает, что все транспортные средства должны быть поставлены на стоянку на проезжей части вдоль тротуара;
8.6.2-8.6.9 — указывают способ постановки легковых автомобилей и мотоциклов на околотротуарной стоянке.


8.7  «Стоянка с неработающим двигателем»
Указывает, что на стоянке, обозначенной знаком 6.4, разрешается стоянка транспортных средств только с неработающим двигателем.


8.8 «Платные услуги»
Указывает, что услуги предоставляются только за плату.


8.9 «Ограничение продолжительности стоянки»
Указывает максимальную продолжительность пребывания транспортного средства на стоянке, обозначенной знаком 6.4.


8.9.1  «Стоянка только для владельцев парковочных разрешений»
Указывает, что на парковке, обозначенной знаком 6.4, могут размещаться только транспортные средства, владельцы которых имеют разрешение на парковку, полученное в установленном органами исполнительной власти субъекта Российской Федерации или органами местного самоуправления порядке и действующее в пределах территории, границы которой установлены соответствующими органами исполнительной власти субъекта Российской Федерации или органами местного самоуправления.


8.10 «Место для осмотра автомобилей»
Указывает, что на площадке, обозначенной знаком 6.4 или 7.11, имеется эстакада или смотровая канава.


8.11  «Ограничение разрешенной максимальной массы»
Указывает, что действие знака распространяется только на транспортные средства с разрешенной максимальной массой, превышающей максимальную массу, указанную на табличке.


8.12  «Опасная обочина»
Предупреждает, что съезд на обочину опасен в связи с проведением на ней ремонтных работ. Применяется со знаком 1.25.


8.13 «Направление главной дороги»
Указывает направление главной дороги на перекрестке.


8.14  «Полоса движения»
Указывает полосу движения или полосу для велосипедистов, на которую распространяется действие знака или светофора.


8.15 «Слепые пешеходы»
Указывает, что пешеходным переходом пользуются слепые. Применяется со знаками 1.22, 5.19.1, 5.19.2 и светофорами.


8.16 «Влажное покрытие» указывает, что действие знака распространяется на период времени, когда покрытие проезжей части влажное.


8.17 «Инвалиды»
Указывает, что действие знака 6.4 «Парковка (Парковочное место)» распространяется только на мотоколяски и автомобили, на которых установлен опознавательный знак «Инвалид».


8.18  «Кроме инвалидов»
Указывает, что действие знака не распространяется на мотоколяски и автомобили, на которых установлен опознавательный знак «Инвалид».


8.19 «Класс опасного груза»
Указывает номер класса (классов) опасных грузов по ГОСТу 19433-88.

 
8.20.1 — 8.20.2 «Тип тележки транспортного средства»
Применяются со знаком 3.12. Указывают число сближенных осей транспортного средства, для каждой из которых указанная на знаке масса является предельно допустимой.

 


8.21.1
8.21.2
8.21.1 — 8.21.3

 «Вид маршрутного транспортного средства»
Применяются со знаком 6.4. Обозначают место стоянки транспортных средств у станций метро, остановок автобуса (троллейбуса) или трамвая, где возможна пересадка на соответствующий вид транспорта.


8.22.1
8.22.2
8.22.1 — 8.22.3

«Препятствие»
Обозначают препятствие и направление его объезда. Применяются со знаками 4.2.1 — 4.2.3 .


8.23

«Фотовидеофиксация»
Применяется со знаками 1.1, 1.2, 1.8, 1.22, 3.1 — 3.7, 3.18.1, 3.18.2, 3.19, 3.20, 3.22, 3.24, 3.27 — 3.30, 5.14, 5.21, 5.27 и 5.31, а также со светофорами. Указывает, что в зоне действия дорожного знака либо на данном участке дороги может осуществляться фиксация административных правонарушений работающими в автоматическом режиме специальными техническими средствами, имеющими функции фото-, киносъемки и видеозаписи, или средствами фото-, киносъемки и видеозаписи.


8.24

«Работает эвакуатор»
Указывает, что в зоне действия дорожных знаков 3.27 — 3.30 осуществляется задержание транспортного средства.

Прослушать Пункт «Знаки дополнительной информации (таблички)»     Тег audio не поддерживается вашим браузером.Скачайте файл.

Классификация дорожных знаков с помощью Keras и глубокого обучения

Щелкните здесь, чтобы загрузить исходный код этого сообщения

В этом руководстве вы узнаете, как обучить собственный классификатор / распознаватель дорожных знаков, способный обеспечить точность более 95% с использованием Keras и глубокого обучения.

На прошлых выходных я поехал в Мэриленд навестить родителей. Когда я подъехал к их подъездной дорожке, я заметил кое-что странное — на парковке моего отца стояла незнакомая машина.

Я припарковал машину, вытащил свои сумки из багажника, и прежде чем я смог пройти через парадную дверь, вышел мой отец, взволнованный и оживленный, воскликнув, что он только что вернулся из автосалона и обменял свой старый машина для новенькой Хонда Аккорд 2020 года выпуска.

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

Мой папа хотел, чтобы семья прокатилась и проверила машину, поэтому мы с папой и мамой сели в машину, «запах новой машины» поразил тебя, как плохой одеколон, что тебе стыдно признаться в этом. тебе нравится.

Когда мы ехали по дороге, моя мама заметила, что ограничение скорости автоматически отображается на приборной панели автомобиля — , как это происходило?

Ответ?

Распознавание дорожных знаков.

В моделях Honda Accord 2020 года датчик передней камеры установлен на внутренней стороне лобового стекла за зеркалом заднего вида.

Эта камера опрашивает кадры, ищет знаки на дороге и затем классифицирует их.

Распознанный дорожный знак затем отображается на ЖК-панели в качестве напоминания водителю.

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

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

Чтобы узнать больше о классификации дорожных знаков с помощью Keras и Deep Learning, просто продолжайте читать!

Классификация дорожных знаков с помощью Keras и глубокого обучения

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

После этого мы пересмотрим нашу структуру каталогов для проекта.

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

Используя нашу обученную модель, мы оценим ее точность на тестовых данных и даже научимся делать прогнозы на основе новых входных данных.

Что такое классификация дорожных знаков?

Рисунок 1: Распознавание дорожных знаков состоит из обнаружения объекта: (1) обнаружение / локализация и (2) классификация. В этом сообщении блога мы сосредоточимся только на классификации дорожных знаков с помощью Keras и глубоком обучении.

Классификация дорожных знаков — это процесс автоматического распознавания дорожных знаков вдоль дороги, включая знаки ограничения скорости, знаки уступки, знаки слияния и т. Д.Возможность автоматического распознавания дорожных знаков позволяет нам создавать «умные автомобили».

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

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

Наш набор данных дорожных знаков

Рисунок 2: Набор данных Немецкого теста распознавания дорожных знаков (GTSRB) будет использоваться для классификации дорожных знаков с помощью Keras и глубокого обучения.(источник изображения)

Набор данных, который мы будем использовать для обучения нашего собственного классификатора дорожных знаков, — это Немецкий тест распознавания дорожных знаков (GTSRB).

Набор данных GTSRB состоит из 43 дорожных знаков классов и , почти 50 000 изображений.

Образец набора данных можно увидеть на Рисунок 2 выше — обратите внимание, как дорожные знаки были предварительно обрезаны для нас, подразумевая, что аннотаторы / создатели набора данных вручную пометили знаки на изображениях и извлек для нас дорожный знак «Область интереса» (ROI), тем самым упростив проект.

В реальном мире распознавание дорожных знаков — это двухэтапный процесс:

  1. Локализация: Обнаружение и локализация на входном изображении / кадре дорожного знака.
  2. Распознавание: Возьмите локализованный ROI и фактически распознает , а классифицирует как дорожный знак.

Детекторы объектов с глубоким обучением могут выполнять локализацию и распознавание за один прямой проход сети — если вам интересно узнать больше об обнаружении объектов и локализации дорожных знаков с использованием более быстрых R-CNN, детекторов одиночного выстрела (SSD) и RetinaNet, обязательно обратитесь к моей книге Deep Learning for Computer Vision with Python , где я подробно освещаю эту тему.

Проблемы с набором данных GTSRB

В наборе данных GTSRB есть ряд проблем, первая из которых заключается в том, что изображения с низким разрешением и, что еще хуже, имеют плохую контрастность (как видно на рис. 2 выше). Эти изображения являются пиксельными, и в некоторых случаях человеческому глазу и мозгу очень сложно, а то и невозможно распознать знак.

Вторая проблема с набором данных — класс обработки skew:

Рисунок 3: Немецкий набор данных теста распознавания дорожных знаков (GTSRB) является примером несбалансированного набора данных.Мы учтем это при обучении нашего классификатора дорожных знаков с помощью Keras и глубокого обучения. (источник изображения)

Верхний класс (ограничение скорости 50 км / ч) имеет более 2000 примеров, а наименее представленный класс (ограничение скорости 20 км / ч) имеет менее 200 примеров — это разница на порядок!

Чтобы успешно обучить точный классификатор дорожных знаков, нам нужно разработать эксперимент, который может:

  • Предварительно обработайте наши входные изображения для улучшения контраста.
  • Учет перекоса метки класса.

Структура проекта

Используйте раздел «Загрузки» этой статьи, чтобы загрузить исходный код. После загрузки разархивируйте файлы на своем компьютере.

Отсюда мы будем загружать набор данных GTSRB из Kaggle. Просто нажмите кнопку «Загрузить (300 МБ)» в строке меню Kaggle и следуйте инструкциям, чтобы войти в Kaggle, используя одного из сторонних партнеров по аутентификации или свой адрес электронной почты.Затем вы можете еще раз нажать кнопку «Загрузить (300 МБ)» , и загрузка начнется, как показано:

Рисунок 4: Как загрузить набор данных GTSRB из Kaggle для распознавания дорожных знаков с помощью Keras и глубокого обучения.

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

 $ tree --dirsfirst --filelimit 10
. 
├── примеры [25 записей]
├── gtsrb-german-traffic-sign
│ ├── Мета [43 записи]
│ ├── Тест [12631 запись]
│ ├── Поезд [43 записи]
│ ├── мета-1 [43 записи]
│ ├── тест-1 [12631 запись]
│ ├── поезд-1 [43 записи]
│ ├── Мета.csv
│ ├── Test.csv
│ └── Train.csv
├── выход
│ ├── trafficignnet.model
│ │ ├── активы
│ │ ├── переменные
│ │ │ ├── variables.data-00000-of-00002
│ │ │ ├── variables.data-00001-of-00002
│ │ │ └── variables.index
│ │ └── saved_model.pb
│ └── plot.png
├── pyimagesearch
│ ├── __init__.py
│ └── trafficignnet.py
├── train.py
├── signnames.csv
└── pred.py

13 каталогов, 13 файлов
 

Наш проект содержит три основных каталога и один модуль Python:

  • gtsrb-german-traffic-sign / : Наш набор данных GTSRB.
  • output / : Содержит нашу модель вывода и график истории обучения, сгенерированный train.py .
  • examples / : Содержит случайную выборку из 25 аннотированных изображений, сгенерированных predic. py .
  • pyimagesearch : модуль, который включает нашу CNN TrafficSignNet.

Мы также рассмотрим train.py и Forecast.py . Наш обучающий сценарий загружает данные, компилирует модель, обучает и выводит сериализованную модель и выводит изображение на диск.Оттуда наш сценарий прогнозирования генерирует аннотированные изображения для визуальной проверки.

Настройка среды разработки

Для работы с этой статьей вам потребуются следующие пакеты:

  • OpenCV
  • NumPy
  • scikit-learn
  • изображение scikit
  • imutils
  • матплотлиб
  • TensorFlow 2.0 (CPU или GPU)

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

Давайте установим пакеты сейчас, в идеале в виртуальную среду, как показано (вам нужно будет создать среду):

 $ workon traffic_signs
$ pip установить opencv-contrib-python
$ pip install numpy
$ pip установить scikit-learn
$ pip install scikit-image
$ pip install imutils
$ pip install matplotlib
$ pip install tensorflow == 2.0.0 # или tensorflow-gpu
 

Использование pip для установки OpenCV — это самый быстрый и простой способ начать работу с OpenCV.Инструкции по , как создать виртуальную среду , включены в руководство по этой ссылке. Этот метод (в отличие от компиляции из исходных кодов) просто проверяет предварительные условия и помещает предварительно скомпилированный двоичный файл, который будет работать на большинстве систем, в пакеты сайта виртуальной среды. Оптимизация может быть или не быть активной. Просто имейте в виду, что сопровождающий решил не включать запатентованные алгоритмы из-за страха судебных исков. Иногда в PyImageSearch мы используем запатентованные алгоритмы в образовательных и исследовательских целях (есть бесплатные альтернативы, которые вы можете использовать в коммерческих целях).Тем не менее, метод pip — отличный вариант для новичков — просто помните, что у вас нет полной установки. Если вам нужна полная установка, обратитесь к моей странице руководств по установке.

Если вам интересно (1) почему мы используем TensorFlow 2.0 и (2) интересно, почему я не проинструктировал вас установить Keras, вы можете быть удивлены, узнав, что Keras фактически включен как часть TensorFlow сейчас. По общему признанию, брак TensorFlow и Keras построен на интересном прошлом. Обязательно прочтите Keras vs.tf.keras: В чем разница в TensorFlow 2.0? , если вам интересно, почему TensorFlow теперь включает Keras.

Как только ваша среда будет готова к работе, пора поработать над распознаванием дорожных знаков с помощью Keras!

Реализация TrafficSignNet, нашего классификатора дорожных знаков CNN

Рисунок 5: Инфраструктура глубокого обучения Keras используется для создания сверточной нейронной сети (CNN) для классификации дорожных знаков.

Давайте продолжим и реализуем сверточную нейронную сеть для классификации и распознавания дорожных знаков.

Примечание: Не забудьте просмотреть мой учебник по Keras, если вы впервые создаете CNN с помощью Keras.

Я решил назвать этот классификатор TrafficSignNet — откройте файл trafficignnet.py в каталоге проекта и вставьте следующий код:

 # импортируем необходимые пакеты
из tensorflow. keras.models импортировать последовательный
из tensorflow.keras.layers импортировать BatchNormalization
из tensorflow.keras.слои импортировать Conv2D
из tensorflow.keras.layers импорт MaxPooling2D
из tensorflow.keras.layers import Activation
из tensorflow.keras.layers import Flatten
из tensorflow.keras.layers import Dropout
из tensorflow.keras.layers import Dense

класс TrafficSignNet:
@staticmethod
def build (ширина, высота, глубина, классы):
# инициализируем модель вместе с входной формой как
# "каналы последние" и сам размер каналов
model = Последовательный ()
inputShape = (высота, ширина, глубина)
chanDim = -1
 

Наши тс.Импорт keras указан в строках 2-9 . Мы будем использовать преимущества последовательного API Keras для создания нашей TrafficSignNet CNN ( Line 2 ).

Строка 11 определяет наш класс TrafficSignNet , за которым следует Строка 13 , которая определяет наш метод сборки . Метод build принимает четыре параметра: размеры изображения, глубину и количество классов в наборе данных.

Строки 16-19 инициализируют нашу модель Sequential и задают inputShape CNN.

Давайте определим наш CONV => RELU => BN => POOL , набор слоев:

 # CONV => RELU => BN => POOL
model.add (Conv2D (8, (5, 5), padding = "same",
input_shape = inputShape))
model.add (Активация ("relu"))
model.add (BatchNormalization (axis = chanDim))
model. add (MaxPooling2D (размер_пул = (2, 2)))
 

Этот набор слоев использует ядро ​​ 5 × 5 для изучения более крупных функций — это поможет различать разные формы дорожных знаков и цветные пятна на самих дорожных знаках.

Оттуда мы определяем два набора (CONV => RELU => CONV => RELU) * 2 => POOL слоев:

 # первый набор (CONV => RELU => CONV => RELU) * 2 => POOL
model.add (Conv2D (16, (3, 3), padding = "same"))
model.add (Активация ("relu"))
model.add (BatchNormalization (axis = chanDim))
model.add (Conv2D (16, (3, 3), padding = "same"))
model.add (Активация ("relu"))
model.add (BatchNormalization (axis = chanDim))
model.add (MaxPooling2D (размер_пул = (2, 2)))

# второй набор (CONV => RELU => CONV => RELU) * 2 => POOL
модель. add (Conv2D (32, (3, 3), padding = "same"))
model.add (Активация ("relu"))
model.add (BatchNormalization (axis = chanDim))
model.add (Conv2D (32, (3, 3), padding = "same"))
model.add (Активация ("relu"))
model.add (BatchNormalization (axis = chanDim))
model.add (MaxPooling2D (размер_пул = (2, 2)))
 

Эти наборы уровней углубляют сеть, складывая два набора слоев CONV => RELU => BN перед применением max-pooling для уменьшения размерности объема.

Голова нашей сети состоит из двух наборов полностью связанных слоев и классификатора softmax:

 # первый набор слоев FC => RELU
модель.добавить (Flatten ())
model.add (Плотный (128))
model.add (Активация ("relu"))
model. add (BatchNormalization ())
model.add (Выпадение (0,5))

# второй набор слоев FC => RELU
model.add (Сглаживание ())
model.add (Плотный (128))
model.add (Активация ("relu"))
model.add (BatchNormalization ())
model.add (Выпадение (0,5))

# softmax классификатор
model.add (Плотный (классы))
model.add (Активация ("softmax"))

# вернуть построенную сетевую архитектуру
модель возврата
 

Dropout применяется как форма регуляризации, направленная на предотвращение переобучения.В результате часто получается более обобщенная модель.

Строка 54 возвращает нашу модель ; Далее мы скомпилируем и обучим модель в нашем скрипте train.py .

Если вы изо всех сил пытались понять термины в этом классе, обязательно обратитесь к Deep Learning for Computer Vision with Python для концептуальных знаний о типах слоев. My Keras Tutorial также содержит краткий обзор.

Реализация нашего обучающего скрипта

Теперь, когда наша архитектура TrafficSignNet реализована, давайте создадим наш обучающий сценарий Python, который будет отвечать за:

  • Загрузка нашей тренировки и тестирования, разделенной из набора данных GTSRB
  • Предварительная обработка изображений
  • Тренировка нашей модели
  • Оценка точности нашей модели
  • Сериализация модели на диск, чтобы мы могли позже использовать ее для прогнозирования новых данных дорожных знаков

Приступим — открой поезд .py в каталоге проекта и добавьте следующий код:

 # установить бэкэнд matplotlib, чтобы цифры можно было сохранять в фоновом режиме
импортировать matplotlib
matplotlib. use («Агг»)

# импортируем необходимые пакеты
из pyimagesearch.trafficsignnet импорт TrafficSignNet
из tensorflow.keras.preprocessing.image импорт ImageDataGenerator
из tensorflow.keras.optimizers import Adam
из tensorflow.keras.utils импорт в_categorical
из sklearn.metrics импорт классификации_report
из преобразования импорта изображения
от экспозиции импорта скимэджа
из skimage import io
импортировать matplotlib.pyplot как plt
импортировать numpy как np
import argparse
случайный импорт
импорт ОС
 

Строки 2-18 импортируют наши необходимые пакеты:

  • matplotlib : фактический пакет для построения графиков для Python. Мы используем бэкэнд «Agg» , гарантирующий, что мы можем экспортировать наши графики в виде файлов изображений на диск (, строки 2 и 3, ).
  • TrafficSignNet : Наша сверточная нейронная сеть для дорожных знаков, которую мы закодировали с помощью Keras в предыдущем разделе (, строка 6, ).
  • tensorflow.keras : гарантирует, что мы можем обрабатывать увеличение данных, оптимизацию Adam и однократное кодирование ( строки 7–9, ).
  • classification_report : метод scikit-learn для печати удобной оценки для обучения (, строка 10, ).
  • skimage : мы будем использовать scikit-image для предварительной обработки нашего набора данных вместо OpenCV, поскольку scikit-image предоставляет некоторые дополнительные алгоритмы предварительной обработки, которых нет в OpenCV ( Lines 11-13 ).
  • numpy : для массивов и числовых операций (, строка 15, ).
  • argparse : обрабатывает аргументы командной строки синтаксического анализа (, строка 16, ).
  • random : для случайного перемешивания нашего набора данных (, строка 17, ).
  • os : мы будем использовать этот модуль для получения разделителя пути в нашей операционной системе (, строка 18, ).

Давайте продолжим и определим функцию для загрузки наших данных с диска:

 def load_split (basePath, csvPath):
# инициализировать список данных и меток
данные = []
label = []

# загружаем содержимое файла CSV, удаляем первую строку (т.к.
# он содержит заголовок CSV) и перетасуйте строки (в противном случае
# все примеры конкретного класса будут в последовательном порядке)
row = open (csvPath). read (). strip (). split ("\ n") [1:]
random.shuffle (строки)
 

Набор данных GTSRB предварительно разделен на части для обучения и тестирования. Строка 20 определяет load_split для загрузки каждой обучающей группы соответственно. Он принимает путь к базе набора данных, а также путь к файлу .csv , который содержит метку класса для каждого изображения.

Строки 22 и 23 инициализируют наши данные и подписывают списки , которые эта функция вскоре заполнит и вернет.

Строка 28 загружает наш файл .csv , удаляет пробелы и захватывает каждую строку через разделитель новой строки, пропуская первую строку заголовка. Результатом является список из строк , которые затем перемешиваются в случайном порядке Line 29 .

Результат строк 28 и 29 можно увидеть здесь (т.е. если вы должны были напечатать первые три строки в списке с помощью print (rows [: 3]) ):

 ['33, 35,5,5,28,29,13, Поезд / 13 / 00013_00001_00009.png ',
 '36, 36,5,5,31,31,38, Поезд / 38 / 00038_00049_00021.png ',
 '75, 77,6,7,69,71,35, Поезд / 35 / 00035_00039_00024.png ']

 

Формат данных: Ширина, Высота, X1, Y1, X2, Y2, ClassID, Image Path .

Давайте продолжим и переберем строки сейчас и извлечем + предварительно обработаем данные, которые нам нужны:

 # цикл по строкам файла CSV
for (i, row) в enumerate (rows):
# проверяем, должны ли мы показывать обновление статуса
если i> 0 и i% 1000 == 0:
print ("Всего изображений [ИНФОРМАЦИЯ] обработано {}".формат (i))

# разбиваем строку на компоненты, а затем получаем идентификатор класса
# и путь к изображению
(label, imagePath) = row.strip (). split (",") [- 2:]

# получить полный путь к файлу изображения и загрузить его
imagePath = os.path.sep.join ([basePath, imagePath])
изображение = io.imread (imagePath)
 

Строка 32 проходит через строки . Внутри цикла переходим к:

  • Отображать обновление статуса в терминале для каждого 1000-го обработанного изображения ( строки 34 и 35, ).
  • Извлеките ClassID ( метка ) и imagePath из строки ( строка 39 ).
  • Получите полный путь к файлу изображения + загрузите изображение с помощью scikit-image (, строки 42 и 43, ).

Как упоминалось выше в разделе «Проблемы с набором данных GTSRB» , одна из самых больших проблем с набором данных заключается в том, что многие изображения имеют низкую контрастность , , что затрудняет распознавание данного знака человеческим глазом. (не говоря уже о модели компьютерного зрения / глубокого обучения).

Мы можем автоматически улучшать контраст изображения, применяя алгоритм, называемый Contrast Limited Adaptive Histogram Equalization (CLAHE), реализацию которого можно найти в библиотеке scikit-image.

Используя CLAHE, мы можем улучшить контрастность изображений дорожных знаков:

Рисунок 6: В рамках предварительной обработки нашего набора данных GTSRB для классификации дорожных знаков с помощью глубокого обучения мы применяем метод, известный как адаптивное выравнивание гистограммы с ограничением контраста (CLAHE), чтобы улучшить контраст изображения.Исходные изображения входных изображений можно увидеть на левом — обратите внимание, насколько низкий контраст и некоторые знаки не могут быть распознаны. Применяя CLAHE (справа) , мы можем улучшить контраст изображения.

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

Примечание: Большое спасибо Томасу Трейси, который предложил использовать CLAHE для улучшения распознавания дорожных знаков в своей статье 2017 года.

Давайте предварительно обработаем наши изображения, применив CLAHE сейчас:

 # изменить размер изображения до 32x32 пикселей, игнорируя соотношение сторон,
#, а затем выполнить адаптивную гистограмму с ограниченной контрастностью
# Эквализация (CLAHE)
изображение = transform.resize (изображение, (32, 32))
изображение = экспозиция.equalize_adapthist (изображение, clip_limit = 0.1)

# обновить список данных и меток соответственно
data.append (изображение)
label.append (int (метка))

# преобразовываем данные и метки в массивы NumPy
данные = np.массив (данные)
метки = np.array (метки)

# вернуть кортеж данных и меток
возврат (данные, метки)
 

Чтобы завершить цикл по строкам , мы:

  • Измените размер изображения до 32 × 32 пикселей (, строка 48, ).
  • Примените коррекцию контрастности изображения CLAHE ( Line 49 ).
  • Обновление данных Ярлыки и списки с изображением самого и ярлыком класса ( строки 52 и 53 ).

Затем Строки 56-60 преобразуют данные и метки в массивы NumPy, а вернут их вызывающей функции.

Определив нашу функцию load_split , мы можем перейти к синтаксическому анализу аргументов командной строки:

 # создать анализатор аргументов и проанализировать аргументы
ap = argparse.ArgumentParser ()
ap.add_argument ("- d", "--dataset", required = True,
help = "путь к входу GTSRB")
ap.add_argument ("- m", "--model", required = True,
help = "путь к выходной модели")
ap.add_argument ("- p", "--plot", type = str, default = "plot.png",
help = "путь к сюжету истории обучения")
args = vars (ap.parse_args ())
 

Наши три аргумента командной строки состоят из:

  • --dataset : путь к нашему набору данных GTSRB.
  • --model : желаемый путь / имя файла нашей выходной модели.
  • --plot : Путь к сюжету нашей истории тренировок.

Давайте инициализируем несколько гиперпараметров и загрузим имена меток наших классов:

 # инициализировать количество эпох для тренировки, базовую скорость обучения,
# и размер партии
NUM_EPOCHS = 30
INIT_LR = 1e-3
BS = 64

# загружаем названия ярлыков
labelNames = open ("подписи.csv "). read (). strip (). split (" \ n ") [1:]
labelNames = [l.split (",") [1] для l в labelNames]
 

Строки 74-76 инициализируют количество эпох для обучения, нашу начальную скорость обучения и размер пакета.

Строки 79 и 80 загружают класс labelNames из файла .csv . Ненужная разметка в файле автоматически удаляется.

А теперь давайте загрузим + предварительно обработаем наши данные:

 # получить путь к файлам CSV для обучения и тестирования
trainPath = os.path.sep.join ([args ["набор данных"], "Train.csv"])
testPath = os.path.sep.join ([args ["набор данных"], "Test.csv"])

# загрузить данные обучения и тестирования
print ("[ИНФОРМАЦИЯ] загрузка данных обучения и тестирования ...")
(trainX, trainY) = load_split (args ["набор данных"], trainPath)
(testX, testY) = load_split (args ["набор данных"], testPath)

# масштабировать данные до диапазона [0, 1]
trainX = trainX.astype ("float32") / 255,0
testX = testX.astype ("float32") / 255,0

# one-hot кодируйте метки обучения и тестирования
numLabels = len (np.unique (trainY))
trainY = to_categorical (trainY, numLabels)
testY = to_categorical (testY, numLabels)

# учтите перекос в помеченных данных
classTotals = trainY.сумма (ось = 0)
classWeight = classTotals.max () / classTotals
 

В этом блоке мы:

  • Вывести пути к разделам обучения и тестирования (, строки 83 и 84, ).
  • Используйте нашу функцию load_split для загрузки каждого из разделов обучения / тестирования соответственно ( строки 88 и 89, ).
  • Предварительно обработайте изображения, масштабируя их до диапазона [0, 1] ( строки 92 и 93, ).
  • Быстрое кодирование этикеток классов обучения / тестирования ( строки 96-98, ).
  • Учитывайте перекос в нашем наборе данных (то есть тот факт, что у нас на значительно больше изображений на для одних классов, чем для других). Строки 101 и 102 присваивают вес каждому классу для использования во время тренировки.

Отсюда мы подготовим и обучим нашу модель :

 # построить генератор изображений для увеличения данных
aug = ImageDataGenerator (
диапазон_ вращения = 10,
zoom_range = 0,15,
width_shift_range = 0,1,
height_shift_range = 0,1,
shear_range = 0.15,
horizontal_flip = Ложь,
vertical_flip = Ложь,
fill_mode = "ближайший")

# инициализируем оптимизатор и компилируем модель
print ("[ИНФОРМАЦИЯ] компилирующая модель ...")
opt = Адам (lr = INIT_LR, распад = INIT_LR / (NUM_EPOCHS * 0,5))
model = TrafficSignNet.build (ширина = 32, высота = 32, глубина = 3,
классы = numLabels)
model.compile (loss = "category_crossentropy", optimizer = opt,
метрики = ["точность"])

# обучаем сеть
print ("[ИНФОРМАЦИЯ] обучающая сеть ...")
H = model.fit_generator (
aug.flow (trainX, trainY, batch_size = BS),
validation_data = (testX, testY),
steps_per_epoch = trainX.shape [0] // BS,
эпохи = NUM_EPOCHS,
class_weight = classWeight,
подробный = 1)
 

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

Строки 117-121 компилируют нашу модель TraffigSignNet с оптимизатором Adam и снижением скорости обучения.

Строки 125–131 обучают модель с использованием метода Кераса fit_generator . Обратите внимание, что параметр class_weight передается, чтобы учесть перекос в нашем наборе данных.

Далее мы оценим модель и сериализуем ее на диск:

 # оцениваем сеть
print ("[ИНФОРМАЦИЯ] оценка сети ...")
прогнозы = model.predict (testX, batch_size = BS)
печать (отчет_классификации (testY.argmax (ось = 1),
predictions.argmax (ось = 1), target_names = labelNames))

# сохраняем сеть на диск
print ("[ИНФОРМАЦИЯ] сериализует сеть в '{}'... ". format (args [" модель "]))
model.save (args ["модель"])
 

Строка 135 оценивает модель на испытательном наборе. Оттуда , строки 136 и 137, распечатывают отчет о классификации в терминале.

Строка 141 сериализует модель Keras на диск, чтобы мы могли позже использовать ее для вывода в нашем сценарии прогнозирования.

Наконец, следующий блок кода строит кривые точности / потерь обучения и экспортирует график в файл изображения на диске:

 # построить график потерь при обучении и точности
N = np.arange (0; NUM_EPOCHS)
plt.style.use ("ggplot")
plt.figure ()
plt.plot (N, H.history ["потеря"], label = "train_loss")
plt.plot (N, H.history ["val_loss"], label = "val_loss")
plt.plot (N, H.history ["точность"], label = "train_acc")
plt.plot (N, H.history ["val_accuracy"], label = "val_acc")
plt.title («Потери при обучении и точность в наборе данных»)
plt.xlabel ("Эпоха №")
plt.ylabel («Потеря / Точность»)
plt.legend (loc = "нижний левый")
plt.savefig (args ["сюжет"])
 

Обратите особое внимание на то, что TensorFlow 2.0 переименовал ключи истории обучения:

  • H.history ["acc"] теперь H.history ["точность"] .
  • H.history ["val_acc"] теперь H.history ["val_accuracy"] .

На этом этапе вы должны использовать TensorFlow 2.0 (со встроенным Keras), но если вы этого не сделаете, вы можете изменить названия клавиш (, строки 149 и 150, ).

Лично я до сих пор не понял, почему разработчики TensorFlow внесли изменение, указав «точность», но не объяснив «проверка».Мне это кажется нелогичным. Тем не менее, все фреймворки и кодовые базы имеют определенные нюансы, с которыми нам нужно научиться справляться.

Обучение TrafficSignNet на наборе данных дорожных знаков

Для обучения нашей модели классификации дорожных знаков убедитесь, что у вас есть:

  1. Использовал раздел «Загрузки» данного руководства для загрузки исходного кода.
  2. Следуйте приведенному выше разделу «Структура проекта» , чтобы загрузить наш набор данных о дорожных знаках.

Оттуда откройте терминал и выполните следующую команду:

 $ python train.py --dataset gtsrb-german-traffic-sign \
--model output / trafficignnet.model --plot output / plot.png
[INFO] загрузка данных обучения и тестирования ...
[ИНФОРМАЦИЯ] составление модели ...
[ИНФОРМАЦИЯ] обучающая сеть ...
Эпоха 1/30
612/612 [==============================] - 49 с 81 мс / шаг - потеря: 2.6584 - точность: 0.2951 - val_loss : 2.1152 - val_accuracy: 0.3513
Эпоха 2/30
612/612 [==============================] - 47 с 77 мс / шаг - потеря: 1.3989 - точность: 0,5558 - val_loss: 0,7909 - val_accuracy: 0,7417
Эпоха 3/30
612/612 [==============================] - 48 с 78 мс / шаг - потеря: 0,9402 - точность: 0,6989 - val_loss : 0.5147 - val_accuracy: 0.8302
Эпоха 4/30
612/612 [==============================] - 47 с 76 мс / шаг - потеря: 0,6940 - точность: 0,7759 - val_loss : 0.4559 - val_accuracy: 0.8515
Эпоха 5/30
612/612 [==============================] - 47 с 76 мс / шаг - потеря: 0,5521 - точность: 0,8219 - val_loss : 0.3004 - val_accuracy: 0.9055
...Эпоха 26/30
612/612 [==============================] - 46 с 75 мс / шаг - потеря: 0,1213 - точность: 0,9627 - val_loss : 0.7386 - val_accuracy: 0.8274
Эпоха 27/30
612/612 [==============================] - 46 с 75 мс / шаг - потеря: 0,1175 - точность: 0,9633 - val_loss : 0.1931 - val_accuracy: 0.9505
Эпоха 28/30
612/612 [==============================] - 46 с 75 мс / шаг - потеря: 0,1101 - точность: 0,9664 - val_loss : 0.1553 - val_accuracy: 0.9575
Эпоха 29/30
612/612 [==============================] - 46 с 76 мс / шаг - потеря: 0.1098 - точность: 0,9662 - val_loss: 0,1642 - val_accuracy: 0,9581
Эпоха 30/30
612/612 [==============================] - 47 с 76 мс / шаг - потеря: 0,1063 - точность: 0,9684 - val_loss : 0.1778 - val_accuracy: 0.9495
[INFO] оценка сети ...
                               точный отзыв поддержка f1-score
         Ограничение скорости (20 км / ч) 0,94 0,98 0,96 60
         Ограничение скорости (30 км / ч) 0,96 0,97 0,97 720
         Ограничение скорости (50 км / ч) 0,95 0.98 0,96 750
         Ограничение скорости (60 км / ч) 0,98 0,92 0,95 450
         Ограничение скорости (70 км / ч) 0,98 0,96 0,97 660
         Ограничение скорости (80 км / ч) 0,92 0,93 0,93 630
  Конец ограничения скорости (80 км / ч) 0,96 0,87 0,91 150
        Ограничение скорости (100 км / ч) 0,93 0,94 0,93 450
        Ограничение скорости (120 км / ч) 0,90 0,99 0,94 450
                   Нет 1,00 0,97 0.98 480
 Без попутного транспорта более 3,5 тонн 1,00 0,96 0,98 660
 Право отвода на перекрестке 0,95 0,93 0,94 420
                Дорога приоритетная 0,99 0,99 0,99 690
                        Доходность 0,98 0,99 0,99 720
                         Стоп 1.00 1.00 1.00 270
                  Нет транспортных средств 0,99 0,90 0,95 210
    Veh> 3,5 тонны запрещены 0,97 0,99 0,98 150
                     Нет записи 1.00 0,94 0,97 360
              Общие предостережения 0,98 0,77 0,86 390
         Опасный изгиб слева 0,75 0,60 0,67 60
        Опасный изгиб вправо 0,69 1,00 0,81 90
                 Двойная кривая 0,76 0,80 0,78 90
                   Неровная дорога 0,99 0,78 0,87 120
                Скользкая дорога 0,66 0,99 0,79 150
    Дорога сужается справа 0,80 0.97 0,87 90
                    Дорожные работы 0,94 0,98 0,96 480
              Светофоры 0,87 0,95 0,91 180
                  Пешеходы 0,46 0,55 0,50 60
            Детский переход 0,93 0,94 0,94 150
            Велосипедный переход 0,92 0,86 0,89 90
           Остерегайтесь льда / снега 0,88 0,75 0,81 150
        Переход диких животных 0,98 0,95 0.96 270
   Конечная скорость + пределы прохождения 0,98 0,98 0,98 60
             Поверните направо 0,97 1,00 0,98 210
              Впереди поверните налево 0,98 1,00 0,99 120
                   Только впереди 0,99 0,97 0,98 390
         Идите прямо или направо 1,00 1,00 1,00 120
          Двигайтесь прямо или налево 0,92 1,00 0,96 60
                   Держитесь правее 0,99 1,00 0,99 690
                    Держитесь левой стороны 0.97 0,96 0,96 90
         Круговое движение обязательно 0,90 0,99 0,94 90
            Конец запрета на передачу 0,90 1,00 0,94 60
Конец без прохода> 3,5 тонны 0,91 0,89 0,90 90

                     точность 0,95 12630
                    макрос ср. 0,92 0,93 0,92 12630
                 средневзвешенная 0,95 0,95 0,95 12630

[ИНФОРМАЦИЯ] сериализация сети для вывода / trafficignnet.модель'...
 

Примечание: Некоторые имена классов были сокращены для удобства чтения в блоке вывода клемм.

Рисунок 7: Keras и глубокое обучение используются для обучения классификатора дорожных знаков.

Здесь вы можете видеть, что мы получаем 95% точности на нашем испытательном комплекте!

Реализация нашего сценария прогнозирования

Теперь, когда наша модель распознавания дорожных знаков обучена, давайте узнаем, как:

  1. Загрузить модель с диска
  2. Загрузить образцы изображений с диска
  3. Предварительно обработайте образцы изображений так же, как мы делали для обучения
  4. Пропустите наши изображения через наш классификатор дорожных знаков
  5. Получите наши окончательные прогнозы результатов

Для достижения этих целей нам нужно будет проверить содержимое прогноз.py :

 # импортируем необходимые пакеты
из tensorflow.keras.models import load_model
из преобразования импорта изображения
от экспозиции импорта скимэджа
из skimage import io
из путей импорта imutils
импортировать numpy как np
import argparse
импорт imutils
случайный импорт
импорт cv2
импорт ОС
 

Строки 2-12 импортируют наши необходимые пакеты, модули и функции. В частности, мы импортируем load_model из tensorflow.keras.models , гарантируя, что мы можем загрузить нашу сериализованную модель с диска.Вы можете узнать больше о сохранении и загрузке моделей Keras здесь.

Мы будем использовать scikit-image для предварительной обработки наших изображений, как мы это делали в нашем обучающем скрипте.

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

Давайте проанализируем аргументы нашей командной строки:

 # конструируем аргумент, разбираем и разбираем аргументы
ap = argparse.ArgumentParser ()
ap.add_argument ("- m", "--model", required = True,
help = "путь к предварительно обученному распознавателю дорожных знаков")
ap.add_argument ("- i", "--images", required = True,
help = "путь к тестовой директории, содержащей изображения")
ap.add_argument ("- e", "--examples", required = True,
help = "путь к каталогу выходных примеров")
args = vars (ap.parse_args ())
 

Строки 15-22 анализируют три аргумента командной строки:

  • --model : путь к сериализованной модели распознавателя дорожных знаков Keras на диске (мы обучили модель в предыдущем разделе).
  • --images : путь к каталогу с тестовыми изображениями.
  • --examples : Наш путь к каталогу, в котором будут храниться наши аннотированные выходные изображения.

С каждым из этих путей в словаре args мы готовы продолжить:

 # загрузить модель распознавателя дорожных знаков
print ("[ИНФОРМАЦИЯ] загружает модель ...")
model = load_model (args ["модель"])

# загружаем названия ярлыков
labelNames = open ("signnames.csv"). read (). strip (). split ("\ n") [1:]
labelNames = [l.split (",") [1] для l в labelNames]

# возьмите пути к входным изображениям, перемешайте их и возьмите образец
print ("[ИНФОРМАЦИЯ] прогноз... ")
imagePaths = list (paths.list_images (args ["images"]))
random.shuffle (imagePaths)
imagePaths = imagePaths [: 25]
 

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

Строки 29 и 30 загружают и анализируют labelNames класса .

Строки 34–36 захватывают пути к входным изображениям, перемешивают их и захватывают 25 образцов изображений .

Теперь пройдемся по семплам:

 # цикл по путям изображения
для (i, imagePath) в перечислении (imagePaths):
# загружаем изображение, изменяем его размер до 32x32 пикселей, а затем применяем
# Контрастное ограничение адаптивного выравнивания гистограммы (CLAHE),
# как и во время тренировки
изображение = io.imread (imagePath)
изображение = transform.resize (изображение, (32, 32))
изображение = экспозиция.equalize_adapthist (изображение, clip_limit = 0.1)

# предварительно обрабатываем изображение, масштабируя его до диапазона [0, 1]
image = image.astype ("float32") / 255,0
image = np.expand_dims (изображение, ось = 0)

# делать прогнозы с помощью распознавателя дорожных знаков CNN
preds = model.predict (изображение)
j = preds.argmax (axis = 1) [0]
label = labelNames [j]

# загружаем изображение с помощью OpenCV, изменяем его размер и рисуем метку
# в теме
изображение = cv2.imread (imagePath)
изображение = imutils.изменить размер (изображение, ширина = 128)
cv2.putText (изображение, метка, (5, 15), cv2.FONT_HERSHEY_SIMPLEX,
0,45, (0, 0, 255), 2)

# сохраняем изображение на диск
p = os.path.sep.join ([args ["примеры"], "{} .png" .format (i)])
cv2.imwrite (p, изображение)
 

Внутри нашего цикла по imagePaths (начиная с Line 39 ) мы:

  • Загрузите входное изображение с изображением scikit (, строка 43, ).
  • Предварительно обработайте изображение таким же образом, как мы делали для обучающих данных ( строки 44-48 ). абсолютно важно, предварительно обработать наши изображения так же, как мы делали для обучения, включая (1) изменение размера, (2) регулировку контраста CLAHE и (3) масштабирование до диапазона [0, 1] . Если мы не будем проводить предварительную обработку данных тестирования так же, как данные обучения , тогда наши прогнозы модели не будут иметь смысла.
  • Добавьте размер к изображению - мы выполним вывод для пакета размером 1 (, строка 49, ).
  • Сделайте прогноз и возьмите метку класса с наибольшей вероятностью ( строки 52-54 ).
  • Используя OpenCV, мы загружаем, изменяем размер, аннотируем изображение меткой и записываем выходное изображение на диск ( строки 58-65, ).

Этот процесс повторяется для всех 25 образцов изображений.

Прогнозы по данным дорожных знаков

Чтобы делать прогнозы по данным дорожных знаков с использованием нашей обученной модели TrafficSignNet , убедитесь, что вы использовали раздел «Загрузки» этого руководства для загрузки исходного кода и предварительно обученной модели.

Оттуда откройте терминал и выполните следующую команду:

 $ python predics.py --model output / trafficignnet.model \
--images gtsrb-german-traffic-sign / Test \
--examples примеры
[INFO] загрузка модели ...
[ИНФОРМАЦИЯ] прогноз ...
 
Рисунок 8: Результаты классификации дорожных знаков методом глубокого обучения Keras.

Как видите, наш классификатор дорожных знаков правильно распознает наши входные дорожные знаки!

Где я могу узнать больше о распознавании дорожных знаков?

Рисунок 9: В моей книге по глубокому обучению я рассмотрю несколько методов обнаружения объектов.На самом деле я рассказываю, как построить CNN, обучить CNN и сделать выводы. Не говоря уже об основах глубокого обучения, передовых практиках и моем личном наборе практических правил. Возьмите копию сейчас, чтобы начать изучать новые навыки.

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

Однако в реальном мире распознавание дорожных знаков на самом деле является проблемой , , обнаружение объекта, .

Обнаружение объекта позволяет не только распознавать дорожный знак, но также локализовать , где во входном кадре дорожный знак.

Процесс обнаружения объекта , а не , такой простой и понятный, как классификация изображений. На самом деле далеко, намного сложнее - детали и тонкости выходят за рамки сообщения в блоге.Однако они находятся в рамках моей книги по глубокому обучению .

Если вы хотите узнать, как:

  1. Подготовка и аннотирование собственных наборов данных изображений для обнаружения объектов
  2. Точная настройка и обучение ваших собственных детекторов объектов, включая Faster R-CNN, SSD и RetinaNet на ваших собственных наборах данных
  3. Ознакомьтесь с моими лучшими практиками, методами и процедурами, которые можно использовать при обучении ваших собственных детекторов объектов глубокого обучения

… тогда обязательно взгляните на мою новую книгу по глубокому обучению. Внутри Deep Learning for Computer Vision with Python , я пошагово расскажу вам о создании собственных детекторов объектов глубокого обучения.

Вы научитесь копировать мои собственные эксперименты:

  • Обучение более быстрой R-CNN с нуля до локализация и распознают 47 типов дорожных знаков.
  • Обучение детектора одиночного выстрела (SSD) на наборе данных из видов автомобилей спереди и сзади.
  • Распознавание знакомых логотипов продуктов на изображениях с использованием пользовательской модели RetinaNet.
  • Создание системы обнаружения оружия с использованием RetinaNet, способной обнаруживать видеообъекты в реальном времени.

Не забудьте взглянуть на - и не забудьте взять с собой бесплатные образцы глав + оглавление PDF, пока вы там!

Сводка

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

Для создания классификатора дорожных знаков мы:

  • В качестве набора данных мы использовали популярный немецкий тест распознавания дорожных знаков (GTSRB).
  • Реализовал сверточную нейронную сеть под названием TrafficSignNet с использованием библиотеки глубокого обучения Keras.
  • Обучил TrafficSignNet на наборе данных GTSRB, получив с точностью 95% .
  • Создал скрипт Python, который загружает нашу обученную модель TrafficSignNet , а затем классифицирует новые входные изображения.

Надеюсь, вам понравился сегодняшний пост о классификации дорожных знаков с помощью Keras!

Если вы хотите узнать больше об обучении собственных пользовательских моделей глубокого обучения распознаванию и обнаружению дорожных знаков, обязательно обратитесь к Deep Learning for Computer Vision with Python , где я более подробно рассмотрю эту тему.

Чтобы загрузить исходный код этого поста (и получать уведомления о публикации будущих руководств на PyImageSearch), просто введите свой адрес электронной почты в форму ниже!

Загрузите исходный код и БЕСПЛАТНОЕ 17-страничное руководство по ресурсам

Введите свой адрес электронной почты ниже, чтобы получить ZIP-архив кода и БЕСПЛАТНОЕ 17-страничное руководство по компьютерному зрению, OpenCV и глубокому обучению . Внутри вы найдете мои тщательно отобранные учебники, книги, курсы и библиотеки, которые помогут вам освоить CV и DL!

Информационные знаки | Дорожные знаки: Россия

Переключить навигацию Правила дорожного движения.com английский
  • Язык
  • Английский
  • Nederlands
  • Français
Россия
  • Европа
  • Австрия
  • Бельгия
  • Босния и Герцеговина
  • чешский язык
  • Дания
  • Финляндия
  • Франция
  • Германия
  • Греция
  • Венгрия
  • Исландия
  • Ирландия
  • Италия
  • Нидерланды
  • Норвегия
  • Польша
  • Португалия
  • Румыния
  • Россия
  • Сербия
  • Словакия
  • Словения
  • Испания
  • Швеция
  • Швейцария
  • индюк
  • Украина
  • Соединенное Королевство
  • Северная Америка
  • Канада
  • Мексика
  • Панама
  • Соединенные Штаты
  • Южная Америка
  • Аргентина
  • Бразилия
  • Чили
  • Колумбия
  • Перу
  • Уругвай
  • Азия
  • Бангладеш
  • Китай
  • Индия
  • Индонезия
  • Япония
  • Малайзия
  • Непал
  • Филиппины
  • Таиланд
  • Австралия
  • Австралия

Предупреждающие знаки | Дорожные знаки: Россия

Переключить навигацию Правила дорожного движения.com английский
  • Язык
  • Английский
  • Nederlands
  • Français
Россия
  • Европа
  • Австрия
  • Бельгия
  • Босния и Герцеговина
  • чешский язык
  • Дания
  • Финляндия
  • Франция
  • Германия
  • Греция
  • Венгрия
  • Исландия
  • Ирландия
  • Италия
  • Нидерланды
  • Норвегия
  • Польша
  • Португалия
  • Румыния
  • Россия
  • Сербия
  • Словакия
  • Словения
  • Испания
  • Швеция
  • Швейцария
  • индюк
  • Украина
  • Соединенное Королевство
  • Северная Америка
  • Канада
  • Мексика
  • Панама
  • Соединенные Штаты
  • Южная Америка
  • Аргентина
  • Бразилия
  • Чили
  • Колумбия
  • Перу
  • Уругвай
  • Азия
  • Бангладеш
  • Китай
  • Индия
  • Индонезия
  • Япония
  • Малайзия
  • Непал
  • Филиппины
  • Таиланд
  • Австралия
  • Австралия

Информационные знаки | Дорожные знаки: Португалия

Переключить навигацию Правила дорожного движения.com английский
  • Язык
  • Английский
  • Nederlands
  • Français
Португалия
  • Европа
  • Австрия
  • Бельгия
  • Босния и Герцеговина
  • чешский язык
  • Дания
  • Финляндия
  • Франция
  • Германия
  • Греция
  • Венгрия
  • Исландия
  • Ирландия
  • Италия
  • Нидерланды
  • Норвегия
  • Польша
  • Португалия
  • Румыния
  • Россия
  • Сербия
  • Словакия
  • Словения
  • Испания
  • Швеция
  • Швейцария
  • индюк
  • Украина
  • Соединенное Королевство
  • Северная Америка
  • Канада
  • Мексика
  • Панама
  • Соединенные Штаты
  • Южная Америка
  • Аргентина
  • Бразилия
  • Чили
  • Колумбия
  • Перу
  • Уругвай
  • Азия
  • Бангладеш
  • Китай
  • Индия
  • Индонезия
  • Япония
  • Малайзия
  • Непал
  • Филиппины
  • Таиланд
  • Австралия
  • Австралия

Информационные знаки - Дорожные знаки Великобритании

914 916 916 916 916 916 91 416

Traffic - Дорожные знаки США

Информационные знаки
Вход в зону контролируемой парковки Въезд в зону оплаты заторов Конец зоны контролируемой парковки Предварительное предупреждение об ограничении или запрете впереди
Парковка для одиночных мотоциклов Полоса движения для автобусов, по которой велосипеды с педалями и такси могут также использовать Полоса, предназначенная для использования транспортных средств с высокой посещаемостью (HOV) Транспортные средства, которым разрешено движение по полосе HOV впереди
Конец автомагистрали Начало автомагистрали и точка, с которой применяются правила автомагистрали Соответствующие полосы движения на перекрестке впереди Движение на основной проезжей части, идущее справа, имеет приоритет перед движением на стыковке
Дополнительный транспортный поток присоединяется слева впереди.Движение на основной проезжей части имеет приоритет перед присоединением к движению с правой полосы съезда Движение по правой полосе съезда с главной проезжей части имеет приоритет над левой полосой Маркеры обратного отсчета на выезде с автомагистрали (каждая полоса представляет 100 ярдов до выход). Знак зоны обслуживания автомагистрали с указанием имени оператора
Движение имеет приоритет перед встречным транспортом Больница впереди для транспортных средств Пункты аварийной и экстренной помощи 914 Пункты туристической информации № 914 дорога
Рекомендуемый маршрут для велосипедных циклов Въезд в домашнюю зону Зона, в которой камеры используются для обеспечения соблюдения правил дорожного движения Автобусная полоса на дороге на перекрестке 9148 9148
Знак аэропорта 18 "x18"

Наша цена: 38 $.00


Светоотражающий алюминиевый знак инженерного класса 18 x 18 дюймов. Знак общей информации для аэропорта (I-5).
Знак аэропорта 24 "x24"

Наша цена: 45 $.65


Светоотражающий алюминиевый знак инженерного класса 24 "x 24". Знак общей информации для аэропорта (I-5).
Знак аэропорта 30 "x30"

Наша цена: 65 $.00


30 "x 30" Инженерный светоотражающий алюминиевый знак. Знак общей информации для аэропорта (I-5).
Знаки государственной дороги АК 24 "x24"

Наша цена: 70 $.00


Знаки дороги штата Аляска (M1-5). Вы вводите номер маршрута. Размер 24 дюйма квадратной формы.
Маршрутные знаки штата AL 24 "x24"

Наша цена: 70 $.00


Знаки дороги штата Алабама (M1-5). Вы вводите номер маршрута. Размер 24 дюйма квадратной формы.
Знак ALT

Наша цена: 35 $.00


Алюминиевый светоотражающий знак инженерного класса .080 (M4-1A). Выберите из 4 различных цветовых комбинаций.
Альтернативный знак

Наша цена: 35 $.00


Алюминиевый светоотражатель инженерного класса .080 Альтернативный знак (M4-1). Выберите из 4 различных цветовых комбинаций.
Маршрутные знаки штата AR 24 "x24"

Наша цена: 70 $.00


Знаки дороги штата Арканзас (M1-5). Вы вводите номер маршрута. Размер 24 дюйма квадратной формы.
Синяя стрелка влево или вправо - 24 "x6"

Наша цена: 22 $.00

Цена со скидкой: 18,95 $

Вы экономите 3,05 $!


24 дюйма x 6 дюймов, алюминий инженерного класса 0,080, синяя отражающая стрелка влево или вправо.
Зеленая стрелка влево или вправо - 24 "x6"

Наша цена: 22 $.00

Цена со скидкой: 18,95 $

Вы экономите 3,05 $!


24 дюйма x 6 дюймов, алюминий инженерного класса .080, зеленая отражающая стрелка влево или вправо.
Предельная масса оси в тоннах 18 x 24 дюйма

Наша цена: 39 $.00


18 "x 24" Алюминиевый знак ограничения веса на ось с высокой интенсивностью или отражающей способностью. Вам необходимо ввести необходимое количество тонн.
Предельная масса оси в тоннах 24 "x 30"

Наша цена: 57 $.00


24 "x 30" Инженерный класс или высокоинтенсивный отражающий вес оси в тоннах. Вам необходимо ввести необходимое количество тонн.
Дорожные знаки штата Аризона 24 "x24"

Наша цена: 70 $.00


Знаки дороги штата Аризона (M1-5). Вы вводите номер маршрута. Размер 24 дюйма квадратной формы.
Начать знак

Наша цена: 35 $.00


Светоотражающий знак Begin (M4-14) из алюминия инженерного класса .080. Выберите из 4 различных цветовых комбинаций.
Знаки велосипедных маршрутов 18 x 24 дюйма

Наша цена: 50 $.00


Знак Велосипедного маршрута (M1-8). Вы вводите номер маршрута. Размер 18 х 24 дюйма.
Знаки велосипедного маршрута 24 "x30"

Наша цена: 65 $.00


Знак Велосипедного маршрута (M1-8). Вы вводите номер маршрута. Размер 24 x 30 дюймов.
Знаки велосипедных маршрутов 24 "x18"

Наша цена: 39 долларов.00

Цена со скидкой: 35,00 $

Вы экономите 4,00 $!


Призматический отражающий алюминиевый знак инженерного класса 24 "x 18". Знаки Велосипедного маршрута (D11-1) должны быть установлены в точках принятия решения вдоль обозначенных велосипедных маршрутов.
Знаки велосипедных маршрутов 30 "x24"

Наша цена: 59 $.00


30 "x 24" Инженерный светоотражающий алюминиевый знак. Знаки Велосипедного маршрута (D11-1) должны быть установлены в точках принятия решения вдоль обозначенных велосипедных маршрутов.
Пристегнитесь, это знак безопасности закона

Наша цена: 39 долларов.00

Цена со скидкой: 35,00 $

Вы экономите 4,00 $!


Этот знак используется для предупреждения автомобилистов о необходимости пристегнуться в целях безопасности. Призматический светоотражающий знак инженерного класса 18 x 24 дюйма из алюминия. Пристегнись, это закон.
Знаки автовокзала 18 "x18"

Наша цена: 38 $.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *