汪小藝 王珺 魏志強(qiáng) 鄭英
摘 要:人臉識別是基于人的臉部特征信息進(jìn)行身份識別的一種生物識別技術(shù)。本課題通過樹莓派、OpenCV等來完成圖書館門禁系統(tǒng),通過錄入人臉信息,系統(tǒng)識別成功則開通門禁,識別失敗則報警。本系統(tǒng)完成了門禁系統(tǒng)的設(shè)計要求,實現(xiàn)了圖書館的門禁智能化。
關(guān)鍵詞:樹莓派;Linux;OpenCV;圖書館門禁
0 引言
人臉識別門禁是基于先進(jìn)的人臉識別技術(shù),結(jié)合成熟的ID卡和指紋識別技術(shù)而推出的安全實用的門禁產(chǎn)品。產(chǎn)品采用分體式設(shè)計,人臉、指紋和ID卡信息的采集和生物信息識別及門禁控制內(nèi)外分離,實用性高、安全可靠。系統(tǒng)采用網(wǎng)絡(luò)信息加密傳輸,支持遠(yuǎn)程控制和管理,可廣泛應(yīng)用于銀行、軍隊、公檢法、智能樓宇等重點(diǎn)區(qū)域的門禁安全控制。
目前學(xué)校圖書館門禁依舊采用的是刷校園卡進(jìn)入的方式,對于同學(xué)們而言十分不便,而且也有外來人員借用本校學(xué)生校園卡進(jìn)入圖書館的現(xiàn)象。使用人臉識別方式進(jìn)入可以有效杜絕這類情況的發(fā)生,也方便同學(xué)進(jìn)入圖書館學(xué)習(xí)以及學(xué)校對于圖書館的日常管理。
1 設(shè)計思路
根據(jù)對預(yù)期功能的分析結(jié)合我們運(yùn)用的技術(shù),首先需要給出總體設(shè)計方案,本課題所實現(xiàn)的人臉識別系統(tǒng)不僅包含硬件開發(fā)平臺,而且還有在開發(fā)平臺上運(yùn)行的各種端口函數(shù)、驅(qū)動程序和應(yīng)用程序,其中硬件部分主要有:視頻采集部件、視頻傳輸部件和視頻顯示部件;程序部分主要有:基于樹莓派的操作系統(tǒng)、視頻采集程序、視頻編碼程序、視頻傳輸程序、PC機(jī)上顯示程序等。系統(tǒng)設(shè)計方案的總體框架如圖1所示。
本次人臉識別系統(tǒng)的開發(fā)分為兩個部分實施:PC和嵌入式平臺。在PC平臺上,對設(shè)計好的人臉識別程序進(jìn)行調(diào)試,驗證程序的整體機(jī)理和功能。程序功能沒有問題后,再將程序環(huán)境進(jìn)行重新配置,編譯成可以在嵌入式平臺上運(yùn)行的程序,然后移植到嵌入式平臺上驗證運(yùn)行。這樣分兩步走的開發(fā)方式,雖然需要對程序進(jìn)行兩次編譯,但是,在程序的調(diào)試和驗證過程中帶來了很大便利,對問題的查找和處理更高效率。
2 硬件平臺設(shè)計
本設(shè)計使用嵌入式板卡作為其運(yùn)行的硬件平臺。對于嵌入式開發(fā)板,其運(yùn)行性能的關(guān)鍵是嵌入式處理芯片,作為嵌入式系統(tǒng)的核心部件,其運(yùn)算處理速度的快慢直接影響系統(tǒng)平臺的運(yùn)行效率。目前市面上存在多種內(nèi)核結(jié)構(gòu)的嵌入式芯片,包括ARM內(nèi)核芯片、IBM的Power PC、Intel的x86等,而以ARM為內(nèi)核的處理芯片在全球嵌入式芯片市場中占據(jù)主導(dǎo)地位[1]。
項目所選用的Raspberry Pi開發(fā)平臺采用的是高性能的樹莓派4B作為主處理器,支持的操作系統(tǒng)為:樹莓派專用系統(tǒng)Debian GNU/Linux、Fedora、Arch Linux、RISC OS、Windows10 IoT,搭載1.5 GHz的64位四核處理器(Broadcom BCM2711,Quad core Cortex-A72(ARM v8) 64-bit SoC @ 1.5 GHz),支持Bluetooth 5.0,兩個USB 3.0和兩個USB 2.0接口,雙micro HDMI輸出,支持4K分辨率,microSD存儲系統(tǒng)增加了雙倍數(shù)據(jù)速率支持,先前版本的microUSB供電接口在樹莓派4B中改為USB Type-C接口[2]。
3 模塊介紹
1)樹莓派4B英7寸顯示屏
樹莓派4B英7寸顯示屏的分辨率為1 024×600,功耗為0.84 A×5 V。通過顯示屏顯示運(yùn)行程序,并觀察運(yùn)行程序后的情況。
2)800萬像素4K超清攝像頭
對準(zhǔn)人臉首先檢測人臉,接著錄入人臉信息,將待識別人臉對準(zhǔn)攝像頭進(jìn)行識別。
3)樹莓派4B開發(fā)板
樹莓派4B開發(fā)板包含1.5 GHz四核64位ARM Cortex-A72 CPU,兩個USB 3.0和兩個USB 2.0端口,雙頻802.11ac無線網(wǎng)絡(luò)和4GB的LPDDR4 SDRAM。
4)LY03小型斜口電磁鎖
LY03小型斜口電磁鎖用來模擬圖書館門禁系統(tǒng)開門。攝像頭識別人臉后,若人臉信息能與庫中信息匹配,則開鎖;否則報警。
5)1路5 V繼電器模塊
此模塊高電平觸發(fā),即模塊供電后,控制端口收到高電平繼電器導(dǎo)通,給門鎖供電。
6)蜂鳴器
蜂鳴器用來實現(xiàn)人臉識別不成功報警的功能,蜂鳴器電壓是2~3.5 V,工作電流小于25 mA,頻率為1.8~2.8 kHz。直流電源輸入經(jīng)過振蕩系統(tǒng)的放大取樣電路在諧振裝置作用下產(chǎn)生聲音信號。
4 軟件設(shè)計
4.1 基于OPENCV的人臉檢測
OpenCV是Intel公司支持的開源計算機(jī)視覺庫,輕量而且高效,由一系列C函數(shù)和少量C++類構(gòu)成,實現(xiàn)了圖像處理和計算機(jī)視覺方面的很多通用算法。作為一個基本計算機(jī)視覺、圖像處理和模式識別的開源項目,OpenCV可以直接應(yīng)用于很多領(lǐng)域,其中包括人臉識別的算法實現(xiàn),是二次開發(fā)的理想工具[2]。
人臉識別功能包括以下幾個方面(如圖2)。
1)圖像采集和預(yù)處理
可以通過下載開源的人臉識別數(shù)據(jù)集以及自己拍照建立人臉數(shù)據(jù)庫進(jìn)行圖像采集。由于大部分臉部檢測算法對光照、臉部大小、位置表情等非常敏感,圖像預(yù)處理是將檢測到的臉部后需轉(zhuǎn)化為灰度圖像,進(jìn)行直方圖歸一化處理。
2)人臉檢測
OpenCV采用一種叫做Haar cascade classifier的人臉檢測器,利用保存在XML 文件中的數(shù)據(jù)確定每一個局部搜索圖像的位置,并利用其內(nèi)置函數(shù)進(jìn)行檢測。函數(shù)使用針對某目標(biāo)物體訓(xùn)練的級聯(lián)分類器在圖像中找到包含目標(biāo)物體的矩形區(qū)域,并將這些區(qū)域作為序列矩形框返回,最終檢測結(jié)果保存在變量中[3]。
4.2 基于Dlib的人臉識別
Dlib是一個機(jī)器學(xué)習(xí)C++庫,包含許多機(jī)器學(xué)習(xí)常用的算法。dlib先檢測人臉,然后通過Resnet生成一個128維的向量,Resnet有幾種不同深度結(jié)構(gòu),dlib庫采用68點(diǎn)位置標(biāo)志人臉重要部位,再采用相應(yīng)模塊識別人臉。
4.3 部分設(shè)計代碼
1)讀取數(shù)據(jù),設(shè)置攝像頭參數(shù)
5 實驗過程
1)首先將軟件安裝好,連接硬件好;
2)將攝像頭打開,檢測人臉信息,并錄入人臉信息;
3)錄入人臉信息后,運(yùn)行識別程序,將攝像頭對準(zhǔn)已錄入信息的人臉,識別成功,顯示錄入姓名并開鎖;對準(zhǔn)未錄入信息的人臉,識別失敗,顯示unknown并報警。
6 結(jié)論
本項目以O(shè)penCV為核心,樹莓派為硬件基礎(chǔ)設(shè)計實現(xiàn)了具有人臉識別功能的智能安防門禁系統(tǒng)。本智能門禁系統(tǒng)首先將授權(quán)的人臉信息進(jìn)行灰度化、降維及計算特征值等處理,再進(jìn)行準(zhǔn)備訓(xùn)練,得到授權(quán)人的相關(guān)信息。然后對攝像頭采集到的人臉信息進(jìn)行處理。經(jīng)過測試,該智能門禁系統(tǒng)較好地完成了人臉識別功能,識別成功開鎖,失敗則報警,完成了門禁系統(tǒng)的設(shè)計要求,實現(xiàn)了圖書館的門禁智能化。
參考文獻(xiàn):
[1] 周昕梓.樹莓派開始,玩轉(zhuǎn)Linux[M].北京:電子工業(yè)出版社, 2018.
[2] GOLDEN R.樹莓派應(yīng)用速成:網(wǎng)絡(luò)應(yīng)用秘方.符鵬飛.譯.北京:科學(xué)出版社,2014.
[3] 朱偉.OpenCV圖像處理編程實例[M].北京:電子工業(yè)出版社, 2016.