新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于层次型AdaBoost检测算法的快速人脸检测在FPGA

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

作者:时间:2012-02-22来源:网络收藏

是指对于给定的图像或视频,判断其中是否存在人脸,如果存在,则进一步确定人脸的个数、具体位置以及大小的过程[1]。

本文引用地址:http://www.eepw.com.cn/article/190732.htm

作为一个模式识别问题,人脸检验包含两个方面的内容,一是特征提取,二是分类方法设计。近年来,为更好地区分不同模式,出现了一些新的特征定义,使其便于特征提取[2]并拓展了特征库[3],而采用算法从弱特征中选取分类能力强的特征组成强分类器的方法来设计层次型分类器,可以很好地解决直立正面问题[4]。

有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理,且有良好的并行性和可扩展性。因此,特别适用于中多个窗口并行处理以及弱特征的并行运算。

1 算法介绍

1.1 弱特征

由于像素特征具有受尺度变化影响比较严重和不便于构建快速分类器的缺点,因此,为了更好地区分不同模式,本文采用区域面积来归一化特征,将特征定义为相邻矩形像素灰度均值之差,如式(1):

38.jpg
  
其中,II(x,y)为积分图像在点(x,y)处的值,I(x′,y′)为图像在点(x′,y′)处的值。

采用面积来归一化,避免了对弱特征进行尺度放缩时引起的误差,并且减弱了光照对检测的影响。

1.1.1 弱特征库的建立

为易于实现,本文采用一个包含九个区域的形状模板来统一表示像素特征,九个区域面积大小相同,但对模板区域而言,长宽可以不同。模板的九个区域有三种状态:1、0、-1,分别采用白、黑、灰来表示。在九个区域中,正特征集合定义为形状模板中白色区域组成的集合,负特征集合定义为形状模板中灰色区域组成的集合,黑色区域没有使用。

考虑到特征的表示能力和运算速度,文中只选择了其中16种表示能力强且易于快速运算的形状作为弱特征库,16种形状模板如图1所示。

39.gif

1.1.2 弱特征值的快速计算

为快速提取弱特征,将其转化为两个矩形区域的求取运算,以第13种弱特征为例,正负区域运算图如图2所示。先将负矩形合并为一个矩形,即图中A区域所示;然后求取九个区域的灰度和,即图中C区域像素灰度和,最后通过C和A求取B区域像素灰度和。根据式(2),可得sum(B)=sum(C)-sum(A)。特征区域面积也可以通过类似方法求取。根据式(1)可得到:

40.jpg

1.2 分类方法设计

为了在检测率不变的条件下提高检测速度,本文采用层次型人脸检测器结构,如图3所示。该结构分为12层,每一层都是 算法训练得到的一个强分类器.经过阈值调整,使得每一层都能让几乎全部人脸样本通过,而拒绝很大一部分非人脸样本。这样,靠近前面的各层,采用少量的特征即可拒绝大部分的非人脸样本,而靠近后面的各层,需采用大量的特征来排除近似人脸的非人脸候选图像的干扰。

1.3 检测流程

基于上述分析,判断一个人脸窗口的基本流程如图4所示。

41.gif


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭