李志龍,董麒麟,張 萬,趙天煜
(1.鄭州輕工業(yè)大學(xué)計(jì)算機(jī)與通信工程學(xué)院,鄭州 450000;2.鄭州輕工業(yè)大學(xué)軟件學(xué)院,鄭州 450000)
2020年《工業(yè)和信息化部辦公廳關(guān)于深入推進(jìn)移動(dòng)物聯(lián)網(wǎng)全面發(fā)展的通知》指出,圍繞產(chǎn)業(yè)數(shù)字化、治理智能化、生活智慧化三大方向推動(dòng)移動(dòng)物聯(lián)網(wǎng)創(chuàng)新發(fā)展。在生活智慧化方面,不難發(fā)現(xiàn)刷臉支付、刷臉認(rèn)證身份信息已經(jīng)成為生活的常態(tài)。人臉識(shí)別作為提取人的臉部特征信息進(jìn)行身份識(shí)別的一種生物識(shí)別技術(shù),具有獨(dú)特性,穩(wěn)定性等優(yōu)點(diǎn),比起其他的生物特征識(shí)別系統(tǒng)具有更高的可接受性和便捷性,并且作為非接觸式的識(shí)別系統(tǒng)在特定的情況中隱蔽性更強(qiáng)。
本系統(tǒng)主要研究人臉識(shí)別技術(shù)的開發(fā)與應(yīng)用,使用Web 端錄入和管理人臉信息,在樹莓派上運(yùn)用神經(jīng)網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)人臉的識(shí)別,樹莓派還作為單片機(jī)與ESP866 無線通信控制電磁鎖門禁,真正意義上實(shí)現(xiàn)功能全面、可移植性強(qiáng)、簡易實(shí)用的人臉識(shí)別系統(tǒng)。
本系統(tǒng)使用Spring Boot 搭配主流SSM 框架搭建的Web 服務(wù),并使用HTML、CSS、JS 構(gòu)建前端頁面;使用Flask 框架搭建Python 微服務(wù)來進(jìn)行人臉特征值提取并傳輸;數(shù)據(jù)庫使用MySQL 管理信息;硬件方面選擇樹莓派4B 作為人臉識(shí)別算法運(yùn)行載體,使用ESP8266 與樹莓派無線通信控制電磁鎖門禁。
本系統(tǒng)分為Web 和樹莓派兩大平臺(tái)。Web平臺(tái)實(shí)現(xiàn)人臉信息錄入、人臉信息管理、人臉識(shí)別歷史信息管理等功能,它通過Java 實(shí)現(xiàn)與數(shù)據(jù)庫的交互,并調(diào)用Flask 框架搭建的微服務(wù)中人臉特征值提取算法。樹莓派運(yùn)行神經(jīng)網(wǎng)絡(luò)相關(guān)算法,實(shí)現(xiàn)人臉識(shí)別功能,并與ESP8266進(jìn)行無線通信能夠控制電磁鎖門禁的開關(guān)。系統(tǒng)工作流程如圖1所示。
圖1 系統(tǒng)工作流程圖
本系統(tǒng)總體分為Web 端人臉信息管理、人臉數(shù)據(jù)處理、樹莓派人臉識(shí)別、ESP8266 電磁鎖門禁四大模塊,如圖2所示。
圖2 系統(tǒng)功能模塊結(jié)構(gòu)圖
該平臺(tái)后端使用Spring Boot 搭配主流SSM框架,以及為提取人臉特征數(shù)據(jù)使用Python Flask 輕量級(jí)Web 應(yīng)用框架,前端主要使用HTML、CSS、JS 等技術(shù)進(jìn)行網(wǎng)頁設(shè)計(jì),該平臺(tái)共由攝像頭人臉捕獲板塊、人臉信息處理板塊、人臉信息錄入板塊、人臉信息修改板塊、人臉識(shí)別歷史信息板塊組成。如圖3所示。
圖3 Web平臺(tái)人臉信息管理結(jié)構(gòu)圖
(1)信息錄入板塊。前端通過調(diào)用攝像頭進(jìn)行拍照,將照片傳入Flask 框架搭建的Web 應(yīng)用平臺(tái)進(jìn)行處理、提取特征值并將特征值數(shù)據(jù)返回;前端還將用戶的基本信息(姓名、學(xué)號(hào)、院系)傳入后端處理。后端將用戶的人臉特征值與基本信息組成的用戶信息存入數(shù)據(jù)庫中,用于人臉信息管理。
(2)用戶信息管理板塊。用戶信息管理,在該板塊中可以對(duì)錄入的用戶信息進(jìn)行查看、修改和刪除;還可進(jìn)行多條件組合查詢,通過用戶的班級(jí)、姓名或?qū)W號(hào)查詢用戶信息。
(3)人臉識(shí)別歷史信息板塊。歷史信息記錄管理,可以查看用戶進(jìn)行人臉識(shí)別的時(shí)間以及出入情況;歷史信息查詢,可以通過用戶的姓名或?qū)W號(hào)等查詢用戶的識(shí)別歷史。
該模塊主要由Flask 微服務(wù)和Java 后端共同完成,F(xiàn)lask 是一個(gè)使用Python 編寫的輕量級(jí)Web 應(yīng)用框架,與其他框架相比更為靈活、安全且易上手。Java 后端為使用Spring Boot 搭配SSM 框架搭建的。前端將人臉圖片和唯一標(biāo)識(shí)符傳至Flask 微服務(wù)中進(jìn)行圖片處理和人臉捕獲,若無法捕獲到人臉則返回前端錯(cuò)誤信息,捕獲到人臉后進(jìn)行人臉特征值提取,完畢后將攜帶著唯一標(biāo)識(shí)符傳入Java 后端,Java 后端將前端傳來的用戶信息與該唯一標(biāo)識(shí)符進(jìn)行對(duì)比,找到屬于該用戶的人臉特征值,并一同存入到MySQL數(shù)據(jù)庫中。該流程如圖4所示。
圖4 人臉數(shù)據(jù)處理流程圖
人臉特征值提取使用MTCNN(多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)算法),該算法將人臉區(qū)域檢測與人臉關(guān)鍵點(diǎn)檢測放在了一起,它的主題框架類似于cascade??傮w可分為P-Net、R-Net、和O-Net三層網(wǎng)絡(luò)結(jié)構(gòu),出自深圳先進(jìn)技術(shù)研究院。
本系統(tǒng)采用了樹莓派4 B,外接720P USB攝像頭和1024×600分辨率的屏幕。樹莓派4B采用了博通的BCM4908 64 bit 處理器,相比于樹莓派3 B系列性能各方面都有顯著的提升。樹莓派不僅功能強(qiáng)大,而且擴(kuò)展性極強(qiáng)。它的主板上有USB、type-c、HDMI、以太網(wǎng)等接口,內(nèi)置有WIFI、藍(lán)牙十分齊全。不僅與軟件交互便捷迅速,而且也能與各類單片機(jī)實(shí)現(xiàn)通信。它的BCM4908 64 bit 處理器和Raspbian 操作系統(tǒng)可以運(yùn)行Python 算法,還可以連接屏幕實(shí)時(shí)顯示攝像頭所拍的內(nèi)容,小巧的外型增強(qiáng)了可移植性,對(duì)于硬件部署和系統(tǒng)操作非常便捷。樹莓派人臉識(shí)別結(jié)構(gòu)框圖如圖5所示。
圖5 樹莓派人臉識(shí)別結(jié)構(gòu)框圖
本系統(tǒng)使用ESP8266 WIFI 模塊作為控制門禁的開發(fā)板,ESP8266 是一款超低功耗的UART-WIFI 透傳模塊,專為移動(dòng)設(shè)備和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì),可將用戶的物理設(shè)備連接到WiFi 無線網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信,實(shí)現(xiàn)聯(lián)網(wǎng)功能。它與內(nèi)置WIFI 的樹莓派能夠做到局域網(wǎng)通信。
當(dāng)人臉比對(duì)結(jié)果返回樹莓派后,如果比對(duì)成功,樹莓派向ESP8266 無線發(fā)送開門指令,ESP8266 控制繼電器進(jìn)而控制電磁鎖。電磁鎖正常工作需要3 V 電壓和1 A 電流,因此電磁鎖單獨(dú)接入一個(gè)3 V的外接電源。開門后,人員進(jìn)入,置于門后的壓力傳感器檢測到人員已進(jìn)入,向ESP8266 反饋信息,ESP8266 會(huì)進(jìn)行關(guān)門操作。具體流程圖如圖6所示。
圖6 ESP8266電磁鎖門禁模塊流程圖
該系統(tǒng)由于樹莓派單核性能限制以及算法模型訓(xùn)練樣本量偏少等原因,致使硬件端人臉識(shí)別速度未達(dá)期望水平,通過修改樹莓派中運(yùn)行的Python 程序,將單線程修改為多線程運(yùn)行,調(diào)用四個(gè)核心進(jìn)行計(jì)算,并實(shí)現(xiàn)數(shù)據(jù)的同步,減少資源的浪費(fèi),提高程序運(yùn)行速度。該平臺(tái)還設(shè)計(jì)加入Redis 數(shù)據(jù)庫,Redis 是業(yè)界主流的key-value 數(shù)據(jù)庫之一。Redis 支持各種不同方式的排序。且Redis 中數(shù)據(jù)是緩存在內(nèi)存中,讀寫速度很快,也符合該系統(tǒng)人臉特征值寫入和提取的特點(diǎn)。通過算法實(shí)現(xiàn)對(duì)數(shù)據(jù)的篩選,將常用的人臉數(shù)據(jù)存入Redis 中,減少其人臉識(shí)別所需時(shí)間,將少用的人臉仍然存入MySQL 中,減少資源的浪費(fèi),提高數(shù)據(jù)讀寫速度。
該人臉識(shí)別系統(tǒng)成本低廉,占用空間少,使用場景眾多,可以很好地滿足市場的需求,尤其在特定的環(huán)境中,既可以減少部署成本,還可以保證人臉識(shí)別速度和準(zhǔn)確性,方便實(shí)用,具有一定應(yīng)用價(jià)值。