5

我尝试创建一个好的级联分类器已经有几个星期了,但似乎这个过程被神秘所包围。我有很多问题:

1)为什么opencv给我们的信息这么少?

2)它需要更多的正面图像还是负面图像?

3)什么尺寸应该有正面图像?和负面形象?它们必须具有相同的大小吗?

4)如果我想为单个路标创建分类器就足够像这样的单个正图像来使用opencv_createsamples创建样本?

5)创建一个在android应用程序上使用的分类器是更好的Haar还是LBP?

6) 正确的阶段数是多少?

7) minHitRate 和 maxFalseAlarmRate 的正确值是多少?

4

1 回答 1

6
  1. 它提供了信息,阅读它有点无聊http://docs.opencv.org/doc/user_guide/ug_traincascade.html
  2. 出于多种原因,您需要更多负面图像。首先,当正面图像多于负面图像时,它有时会崩溃,其次 - 大部分时间训练的重点是在负面图像中寻找被检测为您的对象的东西并修复错误。
  3. 据我所知,这并不重要,但相关的是他们自己的负面形象。它们应该接近您对象的真实背景,我的意思是,如果它是交通标志,请不要将在您的办公室点击的图片作为背景,将点击的图片放在外面。
  4. 对我来说,有一张我的对象的图片就足够了,用 opencv_createsamples 生成 1500 个样本,但更好的是有几个图像 10、20 来生成 100、200 个样本,然后将它们全部组合成一个训练集。
  5. Haar 是较慢的训练和运行时,但有时更精确,所以我的选择是 LBP。
  6. 您可以逐级训练级联,在开始时制作10个-15个阶段,然后逐个添加它们。所有阶段都记录下来,您不必每次都从第一阶段开始。

7.我没有使用这些参数,我总是将它们保留为默认值,但您可以在此处查看有关 traincascade 参数、样本和其他...的说明。

还要检查这个问题和答案如何正确训练级联常见问题解答 - HAARTraining

于 2013-12-22T14:29:33.027 回答