朱靖嫻 白文娟 張礪心 劉克楠
摘 要:文章針對當前常用考勤方式中普遍存在的代簽到、考勤數(shù)據(jù)整合較慢等問題,利用人臉識別技術(shù)實現(xiàn)了一種基于Java的在線考勤系統(tǒng)。該系統(tǒng)可大大提高考勤效率,滿足各類場環(huán)境景下的考勤需求,具有識別度高、檢測速度快、操作簡單的特點,能夠為用戶提供更多便利幫助。
關(guān)鍵詞:人臉識別;考勤系統(tǒng);Java語言;face++
當今高校對培養(yǎng)學生能力、提高學生知識儲備的重視度與日俱增,因此,高校課堂教育的重要性不言而喻。但如今的高校普遍存在缺勤率高、代簽嚴重等問題,傳統(tǒng)的考勤方式如指紋簽到、打卡簽到、點名簽到等都存在很多漏洞。指紋簽到雖然成本較低,但它的可復(fù)制性使這種方法不夠可靠;打卡簽到需要學生隨身攜帶磁卡,但磁卡容易丟失,且攜帶不便,補辦困難;點名簽到更是存在代答道、效率低的問題,這些缺點都給學校的日常考勤帶來了困難。因此,設(shè)計出一種高效、便捷、易于統(tǒng)計數(shù)據(jù)的考勤系統(tǒng)就成了當務(wù)之急。
近幾年,生物特征識別技術(shù)獲得快速發(fā)展。人臉作為一種生物特征,具有很強的自身穩(wěn)定性和個體差異性,是進行身份驗證的最理想依據(jù),主要方法包括步態(tài)識別、虹膜識別、皮膚芯片、臉像識別、多模態(tài)(即多生物特征融合)識別技術(shù)等[1]。其中,人臉識別技術(shù)因為具有方便、直觀、易于普及等優(yōu)點尤為受到關(guān)注與研究。
早在20世紀50年代,認知科學家就已著手對人臉識別展開研究。20世紀60年代,人臉識別工程化應(yīng)用研究正式開啟,我國從20世紀80年代開始了對人臉識別技術(shù)的研究,雖然起步較晚,但我國科研人員奮起直追,一些領(lǐng)軍人物已經(jīng)在人臉識別領(lǐng)域建立了屬于自己的行業(yè)地位。隨著當今世界大數(shù)據(jù)時代的到來和人臉識別技術(shù)商業(yè)價值的顯現(xiàn),這項技術(shù)研究前景十分光明,具有極大的市場需求。
1 系統(tǒng)總體設(shè)計
1.1 系統(tǒng)功能與模塊
人臉識別簽到系統(tǒng)主要由登錄模塊、識別模塊、簽到模塊和后臺管理模塊4個部分組成(見圖1),其中各模塊作用如下。
(1)登錄模塊是授課老師或后臺管理者通過賬號和密碼登錄,查看考勤信息。
(2)識別模塊主要實現(xiàn)的功能是接收一張人臉圖片,調(diào)用系統(tǒng)應(yīng)用程序編程接口(Application Programming Interface,API)對圖片進行人臉識別,得到一個唯一確定此圖片的標識碼。
(3)簽到模塊接收識別模塊中得到的標識碼與數(shù)據(jù)庫中的學生信息比對,查找確認學生信息;通過查詢當前時間和數(shù)據(jù)庫中的課程安排表信息,獲取當前所上課程信息。得到學生和課程信息后,通過邏輯判斷該學生這節(jié)課是否已經(jīng)簽到,若已簽到,忽略;若未簽到,將簽到信息添加到數(shù)據(jù)庫簽到表。該模塊會返回簽到信息,包括:是否簽到成功;學生姓名;學生學號;所簽到課程;若簽到未成功,原因是什么。
(4)后臺管理模塊由后臺管理員負責,主要包括統(tǒng)計簽到信息、錄入或刪除學生信息等功能。
1.2 系統(tǒng)工作流程
本系統(tǒng)總體使用流程介紹如下:打開系統(tǒng)后,首先在后臺根據(jù)當前時間與地點判斷課程與班級人員信息;然后出現(xiàn)人臉識別登錄界面,登錄成功后通過攝像頭捕捉學生面部信息,從攝像頭獲取照片。照片框動態(tài)顯示攝像頭所拍攝照片,點擊“簽到”,從攝像頭獲取照片后鎖定圖片,對照片進行識別,得到一個照片標識,將標識傳給簽到模塊進行簽到,得到簽到信息,并在下方顯示簽到信息[2]。
本系統(tǒng)將人臉識別技術(shù)應(yīng)用在高校課堂考勤中,實現(xiàn)學生簽到功能并統(tǒng)計出當前課堂學生的出勤率,主要流程為:教師登錄、學生刷臉考勤、考勤識別、考勤統(tǒng)計和考勤結(jié)果幾個部分,其具體工作流程(見圖2)介紹如下。
打開本系統(tǒng)軟件后,首先根據(jù)當前時間和輸入的專業(yè)班級判斷當前課程和老師,進入人臉識別登錄界面;使用本系統(tǒng)的老師需要登錄到系統(tǒng)中,登錄完成后,打開攝像頭進行學生簽到工作,通過攝像頭拍攝識別學生面部實現(xiàn)學生簽到,并在所有學生簽到完成后統(tǒng)計出當節(jié)課學生出勤率和未出勤學生名單,完成簽到[3]。
簽到完成后,授課教師可登錄系統(tǒng)查看本節(jié)課程信息,根據(jù)年級、專業(yè)、班級、課程、學號等信息進行篩選所查看數(shù)據(jù),以表格形式顯示,包括學生到課率和缺勤情況。
數(shù)據(jù)庫中信息通過管理員錄入學生照片信息。數(shù)據(jù)庫中存儲數(shù)據(jù)為采集的學生照片通過face++的API后得到的JSON格式標識碼。
2 人臉識別的軟件設(shè)計
2.1 考勤簽到模塊流程
基于人臉識別實現(xiàn)的考勤簽到系統(tǒng),就是將采集的人臉信息通過識別模塊轉(zhuǎn)換為標識碼,與數(shù)據(jù)庫中已有的學生圖片標識碼進行對比,查找出最相近的標識碼,輸出對應(yīng)信息,并顯示簽到成功界面;若不存在相似度高的標識碼,則顯示簽到失敗,具體流程如圖3所示。
圖3 考勤簽到流程
2.2 考勤系統(tǒng)算法實現(xiàn)
(1)該系統(tǒng)采用Java開發(fā)語言。首先,Java語言的平臺可移植性使該系統(tǒng)能夠滿足不同高校的要求,使應(yīng)用程序不用修改就可在不同的軟硬件平臺上運行;其次,Java語言具有調(diào)用靈活的特點,通過簡單操作就能實現(xiàn)某功能在不同位置的使用;除此之外,Java語言的安全性與可靠性保證了學生私人信息安全和運行的穩(wěn)定。
(2)該系統(tǒng)算法主要分為3部分:與face++ API的接口實現(xiàn)、課程信息的獲取和標識碼對比。
①接口實現(xiàn)。
首先將采集到的圖片通過Base64算法進行編碼,再通過post方法向face++服務(wù)器發(fā)送HTTP請求,獲得face++ API函數(shù)的使用權(quán)限;然后對采集到的圖片進行處理,得到JSON格式標識碼,再從JSON碼中提取所需關(guān)鍵信息,即標識碼、耗時和錯誤信息;最后將得到的標識碼傳給下一模塊,完成對數(shù)據(jù)庫中學生的查找。
②課程信息獲取。
在數(shù)據(jù)庫中設(shè)置一個專用模塊,用于存放某高校各專業(yè)本學期的課程表。通過計算具體日期和利用時間獲取函數(shù)及當前準確時間,得到所在周數(shù)和第幾節(jié)課信息,查找該專業(yè)本節(jié)課所上科目,與數(shù)據(jù)庫中對應(yīng)的上課學生信息進行對比,完成簽到。
③標識碼對比。
將從JSON格式標識碼中提取出的關(guān)鍵信息與數(shù)據(jù)庫中存儲的該專業(yè)學生標識碼信息進行一一對比,若存在相似度最高的學生說明該學生存在,在顯示界面顯示該學生信息與簽到成功界面,否則顯示簽到失敗界面。
(3)數(shù)據(jù)庫設(shè)計:該系統(tǒng)采用MySQL數(shù)據(jù)庫進行設(shè)計,數(shù)據(jù)庫中包括學生信息表、教師信息表、課程表、簽到表等信息,表格之間通過外碼進行聯(lián)系。在數(shù)據(jù)庫交互方面,本系統(tǒng)采用封裝操作,將與數(shù)據(jù)庫相關(guān)的操作封裝進函數(shù),每個表都是一個數(shù)據(jù)表類的子表,封裝了數(shù)據(jù)庫連接及增刪查改功能。
3 人臉識別考勤系統(tǒng)的設(shè)計與實現(xiàn)
3.1 測試步驟
(1)登錄模塊:管理員登錄系統(tǒng),查看系統(tǒng)能否正常運行,并協(xié)助后面簽到工作。
(2)識別模塊:抽取已錄入信息學生樣本進行測試,在攝像頭捕獲學生面部并進行識別后,對比顯示出的信息和數(shù)據(jù)庫中已錄入的信息是否一致,并統(tǒng)計正確率。
(3)簽到模塊:在完成識別后,查看數(shù)據(jù)庫當前課程簽到表中添加的學生信息和抽取的學生樣本從簽到人數(shù)和簽到信息兩個方面判斷是否一致,并統(tǒng)計正確率。
(4)重復(fù)以上步驟,將樣本人數(shù)不斷增多至班級人數(shù),統(tǒng)計在更大輸入下系統(tǒng)的可靠性。
3.2 測試目標
對系統(tǒng)小數(shù)量輸入(10~20人)時,識別正確率應(yīng)為85%以上,簽到正確率應(yīng)為80%以上;對系統(tǒng)大數(shù)量(20~50人)時,識別正確率和簽到正確率應(yīng)不低于80%。
3.3 測試環(huán)境
該系統(tǒng)使用Dell電腦作為測試機,處理器為Inter i5核處理器,Windows版本為Win10。
3.4 測試結(jié)果與分析
經(jīng)反復(fù)測試,系統(tǒng)在不同測試樣本數(shù)量下測試結(jié)果如下:當輸入學生為10~20人時,識別和簽到正確率均為85%;當輸入學生為20~50人時,正確率為80%。該測試結(jié)果中存在20%左右的錯誤率,其中大部分錯誤是由于學生面部信息出現(xiàn)改變,如醫(yī)療整形、飾物、化妝及環(huán)境光線等造成的面部特征變化,導致無法從圖片中提取出正確標識碼;另一主要原因是標識碼對比時的準確性問題,即系統(tǒng)未能正確判斷兩個標識碼是否足夠相似。
4 結(jié)語
本系統(tǒng)利用人臉識別算法實現(xiàn)考勤功能,并通過電腦進行實驗,能達到預(yù)期實驗結(jié)果,充分體現(xiàn)了算法和總體設(shè)計的可行性。系統(tǒng)完成了快速簽到完成學生考勤任務(wù),擺脫了繁雜的點名簽到,實現(xiàn)了快捷簽到的操作和功能。本系統(tǒng)對往后考勤系統(tǒng)的形式轉(zhuǎn)變作出了很大創(chuàng)新,大大提高了考勤的效率和可靠性,是值得進一步探索和實現(xiàn)的。
[參考文獻]
[1]霍妍,李長明.基于人臉識別考勤系統(tǒng)的設(shè)計與實現(xiàn)[J].通化師范學院學報,2016(6):1-3.
[2]吳美香,鄧園園,裴楓華,等.基于人臉識別的移動課堂考勤系統(tǒng)的設(shè)計與實現(xiàn)[J].軟件,2018(1):5-8.
[3]陳鴻飛,嚴忱君,俞寶福.基于人臉識別的中學課堂考勤系統(tǒng)的設(shè)計[J].科技傳播,2015(8):91-92.