著录项信息
专利名称 | 一种基于智能卡的人脸识别系统及其方法 |
申请号 | CN200910196047.9 | 申请日期 | 2009-09-22 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2010-03-03 | 公开/公告号 | CN101661557 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06K9/00 | IPC分类号 | G;0;6;K;9;/;0;0;;;G;0;6;K;1;9;/;0;7;;;A;6;1;B;5;/;1;1;7查看分类表>
|
申请人 | 中国科学院上海应用物理研究所 | 申请人地址 | 上海市嘉定区嘉罗公路2019号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院上海应用物理研究所 | 当前权利人 | 中国科学院上海应用物理研究所 |
发明人 | 敖新宇;李勇平;鲍强 |
代理机构 | 上海智信专利代理有限公司 | 代理人 | 邓琪 |
摘要
本发明揭示了一种基于智能卡的人脸识别方法,包括:获取和传送人脸数据;对人脸数据进行质量判断;对质量合格的人脸数据进行亮度调整;提取人脸特征,并通过加密的方式传输至智能卡;以及进行人脸图像比对,并确定是否通过身份验证。本发明还揭示了一种人脸识别系统,包括:人脸检测模块、数据安全通讯模块、人脸图像质量判断模块、人脸图像亮度调整模块、人脸特征提取模块以及人脸验证模块。采用本发明的系统和方法,排除了由于姿态偏差所带来的识别效果降低,极大地提升了识别率。此外,在进行人脸图像比对时,人脸图像数据经过压缩后的写入速度,读取和运算速度也较快,满足各种实时的应用条件的需求。
1.一种基于智能卡的人脸识别方法,其特征在于,该方法包括:
获取人脸数据,并将所述人脸数据传送至上位机;
所述上位机对所述人脸数据进行质量判断,如果质量合格,则进入步骤b,如果质量不合格,则进入步骤a;
步骤a:给出相应的姿态调整指令,并重新获取人脸数据直到所获取的人脸数据的质量合格为止,然后进入步骤b;
步骤b:对所述人脸数据的亮度信息进行估计,并基于与注册样本中的亮度信息进行比较的结果来判断是否需要调整亮度;
从无需调整亮度或亮度调整后的人脸数据中提取人脸特征,并通过加密的方式传输至所述智能卡;以及
在所述智能卡上将对应于所述人脸特征的人脸模板数据与先前注册的人脸数据进行比对,根据比对结果来确定是否通过身份验证。
2.如权利要求1所述的方法,其特征在于,所述智能卡加载和运行Java程序。
3.如权利要求1所述的方法,其特征在于,判断所述人脸数据的质量合格或者不合格是基于人眼位置来判断人脸是否有歪头或者侧脸行为,以及基于鼻孔位置的亮度值来判断是否有仰头或者低头行为。
4.如权利要求1所述的方法,其特征在于,对所述人脸数据的质量判断步骤还包括:
从所述人脸数据中获取两只眼睛的具体位置,并根据眼睛的位置坐标来判断人脸是否有歪头或者侧脸的行为发生,如果有,则所述人脸数据的质量不合格;如果没有,从所述人脸数据中找到鼻尖位置,根据鼻尖位置来获取两只鼻孔的位置,如果鼻孔位置的亮度值正常,则所述人脸数据的质量合格;如果鼻孔位置的亮度值不正常,则所述人脸数据的质量不合格。
5.如权利要求4所述的方法,其特征在于,对于嵌入式的人脸应用,根据人脸上半部分中的眉毛和眼睛的特征来确定眼睛的位置。
6.如权利要求5所述的方法,其特征在于,眼睛的位置是人脸上半部分的两个肤色深度下降中之一所对应的位置。
7.如权利要求4至6中任意一项所述的方法,其特征在于,根据已经找出的人眼位置,获取所述人眼位置下方的图像数据,再通过一阶差分滤波器得到亮度值的高亮位置,基于人眼位置和鼻尖位置的几何关系来确定鼻尖位置。
8.如权利要求7所述的方法,其特征在于,根据已经找出的鼻尖位置,获得一矩形,该矩形以鼻尖位置为中心点、以鼻尖位置到两眼中心位置之间的距离为长度以及以长度的二分之一作为宽度。
9.如权利要求1所述的方法,其特征在于,如果所述人脸数据的亮度与注册样本中的亮度之间的差值小于注册样本亮度的5%,则不对人脸数据的亮度进行调整;如果所述人脸数据的亮度与注册样本中的亮度之间的差值大于注册样本亮度的5%,将人脸数据转化为均值为零的图像,根据直方图的均衡化算法来调整各像素点的灰度值,然后,与上述亮度差值相加并根据直方图均衡化算法来调整图像的像素值,以得到调整后的人脸数据。
10.如权利要求1所述的方法,其特征在于,确定是否通过身份验证的步骤为:如果投影矩阵生成的数值小于预定阈值,则身份验证成功;如果投影矩阵生成的数值大于预定阈值,则身份验证失败,其中,所述投影矩阵是根据注册者本身自有的特征来构建的,以将原来的人脸向量投影到压缩空间中。
11.一种基于智能卡的人脸识别系统,其特征在于,所述系统包括:
人脸检测模块,用于从摄像头中定位出人脸在图像中的位置,并且将人脸的位置信息返回;
数据安全通讯模块,用于对上位机和智能卡之间传送的数据进行加密和解密;
人脸图像质量判断模块,用于判断被捕获的人脸数据质量是否达到系统的预定标准,若达到预定标准,则将所述人脸数据传输至人脸图像亮度调整模块,否则,向所述人脸检测模块输出相应的姿态调整指令,以使其重新获取人脸数据;
所述人脸图像亮度调整模块,用于在人脸数据质量达到预定标准后,判断人脸数据的亮度是否与注册样本的亮度类似,并根据比较结果来确定是否进行亮度调整;
人脸特征提取模块,用于从无需调整亮度或亮度调整后的人脸数据中获得对应的人脸模板数据,并进行压缩处理;以及
人脸验证模块,用于在智能卡上将对应于所述人脸特征的人脸模板数据与先前注册的人脸数据进行人脸比对,以验证人脸数据是否属于同一个人。
12.如权利要求11所述的系统,其特征在于,所述智能卡加载和运行Java程序。
13.如权利要求11所述的系统,其特征在于,判断人脸数据质量是否达到系统的预定标准是基于人眼位置来判断人脸是否有歪头或者侧脸行为,以及基于鼻孔位置的亮度值来判断是否有仰头或者低头行为。
14.如权利要求11所述的系统,其特征在于,所述人脸图像质量判断模块还包括人眼检测模块、鼻尖检测模块和鼻孔检测模块。
15.如权利要求14所述的系统,其特征在于,人眼检测模块用于确定被检测的人脸数据中人眼的位置。
16.如权利要求15所述的系统,其特征在于,人眼的位置是人脸上半部分的两个肤色深度下降中之一所对应的位置,并且人眼位置具有左右对称的两个点。
17.如权利要求14所述的系统,其特征在于,鼻尖检测模块用于确定被检测的人脸数据中鼻尖的位置。
18.如权利要求17所述的系统,其特征在于,根据已经找出的人眼位置,获取该人眼位置下方的人脸数据,通过一阶差分滤波器来获得亮度值的高亮位置,并且利用人眼和鼻尖位置的几何关系来确定鼻尖位置。
19.如权利要求18所述的系统,其特征在于,鼻孔检测模块用于确定被检测的人脸数据中鼻孔的位置,其中,根据已经找出的鼻尖位置,获得一矩形,该矩形以鼻尖为中心点,以鼻尖到两眼中心位置为长度,并且宽度为长度的二分之一。
20.如权利要求19所述的系统,其特征在于,在该矩形内使用一阶差分滤波器来获得鼻孔位置,并且鼻孔位置左右对称。
21.如权利要求11所述的系统,其特征在于,人脸图像亮度调整模块还用于判断如果所述人脸数据的亮度与注册样本中的亮度之间的差值小于注册样本亮度的5%,则不对人脸数据的亮度进行调整;如果所述人脸数据的亮度与注册样本中的亮度之间的差值大于注册样本亮度的5%,将人脸数据转化为均值为零的图像,根据直方图的均衡化算法来调整各像素点的灰度值, 然后,与上述亮度差值相加并根据直方图均衡化算法来调整图像的像素值,以得到调整后的人脸数据。
一种基于智能卡的人脸识别系统及其方法\n技术领域\n[0001] 本发明涉及一种人脸识别系统及其方法,尤其涉及使用智能卡进行人脸识别的系统。\n背景技术\n[0002] 在当前的信息化时代,人际交互过程中的信息量越来越大,信息交互次数也越来越频繁。人们在交互信息的过程中,身份认证是必不可少的步骤。众所周知,个人身份一般可以通过其自身所持有的有效证件来加以证明,例如,居民身份证、社会保障卡、工作证等等。然而,由于伪造、冒用证件的犯罪活动日益猖獗,人们对证件的防伪要求越来越高,传统的证件制造技术已经远远不能满足社会发展的需要。而且,防伪要求的提高有时还伴随着伪造技术的改进。\n[0003] 近年来,随着电子信息技术的发展,研制了多种电子证件以打击证件的伪造行为。\n这里,电子证件是集传统的证件防伪技术、现代信息技术和加密技术于一体的新一代证件,如国际民航组织颁布的电子护照。在电子证件内部,智能卡的使用是一个关键因素。例如,智能卡具有很多的优越性,诸如防磁、防静电、抗破坏性强,并且耐用、防伪性高、数据存储的安全性高、数据存储量大。\n[0004] 然而,在诸如电子护照的应用中,由于智能卡的有限计算资源和安全性方面的原因,人脸识别效果并不是非常理想。如何平衡影响人脸识别的多种因素,并将用于人脸识别的数据以简洁的方式表现出来,这是人脸识别技术需要进一步改进的课题。\n发明内容\n[0005] 针对现有技术中人脸识别技术所存在的上述缺陷,本发明提供了一种基于智能卡的人脸识别系统和识别方法。采用该人脸识别系统和方法,不仅智能卡上的计算量和特征模板的体积较少,而且识别率高,识别速度快。\n[0006] 根据本发明的一个方面,提供了一种基于智能卡的人脸识别方法,该方法包括:\n[0007] 获取人脸数据,并将人脸数据传送至上位机;\n[0008] 上位机对人脸数据进行质量判断,如果质量合格,则进入步骤b,如果质量不合格,则进入步骤a;\n[0009] 步骤a:给出相应的姿态调整指令,并重新获取人脸数据直到所获取的人脸数据质量合格为止,然后进入步骤b;\n[0010] 步骤b:对人脸数据的亮度信息进行估计,并基于与注册样本中的亮度信息进行比较的结果来判断是否需要调整亮度;\n[0011] 从无需调整亮度或亮度调整后的人脸数据中提取人脸特征,并通过加密的方式传输至智能卡;以及\n[0012] 在智能卡上将对应于人脸特征的人脸模板数据与先前注册的人脸数据进行比对,根据比对结果来确定是否通过身份验证。\n[0013] 优选地,智能卡加载和运行Java程序。\n[0014] 优选地,判断人脸数据的质量合格或者不合格是基于人眼位置来判断人脸是否有歪头或者侧脸行为,以及基于鼻孔位置的亮度值来判断是否有仰头或者低头行为。\n[0015] 优选地,对人脸图像的质量判断步骤还包括:从人脸数据中获取两只眼睛的具体位置,并根据眼睛的位置坐标来判断人脸是否有歪头或者侧脸的行为发生,如果有,则人脸数据的质量不合格;如果没有,从人脸数据中找到鼻尖位置,根据鼻尖位置来获取两只鼻孔的位置,如果鼻孔位置的亮度值正常,则人脸数据的质量合格;如果鼻孔位置的亮度值不正常,则人脸数据的质量不合格。\n[0016] 优选地,对于嵌入式的人脸应用,根据人脸上半部分中的眉毛和眼睛的特征来确定眼睛的位置。更为具体地,眼睛的位置是人脸上半部分的两个肤色深度下降中之一所对应的位置。\n[0017] 优选地,根据已经找出的人眼位置,获取所述人眼位置下方的图像数据,再通过一阶差分滤波器得到亮度值的高亮位置,基于人眼位置和鼻尖位置的几何关系来确定鼻尖位置。并且,根据已经找出的鼻尖位置,获得一矩形,该矩形以鼻尖位置为中心点、以鼻尖位置到两眼中心位置之间的距离为长度以及以长度的二分之一作为宽度。\n[0018] 优选地,如果人脸数据的亮度与注册样本中的亮度之间的差值小于注册样本亮度的5%,则不对人脸数据的亮度进行调整;如果人脸数据的亮度与注册样本中的亮度之间的差值大于注册样本亮度的5%,将人脸数据转化为均值为零的图像,根据直方图的均衡化算法来调整各像素点的灰度值,然后,与上述亮度差值相加并根据直方图均衡化算法来调整图像的像素值,以得到调整后的人脸数据。\n[0019] 优选地,确定是否通过身份验证的步骤为:如果投影矩阵生成的数值小于预定阈值,则身份验证成功;如果投影矩阵生成的数值大于预定阈值,则身份验证失败。其中,投影矩阵是根据注册者本身自有的特征来构建的,以将原来的人脸向量投影到压缩空间中。\n[0020] 根据本发明的又一个方面,提供了一种基于智能卡的人脸识别系统,包括:\n[0021] 人脸检测模块,用于从摄像头中定位出人脸在图像中的位置,并且将人脸的位置信息返回;\n[0022] 数据安全通讯模块,用于对上位机和智能卡之间传送的数据进行加密和解密;\n[0023] 人脸图像质量判断模块,用于判断被捕获的人脸数据质量是否达到系统的预定标准;\n[0024] 人脸图像亮度调整模块,用于在人脸图像质量达到预定标准后,判断人脸图像的亮度是否与注册样本的亮度类似,并根据比较结果来确定是否进行亮度调整;\n[0025] 人脸特征提取模块,用于从无需调整亮度或亮度调整后的人脸图像中获得对应的人脸模板数据,并进行压缩处理;以及\n[0026] 人脸验证模块,用于在智能卡上将对应于人脸特征的人脸模板数据与先前注册的人脸数据进行人脸比对,以验证人脸数据是否属于同一个人。\n[0027] 优选地,智能卡加载和运行Java程序。\n[0028] 优选地,判断人脸数据质量是否达到系统的预定标准是基于人眼位置来判断人脸是否有歪头或者侧脸行为,以及基于鼻孔位置的亮度值来判断是否有仰头或者低头行为。\n[0029] 优选地,人脸图像质量判断模块还包括人眼检测模块、鼻尖检测模块和鼻孔检测模块。其中,人眼检测模块用于确定被检测的人脸图像中人眼的位置。进一步,人眼的位置是人脸上半部分的两个肤色深度下降中之一所对应的位置,并且人眼位置具有左右对称的两个点;其中,鼻尖检测模块用于确定被检测的人脸图像中鼻尖的位置。进一步,根据已经找出的人眼位置,获取该人眼位置下方的人脸图像,通过一阶差分滤波器来获得亮度值的高亮位置,并且利用人眼和鼻尖位置的几何关系来确定鼻尖位置;其中,鼻孔检测模块用于确定被检测的人脸图像中鼻孔的位置,即,根据已经找出的鼻尖位置,获得一矩形,该矩形以鼻尖为中心点,以鼻尖到两眼中心位置为长度,并且宽度为长度的二分之一。此外,在该矩形内使用一阶差分滤波器来获得鼻孔位置,并且鼻孔位置左右对称。\n[0030] 优选地,人脸图像亮度调整模块还用于判断如果人脸图像的亮度与注册样本中的亮度之间的差值小于注册样本亮度的5%,则不对人脸图像的亮度进行调整;如果人脸图像的亮度与注册样本中的亮度之间的差值大于注册样本亮度的5%,将人脸图像转化为均值为零的图像,根据直方图的均衡化算法来调整各像素点的灰度值,然后,与上述亮度差值相加并根据直方图均衡化算法来调整图像的像素值,以得到调整后的人脸图像。\n[0031] 采用本发明的人脸识别系统和方法,因为在识别之前对所捕获的图像做了质量分析,排除了由于姿态偏差所带来的识别效果降低,从而极大地提升了识别率。此外,在智能卡上进行人脸图像比对时,人脸图像数据的写入速度远远高于EEPROM中存储的数据,同时读取和运算速度也相对较快。\n附图说明\n[0032] 读者在参照附图阅读了本发明的具体实施方式以后,将会更清楚地了解本发明的各个方面。其中,\n[0033] 图1A示出了现有技术中常用的生物特征识别技术多方面性能的比较示意图;\n[0034] 图1B示出了基于MRTD(Machine Readable Travel Document:机可读文档搜索)系统的常用生物特征识别技术的兼容性的对比框图;\n[0035] 图2示出了采用人脸识别技术的硬件系统的工作原理示意图;\n[0036] 图3示出了依据本发明的一个方面的人脸识别方法的流程示意图;\n[0037] 图4示出了依据本发明的一个方面的人脸识别系统的结构框图;以及[0038] 图5示出了图4所示的人脸识别系统中人脸图像质量判断模块的结构示意图。\n具体实施方式\n[0039] 下面参照附图,对本发明的具体实施方式作进一步的详细描述。\n[0040] 在下文中,本领域的普通技术人员应当理解,术语“人脸图像”、“人脸数据”和“人脸图像数据”表示相同的意思,也就是说,从模拟/数字摄像头所捕获的人脸图像经过处理后,将对应于人脸图像的人脸数据传输至上位机中进行后续的处理。类似地,“眼睛的位置”和“人眼位置”也表示相同的意思,而且本领域的普通技术人员应当理解,“人眼位置”和“鼻孔位置”是指左右对称的两个位置中的任意一个位置。\n[0041] 首先,在展开具体描述之前,如前所述,本发明揭示了一种基于智能卡的人脸识别系统,在该人脸识别系统中,将捕获的人脸图像所对应的人脸数据在卡上与先前注册的人脸数据进行比对,通过设定适当的阈值来判断验证成功与失败。那么,针对智能卡上的特征比对,人脸图像作为生物特征的比对目标的兼容性如何呢?我们可以通过图1A中的性能比较予以说明。\n[0042] 图1A示出了现有技术中常用的生物特征识别技术多方面性能的比较示意图。需要了解的是,生物特征指人的个体发育和特定环境交互下所形成的一种长时间内稳定的生理特征,它因人而异。由于生物特征是个人身份的生物学基础,所以采用生物特征来识别个人身份,比通过有效证件和密码来认证身份要安全得多。参照图1A,示出了常用的几种生物特征在侵犯性(Intrusiveness)、精确性(Accuracy)、系统成本(Cost)和采集难度(Effort)等方面的性能比较。从图中可以看出,从侵犯性、精确性、系统成本和采集难度上综合考虑,人脸作为生物特征来进行身份识别是最合适的。此外,图1B示出了基于MRTD系统的常用生物特征识别技术的兼容性的对比框图,从图中的直方图可以清楚看出,人脸识别的兼容性最好,指纹识别和虹膜识别的兼容性次之,声音、手型和签名识别的兼容性相对较差。由此可知,将人脸作为智能卡上比对的生物特征模板,可以提高识别的准确率。\n[0043] 图2示出了采用人脸识别技术的硬件系统的工作原理示意图。如图2所示,该硬件系统包括摄像头、上位机、读卡机和语音系统等。其中,上位机是标准的台式机;摄像头可以是模拟摄像头,也可以是数字摄像头,并且应当保证采集的人脸图像达到标准的100像素*80像素。首先,检测系统摄像机的视场和色度是否正常,在当前系统摄像机的视野中进行人脸检测,并锁定系统认定的人脸矩形框,将该结果在上位机上复现出来。接着,将人脸识别数据送入智能卡进行比对。最后,上位机接收到来自智能卡的比对结果后,通过语音系统提出人脸识别是否通过认证。\n[0044] 本领域的普通技术人员应当理解,包括人脸识别的所有生物特征识别技术必须在智能卡上实现两个基本的功能,即,生物特征的卡上注册以及卡上比对。在下文中,我们首先简要介绍一下人脸识别信息的注册和比对。\n[0045] (1)注册\n[0046] 我们不妨将卡上程序命名为MOC。注册是将用户的生物特征识别信息存储在卡片T\n上。这里需要存储的数据包括:浮点类型的向量σ58×1、q58×1和浮点数tc。我们在卡上用T\n长度为58的SoftFloxt32类型数组x表示σn×1,用长度为58的SoftFloxt32类型数组q表示q58×1,用SoftFloxt32类型的数t表示tc。其中,SoftFloxt32是在Java卡上实现的一种数据类型。\n[0047] 更为详细地,在MOC.install()(MOC是Java卡中的一个类)中用关键字new申请x、b、t的存储空间。这样申请的存储空间位于卡上的EEPROM中,即使在卡片掉电的时候,EEPROM中的数据也不会消失,从而可以保存用户的生物特征信息。\n[0048] 此外,在MOC.process()中设计实现命令APDU:SetX、SetQ和SetT分别用于设置x、q、t的数据。x和q各包含58个SoftFloxt32类型的引用,每个SoftFloxt32的数用4个byte表示,因此SetX和SetQ在数据域中共需要发送4×58=232个byte的数据,一个命令APDU最多可包含256个数据,因此x、q、t的设置各需一条命令APDU。\n[0049] (2)比对\n[0050] 比对是将现场采集的生物特征信息经过预处理,然后传送到卡片上,并执行特征卡上比对的过程。\n[0051] 这里,需要一个数组用于保存预处理后的特征信息p58×1。对于每一次比对来讲,p58×1是不同的,因而也不需要在掉电的时候保存数据例如,智能卡上的数据类型可以实例化为各种具体的数据类型,如boolean型、byte型和short型等等。\n[0052] 在MOC.install()中保存p58×1。同时在MOC.process()中设计实现命令APDU:\nSetP,用于设置p58×1。最后在MOC.process()中设计命令APDU:MATCH,用于进行卡上比对。\nT\n在处理MATCH请求的方法中进行比对运算,即dc=|x(p-q)|,然后将计算结果与t比较,并给出最终的结果。\n[0053] 以上描述了智能卡上识别信息的注册和比对的示意性说明。在下文中,我们将详细描述本发明基于智能卡的人脸识别方法及其系统。图3示出了依据本发明的一个方面的人脸识别方法的流程示意图。该方法包括:\n[0054] 步骤300,提取和传送人脸数据。从系统摄像机的视野中进行人脸检测,锁定人脸矩形框,并将人脸数据传输到与读卡机相连的上位机上;\n[0055] 步骤302,人脸图像质量判断。上位机对人脸数据的质量做初步的分析判断,如果图像质量没有达到标准,转到步骤306;如果图像质量达到标准,转到步骤304;\n[0056] 步骤304,对人脸图像进行亮度调整。在图像质量合格后,对采集的人脸图像作出亮度估计,将估计结果与卡上注册的特征模板的亮度进行对比,如果亮度差别大于5%,进行亮度纠正;如果亮度差别小于5%,则不对亮度进行调整;\n[0057] 步骤306,给出姿态调整建议。如果图像质量不合格,根据判断不合格的具体内容,对被测试人做出相应的姿态调整建议,并重新采集人脸数据;\n[0058] 步骤308,提取人脸特征。在完成步骤304后,提取人脸特征;\n[0059] 步骤310,加密并下载到智能卡上。将步骤308中提取的人脸特征通过公钥系统进行加密操作,并将加密后的数据下载到智能卡,通过注册者本身自有的特征来构建对应的投影矩阵,从而将原来的人脸向量投影到压缩空间中,以压缩原来的特征向量的大小,由原来几千维的特征向量变为几十维,此外,将用于识别的阈值内化在该特征向量中;以及[0060] 步骤312,人脸图像对比。在智能卡上进行相应的人脸图像对比,并将对比产生的数值与对应的阈值作比较,如果小于阈值,则通过认证;如果大于阈值,则认证失败并报警。\n[0061] 其中,步骤300还包括:从人脸图像中获取两个眼睛的具体位置,并根据两个眼睛的位置坐标来判断人脸是否有歪头或侧脸的行为发生,如果发生,则转到步骤306,如果没有发生,则从人脸图像中,找到鼻尖位置,并根据鼻尖位置获取两个鼻孔的位置,通过鼻孔位置的亮度值来判断是否有仰头行为发生,如果发生但亮度值正常,则判断该人脸图像的质量合格,如果发生但亮度值不在正常范围内,则转到步骤306。\n[0062] 进一步来说,对于嵌入式的人脸应用,如果背景单纯,可以根据人脸上半部分中的眉毛和眼睛的特征来确定眼睛的位置,即,人脸上半部分存在有两个肤色深度下降,第二个肤色深度下降就是人眼的位置,并且这个位置有左右对称的两个点,通过一个二阶中值序列滤波器可以实现人眼的定位。\n[0063] 进一步来说,根据已经找出的人眼位置,来获取人眼位置以下的图像数据,并通过一阶差分滤波器来获得亮度值中的高亮位置,同时,基于人眼和鼻尖位置的几何关系来确认鼻尖位置的合理性;接下来,根据找出的鼻尖位置,来获取以鼻尖为中心点、长度为鼻尖到两眼中心位置、宽度为长度一半的矩形框,在该矩形框内使用一阶差分滤波器来获得对应的位置,并用两个位置的左右对称性来进行验证。\n[0064] 其中,步骤302中涉及的人脸图像质量是指被捕获的人脸图像的头部位置和脸部表情在人脸图像中的状态,这种状态最好与人脸注册时的状态一致。一般地,在人脸注册时,头的姿势要端正,表情中性。这里,人脸图像质量判断就是基于此来判定人的眼睛、鼻尖和鼻孔的位置在人脸中的位置和相对的几何关系。\n[0065] 其中,对于步骤304中需要进行亮度调整的情形,首先将人脸图像转化成均值为0的图像,然后根据直方图的均衡化算法来调整各像素点的灰度值,在调整后,加上与特征模板亮度的差值,最后,再根据直方图均衡化算法来调整图像的像素值。\n[0066] 还需要说明的是,在智能卡上进行人脸比对操作时,涉及到浮点数的运算。为此,本发明的人脸识别方法在满足速度要求的前提下,特征向量在传输至智能卡之前已经被定点化(定点化算法可以参考IEEE-754标准),并仅仅只用两个字节来表征这些数据。兼顾到阈值比对的精度要求,优选地可以将定点化的精度设置为0.01。\n[0067] 以上,详细地描述了本发明中使用智能卡来实现人脸识别方法的示意性流程。图\n4示出了依据本发明的一个方面的人脸识别系统的结构框图。本领域的普通技术人员应当理解,图4中的人脸识别系统实现图3所示的人脸识别方法,然而,本发明的人脸识别系统并不局限于图4中已经示出的结构,例如,它还可以包括图4中没有示出的其它结构。\n[0068] 参照图4,该人脸识别系统包括:人脸检测模块400、数据安全通讯模块402、人脸图像质量判断模块404、人脸图像亮度调整模块406、人脸特征提取模块408以及人脸验证模块410。其中,人脸图像质量判断模块404还包括人眼检测模块、鼻尖检测模块和鼻孔检测模块。以下对上述各模块的实现功能逐一进行说明。\n[0069] 人脸检测模块400,用于从模拟/数字摄像头中,定位出人脸在图像中的位置,并将位置信息返回。模拟/数字摄像头与上位机相连。在采集人脸图像之前,首先检测系统摄像头的视场和色度是否正常,然后在当前摄像头的视野中进行人脸检测,锁定系统认定的人脸矩形框。\n[0070] 数据安全通讯模块402,用于对上位机和智能卡之间传送的数据进行加密和解密,保证人脸识别过程中数据的安全性。\n[0071] 人脸图像质量判断模块404,用于判断被捕获的人脸图像质量是否达到系统预订的标准。这主要通过人眼位置检测、鼻尖位置检测和鼻孔位置检测以及它们的几何关系来判断。\n[0072] 人脸图像亮度调整模块406,在人脸图像质量合格后,判断人脸图像的亮度是否与特征模板上类似,并根据比较结果来进行相应的调整。例如,当人脸图像的亮度与相应的生物证照中的人脸亮度之间的差值小于原亮度值的5%,则无须做任何亮度调整。\n[0073] 人脸特征提取模块408,用于从人脸图像中获得对应的人脸模板数据,并进行压缩处理。优选地,通过生物证照注册者本身自有的特征来构建对应的投影矩阵,将原来的人脸向量投影到压缩空间中,压缩原来的特征向量的大小。\n[0074] 最后,人脸验证模块410,用于将来自摄像头的人脸图像与模板中的人脸图像在智能卡上进行人脸比对,以验证人脸数据是否属于同一个人。具体地,可以通过所创建的投影矩阵得到一个相似值,并与预定阈值进行比较,如果小于预定阈值,则认证通过;如果大于预定阈值,则认证失败。\n[0075] 在上述的人脸识别系统中,人脸图像质量判断模块在判定人脸图像质量是否合适时至关重要。因此,有必要对于人脸图像质量判断模块中的各检测模块进行具体描述。图\n5示出了图4中人脸识别系统的人脸图像质量判断模块的结构示意图。参照图5,人脸图像质量判断模块404包括人眼检测模块4042、鼻尖检测模块4044和鼻孔检测模块4046。其中,人眼检测模块4042用于判断被检测的人脸图像中人眼的具体位置。例如,在嵌入式应用中,假设背景单纯,根据人脸上半部分中的眉毛和眼睛的特征来确定眼睛的位置。这是因为人脸上半部分存在两个肤色深度下降,而第二个深度下降所对应的就是人眼的位置,并且这个位置具有左右对称的两个点。优选地,通过一个二阶中值序列滤波器来获得人眼位置。\n[0076] 鼻尖检测模块4044,用于判断被检测的人脸图像中鼻尖的具体位置。更为详细地,根据已经找出的人眼位置,获取该人眼位置以下的图像数据,通过一阶差分滤波器来获得亮度值的高亮位置,并且通过人眼和鼻尖位置的几何关系来确定鼻尖位置的正确性。\n[0077] 鼻孔检测模块4046,用于判断被检测的人脸图像中鼻孔的具体位置。其中,根据已经找出的鼻尖位置,获得一矩形。该矩形以鼻尖为中心点,以鼻尖到两眼中心位置为长度,而宽度为长度的二分之一。在该矩形内使用一阶差分滤波器来获得鼻孔位置,并用这两个位置的左右对称性来加以验证。\n[0078] 为了更好地说明本发明的人脸识别系统和方法,下文中示意性地举例说明了在智能卡上进行人脸验证时的运算精度和验证时间。\n[0079] (1)人脸识别的运算精度\n[0080] 仍然以XM2VTSDB为实验数据库,取前40个人进行训练和测试,训练时每人3幅图像,测试时每人2幅图像。首先在Matlab中通过训练得到每个人的特征向量x和q,以及PCA投影矩阵U。为了验证智能卡上比对运算的正确性,我们将每次运算的结果dc传到上位机,与Matlab的计算结果进行比较。具体过程如下:\n[0081] 用Matlab计算出所有测试者的特征向量x、q,以及PCA投影矩阵U;\n[0082] 取训练样本中的第m个人注册,将第m个人的特征向量x、q存于智能卡上,并设置判决门限t(即,预定阈值);\n[0083] 取测试样本中的第n个人比对,依次将该人的1幅测试图像预处理,然后传送至智能卡上进行比对,得到结果dc;\n[0084] 与此同时,在Matlab中同样对第n个人进行比对,得到结果dc′;\n[0085] 比较dc′是否等于dc,从而确定结果的精确性。如果两者相等,则验证精度高;如果两者不相等,则验证精度低。\n[0086] (2)人脸识别的验证时间\n[0087] 这里,比对时间Ttotal包括执行以下两条命令的时间:SET P和MATCH,而不包括注册所花费的时间(即执行SET X、SET Q和SET T的时间)。因此,Ttotal=Tset_p+Tmatch。\n[0088] 表1示出了基于人脸识别技术在智能卡和上位机进行5次测试的测试结果。其中第1次比对试验选用的是注册者的另外一幅图像,而第2次至第5次均选用的是非注册者的图像。\n[0089] 表1\n[0090] \n 测试次数 Ttotal(ms) 卡上计算结果 卡下计算结果\n 第1次 7969 0.40607 0.40607\n 第2次 7321 1.1655 1.1655\n 第3次 7772 1.2711 1.2711\n 第4次 7502 0.95299 0.95299\n 第5次 7729 1.0499 1.0499\n[0091] 从表1中可以看出,对于同一次测试来说,卡上计算结果和卡下计算结果完全一致,这说明验证精度是符合要求的。此外,我们还可以知晓,每次比对所花费的时间在7s至\n8s之间;第1次比对的结果要远小于其他测试的比对结果。\n[0092] 此外,本领域的普通技术人员应当理解,基于第1次的测试结果与其它四次测试结果之间的区别,选定了合适的阈值后,就能够轻易区分哪些是注册者的样本,哪些是冒用者的样本,例如设定阈值为0.5,当卡上的计算结果小于阈值时,人脸图像数据验证通过;\n当卡上的计算结果大于阈值时,人脸图像数据验证失败。\n[0093] 上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
法律信息
- 2016-11-09
未缴年费专利权终止
IPC(主分类): G06K 9/00
专利号: ZL 200910196047.9
申请日: 2009.09.22
授权公告日: 2012.05.02
- 2012-05-02
- 2010-04-28
实质审查的生效
IPC(主分类): G06K 9/00
专利申请号: 200910196047.9
申请日: 2009.09.22
- 2010-03-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-04-22
|
2007-10-19
| | |
2
| |
2009-08-19
|
2009-04-01
| | |
3
| | 暂无 |
1999-01-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |