基于眨眼检测的人脸识别方法技术领域
本发明涉及人脸识别技术领域,尤其涉及一种基于眨眼检测的人脸识别方法。
背景技术
人脸识别技术是一项热门的计算机应用研究技术,它属于生物特征识别技术,通
过对生物体本身的生物特征来区分生物体个体。人脸识别是最为自然的、可视化的一种生
物身份识别方式,符合人类自身的生理视觉习惯。随着人脸识别技术的发展,在精确度、可
靠性都将有很大的提高。现已有非常广泛的应用,包括公安、安全、海关、金融、军队、机场、
安防等等多个重要行业及领域,以及智能门禁、考勤等民用市场,市场应用前景非常广阔。
人脸识别技术主要包含几个部分:人脸检测、人脸匹配、人脸跟踪、活体检测等等。
目前针对每一个部分都有较为成熟的算法,但是对于复杂环境下的活体检测则需要把更多
的研究综合在一起形成进一步改良算法。
现有技术中的人脸识别方案主要包括如下的几种:
①人脸识别:
a)肤色模型法:依据面貌肤色在色彩空间中分布相对集中的规律来进行检测;
b)样品学习法:采用模式识别中人工神经网络的方法,即通过对面像样品集和非
面像样品集的学习产生分类器;
c)基于特征脸(PCA)的人脸识别方法:将所有面像集合视为一个面像子空间,并基
于检测样品与其在子空间的投影之间的距离判断是否存在面像。
②眨眼检测:
ASM+Canny:利用ASM(Active Shape Model主动形状模型)算法作为人眼区域的检
测方法,再利用Canny算子计算人眼的边缘轮廓,通过人眼边缘轮廓的上下距离判断眨眼。
③人脸匹配:
特征向量法:先确定眼虹膜、鼻翼、嘴角等面像五官轮廓的大小、位置、距离等属
性,然后再计算出它们的几何特征量,而这些特征量形成一描述该面像的特征向量。
上述现有技术中的人脸识别方案的缺点为:
①现有技术中的大部分人脸识别软件利用注册者的照片也能通过验证,并不能区
分是活人还是照片,这大大降低了人脸识别的安全性。。
②ASM+Canny的眨眼检测方法,对光线的要求很高。弱光下,ASM对人眼的定位效果
和Canny对人眼边缘检测效果并不好。
③针对弱光条件下不能很好识别人脸。
④现有算法在不同光照环境下人脸匹配度不高。
发明内容
本发明的实施例提供了一种基于眨眼检测的人脸识别方法,以实现很好地对用户
的图像进行人脸识别。
为了实现上述目的,本发明采取了如下技术方案。
一种基于眨眼检测的人脸识别方法,包括:
通过摄像头拍摄用户的图像,通过人脸检测器从所述用户的图像中检测 出人脸
图像;
通过人脸匹配算法将所述人脸图像与预先存储的已经注册的人脸图像进行匹配,
当所述匹配的结果为相似度大于设定的匹配阈值时,则确定所述人脸图像已经注册;
通过眨眼检测算法检测多个所述用户的图像中是否存在眨眼,当检测出存在眨
眼,则确定所述用户的图像来自活体。
进一步地,所述的通过摄像头拍摄用户的图像,通过人脸检测器从所述用户的图
像中检测出人脸图像,包括:
利用Adaboost方法构造人脸检测器,所述人脸检测器为筛选式的级联分类器,级
联的各个节点按照瀑布分类算法布置,在每个节点上设置判断阈值,位置越靠后的节点包
含越多的弱分类器;
将摄像头拍摄的各个帧的所述用户的图像输入所述人脸检测器,所述人脸检测器
依次对各个帧的所述用户的图像进行检测,从所述用户的图像中检测出人脸图像。
进一步地,所述的通过人脸匹配算法将所述人脸图像与预先存储的已经注册的人
脸图像进行匹配,当所述匹配的结果为相似度大于设定的匹配阈值时,则确定所述人脸图
像已经注册,包括:
当从当前帧的用户的图像中检测出人脸图像后,将所述人脸图像裁剪后转化为单
通道图像,将预先存储的已注册的人脸图像转化为单通道图像,将所述两个单通道图像作4
种直方图比较,得出4个相似度值:CV_COMP_CHISQR卡方,CV_COMP_BHATTACHARYYA距离,CV_
COMP_CORREL相关度,CV_COMP_INTERSECT相交系数;
根据所述4个相似度值确定所述两个单通道图像之间的最终相似度,当所述最终
相似度大于预先设定的相似度阈值,则判断所述两个单通道图像匹配成功,确定所述人脸
图像已经注册。
进一步地,所述的方法还包括:
当所述最终相似度不大于预先设定的相似度阈值,则判断所述两个单通道图像匹
配失败,对所述已注册的人脸图像的亮度和/或对比度进行调整,重新生成调整后的人脸图
像的单通道图像;
按照上述匹配过程将两个单通道图像重新匹配,当两个单通道图像匹配成功,确
定所述人脸图像已经注册;当两个单通道图像匹配失败,则继续对所述已注册的人脸图像
的亮度和/或对比度进行调整,继续按照上述匹配过程将两个单通道图像重新匹配,当匹配
失败的次数大于设定数值,则确定所述人脸图像没有注册。
进一步地,所述的方法还包括:
对所述已注册的人脸图像的亮度和/或对比度进行调整采用点算子算法,公式如
下:
g(i,j)=αf(i,j)+β
参数α>0,为增益,用来调整对比度,β为偏置参数,用来调整亮度,f(i,j)是源图像
像素,g(i,j)是输出图像像素,i,j表示像素位于第i行第j列。
进一步地,所述的通过眨眼检测算法检测多个所述用户的图像中是否存在眨眼,
当检测出存在眨眼,则确定所述用户的图像来自活体,包括:
将各个帧的所述用户的图像转换为二值图像,在所述二值图像中搜索组件对,根
据预先设定的眼睛组件的宽度、高度、水平距离和垂直距离的限制条件,对搜索出的组件对
进行过滤,获取满足过滤条件的眼睛组件对,并获取眼睛组件对所在的搜索区域;
根据所述满足过滤条件的组件对构建眼睛模板,利用归一化相关系数算法计算出
所述眼睛模板和所述搜索区域之间的相似值,当连续前后两帧用户 的图像中的搜索区域
与所述眼睛模板之间的相似值之间的差值大于设定的判断阈值,则确定所述用户的图像中
包含眨眼,所述用户的图像来自活体。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例提供的基于眨眼
检测的人脸识别方法通过检测眨眼能很好的区分检测的是照片、雕塑还是活体。相比于ASM
+Canny的眨眼检测方法对光线的要求很高的缺点(弱光下,ASM对人眼的定位效果和Canny
对人眼边缘检测效果并不好),而本发明利用形态学对图像进行差分处理,能很好的适应弱
光检测条件。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变
得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用
的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本
领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他
的附图。
图1为本发明实施例提供的一种基于眨眼检测的人脸识别方法的处理流程;
图2为本发明实施例提供的一种基于adaboost的人脸检测的方法的原理示意图;
图3为本发明实施例提供的一种活体眨眼检测的原理图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始
至终相同或类似的标号表示相同或类似的元件或具有相同或类似功 能的元件。下面通过
参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一
个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措
辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加
一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元
件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在
中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞
“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术
语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该
理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意
义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步
的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明通过检测眨眼能很好的区分检测的是照片还是活人。本发明利用形态学差
分图像,能很好的适应弱光检测条件。本发明利用Harr+Adaboost方法是十分有效的正面人
脸检测方法,其在算法速度上有非常大的优势,且正面人脸的检测率很高。利用此方法进行
训练得到的模型文件,对弱光条件下的人脸检测有很不错的效果。本发明利用点算子,多次
改变已注册人脸照片的亮度和对比度,再进行人脸匹配验证,从而提高匹配成功率。
本发明实施例提供的一种基于眨眼检测的人脸识别方法的处理流程如图1所示,
包括如下的处理步骤:
步骤1、将验证过的用户的图像存储在服务器中。
将验证过的用户的图像在服务器中进行注册,按照用户设定的名称将验证过的用
户的图像以jpg等格式保存在服务器中,用户的注册名可以保存在TXT格式的注册表中。当
多个用户注册,可以用Xn表示注册表中的第n张人脸图像。
步骤2、通过摄像头拍摄用户的图像,通过人脸检测器从所述用户的图像中检测出
人脸图像。
利用Adaboost方法构造人脸检测器,所述人脸检测器为筛选式的级联分类器,级
联的各个节点按照瀑布分类算法布置,在每个节点上设置判断阈值,位置越靠后的节点包
含越多的弱分类器;
将摄像头拍摄的各个帧的所述用户的图像输入所述人脸检测器,所述人脸检测器
依次对各个帧的所述用户的图像进行检测,从所述用户的图像中检测出人脸图像。
本发明提供的一种基于adaboost的人脸检测的方法的原理示意图如图2所示,利
用Adaboost方法构造了人脸检测器,利用瀑布(Cascade)算法分类器组织为筛选式的级联
分类器,级联的每个节点是AdaBoost训练得到的强分类器。在级联的每个节点设置阈值b,
使得几乎所有人脸样本都能通过,而绝大部分非人脸样本不能通过。节点由简单到复杂排
列,位置越靠后的节点越复杂,即包含越多的弱分类器。这样能最小化拒绝图像但区域时的
计算量,通知保证分类器的高检测率和低拒绝率。例如在识别率为99.9%,拒绝率为50%
时,(99.9%的人脸和50%的非人脸可以通过),20个节点的总识别率为:0.99920≈98%,而
错误接受率仅为:0.520≈0.0001%。对于画面检测出的人脸,用红框进行标注。
步骤3、通过人脸匹配算法将所述人脸图像与预先存储的已经注册的人脸图像进
行匹配,当匹配的结果为相似度大于设定的匹配阈值时,则确定所述人脸图像已经注册。
当从当前帧的用户的图像中检测出人脸图像后,把人脸部分裁剪后转化为单通道
图像,将预先存储的已注册的人脸图像转化为单通道图像,将两个单通道图像作4种直方图
比较,得出4个相似度值:CV_COMP_CHISQR卡方,CV_COMP_BHATTACHARYYA距离,CV_COMP_
CORREL相关度,CV_COMP_INTERSECT相交系数;
根据4个相似度值确定两个单通道图像之间的最终相似度,当最终相似度大于预
先设定的相似度阈值,则判断两个单通道图像匹配成功,确定人脸图像已经注册。
CV_COMP_CHISQR(卡方),CV_COMP_BHATTACHARYYA(Bhattacharyya距离)这两种直
方图的比较得出的值越小,说明图像越相似,而CV_COMP_CORREL(相关度),CV_COMP_
INTERSECT(相交系数)这两种直方图比较得出值越大,说明图像越相似。通过这四个相似度
值即可确定最终相似度值。
不妨设a,b,c,d分别表示CV_COMP_CHISQR卡方,CV_COMP_BHATTACHARYYA距离,CV_
COMP_CORREL相关度,CV_COMP_INTERSECT相交系数四种直方图比较得出的值
当a,b至少有一个小于等于0.1,且c,d至少有一个大于等于0.9时,判定为两张图
像相似达到90%;
以此类推,
当a,b至少有一个小于等于0.2,且c,d至少有一个大于等于0.8时,判定为两张图
像相似达到80%。
当所述最终相似度不大于预先设定的相似度阈值,则判断所述两个单通道图像匹
配失败。由于这种直方图比较人脸图像的方法受图片的亮度影响,对已注册的人脸图像的
亮度和/或对比度进行调整,重新生成调整后的人脸图像的单通道图像。按照上述匹配过程
将两个单通道图像重新匹配,当两个单通道图像匹配成功,确定所述人脸图像已经注册;当
两个单通道图像匹配失败,则继续对所述已注册的人脸图像的亮度和/或对比度进行调整,
继续按照上述匹配过程将两个单通道图像重新匹配,当匹配失败的次数大于设定数值,则
确定所述人脸图像没有注册。
对已注册的人脸图像的亮度和/或对比度进行调整采用点算子算法,公式如下:
g(i,j)=αf(i,j)+β
两个参数α>0和β一般称作增益和偏置参数。这两个参数来分别控制对比度和亮
度。f(i,j)是源图像像素,g(i,j)是输出图像像素。i,j表示像素位于第i行第j列。
步骤4、通过眨眼检测算法检测多个所述用户的图像中是否存在眨眼,当检测出存
在眨眼,则确定所述用户的图像来自活体。
将各个帧的用户的图像转换为二值图像,在二值图像中搜索组件对,根据预先设
定的眼睛组件的宽度、高度、水平距离和垂直距离的限制条件,对搜索出的组件对进行过
滤,获取满足过滤条件的眼睛组件对,并获取眼睛组件对所在的搜索区域。
根据所述满足过滤条件的组件对构建眼睛模板,利用归一化相关系数算法计算出
所述眼睛模板和所述搜索区域之间的相似值,当连续前后两帧用户的图像中的搜索区域与
所述眼睛模板之间的相似值之间的差值大于设定的判断阈值,则确定所述用户的图像中包
含眨眼,所述用户的图像来自活体。
本发明实施例提供的一种活体眨眼检测的原理图如图3所示,具体处理过程包括:
预处理:先图像灰度化,然后创建每一帧与前一帧的差分图像,再设定阈值,最终
就会通过二值图像显示前后两帧图像的运动区域。然后通过图像形态学运算的开运算,使
对象的轮廓变的光滑,断开狭窄的间断和消除较细的突出物,从而消除噪声以及光照环境
的影响。所以在光线较弱的情况下适用性也很好。
搜索眼睛:当用户人眨眼时,在二值图像中就会闪现一对组件(一对眼睛的二值图
像轮廓),过滤掉不合适的组件后,再通过轮廓检索,当确定组件数为2(一双眼睛)时,就判
断为眼睛。过滤是依据每一对中两个组件的宽、高,以及两组件中心的水平和垂直距离。
追踪眼睛:当找到代表用户的眼睛的组件对后,在这对组件中选择更大的那个组
件用来创建眼睛模板。眼睛模板的大小是和那个选中组件的大小成正比的,选择更大的那
一个,因为有更多亮度信息,这将会使得追踪和得到的相关分数更精确。这里的更大组件是
指组件的长宽高更大。因为在弱光环境下,用户眨眼时,在二值差分图像上显示的眼睛轮廓
(组件对),通常是一大一小的,选择形状更大的那个组件创建眼睛模板。
如何创建模板:选择大组件后,得到组件的边界位置(这个边界刚好把这个组件对
应的这只眼睛包含在内),选定这个边界内的灰度图像为睁眼模板。
利用归一化相关系数实现追踪,每一帧图像对会用到下面的公式:
f(x,y)是视频帧在点(x,y)的亮度,是当前搜索区域视频帧亮度的平均值,t
(x,y)是模板图片在点(x,y)的亮度,是模板图片亮度的平均值。上 述公式1计算的结果
是-1和1之间的相关性分数,它表明在眼睛模板和视屏帧搜索区域所有点之间的相似性。分
数越接近0表明低水平的相似性,而分数越接近1表示这是它可能匹配睁眼模板。使用这一
相似性度量追踪的一个主要好处是对环境照明条件的不断变化不敏感。在非常暗的时候,
眼睛追踪和眨眼检测都能很好的工作。
由于这一方法要求大量计算,所以把搜索区域就被限制在用户眼睛周围的一个很
小的区域,大大减少了需要在每一帧进行的相关度查询计算,让系统保持平稳运行。
眼睛模板的匹配方法计算公式为:
其中,I表示图像,T表示眼睛模板,R表示结果,眼睛模板与图像重叠区域x'=
0..w-1,y'=0..h-1之间求和。
公式2结果的含义:利用模板匹配函数依次计算模板与待测图片的重叠区域的相
似度,并将结果存入映射图像R当中,也就是说R图像中的每一个点(x,y)的值代表了一次相
似度比较结果。
公式1和2的关系:公式2的结果R(x,y)就是公式1中的t(x,y),即公式1中的t(x,y)
由公式2计算得到。
定位眼睛后,当用户的眼睛在眨眼过程为闭状态时,它与人眼模板的相似性降低。
同样的,当眨眼完成并且用户的眼睛重新完全睁开时,它又重新获得相似性。当这相似性的
一降一升超过阈值就判断为眨眼。在二值图像的显示效果为,当用户眨眼时,在定位的搜索
框内会闪现一个白色的圆点,通过这一圆点的闪现判断是否为眨眼。
在使用红外光源的环境下,因为光谱上红外线的波长大于可见光线,所以对于波
长在400nm以下或者700nm以上的辐射,人眼无能为力。但是红外光却可以识别人脸。所以在
整个电磁波段上,不仅可见光可用于人脸识别,红 外光也可以。所以之后进行的人脸识别、
匹配也都可以利用红外光源进行。
综上所述,本发明实施例提供的基于眨眼检测的人脸识别方法通过检测眨眼能很
好的区分检测的是照片、雕塑还是活体。相比于ASM+Canny的眨眼检测方法对光线的要求很
高的缺点(弱光下,ASM对人眼的定位效果和Canny对人眼边缘检测效果并不好),而本发明
利用形态学对图像进行差分处理,能很好的适应弱光检测条件。
相比于在不同光照环境下人脸匹配度不高的缺点。本发明利用点算子,多次改变
已注册人脸照片的亮度和对比度,再进行人脸匹配验证,从而提高匹配成功率。在亮光下注
册的人脸照片,在弱光下也能匹配成功。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或
流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可
借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质
上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品
可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备
(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些
部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部
分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或
系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法
实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为
分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或
者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元 上。可以
根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技
术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,
都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围
为准。