如何计算 OpenCV 人脸检测器的检测分数?
Posted
技术标签:
【中文标题】如何计算 OpenCV 人脸检测器的检测分数?【英文标题】:How to calculate detection_score for OpenCV's face detector? 【发布时间】:2015-01-11 12:38:29 【问题描述】:我想使用FDDB 来评估一些人脸检测器,包括 OpenCV。但是FDDB的检测输出文件需要:
<left_x top_y width height detection_score>
它包括一个detection_score
部分。但是opencv的检测器没有这样的输出。这个怎么输出?
【问题讨论】:
这个fddb ?另请注意,更现代的 opencv 版本还带有预训练的 lbp 级联,因此它不仅限于 viola-jones 的想法。 是的。即使是 lbp 级联,它也应该输出 fddb 测试的检测分数。 没试过(所以,不是答案),但是afaik,你可以使用this detectMultiScale overload,levelWeights 应该与分数成正比 谢谢,贝拉克!我会试试的。我从谷歌得到一个使用矩形数量的参考:haoxiang.org/2013/11/…。它会做场景吗?。 @HoneyTidy 提到的博客文章中计算的检测分数可以使用返回人脸数量的新 OpenCv api 轻松计算。您还可以将 minNeighbors 设置为零,然后使用 Opencv 的 groupRectangles 方法对矩形进行分组。但是,这种方法是不正确的。 【参考方案1】:来自他们的常见问题解答 (http://vis-www.cs.umass.edu/fddb/faq.html)
他们将候选窗口的检测分数定义为:
K*stage_when_rejected + stage_sum_for_stage_when_rejected。 (选择 K 为较大的值,例如 1000)
为了确保在第 i 阶段被拒绝的窗口比在第 i-1 阶段被拒绝的窗口得分更高
【讨论】:
以上是关于如何计算 OpenCV 人脸检测器的检测分数?的主要内容,如果未能解决你的问题,请参考以下文章
opencv中检测出人脸之后,需要把检测出的人脸区域提取出来,用作人脸识别,那么如何提取人脸区域