基于层次型AdaBoost检测算法的快速人脸检测在FPGA

时间:2012-02-22来源:网络

检测流程:(1)读入取样窗口和弱特征信息,求出每层的若干微特征值;(2)将微特征值除以窗口的灰度方差,得到归一特征值(f),实现归一化处理;(3)读入此微特征训练所得的参数(m,r),将归一特征值进行处理:h=(f-m)/r;(4)输出h,从查找表中取出对应的函数值b;(5)将强分类器所包含弱分类器对应的输入值相加:a=Σb;并将a与当前层的阈值y比较;判断通过与否。

如此循环12次以检测出人脸。

2 硬件设计

整个系统分为片内、片外两部分,系统结构如图5所示。其中,片外(即存储器,存储图像和参数);片内,即FPGA,由四部分组成:(1)预处理电路:计算积分图像,微特征对应的正负区域和采样窗口的灰度方差;(2)分类器:检测出人脸窗口;(3)窗口融合电路:融合邻近的人脸窗口;(4)控制电路:控制片内片外的数据传输及片内电路的时序。

42.gif

本文在预处理电路、分类器和窗口融合电路三环节采用流水线技术,其中分类器是整个系统的技术瓶颈,决定了人脸检测的速度。因此,分类器的设计成为关键。

2.1 分类器结构

分类器由若干弱分类器和外围电路构成,其内部结构如图6所示,其中每一个弱分类器(PE)内部结构如图7所示,PE每部分实现的功能分别是:模块A:计算该窗口的微结构特征值e;模块B:归一化处理微特征值e得f;模块C:得出该窗口微特征阈值b;控制电路:控制模块间的时序即PE内部与外部的数据交换。

该处理单元由两个32位除法器、一个32位乘法器、若干全加器和寄存器构成。而除法器和乘法器由移位电路实现,其结构(以除法器为例)如图8所示。

50.jpg

2.2 弱分类器的组合

分类器由若干弱分类器与控制电路组成,其中控制电路根据每一层参数来控制该层强分类器个数与每一强分类器所含弱分类器数。

由训练得到一个包含12层共294个弱特征的分类器。因此,检测出一个人脸窗口,要通过294个弱特征处理单元运算。综合考虑时间和资源因素,弱分类器的组合采取一次处理多个窗口,分时复用硬件资源的方法。

1 2 3

关键词: AdaBoost FPGA 检测算法 人脸检测

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版