1. 前言
随着社会的发展和科技的进步,各领域对于身份验证这一新型技术有了更迫切的要求,特征识别技术也在近几十年里有了重大的改革和创新。人脸检测这项技术,更是特征识别中最炙手可热的一项。人脸检测,即在所呈现出的图像找出人脸的位置,通常用矩形框表示起来。从发展历程上来看,包括非深度学习阶段和深度学习这两个阶段。人脸检测问题的研究始于20世纪60年代末,基于几何特征是早期的主要手段。上世纪90年代,涌现出许多新的解决办法,如主成分分析、特征脸等。2015年ResNet的提出,更是将检测的速度与准确性提到了新的高度。小到手机相机中的人脸锁定,公司门禁系统打卡,大到公安刑侦部门的锁定罪犯,都有着它的一份功劳。本文通过Haar特征及残差网络两种算法进行人脸检测,并对检测结果进行了说明。
2. 基于Haar特征的人脸检测
2.1. 什么是Haar特征
特征即为图片上不同区域的像素差值。而Haar特征最早用来表示人脸,包括3种类型4种形式的特征组合成特征模板,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。如图1所示。
某些脸部特征即可用上述Haar值来表示,如今这种思想,已运用为一种较为成熟的人脸检测的方法。
2.2. 基于Haar特征的检测原理概况
首先需要对大量含有Haar特征的人脸样本数据训练出若干个分类器(关于分类器下文有介绍),分类器以级联形式存在,每个子级分类器都均含有多个Haar特征值并设有一个阈值。训练子级分类器的本质就是寻找阈值。子级分类器中均包含多个特征,对每个特征均要求得训练样本的特征值。并计算如下参数:全部人脸样本的权重和t1;全部非人脸样本的权重和t0;在此元素之前的人脸样本的权重的和s1;在此元素之前的非人脸样本的权重的和s0;求得每个元素的分类误差
。寻找r值最小的元素,则该元素作为阈值。可以把阈值理解为一个门槛。如果符合要求则传给下个分类器进行下一轮的筛选,反之则舍弃掉。在计算机读取图片时,就好像有一个来回移动的子窗口在图片上做人脸检测,每个小块的区域上均计算出其特征值,若能通过事先训练好的级联检测,则我们认为该区域存在人脸。
2.3. AdaBoost在Haar分类器中的应用
构建多个弱分类器是Adaboost算法的核心理念 [1] ,下层分类器均建立在上层分类器的基础上(通过对之前分错的部分改变权重)。Adaboost将这些弱分类器加权组合起来,这样就形成了最终的强分类器。Adaboost所训练出的分类器,由如下公式所表示。其中,f表示特征的值,theta表示阈值,p则表示不等式的方向。由此训练出的分类器即为一个弱的基于特征的分类器。
2.4. 级联分类器
级联检测器由多个强分类器构成,通过多次的抉择用来判断是否为人脸。就像二叉树那样,每次只存在是或者不是两个选择。级联检测器自顶向下检测速度由快到慢,复杂程度由低到高。这样就可以大大增加检测速率和准确性。
3. 基于残差网络的人脸检测
3.1. 什么是残差ResNet网络
残差网络是一种深度卷积网络。既然是深度卷积,网络的层数越多,能够获取到更丰富且不同层次的特征这一观点便不难理解了。越深的网络提取的特征便越具代表性,越具价值信息。VGG即是一个非常好的例子,该网络就是通过增加网络深度大幅度提高了网络性能。但是深度学习存在令人费解的现象,当网络层数达到一定的数目以后,网络的性能就会饱和,继续增加网络的深度,训练精度和测试精度都在下降。这说明当网络变得很深以后,深度网络就变得难以训练了。如果只是简单地增加深度,则会导致梯度弥散或梯度爆炸 [2] 。残差ResNet网络的出现则为这一问题提出了优秀的解决方案。
3.2. 残差Resnet网络的结构
残差结构如图2所示:
残差结构采用了一种叫做“shortcut connection”的连接方式,可以将它形象的比喻为抄近道。Resnet改变了原有的学习目标,不再是直指目标结果,而是学习输出与输入之间的差值,所以才称之为残差。它的功能就好像是模拟电路里的差分放大器。我们把网络设计为,可以转换为学习一个残差函数
。只要
,就构成了一个恒等映射
。残差网络的思想为抛弃共同点,着眼并突出微小的部分。
4. 实验结果及分析
为了验证两种算法在人脸识别中的有效性,本次实验分别在同一环境,不同表情、不同头部角度条件下拍摄。侧重选择在光线环境较差的地方进行了验证。对基于Haar特征的人脸检测首先进行测试比对。测试结果如图3所示。通过测试我们可以发现,该算法的特点是能够较快的检测出人脸,但对光线的要求非常高,暗光条件下的检测并非很理想。而且,对人脸的观察角度也要有一定的限制。
Figure 3. Face detection effect map based on Haar feature
图3. 基于Haar特征的人脸检测效果图
下面我们对基于残差网络进行测试。实验结果表明,不管是对光线还是被检测者的角度,该算法均有良好的包容性。即使在快速通过,侧身,脸部存有遮挡的情况下,依旧展现出强大的检测效果。在存在遮挡亦有暗光条件下,实验结果如图4所示。
Figure 4. Face detection effect map based on residual network
图4. 基于残差网络的人脸检测效果图
5. 总结
本文对基于Haar特征与残差网络实现人脸检测的方法进行了研究,其内容主要涉及到Haar特征和残差网络的简介,以及最后进行实验验证。基于Haar分类器的人脸检测流程如下 [3] :1) 使用Haar特征做检测;2) 用AdaBoost算法训练人脸检测的强分类器;3) 将分类器级联,提高准确率。基于残差网络的人脸检测流程如下:1) 通过深度卷积神经网络进行特征的提取;2) 将提取的特征向量进行归一化处理;3) 将特征向量进行余弦相似度计算,最后进行阈值比较,得出人脸检测结果。残差网络的出现为人脸检测提供了新的解决思路,这种算法在弱光条件下仍有较好的表现。然而,在人脸检测方面,既要兼顾算法的准确性,亦要兼顾算法的速度,所以如何能将两种算法的优势结合,是以后研究的重点方向。
NOTES
*通讯作者。