Soft cascade

23
Развитие каскадов классификаторов. Soft cascade. Конев Артем Семинар "Компьютерное зрение" 22.10.2012 Лаборатория КГиМ, Факультет ВМК МГУ имени М.В. Ломоносова

Transcript of Soft cascade

Page 1: Soft cascade

Развитие каскадов классификаторов. Soft cascade.

Конев АртемСеминар "Компьютерное зрение" 22.10.2012Лаборатория КГиМ, Факультет ВМК МГУ имени М.В. Ломоносова

Page 2: Soft cascade

Мотивация

● Детекция - нужно просмотреть много окон● Разные окна требуют разные по сложности

алгоритмы

VS

Page 3: Soft cascade

Основные понятия: слабый классификатор

Слабый классификатор - классификатор (обычно простой), который работает лучше монетки.

признаки Хаара:

Page 4: Soft cascade

Основные понятия: сильный классификатор

Сильный классификатор - линейная комбинация слабых классификаторов:

Page 5: Soft cascade

Основные понятия: AdaBoost

Page 6: Soft cascade

Boosted cascade (2001)

Каскад:

слабый классификатор

сильный классификатор i-го этапа

обрабатываемое изображение

["Rapid Object Detection using a Boosted Cascade of Simple Features", Viola & Jones, CVPR, 2001]

Page 7: Soft cascade

Boosted cascade: схема обучения

● Для каждой стадии i = 1 .. N:○ определить требуемый false positive и

detection rate○ построить сильный классификатор с

помощью слабых классификаторов и AdaBoost

○ следующую стадию обучаем только на тех сэмплах, которые не были отпрошены предыдущими

○ если каскад достиг требуемых показателей - стоп

Page 8: Soft cascade

Boosted cascade: пример

● Viola & Jones: ○ поиск в пространстве 180.000 признаков○ 38 стадий, 6000 признаков○ в среднем 10 вычислений признаков на

окно○ 1, 10, 25, 25, 50 признаков для первой , ...,

пятой стадий

Page 9: Soft cascade

Boosting chain (2003)

Основные улучшения:● сохранение информации с предыдущего

этапа ● оптимизация весов сильного

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

["Boosting chain learning for object detection", Xiao, Zhu, Zhang, ICCV, 2003]

Page 10: Soft cascade

Boosting chain: передача информации с предыдущего этапа

высокий false positive высокий false negative

эта разница теряется!

Page 11: Soft cascade

Boosting chain: передача информации с предыдущего этапа

классификатор i-го этапа:

величину суммы:

используем как нулевой признак i+1-го этапа:

в общем виде:

Page 12: Soft cascade

Boosting chain: оптимизация

i-й этап каскада:

Можно представить как точку в T-мерном пространстве:

Сильный классификатор определяет разделяющую гиперплоскость в этом пространстве

слабый классификатор

Page 13: Soft cascade

Boosting chain: оптимизация

AdaBoost - жадный алгоритм; возможно, есть способ найти гиперплоскость получше?

Да - линейный SVM!Эвристика: чем важнее признак, тем больше его коэффициент в уравнении гиперплоскости

Page 14: Soft cascade

Boosting chain: оптимизация

Алгоритм оптимизации:

Page 15: Soft cascade

Boosting chain: результаты на MIT+CMU

среднее число признаков на окно

Page 16: Soft cascade

Soft cascade (2005)

Одна (возможно, длинная) стадия каскада:

t["Robust Object Detection Via Soft Cascade", Bourdev, Brandt, CVPR, 2005]

Page 17: Soft cascade

Soft cascade: архитектура

Не делим каскад на стадииПосле каждого слабого классификатора отсеиваем по порогу

Page 18: Soft cascade

Soft cascade: обучение

● каждый следующий слабый классификатор ищется с помощью AdaBoost

● по мере обучения каскада предыдущие слабые классификаторы могут стать излишними; если их удаление уменьшает ошибку, то убираем их из модели

Page 19: Soft cascade

Soft cascade: ROC Surface

Качество алгоритма определяется параметрами:● false positive● true positive (detection rate)● время работы

Изобразим множество оптимальных алгоритмов на графике (ROC Surface):

Page 20: Soft cascade

Soft Cascade: classifier calibration

Необходимо:● определить значения порога для каждой стадии● расположить слабые классификаторы в подходящем

порядке (AdaBoost не всегда располагает их в оптимальном порядке)

Пусть - доля объектов целевого класса, кот. мы можем отсеять на стадии 1..T (rejection distribution vector)Этот вектор полностью определяет все три параметра алгоритма (точку на ROC Surface)

Page 21: Soft cascade

Soft Cascade: classifier calibration

Page 22: Soft cascade

Soft Cascade: поиск точек на ROC Surface

● фиксируем необходимый detection rate D● выбираем функции из семейства:

Page 23: Soft cascade

Soft cascade: результаты на MIT+CMU