Пояснительная записка королёв (1206313), страница 6
Текст из файла (страница 6)
В библиотеке OpenCV реализована непосредственная поддержка следующих ядер:
-
линейное ядро (LINEAR);
-
многочлен степени d (POLY);
-
радиальная функция (RBF);
-
сигмоидальная функция (SIGMOID);
<degree> соответствует степени многочлена, определяющего полиномиальное ядро.
<gamma> Соответствует параметру в полиномиальном, радиальном и сигмоидальном ядрах.
<coef0> параметру в полиномиальном и сигмоидальном ядрах. При использовании ядра, не имеющего того или иного параметра, значение, хранящееся в соответствующем поле структуры, игнорируется и может быть любым.
<C> соответствует параметрам оптимизационных задач, решаемых алгоритмом обучения. Тип используемой машины опорных векторов указывает на то, какой из этих параметров "активен"[8].
2.4 Описание алгоритма
Преимуществом метода опорных векторов по сравнению с другими методами идентификации объектов на изображении является высокий показатель распознавания на изображениях с шумами и искажениями, что предполагает высокую точность распознавания. Главным недостатком данного метода является то, что параметры модели сложно интерпретировать.
Предлагаемый метод идентификации дорожных знаков на изображении представляет собой комбинацию двух методов: метода опорных векторов и сверточных нейронных сетей. Комбинация строится следующим образом: метод SVM обеспечивает принятие решения, находится ли на изображении дорожный знак или нет, в случае его присутствия изображение поступает дальше на вход сверточной нейронной сети, которая формирует окончательное решение о наличие дорожного знака на изображении. На рисунке 2.1 представлена функциональная блок – схема комбинированного метода. Синтез этих двух методов позволяет рассчитывать на высокий процент правдивых распознаваний, а также на идентификацию при различных углах искажения, а также плохих погодных условиях.
Предлагаемый алгоритм для распознавания дорожных знаков состоит из двух этапов: обучения и распознавания.
Первым этапом алгоритма будет обучение которой состоит из нескольких шагов:
-
выделение компонентов изображения дорожного знака в обучающей выборки с помощью метода опорных векторов;
-
уменьшение размерности векторов выделенных признаков методом опорных векторов;
-
обучение сверточной нейронной сети на полученных векторах признаков.
1
На втором этапе сверточная нейронная сеть повторно выполняет проверку на присутствие дорожного знака на изображении, тем самым позволяя убрать ошибки распознавания [23].
Начало
2
2 Применяем метод опорных векторов
3
3 Получаем каскадную модель классификаторов
4 Подаем на вход область изображения, i=1, k= количество классификаторов
4
5
5 Производим поиск дорожных знаков на входной области на i - ом слою
6
6 Объект отсутствует
да
7
7 Увеличиваем значение счетчика I на еденицу
8
8 i>k
нет
9
8
9
9 Подаем на вход нейронной сети рассматриваемую область изображения
10
10 Формируем решение о наличии дорожного знака на этом излбражении
11
11 Конец
Рисунок 2.1 – Функциональная схема комбинированного метода обнаружения дорожных знаков
2.5 Предварительная классификация с помощью сверточной нейронной сети
Для повторной классификации дорожных знаков на изображениях разработана сеть. Данная нейронная сеть имеет самую простую структуру: меньшее количество плоскостей, нейронов и связей. На рисунке 2.2 показана структура использованной в работе сверточной нейронной сети.
Рисунок 2.2 – Структура сверточной нейронной сети
Входной слой имеет размер 28x52 нейрона и предназначен для подачи входного образа в нейронную сеть. Второй слой сверточной нейронной сети является слоем свертки, состоит из 5 сверточных плоскостей размером 24х46 нейронов. Каждая плоскость данного слоя имеет собственную матрицу синаптических коэффициентов плюс нейронное смещение и таким образом выполняет пять сверток входного изображения. Значения нейронов текущего слоя вычисляются при последовательном сканировании входного слоя рецептивным полем и умножении значений входящих в него нейронов на матрицу весовых коэффициентов. Рецептивные поля смежных 61 нейронов частично пересекаются и в результате этого нейроны извлекают из входного слоя свои характерные признаки, независимо от их расположения, что обеспечивает устойчивость нейронной сети к смещению и повороту входного изображения. Размер локального рецептивного поля равен 5x7 нейронов. Каждой плоскости соответствует 5 * 7 = 35 весовых коэффициентов и нейронное смещение.
Размер плоскостей сверточного слоя определяется следующими формулами (2.2):
,
, (2.2)
где – параметр высоты плоскости сверточного слоя;
– параметр ширины плоскости сверточного слоя;
– параметр высоты плоскости предыдущего слоя;
– параметр ширины плоскости предыдущего слоя;
M, N – параметры высоты и ширины локального рецептивного поля;
Функционирование нейрона сверточного слоя определяется следующей формулой (2.3):
(10)
где, – нейрон сверточного слоя, q-ой плоскости;
– нейронное смещение q-ой плоскости;
N, M – ширина и высота локального рецептивного поля;
– выходные значения нейронов предыдущего слоя;
– синаптические коэффициенты [25];
Третий слой является слоем подвыборки и состоит из 5 подвыборочных плоскостей. Каждая из этих плоскостей имеет связь только с одной соответствующей ей плоскостью предыдущего слоя нейронной сети. Данный слой обеспечивает локальное усреднение плоскостей предыдущего слоя, поэтому размер плоскостей данного слоя вдвое меньше, чем в предыдущем слое и равен 12х23 нейрона. Рецептивные поля смежных нейронов не пересекаются и имеют размер 2х2 нейрона, что обеспечивает частичную инвариантность нейронной сети к изменению масштаба входного изображения. Каждой плоскости соответствует один синаптический коэффициент и нейронное смещение. Каждый нейрон данного слоя вычисляет среднее значение нейронов из соответствующей ему области нейронов предыдущего слоя. Далее полученное значение умножается на синаптический коэффициент и пропускается через функцию активации.
Таким образом, данный слой содержит 1380 нейронов и всего 10 синаптических весовых коэффициентов. После осуществления операции подвыборки повышается инвариантность нейронной сети к смещению, изменению масштаба входного изображения и точное расположение признаков объектов на изображении становится менее важным. Размер плоскостей подвыборочного слоя определяется следующими формулами (2.4):
(2.4)
где – параметр высоты плоскости сверточного слоя;
– параметр ширины плоскости сверточного слоя;
– параметр высоты плоскости предыдущего слоя;
– параметр ширины плоскости предыдущего слоя;
M, N – параметры высоты и ширины локального рецептивного поля;
Функционирование нейрона подвыборочного слоя определяется следующей формулой (2.5):
(2.5)
где, – нейрон повыборочного слоя, q-ой плоскости;
– нейронное смещение q-ой плоскости;
N, M – ширина и высота локального рецептивного поля;
– синаптический коэффициент.
Четвертый слой является слоем свертки и состоит из 20 сверточных плоскостей размером 10х20 нейронов. Рецептивные поля смежных нейронов частично пересекаются. Для более эффективного извлечения характерных признаков и получения различных наборов данных, плоскости данного слоя перекрестно связаны с плоскостями предыдущего слоя. Первые 11 плоскостей данного слоя формируются по следующему принципу, каждая из трех соседних плоскостей данного слоя связана с одной соответствующей им плоскостью предыдущего слоя.
Таким образом, осуществляется свертка каждой из 5 плоскостей предыдущего слоя тремя различными матрицами синаптических коэффициентов. Другие 10 плоскостей формируются по следующему принципу, каждая из 10 плоскостей имеет связь с двумя плоскостями предыдущего слоя и осуществляет их свертку. Таким образом, данные 10 плоскостей формируются путем суммирования результатов свертки каждой возможной пары плоскостей предыдущего слоя. Данный слой не является полносвязным по причине того, что плоскости должны извлекать различные характерные признаки и получать на вход различные наборы данных. В результате выполнения этих операций обеспечивается способность нейронной сети объединять различные виды характеристик, которые в меньшей степени зависят от искажений входного изображения.
Размер локального рецептивного поля равен 3x4 нейрона. Каждой плоскости соответствует 3*4 = 12 весовых коэффициентов и нейронное смещение. Таким образом, данный слой содержит 4000 нейронов и (12+1)*20 = 260 весовых коэффициентов [26].
Пятый слой является слоем подвыборки, состоит из 20 подвыборочных плоскостей. Размер плоскостей данного слоя в два раза меньше размера плоскостей предыдущего слоя и равен 5х10 нейронов. Каждая плоскость имеет связь только с одной соответствующей ей плоскостью предыдущего слоя. Рецептивные поля смежных нейронов не пересекаются и имеют размер 2х2 нейрона.
Каждой плоскости соответствует один синаптический коэффициент и нейронное смещение. Данный слой содержит 1000 нейронов и 40 синаптических весовых коэффициентов. Пять первых слоев предназначены для извлечения признаков изображения. Следующие два слоя являются слоями классификации. Шестой слой состоит из 20 нейронов. Каждый нейрон данного слоя имеет связь со всеми нейронами только одной соответствующей ему плоскости предыдущего слоя P2.
Каждый нейрон вычисляет взвешенное суммирование 50 соответствующих ему входных параметров, добавляет нейронное смещение и полученный результат передает через функцию активации.
Таким образом, данный слой содержит 1020 синаптических весовых коэффициентов. Седьмой слой является выходным слоем и состоит из одного нейрона. Роль данного слоя заключается в вычислении окончательного результата классификации. Выходные значения этого нейрона находятся в диапазоне от –1 до +1, что означает отсутствие или наличие пластины автомобильного номерного знака на изображении. Нейрон данного слоя имеет связи со всеми нейронами предыдущего слоя и производит вычисление Евклидова расстояния между вектором выходных значений и параметрическим вектором (2.6):
(2.6)
где, x – вектор входных значений;