江泓政,湯軍,黃建,向鐸,楊玥,王志鋮
?。ㄩL江大學 地球科學學院,湖北 武漢 430100)
摘要:傳統(tǒng)的課堂點名方法效率低下,浪費大量時間。提出基于人臉識別的課堂點名系統(tǒng),大大提高了課堂點名的效率。本系統(tǒng)提供圖像和攝像識別點名,可一次識別多個人臉,同時該系統(tǒng)也對系統(tǒng)難以識別的學生提供手動簽到。系統(tǒng)運用OpenCV人臉識別開源庫做算法部分,用Qt、C++實現(xiàn)界面交互。
關(guān)鍵詞:人臉識別;OpenCV;點名系統(tǒng)
0引言
人臉識別技術(shù)是利用計算機基于人的臉部特征進行人臉圖像分析,并從中提取出所蘊涵的有效身份特征信息用以識別人的身份的技術(shù)[1]。本系統(tǒng)結(jié)合校園的需求,將人臉識別運用于課堂點名中。
1系統(tǒng)設(shè)計背景
在高校的教學和學生工作管理過程中,課堂點名是一項重要的內(nèi)容。而傳統(tǒng)的點名方式效率太低,教師工作量大,花費時間多,并且傳統(tǒng)點名記錄的數(shù)據(jù)不易利用。隨著科技的進步,人臉識別走進了日常生活中,學校開始出現(xiàn)人臉考勤機,但考勤機點名依舊是單個識別,效率依舊不高。本系統(tǒng)運用人臉識別技術(shù),開發(fā)可一次識別多人臉的課堂點名系統(tǒng),大大提高了點名的效率。
2系統(tǒng)設(shè)計中的關(guān)鍵技術(shù)
2.1基于AdaBoost的人臉檢測
AdaBoost算法是通過訓練大量圖像得到弱分類器,將這些弱分類器根據(jù)一定的原則組合起來,形成強分類器,再將多個強分類器進行級聯(lián),形成一個多層分類器,如果圖像中的某個區(qū)域能夠通過這個多層分類器,就判定這個區(qū)域是人臉[2]。在2001年,VIOLA和JONES M J對AdaBoost進一步修改,運用積分圖減小計算量,快速計算出Haarlike特征數(shù)值[3]。VIOLA P的算法在人臉檢測中取得了突破性的進展,被廣泛運用于人臉識別中。本系統(tǒng)采用VIOLA P的算法實現(xiàn)人臉檢測部分。
2.2基于EigenFace的人臉識別
EigenFace(特征臉)方法是基于主成分分析(Principal Component Analysis,PAC)的一種人臉識別技術(shù),該方法識別率高,識別速度快。特征臉方法將包含人臉的圖像區(qū)域看作一種隨機向量,采用K-L變換(Karhunen Loeve expansion)獲得其正交基底。由于對應(yīng)較大特征值的基底具有與人臉相似的形狀,故稱之為特征臉“EigenFace”[4]。本系統(tǒng)能實時檢測人臉并對比識別,考慮到性能,選用EigenFace方法作為識別算法。EigenFace的人臉識別包括兩個部分:訓練部分和識別部分。訓練部分就是把人臉圖像的特征提取出來存放到訓練的樣本文件中。在對人臉進行識別時,首先對輸入的待檢測人臉進行特征分析,然后與樣本中的人臉進行匹配。如果得到的相似度大于某個預(yù)設(shè)閾值,則認為該人臉與樣本中人臉匹配,確定為“合法”用戶;反之,如果得到的相似度小于該閾值,則認為該人臉為“非法”用戶[5]。人臉識別流程圖如圖1所示。
3系統(tǒng)需求分析與設(shè)計
3.1系統(tǒng)的需求分析
對點名系統(tǒng)的業(yè)務(wù)流程進行分析,并且調(diào)研課堂老師的意見,規(guī)劃出了系統(tǒng)的功能需求。該系統(tǒng)主要分為兩大功能模塊,一是圖像處理算法模塊,二是點名系統(tǒng)管理模塊。其中圖像處理算法模塊包括了人臉預(yù)處理、人臉檢測、人臉識別、人臉采集模塊;點名系統(tǒng)管理模塊包括信息錄入、信息查詢、信息管理模塊。
3.2系統(tǒng)設(shè)計
系統(tǒng)設(shè)計包括了系統(tǒng)框架設(shè)計、主要功能模塊設(shè)計和數(shù)據(jù)庫設(shè)計。
3.3系統(tǒng)框架設(shè)計
圖像處理算法模塊用于學生的人臉采集,將采集后的人臉進行預(yù)處理,并將處理后的人臉進行訓練得到樣本文件,其中記錄了學生的人臉特征,在識別時系統(tǒng)載入樣本文件對學生進行人臉識別。點名系統(tǒng)管理模塊主要負責人員的信息、點名信息的查詢和管理。系統(tǒng)框架圖如圖2所示。
3.4主要功能模塊設(shè)計
3.4.1人臉采集模塊
人臉采集模塊用于樣本文件和人臉識別過程中人臉的提取,在檢測出人臉區(qū)域后將區(qū)域中的人臉經(jīng)過人臉預(yù)處理后保存為圖片,供訓練時使用。此模塊設(shè)計了兩種采集模式:一是圖像人臉采集,在學生的照片中提取人臉;二是攝像人臉采集,學生在攝像頭前,由算法提取視頻幀中人臉。采取這兩種方法為人臉采集提供了方便,學生可將自己拍的照片提供給管理員進行人臉采集。采集后的人臉會保存在以學號命名的文件夾中。部分人臉采集圖如圖3所示。
3.4.2人臉識別模塊
人臉識別時程序先載入訓練好的樣本文件,將人臉與訓練文件匹配,當置信度大于一定閾值時返回與人臉匹配的學號。人臉識別模塊同樣也設(shè)計了兩種模式,一是圖像人臉識別,二是攝像人臉識別。這樣設(shè)計的目的是為識別提供多樣化。在算法上本系統(tǒng)采用了OpenCV中的局部二值模式(Local Binary Patterns,LBP)算法[6]。
3.4.3點名模塊
在點名過程中一般方法是將識別過程中返回的學號與數(shù)據(jù)庫進行匹配,獲得學生數(shù)據(jù)。但此方法效率較低,在識別過程中需要頻繁地訪問數(shù)據(jù)庫,降低了點名的速度。本系統(tǒng)運用哈希表,在點名時預(yù)先將學生的學號和姓名載入哈希表中,在識別過程中只需訪問哈希表,大大提高了點名的效率和速度。
3.5數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計的主要表有管理員表、學生信息表、課程信息表、學生選課表、任課教師信息表、班級考勤表、學生考勤表、學生缺勤記錄表。E-R模型圖如圖4所示?! ?/p>
4系統(tǒng)實現(xiàn)
4.1系統(tǒng)運行和開發(fā)環(huán)境
系統(tǒng)采用Qt5.5為開發(fā)平臺,數(shù)據(jù)庫采用了MySQL5.5,在人臉識別模塊調(diào)用了OpenCV函數(shù)庫,系統(tǒng)開發(fā)環(huán)境為Windows 7 64位操作系統(tǒng)。
4.2系統(tǒng)界面
系統(tǒng)包括了人臉檢測、人臉點名、人數(shù)統(tǒng)計、人臉采集、信息查詢等功能。系統(tǒng)界面如圖5所示?!?/p>
4.3點名模塊
當人臉識別完成后,會顯示簽到的學生和未簽到的學生,供教師確認,發(fā)現(xiàn)未識別的學生可點擊刪除按鈕,學生會自動從未簽到加入簽到列表,再確認課程班級無誤后,點擊提交便完成點名。點名界面圖如圖6所示。
5結(jié)論
基于人臉識別的課堂點名系統(tǒng)運用OpenCV和Qt、C++編程技術(shù)實現(xiàn),界面友好,操作簡單,點名快捷,大大提高了課堂點名的效率,也使得人臉識別技術(shù)有了更加廣泛的應(yīng)用,對推動學校和新技術(shù)的發(fā)展有積極的意義。
參考文獻
[1] 文成玉,金欣,董良,等.基于人臉識別的應(yīng)用程序登錄助手設(shè)計鄢[J].微型機與應(yīng)用,2014,33(12):9699.
?。?] 王竹君. 基于人臉檢測的移動點名系統(tǒng)研究與實現(xiàn)[D].昆明:云南大學,2014.
?。?] VIOLA P, JONES M J. Robust realtime face detection[J]. International Journal of Computer Vision,2004,57(2):137154.
[4] 齊禮成. 基于人臉識別考勤系統(tǒng)的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學,2012.
?。?] 何榮. 基于OpenCV的人臉識別系統(tǒng)設(shè)計[D].廣州:華南理工大學,2013.
?。?] 張慧娟. 基于人臉識別的考勤系統(tǒng)的設(shè)計與實現(xiàn)[D].武漢:華中科技大學,2011.