1 综合门禁系统设计方案
本文所设计的门禁系统由一个服务器和两个门禁控制器组成, 一个门禁控制器在通过摄像头采集人脸图像的同时另一个可以通过指纹采集仪采集指纹信息。管理服务器软件并行连接两个门禁识别器软件,通过USB 接口实现相互通信,服务器端软件对两个门禁识别器软件的连接实现多线程处理。
系统基于嵌入式WindowsXP 平台开发,有体积小,专用性强等特点。
图像采集端利用DirectShow 技术对摄像头进行控制,实现视频图像的预览,并在预览的过程中对实时的视频进行抓拍,将抓拍图像传至嵌入式计算机主板,由基于PCA 和BP 神经网络的人脸识别软件进行识别处理。
指纹采集端由指纹采集仪获取用户指纹,并通过封装在识别器内部的指纹处理模块进行指纹比对。门禁控制器包括AT89S52 芯片MBF200 识别模块、液晶显示器、数据存储器、键盘、电源和电控锁等部分组成。
本识别系统软件在Windows 平台上采用VC++ 6.0 进行开发, 全部核心算法都采用模块化设计,提高了算法的可移植性。整体结构如图1 所示。
图1 整体结构框图
2 人脸识别
2.1 PCA 对人脸图像的特征提取
由于摄像头采集的人脸图片的信息量往往很大,直接处理会产生庞大的计算量,所以在人脸识别之前要进行特征提取。在降低特征空间的维数的同时,尽可能地保留识别信息,以达到有效分类。
本系统使用主成分分析算法实现对人脸图像的特征提取。主成分分析(principal compONent analysis, PCA)是多元统计分析中用来分析数据的一种方法,它是用一种较少数量的特征对样本进行描述以达到降低特征空间维数的方法,方法的基础是Karhunen-Loeve展开式。K-L 变换的最大优点是去相关性好。这样可以将图像中大量无关的冗余信息去除,降低了之后运用神经网络的结构复杂度,同时也提高了神经网络的训练效率和收敛率。采用PCA 进行人脸特征提取的一般方法是:
设有N 个训练样本,每个由其像素灰度组成一个向量xi,则样本图像像素数即为向量xi的维数,M=wIDTh × height (行像素数×列向量数),由向量构成的样本集为{x1,x2,…,xn},该样本集的平均向量为:
协方差矩阵可表示为:
求协方差矩阵C 的特征向量ei和对应的特征值λi.由大于λm的λi对应的特征向量构成主成分,主成分构成的变换矩阵为:
在实际的人脸识别过程中,对于一个输入的测试样本x,求它与平均脸之间的偏差y=x-x 则在特征脸空间的投影可表示为系数向量:
(4)式中z 为K-L 变换的展开系数向量,为m×1 维。这样一个脸部图像就可以用较低维的系数向量表示,从而实现了用低维向量表征原始人脸图像。可以选取对应特征值最大的前m 个特征向量,使得:
在式(5)中可以选取鄣=90%,从而使得样本集在前m 个轴上的能量占整个能量的90%以上。
2.2 利用BP 神经网络对人脸图像进行识别
BP 网络是一种单向传播的多层前向网络。(3 层的BP 网络的基本结构如图1)。BP 学习算法称为“误差逆传播算法”,基本思想是通过网络误差函数的极小值来调整权重分布使神经网络收敛于稳定状态,从而使网络在接受未知输入时也会给出适当的输出。
系统采用BP 神经网络对人脸识别的的具体过程有以下几步:
1)产生一个训练集,训练集用于BP 网络在模式识别方面训练网络,使网络能够按照学习算法调整结构参数,以达到学习的目的。如果在实际应用中,人脸的样本可能只有1,2 个,这样就会导致BP 神经网络训练样本缺乏,所以在应用中应有充分人脸对象的样本采集。
2)设计BP 网络并进行训练。网络的每一个输入节点对应于样本的一个特征,而输出节点数等于类别数。设计好网络层数,隐藏层神经元数及所期望的网络误差,学习速率后, 用上述主分量分析法得到的特征样本对网络进行反复训练, 直到对所有训练样本,网络都能给出满意的结果时,学习训练完成(如图2)。
图2
3)进行识别。在此阶段,当一个未知类别样本A 作为一个测试样本作用到输入端时,经过投影后得到特征矩阵Y,利用训练好的网络分类器对其进行分类,考察各输出节点的输出,从而识别出所属类别。
2.3 人脸识别结果
为验证系统,实验中采用Yale 人脸数据库,该数据库由美国耶鲁大学的实验室采集,包括15 个人的每人11 张人脸灰度图像,共计165 张。它们是在不同时间、光照略有变化、不同表情(眼睛张或闭,笑或不笑)以及不同脸部细节(有眼镜或没眼镜)下获取的。
每张图像的尺寸为128×128 像素, 比较充分地反应了同一个人不同人脸图像的变化和差异。将图像库中的人脸图像分为两组,其中150 张为训练样本,另外15 张为测试样本。实验中,训练神经网络所需时间平均为10秒,人脸的识别过程所需的时间平均为0.5 s,对于合法用户的识别率为89%,非法用户的识别率可达95%.
图3
3 指纹识别
指纹识别传感器采用富士通公司推出的一款先进的固态指纹传感器MBF200,它除可自动检测指纹外,还带有多种接口模式,为电容性传感器,其电容性传感器阵列由二维金属电极组成,所有金属电极充当一个电容板,接触的手指充当第2 个电容板,器件表面的钝化层作为两板的绝缘层。当手指触摸传感器表面时,指纹的高低不平就会在传感器阵列上产生变化的电容,从而引起二维阵列上电压的变化,并形成指纹传感图像。采用标准COMS 技术的电容性固态器件,具有500 dpi 的分辨率,传感器面积为1.28 cm×1.50 cm.具有自动指纹检测能力,内含8 位模数转换器,可提供3 种总线接口形式。5V 工作电压下的功耗小于70 mW.指纹采集时间不超过0.5s;指纹识别比对时间不超过0.5s/枚;指纹误识率小于0.001%。
指纹识别算法实现为:1)提取脊线方向,脊线频率。2)经过GABOR 滤波,减弱噪声、改善图像质量,以便于特征提取。3)特征提取。4.与指纹数据库进行特征匹配并得出结果。大致流程如图4 所示。
图4 流程图
4 实验
判别流程:门禁控制器通过摄像头捕获到人脸图像,并把该图像发送到服务端进行人脸识别。通过指纹采集仪获取用户指纹,并通过封装在控制器内部的指纹模块进行指纹比对。若人脸识别通过,指纹识别也通过,则判断用户有该门的权限并开门。若人脸识别通过,指纹识别未通过,则要求请求者再测一次。若人脸识别未通过,指纹识别也未通过,则不开门。其基本流程如图5 所示。
图5 基本流程图
5 结果
本系统的测试方法为:在相同光照条件下,对已注册的用户分别进行10 次进门操作,对未注册的用户分别进行10 次进门操作。系统设置识别方式为人脸识别、指纹识别串行执行。测试记录用户每次进门操作识别成功与否,使用何种识别方式识别通过等信息,统计测试系统的性能。从实验结果来看,人脸识别率达到93%,而人脸加指纹的识别率达到98%,并且没有出现错误接受的情况,但由于测试数据量比较小,在实际运行中,可能会出现错误接收的情况,从测试情况来看,错误接受率不会高于0.01%.
6 结论
传统PCA 方法在处理人脸图像时,要将二维图像矩阵转换成一维的列向量,使图像的维数达到上万维,计算工作量大,特征提取速度慢。针对PCA 算法的不足,也有研究者提出了独立分量分析法(ICA,Independent Component Analysis),在这些方面仍有待作进一步探索。
而且虽然BP 网络得到了广泛应用,但其自身也存在一些缺陷和不足,主要包括网络的收敛速度慢,且存在局部最小值问题。可采用变化的学习速率或自适应的学习速率以及附加动量法加以改进和解决[5]。将指纹识别与人脸识别相结合,进行人脸图像的一对一比对,所以识别速度更快,合法用户与非法用户的识别率均较高,提高了身份验证的安全性和有效性。人脸和指纹这两个生物特征都具有很好的抗干扰性和不怕遗失的特性,而且识别率也非常,可以很好的解决传统门禁系统如IC 卡门禁所存在的不足,达到减少人为因素对门禁系统的影响的目的。因此,智能门禁系统适用于高度机密性场所安全保护和高效率管理的需要,同时也适用于大规模用户进行快速、准确的身份鉴别的需要。