OpenCV Haartraining 永远无法完成

这是我第一次使用OpenCV的Haartraining功能。

只是为了练习,我使用了35张正样本图片和45张负样本图片。

但当我尝试从数据中进行训练时,它永远无法完成,

即使参数已经极端调整。

(最小命中率 = 0.001,最大误报率 = 0.999

我认为由于这些极端值,它不会花费太多时间)

我的实验中哪里出了问题?

这是我的命令和参数。

$opencv_haartraining -data Training -vec samples.vec -bg negatives.dat -nstages 2 -nsplits     2 -minhitrate 0.001 -maxfalsealarm 0.999 -npos 30 -nneg 40 -w 20 -h 20 -nonsym -mem 512 -mode      ALL -minpos 10

以及结果。

Data dir name: TrainingVec file name: samples.vecBG  file name: negatives.dat, is a vecfile: noNum pos: 30Num neg: 40Num stages: 2Num splits: 2 (tree as weak classifier)Mem: 512 MBSymmetric: FALSEMin hit rate: 0.001000Max false alarm rate: 0.999000Weight trimming: 0.950000Equal weights: FALSEMode: ALLWidth: 20Height: 20Applied boosting algorithm: GABError (valid only for Discrete and Real AdaBoost): misclassMax number of splits in tree cascade: 0Min number of positive samples per cluster: 10Required leaf false alarm rate: 0.998001Stage 0 loadedStage 1 loadedStage 2 loadedStage 3 loadedStage 4 loadedTree ClassifierStage+---+---+---+---+---+|  0|  1|  2|  3|  4|+---+---+---+---+---+   0---1---2---3---4Number of features used : 125199Parent node: 4*** 1 cluster ***POS: 30 32 0.937500

回答:

你是在使用OpenCV_Haartraining吗?

如果是的话,这是一个已废弃的应用程序,你应该使用opencv_traincascades。

这样做将

- A. 加快分类所需的时间  - B. 获得更好的支持

请参阅这些链接以获取更多信息 训练与TrainCascade对比TrainCascade Wiki

编辑:

另外,请更改你的最小命中率和最大误报率。

我建议使用类似0.4和0.95的数值来开始。

这样做的原因是,如果你设定为0.999和0.0001,它可能永远也达不到这个目标。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注