3

stackoverflow 中发布的问题都没有提到这种情况,因此发布了这个问题。我正在训练一个用于人脸检测的 haar-cascade 分类器。fae数据是我生成的。下面提供了参数。

NUmber of positive samples = 2500
Num pos: 2000
Num neg: 2580
Num stages: 14
Num splits: 2 (tree as weak classifier)
Mem: 1024 MB
Symmetric: FALSE
Min hit rate: 0.995000
Max false alarm rate: 0.500000
Weight trimming: 0.950000
Equal weights: FALSE
Mode: ALL
Width: 25
Height: 25
Applied boosting algorithm: RAB
Error (valid only for Discrete and Real AdaBoost): misclass
Max number of splits in tree cascade: 3
Min number of positive samples per cluster: 100
Required leaf false alarm rate: 1.52588e-05


Tree Classifier
Stage
+---+---+---+---+---+---+---+---+---+---+---+---+
|  0|  1|  2|  3|  4|  5|  6|  7|  8|  9| 10| 11|
+---+---+---+---+---+---+---+---+---+---+---+---+

   0---1---2---3---4---5---6---7---8--10--12--14
                                   |           |
                                   |          15
                                   |           |
                                   |          16
                                   |
                                   9--11--13--17
Parent node: 14

*** 1 cluster ***
POS: 669 2500 0.267600
NEG: 863 5.50567e-05of 863 required, 15674000 images tested
BACKGROUND PROCESSING TIME: 297.00
Precalculation time: 0.00
+----+----+-+---------+---------+---------+---------+
|  N |%SMP|F|  ST.THR |    HR   |    FA   | EXP. ERR|
+----+----+-+---------+---------+---------+---------+
|   1|100%|-|-1.590536| 1.000000| 1.000000| 0.161227|
+----+----+-+---------+---------+---------+---------+
|   2|100%|-|-3.158675| 1.000000| 1.000000| 0.180157|
+----+----+-+---------+---------+---------+---------+
.
.
.
.
+----+----+-+---------+---------+---------+---------+
|  16|  6%|-|-13.162083| 0.995516| 0.805330| 0.353133|
+----+----+-+---------+---------+---------+---------+
|  17| 14%|-|-24.674999| 0.997010| 0.877173| 0.266971|
+----+----+-+---------+---------+---------+---------+
|  18|  0%|-|-13.163441| 0.995516| 0.805330| 0.353133|
+----+----+-+---------+---------+---------+---------+
|  19| 14%|-|-24.676357| 0.997010| 0.877173| 0.266971|
+----+----+-+---------+---------+---------+---------+
.
.
.
.

+----+----+-+---------+---------+---------+---------+
| 760|  0%|-|-13.667271| 0.995516| 0.805330| 0.341384|
+----+----+-+---------+---------+---------+---------+
| 761| 14%|-|-25.180187| 0.997010| 0.877173| 0.267624|
+----+----+-+---------+---------+---------+---------+
| 762|  0%|-|-13.668629| 0.995516| 0.805330| 0.341384|
+----+----+-+---------+---------+---------+---------+
| 763| 14%|-|-25.181545| 0.997010| 0.877173| 0.267624|
+----+----+-+---------+---------+---------+---------+
| 764|  0%|-|-13.669987| 0.995516| 0.805330| 0.341384|
+----+----+-+---------+---------+---------+---------+
| 765| 14%|-|-25.182903| 0.997010| 0.877173| 0.267624|
+----+----+-+---------+---------+---------+---------+
| 766|  0%|-|-13.671345| 0.995516| 0.805330| 0.341384|
+----+----+-+---------+---------+---------+---------+

可以看出它在两种状态之间交替。最后,我不得不杀死该程序。现在我对出了什么问题一无所知。

4

1 回答 1

0

我在 1-1,5 年前遇到了同样的问题,但我没有完全解决它- 只是部分解决。所以这是你的可能性(至少是我知道的那些):

  • 杀死训练程序并重新开始。它应该从最后完成的阶段继续。有一个很小的机会(我不确定它是否曾经解决我的问题......)这会解决你的问题。
  • 杀死训练程序,修改参数并重新开始。它将从最后完成的步骤继续,但现在它将使用新参数,因此您可以更改位命中率和/或最大误报率,而不是尝试有问题​​的阶段(以及最有可能的其他左侧阶段)。当然,您的分类器在开始训练时会比您想要的要差一些,但至少它会有正确的阶段数。

//编辑:
如果它不能解决您的问题,请考虑在http://answers.opencv.org/questions/上提出这个问题- 您更有可能直接从 OpenCV 开发人员那里获得答案。

于 2015-03-13T03:07:46.723 回答