通用的开放式人脸识别系统的制作方法

文档序号:6582188阅读:1193来源:国知局
专利名称:通用的开放式人脸识别系统的制作方法
技术领域
本发明涉及一种通用的开放式人脸识别系统,引入数据库的支持,以通用性,开放
性和分布式为设计目标,通过各个功能模块独立或协同工作完成各种人脸识别任务,为实 用人脸识别系统的设计提供参考原型。主要应用于人脸识别系统设计,人脸识别算法研究 领域。 人脸识别研究经过40年左右的发展,在人脸检测与人脸跟踪,人脸特征点的检测
与标定,人脸特征描述与特征提取,人脸特征分类等各个领域,研究人员都展开了广泛而深
入的研究,各种理论,各种算法层出不穷,同时实用系统的开发技术上也达到了一定的成熟
度,因此从二十世纪九十年代后期开始,陆续出现了一些人脸识别商业系统。对于一个成熟
的人脸识别商业系统而言,不但需要良好硬件平台的支持,软件系统和核心算法更为重要。
同时自动人脸识别是一个复杂的过程,从视频流的采集直到最终得到的识别结果,中间需
经历许多步骤的处理,因此各个步骤间数据的表示,运算及传递显得尤为关键。 在推出商用系统之前,人脸识别系统需要进行各种深入的测试,为了保证核心识
别算法的有效性,人脸识别算法的研究者通过测试和比较来评估算法显得尤为重要,特别
是在考虑到环境光照、人脸姿态、人脸配饰、人脸表情等因素变化的情况下,快速高效的评
估人脸识别算法在静态下或实时应用下效果是非常困难的。 经对现有技术文献的检索发现,对于人脸识别算法的测试,目前大多数研究者都 是通过自己搭建测试平台来实现的。现存的通用开放式人脸识别算法测试系统很少。
美 国Colorado State University曾 开发 出Face Identification EvaluationSystem,该系统提供了四种基本人脸识别算法(Eigenfaces, Combination PCA
andU)A, Bayesian Intr即ersonal/Extr即ersoanl Image Difference Classier, Elastic
Bunch Graph Matching),并可以得至IJ标准人脸库FERET (Face RecognitionTechnology)在 上述四种算法上的测试结果,但该系统采用文本方式保存实验数据,读写效率比较低,而且 该系统扩展性很差,用户很难将自己的人脸识别算法嵌入进行测试。由美国NIST (National
Institute of Standards and Technology)主持开发的FRGC (Face Recognition Grand
Challenge)是学术界普遍使用 一套人脸识别算法评估系统(Overview of the Face
Recognition Grand Challenge, IEEEConference on Computer Vision and Pattern
Recognition 2005),该系统主要针对高分辨人脸图像、三维人脸和人脸图像预处理下人 脸识别算法的测试,用户可以方便快速的把自己的人脸识别算法嵌入评估系统进行测试, 实验数据以XML文件格式存储,加快了读写效率,但该系统只支持FRGC人脸库,不支持其 他标准人脸数据库,而且上述系统只能对image-based人脸识别算法进行测试,无法进行 video-based人脸识别算法的测试。
背景技术

发明内容
本发明的目的在于针对现有技术的不足,提出一种通用的开放式人脸识别系统, 尽可能的兼容各种人脸识别算法,能够提供同时满足前期测试和实际应用的人脸识别平 台,从而给实用人脸识别系统的设计提供参考原型。 为实现上述目的,本发明充分利用数据库在管理海量数据上的优势,通过引入数 据库支持,将人脸识别算法中相关数据抽象为数据库数据,采用模块化和层次化的设计,以 数据库为桥梁,实现人脸样本的采集,人脸识别数据的管理,人脸分类器的训练,标准人脸 库的导入,静态图片人脸识别测试,动态实时人脸识别测试,生成测试报告等一系列功能。 各个模块既可以分布的独立工作实现相应功能,又可以共同工作完成测试和实时识别等任 务。在开放的通用的框架体系下完成不同人脸识别算法在不同数据库、不同情况下的人脸 识别任务,并可为其他人脸识别实用系统的设计提供参考模型。 本发明的通用的开放式人脸识别系统包括数据库、视频采集模块、人脸样本采集 模块、标准人脸库数据导入模块、人脸分类器训练模块、动态实时人脸识别测试模块、静态 图片人脸识别模块、数据库管理模块和测试报告生成模块。 所述视频采集模块与人脸样本采集模块和动态实时人脸识别模块相连,分别将视 频流输入人脸样本采集模块和动态实时人脸识别模块; 所述人脸样本采集模块与数据库相连,将视频流中采集的数据进行人脸检测和人 脸图像标准化,并将标准化后的样本信息输入数据库; 所述标准人脸库数据导入模块与数据库相连,将从标准人脸库中读取的人脸样本 信息存入数据库; 所述人脸分类器训练模块与数据库相连,从数据库中读取人脸样本采集模块或者 标准人脸库数据导入模块输入的样本信息,进行训练,并将训练好提取出来的分类特征输 入数据库; 所述动态实时人脸识别模块与数据库相连,读取视频流的动态实时人脸图片特征 信息,再与数据库中训练好的分类特征进行匹配和识别,将识别结果存入数据库;
所述静态图片人脸识别模块与数据库相连,将读取的静态人脸图片与数据库中训 练好的分类特征进行匹配和识别,将识别结果存入数据库; 所述数据库管理模块与数据库相连,对数据库中存有的信息进行整理修改,再储 存回数据库中; 所述测试报告生成模块与数据库相连,从数据库中读取与识别结果相关的信息, 生成测试报告输出。 本发明的通用的开放式人脸识别系统具有通用性,开放性,分布式的特点,通过数 据库的支持,各个模块独立或协同的工作,完成各种人脸识别任务,从而为实时人脸识别系 统提供模型参照。 所述的通用性包括三层含义 —、尽可能的兼容了现有较流行的人脸识别算法,使之不需改造或只经过功能封 装就可嵌入本发明的系统结构中,即把不同人脸识别算法的共同属性抽象出来,通过统一 的模块或接口来实现; 二、利用本发明系统提供的平台,能够满足人脸识别算法的测试与实际应用的双重需要,即若某种人脸识别算法在测试阶段时可以达到很好的效果,则不需要改动或经过 很小的改动,便可以直接用于实际应用,这样可以縮短测试到实际应用的开发周期;
三、同时适用于基于图像的人脸识别方法(如照片相似度的比对等)和基于视频 的实时人脸识别方法(如实时的视频监控等),即提供不同的输入模式(静态图片和实时的 视频流)。 所述的开放式含义有二 —、开放性的模型,系统对人脸识别各个必要过程的各要素进行抽象;按照各个模 块的功能定义其抽象原语,而不规定各模块的实现细节; 二、开放的系统框架实现,在系统框架的实现过程中,保证了封装体系中各原语的 对象具有开放的设计;合理定义了各对象的接口 ,使之能够进行接口扩充。
所述的分布式包括两层含义 —、系统的各功能模块可以独立分布于同一硬件平台上(例如同一台PC机上或服 务器上),完成各自相对独立的功能,并可以通过协同工作,完成整个人脸识别任务;
二、系统的各功能模块可以独立分布于不同的硬件平台上(如LAN中不同PC机或 嵌入式平台,或Internet上不同的主机与终端等),以满足不同的应用需求。


图1为本发明系统结构框架图。
图2为本发明系统框架的识别流程图。
具体实施例方式
以下结合附图和具体的实施例对本发明的技术方案作进一步详细描述。 本发明开放式人脸识别系统的整体结构框架见图1。为了体现通用性,开放性和分
布式的设计目标,系统采用分布式的模块化设计,各个模块以数据库为桥梁,通过读写数据
库,实现数据交互,共同完成人脸识别任务。 如图1所示,本发明的通用的开放式人脸识别系统包括数据库、视频采集模块、人 脸样本采集模块、数据库管理模块、人脸分类器训练模块、标准人脸库数据导入模块、静态 图片人脸识别模块、动态实时人脸识别测试模块和测试报告生成模块。视频采集模块与人 脸样本采集模块和动态实时人脸识别模块相连,分别将视频流输入人脸样本采集模块和动 态实时人脸识别模块;人脸样本采集模块与数据库相连,将视频流中采集的数据输入数据 库;人脸分类器训练模块与数据库相连,从数据库中读取人脸信息,并将训练好的分类器输 入数据库;动态实时人脸识别模块和静态图片人脸识别模块与数据库相连,从数据库中读 取特征信息进行识别;标准人脸库数据导入模块与标准人脸库和数据库相连,从标准人脸 库中读取人脸,再将人脸信息存入数据库;数据库管理模块与数据库相连,读取数据库中的 信息进行整理修改工作,再储存回数据库中;测试报告生成模块与数据库相连,从数据库中 读取识别情况的相应信息整理生成测试报告输出。
当系统进行人脸样本采集时,视频采集模块将视频流传入人脸样本采集模块,该
模块进行人脸检测和人脸图像标准化过程,并将标准化后的样本信息输入数据库; 当系统进行标准人脸库导入时,标准人脸库导入模块设置部分参数后从标准人脸库中获取人脸样本,并存入数据库; 当系统进行人脸分类器训练时,人脸分类器训练模块首先设置部分与训练相关的 参数,然后从数据库中读取人脸样本采集模块或者标准人脸库导入模块输入的人脸样本信 息,进行训练,再将训练好提取出来的分类特征存入数据库; 当系统进行人脸识别时,有两种人脸图片获取方法,一种是从视频流采集视频信
息传输给动态实时人脸识别模块,在该模块中截取人脸图片,一种是从静态图片人脸识别
模块直接读取静态人脸图片。获得人脸图片之后,这两个识别模块将图片中的人脸特征信
息与数据库中分类器训练出的分类特征进行匹配和识别,将识别结果存入数据库。 数据库管理模块对数据库中所有的数据进行整理维护,最后的识别结果通过测试
报告生成模块输出。 整个系统的设计实施采用模块化,以体现如下优势一、各模块功能相对独立,可 实现分布式的设计思想;二、各模块可独立于整个系统框架之外,实现相应的功能,当单独 的模块发生改变或功能升级时,不会对其他模块及整个系统造成影响;三、各模块可独立开 发,不但便于调试,降低开发难度,同时可以协同开发,加快开发进度。
以下结合图l,对本发明各个功能模块的具体实施给予说明。 參视频采集模块该模块通过VFW(Video For Windows)与摄像头或视频采集卡通 信,实现视频流的实时采集。该模块可根据不同的摄像头或视频采集卡使用不同的视频采 集方式。该模块采集到视频信息后,将其传输到人脸样本采集模块和动态实时人脸识别模 块。本发明同时兼容现今的几种不同的主流视频采集方式,包括USB数字摄像头,PCI视频 采集卡+模拟摄像头,USB视频采集卡+模拟摄像头,PC104视频采集卡+模拟摄像头。
參人脸样本采集模块人脸识别分类器的训练需要一定数量的人脸样本图片,该模 块接收视频采集模块传入的视频信息,能够自动采集适用于人脸识别的人脸样本图片。该 模块同时具有人脸检测功能,可在每帧视频图像中检测出是否存在人脸,以及存在的人脸 数量,位置和大小。当在视频图像中检测到人脸时,该模块可以自动定位人脸的主要特征点 (如眼睛,眉毛,鼻子,嘴巴等),并根据这些特征点的位置,完成人脸图像的标准化(如旋 转,平移,剪切,縮放,预处理,蒙板等),最终得到用于训练人脸分类器的人脸样本,并将这 些样本信息存入数据库。 參标准人脸库数据导入模块标准人脸数据库中有成千上万张人脸图像,通过手工
的方式处理这些人脸图片显然不现实,因此标准人脸库数据导入模块必不可少。该模块可 将用于测试人脸识别算法性能的通用标准人脸库的数据导入数据库。 一般的标准人脸数据 库包含不同的测试集合和训练集合,每个集合中一般有数千张或数万张人脸图片,该模块 根据人脸样本的不同属性,自动的设置样本图片的属性,从而实现样本的分类,并将人脸样 本信息存入数据库。 參人脸分类器训练模块人脸识别的核心算法体现在分类器的训练,人脸分类器训
练模块可根据不同的算法设置不同的分类器参数,训练出不同人脸分类器。该模块可高效 的组织训练样本(包括人工手动选择和自动随机选择),并可以根据样本图片的属性设置 相应过滤器,选择出不同属性(如表情,年龄,光照,姿态,性别,配饰等)的人脸样本图片来 训练不同的人脸分类器,以满足人脸识别算法在表情,年龄,光照,姿态,配饰等外界因素变 化时的应用。该模块从数据库中读取人脸样本采集模块或者标准人脸库数据导入模块输入的样本信息,进行训练,通过该模块训练后提取出来的人脸分类特征自动存入台数据库。 參动态实时人脸识别模块动态实时人脸识别模块在外接的摄像头采集到的视频
流中,检测到动态实时人脸图片特征信息,得到适于测试的人脸图像样本,再与数据库中训
练好的人脸分类特征进行匹配和识别,并将识别结果存入数据库,动态实时完成人脸识别。 參静态图片人脸识别模块有些人脸识别任务,要求根据给定的静态图片判断照片
中人像的身份,静态图片人脸识别模块提供静态图片的输入接口,将读取的静态人脸图片
与数据库中训练好的分类特征进行匹配和识别,将识别结果存入数据库。
參数据库管理模块数据库的海量数据需要进行管理,通过数据库管理模块可对数
据库中各种涉及到的人脸识别数据进行管理。该模块可进行添加,删除,修改,备份等操作,
实现对数据库的人员,人脸样本图片、人脸特征、人脸分类特征等数据的维护。所有经数据
库管理模块整理修改的信息依然储存回数据库中。 參测试报告生成模块人脸识别算法需要经大量人脸样本的测试,测试报告对算法
研究者或实用系统的开发人员改进算法具有指导意义。测试报告生成模块可从数据库中读 取与识别结果相关的信息,生成测试报告输出。该模块可以根据测试结果,统计出人脸识别 算法的性能指标(如识别率,错误拒绝率,错误接受率等),并可生成相应曲线图表,以便不 同人脸识别算法的比较,从而得到相对性能更优越的识别算法,在实际系统中应用。
数据库是整个开放式人脸识别系统的中心,不但所有与人脸识别任务相关的数据 都存储于数据库中,更重要的是各功能模块之间的通信与数据交换,均通过对数据库读写 来完成,因此,数据库担当了"桥梁"的角色,把各功能模块连成一个有机的整体,协同工作 以完成人脸识别任务。涉及到人脸识别的数据包括人员信息(编号,姓名,性别,年龄等), 人脸样本图片信息(编号,路径,图片格式,图片尺寸,图片属性,如光照情况,人脸表情,人 脸姿态,人脸配饰等,图片采集时间等),人脸特征信息(编号,特征编号,图片编号,人员编 号,特征的维数,特征数据等),人脸分类器(分类特征)信息(编号,包含人数,分类器的维 数,分类器数据等),训练集信息(人员列表信息,图片列表信息等),测试集信息(人员列 表信息,图片列表信息等)。 本发明可采用Microsoft SQL Server 2000做为数据库,搭建整个开放式人脸识 别系统框架。 本发明开放式人脸识别系统的识别流程见图2。整个系统的实现大致分为如下四 层 — 、人脸样本输入层。通过动态视频或静态图片方法读入训练用人脸样本或测试 用人脸样本 二、预处理层。人脸检测,人脸特征点定位与定位及人脸图像的标准化,都归为预 处理层,视频流中每帧图像或静态人像图像经过此层后,输出为适于人脸识别的标准人脸 图像; 三、分类器训练层。分类器训练层读取训练用的样本,提取样本中分类能力较强的 特征。 四、识别与测试层。该层实现识别与测试任务,当测试样本进入,读取分类器训练 层训练出的特征,通过特征匹配输出识别结果; 五、结果分析与输出层。该层完成人脸识别任务的最后一步,对上一层识别与测试的结果进行分析,生成识别结果或测试报告等。 每帧视频流的图像或静态图片经过上述五层或其中的几层,最终将完成人脸识别 任务。
权利要求
一种通用的开放式人脸识别系统,其特征在于包括数据库、视频采集模块、人脸样本采集模块、标准人脸库数据导入模块、人脸分类器训练模块、动态实时人脸识别测试模块、静态图片人脸识别模块、数据库管理模块和测试报告生成模块;所述视频采集模块与人脸样本采集模块和动态实时人脸识别模块相连,分别将视频流输入人脸样本采集模块和动态实时人脸识别模块;所述人脸样本采集模块与数据库相连,将视频流中采集的数据进行人脸检测和人脸图像标准化,并将标准化后的样本信息输入数据库;所述标准人脸库数据导入模块与数据库相连,将从标准人脸库中读取的人脸样本信息存入数据库;所述人脸分类器训练模块与数据库相连,从数据库中读取人脸样本采集模块或者标准人脸库数据导入模块输入的样本信息,进行训练,并将训练好提取出来的分类特征输入数据库;所述动态实时人脸识别模块与数据库相连,读取视频流的动态实时人脸图片特征信息,再与数据库中训练好的分类特征进行匹配和识别,将识别结果存入数据库;所述静态图片人脸识别模块与数据库相连,将读取的静态人脸图片与数据库中训练好的分类特征进行匹配和识别,将识别结果存入数据库;所述数据库管理模块与数据库相连,对数据库中存有的信息进行整理修改,再储存回数据库中;所述测试报告生成模块与数据库相连,从数据库中读取与识别结果相关的信息,生成测试报告输出。
全文摘要
本发明涉及一种通用的开放式人脸识别系统,通过引入后台数据库支持,将人脸识别算法中相关数据抽象为数据库数据,采用模块化和层次化的设计,以后台数据库为桥梁,实现人脸样本的采集,人脸识别数据的管理,人脸分类器的训练,标准人脸库的导入,静态图片人脸识别测试,动态实时人脸识别测试,生成测试报告等一系列功能。各个模块既可以分布的独立工作实现相应功能,又可以共同工作完成测试和实时识别等任务。在开放的通用的框架体系下完成不同人脸识别算法在不同数据库、不同情况下的人脸识别任务,并可为其他人脸识别实用系统的设计提供参考模型。
文档编号G06K9/00GK101706872SQ20091019935
公开日2010年5月12日 申请日期2009年11月26日 优先权日2009年11月26日
发明者张凯, 戴景文, 苏剑波 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1