Similar presentations:
Детектор лиц на основе метода Виолы-Джонса
1. Детектор лиц на основе метода Виолы-Джонса
2. Постановка задачи
• Дано растровое изображение с камеры• Необходимо определить наличие объекта
заданного класса на изображении.
• Необходимо определить его положение.
• Необходимо быстродействие 20-50 мс на
кадр.
3. Обзор
– Общий обзор метода– Признаки (особенности) (англ. Features)
– Интегральное изображение
– Выделение признаков
– Слабый классификатор
– Усиление классификаторов
– Каскады классификаторов
– Примеры работы
4. Интегральное изображение
5. Интегральное изображение
6. Признаки
Значение признака F = X-YГде X – сумма значений яркостей точек закрываемых светлой частью признака
Y – сумма значений яркостей точек закрываемых темной частью признака
7. Вычисление признаков
Количество вариантов расположения признаков в окне 24х24 около 160000 шт.За счет изменения масштаба признаков и их положения в окне сканирования.
8. Окно сканирования
9. Окно сканирования
10. Классификация
F(x) =α1 f1(x) + α2 f2(x) + ...
1 если gi(x) > θi
fi(x) =
-1 иначе
11. Обучение
Фоновые изображенияЛица
Задача обучить классификатор, для
выделения объектов.
12. Обучение
Сильныйклассификатор
Слабый классификатор
Весовой коэффициент (вес)
Вектор (160000 мерный вычисленных признаков)
Целями обучения являются:
• обучение слабых классификаторов
• определение весов сильного классификатора
• определение порогового значения
13. Бустинг
xt=1xt=2
xt
Каждая точка (здесь
показаны двумерные
точки, мы же имеем
дело с многомерными,
(по кол-ву признаков) )
относится к одному из
классов:
+1 ( )
yt =
-1 ( )
и имеет вес:
wt =1
14. Бустинг
Каждая точкаотносится к одному
из классов:
+1 ( )
yt =
-1 ( )
и имеет вес:
wt =1
Слабый классификатор может иметь эффективность чуть больше
0.5.
То есть, должен быть немного лучше чем гадание.
15. Бустинг
Каждая точкаотносится к одному
из классов:
+1 ( )
yt =
-1 ( )
Изменяем веса точек:
wt wt exp{-yt Ht}
16. Бустинг
Каждая точкаотносится к одному
из классов:
+1 ( )
yt =
-1 ( )
Изменяем веса точек:
wt wt exp{-yt Ht}
17. Бустинг
Каждая точкаотносится к одному
из классов:
+1 ( )
yt =
-1 ( )
Изменяем веса точек:
wt wt exp{-yt Ht}
18. Бустинг
Каждая точкаотносится к одному
из классов:
+1 ( )
yt =
-1 ( )
Изменяем веса точек:
wt wt exp{-yt Ht}
19. Бустинг
f1f2
f4
f3
Сильный классификатор,
построенный на основе
комбинации слабых
классификаторов
20. Алгоритм
Обучить первый слабый классификатор
Классифицировать данные
Посмотреть где он сделал ошибки
Увеличить веса тех данных на которых ошибся классификатор
Тренировать второй классификатор, на данных с измененными
весами
Скомбинировать первый и второй классификаторы
Увеличить веса тех данных на которых ошибся комбинированный
классификатор
Обучить третий классификатор на данных с измененными весами
Действуем аналогично для T классификаторов
Окончательный результат – комбинация T слабых классификаторов.
21. Еще раз
22. Обучение
D1(i) = 1/mε = Сумма ошибочных D = 0.3
Dt (i) e
1 1 t
Dt 1 (i )
t ln
Zt
2 t
e
t
Zt нормализующий фактор, чтобы сумма D1(i) была равна 1
t
if ht ( xi ) yi
if ht ( xi ) yi
23. Обучение
ε = Сумма ошибочных D = 0.21Dt (i ) e t
Dt 1 (i )
t
Zt
e
if ht ( xi ) yi
if ht ( xi ) yi
1 1 t
t ln
2 t
Zt нормализующий фактор, чтобы сумма D1(i) была равна 1
24. Обучение
25. Обучение
• Выходом будет являться:T
H ( x) sign t ht ( x)
t 1