刘亮
摘 要 智能门禁系统是安全防护系统中重要的组成部分,以人脸作为判决因子,判断来访者的合法性,以此来控制门的开关。当红外传感器探测到有人时,触发系统影像采集设备采集人脸图像,人脸采集检测识别系统将采集的图像,经过预处理、检测、识别,判断人员的身份是否合法。对于无权限入内的人员,前端采集控制系统通过串口发送控制信号控制语音模块进行语音提示。经过实验,验证了系统方案的可行性,实现了以人脸为身份识别的智能门控。
【关键词】人脸识别 职能门禁 OpenCV
随着经济的发展,人口流动性日益增大,安全入口控制应用的需求快速增长,生物统计识别技术得到了广泛研究开发,智能门禁系统作为安全防护系统中重要的组成部分,受到了研发人员的重视。生物特征具有唯一、稳定和普遍等特性,应用较多的生物特征有人脸、指纹、虹膜和视网膜等。其中,人脸的采集与识别相对于其他生物特征来说,具有采集方便、直接、安全和快捷等特点,适合应用于智能自动控制的场所。
人脸作为人类最重要的表达器官,可以向我们提供重要的信息,如性别、种族、情绪、年龄和性格等等,因此人脸识别技术也就必然成为人机交互的重要手段。人脸识别技术是基于人的脸部特征信息进行身份识别的一种生物识别技术。利用人脸生物特征对人体进行识别的技术,能够很好地应用在智能门禁系统中。文中基于人脸识别的智能门禁控制系统设计,主要包括门禁系统设计和人脸采集检测识别部分。
1 职能门禁系统总体设计
基于人脸识别的智能门禁控制系统由前端采集控制系统和后台人脸采集检测识别系统组成。前端采集控制系统实现前端的信息采集及人脸身份识别后的控制与语音报警处理;后台人脸采集检测识别系统实现人脸图像的采集、定位与识别,并通过串口发送控制信息给前端系统。系统框图如图所示。
热释电红外传感器检测大门口是否有人靠近;当有人靠近大门口时,光敏电阻检测是否需要开灯为人脸采集进行补光;通过串口发送信号给后台人脸采集检测识别系统,后台接收到信号后,驱动影像采集设备采集图像,经过预处理、检测、识别,判断人员的身份是否合法。对于无权限入内的人员,前端采集控制系统通过串口发送控制信号控制语音模块进行语音提示,对于合法的人员,前端采集控制系统发送信息控制继电器打开大门。
2 人脸采集检测识别系统算法
2.1 图像预处理
图像采集设备采集到的人脸图像,因图像的采集设备、光照条件、人脸姿态位置等因素存在差异,所以采集到的图像可能会有各式各样的噪声,获取的图像若不经过处理,将干扰人脸识别的效果。因此,为了准确稳定地获取人脸特征,必须对图像进行规范化处理,消除噪声,修正失真。
人脸图像预处理主要包括:几何规范化及灰度规范化。几何规范化是指通过把两眼瞳孔之间的距离作为系数比对整个图像进行平移、旋转、缩放,形成符合训练集的人脸图像标准。灰度规范化是改善图像质量,并将其灰度统一到给定的标准,一般包括灰度变换、直方图均衡化两个步骤。
2.2 人脸检测
AdaBoost是典型的集成机器学习方法。是针对同一个训练集训练不同的弱分类器,弱分类器识别率好于随机猜测的学习算法,所有迭代得到的弱分类器,并按照—定的权值叠加起来,得到一个强分类器。将多个强分类器连接起来,得到Adaboost级联分类器。通过一组样本的学习后,能够达到理想的识别率的学习算法。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
2.3 人脸识别
主成分分析法(Principal Component Analysis PCA)是一种常用的基于变量协方差矩阵对信息进行处理、压缩和抽提的有效算法。PCA算法在降维和特征提取方面优势突出,在人脸识别领域得到了广泛的应用。
PCA算法的原理是利用K-L变换抽取人脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到一组投影系数,通过与各个人脸图像比较进行识别。利用特征脸法进行人脸识别的过程由训练阶段和识别阶段两个阶段组成。
2.4 OpenCV的应用
OpenCV的设计目的是执行速度尽量快,主要关注实时应用。它构建了一个简单易用的计算机视觉框架,帮助开发人员更便捷地设计更复杂的计算机视觉相关应用程序。它采用了优化的C代码编写,能够充分利用多核处理器的优势。OpenCV提供了 MLL(Machine Learning Library)机器学习库。MLL机器学习库侧重于统计方面的模式识别。MLL除了用在视觉识别相关的任务中,还可以方便地应用于其他的机器学习场合。
OpenCV主体分为四个模块,OpenCV的CV模块包含基本的图像处理函数和高级的计算机视觉算法。ML是机器学习库,包含一些基于统计的分类和聚类工具。HighGUI包含图像和视频输入、输出函数,CXCore包含OpenCV的一些基本数据结构和相关函数。
3 人脸检测识别门禁系统的实现
人脸检测识别门禁系统包括主界面程序模块、New User模块、User模块、Records模块、Help模块、Exit模块组成,其中New User模块、Authenticate模块均用到了OpenCV库中的一些变量和函数接口。
进入 New User 程序子模块,即调用recognizeFromCam()函数,首先通过运行loadTrainingData()函数判断facedata.xml 数据库中有无人脸图像数据,如果facedata.xml数据库中已有人脸图像数据则从数据库中读取之前保存在数据库中的训练集的人的名字、人的个数、训练脸的个数、特征脸的个数、特征向量、特征脸、平均脸等数据;如果facedata.xml数据库中没有人脸图像数据,则说明系统是第一次开启,还未进行人脸检测和识别。ecords 模块后调用recordview函数,输出训练图像的个数、识别可信度、检测用时、摄像头分辨率等信息。
论文对基于OpenCV的人脸识别算法进行了分析,并基于ARM芯片完成了 ARM 的移植,成功应用于智能门禁系统中。系统前端以单片机为中心实现了信息采集及人脸身份识别后的控制与语音报警处理;通过摄像头采集人脸信息,借助几何规范和灰度规范实现人脸的规范化处理。通过Adaboost级联分类器实现人脸检测,采用改进的PCA算法进行人脸识别,用人脸作为身份识别控制门的开关;对不合法的来访者发出声音报警。经过测试证明,该具有人脸识别检测功能的门禁系统可以有效的减少非法闯入事件的发生,确保了智能家居的安全性。论文设计的基于 OpenCV 的智能门禁系统具有硬件配置简单,系统占用资源较少等优势,此系统在智能家居上的应用中具有良好的发展前景。
参考文献
[1]王红锐.智能门禁系统中人脸识别技术的研究[D].武汉:武汉理工大学,2013.
[2]张鹏.高档别墅区智能门禁管理系统设计[D].济南:山东大学,2012.
作者单位
酒泉职业技术学院 甘肃省酒泉市 735000