Распознавание предупредительного знака трафика

Этот пример показывает, как распознать, что предупредительные знаки трафика, такие как Остановка, Не Входят, и Урожай, в цветной видео последовательности.

См. пример Распознавания Предупредительного знака Трафика.

Модель в качестве примера

Следующие данные показывают модель Traffic Warning Sign Recognition:

Шаблоны предупредительного знака трафика

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

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

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

Окно Detection Templates показывает шаблоны обнаружения предупредительного знака трафика.

Окно Recognition Templates показывает шаблоны распознавания предупредительного знака трафика.

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

Обнаружение

Пример анализирует каждый кадр видео в цветовом пространстве YCbCr. Пороговой обработкой и выполнением морфологических операций на канале Cr, пример извлекает фрагменты кадра видео, которые содержат блобы красных пикселей. Используя блок Blob Analysis, пример находит пиксели и ограничительную рамку для каждого блоба. Пример затем сравнивает блоб с каждым шаблоном обнаружения предупредительного знака. Если блоб подобен какому-либо из шаблонов обнаружения предупредительного знака трафика, это - потенциальный предупредительный знак трафика.

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

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

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

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

Отображение

После того, как потенциальный знак был обнаружен в 4 или больше кадрах видео, пример использует блок Draw Shape, чтобы чертить желтый прямоугольник вокруг этого. Когда знак был распознан, пример использует блок Insert Text, чтобы написать имя знака на видеопотоке. Пример использует термин 'Тег', чтобы указать на порядок, в котором обнаруживается знак.

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