叢碧輝 ,李 敏 ,許 爽 ,劉文鵬 ,朱滿瓊 ,2,祁楷峰
(1.大連民族學(xué)院 遼寧 大連 116600;2.北方民族大學(xué) 寧夏 銀川 750021;3.北京郵電大學(xué) 北京 100000)
基于c#指紋識別系統(tǒng)設(shè)計
叢碧輝1,李 敏1,許 爽1,劉文鵬1,朱滿瓊1,2,祁楷峰3
(1.大連民族學(xué)院 遼寧 大連 116600;2.北方民族大學(xué) 寧夏 銀川 750021;3.北京郵電大學(xué) 北京 100000)
設(shè)計了一套精確、方便、人性化的基于c#指紋識別系統(tǒng)。指紋識別經(jīng)過圖像預(yù)處理、特征提取、特征匹配三步驟。運用高斯-拉普拉斯算子的邊緣檢測方法進行圖像分割、Poincare法提取中心點以及端點、分叉點后去偽點進行特征提取以及結(jié)合節(jié)點與方向場的匹配方法進行匹配。經(jīng)過調(diào)試得到的識別結(jié)果表明:運行穩(wěn)定、實時性好、識別率高,達到了預(yù)期的目標并能夠很好地滿足實際需求,具有廣泛的應(yīng)用前景。
c#指紋識別系統(tǒng);圖像分割;邊緣檢測;特征匹配
隨著物質(zhì)生活水平的提高,身份的數(shù)字化和隱形化趨勢日益明顯。但是,由于身份信息泄露而造成的經(jīng)濟損失等問題也日益嚴重,因此,對于如何識別身份成為各方面研究重點[1]。單純的證件類身份識別方法因其容易偽造等缺點已經(jīng)不能滿足人們的生活需求。因此,基于科學(xué)技術(shù)的身份識別方法已成為人們關(guān)注熱點。指紋因其具有易采集、穩(wěn)定性好、容易接受等優(yōu)點,在眾多身份識別方法中擁有不可替代的地位。一套方便、快捷、美觀、實用的指紋識別系統(tǒng)成為時代的需求。本研究應(yīng)用c#語言設(shè)計了一種指紋識別系統(tǒng)。以往的指紋識別系統(tǒng)應(yīng)用c++或者Matlab構(gòu)建。與c++相比較,c#操作方便、修改容易。與Matlab相比較,c#擁有更美觀的操作界面,而且不用后臺支撐,可直接運行。通過應(yīng)用c#,不但能夠更好融合各種方法與平臺之間的聯(lián)系而且美觀的界面設(shè)計更符合現(xiàn)代人的審美需求。本系統(tǒng)識別率較高,使用簡單方便,對指紋研究與豐富c#語言應(yīng)用有較大意義。
指紋識別系統(tǒng)操作分為兩個階段:注冊階段與識別階段。指紋識別系統(tǒng)運行示意圖如圖1所示,展示了指紋識別系統(tǒng)的操作過程。注冊階段的主要目的是獲取指紋數(shù)據(jù)庫,為指紋識別提供基礎(chǔ)信息。識別階段的目的是識別出待識別人的身份。識別階段為本系統(tǒng)設(shè)計重點。識別階段主要包括三步驟:指紋圖像預(yù)處理、指紋特征提取與特征識別。在這三步驟中,指紋圖像預(yù)處理是基礎(chǔ),特征提取是核心,特征匹配得到結(jié)論。本系統(tǒng)著重設(shè)計了預(yù)處理步驟中的分割部分,指紋特征提取以及指紋識別中的匹配兩個過程。
指紋圖像預(yù)處理按照執(zhí)行順序分為圖像分割、平滑去噪、平衡、二值化、細化等步驟。本系統(tǒng)著重設(shè)計指紋圖像的前景與背景分割。指紋圖像分割采用的是應(yīng)用高斯-拉普拉斯算子的邊緣檢測方法。由于拉普拉斯算子對圖像噪聲比較敏感,為了減少噪聲的影響,可以用高斯函數(shù)對圖像先進行平滑卷積濾波,然后再運行拉普拉斯算子。將高斯卷積和拉普拉斯算子組合成一個濾波器或算子的方法稱為拉普拉斯-高斯(LOG)濾波器或算子,它的脈沖響應(yīng)函數(shù)為:
圖1 指紋識別系統(tǒng)組成示意圖Fig.1 Fingerprint identification system schematic diagram
因為模板是中心對稱形式的,所以可以先得到模板左上角的值,再賦值到全部模板,當然對稱軸上的點要單獨處理。得到處理后的數(shù)據(jù)給整體重新賦值。對脈沖響應(yīng)函數(shù)進行采樣,就可構(gòu)造成一個離散形勢的響應(yīng)函數(shù),一般高斯模板半徑取 3σ。
圖像邊緣梯度幅值遠大于噪聲梯度幅值,因此可以設(shè)定一個閾值來判斷某個像素點究竟是邊緣點還是非邊緣點。若該點的梯度值大于閾值,則該點是圖像輪廓上的點,其值不變;若該點的梯度值小于閾值,則該點不是邊緣點,設(shè)為0。將圖像按灰度值大小分為s1和s2兩類,s1圖像灰度值小于T,而s2圖像灰度值大于T,那么η(T)為最大值得T即為最佳閾值。
式中v2B(T)是類間方差,v2W(T)是類內(nèi)方差,它們可由以下公式得到:
其中 Ψ1和 Ψ2分別屬于 ρ1和 ρ2像素的灰度值。 γi是灰度值為i的像素個數(shù),ΨT是所有像素平均值,N是像素總數(shù)。圖像分割效果圖如圖2所示。
圖2 指紋圖像分割效果圖Fig.2 Fingerprint image segmentation effect
指紋特征點有端點、交叉點、中心點以及三角點。要記錄指紋特征點應(yīng)先得到指紋中心點,以中心點為相對坐標原點記錄其他點與中心點關(guān)系。
1 .2 .1 指紋中心點、三角點的提取
中心點與三角點統(tǒng)稱為奇異點。一個場,如果存在奇異點,其周圍的方向場劇烈變化。本系統(tǒng)對于中心點、三角點的提取所使用的原理就是基于這點的。Poincare公式:
在方向場中,中心點的Poincare的索引值為1/2,三角點的Poincare索引值為-1/2。用一條閉合曲線方向場差值的和來代替Poincare的值。以任意點P(i,j)=1的點為中心,分別計算其周圍3×3方格內(nèi)與5×5方格內(nèi)所有以閉合曲線順時針方向的點的方向場差的和,只有在3×3方格與5×5方格的Poincare值(1/2或-1/2)相同的時候,才是真正的奇異點。
1 .2 .2 指紋端點、交叉點的提取以及除去偽點
以中心點為原點,建立相對坐標系。記錄端點、分叉點的位置、距離原點距離、頻率、方向以及特征點類型。以 P(i,j)=1 為中心,在 3×3 方格范圍內(nèi)記錄點 P(i,j)周圍的 8 個點有幾個點的灰度值為1,有一個點的為端點,有3個點的為交叉點,記錄 P(i,j)的類型。 應(yīng)用勾股定理、三角函數(shù)計算 P(i,j)的位置、與原點距離以及方向。
由于估計提取中會存在部分點不是真的特征點即偽點需要將其去掉,故計算特征點之后還要將偽點去掉才是真正的特征點。
偽特征點包括因紋線斷裂造成的點以及因小孔、毛刺、和叉連形成的點,還有邊緣點。
1)邊緣點
邊緣點去除較簡單,只需采集特征點的時候從一定數(shù)量之后采集即可。
2)因紋線斷裂造成的偽特征點
對于這類為特征主要考慮細節(jié)點間的距離和方向關(guān)系。首先確定一特征點P1,如果存在另一特征點P2使兩點之間的距離小于5(5為閾值),即為偽點。
3)因小孔、毛刺、叉連形成的偽點
①對于任意兩個紋線的分叉點,如果兩點間的距離小于10(10為閾值)則為小孔點 。
②對于同一條紋線上的任一端點P1與任一分叉點P2,如果兩點間距離小于4或兩點間距離小于8同時兩特征點連線與橫坐標的夾角與紋線方向角之差的絕對值小于,則為毛刺點(4和8為閾值)。
③對于任意分叉點,如果兩點間距離約等于 同時兩特征點連線與橫坐標的夾角與紋線方向角之差的絕對值小于π/4,則為叉連點。特征點提取示意圖如圖3所示。
圖3 指紋特征提取效果圖Fig.3 Fingerprint feature extraction effect
假設(shè)M和W分別是數(shù)據(jù)庫指紋和輸入指紋。在上面的提取圖像特征點時得到了圖像的特征點個數(shù)、中心點位置、特征點的位置、梯度、方向、類型以及頻率等指紋特征信息,在進行特征點比對時是以這些信息為基礎(chǔ)進行比對的。首先對M和W進行旋轉(zhuǎn)和平移對齊。在誤差允許范圍內(nèi)計算方向OT(i,j)。應(yīng)用角度誤差計算橫、縱坐標值。在滿足橫、縱坐標的允許誤差范圍內(nèi),在相同的特征點類型的條件下,查找匹配圖像在45度方向場偏差范圍內(nèi)的相似特征點。相似點在原圖像特征點所占比例即為對比度或者相似度。
在數(shù)據(jù)庫中查找對比度最高的指紋圖像即可完成匹配。識別效果圖如圖4所示。
圖4 指紋識別效果圖Fig.4 Fingerprint identification effect
現(xiàn)在市面流行的生物特征識別系統(tǒng)大多應(yīng)用c++或者Matlab編程。本系統(tǒng)的軟件采用c#編程,與以往生物特征識別應(yīng)用平臺c++、Matlab相比較是一個創(chuàng)新。與c++相比c#語言更容易操作,程序更簡潔,節(jié)省了程序運行時間。與Matlab相比c#平臺可以在沒有后臺軟件支撐下單獨運行,
而且界面更加美觀。程序流程圖如圖 所示。
圖5 程序流程圖Fig.5 Program flow chart
從圖可以看出,本系統(tǒng)分為兩個模塊:注冊模塊與識別模塊。首先介紹注冊模塊。將指紋圖像采集后,通過圖像分割、平滑去噪得到圖像的骨架信息。由于經(jīng)過平滑去噪后部分圖像不夠清晰,應(yīng)用加強算法可以智能增強圖像灰度值。將清晰的圖像細化得到單個像素的骨架信息后進行二值化處理,使得圖像呈現(xiàn)明顯的黑白效果。將具有黑白效果的圖片以Image類型存入SQL Server數(shù)據(jù)庫中,構(gòu)成帶有指紋信息的個人信息數(shù)據(jù)庫。其次介紹一下識別模塊。識別模塊與注冊模塊一樣需要經(jīng)過圖像預(yù)處理部分,即:圖像采集、圖像分割、平滑去噪、增強、細化、二值化。經(jīng)過圖像預(yù)處理就要進行指紋特征提取。這里的指紋特征提取是數(shù)據(jù)庫指紋圖像與待識別圖像的指紋特征雙向提取。將待識別圖像指紋特征與數(shù)據(jù)庫指紋特征進行逐一比對即為指紋圖像的匹配。記錄差異度最小值的指紋信息,并在數(shù)據(jù)庫中查找相應(yīng)指紋信息所屬人的姓名。最后顯示姓名與指紋差異度。
本系統(tǒng)是應(yīng)用c#構(gòu)建的指紋識別[8-9]系統(tǒng)。通過高斯-拉普拉斯算子結(jié)合雙自動閾值選擇法的邊緣檢測方法進行圖像分割,良好的保存了指紋信息的可讀性。以Poincare公式為依據(jù)提取的中心點為坐標原點得到特征值,從而應(yīng)用結(jié)合節(jié)點與方向場方法進行了指紋匹配。本系統(tǒng)運行速度較快、精度較高、美觀、可行性強,具有實際應(yīng)用價值的同時能夠滿足科研要求。但存在中心點定位不夠精準等不足有待改進。
[1]李敏,許爽,崔艷秋.身份認證系統(tǒng)設(shè)計[J].大連民族學(xué)院報,2013,15(3):296-299.
LI Min,XU Shuang,CUI Yan-qiu.Identity authentication system design[J].Journal of Dalian Nationality University,2013,15(3):296-299.
[2]張圓圓.指紋識別技術(shù)相關(guān)算法的研究[D].北京:北京郵電大學(xué),2012.
[3]Brunelli R,F(xiàn)alavigna D.Person identification u-sing multiple cues[J].IEEE Trans.on PAMI,2005,17(10):955-966.
[4]孫冬梅,裘正定.生物特征識別技術(shù)綜述[J].電子學(xué)報,2001(12):1744-1747.
SUN Dong-mei,QIU Zheng-ding.Biometric recognition technology review[J].Journal of Electronics.2001(12):1744-1747.
[5]于為民,趙繼印,李敏,等.全手形特征的生物識別技術(shù)綜述[J].大連民族學(xué)院學(xué)報,2012,14(1):19-23.
YU Wei-Min,ZHAO Ji-yin,LI Min,et al.All hand shape characteristics of biological recognition technology reviewe[J].Journal of Dalian Nationality University.2012,14(1):19-23.
[6]Jain A K,Ross A,Prabhakar S.An introduction to biometric recognition[J].IEEE Transactions on Circuit and System for Video Technology,2004,14(1):4-20.
[7]Pankanti S,Bolle R M,Jain A K.Biometrics:the future of identification[J].Computer,2000,33(2):46-49.
[8]劉暢,李曉東,畢云峰.基于LabVIEW虛擬儀器技術(shù)的指紋識別報警系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012(4):188-191.
LIU Chang,LI Xiao-dong,BI Yun-feng.Fingerprint identification and alarm system based on LabVIEW virtual instrument[J].Modern Electronics Technique,2012(4):188-191.
[9]鄭智強,鄭建德,高媛.基于自適應(yīng)遺傳算法的殘缺指紋識別[J].現(xiàn)代電子技術(shù),2013(10):83-86.
ZHENG Jian-de,ZHENG Zhi-qiang,GAO Yuan.Fragmentary fingerprint matching based on adaptive generic algorithm[J].Modern Electronics Technique,2013(10):83-86.
The fingerprint identification system design based on c#
CONG Bi-hui1,LI Min1,XU Shuang1,LIU Wen-peng1,ZHU Man-qiong1,2,QI Kai-feng3
(1.Dalian Nationalities University,Dalian 116600,China;2.Beifang Nationalities University,Yinchuan 750021,China;3.Beijing University of Posts and Telecommunication,Beijing 100000,China)
Design a set of precise,convenient and humanized fingerprint identification system based on c#.Fingerprint identification need image preprocessing,feature extraction,feature matching three steps.Using Gauss-laplacian edge detection method for image segmentation,Poincare method extracted the center as well as the endpoint,bifurcation point except the pseudo point after feature extraction,and combining with matching nodes and direction of field matching method.After debugging the recognition results show that the running stability,good real-time,high recognition rate,has reached the expected goal and can well meet the actual demand,with wide application prospect.
fingerprint identification system base on c#;image segmentation;edge detection;feature matching
TP391
A
1674-6236(2014)13-0025-03
2013-10-10 稿件編號:201310035
遼寧省教育廳科學(xué)技術(shù)研究項目 (L2010094);中央高校基本科研業(yè)務(wù)費專項資金資助項目(DC120101132;DC110309);大連民族學(xué)院2013年碩士專業(yè)學(xué)位研究生創(chuàng)新基金項目(YCX2013010)
叢碧輝(1989—),女,遼寧大連人,碩士。研究方向:民族工作專用信息網(wǎng)絡(luò)工程。