Решение задачи детектирования человека на изображении, в реальном времени реализуемое зрительной системой человека, в автоматических системах сталкивается со следующими сложностями: разнообразный внешний вид лица у разных людей; значительные изменения вида изображения при изменении ориентации лица и руки; присутствие индивидуальных особенностей (борода, очки и т.д.); перекрытие части лица или рук посторонними предметами; а также различное освещение – все это в значительной степени влияет на результат детектирования. Анализ вышеперечисленных трудностей приводит к необходимости применения комбинированного подхода, включающего как анализ цветовой информации, так и структуры детектируемых объектов. Для анализа цвета было решено применить алгоритм цветовой сегментации. В качестве метода, реализующего структурный подход, авторами статьи был взят метод Виолы – Джонса. Целью данной работы является совместное применение алгоритма цветовой сегментации и метода Виолы – Джонса для детектирования лиц и рук на изображениях.
Исследование существующих алгоритмов сегментации
Существующие алгоритмы обнаружения объектов на изображении условно можно разделить на две категории: методы эмпирического детектирования и методы моделирования изображения [5, 6]. Среди методов эмпирического обнаружения лица и рук выделяется семейство методов, использующих в качестве признака цвет кожи.
Вторая категория методов опирается на инструментарий распознавания образов, в них задача обнаружения объектов рассматривается как частный случай общей задачи распознавания. На основе обучающей выборки строится модель изображения лица, и задача обнаружения сводится к проверке входного изображения на удовлетворение полученной модели. Метод главных компонент (PCA) применяется для снижения размерности пространства признаков, не приводя к существенной потере информативности тренировочного набора объектов. Факторный анализ (FA) опирается на гипотезу о том, что наблюдаемые переменные являются косвенными проявлениями относительно небольшого числа неких скрытых факторов, таким образом, это совокупность моделей и методов, ориентированных на выявление и анализ скрытых зависимостей между наблюдаемыми переменными. Линейный дискриминантный анализ (LDA), основной задачей которого является нахождение пространства, в котором разница между различными классами объектов максимальна [2]. В настоящее время метод Виолы – Джонса является одним из самых эффективных методов для поиска области лица на изображении в силу своей высокой скорости и точности. В основе метода лежат идеи: интегрального представления изображения, извлечение признаков Хаара, построения каскадного классификатора на основе алгоритма адаптивного бустинга. Данный метод позволяет осуществлять поиск лица в режиме реального времени [1]. В данной работе будет исследована комбинация алгоритма цветовой сегментации и метода Виолы – Джонса.
Алгоритмы цветовой сегментации
Среди эмпирических методов обнаружения лиц и рук широкое распространение получили методы, использующие цветовую сегментацию областей кожи. Причина популярности состоит в том, что использование цвета кожи как признака для обнаружения лица сочетает в себе несколько важных преимуществ:
1) малая вычислительная сложность и, как следствие, высокая скорость обработки;
2) устойчивость к изменению ориентации и масштаба лица;
3) устойчивость к изменению освещения (за исключением цветного);
4) устойчивость к изменению выражения лица и частичного перекрытия лица другим объектом сцены.
К недостаткам этого метода можно отнести:
1) потенциальная возможность ложного обнаружения предметов с цветом, близким к цвету кожи;
2) зависимость от цветового баланса камеры и цвета освещения [2].
Вышеперечисленные достоинства обнаружения лиц по цвету делают использование характерного цвета кожи как признака для распознавания весьма привлекательным, даже несмотря на имеющиеся недостатки. Результатом цветовой сегментации кожи должен быть набор областей изображения, близких по цвету к человеческой коже. Обнаружение таких областей дает дополнительный признак для локализации лица на изображении.
Существует несколько методов цветовой сегментации кожи на изображении: априорные, параметрические и непараметрические.
Априорные методы. К группе априорных относятся методы, которые в качестве модели цвета кожи используют явно заданный многогранник в определенном цветовом пространстве, т.е. заранее задается некоторый жесткий набор правил. К преимуществам априорных методов можно отнести простоту реализации и отсутствие обучения. Основным недостатком априорных методов является необходимость подбирать удобное цветовое пространство и адекватный набор правил эмпирически.
Непараметрические методы. Основная идея таких методов состоит в конструировании вероятностной карты кожи, т.е. каждому значению цвета в дискретизированном цветовом пространстве ставится в соответствие вероятность принадлежности этого цвета коже. К этому классу методов относится классификатор Байеса. К преимуществам непараметрических методов можно отнести простоту реализации, отсутствие знаний о форме и параметрах распределения; высокий уровень точности распознавания. Недостатки выражаются в необходимости создания больших обучающих наборов.
Параметрические методы. Параметрические методы используют явное представление распределения цвета кожи в выбранном цветовом пространстве. Параметры модели вычисляются на основании тренировочных данных – изображениях с выделенными областями кожи. Преимущества параметрических методов: компактная модель; способность обобщать и интерполировать недостающие данные. Недостатки: высокая зависимость от выбранного заранее распределения, от выбора цветового пространства, т.к. в модели заложено предположение о форме распределения цвета кожи; высокий уровень ложного обнаружения. В данной работе исследуются априорные и непараметрические методы.
Классификатор Байеса
На основании сравнения существующих методов цветовой сегментации кожи был выбран метод моделирования распределения с помощью Байесовской карты вероятностей.
Вероятность принадлежности цвета «с» коже определяется по формуле
P(c| skin), P(c|¬skin) напрямую вычисляются из набора тренировочных изображений, с областями кожи, сегментированными вручную (отношение количества пикселей цвета соответственно кожи и не-кожи на обучающих изображениях к общему количеству пикселей). Априорные вероятности P(skin), P(¬skin) также вычисляются исходя из тренировочного набора [2]. Вероятность P(skin) вычисляется как отношение количества данных пикселей из всей выборки на общее число пикселей, попавших в нее.
В работе предлагается проводить анализ соседних пикселей, используя свойство пространственной когерентности. Для того чтобы пиксель с цветом «с» считался кожей, его соседние пиксели также должны принадлежать «коже» (принадлежать «коже» должны хотя бы 3 соседних пикселя), причем разница в их цветовых компонентах Cb и Cr не должна превышать двойки. Подобный подход позволяет устранить случайные шумовые всплески в подобном «коже» цветовом диапазоне, а также разграничить цвет кожи и цвет волос.
Настройка параметров для априорного метода
В работе рассматривались цветовые пространства RGB [7], HSV [9], YCbCr [4]. Пространство RGB было выбрано для сравнения, а пространства HSV и YCbCr – из-за содержания в них яркостной компоненты. Избавление от яркостной компоненты при анализе цвета пикселей дает возможность получения инвариантности к изменению освещенности на изображении.
Граничные значения для каждого цветового пространства подбирались экспериментально. Тестовая выборка состоит из пятнадцати изображений различной освещенности. Начальные значения выбирались на основе данных, полученных исследователями этой области [2, 4, 9]. Для пространства RGB было выбрано следующее ограничение [2]: R > 95 и G > 40 и B > 20 и max{R,G,B}−min{R,G,B} > 15 и |R−G| > 15 и R > G и R > B.
Для пространства HSV были выбраны следующие значения: H Î (0, 50] или H Î [93, 100); S Î [0,23; 0,68]. Они были скорректированы относительно значений, указанных в статье [9]: 0,12 ≤ S ≤ 0,6, 93 ≤ H ≤ 100 or 0 ≤ H ≤ 50.
Для пространства YCbCr были выбраны следующие значения: Cb Î [90, 115]; Cr Î [135, 170]. Они были скорректированы относительно значений, указанных в статье [4]: 95 < Cb < 115, 135 < Cr < 170.
Теоретически цвет пикселя не должен зависеть от яркостной составляющей в пространствах HSV и YCbCr. Поэтому при поиске пикселей кожи учитывались только цветовые компоненты: H и S, Cb и Cr.
При анализе пикселей на принадлежность их коже авторами данной работы была предложена проверка дополнительного условия на когерентность соседних пикселей. Пиксель считается принадлежащим коже в случае, если выполняется условие принадлежности его цвета цвету кожи, и если хотя бы половина его соседей также принадлежит коже (второе условие проверяется на втором проходе алгоритма).
Эксперименты
При сравнении результатов сегментации с использованием различных цветовых пространств было установлено, что наилучшие результаты сегментации достигаются на основе цветового пространства YCbCr, что согласуется с результатами статьи [3]. Данное пространство решено было использовать в дальнейших исследованиях.
Для оценки распределения с помощью Байесовской карты вероятностей необходима обучающая выборка. Для этого требуются изображения лиц людей, на которых присутствуют пиксели только цвета кожи. В обучающей выборке содержится 280 изображений [10].
Тестирование проводилось на 100 изображениях, содержащих 161 лицо и 75 рук. Так как при тестировании алгоритм Виолы – Джонса показывает незначительное количество ложных срабатываний по сравнению с числом недетектированных объектов, было решено первоначально применять алгоритм цветовой сегментации, а затем метод Виолы – Джонса.
Анализ детектирования лиц комбинацией алгоритма цветовой сегментации и метода Виолы – Джонса
При детектировании лиц исходный метод Виолы – Джонса работает достаточно хорошо. Из всех лиц с помощью этого метода правильно было обнаружено 121 лицо. Этот результат удалось улучшить при дополнительном применении цветовой сегментации. При предварительной сегментации изображений дополнительно было обнаружено 14 областей, содержащих лица. Нераспознанными остались 26 лиц. В основном эти лица располагались под наклоном или в профиль. Неправильно детектированных областей с помощью априорного метода оказалось 7, с помощью классификатора Байеса – 5 (табл. 1). Классификатор Байеса оказался точнее, однако скорость его работы оказалась в 4 раза ниже, чем при априорной сегментации.
Таблица 1
Результат детектирования лиц на изображениях
Метод структурного детектирования |
Метод цветовой сегментации |
Время, мм:сс |
Количество правильно детектированных лиц |
Количество ошибочно детектированных лиц |
Общее количество лиц |
Метод Виолы – Джонса |
Классификатор Байеса (YCbCr) |
06:47 |
142 |
5 |
161 |
Априорный метод (YCbCr) |
01:42 |
135 |
7 |
||
– |
01:30 |
121 |
14 |
Среди тестовых изображений были люди с очками, с бородой, с приоткрытым ртом, с закрытыми глазами. Эти особенности никак не влияли на процесс детектирования. В некоторых случаях корректно детектировались даже размытые лица.
Анализ детектирования рук
При распознавании рук метод Виолы – Джонса без первоначальной сегментации работает плохо. Это связано с тем, что метод Виолы – Джонса, как и любой другой структурный подход, не является эффективным при детектировании рук, так как руки, в отличие от лица, визуально могут значительно отличаться друг от друга. Из 75 рук с помощью этого метода было обнаружено всего 4. При предварительной сегментации априорным методом было обнаружено 48 областей, содержащих руки. Нераспознанными остались 27 рук. При предварительной сегментации классификатором Байеса число правильно сегментированных рук стало равным 56 (табл. 2).
Таблица 2
Результат детектирования рук на изображениях
Метод структурного детектирования |
Метод цветовой сегментации |
Время, мм:сс. |
Количество правильно детектированных рук |
Количество ошибочно детектированных рук |
Общее количество рук |
Метод Виолы – Джонса |
Классификатор Байеса (YCbCr) |
06:47 |
56 |
5 |
75 |
Априорный метод (YCbCr) |
01:42 |
48 |
5 |
||
– |
01:30 |
4 |
0 |
После предварительной сегментации вероятность положительного распознавания увеличивается, так как бинарные изображения, полученные на выходе после цветовой сегментации, лучше подлежат структурной сегментации.
Заключение
В качестве основы для работы были изучены и выбраны методы детектирования лица и рук. Среди эмпирических методов обнаружения лица и рук были выбраны методы, использующие цветовую сегментацию областей кожи, а именно априорные и непараметрические методы.
Для реализации априорных методов цветовой сегментации были выбраны три цветовых пространства: RGB, HSV, YCbCr. Экспериментально установлены границы компонент цветовых пространств, пиксели которых относятся к коже человека. Каждое цветовое пространство при выборе пикселей кожи имеет свои плюсы и минусы. Наиболее удачным является про странство YCbCr.
В качестве непараметрического метода был выбран классификатор Байеса. Было произведено обучение классификатора на 280 изображениях, представляющих собой «маски» лиц людей на черном фоне. Классификатор Байеса работает в 4 раза медленнее, чем априорные методы, однако он лучше справляется при значительных вариациях цветов кожи (например, в присутствии изображений светлокожих и темнокожих людей). Для улучшения работы алгоритмов в работе предложен анализ пикселей цвета «кожи» на наличие пространственной когерентности.
Для достижения наилучших результатов авторами была предложена комбинация алгоритма цветовой сегментации с методом Виолы – Джонса. При детектировании как лиц, так и рук целесообразнее сначала сегментировать изображение, а затем применять метод Виолы – Джонса.
Рецензенты:Тузовский А.Ф., д.т.н., профессор, кафедра «Оптимизация систем управления», институт кибернетики, ФГАОУ ВПО НИ «Томский политехнический университет», г. Томск;
Кориков А.М., д.т.н., профессор, заведующий кафедрой «Автоматизированные системы управления, факультет систем управления, ФГБОУ ВПО «Томский государственный университет систем управления и радиоэлектроники», г. Томск.
Работа поступила в редакцию 18.11.2014.