Пояснительная записка королёв (1206313), страница 5
Текст из файла (страница 5)
Из таблицы можно сделать вывод, что отдельно реализованные информационные системы для распознавания дорожных знаков очень редки, большинство ИС не является отдельно установленной функцией, а в основном они входят в состав заводских опций автомобиля. Из этого следует, что их коммерческая стоимость слишком большая. Все предустановленные системы показывают небольшой процент идентификации дорожных знаков, процент распознавания падает, если дорожный знак находится не в идеальных условиях (наклон, частичное перекрытие, загрязнение знака) так как изображения терпят проектные искажения. Во время испытаний надежно и точно распознаются лишь чистые знаки с контрастным контуром. Узнать какие алгоритмы лежат в основе этих ИС не представляется возможным так как в свободном доступе эта информация не распространяется.
Разработка метода идентификации дорожных знаков устойчивых к таким преобразованиям, повысит точность распознавания, что является актуальным при:
-
наклоненном дорожном знаке;
-
маневрировании автомобиля в зоне идентификации;
-
высокой скорости движения автомобиля.
1.5 Основные результаты и выводы
В данной главе были рассмотрены существующие алгоритмы и системы, применяющиеся для идентификации дорожных знаков на изображении. На основании данного анализа был сделан ряд выводов:
-
на данный момент нет методов, которые полностью бы удовлетворяли требуемым характеристикам при распознавании дорожных знаков, при наличии шумов, аффинных и проекционных преобразований на изображениях;
-
проведя анализ выяснилось, что все они имеют довольно узкий диапазон допустимых искажений дорожных знаков, поэтому естественно существуует потребность в разработке более устойчивых к искажениям методов распознавания;
-
наиболее эффективными для решения поставленной задачи являются методы основанные на применении сверточных нейронных сетей и метода опорных векторов так как сверточные сети проявляют повышенную степень инвариантности к различного рода искажениям, а метод опорных векторов в роли классификатора позволит на раннем этапе определять причастность знака к определенной группе по его форме.
2 Разработка алгоритмов обнаружения и распознавания дорожных знаков на изображении
В данной части ВКР проводится полное описание методов и алгоритмов, которые были предложены и внедрены в основу разрабатываемого приложения для распознавания дорожных знаков. Предложен алгоритм детектирования области расположения символов на изображениях, основанный на методе опорных векторов и сверточных нейронных сетях.
2.1 Разработка метода распознавания объектов на изображении
На сегодняшний день построение алгоритмических композиций, в которых различные алгоритмы компенсируют недостатки друг друга, является одним из наиболее перспективных направлений машинного обучения. Достоинства данного подхода заключаются в универсальности, гибкости, высокой обобщающей способности и возможности получения качественного обучения, недостижимого для отдельных базовых алгоритмов.
Детектирование области расположения объектов, в данном случае дорожных знаков является достаточно сложной задачей в связи с наличием на изображениях сложной фоновой структуры и шумовых помех. При решении данной задачи возникает необходимость реализации алгоритма, выполняющего несколько этапов классификации и работающего по принципу последовательной классификации. На основании этого, было принято решение разработать алгоритм детектирования автомобильных номерных знаков в виде алгоритмической композиции, состоящей из метода опорных векторов и сверточной нейронной сети.
Алгоритмическая композиция строилась по принципу последовательной классификации, где сначала с помощью метода опорных векторов происходит первое распознавание, которое передается дальше на нейронную сеть. Такая модель распознавания значительно увеличивает скорость идентификации, а также повышает точность распознавания.
2.2 Метод опорных векторов
Метод опорных векторов (Support Vеctor Mасhine, SVM) был предложен российскими учеными В. Вапником и А. Червоненкисом. Данный метод является линейным классификатором и применяется для решения задач классификации и регрессионного анализа. Применение метода SVM к решению задачи классификации объектов на изображениях можно описать следующим образом. Дано множество точек в пространстве, которые сгруппированы по двум классам. Для того, чтобы разделить множество точек на классы можно провести разделяющую гиперплоскость. С точки зрения классификации необходимо найти оптимальную гиперплоскость, расстояние от которой до каждого класса будет максимально. Чем больше расстояние от разделяющей гиперплоскости до каждого класса, тем меньше ошибка классификации. Вектора, расположенные в пространстве ближе всего к гиперплоскости, называются опорными векторами[47]. Необходимо найти классифицирующую функцию f(x), которая принимает разные значения для векторов разных классов. Для определения данной функции используется обучающий набор данных ( . Функция, при которой ожидаемая ошибка классификации принимает минимальное значение, является наиболее оптимальной функцией. Классифицирующая функция имеет вид (2.1):
(2.1)
где х – объект, принадлежащий пространству;
w – вектор нормали к гиперплоскости;
(,) – скалярное произведение;
b – вспомогательный параметр;
Объекты, для которых функция f(x) принимает значения равные 1 или –1, относятся к разным классам. Необходимо выбрать параметры w и b таким образом, чтобы расстояние до каждого класса было максимальным. На практике часто возникают случаи, когда данные невозможно разделить линейным способом.
Для решения подобной ситуации выполняется преобразование исходного пространства х в пространство более высокой размерности с помощью специального отображения . Отображение
выбирается таким образом, чтобы в полученном пространстве множество данных было линейно разделимо. Основная сложность заключается в том, что с увеличением размерности пространства, увеличивается сложность процесса классификации [16].
На практике случаи, где данные в задаче распознавания могут быть разделены линейно, достаточно редки. В таких случаях применяется метод использования ядер, предложенный Б. Босером, И. Гийон и В. Вапником, и заключающийся в том, что элементы обучающейся выборки вкладываются в пространство х′ более высокой размерности с помощью специального отображения . При этом отображение выбирается так, чтобы в пространстве x′ выборка была разделима линейно. Ядром классификатора называется выражение
, задающее отображение выборки в новое пространство, и его роль, как правило, может выполнять любая положительно определенная симметричная функция двух переменных. На практике встречаются следующие ядра: полиномиальное, радиальная базисная функция, гауссова базисная функция, сигмоида [17].
Обучения модели, использующей метод опорных векторов, производится методами квадратичного программирования, такими как последовательная минимальная оптимизация. Метод опорных векторов имеет некоторые преимущества и недостатки по отношению к использованию многослойных перцептронов:
-
многослойный перцептрон представляет собой модель с множеством скрытых параметров, зависящих от числа нейронов сети. Параметризованная модель потенциально способна к инкапсуляции более сложных, высокоуровневых функций, но при этом требует больше времени и вычислительных ресурсов для обучения и настройки параметров. Метод опорных векторов использует векторы, отобранные из обучающей выборки, при этом количество параметров ограничено сверху размером выборки, а на практике может быть прорежено за счет использования инженерии признаков.
-
в отличие от обучения нейронной сети, которое осуществляется с помощью метода градиентного спуска (и его вариаций) и оценки ошибки сети, обучение модели опорных векторов включает в себя не только оценку ошибки, но и метрику сложности полученной гиперплоскости. Поиск оптимального значения нейронной сети уязвим к наличию локального минимума, способного остановить процесс градиентного спуска, при этом метод опорных векторов при корректном выборе метапараметров гарантирует нахождение глобального решения.
-
обученная нейронная сеть требует минимальных вычислительных ресурсов для работы в режиме распознавания (предсказания категорий). Метод опорных векторов в некоторых случаях, когда число векторов велико по сравнению с размером выборки, строит предсказания существенно медленнее.
-
по сравнению с нелинейным (использующим ядра) методом опорных векторов, нейронная сеть демонстрирует расширенные способности к онлайн- обучению, когда размер выборки не фиксирован и пополняется за счет поступления новых данных.
В большинстве современных приложений алгоритмов распознавания и машинного обучения в настоящий момент отдано предпочтение методу опорных векторов за счет сокращения времени обучения и устойчивости к локальному минимуму.
Метод опорных векторов также широко используется для распознавания изображений, таких как человеческие лица, демонстрируя высокую точность распознавания (80-85% успешно распознанных изображений) для выравненной выборки. Особенность задачи распознавания изображений заключается в том, что данные, представляющие собой визуальные сигналы, демонстрируют крайне низкую информационную емкость — т.е., большая часть точек растрового изображения (например, соответствующие участкам однотонного или равномерно распределенного фона) не содержит информации, влияющей на распознавание.
При этом размерность изображений, использующихся в системах обработки информации, как правило, достаточно велика — современные средства мультимедиа, графические дисплеи и сенсоры обеспечивают массовое распространение изображений (фотографий, кадров видео, компьютерной графики) высокого разрешения, размерность которых измеряется миллионами точек.
Для классических методов распознавания образов характерна прямая зависимость между размерностью (числом параметров) данных обучающей выборки и временем обучения, а также показателями сходимости при оптимизации модели. Наличие большого числа параметров, основная часть которых не содержит существенной для распознавания информации, негативно влияет на производительность модели, и помимо требования значительно более высоких вычислительных ресурсов ведет к появлению т.н. проблемы переобучения, когда функция распознавания, аппроксимированная моделью, удовлетворительно классифицирует обучающую выборку, но является при этом не генерализованой и демонстрирует низкую точность в тестовой выборке. Для решения этой проблемы используется подход поиска компактного представления изображения — выделения ограниченного числа генерализованных признаков, содержащих основную информацию, необходимую для распознавания.
Данный метод активно применяется для детектирования различных объектов, в том числе и дорожных знаков. Недостаток данного метода заключается в том, что в процессе классификации учитывается не все множество данных, а только лишь часть, находящаяся на границах множества. Достоинство метода SVM заключается в том, что для классификации достаточно небольшого набора данных [18].
2.3 Пример Кода и разбор основных функций SVM
<?xml version="1.0"?>
<opencv_storage>
<my_svm type_id="opencv-ml-svm">
<svm_type>C_SVC</svm_type>
<kernel><type>POLY</type>
<degree>3.</degree>
<gamma>3.</gamma>
<coef0>0.</coef0></kernel>
<C>1.</C>
<term_criteria><epsilon>9.9999997473787516e-006</epsilon>
<iterations>100</iterations></term_criteria>
<var_all>128</var_all>
<var_count>128</var_count>
<class_count>17</class_count>
<class_labels type_id="opencv-matrix">
<rows>1</rows>
<cols>17</cols>
<dt>i</dt>
<data>
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16</data></class_labels>
<sv_total>428</sv_total>
<support_vectors>
<_>
Поле <svm_type> отвечает за тип используемой машины опорных векторов
C_SVC – Формализация с использованием параметра C
<kernel><type> служит для обозначения используемого ядра