指纹鉴别特征提取电路的制作方法

文档序号:6405630阅读:176来源:国知局
专利名称:指纹鉴别特征提取电路的制作方法
一、概述本发明属于计算机图象信息处理领域。
根据指纹图象数据库系统要求,指纹特征提取电路采用专用的ASIC集成电路实现,提取算法为了硬件实现需要作了与软件实现完全不同的特殊处理。ASIC电路和系统结构都经过精心设计,处理速度度甚快,提取一个指纹的特征不足一秒,比软件要提高2个数量级,可靠性高、保密性强,高度集成(最高的每片电路含8000逻辑门),体积小,提取方法先进,便利在各种计算机上配套使用,特别适合在微机上推广使用。
指纹鉴定是辨明个人身份最直观、最方便、最可信和最有效的方法,以现代技术实现的指纹鉴别处理机,在公安、银行、金融、保险、海关等部门有重要的意义。
本电路采用的方法具有以下技术特征1.改进了指纹图梯度g4的方向。
一般的指纹图梯度方向见图3(a),本电路指纹图梯度方向见图3(b)。图3(a)中计算点(k,l)的梯度g1、g2、g3、g4时,由于采用从左至右横扫描,所以必须新取三个点(k-1,l+1)、(k,l)、(k,l-1)的数据,另外二个点(k-1,l-1)、(k-1,l)在计算点(k-1,l)的梯度时已取出。图3(b)计算点(k,l)的梯度g1、g2、g3、g4时只需新取二个点(k,l)、(k+1,l-1)的数据,而其他三个点(k-1,l)、(k-1,l-1)、(k,l-1)的数据在计算左边点的梯度时已取出来。这样就降低了指纹图F(k,l)的取数频率,由原来一拍取三个数减为一拍取两个数,取数频率减少了三分之一,保证了控制流和数据流的匹配关系。计算公式如下g1(k,l)=f(k,l)-f(k-1,l)g2(k,l)=f(k,l)-f(k-1,l-1)g3(k,l)=f(k,l)-f(k,l-1)g4(k,l)=f(k,l)-f(k+1,l-1)2.改进了指纹图在方阵局部区域内总变差ai(k,l)的算法,使计算量减至最少。
根据要求ai(k,l)=
(m,n)其中 i=1,2,3,4R为以(k,l)为中心点的方阵数据区域,参见图6。
原用镶边方法计算ai(k,l),即ai(k,l)=ai(k-1,l)-ΣPgi(m,n)+ΣOgi(m,n)]]>镶边算法及P、Q区域的含义见图4。这种方法每计算一个点的ai必须加上Q区域内的gi,同时还要减去P区域内的gi,运算次数多,速度慢,而且换行计算ai时要经过复杂的初始化处理。
改进后的算法利用以第k-1列第l行为中心点的方阵的ai(k-1,l),以第k-1列第l-1行为中心点的方阵的ai(k-1,l-1),以第k列第l-1行的方阵的ai(k,l-1)来计算以第k列第l行为中心点的方阵的ai(k,l),我们把这4个方阵所复盖的方阵称为以第k列第l行为中心点的扩展方阵,该扩展方阵左上角、右上角、左下角、右下角有定义的梯度分别记为gi(1)、gi(2)、gi(3)、gi(4),见图5。
从图5中可以看出
ai(k,l)=ai(k-1,l)-ai(k-1,l-1)+ai(k,l-1)+gi(1)-gi(3)-gi(2)+gi(4)移项得ai(k,l)-ai(k,l-1)=ai(k-1,l)-ai(k-1,l-1)+gi(1)-gi(3)-gi(2)+gi(4)将ai(k,l)-ai(k,l-1)记为△ai(k,l),ai(k-1,l)-ai(k-1,l-1)记为△ai(k-1,l),gi(1)-gi(3)记为△gi(Ⅰ),gi(2)-gi(4)记为△gi(Ⅱ),则可得△ai(k,l)=△ai(k-1,l)+△gi(Ⅰ)-△gi(Ⅱ)并且得ai(k,l)=△ai(k,l)+ai(k,l-1)上式中的△ai(k-1,l)是计算前一点时求得的,△gi(Ⅰ)可以通过△gi(Ⅱ)存于移位寄存器中取得,ai(k,l-1)是上一行计算的数据,可以从缓冲存储器中取得。本方法每求一个点的ai(k,l)只需加减运算4次,并且与区域的大小无关,方阵越大,效率更显得越高,此外,每行的初始值不必重新计算。
3.改进了计算指纹图在园阵局部区域内总变差a1i的方法。
设以上述园阵的园心为中心点,以上述园阵的直径为边长的方阵的总变差为ai,则a1i就等于ai减去四个角上属于该方阵但又不属于该园阵的所有点在i方向的梯度值(参见图7)。
本方法规整统一,不必为园阵a1i的计算增加过多硬件。
4.采用流水线技术来提高处理速度对于计算较为复杂的ai(k,l)采用一拍流水,保证每拍能流出一个ai(k,l),经过四拍依次流出ai(k,l)、a3(k,l)、a2(k,l)和a4(k,l),达到最高处理速度,在这个流水速度下DKL,HKL和局部极大值MAX的计算都是四拍一个结果,注意到瓶颈处理。
5.本方法适应性强,它既可用来处理256×256点阵的指纹图,又可用来处理512×512点阵的指纹图,而且也能适应不同大小方阵和园阵的处理需要。
二、总框图指纹鉴别特征提取电路总框图共分单数据流方式和双数据流方式两种。前者又称MODE2方式,后者又称MODE1方式,现分别介绍于下1.指纹鉴别特征提取电路单数据流方式总框图(见图1)。
在该框图中F(k,l)是存放指纹图的随机存贮器。存入的指纹图象供底下逻辑框SIGMA使用。SIGMA为逻辑电路,由寄存器、加法器、与或门及其它基本逻辑门组成。它的作用有二首先它将从F(k,l)来的指纹信息产生四个方向的梯度和及其各方向梯度之总和,并将其结果输出至逻辑框图G1,2,以便由它产生供框图HKL使用的参数q1,q2,G1,2还能将梯度和和梯度之总和输出至主机;其次,SIGMA还可以和逻辑框图HAI连在一起用于计算不可定向性方阵图、园阵图的四个方向的总变差ai(k,l),这时,SIGMA为逻辑框HAI提供指纹图方阵大小分别为13×13或5×5的局部区域上右上角减右下角的梯度之差,所以框图SIGMA的输出必须与HAI的输入相连。框图M是存放HAI的中间结果的随机存贮器,逻辑框图HAI计算局部区域4个方向的总变差,计算的结果ai(k,l)输出到框图HKL和DKL,并且把ai(k,l)存入缓冲存贮器M中。框图HKL为计算不可定向性园阵图H1或不可定向性方阵图H2的逻辑电路,它除了利用到HAI输入的四个方向的总变差ai(k,l)外,还要利用框图T1(X)、T2(X)的结果。框图T1(X)T2(X)为两个可擦除可编程序只读存贮器,存放专供H1或H2用的函数表,所以T1(X)、T2(X)的输出,必然又是HKL的输入。经HKL计算出的结果H1(k,l)和H2(k,l)存入随机存贮器MH,框图MH除了作为下一框图MAX的中间结果外,还有一个输出与主机连结。DKL为逻辑电路框图,供计算指纹方向图D用。它与HKL的连法有点相似,除了输入从HAI来的ai(k,l)外,还要用到可擦除可编程序只读存贮器T3(X)、T4(X)、T5(X)、T6(X)、T7(X),它们都存放计算方向图D的各种函数表。框图MD为存放DKL结果的随机存贮器,它有一个输出可以把方向图D(k,l)输至主机。MAX是计算不可定向性方阵图H2或不可定向性园阵图H1的局部极大点的逻辑框图,输入的是MH中存的H2(k,l)或H1(k,l),输出的是将本框计算出的局部极大点送入主机。
2.指纹鉴别特征提取电路双数据流方式总框图(见图2)。
为了进一步提高处理速度,可以把计算方阵的总变差、不可定向性图、不可定向性图的局部极大点与计算园阵的总变差、不可定向性图、不可定向性图的局部极大点分开,采用双套线路完成,以双数据流方式并行工作。因此原先计算方阵的各框用角标2表示,即HAI2,M2,HKL2,T21(X),T22(X),MH2,MAX2,计算园阵的各框用角标1表示,即HAI1,M1,HKL1,T11(X),T12(X),MH1,MAX1,接法均与单数据流总框图中的相同。
三、指纹图F的四个方向的梯度、各方向的梯度和σi以及梯度总和σ的计算图8-SIGMA不断地从指纹图F(k,l)中读出f(k,l),每拍两个数,前半拍读出f(k,l-1)经FB至后半拍时存入寄存器Xibi,(i=1,2,3,4),后半拍读出f(k,l)存入寄存器Etbi(i=1,2,3,4),以后,每隔一拍,顺次推入寄存器Xii,Eti(i=1,2,3,4),Xiai(i=1,2,3),Etai(i=1,2,3),因此,在Xiai,Etai,Xii,Eti,Xibi,Etbi中,保存的总是f(k-1,l-1),f(k-1,l),f(k,l-1),f(k,l),f(k+1,l-1),f(k+1,l)。
通过absi运算器至gii中分别得到g1(k,l),g2(k,l),g3(k,l),g4(k,l),仅当gi(k,l)无定义时,FFGi才封锁相应的门Ai,使之为O。通过运算器addi在寄存器Sg118-101,Sg218-201Sg318-301,Sg418-401中分别将gi(k,l)累加,最后得到四个方向的梯度和σi,同时累加四个σi,在Lfa11-0中得σ的高12位值。
比较器将gi(k,l)与常数P0比较,如果均小于P0则产生n0进行计数,否则不计数,即由n0分别进入框n012-01和Lfba11-0中,在n012-01中得到N0在Lfba11-0中得到值(65025-N0)/16。四条流水线并行工作,一拍流水,f图扫描一遍即可求得所有结果。
图10-G1,2给出供图11-HKL用的q1或q2。首先将Lfa11-0通过图8-SIGMA的出口SNf12-01进入半固定T8(X)查表得T8(Lfa11-0)至A,再由A经加法器送B,B再和T8(X)中取出常数m1(固定地址中)相加于B,然后再和A中的T8(Lfba11-0)相减于B,再通过T9(X)查表出q1、q2的求法只是将B中结果再和T8(X)中的常数(在固定地址中)m2相加,然后通过T9(X)查表得出q2。
四、计算不可定向性图H1和H2的ai(k,l)。
正如上面所述计算不可定向性图H2中所有的ai(k,l),i=1,2,3,4ai(k,l)=
(m,n) i=1,2,3,4k=7,8,……,250l=7,8,……,250R1={(m,n)|(m,n),(m-1,n)∈S7}R2={(m,n)|(m,n),(m-1,n-1)∈S7}
R3={(m,n)|(m,n),(m,n-1)∈S7}R4={(m,n)|(m,n),(m+1,n-1)∈S7}S7为以(k,l)为中心点的13×13个点的方块(参见图6)。
g1(m,n)=f(m,n)-f(m-1,n)g2(m,n)=f(m,n)-f(m-1,n-1)g3(m,n)=f(m,n)-f(m,n-1)g4(m,n)=f(m,n)-f(m+1,n-1)注意g1(k-6,u),g2(k-6,u),g2(v,1-6)g3(v,1-6),g4(k+6,u),g4(v,1-6)无定义(u取值1-6至1+6,v取值k-6至k+6),无定义点取值为零不影响计算结果。
经过简化得递推式a1(k-6,l-6)=△a1(k-6,l-6)+a1(k-6,l-7)a2(k-6,l-6)=△a2(k-6,l-6)+a2(k-6,l-7)a3(k-6,l-6)=△a3(k-6,l-6)+a3(k-6,l-7)a4(k-6,l-6)=△a4(k-6,l-6)+a4(k-6,l-7)△a1(k-6,l-6)=△a1(k-7,l-6)+△g1(k-12,l-6)-△g1(k,l-6)△a2(k-6,l-6)=△a2(k-7,l-6)+△g2(k-12,l-6)-△g2(k,l-6)△a3(k-6,l-6)=△a3(k-7,l-6)+△g3(k-13,l-6)-△g3(k,l-6)
△a4(k-6,l-6)=△a4(k-7,l-6)+△g4(k-13,l-6)-△g4(k-1,l-6)△g1(k,l-6)=g1(k,l-13)-g1(k,l)△g2(k,l-6)=g2(k,l-12)-g2(k,l)△g3(k,l-6)=g3(k,l-12)-g3(k,l)△g4(k-1,l-6)=g4(k-1,l-12)-g4(k-1,l)k=1,2,……256,l=1,2,……256,只须假定在点(k,l)使gi(k,l)无定义时,取零值。初值△ai(-6,-5)=0,ai(-5,-6)=ai(-4,-6)=……=ai(256,-6)=0按上式计算得ai(k-6,l-6)i=1,2,3,4k=13,14,……256l=13,14,……256即为所求。
对于计算不可定向性图H1中所有的ai(k,l),i=1,2,3,4,先将上法中S7改为S2,即5×5个点的区域(参见图7),用如下递推式算出ai(k,l)ai(k-2,l-2)=△ai(k-2,l-2)+ai(k-2,l-3)△a1(k-2,l-2)=△a1(k-3,l-2)+△g1(k-4,l-2)-△g1(k,l-2)△a2(k-2,l-2)=△a2(k-3,l-2)+△g2(k-4,l-2)-△g2(k,l-2)△a3(k-2,l-2)=△a3(k-3,l-2)+△g3(k-5,l-2)-△g3(k,l-2)
△a4(k-2,l-2)=△a4(k-3,l-2)+△g4(k-5,l-2)-g4(k-1,l-2)△g1(k,l-2)=g1(k,l-5)-g1(k,l)△g2(k,l-2)=g2(k,l-4)-g2(k,l)△g3(k,l-2)=g2(k,l-4)-g3(k,l)△g4(k-1,l-2)=g4(k-1,l-4)-g4(k-1,l)i=1,2,3,4,k=1,2,……256 l=1,2,……256同样,需假定在(k,l)使gi(k,l)无定义时,取零值。初值△ai(-2,-1)=0,ai(-1,-2)=ai(0,-2)=……=ai(254,-2)=0,在k=13,14,……256,l=13,14,……256时的ai(k-2,l-2)即为所求。然后再将刚算得的S2上的ai(k,l)换算成R2上的ai(k,l),见图7。
a′1(k-2,l-2)=a1(k-2,l-2)-〔g1(k-3,l-4)+g1(k-3,l)+g1(k,l-4)+g1(k,l)〕=a1(k-2,l-2)-Sumg1(k-3,l)-Sum g1(k,l)a′2(k-2,l-2)=a2(k-2,l-2)-〔g2(k-3,l-3)+g2(k,l)〕=a2(k-2,l-2)-Sum g2(k-3,l-3)-Sum g2(k,l)a′3(k-2,l-2)=a3(k-2,l-2)-〔g3(k-4,l-3)+g3(k-4,l)+g3(k,l-3)+g3(k,l)〕=a3(k-2,l-2)-Sum g3(k-4,l)-Sum g3(k,l)
a′4(k-2,l-2)=a4(k-2,l-2)-〔g4(k-4,l)+g4(k-1,l-3)〕=a4(k-2,l-2)-Sum g4(k-4,l)-Sum g4(k-1,l-3)以上a′i(k-2,l-2)即为H1中的ai(k-2,l-2)。
现分述利用框图实现H2、H1的ai(k,l)的过程。
首先,从F(k,l)中每拍取两个数,每隔四拍在Xia1,Eta1,Xia2,Eta2,Xia3,Eta3,Xi4,Et4中存放值f(k-1,l-13),f(k-1,l-12),f(k-1,l-5),f(k-1,l-4),f(k-1,l-4),f(k-1,l-3),f(k-1,l-1),f(k-1,l),在Xi1,Et1,Xi2,Et2,Xi3,Et3,Xib4,Etb4中存放值f(k,l-13),f(k,l-12),f(k,l-5),f(k,l-4),f(k,l-4),f(k,l-3),f(k,l-1),f(k,l)。下一个四拍顺次在G1i中得g1(k,l-13),g3(k,l-12),g2(k,l-12),g4(k-1,l-12),在G2i中得g1(k,l-5),g3(k,l-4),g2(k,l-4),g4(k-1,l-4),在G3i中得g1(k,l-4)g3(k,l-3),g2(k,l-3),g4(k-1,l-3),在G4i中得g1(k,l),g3(k,l),g2(k,l),g4(k-1,l)。再下个四拍可以在Sg106-101中得△g1(k,l-6),△g3(k,l-6),△g2(k,l-6),△g4(k-1,l-6)。Sg206-201中得△g1(k,l-2),△g3(k,l-2),△g2(k,l-2),△g4(k-1,l-2)。在Sg306-301中得Sumg1(k,l),Sum g3(k,l),Sum g2(k,l-3),Sum g4(k-1,l-3),在Sg406-401中得O,O,Sumg2(k,l),Sum g4(k-1,l)。
图9-HAI是为计算H1和H2的ai(k,l)提供的。当作为计算H2的ai(k,l)时,Sg25-21,Sg35-31,Sg45-41,FYW115-111有关控制门均关闭使之不起作用,但FYW115-111因系通过反相器输出,故送全“1”至Addpai2。YW135-131每隔四拍相继输出△g1(k-12,l-6),△g3(k-13,l-6),△g2(k-12,l-6)和△g4(k-13,l-6)。由Sg15-11把△g1(k,l-6),△g3(k,l-6),△g2(k,l-6),△g4(k-1,l-6)分别送入移位寄存器YW13-11,YW33-31,YW23-21,YW43-41经移位后再顺次由YW135-131输出,因为除YW33-31为13次移位外,其余为12位的移位后的输出,所以YW135-131的输出正好为△g3,4(k-13,l-6)或△g1,2(k-12,l-6)。
缓冲存贮器每次都把ai(k,l-1)取出,经计算后再存入新值ai(k,l)。FM1是在计算第一行时,即(k,l)点时封M1中的内容,保证在Addai1加法器中收到的所有ai(k,0)均为零值。
在△ai(l-1)中通常存△ai(k-7,l-6),仅当△ai(-6,l-6)时由F△ai使之输出该值为零。△aiH为△ai(l-1)的缓冲寄存器,作暂存用。经加法器Addai3,Addai2在△ai中存的是△ai(k-6,l-6),最后得结果ai(k,l)于Ai中,图右边pai以下部份在计算H2图时做ai(k,l)+O+O(用全“1”码加1完成加零操作),所以在pai内容不变。
图9-HAI在作H1图的a1i(k,l)运算时,对Ai计算仅需把YW13-11,YW33-31,YW23-21,YW43-41改为YW13,YW33,YW23YW43,统一由YW135-131输入到加法器Addai3,另外,加法器Addai2的一个输入端由Sg15-11改为Sg25-21,其余前所述。
图右的Pai计算是专供H1用的。首先Sumg34中每四拍的一、二、四拍由Sg44-41送入Sum g1(k,l),Sum g3(k,l),Sum g4(k.l),第三拍由Sg35-31送入Sum g2(k,l)。其次,FYW115-111是由YW115-111求反得来的,而YW115-111则是由移位寄存器YW11,YW31,YW21,YW41输出。分别由Sg35-31和Sg45-41送入。通过Sg35-31送入YW11的是Sum g1(k,l),送入YW31的是Sum g3(k,l),送入YW21的是Sum g2(k,l-3),通过Sg45-41送YW41的是Sum g4(k-1,l)。所以,YW115-111的输出,依次为Sum g1(k-3,l),Sum g3(k-4,l),Sum g2(k-3,l-3),Sum g4(k-4,l)。除YW31移位寄存器长度为4,其余为3。通过两层加法器Addpai1,Addpai2,经过两次相减在PAi中得H1的ai(k,l)。
最后,当所有a1i(k,l)<256时令Lpai=1,否则为零。当有一个a1i(k,l)≥1024时,所有a1i(k,l)右移一位,通过Pai11-1输出。
五、方向图D(k,l)的计算(DKL)由HAI每四拍流出的H2图的ai(k,l),通过出口Lpai和Pai10-1得到,当ai中有一个大于或等于1024时,Pai10-1实际上输出的已是ai右移一位后的结果。但若所有的ai(k,l)<256,则LPai为1,Pai10-1输出仍是ai(k,l),四拍中按a1,a3,a2,a4顺序流出,然后进入DKL入口处。凡是LPai=1,所有ai均左移过一位。Da12接收a1(k,l)或a2(k,l)值,Da34接收a3,a4。Db5通过运算器Addd2算出b1-b3和b2-b4,经半固定存储器查表得T6(b1-b3)和T6(b2-b4),并将其依次存入寄存器DT6中。在Db3和Db34中,通过Db34和运算器Addd1先得b3=min(a1,a3),再得到b4=min(a2,a4);类似地在Db1和Db12中先得到b1=max(a1,a3),后得b2=max(a2,a4)。Db3b4通过Addd3得到 1/2 1/2 (b3+b4),并通过它得到|b3-b4|,在T6(X)查表得T6(|b3-b4|),置于DT6中,于是在DXY中可求出X和Y值(X=2T6(|b3-b4|),Y=T6(b1-b3)+T6(b2-b4))。DZ2中可以求出T7(X)(当X<4096时)和2.T7(X)(x≥4096)或2.T7(Y)(当Y<4096)和4.T7(y)(当y≥4096时),在DZ1中将α·T7(X)和β·T7(y)相加。在De1中得值|b3-b4|/2(当a1=a3∨a2=a4),T3(Z)(Z<16384,a1=a3,a2=a4)或4·T3(Z/16)-2(反之)。然后De1再分别与De2,De3相加,由于De2是由Db1和Db3b4中的内容相减得到,即为b1- ((b3+ b4))/2 或b3- ((b3+ b4))/2 。所以,相加后和为b1-e或b3-e,经T4(b1-e)和T4(b3-e)与D6,在D0中得T4(b1-e)-T4(b3-e),合并u,v查表得T5{u,v,T4(b1-e)-T4(b3-e)}(其中u=Sgn(a1-a3),v=Sgn(a4-a2))最后根据选择门选取该值或0,63,189,126值,作为DKL值存于MD存贮器中。DKL按四拍出一组ai(k,l)安排,每四拍出一个D(k,l),存于MD中。由于ai(k,l)是每拍都来,因此DKL工作是一拍流水线结构。
六、不可定向性图的计算(HKL)无论是算不可定向性图H1或是H2,均用图11-HKL的流程计算。首先,接收HAI送来的ai(k,l),当有一个ai(k,l)≥1024时,Pai10-1实际上输出的已是ai右移一位后的结果,否则Pai10-1的输出是ai、Pai10-1按a1,a3,a2,a4顺序,相应地存入寄存器a12,a34中,a12中存a1或a2,a34中存a3或a4。在a13,24中存和a1+a3或和a2+a4,在b12中存其最大值,即b1=max(a1,a3)或b2=max(a2,a4),将以上四值,分别去半固定存贮器T1(X)中查表,依次将T1(a1+a3),T1(b1),T1(a2+a4)和T1(b2)置于T中,经AddT累加于寄存器R中,内容为T1(a1+a3)-T1(b1)+T1(a2+a4)-T1(b2),经T2(X)作用得函数值T2〔T1(a1+a3)……-T1(b2)〕,如果b1,b2都小于q1或q2,则hi(k,l)取0值,反之,若b2=0,取255值,都不满足取T2〔T1(a1+a3)-T1(b1)+T1(a2+a4)-T1(b2)〕,本流程按HAI每四拍流出一组ai(k,l)安排,因此,每四拍得一个h(k,l)值,存于MH中。
七、局部极大点的计算(MAX)Pn(kn,ln)是在Hj(j=1,2)图上区域S3(S3是以Pn为中心点的3×3方阵,方阵中9个点从左至右,从上至下分别记为P1P2……P9)的局部极大点,当且仅当hj(Pn)≥hj(x)∧hj(Pn)>Pj,x∈S3,Pj为常数。
图13-MAX的实现方法如下设缓存M中存有已知结果M〔k,1〕,M〔k,2〕,M〔k,1〕=max〔hj(P1),hj(P2),hj(P3)〕,即方阵第一行最大值。M〔k,2〕=max〔hj(P4),hj(P5),hj(P6)〕,即方阵第二行最大值。
在C1,C2中存hj(P7),hj(P8),计算Pn时,先求出max(hj(P7),hj(P8)),即在运算器MAX(a,b)中求出C1,C2的最大值,并且置于Cmax中。然后将P9的hj(P9)从MH中读出,存于C3中,再与Cmax一起求max,再存于Cmax中,因此Cmax中存的是max(hj(P7),hj(P8),hj(P9)),即M〔k,3〕,然后将M〔k,3〕与缓存中的M〔k,1〕,M〔k,2〕求max(通过Cmax和C3实现)。这时Cmax中存的是S3中的最大值,但Pn不一定是S3中的极大点。为此,在运算器a-b中先做Cmax与hj(Pn)比较,若相等置“1”Cfd,再在a-b运算器中作hj(Pn)>Pj的比较。若两次比较成立置“1”Cfs,否则置“0”Cfs,如此,将Pn(即kn,ln)及hj(Pn)存入存贮器中。以上采用递推公式流水线完成,因此算法简单,实现方便,缓存可借用M〔h(k,l)〕的第一、二、三行(前256×3个单元)存放M〔k,l〕,M〔k,2〕,MM〔k,3〕,不必增添存贮器。
八、用专用大规模集成电路ASIC实现的指纹特征提取电路(实施例)1.指纹特征提取电路使用的三种自行设计的ASIC电路(1)SH电路(见图14,15)CMOS门阵列电路,门数类别8000门/片,实用门数5720门/片,输入输出端数68,塑料封装(PLCC)。
(2)ACC电路(见图16,17)CMOS门阵列电路,门数类别2000门/片,实用门数1700门/片,输入输出端数48,塑料封装(PLCC)。
(3)FPC电路(见图18,图19)CMOS门阵列电路,门数类别2000门/片,实用门数1600门/片,输入输出端数78,塑料封装(PLCC)。
2.SH与其它电路连接SH与其它电路连接见图20,其操作如上所述。
3.ACC电路与其它电路连接见图21,图22,其操作参见HKL,DKL,MAX有关说明。图中ACC-x表示采用ACC电路,x为ACC中功能号,可以由输入端SN5-1定义,Ti(X)为可擦可编程序只读存贮器,由软件人员确定,MH,MD等为RAM存贮器。图21,图22中的小方框DKL、HKL、q1、q2为寄存器,另外还有少量标准74/54系列IC电路。由上可知,本方案中大部份均由上面三种ASIC电路来实现。
4.FPC执行过程(参见图23,24,FPC电路时序图)4.I 启动ZOFP 清除FPC并复位DRON 上升边启动FPC工作(Z“I”work)
表一SH输入/输针信息1
SH输入/输出针信息2(续)
表二 SH输入/输出信号来由及去处
表三ACC输入输出针信息
表四ACC各种操作简介
表五
4·2 清除Sigma状态(MO CL-M3 CL)4·3 求σi(MO SG-M3 SG)4·4 求q1,q2(M1 QI1-M3 QI2)4·5 求ai(k,l)(H1,H2图)(MO H1-M3 H4)(流水线,一拍重迭,见前述)4·6 求DKL(H2图)(MO H3-M1 H7)(流水线,一拍重迭,见图26、27,DKL时序图)4·7 求HKL(H2,H1图)(MO H3-M3 H4)(流水线,一拍重迭,见图25,HKL时序图)4·8 求MAX(H2,H1图)(MO X1-M3 X2)(流水线,一拍重迭,见图28,MAX时序图)FPC通常在MODE2方式下工作,运行过程σi→ai(k,l)(H2)→HKL(H2)→MAX(H2)ai(k,l)(H1)→HKL(H1)→MAX(H1)要是在MODE1方式下工作ai,HKL,MAX在H1H2图下可重迭进行计算,有关设备相应增加。


图1 指纹鉴别特征提取电路总框图F(k,l) 存放指纹图F的随机存储器SIGMA 计算指纹图F的梯度模及梯度模之和的逻辑电路HAI 计算指纹图F在局部区域内总变差的逻辑电路M 用于HAI存放中间结果的随机存储器HKL 计算指纹不可定向性方阵图H2和园阵图H1的逻辑电路
MH 存放指纹不可定向性方阵图H2和园阵图H1的随机存储器MAX 计算指纹不可定向性方阵图H2的局部极大点和园阵图H1的局部极大点的逻辑电路G1,2计算供不可定向性方阵图H2所用参数q2和园阵图H1所用参数q1的逻辑电路DKL 计算指纹方向图D的逻辑电路MD 存放指纹方向图D的随机存储器FPPC 控制电路T1(X)……T9(X)存放函数表的可擦可编程序只读存储器图2 指纹鉴别特征提取电路双数据流框3 指纹图的梯度方向(a) 常用梯度方向(b) 本发明采用的梯度方向图4 采用镶边方法计算ai(k,l)的示意5 本发明计算ai(k,l)的示意6 13×13方阵中gi(m,n)区域7 园阵与方阵的梯度关系8 计算指纹图F的梯度和和梯度之总和的逻辑框图SIGMA图9 计算指纹图F在局部区域内的总变差的逻辑框图HAI图10 计算供HKL用的参数q1,q2的逻辑框图G1,2图11 计算不可定向性方阵图H2和不可定向性园阵图H1的逻辑框图HKL图12 计算指纹方向图D的逻辑框图DKL图13 计算不可定向性方阵图H2和不可定向性园阵图H1的局部极大点的逻辑框图MAX图14 SH电路封装15 SH电路框16 ACC电路封装17 ACC电路框18 FPC电路封装19 FPC电路框20 SH电路与其它电路之连接框21 用ACC电路与其它电路构成指纹方向图D的逻辑框22 用ACC电路与其它电路构成HKL,MAX,G1,2的逻辑框23 FPC电路时序24 FPC电路时序图(续图23)图25 逻辑图HKL的时序26 逻辑图DKL的时序27 逻辑图DKL的时序图(续图26)图28 逻辑图MAX的时序图
权利要求
1.一种由随机存储器、可擦可编程序只读存储器和逻辑电路组成的指纹鉴别特征提取电路,其特征在于它包括(1)一个用于存放指纹图F的随机存储器F(K,L);(2)一个用于计算指纹图F的梯度模及梯度模之和的逻辑电路SIGMA;(3)用于计算指纹图F在局部区域内总变差的逻辑电路HAI;(4)用于逻辑电路HAI存放中间结果的随机存储器M;(5)用于计算指纹不可定向性方阵图H2和不可定向性园阵图H1的逻辑电路HKL;(6)用于存放指纹不可定向性方阵图H2和不可定向性园阵图H1的随机存储器MH;(7)用于计算指纹不可定向性方阵图H2的局部极大点和不可定向性园阵图H1的局部极大点的逻辑电路MAX;(8)一个用于计算供不可定向性方阵图H2所用参数q2和不可定向性园阵图H1所用参数q1的逻辑电路G1,2;(9)一个用于计算指纹方向图D的逻辑电路DKL;(10)一个用于存放指纹方向图D的随机存储器MD;(11)用于存放函数表的可擦可编程序只读存储器T1(X)、T2(X)、T3(X)、T4(X)、T5(X)、T6(X)、T7(X)、T8(X)、T9(X)、T1(X)和T2(X)中的函数表供逻辑电路HKL所用,T8(X)和T9(X)中的函数表供逻辑电路G1,2所用,T3(X)、T4(X)、T5(X)、T6(X)和T7(X)中的函数表供逻辑电路DKL所用;(12)一个用于控制上述电路操作的指纹鉴别特征处理控制电路FPPC。
2.根据权利要求1所述的指纹鉴别特征提取电路,其特征在于逻辑电路SIGMA设有四条流水线并行操作,一拍流水。
3.根据权利要求1所述的指纹鉴别特征提取电路,其特征在于逻辑电路HAI采用流水线作业,四个节拍为一组,每个节拍产生一个结果。
4.根据权利要求2所述的指纹鉴别特征提取电路,其特征在于逻辑电路HAI采用流水线作业,四个节拍为一组,每个节拍产生一个结果。
5.根据权利要求1、2、3或4所述的指纹鉴别特征提取电路,其特征在于由一个用于计算指纹图F在局部区域内总变差的逻辑电路HAI,一个用于逻辑电路HAI存放中间结果的随机存储器M,一个用于计算指纹不可定向性方阵图H2和不可定向性园阵图H1的逻辑电路HKL,一个用于存放指纹不可定向性方阵图H2和不可定向性园阵图H1的随机存储器MH,一个用于计算指纹不可定向性方阵图H2的局部极大点和不可定向性园阵图H1的局部极大点的逻辑电路MAX,共同组成处理指纹不可定向性方阵图H2及其局部极大点、不可定向性园阵图H1及其局部极大点的单数据流,该数据流以分时的方式处理不可定向方阵图H2和园阵图H1。
6.根据权利要求1、2、3或4所述的指纹鉴别特征提取电路,其特征在于由二个用于计算指纹图F在局部区域内总变差的逻辑电路HAI1、HAI2,二个用于逻辑电路HAI1、HAI2存放中间结果的随机存储器M1、M2,二个用于计算指纹不可定向性方阵图H2、不可定向性园阵图H1的逻辑电路HKL1、HKL2,二个用于存放指纹不可定向性方阵图H2、不可定向性园阵图H2的随机存储器MH1、MH2,二个用于计算指纹不可定向性方阵图H2的局部极大点、不可定向性园阵图H1的局部极大点的逻辑电路MAX1、MAX2,用于HKL1、HKL2存放函数表的可擦可编程序只读存储器T21(X)、T22(X)、T11(X)、T12(X),分别组成双数据流,该双数据流以并行的方式分别处理不可定向性方阵图H2及其局部极大点、不可定向性园阵图H1及其局部极大点。
7.一种快速指纹鉴别特征提取方法,其特征在于(1)计算指纹图F的梯度时采用从左至右、从上至下的扫描方式,每个点计算左方向的梯度g1、左上方向的梯度g2、上方向的梯度g3、右上方向的梯度g4;(2)计算行、列各为2n+1个点的方阵局部区域内总变差时采用从左至右、从上至下的扫描方式,以第K列第1行为中心点的方阵在某一方向i的总变差ai(k,l)采用以下方法获取①从缓冲移位寄存器中取出该扩展方阵左上角的梯度减左下角的梯度的差值△gi(Ⅰ),②计算该扩展方阵右上角梯度减右下角梯度的差值△gi(Ⅱ),并将此△gi(Ⅱ)存入移位寄存器,③从寄存器中取出以第k-1列第1行为中心点的方阵局部区域总变差ai(k-1,l)减以第k-1列第l-1行为中心点的方阵局部区域总变差ai(k-1,l-1)的差值△ai(k-1,l),④△ai(k-1,l)加上△gi(Ⅰ)之和再减去△gi(Ⅱ)之差即为△ai(k,l),△ai(k,l)为以第k列第l行为中心点的方阵局部区域总变差ai(k,l)减以第k列第l-1行为中心点的方阵局部区域总变差ai(k,l-1)的差值,将△ai(k,l)送入寄存器,⑤从缓冲存储器中取出ai(k,l-1),并将它与△ai(k,l)相加,其和即为ai(k,l);(3)计算以第k列第1行的点为园心的园阵局部区域内在某个方向i的总变差采用以下方法获取①计算以第k列第l行为中心点以园阵直径为边长的方阵在i方向的总变差,②将上述方阵总变差减去其四个角上属于该方阵但又不属于该园阵的所有点在i方向的梯度值;(4)计算不可定向性图上以第k列第l行为中心点的方阵局部极大点时采用从左至右、从上至下的扫描方式,其方法如下①求不可定向性图上该方阵最后一行的极大值,并将此值存入缓冲存储器,②从缓冲存储器中逐个取出该方阵其他行的极大值与最后一行的极大值进行比较,以此求出方阵的极大值,③将该方阵的极大值与不可定向性图上该中心点的值比较,如果相等并且大于某个常数则中心点为局部极大点。
全文摘要
指纹鉴别特征提取电路是根据指纹图象数据库系统要求,采用特殊的硬件算法,用ASIC电路固化,通过完整的系统结构设计而成,该电路提取方法先进,处理速度成百倍提高,提取一个指纹特征的处理时间不足1秒,而且大规模集成,体积小,可靠性高,保密性强,便于和计算机配套,特别适合在微机上推广使用。本电路在公安、金融、银行、保险等行业有特别重要的意义,在国内外有广阔的市场。
文档编号G06K9/60GK1051998SQ8910864
公开日1991年6月5日 申请日期1989年11月23日 优先权日1989年11月23日
发明者徐浚 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1