问题
什么是用于多核CPU的最快的开源HOG提取代码?
动机
我正在开发一个实时目标检测应用程序。具体而言,我已经开发了一种变体的Deformable Parts Model cascades,旨在实现30fps目标检测。我已经达到了一个点,提取HOG特征比我的整个流水线的其他部分加起来更昂贵。我使用Felzenzwalb,Girshick等人的参数进行HOG提取。也就是说,一个多分辨率金字塔的HOG描述符,每个描述符有32个方向和一些其他提示。
目标
我希望在多核CPU上以60fps(16ms)对640x480图像进行多尺度HOG特征提取。
相关工作
我已经在一台6核Intel 3930k CPU上对几个现成的多尺度HOG实现进行了基准测试。对于一个640x480像素的图像,我观察到以下性能数据:
- Dubout的FFLD DPM代码中的HOG:19fps(52ms)——使用C++和OpenMP,但没有向量化
- voc-release5 DPM代码中的HOG:2.4fps(410ms)——单线程C++,加上Matlab包装器