【发布时间】:2017-12-10 23:55:26
【问题描述】:
我想使用 Haar 分类器来检测场景中是否存在车辆(目前仅尝试使用汽车)。由于我在网上没有找到很多经过训练的 XML 文件,所以我决定自己生成。
我发现了一些用于类似目的(训练计算机视觉算法)的车辆图像集,并使用它们创建了我自己的 XML 文件。已经快一周了,其中一些已经完成,所以我尝试使用它们,但结果很糟糕。我在网上找到的分类器工作得很好,至少看起来他们正在尝试检测车辆并以足够快的速度进行实时应用(可能是 5-10 FPS 左右)。
而我的使用 detectMultiScale() 使用相同的参数来分析帧可能需要几分钟,如果我传递不同的参数(例如增加最小尺寸、减小最大尺寸、增加缩放因子),它会运行得更快(可能 1 FPS ) 但绝对没有检测到任何值得注意的东西,从未检测到任何车辆,并且随机检测到一些沥青点作为车辆。
我在生成文件时哪里出错了?我完成这项任务的时间有限,而且这些分类器可能需要整整一周的时间来训练,所以我剩下的尝试很少。作为参考,我的方法是(遵循this 教程):
-取所有正负图像;如果没有提供负片图像,则从另一个数据集中获取负片图像,至少与正片一样多的负片
-生成与正数一样多的样本
-使用与建议相同的参数,除了图像大小(设置为给定数据集中图像的大小)和 nstages(设置为 10,因为 20 耗时太长)
-对于npos参数,我使用样本数的1/10,使用完整的样本数导致几个小时后“断言失败”,显然样本数不能与npos相同this 所以我给了自己一个安全边际。
TL;我自己训练的 DR Haar 分类器的性能比网上找到的要差得多(在时间和准确性方面),需要有关如何改进它的建议,而不是浪费一周的时间来训练它。
【问题讨论】:
-
npos 应该是 20 个阶段的阳性样本的 90% 左右,minHitRate 为 0.995。那个 yozr 分类器需要这么多 timr 来检测是一个提示,因为过采样而过于复杂。你能发布一些你的阳性样本吗?
标签: opencv classification cascade haar-classifier