OpenCV⾏⼈检测HOGDescriptor::detectMultiScale参数详解
转⾃:
毕设有涉及到⾏⼈检测的内容,虽然⽤opencv⾃带的训练好的数据进⾏了代码实现,但是效果⼀般般。想修改⼀下参数进⾏⼀些优化,可
是直接看opencv中的参数解释还是看不懂,在⽹上搜寻⼀番看到⼀篇博客,理解了⼀些,特转到这⾥。
前段时间学习了HOG描述⼦及其与SVM结合在⾏⼈检测⽅⾯的应⽤。
当我们⽤训练好的模型去检测测试图像时,我们会⽤到detectMultiScale()这个函数来对图像进⾏多尺度检测。
这是opencv3.1⾥的参数解释
可以看到⼀共有8个参数。
(必需)
这个不⽤多解释,显然是要输⼊的图像。图像可以是彩⾊也可以是灰度的。
ocations
存取检测到的⽬标位置
eshold(可选)
opencvdocuments的解释是特征到SVM超平⾯的距离的阈值(ThresholdforthedistancebetweenfeaturesandSVMclassifying
plane)
所以说这个参数可能是控制HOG特征与SVM最优超平⾯间的最⼤距离,当距离⼩于阈值时则判定为⽬标。
ide(可选)
HoG检测窗⼝移动时的步长(⽔平及竖直)。
winStride和scale都是⽐较重要的参数,需要合理的设置。⼀个合适参数能够⼤⼤提升检测精确度,同时也不会使检测时间太长。
g(可选)
在原图外围添加像素,作者在原⽂中提到,适当的pad可以提⾼检测的准确率(可能pad后能检测到边⾓的⽬标?)
常见的padsize有(8,8),(16,16),(24,24),(32,32).
(可选)
如图是⼀个图像⾦字塔,也就是图像的多尺度表⽰。每层图像都被缩⼩尺⼨并⽤gaussian平滑。
scale参数可以具体控制⾦字塔的层数,参数越⼩,层数越多,检测时间也长。⼀下分别是1.011.51.03时检测到的⽬标。通常scale在
1.01-1.5这个区间
hreshold(可选)
这个参数不太清楚,有⼈说是为了优化最后的boundingbox
nShiftGrouping(可选)
bool类型,决定是否应⽤meanshift来消除重叠。
default为fal,通常也设为fal,另⾏应⽤non-maximasupperssion效果更好。
本文发布于:2022-11-27 08:45:32,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/29961.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |