«Признак Хаара» это прямоугольный фильтр, разделенный на две области – светлую и темную. Данный фильтр накладывается на некоторую область изображения (окно). Значением (откликом) признака является сумма яркостей пикселей изображения в светлой области минус сумма яркостей пикселей в темной области. Если эта разность превышает некоторый порог, то мы считаем, что данный фильтр дал отклик в данном месте изображения.
Это примитивный признак-классификатор. При обучении классификатора Хаара с помощью алгоритма бустинга набор таких примитивных классификаторов складывается в один составной классификатор. Но такой классификатор либо работает долго, либо даёт много ложных срабатываний. Даже шанс в 0,01% - это много, учитывая сколько возможнных окон (возможных позиций лица) может быть на изображении.
Поэтому использует принцип "каскада внимания". Формируется цепочка из нескольких составных классификаторов таким образом, чтобы каждый последующий отсеивал как можно больше отрицательных примеров, но при этом пропускал все или почти все положительные (уровень обнаружения >95%). Это позволяет ограничиться вычислением сравнительно быстрых и простых составных классификаторов для подавляющего большинства окон на изображении.
Под конец несколько близлежащих окон могут быть слиты в одно с помощью non-maximum suppression. Это нужно, так как лицо может попасть сразу в несколько соседних окон, чуть смещённых относительно друг друга.
Если в итоге у нас есть отклики, то мы знаем позиции и размеры возможных лиц на изображении. А дальше уже эвристика на основании этих сведений. Например, если нам нужен крупный план, то мы можем отвергнуть изображение, если наибольшее лицо занимает менее 75% площади изображения.