陳鴻飛,嚴忱君,俞寶福
1.紹興市柯橋區柯橋中學,浙江紹興 312065 2.浙江大學儀器系,浙江杭州 310027 3.紹興市為信電子科技有限公司,浙江紹興 312066
基于人臉識別的中學課堂考勤系統的設計
陳鴻飛1,嚴忱君2,俞寶福3
1.紹興市柯橋區柯橋中學,浙江紹興 312065 2.浙江大學儀器系,浙江杭州 310027 3.紹興市為信電子科技有限公司,浙江紹興 312066
課堂考勤是教學過程中的一個重要環節,傳統的人工統計方法會造成教學時間的大量浪費。本設計提出了一個基于人臉識別的課堂考勤系統,大大節省了考勤占用的時間。首先,建立一個圖像數據庫,其中包含所有已選課學生的人臉圖像,用基于特征臉的機器學習算法訓練出一個人臉識別系統。接著,用攝像頭依次采集學生的人臉圖像,與數據庫進行匹配,即可識別學生身份并完成簽到。所有學生完成簽到后,系統可以統計出勤率、缺課學生名單等。同時,可以對系統難以識別的學生進行手動簽到。該系統對于中學“走班制”教學具有很好的推廣應用價值。
人臉識別;特征臉;課堂考勤系統
自《浙江省高考改革方案》出臺以來,不少高中已陸續推出方案應對新政,其中一項重要的舉措是實行“走班制”。這就意味著,中學生可以像大學生一樣,依據自己的興趣、特長進行自主選課;學生不再是在固定的教室上課,而是流動的。在“走讀班”給廣大中學生帶動了興趣化學習優秀的同時,也不可避免地出了一些新的情況。上課學生的流動性以及學生座位的不確定性,會給課堂考勤帶來很大麻煩,若用傳統點名的方式會浪費大量寶貴的上課時間。
因此,本論文針對這一問題,提出了基于人臉識別的中學課堂考勤系統的設計方案。學生只需在臨上課前“刷個臉”就能完成簽到。這樣不僅極大地節省了課堂時間,還能保證考勤的準確率,防止作弊。
人臉識別是對已知人臉進行匹配,即“對號入座”的過程,它與人臉檢測是不同的概念。人臉檢測只能確定圖像中是否存在人臉,而人臉識別能夠知道這個人是誰。目前,有許多技術能讓計算機學會識別人臉,一般來說,一個人臉識別系統通常包括以下四個步驟。
2.1 人臉檢測
在2000年以前,人臉檢測技術并不發達,那時已有的技術要么運行緩慢,要么可靠性低,都無法推廣使用。直到2001年,Viola和Jones[1]采用基于Haar的級聯分類器來檢測人臉,使這些問題得到了極大改善,它終于讓實時人臉檢測和人臉識別成為了可能。
本文將采用基于Haar分類器的人臉檢測技術。Haar分類器的要點如下:1)使用Haar-like特征作為特征描述子。2)使用AdaBoost算法訓練區分人臉和非人臉的強分類器。3)將強分類器級聯到一起,提高檢測準確率。4)使用積分圖對Haar-like特征求值進行加速。用Haar-like特征進行人臉檢測的原理是對于臉部正面的大部分區域而言,存在較為固定的明暗變化,如眼睛所在區域應該比前額和臉頰更暗,嘴巴應比臉頰更暗等等。Haar-like特征是帶有黑白條紋的矩形,將它放到人臉和非人臉區域可以得到不同的特征值。得到特征值之后,需要使用分類算法來區分人臉和非人臉,本文采用AdaBoost算法訓練出多個最優弱分類器,并將它們組合為強分類器。然而在實際應用中,單個強分類器還是難以保證檢測的正確率,因此這里采用級聯的方法,將多個強分類器級聯到一起,進一步提高檢測準確率。最后,要想實現人臉的實時檢測,需要用到積分圖。對于每個圖片樣本,我們都面臨如何計算特征值的問題,即一個Haar-like特征在一個窗口中怎樣排列能夠更好地體現人臉的特征,這是未知的,需要訓練。在訓練之前我們要通過排列組合窮舉所有這樣的特征,計算量十分巨大。而積分圖就是只遍歷一次圖像就能夠求出圖像中所有區域像素和的快速算法,極大提高了圖像特征值的計算效率。
人臉檢測適用于灰度圖像,因此要把攝像頭采集到的彩色圖像轉為灰度圖。其次,在光線不足的情況下,人臉檢測器并不可靠,所以要用直方圖均衡化來改善圖像的亮度和對比度。另外,要把采集到的人臉圖像縮放到統一的尺寸進行處理。完成以上工作后,可以開始真正的人臉預處理。
2.2 人臉預處理
除了光照條件外,人臉識別還極易受面部表情、臉部方向、攝像頭遠近等因素的影響,若不消除這些干擾,很可能導致人臉識別不準確,例如將兩個不同的人識別為同一個人。為了之后能使用學習算法來學習不同的人臉圖像,需要把不同人臉圖像的尺寸、布局、亮度、對比度等調整到相同。
要解決以上問題,一個最簡單的方法是采用直方圖均衡,這與人臉檢測時做的一樣。在通常情況下,我們始終可以假定人眼是水平的,對稱分布在人臉上,兩只眼睛的大小是相當的。我們可以使用眼部檢測器搜索到雙眼位置。接著,可根據使兩個眼睛保持水平來旋轉圖像;使眼睛位于所需高度來平移圖像;使兩個眼睛間的距離相同來縮放圖像。另外,因為人臉識別受發型、服飾及配飾等影響較大,因此需要裁剪圖像。也就是說,裁剪掉頭發、額頭、耳朵和下巴等部位,僅保留眉、眼、鼻子和嘴巴用于識別。人臉預處理,簡單來說就是要將外界干擾消除,使系統能真正將不同人臉之間的本質區別用于比較。
2.3 收集和學習人臉
收集人臉是一個比較簡單的過程:用攝像頭采集到人臉圖像并經過預處理后,放入相應的數組中,同時將類標簽放入類標簽數組中,這里類標簽就是對應的人名。人臉識別算法能對不同的人臉進行分類,首先是訓練階段,完成訓練后,將學習結果保存到文件中,可調用它來識別人臉,這是測試階段。為了使測試結果更理想,訓練集應包含人臉變化的各種情形。
樣本采集完成后,要使用合適的用于人臉識別的機器學習算法來訓練一個人臉識別系統。由于特征臉較為簡單,且性能與許多更復雜的算法差不多,因此這里采用特征臉方法。其原理是計算一組指定的圖像(特征臉)和混合比例(特征值),這兩者可按不同的組合方式得到訓練集中的每幅圖像。因此,可用不同特征值來區分不同人臉。特征臉方法采用主成分分析進行降維和特征提取,采用區別最大的特征來區分人臉。
2.4 人臉識別
經過以上的工作,可以輕松地使用OpenCv提供的FaceRecognizer類來識別人臉。同時,為了判斷得到結果的可靠度,可以引入置信度,即結果的可信程度。當置信度過低時,可將人臉識別為陌生人。
基于人臉識別的課堂考勤系統的軟件流程及界面設計如下:點擊界面上的開始點名按鈕,攝像頭將自動打開并開始搜索人臉,當檢測到人臉圖像時將自動識別出對應的學生完成簽到并顯示該學生的基本信息以供核對。學生可依次進入攝像頭區域完成簽到,無需手動操作。當所有學生完成簽到后,老師可查看未到學生名單,其證件照將顯示在界面底部,呈滑動效果。此時,如果有學生是因表情、膚色變化等原因無法被系統識別,可以在老師的幫助下通過手動簽到按鈕進行簽到。這樣設計可以防止因系統無法識別而使學生無法簽到,更加人性化和科學化。
借助基于人臉識別的課堂考勤系統,可以在上課前快速完成課堂考勤工作,極大地節約了課堂時間,可以讓老師、同學都更好地投入課堂學習,提高了課堂效率,也為后期學生選課的科學化管理與統計提供了最基礎的原始數據,為后期的“走讀化”制度進一步改革與提升提供了技術保障。因此,基于人臉識別的中學課堂考勤系統具有很強的實用性。同時,目前的人臉識別算法較為發達,技術比較成熟,可以使得該系統具有較高的可靠性。基于以上兩點,基于人臉識別的課堂考勤系統將會有廣闊的發展空間。
[1]Viola P,Jones M,Rapid Object Detection using a Boosted Cascade of Simple Features[J].Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2001(1):511-518.
[2]Kshirsagar V P,Baviskar M R,Gaikwad M E,Face Recognition Using Eigenfaces,2011 3rd International Conference on Computer Research and Development,2011(4):302-306.
[3]Ahonen T,Hadid,Face Description with Local Binary Patterns:Application to Face Recognition,IEEE Transactions on Pattern Analysis and Machine Intelligence,2006,27(12):2037-2041.
TP2
A
1674-6708(2015)144-0091-02