31

我是人脸检测的大一新生。这些天我尝试编译用于​​人脸检测的 OpenCV2.1 代码。我发现正面检测的级联文件大约有4个,分别是“haarcascade_frontalface_alt.xml”、“haarcascade_frontalface_alt_tree.xml”、“haarcascade_frontalface_alt2.xml”和“haarcascade_frontalface_default.xml”

我没有找到任何文件来描述它们之间的区别,哪个更适合人脸检测任务?

4

2 回答 2

37

为了了解每个文件有多成功、有多少误报以及总共发现了多少东西,我在 41,452 个杂志封面上运行了每个 XML 文件,并制作了一个联系表和每个文件的平均值。

这是Flickr 上的结果。标题显示输入 XML 文件名以及检测到的特征数量。

haarcascade_frontalface_default.xml 的示例结果

haarcascade_frontalface_alt_tree.xml_-_4720_into_one haarcascade_frontalface_alt2.xml_-_9563_into_one haarcascade_frontalface_alt.xml_-_8970_into_one

对于您提到的文件,以下是找到的功能数量:

我没有计算误报,你必须检查图像(例如,微笑文件不是很好,但面部通常是)。当然,根据您的输入数据,您会得到不同的结果,而杂志封面通常是非常干净的照片。

于 2014-01-08T15:25:26.680 回答
10

这取决于您的用例。如果您更喜欢高精度或高召回率。

我对 haarcascade_frontalface_default.xml 和 haarcascade_frontalface_alt_tree.xml 进行了人脸检测对比测试,detectMultiScale 函数的参数相同,只保留detectMultiScale 返回的最大矩形。

在我的测试数据中,我发现 haarcascade_frontalface_default.xml 具有更高的召回率(副作用是,更多的误报),而 haarcascade_frontalface_alt_tree.xml 具有更高的精度(副作用是,检测到的人脸数量更少)

许多人尝试对您的数据进行类似的测试,并选择最适合您目的的测试

于 2015-03-08T23:54:31.677 回答