


摘要:針對企業對生產產品測試設備的應用軟件使用的安全性和追溯性提出了越來越高的要求,開發了一款基于檢測操作人員指紋識別驗證的軟件系統。測試設備上位機主機電腦使用基于圖形化、模塊化編程新模式的虛擬儀器LabVIEW作為開發設計平臺,并使用.NET動態鏈接庫為間接訪問接口技術,實現了對微型指紋采集器的集成和二次研發應用,以及結合數據庫技術實現了指紋信息數據的存儲、查詢和調用功能。實驗證明:指紋識別驗證系統運行非常安全、可靠、穩定,可集成到生產測試設備上,符合企業的生產要求。
關鍵詞:指紋識別;虛擬儀器;動態鏈接庫;集成;指紋采集器;數據庫
中圖分類號:TP311.1? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)10-0246-03
Abstract: For the requirements of security and traceability of application software of test equipment of product in industry. The fingerprint of operator verification and validation system is designed and developed. The computer of test equipment uses LabVIEW which is virtual instrument based on graphical and modular development language platform and .NET dynamic link library interface technology. Realize the integration and acquisition in the second development with SDK using micro fingerprint acquisition instrument. And save、query and transfer the data with the database. The test result of verification and validation system shows that the system works security, reliable, steady and can be integrated to test equipment which meets the requirements with industry.
Key words: fingerprint verification; LabVIEW; dynamic link library; integration; fingerprint acquisition instrument; database
1 背景
目前,制造型企業在產品出廠之前都需要工程技術人員嚴格地按照國家相關標準和法律法規的要求,使用測試設備對產品相關參數指標進行測試以形成測試報告和結論,從而判斷產品性能質量的好壞與否。但是,目前大部分工廠在使用測試設備上存在如下的現象:所使用的測試軟件只有簡單的登錄密碼或者無登錄密碼保護,甚至所有員工共用一個密碼等現象。這樣的安全性機制很難保證測試設備軟件使用的安全性,人員的區分性,以及數據的可追溯性。針對該難題,本文以圖形化、模塊化的LabVIEW為測試設備軟件開發設計平臺,完成指紋采集注冊和驗證等功能。指紋是人類手指末端指腹上由凹凸的皮膚所形成的紋路,它的重復率極小,大約幾億甚至幾十億分之一,被稱為“人體身份證”。結合圖像采集、處理和大容量存儲技術,以及先進的模式識別技術的發展和成功應用,能夠很好地解決上述問題所帶來的不安全性和難追溯性[1]。
2 系統總體方案設計
該指紋驗證系統由微型指紋采集器、數據庫和計算機等部分組成。指紋采集器采用的是熵基科技股份有限公司生產的型號為Live20R的光學指紋采集器,能夠自動采集指紋圖像信息數據,并通過標準USB2.0接口將數字化后圖像信息數據上傳到計算機或其他設備。數據庫采用微軟公司的SQL Server數據庫,用于存儲收集到的工程技術人員的指紋信息庫和產品生產、測試過程中產生的數據。計算機采用安裝Windows 10的戴爾T5820工作站,負責指紋采集和對比,數據存儲和讀取,組成結構如圖1所示。
系統運行起來時,先由指紋采集器采集操作員的手指指紋并形成指紋圖像,注意指紋保持清潔、完整,然后計算機對指紋特征進行提取、合并及完成指紋登記入庫。若該指紋特征與計算機中數據庫里面已登記的指紋特征相互匹配,則準許操作員進入系統進行測試和其他操作;若指紋特征和數據庫中已存在的所有特殊均無法成功匹配,則限制該操作員進入系統并限制其進行產品測試等相關工作。因此,指紋驗證系統的中心任務就是在計算機平臺上調用指紋器,完成指紋采集和比對、特性提取和合并、圖像采集和判斷等功能[2]。
3 上位機軟件設計
上位機軟件采用的是美國National Instrument(下面文章中簡稱縮寫:NI)公司推出簡單易用、開發速度快、界面直觀的圖形化開發語言LabVIEW?(下面文章中簡稱縮寫:G語言)。G語言旨在簡化分布式系統在測試、測量和控制方面的設計,有助于加快產品研發過程。此外,NI提供了很多與G語言較兼容的配套硬件,可助力工程師快速開發和部署大中型測量和測試控制系統。雖然,G語言是一款功能強大的、圖形化的、基于程序框圖拖拉式編程語言,但也有部分無法實現的特殊接口功能。為了擴展和完善其邊際功能,G語言支持了強大的外部程序調用接口以便充分利用其他文本開發語言的底層功能和優勢,如支持C/C++、Python、C#以及MATLAB等接口。
3.1 指紋的采集和特征提取
Live20R型微型指紋采集器提供了可供第三方公司進行二次研發設計所用的軟件開發庫SDK。SDK提供了可以供多種語言調用指紋采集器的方式和方法,如C、C++、C#、Java、ActiveX等多種語言。本節利用G語言使用C#編譯成的.NET DLL文件方法,實現對指紋圖像的采集、特征提取、注冊和對比等功能。
3.1.1 LabVIEW調用.NET DLL方法
在LabVIEW中使用DLL包括兩種,分別是C/C++ DLL[3]和.NET DLL [4] 。其中,.NET DLL也被稱作.NET程序集,在.NET程序開發過程中被大量地采用。.NET使用公共語言運行庫CLR和.NET框架對DLL中封裝的函數進行組織及管理。
在G語言中使用.NET程序集,首先定位到G語言中位于:程序框圖->函數選板->互聯接口->.NET功能選板,即可找到所有可用的功能vi函數。再次,使用.NET功能選板中所提供的構造器節點讓.NET程序集中的類首先全部進行實例化操作。在此過程中,需要雙擊構造器節點在彈出選擇.NET構造器對話框進行相應的選擇操作。最后,將類實例化后的引用從構造器節點連線到屬性節點和調用節點,即可通過G語言訪問封裝在.NET程序集中所有的方法和屬性。
3.1.2 指紋注冊過程
在G語言平臺之上完成對.NET程序集的訪問后就需要對指紋采集器采集上來的指紋進行注冊和識別。其注冊指紋的目的是要將以后允許通過認證的指紋信息記錄在上位機的數據庫當中,方便調用匹配對比。具體注冊指紋的實現過程總體流程框圖如圖2所示。
首先使用構造器節點將zkfp2類進行實例化操作;然后使用調用節點的Init方法對指紋采集器進行初始化;再使用調用節點的Acquire Fingerprint方法獲取指紋數據,并進行特征指紋模板提取,連續進行3次同樣的指紋采集和特征提取操作;再通過調用節點的DBMerge方法對三次提取的特征進行合并;再通過調用節點的DBAdd方法對合并后的指紋特征進制注冊fid號;最后通過調用節點的BlobBase64方法將一維指紋特征數組數據轉換成字符串特征數據以方便在數據庫中存儲;G語言整個程序框圖實現過程如圖3所示。
3.1.3 指紋存儲
將指紋特征字符串進行存儲,使用的是LabSQL第三方工具包。首先使用ADO Connection Create建立數據庫連接引用,然后使用ADO Connection Open打開數據庫連接引用,再使用SQL Execute執行SQL語言指令,最后使用ADO Connection Close關掉數據庫引用。其中SQL語言使用insert into語句將指紋編號fid、指紋名稱NameID、指紋特征字符串數據BlobBase64通過SQL Execute函數存儲到SQL Server數據庫,方便調用和查詢[5]。程序框圖如圖4所示。
3.1.4 指紋對比
首先使用構造器節點將zkfp2類進行實例化操作;然后使用調用節點的Init方法對指紋采集器進行初始化;再使用調用節點的Acquire Fingerprint方法獲取指紋數據,并進行特征提取;再通過調用節點的DB Identify方法對已經提取的指紋特殊進行對比,并給出注冊號ifd和匹配已經存在的指紋得分score;此外,還可以通過imgBuffer將指紋數據進行圖像顯示;程序框圖如圖5所示。
4 測量結果
為了驗證已經開發還的指紋驗證系統的性能,分別使用5個指紋,且每個指紋分別做了10次測試,一般情況下我們設置指紋score得分在90以上即認為指紋匹配成功,該系統數據測試結果如表格1所示。
5 結束語
本文使用國產的微型USB 2.0通用型指紋采集器,并利用數據庫存儲技術,結合虛擬儀器編程軟件G語言設計和開發了具有高度安全性、適用性、穩定性的指紋驗證識別登錄系統。測試數據結果顯示,指紋驗證系統整體運行穩定,可以用于測試設備的指紋驗證登錄。
參考文獻:
[1] 李明進.指紋識別技術現狀及發展趨勢研究 [J].無線互聯科技,2020, 17(1):158-159.
[2] 劉暢,李曉東,畢云峰.基于LabVIEW虛擬儀器技術的指紋識別報警系統設計[J].現代電子技術,2012,35(4):187-191.
[3] 許劍,鄒小芳,王建華.在LabVIEW中利用DLL實現數據采集[J].微計算機信息,2008,24(13):95-96
[4] 侯博,廖醒宇.基于LabVIEW環境下調用DLL實現儀器控制[J].電子世界,2015(21):96-98.
[5] 劉柱,徐保國,熊偉麗.PROFIBUS和LabVIEW技術在污水處理中的應用研究[J].儀表技術與傳感器,2012(11):80-82.
【通聯編輯:謝媛媛】