买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】自动指纹分类方法_桂林理工大学_201711490895.1 

申请/专利权人:桂林理工大学

申请日:2017-12-30

公开(公告)日:2021-04-09

公开(公告)号:CN108268836B

主分类号:G06K9/00(20060101)

分类号:G06K9/00(20060101);G06K9/46(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.09#授权;2018.08.03#实质审查的生效;2018.07.10#公开

摘要:本发明公开了一种自动指纹分类方法。本发明把指纹分为六类:左箕型、右箕型、斗型、拱型、尖拱型和无法判断。本指纹分类依赖于指纹块方向图特征和指纹奇异点(中心点和三角点)数目和位置。分析训练指纹图像块方向场,生成分类数据库(4方向块数、方向块4方向位置,方向块8方向位置,无法判定数据库)。对测试指纹图像方向场,根据分类数据库进行分类。本发明方法不易受指纹质量的影响,对无法判定的指纹图像,根据奇异点数量、位置及分类数据库,再次判定。

主权项:1.一种自动指纹分类方法,其特征在于该自动指纹分类方法包括训练过程和测试过程,具体步骤为:1人工将训练用指纹图像分为六类,所述六类为左箕型、右箕型、斗型、拱型、尖拱型和无法判断,对判为前五类的指纹进行训练,将H×W的指纹图像划分为16像素×16像素大小的块,其中H为所述指纹图像高度,W为所述指纹图像宽度,图像共有bi×bj块,计算块方向图特征,即4方向块数、方向块8方向位置,将块方向图特征及指纹类型存入特征数组feature中,14列,第1~4列分别表示:方向1块数,方向2块数,方向3块数,方向4块数,第5~13列存放各块质心的8方向位置,第14列为指纹类型;2取特征数组feature中块方向图特征即4方向块数及指纹类型,删除重复行,删除4方向块数相同但不同指纹类型的行,生成4方向块数数据库class_dire_num,5列,分别为方向1块数,方向2块数,方向3块数,方向4块数,指纹类型;3取特征数组feature,删除按4方向块数可以分类的行,根据方向块8方向位置,计算出方向块4方向位置即象限,删除重复行,删除4方向块数、方向块4方向位置相同但指纹类型不同的行,生成方向块4方向位置数据库class_dire4,14列,第1~4列分别表示:方向1块数,方向2块数,方向3块数,方向4块数,第5~13列存放各块质心的4方向位置,第14列为指纹类型;4取特征数组feature,删除按4方向块数、方向块4方向位置可以分类的行,删除重复行,删除4方向块数、方向块8方向位置相同但指纹类型不同的行,生成方向块8方向位置数据库class_dire8,14列,第1~4列分别表示:方向1块数,方向2块数,方向3块数,方向4块数,第5~13列存放各块质心的8方向位置,第14列为指纹类型,特征相同但指纹类型不同的行生成无法判定数据库cantjudge,格式同class_dire8,所述特征即4方向块数、方向块8方向位置;5对测试指纹进行预处理,计算块方向图特征即4方向块数、方向块8方向位置;6以测试指纹的4方向块数搜索4方向块数数据库class_dire_num,如果找到,输出指纹类型,测试结束,否则执行步骤7;7根据测试指纹的方向块8方向位置,计算出方向块4方向位置,以4方向块数和方向块4方向位置搜索方向块4方向位置数据库class_dire4,如果找到,输出指纹类型,测试结束,否则执行步骤8;8以4方向块数和方向块8方向位置搜索方向块8方向位置数据库class_dire8,如果找到,输出指纹类型,测试结束,否则执行步骤9;9以4方向块数和方向块8方向位置搜索无法判定数据库cantjudge,如果找到若干行,将可能指纹类型存入类型数组lx中,否则记类型数组lx1=0,表示训练指纹中没有出现这种特征的指纹;10寻找奇异点,记录奇异点所在块位置和个数;11删除伪奇异点;12如果没有找到奇异点,扩大范围尝试搜索一个中心点;13按Henry分类方法即奇异点个数、位置及类型数组lx判断指纹类型,无法判断的判为无法判断;所述步骤1中块方向图特征的计算包括以下步骤:a.使用梯度法计算块方向图dirbo,分块计算掩码fmsk;b.取四个方向特征,将块方向图dirbo改为块四方向图dir4,方法是c.由四方向图dir4生成方向图1,用半径为1的圆盘型结构元素腐蚀方向图1,计算腐蚀后方向图1的连接分量,计算连接分量的质心的8方向位置pos8,用1-8表示,当连接分量中像素的数目小于等于4时忽略此块;分别计算方向图2、3、4的块数和质心位置,存储在特征数组feature中,每个指纹一行;所述步骤3中根据方向块8方向位置pos8计算方向块4方向位置pos4,用1~4表示,分别表示1~4象限,方法是所述步骤10中奇异点包括中心点和三角点,包括以下步骤:a.奇异点中心点个数singularcore和三角点个数singulardelta初始化为0;b.对指纹块方向图dirbo中的除图像边缘外的每一个方块,计算方向旋转的变化量总和Poincare:△dk=dk-dk+1mod8,k=0,1……7;如果△dk≥90,△dk=△dk-180;如果△dk≤-90,△dk=△dk+180; c.如果块i,j、块i-1,j,块i-1,j-1,块i,j-1的Poincare值均为180,块i,j是前景块,且其3×3邻域有5块以上是前景块,则中心点个数singularcore加1,将位置i,j记录在位置数组xx1和yy1中;d.如果块i,j、块i-1,j或块i-1,j-2,块i-1,j-1,块i,j-1的Poincare值均为-180,块i,j是前景块,且其3×3邻域有5块以上是前景块,三角点个数singulardelta为0或singulardelta为1且与前一个三角点间距离大于3,则三角点个数singulardelta加1,将位置记录i,j在位置数组xx2和yy2中;所述步骤11中删除伪奇异点方法如下:a.对每个含有中心点的块,如果其5×5的领域中含有Poincare值为-180的块,则该块中的中心点为伪中心点,中心点个数singularcore减1,删除位置数组xx1及yy1中记录的相应位置;b.对每个含有三角点的块,如果其5×5的领域中含有Poincare值为180的块,则该块中的三角点为伪三角点,三角点个数singulardelta减1,删除位置数组xx2及yy2中记录的相应位置;所述步骤12搜索一个中心点,方法如下:对所述步骤10结果中Poincare值为180且不在图像边缘的块i,j,所述图像边缘即第1,2行,倒数1,2行,第1,2列,倒数1,2列,按5×5邻域计算方向旋转的变化量总和Poincare:△dk=dk-dk+1mod8,k=0,1……7;如果△dk≥90,△dk=△dk-180;如果△dk≤-90,△dk=△dk+180; 如果Poincarei,j=180,中心点个数singularcore=1,将位置i,j记录在位置数组xx1和yy1中,执行步骤13;所述步骤13的分类方法如下:a.如果中心点个数singularcore=2或三角点个数singulardelta=2,且类型数组lx中含有3或类型数组lx1=0,判为斗型;b.如果中心点个数singularcore=1或三角点个数singulardelta=1,类型数组lx有两个元素,且其中一个为4,则判为另一指纹类型;c.如果中心点个数singularcore=0且三角点个数singulardelta=0,且类型数组lx中含有元素4,判为拱型;d.如果中心点个数singularcore=1且三角点个数singulardelta=0,按以下方法判断:如果中心点左下部分或右下部分前景小于5块,则不是拱型,但无法判断;设s1为中心点左下部分除了左边界和下边界外,大于-90度且小于0度的块数,s2为中心点右下部分除了右边界和下边界外,大于0度且小于90度的块数;如果s1<2,且类型数组lx中含有1,判为左箕型;如果s2<2,且类型数组lx中含有2,判为右箕型;如果s1-s2>thre1,s2<thre2,且类型数组lx中含有2,判为右箕型;如果s2-s1>thre3,s1<thre4,且类型数组lx中含有1,判为左箕型;如果s1>thre5,s2>thre5,且类型数组lx中含有3,判为斗型;thre1,thre2,thre3,thre4,thre5为阈值;e.如果中心点个数singularcore=0且三角点个数singulardelta=1,计算三角点位置在图中的相对位置yy21bj,所述bj为图像宽度,单位为块;如果yy2bj>thre6,且类型数组lx中含有1,判为左箕型;如果yy2bj<thre7,且类型数组lx中含有2,判为右箕型;thre6,thre7为阈值;f.如果中心点个数singularcore=1且三角点个数singulardelta=1,计算中心点与三角点连线与中线夹角按以下方法判断:如果π12>slope>-π12,且类型数组lx中含有5,判为尖拱型;如果π12>slope>-π12,且类型数组lx中不含有5;如果s1<2,且类型数组lx中含有1,判为左箕型;如果s2<2,且类型数组lx中含有2,判为右箕型;如果s1-s2>thre1,s2<thre2,且类型数组lx中含有2,判为右箕型;如果s2-s1>thre3,s1<thre4,且类型数组lx中含有1,判为左箕型;如果s1>thre5,s2>thre5,且类型数组lx中含有3,判为斗型;thre1,thre2,thre3,thre4,thre5同步骤d,为阈值;如果slope≥π12,且类型数组lx中含有1,判为左箕型;如果slope≤-π12,且类型数组lx中含有2,判为右箕型;g.当步骤13的前述步骤都未能判断指纹类型时,判为无法判断。

全文数据:自动指纹分类方法技术领域[0001]本发明涉及计算机技术领域,特别是涉及一种自动指纹分类方法。背景技术[0002]每个人的指纹都是唯一的,常常用于识别人的身份的。指纹识别需要在的指纹库大量指纹中找出指定的指纹。为了减少查找范围,先对指纹进行分类,再对同一类别的指纹进行比对,加快识别速度。[0003]—般指纹分类经过以下几个步骤:指纹分割,计算块方向场,寻找奇异点及指纹分类。[0004]—、指纹分割[0005]将原始指纹图像(图1分为前景和背景两部分,只对前景进行处理。分割常常将指纹图像分为大小相同的小块,根据图像的灰度、方差、方向一致性、对比度等特征进行划分,生成分割掩码。[0006]二、计算方向场[0007]根据指纹图像的灰度变化,分块计算方向,生成块方向图(图2。[0008]三、寻找奇异点[0009]奇异点的定位通常采用方向旋转特性Poincare索引):在某点领域内,围绕该点的闭合曲线旋转一周,计算方向旋转的变化量总和,中心点的方向变化量为180,三角点的方向变量为-180,其他位置为0。[0010]四、指纹分类[0011]Henry分类模式根据奇异点位置和数量、方向场、纹线跟踪和纹理特征,将指纹分成五类:左箕型(leftloop、右箕型(rightloop、斗型whorl、拱型(arch和尖拱型tentedarch。它们具有以下特征:[0012]左箕型纹线从左侧进入并从左侧出去,有1个中心点和1个三角点(位于中心点右侦U;[0013]右箕型纹线从右侧进入并从右侧出去,有1个中心点和1个三角点(位于中心点左侦U;[0014]斗型至少有一条纹线有360度旋转,有2个中心点和2个三角点;[0015]拱型一部分纹线从指纹一侧进入,从另一侧出去,没有奇异点;[0016]尖拱型与拱型类似,至少有一条纹线有比较明显的尖拱,有1个中心点和1个三角点位于奇异点正下方)。[0017]指纹质量较低或指纹不全时,指纹的奇异点检测会比较困难,或无法检出,没有找到奇异点不能直接判定为拱型,仅依靠奇异点特征容易造成误判。目前,这一问题没有很好解决。发明内容[0018]本发明的目的是提供一种自动指纹分类方法。这种方法不易受指纹质量的影响,根据块方向图特征和指纹奇异点(中心点和三角点)数目和位置将指纹分为五类及不可判定类。[0019]为了达到这个目的,本发明提供了一种自动指纹分类方法,包括以下步骤,其中:⑴〜⑷步为训练过程如图4所示),用于生成分类数据库4方向块数、方向块4方向位置、方向块8方向位置,无法判定数据库),分类数据库可更新,所述⑶〜(13步为测试过程,如图5所示:[0020]1人工将训练用指纹图像分为六类,对判为前五类的指纹进行训练。将HXW的指纹图像划分为16X16大小的块,图像共有biXbj块,计算块方向图特征4方向块数、方向块8方向位置),将块方向图特征及指纹类型存入特征数组feature中(14列,第1〜4列分别表示:方向1块数,方向2块数,方向3块数,方向4块数,第5〜13列存放各块质心的8方向位置,第14列为指纹类型);[0021]⑵取特征数组feature中块方向图特征4方向块I»及指纹类型,删除重复行,删除特征4方向块数相同但不同类型的行,生成4方向块数数据库cIass_dire_num5列,分别为方向1块数,方向2块数,方向3块数,方向4块数,指纹类型);[0022]3取特征数组feature,删除按4方向块数可以分类的行,根据方向块8方向位置,计算出方向块4方向位置象限),删除重复行,删除特征4方向块数、方向块4方向位置相同但类型不同的行,生成方向块4方向位置数据库class_dire414列,第1〜4列分别表示:方向1块数,方向2块数,方向3块数,方向4块数,第5〜13列存放各块质心的4方向位置,第14列为指纹类型);[0023]⑷取特征数组feature,删除按4方向块数、方向块4方向位置可以分类的行,删除重复行,删除特征4方向块数、方向块8方向位置相同但类型不同的行,生成方向块8方向位置数据库class_dire814列,第1〜4列分别表示:方向1块数,方向2块数,方向3块数,方向4块数,第5〜13列存放各块质心的8方向位置,第14列为指纹类型),特征4方向块数、方向块8方向位置)相同但类型不同的行生成无法判定数据库cantjudge格式同class_dire8;[0024]⑶对测试指纹进行预处理,计算块方向图特征4方向块数、方向块8方向位置);[0025]6以测试指纹的4方向块数搜索4方向块数数据库class_dire_num,如果找到,输出指纹类型,测试结束,否则执行步骤7;[0026]7根据测试指纹的方向块8方向位置,计算出方向块4方向位置,以4方向块数和方向块4方向位置搜索方向块4方向位置数据库class_dire4,如果找到,输出指纹类型,测试结束,否则执行步骤8;[0027]8以4方向块数和方向块8方向位置搜索方向块8方向位置数据库class_dire8,如果找到,输出指纹类型,测试结束,否则执行步骤9;[0028]⑶以4方向块数和方向块8方向位置搜索无法判定数据库cantjudge,如果找到若干行,将可能类型存入类型数组Ix中,否则记Ix⑴=〇,表示训练指纹中没有出现这种特征的指纹;[0029]10寻找奇异点,记录奇异点所在块位置和个数;[0030]11删除伪奇异点;[0031]12如果没有找到奇异点,扩大范围搜索一个中心点;[0032]13按Henry分类方法倚异点个数、位置及类型数组Ix判断指纹类型,无法判断的判为无法判断。[0033]所述第⑴步中六类为1.左箕型,2.右箕型,3.斗型,4.拱型,5.尖拱型和6.无法判断;[0034]块方向图特征的计算包括以下步骤:[0035]a.使用梯度法计算块方向图dirbo,分块计算掩码fmsk;[0036]b.取四个方向特征(如图6示),将块方向图dirbo改为块四方向图dir4如图7示),方法是[0037]c.由四方向图dir4生成方向图1,用半径为1的圆盘型结构元素腐蚀方向图1,计算腐蚀后方向图1如图8a的连接分量,计算连接分量的质心的8方向位置pos81-8表示,如图9所示)(连接分量中像素的数目小于等于4时忽略此块);同理计算方向2、3、4的块数和质心位置如图8b,8c,8d示),存储在特征数组feature中,每个指纹一行。[0038]所述第⑶步中根据方向块8方向位置pos8计算方向块4方向位置pos41〜4表示,分别表示1〜4象限,如图10所示)的方法是[0039]所述第10步中奇异点包括中心点和三角点,包括以下步骤:[0040]a.奇异点中心点个数singularcore和三角点个数singulardelta初始化为0;[0041]b.对指纹块方向图dirbo中的除图像边缘第一行,最后一行,第一列,最后一列)外的每一个方块,计算方向旋转的变化量总和Poincare如图9示):[0042]Adk=dk~dk+im〇d8k=0,1......7[0043]如果Adk彡90,Adk=Adk—180[0044]如果Adk彡一90,Adk=Adk+180[0045][0046]c.如果块i,j、块i—l,j,块(i—l,j—l,块—的Poincare值均为180,块i,j是前景块,且其3X3邻域有5块以上是前景块,则中心点个数singularcoreWM#位置i,j记录在位置数组χχΐ和yyi中;[0047]d·如果块(i,j、块(i—Lj或块(i—!,j一2,块(i—i,j—i,块(i,j—i的Poincare值均为一180,块(i,j是前景块,且其3X3邻域有5块以上是前景块,三角点个数singulardeIta为0或singulardelta为1且与前一个三角点间距离大于3,则三角点个数singulardelta加1,将位置记录i,j在位置数组xx2和yy2中。[0048]所述第11步删除伪奇异点方法如下:[0049]a.对每个含有中心点的块,如果其5X5的领域中含有Poincare值为-180的块,则该块中不含中心点,中心点个数singuIarcore减1,删除位置数组XX1及yy1中记录的相应位置;[0050]b.对每个含有三角点的块,如果其5X5的领域中含有Poincare值为180的块,则该块中不含三角点,三角点个数singulardelta减I,删除位置数组xx2及yy2中记录的相应位置;[0051]所述第12步搜索一个中心点,方法如下:[0052]对第(10步结果中Poincare值为180且不在图像边缘第1,2行,倒数1,2行,第1,2列,倒数1,2列)的块i,j,按图11b计算方向旋转的变化量总和Poincare:[0053]Adk=dk~dk+im〇d8k=0,1......7[0054]如果Adk彡90,Adk=Adk—180[0055]如果Adk也代1,82〈让代2,且类型数组中含有2,判为右箕型;[0068]如果82—811:1^63,81〈1:1^64,且类型数组中含有1,判为左箕型;[0069]如果slthre5,s2thre5,且类型数组中含有3,判为斗型;[0070]threl,1:11代2,1:11代3,1:11代4,1:11代5为阈值;[0071]e·如果中心点个数Singularcore=O且三角点个数singulardelta=1,计算三角点位置在图中的相对位置yy2Ibjbj为图像宽度,单位块);[0072]如果yy2bjthre6,且类型数组中含有1,判为左箕型;[0073]如果yy2bj〈thre7,且类型数组中含有2,判为右箕型;[0074]thre6,thre7为阈值;[0075]f.如果中心点个数singularcore=1且三角点个数singulardelta=1,计算中心点与三角点连线与中线夹角,按以下方法判断:[0076]如果Vl2Sl〇pe—V12,且类型数组中含有5,判为尖拱型;[0077]如果Vl2Sl〇pe—Ji12,且类型数组中不含有5,设si为中心点左下部分除了左边界和下边界外,大于-90度且小于0度的块数,s2为中心点右下部分除了右边界和下边界夕卜,大于0度且小于90度的块数;[0078]如果81〈2,且类型数组中含有1,判为左箕型;[0079]如果s2〈2,且类型数组中含有2,判为右箕型;[0080]如果Sl—82也代1,82〈让代2,且类型数组中含有2,判为右箕型;[0081]如果82_811:1^63,81〈1:1^64,且类型数组中含有1,判为左箕型;[0082]如果slthre5,s2thre5,且类型数组中含有3,判为斗型;[0083]threI,thre2,thre3,thre4,thre5同步骤d,为阈值;[0084]如果slope彡V12,且类型数组中含有1,判为左箕型;[0085]如果slope彡一V12,且类型数组中含有2,判为右箕型;[0086]g·如果不满足a,b,c,d,e,f,判为无法判断。附图说明[0087]图1为原始指纹图像。[0088]图2为块方向图。[0089]图3为掩码,前景为白色,背景为黑色。[0090]图4为训练过程的流程图。[0091]图5为测试过程的流程图。[0092]图6为方向图的四个方向。[0093]图7为四方向图,方向1到方向4,方向1为黑色,颜色逐渐变淡,方向4为淡灰色,背景为白色。[0094]图8为各方向图,其中a为方向图1,(b方向图2,(c方向图3,(d方向图4。[0095]图9为8方向位置。[0096]图10为4方向位置。[0097]图11为指纹方向旋转特性,其中a为3X3邻域,(b为5X5邻域。具体实施方式[0098]实施例:[0099]本发明的流程如图2所示,将训练用指纹图像编号,对人工判定为前五类的指纹进行训练,训练过程如下:[0100]I.HXW的指纹图像划分为16X16大小的块,分块图像高,分块图像宽为,对每一个16X16的分块,计算块方向和掩码,方法如下:[0101]块的灰度平均倡[0102]块标准偏差[0103]块灰度对比度(nl为块中灰度值大于或等于块灰度均值avgb的点数,n2为块中灰度值小于块灰度均值avgb的点数,tl为块中灰度值大于或等于块灰度均值avgb的所有点灰度值之和,t2为块中灰度值小于块灰度均值avgb的所有点灰度值之和);[0106]块方向一致性[0107]块方向块方向图如图2示;[0108]当avgb〈thre6,varb〈thre7,zb〈thre8,cohb〈thre9时为背景块,否则为前景块,thre6,thre7,thre8,thre9为阈值,掩码fmsk如图3不。[0109]2.计算块方向图特征,方法如下:[0110]块四方向块四方向图如图7所示;[0111]方向图1[0112]结构元素[0113]diagl=diaglΘSe;使用se对diagl进行腐蚀,腐蚀后方向图1如图8a所示;[0114]如果连通分量中像素的数目nl大于5时,计算连通分量质心的8方向位置pos8,方法是:[0115]xi,yi为像素(即块的坐标;[0116][0117]同理计算方向图2、方向图3、方向图4;[0118]方向图2:使用se对diag2进行腐蚀,腐蚀后方向图2如图8b所示,方向图2块数n2=2;[0119]方向图3:使用se对diag3进行腐蚀,腐蚀后方向图3如图8c所示,方向3块数n3=2连通分量中像素的数目η小于等于4时不算);[0120]方向图4:;使用se对diag4进行腐蚀,腐蚀后方向图4如图8d所示,方向图2块数n4=2。[0121]3.生成特征数组feature[0122]featurek,I=nl;featurek,2=n2;featurek,3=n3;featurek,4=n4;[0123]featurek,14=指纹类型(I〜5;第5〜13列存放各块质心的8方向位置;[0124]k为训练指纹编号;[0125]4.生成4方向块数数据库class_dire_num,方法如下:[0126]取特征数组feature第1〜4列,第14列,生成数组class_dire_num共5列);[0127]删除数组class_dire_num重复行;[0128]删除数组class_dire_num第1〜4列相同,但第5列不同的行。[0129]5.生成方向块4方向位置数据库class_dire4,方法如下:[0130]复制特征数组:class_dire4=feature;[0131]删除按4方向块数可以分类的行,方法是删除class_dire4中第1〜4列与4方向块数数据库class_dire_num各行中第1〜4列相同的行;[0132]计算方向块4方向位置,方法是对class_dire4中第5〜13列数值pos8进行变换:[0133]删除数组claSS_dire4重复行;[0134]删除数组claSS_dire4第1〜13相同,但第14列不同的行。[0135]6.生成方向块8方向位置数据库class_dire8及无法判定数据库cantjudge,方法如下:[0136]复制特征数组:class_dire8=feature;[0137]删除按4方向块数可以分类的行,方法是删除cIass_dire8中第1〜4列与4方向块数数据库Class_dire_num各行中第1〜4列相同的行;[0138]删除按4方向位置可以分类的行,方法是:[0139]class_dire8中第5〜13列数值pos8进行变换::,:存入临时数组class_dire8_temp中;[0140]记录临时数组class_dire8_temp中第1〜13列与方向块4方向位置数据库class_dire4各行中第1〜13列相同的行的行号id;[0141]删除class_dire8中行号为id的行;[0142]删除数组claSS_dire8重复行;[0143]复制数组:cantjudge=class_dire8;[0144]删除数组claSS_dire8第I〜13相同,但第14列不同的行,得到方向块8方向位置数据库class_dire8。[0145]数组cantjudge去掉class_dire8含有的行,得到无法判定数据库cantjudge。[0146]测试过程如下:[0147]1.对测试指纹进行预处理,计算块方向图特征4方向块数、方向块8方向位置),方法同训练过程步骤1,步骤2;[0148]2.根据4方向块数nl,112,113,114搜索4方向块数数据库3]^8_1;^_11111]1第1〜4列,如果找到,输出该行第5列,即指纹类型,测试结束,否则执行步骤3;[0149]3.将方向块8方向位置pos8进行变换,根据4方向块数nl,n2,n3,n4及方向块4方向位置pos4,搜索方向块4方向位置数据库class_dire4第1〜13列,如果找至IJ,输出该行第14列,即指纹类型,测试结束,否则执行步骤4;[0150]4.根据4方向块数111,112,113,114及方向块8方向位置?〇88,搜索方向块8方向位置数据库claSS_dire8第1〜13列,如果找到,输出该行第14列,即指纹类型,测试结束,否则执行步骤5;[0151]5.根据4方向块数111,112,113,114及方向块8方向位置?〇88,搜索无法判定数据库cantjudge如果找到若干行,将所在行第14列存入类型数组Ix中,否则记Ix1=0;[0152]6.寻找奇异点,记录奇异点所在块位置和个数,方法是:[0153]a.奇异点中心点个数singularcore和三角点个数singulardelta初始化为0;[0154]b.对指纹块方向图dirbo中的除图像边缘第一行,最后一行,第一列,最后一列)外的每一个方块,计算方向旋转的变化量总和Poincare如图11a示):[0155]Adk=dk~dk+im〇d8k=0,1......7[0156]如果Adk^90,Adk=Adk—180[0157]如果Adk也代1,82〈让代2,且类型数组中含有2,判为右箕型;[0181]如果82—811:1^63,81〈1:1^64,且类型数组中含有1,判为左箕型;[0182]如果811:1^65,821:1^65,且类型数组中含有3,判为斗型;[0183]threl,1:11代2,1:11代3,1:11代4,1:11代5为阈值;[0184]e·如果中心点个数Singularcore=O且三角点个数singulardelta=1,计算三角点位置在图中的相对位置yy2Ibjbj为图像宽度,单位块);[0185]如果yy2bjthre6,且类型数组中含有1,判为左箕型;[0186]如果yy2bj〈thre7,且类型数组中含有2,判为右箕型;[0187]thre6,thre7为阈值;[0188]f.如果中心点个数singularcore=1且三角点个数singulardelta=1,计算中心点与三角点连线与中线夹角I,按以下方法判断:[0189]如果Vl2slope—jt12,且类型数组中含有5,判为尖拱型;[0190]如果Vl2Sl〇pe—3112,且类型数组中不含有5,设si为中心点左下部分除了左边界和下边界外,大于-90度且小于0度的块数,s2为中心点右下部分除了右边界和下边界夕卜,大于0度且小于90度的块数;[0191]如果sl〈2,且类型数组中含有1,判为左箕型;[0192]如果s2〈2,且类型数组中含有2,判为右箕型;[0193]如果si—82也代1,82〈让代2,且类型数组中含有2,判为右箕型;[0194]如果82-81让代3,81〈也代4,且类型数组中含有1,判为左箕型;[0195]如果811:1^65,821:1^65,且类型数组中含有3,判为斗型;[0196]1:11代1,1:1^62,1:1^63,1:1^64,1:1^65同步骤1,为阈值;[0197]如果slope彡V12,且类型数组中含有1,判为左箕型;[0198]如果slope彡一V12,且类型数组中含有2,判为右箕型;[0199]g.如果不满足a,b,c,d,e,f,判为无法判断。

权利要求:I.一种自动指纹分类方法,其特征在于该自动指纹分类方法包括训练过程和测试过程,具体步骤为:1人工将训练用指纹图像分为六类,对判为前五类的指纹进行训练。将HXW的指纹图像划分为16X16大小的块,图像共有biXbj块,计算块方向图特征,S卩4方向块数、方向块8方向位置,将块方向图特征及指纹类型存入特征数组feature中,14列,第1〜4列分别表示:方向1块数,方向2块数,方向3块数,方向4块数,第5〜13列存放各块质心的8方向位置,第14列为指纹类型;2取特征数组feature中块方向图特征即4方向块数及指纹类型,删除重复行,删除特征即4方向块数相同但不同类型的行,生成4方向块数数据库ClaSS_dire_num,5列,分别为方向1块数,方向2块数,方向3块数,方向4块数,指纹类型;3取特征数组feature,删除按4方向块数可以分类的行,根据方向块8方向位置,计算出方向块4方向位置即象限,删除重复行,删除特征即4方向块数、方向块4方向位置相同但类型不同的行,生成方向块4方向位置数据库class_dire4,14列,第1〜4列分别表示:方向1块数,方向2块数,方向3块数,方向4块数,第5〜13列存放各块质心、的4方向位置,第14列为指纹类型;⑷取特征数组feature,删除按4方向块数、方向块4方向位置可以分类的行,删除重复行,删除特征即4方向块数、方向块8方向位置相同但类型不同的行,生成方向块8方向位置数据库class_dire8,14列,第1〜4列分别表示:方向1块数,方向2块数,方向3块数,方向4块数,第5〜13列存放各块质心的8方向位置,第14列为指纹类型,特征即4方向块数、方向块8方向位置相同但类型不同的行生成无法判定数据库cantjudge,格式同class_dire8;⑸对测试指纹进行预处理,计算块方向图特征即4方向块数、方向块8方向位置;⑹以测试指纹的4方向块数搜索4方向块数数据库class_dire_num,如果找到,输出指纹类型,测试结束,否则执行步骤7;⑺根据测试指纹的方向块8方向位置,计算出方向块4方向位置,以4方向块数和方向块4方向位置搜索方向块4方向位置数据库class_dire4,如果找到,输出指纹类型,测试结束,否则执行步骤8;8以4方向块数和方向块8方向位置搜索方向块8方向位置数据库class_dire8,如果找到,输出指纹类型,测试结束,否则执行步骤9;9以4方向块数和方向块8方向位置搜索无法判定数据库cantjudge,如果找到若干行,将可能类型存入类型数组Ix中,否则记Ix⑴=0,表示训练指纹中没有出现这种特征的指纹;10寻找奇异点,记录奇异点所在块位置和个数;11删除伪奇异点;12如果没有找到奇异点,扩大范围搜索一个中心点;13按Henry分类方法即奇异点个数、位置及类型数组Ix判断指纹类型,无法判断的判为无法判断;所述指纹分为六类:左箕型、右箕型、斗型、拱型、尖拱型和无法判断;所述步骤⑴中块方向图特征的计算包括以下步骤:a.使用梯度法计算块方向图dirbo,分块计算掩码fmsk;b.取四个方向特征,将块方向图dirbo改为块四方向图dir4,方法是c.由四方向图dir4生成方向图1,用半径为1的圆盘型结构元素腐蚀方向图1,计算腐蚀后方向图1的连接分量,计算连接分量的质心的8方向位置pos8,用1-8表示,当连接分量中像素的数目小于等于4时忽略此块;同理计算方向2、3、4的块数和质心位置,存储在特征数组feature中,每个指纹一行;所述步骤⑶中根据方向块8方向位置pos8计算方向块4方向位置pos4,用1〜4表示,分别表示1〜4象限,方法是所述步骤10中奇异点包括中心点和三角点,包括以下步骤:a.奇异点中心点个数singularcore和三角点个数singulardelta初始化为0;b.对指纹块方向图dirbo中的除图像边缘第一行,最后一行,第一列,最后一列)外的每一个方块,计算方向旋转的变化量总和Poincare:〇.如果块(1]_、块(1-1,]_,块1-1,]_-1,块1]_-1的?〇111^^值均为180,块1]·是前景块,且其3X3邻域有5块以上是前景块,则中心点个数singularcore加1,将位置i,j记录在位置数组xxl和yyl中;d·如果块(i,j、块(i_l,j或块(i_l,j_2,块(i-Ι,j-Ι,块(i,j-Ι的Poincare值均为-180,块(i,j是前景块,且其3X3邻域有5块以上是前景块,三角点个数singulardelta为0或singulardelta为1且与前一个三角点间距离大于3,则三角点个数singulardelta加1,将位置记录i,j在位置数组xx2和yy2中。所述步骤11中删除伪奇异点方法如下:a.对每个含有中心点的块,如果其5X5的领域中含有Poincare值为-180的块,则该块中不含中心点,中心点个数singularcore减1,删除位置数组xxl及yyl中记录的相应位置;b.对每个含有三角点的块,如果其5X5的领域中含有Poincare值为180的块,则该块中不含三角点,三角点个数singulardelta减1,删除位置数组xx2及yy2中记录的相应位置;所述步骤12搜索一个中心点,方法如下:对权利要求1所述第(10步结果中Poincare值为180且不在图像边缘的块(i,j,即第1,2行,倒数1,2行,第1,2列,倒数1,2列,按5X5邻域计算方向旋转的变化量总和Poincare:如果?〇丨11〇3^;[,」)=180,中心点个数8;[1^11131'3^6=1,将位置;[,」记录在位置数组xxl和yyl中,执行步骤13;所述步骤13的分类方法如下:a.如果中心点个数singularcore=2或三角点个数singulardelta=2,且类型数组Ix中含有3或Ix⑴=0,判为斗型;b.如果中心点个数singularcore=1或三角点个数singulardelta=1,类型数组有两个元素,且其中一个为4,则判为另一类型;c·如果中心点个数Singularcore=O且三角点个数Singulardelta=O,且类型数组中含有元素4,判为拱型;d.如果中心点个数singularcore=1且三角点个数Singulardelta=O,按以下方法判断:如果中心点左下部分或右下部分前景小于5块,则不是拱型,但无法判断;设si为中心点左下部分除了左边界和下边界外,大于-90度且小于0度的块数,s2为中心点右下部分除了右边界和下边界外,大于〇度且小于90度的块数;如果sl〈2,且类型数组中含有1,判为左箕型;如果s2〈2,且类型数组中含有2,判为右箕型;如果sl-s2threl,s2〈thre2,且类型数组中含有2,判为右箕型;如果82_811:1^63,81〈1:11^4,且类型数组中含有1,判为左箕型;如果slthre5,s2thre5,且类型数组中含有3,判为斗型;threI,thre2,thre3,thre4,thre5为阈值;e.如果中心点个数Singularcore=O且三角点个数singulardelta=I,计算三角点位置在图中的相对位置yy2Ibjbj为图像宽度,单位块);如果yy2bjthre6,且类型数组中含有1,判为左箕型;如果yy2bj〈thre7,且类型数组中含有2,判为右箕型;thre6,thre7为阈值;f.如果中心点个数singularcore=1且三角点个数singulardelta=1,计算中心点与三角点连线与中线夹角.按以下方法判断:如果Vl2Sl〇pe-Vl2,且类型数组中含有5,判为尖拱型;如果Vl2Sl〇pe-Vl2,且类型数组中不含有5,设si为中心点左下部分除了左边界和下边界外,大于-90度且小于0度的块数,s2为中心点右下部分除了右边界和下边界外,大于0度且小于90度的块数;如果sl〈2,且类型数组中含有1,判为左箕型;如果s2〈2,且类型数组中含有2,判为右箕型;如果sl-s2threl,s2〈thre2,且类型数组中含有2,判为右箕型;如果82-811:1^63,81〈1:11^4,且类型数组中含有1,判为左箕型;如果slthre5,s2thre5,且类型数组中含有3,判为斗型;threI,thre2,thre3,thre4,thre5同步骤d,为阈值;如果slope彡V12,且类型数组中含有1,判为左箕型;如果sl〇pe-Vl2,且类型数组中含有2,判为右箕型;g.如果不满足a,b,c,d,e,f,判为无法判断。

百度查询: 桂林理工大学 自动指纹分类方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。