Детектирование дорожных знаков при помощи компьютерного зрения

УДК 004.932

М. В. Медведев, А. П. Кирпичников, Т. А. Синичкина ДЕТЕКТИРОВАНИЕ ДОРОЖНЫХ ЗНАКОВ ПРИ ПОМОЩИ КОМПЬЮТЕРНОГО ЗРЕНИЯ

Ключевые слова: дорожные знаки, контурный анализ, распознавание образов, метод Кенни, метод Хафа.

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

Keywords: traffic signs, contour analysis, pattern recognition, Canny method, Hough transform.

In the article traffic signs detection with the help of computer vision is considered. The method is based on contour analysis using Canny method, lines detection with the help of Hough transform, descriptor of traffic sign construction with the help of angles between concurrent straight lines of traffic signs and the ratio of their length calculation. Descriptor matching is executed using the distances between lists calculation.

В настоящие время стала актуальна задача построения систем автоматического

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

С точки зрения детектирования и распознавания дорожные знаки являются довольно простыми объектами. Кроме того, вид и форма дорожных знаков определяется государственным стандартом ГОСТ Р 52290—2004 [1]. Согласно классификации подходов к распознаванию дорожных знаков, приведенной в [2], различают методы распознавания дорожных знаков на основе цвета, методы распознавания дорожных знаков на основе формы и методы распознавания дорожных знаков на основе машинного обучения.

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

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

сложности формирования признакового описания на основе полученных контуров знака.

Алгоритм методов распознавания дорожных знаков на основе машинного обучения заключается в построении обучающей выборки, содержащей изображения дорожных знаков, полученные при различных погодных условиях и времени суток, и обучении классификатора на этой выборке. Чаще всего в качестве классификатора используется классификатор Виолы-Джонса, который поначалу применялся для распознавания лиц [3]. Однако, данному методу также присущи недостатки: требуется очень большая выборка для обучения классификатора, присутствует большое количество ложных распознаваний.

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

Алгоритм детектирования дорожных знаков состоит из следующих шагов:

1) бинаризация изображений;

2) поиск контуров;

3) распознавание прямых линий;

4) выделение признаков для каждой линии;

5) составление признакового описания всего изображения;

6) сопоставление текущего изображения с эталонным.

Бинаризация изображений заключается в разделении всех пикселей полутонового изображения по яркости на два класса - объект и фон. Для этого выполняется поэлементное преобразование вида:

1, r > Д, 0, r < Д,

где Д - пороговое значение яркости, г - значение яркости пикселя до обработки, 5 - значение яркости пикселя после обработки.

На практике применяют методы глобальной и локальной (адаптивной) бинаризации. В первом случае вычисляется единственное пороговое

s

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

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

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

-1 0 1

- 2 0 2

-1 0 1

"-1 0 1"

-10 1

-10 1

G

У

Gy

-1 -2 -1 0 0 0 1 2 1.

-1 -1 -1 000 111

где Gx - градиент по оси х; Gy - градиент по оси у.

Также для детектирования контуров может использоваться оператор лапласиана. Лапласиан двумерной функции представляет собой производную второго порядка. Применительно к окрестностям 3*3, одной из двух форм, наиболее часто используемых на практике, является выражение:

V

2 _

0 -10 -1 4 -1 0 -1 0

Как правило, в чистом виде лапласиан для обнаружения контуров не используется [5]. Объясняется это тем, что, как производная второго порядка, лапласиан излишне чувствителен к шуму.

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

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

G

GX + GУy

где G - это суммарный градиент по двум осям.

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

Общая сложность метода Кенни по сравнению с другими описанными выше за счет использования нескольких стадий. В то же время это дает лучшее качество получения контуров. Достоинствами метода Кенни можно назвать устойчивость к шуму благодаря использованию метода Гаусса и то, что он представляет собой отлаженное комплексное решение [7]. Результат выделения контуров методом Кенни представлен на рис. 1.

Рис. 1 - Выделение контуров при помощи детектора Кенни

Контура представляются в виде последовательности координат вершин либо при помощи цепного кода Фримена. Цепной код Фримена - это представление контура в виде последовательности отрезков прямых линий определённой длины и направления. Способ получение цепного кода Фримена заключается в том, что на двумерное изображение накладывают прямоугольную сетку и узлы сетки, то есть границы между клетками, соединяют отрезками прямых линий заданной длины (рис. 2). В зависимости от наклона этой прямой, по отношению к точке, от которой начался отрезок, такой связи ставится в соответствие определённое число. Определённому наклону соответствует определённое число, числа задаются заранее. Обычно нумерация идёт по часовой стрелке, начиная от верхнего (северного) или правого (восточного) направления. Достоинством представления контуров в виде кодов Фримена является возможность поиска резких перепадов направления отрисовки контура, что позволяет находить углы выделенного объекта.

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

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

*

«Г

+

* ♦

*

к ь *

7 0 1

N • /

6 о 2

у - \

5 4 3

1 - начальная точка

Рис. 2 - Представление контура с помощью цепного кода Фримена

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

В методе Хафа прямая представляется с помощью параметров:

- г — длина радиус-вектора ближайшей к началу координат точки на прямой;

- 9 — угол между этим вектором и осью абсцисс.

Угол наклона прямой вычисляется по формуле:

9

Таким образом, уравнение прямой можно записать:

г = xcos9 + уап9.

Плоскость (г, 9) называется пространством Хафа для множества прямых в 2-мерном случае. Через каждую точку плоскости может проходить бесконечно много прямых.

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

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

Пусть прямая, проходящая через две точки, задана при помощи уравнения:

Ах+Ву+С=0.

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

У - У1 х - х 1

—-— = ~—

У 2 у1 Х 2 Х1

где хь х2, у1, у2 - координаты точек начала и конца линии, причем

(У2 - У\)=А,

-

(у2 - У1) Х1 +(Х2 - Х1) >-1=С.

Пусть уравнения пересекающихся линий объекта записаны как

А1х+В1у+С1=0,

А2х+В2у+С2=0.

Угол между векторами равен углу между линиями. В качестве меры угла возьмем тангенс угла:

и = ^(<р) = -А1 В ~ А В

А А +В1 в

Для нахождения соотношения с=в1/в2 между длинами линий необходимо вычислить длину каждой линии. Длина линии представляет собой евклидово расстояние между точкой конца и точкой начала линии:

" Х1 )2 +(/2 " У1 )2

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

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

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

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

я

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

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

В структурных (лингвистических) системах для построения алгоритмов распознавания

используются специальные грамматики,

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

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

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

Метод вычисления расстояния между списками заключается в следующем. Пусть заданы два списка:

Xi = {xi1, xi2, •••, xin},

Xj = {xfl, xj2, xjm}.

Для приведения одного списка к другому используются три элементарных преобразования:

1) подстановка ^ Xj - SUB(x,, xj),

2) уничтожение x ^ - DES(x, X),

3) создание X ^ x - CRE(X, x),

где X - пустой символ.

Для каждого преобразования вводится цена c(x, xj), c(x, X) и c(X, x) соответственно. Для оценки расстояния между двумя списками используется вычисление полной цены последовательности преобразований как наименьшей из всех возможных цен за переход от исходного списка к конечному. Расстояние 5(Xb Xj), соответствующее полной цене, является минимальным.

Путь преобразований записывается в виде ряда операций SUB, DES и CRE. Положим, что D(n, m) = 5(X(/), Xj(k)). При этом для перехода от D(l - 1, k - 1) к D(l, k) имеются три возможности:

1) путем подстановки, цена которой соответствует цене подстановки SUB(xil, xjk) последних элементов в каждом списке;

2) путем создания последнего элемента в списке Xj с ценой CRE(X, xjk);

3) путем уничтожения последнего элемента в списке Xi с ценой DES(xtf, X).

Указанную процедуру можно описать следующим образом:

Б(1,к) = тт{£(1 - 1,к - 1) + с(ха, хк),

Б(1,к - 1) + с(Х, хк), (16) Б(1 - 1,к) + с(хй, X)}.

Для определения расстояния между списками используется метод динамического

программирования. При этом формируется матрица, каждый элемент которой представляет собой оптимальное расстояние Б(1, к). Расстояние между списками вычисляется в соответствии со следующим выражением:

Б(1,к) = тт{£(/,к - 1) + d(al, Ьк),

Б(1 - 1,к - 1) + 2d(al, Ьк), (17) Б(1 - 1,к) + d(al, Ьк)}, где d(al, Ьк) - расстояние между 1-й и к-й составляющими опорного списка X и списка-кандидата У. Соответствующим входному изображению считается эталонное изображение с минимальным расстоянием.

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

Poisk s priznakamy

Рис. 3 - Результат распознавания знака на входном изображении

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

Литература

1. ГОСТ Р 52290—2004 - «Технические средства организации дорожного движения. Знаки дорожные. Общие технические требования».

2. Brkic, K. An overview of traffic sign detection methods // Department of Electronics, Microelectronics, Computer and Intelligent Systems Faculty of Electrical Engineering and Computing. - Vol. 3. P. 10000.

3. Viola, P. Robust real-time object detection / P. Viola, M. Jones // International Journal of Computer Vision, 2001. P. 137 - 155.

4. Автоматическое распознавание автомобильных номеров / А.П. Кирпичников, С.А. Ляшева , А.В. Обухов, М.П. Шлеймович // Вестник Казанского технологического университета. - 2015. - Т.18. - №4. - С. 218 - 222.

5. Форсайт, Д.А. Компьютерное зрение. Современный подход: пер. с англ. / Д.А Форсайт, Ж. Понс. - М.: Издательский дом "Вильямс", 2004. - 928с.

6. Прэтт, У. Цифровая обработка изображений. В 2 кн. Кн. 2. / Прэтт У. - М.: Мир, 1982. - 480 с.

7. Болонкин, А. В. Преобразование растр-вектор изображений сосудов // Материалы X Международной конференции «Системы проектирования, технологической подготовки производства и управления

этапами жизненного цикла промышленного продукта САЭ/САМ/РБМ». - М., 2006. - С. 120 — 123.

8. Синичкина, Т.А. Управление мобильным роботом с помощью компьютерного зрения / Т.А. Синичкина, М.В. Медведев // XXII Туполевские чтения (школа молодых ученых): Международная молодёжная научная конференция, 19-21 октября 2015 года: материалы конференции. Сборник докладов. Казань: Изд-во «Фолиант», 2015. - С. 612 — 615.

© М. В. Медведев - к. т.н., доцент кафедры автоматизированных систем обработки информации и управления КНИТУ-КАИ, e-mail: mmedv@mail.ru; А. П. Кирпичников - д.ф.-м.н., зав. кафедрой интеллектуальных систем и управления информационными ресурсами КНИТУ, e-mail: kirpichnikov@kstu.ru; Т. А. Синичкина - магистрант КНИТУ-КАИ, tanya_sinichkina@mail.ru.

© M. V. Medvedev - PhD in technical sciences, associate Professor of the Department of Automated Information Processing Systems & Control, Kazan National Research Technical University named after A.N.Tupolev, e-mail: mmedv@mail.ru; A. P. Kirpitchnikov -Doctor of sciences in physics and mathematics, professor, Head of the Department of Intelligent Systems and Information Systems Control, Kazan National Research Technological University, kirpichnikov@kstu.ru; T. A. Sinichkina - Master's degree student of the Department of Automated Information Processing Systems & Control, Kazan National Research Technical University named after A.N.Tupolev, tanya_sinichkina@mail.ru.