【问题标题】:Training a Haar cascade took very little time训练一个 Haar 级联只需要很少的时间
【发布时间】:2014-02-01 07:34:35
【问题描述】:

我使用 2000 个裁剪人脸图像(仅包含人脸)和 3321 个负随机图像训练了一个新的 haar 级联。

我使用了命令:

opencv_traincascade -data classifier -vec samples.vec -bg negatives.txt -numStages 20 -minHitRate 0.999  maxFalseAlarmRate 0.5 -numPos 2000 -numNeg 3321 -w 80 -h 40 -mode ALL -precalcValBufSize 1024 -precalcIdxBufSize 1024

我很担心,因为训练只用了 34 分钟。结果也不是很好。

我应该使用更多样本吗?使用上述参数训练一个分类器只需要 30 分钟是正常的吗?我应该改变它们以获得更好的结果吗?

我正在使用 OpenCV 2.4.7 开发 windows8。我正在使用具有 8GN 内存的相对强大的机器。

提前致谢,

吉尔。

【问题讨论】:

    标签: opencv computer-vision


    【解决方案1】:

    我的答案可能迟到了。不过为了别人我还是会发的;

    首先,我很惊讶培训只用了这么短的时间。特别是因为您的样本非常大。 80x40 真的很大!我自己通常使用 20 像素左右的样本来训练最大尺寸。在您的情况下,22x11 就可以了。随着样本量的增加,训练时间几乎呈平方增长。

    接下来,2000 个正数应该工作得很好。也就是说,如果他们不是太相似的话。最好有与您希望在行动中检测到的差异一样大的样本。删除非常相似的样本。它们对检测器的质量有负面影响。

    然后,3000 底片有点偏低。大约 6000 个底片给了我很好的结果。但同样,最好有非常不同的底片。最好有很多细节的底片。明亮的蓝天图片效果不佳。如果你不能轻易得到那么多底片,你也可以展示你拥有的那些的旋转版本。

    最后,我越想,我就越相信你做错了什么。 2000 个 80x40 样本在 34 分钟内完成 20 个阶段?没门!你真的在那个矢量文件中有所有 2000 个阳性吗?

    问候并祝你好运!

    【讨论】:

      【解决方案2】:

      检查您是否真的有一个 20 级级联。如果您获得的阶段少于预期,请检查是否是因为您用完了正样本。通常,您不应在每个阶段使用所有阳性样本。根据您的命中率,您可能会在每个阶段拒绝一些正样本,这些样本需要补充以进行下一阶段的训练。因此,您希望 numPos 小于您拥有的阳性样本总数。

      首先,您需要分析您的检测结果。您是否正遭受过多的误报、过多的误报或两者兼而有之?

      一般来说,如果你的结果不好,你可以做几件事。

      首先,确保您的负片图片相当大,并且它们包含通常与您感兴趣的对象相关联的背景(在您的情况下为面孔)。训练器自动为每个阶段生成负样本。它使用它已经拥有的阶段来对负图像进行检测。它检测到的任何东西都被定义为误报,这些被用作下一阶段的否定。

      更多数据通常是个好主意。因此,如果您有 15K 阳性,请尝试添加更多。如果您的检测器漏掉了很多人脸,这将非常有用。

      如果您看到太多误报,那么您应该尝试降低分类器的总体误报率。由于您拥有如此多的数据,您可以尝试通过增加阶段的数量来做到这一点。或者,您可以降低每个阶段的最大误报率。这意味着每个阶段都必须更加复杂,并且需要更长的训练时间。

      您还可以尝试不同的功能。您现在可以选择 Haar、LBP 和 HOG。与 Haar 相比,LBP 和 HOG 的训练时间和记忆力要少得多。但是,HOG 可能不太适合人脸。

      【讨论】:

      • 谢谢@Dima,我的级联中确实有 20 个阶段,这是否意味着训练阶段结束时没有任何问题或错误?
      • 听起来很像。听起来很奇怪,也许只需要 34 分钟。下一步是试用您的检测器,看看会发生什么。 :)
      • 感谢@Dima,我测试了它,结果不是那么好。也许我应该使用更多的样本?我有大约 15K 正片和多少 130K 负片。你有什么看法?
      • 感谢您的回答!
      猜你喜欢
      • 1970-01-01
      • 2019-01-21
      • 2014-01-31
      • 2015-02-08
      • 2020-10-16
      • 2019-02-06
      • 2012-03-05
      • 2015-09-12
      • 2014-12-15
      相关资源
      最近更新 更多