ВВЕДЕНИЕ 8
I. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 10
1.1. Описание систем распознавания дорожных знаков 10
1.2. Обзор систем распознавания дорожных знаков 14
1.2.1. Система FOSTS 14
1.2.2. Система Siemens VDO TSR 17
1.2.3. Система Opel EYE TSD 18
1.2.4. Распознавание дорожных знаков на основе нейронных сетей 20
1.2.5. Распознавание на основе сравнения с шаблоном 22
1.3. Обзор языков программирования 24
1.3.1. Язык программирования С++ 24
1.3.2. Язык программирования С# 25
1.3.3. Язык программирования PYTHON 26
1.4. Постановка цели и задач исследования 27
II. РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ОБЪЕКТОВ 29
2.1. Разработка функционального модуля 29
2.2. Алгоритм детектирования дорожных знаков 32
2.2.1. Цветовая сегментация изображения 32
2.2.2. Поиск окружностей и контурный анализ 35
2.3. Алгоритм сегментации изображения 42
2.4. Алгоритм распознавания изображений 54
III. РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 64
3.1. Выбор средств разработки 64
3.1.1. Выбор языка разработки и IDE 64
3.1.2. Библиотека компьютерного зрения OpenCV 65
3.1.3. Выбор аппаратных средств разработки 66
3.2. Программная реализация 67
ЗАКЛЮЧЕНИЕ 93
СПИСОК ИСТОЧНИКОВ 94
Приложение
С каждым годом количество автомобилей в мире возрастает, соответственно возрастает и количество дорожно-транспортных происшествий. В связи с этим все больше внимания уделяется автомобильным системам интеллектуальной обработки информации и принятия решений. Усилия многих разработчиков направлены на создание недорогих и доступных широкому кругу потребителей подобных систем. Одной из ключевых задач в таких системах является задача распознавания объектов (дорожных знаков). Задача создания быстрого и качественного алгоритма распознавания дорожных знаков является актуальной. Система распознавания дорожных знаков призвана предупреждать водителей о необходимости соблюдения скоростного режима. Данная система определяет дорожные знаки ограничения скорости при их проезде и напоминает водителю текущую максимальную разрешенную скорость.
Основные задачи:
1) Описать особенности и способы решения задачи распознавания дорожных знаков, провести обзор методов и алгоритмов выделения, выявить их ограничения;
2) Разработать алгоритмы детектирования дорожных знаков, алгоритмы сегментации изображения, алгоритмы распознавания изображений для решения задачи;
3) Провести проверку работоспособности и эффективности предложенного метода при решении тестовых и практических задач, с помощью реализации алгоритма в программном приложении.
В работе проводится исследование и разработка методов обработки изображения. Рассмотрены методы детектирования объекта, такие как преобразование Хафа и метод, основанный на компактности. Приведен сравнительный анализ методов сегментации изображения. Рассмотрены пороговые методы сегментации, метод кластерного анализа К-средних, а
также метод минимального разреза графа. Рассмотрены два метода распознавания изображения, основанные на разных признаковых составляющих. Первый метод сравнения с шаблоном сравнивает матрицы изображения, второй приведенный метод -метод сравнения моментов контуров.
Пояснительная записка состоит из трех основных разделов:
Раздел I - «АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ» в него входят: анализ существующих систем распознавания объектов (дорожных знаков), описание достоинств и недостатков. Приведены основные подходы к решению задачи. Есть постановка цели и задач исследования.
Раздел II - «РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ОБЪЕКТОВ», в него входят: описание методов, примененных в решении поставленных задач, формулы и иллюстрации этих методов.
Раздел 3 - «РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ», в него входят: блок-схемы алгоритмов, описание алгоритмов обработки данных, описание основных функций программного пакета компьютерного зрения, примеры работы программы на реальных данных.
В результате выполнения выпускной квалификационной работы была достигнута основная цель - повышение безопасности дорожного движения. Все поставленные задачи были выполнены в полном объеме. Был проведен анализ предметной области, в который входил анализ существующих систем и анализ существующих подходов к решению задачи. В результате анализа предметной области были поставлены цели и задачи исследования. Для реализации поставленных целей был предложен свой подход к решению задач.
Распознавание объекта (дорожного знака) состоит из трех этапов: детектирование объекта, сегментирование изображения, распознавание символов. Для каждого этапа была предложена вариация методов и их сравнительная характеристика. В работе рассмотрены методы поиска объекта, основанные на компактности и преобразовании Хафа. Также рассмотрены методы сегментирования: пороговая сегментация, сегментация К-средних, сегментация минимального разреза графа. Рассмотрены методы распознавания символов, основанные на сравнении шаблонов и метода моментов. Для каждого метода приведены характеристики и полное теоретическое обоснование. Выбраны наиболее производительные и точные методы обработки изображения.
Было разработано программное обеспечение, реализующее упомянутые методы и этапы распознавания дорожных знаков. Рассмотрены базовые и специфические функции пакета компьютерного зрения OpenCV.
Модификации данного программного обеспечения можно использовать на мобильных устройствах, либо внедрить в блок управления автомобилем.