gpt4 book ai didi

python - 为什么我在使用 scikit-image hog 和 OpenCV hog 时没有得到相同的特征描述?

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:31 25 4
gpt4 key购买 nike

我打算将 hog 特征描述符与 SVM 分类器结合用于对象检测项目。 scikit-image 中提供的 hog 在分类阶段产生了非常好的结果。但是,它运行得非常慢(手头每张图像 20 秒)。另一方面,OpenCV 版本非常快(每张图像 0.3 秒)。问题是,虽然我对两个 hog 版本使用了相同的参数,但结果却各不相同。我为每个版本使用的参数如下:

OpenCV 版本:

winSize = (4,4)
blockSize = (2,2)
blockStride = (2,2)
cellSize = (2,2)
nbins = 5
hog = cv2.HOGDescriptor(winSize,blockSize,blockStride,cellSize,nbins)
hist = hog.compute(image)

scikit-image 版本:

hist = hog(image, orientations=5, pixels_per_cell=(2,2),cells_per_block=(2, 2), block_norm='L2-Hys')

由 OpenCV 生成的 pig :

[[ 0.        ]
[ 0. ]
[ 0.99502486]
...,
[ 0.99502486]
[ 0. ]
[ 0. ]]

由 scikit-image 产生的 hog:

[[ 0.        ]
[ 0. ]
[ 0.16415654]
...,
[ 0.14253933]
[ 0. ]
[ 0. ]]

值得注意的是,两个描述符生成的特征数量是相同的。

OpenCV hog 生成的结果与 scikit-image 的结果不同,这有什么问题?

最佳答案

HOG论文在scikit-image中的实现与opencv不同。上次查看源代码时,我注意到,除其他事项外,scikit-image 执行的规范化并不是本文推荐的规范化。

我建议使用 opencv 提供的那个,因为它可以让你更改几个参数并且更接近 HOG 论文的实现。此外,正如您自己发现的那样,opencv 实现经过优化并且速度更快。

关于python - 为什么我在使用 scikit-image hog 和 OpenCV hog 时没有得到相同的特征描述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46272842/

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