APP下载

基于AdaBoost和Camshift的人脸检测与跟踪

2016-12-26

电子科技 2016年12期
关键词:人脸分类器像素

汤 泉

(上海出版印刷高等专科学校,上海 200093)



基于AdaBoost和Camshift的人脸检测与跟踪

汤 泉

(上海出版印刷高等专科学校,上海 200093)

为提高视频序列中人脸跟踪的准确性,提出了一种使用Camshift算法,结合人脸检测实现实时、自动的人脸跟踪方法。利用图像的Haar特征,结合AdaBoost算法训练得到人脸分类器,进行人脸的检测来初始化人脸跟踪窗口;利用Camshift算法对人脸进行跟踪,并在跟踪过程中引入距离约束条件,使跟踪的结果更加稳定。实验结果表明,该方法能够对视频帧中出现的人脸实现自动跟踪,有效地改善了传统Camshift跟踪方法中窗口发散、跟踪丢失的问题。

人脸检测;人脸跟踪;Camshift;AdaBoost算法

人脸跟踪广泛应用于视频分析、客流量统计等领域,是当前研究领域的热点。人脸跟踪的过程中,通常会涉及到人脸检测;人脸检测问题最初来源人脸识别[1],是在图像中进行人脸位置和大小确定的过程。20世纪90年代以来,人脸检测得到了众多研究者的重视,常见的有基于模板匹配[2]、基于轮廓分布特征[3]、基于肤色模型[4]等基于知识的方法;基于特征空间[5]、基于人工神经网络[6]等基于统计的方法。但大多数人脸检测方法对遮挡、尺度变化、表情变化过于敏感,对图像旋转的鲁棒性不强。本文利用图像的Haar特征,使用AdaBoost的算法[7]构建人脸分类器,能够有效的在检出率和正确率之间做出平衡,而且速度能够满足实时性的要求。

人脸跟踪是在图像序列中确定人脸的运动轨迹的过程[8]。跟踪算法是计算机视觉研究领域的热点问题,常见的人脸跟踪方法有帧间差分、背景建模、光流等基于运动的方法[10];时空梯度、卡尔曼滤波等基于模型方法[11]。

人脸跟踪的难点主要包括人脸所处背景复杂、人脸姿态变化、人脸表情变化等,容易造成目标丢失现象的发生。文献[12]中的粒子滤波方法能够在连续的图像序列中得到良好的跟踪效果,对表情的变化鲁棒性较强,但算法的复杂度过高,不能满足实时性处理的要求。Camshift算法以Meanshift算法为基础[13],利用颜色直方图模型在初始化搜索窗口的基础上[13],采用迭代的方法实现窗口的位置和大小的自适应改变,能够较好地适应人脸的远近变化,同时具有较高的效率能够满足实时性的要求。

本文提出对原始视频帧进行人脸检测,利用检测得到的人脸位置初始化跟踪窗口,在跟踪的过程采用距离条件约束,进一步提高跟踪效率和可靠性。对新的一帧,利用跟踪到的窗口作为掩模进行处理得到新的图像,在此图像中进行人脸检测,判断是否有新的人脸目标进入跟踪区域。实验表明此方法能够有效对人脸进行跟踪,可应用于客流量统计、智能视频监控分析等领域。

1 人脸检测

1.1 图像Haar特征的选取

在连续视频序列或者静态图像进行人脸检测,图像特征的选取对检测的快速性和准确性有着重要的作用。使用图像Haar特征结合积分图计算在人脸检测的应用中表现出了高效性。

Haar特征表现的是图像灰度的变化,在人脸检测中具体表现为脸部关键位置的灰度变化。Haar特征采用矩形模板方式进行描述,常见的矩形模板由两个全等的矩形组成,特征值定义为白色矩形像素和,减掉黑色矩形像素和。Harr特征能够有效的描述边缘、线段等有效信息,包含了大量比单纯像素更有效的信息,在噪声、光照等因素干扰下表现出了较好的鲁棒性。

Haar特征模板在图像中采用扫描的方式在图像中移动,其中检测窗口的大小和位置可变,所以可在图像子窗口中获得大量的特征。Haar特征在人脸图像中的具体表现如图1所示,得到人脸关键点位置周围的相关信息。

图1 Haar特征在人脸图像上的表现

由于检测窗口的位置、大小和类型都可变化,一幅图像中表现出的Haar特征数目的量级非常大,为了能够进行快速的计算,采用积分图的方法,大幅提高了特征的计算速度。用图像g来表示图像f的积分图,其在(x,y)处的值定义为g(x,y)

(1)

每一行的像素累加值为s(x,y),设置其初值是s(x,-1)和g(x,y)的初值g(-1,y),那么由式(2)和式(3)可以计算积分图像的值

s(x,y)=s(x,y-1)+f(x,y)

(2)

g(x,y)=g(x-1,y)+s(x,y)

(3)

积分图像如图2所示,将图像进行分块操作,可计算分块矩形区域内的像素点之和,之后就能快速进行Haar特征的计算。例如,获得点1的值即为A区域内像素值之和,B区域的像素之和为2点的值减去1点的值(2-1),同理D区域的像素值之和为4点减去2点的值,再减去3点(4-2-3)。通过以上方法快速得到区域像素值之和,Haar特征的特征便能得到,如AB组成的Haar特征模板的值即为2点的值减去1点的值得B区域像素点之和,然后再减去1点的值。

图2 积分图像

在基本Haar特征的基础上,检测器模板进行了扩展,形成了边缘特征、线状特征、中心环绕特征、对角线特征共15种类型,如图3所示,扩展后的特征在人脸检测方面表现出了更加优秀的性能。

图3 扩展后的Haar特征

1.2 AdaBoost分类器的设计

通过以上步骤得到图像的Haar特征,为检测到人脸区域还需要设计一个分类器,本文中采用AdaBoost算法通过分类器的级联得到一个强分类器。

AdaBoost的本质是一种可以自动调整的迭代算法,通过构造的弱分类器加权投票的方式生成强分类器,再将得到的强分类器用串联的方式形成层叠结构的分类器,能够得到较快的检测速度。主要流程可以如下描述:考虑一个样本集

{x1,y1},{x2,y2},…,{xi,yi},…,{xn,yn}

其中xi∈X,yi∈Y={-1,+1},设样本数为N。第一步进行权重初始化D1,i=1/N,然后进行T次循环操作,进行权值的标准化处理。对于选取的特征j,与它相应的弱分类器是hj,可得到加权误差值εt。选择最小方差,此时对应的分类器为ht。接下来进行权值的更新操作,得到强分类器H(x)如式(4)所示,其中,at是ht的权值;εt代表训练误差

(4)

为了能够在检出率和正确率中做出有效的平衡,将得到的多个强分类器进行级联,构成一个层叠结构的分类器。前级分类器能够让几乎所有的正样本通过,同时也能判定出相当数量的负样本,当样本被判定为负样本时不再进入后一级的分类器,所以后级分类器要检测的样本数量是递减关系,因此既能保证一定的检测速度要求,也能满足对最后检测精度的要求。

通过以上步骤构建的人脸检测器能够在正确率和检出率方面能够达到系统要求,同时对人脸出现的旋转也有一定的适应性。

2 Camshift跟踪算法

2.1 Camshift算法

Camshift跟踪算法的基本思想是在图像序列中使用颜色特征对移动目标的大小和位置进行确定。它以Meanshift算法为基础,通过图像的颜色概率直方图得到其颜色概率分布,使用迭代的思想自适应动态调整搜索窗口的位置和大小[14],能够较好的适应跟踪目标形变带来的影响。

为减小光照的影响,将RGB颜色空间转化到HSV颜色空间,计算得到H通道的直方图,对其做反向投影得到概率分布图[15]。选中一个窗口作为初始化搜索窗口,窗口包含了需要跟踪的目标。按照Meanshift算法的方式计算搜索窗口的范围内的零阶矩阵和一阶矩阵,通过按照式(7)的计算方式能够得到窗口的质心位置。接下来将窗口的中心移动到计算得到的质心位置,采用迭代的方式,继续计算此时搜索窗口的质心位置直到窗口中心与计算得到的质心之间的差值满足设定的阈值,迭代结束

(5)

(6)

(7)

为更好的适应目标的旋转和形变,在人脸跟踪过程中使用椭圆模板进行匹配,由二阶矩通过式(8)可以计算得到长轴的方向角θ。

(8)

其中,M20,M02和M11为二阶矩。

2.2 距离条件约束

人脸目标在视频序列中尤其是对大场景进行监控时,人脸图像表现为一个较小的图像区域,在连续帧中的运动也表现为在一定范围内的移动。所以通过设定一个距离阈值来对跟踪的可靠性进行约束,有效的应对传统跟踪算法中跟踪窗口发散问题。

如图4所示,对于当前帧中的一个目标A,可以通过前一帧与当前帧的目标的位置关系得到一个运动速度v和角度θ的估计值,进而可以预估下一帧中目标的位置为B。

图4 距离约束模型

对于当前帧中的目标A计算得到中心为dA,通过预估计得到下一帧中目标位置B的中心为dB。则采用式(9)对跟踪得到的中心点dr进行约束,满足条件时才认为是可靠、稳定的跟踪目标

|dA-dr|≤|dA-dB|+d

(9)

其中,|dA-dr|为dA与dr之间的欧氏距离;|dA-dB|为dA与dB之间的欧式距离;d为设定的距离阈值。

3 实验结果及分析

为了验证算法的可行性,使用VS2013结合Opencv(Open Source Computer Vision Library)开源视觉库,在MFC框架下构建了实验平台。

该实验平台实现了视频文件的读取,可以对本地视频文件进行人脸检测跟踪;同时实现了对实时USB摄像头获取,选择相应的摄像头源,可以直接获取视频流进行人脸检测跟踪。图5为人脸检测的效果图,图6为是对人脸检测后,自动跟踪的效果,具有较高的可靠性,同时椭圆跟踪模板对人脸具有较好的适用性。

图5 人脸检测

图6 人脸跟踪

表1给出了本文算法在Windows8操作系统中,采用Intel Corei3(2.1GHz)CPU条件下,对不同分辨率共600帧图像的跟踪耗时和误跟踪率,可以看出跟踪算法具有良好的实时性,且稳定性较高。随着图像分辨率变高,跟踪耗时没有出现过快的增长,并且误跟踪有所降低,所以此方法适合较大场景中的人脸跟踪。

表1 跟踪性能分析

4 结束语

本文介绍了使用图像Haar特征结合Adaboost算法进行人脸检测的方法,在检测到人脸的基础上,使用Camshift算法对人脸区域进行跟踪,并在跟踪的过程中引入距离条件约束。实现了对出现在视频帧中的人脸进行自动检测、跟踪,并且有效提高了跟踪的可靠性。能够满足视频监控系统中,对人脸进行实时跟踪的需要。

[1] 梁路宏,艾海舟,徐光佑,等.人脸检测研究综述[J].计算机学报,2002,25(5):449-458.

[2] Brunelli R,Poggio T.Facerecognition: features versus templates[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1993,15(10):1042-1052.

[3] Yang G Z,Huang T S.Human face detection in a complex background[J].Pattern Recognition,1994,27(1):53-63.

[4] Lee C H,Kim J S,Park K H.Automatichuman face location in a complex background using motion and color information[J].PatternRecognition,1996,29(11):1877-1889.

[5] Turk M,Pentland A.Eigenfaces for recognition[J].Cognitive Neuroscience,1991,3(1):71-86.

[6] Juell P,Marsh R A.Hierarchicalneural network for human face detection[J].Pattern Recognition,1996,29(5):781-787.

[7] 黄琛,丁晓青.一种鲁棒高效的人脸特征点跟踪方法[J].自动化学报,2012,38(5):788-796.

[8] 何炜.自适应运动目标检测和跟踪技术研[D].昆明:云南大学,2011.

[9] 周杰,卢春雨,张长水,等.人脸自动识别方法综述[J].电子学报,2000,28(4):102-106.

[10] Hager G D,Belhumeur P N.Efficientregion tracking with parametric models of geometry and illumination[J].IEEE Transactions on PAMI,1998(20):1025-1039.

[11] Ong E J,Bowden R.Robust facial feature tracking using shape constrained multiresolution selected liner predictors[J].IEEE Transactions on PAMI,2011(33):1-16.

[12] Wu Xian,Li Hong,Lai Jianhuang.A framework of face tracking with classification using CAM Shift-C and LBP [C].Shanghai:Fifth International Conference on Image and Graphics,2009.

[13] 张宏志,张金换.基于Camshift的目标跟踪算法[J].计算机工程与设计,2006,27(11):2012-2014.

[14] 邬大鹏,程卫平,于盛林.基于帧间差分和运动估计的Camshift目标跟踪算法[J].光电工程,2010,37(1):55-60.

[15] 王亮亮,孙即祥.基于人脸检测和CAMSHIFT算法的人脸跟踪系统[J].微计算机应用,2008,29(2):14-17.

Face Detection,Tracking Based on AdaBoost and Camshift

TANG Quan

(Shanghai Publishing and Printing College, Shanghai 200093, China)

This paper proposes a method based on Camshiftand face detection,to achieve a real-time, automatic tracking system for human face. The algorithm uses the Haar feature and AdaBoost to train a classification for face detection which used to initialize the tracking window. Face tracking will be done based on Camshift algorithm, and distance constrains is also used to make sure the tracking result is stable. Experiments show that the method in the paper is more effective than traditional facetracking ways based on Camshift.

face detection; face tracking; Camshift; AdaBoost

10.16180/j.cnki.issn1007-7820.2016.12.046

2016- 06- 05

汤泉(1988-),女,硕士研究生,助教。研究方向:图像处理。

TP391.41

A

1007-7820(2016)12-166-04

猜你喜欢

人脸分类器像素
赵运哲作品
像素前线之“幻影”2000
有特点的人脸
“像素”仙人掌
三国漫——人脸解锁
BP-GA光照分类器在车道线识别中的应用
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
高像素不是全部
马面部与人脸相似度惊人