首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HAAR型分类器的最佳参数

HAAR型分类器的最佳参数
EN

Stack Overflow用户
提问于 2014-04-30 04:31:32
回答 1查看 363关注 0票数 2

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

Faces:下面的第一个甚至不起作用。它不能编译。

代码语言:javascript
复制
faceDetector.detectMultiScale(matgrey, faces, 1, 1, 2, 0|CV_HAAR_SCALE_IMAGE, cv::Size(30,30));

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

代码语言:javascript
复制
faceDetector.detectMultiScale(matgrey, faces);

行人:

代码语言:javascript
复制
hog.detectMultiScale(rgbMat, found, 0, cv::Size(8,8), cv::Size(32,32), 1.05, 2);

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

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

EN

回答 1

Stack Overflow用户

发布于 2014-04-30 11:40:35

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

要获得更好的人脸检测,请查看this thread,了解CascadeClassifier::detectMultiScale()参数的推荐值。

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

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

以支持向量机作为特征间距离的阈值,并利用支持向量机的plane.

  • group_threshold:系数来调整相似度阈值。当检测到某些对象时,可能会被许多矩形覆盖。阈值在一组矩形中使用,以保留它。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23374685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档