Выделение лица по цвету кожи
Источник: Інформатика та комп’ютерні технології / Збірка праць VII міжнародної науково-технічної конференції студентів, аспірантів та молодих науковців – 22-23 листопада 2011 р., Донецьк, ДонНТУ . – 2011. У 2-х томах, Т. 1, с. 173-177
УДК 004.931
ВЫДЕЛЕНИЕ
ЛИЦА НА СНИМКЕ ИЗ ВИДЕОПОТОКА С ЦЕЛЬЮ ЕГО РАСПОЗНАВАНИЯ
Умяров Н.Х.,
Федяев О.И.
Донецкий
национальный технический университет, Украина
В данной работе
практически реализован один из важных этапов процесса автоматического
распознавания лиц – локализация лица на снимках из видеопотока. Выполнен анализ
современных методов поиска лица на изображении. Разработана программа выделения
лиц на основе алгоритма Виола-Джонса.
1
Постановка задачи
В настоящее время
задача распознавания человеческих лиц становится всё более актуальной. Процессу
непосредственного распознавания лиц предшествует важный этап автоматической
локализации лица на снимке, методы реализации которого сейчас активно
развиваются. Поэтому целью данной работы является разработка такой подсистемы,
которая вводит снимки с вэб-камеры, выделяет и локализует на них лица,
сохраняет изображения лиц в базе данных для последующего распознавания [1].
Вводимый снимок
S(x,y)
– представляет собой совокупность изображений отдельных объектов (лиц) и фона
S(x,y)
= L1(x,y)
+ L2(x,y)
+…+ Ln(x,y)
+ F(x,y),
где
n
– количество выделяемых на снимке лиц;
F(x,y)
– изображение фона; (x,y)
∈
G
– область определения снимка.
Снимок
S(x,y)
с видеокамеры определён только на дискретном множестве точек
D
с координатами (xi,yi)
∈
G.
При этом,
где
Dk
– дискретная область
k-го лица; D
– дискретная прямоугольная решётка, в узлах которой определён снимок
S(x,y).
Узлы решётки определяются координатами (xi,yj)
или их номерами (i,j),
в которых задаётся цвет снимка в данной точке, что в совокупности определяет
пиксель снимка.
Таким образом,
исходный снимок
S(x,y)
можно рассматривать как прямоугольную целочисленную решётку
P, узлы
которой являются пикселями:
,
где
i,j
– целочисленные координаты (номера) пикселя;
p(i,
j)∈{0,
1} – цветовой компонент пикселя.
Задача работы
заключалась в нахождении множества точек (i,j)∈Dk,
для которых
S(xi,yj)
=
Lk(xi,yi).
2
Детектор лица по цвету кожи
Детектор цвета
кожи, используя представление объектов в цвете, позволяет найти изображение
человеческого лица на фотографии или в видеопотоке. В случае использования
цветовой модели
HSB
для
качественного детектирования необходимо правильно подобрать параметры цвета
кожи. Алгоритм детектирования лица по цвету кожи показан на рис. 1.
Рисунок 1 —
Алгоритм выделения лица на чёрно-белом снимке
Успешную работу
алгоритма осложняет влияние освещённости на цвет кожи выделяемого лица. На рис.
2 показаны два изображения: на верхнем изображении лицо выделилось успешно, а на
нижнем — неудачно. Следовательно, недостаток данного алгоритма — сильная
зависимость от освещения.
Рисунок 2 —
Результаты выделения лица при разной освещённости изображения
3 Алгоритм
Виола-Джонса
Как видно, алгоритм
выделения лица по цвету кожи не годится для формирования качественной обучающей
выборки. Поэтому были рассмотрены другие методы, которые опирались на
антропологические особенности лица — расположение глаз, носа, рта, ушей. Из
этого класса наилучшие рекомендации имел алгоритм Виола-Джонса, описанный в 2001
году [2].
В его основе лежит
алгоритм
adaptive
boosting’a
(адаптивного усиления) или сокращённо
AdaBoost.
Смысл алгоритма заключается в том, что если есть набор эталонных объектов, т.е.
есть изображение и класс к которому оно принадлежит (например, -1 – нет лица на
изображении, +1 – есть лицо). Кроме того, имеется множество простых
классификаторов, из которых можно построить один более совершенный и мощный
классификатор. При этом в многошаговом процессе составления и обучения
финального классификатора акцент делается на эталоны, которые распознаются
«хуже». В этом и заключается адаптивность алгоритма, т.к. в процессе обучения он
подстраивается под наиболее «сложные» объекты. Примеры его применения показали,
что
AdaBoost
очень эффективный и быстрый алгоритм. Он хорошо себя зарекомендовал при решении
таких задач, в которых выделяемые объекты (например, лица) сильно зашумлены. На
рис. 3 показана идея локализации лица на изображении по данному алгоритму:
Рисунок 3 – Идея
алгоритма Виола-Джонса из библиотеки OpenCV
В основе алгоритма
лежат три ключевые концепции:
а) Использование
«Интегральных изображений», позволяющие вычислять площадь окна сканирования в
несколько раз быстрее, чем в алгоритме детектирования по цвету кожи (см.
подраздел 2). Интегральное изображение в точке (x,y)
включает в себя сумму пикселей, которые расположены левее и выше изображения:
,
(1)
где
ii(x,
y) –
значение интегрального изображения в точке (x,y).
Для вычисления
интегрального изображения используются следующие рекуррентные формулы:
(2)
где
s(x,
y) –
накапливаемая сумма строки,
s(x,
-1) = 0,
ii(-1,
y)= 0.
б) Адаптивный
алгоритм обучения выбирает небольшое число признаков низкого уровня из более чем
180 тыс. признаков. Существует много мотиваций для использования признаков, а не
отдельных пикселей. Самая важная причина: признак может кодировать разные
значения, которые трудно определять и изучать, используя конечное множество
обучаемых данных. Признаки вычисляются намного быстрее, чем пиксельные величины,
что подробно будет рассмотрено далее. В алгоритме Виола-Джонса используется три
вида признаков: два прямоугольника, три прямоугольника и четыре, хотя в
действительности число видов признаков может быть и больше. Область глаз более
тёмная по сравнению со средней областью лица и переносицы. Примитивы этой
конфигурации и размеров наиболее лучшим образом «характеризуют» данное
изображение. На основе таких классификаторов с отобранными наиболее эффективными
примитивами строится каскад классификаторов. Каждый последующий элемент каскада
имеет более жёсткие условия успешного прохождения, чем предыдущий (используется
больше примитивов). Тем самым до конца доходят только самые «правильные».
Обучение базируется на идее бустинга. Для успешного обучения требуется несколько
тысяч «положительных» и «отрицательных» изображений (в зависимости от того, есть
ли на нём лицо, или нет). На рис. 4 показан алгоритм бустинга [3]:
Рисунок 4 —
Алгоритм бустинга
Бустинг
используется для выбора небольшого конечного множества признаков высокого уровня
и для тренировки классификатора. Для обучения нейросетевого классификатора
применяется простой (слабый, англ.
weak)
алгоритм обучения.
в) Использование
каскада Хаара [4], который выбирает небольшое число признаков и объединяет их в
признаки более высокого уровня. В результате получаем каскад из 38 шагов на
большом наборе данных, состоящем из 507 лиц с более чем 75 миллионами
сканирующих окон. Лица распознаются со скоростью 10 вычислений признаков в
секунду для каждого окна. Результирующий детектор скользит по изображению в
разных масштабах, при этом увеличивается не масштаб изображения, а масштаб
самого окна.
Таким образом приобретается инвариантность к отдалению лица от камеры.
4
Программная реализация
Программный продукт
автоматического выделения лица на снимках видеопотока был реализован на ноутбуке
со встроенной веб-камерой и операционной системой семейства
Windows. Так
как информация, передаваемая с веб-камеры, поступает в виде потока байтов, то
для их обработки использовался стандартный
Microsoft
WebCam
driver, а
также библиотеки — надстройки, реализующие работу с веб-камерой на более высоком
уровне. Всё это существенно облегчило решение поставленной задачи, благодаря
избавлению от прямого вызова низкоуровневых функций. Результат работы программы
выделения лиц показан на рис. 5.
Рисунок 5 –
Результат автоматического выделения лица методом Виола-Джонса
Выводы
В данной работе
проанализированы современные алгоритмы выделения лиц на снимках, принимаемых из
веб-камеры в реальном времени. Изучены основные особенности цветового формата
HSB.
Построен алгоритм распознавания лица по цвету кожи человека. Из-за
чувствительности этого алгоритма к изменению яркости изображения предпочтение
было отдано методу Виола-Джонса. Выполнена программная реализация алгоритма
Виолы-Джонса, позволившая эффективно выделять лица на компьютерных изображениях.
Выполненная работа
является важным этапом на пути построения системы распознавания лица человека в
режиме реального времени.
Литература:
[1] Умяров
Н.Х., Федяев О.И. Параметрическая модель свёрточной нейронной сети // VI
международная научно-техническая конференция студентов, аспирантов и молодых
научных работников «Информатика и компьютерные технологии»: Т. 2 – Донецк,
ДонНТУ, 2010. – 292с.
[2] Paul Viola, Michael Jones. Rapid Object Detection using a Boosted Cascade of
Simple Features, 2001. — 8 pages
[3] Саймон Хайкин. Нейронные сети: полный курс.: издательский дом «Вильямс»,
2006. — 1104с.
[4] Rainer Lienhart, Alexander Kuranov, Vadim Pisarevsky. Empirical Analysis of
Detection Cascades of Boosted Classifiers for Rapid Object Detection.: Intel
Источник
Существует несколько цветовых пространств, которые могут быть применены для выделения областей на изображении, содержащих кожу человека. К группе априорных относятся методы, которые в качестве модели цвета кожи используют явно заданный многогранник в заданном цветовом пространстве, т.е. заранее задается некоторый жесткий набор правил.
Модель цвета HSV [44, 25] пользуется большей популярностью по сравнению с моделями цвета RGB, потому что она идентична человеческому восприятию цвета, а алгоритмы на её основе работают быстрее. Также HSV обеспечивает хороший результат для обнаружения кожи [39] при переменных условиях освещения [87]. Некоторые исследования [112] показывают, что модель HSV инвариантна для матовых поверхностей и окружающего освещения. Значение «оттенок» и «насыщенность» не изменяются даже при эффекте освещение [14]. Цветовое пространство HSV получено из RGB как [51, 10]: V=max(R,G,B) S D V G-B 6xD R = V 2-R + B Н = 6xD G = V 4-G + R 6xD B = V D=Max{R,G,B)-Min{R,G,B). (2.1) Sobottka and Pitas [104] предложили значений для компонентов Н и S как: для определения границ кожи используются условия: 0 # 50, 0.23 S 0.68. (2.2) Tsekeridou и Pitas [117] модифицировали это значение: 0 # 25 , 0.2 S 0.6 V 0.4. (2.3) Wang and Yuan [122] изменили значения для HSV и ввели новый диапазон: 0.35 V J.0 , 0.20 S 0.68 , 0 Н 50. (2.4) Цветовое пространство YIQ — основная цветовая схема, принятая национальным комитетом по телевизионным стандартам США для широковещательной передачи цветного телевещания. Сигнал I называется синфазным, Q — квадратурным. Цветовое пространство YIQ использовано в основном для передачи восприятия человеческим зрением. Преимущество этого цветового пространства — быстро различать области «не кожи» и «кожи» на человеческих лицах в цветных изображениях [88].
Abadpour and Kasaei [1] пришли к заключению, что в цветовом пространстве YIQ при удалении освещения (Y) увеличивается производительность обнаружения кожи. Конверсия в RGB и обратно осуществляется по следующим формулам [26]:
Для обнаружения кожи в данной работе использованы цветовые модели HSV и YIQ с выделением нескольких блоков изображения. Цель комбинаций состоит в том, чтобы улучшить производительность обнаружения кожи в ситуациях с вариантами освещения и с различным цветом кожи.
Исследованы цветовые модели HSV и YIQ, для которых, в свою очередь, экспериментально установлены граничные условия для отнесения пикселов к цвету кожи. Например, пиксели изображения относятся к коже, если выполняется следующее условие: (20 / 90) изYIQи
Чтобы ускорить работу алгоритма, предлагается использовать блочное выделение: главная идея алгоритма — разделение изображения на блоки, каждый размером 3 3 пикселя показана на рисунке 2.2. Затем производится тестирование центрального пикселя, если этот пиксель удовлетворяет условиям (2.7), то блок пикселей рассматривают как содержащий изображение кожи, в противном случае данный блок маркируется как не содержащий кожу.
Математическая морфология используется для извлечения некоторых свойств изображения, полезных для его представления и описания (контуров, остовов и т.п.). Также интерес представляют морфологические методы, применяемые на этапах предварительной и итоговой обработки изображений. Например, морфологическая фильтрация, утолщение или утоньшение.
В данной работе предлагается использовать морфологическое сужение (эрозия) и морфологическое расширение (дилатация). Эрозия, заключается в удалении точек вдоль границ в бинарном изображении (изображение, переведенное в двухцветную (черно-белую) цветовую схему). Связанный компонент После морфологической обработки дальнейший анализ бинарного изображения может быть произведен посредством выделения связанных компонентов на изображении. Два пиксела называются связанными, если они расположены в соседних ячейках. При этом вводится понятие 4- и 8-связанности. 4-связанные пиксели соседствуют по вертикали и по горизонтали, а 8-связанные -по горизонтали, вертикали и диагонали.
Исключение областей, не относящихся к лицу
Для исключения фрагментов, полученных на предыдущих шагах, которые не относятся к области лица, можно использовать правила, предложенные в работе [132]: 1- Исключаем из рассмотрения фрагменты, размер которых меньше чем 1/600 от общего размера изображения в пикселях. 2- Соотношение между шириной и высотой фрагмента, содержащего лицо, должно удовлетворять следующим условиям: 1 ширина l5 57 или 06 ширина 2 высота Экспериментальные исследования показали, что для фильтрации полученных на предыдущих этапах фрагментов изображения с целью исключения не содержащих изображение лица, лучшие результаты дает комбинация правил (2.8) и (2.9) (1 высота 2) и исключение фрагментов, размер которых меньше 400 пикселей. Для обнаружения границ лица в полученных фрагментах используется детектор пикселей границы на основе оператора Собеля [27, 100]. Сравнение с шаблоном лица
Недостаток метода обнаружения кожи — сложность распознавания границ области лица, связанная с тем, что данный метод основан только на классификации пикселов изображения с целью обнаружения областей, содержащих цвет кожи, поэтому для обнаружения более точных границ лица и исключения «не — лиц», предлагается использовать метод сравнения с шаблонами.
Преимущество метода сравнения с шаблонами состоит в том, что его просто реализовать для определения расположения лица и отдельных фрагментов (нос, глаза, рот и т.д.).
Основа этого метода заключается в выделении областей лица на изображении, и последующем сравнении этих областей для различных изображений.
Для тестирования был выбран готовый шаблон. Шаблон содержит собой изображение центральной части лица и имеет основные его компоненты: глаза, брови, нос и рот (показан на рисунке 2.4). Использование в качестве шаблона только центральной части лица позволяет устранить влияние наиболее непостоянных частей головы человека (верхних и нижних), содержащих прическу и/или бороду. Обнаружение лица с помощью шаблона, тестирование каждой из областей изображения с заданным шаблоном.
Шаблон масштабируется согласно высоте и ширине проверяемой области. Отнесение части изображения к области, содержащей лицо, производится путем расчета корреляции между исследуемой частью изображения и шаблоном. Для этого используется коэффициент корреляции (г): r= ri(zxy)-(zx)(zy) -i r i. (2.10) n(Zx2)-(Zx)2 Jn(Zy2)-(Zy)2
Если получившиеся значение по модулю находится ближе к 1, то это означает наличие сильной связи, а если ближе к 0 — связь слабая или вообще отсутствует. Если коэффициент корреляции близок к -1, это означает, что между переменными наблюдается отрицательная корреляция. Экспериментально установлено, что лучшие результаты получаются, когда коэффициент корреляции г 0.6.
Источник
Подбор косметики начинается с базового знания: оттенки мейкап-средств должны соответствовать тону кожи и цветотипу. В противном случае гармонии не добиться. Поможем все выяснить прямо сейчас
Содержание
- Цветовая палитра оттенков кожи
- Как определить оттенок кожи?
- Макияж для оливковой кожи
- Макияж для фарфоровой кожи
- Макияж для бронзовой кожи
- Нужно ли менять привычный макияж зимой или летом?
- Если при поиске средств ухода определяющий фактор — тип кожи (нормальный, сухой или, например, жирный), то декоративную косметику следует подбирать с учетом ее оттенка. Причем определяющее значение имеет не то, бледная у вас кожа или смуглая; гораздо важнее «температурные» параметры — нужно знать, теплый у вас тон или холодный. В материале разбираемся, как определить оттенок кожи и чем это знание полезно.
Цветовая палитра оттенков кожи
Она отличается голубоватым подтоном. Создается впечатление, будто на солнце человек с таким типом кожи не бывает совсем. К нему относятся такие оттенки как фарфоровый и «слоновая кость» — очень светлые, почти прозрачные.
© Makeup.ru
Чуть менее светлая, чем кожа предыдущего типа. Еще одним важным отличием является нежный розоватый подтон, который делает оттенок в целом теплее. Но несмотря на это, средства для макияжа лучше выбирать в более холодных тонах.
© Makeup.ru
Это, в основном, бежевые оттенки кожи, которые отличаются теплым подтоном. Кажется, что она немного «подрумянилась» на солнце и стала слегка золотистой. Особенно удачно в макияже будут смотреться коричневая помада, бронзатор и тени в бежевой гамме.
© Makeup.ru
В подтоне этого типа кожи соединились желтый и зеленый оттенки. Со стороны она одновременно и теплая, и бледная. Обладательницам такого оттенка кожи она нередко кажется землистой — но в этом виновата нехватка увлажнения и сияния.
© Getty
У загорелой кожи, как правило, теплый оттенок.
© Getty
Ее отличают более темные золотисто-коричневые тона. Для девушек со смуглой кожей тоже характерен теплый цветотип. Для макияжа идеально подойдут средства в бежево-коричневой гамме: помады, тени и румяна.
© Getty
Вернуться к оглавлению
Как определить оттенок кожи?
Чтобы определить оттенок кожи и уточнить, теплый он или холодный, девушки могут пройти тест, который будет достоверным, даже если проводить его самостоятельно в домашних условиях. Важное условие: делать это необходимо при естественном освещении. Электрические лампы искажают восприятие.
1
Посмотрите на запястье с внутренней стороны — там, где просматриваются вены. Если они кажутся синими или фиолетовыми, то кожа у вас — холодного оттенка. Если создается впечатление, что они зеленые, это говорит о том, что ваш тон кожи — теплый. Сложно понять, какого цвета вены? В этом случае тон, скорее всего, нейтральный — не теплый и не холодный; это характерно для обладательниц оливкового оттенка кожи.
© Getty
2
Поднесите к лицу белый лист бумаги и посмотрите в зеркало. Если на коже проявляется розоватый, красноватый или же синеватый подтон, можно точно сказать, что оттенок холодный. Желтизна указывает, напротив, на теплый тип. А те, кто видит, будто кожа «посерела» рядом с листом, могут быть уверены, что у них нейтральный оттенок кожи.
© Getty
3
Вспомните, как ваша кожа обычно реагирует на солнце в первые дни загара. Если она краснеет уже через полчаса, значит, она холодного типа. У людей, которые редко страдают от солнечных ожогов и без труда обретают ровный золотистый загар, теплый оттенок кожи.
© Getty
Вернуться к оглавлению
Макияж для оливковой кожи
Главная характеристика оливковой кожи — нейтральность: в ней сочетаются как теплые, так и холодные пигменты. Из-за этого она может казаться серой, землистой. Поэтому тональный крем должен быть с эффектом сияния (ищите слово glow в названии). Что касается оттенка, выбирать его следует в зависимости от цели: если хочется, чтобы тон кожи стал ярче и теплее, возьмите средство с бежево-желтым подтоном. Хороши выбором станет и «слоновая кость».
© Getty
Подчеркивать глаза холодными оттенками не стоит — это сделает кожу более тусклой, чем она есть на самом деле. То же касается и нейтральных серо-коричневых тонов. Лучше использовать теплые тени с легким шиммером, а также подводки классических цветов.
© Makeup.ru
Телесный nude девушкам с оливковой кожей не подходит. Холодные розовые оттенки будут «спорить» с тоном. Удачный акцент на губы создадут яркие красно-оранжевые оттенки, красно-коричневый, бордовый и коралловый.
© Makeup.ru
Вернуться к оглавлению
Макияж для фарфоровой кожи
Чтобы фарфоровая кожа не выглядела слишком бледной, нужно сделать выбор в пользу тонального крема с розовыми пигментами — они освежат цвет лица, сделают его более «живым». Если такого крема под рукой не оказалось, выручат румяна холодного розового оттенка.
© Getty
В случае с бледным фарфоровым тоном кожи особых ограничений в выборе оттенков нет. Это вполне может быть мейкап в зимней гамме оттенков (серебро, серый, синий — с сиянием и без).
© Makeup.ru
Но теплая палитра тоже будет удачным решением — персиковый и дымчато-розовый оттенки точно гармонируют с таким типом кожи.
Лучше всего на фоне фарфоровой кожи выглядят оттенки розового — как сдержанные, так и насыщенные вроде фуксии.
© Getty
© Getty
Акцент на губы играет даже более значительную роль, чем макияж глаз, так как помогает избавить образ от болезненной бледности. Чтобы он сработал эффективнее, подбирайте румяна в цвет помады.
© Getty
Вернуться к оглавлению
Макияж для бронзовой кожи
Теплый бежево-желтый — это, пожалуй, единственно возможный вариант. Розоватые оттенки на смуглых девушках выглядят неестественно. Несмотря на золотистый оттенок, такой тон рекомендуют дополнительно подчеркивать бронзером.
Девушкам с кожей средних и темных тонов идет интенсивный мейкап с использованием насыщенных оттенков (коричневым, изумрудным, фиолетовым, сливовым, бордовым), но выбирать лучше текстуру с эффектом сияния.
© Makeup.ru
Кстати, если вы любите зеленую гамму, можете попробовать повторить изумрудные smoky eyes.
© Makeup.ru
На губы тоже можно делать акцент с помощью средств темных оттенков, которые создают drama-эффект. В то же время необычно и ярко в сочетании с такой кожей выглядят неоновые цвета — например, розовый. Хорошо подойдет Vice Lipstick от Urban Decay.
© Makeup.ru
Вернуться к оглавлению
Нужно ли менять привычный макияж зимой или летом?
Подобранный по оттенку кожи повседневный макияж универсален, так что необходимости «подстраивать» его под сезон нет. Но по желанию, вы можете летом заменить темные оттенки на более жизнерадостные, а зимой снова вернуться к базовым цветам.
А вы пробовали определить свой оттенок кожи с помощью теста? Напишите комментарий.
Вернуться к оглавлению
Источник