我正在研究一个高分辨率数据集,用于提取所需的图像对象。为此,我应用了 HOG + SVM。虽然我得到的结果非常有希望并且在操作上被接受,但这项任务的速度很烦人!对于每个大小为 2800 * 1400 的图像,算法需要 4 分钟才能完成,这与我需要的时间相去甚远。大部分时间用于执行滑动窗口。我需要在 10 秒内完成此识别程序。由于我使用了 Matlab,似乎达到 10 秒是不可能的,我必须考虑C++。但是,我从未与C++合作过,也没有足够的时间来学习这项任务。
我很感激知道有没有办法加快 Matlab 或 Python 中的滑动窗口以在 1 分钟内执行识别?
它必须是 HOG-SVM 吗?
如果没有,则可以使用计算机视觉系统工具箱中的trainCascadeObjectDetector
函数。它训练一个增强级联分类器,并为您提供 HOG、LBP 和 Haar 特征的选择。然后您可以使用 vision.CascadeObjectDetector
,它使用本机代码在内部实现滑动窗口,使其更快。
请参阅 matlab 文档,了解如何训练级联对象检测器。