福 建 电 脑 Journal of Fujian Computer
Vol. 35 No.11
Nov. 2019
应用深度学习的智能门禁系统设计
马国浩 石睿 (江西理工大学信息工程学院 江西 赣州 341000)
摘 要 当前门禁系统大多采用磁卡、密码、指纹识别等技术进行开锁,其中磁卡存在携带不便、盗刷等问题,密码、指纹识别技术安全性不高。针对这些问题,本文采用基于深度学习的人脸识别技术来实现门禁系统的开锁。该智能门禁系统首先通过基于深度学习的人脸识别算法获得人脸识别模型,再通过门禁系统软件调用人脸识别模型和控制门禁系统硬件。实验结果表明:该智能门禁系统能够实时地对门禁进行控制,而且准确率高。 关键词 深度学习;人脸识别;门禁系统;语音合成
中图法分类号 TP183 DOI:10.16707/j.cnki.fjpc.2019.11.001
Design of Intelligent Entrance Guard System Based on Deep Learning
MA Guohao, SHI Rui
(School of Information Engineering, Jiangxi University of Science and Technology, Ganzhou, China, 341000 )
Abstract At present, most entrance guard systems use magnetic card, password, fingerprint identification and other technologies to unlock, among which the magnetic card is inconvenient to carry, stolen swiped and other problems, password, fingerprint identification technology security is not high. To solve these problems, this paper adopts face recognition technology based on deep learning to unlock the entrance guard system. The intelligent entrance guard system first obtains the face recognition model through the facial recognition algorithm based on deep learning, and then invokes the face recognition model and controls the hardware of the entrance guard system through the entrance guard system software. The experimental results show that the intelligent entrance guard system can control the entrance guard in real time with high accuracy. Keywords Deep Learning; Face Recognition; Entrance Guard System; Speech Synthesis
1 引言
当前门禁系统大多采用磁卡、密码、指纹识别等技术,其中磁卡存在忘记携带、丢失、盗刷等问题;密码锁在紧急情况下开门效率较低;而指纹识别门禁系统由于需要接触传感器存在一定的卫生问题,且处理时间较长;传统的人脸识别技术非接触、稳定性较好,但存在识别率较低的问题。随着基于深度学习的人脸识别在国内外得到广泛的研究,其识别率能够达到90%以上。鉴于此,本文利用基于深度学习的人脸识别技术控制门禁系统。
———————————————
人脸识别算法可以分成三个步骤完成:(1)人脸检测;(2)人脸关键点检测;(3)人脸特征表示。人脸检测是在一幅图像中对人脸的位置进行检测;人脸关键点检测是对人脸的一些关键部位的位置进行检测;人脸特征表示是利用一组多维向量作为特征来表示人脸。当前人脸检测算法和人脸特征表示算法研究已有一些经典算法:如在人脸关键点定位上,香港中文大学的汤晓欧课题组提出的TCDCN的人脸特征点检测算法能够显著提高人脸关键点检测的效率[1];Face++提出的模型能够实现68个人脸关键点的高精度定位。在人脸特征表示算
本文得到江西省自然科学基金项目(No.20181BAB202004)、江西省教育厅科技项目(No.GJJ170515)、江西理工大学创新训练项目(No.DC2018-044)资助。马国浩,男,1998年生,主要研究领域为深度学习、图像处理。E-mail: 1158446387@qq.com。石睿,男,1996年生,主要研究领域为计算机视觉、深度学习。E-mail: 270148575@qq.com。
2 马国浩等:应用深度学习的智能门禁系统设计 第11期
法方面,SphereFace系统、DeepID系列算法以及DeepFace系统等通过构造新颖的网络结构和损失函数,达到了较好的识别效果[2-6]。本文采用基于HOG的SVM目标检测算法对人脸位置进行检测,应用级联回归树(ensemble of regression trees)的算法来实现人脸关键点检测,进而实现人脸校准操作,同时采用FaceNet系统来实现人脸特征表示。
2 系统构成
本文采用Qt+Dlib+OpenCV框架完成智能门禁系统的界面设计,其工作流程如图1所示。
图1 门禁系统工作流程图
首先将采集的人脸数据图像进行预处理,包括位置和关键点标注与校正。通过基于HOG的SVM目标检测算法、级联回归树算法和基于深度卷积神经网络的FaceNet系统对人脸数据库分别进行训练获得人脸检测模型、人脸关键点检测模型和人脸特征表示模型[7-9]。利用OpenCV框架调用摄像头获取图像进行识别,在Dlib框架的基础上使用基于HOG模型的SVM人脸检测算法对图像中的人脸进行检测、使用基于决策树模型的人脸关键点检测算法模型对人脸的关键点进行检测、使用仿射变换完成人脸的校准工作、使用FaceNet系统完成人脸特征的表示工作。最后利用FaceNet系统产生的128维向量对图像进行相似性度量,并且加入语音合成模块,使门禁系统模块和语音合成模块根据识别结果控制门禁开关并产生相应的语音。
3 基于人脸识别的门禁系统设计
3.1 摄像头驱动设计
本文开发的门禁系统拟通过摄像头读取人脸图像并进行识别。首先分析摄像头的硬件框架,USB摄像头的硬件内部框架如图2所示[10]。
整个摄像头的内部框架可以分为两个部分:一个是视频控制接口,另一个是视频流接口。视频控制接口用来控制摄像头的亮度等参数,并且包含多
个终端和单元,终端负责连接外部输入和内部的接口,而选择单元负责连接内部模块的连接。可以先查询USB设备,然后通过视频控制接口对摄像头的各项参数进行设置。视频流接口用来获取摄像头的数据,并且可以调整获取图像的分辨率等参数,从而获得满足条件的图像数据。不难看出在USB摄像头设备的驱动编写中,重点应该在对视频控制接口的设置以控制摄像头属性,对视频流接口的设置以调整接收图片的格式。
本文在使用OpenCV框架读取摄像头图像后,为了保证人脸识别的实时性,使用resize函数将读取的图像进行缩放,识别出人脸后再按照相应的比例放大。在实现视频拍照识别功能时,系统会自动读取一帧图像进行识别并输出识别结果。如果摄像头前的人与人脸匹配中的数据相匹配时,系统会调用语音合成模块,读出其名字。在实现单张图片拍照识别功能时,系统会自动识别,同时通过TCP/IP协议将识别结果传输至网络门禁控制模块。
3.2 终端显示界面设计
在Visual Studio2015+Qt框架的开发环境下,结合USB摄像头的使用说明,本文开发出了一套基于深度学习的人脸识别系统。该系统的主要模块包括:图像预处理模块、人脸识别模块、人脸识别应用模块等。系统的工作流程图3所示。
光照传感器开始运行输入终端摄像头终端视选择单元视频图像预处人脸识别频控理模块模块应用模块处理单元功制能接输出端口初人人人图实拍门视始脸脸脸片时照禁频化检关识识识识识流测键别别别别别USB接口点接口 检测 图2 USB摄像头硬件内部框架 图3 系统工作流程图
图像预处理模块包括初始化、人脸检测、人脸关键点检测、人脸识别4个功能。初始化功能能够更改人脸识别系统以匹配人脸的数据库,人脸检测功能、人脸关键点检测功能、人脸识别功能分别能够实现人脸检测、人脸关键点检测、人脸识别效果。
人脸识别模块提供了图片识别、实时识别、拍照识别3个功能。图片识别功能在用户选择一张图片后,系统对图片进行人脸识别,并及时地输出识别结果。实时识别将启动电脑的USB摄像头,从摄像头中实时地读取图像并进行人脸识别。拍照识别功能将通过摄像头读取一帧图像,并对图像中的识别结果进行判断,如果识别正确将调用语音合成
2019年 福 建 电 脑 3
模块。
人脸识别应用模块提供了门禁识别功能。门禁识别功能设计了一个基于TCP/IP协议的网络门禁控制模块。该模块通过摄像头识别人脸,并根据识别结果控制门禁系统。
在完成模块的开发之后,运用Qt完成了界面布局,其界面布局如图4所示:
图4 系统的界面布局
在该界面中,按钮1是图像预处理按钮,对应系统的图像预处理模块;按钮2是人脸识别按钮,对应系统的人脸识别模块;按钮3是应用按钮,对应系统的应用模块;按钮4是关于按钮,提供了本系统的版本信息、模块介绍及退出功能等。 3.3 基于VS的语音合成模块设计
本文设计了一个语音合成模块,实现在匹配成功时输出相应的语音信息。语音合成模块的流程如图5所示。 输入图像人脸识别与人脸数据库比对音频输出Qt播放语音实时合成语音 图5 语音合成模块 实时合成语音时,调用百度AI的语音合成接口,将比对结果上传并实时地下载语音合成结果,如:照片中的人识别为小明,则合成“小明你好”的语音。语音播放功能将在人脸识别模块的拍照识别功能和应用模块的门禁功能上实现。本系统选择使用Qt的MediaPlayer类来实现MP3文件的播放。 3.4 基于TCP/IP协议的网络门禁控制模块设计 本文设计的门禁控制模块基于TCP/IP协议,将识别结果传输至门禁控制器以控制继电器,并调用语音模块。具体流程如图6所示。
本文采用的网络门禁控制器是通用技术有限公司自主研发的TY系列门禁控制器。该控制器采用ARM7高性能处理器技术和嵌入式实时操作系
统,可以持续稳定的运行。
在门禁控制模块中,采用电磁锁实现对入口通道的控制,电磁锁、电源及继电器串联。在TCP/IP协议没有传输正确的指令时,继电器处于断电状态,直流电源给电磁锁供电;若TCP/IP协议传输开门指令,则继电器通电,直流电源与电磁锁处于断路状态,因此电磁锁打开,入口通道开启。本文为了简化设计,TCP/IP协议仅在识别出的人脸图像与人脸数据库的图像相匹配时发送开门指令。控制器支持刷卡开门、密码开门、胁迫码开门等9种开门方式,并利用直接的TCP/IP局域网与PC端进行通信连接,使数据处理和动作响应非常迅速。控制器可以通过读卡器、指纹仪等设备对门锁进行操作,使用门磁开关监控门的开关状态。
摄像头读取图像人脸识别与人脸数据库比对TCP/IP协议传语音模块输识别结果继电器断电音频输出门禁开放 图6 基于TCP/IP协议的网络门禁控制模块流程图
4 人脸检测模型的获得
4.1 人脸识别算法训练
表1 惩罚系数设置比较
SVM分类器
训练集 有标注测试集召
无标注测试集识
类型
召回率(%)
回率(%)
别率(%) github - - 92.28 C=1 77.46 67.64 61.83 C=2 88.73 76.47 72.95 C=3 91.55 82.35 74.39 C=4 92.96 85.29 77.29 C=5 92.58 88.24 77.29 C=6 94.37 85.29 78.74 C=7 97.18 85.29 80.19 C=8 97.18 85.29 80.19 C=9 97.18 85.29 80.19 C=10 97.18 82.35 80.67 本文选用Dlib框架完成人脸检测算法的编写,Dlib框架提供了SVM目标检测算法的API接口。SVM分类器中的一个关键参数为惩罚系数C。惩罚系数表明对误差的容忍程度,对于人脸检测算法至
4 马国浩等:应用深度学习的智能门禁系统设计 第11期
关重要,因此本文对惩罚系数的设定做了特别研究,以召回率和精确率作为评价指标,得到的结果如表1所示。可以看出,惩罚系数的值在6、7、8时,分类器对人脸的识别率最高。 4.2 人脸关键点检测算法训练
本文人脸关键点检测采用的级联回归树模型通过构建两层回归树来建立数学模型。在第一层回归中,回归级联层数设置为T层时,会产生T个回归器,而第二层回归就是完成这T个回归器的训练。
在第二层回归中通过采用梯度提升树算法(Gradient Boosting Algorithm)来完成每一个
γi(x,y)内部的回归过程。在第二层回归器的训练
中,建立目标函数为:
∧(t)fN20(=I,S)argmin∆S(t) (1)
r∈R2p∑i−ri=1参数的更新方式为:
f∧(t)∧(t)k(I,S)=fk−1(I,S)+v•gk(I∧(t),S) (2)
其中,s∧(t)是第t次迭代预测的脸部关键点的坐
标;v表示学习速率,通常是一个大于0小于1的数,同时令v小于1能够有效的防止过拟合发生,并且帮助训练出一个效果更好的回归树;g∧(t)k(I,S)为弱回归树。同时需要注意的是在第二层回归树模型中,输入值为第一层回归完成后的误差。 4.3 人脸特征表示算法训练
本部分采用ResNet34网络架构的FaceNet实现小数据量情况下的模型性能。实验表明FaceNet算法性能较好,因此本文直接采用github上开源模型。 4.4 系统性能测试
为了测试系统性能,专门设计了利用电磁锁和网络门禁控制器的网络门禁仿真系统。电源、电磁锁和网络门禁控制器的继电器串联连接,继电器根据控制器的指令通断,从而控制直流电源的供电。而网络控制器与PC端之间采用UDP方式通讯,控制器的IP地址为192.168.1.15,网关为192.168.1,子网掩码为255.255.255.0,通讯端口为9998和9990,握手方式为软件握手。
PC端与控制器之间采用问/答的方式设计,问方发送设置命令或读取命令给目标方,目标方应答设置结果或者返回读取信息。通信时的数据以十六
进制字符格式发送。
在网络门禁仿真系统尚未识别时电磁锁将处于关闭状态。选择门禁系统功能后,系统将通过拍照功能对摄像头前的人进行识别。若识别结果与人脸数据库中的人脸相匹配,则打开门禁,同时语音播放相关内容。试验结果表明该人脸识别系统能够高效准确地实现对门禁系统的控制。
5 结束语
本文采用了基于HOG模型的SVM人脸检测算法、基于决策树模型的人脸关键点检测算法和基于深度卷积网络的人脸特征表示算法来实现人脸识别。本文设计的基于以上人脸识别算法的门禁系统,具有较好的准确率、识别速率和稳定性,可在实际门禁系统中使用。
参 考 文 献
[1] Zhang Z, Luo P, Chen C L, et al. Facial Landmark Detection by Deep
Multi-task Learning//European Conference on Computer Vision. Zurich, Switzerland, 2014:94-108
[2] Liu W, Wen Y, Yu Z, et al. SphereFace: Deep Hypersphere Embedding
for Face Recognition. arXiv preprint arXiv:1704.08063, 2017 [3] Sun Y, Wang X, Tang X. Deep Learning Face Representation from
Predicting 10,000 Classes//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Columbus, USA, 2014: 1891-1898
[4] Sun Y, Wang X, Tang X. Deep Learning Face Representation by Joint
Identification-Verification. Advances in neural information processing systems, 2014(27):1988-1996
[5] Sun Y, Liang D, Wang X, et al. DeepID3: Face Recognition with Very
Deep Neural Networks. Computer Science, 2015
[6] Wen Y, Zhang K, Li Z, et al. A Discriminative Feature Learning
Approach for Deep Face Recognition// Computer Vision-ECCV 2016. Springer International Publishing, 2016:499-515
[7] Dalal N, Triggs B. Histograms of oriented gradients for human
detection// IEEE Computer Society Conference on Computer Vision & Pattern Recognition. IEEE Computer Society, 2005:886-893
[8] Kazemi V, Sullivan J. One millisecond face alignment with an ensemble
of regression trees// IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2014:1867-1874
[9] Schroff F, Kalenichenko D, Philbin J. FaceNet: A unified embedding for
face recognition and clustering// IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2015:815-823 [10] 张禾, 高凤水. 基于嵌入式WinCE的USB摄像头驱动开发.实验科
学与技术, 2010, 8(1):66-68
因篇幅问题不能全部显示,请点此查看更多更全内容