鄧熠 畢磊 薛甜 范亞江 侯丹
摘 要:文章針對傳統考勤效率過低和現有人臉識別技術需要近距離刷臉的弊端,設計了一個基于深度學習的人臉識別課堂實時考勤系統。該系統以樹莓派和Intel Movidius神經棒NCS為硬件平臺,使用Python和OpenCV實現了基于深度卷積神經網絡的人臉識別,并通過設計的考勤系統來保存識別結果和管理考勤數據。這種新型考勤系統在簡化考勤流程的同時避免了傳統考勤機需要近距離刷臉的弊端,支持遠距離多人同時與實時識別,提高了考勤效率。
關鍵詞:人臉識別;考勤系統;卷積神經網絡;結構查詢語言
0?引言
隨著互聯網技術、計算機技術、嵌入式技術和生物識別技術的飛速發展,公司、學校和各企事業單位的考勤方法也有了新的轉變。課堂考勤是教學過程中的一個重要環節,傳統的人工統計方法會造成教學時間的大量浪費。本設計提出了一個基于人臉識別的課堂考勤系統,大大節省了考勤占用的時間。人臉識別目前已經逐漸在各領域得到應用,其對人精準并且便利的辨別特性使得各領域逐漸加大對人臉識別的重視和應用推廣。近年來相關政策的頻頻出臺,也為人臉識別技術的發展提供了政策保障,未來人臉識別將會有更大的發展空間和應用市場。由于人工簽到和人工統計等傳統考勤方法不但浪費時間和人力物力,還存在著容易被忘記、被冒用和被替代等缺點,使得考勤的管理難度增加,人臉識別課堂考勤系統完全可以解決此類問題,具有很大的作用[1]。
1?系統分析
人臉識別課堂考勤系統本著為學校更便捷、高效地管理考勤,借助該系統可快速完成移動課堂的考勤。同時,目前的人臉識別算法已較為成熟,可以保證該系統具有較高的可靠性。該系統運用樹莓派的配置、MySQL數據庫的使用和部署、利用Python調用OpenCV等技術的研發來打造此系統。
基于圖像分類和目標檢測的人臉識別有三大模塊:第一是采集數據集,第二是模型訓練,第三是人臉識別。在人臉識別中使用了卷積神經網絡(Convolutional Neural Network,CNN),卷積神經網絡是一種深度前饋人工神經網絡,可以進行大型圖像處理,已成功地應用于圖像識別Intel Movidius神經計算棒NCS,可以幫助低性能的設備實時運行CNN,進行一些圖像分類等處理。目前的人臉識別算法較為成熟,可以保證該系統具有較高的可靠性。運用樹莓派的配置、MySQL數據庫的使用和部署、利用Python調用OpenCV等技術的研發來打造此系統。
本文所涉及的系統是一個基于樹莓派的小型系統,不用耗費大量的資源。在開發系統時,使用的軟件都是開源的,對硬件的配置要求不高[2-3]。
2?系統總體設計
2.1? 功能設計
人臉識別考勤系統主要由登錄模塊、識別模塊、考勤簽到模塊以及后臺管理模塊組成。
教師端模塊:用戶可以注冊登錄,登錄后可以對個人信息進行管理,包括修改個人信息,登錄密碼,創建課程、生成課程二維碼,創建簽到、取消簽到、查看考勤匯總表等。
學生端模塊:用戶可以注冊登錄,登錄后可以對個人信息進行管理,包括修改個人信息,登錄密碼以及人臉信息錄入,可以加入課程,查看公告和新聞,查看本人簽到記錄。
管理員模塊:查看和刪除操作不規范的用戶,可以修改人臉識別的精確度,并確保用戶的個人信息不被泄露,也可以重置系統,發布新版本,發布公告。
2.2? 系統界面設計
系統的界面主要采用PyQt設計。PyQt是一個創建GUI應用程序的工具包,是Python編程語言和Qt庫的成功融合。Python快速開發Gui程序,而Qt庫是目前最強大的庫之一。Qt廣泛應用于嵌入式開發中,只要編寫一次程序和UI,就能跨不同的桌面與嵌入式系統進行部署,不用修改源代碼,從而減少了項目的開發成本。項目的系統界面包括以下3個。
(1)角色登錄界面:給用戶以及管理員提供登錄界面;
(2)考勤展示界面:給學生考勤的時候提供考勤數據以及考勤結果的展示;
(3)后臺管理界面:給師生以及管理員提供不同的管理界面,不同的角色有不同的功能界面。
2.3? 嵌入式硬件設計
考勤系統以OpenCV視覺庫為核心,設計了基于樹莓派為硬件基礎的人臉識別系統。先將需要的Linux環境經過燒錄鏡像、配置網絡、安裝軟件、傳輸文件等流程,將承載系統的Linux環境配置好,再給Linux安裝需要的python環境,安裝OpenVINO,再配置后期實現人臉算法動態識別的算法神經棒需要的USB規則,最后安裝好攝像頭[4-5]。
2.4? 數據庫設計
2.4.1 概念結構設計
通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,可以用E-R圖表示。系統規劃出的實體共有5個,分別是管理員實體、學生實體、教師實體、課程表、簽到表。
各實體屬性如下:
管理員(管理員賬號、密碼);
學生(學號、密碼、班級、課程、考勤次數、缺勤次數);
教師(教師號、密碼、負責班級);
課程表(課程號、課程名稱、時間、任課教師);
考勤表(學生學號、學生姓名、學生班級、考勤次數、缺勤次數、缺勤課程號、考勤總次數)。
各個實體之間的關系如圖2所示。
2.4.2 邏輯結構設計
系統共有5張數據表,分別為管理員表、學生表、教師表,課程表、考勤表。
管理員表:此表用來存儲所有管理員的信息;
學生表:此表用來存儲所有學生的詳細個人信息;
教師表:此表用來存儲所有教師的信息;
課程表:用來存儲所有學生有課程信息;
考勤表:用來存儲學生的課程簽到考勤情況。
3 系統設計
該系統的主要功能是提取人臉特征,實現一個人臉識別的考勤系統,分為人臉圖像信息采集模塊、人臉識別模塊、考勤模塊。人臉識別模塊是將考勤時的人臉圖像輸入人臉識別模型中進行識別,主要是深度學習算法實現過程;考勤模塊是將學生人臉識別結果保存到數據庫中的考勤表,即考勤登記,并對考勤信息進行管理。
3.1? 人臉圖像信息采集模塊
人臉圖像信息采集模塊主要是預先采集學生人臉圖像并進行預處理和訓練人臉識別模型。
學生入校時都會錄入個人信息,包括學號、姓名、人臉圖像等,本系統將這些采集好的人臉圖像存入人臉圖像特征庫。預處理過程是需要對一個人臉識別出的圖片進行一系列的處理,繼而進行下一步的工作。預處理在整個人臉識別系統中占據著重要的地位,只有在預處理過程中達到較高的準確度,才能更好地完成后面人臉定位及特征提取這兩大關鍵模塊。預處理模塊主要是從圖片庫中獲取圖片,獲取后的圖片可以在軟件的界面中顯示出來,以便進行識別。
訓卷積神經網絡是一種前饋神經網絡,CNN是一種讓權重在不同位置共享的神經網絡。該網絡先選擇一個局部區域去掃描整張圖片,進而對人臉進行檢測。
3.2? 人臉識別模塊
本模塊是整個系統的核心部分,主要功能是識別人臉檢測模塊中檢測到的人臉圖像。首先進行歸一化處理,然后進行特征提取并與人臉特征圖像庫逐一比較,識別身份,同時在本系統中記錄出勤情況。人臉識別模塊的設計流程如圖3所示。
該模塊采用深度學習中的卷積神經網絡實現人臉識別功能。卷積神經網絡(CNN)是一類包含卷積計算且具有深度結構的前饋神經網絡,是深度學習的代表算法。卷積神經網絡主要是由輸入層、卷積層、池化層、全連接層和輸出層組成,卷積神經網絡的典型結構如圖4所示[6]。
設第i層的特征圖為Hi,則卷積層Hi的生成過程可描述為下式:
式中:為傳遞至第i層的權值向量:符號為卷積操作,bi為偏移向量。與飽和非線性函數相比,不飽和非線性函數能較好地避免梯度爆炸或者梯度消失問題,也能提高模型訓練速度。
下采樣層有兩個作用:(1)降維;(2)保持特征尺度不變性。原始圖像經過卷積層和下采樣層交替變換后,再接入一個全連接網絡利用所提取的特征對圖像分類。分類計算后的結果是一個關于安全概率分布的向量:
式中:H0為原始圖像。式(3)為原始圖像經過一系列的特征提取、組合變換后,得到標簽概率。深度神經網絡中權值參數W是利用訓練數據反復訓練模型,使得損失函數最小化確定好。常見的損失函數有均方誤差:
式中:n為類別的數量;Yi為第i個樣本的實際類別;Y-i為模型預測的類別。在利用大數據進行模型訓練時,可能會導致過擬合現象,為了避免這種情況,需采用模型正則化等技術:
式中:ω用來控制正則化的強度。CNN訓練的過程使用的是梯度下降算法。通過訓練誤差的反向傳播,逐層修正網絡中的權值參數W和偏值參數b:
式中:學習速率η控制學習步長[7]。
3.3? 考勤模塊
考勤模塊是整個系統中最后一部分。在使用人臉識別進行課堂考勤時,系統會檢測到到堂同學的人臉圖像,并與人臉圖像特征庫中的圖像逐一比較驗證,并將出勤情況記錄下來。識別出的人臉登記為出勤,未識別的人臉即為缺勤,最后把出勤情況記錄在表格中展示出來,方便管理人員掌握學生上課的出勤情況。
4?結語
本文以人臉識別技術為基礎,從學生課堂自動考勤需求出發,設計了基于人臉識別的學生課堂考勤系統。本文主要介紹了基于深度學習的人臉識別課堂考勤系統的設計與實現。該系統除了具有基本的功能外,重點在于該系統在普遍性、穩定性、系統需求分析等方面做了詳細設計,并最終完成了該考勤系統。
本文開發的基于人臉識別的學生課堂考勤系統所需硬件簡單,性價比高,且性能穩定,所開發出的系統具有較好的工程應用價值。程序完成開發后也經過了一系列測試,整體來說還是沒有發現明顯的操作邏輯錯誤。在本次系統的設計過程中,筆者不僅對各項專業知識有了進一步的認識,而且學到了很多GUI頁面開發的技術技巧,對以后的工作和學習有很大幫助。
[參考文獻]
[1]劉洋.基于人臉識別技術的教室考勤系統的設計和實現[D].成都:西南交通大學,2016.
[2]王靜.高校智能化考勤系統的設計與實現[J].信息與電腦(理論版),2015(16):78-79.
[3]禮冬雪,王啟民,李源,等.基于嵌入式系統的小型生物質鍋爐智能控制器[J].沈陽工程學院學報(自然科學版),2017(1):15-19.
[4]張鈺敏,葉傳奇,張淑媛,等.樹莓派人臉識別系統的開發與研究[J].電腦知識與技術,2020(13):221-222.
[5]陳超,黃佳.基于深度學習的樹莓派人臉與表情識別系統研究與設計[J].網絡安全技術與應用,2019(12):50-52.
[6]李雄,文開福,鐘小明,等.基于深度學習的人臉識別考勤管理系統開發[J].實驗室研究與探索,2019(7):115-118,123.
[7]劉杰,孫立民.深度學習人臉識別技術在考勤系統中的應用[J].智能計算機與應用,2020(2):17-22.
(編輯 傅金睿)