训练OpenCV LBP分类器

时间:2013-01-30 20:14:25

标签: c++ opencv classification

我需要使用OpenCV创建自己的LBP级联分类器,所以为了习惯这个过程,我一直在使用一个非常小的文件集来获取它。

但是,我很难在opencv_traincascade上找到合适的信息。我将进程设置为运行在.vec文件中的87张正面图像。我意识到这是一个很小的设置,并没有多大用处,但我希望它可能足以拾取我的一个正面图像,如果我把它完全粘贴到负面,只是为了测试理论。 然而,当我开始训练过程时,结果是它进入第5阶段,然后在第6阶段开始时挂起。

我用一个更小的正面集重新启动了这个过程并且它做了同样的事情 - 由于某种原因它在训练阶段开始时进入阶段x并在Neg Count上冻结,并且永远不会恢复。

有没有人有任何想法或建议?问题是我训练集的微小尺寸吗?

===== TRAINING 0-stage =====
BEGIN
POS count : consumed   6 : 6
NEG count : acceptanceRatio    2600 : 1
Precalculation time: 10.965
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        0|
+----+---------+---------+
END

===== TRAINING 1-stage =====
BEGIN
POS count : consumed   6 : 6
NEG count : acceptanceRatio    2600 : 0.0244943
Precalculation time: 10.985
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        0|
+----+---------+---------+
END

===== TRAINING 2-stage =====
BEGIN
POS count : consumed   6 : 6
NEG count : acceptanceRatio    2600 : 0.000697076
Precalculation time: 11.237
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|0.000384615|
+----+---------+---------+
END

===== TRAINING 3-stage =====
BEGIN
POS count : consumed   6 : 6

1 个答案:

答案 0 :(得分:2)

我正在做类似的事情。列车阶段通常可以锁定在无限循环中,并且需要修改代码以防止出现这种情况。您为创建样本 traincascade 使用了哪些参数?尝试最初减少traincascade中的负片图像数量。这对我有用..