我正在尝试使用cv2.HOGDescriptor()
并使用默认人员分类器从相机的Feed中检测人物。
识别器有点有效,但老实说我在理解要分配给winStride
,padding
,scale
和{{1}的值时遇到问题分别。
目前,相机Feed的帧大小 1280 X 720 ,我将其大小调整为<em> 400 X 400 然后使用参数<执行groupThreshold
/ p>
detectMultiScale
基于此answer,我了解这些参数的作用和代表。
我的问题是,有没有办法用这些值映射图像大小?一个数学方程?估算方法?我不一定要求一个具体的甚至是一个提供所有值的方法,但是比试验和错误或魔术数字更好。
大多数参考和教程几乎都使用魔术数字,而没有给出他们如何获得它们的建议。
答案 0 :(得分:2)
这里没有银弹。不幸的是,由于最佳解决方案将随输入数据变化而不同,因此非常容易上手。
这是一个额外的指导:
最好的方法是尝试一下。选择一些您认为代表您的用例的图像/视频,创建端到端设置,并使用几个不同的参数设置。如果未检测到人员,请考虑与探测器尺寸相关的尺寸。他们比那更重要吗?小吗?如果它们较小则可能会增加比例因子,或增加级别数。如果它们更大,则更多地缩小输入图像。
.. 1280 X 720,我将其调整为400 X 400 ......
旁注:如果你只是在没有裁剪的情况下进行大小调整,那么你会得到不好的结果。可以调整大小到相同的宽高比,例如711x400,或者在调整大小之前将初始图像裁剪为正方形。