Пояснительная записка королёв (1206314), страница 7
Текст из файла (страница 7)
При решенииданнойзадачивозникаетнеобходимостьреализацииалгоритма,выполняющего несколько этапов классификации и работающего по принципупоследовательной классификации. На основании этого, было приняторешение разработать алгоритм детектирования автомобильных номерныхзнаков в виде алгоритмической композиции, состоящей из метода опорныхвекторов и сверточной нейронной сети.Алгоритмическая композиция строилась по принципу последовательнойклассификации, где сначала с помощью метода опорных векторов происходитпервое распознавание, которое передается дальше на нейронную сеть.
Такаямодель распознавания значительно увеличивает скорость идентификации, атакже повышает точность распознавания.2.2 Метод опорных векторовМетод опорных векторов (Support Vеctor Mасhine, SVM) был предложенроссийскими учеными В. Вапником и А. Червоненкисом. Данный методявляется линейным классификатором и применяется для решения задачклассификации и регрессионного анализа. Применение метода SVM крешению задачи классификации объектов на изображениях можно описатьследующим образом. Дано множество точек в пространстве, которыесгруппированы по двум классам.
Для того, чтобы разделить множество точекна классы можно провести разделяющую гиперплоскость. С точки зренияклассификации необходимо найти оптимальную гиперплоскость, расстояниеот которой до каждого класса будет максимально. Чем больше расстояние отразделяющей гиперплоскости до каждого класса, тем меньше ошибка43классификации. Вектора, расположенные в пространстве ближе всего кгиперплоскости, называются опорными векторами[47].
Необходимо найтиклассифицирующую функцию f(x), которая принимает разные значения длявекторов разных классов. Для определения данной функции используетсяобучающий набор данных (1 , 1 ), … , ( , ). Функция, при которойожидаемая ошибка классификации принимает минимальное значение,является наиболее оптимальной функцией. Классифицирующая функцияимеет вид (2.1):() = ((, ) + ),(2.1)где х – объект, принадлежащий пространству;w – вектор нормали к гиперплоскости;(,) – скалярное произведение;b – вспомогательный параметр;Объекты, для которых функция f(x) принимает значения равные 1 или –1,относятся к разным классам.
Необходимо выбрать параметры w и b такимобразом, чтобы расстояние до каждого класса было максимальным. Напрактике часто возникают случаи, когда данные невозможно разделитьлинейным способом.Для решения подобной ситуации выполняется преобразование исходногопространства х в пространство более высокой размерности с помощьюспециального отображения : → . Отображение выбирается такимобразом, чтобы в полученном пространстве множество данных было линейноразделимо.
Основная сложность заключается в том, что с увеличениемразмерности пространства, увеличивается сложность процесса классификации[16].На практике случаи, где данные в задаче распознавания могут бытьразделены линейно, достаточно редки. В таких случаях применяется методиспользования ядер, предложенный Б. Босером, И.
Гийон и В. Вапником, изаключающийся в том, что элементы обучающейся выборки вкладываются в44пространство х′ более высокой размерности с помощью специальногоотображения : → ′. При этом отображение выбирается так, чтобы впространстве x′ выборка была разделима линейно. Ядром классификатораназываетсявыражение̂(, ′ ) = ((), ( ′ )),задающееотображениевыборки в новое пространство, и его роль, как правило, может выполнятьлюбая положительно определенная симметричная функция двух переменных.На практике встречаются следующие ядра: полиномиальное, радиальнаябазисная функция, гауссова базисная функция, сигмоида [17].Обучения модели, использующей метод опорных векторов, производитсяметодами квадратичного программирования, такими как последовательнаяминимальная оптимизация.
Метод опорных векторов имеет некоторыепреимущества и недостатки по отношению к использованию многослойныхперцептронов: многослойный перцептрон представляет собой модель с множествомскрытых параметров, зависящих от числа нейронов сети. Параметризованнаямодельпотенциальноспособнакинкапсуляцииболеесложных,высокоуровневых функций, но при этом требует больше времени ивычислительных ресурсов для обучения и настройки параметров. Методопорных векторов использует векторы, отобранные из обучающей выборки,при этом количество параметров ограничено сверху размером выборки, а напрактике может быть прорежено за счет использования инженерии признаков. в отличие от обучения нейронной сети, которое осуществляется спомощью метода градиентного спуска (и его вариаций) и оценки ошибки сети,обучение модели опорных векторов включает в себя не только оценку ошибки,но и метрику сложности полученной гиперплоскости.
Поиск оптимальногозначения нейронной сети уязвим к наличию локального минимума,способного остановить процесс градиентного спуска, при этом метод опорныхвекторов при корректном выборе метапараметров гарантирует нахождениеглобального решения.45 обученная нейронная сеть требует минимальных вычислительныхресурсов для работы в режиме распознавания (предсказания категорий).Метод опорных векторов в некоторых случаях, когда число векторов великопо сравнению с размером выборки, строит предсказания существенномедленнее. по сравнению с нелинейным (использующим ядра) методом опорныхвекторов, нейронная сеть демонстрирует расширенные способности к онлайнобучению, когда размер выборки не фиксирован и пополняется за счетпоступления новых данных.В большинстве современных приложений алгоритмов распознавания имашинного обучения в настоящий момент отдано предпочтение методуопорных векторов за счет сокращения времени обучения и устойчивости клокальному минимуму.Метод опорных векторов также широко используется для распознаванияизображений, таких как человеческие лица, демонстрируя высокую точностьраспознавания(80-85%успешнораспознанныхизображений)длявыравненной выборки.
Особенность задачи распознавания изображенийзаключается в том, что данные, представляющие собой визуальные сигналы,демонстрируют крайне низкую информационную емкость — т.е., большаячасть точек растрового изображения (например, соответствующие участкамоднотонногоилиравномернораспределенногофона)несодержитинформации, влияющей на распознавание.При этом размерность изображений, использующихся в системахобработки информации, как правило, достаточно велика — современныесредства мультимедиа, графические дисплеи и сенсоры обеспечиваютмассовоераспространениекомпьютернойграфики)изображенийвысокого(фотографий,кадровразрешения, размерностьвидео,которыхизмеряется миллионами точек.Для классических методов распознавания образов характерна прямаязависимость между размерностью (числом параметров) данных обучающей46выборки и временем обучения, а также показателями сходимости приоптимизации модели.
Наличие большого числа параметров, основная частькоторых не содержит существенной для распознавания информации,негативно влияет на производительность модели, и помимо требованиязначительно более высоких вычислительных ресурсов ведет к появлению т.н.проблемы переобучения, когда функция распознавания, аппроксимированнаямоделью, удовлетворительно классифицирует обучающую выборку, ноявляется при этом не генерализованой и демонстрирует низкую точность втестовой выборке.
Для решения этой проблемы используется подход поискакомпактного представления изображения — выделения ограниченного числагенерализованныхпризнаков,содержащихосновнуюинформацию,необходимую для распознавания.Данный метод активно применяется для детектирования различныхобъектов, в том числе и дорожных знаков. Недостаток данного методазаключается в том, что в процессе классификации учитывается не всемножество данных, а только лишь часть, находящаяся на границах множества.Достоинство метода 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>47<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> служит для обозначения используемого ядраВ библиотеке OpenCV реализована непосредственная поддержка следующихядер: линейное ядро (LINEAR); многочлен степени d (POLY); радиальная функция (RBF); сигмоидальная функция (SIGMOID);<degree>соответствуетстепенимногочлена,определяющегополиномиальное ядро.<gamma> Соответствует параметру в полиномиальном, радиальном исигмоидальном ядрах.48<coef0> параметру 0 в полиномиальном и сигмоидальном ядрах.