facedetection+genderrecognition_review

Post on 21-Jun-2015

843 Views

Category:

Entertainment & Humor

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Алгоритмы выделения лиц и распознавания пола

Принцип работы

2

Постановка задачи

Исходное

изображение

Изображение с

выделенными

лицамиРаспознавание

пола

мм

мжж

3

Принцип выделения лиц

• Задать прямоугольное окно, разрешением N×N, N определяет минимальный размер детектируемого лица

• Сканировать изображение окном по горизонтали и вертикали с шагом в один пиксель

• Многократно масштабируя изображение, повторять сканирование для нахождения лиц больших размеров

K

K

K

4

Принцип выделения лиц

• Для каждого окна (анализируемых окон несколько миллионов) принять решение – «лицо»; «не лицо», т.е. построить классификатор на два класса

• Наложить на изображение рамки окон, для которых были приняты положительные решения

K

K

K

5

Принцип построения классификатора

• Извлечение информативных признаков (таких характеристик изображения, которые были бы различны для «лиц» и «не лиц», и по которым можно было бы разделить наши классы)

Матрица значений яркостей пикселей

Вектор значений признаков

6

Принцип построения классификатора

• Вычисление числа, как функции от значений признаков

• Принятие решения путем сравнения этого числа с порогом

Скалярное число

Вектор значений признаков

ДА (лицо)

НЕТ (не лицо)

7

Оценка работы алгоритма

1) Число ошибок I рода.Возникают, когда алгоритм обнаружения

пропускает детектируемые объекты на изображении.

2) Число ошибок II рода.Заключаются в том, что алгоритм выделения

детектирует как «объект» некоторую область на изображении, которая объектом не является.

7

8

Обучение классификатора

С помощью набора обучающих изображений необходимо:

• Выбрать / отобрать небольшое число самых лучших признаков из всех имеющихся

• Получить функцию для вычисления итогового значения классификатора

• Подобрать порог

Скалярное число

Вектор значений признаков

ДА (лицо)

НЕТ (не лицо)

9

Методы обучения

• Бустинг• Метод опорных векторов• Разреженная сеть просеивающих

элементов

• Искусственные нейронные сети• Байесовский классификатор• Анализ главных компонент• Линейный дискриминантный анализ

10

Бустинг

Признаки – прямоугольные (Хааровские)• Вычислить два числа - сумму значений пикселей в темной и светлой области• Взять разность• Учесть все возможные разрешения этих прямоугольных областей и их положение внутри окна детектора• Получается огромное число признаков (больше, чем было пикселей)

11

Бустинг

Отбор лучших признаков

Значение j-ого признака, посчитанное для обучающих образцов

)(xfj

)( pj xf)( nj xf

θопт• Подбор оптимального порога, исходя из минимизации числа неверно классифицированных образцов для

каждого признака• Выбор признака, имеющего минимальную ошибку

12

Бустинг

Отбор лучших признаков - AdaBoost

)(xfjθопт• Ошибка считается, как сумма весов, присвоенных обучающим образцам• Веса обновляются при выборе каждого следующего признака: веса неверно классифицированных образцов увеличиваются, а верно классифицированных – уменьшаются• Таким образом будет отобран тот признак, который не ошибается на тех образцах, на которых ошибался предыдущий, и тем самым исправляет его ошибки

0,14 0,140,14 0,14 0,14 0,140,14

0,880,020,020,020,02 0,02 0,02

13

Бустинг

Функция классификатора

случаяхостальныхв

pxfpеслиpfxh

jjjjjjjj

0

,1,,,

jt

jtt

,

,1log

Линейная комбинация слабых классификаторов

Значение признака сравнивается с порогом

Веса обратно пропорциональны ошибке

T

ttt xhxF

1

)()(

14

Бустинг

Итоговое решение

случаяхостальныхв

xFxC

T

tt

0

)(1)( 1

21

Число отбираемых признаков для достижения нужного уровня детектирования очень велико

Для миллиона окон столько вычислений займет слишком много времени

Нужно быстро отсеять основную массу окон совсем непохожих на лица простеньким классификатором

Затем продолжать отсеивать оставшиеся «не лица» более массивными классификаторами

15

Бустинг

Каскадная структура

1-йслой1-й

слой2-й

слой3-й

слойN-й

слой

Поступающее окно изображения

)(1 xC )(2 xC )(3 xC )(xCN

• Итоговый детектор содержит 38 слоев, включающих в себя в общей сложности 6060 признаков

• Первый слой – 2 признака; второй слой – 10 признаков; следующие два – 25 признаков; следующие три – 50 признаков; и т. д.

16

Метод опорных векторов Признаки – значения пикселей, представленные в виде вектора

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

17

Метод опорных векторов

Опорные вектора mXX ,,1

m ,,1

m

iiii bXXkyXf

1

),(sgn)( )2

exp(),(2

2

xx

xxk

Коэффициенты линейной комбинации

Построение разделяющей гиперплоскости

Проецирование в пространство большей размерности

18

m

iiii bXXkyXf

1

),(sgn)(

m

iii bXZkXf

1

),(sgn)(

mm 2

1 1

),(),(min

m

i

m

iiiiii ZkXky

Метод опорных векторов

Каскадная структура

3 опорных вектора

+ + + +

-

+

----

32 опорных вектора

4 опорных вектора

8 опорных векторов

16 опорных векторов

19

Разреженная сеть просеивающих элементов

Вычисление SMQT признаков

001010010

Представление в виде вектора

82

Пересчет в виде

индекса

Признаки

20

Wx

facex

Wx

nonfacex xMhxMh

Обучение

Wx

iface

x xMhЕсли ))(( ))(())(( xMhxMh iface

xiface

x

))(())(( xMhxMh iface

xiface

x Wx

iface

x xMhЕсли ))((

Каскадная структура

Разреженная сеть просеивающих элементов

20 признаков

50 признаков

100 признаков

200 признаков

648 признаков

+ + + +

-

+

----

Классификатор

21

Распознавание поламм

мжж

Чем принципиально отличается распознавание пола от выделения лиц?

Нужно анализировать всего лишь несколько окон, поэтому распознавание пола занимает в разы меньше времени

БОЛЬШЕ НИЧЕМ

22

Еще пара методов обучения

•Метод главных компонент (PCA)•Линейный дискриминантный анализ (LDA)

nx RИзображение проецируется в пространство признаков меньшей размерности :

где W – матрица

my R

,y Wxm n

23

PCA & LDA• Матрица межклассовой

дисперсии:

• Матрица внутриклассовой дисперсии:

• Ковариационная матрица:

где– c – количество классов

i – среднее значение класса i

– | i | - номер изображения из i..

1

( )( )c

TB i i

i

S

c

i x

TikikW

ik

xS1

))((

1

( )( )k i

cT

T k i B Wi x

S x S S

1

2

12

(1)

(2)

(3)

24

PCA & LDA

• PCA

Максимизируется дисперсия векторов обучающей выборки

• LDA

Максимизируется отношение межклассового к внутриклассовому расстоянию

WSWW TT

WPCA maxarg

WSW

WSWW

WT

BT

Wfld maxarg

12

PCA

FLD

25

Алгоритмы в Signage_demo

• Выделение лиц

AdaBoost

• Выделение других объектов

AdaBoost

• Распознавание пола

Kernel Direct Discriminate Analysis

26

Алгоритмы в Signage_demo

Детектирование объектовАлгоритм: Viola-Jones

Параметры: 1) каскад 2) коэффициент масштабирования

Виды объектов

Фигура человека

- полностью- верхняя часть- нижняя часть

Лицо в фас

Глаза- оба

- только левый- только правый

Нос Рот

Лицо в профиль

ПостобработкаАлгоритм детектирования кожи

Алгоритм 1:Явное задание кластера кожи

Параметры:- STDR (Skin Tone Detection Rate)

Алгоритм 2:Непараметрическая модель кожи

Параметры:- пороги детектирования

Фильтрация ложных срабатываний

Распознавание полаАлгоритм KDDA (Kernel Direct Discriminant Analysis)

Классы:- мужчина- женщина- ребенок

ИзображениеВыравнивание гистограммы

27

Постобработка

Исходноеизображение А лгоритм

V io la -Jones

В ы деленны еобласти

Д етектированиекож и

Л ица

Н елица

27

28

Методы моделирования цвета кожи1. Априорно заданная область в

цветовом пространствеИспользуется набор неравенств, которым должны удовлетворять координаты цвета в выбранном цветовом пространстве для того, чтобы данный цвет был отнесен к оттенку кожи.

2. Непараметрические модели распределения оттенка кожиВычисляют и хранят вероятности принадлежности к оттенку кожи каждой точки дискретизированного цветового пространства.

3. Параметрические модели распределения оттенка кожиИспользуют явное представление распределения цвета кожи (например, бимодальное нормальное, смесь нормальных и т.д.) в выбранном цветовом пространстве.

28

29

Алгоритм, использующий явное задание кластера кожи

30

Явное задание кластера кожи

95R 40G 20B

15},,min{},,max{ BGRBGR

15 GR GR BR

Параметр алгоритма:STDR – доля пикселей, которая должна быть детектирована как кожа, чтобы алгоритм отнес данное окно к классу лиц.

30

31

Предлагаемый алгоритм

32

Обучающая база

Светло-красный оттенок

Светло-желтый оттенок

Светло-коричневый оттенок

Темно-красный оттенок

Темно-желтый оттенок

Темно-коричневый оттенок

32

33

Процедура обучения

1. Перейти от цветового пространства RGB к пространству K1K2K3.

2. Для каждого набора обучающих изображений получить матрицу W(k1,k2,k3), описывающую распределение пикселей соответствующего оттенка кожи.

3. Подобрать пороги детектирования каждого оттенка кожи.

33

34

Этапы работы алгоритма

1. Масштабировать изображение до размеров 150×150 пикселей

2. Перейти от цветового пространства RGB к пространству K1K2K3.

3. Для каждого пикселя изображения вычислить вероятность того, что он принадлежит одному из оттенков кожи.

4. Сравнить полученные значения с эмпирически найденными порогами.

34

top related