Это старая версия (1.3) КаскадХаара.

Содержание

Каскад Хаара

Формально говоря, каскад Хаара выполняет задачу классификации - разделения множества объектов на классы. В нашем случае объекты - это входные изображения. А класса всего два: искомый объект и все остальное. Говоря проще, каскад Хаара принимает на вход изображение и выдает один из двух ответов: "да" и "нет".

Что бы каскад Хаара определял, есть ли искомый объект на входном изображении, его нужно обучить. Тоесть, задать ему такую структуру, что бы он выдавал положительный результат для изображений с искомым объектом, и отрицательный в другом случае. В данном случае используется обучение с учителем, т.е. имеется обучающая выборка (набор разных изображений) и данные, указывающие, какие из этих изображений содержат искомый объект. Обучение может занимать очень много времени: иногда даже по несколько дней.

Правильно обученный каскад Хаара может достаточно быстро классифицировать изображения и имеет неплохую устойчивость к шумам и другим отклонениям. Несмотря на то, что оригинальная статья в основном описывает обнаружение лиц, данный метод можно использовать и для обнаружения других объектов. Далее описываются методы которые используются при классификации изображений с помощью каскадов Хаара.

Признаки Хаара.

Признак Хаара является набором прямоугольных областей изображения, примыкающих друг к другу и разделенных на две группы. Возможных признаков Хаара огромное множество (разнообразные комбинации областей разной ширины и высоты с разными позициями на изображении). Первоначальный набор признаков зависит от реализации и конкретной задачи (в разделе, посвященном алгоритму AdaBoost?, описано, как из этого набора выбираются признаки, лучше всего классифицирующие изображения).