陳 奎,邢雪妍,田欣沅,王吉豪,王 順
(1.徐州工程學院 信電工程學院,江蘇 徐州 221018;2.江蘇省智慧工業(yè)控制技術重點建設實驗室,江蘇 徐州 221111;3.長春財經(jīng)學院 信息工程學院,吉林 長春 130122)
目前聲紋、指紋、人臉等生物識別技術迅猛發(fā)展,廣泛應用于網(wǎng)購、銀行、公安、電子護照等.基于人臉識別的門禁系統(tǒng)在很多中高端智能樓宇和智能庫房中的應用越來越多.人臉識別方便靈活、衛(wèi)生健康、適用性強,只要配合完善的人員管理和門鎖控制,就可實現(xiàn)安全的刷臉進門.卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)是近年發(fā)展起來,并引起廣泛重視的一種高效的圖像識別方法.參照CNN深層神經(jīng)網(wǎng)絡框架[1-3],文中利用Matlab設計與實現(xiàn)了一種10層CNN人臉識別模型并通過腳本節(jié)點導入到基于LabVIEW的門禁的控制與管理系統(tǒng).實驗實測表明:人臉識別模型的準確率適用,模型的泛化效果良好,LabVIEW門禁系統(tǒng)工作可靠,遠程控制正常.
圖1 門禁系統(tǒng)組成
面向智能樓宇和智慧倉儲的實際需求,文中所提人臉識別門禁系統(tǒng)具有嵌入式圖像采集、圖像遠程傳輸、圖像預處理、CNN人臉識別、門禁管理數(shù)據(jù)庫以及門禁權限管理等功能[4].CNN人臉識別模型由Matlab通過離線訓練、交叉驗證生成,其余功能由LabVIEW VI實現(xiàn).
門禁系統(tǒng)組成如圖1所示,主要包括三個部分,即基于STM32與OV2640的嵌入式圖像采集與門鎖控制裝置,基于RS232與TCP協(xié)議的圖像與數(shù)據(jù)傳輸控制,基于LabVIEW VI和ACCESS數(shù)據(jù)庫的門禁信號操作與管理系統(tǒng).
鎖具采用磁力鎖,通過繼電器控制開關,通過門磁輸入監(jiān)控鎖具狀態(tài).利用LabVIEW的WEB發(fā)布實現(xiàn)門禁系統(tǒng)的遠程登錄和監(jiān)控.
門禁系統(tǒng)設計基本流程如圖2所示.軟件系統(tǒng)包括:基于Matlab的 CNN人臉識別模型的設計、離線訓練和驗證、LabVIEW門禁在線的控制與管理系統(tǒng).CNN包括卷積層、池化層、全連接層與softmax輸出層[5-8].門禁管理LabVIEW系統(tǒng)包括TCP連接管理、圖像獲取與傳輸、圖像預處理和人臉圖像識別、數(shù)據(jù)庫檢索和記錄、鎖具操作碼下行傳輸?shù)?
圖2 門禁系統(tǒng)設計基本流程
目前,有許多CNN架構(gòu)的變體,但其基本結(jié)構(gòu)非常相似.CNN基本體系結(jié)構(gòu)通常由三種網(wǎng)絡層構(gòu)成,分別是卷積層、降采樣層(又稱池化層)和全連接層.如圖3所示,采用10層CNN模型LeNet-5架構(gòu)設計,輸入層輸入RGB三通道的32×32像素的圖片.首個卷積層用5×5卷積核得到和卷積核數(shù)量相同大小為28×28的特征圖,然后將這些特征圖按一定的方式組合起來作為卷積層的輸出,經(jīng)過2次卷積和采樣,獲得5×5特征圖作為全連接層的輸入.2個全連接層后采用softmax全連接,得到激活值,即卷積神經(jīng)網(wǎng)絡提取到的圖片特征.
圖3 學習模型設計
1) 卷積層
CNN的基本卷積濾波器是底層局部圖像塊(patch)的一個廣義的線性模型(GLM).不同的卷積核提取的圖像有不同的特征,如顏色分布、紋理特征、邊界特征等.
CNN卷積運算實現(xiàn)權值共享和稀疏權重,模擬出細胞簡單的局部感受野.稀疏權重使得核的大小遠小于輸入的大小,有效地減少網(wǎng)絡的運算量.
2)池化層
池化函數(shù)使用某一位置的相鄰輸出的總體統(tǒng)計特征代替網(wǎng)絡在該位置的輸出,有效地減少了輸入?yún)⒓舆\算的神經(jīng)單元,池化數(shù)學表達式為:
3) 激活函數(shù)選擇
激活函數(shù)使得各連網(wǎng)絡之間的連接關系變?yōu)榉蔷€性.
LabVIEW門禁系統(tǒng)程序框圖如圖4所示.
圖4 LabVIEW門禁系統(tǒng)程序框圖
1) TCP連接管理
門禁系統(tǒng)包括多個嵌入式系統(tǒng)管理多個磁力鎖.每個嵌入式設備與LabVIEW門禁管理系統(tǒng)構(gòu)成星型網(wǎng)絡,獨立通過TCP協(xié)議申請與系統(tǒng)連接.
系統(tǒng)采用典型的LabVIEW隊列結(jié)構(gòu)來管理前端多個嵌入式系統(tǒng)的TCP連接,包括TCP連接進隊循環(huán)和出隊處理循環(huán).
2) 圖像與鎖控數(shù)據(jù)傳輸
針對每一個出隊的TCP連接,通過應用層會話接收OV2640圖像數(shù)據(jù)并截取有效部分,接收和發(fā)送門鎖狀態(tài)數(shù)據(jù)和操作數(shù)據(jù).
3) 人臉識別腳本節(jié)點
將訓練和驗證后CNN模型的predict函數(shù)使用Matlab Script節(jié)點引入LabVIEW中.Script節(jié)點的輸入為預處理后的圖像數(shù)據(jù),輸出為識別后的人員的標號.
4) 數(shù)據(jù)庫設計與檢索
圖5 部分人臉圖像
為管理和記錄用戶信息、門鎖信息和門操作記錄信息,系統(tǒng)采用ACCESS數(shù)據(jù)庫設計Man、Door和Record 3個數(shù)據(jù)表.門鎖操作時,根據(jù)人臉識別結(jié)果檢索Man表與Door表,進行合法性判斷和權限對比,同時在Record表中記錄門操作的詳細信息,包括時間、門號、人員、門動作等信息.
數(shù)據(jù)庫連接使用DSN數(shù)據(jù)源名稱,直接使用SQL語句字符串實現(xiàn)查詢、插入等數(shù)據(jù)庫操作.
實測過程中,人臉圖像數(shù)據(jù)集中包含有15人,每人100幅臉部圖像,共計1 500幅.OV7670的圖像的原始分辨率為320×240, 使用Matlab中的imresize函數(shù)可將其調(diào)整為100×100,如圖5所示.
數(shù)據(jù)集按7∶3的比例劃分為訓練集和測試集.訓練采用隨機梯度下降SGD(stochastic gradient descent)方式迭代10次,基礎學習率為0.001.訓練集的正確率為0.987 8,測試集的正確率為0.988 5,從而表明泛化效果較好.
實測采取真人實測,將OV2640攝像頭安裝在門上,10個人共進行112次開門實驗.識別結(jié)果是出錯6次、未識別10次、識別成功96次.
基于LeNet-5架構(gòu)設計10層CNN用來實現(xiàn)人臉識別并使用LabVIEW構(gòu)建了一個完整的門禁智能管理系統(tǒng).系統(tǒng)具有多點圖像采集與傳輸、人臉識別和門鎖控制、數(shù)據(jù)庫門鎖操作管理等實用功能.研究結(jié)果表明整體結(jié)構(gòu)合理,工作正常,具有一定的借鑒作用和實用性.