Локализация лиц с помощью детектора Виолы-Джонс

Post on 18-Aug-2015

39 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Локализация лиц с помощью детектора Виолы-Джонс

Шкловец Артем

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

Человек

Компьютер

Различие в представлении информации

Скользящее окно

Просматриваем изображение окном выбранного размера.

Проделываем эту операцию на всех слоях пирамиды изображения.

Особенности задачи и требования к детектору лиц

Большое количество просмотров окон (для 1MП изображения

~ окон) Высокая скорость расчёта признаков и классификатора

Чтобы избежать ложных срабатываний (false positive) ошибка второго рода должна быть менее

Инвариантность к освящению, полу цвету кожи и пр.

Малое количество лиц на изображении(обычно 0 - 20 лиц)

Желательно быстро отбрасывать окна без лица

Детектор Виолы Джонс

P. Viola and M. Jones. Rapid object detection using a boosted cascade of simple features. CVPR 2001.

P. Viola and M. Jones. Robust real-time face detection. IJCV 57(2), 2004.

Paul Viola

Microsoft Research

viola@microsoft.com

USA

Michael J. Jones

Mitsubishi Electric Research Laboratory

mjones@merl.com

USA

Этапы решения задачи классификации

Подготовка выборки данных для обучения

Извлечение признаков из данных

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

Оптимизация классификатора

Обучающая выборка

Положительные примеры:

4916 фронтальных лиц

размером 24*24 пикселя

различные люди, позы,

освящение, без выравнивания по глазам

Отрицательные примеры:

9500 изображений

Признаки Хаара

Прямоугольные фильтры

Результат =

Для окна 24*24 пикселя 160000 признаков

Papageorgiou, Oren and Poggio, «A general framework for object detection», International Conference on Computer Vision, 1998.

Интегральное изображение Значение каждого пиксела

(x,y) равно сумме значений всех пикселов левее и выше пикселя (x,y) включительно

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

Вычисление признаков Хаара Пусть 1,2,3,4 – значения

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

Тогда сумма значений пикселов в исходном изображении вычисляется по формуле: sum = A – B – C + D

3 операции сложения для любого прямоугольника

Пример вычисление признаков Хаара

-1

+2

-1

+1

-2

+1

+2

-2

+1

-1

-2

+2-1

+1

Требования к классификатору

Быстрая скорость классификации

Высокая точность классификации

Возможность определять значимые признаки

Возможность управления точностью (false positive, false negative) при обучении

Обучение на неравномерных выборках

AdaBoost Схема классификации, основанная на комбинировании слабых

классификаторов в более точный комитет (Слабый классификатор должен быть лучше монетки)

Y. Freund and R. Schapire, A short introduction to boosting, Journal ofJapanese Society for Artificial Intelligence, 14(5):771-780, September, 1999.

Обучение состоит из нескольких этапов усиления (boosting rounds)

На каждом этапе выбираем слабый классификатор, который лучше всех сработал на примерах, оказавшихся трудными для предыдущих классификаторов

«Трудность» записывается с помощью весов, приписанных примерам из обучающей выборки

Составляем общий классификатор как линейную комбинацию слабых классификаторов

AdaBoost

Дано

Инициализируем

Для каждого

Строим классификатор Y, который минимизирует взвешенную ошибку классификации, .

Определяем вес классификатора

Обновляем , где .

Строим результирующий классификатор:

𝐷1

AdaBoost (1-ая итерация)

Дано

Инициализируем

Для каждого

Строим классификатор Y, который минимизирует взвешенную ошибку классификации, .

Определяем вес классификатора

Обновляем , где .

Строим результирующий классификатор:

h1𝜖1=0.3

α 1=0.42

𝐷2

AdaBoost (2-ая итерация)

Дано

Инициализируем

Для каждого

Строим классификатор Y, который минимизирует взвешенную ошибку классификации, .

Определяем вес классификатора

Обновляем , где .

Строим результирующий классификатор:

h2𝜖1=0.21

α 1=0.65

𝐷3

AdaBoost (3-ая итерация)

Дано

Инициализируем

Для каждого

Строим классификатор Y, который минимизирует взвешенную ошибку классификации, .

Определяем вес классификатора

Обновляем , где .

Строим результирующий классификатор:

h3

𝜖1=0.3

α 1=0.42

STOP

AdaBoost (Результат)

𝐻 (𝑥 )=𝑠𝑖𝑔𝑛0.42 +0.65 92 ¿

¿

AdaBoost (Пример)

Особенности AdaBoost

Высокая скорость сходимости

Возможность построить классификатор на части признаков

Высокая скорость сходимости

Отсутствие параметров

Возможность управлять false positive false negative

Длительная процедура обучения

Трудность определения нужного числа итераций обучения

AdaBoost для поиска лиц

Определяем слабые классификаторы как сравнение того или иного признака Хаара с некоторым порогом.

Для каждого этапа AdaBoost :

Вычисляем все признаки Хаара для всех изображений обучающей выборки,

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

Переопределяем веса выборки.

Результат обучения:

Классификатор из 200 признаков дает 95% точность и долю false positive 1 из 14084

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

Построим несколько классификаторов от простых к сложным.

Классификаторы построим таким образом чтобы false positive была минимальна (практически ноль). Это можно достичь соответствующим выбором простых классификаторов.

Положительный отклик классификатора инициализирует вычисление следующего.

Отрицательный отклик на любом этапе приводит к отбраковке окна.

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

Результат обучения Обучение: “недели” на 466 MHz Sun рабочей станции

38 этапов, всего 6061 признаков.

На 700 Mhz Pentium III, детектор лиц обрабатывает одно изображение 384x288 пикселов за 0.067 секунды

1 этап: 2 признака, отбрасывает 50% не лиц, при точности ~100% 2 этап: 10 признакoв, отбрасывает 80% не лиц, при точности ~100% 3 и 4 этапы: 25 признакoв

5 этап: 50 признакoв и т.д.

Среднее количество признаков для одного окна -10 признаков

Признаки выбранные в первом каскаде

Пример детектора Виолы-Джонс

Резюме и области применения В 15 раз быстрее сравнимого по точности предшествующего

метода локализации лиц

Работает в реальном времени с удовлетворительной точностью

Детектор Виолы-Джонс может быть эффективно применен для поиска малодеформируемых объектов в выраженными особенностями (лица, улыбка, глаза, верхняя часть тела, тело человека)

Неэффективен для объектов с различным внешним видом, или без четко выраженными особенностями (жесты, автомобили, цветы и т. п)

top related