[0093] 下面结合附图对本发明的具体实施例做进一步的说明。
[0094] 如图1‑10所示,一种结合细节点和细线结构的指纹识别方法,具体实现过程如下:
[0095] 步骤1、采集所有注册用户的手指指纹图像,并分别对指纹图像进行预处理和特征提取,得到细节点和细线结构特征,并分别保存到数据库中,建立手指指纹数据库;
[0096] 步骤2、采集待识别用户的手指指纹图像,并对指纹图像进行预处理和特征提取,得到待识用户的手指指纹图像的细节点特征和细线结构特征;
[0097] 步骤3、对待识用户的手指指纹图像进行匹配:
[0098] 步骤1具体实现如下:
[0099] 1‑1.采集注册用户的手指指纹图像,对指纹图像灰度处理,得到指纹图像的原始灰度图像,如图3;
[0100] 1‑2.通过基于梯度的方向场计算方法得到原始灰度图像的方向场,如图4,并对原始灰度图像进行分割,获取指纹纹线区域图像;如图5;
[0101] 1‑3.对指纹纹线区域图像进行图像增强,如图6;
[0102] 1‑4.将增强后的指纹纹线区域图像转变为二值化图像,如图7;
[0103] 1‑5.滤除二值化图像中噪声,再进行骨骼化处理,然后对骨骼化处理后的图像进行去毛刺处理,得到指纹细线结构图像,如图8;
[0104] 1‑6.通过纹线跟踪方法寻找指纹细线结构图像的细节点,得到指纹细线结构图像的细节点,如图9,并将得到指纹细线结构图像和指纹细线结构图像对应的细节点作为一对存放到数据库中;
[0105] 1‑7.重复步骤1‑1~1‑6,将所有注册用户采集完毕,建立指纹数据库。
[0106] 步骤2具体实现如下:
[0107] 步骤2、采集待识别用户的手指指纹图像,并对指纹图像进行预处理和特征提取,得到待识用户的手指指纹图像的细节点特征和细线结构特征;
[0108] 2‑1.采集待识别用户的手指指纹图像,对指纹图像灰度处理,得到指纹图像的原始灰度图像;
[0109] 2‑2.通过基于梯度的方向场计算方法得到原始灰度图像的方向场,并对原始灰度图像进行分割,获取指纹纹线区域图像;
[0110] 2‑3.对指纹纹线区域图像进行图像增强;
[0111] 2‑4.将增强后的指纹纹线区域图像转变为二值化图像;
[0112] 2‑5.滤除二值化图像中噪声,再进行骨骼化处理,然后对骨骼化处理后的图像进行去毛刺处理,得到指纹细线结构图像;
[0113] 2‑6.通过纹线跟踪方法寻找指纹细线结构图像的细节点,得到指纹细线结构图像的细节点,得到指纹图像的细节点特征;
[0114] 步骤3、对待识用户的手指指纹图像进行匹配:
[0115] 3‑1.如图10所示,根据细节点描述子,利用细节点周围的方向场信息,获取最佳基准点对:
[0116] 3‑1‑1.输入两幅指纹图像A和B,A是待识别指纹图像,提取的细节点为集合A={a1,a2,···,an,···,aN};B为指纹库中的任意指纹图像,提取的细节点为集合B={b1,b2,···,bm,,bM}。
[0117] 3‑1‑2.选取指纹图像A中的任意一个细节点an,遍历指纹图像B中的所有细节点,若指纹图像B中存在细节点bm,且两个细节点an、bm满足类型相同,且位置平移在(±Δx0,±Δy0)范围内,则进入步骤3‑1‑4;若遍历指纹图像B中的所有细节点后不存在与细节点an对应的细节点bm,则放弃指纹图像A中的细节点an;
[0118] 3‑1‑3.继续从指纹图像A中的选取一个细节点,重复步骤3‑1‑2,直至遍历完指纹图像A中的所有细节点。
[0119] 3‑1‑4.构建细节点描述子,描述子包括细节点周围的方向场中的三个辅助点;计算三个辅助点中两两点之间的相对角度差:
[0120] Δθk=|θi‑θj|(i,j=0,1,2,3;i<j) (1)
[0121] 式(1)中,k为细节点描述子中相对角度差对应编号,其范围为1≤k≤6。
[0122] 两细节点间第k角度偏差记为G(k):
[0123]
[0124] 式(2)中, 为细节点an的相对角度差, 为细节点bm的相对角度差。
[0125] 3‑1‑5.判断两细节点是否是初步基准点,如果式(2)中任意G(k)大于阈值T1,说明两点不匹配,返回步骤3‑1‑2;否则两细节点为初步基准点。记录初步基准点集Q,匹配对数为L,每对初步基准点之间的位置偏移(Δxi,Δyi,Δθi)。
[0126] 3‑1‑6.从初步基准点对集Q中寻找最佳基准点。
[0127] 计算集合初步基准点对集中任意一对匹配点(Δxi,Δyi,Δθi)(i=1,2,···L)与集合Q(Δx,Δy,Δθ)中剩余的所有匹配点的偏差di:
[0128]
[0129] 在式(3)中,将di中小于最佳基准点阈值T2的个数值组成集合D,选取集合D中最大值Cm,最大值Cm对应的匹配点为最佳基准点,即ai和bj为最佳基准点对,其对应的位置偏差参数为(Δxij,Δyij,Δθij)。
[0130] 步骤3‑2.细节点特征匹配
[0131] 3‑2‑1.对细节点集中所有点的位置进行校准,公式如下:
[0132]
[0133] θ'=θ+Δθij (5)
[0134] 其中,S0为尺度变换参数。待识别指纹细节点集A={a1,a2,···,aN}经过平移和旋转(Δxij,Δyij,Δθij)变换成A'={a′1,a'2,···,a'N}。
[0135] 3‑2‑2.通常定义的两个细节点匹配,一般通过二者“距离”度量。先计算a′i和bj的位置距离d(a′i,bj)和方向场角度差dθ(a′i,bj)。如果d(a′i,bj)小于位置距离经验阈值Td,且dθ(a′i,bj)小于方向场角度差经验阈值Tθ,则两个细节点匹配。
[0136]
[0137] dθ(a′i,bj)=min(|θ′i‑θj|,360°‑|θ′i‑θj|) (7)
[0138] 根据(6)(7)两式,计算两个匹配的细节点相似度s:
[0139]
[0140] 式中k、σ是常数,d是两细节点位的置距离,dθ为两细节点方向场角度差。
[0141] 3‑2‑3.根据(8)式,统计全部匹配点的数目,按下式计算细节点匹配分数:
[0142]
[0143] 其中,NM为匹配点数目,N和M分别是待识指纹细节点数目和模板细节点数目。
[0144] 3‑3.指纹细线结构匹配
[0145] 3‑3‑1.指纹图像A提取的细线结构点集为 指纹图像B提取的细线结构集合 点集 中每个点只含位置信息(x,y),x、y分别表示该点横坐
标和纵坐标。
[0146] 3‑3‑2.根据公式(4)的变换关系,待识别指纹细线结构点集 经过平移和旋转(Δxij,Δyij,Δθij)变换成 变换后的 与库
指纹 比较得到两个指纹重叠区域占比T',如果T'大于预设定的细线结构重合区域面积占比阈值T3,则在重叠区域内进行细线结构特征的匹配,从而进入步骤3‑3‑3判断指纹是否匹配;否则说明两指纹重合区域太小,不是同一手指的指纹,判定为不匹配。
[0147] 3‑3‑3.改进的Hausdorff距离常作为相似性度量进行图像匹配,本发明采用领域搜索细线结构距离的识别方法,利用细线结构距离 来作为两指纹细线结构的相似度指标,具体计算如下:
[0148] 细线结构点集 到 的距离定义:
[0149] 将细线结构点集 中p个点到细线结构点集 的距离按升序排序,取前i个距离值的平均值作为细线结构点集 到 的距离值:
[0150]
[0151] 式(10)中,1≤i≤p,p为细线结构点集 中点的个数,Ith表示升序排序,||·||是之间的欧氏距离。
[0152] 同理,细线结构点集 到 的距离定义:
[0153] 将细线结构点集 中q个点到细线结构点集 的距离按升序排序,取前j个距离值的平均值作为细线结构点集 到 的距离值:
[0154]th
[0155] 式中,1≤j≤q,q为点集 中点的个数,I 表示升序排序,||·||是 之间的欧氏距离。
[0156] 细线结构点集 和细线结构点集 直线的的匹配分数如下:
[0157]
[0158] 指纹细线结构中的点数要远远多于指纹特征点数,如果使用每个点搜索的方法对指纹细线结构进行匹配,需要消耗大量的运算时间。为了降低运算时间,采用领域搜索细线结构距离的识别方法。
[0159] 由(10)式中可看出,细线结构点集A'中任意一个点到点集B的距离,需要计算该点到点集B中所有点之间的距离,取其中最小的点;由此可知这种计算方式消耗了大量的时间。如果只是搜索该点到点集B中相应位置的领域(Δx,Δy)范围内的点的距离,一方面计算的距离值不变,另一方面可以节省的计算时间。
[0160] 3‑4.融合决策中心
[0161] 由于细节点特征和细线结构特征是不同本质的特征,其阈值计算方式是不同的,在决策层上利用分数层信息进行特征融合,表达式如下:
[0162]
[0163] 其中,α为权重,SH为细线结构特征计算得到的匹配分数;
[0164] 匹配结果判定如下:
[0165] 其中c为实验得出的2幅指纹图像的相似度阈值,小于c认为是不同类指纹图,否则认为是同类指纹图像。
[0166] 实施例:
[0167] 用采集设备在实验内采集指2000个注册用户的指纹图像,建立不正常指纹图像数据库和正常指纹图像混合的数据库。其中不正常指纹图像数据库占据20%左右,包含低质量指纹,小面积指纹,扭曲指纹以及潜在指纹等图像。采集的指纹图像经过预处理后提取指纹特征信息并保存。
[0168] 依次采集已注册用户的指纹图像,作为待识别用户,利用细节点描述子找出两指纹的参考点,根据参考点位置偏差,对待识别指纹进行细节点和细线结构对齐,再分别求点模式下的匹配情况和细线结构下的匹配情况,最后进行两情况的融合,判断两指纹是否匹配。得出2000个识别结果,其中有4个未识别出为已注册用户,识别率为99.84%,基于VS2017平台计算出匹配一次用时4.65毫秒。而采用数据库只存放特征点数据的方法,有124个未识别出已注册用户,识别率为95.04%,而只采用数据只存放细线结构数据库的方法,平均匹配用时为10.12毫秒。
[0169] 实施例结果表明,本专利的基于细节点和细线结构结合的指纹识别算法在节省时间的同时保证了较高的识别率。
[0170] 最后需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。