吳美香,鄧園園,裴楓華,余松森,潘家輝
(華南師范大學 軟件學院,廣東 南海 528225)
高校課堂是學生學習知識、培養能力、提高個人綜合素質的主要場所。然而目前大學生課堂缺勤現象日益嚴重,嚴重違背了大學課堂的教學理念。現有的高校學生考勤管理存在著人工管理效率低、信息分散、實時性差、難于統計、利用率低的問題,給高校對學生的日常管理帶來困難,期末總評時考勤信息不全,而且學生的安全問題無法保障。基于上述原因,本文設計一種考勤系統來為學校考勤提供便利,本系統以人臉識別技術為基礎,采用Android Studio開發工具、OpenCV、Bmob云數據庫等技術進行開發設計。
隨著社會的不斷進步以及各方面對于快速有效的自動身份驗證的迫切要求,生物特征識別技術在近幾十年中得到了飛速的發展。作為人的一種內在屬性,并且具有很強的自身穩定性及個體差異性,生物特征成為了自動身份驗證的最理想依據。當前的生物特征識別技術主要包括有:指紋識別、視網膜識別、虹膜識別、步態識別、靜脈識別、人臉識別等。與其他識別方法相比,人臉識別由于具有直接、友好、方便的特點,使用者無任何心理障礙,易于為用戶所接受,從而得到了廣泛的研究與應用[1]。
國內關于人臉自動識別的研究始于二十世紀80年代。國內的研究工作主要是集中在三大類方法的研究:基于幾何特征的人臉正面自動識別方法、基于代數特征的人臉正面自動識別方法和基于連接機制的人臉正面自動識別方法。我國人臉識別技術起步有些晚,但隨著社會的廣泛關注與其商業利用價值越來越高,我國的科學研究人員也逐漸著手于此,目前人臉識別技術的應用市場十分廣闊[2]。
本系統主要以人臉識別在課堂考勤中的應用為主。系統的功能介紹如下:打開本系統軟件后,系統會輸出一個用戶登錄注冊頁面,使用此系統的教師需要登錄到系統中。登錄完畢,系統主要功能呈現:包括信息錄入、刷臉考勤、考勤結果、考勤統計以及賬號管理。
用戶點擊信息錄入后,創建班級和學生信息之后。上課前拍一張班級合照上傳,點擊考勤即可識別出合照中的單個人臉以及姓名。點擊考勤結果可以查看本次考勤的出席人數和缺勤人數。最后經過多次考勤可以查看考勤的統計情況。系統總功能說明圖如圖1所示。

圖1 系統總功能圖Fig.1 General function diagram of the system
系統主要分為注冊登錄、信息錄入、實時考勤、考勤統計、賬號管理五個模塊。信息錄入是錄入班級里所有學生的信息,主要是照片的采集;實時考勤是對班級里所有學生進行拍合照考勤;考勤統計是對實時考勤中得到的數據進行匯總,以供查詢。功能結構圖如圖2所示。

圖2 功能結構圖Fig.2 Functional configuration
人臉識別(Facial Recognition),就是通過視頻采集設備獲取用戶的面部圖像,再利用核心的算法對其臉部的五官位置、臉型和角度進行計算分析,通過對圖像的灰度化、二值化等預處理進而和自身數據庫里已有的范本進行比對,后判斷出用戶的真實身份,最后顯示相應的人臉身份信息。人臉識別的主要過程如圖3所示。

圖3 人臉識別總流程Fig.3 General process of face recognition
人臉識別模塊主要分為五個子模塊,如圖4所示。

圖4 人臉識別分模塊圖Fig.4 Face recognition module
(1)人臉圖像采集模塊
通過本地圖庫或者攝像機或者視頻流獲取待測試者的圖像的過程,將圖片顯示在系統界面中,提供人臉標記。
(2)人臉圖像預處理模塊
在獲取了人臉圖像后,就要進行預處理的工作,使得圖像中的人臉特征能夠更加明顯的顯現出來。整個預處理階段包含了:人臉圖像光線增強、灰度化變換、二值化處理、邊緣檢測、圖像尺寸歸一化、幾何校正等。
(3)人臉檢測與定位模塊
判斷圖像是否含有人臉的臉部特征存在,若存在則確定給出人臉所在的位置以及范圍,以便隨后的特征提取與識別,而不是整張圖像,這樣可以大幅度減少計算量和等待的時間。
(4)人臉圖像特征提取模塊
用統計特征如二階矩、高階矩,建立人臉空間中的一個新的坐標系。人臉圖像在這個坐標系下的投影即為該圖像的特征。對于一張待識別的人臉圖像,求出該圖像在這個坐標系中的坐標也就是求出了這個圖像的特征。
(5)人臉圖像匹配與識別模塊
把從人臉圖片中提取的一系列面部特征值進行運算,該坐標系下的坐標相比較,再到特征數據庫中進行匹配,然后找到最相似的圖像,最后把該圖像相對應的人物信息顯示出來。
人臉識別技術就是利用計算機分析人臉圖像,檢測圖像的頻域空間滑動檢測圖像塊,判別是否是人臉區域,提取有效的特征信息,用來識別人身份的一種技術[4]。人臉識別法主要集中在二維圖像方面,二維人臉識別主要利用分布在人臉上從低到高80 個節點或標點,通過測量眼睛、顴骨、嘴巴、下巴等之間的間距來進行身份認證[5]。Principle Component Analysis( PCA),即主成分分析技術[6],是一種常用的數據分析方法。PCA通過線性變換將原始數據變換為一組各維度線性無關的表示,可用于提取數據的主要特征分量,常用于高維數據的降維。
PCA算法步驟如下:
設有m條n維數據。
將原始人臉數據按列組成n行m列矩陣X[n, m]。
(1)將X的每一行(代表一個屬性字段)進行零均值化,即減去這一行的均值,使每一維的均值為0。即:

(2)求出協方差:數學上可以用兩個字段的協方差表示其相關性,由于已經讓每個字段均值為0,則:

(3)協方差矩陣:

其中,這個矩陣對角線上的兩個元素分別是兩個字段的方差,而其它元素是兩個字段的協方差。兩者被統一到了一個矩陣上;
(4)求出協方差矩陣的特征值及對應的特征向量;
(5)將特征向量按對應特征值大小從上到下按行排列成矩陣,取前k行組成矩陣P;
(6)Y=PXY=PX即為降維到k維后的數據。
通過主成分分析,降低數據空間維數,可以將多元數據特征在低維空間里直觀地表示出來[7]。
實驗所用的測試機為 Android手機華為榮耀手機,型號是Che-YLOOM,處理器為八核1.2 GHz,Android版本是4.4.2,手機系統版本號是EMUI系統3.0,本次實驗進行了三次,第一次測試了12人,第二次測試了25人,第三次測試了35人,實驗準確率在75%以上。實驗步驟如下:
(1)注冊登錄模塊測試:注冊了兩個教師賬戶,然后根據toast返回的信息進行數據庫查詢,測試是否注冊成功。注冊成功后,我們利用已經注冊過的賬戶進行登錄功能的測試;
(2)信息錄入模塊測試:測試時創建一個班級,通過本地錄入該班12個學生照片以及個人信息,并顯示在班級列表中;
(3)實時考勤系統模塊測試:在該班級上課前,拍攝該班到場學生的合照,上傳到該系統中進行人臉識別,得到缺席人數為3人及缺席名單,合照里的學生只有9名為該班的學生,實時考勤過程見圖5,考勤結果見圖6;
(4)重復以上步驟,測試25以及35個人的班級,考勤時并從不同的角度拍攝合照。

圖5 實時考勤結果Fig.5 Real-time attendance results
(1)在進行不同的角度拍攝合照時,有些學生的臉被遮擋住了,只出現四分之三左右,導致系統檢測不出人臉,無法進行人臉識別。解決方法:在信息錄入模塊,每名學生可以增加錄入的照片數,正臉、側臉不同方位的照片都可以錄入進去,用多張照片去訓練分類器。
(2)拍攝的考勤照片亮度太低導致人臉識別率低。解決方法:上傳照片后先對照片進行亮度檢測,設定一個亮度值,如果亮度低于這個值,則要對照片進行亮度處理,再進行人臉識別。

圖6 考勤結果Fig.6 Attendance results
本系統基于成熟的人臉識別算法原理進行分析設計,預期借助手機快速完成考勤,解決了課堂考勤難題。經過反復的實驗與調試,本系統實現了75%以上的準確率,成功完成移動課堂考勤功能,充分驗證了系統總體設計的可行性。針對實際場景的多變性,系統具備了相應的處理機制和保障措施。總的來說,本文對人臉識別邁向實用化及考勤方式創新做出了有意義的探索和嘗試。
[1] 宋嘉程. 人臉識別技術的現狀和發展[J]. 電子技術與軟件工程, 2017, (17): 104.
[2] 吳天昊, 趙健麟, 周劍秋. 基于人臉識別的學生考勤系統[J]. 機電產品開發與創新, 2016, 29(06): 44-46.
[3] Jing Jin, Bin Xu, Xiaoliang Liu, Yuanqing Wang, Liqun Cao,Lei Han, Biye Zhou, Minggao Li. A face detection and location method based on Feature Binding[J]. Signal Processing, 2015,(35): 10-11.
[4] 劉吉安, 江金滾. 基于區域改進LBP和KNN的人臉識別[J].電腦知識與技術, 2016, 12(13): 184-185.
[5] 劉琴. 基于二維圖像表示的人臉識別算法研究[J]. 無線互聯科技, 2016, (23): 111-112.
[6] 梁瓊, 熊建斌, 梁澤溥, 張清華, 孫國璽, 彭志平. 基于PCA人臉識別的智能防盜報警系統的設計與實現[J]. 廣東石油化工學院學報, 2014, 24(06): 26-30.
[7] 佟嘉岐, 賀青, 遲宗濤. 基于PCA人臉識別方法的考勤系統的設計[J]. 山東工業技術, 2017, (13): 151-152.
[8] 李宜蓉. 基于OPENCV的計算機視覺技術研究[J]. 電子世界, 2014, (18): 141-142.