国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于樹莓派的人臉識別門禁系統(tǒng)

2021-08-05 21:48高明康曉鳳孫典張一凡丁乾張百川
軟件工程 2021年7期
關鍵詞:樹莓派人臉識別

高明 康曉鳳 孫典 張一凡 丁乾 張百川

摘 ?要:隨著智能安防的發(fā)展,人臉識別技術已成為智能安防的技術重點。與此同時,樹莓派以其價格低廉和高擴展性的特點被廣泛使用。本文將人臉識別技術與樹莓派相結(jié)合設計實現(xiàn)了人臉識別門禁系統(tǒng)。本系統(tǒng)使用Flask框架進行前后端交互,使用MySQL存儲數(shù)據(jù),使用Face_Recognition模塊進行人臉識別。本系統(tǒng)包含視頻顯示及運算、硬件控制、后臺數(shù)據(jù)管理、數(shù)據(jù)存儲四大模塊。使用本系統(tǒng)不僅可以對出入人員進行身份鑒別,還可以與其他系統(tǒng)進行聯(lián)動。本系統(tǒng)擴展性強,可移植性好,具有廣闊的發(fā)展前景。

關鍵詞:樹莓派;人臉識別;門禁

中圖分類號:TP315 ? ? 文獻標識碼:A

Face Recognition Access Control System based on Raspberry Pi

GAO Ming, KANG Xiaofeng, SUN Dian, ZHANG Yifan, DING Qian, ZHANG Baichuan

(College of Information Engineering, Xuzhou University of Technology, Xuzhou 221018, China)

2249858875@qq.com; kxfeng07@163.com; dsil3nce@foxmail.com;

2475313260@qq.com; 1617978168@qq.com; 2936937335@qq.com

Abstract: With the development of smart security, face recognition technology has become the focus of smart security technology. At the same time, Raspberry Pi is widely used due to its low price and high scalability. This paper proposes to design a face recognition access control system by combining face recognition technology and Raspberry Pi. This system uses the Flask framework for front-end and back-end interaction, MySQL for data storage, and Face_Recognition module for face recognition. The system includes four modules: video display and calculation, hardware control, background data management, and data storage. This system can be used not only to identify people entering and exiting, but also to be linked with other systems. This system has strong expansibility, good portability and broad development prospects.

Keywords: Raspberry Pi; face recognition; access control

1 ? 引言(Introduction)

隨著當前國內(nèi)外門禁系統(tǒng)的快速發(fā)展,門禁系統(tǒng)早已不是簡單的門鎖管理,而是已經(jīng)逐漸發(fā)展成了一套完整的出入管理系統(tǒng),在統(tǒng)計員工出勤率和維護工作環(huán)境安全等方面發(fā)揮著巨大的作用[1]。而且隨著互聯(lián)網(wǎng)技術的疾速發(fā)展,現(xiàn)代人工智能在安防領域有了極大的發(fā)展,其中被關注最多的就是人臉識別技術了[2]。

本文設計實現(xiàn)了基于樹莓派的人臉識別門禁系統(tǒng),本系統(tǒng)使用的Flask框架、MySQL數(shù)據(jù)庫均是輕量級框架,減少了性能開銷。本系統(tǒng)使用的Face_Recognition與樹莓派兼容性高,且能利用樹莓派多核運算,充分發(fā)掘樹莓派性能。同時,為了最大程度滿足用戶安全需求,本系統(tǒng)與Web服務相結(jié)合,用戶可根據(jù)需求自定義設置門禁參數(shù),使用簡單方便,便于用戶對門禁系統(tǒng)進行管理[3]。

2 ?Face_Recognition介紹(Introduction to Face_Recognition)

Face_Recognition是一個簡單、強大的人臉識別框架,是世界上最簡潔的人臉識別庫。我們只需要通過簡單的Python語句即可利用Face_Recognition模塊完成提取、識別人臉這一復雜過程。值得一提的是,F(xiàn)ace_Recognition特別是兼容樹莓派系統(tǒng),可以利用樹莓派多核運算。Face_Recognition基于業(yè)內(nèi)領先的C++開源庫dlib中的深度學習模型,使用Labeled Faces in the Wild人臉數(shù)據(jù)集進行測試,有高達99.38%的準確率[4]。

3 ? Flask介紹(Introduction to Flask)

Flask是一個輕量級的Web應用框架,使用Python語言編寫,較其他同類型框架更為靈活、安全且容易上手。它可以很好地結(jié)合MVC模式進行開發(fā),可以根據(jù)自己的需求來調(diào)用相應的插件,添加相應的功能。

Flask的基本模式為在程序里將一個視圖函數(shù)分配給一個URL,每當用戶訪問這個URL時,系統(tǒng)就會執(zhí)行給該URL分配好的視圖函數(shù),獲取函數(shù)的返回值并將其顯示到瀏覽器上,其工作過程如圖1所示。

4 ? 系統(tǒng)設計與實現(xiàn)(System design and implementation)

本系統(tǒng)使用Python語言編寫,采用OpenCV實現(xiàn)人臉定位,用Face_Recognition實現(xiàn)人臉數(shù)據(jù)的建立、訓練、識別[5]。Web前后端交互使用Flask框架編寫。系統(tǒng)可分為四大功能模塊:視頻顯示及運算模塊、后臺數(shù)據(jù)管理模塊、硬件控制模塊、數(shù)據(jù)存儲模塊。四大功能模塊如圖2所示[6]。

4.1 ? 視頻顯示及運算模塊

本功能模塊主要負責將攝像頭捕捉到的畫面在屏幕上顯示出來,并及時將人臉標識出來,將對應的姓名顯示在屏幕上。人臉識別總體包括以下幾部分:圖像采集、圖像預處理、人臉檢測、特征點定位和人臉對齊、人臉識別等[7],如圖3所示。

首先,我們利用OpenCV的resize函數(shù)改變攝像頭拍攝圖像的大小。圖像越小,所做的計算就越少,對于性能不是很強的樹莓派,這一步是非常重要的。然后我們將獲取的每一幀圖片使用Face_Recognition默認的HOG(Histogram of Oriented Gridients)特征檢測算法進行人臉查找。HOG特征檢測算法大致可分為圖片灰度化、進行梯度計算、獲得梯度方向直方圖、將重疊塊直方圖歸一化、獲得HOG特征向量這五個步驟[8]。通過判斷HOG特征向量,我們可以得知該幀圖片中是否有人臉。若該幀圖片中沒有人臉,則進行下一幀圖片的檢測;若該幀圖片中出現(xiàn)人臉,則計算該人臉的特征向量與數(shù)據(jù)庫中讀取的每一個特征向量的距離。若距離較大,我們認為不是同一個人;若距離較小,則我們可以認為是同一個人。此時,我們即將人臉對應的姓名在屏幕上標示出來,并進行開門和記錄開門信息的操作。

4.2 ? 硬件控制模塊

本功能模塊主要負責用硬件模擬開門和關門狀態(tài),硬件模塊主要由一個紅色LED燈、一個綠色LED燈、一個舵機(伺服電機)組成。當紅燈亮起,舵機為90 度時表示模擬關門狀態(tài),如圖4所示。當綠燈亮起,舵機為180 度時表示模擬開門狀態(tài),如圖5所示。

得益于Python豐富而又強大的擴展庫,我們可以使用RPI.GPIO庫輕松地控制各種硬件。我們可以將LED燈管正極接在樹莓派5 V輸出引腳上,將LED負極接在可控的引腳上。這樣,當可控的引腳輸出5 V的高電平時,LED燈將會熄滅。當可控引腳輸出為0 V的地電平時,LED燈將會亮起。利用RPI.GPIO,我們不僅能輕松地控制引腳的高低電平,我們還能較為容易地調(diào)制PWM(Pulse Width Modulation,脈沖寬度調(diào)制)波。將舵機各連線接好,我們就可以通過調(diào)整脈沖來控制舵機的方向了。由于樹莓派gpio接口高達40 個引腳,所以仍有很多的接口富余。因此我們可以將本系統(tǒng)通過富余的引腳和其他系統(tǒng)聯(lián)動,故而有很高的擴展性。

4.3 ? 后臺數(shù)據(jù)管理模塊

本功能模塊主要負責用戶交互,選擇基于Python平臺的Web應用開發(fā)框架Flask。Flask具有輕量、簡易、組件化等優(yōu)點,開發(fā)效果界面友好,具有較強的安全性和可拓展性。該模塊既可以部署在Linux系統(tǒng)環(huán)境下,也可以部署在Windows系統(tǒng)環(huán)境下,兼容性強。Web控制臺默認監(jiān)聽本機5000端口,系統(tǒng)部署成功后,訪問本機5000端口即可對系統(tǒng)相關信息進行查看和對相關參數(shù)進行配置。此模塊大致可分為登錄頁面、主頁、參數(shù)控制頁面、開門日志頁面、添加用戶頁面和用戶管理頁面。

直接訪問5000端口,因為沒有登錄,系統(tǒng)將會提示用戶登錄,此時不能查看相關數(shù)據(jù)。登錄后即進入主頁。在主頁中可以清晰地查看當日開鎖次數(shù)和一周內(nèi)開鎖次數(shù),簡單明了,如圖6所示。

在參數(shù)控制頁面,可以設置門鎖相關參數(shù),可修改的參數(shù)有門鎖狀態(tài)、開門延遲時間和人臉相似度。門鎖狀態(tài)用于顯示當前門鎖是否被打開,通過修改該參數(shù),可以實現(xiàn)強制開鎖。開門延遲時間指的是在每次門鎖開啟后到自動關閉門鎖時的延遲,默認為15 秒,用戶可以根據(jù)實際情況進行相應的調(diào)整。

在上文中,我們提到了數(shù)據(jù)庫中人臉特征向量與實際拍攝的人臉特征向量的距離。在本程序中,體現(xiàn)為face_recognition.compare_faces(known_face_encodings, face_encoding, tolerance)函數(shù)的tolerance參數(shù)。該參數(shù)取值范圍為0—1,官方推薦值為0.6,數(shù)值越低越嚴格。因為該參數(shù)并不是特別符合一般用戶的認知,我們可以將其轉(zhuǎn)換為人臉相似度參數(shù),經(jīng)過f(x)=185-200x的線性變換將取值范圍變換為65—95,便于用戶理解。人臉相似度若調(diào)得過高容易導致不能正確識別人臉信息,可能需多次進行識別方可開門,適用于安全要求較高的場所;若調(diào)得過低則可能誤識別人臉信息。該參數(shù)也應該根據(jù)實際情況進行調(diào)節(jié),如圖7所示。

在開門日志頁面,可以查看最近的開門記錄。每一行記錄一條開門信息,主要有系統(tǒng)識別的用戶、開門時間、開門狀態(tài)信息,方便后期檢查,如圖8所示。

在添加用戶頁面,可以上傳人臉照片進入系統(tǒng)。系統(tǒng)會判斷上傳的文件是否符合要求,并給出相應提示,如圖9所示。

在用戶管理頁面,可以查看系統(tǒng)數(shù)據(jù)庫中已保存的人臉信息記錄和系統(tǒng)保存的圖片名稱。用戶可以通過圖片名稱在相應的文件夾里找到相應的圖片,如圖10所示。

4.4 ? 數(shù)據(jù)存儲模塊

在系統(tǒng)中有許多數(shù)據(jù)需要持久化存儲,所以一個數(shù)據(jù)庫是必不可少的。在本系統(tǒng)中,我們選用的是MySQL數(shù)據(jù)庫。首先,MySQL在各個平臺均可部署,有很強的跨平臺特性,使得該模塊不僅可以部署在樹莓派上,也可以部署在其他Linux平臺上或者Windows平臺上。其次,輕量級的MySQL可以保證將其部署在像樹莓派這類性能較低的平臺上時,僅占用少量的資源,依然能較好地運行。

在數(shù)據(jù)庫中有四張表,一張表用于記錄管理員信息,一張表用于記錄可用于開門的用戶人臉信息,一張表用于記錄系統(tǒng)運行的相關可調(diào)節(jié)參數(shù),一張表用于記錄開門日志。

5 ? 結(jié)論(Conclusion)

本文設計實現(xiàn)了一個基于樹莓派的人臉識別門禁系統(tǒng),該系統(tǒng)利用了Flask框架和Face_Recognition人臉識別框架。在本系統(tǒng)中,我們主要利用樹莓派實現(xiàn)嵌入式開發(fā),并能夠根據(jù)需要把部分模塊部署在其他平臺上,具有很強的可移植性。本系統(tǒng)為操作用戶提供了Web控制臺可視化交互界面,管理員只需通過鼠標點擊即可對門禁系統(tǒng)進行管理。經(jīng)實際使用測試,該門禁系統(tǒng)可以實現(xiàn)門禁管理系統(tǒng)所需的各項功能,具有較高的準確率和較高的使用價值。

參考文獻(References)

[1] 秦超,劉正強,劉林,等.基于樹莓派的人臉識別校園門禁管理系統(tǒng)[J].物聯(lián)網(wǎng)技術,2019,9(02):13-14.

[2] 徐玉波.“十三五”安防領域機器視覺發(fā)展回顧與展望[J].中國安防,2020(09):27-30.

[3] SANDAR S, OO S A N. Development of a secured door lock system based on face recognition using Raspberry Pi and GSM module[J]. International Journal of Trend in Scientific Research and Development, 2019, 3(5):357-361.

[4] 汪鵬鵬.基于Face_Recognition的人臉識別平臺研究及應用[D].成都:西南交通大學,2019.

[5] 董薇,張韶.基于人臉識別的學生安全預警系統(tǒng)設計[J].電子設計工程,2020,28(14):180-184.

[6] 楊士卿.基于B/S的一卡通會議簽到系統(tǒng)設計與實現(xiàn)[J].軟件,2018,39(05):66-69.

[7] 劉燕.通用人臉識別服務的研究及應用[D].成都:電子科技大學,2020.

[8] 紀冕,張欣,徐海.基于改進HOG特征和SVM分類器的行人檢測[J].軟件,2020,41(02):70-74.

作者簡介:

高 ? 明(1998-),男,本科生.研究領域:信息安全.

康曉鳳(1978-),女,碩士,副教授.研究領域:信息安全.

孫 ? 典(1999-),男,本科生.研究領域:信息安全.

張一凡(2001-),男,本科生.研究領域:信息安全.

丁 ? 乾(1998-),男,本科生.研究領域:信息安全.

張百川(2002-),男,本科生.研究領域:信息安全.

猜你喜歡
樹莓派人臉識別
人臉識別 等
揭開人臉識別的神秘面紗
基于(2D)2PCA-LBP 的人臉識別方法的研究
人臉識別在高校安全防范中的應用
基于微信端的智能家居監(jiān)控系統(tǒng)的設計與實現(xiàn)
智能安全防盜探測小車
基于樹莓派的高清視頻播放器的設計與實現(xiàn)
基于嵌入式技術的農(nóng)村醫(yī)療系統(tǒng)設計
基于類獨立核稀疏表示的魯棒人臉識別
基于K-L變換和平均近鄰法的人臉識別