traincascade,classifiers和openCV

时间:2014-05-22 19:47:21

标签: python c++ opencv computer-vision

目前,我正在培训一些数据,而且我已经进入了第十一阶段。但是,我一直都坐在这里大部分时间而没有进入第12阶段。阶段1-10完成不到18个小时,我的acceptanceRatio接近10 ^ -7低。我想知道是否有一种很好的方法可以根据我目前训练过的数据强制完成分类器xml文件。或者,如果我可以停止该过程,然后根据我此时获得的阶段生成分类器。我怎么能这样做呢?

另外,我想知道理想的接受率是多少。我现在假设它只是一个小数字但是如果有人能帮助清除它那将是非常棒的。

供参考,这些是我用于火车的参数:

PARAMETERS:
cascadeDirName: classifier
vecFileName: samples.vec
bgFileName: negatives.txt
numPos: 68
numNeg: 436
numStages: 20
precalcValBufSize[Mb] : 3072
precalcIdxBufSize[Mb] : 3072
stageType: BOOST
featureType: HAAR
sampleWidth: 80
sampleHeight: 80
boostType: GAB
minHitRate: 0.999
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: ALL

1 个答案:

答案 0 :(得分:2)

是的,你可以在第15阶段停止它。

用于测试工作的14个阶段(15个可能会被破坏),您将使用num_stages 14重新发送cmdline。这将生成一个可以使用的cascade.xml。

稍后只需用num_cascades 30重新启动即可完成培训。 (也许你必须删除第15阶段)