指紋識(shí)別處理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本實(shí)用新型涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種指紋識(shí)別處理系統(tǒng)。
【背景技術(shù)】
[0002]指紋是人體的重要生物特征。從二十世紀(jì)六十年代,一些國(guó)家如美國(guó)、英國(guó)、法國(guó)等開始了對(duì)指紋自動(dòng)識(shí)別系統(tǒng)的研制。隨著應(yīng)用的深入,指紋信息庫的容量也不斷攀升。例如我國(guó)自1990年開始應(yīng)用指紋自動(dòng)識(shí)別系統(tǒng),到2005年全國(guó)擁有捺印指紋數(shù)據(jù)3000余萬份,每年以20%以上的速度增長(zhǎng),2010年,全國(guó)捺印指紋數(shù)據(jù)達(dá)到了 7000余萬份??焖僭鲩L(zhǎng)的指紋庫容給指紋的快速計(jì)算帶來了新的挑戰(zhàn)。
[0003]通常的指紋識(shí)別算法都是基于特征點(diǎn)匹配的識(shí)別原理,是通過比較任意兩點(diǎn)之間的向量桿差值來判斷兩幅指紋圖像中的局部信息是否吻合,由于每個(gè)手指均有20-128個(gè)特征數(shù)據(jù),這樣需要比較的數(shù)據(jù)就接近于特征數(shù)據(jù)的階乘,這個(gè)計(jì)算量顯然無法實(shí)際應(yīng)用,為此,指紋工作者采用了大量的數(shù)學(xué)算法降低計(jì)算的復(fù)雜度,現(xiàn)有的指紋識(shí)別算法的時(shí)間復(fù)雜度可以降低至特征數(shù)據(jù)個(gè)數(shù)的平方。
[0004]在實(shí)際應(yīng)用中,目前通過通用的處理器如ARM處理器來進(jìn)行指紋識(shí)別。然而,在采用現(xiàn)有的ARM處理器對(duì)指紋識(shí)別算法進(jìn)行處理時(shí),存在耗時(shí)較長(zhǎng),運(yùn)算效率低下的問題。
【實(shí)用新型內(nèi)容】
[0005]本實(shí)用新型實(shí)施例解決的問題是降低ARM處理器在處理指紋識(shí)別算法耗費(fèi)的時(shí)間,提尚運(yùn)算效率。
[0006]為解決上述問題,本實(shí)用新型實(shí)施例提供一種指紋識(shí)別處理系統(tǒng),包括:可編程器件以及處理器,其中:
[0007]所述可編程器件,適于在接收到處理器發(fā)送的指紋認(rèn)證請(qǐng)求后,對(duì)指紋模板數(shù)據(jù)庫中指紋模板的特征向量進(jìn)行并行計(jì)算;將并行計(jì)算結(jié)果與待比對(duì)指紋的特征向量計(jì)算結(jié)果進(jìn)行比對(duì),篩選出符合預(yù)設(shè)規(guī)則的指紋模板數(shù)據(jù);
[0008]所述處理器,適于接收所述可編程器件發(fā)送的所述符合預(yù)設(shè)規(guī)則的指紋模板數(shù)據(jù),并將所述待比對(duì)指紋數(shù)據(jù)與所述篩選出的指紋模板數(shù)據(jù)進(jìn)行特征相似度分值計(jì)算,從計(jì)算結(jié)果中獲取指紋識(shí)別運(yùn)算結(jié)果。
[0009]可選的,所述可編程器件,適于通過多線程將所述待比對(duì)指紋數(shù)據(jù)與所述篩選出的指紋模板數(shù)據(jù)進(jìn)行并行的特征相似度分值計(jì)算。
[0010]可選的,所述可編程器件,適于從所述指紋模板數(shù)據(jù)庫中并行地選取指紋模板,計(jì)算每一個(gè)指紋模板對(duì)應(yīng)的特征點(diǎn)集合中任意兩個(gè)特征點(diǎn)之間的特征向量桿的長(zhǎng)度與角度,得到并行計(jì)算結(jié)果,所述并行計(jì)算結(jié)果包括:每一個(gè)指紋模板對(duì)應(yīng)的特征向量桿的長(zhǎng)度與角度的集合。
[0011]可選的,所述可編程器件獲取到的待比對(duì)指紋的特征向量計(jì)算結(jié)果為:所述待比對(duì)指紋的特征點(diǎn)集合中,任意兩個(gè)特征點(diǎn)之間的特征向量桿的長(zhǎng)度與角度的集合。
[0012]可選的,所述可編程器件,適于將指紋模板對(duì)應(yīng)的特征向量桿的長(zhǎng)度與角度的集合中的元素,與待比對(duì)指紋對(duì)應(yīng)的特征向量桿的長(zhǎng)度與角度的集合中的元素進(jìn)行對(duì)比,篩選出集合相似度大于預(yù)設(shè)值的指紋模板。
[0013]可選的,所述處理器,適于將計(jì)算得到特征相似度分值與預(yù)設(shè)閾值進(jìn)行比較,當(dāng)所述特征相似度分值大于所述預(yù)設(shè)閾值時(shí),判定對(duì)應(yīng)的指紋與所述待比對(duì)指紋為同一指紋。
[0014]可選的,所述可編程器件為FPGA,所述處理器為ARM處理器。
[0015]可選的,所述指紋識(shí)別處理系統(tǒng)包括:多個(gè)存儲(chǔ)器,適于存儲(chǔ)所述預(yù)設(shè)的指紋模板數(shù)據(jù)庫中的指紋模板數(shù)據(jù)。
[0016]可選的,所述存儲(chǔ)器為DRAM。
[0017]與現(xiàn)有技術(shù)相比,本實(shí)用新型實(shí)施例的技術(shù)方案具有以下優(yōu)點(diǎn):
[0018]通過可編程器件將待比對(duì)指紋的特征向量與指紋模板的特征向量進(jìn)行并行計(jì)算,從指紋模板數(shù)據(jù)庫中篩選出符合規(guī)則的指紋模板數(shù)據(jù)。處理器只對(duì)篩選出的指紋模板數(shù)據(jù)與待比對(duì)指紋進(jìn)行特征相似度分值計(jì)算,從而可以大大降低進(jìn)行特征相似度分值計(jì)算的指紋模板的數(shù)量,因此可以大大降低指紋識(shí)別算法耗費(fèi)的時(shí)間,提高運(yùn)算效率。
[0019]進(jìn)一步,將指紋模板數(shù)據(jù)庫中的指紋模板數(shù)據(jù)分散在多個(gè)存儲(chǔ)器中存儲(chǔ),可以有效地利用現(xiàn)有硬件結(jié)構(gòu)上的內(nèi)存資源,降低大內(nèi)存的購(gòu)置成本。
【附圖說明】
[0020]圖1是本實(shí)用新型實(shí)施例中的一種指紋識(shí)別處理系統(tǒng)的處理方法的流程圖;
[0021]圖2是本實(shí)用新型實(shí)施例中的一種指紋識(shí)別處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0022]圖3是本實(shí)用新型實(shí)施例中的另一種指紋識(shí)別處理系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]在實(shí)際應(yīng)用中,目前通過通用的處理器如ARM處理器來進(jìn)行指紋識(shí)別。然而,在采用現(xiàn)有的ARM處理器對(duì)指紋識(shí)別算法進(jìn)行處理時(shí),存在耗時(shí)較長(zhǎng),運(yùn)算效率低下的問題。
[0024]在本實(shí)用新型實(shí)施例中,通過可編程器件將待比對(duì)指紋的特征向量與指紋模板的特征向量進(jìn)行并行計(jì)算,從指紋模板數(shù)據(jù)庫中篩選出符合規(guī)則的指紋模板數(shù)據(jù)。處理器只對(duì)篩選出的指紋模板數(shù)據(jù)與待比對(duì)指紋進(jìn)行特征相似度分值計(jì)算,從而可以大大降低進(jìn)行特征相似度分值計(jì)算的指紋模板的數(shù)量,因此可以大大降低指紋識(shí)別算法耗費(fèi)的時(shí)間,提高運(yùn)算效率。
[0025]為使本實(shí)用新型實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖對(duì)本實(shí)用新型的具體實(shí)施例做詳細(xì)的說明。
[0026]參照?qǐng)D1,以下通過具體步驟詳細(xì)介紹采用本實(shí)用新型實(shí)施例中的指紋識(shí)別系統(tǒng)的工作原理。
[0027]步驟S101,可編程器件在接收到處理器發(fā)送的指紋認(rèn)證請(qǐng)求后,對(duì)指紋模板數(shù)據(jù)庫中指紋模板的特征向量進(jìn)行并行計(jì)算。
[0028]在具體實(shí)施中,可編程器件為現(xiàn)場(chǎng)可編程門陣列(Field Programmable GateArray,F(xiàn)PGA)。FPGA是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,用于進(jìn)行并行運(yùn)算。
[0029]在具體實(shí)施中,在進(jìn)行指紋識(shí)別運(yùn)算操作時(shí),處理器可以向可編程器件發(fā)送指紋認(rèn)證請(qǐng)求。可編程器件在接收到處理器發(fā)送的指紋認(rèn)證請(qǐng)求后,從存儲(chǔ)器中預(yù)設(shè)的指紋模板數(shù)據(jù)庫中讀取指紋模板數(shù)據(jù),并行地對(duì)讀取出的指紋模板的特征向量進(jìn)行計(jì)算,以得到并行計(jì)算結(jié)果。
[0030]在本實(shí)用新型實(shí)施例中,可編程器件中可以存在多個(gè)計(jì)算單元,在進(jìn)行并行計(jì)算時(shí),每個(gè)計(jì)算單元可以計(jì)算各自對(duì)應(yīng)的指紋模板數(shù)據(jù)。在分配指紋模板數(shù)據(jù)時(shí),每個(gè)計(jì)算單元對(duì)應(yīng)的指紋模板數(shù)據(jù)各不相同,即指紋模板數(shù)據(jù)不重復(fù)分配。
[0031 ] 在本實(shí)用新型實(shí)施例中,指紋模板數(shù)據(jù)庫中的指紋模板數(shù)據(jù)可以預(yù)先存儲(chǔ)在動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic Random Access Memory,DRAM)??删幊唐骷诮邮盏教幚砥靼l(fā)送的指紋認(rèn)證請(qǐng)求后,連續(xù)不斷的從DRAM中讀取指紋模板數(shù)據(jù)并載入,并行地對(duì)讀取出的指紋模板的特征向量進(jìn)行計(jì)算,已得到并行計(jì)算結(jié)果。
[0032]在可編程器件讀取到指紋模板數(shù)據(jù)后,可以對(duì)每一個(gè)指紋模板進(jìn)行特征向量桿計(jì)算,計(jì)算每一個(gè)指紋模板對(duì)應(yīng)的特征點(diǎn)集合中任意兩個(gè)特征點(diǎn)之間的特征向量桿的長(zhǎng)度和角度,所有指紋模板對(duì)應(yīng)的特征向量桿計(jì)算結(jié)果的結(jié)合即為并行計(jì)算結(jié)果。
[0033]從上述計(jì)算過程中可以得知,在指紋模板對(duì)應(yīng)的特征點(diǎn)集合中元素較多時(shí),得到的特征向量桿計(jì)算結(jié)果所包含的元素較多。以特征點(diǎn)集合中的元素個(gè)數(shù)為20個(gè)時(shí),計(jì)算任意兩個(gè)特征點(diǎn)之間的特征向量桿的長(zhǎng)度和角度,得到的結(jié)果為(20X19)/2 = 190,即一個(gè)指紋模板對(duì)應(yīng)的特征向量桿計(jì)算結(jié)果中存在190個(gè)元素。因此,為減小計(jì)算量,在進(jìn)行特征向量桿計(jì)算時(shí),可以只計(jì)算相鄰兩個(gè)元素之間的特征桿向量的長(zhǎng)度和角度。也可以采用其他的方法來減小特征桿向量計(jì)算的計(jì)算量,此處不做贅述。
[0034]步驟S102,將并行運(yùn)算結(jié)果與待比對(duì)指紋的特征向量計(jì)算結(jié)果進(jìn)行比對(duì),篩出符合預(yù)設(shè)規(guī)則的指紋模板數(shù)據(jù)。
[0035]在具體實(shí)施中,待比對(duì)指紋信息可以存儲(chǔ)在可編程器件中。待比對(duì)指紋的特征向量計(jì)算結(jié)果可以為:待比對(duì)指紋的特征向量桿計(jì)算結(jié)果,即計(jì)算待比對(duì)指紋對(duì)應(yīng)的特征點(diǎn)集合中,任意兩個(gè)特征點(diǎn)之間的特征向量桿的長(zhǎng)度與角度,得到的集合即為待比對(duì)指紋的特征向量桿計(jì)算結(jié)果。
[0036]在本實(shí)用新型實(shí)施例中,在計(jì)算得到待比對(duì)指紋對(duì)應(yīng)的特征向量桿計(jì)算結(jié)果后,可以將其與指紋模板對(duì)應(yīng)的特征向量桿計(jì)算結(jié)果進(jìn)行比對(duì),以篩選出部分指紋模板。篩選的原則可以為:將待比對(duì)指紋對(duì)應(yīng)的特征向量桿計(jì)算結(jié)果,與指紋模板對(duì)應(yīng)的特征向量桿計(jì)算結(jié)果進(jìn)行相似度計(jì)算,篩選出相似度大于預(yù)設(shè)值的指紋模板,并發(fā)送至處理器。即:根據(jù)待比對(duì)指紋對(duì)應(yīng)的特征向量桿的長(zhǎng)度與角度的集合中的元素,與指紋模板對(duì)應(yīng)的特征向量桿的長(zhǎng)度與角度的集合中的元素,對(duì)二者進(jìn)行相似度計(jì)算。
[0037]在本實(shí)用新型實(shí)施例中,兩個(gè)集合相似可以表述為:兩個(gè)集合中的元素個(gè)數(shù)相等,兩個(gè)集合中的元素一一對(duì)應(yīng),當(dāng)兩個(gè)集合中其中一個(gè)元素,與一一對(duì)應(yīng)的元素之間的差值處于一定范圍內(nèi)時(shí),判定兩個(gè)元素相似;當(dāng)兩個(gè)集合中相似元素的個(gè)數(shù)大于一定值時(shí),判定兩個(gè)集合相似。
[0038]例如,待比對(duì)指紋對(duì)應(yīng)的特征向量桿計(jì)算結(jié)果中的元素為{a0,al,a2,......,an},
其中一個(gè)指紋模板對(duì)應(yīng)的特征向量桿計(jì)算結(jié)果中的元素為{b0,bl,b2,......,1^},&0與130
--對(duì)應(yīng),al與bl--對(duì)應(yīng),......,an與bn--對(duì)應(yīng)。a0與b0的差值處于一定范圍,判定aO與bO相似。al與bl的差值大于一定范圍,判定al與bl不相似。根據(jù)相似元素的個(gè)數(shù),即可獲取兩個(gè)集合的相似度,從而判定兩個(gè)集合是否相似。
[0039]步驟S103,所述處理器將所述待比對(duì)指紋數(shù)據(jù)與所述篩選出的指紋模板數(shù)據(jù)進(jìn)行特征相似度分值計(jì)算,從計(jì)算結(jié)果中獲取指紋識(shí)別運(yùn)算結(jié)果。
[0040]在具體實(shí)施中,可編程器件在篩選出符合規(guī)則的指紋模板數(shù)據(jù)后,可以將篩選出的符合規(guī)則的指紋模板數(shù)據(jù)發(fā)送至處理器。處理器根據(jù)接收到的篩選出的指紋模板數(shù)據(jù)后,將其與待比對(duì)指紋數(shù)據(jù)進(jìn)行特征相似度分值計(jì)算。當(dāng)計(jì)算得到的特征相似度分值大于預(yù)設(shè)閾值時(shí),即判定特征相似度分值大于預(yù)設(shè)閾值的指紋模板與待比對(duì)指紋為同一指紋。
[0041]在本實(shí)用新型實(shí)施例中,處理器可以為ARM處理器。ARM處理器可以將篩選出的指紋模板數(shù)據(jù)與待比對(duì)指紋數(shù)據(jù)進(jìn)行精確對(duì)比計(jì)算,以獲取特征相似度分值,精確對(duì)比計(jì)算可以包括特征桿對(duì)生成、旋轉(zhuǎn)、平移以及相似度計(jì)算等。ARM處理器可以建立精確比對(duì)線程,進(jìn)行特征相似度分值計(jì)算。
[0042]例如,可編程器件篩選出符合