Upload
artyom-shklovets
View
37
Download
2
Embed Size (px)
Citation preview
Локализация лиц с помощью детектора Виолы-Джонс
Шкловец Артем
Постановка задачи
Человек
Компьютер
Различие в представлении информации
Скользящее окно
Просматриваем изображение окном выбранного размера.
Проделываем эту операцию на всех слоях пирамиды изображения.
Особенности задачи и требования к детектору лиц
Большое количество просмотров окон (для 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
USA
Michael J. Jones
Mitsubishi Electric Research Laboratory
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 раз быстрее сравнимого по точности предшествующего
метода локализации лиц
Работает в реальном времени с удовлетворительной точностью
Детектор Виолы-Джонс может быть эффективно применен для поиска малодеформируемых объектов в выраженными особенностями (лица, улыбка, глаза, верхняя часть тела, тело человека)
Неэффективен для объектов с различным внешним видом, или без четко выраженными особенностями (жесты, автомобили, цветы и т. п)