(1)人脸模板数据库:包含人脸原始图片,以及从原始图片训练提取出的人脸特征。图片处理及特征提取与图2 所示的相应部分步骤一致。
(2)门禁记录数据库:智能身份识别系统记录RFID 卡内用户ID,用户姓名,刷卡时间,是否通过门禁系统,持卡人人脸图片。持卡人人脸图片以JPEG 文件形式保存,其他信息均保存在数据库中。
(3)转发服务器:负责监控信息与手机间的信息传递。对用户透明,负责将拍摄端的图像数据转发至相应的手机端。为了供不同网络的用户访问,在教育网和电信分别放置两台相同的服务器。
2.3.4 监控信息管理及查询子系统
监控信息管理及查询子系统与监控信息存储子系统通过数据库相连。系统支持的查询条件有:
(1)按照时间查询:查询输入时间段(精确到分钟),系统返回此时间段内的身边识别信息。
(2)按照用户ID 查询:输入特定用户ID,系统返回此ID对应的所有通过门禁系统信息。
(3)按照记录内容查询:可查看所有通过门禁系统的记录。
3 关键技术
3.1 RFID数据处理
RFID解读器的RS232接口与外部计算机连接,进行数据交换。计算机通过串口去读RFID解读器内的信息,计算机与RFID解读器通信流程如图3所示。
3.2 人脸检测
为了提高人脸检测的速度,系统先使用肤色检测来确定人脸所在大致区域,快速丢弃大部分的背景区域,从而缩小Adaboost算法的搜索范围。下面分别说明肤色检测和Adaboost 算法。
3.2.1 肤色检测
针对彩色图像的人脸检测,人脸肤色检测重要且简单有效。基于肤色的人脸检测方法利用图像的彩色信息在一定的色彩空间内构造肤色模型。选择YCbCr 作为肤色分布统计的映射空间。该空间的优点是可以将亮度和色度分开单独处理,实现亮度和色度分量比较彻底的分离,能较好地限制肤色分布区域,肤色点能够形成较好聚类。
3.2.2 Adaboost 算法
使用类Haar 特征和Adaboost 算法设计并实现了视频实时人脸检测子系统。下面分别就类Haar 特征和Adaboost 算法分别进行说明。
类Haar 特征是一类简单特征。选择特征而不是像素本身进行分类运算有以下几个好处:一是特征包含了局部整体信息可以将分类空间降维;另外使用基于特征的运算在速度上远远优于基于像素的运算。
Boosting 是一种分类器融合算法。Adaboost 学习算法原本是用来提高某种简单分类算法的性能的。它通过对一些弱的分类器的组合来形成一个强的分类器。在Adaboost 算法中,简单的分类算法被称为弱学习算法。Adaboost 算法通过一个迭代的训练过程来得到一个强的分类器。在第一次训练出一个弱分类器后,训练样本的权重得到调整,从而使被第一次训练出的弱分类器错误分类的样本的权重增加。如此迭代下去,最终得到的分类器是对每次训练得到的弱分类器的一个线性组合。Viola和Jones 提出了一种基于Adaboost 和快速特征提取的正面实时人脸检测算法。他们的算法在个人计算机上达到了15 帧/s的速度[1]。
3.3 人脸验证
人脸识别的算法大致可分为两类:基于统计的方法和基于几何的方法。当应用统计方法解决人脸识别问题时,一再碰到的一个问题是维数问题。通常将一幅包含n×m 像素的图像看作是n×m 维空间里的一个点,在如此高维的空间里找出一个快速而且鲁棒的识别算法是不可行的。因此降低维数也即抽取人脸特征成为解决处理问题的关键。
采用线性判别分析(Fisher 线性判别)的方法来降低样本的维数。Fisher 准则函数就是为了发现这样的投影空间,使得样本类间离散度和样本类内离散度的比值最大。简而言之,就是在这样的投影方向,同一个类的样本聚集在一起,而不同类的样本相对分散。但是在应用LDA 的人脸识别问题中,一个经常遇到的问题是,样本类内离散度矩阵Sw通常是奇异的,使得问题不可求解。其原因在于一幅图像包含的像素往往大大超过训练集中的图像个数,也即小样本集合问题。为了解决这个问题,在LDA 算法基础之上需做两处改进:第一是限制样本类内离散度为零;第二是在此前提下,寻找使得样本类间离散度最大的投影方向。
4 系统实现
4.1 系统线程控制
本系统采用多线程编程方式,充分利用高性能计算机的软硬件资源,提高运行效率。分为身份识别主线程、RFID检测线程、视频图像中人脸检测线程。下面就以一次完整地人脸验证操作为例,来分析系统流程控制,如图4 所示。
【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!
网友评论
共有0条评论 点击查看全部>>24小时阅读排行
本周阅读排行