Soft cascade
-
Upload
anton-konushin -
Category
Education
-
view
1.650 -
download
4
Transcript of Soft cascade
Развитие каскадов классификаторов. Soft cascade.
Конев АртемСеминар "Компьютерное зрение" 22.10.2012Лаборатория КГиМ, Факультет ВМК МГУ имени М.В. Ломоносова
Мотивация
● Детекция - нужно просмотреть много окон● Разные окна требуют разные по сложности
алгоритмы
VS
Основные понятия: слабый классификатор
Слабый классификатор - классификатор (обычно простой), который работает лучше монетки.
признаки Хаара:
Основные понятия: сильный классификатор
Сильный классификатор - линейная комбинация слабых классификаторов:
Основные понятия: AdaBoost
Boosted cascade (2001)
Каскад:
слабый классификатор
сильный классификатор i-го этапа
обрабатываемое изображение
["Rapid Object Detection using a Boosted Cascade of Simple Features", Viola & Jones, CVPR, 2001]
Boosted cascade: схема обучения
● Для каждой стадии i = 1 .. N:○ определить требуемый false positive и
detection rate○ построить сильный классификатор с
помощью слабых классификаторов и AdaBoost
○ следующую стадию обучаем только на тех сэмплах, которые не были отпрошены предыдущими
○ если каскад достиг требуемых показателей - стоп
Boosted cascade: пример
● Viola & Jones: ○ поиск в пространстве 180.000 признаков○ 38 стадий, 6000 признаков○ в среднем 10 вычислений признаков на
окно○ 1, 10, 25, 25, 50 признаков для первой , ...,
пятой стадий
Boosting chain (2003)
Основные улучшения:● сохранение информации с предыдущего
этапа ● оптимизация весов сильного
классификатора
["Boosting chain learning for object detection", Xiao, Zhu, Zhang, ICCV, 2003]
Boosting chain: передача информации с предыдущего этапа
высокий false positive высокий false negative
эта разница теряется!
Boosting chain: передача информации с предыдущего этапа
классификатор i-го этапа:
величину суммы:
используем как нулевой признак i+1-го этапа:
в общем виде:
Boosting chain: оптимизация
i-й этап каскада:
Можно представить как точку в T-мерном пространстве:
Сильный классификатор определяет разделяющую гиперплоскость в этом пространстве
слабый классификатор
Boosting chain: оптимизация
AdaBoost - жадный алгоритм; возможно, есть способ найти гиперплоскость получше?
Да - линейный SVM!Эвристика: чем важнее признак, тем больше его коэффициент в уравнении гиперплоскости
Boosting chain: оптимизация
Алгоритм оптимизации:
Boosting chain: результаты на MIT+CMU
среднее число признаков на окно
Soft cascade (2005)
Одна (возможно, длинная) стадия каскада:
t["Robust Object Detection Via Soft Cascade", Bourdev, Brandt, CVPR, 2005]
Soft cascade: архитектура
Не делим каскад на стадииПосле каждого слабого классификатора отсеиваем по порогу
Soft cascade: обучение
● каждый следующий слабый классификатор ищется с помощью AdaBoost
● по мере обучения каскада предыдущие слабые классификаторы могут стать излишними; если их удаление уменьшает ошибку, то убираем их из модели
Soft cascade: ROC Surface
Качество алгоритма определяется параметрами:● false positive● true positive (detection rate)● время работы
Изобразим множество оптимальных алгоритмов на графике (ROC Surface):
Soft Cascade: classifier calibration
Необходимо:● определить значения порога для каждой стадии● расположить слабые классификаторы в подходящем
порядке (AdaBoost не всегда располагает их в оптимальном порядке)
Пусть - доля объектов целевого класса, кот. мы можем отсеять на стадии 1..T (rejection distribution vector)Этот вектор полностью определяет все три параметра алгоритма (точку на ROC Surface)
Soft Cascade: classifier calibration
Soft Cascade: поиск точек на ROC Surface
● фиксируем необходимый detection rate D● выбираем функции из семейства:
Soft cascade: результаты на MIT+CMU