无限循环:哈尔,LBP,HOG trainccade of opencv卡住了

时间:2014-03-16 18:02:02

标签: opencv face-detection haar-classifier cascade-classifier

我正在尝试构建一个分类器来检测热图像中的面。所以我尝试使用Haar,LBP和HOG分类器进行训练。我在Windows上使用OpenCV 2.4.8。

  

opencv_traincascade.exe -data haarcascades -vec pos.vec -bg neg.txt -numPos 250 -numStages 24 -numNeg 900 -w 24 -h 24

我总共有307个阳性样本。阴性样本的大小为75x75。对于这三种情况中的每一种情况,训练都会在特定阶段停留在Haar(第12阶段)以及之后的LBP(阶段14/15)。我减少了负数(最多200个),但这意味着训练在后期停滞不前。自2天以来,培训没有取得进展。没有负面消耗,命令窗口看起来像这样 -

===== TRAINING 14-stage =====
<BEGIN
POS count : consumed   255 : 262

另外

  • 消耗的POS数量和消耗的NEG数量意味着什么?
  • 当我将minHitRate减少到0.7时,为什么消耗的POS数量会增加?

请让我知道我做错了什么。 感谢。

2 个答案:

答案 0 :(得分:2)

消耗的数量是每个阶段中使用的可能图像和负图像的数量。并且您需要使用更多正面和负面图像,大约1000个正面和2000个负面,以获得良好的结果

答案 1 :(得分:2)

我自己也遇到过类似的问题。问题在于,每个阶段的分类器都采用了在前几个阶段被归类为正面的负面例子。所以发生的事情是,没有任何负面样本被归类为正面,而代码进入无限循环试图找到一个。我通过更改源代码解决了这个问题,以便算法在找不到任何负面示例之后终止,并且只使用前面的分类器阶段。 如果您不想更改代码,请尝试添加更多负面示例或减少阶段数。