快速反应智能安全监控系统的设计与实现
来源:电子工程世界 作者:—— 时间:2010-03-23 07:00
3.2 人脸的检测定位
在检测出运动的目标之后,要判断目标为人体还是其他动物,这可以通过目标的尺寸及目标的空间特征(如宽高比等)来区分。在确定为人体目标之后,就要确定出人脸的区域。确定人脸区域的方法有多种,本系统采集的是彩色图像,可以根据肤色进行判别。利用肤色提取色彩信息的方法已被广泛应用在计算机视觉研究领域中。肤色是人脸的重要信息,不依赖于面部的细节特征,对于旋转、表情等变化情况都能适用,具有相对的稳定性并且和大多数背景物体的颜色相区别。与其他人脸检测方法相比,肤色的判断在速度上具有明显优势。因此,将其作为人脸检测的其他方法的预处理,可以在很大程度上减小人脸检测的搜索范围,降低误报率,进而大大提高人脸检测算法的整体性能。
人脸检测过程如下:对于彩色图像首先进行肤色检测;在检测出肤色区域后,需要进行区域分隔及形态学运算,通过形态学处理可以过滤由于噪音或者其他原因引起的一些较小的不可能为人脸的类肤色区域,减少候选区域和提高检测速度,降低误判的可能性;之后根据它们在色度上的相似性和空间上的相关性分割出可能的人脸区域,同时利用区域的几何特征及灰度特征验证是否为人脸,以排除其他色彩类似肤色的物体。
用肤色来检测人脸,要先确定肤色模型。基本的肤色模型有3种:RGB模型、HIS模型和YCbCr模型。这里选用YCbCr模型,原因是图形采集输出的格式为YUV,而YUV格式和YCbCr格式在数学上具有一致性,同时对于后期的数据进行MPEG压缩也很方便。人脸检测的程序流程如图4所示。具体过程分析如下:
(1)肤色判断
可采用Anil K.Jain的Cb、Cr椭圆聚类方法[7]进行肤色分割,得到肤色区域在CbCr空间中近似于椭圆,可用如下公式表示:
若该值小于1,则表示落在椭圆内,是肤色,否则不为肤色。对确定的肤色区域进行平滑、连通、合并处理,构成一个候选区域,待进一步分析以判断是否为人脸区域。
(2)区域分割与处理
在确定肤色区域之后,需要根据它们在色度上的相似性和空间上的相关性分割出可能的人脸区域,再利用区域的几何特征或灰度特征进行是否是人脸的验证,以排除其他色彩类似肤色的物体。本文采用Sobel算子[-1,-2,-1;0,0,0;1,2,1]来完成边缘的检测。经过一系列处理分割出肤色区域,并进行形态学开、闭运算,以消除噪声或空洞对特征分析的影响。
(3)特征分析
人脸候选区域分割完毕后,需对每一个区域进行分析,以判断该区域是否是人脸。为了提高检测速度,可以忽略人脸的面部特征,而主要检查人脸候选区域的形状、结构、比例及灰度分布等。若符合人脸的这些特点,则认为该区域代表一个人脸。根据人脸的几何规则及颜色聚类的特点,如果一个区域满足2个条件:(a)高度/宽度比例范围介于1.2与2.0之间;(b)该区域内的像素平均灰度值与距该区域上部达10像素以上的区域的平均灰度值之差介于0.2~0.6之间。符合这两个条件,则可认为该区域代表人脸。
(4)人脸区域验证
对于初步检测的人脸区域,还需要进行验证才能确定是否为真正的人脸。对于人脸的验证,一般有3种方法:(1)基于先验知识的方法;(2)基于局部特征的方法;(3)基于模板的人脸检测方法。基于先验知识的方法识别率不高,如果图像背景中存在类人脸区域,则必然会导致误检测。基于模板的方法数据量运算大,不能满足实时性要求。本系统采用的是基于局部特征的方法。