嵌入式人脸识别门禁系统设计与实现
信息技术的迅猛发展给生活带来便利的同时,也给安全防范系统提出来越来越高的要求。传统的
门锁、防盗门、监控报警系统等总是存在着携带不便、易遗失损坏、密码易被破解等问题。于是,运
用生物特征识别技术的智能门禁系统就应运而生。其中,人脸识别作为生物特征识别技术中最为直观
的一种识别方法,具有友好、隐蔽、简便、准确、经济及扩展性良好等其他识别技术不可比拟的优势。
基于 ARM 技术的嵌入式系统以应用为中心,软硬件可裁剪,符合应用系统对功能、可靠性、成本、体
积、功耗严格要求, 对节约成本、提高稳定性有极大地作用。
1 开发方案与设计
1.1 总体结构设计
根据嵌入式技术与人脸识别技术的特点及其在门禁系统的应用构思,本系统确定了嵌入式人脸识
别门禁系统的人脸识别子系统的设计及实现,进行图像采集、嵌入式处理和识别响应三部分来研究。
首先,通过摄像头采集图像信息;其次,从 CPU 处理速度、技术指标以及软件支持工具等方面进行选
型,采用三星公司的基于 ARM920T 内核的 S3C2440A 芯片。开发方案中操作系统采用目前最新、最稳
定的自由软件嵌入式 Linux 操作系统 Ubuntu。前端的 ARM 板实现这两项功能。最后,将人脸图片传
入后台数据库进行人脸识别,并反馈识别响应信息。人脸识别的核心部分,如从数据图片的检索、识
别等均在后台完成。其开发方案的总体结构设计图如图 1 所示。
图 1 方案总体设计结构图
1.2 内核及操作系统选择
S3C2440A 采用 ARM920T 内核,集成如下片上功能:
1)1.2V 内核,1.8V/2.5V/3.3V 储存器,3.3V 扩展 I/O,16KB~令 Cache(I—Cache)
/16KB 数据 Cache (D—Cache)
2)外部储存控制器(SDRAM 控制盒片选逻辑)
3)集成 LCD 专用 DMA 的 LCD 控制器(支持最大 4K 色 STN 和 256K 色 TFT)
4) 4 路拥有外部请求引脚的 DMA 控制器
5)IIC 总线接口(多主支持)
6) IIS 音频编解码器接口
7)AC、97 编解码器接口
8)1.0 版 SD 主接口,兼容 2.11 版 MMC 接口
9)2 路 USB 主机控制/1 路 USB 期间控制(ver1.1)
10)4 路 PWM 定时器/1 路内部定时器/看门狗定时器
11) 8 路 10 位 ADC 和触摸屏接口
12)摄像头接口(支持最大 4096x4096 的输入,2048x2048 缩放输入)作为一个基于 GNU/Linux
的平台,Ubuntu 在 Debian 基础之上, 旨在创建一个可以为桌面和服务器提供一个最新且一贯的
Linux 系统。它囊括了大量从 Debian 发行版精挑细选的软件包, 同时保留了 Debian 强大的软件包
管理系统,以便简易的安装或彻底的删除程序。注重安全性和实用性。本系统采用版本号为 Ubuntu
8.10。它具有虚拟化、完整的 Java 堆栈、增强的邮件服务器能力、改进的 RAID 支持、Uncomplicated
Firewall 防火墙更加简单、捆绑 Landscape 客户端等优势。
1.3 软件流程设计
ARM 内核和 Ubuntu 系统的选择为系统功能的实现提供了基础,系统软件则完成系统功能的控制。
系统软件的设计流程如下,首先摄像头进行监控,如果门前有移动物体,进行拍照,并依据图像的亮
度, 判断是否需要调节光线,图像处理后进行自动人脸检测识别, 如果不是没有找到匹配图像,程
序返回到摄像头监控状态, 如果找到,开启楼门; 如果没有移动物体,继续监控。若是来访者, 则
可以通过系统的其他方式,提出访问申请,如果房中有人则由房内人员控制打开大门;如果无人应答,
系统提示房中无人, 同时采集来人照片,通过邮件自动发送功能, 向指定邮箱发送邮件,并记下来
访记录。
2 人脸识别模块设计及实现
本系统最关键的实现技术就是通过进行人脸识别, 完成门禁控制。首先从静态图片或动态图像
中找到人脸, 然后确定各特征点的位置并进行特征提取,最后将人脸与数据库中所有的人脸进行比
对,并按照 fisherface 决策规则对该人脸进行判别分类。
根据输入图像的性质,人脸检测识别方法分为静止图像的静态方法和图像序列的跟踪帧方法两大
类。根据嵌入式门禁系统硬件性能等自身特点对人脸识别技术的要求,采用了第一大类的方法,从图
像序列中选择几帧质量较好的图像,然后用静止图像的人脸识别方法进行匹配。静态方法简单、快捷、
性价比高。
2.1 图像采集及预处理
通过 USB 接口的摄像头采集过数据后,采用最基本的图像增强手段对图像进行处理。图像增强就
是用一系列手段对取得的图像灰度作修正,或者对噪声作过滤,使得图像灰度与实际景物的灰度尽可
能地匹配。不能损坏图像的轮廓及边缘等重要信息,并使得图像更清晰,视觉效果更好。为了减少光
线、角度等因素的影响,采用中值滤波和直方图均衡化方法。
2.2 人脸检测定位
人脸检测是指对于任意一幅给定的静态图像或视频序列图像,采用一定的策略和方法对其进行搜
索以确定其中是否含有人脸, 如果有则返回人脸的位置、大小和姿态。从图像序列中, 自动、准确
和快速地检测人脸区域是实现系统功能的一项关键任务。
目前,人脸检测有两大类方法:一类是基于知识的人脸检测方法,一类是基于统计学习的人脸检
测方法。统计学习的方法是目前人脸检测的主流方法,通过大量的人脸和非人脸样本进行训练,得到
人脸图像和非人脸图像之间一些细微的差异。对于门禁系统而言,人脸检测目标区域背景相对比较简
单,人脸数量和大小可以控制,大大降低了人脸检测的难度。首先, 对人脸特征搜索定位;其次,
对人脸区域几何归一化处理,再次,对检测到的人脸进行特征提取。
2.3 人脸识别设计与实现
人脸识别是一种高维数、小样本数据的识别问题。对于该类问题,其难点在于训练样本的数量很
少,而以训练样本的协方差矩阵作为模式协方差矩阵的估计时,会产生以下两方面问题, 一个是会
造成较大的偏差,另一个是会使类内协方差矩阵奇异。
为了解决类内协方差矩阵奇异使得该矩阵不可逆的问题, 国内外专家们提出了许多经典算法。
本系统采用.基于结构化 fisherface 的人脸识别方法。它应用了 PCA 与 LDA 的人脸识别过程,先由
PCA 对高维数据进行降维处理,获得原样本的最优特征表示,并使样本的类内协方差矩阵非奇异,然
后作线性判别分析。在采用线性鉴别分析之前,通过事先给定的线性变换来达到降低图像向量的维数,
从而消除了类内协方差矩阵的奇异性。在很大程度上解决了外部光照干扰、面部表情变化等因素的影
响,优点是在人脸图像有光照和表情变化的情况下, 比特征脸方法的鲁棒性强。在本系统中的人员
信息采用 SQlite 数据库技术统一管理。在人脸识别的过程中需要从人员数据库中提取相应卡号和人
脸特征数据。人员数据库中存放人员的基本信息、人脸照片和人脸特征数据。其中人脸特征数据是进
行人脸识别的依据,而人脸照片只是作为显示识别结果之用,并不参与识别过程。
3 系统功能测试
人脸识别功能利用国际上常用的 ORL 的人脸数据库进行测试。ORL 数据库包括 40 个人每人的 10
幅共 400 幅图像,具有不同的光照、表情和视点。从其中选择 8 人进行训练,进行识别测试。统计结
果如表 1 所示。
实验证明该算法是一种稳定高效的算法,可以实现人脸识别技术进行门禁控制的功能。
4 结束语
嵌入式人脸识别门禁系统因其非接触式的数据采集、隐蔽性好、方便快捷、便于事后追踪及可交
互性强等优势,在当前科研及实际工程应用中成为最热门的研究主题之一。本系统就是作为鹤壁市科
技局科研课题而开发实现的。基于 ARM 技术的嵌入式人脸识别门禁系统的实用性和应用前景非常广
阔。