一种高效的人脸马赛克方法

2017-04-13 01:34姚东明吴建斌
软件导刊 2017年3期
关键词:马赛克级联人脸

姚东明,马 川, 于 溪,吴建斌

(1.武汉市公安局 警务指挥中心,湖北 武汉 430030;2.华中师范大学 物理与科学技术学院,湖北 武汉 430079)

一种高效的人脸马赛克方法

姚东明1,马 川2, 于 溪2,吴建斌2

(1.武汉市公安局 警务指挥中心,湖北 武汉 430030;2.华中师范大学 物理与科学技术学院,湖北 武汉 430079)

针对现有人脸检测方法速度缓慢的问题,在详细介绍结合类Haar特征和级联AdaBoost人脸检测算法原理及训练流程的基础上,提出一种改进的人脸检测算法。该算法可以动态调整Haar检测函数的阈值和选取扩展的Haar特征,并运用OpenCV中图像处理的基本算法实现较高准确度和较快速度的人脸检测,可高效用于马赛克处理。实验结果表明,该算法人脸检测率达到95.41%,处理图片时间约2.4ms/frame,计算复杂度低,且稳定性较好,可广泛用于人脸检测中。

人脸马赛克;人脸检测;级联分类器;类Haar特征;OpenCV

0 引言

高清摄像头经常在拍摄车辆信息的同时,也会拍摄到乘车人的脸部信息。为保护隐私,在公布图片时,需要对人脸进行马赛克处理。现阶段主要是利用工具软件自带的Mosaic滤镜功能对画面进行手动处理,不但费时费力,而且图片处理的效果也不理想。因此,有必要研究实现高效且准确率高的人脸马赛克处理方法。

人脸检测是实现人脸马赛克的一个重要步骤,人脸特征选取直接影响人脸检测的精确性。目前,人脸特征选取方法大体可分为基于知识方法、基于统计方法、基于肤色模型方法3类。其中,基于知识的方法是在各种先验知识的基础上建立人脸模型,再利用该模型达到人脸检测的目的。如马德智[1]和陈雁翔等[2]描述了一种基于高斯混合模型的目标检测方法;基于统计方法[3]是将向量机分为3层,分别对人脸图像模型进行多姿态协同人脸检测;赵海峰、孙姗姗等[4]对不同LBP特征值进行融合再用于人脸检测;Nilsson等[5]利用具有较小计算代价的局部连续均值量化特征以及分裂稀疏网络分类器进行正面人脸图像检测; 基于肤色模型方法[6,7]以李全彬等[8]为代表。上述方法均能取得较好的检测效果,但也存在一些不足之处:马德智、陈雁翔等的方法计算量大,实现过程复杂;滕少华等的方法运算量大、耗时长,特征描述能力不足;赵海峰、Nilsson等的方法实时性较强,但误识率较高;李全彬等的方法在表情多样的情况下,效果不是很理想。

为提高算法运行效率,利用类Haar特征和Adaboost分类器在人脸检测中的优势[9,10],本文提出了一种改进的人脸检测算法。该算法可以动态调整Haar检测函数的阈值和选取扩展的Haar特征。实验结果证明该改进算法能够实现不同人物、表情、姿态等的人脸检测与马赛克效果。

1 算法结构

人脸检测包括针对待检测图像的训练过程和检测过程。训练过程主要是构建包含类Haar特征信息的级联AdaBoost分类器;检测过程需提取人脸关键类Haar特征,借助级联AdaBoost分类器判断人脸存在性,最后将检测后的人脸区域打上马赛克。

预处理是人脸检测的前提,其流程如图1所示。注意到图像在空间内像素的高度相关性,故采用高斯滤波去除图像噪声。随后采用灰度图像进行检测降低背景干扰和减小计算量;再通过尺寸变换将图像缩放到同一大小进行处理;最后采用直方图均衡化增强图像对比度。

图1 预处理流程

1.1 改进型类Haar特征提取

使用类Haar特征能高效描述人脸边缘轮廓,采用AdaBoost中的筛选式级分类器对特征进行分类,多数初级弱分类器只有一层决策树(stump)。表达式如式1所示:

(1)

其中,弱分类器h(x,f,p,θ)由子窗口图像x,一个特征f,指示不等号方向的p和阈值θ组成。一层决策树允许下面形式的决策:判断特征f的值v大于某个阈值t,并判断人脸,判断抉择如式(2)所示:

(2)

式(2)中vi是第i个特征点的特征值,t为设定的阈值。当为人脸时判断特征fi为+1,反之则为-1。对于阈值t的计算方法如下:

(1)对于每个特征fi,计算所有训练样本的特征值,并将其排序,扫描一遍排好序的特征值,对排好序的表中的每个元素,计算图像区域内所有人脸样本的权重之和t1;图像区域内所有非人脸样本的权重之和t0;扫描此元素之前的人脸样本的权重之和s1;扫描此元素之前的非人脸样本的权重之和s0;

(2)在当前元素的特征值Fki和它前面的一个特征值Fki-1之间选取阈值,阈值t表示为:

(3)

传统的弱分类器选取该元素最小值作为最优阈值,形成一个弱分类器。本文给出一种新的阈值选取计算公式:

(1)将该节点上的所有决策树数据按照当前元素进行连续性的取特征值,得到序列{Fk1,Fk2,…,Fki} ;

(2)在特征值取值序列{Fk1,Fk2,…,Fki}生成分割点,每个分割点根据当前点的特征值和其决策树上的一个特征值将阈值设定为:

(4)

其中,α,β为初始权值,对于不同的图片样本,需设置不同的权值。结合实验数据,本文对平均大小 为693*692的图像设定α=0.16,β=0.84,并在一定范围内调节窗口移动步长,构建最优弱分类器。由于每个样本总共可得到57 519个类Haar特征,计算量大,故采用Viola等[1]提出的方法,将积分图像方法应用到类Haar特征提取计算中,提高该系统获取人脸特征的速度。

1.2 级联AdaBoost算法

AdaBoost算法通过训练多个弱分类器,并把弱分类器按一定的权重加权构成强分类器。在训练过程中,数据点分类错误这个代价经过一系列更新,使得后级弱分类器更加关注前级分类器分类错误的数据点。机器学习过程中可能由于各种错误(欠拟合、过拟合、模型无法学习数据等)导致分类失败,AdaBoost算法的优势在于对每一个分类器学习过程中那些效果差的训练集再一次进行加重学习,使分类器性能最大化;在人脸检测过程中,希望分类器的错误拒绝率很大,而错误识别率很小,可设置ROC曲线和混淆矩阵(见图2、图3)参数使操作点下降,即在允许一定错误检测率的基础上,使得目标错误拒绝率很大。

图2 ROC曲线 图3 混淆矩阵

强分类器结构如图4所示,将包含类Haar特征的待测样本送入级联AdaBoost分类器中,只有被前一级强分类器判决为T的样本才能被输入到下一级强分类器,否则被判为非人脸样本,只有通过了所有强分类器检测的图片区域才是有效人脸区域。

图4 级联AdaBoost分类器结构

1.3 马赛克效果

马赛克效果是先把感兴趣区域(RIO)分割成矩形的子矩阵,再把包含在子矩阵内的像素按照一定的规则涂抹成相同的灰度值,本文提出4种涂抹方式如图5所示。

图5 马赛克效果的涂抹方式

(5)

其中,x∈[0,m],y∈[0,n],矩阵m×n为子矩阵像素点的数目,分子则表示对应子矩阵的像素值之和。

1.4 运行测试

为验证文中方法的有效性和可行性,探寻级联在人脸检测中的作用,采用主频为2.4GHz、Inter(R)Core(TM)i3-2370MCPU、4GB内存的PC机,借助vs2012和OpenCV2.4.8搭建仿真环境,测试结果如表1所示。实验采用的验证人脸库为FERET和ORL标准人脸库、多人脸图像库。

表1 不同级联阶数的检测率和速度

由表1可以看出级联在人脸检测中的重要性,表中参数测量时间包含人脸检测时间和实现马赛克效果的时间,Size是对所有图片的像素平均值。可以看出,该算法在应用于人脸检测上具有较大的优越性,增强分类器阶数能小幅度提高人脸正确检测率,而大大降低误检率是阶数约为20时,且检测时间不会增加。对于平均690*493像素的图片,平均用时0.4s,可以达到每天处理15万张以上的图片的效率。从算法复杂性的角度,假定样本数为N,特征的数量是M,传统的人脸检测方法复杂性是O(M×N),本文中改进人脸检测方法的复杂性为其一半,明显优于传统方法。

图6是待检测图像和处理后的图像对比。可以看出,本文中的人脸马赛克效果可以成功将图中任意位置的人脸进行马赛克处理。对于多姿态、多表情的人脸检测及马赛克效果检测准确率很高、处理效果较好,且不存在误检,且只会对人脸进行马赛克处理,而不影响后续对车辆的车牌、车身或其他部分进行识别。

图6 待检测图像和处理后图像对比

2 结语

本文在AdaBoost算法的基础上,提出了一种动态调整Haar检测函数阈值的算法。采用参数选择方法较大程度上简化了整个流程,解决了单纯级联AdaBoost算法的人脸检测方法在复杂背景环境下鲁棒性不佳的问题。该算法动态调整Haar检测函数的阈值,并微调窗口移动步长,通过阈值对窗口内的目标进行精确搜索,实现高效进行人脸检测和马赛克效果。实验结果证明了本文改进算法相较于传统算法有处理速度快和准确率高的优越性,能实现自动化马赛克处理,提高信息集成度,极大提高工作效率。

[1] 马德智.基于高斯混合模型的运动目标检测方法研究与应用,电子测量技术,2013,36(10):47-50.

[2] 陈雁翔,李赓.基于AdaBoost的安全带检测系统,电子测量技术,2015,38(4):123-127.

[3] 滕少华,陈海涛,张巍.基于超球支持向量机的多姿态协同人脸检测,计算机应用,2013,33(7):1988-1990.

[4] 赵海峰,孙姗姗等. 基于LBP算子和类覆盖捕获图的人脸检测算法,数学的实践和认识,2013,43(7):50-56.

[5] VIOLA P, Jones M. Robust real-time face detection [J]. International Journal of Computer Vision (S0920-5691), 2004, 57(2): 137-154.

[6] 刘春生,常发亮,陈振学,等.改进的高斯肤色模型及其在人脸检测中的应用[J].仪器仪表学报,2012,33(5):1117-1121.

[7] 李全彬,王小明,刘锦高,等.复杂光照下的人脸肤色检测方法[J]. 计算机应用,2010,30(6):1594-1596.

[8] 李全彬,孙巧榆,刘锦高,等.复杂背景和光照多变的人脸检测方法[J].计算机工程,2009,45(18):22-24.

[9] VIOLA P,JONES M.Rapid object detection using a boosted cascade of simple features[C].In Proceeding of International Conference on Computer Vision and Pattern Recognition,Kauai, HI, USA2001, 1: 511 -518.

[10] LIENHART R, MAYDT J. An extended set of haar-like features for rapid object detection[C].The IEEE International Conference on Image Processing,NewYork,USA,2002:900-903.

[11] 金立君,闫书家,刘源.基于类 Haar 特征与级联 AdaBoost 算法的防震锤识别,系统仿真学报,2012,24(9):1806-1809.

(责任编辑:陈福时)

华中师范大学中央高校基本科研业务研究基金项目(CCNU15A02040)

姚东明(1974-),男,河南商丘人,硕士,武汉市公安局警务指挥中心一级警督,研究方向为计算机视觉与智能视频监控;吴建斌(1972-),男,湖北黄梅人,博士,华中师范大学物理与科学技术学院副教授、硕士生导师,研究方向为计算机视觉与隐身通信。

10.11907/rjdk.162321

TP317.4

A

1672-7800(2017)003-0167-03

猜你喜欢
马赛克级联人脸
结合格式塔理论的马赛克包装图案设计及应用
有特点的人脸
AI黑科技真的能去马赛克吗
三国漫——人脸解锁
《马赛克》
级联LDPC码的STBC-OFDM系统
赴美留学,这些会被“打马赛克”的东西别带了!
基于级联MUSIC的面阵中的二维DOA估计算法
马面部与人脸相似度惊人
LCL滤波器在6kV级联STATCOM中的应用