exponenta event banner

Распознавание знака предупреждения о дорожном движении

В этом примере показано, как распознавать в цветной видеопоследовательности предупреждающие знаки, такие как «Стоп», «Не вводить» и «Выход».

Смотрите пример распознавания предупреждающих знаков трафика.

Пример модели

На следующем рисунке показана модель распознавания предупреждающих знаков трафика:

Шаблоны знаков предупреждения о трафике

В примере используется два набора шаблонов - один для обнаружения, а другой для распознавания.

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

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

В окне Detection Templates отображаются шаблоны обнаружения предупреждающих знаков трафика.

В окне Recognition Templates отображаются шаблоны распознавания предупреждающих знаков трафика.

Шаблоны были созданы с использованием vipwarningsigns_templates.m и сохранены в vipwarningsigns_templates.mat.

Обнаружение

В примере анализируется каждый видеокадр в цветовом пространстве YCbCr. Посредством пороговой обработки и выполнения морфологических операций на Cr-канале пример извлекает части видеокадра, которые содержат блобы красных пикселей. С помощью блока «Анализ больших двоичных объектов» в примере для каждого большого двоичного объекта определяются пикселы и ограничительная рамка. Затем пример сравнивает большой двоичный объект с каждым шаблоном обнаружения предупреждающего знака. Если большой двоичный объект подобен любому из шаблонов обнаружения предупреждающих знаков трафика, он является потенциальным предупреждающим знаком трафика.

Отслеживание и распознавание

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

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

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

Показ

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

Результаты распознавания сигнальных знаков