opencv级联分类器检测背景

时间:2015-02-20 01:16:27

标签: opencv machine-learning training-data haar-classifier cascade-classifier

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

Litle green plants sample

我对小绿色植物进行了阳性采样,并从具有相似背景且没有绿色植物的图像中得到了阴性(如许多来源所示)。使用了许多与此类似的图像进行采样。

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

我设置了通常的参数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为1)。
  2. 分类器实际上非常慢,单个输入图像花了一个多小时(下采样比例因子1.1)。
  3. 我不知道如何在训练期间(通过所有阶段)将相同的样本归类为阳性,然后在图像中将其作为正面(其周围存在大量误报)。

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

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

1 个答案:

答案 0 :(得分:2)

我可以尝试帮助,但当然除非你把你的照片寄给我,否则我不能为你训练这件事。

根据我的经验,如果你没有得到理想的结果,你只是给traincascade错误或不足的图像(正面或负面的一个或两个)。

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

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

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

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

而且,在我的经历之后,我有希望写一篇关于这些内容的一站式教程:

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