AdaBoost+LBP人脸检测算法加速相关分析

本文分析了AdaBoost+LBP人脸检测算法的时间消耗,指出特征计算和分类器判断是主要瓶颈。特征计算涉及LBP特征值的计算,而分类器判断包括多个弱分类器的级联决策。虽然特征计算的SIMD加速和提前终止判断能带来一定提升,但底层代码优化空间有限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AdaBoost+LBP人脸检测时间用量分析

 

检测流程

          人脸检测过程采用多尺度滑窗搜索方式,每个尺度通过一定步长截取大小为20x20的窗口,然后将窗口放到级联分类器中进行是不是人脸的判决,如果是人脸则该窗口通过所有级联分类器;反之,会在某一级分类器被排除。

          流程如下:


         图中所示为主要的人脸检测步骤,其中:

1.     多尺度搜索是对图像按一定的ScaleFactor进行缩小,每缩小一次,在缩小后的图像上进行大小为20x20的人脸检测;

2.     单尺度搜索是在缩小到某一尺度的图像中,在x, y两个维度上通过一定步长(如2 pixel)进行20x20的窗口扫描,将截取的窗口送到分类器中进行特征提取和判决;

        

滑窗扫描示意图

          可以看出,单尺度滑窗操作的待判断窗口数数量约为(height-20) /ystep *(width-20) /xstep,以100*100的待检测图像为例,xstep,ystep为2的情况下,需要判断的窗口数约为1600个;多尺度情况下,每个尺度都要进行滑窗,所以总检测窗口数数量会大很多。搜索空间大是所有基于多尺度滑窗检测算法在效率方面面临的主要问题。

时间分析

         下面对检测过程的时间用量分析采用了两种方式,一种是基于Visual Studio2013的分析工具profiler的分析结果,一种是在程序中嵌入时间测量代码进行断点测量结果。二者的测试平台均为PC, Win7 32bit, i5-4590 3.3GHz, 4G内存, OpenCV 2.4.10

         注意,两种方法的测试图像不同,所以结果有所差异,但并不影响对程序中各部分用时的分析;结果的差异主要是测试的图像分辨率不同,导致不同步骤的运算量的变化量不同,在总时间的所占比例上会产生差异。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值