基于深度学习算法的人脸识别方法研究
- 格式:pdf
- 大小:2.56 MB
- 文档页数:2
计算机与多媒体技术Computer And Multimedia Technology电子技术与软件工程Electronic Technology & Software Engineering
基于深度学习算法的人脸识别方法研究
裴庆庆(郑州工业应用技术学院河南省新郑市4 5110 0 )
摘要:本文通过分析人脸识别及深度学习的相关技术,阐述了人脸识别的主要流程,在此基础上提出了基于深度学习算法的人脸识 别系统设计。关键词:深度学习;人脸识别;卷积神经网络
1人脸识别及深度学习相关技术
1. 1人脸识别技术
随着人脸识别技术的不断的发展,其不仅能够将静态图片中的
人脸准确的识别、标记出来,还能够捕获动态视频中的人脸信息, 并做出准确识别,这个过程即为人脸识别人脸识别是目前最直观的
生物特征识别技术,在各个领域的应用也十分广泛。目前常用的生 物识别技术包括指纹识别、语音识别、虹膜识别等,相比这类生物
识别技术,人脸识别具有非侵入性的功能优势,只要录像设备视
野内出现人脸信息,系统就可以识别出人脸,因此即使在用户不希
望与系统合作的环境中该技术仍然适用。除此以外人脸识别系统还
具备身份认证、欺诈检测、访问控制等多种功能。当然,现实中人
脸图像具有高度的可变性,比如光照因素、年龄变经、头部角度与
姿势、表情等因素均有可能更改脸部图像特征,因此在环境不受限
制的条件下人脸识别是最具挑战性的生物识别方法之一。
1.2深度学习技术
深度学习是机器学习范畴中的一个子集,是指利用深度神经
网络实现机器学习的一种方法模型,也称为深度结构学习或分层学
习。深度学习需要海量的数据支持及强大的计算能力,学习的深度
越深就能够提取到越高级的特征。深度学习是一种无需人工构建特
征的端到端的数据驱动方法,其根据标签融合、交叉、替换抽取到
的特征,完成自我调节,最终获得更优化的模型。在非监督数据上 可以通过以下两个步骤有效训练多层神经网络:先是层层构建单层 的神经元,每次训练即训练一个单层网络;然后所有训练都结束后 再用wake-sleep算法进行优化处理。在该算法中最顶层是单层神经
网络,其它层间均为双向权重的图模型,双向权重包括向上与向下
两种,向上权重的作用是“认知”,向下权重的作用是“生成”, 每层网络训练完成后,wake-sleep算法会对所有权重做出调整,以
保证所生成的最顶层表示能够准确复原底层节点,使得“认知”与 “生成”达成一致。wake-sleep算法包括“wake”与“sleep”两个 阶段,wake (醒)阶段通过外界的特征与向上的权重采用梯度下降
的方法修改层与层之间的向下权重,是一个认知的过程,而sleep(睡)
阶段则是通过最顶层表示与向下的权重生成底层状态,修改层与层 之间的向上权重,属于生成过程。学习第一层的参数,得到一个三
层神经网络的隐藏层,该隐藏层可以使得输入与输出相差最小。如
此层层训练、学习即可得到每一层的参数。
2人脸识别的主要流程
人脸识别主要流程包括建立数据集、识别目标正面、将实时采 集的人脸图像与数据库中存储的面部图像进行比较、识别图像。训 练模型之前釆集人脸图像时要对数据进行预处理,提高数据质量;然后检测人脸的位置,标注人脸关键点;对采集到的人脸图像进行
结构简化处理,将人脸图像的特征提取出来,为后续的人脸识别做
准备;人脸识别过程中将训练好的数据输入系统,构建人脸识别模 型后再与目标图数据库中的数据进行比对;最后再进行活体检测,
即通过眨眼、点头等动作检测人脸是否实际生物存在。下文针对每
个环节进行详细介绍:
2. 1人脸图像采集及预处理
人脸图像采集主要包括两个来源,一是批量叠加导入现有的人
脸图像,完成人脸图像采集,批量叠加导入的人脸图像需要合并几 个不同的原始图片集,将同一个人在不同来源的图像信息集合在一
起。另外一个来源即为实时图像采集,利用某个特定样本的实时跟 踪设备录入信息,比如摄像头。采集到的人脸图像会受到许多外部
因素的干扰,比如光线、面部表情的变化等,因此原始图像不适合
提取模型特征,需要通过一系列图像转换对数据进行预处理,比如
旋转、切割、降噪、缩放等等。
2. 2人脸检测
人脸检测的主要目的是进一步筛选人脸图像信息,消除噪声,
获取更精准的图像信息,进一步确认人脸的具体位置,确定图像大 小及位置等。不过人脸检测的主要困难在于对面部内部变化的检测
及获取图像时环境的变化,人脸通常会随着情绪的变化而产生一些
复杂的细节动态,且装饰物也可能会改变面部特征,因此增加了人
脸检测的难度。另一方面,图像获取环境会发生变化,包括获取图 像的角度、光线影响、成像设备的景深及焦距等参数。因此为改善
图像采集质量,现在人脸检测的方法主要包括检测肤色、检测边缘
特征以及基于统计的检测方法,应用最为广泛的为基于统计的方法,
虽然其误检率较高,但是其效率高、性能好,因此被广泛应用于各
个领域。
2. 3提取人脸特征
根据算法模型提取人脸上的特征。人脸特征包括人脸视觉特征
与人脸像素统计性特征两大类,而提取人脸特征的方法又包括基于
代数特征的提取以及基于知识的提取。提取人脸特征时先将人脸图
像进行维度放大处理,将其转换为一个灰度矩阵后经过一系列的代 数变化即可提取出特定的代数特征值,这些数据具有良好的聚类性, 能够将人脸的特点准确的表示出来,整个过程即为基于代数特征的 人脸特征提取方法。用几何形态表征将人脸中最具代表性的部位描
述出来,再将其转换为几何图案的组合,这个过程即为基于知识的 人脸特征提取方法。
2. 4人脸识别及活体鉴别
获取人脸图像特征数据后通过模型映射到训练集上,模开设置
114电子技术与软件工程Electronic Technology & Software Engineering计算机与多媒体技术Computer And Multimedia Technology
相似度阈值,超出相似度阈值的数据信息可以筛除,接下来再根据
相似度信息、人物信息对输出人脸图(象做进一步筛选,最终确定最
合适的人脸图像。活体鉴别的主要作用是判断系统识别的对象是否 为真实生物体,以保证人脸识别的安全性,因为系统获得的人脸可
能是一张照片的复刻,如果缺乏活体鉴别可能会存在安全隐患,因
此系统中需要加出眨眼、转头等活体鉴别过程。
3基于深度学习算法的人脸识别系统设计
3.1系统整体框架
本研宄提出的人脸识别系统是基于tensorflow深度学习框架,
采用FaceNet构建实时人脸检测及识别系统,实验在应用场景下多
姿态及光照的人脸识别任务,能够由摄像头读取视频提取帧,检测 人脸特征,将采集到的数据与数据库中预存的人脸特征数据进行对
比,最终完成人脸识别。具体设计是先由摄像头中提取人脸图像保
存于本地数据库中,针对同一个人脸需要提取多张图片,提取出每 张图片的128维特征值,再将同一个人脸多张图片的丨28维特征均
值计算出来,再对照摄像头录制的人脸特征值,比照二者人脸向量
的欧式距离即可计算机数据库中人脸图像与摄像头录制人脸图像的
相似性。该系统能够实现人脸数据的实时采集,并支持人脸实时注
册,建立人脸数据库,能够实时采集摄像头图像进行人脸识别,并
支持多张人脸的检测与识别。
3. 2基于FaceNet的人脸识别
FaceNet主要用于验证人脸是否为同一个人,是基于百万
级人脸数据训练的深度卷积神经网络,其可以将人脸图像映射 (embedding)成128维度的特征向量,直接以该特征向量为特征依
据,通过机器学习的方法实现人脸识别。本研究在进行人脸匹配 数据训练时,将LFW数据集中照片转换为统一大小,形成人脸 检测与关键点的对齐,便于后续的人脸识别任务。FaceNet模型训
练过程中可以借助训练好的embedding来帮助下个模型生成新的 embedding,可以获得更稳定、效果更好的模型。
3. 3基于深度学习算法的人脸识别系统设计
本研究提出的基于深度学习算法的人脸识别系统包括人脸图像
实时采集与注册模块、人脸检测模块、人脸识别模块及可视化操作
界面。
3.3.1人脸图像实时采集与注册模块
本系统先搭建一个基本框架,将摄像头录制到的人脸图像信
息收集起来,建立一个人脸特征数据库,收集到的人脸图像都对应
设置一个文件名,将同一个人多张人脸图片存储为对应的文件夹。 上文中提到,完成人脸识别需要利用FaceNet对人脸图像数据进行
训练,构建对应的人脸识别模型,人脸识别数据库构建完成后, 即可利用该模型提取人脸特征数据,数据库中包含每个ID人脸的 embedding信息,提取到的数据再利用FaceNet生成npz文件,每
张人脸均进行特征提取并存储于一个词典中。自建数据库集完成图
像采集,多次人脸注册,多次采集图像,并进行多次特征提取,最 终将人脸特征保存于数据库中。
3.3.2人脸检测模块
摄像头可以实时收集人脸信息,通过摄像头检测每个视频帧中 的人脸特征信息,并标记人脸框,采用MTCCN提取视频提取帧人脸框,再将人脸框数据输入facenet提取人脸特征。MTCNN可 以检测出人脸位置,获取一个人脸的bounding box,利用训练好的 Facenet模型提取人脸图像的特征,注意所有人脸图片需要对齐统
一图片大小。
3.3.3人脸识别模块
人脸图像对齐后利用训练好的Facenet模型将人脸图像 embedding成128维特征值,提取embedding vector后对照人脸数
据库中所有特征数据。数据库中包含了自建的人脸数据库,可以生 成embedding人脸特征数据库,采用facenet提取出人脸特征采用
训练好的SVM分类器对检测到的人脸特征向量进行分类,不仅能
够提高处理效率,且精度更高。
3.3.4制作可视化操作界面
采用python语言设计可视化界面,利用PyQt5及QtDesigner
制作操作界面,将.ui文件转换为.py文件代码,Qt5有自己的返回
值无法实时占用摄像头,可以用定时器完成人脸图像的实时采集, 每秒能够识别30张左右的图片,且能够依次完成多个ID人脸图像
的采集。点击“开始”系统即实时检测视频帧中的人脸图像,并在 对应区域显示出人脸识别的结果。
4结语
总之,人脸识别技术有着其它生物识别技术不具备的独特优势,
比如非接触式的验证过程提升了用户体验,人脸识别能够同时比对
多张人脸信息,且每张人脸信息都是独一无二的,因此人脸识别技
术的应用越来越广泛。而经过多年发展深度学习己经成为极为普及
的多种识别模型技术,尤其是在人脸识别领域,-直都是人工智能 领域的重要研宄方向。相信随着科技的进步,人脸识别技术对人们 生活的影响也会越来越大。
参考文献[1] 陈奎,邢雪妍,田欣沅等.基于CNN的人脸识别门禁系统设计
[J].徐州工程学院学报(自然科学版),2018, 33(4): 89-92.
[2] 刘慧慧.大数据背景下的计算机网络信息安全分析[J].科技 创新与生产力,2020 (11): 49-51+54.
[3] 景晨凯,宋涛,庄雷等.基于深度卷积神经网络的人脸识别技 术综述[J].计算机应用与软件,2018(1): 224-233.
[4] 马国峻,周海东.轻量级智能终端人脸识别系统研究与实现 [J] •通讯学报,2015, 36 (增刊 1): 149-156.