【问题标题】:classifier works fine but detection fails分类器工作正常,但检测失败
【发布时间】:2017-09-30 17:15:49
【问题描述】:

我正在开展一个项目,该项目旨在检测人员并确定他是否佩戴了一副护目镜。现在我正在使用传统的 HOG 特征来检测基于 Dalal 算法的人体。在我测试我的数据后,我的应用程序给了我一个这样的混淆矩阵(80% 的数据用于训练,20% 用于测试):

confusion matrix.

结果似乎不错,但是当我使用检测器检测人类时,它给了我这样的结果:

result of human detection.

检测器在其他图片上的表现甚至更差

请问问题出在哪里,是分类器还是我的检测器?

对不起,我没有权限在这里发布图片..

【问题讨论】:

  • 我想知道为什么我的帖子和答案分别被否决...
  • 我的第一个猜测是检查您的数据是否正确标记。它是如何标记的(每张图片的人数,或者描绘人物的确切区域,或者......?)
  • @Lexxxxx 我只是将 pos 和 neg 图像放在两个不同的文件夹中,并将 pos 目录中的 pic 标记为 1,其他 pic 标记为 0 .....但是,在pos 包含超过 1 个人....
  • 您是否将正片裁剪为主要显示一个人?我在计算机视觉和人体检测方面没有太多经验,但我可以想象,对完整图像的训练将学习分类器,将其他方面识别为积极因素,而不仅仅是人。因此,为什么您的分类器会在您的图像中识别出 4 个“人”并仍然将它们全部标记为正确,从而产生良好的混淆矩阵。
  • 看看我找到的这个人物数据集pascal.inrialpes.fr/data/human

标签: opencv scikit-learn computer-vision svm object-detection


【解决方案1】:

你在正确的轨道上。您可以进一步改进结果。在我开始之前,你可能会得到大约 90 的准确率,如果你真的努力像 93-94% 那样努力(再次取决于你有用于训练的图像数量以及它们与实际用例的相似程度)

好的,回到答案。您必须使用硬负挖掘来减少误报(即在没有人的情况下检测到一个人)。您将所有误报添加到负类中并重新训练分类器。这将帮助您改进结果。

希望这会有所帮助。

【讨论】:

  • 感谢您的回复,太好了!我会检查一下什么是硬负挖掘并继续前进。
  • 嗨,伙计,我发现我必须使用 Hard Neg Mining 的东西......请问是否有现有算法或者我必须自己制作......我是好伤心....哈哈哈
猜你喜欢
  • 2017-10-12
  • 1970-01-01
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多