一种 Deformable Parts Model (DPM) 快速检测算法的简介与进一步加速

本文简要回顾Deformable Parts Model (DPM) 检测流程,重点介绍Fast Fourier Linear Detector (FFLD)如何利用FFT加速卷积运算,并探讨FFLD的进一步优化策略,包括模型FFT缓存、HOG金字塔加速搭建和分层检测方法,以提高DPM的检测效率。
摘要由CSDN通过智能技术生成

前面的博文Deformable Parts Model (DPM) 检测加速算法简介中已经提到过,

[1] ECCV 2012 Exact Acceleration of Linear Object Detectors

一文借助FFT,将模型与HOG特征在空域中的卷积计算,转化为频域中对应位置元素的乘法运算,实现了DPM检测的加速。另外,这篇论文给出了整个DPM检测算法的C++实现,称为Fast Fourier Linear Detector,简称FFLD(点击下载代码),参考价值非常大。本文将对DPM算法检测流程进行简要回顾,然后简述[1]中采用FFT对卷积运算进行加速的方法FFLD,最后阐述如何在FFLD代码的基础上进行进一步的加速。

算法回顾

首先对DPM检测流程进行回顾,如图1所示。


图1 DPM检测标准流程

FFLD:采用FFT对卷积运算进行加速

[1]中对于为何FFT能够对模型与HOG特征的卷积计算进行加速做了较为详细并且浅显易懂的解释说明,这里不再重复。下面采用一维信号距离简单说明。

假设有两个长度为n的一维向量x和y,我们要在时域上直接计算这两个向量的卷积z,那么计算的复杂度是O(n*n)的。但是转换到频域计算就不一样了。时域上的卷积对应于频域上的相乘。对x和y进行FFT,得到X和Y,复杂度是O(nlogn)的,在频域上X和Y两个序列对应位置元素做复数乘法,得到频域序列Z,其复杂度是O(n)的,再将频域上的Z进行IFFT得到时域的z,复杂度是O(nlogn)的,所以利用FFT计算卷积能够将总的复杂度从O(n*n)降至O(nlogn),并且序列长度越大,降低的程度就越多。

假设我们有模型F和三个HOG特征层HOG0,HOG1和HOG2,F和这三个HO

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值