【问题标题】:Error in Cascade training "trainCascadeObjectDetector" in MatlabMatlab 中级联训练“trainCascadeObjectDetector”中的错误
【发布时间】:2015-05-23 08:49:38
【问题描述】:

我正在尝试通过内置的 Matlab 函数“trainCascadeObjectDetector”训练一个级联分类器,但是当我调用此函数时,它总是显示以下错误消息:

trainCascadeObjectDetector('MCsDetector.xml',positiveInstances(1:5000,:),'./negativeSubFolder/',...
'FalseAlarmRate',0.01,'NumCascadeStages',5, 'FeatureType', 'LBP');

Automatically setting ObjectTrainingSize to [ 32, 32 ]
Using at most 980 of 1000 positive samples per stage
Using at most 1960 negative samples per stage

265 ocvTrainCascade(filenameParams, trainerParams, cascadeParams, boostParams, ...
Training stage 1 of 5
[....................................................Time to train stage 1: 12 seconds

Error using ocvTrainCascade
Error in generating samples for training. No samples could be generated for training the first cascade stage.

Error in trainCascadeObjectDetector (line 265)
ocvTrainCascade(filenameParams, trainerParams, cascadeParams, boostParams, ...

样本数为5000张正片和11000张负片。 Matlab 版本是 2014a,在 Ubuntu 12.04 上运行。

我不确定是否需要增加更多的训练数据,因为错误信息是:

生成训练样本时出错。无法生成用于训练第一个级联阶段的样本。

你能看看这个吗?谢谢!

【问题讨论】:

    标签: matlab image-processing computer-vision matlab-cvst cascade-classifier


    【解决方案1】:

    首先,positiveInstances的数据类型是什么?它应该是具有两个字段的结构的一维数组:imageFileNameobjectBoundingBoxespositiveInstances(1:5000,:) 看起来有点可疑,因为您将其视为 2D 矩阵。

    要检查的第二件事是negativeSubFolder。它应该包含大量没有感兴趣对象的图像,以便每个阶段能够生成 1960 个负样本。

    MATLAB 文档中有一个tutorial 以供将来参考。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-08
      • 2019-01-21
      • 2015-01-27
      • 1970-01-01
      • 2012-12-05
      相关资源
      最近更新 更多