韓 燕,高曉東,季榮軍,周 建
(1. 江蘇商貿(mào)職業(yè)學院 電子與信息學院, 江蘇 南通 226001; 2. 江蘇工程職業(yè)技術(shù)學院 安全保衛(wèi)處, 江蘇 南通226007; 3. 江蘇百瑞信息工程有限公司 軟件開發(fā)部, 江蘇 南通 226001)
自新冠肺炎疫情發(fā)生以來,封閉式管理、加強人員管控等做法成為落實常態(tài)化疫情防控的必要措施[1]。大學校園作為疫情防控重點單位面臨著諸多困難:一方面,大學校園有別于中小學,在一定程度上要向社會人員開放[2],不能做到完全封閉;另一方面,學生進出校園頻繁,安保人員對進出人員身份鑒別有一定難度[3]。人臉識別通道系統(tǒng)趨于成熟,在高校大門、宿舍、食堂等場所得到普遍應(yīng)用[4]。與人臉識別相關(guān)的研究成果頗多,例如:田麗等[5]基于物聯(lián)網(wǎng)技術(shù)、IPv6 技術(shù)和人臉識別技術(shù),搭建了基于IPv6 網(wǎng)絡(luò)環(huán)境下的人臉識別考勤管理系統(tǒng),實現(xiàn)人臉圖像目標的自動抓取和實時比對分析,并通過設(shè)置考勤規(guī)則,自動完成考勤管理服務(wù);孫玥等[6]運用人臉檢測技術(shù)對拍攝的人臉圖像進行特征提取與定位,使用深度殘差網(wǎng)絡(luò)進行描述提取,并與數(shù)據(jù)庫中的特征進行比較,實現(xiàn)人臉識別簽到;李雄等[7]基于深度學習,訓練和實現(xiàn)人臉識別模型,并使用Java 語言設(shè)計開發(fā)了人臉識別考勤管理系統(tǒng),較好地滿足了企業(yè)和個人考勤管理的要求;等等。上述應(yīng)用成果基本停留于“門禁” 與考勤功能的使用,忽視了刷臉通行數(shù)據(jù)的利用和分析,數(shù)據(jù)本身的價值有待深度挖掘與有效發(fā)揮[8]。
本文基于校園主要出入口的人臉識別設(shè)備以及現(xiàn)有的業(yè)務(wù)系統(tǒng),設(shè)計一種校園人流量實時統(tǒng)計與分析系統(tǒng)。系統(tǒng)針對不同人員身份以及不同場所的人流量統(tǒng)計需求,通過自定義的方式實現(xiàn)個性化統(tǒng)計分析。例如,通過宿舍區(qū)域的宿舍考勤管理、學校校門出入口的外來人員入校管控、食堂就餐人員統(tǒng)計分析、圖書館人員進出統(tǒng)計分析、新生報到統(tǒng)計分析、疫情防控統(tǒng)計分析等主題應(yīng)用,可精準掌握校園人員動態(tài),為校園疫情防控管理提供數(shù)據(jù)參考。
系統(tǒng)硬件組成包括人臉識別通道機、抓拍機、人臉門禁、人臉分析服務(wù)器、人臉識別服務(wù)平臺、應(yīng)用服務(wù)器、用戶移動終端及網(wǎng)絡(luò)等,系統(tǒng)架構(gòu)如圖1 所示。
圖1 系統(tǒng)組成架構(gòu)
系統(tǒng)通過匯聚交換機將前端人臉設(shè)備和后端服務(wù)器進行組網(wǎng),形成視頻專用網(wǎng)絡(luò)系統(tǒng)。人臉平臺服務(wù)器選用海康威視DS-VE2208C-BBC;人臉分析服務(wù)器選用海康威視DS-IE6316-EL/FA;綜合管理平臺選用iSecure Center-Education v2.0 版本,用于人臉照片評分、人臉模型下發(fā)管理。人流量統(tǒng)計分析系統(tǒng)獨立部署于應(yīng)用服務(wù)器,通過平臺API 接口實現(xiàn)對前端人臉設(shè)備的管理,最終實現(xiàn)人流量統(tǒng)計分析和信息推送功能。
根據(jù)用戶需求,以自定義的方式進行人流量統(tǒng)計,主要包括人臉設(shè)備、人員對象、統(tǒng)計時段、統(tǒng)計規(guī)則等基本要素。以宿舍區(qū)學生歸寢統(tǒng)計分析為例:宿舍區(qū)出入口的人臉識別設(shè)備通行數(shù)據(jù)為數(shù)據(jù)統(tǒng)計來源,統(tǒng)計時段分為每日6 時至22 時和22 時至次日6 時兩個時段,每晚22 時以及次日6時為統(tǒng)計時間點。晚間考勤22 時開始,統(tǒng)計6 時至22 時的所有通行記錄,在此期間如果未統(tǒng)計到考勤對象的通行記錄則預(yù)警該對象可能存在通行異常;存在通行記錄則查詢最后一條通行記錄方向,如果為“進入宿舍” 則判定該學生“晚間考勤,已歸寑” ,否則為“晚間考勤,晚歸寑” 。早間考勤6時開始,統(tǒng)計22 時至次日6 時的所有通行記錄,在此期間如果未統(tǒng)計到考勤對象的通行記錄判定該學生“早間考勤,未歸寑” ,否則為“早間考勤,已歸寑” 。晚間考勤和早間考勤通過企業(yè)微信推送給相關(guān)管理人員及本人。歸寑考勤統(tǒng)計邏輯偽代碼如下:
Begin
//晚間22 時考勤,統(tǒng)計6 時至22 時的所有通行記錄
Const 學生甲晚間考勤=“” ,學生甲早間考勤=“”
if(time=22 時){
if(學生甲通行記錄=Null){
學生甲晚間考勤=“學生甲異常預(yù)警”
}else if(學生甲最后一條通行記錄方向=“進入宿舍” ){
學生甲晚間考勤=“晚間考勤,已歸寑”
}else{
學生甲晚間考勤=“晚間考勤,晚歸寑”
}
};
i f(time=6 時){
//早間6 時考勤,統(tǒng)計22 時至次日6 時的所有通行記錄
if(學生甲通行記錄=Null){
學生甲早間考勤=“早間考勤,未歸寑”
}else {
學生甲早間考勤=“早間考勤,已歸寑”
}
}
輸出學生甲晚間考勤,
輸出學生甲早間考勤
End
在實際應(yīng)用中,還應(yīng)考慮如下幾種情形。(1)異常通行數(shù)據(jù)。由于刷臉不規(guī)范,尾隨進出的現(xiàn)象時有發(fā)生,會導致出現(xiàn)異常通行數(shù)據(jù),即未按時間順序一進一出交替產(chǎn)生通行記錄。這些數(shù)據(jù)將作為通行異常信息推送給本人及所在院系負責人,不參與統(tǒng)計。(2)統(tǒng)計對象。統(tǒng)計數(shù)據(jù)應(yīng)該剔除走讀生、請假學生等非考勤人員。(3)規(guī)律性異常。如出現(xiàn)下午2 點以后沒有通行記錄的情況應(yīng)該考慮該對象“留宿超時” ;在一周內(nèi)晚歸、未歸、請假達3 次及以上則定義為“經(jīng)常性” 。這些規(guī)律性的異常通過閾值進行預(yù)設(shè)。
人流量統(tǒng)計分析系統(tǒng)的數(shù)據(jù)包括人員基礎(chǔ)數(shù)據(jù)、企業(yè)微信信息、人臉數(shù)據(jù)、通行數(shù)據(jù)、信息推送數(shù)據(jù)等。數(shù)據(jù)邏輯如圖2 所示。人員基礎(chǔ)數(shù)據(jù)主要包括學生、教職工、外來人員,分別從學工系統(tǒng)、人事系統(tǒng)以及訪客登記系統(tǒng)中獲取。學生信息字段包括姓名、性別、學號、班級、院系、手機號、學籍信息(年級、學籍狀態(tài))、住宿信息(樓宇、房間號、床位)、請假信息(開始時間、結(jié)束時間)。教職工信息字段包括姓名、性別、單位、身份證號碼、手機號等字段。企業(yè)微信用于校內(nèi)師生的身份驗證及通行報告推送。
圖2 數(shù)據(jù)邏輯框圖
學生基礎(chǔ)信息、企業(yè)微信人員信息、訪客信息的數(shù)據(jù)同步采用定時輪詢方式,通過調(diào)用企業(yè)微信服務(wù)端API 中的通訊錄獲取部門列表和成員信息,并更新到系統(tǒng)中。
校園人流量統(tǒng)計與分析系統(tǒng)的功能包括系統(tǒng)管理、設(shè)備管理、人員管理、基礎(chǔ)數(shù)據(jù)管理、人臉策略管理以及數(shù)據(jù)統(tǒng)計分析。
如圖3 所示,“基礎(chǔ)數(shù)據(jù)” 是人流量統(tǒng)計分析的基礎(chǔ),以輪詢的方式從各相關(guān)業(yè)務(wù)系統(tǒng)同步獲取;“設(shè)備管理” 實現(xiàn)對人臉識別、抓拍機、門禁等前端設(shè)備的參數(shù)配置、人臉模型下發(fā)、設(shè)備區(qū)域配置等功能管理;“人員管理” 包括采集人員所屬類別、采集批次、人臉有效期限等;“策略管理” 涉及人臉的采集評分標準,人臉模型的比對與刪除方法以及通行記錄上傳、下載規(guī)則;“統(tǒng)計分析” 以用戶自定義方式對指定對象、指定設(shè)備、指定時間段內(nèi)的人員進行統(tǒng)計分析,以可視化方式進行數(shù)據(jù)呈現(xiàn),并將數(shù)據(jù)分析結(jié)果推送到用戶移動端。
圖3 系統(tǒng)功能組成
基于企業(yè)微信設(shè)計開發(fā)人臉照片采集功能,用戶可通過掃描二維碼在手機端自助采集人臉。人臉采集和使用以書面形式向用戶告知和說明,同時在人臉采集界面進行提醒,在用戶知情的情況下,由用戶確認后進行。用戶類型包括企業(yè)微信用戶和非企業(yè)微信用戶,通過識別用戶關(guān)聯(lián)的微信號,分別以姓名+學工號的驗證方式和手機短信驗證方式進行身份驗證。
(1)人臉采集評分。該功能模塊調(diào)用??等四樒脚_提供的微服務(wù)接口HikApiHelper.facePic-CheckByData(String filepath),接口參數(shù)包括照片的文件路徑、返回狀態(tài)碼及評分值。處理過程為:首先,對照片文件進行文件格式驗證(文件格式必須是JPG);然后,通過調(diào)整照片分辨率和精度控制文件大小在10~200 K;最后,將照片轉(zhuǎn)碼為BASE64 格式發(fā)至臉譜服務(wù)器進行評分計算并返回相應(yīng)評分值。系統(tǒng)將評分值與系統(tǒng)參數(shù)中的最低評分閾值進行比較,低于閾值的返回“評分不通過” 。人臉照片評分流程如圖4 所示。
圖4 人臉照片評分流程
(2)人臉模型下發(fā)管理。人臉模型下發(fā)包括人臉模型的下發(fā)規(guī)則、下發(fā)狀態(tài)、下發(fā)日志等。其中:下發(fā)規(guī)則主要確定人員通行權(quán)限與指定通道的對應(yīng)關(guān)系,包括人員類型、采集批次、啟用狀態(tài)、有效期等;下發(fā)狀態(tài)用于實時校驗人臉模型是否成功下發(fā);下發(fā)日志用于追溯人臉在指定的人臉模塊中的下發(fā)情況。人臉模型下發(fā)分為實時下發(fā)、夜間自動補下發(fā)及失效人員信息補下發(fā)三種模式。
1)實時下發(fā)。即由自助采集、管理端上傳照片觸發(fā)的人臉下發(fā)。下發(fā)過程分為計算人員應(yīng)下發(fā)的門禁設(shè)備列表(該人員關(guān)聯(lián)的所有批次規(guī)則對應(yīng)的門禁設(shè)備合集)、根據(jù)下發(fā)狀態(tài)過濾掉已下發(fā)的門禁設(shè)備,以及對剩下的門禁設(shè)備發(fā)出下發(fā)指令,由專門下發(fā)模塊完成下發(fā)。
2)夜間自動補下發(fā)。即由有效期導致的人員狀態(tài)切換、學生換宿等情況觸發(fā)的人臉下發(fā)。下發(fā)過程分為批量的有效期更新、對所有下發(fā)規(guī)則(含自動匹配人員入住宿舍與相應(yīng)門禁關(guān)系)進行人員同步、門禁對應(yīng)關(guān)系同步、對產(chǎn)生的變化(門禁設(shè)備下發(fā)、刪除人臉)下發(fā)指令。
3)失效人員信息補下發(fā)。根據(jù)通行記錄識別到人員信息無效后,對所有門禁設(shè)備補發(fā)送刪除人臉信息指令。
(3)人臉數(shù)據(jù)刪除機制。該功能調(diào)用海康人臉平臺提供的微服務(wù)接口PersonFaceService.faceDelete(Long personId),接口參數(shù)為人臉標識碼,返回狀態(tài)碼及相關(guān)描述。處理過程為:驗證人臉數(shù)據(jù)是否存在且有效,然后判斷對應(yīng)人員是否還存在有效人臉數(shù)據(jù)。如沒有,立即對所有門禁設(shè)備下發(fā)刪除人臉數(shù)據(jù)指令。人臉數(shù)據(jù)只是從門禁設(shè)備中刪除,平臺中的人臉數(shù)據(jù)仍保留,以便再次使用。
統(tǒng)計分析模塊采用向?qū)浇缑嬖O(shè)計,分三個步驟:(1)定義基本信息,包括統(tǒng)計主題、統(tǒng)計時段、通行數(shù)據(jù)輪訓采集刷新間隔、現(xiàn)場視頻配置等信息。(2)選取所涉及的人臉識別終端設(shè)備。(3)關(guān)聯(lián)人員批次,選擇考勤對象。為方便用戶使用,系統(tǒng)提供通行數(shù)據(jù)詳情清單和統(tǒng)計報表,以EXCEL 方式導出。通行數(shù)據(jù)包括姓名、編號、識別終端名稱、通行時間、通行方向等字段,統(tǒng)計報表以學校、二級學院、班級三個層級分別統(tǒng)計應(yīng)考勤人數(shù)、已歸寑、未歸寑、通行異常等情況。系統(tǒng)還提供狀態(tài)啟停功能,以便統(tǒng)計主題復用。
public class AttStatTrafficStatService extends BaseService<AttStatTraffic> {
private static final String SQLFILEPATH ="db/traffic_stat.sql";
public NutMap statIndex(Long id)throws ServiceException {
AttStatTraffic traffic = fetch(id);
if(Lang.isEmpty(traffic)){
throw ServiceException.make("統(tǒng)計不存在");
}
NutMap result = NutMap.NEW();
//總?cè)藬?shù)totalPersons:所在批次中有效人臉的人員數(shù)
Sql sql = DbUtils.getSqlFromFile(SQLFILEPATH, "index:total_persons");
sql.params().set("id", id);
result.addv ("totalPersons", super.count(sql));
//已通行人數(shù)actPersons:以上人員在關(guān)聯(lián)設(shè)備中有通行的人數(shù)
sql = DbUtils.getSqlFromFile(SQLFILEPATH, "index:act_persons");
sql.params().set("id", id);
sql.params().set("startTime", traffic.getStartTime());
sql.params().set("endTime", traffic.getEndTime());
result.addv ("actPersons", super.count(sql));
//已通行次數(shù)actCounts:以上人員在關(guān)聯(lián)設(shè)備中有通行的次數(shù)
sql = DbUtils.getSqlFromFile(SQLFILEPATH, "index:act_counts");
sql.params().set("id", id);
sql.params().set("startTime", traffic.getStartTime());
sql.params().set("endTime", traffic.getEndTime());
result.addv("actCounts", super.count(sql));
return result;
}
以上代碼是可視化數(shù)據(jù)統(tǒng)計展示的關(guān)鍵代碼片段。其方法是將單個人流量統(tǒng)計項目事先設(shè)定統(tǒng)計的日期段,圈定要統(tǒng)計在內(nèi)的人員和通行設(shè)備。方法StatIndex 用于統(tǒng)計指定流量項目在設(shè)定的日期段、人員、設(shè)備所涉及的總?cè)藬?shù)、實時通行人數(shù)、已通行次數(shù)。過程是通過執(zhí)行SQL 語句來獲取統(tǒng)計結(jié)果,并存入數(shù)據(jù)容器,同時返回給前端。
以主校區(qū)女生宿舍單日歸寑數(shù)據(jù)為例,統(tǒng)計對象設(shè)置為主校區(qū)所有在校女生,統(tǒng)計時間段為2021 年 11 月 16 日 6 時-2021 年 11 月 17 日 6時,統(tǒng)計設(shè)備為女生宿舍區(qū)出入口人臉識別終端,即對該時段內(nèi)女生宿舍出入口5 進5 出人臉識別通道的通行數(shù)據(jù)進行分析。使用??低曇曨lWeb 插件VideoWebPlugin 實現(xiàn)現(xiàn)場視頻錄像展示,基于echarts 可視化數(shù)據(jù)組件展示包括考勤對象學院分布、各通道通行情況、通行記錄、分時人流量、已歸寑、晚歸寑、未歸寑、通行異常等情況,如圖5 所示。
圖5 主校區(qū)女生宿舍單日歸寢人流量統(tǒng)計
分析圖5 可見,該統(tǒng)計周期內(nèi)應(yīng)考勤人數(shù)為2 214 人,主要由商學院、紡織學院、經(jīng)濟管理學院和藝術(shù)學院學生組成。單日共有通行人數(shù)2 084人,通行 13 576 人次。2021 年 11 月 16 日 22 時晚間考勤,已歸寑2 210 人,晚歸寑1 人,異常158人;2021 年11 月17 日6 時早間考勤,未歸寑3人,已歸寑2 210 人。下午4 時通行人數(shù)密集,達到人流量高峰。1 號、2 號通道使用率較高。
通過整合人臉硬件設(shè)備資源以及業(yè)務(wù)應(yīng)用系統(tǒng),設(shè)計了一種人流量統(tǒng)計與分析系統(tǒng)。一方面,充分利用了現(xiàn)有的人臉識別硬件資源和管理信息系統(tǒng),保障了資料利用效率最大化;另一方面,通過自主二次開發(fā),擺脫了標準化軟件管理平臺的束縛,實現(xiàn)了業(yè)務(wù)需求個性化定制。實際應(yīng)用表明:系統(tǒng)滿足了不同場景的人員統(tǒng)計分析需求,與傳統(tǒng)的人員統(tǒng)計方法相比,具有更高的靈活性和精準性;在統(tǒng)計數(shù)據(jù)的呈現(xiàn)方面,使用了多種圖表的數(shù)據(jù)BI 方式,為用戶提供了更加友好的界面。系統(tǒng)功能在新生報到、學生歸宿、疫情防控等人員統(tǒng)計分析方面已得到驗證,效果良好。