人脸检测是一种计算机通过提取面部特征,加以分析辨别的技术。文章简述了基于Haar特征与残差网络的两种人脸检测算法。并从检测速度、环境灯光的明暗及人脸的完整情况等方面,通过运行后的实际情况进行了对比,分析两种算法的优缺点。 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.
荣康,姜明新*
淮阴工学院,电子信息工程学院,江苏 淮安
收稿日期:2019年3月13日;录用日期:2019年3月24日;发布日期:2019年4月8日
人脸检测是一种计算机通过提取面部特征,加以分析辨别的技术。文章简述了基于Haar特征与残差网络的两种人脸检测算法。并从检测速度、环境灯光的明暗及人脸的完整情况等方面,通过运行后的实际情况进行了对比,分析两种算法的优缺点。
关键词 :Haar特征,残差网络,人脸检测
Copyright © 2019 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
随着社会的发展和科技的进步,各领域对于身份验证这一新型技术有了更迫切的要求,特征识别技术也在近几十年里有了重大的改革和创新。人脸检测这项技术,更是特征识别中最炙手可热的一项。人脸检测,即在所呈现出的图像找出人脸的位置,通常用矩形框表示起来。从发展历程上来看,包括非深度学习阶段和深度学习这两个阶段。人脸检测问题的研究始于20世纪60年代末,基于几何特征是早期的主要手段。上世纪90年代,涌现出许多新的解决办法,如主成分分析、特征脸等。2015年ResNet的提出,更是将检测的速度与准确性提到了新的高度。小到手机相机中的人脸锁定,公司门禁系统打卡,大到公安刑侦部门的锁定罪犯,都有着它的一份功劳。本文通过Haar特征及残差网络两种算法进行人脸检测,并对检测结果进行了说明。
特征即为图片上不同区域的像素差值。而Haar特征最早用来表示人脸,包括3种类型4种形式的特征组合成特征模板,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。如图1所示。
图1. 特征模板
某些脸部特征即可用上述Haar值来表示,如今这种思想,已运用为一种较为成熟的人脸检测的方法。
首先需要对大量含有Haar特征的人脸样本数据训练出若干个分类器(关于分类器下文有介绍),分类器以级联形式存在,每个子级分类器都均含有多个Haar特征值并设有一个阈值。训练子级分类器的本质就是寻找阈值。子级分类器中均包含多个特征,对每个特征均要求得训练样本的特征值。并计算如下参数:全部人脸样本的权重和t1;全部非人脸样本的权重和t0;在此元素之前的人脸样本的权重的和s1;在此元素之前的非人脸样本的权重的和s0;求得每个元素的分类误差 r = min ( ( s 1 + ( t 0 − s 0 ) ) , ( s 0 + ( t 1 − s 1 ) ) ) 。寻找r值最小的元素,则该元素作为阈值。可以把阈值理解为一个门槛。如果符合要求则传给下个分类器进行下一轮的筛选,反之则舍弃掉。在计算机读取图片时,就好像有一个来回移动的子窗口在图片上做人脸检测,每个小块的区域上均计算出其特征值,若能通过事先训练好的级联检测,则我们认为该区域存在人脸。
构建多个弱分类器是Adaboost算法的核心理念 [
h J ( x ) = { 1 0 if p * f ( x ) < p * theta otherwise
级联检测器由多个强分类器构成,通过多次的抉择用来判断是否为人脸。就像二叉树那样,每次只存在是或者不是两个选择。级联检测器自顶向下检测速度由快到慢,复杂程度由低到高。这样就可以大大增加检测速率和准确性。
残差网络是一种深度卷积网络。既然是深度卷积,网络的层数越多,能够获取到更丰富且不同层次的特征这一观点便不难理解了。越深的网络提取的特征便越具代表性,越具价值信息。VGG即是一个非常好的例子,该网络就是通过增加网络深度大幅度提高了网络性能。但是深度学习存在令人费解的现象,当网络层数达到一定的数目以后,网络的性能就会饱和,继续增加网络的深度,训练精度和测试精度都在下降。这说明当网络变得很深以后,深度网络就变得难以训练了。如果只是简单地增加深度,则会导致梯度弥散或梯度爆炸 [
残差结构如图2所示:
图2. 残差结构
残差结构采用了一种叫做“shortcut connection”的连接方式,可以将它形象的比喻为抄近道。Resnet改变了原有的学习目标,不再是直指目标结果,而是学习输出与输入之间的差值,所以才称之为残差。它的功能就好像是模拟电路里的差分放大器。我们把网络设计为
为了验证两种算法在人脸识别中的有效性,本次实验分别在同一环境,不同表情、不同头部角度条件下拍摄。侧重选择在光线环境较差的地方进行了验证。对基于Haar特征的人脸检测首先进行测试比对。测试结果如图3所示。通过测试我们可以发现,该算法的特点是能够较快的检测出人脸,但对光线的要求非常高,暗光条件下的检测并非很理想。而且,对人脸的观察角度也要有一定的限制。
图3. 基于Haar特征的人脸检测效果图
下面我们对基于残差网络进行测试。实验结果表明,不管是对光线还是被检测者的角度,该算法均有良好的包容性。即使在快速通过,侧身,脸部存有遮挡的情况下,依旧展现出强大的检测效果。在存在遮挡亦有暗光条件下,实验结果如图4所示。
图4. 基于残差网络的人脸检测效果图
本文对基于Haar特征与残差网络实现人脸检测的方法进行了研究,其内容主要涉及到Haar特征和残差网络的简介,以及最后进行实验验证。基于Haar分类器的人脸检测流程如下 [
荣 康,姜明新. 基于Haar特征与残差网络实现人脸检测的对比The Contrast between the Haar Feature and the Residual Network for Facial Recognition[J]. 图像与信号处理, 2019, 08(02): 60-64. https://doi.org/10.12677/JISP.2019.82009