陳韓浩,鄭勝忠,黃承慧,郭藝輝
(廣東金融學院互聯網金融與信息工程學院,廣東 廣州 510521)
隨著我國高等教育事業的發展,高校招生數量在不斷的擴大,而學生公寓作為學生日常生活以及學習的重要場所,其安全管理的難度也在不斷加大[1-3]。為有效加強學生公寓安全管理,眾多高校開始采用三輥閘、擺閘、翼閘、旋轉閘等通道型門禁系統[4-6]。同時,近年來隨著人臉識別技術的飛速發展[7-11],人臉識別在通道型門禁系統中的應用也越來越廣泛[12-15]。但是通道型人臉識別門禁系統需要配置大型閘機機械設施以及復雜的計算機系統,安裝復雜、投入成本高。本文通過調用百度AI接口,提出并實現了一個基于移動端的學生公寓人臉識別門禁管理系統。系統投入成本極低,操作簡單易行,其對于規范學生公寓安全管理、保障住宿學生人身以及財產安全、提高學生公寓管理信息化水平均具有十分積極的意義。
本文移動端智能人臉識別門禁管理系統主要由三個部分構成,包括手機移動客戶端、后臺應用服務器以及人臉識別模塊。手機移動客戶端負責人臉信息采集、人臉比對結果及相關信息的接收;后臺應用服務器負責接收由客戶端傳來的數據信息,數據錄入以及向百度AI接口發出人臉比對服務請求;人臉識別模塊通過調用百度AI接口實現,負責將用戶傳入的人臉信息和百度數據庫中的人臉信息進行比對,比對完成之后將結果返回給客戶端;最終,在手機客戶端對返回的人臉比對結果進行展示。本文移動端人臉識別門禁管理系統體系結構如圖1 所示。

圖1 系統體系結構圖
移動端結構包括四個層次,分別是 Linux 內核層、系統運行時庫層、應用程序框架層以及應用層。應用層采用Java 語言和 XML語言開發。使用Java 代碼實現數據邏輯的處理,使用XML語言實現頁面的布局。移動端層次結構如圖2所示。

圖2 移動端層次結構圖
本文服務端采用 MVC 設計模式,使用Spring Boot 搭建服務端框架,系統劃分為控制層(Controller)、業務層(Service)以及持久層(Dao)。服務端提供登錄管理接口、日志管理接口、人臉識別以及人臉信息采集接口。使用 AJAX 異步交互技術接收與響應客戶端的請求,使用JSON進行數據格式傳輸。服務端層次結構如圖3所示。

圖3 服務端層次結構圖
本系統實現基于移動端的學生公寓人臉識別門禁管理,系統主要功能如下:
(1)實現快速有效的身份識別。系統對來訪者身份的識別包含以下幾個部分內容:①非法訪問者,包括社會人員、傳銷人員以及其他非法人員身份識別。系統管理員將學生人臉信息添加進學生人臉數據庫。當宿舍管理員發現來訪人員身份可疑時,使用手機攝像頭獲取可疑人員的人臉信息,上傳至系統。系統遍歷數據庫后如未找到與之匹配的人臉信息,即向客戶端返回無匹配信息的結果,宿舍管理員據此判斷該訪問者是非法訪問者并禁止其進入學生公寓。②學生輔導員、班主任等合法訪問者身份識別。系統管理員將學生輔導員、班主任等人臉信息增添到教師人臉數據庫。當學生輔導員、班主任等來訪時,宿舍管理員通過手機攝像頭獲取來訪人員人臉信息,上傳至系統。系統與存儲在教師人臉信息庫中的圖像信息進行比對,若匹配成功,則準予其進入公寓。③本公寓學生家屬等合法訪問者身份識別。系統管理員將學生家屬人臉信息增添到家屬數據庫。當學生家屬來訪時,宿舍管理員通過手機攝像頭獲取來訪人員人臉信息,上傳至系統。系統與存儲在家屬人臉信息庫中的圖像信息進行比對,若匹配成功,則準予其進入公寓。④本校學生但非本公寓學生身份識別。
(2)實現學生晚歸門禁管理。當學生晚歸情況發生時,宿舍管理員通過手機攝像頭獲取晚歸學生人臉信息,門禁系統快速準確識別出學生身份,并將學生晚歸信息,包括晚歸學生人臉圖像信息、晚歸時間以及學生身份信息錄入系統。系統匯總統計信息后,可以將數據反饋給各院系以及學工處,便于學校有關部門有針對性地開展學生管理工作。
(3)實現來訪信息電子化處理。所有合法來訪者、臨時來訪者的來訪信息,包括來訪者身份、來訪時間、訪問地點以及被探訪人員信息等均被記錄入系統。
系統依據上述功能劃分為三個功能模塊,包括系統管理模塊、身份識別模塊和用戶信息管理模塊,系統功能結構如圖4所示。

圖4 系統功能結構圖
系統管理員登錄APP,對用戶進行人臉信息采集和個人信息錄入,將數據發送至服務器。服務器驗證Token是否有效,如果有效,則進行人臉庫匹配,若匹配成功,則更新人臉信息;若匹配不成功,則將數據錄入數據庫。
宿舍管理員登錄APP,對需鑒別身份的人員拍照獲取人臉信息,傳送至服務器進行人臉信息匹配。如果匹配失敗,彈出警告框,提示為非法來訪者。如果匹配成功,則繼續判斷是否是學生,如果是,則判斷是否超過門禁時間,若超過,則將其晚歸信息錄入違規日志;若非學生即為教師或者家屬等其他合法訪問者,將其來訪信息錄入來訪日志。系統整體業務流程如圖5所示。

圖5 系統整體業務流程圖
本系統使用MySQL數據庫,主要用到的數據表有系統管理員表(system_manager)、宿舍管理員表(room_manager)、學生表(student)、家屬與教師表(other)、申請表(apply)、日志表(logs)、人臉信息表(face_info)。實體關系如圖6所示。

圖6 數據庫實體關系圖
本系統的開發環境配置為Intel Core(TM) i7-9700K,內存16GB的筆記本電腦,所采用的操作系統是Windows 10;使用 JAVA作為開發語言,使用Android Studio 3.0.1作為集成開發環境。移動端使用安裝了安卓8.0操作系統,內存為6GB的安卓手機;云服務器安裝Cent OS 7.4操作系統,1核2GB,帶寬1MB,存儲容量為50 GB。
系統管理員使用手機對用戶拍照,獲取到人臉圖像,向服務器發起錄入人臉信息請求。服務器通過LoginHandlerInterceptor組件對請求進行身份驗證,若驗證失敗則向客戶端返回Token過期的信息,若驗證成功則通過FaceController控制器解析Token。如果解析Token成功,FaceController控制器則調用AddService服務組件進行信息錄入處理。錄入的信息被傳送至UserInfo數據庫存儲,錄入成功的結果封裝后被返回給安卓客戶端,并在客戶端APP界面提示錄入成功。人臉信息采集時序如圖7所示。

圖7 人臉信息采集時序圖
宿舍管理員通過移動終端拍攝需鑒別身份人員的人臉圖像,并向服務器發送人臉識別的請求,網關驗證宿舍管理員身份有效后,通過ManagerController控制器對Token進行驗證并解析出用戶id,控制器通過id調用FaceService服務組件來提供人臉識別子系統的識別服務。該服務使用遍歷的方式將傳入的人臉信息與數據庫中的人臉信息進行一一比對,若在數據庫中找到與該人臉信息相匹配的數據,則將該數據封裝在UserInfo類中返回給客戶端。若沒有找到與該人臉信息相匹配的數據,則會向客戶端發送警報信息,客戶端將警報信息顯示在APP界面上。身份識別時序圖如圖8所示。

圖8 身份識別時序圖
本系統采集并在數據庫中錄入包括學生、學生家屬、教師等人員的人臉信息和個人信息共 85 份數據。系統進行了7輪測試,測試樣本包括已注冊人員以及未注冊人員。本文將成功匹配到數據庫中人臉信息的人數和已注冊登記的人數進行對比,得出每一輪測試的平均成功識別率、平均耗時和平均匹配度(正確識別人臉和數據庫中已有人臉的匹配程度)。每一輪測試樣本數及系統測試結果如表1所示。

表1 系統測試結果
測試結果表明,每輪測試的成功匹配率均達到90%以上,其中最高的一輪測試達到98.3%;每一輪測試的平均耗時在0.6-0.8秒的區間,均小于1秒,符合快速人臉識別的系統需求;7輪測試中,有5輪平均人臉匹配度在90%以上,只有兩輪測試低于90%,分別是89.7%和86.1%,系統具有較高的匹配度,這為系統對來訪人員進行有效身份驗證提供了可靠的保障。測試結果表明,本系統能夠滿足人臉識別門禁管理的需求。
本文提出并實現了一個基于移動端的人臉識別學生公寓門禁管理系統。相比于投入成本高,安裝復雜的大型通道式人臉識別門禁系統,本系統投入成本低、操作簡單易行、識別率高。系統的實現對于加強學生公寓安全管理、維護學生正常生活秩序、保障學生人身安全都具有十分重要的應用價值和現實意義,在未來作為智慧校園建設的一部分亦具有極其重要的戰略意義。