基于深度学习的轻量级人脸检测模型研究
2021-07-28周立广韦智勇
周立广 韦智勇
【关键词】深度学习;轻量级;人脸检测;人脸特征
【中图分类号】TP391.41;TP181【文献标识码】A【文章编号】1674-0688(2021)06-0057-03
随着全球人工智能技术的高速发展,生物识别技术成为该领域的研究热点,其主要是利用人体皮肤、人脸、指纹等特征作为技术识别的方式,其中,人脸识别为主要的识别方式,该方式具有精准性、唯一性、有效性特点,这种特点是无法进行模拟和仿制的。目前,人脸识别技术已逐步运用于各个领域当中,传统的识别技术也逐步被其替代。同时,这项技术的精准度在进一步提高。人脸识别算法总体上经历了3个发展阶段,即由早期的空间几何算法发展到人工特征算法,直到发展到今天的深度学习算法。深度学习算法应用广泛,并且在很多领域中都有深入研究,尤其是基于神经网络的深度学习的人臉识别算法,其发展迅猛,主要是通过不同的人脸特征进行向量提取,并进行深度学习,即通过识别算法把人脸特征存储在向量库中,向量库的数据量越大,识别的准确率也就越高。
1 关于深度学习的相关理论
1.1 深度学习技术
人工智能是目前全球IT行业研究的热点,而深度学习技术是其中一项重要内容,内涵非常丰富,是一门跨领域的信息技术,该技术通过智能设备模拟学习的方式进行,从激励响应和模型优化到对激励的结果进行数值判断。随着全球信息技术的高速发展,深度学习技术发展也日新月异,在视频、语音识别方面获得了实质性突破。借助深度学习技术可以让机器自动感知周围环境,提高设备的智能化,从而提高工作效率。深度学习主要由神经网络研究发展而来,它是由多个感知器集成的深度学习系统,系统的网络结构如图1所示。深度学习的过程主要分为两个部分,首先训练每层的神经单元,然后再采用“唤醒-睡眠”算法进行优化和调整,从而使系统“感知”到“确认”紧密融合,深度训练顺序主要分为自下而上和自上而下两种模式。
图1 基于深度学习的网络结构图
1.2 人脸检测与识别
人脸检测与识别技术属于一种生物识别技术,该技术先通过人脸图像确定图像的形状、颜色、大小等信息,然后对图像进行人脸区域定位,动态获取人脸的特征信息,通过人脸目标检测算法计算,与基础库的信息进行比较,可以得出识别者的身份及相关信息。目标检测算法目前有多种形式,例如One-stage算法、SSD算法等都属于目标算法。另外,在人脸识别方面,主要采用人脸匹配算法,人脸匹配主要分为“一对一”和“一对多”两种方式,“一对一”主要是直接判断两张图是否为同一个人的脸,而“一对多”则是从人脸库中提取相关的多个数据进行再次匹配,目前“一对一”方式较为常用。人脸检测与识别技术目前已广泛运用于各个行业,不仅提高了各行业的工作效率,而且提高了数据的安全性和可靠性。
1.3 神经网络
神经网络技术主要通过计算机网络进行模仿生物的神经系统,该系统具有非线性、非稳定性和非平衡性特点,目前使用最多的是卷神经网络,该网络由神经传导模型演变而来,该神经系统包含特征提取神经元和抗形变神经元两种神经元,分别起到卷积核滤波和激活池化操作的作用,可有效提取人脸图像信号及其时间序列。在神经传导算法中,反射传播算法目前为最佳算法,该算法可大幅提升系统性能。今后,随着计算机网络技术的快速发展,以及云计算、大数据发展的推动,神经网络算法会有一个全新的突破。
2 算法模型和数据集
人脸识别算法有很多种,在深度算法中也存在多种方式,随着近几年的高速发展,该项技术也稳步提升,而每种识别算法所对应的网络模型和训练集都存在差异,因此都各有优缺点。为此,建立一个具有差异性的算法模型和训练集非常重要,这对后续研究工作进展起到决定性的作用 [1]。
2.1 算法模型
目前,基于深度学习的人脸检测算法层出不穷,但许多开发者基于自身利益考虑,不公开算法的源代码。通过对目前公开源代码的算法进行逐一分析,VGGFace算法的精确度是最高的,该算法主要运用在模型识别和特征投影两个方面,由于网络中卷积层存在各自不同,使得网络训练工作量较大 [2]。因为VGGFace的运行环境对硬件配置有很高的要求,所以要想在移动设备上运行是比较困难的,并且在运行过程中的训练和特征提取都会占用大量时间,相比之下,Caffe-face由于网络规模小、特征参数少,属于轻量级,可以在移动设备和一些小型设备中使用,而且该算法的精确度也很高。另外,在公开源代码的算法中,有一种算法为Lightened CNN,该算法具有学习率高和迭代次数小的优点,也是目前精确度较高的算法模型之一。
2.2 词汇表达与分类训练
如果在人脸特征提取过程中出现滞后现象,可采用聚合方式进行处理,即采用视觉词汇表达的方式进行,整个过程把人脸特征用视觉词汇先表达出来,把词汇集存储在指定的库中,并建立相应的词汇图,该项流程完成后,每台设备进行深度学习的目标可以实现。首先通过分类器对设备进行训练,然后用测试集测试设备的训练程度,目前大多采用多层传感器解决分类问题,系统的神经网络采用梯度算法,可解决无法识别线性数据的问题,使识别范围进一步扩大。同时,用于识别的设备还可通过反向传播算法精准地统计出整个神经系统中神经元的实时数量,可进一步改进整个系统,提升系统的工作效率。
2.3 并行架构设计
如果神经网络采用并行方式进行设计,可提升整个网络的词汇表达效率,加强图像识别能力,但由于对设备训练的方式多种多样,极易出现梯度扩散现象,导致训练难度进一步加大。为了解决这一问题,目前采用无标签数据对每个设备单独进行分层次训练,先对底层网络进行训练,把训练结果作为样本,再进入下一层的网络训练中,整个过程仅需要少部分带标签的数据进行细调,这样可以大幅度提升整个神经网络对人脸识别的准确度及效率。
2.4 数据集
基于深度学习的轻量级人脸检测模型一般都要通过大数据技术的积极配合,有些数据可通过外界或其他途径获取,如可以通过互联网、监控视频、个人证件、生活照片等方式获取,由于这些数据格式千差万别,需要分别进行数据转换才能使用,且转换过程必须按同一标准进行。在进行深度学习人脸检测模型研究中,要求对人脸数据建立一个数据集,并且对这些数据进行大数据分析,本文主要应用两种数据集,一种是CASIA-WebFace,另一种是UMDfaces,为网络训练做预先的准备,这样可提高人脸检测的准确性。
2.5 测试结果
对系统的数据集进行有效统计分析,如果采用面部图像数据集进行测试,准确度为0.95,数据回收率为0.94,其数据精准度为0.935;如果采用面部表情数据集进行测试,准确度为0.98,数据回收率为0.978,其数据精准度为0.971。根据测试结果得出,利用面部图像数据集测试精准度為0.935,而利用面部表情数据集测试精准度为0.978,并且,如果人脸图像背景较暗时,精准度也降低,本项目在今后的研究中将进行持续改进,对特征算法进行改进和优化,使该算法适用环境范围更加广泛。
3 人脸检测预处理和特征参数
3.1 人脸检测预处理
对于深度学习的人脸检测算法,在算法模型确定的同时,用于训练的数据集也要确定下来,根据算法的要求,必须对人脸数据进行预处理,对特征参数进行融合分析。通常情况下,人脸图像都含有大量的冗余数据信息,如图像背景、光线强度等,这些信息对人脸检测有不良影响,使得检测的准确度下降,同时检测的时间也会延长,而人脸信息预处理会提高整个算法模型的精度。基于深度学习的人脸检测算法可自动学习人脸的特征信息,这样可提升人脸检测效率,缩短检测时间,比传统的人脸检测算法有一定提升。在目前的人脸检测算法中,MTCNN算法在人脸预处理中效率较高,为了使人脸归一化质量提高,可采用仿射变化方式 [3]。之后,根据CASIA-WebFace和UMDfaces这两个数据集,把这些数据特征进行统一的数据整理和分析,得出人脸的数据特征。
3.2 人脸特征参数
人脸检测的第二个步骤是人脸特征提取和融合,在提取人脸图像的数据后,通过算法先对图像数据进行预处理,同时提取出人脸的特征参数,这样可作为深度算法输入的最终图像。目前,有一种人脸检测算法是基于卷神经网络的,该网络结构属于分层结构,对各种数据模型进行数据特征提取,如果在降维上有好的效果,则在特征提取上效果更佳。PCA算法是一种多角度的人脸算法,对具有维数较高的特征进行降维,以此判定下一步数据 [4]。在得到人脸模型的基础特征后进行比较,各个特征和维度千差万别,这样会导致特征融合的差异性,由于不同数据模型的权重各不相同,为了解决这一问题,必须先进行降维处理,降维后要重新分析模型的精度是否有变化,进而测试该模型的组合特征。
4 基于深度学习的轻量级人脸检测模型
4.1 系统设计
针对人脸识别所对应的各种外部环境,把深度学习算法融入其中,设计出基于深度学习的轻量级人脸检测算法模型。本系统具有功能扩展性、稳定性、高效性等特点,整个系统的功能设计内容如下。
(1)节目管理模块。该模块功能主要用于节目的日常管理,如节目编辑、数据保存、输入输出管理等,对待检节目进行实时监测,并保存相关的监测信息,对节目进行识别并做好标记与分段,有效存储人脸识别的特征信息。
(2)数据功能模块。在深度学习的人脸识别系统中,数据处理是本系统的核心功能,主要对视频中的数据进行有效处理,即对与人脸信息无关的内容予以删除,有效信息予以保存,同时将人脸的轮廓、位移进行细微调整,把调整好的数据传输到深度学习系统中,通过一系列算法,得出人脸的检测结果。另外,数据处理还可通过反复迭代的运算形式进一步优化系统功能。
(3)工作模块。该功能主要包括信息管理、系统参数维护、权限管理等,日常工作管理的主要内容包括日常任务、信息查询、数据下载、数据审核等,在各个日常任务中数据审核是最主要的功能,一般是通过人工方式进行,按照最初的设想,识别方式为自动识别,对识别结果进行人工审核。
(4)流程管理模块。该功能主要是先下载即将进行检测的视频,对录像进行初步的视频处理,包括视频的格式、人脸特征信息、环境信息等,将处理完成后的数据保存到检测系统的数据库中,系统将该特征信息与特征库的数据信息进行匹配,将匹配结果以人工方式输出,同样也经过人工复核,这样可确保检测的准确性。
4.2 特征训练
本算法经过上述环节后,即将进行最后的一个步骤,即特征训练,这是基于深度学习的轻量级人脸检测算法的关键步骤,主要是在建立深度融合的神经网络基础上进行组合特征训练。该网络结构主要包含输入层和全连接层,输入层组合特征主要为FA和FB两种,FB的维数是FA的3倍,维度的不同使得后续的特征参数也不相同,特征训练、人脸特征参数、分类层和网络神经元数量对应3个全连接层,训练和测试方式都在Caffe框架内实现,训练方法主要包括模型及参数的设置和训练方式,测试主要采用梯度下降法 [5]。
4.3 算法测试
为了确保基于深度学习的轻量级人脸检测模型的精准性,用两个不同人脸的数据信息进行检测,评价指标采用ROC标准,从实验数据来看,本文的算法与其他算法进行各项指标对比,如果训练较小,准确率分别为98.9%和93.42%,可以看出,本文算法的检测效果较好,基本上达到了预期目的。另外,通过进一步的测试分析,对人脸进行最全测试集中,效果也是最好的,如果能把这两个优点结合,在此基础上进行相应改进,则可能效果更好,可提高权重值。
5 结语
随着深度学习技术不断创新,人脸检测技术将往更高的方向发展,人脸检测技术是目前各行业广泛运用的安全技术之一,不同的学习模型则存在不同的检测精度。本文通过人脸检测预处理和特征参数融合两个过程,得到了基于深度学习的轻量级人脸检测模型,它具有高精确度、检测时间短、安全可靠的特点。未来,随着人脸检测在精确度及动态识别技术的高速发展,该技术将会逐步成熟和完善。
参 考 文 献
[1]崔庆华.基于深度学习的人脸识别技术分析[J].计算机产品与流通,2019,12(16):63-66.
[2]杨涵.基于深度学习的人脸识别算法研究[J].电子设计工程,2019,27(19):155-159.
[3]张卓群,曹钟淼,王慧,等.深度学习与人脸识别算法研究[J].软件,2019,9(12):138-141.
[4]司琴,李菲菲,陈虬.基于深度学习与特征融合的人脸识别算法[J].电子科技,2019,5(8):78-81.
[5]黄发扬.浅谈基于神经网络深度学习算法的人脸识别技术[J].智能建筑,2019,10(28):104-106.