С каждым годом количество автомобилей в мире растет, движение становится всё более интенсивным. Автоматическая система распознавания дорожных знаков позволит водителю уверенней вести себя в плотном городском потоке и на загородных трассах, оповещая его о дорожных знаках в поле видимости. В связи с этим можно считать, что работа, связанная с распознаванием дорожных знаков, является актуальной и необходимой на данный момент времени. Также данная работа может быть применена при разработке беспилотных автомобилей.
Цель работы: повышение безопасности дорожного движения на основе разработки математического и программного обеспечения распознавания запрещающих дорожных знаков.
Для достижения поставленной цели необходимо решить следующие задачи:
- Провести обзор и анализ существующих математических моделей и методов, которые применяются для решения задачи распознавания дорожных знаков.
- Выбрать математическую модель и метод решения поставленной задачи.
- Разработать алгоритм для распознавания запрещающих дорожных знаков.
- Разработать программное обеспечение для распознавания запрещающих дорожных знаков.
- Провести вычислительный эксперимент с целью проверки точности распознавания на основе разработанного ПО.
1 Анализ проблемы и постановка задачи
1.1 Анализ предметной области
Начинающим водителям, как правило, тяжело в полной мере контролировать дорожную ситуацию, поэтому они могут не заметить дорожный знак.
Также некоторые опытные автолюбители перестают обращать внимание на дорожные знаки, но по совсем другим причинам. Во-первых, привычка: знак всегда висел на своем месте — зачем лишний раз на него смотреть; во-вторых — уверенность в собственном опыте. Это опасные заблуждения, приводящие к ДТП [1].
Следующие факторы также приводят к невнимательности и невозможности сфокусироваться на дорожных знаках и той информации, которую они несут: смена дорожной ситуации, дорожного покрытия и рельефа, физическое самочувствие водителя, внешние отвлекающие факторы.
Таким образом, автоматическая система распознавания дорожных знаков будет полезна как начинающим, так и опытным водителям. А набирающие популярность беспилотные автомобили должны обладать точностью распознавания, близкой к стопроцентной, так как от этого зависит жизнь других водителей и пешеходов.
1.2 Содержательная постановка задачи
Имеется коллекция изображений запрещающих дорожных знаков. На вход программы поступает изображение — реальное изображение с камеры, которая фиксирует дорожную ситуацию. Программа должна выдать один из следующих ответов:
– на данном изображении запрещающий знак отсутствует;
– если на изображении присутствует запрещающий дорожный знак, то выводится его класс.
Необходимо разработать математическое и программное обеспечение, которое будет распознавать на изображении запрещающие дорожные знаки.
1.3 Формальная постановка задачи
Формальная постановка задачи классификации запрещающих дорожных знаков.
;
;
.
Дано:
— изображения из обучающей выборки, — количество изображений;
— известные классы запрещающих дорожных знаков, — количество известных классов;
Известна зависимость между изображениями из обучающей выборки и классами запрещающих дорожных знаков:
.
Найти:
— алгоритм, который будет классифицировать изображение .
На рисунке 1 изображена диаграмма IDEF0 для решения задачи распознавания запрещающих дорожных знаков.
Рис. 1. Диаграмма IDEF0 для решения задачи распознавания запрещающих дорожных знаков
На вход процедуры распознавания поступает изображение с камеры. Вид дорожных знаков соответствует требованиям, которые определены в ГОСТ Р 52290–2004 и Венской конвенцией о дорожных знаках и сигналах. Процедура распознавания осуществляется при помощи следующих механизмов: методы улучшения качества изображения, метод детектирования знака, метод классификации знака. На выходе процедуры указывается результат распознавания.
1.4 Структура решения задачи
Для начала процесса классификации знака необходимо предварительно обработать входное изображение, а затем локализовать запрещающие дорожные знаки.
2 Анализ моделей и методов решения
2.1 Аналитический обзор известных математических моделей подзадач
2.1.1 Предварительная обработка изображения
Предварительная обработка изображения может положительно повлиять на качество выделения признаков и результаты анализа изображения. Предварительная обработка изображения аналогична математической нормировке набора данных, что является общим этапом во многих задачах по анализу данных [2].
Множество подходов к улучшению изображений распадается на две большие категории: методы обработки в пространственной области (пространственные методы) и методы обработки в частотной области (частотные методы). Методы обработки в частотной области основываются на модификации сигнала, формируемого путем применения к изображению преобразования Фурье [3].
В дальнейшем рассматриваются только пространственные методы повышения качества изображений, что в основном связано с необходимостью значительного объема вычислений при выполнении преобразований Фурье для растровых изображений больших размеров (800×600 пикселей и более).
Основные пространственные методы улучшения изображений [3]:
– градационные преобразования [3];
– видоизменение гистограммы изображения [3];
– улучшение на основе арифметико-логических операций [3];
– сглаживающие пространственные фильтры [3].
При решении конкретных задач для достижения приемлемых результатов может потребоваться применение нескольких дополняющих друг друга методов улучшения [3].
2.1.2 Локализация запрещающего знака
Существует несколько основных подходов к локализации дорожных знаков на изображении:
– локализация дорожного знака по цвету [4];
– локализация дорожного знака по форме [4];
– локализация дорожного знака при помощи методов машинного обучения [4];
- использование сверточных нейронных сетей для детектирования знака [5].
Пороговую сегментацию [6] по цвету можно проводить в различных цветовых моделях:
– RGB (red, green, blue — красный, зелёный, синий) [6];
– HSV (hue, saturation, value — тон, насыщенность, значение) [7].
Методы, которые можно использовать для поиска формы знака:
– обобщенное преобразование Хафа — это метод поиска произвольных форм в изображении [4];
– методы контурного анализа [8]:
-
методы нахождения контуров:
- детектор границ Кэнни [8];
- прослеживание контуров [8];
- анализ с помощью графов [8].
-
методы сравнения контуров [9]:
- сравнение контуров с помощью вычисления моментов [3];
- cравнение контуров методом морфинга (метод активных контуров) [9].
2.1.3 Классификация знака
Машинное обучение — систематическое обучение алгоритмов и систем, в результате которого их знания или качество работы возрастают по мере накопления опыта [10].
Методы машинного обучения, которые используются для классификации дорожных знаков:
– SVM — метод опорных векторов [11];
– искусственные нейронные сети [12];
– методы «глубинного» обучения — Deep Learning [5] [13] [14]:
- сверточные нейронные сети [5] [14].
2.2 Сравнительный анализ подходов, методов для решения подзадач
Проведем сравнительный анализ методов для каждого этапа задачи распознавания дорожных знаков.
Улучшение качества изображения, уменьшение шума.
Общей теории улучшения изображений не существует. Когда изображение обрабатывается для визуальной интерпретации, наблюдатель является окончательным судьей того, насколько хорошо действует конкретный метод [3].
Медианный фильтр показывает отличные возможности подавления шума при меньшем эффекте расфокусировки, чем у линейных сглаживающих фильтров [3]. Медианный фильтр прост в реализации, поэтому для решения задачи уменьшения шума используется данный фильтр.
Локализация знака.
Для локализации знака будем использовать комбинированный подход: нахождение цвета знака и нахождение формы знака.
Для поиска цвета используется пороговая обработка в цветовом пространстве HSV. Цветовая модель HSV является наиболее удобным представлением цветных изображений для их цветовой сегментации [7].
Для поиска формы знака будем использовать детектор границ Кэнни, а затем сравнивать полученные контуры с шаблоном с помощью вычисления моментов контуров.
Классификация знака.
Бинарное изображение можно представить в виде вектора признаков, где признаками являются значения (0 или 1) соответствующих пикселей. Виды запрещающих дорожных знаков стандартизированы. Для их классификации можно использовать искусственную нейронную сеть (ИНС), подавая на вход бинарное изображение в виде вектора признаков.
3 Математическое, информационное и методическое обеспечение
3.1 Предварительная обработка изображения
Математическая модель подзадачи.
Имеется цветное изображение в пространстве RGB размерами пикселей. Изображение в данной цветовой модели состоит из трёх каналов. Каждый пиксель изображения можно представить следующим образом:
(3‑1)
где — значение интенсивности в красном канале, — значение интенсивности в зеленом канале, — значение интенсивности в синем канале. Необходимо применить метод для улучшения изображения и получить обработанное изображение:
(3‑2)
Метод решения подзадачи.
Для решения данной задачи используется медианный фильтр. Данный фильтр заменяет значение пикселя на значение медианы распределения интенсивностей всех пикселей в окрестности (включая и исходный).
Рассмотрим действие медианного фильтра в точке исходного изображения с окрестностью .
Применение медианного фильтра для красного канала:
(3‑3)
где — функция нахождения медианного значения аргументов .
Аналогично находим новые значения интенсивности в зеленом канале и в синем канале .
Итоговое значение цвета в точке образуется по равенству (3‑2).
3.2 Локализация знака
Рассмотрим задачу нахождения цвета знака.
Математическая модель подзадачи.
Имеется цветное изображение в пространстве RGB размерами пикселей. Каждый пиксель изображения можно представить равенством (3‑1).
Необходимо произвести цветовую сегментацию для получения бинарного изображения:
(3‑4)
Метод решения подзадачи.
Проводится цветовая сегментация в цветовом пространстве HSV. Цветовая модель HSV может быть получена из модели RGB [15].
Для нахождения красного цвета на изображении в пространстве HSV используется пороговая обработка [15]:
(3‑5)
Данная обработка позволяет получить бинарное изображение , где белым цветом обозначены области красного цвета на исходном изображении .
Рассмотрим задачу нахождения формы знака.
Применив детектор границ Кэнни [8] к обработанному изображению, можно сравнить контуры на изображении с шаблоном. Инвариантные моменты контуров [3] позволяют сравнивать контуры независимо от масштаба.
Таким образом, методы для поиска цвета и поиска формы позволяют локализовать на входном изображении интересующую нас фигуру — круглый знак с красным ободом.
3.3 Классификация знака
Подготовка краспознаванию.
Перед процедурой распознавания изображение необходимо обработать. Во-первых, необходимо применить эквализацию гистограммы изображения [3]. Во-вторых, необходимо преобразовать полученное черно-белое изображение к бинарному при помощи метода Оцу — алгоритма вычисления порога бинаризации [16].
Для классификации знака используется искусственная нейронная сеть [17].
Для корректного функционирования ИНС необходимо найти оптимальные веса всех синаптических связей (синапсов). Этот этап называется обучением ИНС. Существуют различные алгоритмы обучения ИНС [17]. Для решения данной задачи был выбран алгоритм обратного распространения ошибки [17]. Используется сигмоидальная функция активации нейрона [17].
Структура нейронной сети.
Максимальная точность классификации при кросс-валидации [18] составила 87 %. Данный показатель был получен при следующей структуре нейронной сети: входной слой — 400 нейронов (изображение 20x20), один скрытый слой с 20 нейронами. При большем количестве нейронов в скрытом слое средняя точность классификации падает.
4 Программное обеспечение
4.1 Язык программирования и инструментальные средства разработки
Язык программирования — C++.
Для решения задачи распознавания запрещающих дорожных знаков необходимо совершать операции непосредственно с изображениями. Для этого используется библиотека для работы с изображениями OpenCV (Open Source Computer Vision) 3.1.
5 Оценка качества решения
Распознавание дорожных знаков является сложной задачей, так как входные данные могут быть сильно искажены. Например, знак может быть чем-то закрыт, погнут, может быть недостаточно освещен.
В качестве метрики для оценки качества решения использовалась точность распознавания (accuracy) [18].
Точность локализации запрещающего знака составила 69 %. Точность классификации запрещающего знака составила 87 %.
Анализ результатов показывает, что необходимо улучшить метод детектирования запрещающего дорожного знака. Также качество локализации и классификации знака ухудшают следующие факторы: слабая освещенность, плохая погода, положение знака. Качество классификации ухудшается при накладывании на знак лишних предметов. Например, большой кусок грязи или снега.
Тестирование времени работы программы.
Характеристики компьютера, на котором проходило тестирование времени работы программы: процессор — Intel(R) Core(TM) i3–2120 CPU 3.30 GHz, ОЗУ — 8.00 ГБ.
Среднее время распознавания на изображениях размером 640480 пикселей составляет 100 мс — 0.08 с.
Среднее время распознавания на изображениях размером 19361296 пикселей составляет 400 мс — 0.2 с.
Результаты тестирования по времени показывают, что при разрешении изображения 640480 пикселей достигается наилучшее время работы программы, а также остается запас по времени для добавления новых методов в существующий алгоритм.
6 ЗАКЛЮЧЕНИЕ
В результате выполнения работы был проведен обзор существующих математических моделей, которые решают задачу распознавания дорожных знаков.
Проведен анализ методов обработки цифровых изображений. Для удаления шума и улучшения качества изображения был выбран медианный фильтр. Для детектирования знаков использовались цветовая сегментация и контурный анализ.
Проведен анализ методов распознавания. Наилучшие результаты показала искусственная нейронная сеть с одним скрытым слоем, в котором 20 нейронов. Оптимальный размер изображения для классификации запрещающих дорожных знаков — 20x20 пикселей.
Разработан алгоритм для распознавания запрещающих дорожных знаков. Данный алгоритм может быть модифицирован для распознавания знаков других категорий.
Разработано программное обеспечение для распознавания запрещающих дорожных знаков на языке C++ c использованием библиотеки OpenCV 3.1.
Проведена оценка качества решения. Анализ результатов показывает, что наибольшие трудности возникают на процессе локализации знака.
Возможно дальнейшее развитие работы для улучшения качества распознавания в реальных условиях. Например, для локализации знака можно использовать методы машинного обучения. На этапе классификации знака возможно применение алгоритмов глубинного обучения (Deep learning).
При получении достаточного качества локализации и классификации запрещающих дорожных знаков для реальных условий данное ПО может быть использовано как часть автоматической системы распознавания дорожных знаков.
Литература:
- Дорожные знаки [Электронный ресурс] // Советы опытных водителей для начинающих, 2013. — Режим доступа: http://zarulposle30.ru/dorozhnye-znaki-zalog-bezopasnosti/, свободный. — Загл. с экрана. (4.05.2017).
- Scott K. Computer Vision Metrics. — New York: Apress Media, 2014. — 498 p.
- Гонсалес Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс; пер. с англ. Л. Рубанов, П. Чочиа. — М.: Техносфера, 2012. — 1104 с.
- Brkic K. An overview of traffic sign detection methods. — Zagreb: Department of Electronics, Microelectronics, Computer and Intelligent Systems, Faculty of Electrical Engineering and Computing, 2010. — 9 p.
- Traffic-sign detection and classification in the wild / Z. Zhu [et al.] // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. — 2016. — P. 2110–2118.
- Kulkarni N. Color Thresholding Method for Image Segmentation of Natural Images // International Journal of Image, Graphics and Signal Processing. — 2014. — Vol. 4, № 1. — P. 28–34.
- Vision-Based Traffic Sign Detection and Analysis for Intelligent Driver Assistance Systems: Perspectives and Survey / A. Møgelmose [et al.] // IEEE Transactions on Intelligent Transportation Systems. — 2012. — Vol. 13, № 4. — P. 1484–1497.
- Сакович И. О. Обзор основных методов контурного анализа для выделения контуров движущихся объектов / И. О. Сакович, Ю. С. Белов // Инженерный журнал: наука и инновации. — 2014. — Вып. 12.
- Казбеков А. В. Методы сравнения контуров в задачах распознавания образов / А. В. Казбеков, Н. А. Максимов // Научный Вестник МГТУ ГА. — 2012. — Вып. 185. — С. 37–43.
- Флах П. Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных / пер. с англ. А. А. Слинкина. — М.: ДМК Пресс, 2015. — 400 с.
- Shi M. Support vector machines for traffic signs recognition / M. Shi, H. Wu, H. Fleyeh // IEEE international joint conference on neural networks. IEEE world congress on computational intelligence. — 2008. — P. 3820–3827.
- Traffic Sign Classification by Image Preprocessing and Neural Networks / R. Vicen-Bueno [et al.] // International Work-Conference on Artificial Neural Networks. — 2007. — P. 741–748.
- Multi-Column Deep Neural Network for Traffic Sign Classification / D. Ciresan [et al.] // Neural Networks. — 2012. — P. 333–338.
- Zeng Y. Traffic sign recognition using extreme learning classifier with deep convolutional features / Y. Zeng [et al.] // The 2015 international conference on intelligence science and big data engineering. — 2015.
- Chen Y. Detection and Recognition of Traffic Signs Based on HSV Vision Model and Shape features / Y. Chen, Y. Xie, Y. Wang // JOURNAL OF COMPUTERS. — 2013. — Vol. 8, № 5. — P. 1366–1370.
- Otsu N. A Threshold Selection Method from Gray-Level Histograms // IEEE Transactions on Systems, Man, and Cybernetics. — 1979. — Vol. 9, № 1. — P. 62–66.
- Haykin S. Neural Networks and Learning Machines (Third Edition). — New Jersey: Pearson Education. — 2009. — 936 p.
- Japkowicz N. Evaluating learning algorithms. A classification perspective / N. Japkowicz, M. Shah. — New York: Cambridge University Press, 2011. — 424 с.