具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种双目虹膜图像检测方法和装置。需要说明的是,本发明实施例的双目虹膜图像检测装置可以用于执行本发明实施例所提供的双目虹膜图像检测方法,本发明实施例的双目虹膜图像检测方法也可以通过本发明实施例所提供的双目虹膜图像检测装置来执行。其中,双目虹膜图像检测方法和装置可以通过手机、平板电脑、计算机等包含CPU等智能芯片的硬件设备中来实现。
图1是根据本发明实施例的双目虹膜图像检测装置的示意图。如图1所示,该双目虹膜图像检测装置包括:获取单元10、处理单元20、计算单元30、合并单元40、第一确定单元50。
获取单元10用于利用双目虹膜镜头获取虹膜图像,将所述虹膜图像作为待测图像。
处理单元20用于对待测图像进行梯度处理,得到与待测图像具有映射关系的梯度矩阵。其中,梯度矩阵的梯度值与待测图像上的像素点一一对应。
待测图像可以是通过摄像头拍摄的图像视频流,摄像头可以是用于拍摄人体双眼图像的摄像头,该摄像头可以是一个摄像头。在进行虹膜识别时,摄像头可以拍摄包含有双目虹膜的图像视频流,通过从该视频流中检测满足虹膜识别的眼睛图像。获取到的眼睛图像可以是从拍摄的视频流中获取的多张图像,以便于从这些图像中检测出可以用于虹膜识别的眼睛图像。
在获取到包含有待测图像的视频流之后,利用处理单元20对待测图像进行梯度处理,处理单元20可以是对待测图像的源图像进行梯度处理,也可以是对待测图像进行缩小处理后的图像进行梯度处理,还可以是对待测图像进行灰度变换得到的灰度图像进行梯度处理。通过对图像的梯度处理,得到每个待测图像上每个像素的梯度值,形成与待测图像对应的梯度矩阵。在该梯度矩阵上,像素点与梯度值一一对应。
具体地,梯度处理方法可以是使用Sobel等梯度算子遍历待测图像上的每个像素点,计算得到待测图像的梯度矩阵。当然,实际应用中并不特指Sobel算子,只要是可以计算图像梯度的算子均可。
计算单元30用于基于梯度矩阵上的梯度值计算得到多个圆形目标。
由于不同像素点对应的梯度值存在不同,且虹膜是一个瞳孔和巩膜之间的环形可视区域,在眼睛图像上虹膜区域应该呈现为圆形或者圆环状,因此,计算单元30可以在梯度矩阵上利用梯度值计算圆形目标,以便于利用计算得到的圆形目标快速确定虹膜区域。
合并单元40用于利用多个圆形目标来进行圆形合并处理,得到合并窗口。
由于虹膜是一个瞳孔和巩膜之间的环形可视区域,在眼睛图像上虹膜区域轮廓应该呈现为圆形,因此,在利用梯度矩阵计算得到的多个圆形目标在待测图像上则显示为多个圆形窗口,该多个圆形窗口与多个圆形目标一一对应。
具体地,合并单元40利用多个圆形目标来进行圆形合并处理可以是直接对多个圆形目标进行合并,然后将合并后的圆形目标映射到待测图像上,得到合并窗口;也可以是将多个圆形目标分别映射到待测图像上得到多个圆形窗口,再对多个圆形窗口进行合并,得到合并窗口。
第一确定单元50用于将合并窗口作为双目虹膜图像的虹膜区域。
在合并单元40执行圆形合并处理之后,第一确定单元50将合并窗口作为虹膜区域,从而确定出虹膜区域。
本发明实施例的双目虹膜图像检测装置可以用于执行图2所示的双目虹膜图像检测方法,如图2所示,该双目虹膜图像检测方法包括:
步骤S202,利用双目虹膜镜头获取虹膜图像,将虹膜图像作为待测图像。
步骤S204,对待测图像进行梯度处理,得到与所述待测图像具有映射关系的梯度矩阵,其中,所述梯度矩阵的梯度值与所述待测图像上的像素点一一对应。
步骤S206,基于所述梯度矩阵上的梯度值计算得到多个圆形目标。
步骤S208,利用所述多个圆形目标来进行圆形合并处理,得到合并窗口。
步骤S210,将所述合并窗口作为双目虹膜图像的虹膜区域。
上述步骤依次对应于上述装置的获取单元10、处理单元20、计算单元30、合并单元40和第一确定单元50,其描述可以参见上述装置,这里不做赘述。
根据本发明实施例,通过对待测图像进行梯度处理,得到与所述待测图像具有映射关系的梯度矩阵,根据虹膜所具有的圆形的形状特征,利用与待测图像对应的梯度矩阵上的梯度值,计算得到多个圆形目标,通过利用多个圆形目标来进行圆形合并处理,从而快速确定虹膜区域,解决了现有技术中难以快速地确定虹膜区域的问题,达到了快速确定双目虹膜图像的虹膜区域的效果。
以Sobel算子为例,使用Sobel算子计算图像梯度矩阵可以是利用X方向、Y方向的梯度算子对待测图像进行计算。
其中,X方向是水平方向,其梯度算子为:
-1 0 1
-2 0 2
-1 0 1 (1)
Y方向是竖直方向,其梯度算子为:
-1 -2 -1
0 0 0
1 2 1 (2)
利用上述Sobel算子即公式(1)和公式(2)分别计算得到每个方向的梯度矩阵,以及幅值矩阵。具体结果如图3a至3c所示(由于原始图片较大,这里截取包含眼睛区域的小尺寸图像)。其中,图3a为X方向梯度矩阵,图3b为Y方向梯度矩阵,图3c为幅值矩阵。
在对待测图像进行梯度化处理,得到梯度矩阵之后,可以利用虹膜的形状特征在处理后眼睛图像上计算得到多个圆形目标。具体地,可以遍历梯度矩阵上的每个点,沿着当前点Q正梯度方向(即梯度值由大到小的方向),以当前遍历半径n作为步长,对应的点P就是映射点,如图4所示。其中,当前点Q为遍历梯度矩阵时在梯度矩阵上的梯度值不为0的点,遍历半径n的值可以根据不同瞳孔半径进行设置,也可以设置有多个遍历半径n的值,利用该多个遍历半径n分别遍历梯度矩阵,以找到圆形目标的圆心,从而得到多个圆形目标。在实际应用中还需要对n的范围(即不同的取值)进行遍历。P点是点Q沿着Q点处的正梯度方向距离为n的点处的位置坐标。
遍历完所有n,按照上述方法可以得到一系列的可能的圆形半径,再由后续的窗口合并进行排除。具体地,遍历公式如下:
其中,g(Q)是由当前点Q的X方向梯度F(x)和Y方向梯度F(y)得到的梯度(方向及大小),如图5所示,||g(Q)||是梯度的幅值,表示当前点的单位梯度方向,表示沿着当前方向长度为n的向量,表示对取整,P(Q)则为映射点。
对于每一个映射点P(Q)计算以下两步:
On(P(Q))-1→On(P(Q)) (3)
Mn(P(Q))-||g(Q)||→Mn(P(Q)) (4)
其中,上述公式解释如下:
1、On和Mn为与上述梯度矩阵的宽和长都相同的两个矩阵,对于每一个半径n,On(P(Q))表示矩阵On上P(Q)点处的值,Mn(P(Q))表示矩阵Mn上P(Q)点处的值,On矩阵和Mn矩阵上上各点处的初始值为均设置为0。
2、由于Q点为上述梯度矩阵的遍历的所有点,当有一个Q点通过半径距离为n投影到P(Q)点处,则计算一次上述公式(3),On矩阵中P(Q)点处的值即On(P(Q))减1。Mn(P(Q))同理,当有一个Q点通过半径距离为n投影到P(Q)点处,则计算一次上述公式(4),Mn矩阵中P(Q)点处的值即Mn(P(Q))减去Q点处的梯度幅值||g(Q)||。
3、图像中除了瞳孔边界上的点,几乎不具有高度对称性,所以这样的点Q沿着各自的正梯度方向投射到距离n的位置,这些投射点位置都比较分散。然而,瞳孔边界由于圆形特性边界点的正梯度方向都指向圆心,所以当n恰巧是真实半径时,O和M中瞳孔中心点的位置值都会是最明显的。
4、矩阵On可以看作系数矩阵,每个值代表了周围点沿其梯度方向映射到该点的像素个数,个数越多表示映射到该点的周围像素越多,该点作为圆点的可能性越大。矩阵Mn可以看作幅值矩阵,每个值代表了周围像素点对该点的贡献,幅值的绝对值越大表示映射到该点的周围像素越多,该点作为圆点的可能性越大。
遍历每个半径之前矩阵On和Mn都初始化为0,随着梯度矩阵上的点的遍历不断叠加计算上述两步计算。
上述当计算完上述矩阵On或Mn的值后,由于疑似圆心的点存在很多的Q点映射到其上,因此,在该矩阵On或Mn中疑似圆心点处的值计算上述公式(3)和公式(4)的次数较多,随着上述计算次数增加其值不断减小,当满足一定阈值时,则可以认为对应的点即为圆形,再利用半径,从而确定出圆形目标。
需要说明的是,上述矩阵On、Mn中任意一个矩阵均可以是计算出圆形目标的圆心,从而确定圆形目标,当然,上述计算过程中矩阵On、Mn中每个点处值也可以以+1或者+||g(Q)||的形式,然而再做阈值判断,均能够计算确定圆心。本领域技术人员知晓,上述公式(3)和公式(4)计算方式是为了更好地描述本发明实施例所提供的一种可选的计算方式,并不对本发明有不当限定。
在另一个实施例中,由于单独的Mn或者On在检测对称区域都存在缺陷,为了更好地检测瞳孔的圆形边界,计算得到Fn,该为Fn用于确定映射点是否为与圆心的值。一种可选的公式如下
Fn(P)=Mn(P)x*On(P)y (5)
公式(5)中x、y依次表示Mn(P)和On(P)的权重。以上面求出的Mn(P)和On(P)为例,当x与y为正数时,如果Fn(P)的绝对值越大,对应的点P为圆心的可能性更大,如果Fn(P)的绝对值大于判断阈值,则可以认为对应的点P为圆心。需要说明的是,上述判断阈值可以根据不同的计算公式或者公式(5)中的不同的x、y值进行调整。
对于每一个位置坐标Q,对矩阵Mn(P)和On(P)进行点乘,计算得到Fn(P)。最终根据P点处的Fn(P)值的大小和设定的阈值确定P点是否为瞳孔的疑似圆心点。
由于本发明方案是针对双目虹膜图像,需要在一幅图像中同时检测两只眼睛,通过最小值自然无法检测到。因此,在一个实施例中,可以设定一个阈值T,每一个半径下的Fn中只要小于T的点都记录下来作为检测目标。这样,所有半径遍历完后,可以得到很多圆形目标。这样,利用矩阵Mn(P)和On(P)共同来确定圆心能够提高确定圆心的准确性,减少误判。
理论上,当遍历半径是真实半径,瞳孔边界上每个点(正梯度方向指向圆心)的映射点都指向圆心,即每个点的映射点为圆心,所以圆心点的投票值最小。其他情况,投票点都不会这样集中。其中,投票点是指图像中每一个梯度不为0的点Q根据正梯度方向以及当前遍历半径n得到的映射点P。
由于瞳孔边界上的点的正梯度方向都指向圆心,然后沿着正梯度方向取距离为真实半径的位置即为疑似圆心。那这样的话,圆心处的On中对应的疑似圆心处都要进行很多次减1,Mn中对应的疑似圆心处都要进行很多次减||g(Q)||。这样圆心处对应的Fn值会非常小,即圆心处的投票点Fn值会非常小,那就可以利用每个位置的Fn值和阈值T进行比较。
如图4所示,图像上每一个梯度不为0的点Q(包含瞳孔边界,但不特指边界,这里不限定于瞳孔边界)的投票点距离当前Q的距离就是当前遍历半径n,因此,Q点的映射点P的位置在以Q点为圆形,遍历半径n为半径的圆周上,映射点P的位置具体取决于Q点的向量的方向,即图中g(Q)的方向,也就是由Q的正梯度方向(图中箭头指向)决定映射点P的位置。
前面描述了如何利用梯度值来找到圆形目标,下面继续介绍在找到多个圆形目标后如何根据圆形目标来确定虹膜区域。
返回到图1中,可以看到其中有一个合并单元40以及计算单元30。图6所示的双目虹膜图像检测装置可以作为图1所示的双目虹膜图像检测装置的一种优选实施方式,其中,合并单元40包括:第一映射模块401和第一合并模块402。第一映射模块401用于将多个圆形目标映射到待测图像上,得到多个圆形窗口,圆形窗口为符合虹膜的灰度分布和形状特征的区域;第一合并模块402用于通过将多个圆形窗口中包含有相同区域的圆形窗口合并为一个圆形窗口来对多个圆形窗口进行合并,得到合并窗口。
计算单元30是用于计算得到多个圆形目标之后,通过第一映射模块401将计算出的多个圆形目标映射到待测图像的坐标中去,得到多个圆形窗口。由于虹膜区域呈现圆形,因此,在虹膜区域会存在很多交叉的圆形窗口,如图7所示。将图7中的其中一个眼睛附近检测到的圆形目标放大,用图8表示,可以很清楚看到检测到的圆有交叉重合情况。
虽然一只眼睛处可能会检测出多个圆形目标,也会对应存在多个圆形窗口,但可以通过将多个圆形窗口中包含有相同区域的圆形窗口合并为一个圆形窗口来对多个圆形窗口进行合并,得到合并窗口,从而使一只眼睛对应一个圆形窗口,如图9所示。具体地,可以是比较每两个窗口的圆心坐标,如果后一个圆心落在前一个的大小范围为S的邻域内,则认为两个窗口涵盖相同的区域,两个圆心的横纵坐标分别求平均作为合并窗口的圆心坐标,即将来年两个圆形窗口的圆心的横坐标的平均值作为合并后的窗口的横坐标,纵坐标的平均值作为合并后的窗口的纵坐标,从而确定出合并后的窗口的圆心。
需要说明的是,在实际应用中,由于模糊的不包含眼睛的图片,基本是检测不到通过阈值的圆形窗口,因此无法计算得到圆形窗口,当然也就不存在合并窗口。这里,对于圆形窗口而言,需要通过阈值进行判定的,当计算得到的圆形窗口的个数较少,或者计算不到圆形窗口时,则认为图像中没有眼睛图像。具体地,如果没有检测出超过阈值的圆形窗口,则也会被认为检测失败,重新读取视频流中下一帧图像进行检测。
本发明实施例的第一映射模块401和第一合并模块402可以用于分别执行双目虹膜图像检测方法的以下步骤:将多个圆形目标映射到待测图像上,得到多个圆形窗口;通过将多个圆形窗口中包含有相同区域的圆形窗口合并为一个圆形窗口来对多个圆形窗口进行合并,得到合并窗口。
上述步骤的描述可以参见对第一映射模块和第一合并模块的描述这里不做赘述。
作为图6所示双目虹膜图像检测装置的一种可选实施方式,图10所示的合并单元40包括:第二合并模块403,用于通过将多个圆形目标中包含有相同区域的圆形目标合并为一个圆形目标来对多个圆形目标进行合并,得到合并目标;第二映射模块404,用于将合并目标映射到待测图像上,得到合并窗口。
本发明实施例中,也可以先对梯度矩阵上的圆形目标进行合并,其合并方式与上述中对圆形窗口的合并方式基本相同,这里不做赘述,在得到合并目标之后,将合并目标映射到待测图像上,从而得到合并窗口。
本发明实施例的第二合并模块404和第二映射模块404可以用于分别执行双目虹膜图像检测方法的以下步骤:通过将多个圆形目标中包含有相同区域的圆形目标合并为一个圆形目标来对多个圆形目标进行合并,得到合并目标;将合并目标映射到待测图像上,得到合并窗口。
上述步骤的描述可以参见对第二合并模块和第二映射模块的描述这里不做赘述。
由于本发明方案是针对双目虹膜图像检测的,应当检测出两只眼睛的虹膜区域。因此在另一优选实施例中,如图11所示,双目虹膜图像检测装置还可以包括:第一判断单元60,用于在利用多个圆形目标来进行圆形合并处理,得到合并窗口之后,以及将合并窗口作为双目虹膜图像的虹膜区域之前,判断合并窗口的个数是否等于2,其中,如果判断出合并窗口的个数等于2,则将合并窗口作为虹膜区域。
在得到合并窗口之后,由于合并窗口有可能存在一个或者0个的情况即检测到一只眼睛或者没有检测到眼睛,因此,需要判断合并窗口的个数是否等于2,如果等于2,则合并窗口个数为2,则将这两个合并窗口作为均有虹膜的虹膜区域。
具体地,通过合并形成M个合并窗口,然后可以进行判断:
M为0时,图像没有眼睛,检测结束,返回检测失败;
M为1时,图像中包含一个眼睛,检测结束,返回检测失败;
M为2时,图像包含两个眼睛图像,继续检测下一张图像。
根据本发明实施例,通过梯度计算,利用虹膜特征在处理后的眼睛图像上计算得到多个圆形窗口,通过合并这些圆形窗口来确定在眼睛图像上虹膜的位置,从而得到虹膜区域,提高了检测虹膜图像的准确性。
本发明实施例的第一判断单元60可以用于执行双目虹膜图像检测方法中的以下步骤:判断合并窗口的个数是否等于2,其中,如果判断出合并窗口的个数等于2,则将合并窗口作为虹膜区域。该步骤的描述可以参见上述对第一判断单元的描述,这里不作赘述。
实际应用中,如果某个区域是真正的虹膜区域,那么在它的周围可能存在多个交叉重叠的圆形目标。利用该特点,在另一优选实施例中,如图11所示,双目虹膜图像检测装置还包括:第二判断单元70,用于在利用多个圆形目标来进行圆形合并处理,得到合并窗口之后,以及将合并窗口作为双目虹膜图像的虹膜区域之前,判断合并成合并窗口的窗口个数是否小于第一预设阈值;第一去除单元80,用于如果判断出合并成合并窗口的窗口个数小于第一预设阈值,则去除窗口个数小于第一预设阈值的合并窗口。
理想情况下,检测到的圆形窗口会分别聚集在左右瞳孔和虹膜周围。然而,实际检测中,鼻孔、眉毛或者其他位置附近可能也会出现误检窗口。这些窗口为噪声,需要进一步排除。
为排除一些孤立的非虹膜窗口的存在,可以预先设置阈值N即第一预设阈值,当合并窗口由小于N的窗口合并而成,则认为该合并窗口不包含虹膜图像,则将该合并窗口去除,然后判断去除这些误检窗口之后的合并窗口个数是否等于2。
根据本发明实施例,通过判断合并成合并窗口的窗口个数是否小于第一预设阈值,将小于该阈值的合并窗口去除,从而能够排除误检窗口对检测结果的影响,进一步提高虹膜检测的准确性。
在本发明实施例中,第二判断单元70和第一去除单元80可以用于执行本发明实施例的双目虹膜图像检测方法中的以下步骤:在利用多个圆形目标来进行圆形合并处理,得到合并窗口之后,以及将合并窗口作为双目虹膜图像的虹膜区域之前,判断合并成合并窗口的窗口个数是否小于第一预设阈值;如果判断出合并成合并窗口的窗口个数小于第一预设阈值,则去除窗口个数小于第一预设阈值的合并窗口。该步骤的描述可以参见上述对第二判断单元和第一去除单元的描述,这里不作赘述。
实际应用中,合并窗口可能存在一些噪音,即,可能存在部分合并窗口并非虹膜区域的情况。为了解决这一问题,本发明另一优选实施例中,如图12所示,双目虹膜图像检测装置还包括:第一检测单元90,用于在利用多个圆形目标来进行圆形合并处理,得到合并窗口之后,以及将合并窗口作为双目虹膜图像的虹膜区域之前,检测合并窗口中是否存在光斑区域,光斑区域为光线照射到瞳孔时形成光斑的区域;以及第二去除单元100,用于去除不存在光斑区域的合并窗口,将存在光斑区域的合并窗口作为双目虹膜图像的虹膜区域。
也就是说,真正的虹膜区域在拍摄的图像上通常有光斑区域,该光斑区域为摄像头的补光灯照射到瞳孔时,通过瞳孔成像形成的光斑所处的区域。这里的补光灯可以是如LED之类的补光灯。然而,人脸中非虹膜区域上由于不存在如眼睛部位可以反射光线的功能,也就不存在光斑区域了。利用这一特点,在得到合并窗口之后,可以去除不存在光斑区域的合并窗口,将存在光斑区域的合并窗口作为虹膜区域。这样,利用光斑区域剔除非虹膜区域的合并窗口,从而进一步提高了虹膜区域识别的准确性。
相应的,本发明实施例中,第一检测单元90和第二去除单元100可以分别用于执行以下步骤:在利用多个圆形目标来进行圆形合并处理,得到合并窗口之后,以及将合并窗口作为虹膜区域之前,检测合并窗口中是否存在光斑区域;去除不存在光斑区域的合并窗口,将存在光斑区域的合并窗口作为虹膜区域。上述步骤的描述可以参见对第一检测单元和第二去除单元的描述,这里不做赘述。
实际应用中,利用双目虹膜镜头获得的图像不但包括眼睛部位,还包括脸部其他区域,甚至包括摄像背景区域。为了提高检测速度,在本发明实施例中,可以将获取到的待测图像进行缩小处理。因此在本发明另一优选实施例中,如图13所示,双目虹膜图像检测装置还包括:缩小单元110,用于在对待测图像进行梯度处理,得到与待测图像具有映射关系的梯度矩阵之前,将待测图像缩小为待测图像的预设倍数。其中,处理单元20包括:处理模块201,用于对缩小后的待测图像进行梯度处理,得到梯度矩阵。
缩小单元在具体处理时,可以缩小到原眼睛图像的预设倍数,该预设倍数为小于1的数值,可以根据测试统计结果进行设定,例如缩小为原来图像的0.2倍。具体地,可以通过双三次差值将图像缩小为原来0.2倍。这样,通过将缩小后的图像进行处理,大大提高了对眼睛图像的处理速度,进而提高了检测速度。
本发明实施例中,缩小单元110和处理模块201可以分别用于执行本发明实施例的双目虹膜图像检测方法中的以下步骤:在对待测图像进行梯度处理,得到与待测图像具有映射关系的梯度矩阵之前,将待测图像缩小为待测图像的预设倍数;对缩小后的待测图像进行梯度处理,得到梯度矩阵。该步骤的描述可以参见上述对缩小单元和处理模块的描述,这里不作赘述。
实际应用中,还可以通过形成光斑的情况来判断图像质量。在本发明另一优选实施例中,如图13所示,双目虹膜检测装置还可以包括:第三判断单元120,在将合并窗口作为双目虹膜图像的虹膜区域之后,判断光斑区域是否满足预设条件,其中,光斑区域为光线照射到瞳孔时形成光斑的区域,预设条件为根据清晰的眼睛图像上的光斑区域得到的条件;第二检测单元130,用于如果判断出光斑区域满足预设条件,则检测满足预设条件的光斑区域的个数是否等于2;以及第二确定单元140,用于如果检测出满足预设条件的光斑区域的个数等于2,则将虹膜区域所处的眼睛图像作为用于虹膜识别的眼睛图像。
这是由于相对于眼睛图像,补光灯会在瞳孔或虹膜区域成像。通过分析发现,当在虹膜图像的焦距范围内时,光斑大小是最小的;当虹膜偏离镜头焦距时,图像光斑会随之发散,变大。当虹膜图像出现运动模糊时,光斑会呈现非圆形。因此,光斑区域的形状和大小等属性与虹膜图像质量存在关联关系。
在确定虹膜区域之后,为了获得清楚和准确的眼睛图像,需要判断光斑区域是否满足预设条件,该预设条件可以是判断该光斑区域的大小是否小于光斑大小阈值的条件,和/或,判断该光斑区域呈现圆形的程度是否大于程度阈值的条件。具体地,判断光斑区域是否满足预设条件可以先采用滤波器对光斑区域进行滤波,得到滤波后的响应值,然后通过判断响应最大值是否大于一定阈值来判断光斑区域是否满足预设条件,从而确定该光斑区域所处的虹膜区域是否有效。
实际应用中,由于通过摄像头拍摄的眼睛图像中可能只存在一只眼睛,因此在判断出光斑区域满足预设条件时,再检测满足该预设条件的光斑区域的个数是否等于2,即判断眼睛图像上是否存在两只眼睛。如果检测出满足预设条件的光斑区域的个数等于2时,则将该虹膜区域所处的眼睛图像作为用于虹膜识别的眼睛图像;如果检测出满足预设条件的光斑区域的个数小于2时,则返回检测失败。拍摄的眼睛图像中,通常不会存在3个及以上具有光斑区域的虹膜区域,因此,这里对3个及以上的光斑区域不做考虑。
根据本发明实施例,通过在确定虹膜区域之后,再利用光斑区域所具有的特征判断光斑区域是否满足预设条件来提取清晰的虹膜图像,如果判断出光斑区域满足预设条件,则检测满足预设条件的光斑区域的个数是否等于2,如果检测出满足预设条件的光斑区域的个数等于2,则确定该虹膜区域所处的眼睛图像具有清楚的双目虹膜,进而可以将虹膜区域所处的眼睛图像作为用于虹膜识别的眼睛图像,解决了现有技术中难以得到两个清晰可用的虹膜图像的问题,达到了提取出清晰的双目虹膜图像的效果。
另外,由于本发明实施例可以从一个双目虹膜摄像头拍摄图像中提取出清晰的虹膜图像,相对于现有技术中采用双镜头的方案,降低了虹膜识别设备的成本。
本发明实施例中,可以从摄像头拍摄的图像视频流中获取多张图像,采用本发明实施例的方案对该多张图像进行检测,从而提取出可以用于虹膜识别的清晰图像。
本发明实施例中,第三判断单元120、第二检测单元130和第二确定单元140可以分别用于执行本发明实施例的方法的以下步骤:将合并窗口作为虹膜区域之后,判断光斑区域是否满足预设条件,其中,光斑区域为光线照射到瞳孔时形成光斑的区域,预设条件为根据清晰的眼睛图像上的光斑区域得到的条件;如果判断出光斑区域满足预设条件,则检测满足预设条件的光斑区域的个数是否等于2;如果检测出满足预设条件的光斑区域的个数等于2,则将虹膜区域所处的眼睛图像作为用于虹膜识别的眼睛图像。上述步骤的描述可以参见对第三判断单元、第二检测单元和第二确定单元的描述,这里不做赘述。
进一步地,如图13所示,第三判断单元120包括:滤波模块121,用于利用滤波器对光斑区域进行滤波,得到响应最大值,响应最大值为用于反映光斑区域的光斑属性的值;判断模块122,用于通过判断响应最大值是否大于第二预设阈值来判断光斑区域是否满足预设条件,其中,如果判断出响应最大值大于第二预设阈值,则确定光斑区域满足预设条件。
在实际应用中,合并窗口可能会包含模糊的虹膜图像,主要包含离焦模糊和运动模糊,因此需要对合并窗口进行处理,判断合并窗口虹膜图像的可用性。
由于瞳孔和虹膜区域具有成像功能,对于眼睛图像而言,补光灯会在瞳孔以及虹膜区域成像,通过分析发现,当虹膜图像的焦距范围内时,光斑的是最小的,当虹膜偏离镜头焦距时,图像光斑会随之发散,变大。当虹膜图像出现运动模糊时,光斑会呈现非圆形。根据这些特征,可以一个圆形Gabor滤波器来对光斑区域进行滤波。其中圆形Gabor公式如下:
其中,Sx,Sy分别表示滤波器的行列尺寸。W表示频率。
Gabor滤波器的实际大小为:列尺寸:2*Sx+1,行尺寸:2*Sy+1。
x的取值范围[-Sx,+Sx],y的取值范围。由于Gabor是一种小波,波形都有频率,W是Gabor函数的频率。响应值是Gaborcircle对图像进行滤波后的值。
分别给定Sx,Sy和W值,然后对光斑区域进行滤波得到响应最大值,该响应最大值为用于反映光斑区域的光斑属性的值。判断该响应最大值是否超过第二预设阈值,该预设阈值可以是根据光斑区域的特征设定的阈值,当响应最大值大于该阈值时,就认为是清晰的光斑,也就是当前窗口是清晰的眼睛区域,否则排除该窗口。当检测到小于2个窗口时,则检测结束,返回检测失败;当检测到2个窗口时,则检测成功,双目虹膜可用于识别。
本发明实施例中,滤波模块和判断模块可以分别用于执本发明实施例的方法的以下步骤:利用滤波器对光斑区域进行滤波,得到响应最大值,响应最大值为用于反映光斑区域的光斑属性的值;通过判断响应最大值是否大于第二预设阈值来判断光斑区域是否满足预设条件,其中,如果判断出响应最大值大于第二预设阈值,则确定光斑区域满足预设条件。上述步骤的描述可以参见对滤波模块和判断模块的描述,这里不做赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。