张晓东,岳 欢
(1.黑龙江省科学院,哈尔滨 150001; 2.黑龙江省科学院高技术研究院,哈尔滨 150010)
核安保指纹识别系统不同于传统指纹识别,对准确度要求极高。传统指纹识别需要对采集的指纹信息进行特征值的提取,通过对图像的规格化、块方向求取及二值化处理后可得到指纹的纹路信息,但在指纹采集过程中不可避免地受到噪声影响,这些噪声可以来自采集过程,也可以来自芯片电路噪声。为了提高图像处理效率和准确性,必须通过图像处理技术对指纹图像进行细化[1]。
通常采用的细化方法有:A.串行迭代细化法。该算法迭代性强,运算方式简单,前后操作具有关联性。B.并行细化算法。该方法采用相同操作反复处理噪声,不需要迭代提高细化效率。使用串行算法可以细化处理,每次都可基于上一次处理结果,因此在局部准确性上高于并行算法。缺点是每次计算对不同点是否保留算法不同,需要重新定义适度函数,信息丢失的可能性增加,细化效果不理想。并行细化采用相同的处理方法,对所有像素点进行计算,具有很高的计算效率。但每一点都采用统一的计算方式进行细化,往往产生不同的细化结果,有一些指纹在该细化模板细化后的效果并不理想[2-4]。针对串行算法细化效率低,对存在分歧点、分叉点、眼线等影响的图像,采用串、并混合的方法可有效地进行解决。本研究采用基于OPTA的算法改进细化方法提高指纹细化的效果[5-7]。
该算法以Z字形对每个指纹图像的各像素点(非背景点)P取如图1所示的10个邻域点。
图1 领域抽取Fig.1 Extraction of fields
抽取的邻域与文献[8]中的8个去除模板(图2)和4个保留模板(图3)对比,如果10邻域与8个去除模板对比后,8模板中只要有1个模板与10邻域完全匹配,即将此中心点与4个保留模板对比,如果与4个保留模板中的1个相同,则保留该中心点P,否则去除该中心点P,如果该点P与去除和保留模板中任意1个都不同,同样保留该点P。用该方法对经规格化、块方向求取及二值化这3种处理之后的图像进行点删除,直到不能删除为止,OPTA细化过程结束[8-11]。
图2 文献8中的去除模板Fig.2 Removal model of literature 8
图3 文献8中的保留模板Fig.3 Retain model of literature 8
典型的OPTA细化算法细化后往往具有大量毛刺(图4),细化效果非常不好,不利于后期对指纹图像的处理。
图4 毛刺示意图Fig.4 Burr diagram
(1)目标点、背景点及边界点:基于像素值划分,将值为“1”的点定义为目标点,值为“0”的点定义为背景点,在指纹图中纹路线为目标点,图中剩下的部分为背景点,而边界点的定义属于目标点,但其N4(P)中至少含有1个背景点。
(2)N4(P)与N8(P)点:每个像素点P都拥有基于它的1个3×3的邻域窗,可以用图5表示。P点拥有N4(P)与N8(P)点,即通常所说的4邻域和8邻域。N4(P)为P点的上下左右4个点,P点的4个对角点表示为ND(P),ND(P)与N4(P)点合起来为N8(P)。
(3)端点:边界点范围中的点。限制条件为该点的N8(P)领域中有且只能有1个点属于目标点。
(4)分叉点:该种类型点的N8(P)领域中至少含有3个及以上的目标点。
(5)关键点(断点):此点在指纹纹路线的连通处,对指纹纹路线是否连通起着重要作用,不能轻易删除。
单像素宽:对指纹纹路线的端点、连续点、分叉点用N8(P)领域中的目标点个数限制,纹路线中此三类点的最大目标点个数分别为1、2、3个,纹路线中这三类点的目标点个数全部满足的纹线才能被称作单像素宽。
图5 P点的邻域Fig.5 P point field
使用OPTA算法处理图像时需要对所有边界点进行判别。假设某边界点为P,定义以下两个特征向量USUM和VSUM,其中:
(1)
(2)
定义删除条件:
(VSUM=2)δ(USUM<6)δ(USUM!=1)
(3)
图6 细化过程中要去掉的点Fig.6 Point which should be taken out during refining
除边界点外,图6中给出指纹图像细化过程中不需要的点,还有分歧点、孤立点、三角点等(图7)。
图7 各类型的核心点Fig.7 Core points of all kinds
对于删除点,学者们提出了不同的去除方法[12-14]。不同去除点可采用以下方式进行描述:
定义两点p,q之间的距离为disce(p,q),其单位为像素。如果两点在同一条纹路线上l(p,q)=1,否则l(p,q)=0;两点p,q所处局部邻域的纹线方向角为θ(p,q),两点p,q所成的线与横轴间夹角为θx(p,q),用下式定义Δθ:
Δθ=θx(p,q)-θ(p,q)
(4)
端点的判别条件为其N8(P)满足下式:
(5)
分叉点的判别条件为其N8(P)满足下式:
(6)
毛刺的判别条件:满足以下任意判别式的端点和分叉点进行去除。
(disce(p,q)<4)Λ(l(p,q)=1)
(7)
(disce(p,q)<8)Λ(l(p,q)=1)
(8)
断线的判别方法:
(disce(p,q)<7)Λ(Δθ≈0)
(9)
小桥的判别方法:
(10)
(disce(p,q)<7)
(11)
通过以上去除公式可有效地对边界点进行去除。对于特殊的边界点需要进行P的15邻域像素去除(图8)。
图8 P点的15邻域Fig.8 15 fields of P points
根据以下模板进行去除点的判别:
图9 新定义的去除模板Fig.9 Removal model of new definitions
由于模板的限制,对于P点邻域细化有可能带来有效信息被误删,从而产生细化过程信息丢失的问题。采用保留模板的方法可有效避免这一情况的发生。在15邻域中包含任意与A~H匹配且N12(P)与下列模板不匹配,应当进行去除(图9),若N12(P)与下列复原模板相匹配则进行保留(图10)。
图10 新定义的保留模板Fig.10 Remained model of new definitions
进行细化后,还需要去除分叉点与毛刺,其模板为图11的I~K 。
图11 再次进行匹配4个新模板Fig.11 4 new models after rematch
在这种算法中,既有迭代的串行方法,又对不同类型噪声进行了并行处理。
本算法中涉及的指纹图片来源于以TMS320VC5509型号DSP和EPM240T100C5N型号CPLD为核心控制指纹采集芯片FPS200获得的图像[15]。
本系统设计的仿真算法运行环境为Win7系统下的MATLABR2010A。对3个不同的指纹经过典型OPTA算法的细化图像和基于OPTA改进算法的细化图像对比如下:
图12Fig.12
以上9个图片中:
a,d,g为3个指纹的二值化图;
b,e,k为3个指纹经过典型OPTA细化算法后的图像;
c,f,h为3个指纹经本研究的基于OPTA的串并行混合算法细化后的图像。
对3个指纹经两种不同细化算法之后的图像进行对比可以看出,图c,f,h中的细化效果明显优于图b,e,k中的细化效果,其具体表现为:毛刺数量的大量减少,部分分叉点、断线、眼线、小桥被去除,细化后的纹路更接近指纹二值化后的图像。
典型OPTA细化算法中确实存在细化后图像毛刺数量多,大量分叉点、断线、眼线、小桥没有被去除的情况。通过去除公式的重新定义,如果满足相应的条件即予以删除,并且定义了一种新的去除模板、保留模板、再次匹配模板以及基于4个再次匹配模板的关键点保留条件,经过串并行混合算法设计后,从仿真结果看出指纹图像细化效果明显提高,该改进细化算法优于传统的OPTA细化算法。
该算法应用在核电站门控系统、核安保指纹识别系统,可有效提高系统识别效率及准确性,为核电指纹识别系统提供技术支持。