【问题标题】:HOG for "detecting object" opencvHOG 用于“检测对象”opencv
【发布时间】:2011-11-30 08:01:57
【问题描述】:

我想知道,是否有任何代码或任何好的文档可用于实现 HOG 功能?我试图阅读文档here,但它很难理解,它需要 SVM ..

我需要的只是为物体实现一个 HOG 检测器......就像它所做的 SIFT 或 SURF 一样

顺便说一句,我对this 的工作不感兴趣。

谢谢你..

【问题讨论】:

标签: opencv object-detection


【解决方案1】:

你可以看看 http://szproxy.blogspot.com/2010/12/testtest.html

他还在 source forge 上发布了 HOG 的“教程”: http://sourceforge.net/projects/hogtrainingtuto/?_test=beta

我知道这一点,因为我遇到了和你一样的问题。该教程虽然不是我所说的教程,它是一堆源代码,没有文档,但我认为它可以工作并且至少可以让你到达某个地方。

【讨论】:

  • 谢谢你的回答,但是为了检测人,opencv开源的samples中已经实现了教程,但是我不知道检测物体所需的参数..
【解决方案2】:

Computer Vision System Toolbox for MATLAB 中有一个函数extractHOGFeatures

【讨论】:

    【解决方案3】:

    最后并稍微简化一下,您需要检测图像中的特定对象是:

    • 本地化“兴趣点”以提取补丁:

    为了获得兴趣点,您可以使用一些算法,如 Harris 角点检测器、随机或简单的滑动窗口等算法。

    • 从这些点获取补丁:

    您必须决定补丁的大小。

    • 根据这些补丁计算特征描述符。 (像 HOG)。

    您可以使用其他特征描述符代替 HOG,例如 SIFT、SURF...
    HOG 的实现并不难。您必须在应用 Sobel X 和 Y 内核的情况下计算提取的补丁的梯度,然后您必须将补丁划分为 NxM 个单元格,例如 8x8,并计算梯度、角度和幅度的直方图。在下面的链接中你可以看到更详细的解释: HOG Person Detector Tutorial

    • 在之前训练的分类器中检查您的特征向量

    获得此向量后,请使用先前训练的分类器(如 SMV)检查它是否是所需的对象。例如,您可以使用 SVM 代替 SVM。

    SVM 实现比较困难,但是有一些库比如 opencv 可以使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-18
      • 2012-06-01
      • 2012-08-01
      • 2015-10-05
      • 1970-01-01
      • 2015-06-28
      • 2016-05-01
      • 1970-01-01
      相关资源
      最近更新 更多