【问题标题】:Using Haar Cascade Classifier in OpenCV to count cars in an aerial image of a parking lot在 OpenCV 中使用 Haar Cascade Classifier 对停车场航拍图像中的汽车进行计数
【发布时间】:2014-06-26 19:20:32
【问题描述】:

我想计算停车场航拍图像中的汽车数量。经过一些研究,我相信 Haar Cascade Classifiers 可能是一个选择。我将使用的图像示例类似于 Google 地图中停车场的放大图像。

我目前的计划是使用汽车训练自定义 Haar 分类器,我只在一个方向(上下)裁剪图像,然后在以 15 度增量旋转图像的同时多次尝试识别。我的具体问题是:

  1. 在这里使用 Haar 分类器是一种好方法还是有更好的方法?
  2. 假设这是一个好方法,当从较大的图像中裁剪汽车以获取训练数据时,最好裁剪一个较大的区域,该区域可能包含相邻停车位中的小部分汽车(尽管一些训练图像显然会包括单人汽车、旁边只有一辆车的汽车等)还是最好将汽车裁剪得尽可能接近其轮廓?
  3. 再次假设我采用这种方法,如何避免重复计算汽车?如果一辆车在一个方向上被识别,我不希望它被再次计算。有什么方法可以将汽车标记为已计入并忽略它?

【问题讨论】:

    标签: opencv haar-classifier


    【解决方案1】:

    我认为在您的情况下,我不会选择 Haar 功能,您应该搜索旋转不变的东西。

    我建议按以下顺序处理此任务: 创建一个可靠的训练/测试数据集,并仔细阅读有关获得良好负样本的论文。以我的经验,好的负样本对分类器的结果质量有很大影响。如果您的所有样本都具有相同的图像大小,那么您的生活会变得更加轻松。添加不同类型的负样本、半辆汽车、只是路面、草、树、人等...

    在开始搜索分类器之前,请确保您的评估管道井井有条,并使用最简单的 Haar 分类器进行 10 倍交叉评估。现在你有了一个基线。尝试让您测试的所有功能的软件都正常工作,以防您发现您的数据集需要调整。理想情况下,您可以只执行一个脚本,然后自动对新数据集重新运行整个评估。

    当您可以找到旋转不变的特征时,多次计算汽车的问题就不再那么重要了。仍然需要非最大抑制,因为您可能无法通过简单的阈值获得良好的识别。

    作为提示,您可能会考虑 HOG 功能,我确实在使用它们的汽车上取得了一些不错的结果。

    【讨论】:

    • @Kartz,您是否将 HOG 实现与 Cascadeclassifier 实现进行了比较?您使用哪个数据集来训练您的 SVM 分类器以从图像/视频中检测汽车的 HOG 特征
    • 我自己没有做比较,后来我加入了这个小组。 HOG 是首选,因为它在倾斜图像上表现良好。不幸的是,测试数据不公开。您可能想创建自己的集合(我知道它是一个要注释的 PITA...)
    • 感谢您的回复。你是如何训练分类器的?
    猜你喜欢
    • 2020-12-01
    • 2016-07-15
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多