3

我目前正在尝试使用带有 HOG 描述符的 OpenCV 2.4.4 来计算汽车。因为汽车检测模型在 OpenCV 中不可用(与已经有检测器模型的人员检测器不同),我正在使用 SVMLight 和来自 INRIA 汽车数据集的汽车数据集创建我自己的模型正样本和负样本)。

然后我使用带有 SVMLight 的正负样本创建模型(将图像大小调整为 128 * 104,因为 HOG 图像必须是 2 的幂),遵循教程和代码。我将模型应用于我的程序,它可以正确检测汽车,但也有很多误报(每张图像 3-8 个误报)

我阅读了 HOG Detector 的 Dalal 论文,发现需要使用通过将初步模型应用于负样本而发现的误报来重新训练模型。生成的补丁大小不同,所以我再次将其调整为 128*104 像素。

我像初步运行一样使用正负样本重新运行 HOG 训练程序,但是这次在负样本上添加了误报(这是我根据 Dalal 的论文认为的重新训练)。然后我有重新训练的模型。

不幸的是,我使用新模型运行汽车检测程序,但是尽管我使用了正样本图像和其他包含汽车的图像,但所有图像都没有检测到汽车。

这很有趣,我很好奇你们是否能指出我做错了什么。任何讨论或问题也值得赞赏!

我尝试了同样的事情,现在使用行人图像。结果还是一样,初步模型导致很多误报。再训练后,结果是没有命中(0.0命中阈值)。如果我将命中阈值降低到 -0.1 到 -0.5,则检测到正面图像,但命中率很低(50-70%)。好吧,我想这最终是关于命中率和误报之间的权衡,但是,再训练可以让模型更准确

编辑 在这个论坛搜索后,我认为对于我的相机是静态的系统,如果我使用背景分割和斑点跟踪会更好。我目前不再探索 HOG,但是对于任何知道 HOG 训练和检测问题出在哪里的人,也许您想在这里发布答案以帮助其他有相同问题的人

4

0 回答 0