董雷剛 崔曉微 趙陽(yáng)光 黃晨杰 李中田 孫佳楠
摘要:將面部采集與識(shí)別技術(shù)結(jié)合物聯(lián)網(wǎng)技術(shù),研究設(shè)計(jì)一套用于高校學(xué)生寢室管理的安全考勤系統(tǒng)。其中,面部采集與識(shí)別模塊采用opencv技術(shù)設(shè)計(jì),后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ)與管理模塊采用Sql server數(shù)據(jù)庫(kù)和Java進(jìn)行功能設(shè)計(jì),移動(dòng)智能查詢模塊采用Android進(jìn)行設(shè)計(jì)。系統(tǒng)可實(shí)現(xiàn)學(xué)生面部信息的錄入與識(shí)別,考勤信息的后臺(tái)存儲(chǔ)、查詢與維護(hù),考勤信息的遠(yuǎn)程訪問等功能。系統(tǒng)可高效實(shí)現(xiàn)學(xué)生晚間歸寢統(tǒng)計(jì),防止代簽、假簽等行為,便于管理者隨時(shí)掌握學(xué)生考勤信息,減少了工作量,提高了管理效率。
關(guān)鍵詞:面部采集與識(shí)別;物聯(lián)網(wǎng);Android;考勤;遠(yuǎn)程訪問
中圖分類號(hào):TP311 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)32-0091-03
College Student Attendance System Based on Face Recognition and Android Technology
DONG Lei-gang, CUI Xiao-wei, ZHAO Yang-guang, HUANG Chen-jie, LI Zhong-tian, SUN Jia-nan
(Department of Computer Science, Baicheng Normal University, Baicheng 137000, China)
Abstract:Combining facial acquisition and recognition technology with Internet of Things technology, this paper studies and designs a set of safe attendance system for dormitory management of college students.Among them, the face collection and recognition module is designed by OpenCV technology, the background database storage and management module is designed by SQL Server database and Java, and the mobile intelligent query module is designed by Android. The system can realize the input and recognition of students' facial information, the background storage, query and maintenance of attendance information, remote access to attendance information and other functions.The system can effectively realize the statistics of students' return to bed at night, prevent the behavior of signing on behalf of students and false signing, and facilitate the managers to grasp the student attendance information at any time, reduce the workload, and improve the management efficiency.
Key words:embedded; face recognition; web browser; Android; attendance
高校是一個(gè)小型社會(huì),高校里的學(xué)生動(dòng)輒上萬(wàn)人,甚至數(shù)萬(wàn)人。面對(duì)如此多的人員,尤其是學(xué)生晚間歸寢的管理,不只是學(xué)校正常秩序的維護(hù),更涉及學(xué)生自身的安全[1]。由于大學(xué)生已經(jīng)是成人,再加上高校的開放管理方式,使得社會(huì)人員可以隨意進(jìn)入學(xué)校,因此對(duì)學(xué)生晚間按時(shí)歸寢的管理是一個(gè)艱巨而復(fù)雜的任務(wù)。
隨著信息技術(shù)的發(fā)展,在高校學(xué)生管理工作上,雖然也使用了一些軟件進(jìn)行輔助,但是,目前高校中對(duì)晚間學(xué)生歸寢的管理與信息統(tǒng)計(jì),基本上還是需要人工進(jìn)入寢室進(jìn)行檢查。這種工作方式存在幾方面問題,首先是效率低,工作量大,輔導(dǎo)員管理的學(xué)生可能分布在不同樓的不同層,要想把這些宿舍都檢查一遍,可能需要一兩個(gè)小時(shí),這就導(dǎo)致查寢的時(shí)效性很差,經(jīng)常會(huì)出現(xiàn)查完寢后學(xué)生又偷偷跑出去的情況;其次,輔導(dǎo)員入寢室會(huì)給學(xué)生帶來不方便,導(dǎo)致學(xué)生的抵觸,不利于師生關(guān)系的融洽;另外,查寢的時(shí)間不好確定,檢查太早了,學(xué)生可以又跑出去,檢查太晚了,影響學(xué)生休息;隨著高校的擴(kuò)招,學(xué)生數(shù)量越來越多,需要更多的輔導(dǎo)員和學(xué)生管理者參與查寢,從而使學(xué)校投入更多的人力和財(cái)力去完成任務(wù)。
基于上述原因,在面部識(shí)別技術(shù)和物聯(lián)網(wǎng)技術(shù)的基礎(chǔ)上[2],設(shè)計(jì)一種自助智能考勤管理系統(tǒng),實(shí)現(xiàn)學(xué)生自助考勤、考勤信息自動(dòng)存儲(chǔ)與管理、輔導(dǎo)員遠(yuǎn)程實(shí)時(shí)查詢與統(tǒng)計(jì)等功能,極大提高了工作效率。
1 整體功能設(shè)計(jì)
根據(jù)要實(shí)現(xiàn)的功能,系統(tǒng)可以分為人臉采集與識(shí)別終端App,后臺(tái)數(shù)據(jù)庫(kù)管理模塊,以及信息查詢終端App三大模塊。人臉采集與識(shí)別終端的適用對(duì)象是學(xué)生,主要完成人臉信息的登記、面部信息采集及識(shí)別功能,并能及時(shí)反饋?zhàn)R別結(jié)果;后臺(tái)數(shù)據(jù)庫(kù)管理模塊由系統(tǒng)管理員操作,主要完成學(xué)生信息的管理、學(xué)生考勤信息的管理;信息查詢終端的適用對(duì)象是輔導(dǎo)員,主要實(shí)現(xiàn)以多種方式對(duì)考勤結(jié)果進(jìn)行查詢、統(tǒng)計(jì)和標(biāo)記等功能。三者的工作流程如圖1所示,人臉信息與識(shí)別終端在對(duì)學(xué)生的面部信息進(jìn)行識(shí)別后,將結(jié)果通過網(wǎng)絡(luò)傳送至后臺(tái)數(shù)據(jù)庫(kù),信息查詢終端通過網(wǎng)絡(luò)訪問數(shù)據(jù)庫(kù)獲得查詢結(jié)果。
2 人臉采集與識(shí)別終端
該終端依托智能手機(jī)(Android操作系統(tǒng))進(jìn)行工作。主要功能包括:人臉的檢測(cè)、面部特征分析、人臉圖形的識(shí)別與結(jié)果反饋、考勤記錄的寫入。首先檢測(cè)與捕捉進(jìn)入到攝像頭中的人臉,進(jìn)行人的面部圖像的抓取;然后,對(duì)人臉圖像進(jìn)行一系列的屬性分析,獲得相應(yīng)的數(shù)據(jù);接著將獲得的人臉屬性信息與事先給定的模板圖形進(jìn)行對(duì)比,計(jì)算兩種圖像的相似程度,從而得出識(shí)別結(jié)果[3];最后,將識(shí)別結(jié)果與相應(yīng)學(xué)生的信息通過網(wǎng)絡(luò)傳輸至數(shù)據(jù)庫(kù),形成考勤記錄。
2.1 人臉檢測(cè)
人臉屬性檢測(cè)包括性別、年齡、表情、人臉角度、眼部狀態(tài)、嘴部狀態(tài)、視線檢測(cè)。攝像頭捕捉并抓取到的人臉圖形,一般都會(huì)包含背景,因此,檢測(cè)并返回人臉五官與輪廓的關(guān)鍵點(diǎn)坐標(biāo)位置是技術(shù)難點(diǎn),這些關(guān)鍵點(diǎn)包括人臉輪廓、眼睛、眉毛、嘴唇以及鼻子輪廓[4]。為了實(shí)現(xiàn)該功能,我們使用的是face++的API函數(shù),檢測(cè)圖片中的人臉,返回高精度的人臉坐標(biāo),同時(shí)支持實(shí)時(shí)特征抽取和后續(xù)的人臉比對(duì)、搜索等工作。
使用該功能可以檢測(cè)圖片內(nèi)的所有人臉,對(duì)于每個(gè)檢測(cè)出的人臉,會(huì)給出其唯一標(biāo)識(shí) face_token,可用于后續(xù)的人臉分析、人臉比對(duì)等操作。將人臉的face_token傳入Face Analyze API,可以得到相應(yīng)的人臉關(guān)鍵點(diǎn)和人臉屬性,可以通過調(diào)用Detect API得到人臉的face_token。Face Analyze API允許一次性處理5個(gè)face_token。Face++的Detect API可以檢測(cè)圖片中的人臉,對(duì)于檢測(cè)到的每張人臉,返回其人臉框坐標(biāo)以及face_token。您可以將face_token傳給其他API以進(jìn)行后續(xù)處理和分析。另外,對(duì)于最大的5個(gè)檢測(cè)出的人臉,Detect API還可以返回其人臉關(guān)鍵點(diǎn)和人臉屬性。
2.2 面部特征分析
準(zhǔn)確識(shí)別面部五官屬性,包括三庭五眼分析及面部各部位包括眉毛、眼睛、鼻子、嘴巴、下巴等屬性分類[5]。使用Face++中的Dense Facial Landmarks API函數(shù),對(duì)于傳入圖片或是從 Detect API 檢測(cè)出的人臉標(biāo)識(shí) face_token,可以檢測(cè)并標(biāo)識(shí)圖片中人臉的五官及輪廓等關(guān)鍵點(diǎn)信息,對(duì)于圖片中檢測(cè)到的最大的人臉返回其人臉框坐標(biāo)及1000點(diǎn)關(guān)鍵點(diǎn)信息。一次調(diào)用支持一張人臉的關(guān)鍵點(diǎn)分析,如果圖片中有多張人臉,只對(duì)人臉框面積最大的一個(gè)人臉進(jìn)行分析。面部的五官區(qū)域和輪廓可以用將點(diǎn)連起來的方式來獲得,可以生成一個(gè)polygonal chain,即多個(gè)點(diǎn)按順序連起來形成的線,可以是閉環(huán)的也可以不是。這條線的表達(dá)方式就是點(diǎn)的集合,通過返回的關(guān)鍵點(diǎn),可以生成對(duì)應(yīng)的曲線。
2.3 人臉對(duì)比
在成功獲取人臉圖片中的面部特征后,便可以將其與數(shù)據(jù)庫(kù)中的樣本圖片進(jìn)行對(duì)比[6],采用Face++中的Compare API計(jì)算兩張臉的相似程度,并給出相似度評(píng)分,以便分析屬于一個(gè)人的可能性。創(chuàng)建一個(gè)文本文檔來存儲(chǔ)人臉檢測(cè)時(shí)圈出的人臉圖像;然后加載需要對(duì)比的人臉圖片,使用cvLoadImage把文檔中的信息讀取到faceImgArr空間中,再利用loadTrainingData加載人臉的訓(xùn)練結(jié)果,然后cvEigenDecomposite將測(cè)試圖像投影到子空間中,最后找出測(cè)試人臉的特征值和.xml文件中的特征值較近的那一個(gè)。 在比對(duì)結(jié)果中,返回值參數(shù)confidence表示比對(duì)結(jié)果置信度,范圍 [0,100],小數(shù)點(diǎn)后3位有效數(shù)字,數(shù)字越大表示兩個(gè)人臉越可能是同一個(gè)人。如果傳入圖片但圖片中未檢測(cè)到人臉,則無法進(jìn)行比對(duì)。
3 后臺(tái)數(shù)據(jù)庫(kù)管理模塊
本系統(tǒng)的數(shù)據(jù)庫(kù)采用Sql server進(jìn)行管理,主要包含兩類內(nèi)容:學(xué)生的基本信息和考勤記錄信息,人臉樣本信息。其中,學(xué)生的基本信息和考勤信息采用傳統(tǒng)的數(shù)據(jù)表存儲(chǔ)方式,并具備對(duì)學(xué)生信息和考勤信息的存儲(chǔ)、查詢、修改、刪除等功能,兩類信息的具體內(nèi)容如表1、表2和表3所示;人臉樣本信息存儲(chǔ)的是特征值等信息,存于XML文件中,用于對(duì)比采集到的實(shí)時(shí)人臉圖片。該模塊除了要對(duì)相關(guān)數(shù)據(jù)信息進(jìn)行管理,還要為人臉采集終端和信息查詢終端提供數(shù)據(jù)支持,為其提供不同的授權(quán),以便其對(duì)數(shù)據(jù)庫(kù)進(jìn)行寫入、讀取或查詢操作。
4 信息查詢終端App
智能手機(jī)的出現(xiàn),使得很多工作都可以在手機(jī)上進(jìn)行操作,極大方便了用戶,只要有網(wǎng)絡(luò)存在的地方,就可以不受時(shí)間和地點(diǎn)的限制,提高了輔導(dǎo)員和宿舍管理者的工作效率,使其不需要再親自進(jìn)入學(xué)生宿舍檢查學(xué)生的晚間歸寢情況,只需在手機(jī)端便可對(duì)學(xué)生晚間歸寢情況了如指掌,并可及時(shí)對(duì)未歸寢的學(xué)生進(jìn)行提醒。因此,設(shè)計(jì)信息查詢終端App,該模塊采用Android進(jìn)行程序開發(fā)[7-8],主要包括用戶登錄、身份選擇、學(xué)生信息查詢和考勤信息查詢。用戶可以按多種方式對(duì)學(xué)生考勤情況進(jìn)行查詢,可以分別按年級(jí)、專業(yè)、班級(jí)、宿舍、學(xué)號(hào)、姓名進(jìn)行查詢,極大滿足了用戶的多方面需求。該模塊的功能示意圖如圖2所示。
5 總結(jié)
為了實(shí)時(shí)有效獲得高校學(xué)生晚間歸寢情況,減輕學(xué)生管理者親自去宿舍檢查的工作量,文章設(shè)計(jì)了一套基于人臉識(shí)別技術(shù)和Android技術(shù)的考勤系統(tǒng),在規(guī)定時(shí)間內(nèi),學(xué)生在自己手機(jī)端的App進(jìn)行面部識(shí)別考勤,考勤結(jié)果及時(shí)傳輸至后臺(tái)數(shù)據(jù)庫(kù),學(xué)生管理者可通過查詢終端App及時(shí)了解每位學(xué)生的歸寢情況,極大方便了師生的工作,提高了工作效率。
參考文獻(xiàn):
[1] 李書欽,馬時(shí)來,李琳,等.基于校園無線的高校課堂智能考勤方法研究[J].計(jì)算機(jī)時(shí)代,2018(12):29-31.
[2] 楊東興.基于Android手機(jī)課堂考勤管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:湖南大學(xué),2018.
[3] 李良.人臉識(shí)別系統(tǒng)在智慧校園應(yīng)用中數(shù)據(jù)對(duì)接模型設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2020,16(34):183-184,190.
[4] 王治強(qiáng),孫曉東,楊永,等.人臉識(shí)別算法在考勤系統(tǒng)的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2021,30(1):89-93.
[5] 孔國(guó)利,許繪香.基于人臉識(shí)別技術(shù)的高??记谙到y(tǒng)設(shè)計(jì)[J].河南教育學(xué)院學(xué)報(bào)(自然科學(xué)版),2020,29(3):28-32.
[6] 劉曉龍,顧梅花.課堂考勤系統(tǒng)的無感知改進(jìn)VIPLFaceNet人臉識(shí)別算法[J].西安工程大學(xué)學(xué)報(bào),2021,35(1):81-87.
[7] 張雅瓊,華正龍.基于物聯(lián)網(wǎng)與Android平臺(tái)的課堂考勤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微型電腦應(yīng)用,2019,35(4):42-44.
[8] 李登科,王聰華.基于Android操作系統(tǒng)的移動(dòng)終端App開發(fā)研究[J].電腦編程技巧與維護(hù),2020(9):69-70.
【通聯(lián)編輯:唐一東】
收稿日期:2021-07-25
基金項(xiàng)目:吉林省大學(xué)生創(chuàng)新項(xiàng)目(202010206088)
作者簡(jiǎn)介:董雷剛(1982-),男,河北省正定縣人,副教授,博士,研究方向?yàn)橹悄苄畔⑻幚?、物?lián)網(wǎng)開發(fā);崔曉微(1981-),女,講師,碩士,主要研究方向?yàn)橹悄苄畔⑻幚?趙陽(yáng)光,學(xué)士;黃晨杰,學(xué)士;李中田,學(xué)士;孫佳楠,學(xué)士。