OpenCV 级联分类器训练

OpenCV Cascade Classifier Training

我参考 this tutorial and this file 来训练我自己的分类器。但是我遇到了一些问题。

  1. 我用 objectmarker.exe 生成了 info.txt。在info.txt中,每条记录的宽度和高度都不同,但它们都保持矩形的比例。那么,我应该在 02 haarTraining.bat?

  2. 中设置 width 和 height 参数的值
  3. 负样本的宽高也要跟随正样本?

2017 年 6 月更新

例如,我用objectmarker.exe标记了下面的2张图片(标记区域表示为绿色矩形)。但是,这2个矩形的宽高是不一样的。

在info.txt中:

rawdata/IMG_20170616_170411.jpg 1 993 424 201 284 
rawdata/IMG_20170616_170544.jpg 1 895 994 69 95 

因此,我不知道如何在 02 haarTraining.bat 中配置宽度和高度参数。

  1. 所以你标记的正样本的纵横比是固定的?选择你仍然想要检测的物体的最小尺寸,但要大到足以拥有所有必要的特征(所以你可能需要多次训练并选择最好的一个——在原始人脸检测论文中就是这样完成的)。

  2. 负样本不允许包含目标对象,大小无关紧要,每个负样本中的每个(调整大小的)图像(子)window将被使用作为负样本。

比如你想检测图像中样本大小为28x24的猫,你可以提供一张8000x6000的街景图像,其中没有任何猫,它会自动提供大量大小为28x24的负样本给培训。