Содержание
Каскад Хаара
Формально говоря, каскад Хаара выполняет задачу классификации ‒ разделения множества объектов на классы. В нашем случае объекты - это входные изображения. А класса всего два: искомый объект и все остальное. Говоря проще, каскад Хаара принимает на вход изображение и выдает один из двух ответов: "да" и "нет".
Что бы каскад Хаара определял, есть ли искомый объект на входном изображении, его нужно обучить. Тоесть, задать ему такую структуру, что бы он выдавал положительный результат для изображений с искомым объектом, и отрицательный в другом случае. В данном случае используется обучение с учителем, т.е. имеется обучающая выборка (набор разных изображений) и данные, указывающие, какие из этих изображений содержат искомый объект. Обучение может занимать очень много времени: иногда даже по несколько дней.
Правильно обученный каскад Хаара может достаточно быстро классифицировать изображения и имеет неплохую устойчивость к шумам и другим отклонениям. Несмотря на то, что оригинальная статья в основном описывает обнаружение лиц, данный метод можно использовать и для обнаружения других объектов. Далее описываются методы которые используются при классификации изображений с помощью каскадов Хаара.
Признаки Хаара.
Признак Хаара является набором прямоугольных областей изображения, примыкающих друг к другу и разделенных на две группы. Возможных признаков Хаара огромное множество (разнообразные комбинации областей разной ширины и высоты с разными позициями на изображении). Первоначальный набор признаков зависит от реализации и конкретной задачи: обычно используют такие комбинации прямоугольных областей:

Чтобы вычислить значение конкретного признака Хаара для какого-либо
изображения, надо сложить яркости пикселей изображения в первой и второй группах
прямоугольных областей по отдельности, а затем вычесть из первой полученной
суммы вторую. Полученная разность и есть значение конкретного признака Хаара
для данного изображения.
В математической форме это будет выглядеть так:
где \*- яркость пискеля изображения с координатами
,
\*- сумма яркостей пикселей в
-й области первой группы,
\*- сумма яркостей пикселей в
-й области второй группы,
\*-
значение признака Хаара для этого изображения,
\*- высота
-й
области первой группы,
\*- ширина
-й области первой группы,
\*- высота
-й области второй группы,
\*- ширина
-й области
второй группы,
\*- количество областей первой группы,
\*-
количество областей второй группы, а
\*- значение признака Хаара для этого
изображения.