【问题标题】:Haar Classifier positive image set clarificationHaar Classifier 正像集澄清
【发布时间】:2018-02-07 20:18:09
【问题描述】:

能否请您帮助了解与 Haar 分类器培训相关的几点:

1) 正图像应该只包含训练对象还是可以包含其他一些对象?就像我想识别一些交通标志一样,正面图像应该只包含交通标志还是也可以包含高速公路?
2)创建样本矢量文件的方法有两种,一种是使用信息文件,其中包含检测到的正图像中的对象坐标,另一种只是给出正负列表。哪一个更好?
3)您通常如何创建信息文件,其中包含检测到的正图像中的对象坐标?图像裁剪器可以生成物体坐标吗?

自适应梯度的 dlib 直方图是否提供比 Haar 分类器更好的结果?
我的目标是树莓派中的交通标志检测。

谢谢

【问题讨论】:

  • 您单击的按钮标记为“”,而不是“提出多个问题”。您的问题也不符合How to Ask 此处列出的要求。网上也有大量的论文和教程。请做一些自己的研究。
  • 注意未来案例!谢谢

标签: opencv image-processing dlib haar-classifier cascade-classifier


【解决方案1】:

正样本(不一定是图像)应该只包含对象。有时无法为每个正样本获得正确的纵横比,然后您将添加一些背景或裁剪一些对象边界。最终检测器将检测正样本纵横比的区域,因此如果您在所有正样本周围使用大量背景,则最终检测器可能不会检测到交通标志的区域,而是具有大量背景的区域在您的交通标志周围。

Afaik,阳性样本必须由使用 opencv_createsamples.exe 创建的 .vec 文件提供,并且您需要一个带有描述的文件(图像中的阳性样本在哪里?)。我通常采用预处理标记的训练样本的方式,裁剪掉所有背景,以便只有中间图像,其中正样本填充整个图像并且图像已经是正确的纵横比。我为每个中间图像填充了一个基本上为“文件夹/文件名.png 0 0 宽度高度”的文本文件,然后从该中间图像创建一个 .vec 文件。但另一方面,使用全尺寸图像中的真实 roi 信息应该具有相同的质量。

请注意,如果您不为每个正样本固定相同的纵横比,则会拉伸对象,这可能会或可能不会在您的任务中出现问题。

请记住,您可以通过扭曲/转换图像来创建额外的正样本。 opencv_createsamples 可以为你做到这一点,但我从来没有真正使用过它,所以我不确定使用这些样本是否会受益于训练。

【讨论】:

  • 非常感谢!!所以我需要为正负图像保持相同的纵横比,明白了!最后一个问题:图像的颜色呢?它们都应该是灰色的吗?
  • 负图像应提供全尺寸,因为opencv会自动选择每个负图像的每个(正确的纵横比)子窗口作为负样本。只有当您想添加额外的硬负样本时,您才可能需要修复纵横比。 Afaik,级联训练仅适用于灰度,但可能会自动转换。
猜你喜欢
  • 2015-01-14
  • 2011-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-15
  • 2013-06-05
  • 2013-07-30
  • 1970-01-01
相关资源
最近更新 更多