摘 要: 提出了一种快速视频人脸检测方法。它先通过肤色和运动信息检测以及视频图像预处理等,寻找目标区域。采用Cascade AdaBoost算法在目标区域中寻找候选人脸:AdaBoost算法通过将多个弱分类器组合成一个强的分类器,得到判断人脸中某一特征的分类器;Cascade AdaBoost算法将判断各种人脸特征的分类器相级连,得到检测正确率更高的分类器。进一步使用PCA方法对候选人脸进行验证,去除错误脸。为了提高检测速度,采取隔帧检测并对未测帧采用前向预测滤波器来预测人脸位置。本系统有效地综合利用了视频序列信息,加快了视频中的人脸检测,达到30帧/S人脸检测速率和94 %检测正确度。
关键词: 人脸检测;级联自适应增强;主成分分析;自适应滤波器;
1引言
人脸检测是在人脸表情识别系统,基于内容的检索,视频会议,三维人脸模型等方面也有重要的应用价值。近年来人脸检测的研究已经取得了长足的发展,如Viola等[1]的基于积分图像特征的AdaBoost 方法,Rowley[2]的ANN 方法等.但是大多数方法都集中在静态图像上,对于视频人脸序列的检测没有充分利用视频序列间的相关性,缺乏对视频序列中人脸检测的优化。
本文针对视频序列的特点,提出了一种快速视频人脸检测方法,它充分利用视频序列中所提供的肤色信息,运动信息和序列之间的相关性,有效的加快了人脸检测的速度和准确度。
2 视频人脸检测算法
图1是视频检测系统的流程。如图1所示我们的视频人脸检测算法主要包括运动检测,肤色检测,CASCADE ADABOOST人脸检测,PCA方法,预测算法几个部分。
2.1 运动检测
运动物体的检测有光流法和图像差分法,一般说来光流法的时间开销较大,不利于实时检测. 而图像差分法比较简单,速度快,在运动目标检测上被广泛应用. 差分法又有用当前帧减去背景帧和用相邻帧相减两种方法. 我们采用了相邻帧相减的方法,能够减少外界光照对图像序列的影响. 用图像差分法要求摄像机大部分时间是固定地对准某一场景. 利用图像差分法把不动的背景置为黑色,运动的物体置为白色.再结合腐蚀膨胀的思想来检测运动区域。
2.2 肤色检测
得到运动区域后,就在运动区域中进行肤色检测,再对得到的肤色区域进行连通标记,同时可得到连通区域的边界值,然后对每个连通的肤色区域进行判断是否为人脸. 具体步骤如下:
1) 在原图中对运动区域中的每个象素点取得它的RGB 值;
2) 把象素点的RGB 值转化为YIQ 模型中的Y、I、Q值;
3) 利用肤色在YIQ 颜色模型中的分布来判断该点是否为肤色点。 是则保留该点,否则把该点置为黑色,这样就得到了肤色区域;
4) 利用连通区域标记算法为各个连通的肤色区域作上不同的标记,并同时得到各个连通区域的边界值;
5) 计算各连通区域中肤色面积和外接矩形的比值以及外接矩形的宽和高的比值 (对面积过小的连通区域,认为是噪声区域,直接忽略掉不予考虑) ;
6) 根据人脸的基本外形特征,这两个比值应该有一个范围,本文中上限值分别取为0.88 和0.87,下限值由于人脸侧向角度的不同,可以根据实际的应用选取不同的阈值,本文中取为0.48 和0.45。对各个连通区域的这两个参数,符合以上分布的即判断为人脸候选区域。
2.3 CASCADE ADABOOST人脸检测
本实验中采取Viola等[1] 人提出的Cascade Adaboost方法做初步人脸检测。Adaboost方法是由Freund and Schapire[3]在1997年提出的,旨在提高任何一种学习方法准确性的策略。该方法根据一定的规则把多个弱分类器组合成一个强的分类器,从而达到提高识别率的目的,目前已成功应用到图像识别[3,4]和目标检测[1]上,其基本算法为:
1)给定训练集
,其中
为样本图像,
为分类结果,
2)初始化权值
,
为
取值为0的个数,
为
取值为1的个数。
3)做T轮循环(
),执行以下步骤:

4)最后得到强分类器为:

分级(CASCADE)分类器检测过程的示意图如图2所示。在每个子窗口中都采用一系列的分类器进行计算。分级分类器中的第一级可以只使用非常少的计算量,去除大量的非人脸窗口。接下来的一些子分类器层进一步去除剩余部分中的非人脸窗口, 但是需要更多的计算量。经过几级分类器的处理,候选人脸的子窗口数量急剧下降。[5] 该系统的检测率高达15 帧/秒。
2.4 PCA方法
利用主成分分析(PCA)方法将样本图像进行KL变换以消除原来各分量之间的相关性,取变换后所得到的最大的若干个特征向量来表示原来的图像如图3所示,保留了原图像差异的最大信息,这若干个特征向量就称为主成分。

Turk等[6]将PCA方法用于人脸检测与识别,他们将人脸图像投影到一个由若干个最大的特征向量张成的子空间里。本文方法采用PCA方法对AdaBoost方法产生的候选人脸做进一步验证,从而提高检测的正确率。
2.5 人脸区域预测
用两个修改的自适应前向预测滤波器[7]根据人脸位置的历史信息来预测当前人脸区域的位置,两个自适应前向预测滤波器分别用来预测当前人脸区域中心点的x值和y值。前向预测滤波器的结构如图4所示:

其中U(n)代表第n个时刻的位置输入,即x(n)或y(n)。w为预测滤波器的抽头系数。
本文中采取修改的NLMS自适应滤波器来训练滤波器的抽头系数。
其算法如下:

在偶数帧时,采用(2)式预测当前帧人脸的位置
。
在奇数帧时,采用(3),(4),(5)式训练预测滤波器。

用前向预测滤波器预测人脸位置示意图,在3阶前向预测滤波器中,用1,3,5帧的位置信息做输入,预测第6帧的位置。当第7帧通过检测程序计算出来以后,与第5帧的位置信息相平均,将该平均信息当作第6帧的真实位置,与前面预测的第6帧位置相减,得到误差估计,用该估计误差训练滤波器系数。
在本实验中,采取了8阶的预测滤波器,可以得到稳定准确的预测效果。
3 实验结果
实验在 1.1GHz Pentium III 的计算机上进行,对普通USB摄像头采集的图像做实时检测。与仅采用Cascade AdaBoost的检测结果比较如下表。

4 结论
本文针对视频中人脸检测的特点,提出了一种快速视频人脸检测方案,优化了AdaBoost算法用于人脸检测的的快速性和准确性。这种方法也可以运用到别的实时人脸检测方法中。是一种具有实用价值的方法。
参 考 文 献
[1] Viola P, Jones M. Robust Real-time Object Detection[R]. Technical Report 2001/01, Compaq CRL, 2001-02
[2] Rowley H, Baluja S, Kanade T. Rotation Invariant Neural Network-Based Face Detection[A]. In: Proc.IEEE Conf. Computer Vision and Pattern Recognition,1998:pp.38-44.
[3] Freund Y, Schapire R E. A Short Introduction to Boosting[J]. In:Journal of Japanese Society for Artificial Intelligence[C], 1999,14(5):pp.771-780
[4] Freund Y, Schapire R E. Experiments with a New Boosting Algorithm[J]. Proceedings of the Thirteenth International Conference on Machine Learning, Morgan Kaufmann,1996:pp.148-156
[5] 李月敏, 陈杰, 高文, 尹宝才,快速人脸检测技术综述[A].见:全国第16届计算机科学与技术应用学术会议论文集[C],pp.771-774.
[6] Turk M,Pentland A. Eigenfaces for Recognition[J].cognitive Neuroscience. 1991. vol.3. no.1:pp.71-86
[7] Haykin S. Adaptive Filter Theory[M]. Fourth Edition,2003,Publishing House of Electronics Industry