@resah

Как правильно создать признаки Хаара?

Я пытаюсь научить распознавать лица с помощью метода Виолы-Джонса, результат уже есть (обученный сильный классификатор), но он далёк от идеального ошибка 10% примерно. И из-за этого я подумал над таким вопросом: А как правильно создавать просто сам признак (прямоугольник с черным одним прямоугольником). На данный момент я считаю, что все признаки размер 32*32, и в них уже находятся прямоугольники черные.
Правильно ли я делаю или можно сделать как-то лучше?
Буду благодарен за любую помощь.
upd: Работаю с лицами в фотографии 32 * 32; Добавляю пример работы на одной из самых распространённых как мне кажется картинок для теста.
Картинка: 626ae9a1257c7202780530.jpeg
Результат: 626ae9bcc0412930650591.jpeg
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Без кода дать ответ сложно. Вообще выглядит как проблема с non-maximum suppression - грубо говоря, у тебя несколько соседних перекрывающихся окон дают отклик, так как они все содержат лицо. Нужно выбирать окно с самым сильным откликом, и либо отбрасывать, либо объединять сильно пересекающиеся с ним. Кроме того, можно пробовать отсекать те окна, у которых соседей слишком мало.

Кроме того, признак Хаара всегда состоит из черных И белых прямоугольников равной суммарной площади. Это связано с тем, что он оперирует суммарной яркостью в той или иной области окна. Так что признак с одним чёрным прямоугольником - это не признак. Что-то ты странно сформулировал.

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

Войдите, чтобы написать ответ

Похожие вопросы