OpenCV: как узнать статус прогресса HaarTraining - PullRequest
1 голос
/ 26 июня 2011

Я использую процесс HaarTraining с использованием OpenCV 2.2 (скомпилировано с OpenMP). Прогресс обучения показывает:

+----+----+-+---------+---------+---------+---------+
|7468| 44%|-|-2.712450| 1.000000| 0.719459| 0.108393|
+----+----+-+---------+---------+---------+---------+
|7469| 44%|-|-2.712449| 1.000000| 0.719459| 0.108393|
+----+----+-+---------+---------+---------+---------+
.......

Что означает число 7469 (у меня только 7000 образцов)? Как я могу узнать, когда процесс завершится?

Спасибо!

1 Ответ

2 голосов
/ 12 апреля 2012

N означает текущую функцию для этого каскада. (см. http://cv -kolaric.blogspot.com / 2008/03 / output-from-haartrainingexe.html )

+----+----+-+---------+---------+---------+---------+
|  N |%%SMP|F|  ST.THR |    HR   |    FA   | EXP. ERR|
+----+----+-+---------+---------+---------+---------+
N = current feature for this cascade (seq->total),
%%SMP = percentage of samples used, if trimmings enabled (v_wt)
F = '+' if isFilpped, if symmetry is specified (v_flipped), '-' otherwise
ST.THR = stage threshold, 
HR = Hit Rate based on Stage threshold (v_hitrate / numpos), 
FA = False alarm based on Stage threshold (v_falsealarm / numneg)
EXP.ERR = Strong classification error of adaboost algorithm,
based on threshold=0 (v_experr)

Различные функции рассчитаны для всех ваших образцов. Например. x-y производные, коэффициенты контрастности и т. д. и т. д. В зависимости от разницы между вашими образцами рассчитывается больше функций, и кажется, что ваши положительные изображения слишком сильно отличаются друг от друга, чтобы классифицировать их.

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

...