gpt4 book ai didi

python - OpenCV HOG 描述符参数

转载 作者:太空宇宙 更新时间:2023-11-03 21:08:12 24 4
gpt4 key购买 nike

我正在尝试使用 cv2.HOGDescriptor() 从摄像头的源中检测人物并使用他们的默认人物分类器。

识别器有点可以工作,但老实说我在理解分配给 winStride 的值时遇到了问题, padding , scalegroupThreshold分别。

目前,相机馈送的帧大小为 1280 X 720,我将其调整为 400 X 400 然后执行 detectMultiScale带参数

hogParams = {'winStride': (8, 8), 'padding': (32, 32), 'scale': 1.05, 'finalThreshold': 2}

基于此answer ,我了解这些参数的作用和代表的含义。

我的问题是,有没有办法用这些值映射图像大小?数学方程式?估计方法?我不一定要求提供所有值的具体方法或方法,而是要求比反复试验魔数(Magic Number) 更好的方法。

大多数引用资料和教程几乎都使用了魔数(Magic Number),但没有说明它们是如何获得的。

PS:如果您仍然不确定我的问题,这里有一个视觉帮助 I am looking for the cloud

最佳答案

这里没有 Elixir 。不幸的是,这是非常复杂的,因为最佳解决方案会因输入数据而异。

这里有一些额外的指导:

  • 如果 stride > window size 你的检测器甚至可能不会在人身上运行。我总是想到与窗口大小相关的步幅,例如64/8。
  • 如果 scale~1 就不会发生太多事情。像 1.2、1.3 这样的值通常更好。该参数本质上是按比例缩小图像,然后再次运行检测器。希望是,如果人们在第一次运行时对于检测器来说太大了,那么在缩小之后他们可能是合适的尺寸。例如。如果您的检测器尺寸是默认的 64x128,但图像中的某个人高 150 像素,检测器可能不会意识到这是一个人,因为它一次只能看到腿或躯干。如果我们缩小 150/1.2 = 125,那么现在可能会真正检测到这个人。 (愚蠢的数字。如果他们是 150 像素,它很可能会检测到这个人。但你明白了。)

最好的方法是进行一些试验。选择一些您认为可以代表您的用例的图像/视频,创建端到端设置,并尝试使用几个不同的参数设置。如果未检测到人员,请根据您的探测器尺寸考虑他们的尺寸。他们比那个大吗?更小?如果它们更小,可能会增加比例因子,或增加级别数。如果它们更大,则进一步缩小输入图像。

.. 1280 X 720 and I resize it to 400 X 400...

旁注:如果您只是简单地调整大小而不进行裁剪,您会得到不好的结果。将大小调整为相同的宽高比(例如 711x400),或者在调整大小之前将初始图像裁剪为正方形。

关于python - OpenCV HOG 描述符参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40477218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com