人脸识别在综合门禁系统中的设计应用

来源:21IC 作者:—— 时间:2011-11-09 13:56

1 综合门禁系统设计方案

  本文所设计的门禁系统由一个服务器和两个门禁控制器组成, 一个门禁控制器在通过摄像头采集人脸图像的同时另一个可以通过指纹采集仪采集指纹信息。管理服务器软件并行连接两个门禁识别器软件,通过USB 接口实现相互通信,服务器端软件对两个门禁识别器软件的连接实现多线程处理。

  系统基于嵌入式WindowsXP 平台开发,有体积小,专用性强等特点。

  图像采集端利用DirectShow 技术对摄像头进行控制,实现视频图像的预览,并在预览的过程中对实时的视频进行抓拍,将抓拍图像传至嵌入式计算机主板,由基于PCA 和BP 神经网络的人脸识别软件进行识别处理。

  指纹采集端由指纹采集仪获取用户指纹,并通过封装在识别器内部的指纹处理模块进行指纹比对。门禁控制器包括AT89S52 芯片MBF200 识别模块、液晶显示器、数据存储器、键盘、电源和电控锁等部分组成。

  本识别系统软件在Windows 平台上采用VC++ 6.0 进行开发, 全部核心算法都采用模块化设计,提高了算法的可移植性。整体结构如图1 所示。

  图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)。

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子