白磊 潘光健 杜武龍 丁智斌
摘? 要:根據(jù)目前常用考勤技術(shù),如采用RFID射頻卡,指紋或使用人臉考勤機(jī)等技術(shù)存在替簽、代簽,或者必須使用硬件簽到,教師需在現(xiàn)場監(jiān)督,并且考勤還存在過程漫長、效率低下等問題,因此設(shè)計實現(xiàn)了一個基于虹軟人臉識別SDK與高德地圖GPS定位的智能考勤系統(tǒng)。系統(tǒng)采用Vue+SSM作為主要框架結(jié)構(gòu),前端服務(wù)器使用Node.js,持久層數(shù)據(jù)庫采用MySQL,Redis做系統(tǒng)緩存,系統(tǒng)以移動端瀏覽器為平臺運行。
關(guān)鍵詞:考勤系統(tǒng);人臉識別;GPS定位;SSM
中圖分類號:TP311.52? ? ? ?文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)18-0095-04
Abstract:The conventional attendance technologies such as RFID radio frequency cards,fingerprints or the use of face attendance machines have problems which can sign in for someone else,or must use hardware,then teachers need to supervise on-site,and the attendance process is long and inefficient. According to this situation,an intelligent attendance system based on face recognition SDK of ArcSoft and GPS positioning of AMAP was designed. The system uses Vue+SSM as the main framework structure,Node.js as the front-end server. The persistence layer database uses MySQL,Redis is used as the system cache,and the system runs on the mobile browser as the platform.
Keywords:attendance system;face recognition;GPS positioning;SSM
0? 引? 言
目前傳統(tǒng)的教學(xué)考勤,通常需要花大量時間,影響了課堂教學(xué)計劃和進(jìn)度,同時也加重了教師的教學(xué)負(fù)擔(dān),在考勤數(shù)據(jù)統(tǒng)計時,容易出現(xiàn)偏差,無法高效地給出學(xué)生正確的考勤成績。在輔導(dǎo)員/班主任日??记诜矫?,需要了解學(xué)生在校情況,如參加組織活動、晚間查寢等工作,人員較多、情形復(fù)雜也給考勤帶來很多不便。在教學(xué)管理方面,教學(xué)管理部門統(tǒng)計學(xué)生們出勤情況時,只能依靠教師的統(tǒng)計上報,效率和時效性較低。常規(guī)考勤技術(shù),例如課堂點名、簽名或使用芯片卡、考勤機(jī)簽到,存在別人代答、代簽、代刷情況,并且考勤過程漫長,當(dāng)考勤人員較多或集中簽到時容易引起混亂和聚集,導(dǎo)致出現(xiàn)意外情況。
本文以華北科技學(xué)院物聯(lián)網(wǎng)工程專業(yè)課程教學(xué)考勤為研究對象,設(shè)計并實現(xiàn)基于人臉識別與地圖GPS定位的智能考勤系統(tǒng),并應(yīng)用到我校相關(guān)專業(yè)的課程考勤和日常管理過程中。該系統(tǒng)通過調(diào)用虹軟人臉識別SDK進(jìn)行人臉比對,使用高德地圖API獲取定位信息,前端使用Vue技術(shù),后端使用Spring+Spring MVC+MyBatis(SSM)開發(fā)框架,在移動端瀏覽器中運行。通過該系統(tǒng)可以實現(xiàn)以下目的:
(1)通過考勤系統(tǒng),實現(xiàn)數(shù)字化管理,減輕教師負(fù)擔(dān),優(yōu)化學(xué)生考勤流程,提高考勤管理效率。
(2)通過人臉識別技術(shù),確定考勤對象,防止代簽、替簽。
(3)通過GPS定位系統(tǒng),獲取考勤對象位置,防止不在指定區(qū)域簽到。
(4)通過使用手機(jī)瀏覽器訪問考勤系統(tǒng),可適應(yīng)不同平臺手機(jī),且無需安裝APP即可訪問。
1? 總體設(shè)計
智能考勤系統(tǒng)主要包括用戶登錄別、人臉識別、考勤設(shè)置、地理位置、手動考勤、數(shù)據(jù)導(dǎo)出等模塊。系統(tǒng)擁有教師和學(xué)生兩種用戶,主要實現(xiàn)以下功能。
1.1? 教師用戶功能
教師用戶包括考勤設(shè)置、地理位置獲取、考勤信息查閱、手動考勤、學(xué)生請假的處理、考勤信息數(shù)據(jù)的導(dǎo)出等。
(1)考勤設(shè)置:教師可以對考勤參數(shù)進(jìn)行設(shè)置,其中包括需要考勤的科目、考勤的截止時間(超過此時間視為遲到)、考勤的最晚截止時間(超過此時間視為缺勤)、學(xué)生與教師的地理位置距離范圍差。
(2)地理位置信息獲?。河捎谛枰褂玫浇處熍c學(xué)生的地理位置信息進(jìn)行對比,所以在教師進(jìn)行考勤參數(shù)設(shè)置的時候需要同時獲取到教師的位置信息。
(3)考勤信息查閱:成功登錄的教師可以在教師中心對自己任教的科目進(jìn)行考勤歷史情況查閱操作,其中包含本學(xué)期所有本科目的考勤情況,教師可以選擇其中任意一次進(jìn)行詳情查閱,其中包括學(xué)生的簽到情況,學(xué)生簽到時的地理位置,學(xué)生正常簽到的人臉信息等。
(4)手動考勤:部分學(xué)生的手機(jī)可能會存在些許故障,導(dǎo)致無法進(jìn)行正常的簽到,這時可以申請進(jìn)行手動簽到。教師通過學(xué)生學(xué)號查詢此學(xué)生的信息,如果檢查無誤后,教師可以對其進(jìn)行手動簽到操作。
(5)學(xué)生請假的處理:學(xué)生遇到特殊情況需要請假時,會對此簽到課程做出請假的操作。教師在接收到請假的請求后,可以根據(jù)此學(xué)生提供的請假憑證來決定允許或者不允許此學(xué)生請假。
(6)考勤信息數(shù)據(jù)的導(dǎo)出:可以將考勤記錄全部導(dǎo)出為Excel表數(shù)據(jù),其中包括學(xué)生每次的簽到情況可根據(jù)學(xué)生簽到給出的最后的考勤分?jǐn)?shù)。
1.2? 學(xué)生用戶功能
學(xué)生用戶包括在線人臉識別簽到、在線請假、考勤歷史記錄查詢等。
(1)在線人臉識別簽到:學(xué)生可以在簽到界面選擇需要簽到的課程,如果教師沒有發(fā)布考勤任務(wù)或者學(xué)生未選擇自己專業(yè)的課程,則不允許此學(xué)生進(jìn)行簽到。在選擇簽到課程之后,進(jìn)行人臉圖像采集,然后進(jìn)行在線簽到。
(2)在線請假:如果學(xué)生有特殊情況需要請假,可以在請假界面選擇需要請假的課程,然后上傳請假憑證,提交之后等待教師的審核即可。
(3)考勤歷史記錄查詢:學(xué)生用戶可以在主界面查看自己所有的考勤歷史記錄,也可以在個人中心查看專業(yè)課程的詳細(xì)考勤記錄即考勤分?jǐn)?shù)。
2? 技術(shù)架構(gòu)
為了使系統(tǒng)模塊與模塊之間相互獨立運作且能協(xié)調(diào)工作,本系統(tǒng)采用前端與后端分離開發(fā)的模式,前端使用Vue+axios作為主要框架結(jié)構(gòu),后端將SSM作為框架支持,持久層數(shù)據(jù)庫采用MySQL,Redis做系統(tǒng)緩存,提高項目的可維護(hù)性、可擴(kuò)展性和健壯性。
3? 詳細(xì)設(shè)計與實現(xiàn)
3.1? 考勤任務(wù)發(fā)布模塊
考勤任務(wù)發(fā)布模塊,主要的功能是教師設(shè)置考勤任務(wù)相關(guān)參數(shù),向?qū)W生發(fā)布課程考勤任務(wù),學(xué)生在簽到界面就可以選擇教師發(fā)布的考勤任務(wù)進(jìn)行簽到。教師登陸考勤系統(tǒng),進(jìn)入考勤界面后首先要選擇進(jìn)行考勤的課程,并對其他相關(guān)參數(shù)進(jìn)行設(shè)置,如考勤截止時間,考勤最晚截止時間(在考勤截止時間之后簽到的視為遲到,超過了考勤最晚截止時間,便視為缺勤)。同時要設(shè)置范圍內(nèi)允許的地理位置距離差,推薦的誤差值是50米,由于手機(jī)定位可能存在定位誤差,系統(tǒng)實現(xiàn)使用高德地圖API對用戶進(jìn)行定位,同時根據(jù)API接口返回的數(shù)據(jù)的定位精度范圍作為精度誤差,以便后續(xù)位置信息計算??记诎l(fā)布模塊實現(xiàn)效果如圖1所示。
3.2? 學(xué)生在線簽到模塊
學(xué)生在線簽到模塊主要針對學(xué)生角色,同時也是整個系統(tǒng)的核心。學(xué)生用戶在登陸成功之后,進(jìn)入在線簽到界面,當(dāng)教師暫時沒有發(fā)布考勤任務(wù)、學(xué)生未選擇自己專業(yè)課程,或者教師發(fā)布的考勤任務(wù)已經(jīng)過期,即已經(jīng)超過考勤任務(wù)的最晚截止時間時,系統(tǒng)不會進(jìn)行考勤,而是向?qū)W生發(fā)出相應(yīng)提示信息。在學(xué)生正確選擇簽到課程之后,會進(jìn)入人臉采集界面,系統(tǒng)首先會調(diào)用手機(jī)攝像頭,捕捉人臉,收集人臉信息,并且將收集到的人臉信息進(jìn)行一系列的操作,最后將處理過的信息以Base64格式連同一系列其他參數(shù)(包括學(xué)生的地理位置信息)傳送至服務(wù)器端。
服務(wù)器端將處理過的學(xué)生的人臉信息提取出來,并與學(xué)生表中此學(xué)生之前錄入的人臉信息通過虹軟人臉識別SDK進(jìn)行對比,若二者圖像特征的相似度小于80%,系統(tǒng)認(rèn)為不是同一人,將處理結(jié)果寫進(jìn)HashMap,然后將其返回至前端,同時將此次簽到視為異常簽到,添加到學(xué)生簽到記數(shù)據(jù)表中;若兩者圖像特征的相似度大于80%,則認(rèn)為人臉是匹配的。
驗證學(xué)生的地理位置與教師的地理位置的差值是否在允許的范圍之內(nèi)時,首先將發(fā)布此次考勤任務(wù)的教師的地理位置從考勤記錄表中查詢出來,然后計算簽到時系統(tǒng)獲取的學(xué)生GPS位置信息與教師地理位置之間的距離。由于我們保存的是經(jīng)度和緯度,所以在計算的時采用計算球體上兩點之間曲線距離的方法。然后將求出的距離與教師之前設(shè)置的允許的范圍的差值進(jìn)行對比,如果在誤差范圍內(nèi),則認(rèn)為學(xué)生簽到成功,反之則視為異地簽到。最后將處理結(jié)果返回至前端,同時將此次的簽到記錄添加到學(xué)生簽到記錄表中。學(xué)生簽到界面如圖2所示。
對學(xué)生人臉圖像信息采集實現(xiàn)如圖3所示。
前端的人臉信息采集代碼如下:
this.OverlayShow = true;
let img = this.getBase64();
let that = this;
if (localStorage.lng === undefined) {
Dialog.alert({
message: '位置請求失敗,請檢查后重新嘗試'
}).then(() => {
this.OverlayShow = false;
});
}else{
this.$axios({
method: 'post',
url: '/face/check',
data: {
accuracy: localStorage.accuracy,
address: localStorage.address
},
});
后端的處理代碼如下:
String studentFaceImage = this.faceService.getStudent FaceImage ( ( String ) session.getAttribute ( "userName" ) );
boolean faceCompare = this.faceService.faceCompare ( checkFaceImageDTO.getImg ( ) , studentFaceImage );
3.3? 手動考勤模塊
手動考勤模塊包括教師手動考勤模塊和教師請假處理模塊。當(dāng)學(xué)生的硬件設(shè)備出現(xiàn)故障或者有特殊原因無法簽到時,學(xué)生便可以向教師申請手動考勤。教師在搜索欄中輸入學(xué)生的學(xué)號,然后檢驗查詢到的學(xué)生信息是否和實際的學(xué)生信息相符。如果符合便可以通過教師手動考勤模塊進(jìn)行手動考勤,即教師直接將此學(xué)生的簽到狀態(tài)設(shè)置為正常。教師手動考勤實現(xiàn)如圖4所示。
教師請假處理模塊是在學(xué)生發(fā)起請假的請求之后,教師端首頁就會出現(xiàn)學(xué)生的請假請求,教師可以查看學(xué)生的請假詳情,根據(jù)學(xué)生提交的請假憑證來決定是否允許此學(xué)生請假。在教師做出是否批假選擇后,系統(tǒng)會更新學(xué)生的考勤信息。請假處理實現(xiàn)如圖5所示。
4? 結(jié)? 論
本文針對常規(guī)考勤系統(tǒng)存在的問題,結(jié)合實際需求,設(shè)計并實現(xiàn)了基于人臉識別和GPS定位的智能考勤系統(tǒng),實現(xiàn)了學(xué)生人臉信息的采集,教師及學(xué)生地理位置的獲取,教師手動考勤,教師請假處理,教師考勤詳情數(shù)據(jù)的導(dǎo)出,學(xué)生成績的查詢等功能。通過該系統(tǒng)可以實現(xiàn)實時、在線考勤,并通過地理位置信息和人臉識別技術(shù)防止代簽、替簽等情況,提高了考勤效率和準(zhǔn)確性。智能考勤系統(tǒng)作為教學(xué)過程考核和評價的一種手段,將會越來越廣泛地應(yīng)用在教育培訓(xùn)等各個領(lǐng)域中。
參考文獻(xiàn):
[1] 周克輝,羅瑋,陳泰峰.高校學(xué)生考勤管理系統(tǒng)發(fā)展現(xiàn)狀和需求分析研究 [J].電子測試,2019(22):53-55.
[2] 華蘭.基于移動互聯(lián)網(wǎng)的綜合考勤系統(tǒng)的研究與實現(xiàn) [D].湖南:湖南大學(xué),2019.
[3] 蘇婕,王忠.基于NFC技術(shù)的智能考勤管理系統(tǒng)設(shè)計與實現(xiàn) [J].測控技術(shù),2015,34(2):129-133.
[4] 劉炳初,趙越嶺,王浩,等.智能考勤系統(tǒng)的設(shè)計 [J].遼寧工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2018,38(6):364-367.
[5] 張心怡,李剛.智能人臉識別考勤系統(tǒng) [J].電子制作,2019(9):48-49.
[6] 李若玉.基于Android系統(tǒng)的便攜式人臉考勤系統(tǒng) [D].四川:電子科技大學(xué),2019.
作者簡介:白磊(1982—),男,漢族,山東高密人,副教授,博士研究生,研究方向:人工智能。