提取功能HOG描述符

时间:2015-06-08 09:25:48

标签: java eclipse opencv

我试图用javacv使用HOG Descriptor来检测足球比赛中的球员。我已经使用默认的人物检测器实现了该方法,但结果并不令人满意。所以,我提取了正面和负面图像,我想用这个图像提取特征。 有没有人对如何做到这一点有任何想法?谢谢!

1 个答案:

答案 0 :(得分:2)

您实际上正在实施此paper中发布的想法。

可以在UCI

找到(扩展)示例代码

总结:

  1. 您必须生成正面和负面的训练集。这意味着在积极的训练图像中你必须知道球员所在的位置。
  2. 然后你必须在玩家位置提取HoG功能。请注意,原始HoG方法采用大小为128x64的输入补丁,因此请确保您的播放器都缩放到相同的大小。并且重要的是:HoG特征尺寸取决于提取窗口大小,因此请保持固定! 将信息存储在具有相应标签1的数据结构中。
  3. 然后从负片图像中提取负片特征并将其与相应的标签0或-1一起存储。
  4. 使用一些训练方法。我目前使用类似于liblinear的线性支持向量机:SVM
  5. 然后使用测试集确保您获得正确的结果。对于测试,使用滑动窗口并在整个图像上滑动它并对提取的特征进行评分。取最好的分数,因为玩家最有可能位于那里。
  6. 如果要在一张图像中检测多个玩家,请使用非最大限制抑制。
  7. 注意:HoG功能很难处理,因为提取中的微小变化可能会对性能产生很大影响。例如,openCV附带(未记录的)HoG检测器。 HoG visualization让我了解它是如何运作的。

    编辑:修复了HoG可视化链接