江泓政,湯 軍,黃 建,向 鐸,楊 玥,王志鋮
(長江大學 地球科學學院,湖北 武漢 430100)
?
基于人臉識別的課堂點名系統(tǒng)*
江泓政,湯軍,黃建,向鐸,楊玥,王志鋮
(長江大學 地球科學學院,湖北 武漢 430100)
摘要:傳統(tǒng)的課堂點名方法效率低下,浪費大量時間。提出基于人臉識別的課堂點名系統(tǒng),大大提高了課堂點名的效率。本系統(tǒng)提供圖像和攝像識別點名,可一次識別多個人臉,同時該系統(tǒng)也對系統(tǒng)難以識別的學生提供手動簽到。系統(tǒng)運用OpenCV人臉識別開源庫做算法部分,用Qt、C++實現(xiàn)界面交互。
關(guān)鍵詞:人臉識別;OpenCV;點名系統(tǒng)
引用格式:江泓政,湯軍,黃建,等. 基于人臉識別的課堂點名系統(tǒng)[J].微型機與應用,2016,35(12):13-15.
0引言
人臉識別技術(shù)是利用計算機基于人的臉部特征進行人臉圖像分析,并從中提取出所蘊涵的有效身份特征信息用以識別人的身份的技術(shù)[1]。本系統(tǒng)結(jié)合校園的需求,將人臉識別運用于課堂點名中。
1系統(tǒng)設計背景
在高校的教學和學生工作管理過程中,課堂點名是一項重要的內(nèi)容。而傳統(tǒng)的點名方式效率太低,教師工作量大,花費時間多,并且傳統(tǒng)點名記錄的數(shù)據(jù)不易利用。隨著科技的進步,人臉識別走進了日常生活中,學校開始出現(xiàn)人臉考勤機,但考勤機點名依舊是單個識別,效率依舊不高。本系統(tǒng)運用人臉識別技術(shù),開發(fā)可一次識別多人臉的課堂點名系統(tǒng),大大提高了點名的效率。
2系統(tǒng)設計中的關(guān)鍵技術(shù)
2.1基于AdaBoost的人臉檢測
AdaBoost算法是通過訓練大量圖像得到弱分類器,將這些弱分類器根據(jù)一定的原則組合起來,形成強分類器,再將多個強分類器進行級聯(lián),形成一個多層分類器,如果圖像中的某個區(qū)域能夠通過這個多層分類器,就判定這個區(qū)域是人臉[2]。在2001年,VIOLA和JONES M J對AdaBoost進一步修改,運用積分圖減小計算量,快速計算出Haar-like特征數(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)獲得其正交基底。由于對應較大特征值的基底具有與人臉相似的形狀,故稱之為特征臉“EigenFace”[4]。本系統(tǒng)能實時檢測人臉并對比識別,考慮到性能,選用EigenFace方法作為識別算法。EigenFace的人臉識別包括兩個部分:訓練部分和識別部分。訓練部分就是把人臉圖像的特征提取出來存放到訓練的樣本文件中。在對人臉進行識別時,首先對輸入的待檢測人臉進行特征分析,然后與樣本中的人臉進行匹配。如果得到的相似度大于某個預設閾值,則認為該人臉與樣本中人臉匹配,確定為“合法”用戶;反之,如果得到的相似度小于該閾值,則認為該人臉為“非法”用戶[5]。人臉識別流程圖如圖1所示。
圖1 人臉識別流程圖
3系統(tǒng)需求分析與設計
3.1系統(tǒng)的需求分析
對點名系統(tǒng)的業(yè)務流程進行分析,并且調(diào)研課堂老師的意見,規(guī)劃出了系統(tǒng)的功能需求。該系統(tǒng)主要分為兩大功能模塊,一是圖像處理算法模塊,二是點名系統(tǒng)管理模塊。其中圖像處理算法模塊包括了人臉預處理、人臉檢測、人臉識別、人臉采集模塊;點名系統(tǒng)管理模塊包括信息錄入、信息查詢、信息管理模塊。
3.2系統(tǒng)設計
系統(tǒng)設計包括了系統(tǒng)框架設計、主要功能模塊設計和數(shù)據(jù)庫設計。
3.3系統(tǒng)框架設計
圖像處理算法模塊用于學生的人臉采集,將采集后的人臉進行預處理,并將處理后的人臉進行訓練得到樣本文件,其中記錄了學生的人臉特征,在識別時系統(tǒng)載入樣本文件對學生進行人臉識別。點名系統(tǒng)管理模塊主要負責人員的信息、點名信息的查詢和管理。系統(tǒng)框架圖如圖2所示。
3.4主要功能模塊設計
3.4.1人臉采集模塊
人臉采集模塊用于樣本文件和人臉識別過程中人臉的提取,在檢測出人臉區(qū)域后將區(qū)域中的人臉經(jīng)過人臉預處理后保存為圖片,供訓練時使用。此模塊設計了兩種采集模式:一是圖像人臉采集,在學生的照片中提取人臉;二是攝像人臉采集,學生在攝像頭前,由算法提取視頻幀中人臉。采取這兩種方法為人臉采集提供了方便,學生可將自己拍的照片提供給管理員進行人臉采集。采集后的人臉會保存在以學號命名的文件夾中。部分人臉采集圖如圖3所示。
圖3 人臉采集圖
3.4.2人臉識別模塊
人臉識別時程序先載入訓練好的樣本文件,將人臉與訓練文件匹配,當置信度大于一定閾值時返回與人臉匹配的學號。人臉識別模塊同樣也設計了兩種模式,一是圖像人臉識別,二是攝像人臉識別。這樣設計的目的是為識別提供多樣化。在算法上本系統(tǒng)采用了OpenCV中的局部二值模式(Local Binary Patterns,LBP)算法[6]。
3.4.3點名模塊
在點名過程中一般方法是將識別過程中返回的學號與數(shù)據(jù)庫進行匹配,獲得學生數(shù)據(jù)。但此方法效率較低,在識別過程中需要頻繁地訪問數(shù)據(jù)庫,降低了點名的速度。本系統(tǒng)運用哈希表,在點名時預先將學生的學號和姓名載入哈希表中,在識別過程中只需訪問哈希表,大大提高了點名的效率和速度。
3.5數(shù)據(jù)庫設計
數(shù)據(jù)庫設計的主要表有管理員表、學生信息表、課程信息表、學生選課表、任課教師信息表、班級考勤表、學生考勤表、學生缺勤記錄表。E-R模型圖如圖4所示。
圖4 數(shù)據(jù)庫E-R模型圖
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所示。
圖5 系統(tǒng)界面圖
4.3點名模塊
當人臉識別完成后,會顯示簽到的學生和未簽到的學生,供教師確認,發(fā)現(xiàn)未識別的學生可點擊刪除按鈕,學生會自動從未簽到加入簽到列表,再確認課程班級無誤后,點擊提交便完成點名。點名界面圖如圖6所示。
圖6 攝像點名界面
5結(jié)論
基于人臉識別的課堂點名系統(tǒng)運用OpenCV和Qt、C++編程技術(shù)實現(xiàn),界面友好,操作簡單,點名快捷,大大提高了課堂點名的效率,也使得人臉識別技術(shù)有了更加廣泛的應用,對推動學校和新技術(shù)的發(fā)展有積極的意義。
參考文獻
[1] 文成玉,金欣,董良,等.基于人臉識別的應用程序登錄助手設計鄢[J].微型機與應用,2014,33(12):96-99.
[2] 王竹君. 基于人臉檢測的移動點名系統(tǒng)研究與實現(xiàn)[D].昆明:云南大學,2014.
[3] VIOLA P, JONES M J. Robust real-time face detection[J]. International Journal of Computer Vision,2004,57(2):137-154.
[4] 齊禮成. 基于人臉識別考勤系統(tǒng)的設計與實現(xiàn)[D].西安:西安電子科技大學,2012.
[5] 何榮. 基于OpenCV的人臉識別系統(tǒng)設計[D].廣州:華南理工大學,2013.
[6] 張慧娟. 基于人臉識別的考勤系統(tǒng)的設計與實現(xiàn)[D].武漢:華中科技大學,2011.
*基金項目:長江大學2015年大學生創(chuàng)新性實驗計劃項目(20150016)
中圖分類號:TP39
文獻標識碼:A
DOI:10.19358/j.issn.1674- 7720.2016.12.005
(收稿日期:2016-02-18)
作者簡介:
江泓政(1995-),男,學士,主要研究方向:圖像處理、人工智能。
湯軍(1965-),通信作者,男,博士,教授,主要研究方向:GIS應用、油氣資源評價。E-mail:374216030@qq.com。
黃建(1995-),男,學士,主要研究方向:圖像處理。
Roll call system based on face recognition
Jiang Hongzheng,Tang Jun,Huang Jian,Xiang Duo,Yang Yue,Wang Zhicheng
(School of Geosciences, Yangtze University , Wuhan 430100, China)
Abstract:The traditional method of calling the role is inefficient,wasting a lot of time. This paper puts forward a design of roll call system based on face recognition,which greatly improves the efficiency of required attendance. The system realizes the image and video recognition,and it can recognition multiple faces at one time. Meanwhile, the system also provides manual operation to identify students. OpenCV, the open-sourcing libraries of face recognition, is used to realize the part of algorithm and Qt,C++ is used to realize the interface.
Key words:face recognition; OpenCV; roll call system