facedetection+genderrecognition_review

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

Upload: khryashchev

Post on 21-Jun-2015

843 views

Category:

Entertainment & Humor


0 download

TRANSCRIPT

Page 1: FaceDetection+GenderRecognition_review

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

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

Page 2: FaceDetection+GenderRecognition_review

2

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

Исходное

изображение

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

выделенными

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

пола

мм

мжж

Page 3: FaceDetection+GenderRecognition_review

3

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

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

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

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

K

K

K

Page 4: FaceDetection+GenderRecognition_review

4

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

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

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

K

K

K

Page 5: FaceDetection+GenderRecognition_review

5

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

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

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

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

Page 6: FaceDetection+GenderRecognition_review

6

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

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

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

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

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

ДА (лицо)

НЕТ (не лицо)

Page 7: FaceDetection+GenderRecognition_review

7

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

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

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

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

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

7

Page 8: FaceDetection+GenderRecognition_review

8

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

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

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

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

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

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

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

ДА (лицо)

НЕТ (не лицо)

Page 9: FaceDetection+GenderRecognition_review

9

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

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

элементов

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

Page 10: FaceDetection+GenderRecognition_review

10

Бустинг

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

Page 11: FaceDetection+GenderRecognition_review

11

Бустинг

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

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

)(xfj

)( pj xf)( nj xf

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

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

Page 12: FaceDetection+GenderRecognition_review

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

Page 13: FaceDetection+GenderRecognition_review

13

Бустинг

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

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

pxfpеслиpfxh

jjjjjjjj

0

,1,,,

jt

jtt

,

,1log

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

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

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

T

ttt xhxF

1

)()(

Page 14: FaceDetection+GenderRecognition_review

14

Бустинг

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

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

xFxC

T

tt

0

)(1)( 1

21

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

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

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

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

Page 15: FaceDetection+GenderRecognition_review

15

Бустинг

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

1-йслой1-й

слой2-й

слой3-й

слойN-й

слой

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

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

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

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

Page 16: FaceDetection+GenderRecognition_review

16

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

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

Page 17: FaceDetection+GenderRecognition_review

17

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

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

m ,,1

m

iiii bXXkyXf

1

),(sgn)( )2

exp(),(2

2

xx

xxk

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

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

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

Page 18: FaceDetection+GenderRecognition_review

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 опорных векторов

Page 19: FaceDetection+GenderRecognition_review

19

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

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

001010010

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

82

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

индекса

Признаки

Page 20: FaceDetection+GenderRecognition_review

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 признаков

+ + + +

-

+

----

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

Page 21: FaceDetection+GenderRecognition_review

21

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

мжж

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

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

БОЛЬШЕ НИЧЕМ

Page 22: FaceDetection+GenderRecognition_review

22

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

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

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

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

my R

,y Wxm n

Page 23: FaceDetection+GenderRecognition_review

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)

Page 24: FaceDetection+GenderRecognition_review

24

PCA & LDA

• PCA

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

• LDA

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

WSWW TT

WPCA maxarg

WSW

WSWW

WT

BT

Wfld maxarg

12

PCA

FLD

Page 25: FaceDetection+GenderRecognition_review

25

Алгоритмы в Signage_demo

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

AdaBoost

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

AdaBoost

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

Kernel Direct Discriminate Analysis

Page 26: FaceDetection+GenderRecognition_review

26

Алгоритмы в Signage_demo

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

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

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

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

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

Лицо в фас

Глаза- оба

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

Нос Рот

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

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

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

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

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

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

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

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

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

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

Page 27: FaceDetection+GenderRecognition_review

27

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

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

V io la -Jones

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

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

Л ица

Н елица

27

Page 28: FaceDetection+GenderRecognition_review

28

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

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

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

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

28

Page 29: FaceDetection+GenderRecognition_review

29

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

Page 30: FaceDetection+GenderRecognition_review

30

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

95R 40G 20B

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

15 GR GR BR

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

30

Page 31: FaceDetection+GenderRecognition_review

31

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

Page 32: FaceDetection+GenderRecognition_review

32

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

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

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

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

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

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

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

32

Page 33: FaceDetection+GenderRecognition_review

33

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

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

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

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

33

Page 34: FaceDetection+GenderRecognition_review

34

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

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

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

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

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

34