基于Haar特征与残差网络实现人脸检测的对比
The Contrast between the Haar Feature and the Residual Network for Facial Recognition
DOI: 10.12677/JISP.2019.82009, PDF, HTML, XML, 下载: 897  浏览: 2,485 
作者: 荣 康, 姜明新*:淮阴工学院,电子信息工程学院,江苏 淮安
关键词: Haar特征残差网络人脸检测Haar Feature Residual Network Face Detection
摘要: 人脸检测是一种计算机通过提取面部特征,加以分析辨别的技术。文章简述了基于Haar特征与残差网络的两种人脸检测算法。并从检测速度、环境灯光的明暗及人脸的完整情况等方面,通过运行后的实际情况进行了对比,分析两种算法的优缺点。
Abstract: Face detection is a kind of computer technology which can analyze and distinguish facial features by extracting them. This paper introduces two face detection algorithms based on Haar feature and residual network. The advantages and disadvantages of the two algorithms are analyzed by comparing the detection speed, the brightness of ambient lights and the integrity of human faces.
文章引用:荣康, 姜明新. 基于Haar特征与残差网络实现人脸检测的对比[J]. 图像与信号处理, 2019, 8(2): 60-64. https://doi.org/10.12677/JISP.2019.82009

1. 前言

随着社会的发展和科技的进步,各领域对于身份验证这一新型技术有了更迫切的要求,特征识别技术也在近几十年里有了重大的改革和创新。人脸检测这项技术,更是特征识别中最炙手可热的一项。人脸检测,即在所呈现出的图像找出人脸的位置,通常用矩形框表示起来。从发展历程上来看,包括非深度学习阶段和深度学习这两个阶段。人脸检测问题的研究始于20世纪60年代末,基于几何特征是早期的主要手段。上世纪90年代,涌现出许多新的解决办法,如主成分分析、特征脸等。2015年ResNet的提出,更是将检测的速度与准确性提到了新的高度。小到手机相机中的人脸锁定,公司门禁系统打卡,大到公安刑侦部门的锁定罪犯,都有着它的一份功劳。本文通过Haar特征及残差网络两种算法进行人脸检测,并对检测结果进行了说明。

2. 基于Haar特征的人脸检测

2.1. 什么是Haar特征

特征即为图片上不同区域的像素差值。而Haar特征最早用来表示人脸,包括3种类型4种形式的特征组合成特征模板,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。如图1所示。

Figure 1. Feature template

图1. 特征模板

某些脸部特征即可用上述Haar值来表示,如今这种思想,已运用为一种较为成熟的人脸检测的方法。

2.2. 基于Haar特征的检测原理概况

首先需要对大量含有Haar特征的人脸样本数据训练出若干个分类器(关于分类器下文有介绍),分类器以级联形式存在,每个子级分类器都均含有多个Haar特征值并设有一个阈值。训练子级分类器的本质就是寻找阈值。子级分类器中均包含多个特征,对每个特征均要求得训练样本的特征值。并计算如下参数:全部人脸样本的权重和t1;全部非人脸样本的权重和t0;在此元素之前的人脸样本的权重的和s1;在此元素之前的非人脸样本的权重的和s0;求得每个元素的分类误差 r = min ( ( s 1 + ( t 0 s 0 ) ) , ( s 0 + ( t 1 s 1 ) ) ) 。寻找r值最小的元素,则该元素作为阈值。可以把阈值理解为一个门槛。如果符合要求则传给下个分类器进行下一轮的筛选,反之则舍弃掉。在计算机读取图片时,就好像有一个来回移动的子窗口在图片上做人脸检测,每个小块的区域上均计算出其特征值,若能通过事先训练好的级联检测,则我们认为该区域存在人脸。

2.3. AdaBoost在Haar分类器中的应用

构建多个弱分类器是Adaboost算法的核心理念 [1] ,下层分类器均建立在上层分类器的基础上(通过对之前分错的部分改变权重)。Adaboost将这些弱分类器加权组合起来,这样就形成了最终的强分类器。Adaboost所训练出的分类器,由如下公式所表示。其中,f表示特征的值,theta表示阈值,p则表示不等式的方向。由此训练出的分类器即为一个弱的基于特征的分类器。

h J ( x ) = { 1 0 if p * f ( x ) < p * theta otherwise

2.4. 级联分类器

级联检测器由多个强分类器构成,通过多次的抉择用来判断是否为人脸。就像二叉树那样,每次只存在是或者不是两个选择。级联检测器自顶向下检测速度由快到慢,复杂程度由低到高。这样就可以大大增加检测速率和准确性。

3. 基于残差网络的人脸检测

3.1. 什么是残差ResNet网络

残差网络是一种深度卷积网络。既然是深度卷积,网络的层数越多,能够获取到更丰富且不同层次的特征这一观点便不难理解了。越深的网络提取的特征便越具代表性,越具价值信息。VGG即是一个非常好的例子,该网络就是通过增加网络深度大幅度提高了网络性能。但是深度学习存在令人费解的现象,当网络层数达到一定的数目以后,网络的性能就会饱和,继续增加网络的深度,训练精度和测试精度都在下降。这说明当网络变得很深以后,深度网络就变得难以训练了。如果只是简单地增加深度,则会导致梯度弥散或梯度爆炸 [2] 。残差ResNet网络的出现则为这一问题提出了优秀的解决方案。

3.2. 残差Resnet网络的结构

残差结构如图2所示:

Figure 2. Residual structure

图2. 残差结构

残差结构采用了一种叫做“shortcut connection”的连接方式,可以将它形象的比喻为抄近道。Resnet改变了原有的学习目标,不再是直指目标结果,而是学习输出与输入之间的差值,所以才称之为残差。它的功能就好像是模拟电路里的差分放大器。我们把网络设计为,可以转换为学习一个残差函数 。只要 F ( x ) = 0 ,就构成了一个恒等映射 H ( x ) = x 。残差网络的思想为抛弃共同点,着眼并突出微小的部分。

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

*通讯作者。

参考文献

[1] 黄泉龙. 基于PCA的人脸识别研究[D]: [硕士学位论文]. 西安: 西安电子科技大学, 2012.
[2] 王启航. 基于深度卷积神经网络的人脸检测算法研究[D]: [硕士学位论文]. 杭州: 浙江理工大学, 2018.
[3] 张宁. 基于PCA算法的人脸识别研究[J]. 山西电子技术, 2009(2): 23-24.