检测到的Windows MATLAB上的非最大抑制

时间:2014-11-01 18:01:07

标签: matlab computer-vision detect matlab-cvst sliding-window

我目前在CCTV图像中检测头部。我正在使用HOG检测器+ SVM,我正在使用滑动窗口技术来检测磁头。当然,当我缩放图像时,我有多个同一头的检测/边界框。我知道我必须使用非最大值抑制来选择其中最好的一个,并且我尝试按照以下链接: http://quantombone.blogspot.com/2011/08/blazing-fast-nmsm-from-exemplar-svm.html

但是,我无法理解如何获得每个滑动窗口的分数。有人可以向我解释一下吗? 换句话说,我有边界框pts,我知道我必须设置0.5的重叠,但我没有每个边界框的分数。

2 个答案:

答案 0 :(得分:5)

实际上,对于非最大限制抑制,您不需要与每个边界框关联的分数。你可以使用众所周知的Viola和Jones的NMS方法(Boosted cascade of simple features):

  • 聚集所有彼此重叠的边界框大于0.5
  • 为每个群集计算平均边界框并输出它(即计算所有右上角和所有右下角之间的平均点)

你有非最大限制抑制。

如果您仍想使用其他需要输出分数的例程,则只需为每个边界框分配相同的分数。

答案 1 :(得分:2)

您应该可以从SVM中获得分数。例如,如果您使用统计工具箱中的ClassificationECOC类训练SVM,则其predict方法可以返回分数。

然后,您可以使用计算机视觉系统工具箱中的selectStrongestBbox功能进行非最大值抑制。