haarclassifiers的最佳参数

Optimal Parameters for haarclassifiers

本文关键字:参数 最佳 haarclassifiers      更新时间:2023-10-16

我正在尝试使用提供的xml文件haarcascade_frontalface_althogcascade_pedestrians.xml来检测人脸和行人。到目前为止,我可以得到一些检测,但行人检测很差,人脸检测一般。我是在拥有640x480或480x640图像的iphone上做这件事的。我也可以使图像更大,但处理速度更快。此外,我可能会将处理转移到服务器,但问题仍然存在。到目前为止,我这样做是为了得到结果。

脸:下面的第一个根本不起作用。它不会编译。

faceDetector.detectMultiScale(matgrey, faces, 1, 1, 2, 0|CV_HAAR_SCALE_IMAGE, cv::Size(30,30));

所以我求助于下面的函数调用。

faceDetector.detectMultiScale(matgrey, faces);

行人:

hog.detectMultiScale(rgbMat, found, 0, cv::Size(8,8), cv::Size(32,32), 1.05, 2);

我真的很想提高结果的质量。我很好奇改变参数是否会提高结果。我想要最佳的结果,这样处理时间就不是一个大问题。

谢谢,任何反馈都会很棒。

对于人脸检测,您不能将第三个参数(即scaleFactor-指定每个图像比例下图像大小减小多少的参数(设置为1,因为无法重新调整大小,因此您将失去以多尺度方式搜索人脸的能力。尝试将其更改为1.05(即默认值(或其他值。

为了获得更好的人脸检测,请查看此线程以获取CascadeClassifier::detectMultiScale()参数的推荐值。


对于行人检测,为了提高其质量,您应该尝试修改HOGDescriptor::detectMultiScale()的第三个参数(即hit_threshold(和最后一个参数(如group_threshold(。

特别是,为了获得更好的行人检测结果,你们都应该把它们调高:

  • hit_threshold:特征与SVM分类平面之间的距离阈值
  • group_threshold:用于调节相似性阈值的系数。当被检测到时,一些物体可能被许多矩形覆盖。阈值用于一组矩形中以保持它