Пояснительная записка королёв (1206313), страница 3
Текст из файла (страница 3)
1.1.8 Алгоритм Виолы Джонса
Метод Виолы-Джонса (англ. Viola-Jones object detection) – наиболее популярный алгоритм, позволяющий с высокой скоростью обнаруживать области расположения объектов на изображениях. Был предложен в 2001 году Полом Виола и Майклом Джонсом. Несмотря на то, что основная задача алгоритма состоит в обнаружении лиц, он может использоваться для распознавания различных классов объектов. Существует множество реализаций, в том числе в составе библиотеки компьютерного зрения OpenCV (функция cvHaarDetectObjects()) [8].
Основополагающей идеей при создании алгоритма Виолы-Джонса для распознавания лиц является выделение локальных особенностей (признаков) изображения и последующего обучения алгоритма на них. Признаки, используемые алгоритмом, используют суммирование пикселей из прямоугольных регионов. Признаки, использованные Виолой и Джонсом, содержат более одной прямоугольной области. На рисунке 1.1 показано четыре различных типа признаков[35].
Рисунок 1.1 – Типы признаков для алгоритма Виолы – Джонса
Значение для каждого признака вычисляется как вычитание суммы пикселей в белых прямоугольниках из суммы пикселей в черных. Несмотря на чувствительность прямоугольных признаков к вертикальным и горизонтальным особенностям изображений, они весьма примитивны, и результат их поиска груб. Тем не менее, при условии сохранения изображения в интегральном формате (англ. integral image, когда в каждом пикселе изображения записана сумма всех пикселей, находящихся выше и слева), проверка такого признака на конкретной позиции проводится за константное время, что является преимуществом по сравнению с более очными вариантами. Каждая прямоугольная область в используемых признаках всегда смежна с другим прямоугольником, поэтому расчет признака с 2 прямоугольниками состоит из 6 обращений в интегральный 19 массив, для признака с 3 прямоугольниками – из 8, с 4 прямоугольниками –из 9.
Базовый алгоритм Виолы-Джонса имеет ряд недостатков:
-
длительное время работы алгоритма обучения. В ходе обучения алгоритму необходимо проанализировать большое количество тестовых изображений;
-
большое количество близко расположенных друг к другу результатов из-за применения различных масштабов и скользящего окна.
1.1.9 Искусственные нейронные сети (ИНС)
Искусственная нейронная сеть (ИНС) представляет собой математическую, программную или аппаратную модель, функционирующую по принципу биологических нервных клеток человеческого организма. ИНС имеют иерархическую структуру и состоят из простых взаимодействующих между собой процессоров, называемых нейронами, которые сгруппированы в слои. Каждый нейрон имеет входные и выходные связи, ведущие к нейронам соседних слоев. Связи между нейронами называются синаптическими связями и характеризуются определенными весовыми коэффициентами, которые в физическом смысле можно сравнить с электрической проводимостью [7]. На рисунке 1.2 представлена архитектура многослойной нейронной сети
Рисунок 1.2 – Архитектура многослойной нейронной сети
Текущее значение нейрона определяется как взвешенная сумма его входных значений (1.3):
(1.3)
Где – текущий выход i-го нейрона;
– весовой коэффициент между i-м и j-м нейронами.
Каждый нейрон определяется функцией активации, которая предназначена для определения зависимости сигнала на выходе нейрона от взвешенной суммы сигналов на его входах. Пример стандартной логистической функции активации (1.4):
, (1.4)
где s – взвешенная сумма входных значений нейрона. Для всех данных из обучающей выборки, поступающих на вход нейронной сети, определяются их требуемые значения, которые затем сравниваются с текущими значениями и вычисляется ошибка. Основной принцип обучения ИНС заключается в сведении к минимуму эмпирической ошибки классификации формула (1.5)
(1.5)
где – действительный выход i-го нейрона;
– желаемый выход i-го нейрона.
После этого на основе метода градиентного спуска вычисляется величина коррекции синаптических коэффициентов между нейронами по формуле (1.6)
(1.6)
где – значение ошибки нейрона i;
– текущий выход i-го нейрона;
– коэффициент скорости обучения, 0 <
< 1;
Весовые коэффициенты изменяются до тех пор, пока ошибка не сведется к минимуму и станет меньше заданного порога. Данный тип обучения называется «обучение с учителем»[26]. Таким образом, ИНС представляют собой суперпозицию функций, где каждая функция называется нейронным слоем. Для решения задач детектирования и распознавания объектов многими исследователями применялись ИНС различной конфигурации. Однако большинство из них обладают низкой эффективностью при решении подобных задач по следующим причинам:
-
большой размер входных изображений приводит к увеличению количества нейронов и синаптических весовых коэффициентов нейронной сети. В результате этого увеличивается вычислительная сложность и время процесса обучения;
-
обладают высокой чувствительностью к искажениям входных данных, шумам, изменению масштаба и углов регистрации объектов;
-
не поддерживают двумерную топологию изображений, что приводит к потере взаимосвязи пространственно зависимых областей изображения.
Все это требует применения дополнительных алгоритмов, тем самым увеличивая вычислительную сложность и время выполнения задачи. Перечисленные недостатки оказались в наименьшей степени присущи так называемым сверточным нейронным сетям [7].
1.1.10 Сверточные нейронные сети (СНС)
В 1998 году исследователи Y. LeCun, L. Bottou, Y. Bengio и P. Haffner предложили вид нейронных сетей, работающих по принципу зрительной системы человека, которые были названы сверточными нейронными сетями (СНС). СНС представляет собой особый класс многослойного персептрона, который обладает двумерной структурой и хорошо подходит для обработки изображений с высокой степенью инвариантности к смещению, поворотам, масштабированию и другим искажениям входных данных. Структура СНС представляет собой последовательность из двух типов слоев: сверточные и под выборочные. Каждый слой состоит из набора плоскостей (карт характеристик), которые в свою очередь состоят из нейронов. Каждый нейрон сверточного слоя имеет связь с небольшой группой нейронов предыдущего слоя (локальное рецептивное поле). Локальные рецептивные поля нейронов сверточного слоя частично накладываются друг на друга по принципу черепицы. Значения нейронов из локального рецептивного поля умножаются на матрицу синаптических коэффициентов, а результат записывается в соответствующий нейрон сверточного слоя [7]. На рисунке 1.3 можно увидеть Архитектуру сверточной нейронной сети.
Рисунок 1.3 – Архитектура сверточной нейронной сети
Следом за сверточным слоем располагается под выборочный слой, который обеспечивает частичную инвариантность нейронной сети к изменению масштаба входного изображения. Количество плоскостей подвыборочного слоя обычно такое же, как и в предыдущем слое. В подвыборочном слое локальные рецептивные поля не пересекаются друг с другом и имеют фиксированный размер 2х2 нейрона. Каждый нейрон данного слоя вычисляет среднее значение своих четырех входов, умножает их на синаптические коэффициенты и полученный результат передает через функцию активации. Таким образом, подвыборочный слой уменьшает размерность плоскостей предыдущего слоя в два раза[40].
Последовательно чередуясь друг за другом, размеры плоскостей уменьшаются, но их количество увеличивается. Чередование слоев позволяет формировать различные карты характеристик, что наделяет СНС способностью к идентификации более сложных иерархических признаков. Постепенно при прохождении нескольких слоев карта признаков вырождается в вектор. Последние несколько слоев СНС представляют собой классический персептрон, состоят из обычных нейронов и предназначены для классификации выделенных признаков[33].
Важным свойством СНС является использование общей матрицы весовых коэффициентов для всех нейронов в пределах плоскости. Данный подход позволяет использовать меньшее число настраиваемых параметров (весовых 33 коэффициентов) при большом количестве связей и повысить скорость процесса обучения. Таким образом, плоскости СНС представляют собой фильтры, каждый из которых осуществляет поиск индивидуальных характерных признаков входного изображения. Это позволяет сверточной нейронной сети запоминать взаимосвязь пространственно зависимых областей изображения. Характерные признаки, извлекаемые той или иной плоскостью, определяются в процессе обучения [9].
Если входное изображение искажено или смещено, то на выходе плоскости будет аналогично смещенный результат. Благодаря этому свойству обеспечивается устойчивость СНС к искажениям входных данных. Недостаток использования СНС заключается в сложности настройки оптимальных параметров: количество слоев, плоскостей, нейронов, размер рецептивного поля и т.д. Преимущества использования СНС для детектирования объектов на изображениях[41]:
-
структура СНС хорошо подходит для обработки двумерных данных;
-
наслаивающиеся друг на друга рецептивные поля обеспечивают взаимосвязь пространственно зависимых областей изображения;
-
повышенная устойчивость к аффинным и проекционным искажениям входных данных, шумам, изменению масштаба.
Благодаря своим преимуществам на сегодняшний день СНС активно используются для обнаружения лиц и других объектов на изображениях и видео последовательностяx. Как отмечено во введении, осуществлять реализацию и апробацию алгоритмов было решено на примере распознавания автомобильных номерных знаков. На данный момент СНС не использовались для детектирования автомобильных номерных знаков и ничего не известно о подобных экспериментах, что создает дополнительный интерес о возможности их применения для решения данной задачи. На основании проведенного анализа для решения задачи детектирования автомобильных номерных знаков в данной работе было принято решение использовать алгоритмы, основанные на сверточных нейронных сетях [9].
1.1.11 Структурные методы распознавания
Структурные методы предполагают распознавание символов на основе анализа их топологии, которая содержит информацию о взаимном расположении отдельных составных частей символов. Каждый символ можно представить в виде набора характеристик, которые могут быть представлены в виде формы графа. На исследуемом изображении производится анализ данных характеристик, на основе чего выполняется распознавание символа на изображении. На первом этапе данные методы требуют осуществления предварительной обработки изображения символа, которая заключается в проведении процедуры скелетизации (рис. 1.4).
Рисунок 1.4 – Пример скелетизации символа
После процедуры скелетизации каждый символ представляется в виде набора особых точек, для которых вычисляются следующие параметры: координаты особых точек; длина ребер графа; нормированное направление входов и выходов особых точек; кривизна дуги, соединяющей особые точки.
Так же к структурным методам можно отнести метод, основанный на выделении клики максимального размера в графе соответствия признаков. Кликой графа называется такое подмножество его вершин, в котором любые две вершины соединены ребром. Признаки, выделенные на изображении символа, формируются в граф и сравниваются с эталонным графом для каждого символа. Если признаки сформированного графа соответствуют эталонным признакам, то вершины графа соединяются дугами. После этого в сформированном графе выполняется поиск наибольшей максимальной клики. Символ на исследуемом изображении относят к тому классу, граф которого содержит наибольшее число вершин. Достоинством структурных методов является инвариантность относительно размера и стиля шрифтов. Недостаток структурных методов заключается в низкой скорости работы и невозможности распознавания символов, подверженных различным искажениям и дефектам (разрывы линий, слияние соседних линий) [10].
1.1.12 Признаковые методы распознавания
Признаковые методы распознавания основываются на представлении изображения символа в виде некоторого набора характеристик, называемых 42 признаками. Процесс формирования вектора признаков на основе исследуемого изображения символа, называется процессом выделения признаков. Принцип работы данных методов заключается в сравнении вектора признаков, выделенных на исследуемом изображении, с набором эталонных векторов признаков из обучающей выборки. Выделение признаков, присущих различным символам, происходит в процессе обучения системы на эталонных изображениях. Алгоритмы данного подхода обычно предполагают использование классификаторов, которые вычисляют Евклидово расстояние между текущим вектором признаков и векторами признаков, сформированными на основе обучающей выборки. Преимуществом признаковых методов является хорошая обобщающая способность и как следствие низкая чувствительность к изменениям масштаба, аффинным и проекционным искажениям символов. Так же данные методы обладают высокой скоростью распознавания. Недостаток признаковых методов иногда проявляется в чувствительности к шумам и дефектам на изображениях, в результате чего признаковая структура символов может быть искажена и деформирована. На основании анализа особенностей вышеперечисленных методов, для дальнейшей разработки алгоритмов распознавания символов были выбраны признаковые методы распознавания. Обзор методов, применяемых для выделения признаков объектов на изображениях, представлен в следующем разделе[47].
1.1.13 Морфологический анализ
Данный метод разработан J. Serra и Ю.П. Пытьевым в 70-е годы XX века и применяется для распознавания символов на изображениях, на основе морфологического анализа структурных характеристик каждого символа. Данный метод предполагает изучение топологии каждого символа и описание их в виде индивидуального набора признаков: заливы, проливы, озера. Озером называется структурная часть символа, которая со всех сторон ограничена контуром. Заливом называется структурная часть символа, которая не ограничена контуром только, с одной стороны. Проливом называется часть символа, которая не ограничена контуром с нескольких сторон. Количество данных признаков, их размер и взаимное расположение являются уникальным для каждого символа. В работах данный метод использовался для распознавания символов на автомобильных номерных знаках. Структура каждого символа описывается в виде эталонного шестимерного вектора признаков, который содержит информацию о количестве заливов, проливов и озер[38]. Исследуемое изображение анализируется на выявление признаков и сравнивается с эталонными векторами. Таким образом, происходит классификация символов на изображениях. Достоинство данного метода заключается в низкой чувствительности к аффинным и проекционным искажениям символов. Недостаток данного метода заключается в большой вычислительной сложности и высокой чувствительности к шумам на изображении, в результате чего структура символов может быть частично искажена[13].
1.2 Дорожные знаки
В настоящий момент в России дорожные знаки разделены на восемь групп:
-
предупреждающие знаки;
-
знаки приоритета ;
-
запрещающие знаки;
-
предписывающие знаки;
-
знаки особых предписаний;
-
информационные знаки;
-
знаки сервиса;
-
знаки дополнительной информации;
Рассмотрим основные из них.
Основными знаками в Российской федерации являются запрещающие дорожные знаки.