一种指纹残留甄别方法
技术领域:
本发明涉及一种光学指纹采集装置,尤其是一种光干扰条件下的残留指纹甄别方法。
背景技术:
光学指纹传感器相比于电容式、压力式、温敏式等其它接触式指纹传感器,具有使用寿命长,美观,性价比较高等优点,被广泛应用于指纹锁、指纹门禁领域。
指纹残留产生于指纹图像采集完成以后,手指上的汗渍、油脂等分泌物,在传感器表面留下的指纹痕迹,而光学指纹传感器对于指纹残留特别敏感。残留的指纹在一定的光照条件下,会形成与真实手指类似的指纹图像,干扰光学指纹识别系统的正常工作,造成误读、误判。曾有用手电筒照射带有残留指纹的光学模块,开启指纹锁具的报道。
专利号为:200410017826的专利《光干扰条件下有效指纹信号的检出和残留指痕的甄别方法》提供了一种光干扰条件下鉴别有效指纹和残留指痕的方法,该方法引用非照明光数字信号,分析其灰度值的方差分度,推断在各种干扰状况下,是否还有指纹信息存在;或者,感测到的信号是否符合一种特殊的、称作“指纹残留”的信号特征。让传感器做出正确的反应,以防误读误判。但这种方法在实际操作过程中,要进行动态调整,方差判断,算法量大,明显影响运行速度。
发明内容:
本发明的目的正是克服上述技术的不足,而提供一种光干扰条件下的残留指纹甄别方法。本发明根据实践应用经验,首先以较简捷的运算资源对大概率事件所产生的图像进行有效甄别,然后对小概率事件所产生的小部分图像进行深度统计分析,以达到既提高指纹识别的准确程度又提高指纹残留甄别效率的目的。
本发明解决其技术问题所采用的技术方法,主要包含下列步骤:
1.在彩色光学传感器CMOS/CCD的感测区域S内设定前景区Sf和背景区Sb;;
2.启用单色照明光,获取在单色照明光下感测区域中前景区Sf内各点的光强度信号,计算其灰度值Ef,通过与阀值En比较,鉴别出是否有指纹信号;指纹信号是指有效指纹信号或残留指纹信号;
如果Ef≤En,则判断为有指纹信号;
如果Ef>En,则计算Sf区域灰度值方差Df,与阀值Dn进行比较,若Df≥Dn,则也判断为有指纹信号;若Df<Dn,则返回步骤2,重新采集图像。
3.关闭单色照明光,获取在当前干扰光下感测区域中前景区Sf内各点的光强度信号,计算出Sf区域内的灰度均值,用Ef’表示,通过与阀值En’比较,判断是否是残留指纹信号;
如果Ef’≤En’,则判断为残留指纹信号;
如果Ef’>En’,则进行步骤4。
4.对整个感测区域S的灰度值直方图进行统计,将灰度值小于Er’的像素点个数Ne’统计出来和阀值Nn’进行比较,若Ne’≥Nn’,则判断为残留指纹信号信号;若Ne’<Nn’,则判断为有效指纹信号,采集到的图像为有效指纹图像。
本发明在步骤4中灰度值Er’为灰度值0-255中某个值,具体根据传感器型号和试验结果而设定。
本发明的设计思路:首先分析打开照明光时图像前景区Sf的光强(灰度值)Ef,判定光强小于某一规定值En、或者其光强虽然大于En但该前景区域灰度值方差Df大于规定值Dn的图像含有指纹信息;否则,判定光学模块上没有指纹,返回启动照射光重新采集指纹图像。
由于上述判定为含有指纹信息的图像,具有有效指纹图像和残留指纹图像两种可能,需要进一步分析该图像在非照射条件下的统计特性,以便把残留指纹图像甄别出来。
此时,如果前景区光强Ef’小于某一规定值En’,可直接甄别出该图像为残留指纹图像。
在指纹识别产品实际应用环境中,有时还会遇到这样的情况:指纹残留痕迹清晰可辨,当干扰光变弱到某一强度时,会产生前景区的平均灰度值Ef’大于前述规定值En’的效果。为了提高指纹识别系统抗残留指纹干扰性能,还须对此种条件下产生的图像信号,作进一步的分析。具体方法如下:
对整个感测区域S的像素点的灰度直方图进行统计。计算灰度值小于某一规定灰度值Er’’的像素点个数Ne’,若Ne’大于等于某一阀值Nn’,则判断为指纹残留信号;否则,判定为有效指纹图像。
本技术方案的设计,来源于发明人的产品开发实践,基于对多幅残留指纹图像的的分析,找出其共性规律。即绝大多数的残留指纹图像上,分布着各种小黑点,而且灰度值集中在某个值Er’以下,例如:Er’=128,这是经过大量试验得出的经验值。因此,如果符合Ne’≥Nn’的条件,说明是残留指纹。
本发明有益的效果:本发明通过上述步骤很有效的将干扰光形成的指纹残留信号给排除出来。采用这种判别方法,程序量少,流程简单,速度快,不需要计算整副图像的方差从而减少计算量,提高指纹图像的预处理速度。
附图说明:
图1是光学传感器信号感测区域划分示意图;
图2是无照明灯,在外界干扰光下的残留指纹图像;
图3是无照明灯,在外界干扰光下的残留指纹图像的灰度直方图示意图;
图4为残留指纹甄别程序流程图。
具体实施例:
下面结合附图和实施例,对本发明作进一步的描述。
如图1所示,在彩色光学传感器CMOS/CCD的感测区域S内进行前、背景区的设定,前景区Sf,位于感测区域的中心部位,背景区Sb位于感测区域的边缘部位。
如图2和图3所示,残留指纹图像具有明显的指纹纹路,通过计算,可以得出图像前景区Sf灰度值Ef’=212,大于我们初定的阀值En’=200。此时需要对图像灰度直方图进行统计,把灰度值为某一值以下的像素点个数Ne’统计出来,和最初设置的阀值Nn’进行比较,若Ne’≥Nn’就可以判断指纹为残留指纹。
如图4所示,残留指纹甄别程序流程包括:
1.主控芯片通过I2C初始化传感器,设置好传感器CMOS/CCD参数,调整图像位置,保证采集图像都位于感测区域S内。
2.启动单色照明光开始采集图像,当采集到一副图像后,计算前景区Sf的灰度平均值Ef使其与阀值En比较,鉴别是否有指纹信号。其中灰度值的概念为:0为黑色,255为白色,依据颜色深浅范围为0~255.(一定介于0-255之间)。
1)CMOS传感器是由许多个感光单元组成的传感器阵列。前景区Sf的灰度值Ef就是Sf区域内各个感光像素点的灰度平均值,假设Sf中像素点个数为n,则Ef=(E1+E2+……+En)/n;其中E表示各个像素点的灰度值。
2)如果Ef≤En,则判断为有指纹信号。
3)如果Ef>En,则需要计算Sf区域灰度值方差Df,使其与阀值Dn比较,此处进行方差判断是因为某些人的手指比较干,纹路不清晰,灰度值较大,容易被判断为无指纹信号。人的指纹分为股和脊,其灰度值不是连续不变的,而方差是反映事物变化的量值,因此可以用计算方差的方法来判断指纹信号,其中
Dn=((E1-Ef)2+(E2-Ef)2+……+(En-Ef)2)/n。
若Df≥Dn,说明整个区域的灰度值变化很大,则判断为有指纹信号;
若Df<Dn,说明整个区域的灰度值变化不大,不符合指纹信号的特征,光学模块上没有指纹,系统返回操作2。
4)当确认有指纹信号后,还需要对指纹面积S’进行判断,避免采集指纹信号的时候面积太小,使最终产生的特征点太少而影响使用。将感测区域S分成N个16×16的小块,然后计算每小块的方差DN。将DN和Dn比较,若DN> Dn说明此小块有指纹信号,反之则没有指纹信号。然后将有指纹信息的小块的个数统计出来为n,S’=n/N×S,和面积的阀值Sn比较,若S’≥Sn说明这次采集到的指纹信号足够,若S’<Sn说明指纹信号不够返回步骤2。
3.当步骤2采集到指纹信号后,要判断此指纹信号是否是残留指纹信号,可以通过以下步骤实现:
1)关闭单色照明光,计算前景区Sf的灰度值Ef’表示,通过与阀值En’比较,判断是否是残留信号。
2)如果Ef’≤En’,则判断为残留指纹信号。
3)如果Ef’>En’,对整个感测区域S的灰度直方图进行统计,将灰度值小于Er’的像素点个数Ne’统计出来和阀值Nn’进行比较,若Ne’≥Nn’则判断为残留指纹信号。
4.当步骤3判断为残留指纹信号时,系统提示用户指纹采集装置有残留指纹信号,自动退出程序;如果步骤3中Ef’>En’,且Ne’<Nn’,则说明采集到的图像不是残留指纹图像,为有效指纹图像。