基于OpenCV人脸检测技术的研究及实现

2018-03-24 09:36王洋郑佳春
物联网技术 2018年3期
关键词:人脸检测视频流特征提取

王洋 郑佳春

摘 要:为了在视频流中准确检测到人脸,文中基于OpenCV设计了一个人脸检测系统。使用Haar和LBP两种算子提取特征,通过AdaBoost算法构造级联分类器,检测出人脸区域。通过计算机仿真验证,发现采用LBP算子提取特征的正面检测率更高,达90%以上,且检测时间更短,平均检测时间降低1个数量级,取得了较好的效果。该模块可移植性强,可扩展,为后续研究打下了良好的基础。

关键词:视频流;特征提取;局部二值模式;人脸检测

中图分类号:TP39;U644.8 文献标识码:A 文章编号:2095-1302(2018)03-00-03

0 引 言

随着计算机技术和数字成像技术的进步,机器视觉技术蓬勃发展。人脸识别一直是计算机视觉和人工智能中的重要问题。人脸识别技术因无需与用户进行肢体接触,使用简单、安全,经过几十年的研究和发展,已成为一项热门的研究课题,受到越来越多研究者的重视。该技术可广泛应用于公共场所人口统计及视频监控,安全驾驶提醒,门禁管理系统等相关领域。因此找到一个高效明了的算子提取特征描述人脸和分类器至关重要。研究者为此提出了主成分分析法 (PCA)[1]、线性判别式分析(LDA)[2]等全局描述方法和Haar[3]特征与LBP[4]特征等局部描述的特征等。局部特征在不同的光照及姿态和复杂环境下,具有较强的鲁棒性,得到了广泛应用。本文利用Visual Studio 2013和开源计算机视觉平台OpenCV搭建了一个人脸识别模块,利用Haar和LBP两种算子提取特征,进行视频流的人脸识别。该模块搭建方便,可移植性强,在Windows,Android和iOS系统上均可实现。

1 人脸识别模块

1.1 Haar特征

Haar特征是以图像灰度分布为基础并反映图像灰度值变化的一种特征,主要是由黑白矩阵像素组合而成的不同模板,包含边缘特征、线性特征、中心环绕特征。人的面部有很多特征,比如眼睛颜色比周围皮肤颜色深,嘴唇颜色比周围皮肤颜色深等。对于一个24×24的图片来说,面部特征多达9万余个,也正是因为这一特点导致训练时间过长。面部特征可由Haar特征表示,定义左上角为白色区域,以此交错。该模板的特征值是白色填充区域的像素值之和与黑色填充区域的像素值之和的差值[5]。基于人脸特征的Haar特征如图1所示。

1.2 积分图

使用积分图可以实现上述黑色和白色特征数值的计算,大大提高了图像特征值的计算效率。积分图[6]是一种能够描述全局信息的矩阵表示方法,示意图如图2所示。用公式表示为:

1.3 LBP特征

LBP[7,8]是一种描述图像纹理特征的算子,具有灰度不变性、旋转不变性和统一模式等优点。Ojala最早提出了LBP算子,将其用于局部纹理特征描述。

假设局部邻域的纹理图像T是图像像素灰度值P(P>1)的联合分布,T=t(gc,g0,…,gp-1),gc表示中心点像素的灰度值,gp (p=0,…,p1)是半径为R的圆上对称点的灰度值。gc是坐标原点, gp坐标分布在(-Rsin(2πp/P), Rcos(2πp/P))的圆上,通过双线性插值得到坐标不是整数点的坐标。

LBP特征值表示為,2p代表对应位置上的权重。如图4所示,在3×3窗口中通过二值化阈值分割,得到该点的二进制模式为00111010,对应的十进制为58,中心对比度为4。对于中心对比度,如果数值小于某一个值c,可认为该区域是平坦区,没有需要的特征,不提取该点的特征;反之,如果该点的对比度很高,则说明该点可能是边缘或者角点特征。得益于其二进制模式,计算机接受较快。

联合分布T=t(gc,g0-gc,g1-gc,…,gp-1-gc)。假设gp-gc和gc是相互独立的,T≈t(gc)t(g0-gc,g1-gc,…,gp-1-gc)。所有像素点加上或者减去同一个常量,纹理特性不会发生改变。纹理特征在灰度(光照)范围内具有平移不变性。对于一个平坦区域,区域内所有方向上的差异为0。对于变化较小的边缘,算子计算出各方向上的最大差异和边缘上的零值。对于一个点,各方向上的差异都很大。简而言之,LBP算子反映出了点、线、边缘上的特征。通过二值化处理得到T≈t(s(g0-gc),s(g1-gc),…,s(gp-1-gc)),其中。

以3×3窗口8个采样点为例,采用LBP等价模式(即0和1转换的次数)后,u=0或u=2,一共有7×8+2+1=59种,极大地减少了计算量,且不受图像旋转的影响,对图像的点、线、边缘及角点特征也能较好地表达出来,并起到了降维的作用。3×3邻域LBP统一模式示意图如图5所示,LBP特征示意如图6所示。

1.4 级联分类器

AdaBoost算法是一种自适应算法,是机器视觉和数据挖掘领域的十大算法之一[9,10]。采用AdaBoost算法训练的目的在于挑选出最优分类器。

不同的面部特征代表不同的分类器,即弱分类器,分类效果稍好(大于0.5)。将M个正样本(人脸)和N个负样本(非人脸)区分标记,初始化正样本的权重w1和负样本的权重w2。训练时,归一化所有样本权重wi,通过迭代,根据每个特征的表现,选出计算错误率εi最小的分类器。训练过程中分类结果错误的分类器被赋予更高的权值。在多次迭代中,多个弱分类器组合为强分类器。通过多次迭代,错误率呈指数下降的趋势。多个强分类器级联成为新的分类器,即级联分类器。级联分类器逐级复杂。前几层的分类器能够区分出大部分的人脸和非人脸,越往后强分类器越复杂,包含更多的弱分类器,检测精度也更高,训练时间更长。全部通过每一个分类器检测的区域就是我们寻找的人脸区域。

利用OpenCV提供的工具opencv_createsamples.exe和opencv_traincascade.exe生成XML文件,就是我们需要的级联分类器。遍历图像将人脸和背景区分开来。

2 实验结果及分析

实验采用的正样本:FERET数据库800张图片、AR_database数据库700张人脸图片、ORL数据库400张图片、CelebA的部分数据库855张人脸图片,对样本剪裁,保留人脸部分。同时选取非人脸的图片作为负样本,长度和宽度保持1∶1。选择Haar和LBP两种特征分别训练,为了减少训练时间,提高精确度,将图片归一化为24×24。

具体过程:首先加载XML,如果分类器不能读取,则显示错误。如果读取到分类器,则打开摄像头,读取一帧图像,并将读取的图像变为灰度图像,之后通过对灰度图像进行归一化计算,将光照对图像的影响减少到最小,然后做均衡化处理,增强图像的对比度,如果检测到面部区域,则将其标注显示出来。

为保证程序的可移植性,采用C++。本实验在Intel(R) Core(TM)i7-4790 CPU @3.60GHz,RAM 8G的PC上进行,普通摄像头每秒30帧,每帧分辨率为640×480。选取6个实验人员,每人检测5次,得到表1所列实验结果。

同时采用CelebA人脸数据库进行检测。CelebA数据集是一个大型面部属性数据集,拥有超过20万张的名人图像,每张图片具有40个属性注释。它具有丰富的面部表情和背景。从中选择100张正面图片,分别用两种特征进行检测,检测效果见表2所列。

实验结果分析:Haar特征算子的浮点运算导致计算复杂,而LBP特征算子的二值化容易实现,运算简单。对于同一个目标,LBP算子检测速度比Haar特征快很多。因为背景和光线等因素干扰,利用摄像头识别会对检测效果造成较大干扰。Haar特征训练出来的分类器要区分被检测物体和背景,在检测块状目标时效果更好,用于边缘检测则稍逊一筹。同时该系统还可以进行视频监控,对mp4和AVI格式视频中的人脸进行检测。对于超过30°的侧脸,会有误检和漏检的情况出现。实验结果如图7所示。

3 结 语

本文基于开源的计算机视觉库OpenCV,利用LBP和Haar两种算子提取特征,对测试人员、照片及视频流人脸进行检测。统计结果表明,相较于传统的Haar特征,LBP特征算子正面识别率达90%以上,检测时间更短,平均检测时间不到1 s。该系统搭建简单,成本低,可移植性强,在PC机和移动终端都可运行,也可扩展到很多领域,为后续研究打下了坚实的基础。

参考文献

[1]李康顺,李凯,張文生.一种基于改进 BP 神经网络的 PCA人脸识别算法[J].计算机应用与软件,2014, 31(1):158-159.

[2]钟伟,黄元亮,郝真真,等.基于粒子群算法的LDA实现方法研究[J].计算机工程与应用,2017,53(1):39-43.

[3]陈叶飞,苏剑波.非学习模式下的类Haar特征快速人眼定位[J].控制理论与应用,2016,33(4):479-485.

[4]任艳.基于关键点LBP特征提取的面部AU组合识别[J].信息化研究,2012,38(2):44-46.

[5]陈志恒,姜明新.基于OpenCV 的人脸检测系统的设计[J].电子设计工程,2012,20(10):182-185.

[6]黄文杰,陈斌.一种快速图像处理的积分方法[J].计算机应用,2005,25(S1):266-268.

[7]周书仁,殷建平.基于Haar特性的LBP纹理特征[J].软件学报,2013(8):1909-1926.

[8]宁星.基于LBP的人脸识别研究[D].抚州:东华理工大学,2012.

[9] TANG Yi, LIU Weiming, WEI Wujian. An improved pedestrian detection algorithm based on adaBoost cascading stucture [C]. IEEE proceeding of the 8th world congress on intelligent control and automation. China Jinan 2010:6322-6323.

[10] ZHOU Z H, YANG Y, KUMAR V,et al. The top ten algorithms in data mining [M].New York,USA:CRC Press, 2009:127-149.

猜你喜欢
人脸检测视频流特征提取
基于视频流传输中的拥塞控制研究
基于Daubechies(dbN)的飞行器音频特征提取
铁路货场智能大门集装箱全景图像采集方法研究
Bagging RCSP脑电特征提取算法
基于人脸特征定位的SNS网站应用组件研究与设计
美国视频流市场首现饱和征兆
基于MED和循环域解调的多故障特征提取
Walsh变换在滚动轴承早期故障特征提取中的应用