何斌斌 張波 彭小春 彭華梁
華南農業大學 廣東 廣州 510642
近幾年,隨著人工智能技術不斷優化和完善,依托于人工智能的人臉識別技術被廣泛應用到刑偵、交通、金融等領域,教育領域也不例外。高校校內師生數量較大,人員流動比較頻繁,在疫情防控期間,人員動態管理存在較大壓力,因此高校開始將人臉識別技術運用到學校管理當中,尤其門禁進出、安保等方面,減輕管理人員的工作壓力,同時學校也能通過人臉識別技術,準確掌握學生的在校狀態以及活動軌跡[1]。
為提升學校智能化管理水平,更好維護良好校園秩序,快捷高效的解決全校師生人臉大批量錄入的問題,本文提出一種可信身份師生人臉智能采集系統,提供安全的人臉特征照自助采集服務,為師生進出校門提供便捷服務。為加強個人信息保護,人臉特征照采集僅限于校園網環境下使用。
人臉識別技術是一種基于人工智能(AI)的計算機技術,用于在數字圖像中查找和識別人臉。基于人臉識別技術的“可信身份師生人臉采集系統”采用前后端分離開發架構,以及Python和C#混合語言多端開發模式[2]。
“前后端分離技術”已經成為互聯網項目開發的業界標桿,通過前后端獨立開發有效地進行解耦。并且前后端分離技術為以后的大型分布式架構、彈性計算架構、微服務架構、多端化服務(多種客戶端,例如:瀏覽器,智慧屏終端,手機終端等等)打下堅實的基礎。
本系統前端選型采用輕量型的Vue框架,后端則采用Python語言中較為可靠的Flask框架[3]。采用Python語言不僅可以編寫后端API接口,同時可編寫人臉識別程序,Python語言不僅語法優雅簡單,第三方庫功能強大,而且還可以跨平臺運行。考慮到人臉特征照的存儲安全性,分發的可靠性以及海量照片檢索的性能,本系統采用對象存儲(OSS)作為人臉特征照存儲的底層支撐技術。
對于師生人臉特征照采集而言,首先要提供一個功能完善的管理后臺,此外,一個嚴格身份核驗、快速便捷的智慧屏采集終端也是保證師生采集人臉特征照質量的重要一步。考慮如上因素,本系統按照管理后臺端和智慧屏自主采集終端獨立設計,其主要功能如下:
管理后臺端:①用戶管理:實現對全校師生以及管理員等用戶基本信息管理。②用戶管理:實現對全校師生以及管理員等用戶基本信息管理。③用戶臉庫管理:實現對全校師生錄入的多張特征照的存儲和管理。④應用授權管理:實現第三方系統申請臉庫、授權訪問等功能。⑤用戶黑白名單:實現用戶臉庫的黑白名單管理。
智慧屏自主采集終端:①身份核驗:通過身份證、校園卡對用戶身份進行雙重身份校對核驗。②人證比對:通過身份證照片以及自動調用攝像頭抓拍的人臉特征照進行比對,通過比對分數判斷是否為同一個人。③人臉特征照采集:自動調用攝像頭拍攝人臉特征照,系統會對照片進行質量檢測,符合要求才能入庫。
基于DDD領域驅動設計思想[4],本系統可以分解為6大功能模塊:用戶管理模塊、臉庫管理模塊、應用授權模塊、身份核驗模塊、特征照采集模塊、人臉識別模塊。
在上述功能中,身份核驗和人臉識別是本系統的核心[5-6]。詳細功能設計如下:①身份證信息讀取:智慧屏終端配備二代身份證閱讀器,通過讀取用戶的身份證,獲得姓名、身份證號、照片等個人身份真實信息。②身份證信息讀取:智慧屏終端配備二代身份證閱讀器,通過讀取用戶的身份證,獲得姓名、身份證號、照片等個人身份真實信息。③身份信息校驗:通過上述獲取的用戶姓名、身份證號、校園卡號,與學校身份數據中心對接,核實身份信息是否一致。④抓拍人臉特征照:智慧屏終端配備USB攝像頭,抓拍人臉特征照,并與身份證照片合并推送到云端服務器進一步處理。⑤抓拍人臉特征照:智慧屏終端配備USB攝像頭,抓拍人臉特征照,并與身份證照片合并推送到云端服務器進一步處理。⑥云端預處理:服務器收到人臉特征照以及身份證照片,與Python端的人臉識別模塊建立連接,發送人臉比對請求,等待識別結果。⑦人證比對:Python 端使用深度卷積網絡,利用提前訓練好的模型處理待檢測圖片,得出識別結果。⑧特征照入庫:經身份信息校驗以及人證比對成功后,Python端把用戶的特征照保存到對象存儲,并把對應關系保存到數據庫。⑨結果反饋:人臉特征照采集結果返回給前端展示給用戶,提醒用戶收好個人證件。
根據上述的功能設計,梳理出功能開發流程圖如圖1。

圖1 功能開發流程圖
系統使用Pycharm 2022開發管理后臺端,采用Visual Studio 2022開發智慧屏前端,分別采用Python語言和C#語言混合開發,采用Mysql8關系型數據庫提供用戶數據庫存儲,同時采用了MinIO作為對象存儲保存人臉特征照。根據系統的整體功能設計,進行系統詳細設計。
身份證讀卡器采用新中新DKQ-A16D二代身份讀卡器,IC卡讀卡器采用URF-R330 IC卡讀寫器,攝像頭采用兼容USB 2.0免驅動型攝像頭。

圖2 新中新DKQ-A16D二代身份讀卡器
使用基于Vue框架的AVUE-UI進行前端頁面開發,給管理后臺提供 信息管理操作;后端采用peewee框架作為訪問數據持久層,對用戶信息數據進行增、刪、查、改。
為了保障數據傳輸可靠性和安全性,智慧屏終端通過USB攝像頭抓拍人臉特征照后,首先將圖片轉為Base64編碼,通過HTTPS協議傳輸到后端,接收處理后,轉存對象存儲中。
服務器端接收到智慧屏終端發送的請求后,與身份中心對接,根據用戶的關鍵信息請求用戶的基本數據,從基本數據比對用戶的姓名、身份證號、校園卡號是否一致。
云端身份信息核對成功后,使用基于TensorFlow的MTCNN模型[7],對人像區域進行定位,抽取出人臉特征照,同時與身份證照片進行比對,比對通過后把人臉特征數據記錄到數據庫。
Python端識別完成后,將識別結果通過AJAX請求返回至前端,前端對結果進行處理、展示。
本系統前端采用Vue框架的組件化技術,把頁面拆分成多個組件 (component),每個組件依賴的CSS、JavaScript、模板、圖片等資源放在一起開發和維護。編寫組件就像搭積木一樣,編寫一堆組件最終拼裝生成頁面。前端采用路由配置模塊化,實現模塊統一加載,實現模塊代碼重用。
人臉識別模塊通過3個階段的深度卷積網絡級聯來實現,識別之前,需要收集大批量質量合格的人臉數據集對模型進行訓練,然后將圖像中的人臉進行預處理,輸入數據,最后使用SVM分類訓練驗證其分類結果,形成人臉識別模型[8-9]。當服務器接收到智慧屏終端發送的識別請求,人臉識別模塊開始調用人臉識別模型,輸入人臉特征照,返回識別結果。
管理端的人員數據管理如圖3所示,應用授權管理如圖4所示。

圖3 人員數據管理

圖4 應用授權管理
智慧屏終端如圖5所示:

圖5 智慧屏終端采集界面
①用戶把身份證放到讀卡器,自動讀取身份證并填充信息;②自動讀取校園卡并填充信息;③點擊拍照自動進行人臉識別并抓拍;④點擊上傳個人信息即可將信息上傳云端核驗并入庫。
基于多重身份校驗的人臉特征照采集系統是保證師生真實身份的有效手段。系統的整體設計采用了前后端分離技術,使用Python語言和C#語言共同開發,完成了用戶管理、臉庫管理、人臉入庫管理等功能。人臉識別模塊采用了深度卷積網絡,并使用TensorFlow訓練模型實現了人臉檢測和人臉比對。經實踐檢驗,系統運行穩定,效果良好,通過智慧屏終端可實現師生全自助式安全采集個人的人臉特征照,大大降低了人臉錄入工作量。