摘 要:本文在分析幾種常見考勤系統(tǒng)的基礎(chǔ)上,提出一種結(jié)合移動終端人臉識別技術(shù)、wifi定位技術(shù)和Web綜合管理技術(shù)的課堂考勤綜合解決方案。從可用性、系統(tǒng)擴(kuò)展性、防止考勤作弊等多個方面介紹該方案的設(shè)計思路。該方案具有以下特點(diǎn):(1)學(xué)生自主考勤,考勤效率高;(2)系統(tǒng)硬件費(fèi)用低廉,方便推廣;(3)系統(tǒng)容錯性好,服務(wù)器的臨時故障不影響考勤的進(jìn)行。
關(guān)鍵詞:人臉識別;Javacv;Zk;Spring MVC
中圖分類號:TP273
管理人員在工作、學(xué)習(xí)的場合經(jīng)常通過考勤手段來維護(hù)生產(chǎn)、學(xué)習(xí)活動的開展。為了降低考勤成本,提高考勤效率,基于IT技術(shù)的考勤系統(tǒng)應(yīng)運(yùn)而生,市場上相繼出現(xiàn)了各種解決方案和考勤產(chǎn)品。本文在比較其他考勤解決方案的基礎(chǔ)上,提出了一種成本低廉、考勤效率高的移動終端考勤解決方案,在實(shí)際應(yīng)用中取得良好的效果。
1 目前的考勤解決方案及其問題
文獻(xiàn)[1]提出了基于B/S和C/S混合模式的考勤管理系統(tǒng)的應(yīng)用模型,嘗試使用網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)考勤功能。但該應(yīng)用模型沒有考慮他人替點(diǎn)、時效性等考勤實(shí)際問題,模型實(shí)用性較差。
文獻(xiàn)[2]使用RFID技術(shù)實(shí)現(xiàn)煤礦井下人員考勤、跟蹤定位功能,通過將RFID標(biāo)簽附著在井下人員身上,便可以通過無線訊號追蹤井下人員的位置所在。這種解決方案的缺點(diǎn)是RFID讀取器要多處部署,設(shè)備費(fèi)用和部署成本高昂。
文獻(xiàn)[3]介紹了適用于考勤的人臉識別算法。該算法簡單,定位準(zhǔn)確,識別率較高。但是實(shí)際應(yīng)用時,考勤過程存在異地、異時考勤的問題,導(dǎo)致考勤過程存在漏洞。
文獻(xiàn)[4]介紹了基于圖像的課堂刷臉軟件點(diǎn)名。上課前,教師手持?jǐn)z像設(shè)備,在教室前端拍多張學(xué)生照片,多張照片通過校正拼接成教室的全景照片。通過人臉檢測算法定位出學(xué)生人臉,處理好的照片放到服務(wù)器上。學(xué)生課后登陸服務(wù)器,在該照片選擇屬于自己的人臉區(qū)域簽到,從而完成點(diǎn)名過程。這種解決方案實(shí)現(xiàn)簡單,教師工作量輕松,考勤放在課后進(jìn)行,不影響上課進(jìn)度。但是由于照片的角度問題,無法將所有的學(xué)生人臉都拍到,導(dǎo)致在后排的學(xué)生無法被人臉檢測算法檢測到,因此也存在考勤漏洞。
2 移動終端考勤系統(tǒng)總體架構(gòu)設(shè)計
針對目前考勤解決方案存在問題,設(shè)計了移動終端考勤系統(tǒng),系統(tǒng)總體架構(gòu)圖如圖1所示。
圖1 移動終端考勤系統(tǒng)總體架構(gòu)圖
圖1中管理端為了方便部署,采用B/S架構(gòu)??记诜?wù)器使用Tomcat,數(shù)據(jù)庫服務(wù)器使用MySQL。使用Zk+Spring+Hibernate的框架組合實(shí)現(xiàn)后臺管理端功能。由于瀏覽器端應(yīng)用程序無法直接訪問客戶端電腦資源信息,因此教師的熱點(diǎn)標(biāo)識配置放在手機(jī)端實(shí)現(xiàn)。服務(wù)端與手機(jī)端的通訊邏輯使用Spring MVC框架實(shí)現(xiàn)。這樣的技術(shù)選型可以使得手機(jī)端、服務(wù)端和瀏覽器端的開發(fā)全部使用Java語言實(shí)現(xiàn),降低開發(fā)難度,同時便于技術(shù)共享。手機(jī)端當(dāng)前僅對Android平臺實(shí)現(xiàn)支持,后續(xù)隨著應(yīng)用范圍的增大,再考慮對其他移動平臺增加適配。移動平臺的人臉識別功能采用OPENCV的Java封裝庫-Javacv,進(jìn)一步減低了開發(fā)的難度。
3 系統(tǒng)功能介紹與設(shè)計說明
教師隨身攜帶的設(shè)備能夠產(chǎn)生小范圍的熱點(diǎn)(例如:手機(jī),隨身WIFI等),在點(diǎn)名時刻,移動客戶端只有搜素到該時間點(diǎn)上課的教師對應(yīng)的熱點(diǎn),才能啟動考勤模塊,這樣就保證了學(xué)生本人是在上課地點(diǎn)簽到點(diǎn)名,并且是在上課時間段點(diǎn)名。
隨著智能手機(jī)的普及,現(xiàn)在基本上學(xué)生人手一步智能手機(jī),手機(jī)上的攝像頭可以拍攝下人臉信息。于是在點(diǎn)名過程中,手機(jī)拍攝點(diǎn)名學(xué)生的正面人臉,通過人臉識別算法進(jìn)行特征比對。如果比對特征值相符,就表示手機(jī)點(diǎn)名學(xué)生本人在場。于是將本次點(diǎn)名的記錄上傳服務(wù)器,完成點(diǎn)名過程。如果由于光線不均等原因,人臉識別算法無法成功比對。則允許學(xué)生選擇要么再次操作拍照功能,要么將本次比對失敗的照片上傳服務(wù)器。教師在課后登陸服務(wù)器可以查看考勤情況,特別地,管理端列出考勤驗(yàn)證失敗記錄列表,讓教師通過人工方式來識別是否本次拍照學(xué)生與以往該學(xué)生的照片是否一致,如果教師確認(rèn)一致,則服務(wù)器將本次拍攝的照片加入到該學(xué)生的人臉訓(xùn)練集中,更新人臉識別訓(xùn)練配置文件。這樣當(dāng)學(xué)生下次點(diǎn)名時,就會更新學(xué)生手機(jī)上的對應(yīng)配置文件。這種自動識別加上人工手動識別相結(jié)合的方式,從效率和可靠性上得到了折中。同時隨著學(xué)生點(diǎn)名次數(shù)的增加,其人臉識別訓(xùn)練集中的照片會越來越多,于是后續(xù)人臉識別訓(xùn)練配置文件成功識別該學(xué)生的可能性就越來越大。所以系統(tǒng)考勤自動化程度隨著使用的進(jìn)展會越來越高。
當(dāng)某個學(xué)生考勤是他人代考勤時,登陸了該學(xué)生賬戶的手機(jī)端程序無法識別代考勤者,導(dǎo)致考勤動作失效。如果代考勤者強(qiáng)行提交人臉考勤照片,教師在服務(wù)器可以通過比對代勤者與原來學(xué)生的照片,可以很容易發(fā)現(xiàn)替點(diǎn)名行為。這種人工干預(yù)的動作在考勤流程中可以保證減少替點(diǎn)名行為。同時可以預(yù)見,由于具有了這種防范機(jī)制,替點(diǎn)的行為將會很少,因此教師的人工干預(yù)工作量也會變得很少。
為了提高人臉識別的成功率,設(shè)計了以下人臉拍照流程,手機(jī)終端系統(tǒng)首先打開攝像頭,手機(jī)屏幕上顯示攝像頭拍攝到的景物信息,手機(jī)后臺線程不斷對每個預(yù)覽幀照片進(jìn)行以下處理:
(1)如果相鄰預(yù)覽幀照片的差別值大于某個閾值,則說明景物發(fā)生改變,于是程序調(diào)用Camera的聚焦API進(jìn)行自動聚焦。
(2)對每幀照片進(jìn)行人臉識別,為了運(yùn)行高效,本程序采用LGBP算法,如果發(fā)現(xiàn)某幀圖片上有人臉,于是在該人臉區(qū)域進(jìn)行左眼與右眼的識別,只有左、右眼都找到,才認(rèn)為發(fā)現(xiàn)了人臉目標(biāo)。
(3)在手機(jī)屏幕中心處繪制兩個不同大小的矩形空心窗口w1,w2,假設(shè)人臉區(qū)域?yàn)镕,則只有w1 (4)截取采集到的照片中人臉區(qū)域,通過OPENCV API變?yōu)榛叶葓D片,再通過左右眼的距離進(jìn)行尺度歸一化。為了減少光線的影響,對灰度圖片采用直方圖均衡化技術(shù),使得人臉的左右兩邊亮度差別不是很明顯。 (5)處理好的人臉灰度圖片通過使用LGBP算法進(jìn)行人臉識別,如果學(xué)生用戶首次使用本系統(tǒng),即服務(wù)端沒有該學(xué)生的人臉識別訓(xùn)練配置文件,則將本次識別采集到圖片上傳到服務(wù)器,讓教師或者輔導(dǎo)員進(jìn)行人工辨認(rèn)。如果服務(wù)端有該學(xué)生的人臉識別訓(xùn)練配置文件,手機(jī)端程序就會下載該配置文件緩存在手機(jī)中,同時保證每次連接服務(wù)器都會同步該配置文件,使得手機(jī)端的人臉識別配置文件始終保持最新的狀態(tài)。接下來如果識別算法能夠識別該圖片,則只需要上傳該次考勤信息到服務(wù)器,而不需要上傳本次考勤拍攝的照片,這樣做可以減少服務(wù)器訪問的負(fù)擔(dān)。如果識別算法無法識別,即相似度太低,則讓學(xué)生學(xué)生選擇上傳本次拍攝照片還是換個角度再次拍攝。如果上傳照片,則該照片在教師登陸服務(wù)器后進(jìn)行人工驗(yàn)證,如果教師驗(yàn)證后認(rèn)為本次照片是學(xué)生本人,則本次照片加入該學(xué)生的人臉識別訓(xùn)練集中,更新人臉識別訓(xùn)練配置文件。該人臉識別訓(xùn)練配置文件的時間戳相應(yīng)更新,于是該學(xué)生的手機(jī)客戶端下次連接服務(wù)器時,就會更新該配置文件。 (6)如果由于服務(wù)器故障,學(xué)生手機(jī)無法連接服務(wù)器,考勤仍然能夠正常進(jìn)行,這時考勤生成的考勤信息或者照片信息暫時緩存在手機(jī)客戶端中,并加上Internet上的標(biāo)準(zhǔn)時間戳,待下次登陸服務(wù)器時再上傳本次考勤信息。 (7)考勤信息上傳時如果自帶Internet標(biāo)準(zhǔn)時間戳,則考勤時間戳以該時間為準(zhǔn),如果沒有時間戳,則考勤時間以服務(wù)器接收時間為準(zhǔn)。手機(jī)端程序同一門課程的考勤間隔設(shè)置限制,保證學(xué)生在指定時間間隔之內(nèi)只能一次考勤。這樣做避免了學(xué)生在一次課堂上通過篡改手機(jī)系統(tǒng)時間,產(chǎn)生多次考勤記錄的作弊行為,同時考勤間隔的設(shè)置杜絕了學(xué)生一次課堂上重復(fù)考勤的可能。 4 實(shí)驗(yàn)結(jié)果及結(jié)論 系統(tǒng)實(shí)際運(yùn)行時,發(fā)現(xiàn)有學(xué)生通過在攝像頭面前放置他人照片的方法實(shí)現(xiàn)考勤替點(diǎn)。為解決這個作弊問題,考慮到照片的靜態(tài)性,于是在攝像流程中加入了指示學(xué)生開閉眼睛的環(huán)節(jié)。在實(shí)際采集學(xué)生頭像之前,利用眼睛開閉過程中采集到的眼睛區(qū)域灰度直方圖的變化,來判斷攝像頭前是否是真人,從而實(shí)現(xiàn)了避免照片作弊的可能。該系統(tǒng)將現(xiàn)有技術(shù)進(jìn)行有機(jī)組合,實(shí)現(xiàn)學(xué)生自主考勤的同時,避免了各種作弊情況的發(fā)生,有很好的應(yīng)用前景。 參考文獻(xiàn): [1]孫太國,李淑娟,李言.基于混合模式的考勤管理系統(tǒng)研究[J].計算機(jī)工程,2003(08):170-172. [2]陸庭侃,王勇,彭超.人員考勤定位系統(tǒng)在陜西柴家溝煤礦的應(yīng)用[J].西北煤炭,2006(04):14-16. [3]張婷,朱秋煜,朱軍林.人臉識別考勤系統(tǒng)中有效人臉特征提取[J].上海大學(xué)學(xué)報(自然科學(xué)版),2006(03):244-248. [4]夏欣.刷臉軟件點(diǎn)名[OL].http://news.xinhuanet.com/photo/2013-01/29/c_124291434.htm. 作者簡介:蘇草(1990-),女,軟件工程專業(yè)大四學(xué)生,主要研究方向:JEE應(yīng)用系統(tǒng)開發(fā);林亞明(1977-),男,講師,2005年3月福州大學(xué)計算機(jī)科學(xué)系獲計算機(jī)軟件碩士學(xué)位,主要研究方向:圖像處理與模式識別、JEE應(yīng)用系統(tǒng)架構(gòu)分析。 作者單位:閩江學(xué)院計算機(jī)科學(xué)系,福州 350108 基金項目:福建省教育廳B類項目(JB13166);閩江學(xué)院科研項目(YKY12004);福建省高校學(xué)生創(chuàng)新創(chuàng)業(yè)項目(201310395037)。