关于opencv_traincascade的所有问题

use*_*607 5 android opencv object-detection object-recognition cascade-classifier

我试着创建一个好的级联分类器几周,但似乎这个过程被神秘所包围.我有很多问题:

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

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

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

4)如果我想创建一个分类为一个单一的路标是够像一个单一的正面形象,与opencv_createsamples创建样?

5)创建一个在Android应用程序上使用的分类器是更好的哈尔或LBP?

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

7)minHitRate和maxFalseAlarmRate的正确值是什么?

Dab*_*abo 6

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

7.我没有使用这些参数,我总是给它们保留默认值,但你可以在这里查看关于traincascade参数,样品和其他...的解释.

另请查看此问题并回答如何正确训练级联FAQ - HAARTraining