基于肤色和FBLBP算法的人脸检测
2017-02-22李少波
王 攀,李少波
(贵州大学 计算机科学与技术学院,贵州 贵阳 550025)
基于肤色和FBLBP算法的人脸检测
王 攀,李少波
(贵州大学 计算机科学与技术学院,贵州 贵阳 550025)
近年来,人脸检测作为一个热门的研究领域,诸多有效的检测方法层出不穷。在检测结果和检测速度方面较原来的检测方法都有很大的提升。在众多的检测算法中,FBLBP(Flexible Block-based Local Binary Patterns)算法在检测速度和准确度方面均有优异的表现。但在多人脸环境,单一的人脸检测结果还不是很理想。在FBLBP算法的基础上融合肤色检测,即对图像进行肤色预处理,将图像中的肤色区域优先提取出来,然后使用改进后的FBLBP算法在肤色区域优先进行人脸检测,从而使人脸检测的速度和准确度有更大的提高。采用Matlab进行编程实验,使用收集的图片对FBLBP算法、融合肤色和改进后的FBLBP算法进行对比。实验结果表明,融合肤色和改进的FBLBP算法的速度和准确性均有所提高。
人脸检测;肤色分割;FBLBP算法;局部二进制;分类器
0 引 言
随着智能和监控技术在各领域的广泛应用,人脸检测作为自动人脸识别的关键,受到越来越多的关注。通常所说的人脸检测就是从给定的图像或视频中判定人脸的数目、位置和大小。人脸检测的精确度对人脸识别效果有重要的影响[1]。提高人脸检测的速度和精度,使得人脸检测能更好地应用于现代生活中,成为众多学者和专家研究的重要课题之一。
随着研究的深入,相继提出了许多算法。早期的这些算法都是基于统计学习的分类器且用于人脸的正面检测,比如神经网络算法[2]、筛选的稀疏网络[3]、支持向量机[4]等。这些方法虽然取得了一定的成果,但也受到了系统速度的限制。后来,Viola和Jones提出了基于boosting算法的人脸检测[5],该方法在速度和准确性方面表现优异,使它成为目前最流行的人脸检测方法之一。基于肤色的人脸检测相比其他的人脸检测,速度较快,但误差率也较高。FBLBP(Flexible Block-based Local Binary Patterns)[6]的人脸检测在多人脸图像的情况下,在存储空间和检测速度方面均有较好的检测结果。文中融合肤色和FBLBP进行人脸检测,进一步提高人脸检测的速度。
1 肤色检测
对于图像中的人脸区域,颜色的变化较小。利用此特征,可以对图像中的人脸进行检测。首先选择合理的色彩空间,鉴于在检测人脸的过程中,色度信息异常重要,可以将常用的RGB色彩空间转换为其他的色彩空间。
1.1 色彩空间的转换及肤色分割
图像处理中常用的色彩空间有RGB、YCbCr、HSV和YIQ等[7]。文中使用YCbCr色彩空间。在YCbCr色彩空间中,Y分量表示亮度,Cb和Cr分量分别表示蓝色和红色的色度。从RGB空间到YCbCr空间的转换公式为[8]:
(1)
通过式(1),图像中的亮度和色度信息被分开,由此减少了亮度对肤色区域的影响。
在YCbCr色彩空间中,人脸肤色区域中的Cb和Cr分量都在一个相对稳定的范围内:90 图1 图像处理结果 1.2 确定肤色区域的预处理过程 作为人脸检测过程中的初始部分,良好的预处理能提高人脸检测的速度和准确度。由图1(b)中可以看出,和人脸颜色相同的肤色区域,如手臂、脖颈,还有与肤色颜色相似的衣物也被当成了肤色区域被检测出来,并且还存在诸多的噪声点。 针对上述情况,采用数学形态学中的腐蚀、膨胀等操作对处理后的图像再做进一步的处理,结果如图2所示。 由于人脸为近椭圆形,可以采用可调节大小的圆形区域对图像进行形态学的预处理。处理的步骤如下: (1)对肤色分割后的图像的连通区域进行标记,记每个连通区域的中心为Pi,其中i=1,2,…,N。 (2)粗略估算出连通区域的大小。 图2 对图1(b)图像的进一步处理 (3)计算连通区域面积的平均值,记为A。 通过上述步骤,可以对连通区域进行标记(由连通区域的中心Pi得出),并估算要检测区域的半径r。将这些数据记录下来,为人脸区域的检测做准备。 FBLBP[6]算法是由华为多媒体实验室的三位研究员及古巴的一位学者共同提出的,它不使用MBLBP(Multi Block Local Binary Patterns)[10]和MSOF(Multi-scale Structured Ordinal Features)[11]中的固定式结构,而是在训练步骤中,通过计算比较,来设定内部块之间的距离和位置。在没有控制的环境中,FBLBP有更好的灵活性,所占用的存储空间更少,能获得更好的人脸检测结果。若将肤色检测和人脸检测相结合,在人脸区域优先考虑和判断,使得人脸检测的速度和准确度在原来的基础上得以提高。 局部二进制(Local Binary Patterns,LBP[12])最早是作为一种有效的纹理描述算子提出的,由于其对图像的局部纹理特征的卓越描绘能力而得到了广泛应用。然而,也正是由于这种特征的局部化特点,使它易受噪声的影响不够健壮,缺乏对图像的粗粒度把握(LBP编码的获得见图3)。因此MBLBP被提出以弥补传统LBP的不足。在MBLBP的计算中,传统的LBP算子像素值之间的比较被像素块之间的平均灰度的比较替代(MBLBP算子的获得见图4)。 图3 基本LBP算子 图4中,每个黑色方格代表一个像素,每个大的方格代表一个像素块,其值是由3*3共9个像素的灰度 图4 MBLBP算子 取平均得到。 FBLBP的计算方法和MBLBP相似。FBLBP块之间的距离不像MBLBP之间那样均匀。计算步骤可参考文献[6]。 算法1:Gentleboost分类器的训练。 1)初始化wj=1/N,j=1,2,…,N,F(·)=0。 2)Form=1,2,…,M (2)更新F(S)=F(S)+fm(S); (3)wj=wje-yifm(Si)并进行标准化。 更多的实现细节参见文献[6],此处不再赘述。对于筛选后的结果,选择一块作为中心块,另一块作为相邻块,进行候选块的搜索。对相邻块的选择,增加一个判断条件,使得相邻块的计算量减少,以提高人脸检测速度。具体算法如下: 算法2:候选块的搜索。 输入:训练样本的权重wi,i=1,2,…,N。 1)计算T的值,并进行自动设置。 (1)对图像进行连通区域的检测,存储每个连通区域的面积及中心位置Pi; (2)根据连通区域的面积计算出平均值及原型结构的半径r。 2)初始化FBLBPk=∅。 3)通过极小值来查找最好的关键块和第一个相邻块: FBLBPk=FBLBPk∪xn 4)按照设定的块的大小来检测更多的块: While(I { err_old=err; If(err>err_old) break; else FBLBPk=FBLBPk∪xn end } end 5)输出FBLBPk。 对FBLBP和融合了肤色和FBLBP的人脸检测结果进行比较。使用在Internet及数码相机拍摄的100张图片,包括398张人脸,结果如表1所示。对于速度方面的检测,采用同样的测试样本,测试环境为Pentium(R)Dual-CoreCPU2.20GHz,2GB内存、Win7操作系统,采用Matlab编程实现。 表1 两种方法的检测率的比较 从表1中可以看出,在预处理过程中采用融合人脸和FBLBP的人脸检测率[14]略高于采用FBLBP的方法。对于检测时间,融合肤色和FBLBP的人脸检测低于FBLBP,特别是当图片数量不断增加时,这种优势将更加明显。部分人脸的检测结果如图5所示。 图5 部分人脸的检测结果 文中将肤色分割和FBLBP相结合进行人脸检测。首先进行色彩空间的转换,选出连通的肤色区域,然后对这些区域优先使用FBLBP方法进行人脸检测。实验结果表明,在保证准确度的同时,使得人脸检测的速度得到进一步的提高,但对于人脸较多的图片,该算法还可以进一步改进,以提高准确性。 [1]ZhangLijing,LiangYingli.Afastmethodoffacedetectioninvideoimages[C]//2ndinternationalconferenceonadvancedcomputercontrol.[s.l.]:[s.n.],2010:490-494. [2]RowleyHA,BalujaS,KanadeT.Neuralnetwork-basedfacedetection[C]//IEEEconferenceoncomputervisionandpatternrecognition.[s.l.]:IEEE,1996:203-208. [3]YangMH,DanR,AhujaN.Asnow-basedfacedetector[J].AdvancesinNeuralInformationProcessingSystems, 1999,17(3):862-868. [4]OsunaE,FreundR,GirosiF.Trainingsupportvectormachi-nes:anapplicationtofacedetection[C]//IEEEconferenceoncomputervisionandpatternrecognition.[s.l.]:IEEE,1997:130-136. [5]ViolaP,JonesMJ.Robustreal-timefacedetection[J].InternationalJournalofComputerVision,2004,57(2):137-154. [6]ChaiZhenhua,ZhangYu,DuZhijun,etal.Learningflexibleblockbasedlocalbinarypatternsforunconstrainedfacedetection[C]//IEEEinternationalconferenceonmultimediaandexpo.[s.l.]:IEEE,2014:1-6. [7] 苑玮琦,韩春霞.复杂背景下的多人脸检测方法[J].计算机应用,2010,30(3):635-638. [8]GonzalezRC,WoodsRE,EddinsSL.数字图像处理[M].阮秋琦,译.Matlab版.北京:电子工业出版社,2008. [9] 林 庆,罗 敏.基于颜色和几何关系的人脸检测方法[J].计算机工程与设计,2008,29(13):3396-3398. [10]ZhangLun,ChuRufeng,XiangShiming,etal.Facedetectionbasedonmulti-blockLBPrepresentation[C]//Internationalconferenceonbiometrics.[s.l.]:[s.n.],2009. [11]LiaoShengcai,LeiZhen,LiSZ,etal.Structuredordinalfeaturesforappearance-basedobjectrepresentation[C]//3rdinternationalconferenceonanalysisandmodelingoffacesandgestures.[s.l.]:[s.n.],2007:183-192. [12]OjalaT,PietikainenM,MaenpaaT.Multiresolutiongray-scaleandrotationinvarianttextureclassificationwithlocalbinarypatterns[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2002,24(7):971-987. [13]FriedmanJ,HastieT,TibshiraniR.Additivelogisticregression:astatisticalviewofboosting[J].AnnalsofStatistics,1998,28:337-407. [14] 梁路宏,艾海舟,徐光祐,等.人脸检测研究综述[J].计算机学报,2002,25(5):449-458. Face Detection Based on Skin Color and FBLBP Algorithm WANG Pan,LI Shao-bo (College of Computer Science and Technology,Guizhou University,Guiyang 550025,China) As a hot area of research,a number of effective face detection methods have emerged in recent years.Compared with the state of art methods,the new face detection methods perform better in the speed and accuracy.Among these methods,FBLBP (Flexible Block-based Local Binary Patterns) algorithm has excellent performance.Only to use single method,in the multi-face environment,cannot reach the desired effect.The skin color detection and FBLBP algorithm is combined.Skin color preprocess is carried out to extract the skin color area and then the improved FBLBP algorithm is used to detect the face in the area extracted,so that the speed and accuracy of face detection has greater improvement.For experimental verification,the Matlab programming is adopted to compare the FBLBP and improved FBLBP.As a result,the improved one has better performance in speed and accuracy. face detection;skin color segmentation;FBLBP algorithm;local binary patterns;classifier 2015-08-03 2015-11-19 时间:2017-01-04 国家自然科学基金面上项目(51475097) 王 攀(1990-),男,硕士研究生,研究方向为机器视觉、图像处理。 http://www.cnki.net/kcms/detail/61.1450.TP.20170104.1017.012.html TP301.6 A 1673-629X(2017)01-0044-04 10.3969/j.issn.1673-629X.2017.01.0102 图像的FBLBP的编码处理
3 基于肤色和FBLBP的人脸检测
4 实验结果及分析
5 结束语