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 &TImes; height (行像素数&TImes;列向量数),由向量构成的样本集为{x1,x2,…,xn},该样本集的平均向量为:
协方差矩阵可表示为:
求协方差矩阵C 的特征向量ei和对应的特征值λi.由大于λm的λi对应的特征向量构成主成分,主成分构成的变换矩阵为:
在实际的人脸识别过程中,对于一个输入的测试样本x,求它与平均脸之间的偏差y=x-x 则在特征脸空间的投影可表示为系数向量:
(4)式中z 为K-L 变换的展开系数向量,为m&TImes;1 维。这样一个脸部图像就可以用较低维的系数向量表示,从而实现了用低维向量表征原始人脸图像。可以选取对应特征值最大的前m 个特征向量,使得:
在式(5)中可以选取鄣=90%,从而使得样本集在前m 个轴上的能量占整个能量的90%以上。