УДК 004.93'1

МОДИФИКАЦИЯ АЛГОРИТМА ВИОЛЫ-ДЖОНСА ДЛЯ РАСПОЗНАВАНИЯ ЛИЦ В РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ

Галеев Салават Фанилевич
Уфимский государственный авиационный технический университет
магистрант факультета информатики и робототехники

Аннотация
На основе объединения метода Виолы–Джонса и метода CAMShift в каскадную структуру, а также использования вейвлет - преобразования и метода линейного дискриминантного анализа предложена модификация алгоритма Виолы-Джонса для распознавания лиц на видеопоследовательностях в режиме реального времени. Целью данной работы повышение процента верно обнаруженных и распознанных лиц на видеопоследовательностях в режиме реального времени при использовании метода Виолы-Джонса.
Описан алгоритм и разработано программное обеспечение для распознавания лиц. Приведен пример работы программы.

Ключевые слова: , , , ,


Библиографическая ссылка на статью:
Галеев С.Ф. Модификация алгоритма Виолы-Джонса для распознавания лиц в режиме реального времени // Современная техника и технологии. 2017. № 5 [Электронный ресурс]. URL: https://technology.snauka.ru/2017/05/13529 (дата обращения: 12.07.2023).

Введение

В наши дни активно развивается направление, которое связано с интеллектуализацией алгоритмов обработки и анализа данных. Распознавание лиц является одной из главных практических задач, которая стала толчком для развития теории распознавания объектов [1].

Распознавание объектов основано на построении и использовании формальных операций над числовыми или символьными изображениями объектов. Результаты распознавания показывают отношения равенства между этими объектами и объектами, которые находятся в базе данных. Методы детектирования лиц применяются в системах технического видения, робототехнике, системах видеонаблюдения и контроля доступа, в системах взаимодействия «человек-компьютер». Решение задачи детектирования лиц имеет практическую перспективу и вызывает интерес для исследования.

Распознавание лиц заключается в определении одного или нескольких человек через сопоставление входных изображений с изображениями, находящимися в базе данных. Алгоритмы, используемые для решения задачи распознавания лиц, должны обеспечить достаточную точность распознавания и высокую скорость обработки видеопоследовательности.

Алгоритм Виолы-Джонса является одним из самых перспективных методов с точки зрения высокой производительности и низким числом неправильных срабатываний и большим процентом точно детектированных лиц [2].

Метод Виолы–Джонса основан на принципах интегрального представления изображения, методе построения классификатора на основе алгоритма адаптивного бустинга (AdaBoost), и алгоритме объединения классификаторов в каскадную структуру. Данные принципы дают возможность построить детектор лица, который сможет использоваться в режиме реального времени.

Детектор также неплохо находит и распознает черты лица при наклоне головы приблизительно до 30 градусов. При угле поворота больше 30 градусов процент верно обнаруженных лиц резко падает. Кроме того, данный процент верных обнаружений снижается при изменении условий освещения (затемнении или сильно ярком свете). В стандартной реализации метода Виолы-Джонса обнаружение повернутого лица человека под произвольным углом и при различных условиях освещения невозможно, что в значительной степени осложняет или делает невозможным применение метода в современных производственных системах с учетом их расширяющихся потребностей.

С помощью алгоритма CAMShift (Continuously Adaptive MeanShift) можно отслеживать объекты на основе цветовой информации [3].
Вейвлет-преобразование является одной из лучших техник для извлечения характеристик изображения [4]. В данной работе для извлечения признаков лица применяется вейвлет-преобразование Хаара. Метод линейного дискриминантного анализа эффективно применяется в задачах распознавания лиц для сопоставления признаков неизвестного изображения с известными признаками, которые находятся в базе данных [5].

Актуальность исследования связана с тем, что задача обнаружения лица на изображении часто является первым шагом в процессе решения задачи более высокого уровня — распознавания лица, деталей лица или его мимики. Кроме того, информация о присутствии и количестве лиц на изображении может быть полезна в системах автоматического учета числа посетителей; системах пропускного контроля в учреждениях, аэропортах и метро; автоматических системах предотвращения несчастных случаев; в фототехнике для автоматической фокусировки на лице человека и во многих других областях.

Целью данной работы является повышение процента верно обнаруженных и распознанных лиц на видеопоследовательностях в режиме реального времени при использовании метода Виолы-Джонса.

Для достижения указанной цели были поставлены следующие основные задачи:

1. Выбрать алгоритмы и методы, совместное применение которых вместе методом Виолы-Джонса обеспечит высокую точность и уменьшение ложных срабатываний при решении задач распознавания лиц;

2. Разработать модификацию алгоритма Виолы-Джонса на основе выбранных алгоритмов и методов, позволяющую распознавать лица на видеопоследовательностях в режиме реального времени;

3. Сравнить исходный метод Виолы-Джонса с предложенной модификацией.

1.Метод Виолы-Джонса

Самым перспективным на сегодняшний день с точки зрения высокой производительности и низкого числа ложных срабатываний и большим процентом точных обнаружений лиц является метод Виолы-Джонса.

С помощью этого алгоритма обнаружения лица можно обрабатывать изображения в реальном времени и достичь большой степени распознавания. Метод был предложен в 2001 году Полом Виолой и Майклом Джонсом [2]. Результат распознавания достигается за счет применения интегрального представления изображения, а также за счет использования простого и результативного классификатора, построенного посредством метода AdaBoost. В методе AdaBoost из большого набора «особенностей» выбирается несколько наиболее важных. Слабые классификаторы комбинируются в каскад, который позволяет легко откинуть фоновые участки картинки. Тем самым сосредоточить вычислительные ресурсы на тех частях изображения, на которых с высокой вероятностью присутствует лицо [2]. С помощью метода Виолы-Джонса можно распознавать разные классы изображений, но все же основной задачей при его разработке было детектирование лиц. Реализовано множество применений алгоритма.

Метод Виолы-Джонса до сих пор остается одним из используемых методов для поиска объектов на изображении в реальном времени. Метод определяет лица с высокой точностью и низким числом неправильных срабатываний.

2. Алгоритм отслеживания объекта CAMShift

Алгоритм CAMShift был разработан Гарри Брадски в 1998 г. со способностью отслеживания лица. Данный алгоритм объединяет метод отслеживания объекта Mean Shift для точного позиционирования положения объекта, который основан на карте вероятности цвета кожи и адаптивный шаг изменения размера участка отслеживания [3]. Вероятность цвета кожи каждого пикселя изображения находится с помощью метода Histogram Backprojection. Этот метод основан на цвете, используемом в виде цветового тона (Hue) модели HSV. Алгоритм CAMShift позволяет отслеживать положение лица с четырьмя степенями свободы (три степени свободы перемещения и одна степень свободы вращения в плоскости изображения).

Преимуществами данного метода выступают: сравнительно высокая производительность, небольшие требования к вычислительным ресурсам, возможность гибкой настройки точности позиционирования, использование в различных условиях освещенности, способность отслеживать вращение головы в плоскости изображения. Также метод CAMShift может работать при частичном перекрытии отслеживаемого объекта.

3. Вейвлет-преобразование

Вейвлеты находят применение во многих областях знаний при решении таких, задач как: распознавание образов, сжатие и обработка изображений, обработка и синтез сигналов, обучение нейросетей и во многих других. Вейвлеты – это общее название временных функций, которые имеют вид волновых пакетов с той или иной формой, расположенных по оси независимой переменной (t или х) и способных к смещению по ней, а также масштабированию (сжатию/растяжению). Вейвлеты можно создать при помощи особых базовых функций – прототипов, определяющих их вид и свойства. Вейвлет-коэффициенты получают интегральным преобразованием сигнала [4].

Для получения признаков изображения лиц в данной работе применяются вейвлет-преобразования Хаара. Был выбран данный вейвлет, поскольку он является одним из самых простых и легких в применении. К тому же пространство признаков вейвлета Хаара обладает достаточно полным (приемлемым) описанием объекта.

Вейвлет Хаара (Haar) – это кусочно-постоянные функции, заданные на нечетных интервалах разных масштабов, которые принимают два значения {–1;+1}. Вейвлет Хаара единичного масштаба и нулевого смещения представлен в виде функции, равной +1 на интервале [0;1/2) и –1 на интервале [1/2;1). Также такой вейвлет называют материнским. Вейвлет Хаара широко используется в задачах обработки дискретных сигналов, таких как массивы отсчетов аудиосигналов и цифровые фотографии. Отличительной особенностью преобразования Хаара является то, что его можно разделить и легко вычислить.

При работе с графикой необходимо обрабатывать двумерные массивы данных.

На примере преобразования Хаара хороша видна структура дискретного вейвлет-преобразования. На каждом шаге преобразования сигнал распадается на две составляющие: приближение с более низким разрешением – аппроксимацию и детализирующую информацию.

При двухмерном вейвлет-преобразовании получаются четыре матрицы. Первая является аппроксимирующей составляющей исходного сигнала, остальные три содержат детализирующую информацию – вертикальную, горизонтальную и диагональную.

Пример того, как вейвлет-преобразование Хаара используется для извлечения признаков лица, показан на рис. 1. На рисунке представлено двумерное дискретное вейвлет-преобразование. Слева представлено исходное изображение, а справа получившиеся четыре матрицы. В первой хранится уменьшенная копия исходного изображения, во второй – детализирующая информация по горизонтали, в третьей – детализирующая информация по вертикали, в четвертой – детализирующая информация по диагонали. В качестве детализирующей информации выступают усредненные разности пар значений пикселов.


Рисунок 1. Пример работы вейвлета Хаара

4. Метод линейного дискриминантного анализа (LDA)

LDA – метод статистики и машинного обучения, который используется для поиска линейных комбинаций признаков, оптимальным образом разделяющих два или более класса объектов или событий (т.е. объекты одного и того же класса должны находиться, как можно ближе друг к другу в пространстве, и при этом происходит максимизация расстояния между классами). Комбинацию, которая при этом получается, можно использовать в виде линейного классификатора или для уменьшения размерности пространства признаков перед последующей классификацией [5].

Модификация алгоритма Виолы-Джонса для распознавания лиц.

Предлагается проводить распознавание лиц в 2 этапа, т.е. модификацию алгоритма Виолы-Джонса будем выполнять следующим образом:

1) сохранение признаков известных лиц в базе данных. Сначала предлагается использовать метод Виолы – Джонса для детектирования лиц на исходном изображении. Затем дополнительно провести классификацию на принадлежность оцениваемой области коже человека для минимизации ложных срабатываний, т.е. ошибки 2 рода. После этого применить к полученному изображению вейвлет-преобразования для получения признаков лица (вейвлет-коэффициентов) и сохранить в базе данных.

2) На 2 этапе в процессе распознавания неизвестного лица повторяется 1 этап, только без сохранения в базе данных. Затем на основе использования метода линейного дискриминантного анализа происходит уменьшение числа признаков и их сопоставление с признаками, хранящимися в базе данных.

Для того чтобы метод Виолы-Джонса использовать совместно с методом обнаружения кожи (метод CamShift), применим метод комбинирования классификаторов в каскадную структуру. Каскадная структура позволяет повышать скорость обнаружения, сосредоточив свою работу на наиболее информативных участках изображения.

Структура каскадного детектора показана на рис. 2. Каскад состоит из слоев, которые представлены в виде классификаторов, обученных с помощью процедуры бустинга.


Рисунок 2. Структура каскадного детектора

Общие принципы работы каскадного классификатора на изображении приведены на рис.3.


Рисунок 3. Общие принципы работы каскадного классификатора

Блок-схема предложенной модификации для 1 этапа будет выглядеть следующим образом (рис.4)


Рисунок 4. Обнаружение лица и сохранение в базе данных

Таким образом, процесс сохранения признаков лица в базу данных происходит так (рис. 4):

1. Предоставляется очередное изображение.

2. Применение к изображению метода Виолы-Джонса для поиска области лица.

3. Если область лица не обнаружена, то метод Виолы-Джонса применяется для следующего очередного изображения.

4. Если область лица обнаружена, то к изображению применяется метод обнаружения кожи для классификации на принадлежность оцениваемой области лица коже человека.

5. Если оцениваемая область лица принадлежит по цвету коже человека, то выполняется процесс извлечения признаков лица с помощью вейвлет-преобразования.

6. Затем происходит уменьшение числа признаков лица и сравнение с признаками лица, находящимися в базе данных и вывод результата распознавания.

7. Если же оцениваемая область лица не принадлежит по цвету коже человека, то метод Виолы-Джонса применяется для следующего очередного изображения, т.е. возврат к шагу 1.

Процесс распознавания лиц в режиме реального времени согласно предложенной модификации алгоритма Виолы-Джонса происходит следующим образом (рис. 5).

Представляется очередное изображение. Затем к этому изображению применяется метод Виолы-Джонса для поиска местоположения области лица. Если область лица не обнаружена, то метод Виолы-Джонса применяется для следующего очередного изображения. Если область лица обнаружена, то к изображению применяется метод обнаружения кожи для классификации на принадлежность оцениваемой области лица коже человека. Если оцениваемая область лица принадлежит по цвету коже человека, то выполняется процесс извлечения признаков лица с помощью вейвлет-преобразования. Затем происходит уменьшение числа признаков лица и сравнение с признаками лица, находящимися в базе данных, и вывод результата распознавания. Если же оцениваемая область лица не принадлежит по цвету коже человека, то метод Виолы-Джонса применяется для следующего очередного изображения.


Рисунок 5. Блок-схема процесса распознавания лиц

Предложенная модификация алгоритма Виолы-Джонса для распознавания лиц в режиме реального времени обеспечит минимизацию ложных срабатываний и высокую точность распознавания. К тому же т.к. данная модификация работает только с областью лица, то она может обеспечить высокую скорость распознавания.

Эксперименты

Для распознавания лиц на видеопоследовательностях в реальном времени на языке объектно-ориентированного программирования C# (Visual studio 2015) с применением библиотеки Accord.Net Framework разработано программное обеспечение [6].

Во время обучения человек стоит перед камерой. Программа при нажатии на галочку «Детектор лица» обнаруживает лицо человека, затем сохраняет в базе данных с именем этого человека.


Рисунок 6. Пример сохранения обнаруженного лица в базу данных

Для проверки правильности работы программы этот процесс повторяется, и при нажатии на кнопку «Распознать» программа в реальном времени определяет – кто в данный момент стоит перед видеокамерой.

Скорость работы системы достигает 18 кадров/с.


Рисунок 7. Пример распознавания лиц в видеопотоке в режиме реального времени

Ниже приведена таблица сравнения исходного метода Виолы-Джонса и предложенной модификации.

Таблица 1 – Сравнение метода Виолы-Джонса и предложенной модификации

Критерий

Результаты методов

Поворот головы Поворот лица, 0 градусов

Метод Виолы-Джонса

Предложенная модификация

Поворот лица, 45 градусов

Метод Виолы-Джонса

Предложенная модификация

Поворот лица, 90 градусов

Метод Виолы-Джонса

Предложенная модификация

Условия освещения Хорошо освещенное помещение

Метод Виолы-Джонса

Предложенная модификация

Плохо освещенное помещение

Метод Виолы-Джонса

Предложенная модификация

Было проведено по 20 испытаний метода Виолы-Джонса и предложенной модификации при разных условиях освещения и углах наклона головы. Результаты испытаний представлены на рис. 8.

На рис. 8а представлено сравнение метода Виолы-Джонса и предложенной модификации в зависимости от угла наклона головы (от 0 до 90 градусов), на рис. 8б – в зависимости от условий освещения (при 100% освещении и до 30%).



а) б)

Рисунок 8. Сравнение метода Виолы-Джонса и предложенной модификации

при а) разных углах поворота головы, б) при разных условиях освещения

Таким образом, из таблицы 1 и рисунка 9 видно, что предложенная модификация метода Виолы-Джонса обеспечивает более высокий процент верно обнаруженных лиц при различных поворотах головы и условиях освещенности по сравнению с исходным методом Виолы – Джонса.

Выводы

1. Предложена модификация алгоритма Виолы-Джонса путем комбинированного использования методов Виолы–Джонса, CAMShift, вейвлет-преобразования и метода линейного дискриминантного анализа для распознавания лиц на видеопоследовательностях в режиме реального времени.

2. Разработана программа, в которой реализована предложенная модификация распознавания лиц на видеопоследовательностях в режиме реального времени, на языке объектно-ориентированного программирования С#.

3. Экспериментальные результаты показывают, что предложенная модификация обладает более высоким процентом верно обнаруженных лиц при различных поворотах головы и условиях освещенности, чем метод Виолы – Джонса.


Библиографический список
  1. Вапник, В.Н. Теория распознавания образов / В.Н. Вапник, А.Я. Червоненкис. – М.: Наука, 1974. – 416 с.
  2. Метод Виолы-Джонса как основа для распознавания лиц [Электронный ресурс]. Режим доступа: https://habrahabr.ru/post/133826/, свободный.
  3. Буй, Т.Т.Ч. Распознавание лиц и жестов на основе применения вейвлет-преобразования и метода главных компонент / Т.Т.Ч. Буй, Н.Х. Фан, В.Г. Спицын // Нелинейный мир, 2012. – № 6. – Т. 10. – С. 371–379.
  4. Павлов, А.Н. Анализ структуры нестационарных, коротких и зашумленных сигналов на основе вейвлет-преобразования: Автореферат / А.Н. Павлов. – Саратов, 2009.
  5. Линейный дискриминантный анализ [Электронный ресурс]. Режим доступа: http://www.machinelearning.ru/wiki/index.php?title=%D0%9B%D0%94%D0%90, свободный.
  6. Accord.Net Framework [Электронный ресурс]. Режим доступа: http://accord-framework.net/index.html, свободный
  7. Двойной, И.Р. Использование полярной цветовой модели для выделения лица на изображении / И.Р. Двойной, И.И. Сальников // Успехи современного естествознания. – 2012. – № 6. – С. 93–94.
  8. Лукьяница, А.А. Цифровая обработка видеоизображений / А.А. Лукьяница, А.Г. Шишкин. – М.: Ай-Эс-Эс Пресс, 2009. – 511 с.
  9. Татаренков Д. А. Анализ методов обнаружения лиц на изображении [текст] / Татаренков Д. А // Ежемесячный научный журнал – 2015. – № 84. – С. 270–275.


Все статьи автора «Галеев Салават Фанилевич»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: