1

我一直在使用级联分类器来训练某种植物。这是我要检测的示例图像

小绿植物样品

我对小绿色植物进行了采样以获得正面效果,并从具有相似背景且没有绿色植物的图像中制作了底片(正如许多来源所建议的那样)。使用了许多与此类似的图像进行采样。

我没有很多训练数据,所以我当然没想到会有一些理想化的分类结果。

我已经设置了常用参数 min_hit_rate 0.95 max_false_alarm 0.5 等。我尝试过 5、6、7、8、9 和 10 个阶段的训练。发生在我身上的奇怪事情是,在训练过程中,我在所有阶段的命中率都是 1,而在 5 个阶段之后,我得到了很好的接受率 0.004(类似于后面的阶段 6、7、8...)。我尝试在用于训练样本的同一图像上测试我的分类器,但存在非常不合逻辑的行为:

  1. 分类器检测到几乎所有东西,但我从中提取的正样本(训练中的相同样本,HIT RATION EQUAL TO 1)。
  2. 分类器确实非常慢,单个输入图像需要一个多小时(下采样比例因子 1.1)。

我不明白如何在训练期间(通过所有阶段)将相同的样本分类为正样本,然后在图像上将其分类为正样本(周围有很多误报)。

我检查了所有内容一百万次(我以为我以某种方式混合了正面和负面,但我没有)。

有人可以帮我解决这个问题吗?

4

1 回答 1

2

我可以尝试并提供帮助,但当然,除非您将图像发送给我,否则我无法为您训练这个东西。

根据我的经验,如果你没有得到想要的结果,你只是给出traincascade了错误的图像或没有足够的图像(正片或负片,或两者兼有)。

在使用内置opencv_annotation工具创建注释文件之前,我没有得到很好的结果。你这样做了吗?有多少阳性?

您的底片是否包含您试图检测对象的背景?这是关键,不容忽视。

另外,我会使用 LBP,它要快得多。

如果您或任何人仍然被卡住并创造了一些积极因素,请将它们发送给我,我会看看我是否可以训练这个东西。

而且,在我体验过这些东西之后,我希望能写一个关于这些东西的一站式教程:

http://johnallen.github.io/opencv-object-detection-tutorial/

于 2016-04-05T23:21:41.467 回答