浅析人脸检测技术的探究
扫描二维码
随时随地手机看文章
引 言
随着计算机技术的高速发展,计算机的应用已渗入到人们生活的各个方面。尤其是近年来人工智能的发展,其可利用计算机取代人的工作,利用智能设备完成信息交互和控制,极大地推动了智能技术和智能设备的研究应用。其中,人脸识别技术是人工智能领域的关键技术 [1],包括人脸检测、识别和跟踪等,广泛应用于智能视频监控系统、门禁控制系统中。人脸检测是从输入的图像中检测出是否有人脸图像的存在,并将其从背景中分离出来的过程,是人脸识别技术的基础,也是人脸识别的第一步。人脸检测的算法非常多,目前常用的方法有支持向量机、神经网络、AdaBoosting 等。
1 支持向量机
支持向量机(Support Vector Machine,SVM)建立在统计学习理论的VC 维理论和结构风险最小原理基础上[2],用于对线性可分的模型进行分类的算法。对于训练样本而言,就是寻找最优的分类面来完成样本的分类。支持向量机工作原理图如图 1 所示。
其本质是一个二分类问题,实心圆和空心圆分别代表两 类不同的训练样本。寻找最优的分类线 L,这条分类线不仅能 正确地将样本分开,还能够使得与它平行的直线 L1 和 L2 之间 的距离最小。
最初该算法用于线性可分的问题模型,经过发展后也可用于线性不可分的模型问题。采用非线性映射将低维空间的非线性问题转化为高维空间的线性问题,从而在高维空间利用线性算法对样本的非线性问题进行分析,求出最优分类面, 达到对样本进行分类的目的。但获取的分类器是在高维空间得到的,维度很高,训练过程比较复杂,实现实时检测非常困难。
2 人工神经网络
人工神经网络(Artificial Neural Network,ANN)从信息处理的角度模拟人脑神经元网络。利用大量节点即神经元组成一个网络,然后将大量的人脸图像样本和非人脸图像样本数据输入进行训练,使网络逐渐具有对样本正确分类的能力。神经网络结构如图 2 所示,该网络结构是前馈型网络[3],分为输入神经元、隐含神经元和输出神经元,其中隐含神经元可以有多层。将提取的特征值输入至输入层,并传到后方的隐含层,最后通过连接权输出到输出层。在训练的过程中不断调整连接权值,直到网络输出的误差减小到可以接受的程度。因此, 在非线性分类中可以充分逼近理想结果。但是分类器的获取太复杂,对多姿态的容忍度很低,不太适合实时的人脸检测。
3 AdaBoost
AdaBoost 算法是利用分类能力一般的弱分类器通过推选构成的具有很强分类能力的强分类器,采用分类能力递增的方式将多个强分类器组成级联分类器[4]。对于这样的级联系统, 正确检测率(Correct Detection Rate,CDR)越大越好,而虚假正确率(False Positive Rate,FPR)越小越好[5]。
对输入图像进行检测时,提取的特征值绝大多数都是非人脸图像,只有极少的是存在人脸的图像,所以人脸检测是一个小概率事件的检测过程。在构造训练样本时,非人脸训练样本的数量应多于人脸训练样本的数量。
为方便表述,将训练样本总数记为 M,每个样本提取的特征数记为 N。大致的训练过程如下:
(1) 将 M个训练样本以及与之对应的 N个特征值构造为二维矩阵 F[i][ j],其中 1 ≤ i≤ N,1 ≤ j≤ M,每个 F[i][ j] 表示第 j个样本的第 i个特征值,而 F[i][] 则表示所有训练样本的第 i个特征值的集合。
(2) 对所有样本的第 i个特征值进行排序,并设置初始权重为 wj=1/M,其中 wj为第 j个样本的权重。
error为训练样本被错误分类的均方差值误差,yk为样本的类型值,当 k为人脸图像时,yk=1,否则 yk= - 1。hj(F[i][ j])为第 j 个弱分类器。
if(error<minerror)
minerror=error,
θ=F[i][ j],
最终将均方差值最小的 θ 值作为弱分类器的阈值。此时得到的弱分类器是经过训练的最优弱分类器。
(3) 对所有的特征值进行计算,从得到所有的均方差值最小的最优弱分类器中挑选出本轮误差值最小的最优弱分类器作为第一个强分类器,若用 t表示当前强分类中包含的弱分类器的数量,那么此时 t=1。
然后根据最优弱分类器的分类结果,分别调整样本的权重。增大被错误分类的样本的权重,减小被正确分类的样本的权重,以利于提高非人脸样本被检测出的概率。
(4) 为了提高检测的效率,采用递进复杂度的级联分类器,具体如图 3 所示。
前面的几个最优强分类器由于包含的弱分类器数量较少, 结构也比较简单,可以快速过滤掉大量比较容易排除的非人脸图像。但随着后面最优强分类器包含的弱分类器的增多,过滤非人脸的能力越来越强,能够进一步对难以排除的非人脸图像进行过滤,但检测速率也随之下降。
强分类器对非人脸图像的判别准确度非常高,一旦发现为非人脸图像,就将它过滤掉,后面的分类器将不再对它进行处理。而且在采集到的图像中,绝大多数都是非人脸图像, 人脸图像只占很少一部分,所以采用级联的方法提高人脸检测的速度,满足实时检测的需求。
4 结 语
人脸检测与识别技术是人工智能领域的热点研究课题, 在视频监控、门禁系统等领域都有广泛的应用。本文从构造人脸检测的分类器出发,分析了支持向量机、人工神经网络以及AdaBoost 算法。相比较而言,AdaBoost 算法通过寻找弱分类器,利用训练过程将弱分类器构造为强分类器,并将多个强分类器按由简单到复杂的次序进行级联,从而将大量的非人脸图像过滤掉,极大地降低了处理时间,提高了检测效率, 在实时人脸检测与识别领域得到了广泛的应用。