视频序列中的人脸检测定位
2013-10-24俞玉莲
俞玉莲,李 莉
(1.上海电子信息职业技术学院通信与信息工程系,上海201411;2.上海师范大学信息与机电工程学院,上海200234)
0 引言
近年来,随着视频会议、可视电话、安全监控等人机交互技术的发展,迫切需要对环境中的人员进行跟踪,所以人脸跟踪技术越来越为人们所重视.视频序列中的人脸检测定位部分在整个人脸跟踪系统中是一个非常重要的部分.一般所说的检测是判别一幅图像中是否存在人脸,定位则是给出人脸在图像中的位置.检测成功与否,定位精度如何将很大程度地影响最后的跟踪结果.
视频中的人脸区域不仅包含了人脸图像的基本特征信息[1-4],如轮廓特征、启发式特征、结构特征信息等,同时还包含了运动信息和彩色信息.利用哪些信息及如何利用这些特征信息得到快速高效的人脸检测算法是该领域人脸检测研究[5-7]的一个关键问题.
本文作者利用视频中人脸区域的运动信息和特征信息对人脸检测定位问题进行了一定的算法研究,提出了多级联合检测思想:(1)为了检测视频图像序列的运动区域,一般使用帧间差固定阈值法[8],此法的抗噪性较差.本文作者提出了帧间差自适应阈值法来检测运动区域,提高了运动分割的适应性和抗噪性;(2)在运动区域中检测人脸时,用YCbCr肤色模型分割肤色区域,较之RGB、HIS、YIQ,有很强的聚类特性[9],当仅考虑色度信息时,亮度变化的影响可以忽略;(3)用二值形态学操作[10]对肤色区域进行后处理,目的是消除由于噪声引入的孤立点和区域,或者填充非肤色区域导致整个人脸上的小洞.(4)利用眼、嘴特征的彩色信息,通过映射投影检测定位人脸区域,可以定位不同尺度、不同表情和姿态的人脸.
1 预处理-运动目标检测
1.1 改进的帧间差自适应阈值法
分割运动区域最简单的方法是帧间差阈值法.假设在t时刻,图像在(x,y)像素处的灰度值为I(x,y,t);在 t+1时刻,(x,y)像素处的灰度值变化为 I(x,y,t+1),则 t+1 时刻与 t时刻(x,y)像素处的灰度差是:
因此,对于场景中的静态物体(如背景),ΔIt(x,y)为0;而对于场景中的运动物体的轮廓,ΔIt(x,y)一般不为0.所以,可利用ΔIt(x,y)来检测物体的运动.
为了提高运动分割的适应性和抗噪性,对差值图ΔIt(x,y)施以自适应阈值法.一般情况下,运动区域内像素的灰度变化要大于整个图像灰度变化的平均值,考虑到噪声等因素的影响,选择整个图像灰度变化的标准差作为运动区域像素灰度变化的附加值,则自适应阈值
式(2)中,m,σ分别表示帧差图像的均值和标准差.设N和M分别表示图像的宽度和高度,则有:
根据自适应阈值法,提取运动信息,获得差值图It,即
1.2 边缘检测
分割出运动区域后,接着对运动物体进行微分处理,用边缘检测提取目标轮廓.如果一个像素落在图像中某一个物体的边界上,那么它的邻域将成为一个灰度级变化地带.对这种变化最有用的两个特征是灰度的变化率和方向,它们分别以梯度向量的幅度和方向来表示.边缘检测算子检查每个像素的邻域,并对灰度变化率进行量化,通常也包括方向的确定.常用的边缘检测算子有Roberts梯度算子、Sobel算子、Laplacian算子等.在对具体图像进行边缘检测时,需要根据图像的特点选用适当的算法.由于Sobel算子具有更广泛的适用性,效果较好,因此用Sobel垂直边缘检测提取目标轮廓.
1.3 实验分析
图1给出了运动区域分割的实例,其中图1(a)和图1(b)分别是输入视频序列的第i帧和第j帧,图1(c)是采用自适应阈值法对第i,j帧进行帧差分割的结果,图1(d)用Sobel垂直边缘检测提取了运动目标轮廓.从实验结果看,经过运动区域分割后,较好地去除了某些静止的背景,成功地提取了运动目标轮廓.
图1 运动区域分割
2 粗检-候选人脸区域
经过运动区域分割的预处理后,从复杂的背景中检测出了运动物体.为了进一步粗检出人脸区域,需要筛选运动区域,进行肤色区域的分割和后处理.
2.1 肤色分割
采用YCbCr色彩空间作为肤色的建模空间.YCbCr与RGB空间的转换关系是:
研究表明不同人的皮肤颜色相差很大[11],主要是表现在亮度Y上的差异,色度信息Cr和Cb是聚集在色度空间中一个较小的区域中的,因此,利用色度能较好地将皮肤区域从图象背景中分割出来.
假定RCb和RCr分别表示属于肤色像素Cb和Cr的取值范围,大量实验证明RCb=[130,185],RCr=[83,136].所以,一旦算出图像的 Cb、Cr值,就与 RCb、RCr比较而进行肤色分割,将肤色值置为1,非肤色值置为0,其表达式如下:
2.2 闭合运算
在肤色二值图像内会存在两种情况,一种是由于噪声引入的被误判为肤色的孤立点或小块孤立区域,另一种是由于人脸局部区域如眼睛、嘴唇等非肤色区域而导致的整个人脸的非全填充,为了消除这些误差必须进行膨胀和腐蚀操作.
膨胀的运算符为“⊕”,腐蚀的运算符是“Θ”,闭合的运算符为“·”,它是先进行膨胀然后再进行腐蚀的运算,A用B来闭合记为A·B,其定义如下:
肤色分割后处理的表达式如下:
其中B是结构元素,为3×3的单位矩阵,·表示结构闭合运算(先膨胀后腐蚀).
2.3 实验分析
图2是继图1(d)后运动目标肤色分割的结果,把图1(d)对应到原彩色图像中,则缩小了原彩色图像的检测范围,仅在运动区域内进行肤色分割,所以实验效果较好.
图3是肤色分割图2经过二值形态学操作(闭合运算)的结果,消除了噪声点,填充了肤色区的小洞.
图2 运动目标的肤色分割
图3 经过二值形态学操作结果
3 细检-候选人脸的特征验证
经过肤色区域的分割和后处理,基本粗检出了包含人脸的区域.为了精确检测人脸,需要进一步细检,利用眼、嘴特征的彩色信息检测候选人脸的特征部位(眼、嘴),并根据检测的结果对候选人脸进行筛选.
3.1 眼睛映射
眼睛部位的亮度信息既有非常亮的像素也有很暗的像素,同时具有较低的Cr值和较高的Cb值,基于这些信息可以检测眼睛.
首先建立两个独立的眼睛映射:一个由色度决定,包含高的Cb值和低的Cr值,形成色度映射EC;另一个由亮度决定,用半球状结构元素膨胀和腐蚀灰度图像,形成亮度映射EL;然后把两个映射联合成一个映射E,即
AND是乘法操作,得到E后,再对其膨胀,归一化得到最终的E.膨胀、掩模和标准化最终的眼睛映射,从而加亮眼睛部位使其亮度超过其他脸部区域.
3.2 嘴巴映射
嘴部较之脸部的其他区域含有更强的红色成分和更弱的蓝色成分,所以嘴部的色度值Cr大于Cb,而且Cr/Cb远小于( )Cr2.基于这些信息来检测嘴唇.嘴巴映射Mo的构造如下:
式(11)中η是( )Cr2与Cr/Cb的平均比率.
3.3 投影定位
人脸的定位转化为对眼睛映射E和嘴唇映射Mo中亮块的检测.采用投影法检测亮块,并框出人脸区域,标出人脸中心.
检测眼睛映射图E中亮块,作水平轴上的垂直投影,由2个明显高峰左右两侧的灰度跃突位置(第一个高峰左侧的由下而上突变处,第二个高峰右侧的由上而下突变处),可以确定人的双眼在水平方向的位置(XL和XR),所以脸宽定为W=XR-XL;再作垂直轴上的水平投影,由一个明显高峰左侧的由下而上突变位置,可以确定眼顶部的位置YT.
检测嘴唇映射图Mo中亮块,作垂直轴上的水平投影,由一个明显高峰右侧的由上而下突变位置,可以确定嘴底部的位置YB.
所以人脸宽度W,人脸高度H和人脸外接矩形中心(x0,y0)如下公式:
3.4 实验分析
图4显示了眼睛嘴巴映射的结果,其中图4(a)是根据图3检测到的原彩色图像中的人脸区域,图4(b)是眼睛映射E,图4(c)是嘴巴映射Mo.从图4中可以清晰地看到眼睛和嘴巴部位的亮度较脸部其他部位偏高很多.
图5所示为眼睛、嘴巴映射亮块的投影,由图5(a)得XL=92,XR=270;由图5(b)得YT=144;由图5(c)得YB=300.则最终人脸区域的宽度W=XR-XL=178,高度H=YB-YT=156和人脸外接矩形中心(81,222).
图6是图1(b)(视频系列第j帧)最终的人脸检测定位输出结果.
图4 眼睛嘴巴的映射
图5 眼睛嘴巴映射亮块的投影
图6 人脸检测定位结果
4 实验结果
为了验证本算法的鲁棒性,进行了大量的人脸检测定位实验.实验平台是MATLAB7.0仿真软件,用自行拍摄的彩色视频图像序列作为实验数据源,每一段视频取起始2帧图像序列来检测定位,测试图像序列包含单脸图像、多脸图像、不同表情和姿态、不同光照.测试结果如表1所示,正确检测定位结果如图7所示.
表1 人脸检测定位结果
图7 人脸检测定位部分实验
5 结论
本研究通过在MATLAB7.0软件上仿真实验,成功地实现了视频序列中的人脸检测定位.算法中设计了预处理、粗检、细检定位的流程,期间修正了帧间差阈值为帧间差自适应阈值来检测运动区域,应用了眼嘴特征来细检人脸,提出了映射亮块投影法来定位人脸.实验显示,该算法对于多人脸、不同表情和姿态、不同光照的情况均适用,正确人脸检测率平均达到81%.
在以后的工作中,将研究如何在后续视频序列图像中跟踪到已经检测定位的人脸.
[1]甘玲,朱江.扩展Haar特征检测人眼的方法[J].电子科技大学学报,2010,39(2):247-250.
[2]花樱,彭宏京,顾佳玲.Boosting协方差特征的人脸检测方法[J].计算机工程与应用,2010,46(18):186-189.
[3]顾晓敏,林锦国,梅雪.基于模糊积分分类器融合的人脸识别[J].计算机工程,2010,32(18):188-190.
[4]李盛文,鲍苏苏.基于 PCA+AdaBoost算法的人脸识别技术[J].计算机工程与应用,2010,46(4):170-173.
[5]李根,李文辉.基于尺度不变特征变换的平面旋转人脸检测[J].吉林大学学报:工学版,2013,4(1):186-191.
[6]欧凡,刘冲.基于照度补偿的人脸图像遮挡阴影消除处理[J].计算机应用研究,2010,1(27):399-400.
[7]LANG L,GU W.Study of face detection algorithm for real-time face detection system[J].Second Int Symp on Electronic Commerce and Security,2009,10(2):29-132.
[8]NIESE R,AL-HAMADI A,FARAG A,et al.Facial expression recognition based on geometric and optical flow features in colour image sequences[J].IET Comput Vis,2012,6(2):79-89.
[9]GUO J M,LIN CC,WU M F,et al.Complexity reduced face detection using probability-based face mask prefiltering and pixel-based hierarchical-feature adaboosting[J].IEEE Signal Process Lett,2011,18(8):447-450.
[10]MAÄÄTTÄ J,HADID A,PIETIKÄINEN M.Face spoofing detection from single images using texture and local shape analysis[J].IET Biometrics,2012,1(1):3-10.
[11]LAKSHMI H,PATILKULAKARNI S.Segmentation algorithm for multiple face detection for color images with skin tone regions[J].Int Conf on Signal Acquisition and Processing IEEE,2010,8(3):162-166.