使用CvSVM和HOG进行人员检测

时间:2015-05-05 16:45:51

标签: c++ opencv machine-learning libsvm

我正在开展一个项目(使用opencv),我需要完成以下任务:

训练分类器,以便它可以检测热图像中的人。

我决定使用opencv并使用HOG和SVM进行分类。

到目前为止,我已经达到了可以

的程度
  1. 加载多张图像,正样本和负样本(约1000张)
  2. 提取每张图片的HOG功能
  3. 使用标签
  4. 存储功能
  5. 训练SVM
  6. 获取SVM设置(alpha和偏差),将其设置为HOG Descriptor的SVM
  7. 运行测试
  8. 测试是可怕的,甚至比原来的

    更糟糕
    hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());
    

    我认为我正在做HOG功能错误,我为整个图像计算它们,但我需要在人物所在的图像部分计算它们。所以我想,我必须裁剪Person所在的图像,将其调整为某个窗口大小,训练SVM对这些窗口进行分类,然后将其传递给HOG描述符。

    当我直接在训练有素的SVM上测试图像时,我观察到,我得到几乎100%的误报。我想这是由我前面描述的问题引起的。

    我愿意接受任何想法。

    此致

    HH

0 个答案:

没有答案