人脸识别中发型遮挡检测方法研究*
2016-04-13王志一杨大利
王志一, 杨大利
(1.网络文化与数字传播北京市重点实验室,北京 100101; 2.北京信息科技大学 计算机学院,北京 100101)
人脸识别中发型遮挡检测方法研究*
王志一1,2, 杨大利1,2
(1.网络文化与数字传播北京市重点实验室,北京 100101; 2.北京信息科技大学 计算机学院,北京 100101)
人脸识别中,发型遮挡是一种十分常见的遮挡类型,并且对人脸的正确识别具有极大的干扰。提出一种将头发的颜色模型和发型特征相结合的遮挡检测方法。首先,采用机器学习的方法,对头发的颜色进行学习建模。然后,利用发际线的特征,将人脸划分为若干扇形并分块,采用逐步精细的方法对人脸的发型遮挡区域进行检测。实验结果表明,该方法对人脸区域发型遮挡检测的准确率和召回率都达到88%以上,相比PCA检测方法提高了约20%,验证了该方法的有效性。
人脸识别;发型遮挡;遮挡检测
0 引言
人脸识别作为模式识别领域的热点研究问题受到了广泛的关注,人脸识别技术在众多领域的身份验证中有着广阔的应用前景[1]。在实际人脸图像处理过程中,人脸图像的遮挡会经常出现,如头发、口罩、围巾等,而遮挡对人脸识别有很大的影响。因此,如何准确、自动地检测人脸遮挡区域成为遮挡人脸识别处理的关键问题之一。
主流的人脸遮挡区域检测方法是基于PCA分析检测方法[2-3]。该方法包括两个关键步骤:在分析阶段,将遮挡人脸图像投影到人脸特征空间,并利用投影系数重建人脸;在检测阶段,将遮挡人脸图像与重建人脸图像进行比较,差异越大,判定为遮挡的可能性越大。遮挡区域根据重建人脸与原始遮挡人脸的差异来估计。基于平均人脸的人脸遮挡区域检测方法[4]与基于PCA分析检测方法类似,只是参考图片选取的是平均脸图像。
在遮挡人脸识别中,头发是极为常见的遮挡物体,给识别带来较大的不利影响。目前,基于PCA或平均脸的分析检测方法在很大程度上依赖于参考样本,对于人脸的位置、姿势等十分敏感,而发型遮挡往往伴随着不同的人脸姿势。本文在分析了各类遮挡检测算法后,通过建立发色模型并结合发型特征,提出了一种针对发型遮挡的人脸遮挡区域检测方法。
1 方法概述
本文方法主要分为两个部分:发色模型的线下学习和发型遮挡区域的在线检测。线下学习是利用人工神经网络进行发色和肤色的学习,建立头发的颜色模型,以便于在线检测使用;在线检测是实时检测遮挡图片的发型遮挡区域,给出检测结果。
(1)图1给出了发色模型学习的详细步骤:对发色和肤色RGB样本数据,利用人工神经网络进行发色和肤色训练学习,得到一个发色模型。给定一个像素点的RGB值,可以通过该模型粗略评估其是头发的概率。
图1 发型遮挡检测框架
图2 面部发型遮挡区域检测
(2)图2给出了发型遮挡区域的检测步骤:给定一幅图像,首先根据人脸进行归一化;之后,以嘴部中心为圆心,将给定的人脸区域按照角度划分为若干扇形;对于每个扇形,按照半径长度平均划分为相等数量的区块;然后,对于每个扇形区块,按照距离圆心的距离,由远及近进行粗略检测。对于一个扇区,取发色区块的下一个(离圆心更近的)区块进行精细分割。
2 结合发色模型和发型特征的遮挡检测
发型特征包括:长度、体积、发色等。 对于解决发型遮挡的检测问题,可以利用发色、发际线等特征。本文将发色模型和发型特征进行有机结合,对人脸的面部发型遮挡区域进行检测。
2.1 基于人工神经网络的发色模型
2.1.1 BP人工神经网络简介
BP神经网络[5]是人工神经网络的一种,它是采用误差反向传播的多层前馈神经网络。其中,3层的BP 网络包括一个输入层、一个隐含层、一个输出层,如图3所示。
图3 三层BP神经网路
BP神经网络的基本思想是采用信号的正向传播和误差的反向传播。在正向传播中,从输入层传入的数据,依次在各隐含层进行处理,最终到达输出层。如果输出值与期望输出不同,则将输出层的误差作为调整信号进行反向传播,根据误差不断调整权值和阈值,最终得到网络可以接受的精度并输出。
2.1.2 发色模型
头发的颜色与皮肤的颜色往往有比较明显的区别,利用发色能够有效提高面部发型遮挡区域检测的正确率。
2.2 基于发型特征的扇形分割
给定输入图像和发型区域,以嘴部位置的中心区域为圆心,将嘴部以上的区域以每10°划分为一个扇形,共18个径长不等的扇形(以下简称为扇区),按照逆时针方向记为S1~S18。对任意的扇形区域Si,按照径长平均分为10个区块(以下简称为区块),按照离圆心的距离由远及近依次标记为Si,1~Si,10。
2.2.1 粗略检测
形式地,将X={xij:xij∈S}定义为区块S的像素点,用Ix表示一个像素点的颜色向量,Ix=(Rx,Gx,Bx)T;LX=(l1,l2,…,lm)T表示标号向量,其中m表示区块S中的像素点数,并且lx=1表示x属于头发,lx=0表示x属于皮肤。将一个像素是头发的概率表示为P(lx=1),简单地,P(lx=1)=ax,其中,ax是ANN发色模型的输出值。
对于人脸区域的每个扇形,首先对最外层区块(S1,1,S2,1,…,S18,1)进行检测。区块Si,1中的像素点x,将其RGB值作为ANN发色模型的输入,得到输出值ax。当该点的预测为头发概率大于给定阈值时,则认为该像素点属于头发区域。如果区块Si,1中的像素大部分都判定为头发区域时,则认为该区块Si,1属于头发区域,记为预测遮挡块。对所有的扇区,由远及近地进行区块的检测,直到区块不再是预测遮挡块为止。每个扇区中第一个不是预测遮挡块的区块称为精细分割块(以下简称精割块),放到下一步进行图割[6]处理。
2.2.2 精细分割
经过2.2.1节中粗略检测得到了若干个精割块,下一步是在此范围内进行精细的分割。采用2.2.1中相同的定义,将X={xij:xij∈S}定义为精割块S的像素点,用Ix表示像素点的颜色向量,Ix=(Rx,Gx,Bx)T;LX=(l1,l2,…,lm)T表示标号向量,其中m表示精割块S中的像素点数,并且lx=1表示x属于头发,lx=0表示x属于皮肤。将一个像素是头发的概率表示为P(lx=1)。定义如下能量函数:
E(L)=C(L)+αB(L)
(1)
(2)
其中,nx表示精割块S中像素点的数量,c(lx)表示发色模型对像素点x的预测概率。
式(1)中第二项中的B(L)定义为:
(3)
(4)
(5)
其中,np表示像素点p的相邻点的个数,σ表示图像的平均平滑度。式(4)采用8-邻域系统,选择像素点的相邻点。由于精割块的形状大小不同,进行了均值化处理。
2.2.3 优化
直接对式(1)进行最小化计算,复杂度较高,计算量非常大。本文提出了一种求近似解的计算方法。首先,将精割块S中的像素按照ANN预测的发色程度按照从小到大排列;然后,将区块内所有像素的区块起始标号都置为1,按照发色的概率从小到大排序依次将像素标号置为0;最后,分别计算能量函数的值。选取使能量函数达到最小值时的标号向量作为最优解。
3 实验和结果分析
实验数据采集28个人的人脸图像,分为正面、左侧面和右侧面三个姿势,偏转角度在10°~30°之间,发型遮挡包括正面单侧遮挡、正面两侧遮挡、左侧面遮挡、右侧面遮挡、发帘遮挡等类型。人脸图像库包括28人269张发型遮挡图像,每张图像归一化为50×75像素。
实验1 该实验采用数据集中的正面人脸,数据包含109张遮挡人脸图像,实验结果如表1所示。
表1 正面人脸下遮挡检测算法比较
表2 不同姿势下遮挡检测算法比较
由表1可以看出,在正面人脸的条件下,PCA检测方法的F-value为69%,相应的准确率和召回率分别为63%和76%。本文方法比PCA检测方法的F-value提高了20%,准确率和召回率分别提高了27%和12%。
实验2 该实验采用全部的数据,包含269张不同姿势的遮挡人脸图像,实验结果如表2所示。
由表2可以看出,在不同姿势的人脸条件下,PCA检测方法的F-value为57%,相比正面人脸条件下降低了12%,相应的准确率和召回率降低10%左右。而本文方法与正面人脸条件下的F-value相比变化不大,说明比PCA检测方法具有更强的鲁棒性。
4 结论
发型遮挡对人脸识别具有极大的干扰,如何准确获取遮挡区域是处理遮挡中需要解决的问题。由于各种形状和不同纹理,使得发型遮挡区域检测非常困难 。实验表明,本文提出的方法比PCA遮挡检测方法具有更高的准确率和召回率,验证了该方法的有效性。
[1] CHELLAPPA R, WILSON C L, SIROHEY S. Human and machine recognition of faces: a survey[J]. Proceedings of the IEEE, 1995, 83(5): 705-741.
[2] 杜成, 苏光大. 用于人脸识别的正面人脸图像眼镜摘除[J]. 清华大学学报(自然科学版), 2005, 45(7): 928-930.
[3] 王志明, 陶建华. 人脸遮挡区域检测与重建[J]. 计算机研究与发展, 2015, 47(1): 16-22.
[4] 李冬梅, 熊承义, 高志荣,等. 基于异值区域消除的遮挡人脸识别[J]. 计算机科学, 2015, 42(3):289-295.
[5] MCCLELLAND J L, KAWAMOTO A H. Parallel distributed processing[C]. Rumelhart and McClelland (eds.), 1986(I):45-76.
[6] BOYKOV Y, VEKSLER O, ZABIH R. Fast approximate energy minimization via graph cuts[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2001, 23(11): 1222-1239.
Research on detection method of hair-occlusion in face recognition
Wang Zhiyi1,2,Yang Dali1,2
(1.Beijing Key Laboratory of Internet Culture and Digital Dissemination Research,Beijing 100101,China;2.School of Computer,Beijing Information Science&Technology University,Beijing 100101,China)
In face recognition, the hair is a very common object in face occlusion, and it has a great disturbance to the correct recognition of human face. In this paper, a method of hair-occlusion detection is proposed, which is based on the combination of color model and hair style. First of all, using machine learning method to learn the color of hair and build the hair-color model. Then, the face is divided into several segments by using the feature of the hair line, and then the hair-occlusion area is detected by the method of fine precision. Experimental results show that the accuracy and recall rate of the proposed method is more than 88%, compared to the PCA detection method increased by about 20%.
face recognition; hair occlusion; occlusion detection
北京市属高等学校创新团队建设与教师职业发展计划基金项目(IDHT20130519);北京市学科与研究生教育基金(PXM2015_014224.000018)
TP391.4
A
1674-7720(2016)02-0032-03
王志一,杨大利. 人脸识别中发型遮挡检测方法研究[J] .微型机与应用,2016,35(2):32-34.
2015-08-16)
王志一(1988-),通信作者,男,硕士研究生,主要研究方向:人脸识别。E-mail:wzy_bistu@163.com。
杨大利(1964-),男,教授,硕士生导师,主要研究方向:机器学习、信号增强。