gpt4 book ai didi

opencv - 如何加快 svm.predict 的速度?

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

我正在编写一个滑动窗口来提取特征并将其输入到 CvSVM 的预测函数中。但是,我偶然发现 svm.predict 函数相对较慢。

基本上,窗口以固定步长在图像尺度上滑动穿过图像。

  • 遍历图像的速度加上为每个图像提取特征窗口大约需要 1000 毫秒(1 秒)。
  • 包含由 adaboost 训练的弱分类器导致大约1200 毫秒(1.2 秒)
  • 然而,当我通过特征时(已被标记为阳性通过弱分类器)到svm.predict函数,整体速度减慢到大约 16000 毫秒(16 秒)
  • 尝试先收集所有“正面”特征,然后再传递给svm.predict 使用 TBB 的线程导致 19000 毫秒(19 秒),可能是由于创建线程等所需的开销。

我的 OpenCV 构建被编译为包括 TBB(线程)和 OpenCL(GPU)功能。

有没有人设法加速 OpenCV 的 SVM.predict 函数?

我已经被这个问题困住了很长一段时间,因为通过我的测试数据运行这个检测算法来进行统计和阈值调整是令人沮丧的。

非常感谢您阅读本文!

最佳答案

(发布答案以正式化我的评论,上面:)

SVM 的预测算法需要 O(nSV * f) 时间,其中 nSV 是支持向量的数量,f 是特征的数量。支持向量的数量可以通过更强的正则化训练来减少,即通过增加超参数 C(可能以预测准确性为代价)。

关于opencv - 如何加快 svm.predict 的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16191858/

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