基于回归的人脸检测加速算法

2019-09-05 10:32赵宏伟
关键词:人脸正方形中心

王 丹,赵宏伟,戴 毅,吴 彬

(1.吉林大学 《仿生工程学报》编辑部,长春 130022; 2.吉林大学 计算机科学与技术学院,长春 130012;3.中国石油抚顺石化公司, 辽宁 抚顺 113006)

0 引 言

人脸检测与识别技术在公共安全[1]、环境监控[2]等众多应用领域显示其实用价值。人脸检测是人脸图像识别与分析的应用基础,在图像中确定人脸框的位置是人脸检测的主要工作,如何快速、准确地确定人脸区域在图像中的位置,仍然是这一研究方向具有挑战性的任务。

研究人员针对人脸检测的不同指标进行了多方面的研究,也提出了多种人脸检测方法[3-5]。比如,文献[6]针对人脸识别中人脸对准问题提出了一个根据面部归一化姿态自适应对准方法,加速了深度人脸识别过程。文献[7]结合多尺度金字塔决策和双流深度网络解决异构人脸识别问题,获得较好的分类性能。

在人脸快速检测方面,文献[8]结合级联决策树提出一种快速人脸检测算法,采用多个分类器进行检测,每个分类器针对不同角度进行学习,算法计算复杂度较低,比较适合嵌入式应用。文献[9]结合K均值聚类提出一种快速人脸识别SURF(speeded up robust features)改进算法,利用窗口模板周围信息构造描述符,呈现较好的识别效率。文献[10]结合连续自适应MeanShift算法和Kalman滤波器提出一种实时人脸跟踪算法,通过人脸区域检测,利用加速鲁棒特征提取关键点,计算人脸边界框中心和大小,获得较好的实时跟踪效果。文献[11]结合深度学习方法提出一种深度金字塔快速无约束人脸检测识别算法,能够快速检测大尺度变化的人脸。文献[12]结合卷积神经网络提出一种快速人脸检测方法,在完整特征图上检测人脸,通过完整特征进行人脸检测,有效提高人脸检测效率。

VJ框架是Viola-Joines针对人脸检测、物体检测提出的实时处理框架[13],该框架从检测特征、分类学习、级联方式等方面建立了框架结构。VJ检测框架设计了双矩形特征、三矩形特征和四矩形特征3类Haar特征,通过Adaboost进行特征分类。VJ检测框架的建立是开创性的,为后续人脸检测研究奠定了基础,研究人员针对VJ框架的不同方面也进行了改进。文献[14]从检测特征角度,通过引入通道特征对VJ框架进行改进,将图像通道扩展到梯度幅度、定向梯度直方图等多种类型,形成一个聚合通道特征。文献[15]从分类学习角度,结合目标检测率和目标执行时间,确定弱级联最优值。文献[16]从检测模式角度,通过检测目标图像特征外推方法,建立了多尺度精细采样图像特征金字塔,实现了目标的快速检测。

本文为了提高视频人脸检测的检测速度,提出一种快速人脸检测算法,算法的创新性在于连续视频帧的人脸中心与人脸区域的预测。算法采用回归分析方法进行人脸中心位置坐标拟合,并采用粗粒度预测方法降低算法的时间复杂度,通过优化人脸区域位置宽度系数提高了人脸检测准确率。

1 视频图像中人脸中心位置预测

视频帧图像中人脸运动具有连续性和相似性,通过视频图像序列可以预测人脸在视频帧图像中的位置。

针对单幅图像进行的人脸检测由于缺少检测历史数据信息,需要遍历整个图像来确定人脸区域位置,即便是人脸区域相对整个图像尺寸占比很小,这种全图像遍历的过程也不能省略,致使大面积的滑动检测空耗检测时间,降低了目标检测速度。

对于连续视频图像的人脸检测,由于视频图像帧之间具有连续性,帧图像之间存在相似性,所以,前一次检测的人脸相关数据对后一次检测具有重要的参考价值,可以作为历史检测数据予以积累,并作为新一帧图像人脸位置的预测依据。通过人脸位置的确定,缩小了人脸遍历检测区域,进而减少人脸遍历检测时间,提高人脸检测速度,同时保持原有的人脸检测准确性。

在人脸图像连续视频中,通常情况下,人脸是处于运动中,这种运动状态在不同的视频图像帧之间会保持连续性,如人脸的运动方向、运动距离是连续的(如图1所示),这种运动状态的连续性是人脸位置预测的依据。

实现人脸中心位置的预测,首先要建立预测数据集,本文算法采用人脸中心位置预测图像帧i的前k个图像帧作为预测数据集,其数据集合为

(1)

(1)式中:Pi(xi,yi)是第i帧图像的人脸中心位置坐标,其数据值是(xi,yi);k是用于建立预测数据集的图像帧的个数,这k个图像帧是人脸中心位置预测图像帧i的前k个图像帧;i是需要进行人脸中心位置预测的图像帧的相对序号,i>k。

图1 连续视频段中的不同帧图像Fig.1 Different frame images in continuous video segments

ri=P′(x,y)

(2)

为了实现这个目标,建立训练数据,如(3)式、(4)式,进而建立训练数据集,如(5)式、(6)式。

(3)

(4)

(5)

(6)

(5)—(6)式中,n为在回归分析方法中使用的数据训练集的样本个数。在数据处理中,回归分析算法使用文献[17]中的拟合函数最小二乘法,在实验中,拟合函数也用到文献[18]的梯度下降方法。

通过拟合函数实现对连续视频人脸图像进行人脸位置中心点坐标的预测,预测过程标注状态如图2所示。图2中,用实心圆、空心圆、空方框表示图像帧中人脸中心位置的坐标数据点,其中,实心圆显示的坐标数据点表示预测图像帧中人脸中心的坐标数据位置;空心圆显示的坐标数据点表示当前图像帧中人脸中心的坐标数据位置;空方框显示的坐标数据点表示前k-1个图像帧中人脸中心的坐标数据位置。

本文算法采用第i帧图像的前k帧图像的人脸中心坐标数据预测第i帧图像的人脸中心坐标位置。实验对k=4到k=20分别做了测试,结果显示,k在[4,20]取值对算法精度的影响不大,但k=4时可最快实现预测,所以,本文实验采用k=4。

图2 连续视频段中人脸位置预测Fig.2 Face location prediction in continuous video segments

2 视频图像中人脸区域位置预测

本文人脸识别是在图像帧中人脸中心位置和人脸区域位置都确定的条件下进行的。图像帧中人脸中心的位置是通过一个坐标点来确定的。图像帧中人脸区域位置通常是通过一个矩形框来确定。

人脸区域矩形框的尺寸不但影响人脸检测的准确度,同时也影响到人脸检测的检测速度。从人脸中心位置和人脸区域位置对人脸检测的准确度和检测速度2个指标的影响来看,相对来说,人脸中心位置比人脸区域位置对人脸检测的准确度和检测速度的影响更大一些,从降低算法复杂度的角度,本文算法采用粗粒度预测人脸区域位置策略,并通过优化人脸区域位置系数来提高人脸检测准确率。

本文算法采用正方形框来确定人脸区域位置。如果正方形框的宽度(即正方形的边长)为w,那么第i个图像帧中人脸区域位置的正方形框的宽度就可以表示为wi,对应地,第i-1个图像帧中人脸区域位置的正方形框的宽度就可以表示为wi-1。如果相邻图像帧之间的正方形框尺寸的变化量记为增量wΔ,那么,第i个图像帧与第i-1个图像帧之间正方形框尺寸的增量就可以表示为如(7)式所示的变化量,这个增量可能是正数,也可能是负数。

wΔi=wi-wi-1

(7)

(7)式中,wΔi表示第i个图像帧与第i-1个图像帧之间正方形框尺寸的增量。

如前所述,本文算法中的人脸中心位置的预测,是把第i帧图像的前k帧图像的人脸中心位置坐标作为预测数据集。为保持算法数据的共享性,提高基础数据的利用率,在进行人脸区域位置预测时,也同样采用这些数据。按照(7)式,对k帧图像之间依次进行正方形框尺寸增量计算,并按(8)式进行累加、求平均值。

(8)

(8)式中,wmeani表示第i个图像帧与前k个图像帧两两相邻帧之间正方形框尺寸增量的平均值。

(9)

(9)式中,α是人脸区域位置正方形框宽度的调节系数。适当调节宽度系数α,可保证人脸区域有效地框于正方形之内,实验结果显示,在选择α=(15±5)%的条件下,人脸区域位置预测取得较好的效果。

由于本文算法在进行人脸中心位置预测和人脸区域位置预测时,都要使用前k帧图像的相关数据,因此在运行本文算法之前,需要完成数据积累的过程,比如k设定为5,n设定为10,就需要完成前15个图像帧的数据积累,这15个图像帧一般可以使用传统算法进行图像帧全遍历检测。

3 实验结果与分析

本文算法通过回归分析方法对连续视频中图像帧的人脸中心位置坐标数据进行拟合,对图1、图2所示的连续视频段进行了人脸检测实验,图3所示为图像帧中人脸中心位置坐标数据的分布情况。

从图3中数据的分布情况看,x轴数据分布和y轴数据分布都比较适合二次多项式对应的形式,即便是y轴数据局部分布相对不够平滑,但多数情况是满足形式符合性的。这些人脸中心位置坐标数据的分布趋势呈现4种类型:

1)上升分布。人脸中心位置坐标数据随着连续视频的时间进度呈上升趋势。

2)下降分布。人脸中心位置坐标数据随着连续视频的时间进度呈下降趋势。

3)局部极大值分布。连续视频中的人脸中心位置坐标数据呈现局部极大值状态。包含极大值点的时间序列,其数据呈先升后降的状态。

4)局部极小值分布。连续视频中的人脸中心位置坐标数据呈现局部极小值状态。包含极小值点的时间序列,其数据呈先降后升的状态。

图3 人脸中心位置坐标数据分布Fig.3 Data distribution of face center position coordinates

对上升分布、下降分布、局部极大值分布和局部极小值分布的数据分别采用线性拟合方法、二次多项式拟合方法进行数据拟合,数据拟合的结果如图4所示。由图4可见,采用二次多项式拟合方法比采用线性拟合方法能够得到更好的数据拟合结果。

确定人脸中心位置坐标数据后,可以进行人脸区域位置预测。实验环境为Intel Core i5-4200M,2.5 GHz,640×480的图像,OpenCV的VJ框架。实验结果如图5所示。

图5a为利用OpenCV的VJ框架进行的人脸区域位置检测结果,图5b为利用本文算法进行的人脸区域位置检测结果。由图5可见,采用OpenCV算法和采用本文算法都可以很好地检测到人脸区域位置,但2种方法检测结果的FPS(frames per second)显示出它们的差别。利用OpenCV算法进行的人脸区域位置检测结果显示为FPS=8,FPS=9,实际上,多次实验结果显示其FPS值基本是在9帧左右。利用本文算法进行的人脸区域位置检测结果显示为FPS=32,FPS=29,多次实验结果显示本文算法的FPS值基本是在29帧左右。可见,本文算法对人脸检测的速度有较大的提升,具有良好的实时性。

图5 人脸区域位置检测结果Fig.5 Face Region Location Detection

4 结束语

检测速度是视频人脸检测的重要指标,是视频人脸识别实时性应用的重要前提。本文采用回归分析方法预测连续视频中人脸中心位置坐标,通过调整区域宽度系数确定人脸区域位置,实验结果表明,本文算法有效减少了视频人脸检测遍历区域,缩短了视频人脸特征提取区域的时间,更加适合视频人脸检测的实时性应用。

猜你喜欢
人脸正方形中心
剪掉和中心无关的
在打造“两个中心”中彰显统战担当作为
有特点的人脸
一起学画人脸
剪正方形
剪拼正方形
拼正方形
拼正方形
三国漫——人脸解锁
别让托养中心成“死亡中心”