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