?

基于FaceNet的智能自習室的設計與實現

2023-07-10 05:47董濤周旭輝張浩
電子產品世界 2023年6期
關鍵詞:人臉識別

董濤 周旭輝 張浩

關鍵詞:座位預約管理;FaceNet模型;人臉識別;物聯網Led

隨著近些年高校的擴招,不斷增加的學生數量使校園的公共資源陷入資源緊張和管理混亂的局面。很多高校共自習室的使用和管理中都面臨著“長期占座”或者“高峰搶座”等問題的困境。本文以鄭州GS 學院的圖書館公共自習室實際應用為研究背景,設計研發一款基于微信小程序前端以及人臉識別技術的公共自習室座位預約及管理系統。從而幫助學生更合理有效地安排自習時間,并幫助學校緩解公共自習室資源緊缺問題。

1 系統總體設計

研究生擴招,在考研熱潮之下寬敞明亮、學習氛圍濃郁的公共自習室無疑是考研族學習的最佳場所。引入公共自習室座位座位預約及管理系統,希望實現座位共享,提高座位的利用率,緩解座位緊張的問題。本系統共包含了四大功能模塊,如圖1 所示:

1) 微信小程序模塊:本模塊主要負責提供學生用戶訪問系統的交互UI。學生僅需在手機端關注圖書館微信公眾號即可進入公共自習室在線預約系統。通往微信小程序學生能夠以可視化的方式查看圖書館公共自習室座位的使用情況。同時還可通過微信小程序實現自習室座位的在線預約。

2) 后端服務模塊:后端服務包含了座位預約信息的管理;人臉識別模塊中人臉圖庫的管理;學生學習記錄統計;物聯網模塊邏輯控制,以及其他信息管理功能。該模塊是公共自習室智能化管理的中樞模塊,負責各個模塊中的消息轉發工作。

3) 人臉識別模塊:本模塊是實現公共自習室智能化無人化管理的核心功能模塊。首先系統通過控制自習室入口處的攝像頭,采集學生的面部圖片,然后運用FaceNet 模型實現人臉特征提取,隨后比對并將結果傳送給后端服務模塊。在由后端服務程序把控制信號傳輸給物聯網模塊。

4) 物聯網模塊:實現智能化管理的硬件實施模塊,根據后端服務模塊傳遞的控制信號,分別控制自習室門口的出入閘機和放置在自習室座位上的物聯網LED小燈。

2 微信小程序模塊設計與實現

微信小程序作為騰訊公司推出的一款基于微信平臺的移動APP,具有簡單易用、跨平臺、即走即用等特點。因此本系統的用戶UI 交互系統采用了微信小程序進行開發設計。主要實現了鄭州GS 學院圖書館公共自習室座位使用情況的實時可視化的信息展示,包含當前座位的狀態及本座位已有的預約信息。

自習室中有8 張大桌子,每張桌子上可安排8 個自習座位,每個方塊就代表一個自習座位。白色方塊代表該座位為空閑狀態,無人預約,單擊此方塊則可以進入預約信息填寫界面。紅色方塊則表示該座位已經被預約或正在使用,點擊此方塊則可以產看座位具體的使用信息,包括預約的開始時間和結束時間以及預約人的基本信息。具體流程如下圖所示:

3 后端服務設計與實現

后端服務主要采用了SpringBoot 框架,實現了整個系統的數據傳遞和業務邏輯控制。主要的數據交互流程包括個人信息,座位信息,控制信號幾部分。首先前端復制接收用戶控制信號或者收集用戶的數據,提交到基于SpringBoot 框架的服務器程序進行邏輯處理和數據交互。例如登錄模塊由SpringBoot 的control 層接收預約請求,并接收傳入的用戶名、座位編號、預約時間等數據。然后由service 層負責對收集的數據進行非空或者字符集轉換等加工處理。座位預約數據信息的存儲需要通過Mapper 層的Java 接口調用項應的Mapper 文件,完成Java 接口和SQL 語句之間的映射。而本系統的數據底層采用MySQL 數據庫實現。整個后端服務采用SpringBoot 框架能有利于這個程序的后期維護。

4 人臉識別模塊的設計實現

4.1 RetinaFace網絡

RetinaFace 是一種用于人臉檢測和人臉識別的深度學習網絡模型,由中國科學院自動化研究所的陳澤民等人在2019 年提出。它采用了一種新穎的多任務損失函數,可以同時預測人臉的邊界框、人臉關鍵點、人臉的姿態和人臉的人種信息,具有較高的檢測精度和速度。

RetinaFace 模型的基本思路是通過將人臉檢測問題轉化為一個回歸問題,預測每個人臉的邊界框、關鍵點、姿態和人種信息。模型主要由兩部分組成:特征提取網絡和人臉檢測頭。

特征提取網絡采用了ResNet-50 作為骨干網絡,通過提取特征圖來表征不同尺度的特征。檢測頭采用了一種類似于RetinaNet 的方法,對于不同尺度的特征圖,使用多個分支來預測不同大小的人臉邊界框和關鍵點。此外,檢測頭還使用了一種人種分類分支,可以用于預測人臉的人種信息。

4.2 FaceNet模型介紹

本文使用MobileNet 作為FaceNet 網絡的主干特征提取網絡,MobileNet 網絡是專注于移動端或者嵌入式設備中的輕量級CNN, 相比于傳統卷積神經網絡, 在準確率小幅度降低的前提下大大減少模型參數與運算量。

然后通過控制對人臉特征向量之間的歐氏空間距離的閾值,就可以實現對人臉圖像的區分。

4.3 人臉識別流程

1) 靜態人臉圖像采集,在用戶注冊該系統時,小程序會調用移動設備的攝像頭或者相冊功能,要求用戶提供一張正面的人臉照片。

2) 人臉圖像提取,利用RetinaFace 網絡進行邊框回歸檢測來確定人臉的區域,并將框選人臉圖像信息錄入本地圖庫。

3) 人臉特征提取,基于本地人臉圖庫運用FaceNet網絡進行人臉特征的向量提取,經過深度學習網絡會提取到的128 維特征向量矩陣。

4) 存儲人臉特征,將人臉圖像提取的128 位的特征向量存入到數據庫。

5) 動態圖像采集,通過攝像頭終端每間隔3 秒鐘采集時長為一秒的短視頻20f/s,并從中平均抽樣5 禎的圖像作為識別圖片。

6) 提取人臉特征提取,重復上述(2~3) 步的操作,提取出5 張動態圖像的特征向量。并進行均值計算,得出1 個特征向量矩陣。

7) 載入本地人臉庫,將數據表中存放的靜態人臉特征矩陣以numpy 模塊格式進行載入,而人臉信息則封裝入JSON 字符串。

8) 歐式距離計算,將步驟(6) 中得出的特征向量于載入的本地特征矩陣庫中的特征向量運用式(1) 計算歐式距離d。

9) 識別結果輸出, 如果歐式距離d 大于預訂設置的閥值則認定為匹配失敗則是輸出Unknown,反之d 小于閥值則匹配成功輸出本地庫中的用戶標簽信息。

4.4 模型訓練

LFW數據集主要應用對人臉識別的準確度的測試上,并采用遷移學習的方式對該數據集進行訓練[4]。從數據集中隨機選擇5 000 對由人臉組成的人臉圖片識別對,其中2 500 對的兩張人臉圖片來自于同一個人,另2 500 對的兩張人臉圖片來自于不同的人。測試過程中LFW 隨機給出1 對照片,詢問被測系統兩張照片是否屬于同一個人,系統正確或錯誤兩種答案。將這5 000對人臉測試的系統答案與真實答案的比值就是人臉識別準確率。

5 結果分析

將測試集進行分組輸入給模型進行測試。驗證結果如下:

測試集的準確率分組測試結果顯示較接近訓練的準確率,準確率約為89%,且實際部署使用的過程中會多次驗證。因此實際部署使用過程中產生的誤差可忽略不計。

6 結束語

本文通過引入智能自習室系統。以解決傳統自習室問題,加入FaceNet 網絡在中低性能的機器部署時仍有20 幀左右的速度。故有望在實際部署中以低成本解決實際問題。

猜你喜歡
人臉識別
人臉識別 等
揭開人臉識別的神秘面紗
人臉識別技術的基本原理與應用
人臉識別技術在高速公路打逃中的應用探討
基于(2D)2PCA-LBP 的人臉識別方法的研究
淺談人臉識別技術
人臉識別在高校安全防范中的應用
巡演完美收官 英飛拓引領人臉識別新潮流
人臉識別在Android平臺下的研究與實現
基于Metaface字典學習與核稀疏表示的人臉識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合