孫玥 楊國為
摘? 要: 通過研究人臉識別,提出一套用于學(xué)生考勤的系統(tǒng)?;谌四樧R別的考勤系統(tǒng)中最主要的就是人臉識別,首先通過攝像頭拍攝需要簽到的學(xué)生人臉圖像,運用人臉檢測技術(shù)檢測是否成功拍攝到完整人臉;然后對拍攝到的人臉圖像進(jìn)行特征提取與定位;再運用深度殘差網(wǎng)絡(luò)進(jìn)行描述子提取;最后通過與數(shù)據(jù)庫中的特征值進(jìn)行比較,從而進(jìn)行人臉識別的過程。實驗結(jié)果證明,該方法能夠快速準(zhǔn)確地實現(xiàn)人臉簽到識別,相對于基于其他方式的簽到系統(tǒng)有著更好的實用性和魯棒性。
關(guān)鍵詞: 人臉識別; 考勤系統(tǒng); 系統(tǒng)設(shè)計; 特征提取; 特征定位; 描述子提取
中圖分類號: TN911.73?34; TP391? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)10?0116?03
Research on student attendance system based on face recognition
SUN Yue1, YANG Guowei1,2
(1. School of Electronic Information, Qingdao University, Qingdao 266071, China;
2. College of Information Engineering, Nanjing Audit University, Nanjing 210000, China)
Abstract: An attendance system for students is proposed by studying the face recognition. The most important part of? the attendance system based on face recognition is the face recognition. A camera is used to capture the facial images of students who need to check?in, and then the face detection technology is adopted to detect whether the captured faces are complete. The feature extraction and location of the captured facial images are performed. The descriptor is extracted by the deep residual network. The extracted features are compared with the feature values in the database to realize the face recognition. The experimental results show that this method can realize face check?in recognition quickly and accurately, and has better practicability and robustness than that of other check?in systems.
Keywords: face recognition; attendance system; system design; feature extraction; feature location; descriptor extraction
0? 引? 言
目前,由于計算機技術(shù)和考勤方式的多樣化,產(chǎn)生了各種各樣的考勤系統(tǒng),從最初只能紙質(zhì)簽到打卡到現(xiàn)在ID刷卡、網(wǎng)頁智能考勤、指紋識別等,原始的考勤方法由于可以代簽的行為而存在許多弊端,使得考勤存在虛假簽到的情況,不利于學(xué)生之間公平公正的傳播。相對來說,人臉識別由于其魯棒性的特點可以應(yīng)對各種不同安全級別標(biāo)準(zhǔn)的應(yīng)用[1?2]。針對基于人臉識別的考勤系統(tǒng)開展研究從而獲取考勤信息,及時了解學(xué)生出勤情況,能夠有效提高管理效率。本系統(tǒng)雖然針對學(xué)生考勤,但是也可以應(yīng)用到一些單位員工的考勤等需要自主就可以完成的考勤場合,泛化能力較強 [3?4]。本文主要介紹基于人臉識別的學(xué)生考勤系統(tǒng),此系統(tǒng)可有效解決統(tǒng)計信息錯綜復(fù)雜的情況。根據(jù)現(xiàn)場人臉圖像的拍攝自動與數(shù)據(jù)庫中學(xué)生信息進(jìn)行驗證,從而確保信息的真實性,通過這種方式可以解決打卡等方式帶來的不良現(xiàn)象。本文著重研究基于人臉識別的學(xué)生考勤系統(tǒng),該系統(tǒng)能夠快速獲取人臉圖像信息,進(jìn)行特征定位、特征提取和人臉識別,從而完成考勤打卡工作,生成考勤日志,能讓管理人員智能高效地查詢考勤信息,方便快捷。
1? 系統(tǒng)結(jié)構(gòu)設(shè)計
基于人臉識別的網(wǎng)絡(luò)考勤系統(tǒng)結(jié)構(gòu)主要包括5個部分,分別為界面初始化、人臉錄入、刷臉簽到、打卡結(jié)果、生成日志,如圖1所示。其中最重要的部分是刷臉簽到部分,包括人臉檢測、特征提取與定位、人臉識別。
1.1? 界面初始化
學(xué)生考勤系統(tǒng)的首要工作即對外GUI的設(shè)計展示,也就是俗話說的界面初始化,初始化的好壞直接決定著系統(tǒng)的成敗,主要包括兩部分:界面設(shè)計與初始化。界面設(shè)計的好壞影響使用者的使用體驗。界面設(shè)計分為三個部分:菜單部分、照片圖像采集部分、信息顯示部分。菜單欄主要設(shè)置三個按鈕,分別起到人臉庫的錄入、學(xué)生上課簽到以及簽到完成后查看日志表格的作用。左半部分的信息主要顯示學(xué)生的簽到情況,看其是否在規(guī)定時間內(nèi)打卡簽到成功。初始化即完成界面所包括部分的初始化操作。界面初始化如圖2所示。
1.2? 人臉錄入
人臉錄入是刷臉簽到的前提條件,通過OpenCV庫來調(diào)取攝像頭進(jìn)行圖像采集工作。新建立的數(shù)據(jù)庫需要輸入學(xué)號、姓名等必要身份標(biāo)志,如圖3所示。采集數(shù)據(jù)時設(shè)置1 s采集延時,盡量在光線適中的條件下進(jìn)行采集,人臉庫內(nèi)若有重復(fù)數(shù)據(jù)會給出提示,從而做到每個人數(shù)據(jù)的唯一性。采集完畢后,界面左邊會相應(yīng)出現(xiàn)提示消息,如圖4所示。
1.3? 刷臉簽到
刷臉簽到是整個系統(tǒng)最中心的一環(huán),用來檢驗系統(tǒng)的準(zhǔn)確性與魯棒性。通過攝像頭識別學(xué)生面部信息與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行距離比較,國內(nèi)外對圖像距離的研究已經(jīng)有許多成果,最常用的基于圖像距離的度量方法有:馬氏距離、歐氏距離、切比雪夫距離和絕對值距離等[5]。在實際情況中,這些距離的度量方法在識別效果方面存在差異。歐氏距離由于其計算簡單、容易理解而受到廣泛應(yīng)用。歐氏距離算法的核心是:設(shè)圖像矩陣為n個元素,用這n個元素形成該圖像的特征組,特征組形成了n維空間,特征組中的特征碼(每一個像素點)構(gòu)成了每一維的數(shù)值,在n維空間下,兩個圖像矩陣分別可以看成一個點,這兩個點之間的距離可以利用歐氏距離公式來計算[6]:
[ρ=(x1-y1)2+(x2-y2)2+…+(xn-yn)2] (1)
為了避免簽到時攝像頭拍到多張人臉的情況導(dǎo)致刷臉失敗,在此設(shè)置刷臉簽到時只抓取距離攝像頭最近的人臉,即拍到的圖像范圍內(nèi)的最大的人臉,同時對于簽到失敗的情況(例如臉部沒有在攝像范圍內(nèi))設(shè)置報錯提醒。
1.4? 打卡結(jié)果
本文的打卡結(jié)果通過其是否超過打卡簽到時間來表示,所以必須要人為設(shè)置打卡時間。例如9:00的課就可以設(shè)置打卡臨界點是9:00,沒有打卡的就說明這個學(xué)生曠課;如果該學(xué)生已打卡簽到,但是超過了9:00,即出現(xiàn)遲到的情況,考勤日志里會自動出現(xiàn)相關(guān)記錄,如圖5所示。如果學(xué)生在9:00之前簽到,即表明該學(xué)生成功簽到,如圖6所示。刷臉簽到的同時,相關(guān)打卡簽到記錄在左邊部分實時呈現(xiàn),同時生成考勤日志便于日后查詢,日志內(nèi)容包括姓名、學(xué)號、打卡時間、是否遲到四項,清楚地表明了學(xué)生的打卡結(jié)果信息。
2? 人臉識別過程
2.1? 人臉檢測
本文使用的是Dlib官方自帶的人臉檢測器進(jìn)行檢測,能夠大大地簡化開發(fā),使得人臉檢測能夠輕易的實現(xiàn)[7],使用時只需要配置好使用環(huán)境,調(diào)用人臉分類器dlib.get_frontal_face_detector(),檢測到的人臉設(shè)置用一個方框標(biāo)注,便于觀察并且輸出人臉個數(shù),如圖7所示。
2.2? 特征提取與定位
人臉定位是將臉部特征(如眼睛、鼻子、嘴唇、眉毛、臉部輪廓)都標(biāo)記出來,利用Dlib官方訓(xùn)練好的模型“shape_predictor_68_face_landmarks.dat”進(jìn)行訓(xùn)練標(biāo)定,用綠色點標(biāo)識出來,總共68處。利用OpenCV進(jìn)行圖像化處理,用紅色數(shù)字標(biāo)識序號。從而達(dá)到特征提取與定位的功能。實現(xiàn)的68個特征點標(biāo)定功能效果如圖8所示。
2.3? 人臉識別
近年來,深度學(xué)習(xí)研究由于其強大性能而滲透于各行各業(yè)的方方面面,深度學(xué)習(xí)在人臉識別方面效果也不錯[8],理論上來說網(wǎng)絡(luò)的深度越深越好,因為這樣最后識別的效果可能比較好,但是事實上隨著網(wǎng)絡(luò)的加深,效果卻越來越差。其中重要的原因是隨著網(wǎng)絡(luò)加深,梯度消失的現(xiàn)象就會越來越嚴(yán)重,達(dá)不到理想的效果[9?11]。深度殘差網(wǎng)絡(luò)(ResNet)的出現(xiàn)就是為了解決網(wǎng)絡(luò)深度變深以后的性能退化問題[12]。ResNet是用跳躍結(jié)構(gòu)作為網(wǎng)絡(luò)的基本結(jié)構(gòu),如圖9所示。本來要優(yōu)化的目標(biāo)是H(x)=F(x)+x(x是該結(jié)構(gòu)的輸入),通過這種跳躍結(jié)構(gòu)以后就可以實現(xiàn)優(yōu)化的目標(biāo)由H(x)到H(x)-x的轉(zhuǎn)變。訓(xùn)練目標(biāo)轉(zhuǎn)變后,上面幾層會逼近于0,這樣訓(xùn)練的難度比訓(xùn)練到一個等價映射就會下降很多[13?14]。使用了ResNet結(jié)構(gòu)后,網(wǎng)絡(luò)的訓(xùn)練誤差和測試誤差都會相應(yīng)減小。
dlib_face_recognition_resnet_model_v1.dat是Dlib官方自帶的訓(xùn)練好的深度殘差網(wǎng)絡(luò)人臉識別模型,之所以用這個模型是因為該模型已經(jīng)做好了絕大部分的工作,并且在深度和精度上比卷積神經(jīng)網(wǎng)絡(luò)更加強大,只需要將人臉庫圖像與需要測試的圖像進(jìn)行描述子提取,生成128D向量,求取歐氏距離即可。
3? 數(shù)據(jù)庫設(shè)計
本文系統(tǒng)在數(shù)據(jù)庫服務(wù)器上的關(guān)系數(shù)據(jù)庫使用SQL Server[15],數(shù)據(jù)庫中的信息主要包括學(xué)生的基本信息、學(xué)生的人臉特征信息、簽到打卡記錄等。其中,學(xué)生的人臉特征信息是進(jìn)行人臉識別的基礎(chǔ)??记谟涗浭菍W(xué)生打卡簽到的結(jié)果數(shù)據(jù),是老師查詢統(tǒng)計的基礎(chǔ)。人臉識別即通過遍歷數(shù)據(jù)庫里的學(xué)生面部數(shù)據(jù)與當(dāng)前攝像頭里的學(xué)生面部數(shù)據(jù)的比對來實現(xiàn)。
4? 結(jié)? 論
本文基于人臉識別提出一套用于學(xué)生考勤的全新系統(tǒng),在學(xué)生考勤實踐中,該系統(tǒng)能夠穩(wěn)定、快速、準(zhǔn)確地識別出對應(yīng)學(xué)生并完成打卡簽到。利用人臉識別進(jìn)行考勤系統(tǒng)的設(shè)計,能夠有效解決其他方式中出現(xiàn)的問題,不會出現(xiàn)接觸性(比如指紋識別出現(xiàn)的指紋破壞)問題,只要捕捉到圖像信息就能完成考勤,大大提高了學(xué)校管理的效率和水平,并且具有相當(dāng)大的泛化能力。
參考文獻(xiàn)
[1] 龍海強,譚臺哲.基于深度卷積網(wǎng)絡(luò)算法的人臉識別方法研究[J].計算機仿真,2017,34(1):322?325.
[2] DING C X, DING D C. Pose?invariant face recognition with homography?based normalization [J]. Pattern recognition, 2017, 66: 144?152.
[3] 趙鵬飛.基于人臉識別的煤礦職工考勤系統(tǒng)設(shè)計[J].煤炭技術(shù),2013(11):315?317.
[4] 陳立潮,張秀琴,潘理虎,等.煤礦考勤系統(tǒng)中人臉識別算法的研究[J].工礦自動化,2015,41(4):69?73.
[5] G?NL? G, BILGE H S. Face recognition with discriminating 3D DCT coefficients [J]. Computer journal, 2018, 53(8): 1324?1337.
[6] 曾青松.多核支持向量域描述在基于圖像集合匹配的人臉識別中的應(yīng)用[J].中國圖象圖形學(xué)報,2018,21(8):1021?1027.
[7] 黃家才,曠文騰,毛寬誠.基于人臉關(guān)鍵點的疲勞駕駛檢測研究[J].南京工程學(xué)院學(xué)報(自然科學(xué)版),2017,15(4):8?13.
[8] 李倩玉,蔣建國,齊美彬.基于改進(jìn)深層網(wǎng)絡(luò)的人臉識別算法[J].電子學(xué)報,2017,45(3):619?625.
[9] 李亞,王廣潤,王青.基于深度卷積神經(jīng)網(wǎng)絡(luò)的跨年齡人臉識別[J].北京郵電大學(xué)學(xué)報,2017,40(1):84?88.
[10] 吳堯,邱衛(wèi)根.基于改進(jìn)的深度卷積神經(jīng)網(wǎng)絡(luò)的人臉識別[J].計算機工程與設(shè)計,2017,38(8):2246?2250.
[11] 邢健飛,羅志增,席旭剛.基于深度神經(jīng)網(wǎng)絡(luò)的實時人臉識別[J].杭州電子科技大學(xué)學(xué)報(自然科學(xué)版),2013(6):107?110.
[12] HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition [C]// IEEE Conference on Computer Vision & Pattern Recognition. [S.l.]: IEEE, 2016: 770?778.
[13] 趙朋成,馮玉田,羅濤,等.基于深度殘差網(wǎng)絡(luò)的手寫體數(shù)字識別[J].工業(yè)控制計算機,2017,30(10):82?83.
[14] 易鋒,胡馨瑩.基于深度殘差網(wǎng)絡(luò)的行人人臉識別算法研究[J].電腦知識與技術(shù),2018(2):233?235.
[15] 趙丁,袁艷,蘇麗娟,等.目標(biāo)多維特征數(shù)據(jù)庫設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2017,40(20):10?13.