本帖最后由 賈延安 于 2009-9-22 12:13 編輯 趙雪竹 王秀 朱學(xué)峰 華南理工大學(xué)自動(dòng)化科學(xué)與工程學(xué)院 2009-09-08 來(lái)源:電子產(chǎn)品世界 引言 眨眼是一種睜閉眼睛的生理活動(dòng),眨眼的速度會(huì)受疲勞程度、情感壓力、行為種類、睡覺(jué)數(shù)量、眼睛受傷程度、疾病等因素影響[1~2]。眨眼識(shí)別是駕駛員疲勞檢測(cè)的基礎(chǔ),本文采用 Adaboost算法[3][4][5]訓(xùn)練和檢測(cè)眼睛睜閉狀態(tài),把睜眼和閉眼圖片分類出來(lái)。 Adaboost算法 Adaboost是一種自適應(yīng) boosting算法,它的原理就是將一些簡(jiǎn)單的弱分類器 (矩形特征 )通過(guò)特定的訓(xùn)練需求 (一般為檢測(cè)率和誤檢率的要求)組合成為一個(gè)強(qiáng)分類器,在訓(xùn)練和檢測(cè)時(shí)每一個(gè)強(qiáng)分類器對(duì)待檢測(cè)的矩形特征進(jìn)行判決,將這些強(qiáng)分類器級(jí)聯(lián)起來(lái)就可以生成一個(gè)準(zhǔn)確的、快速的分類器。它的特點(diǎn)就是檢測(cè)速度快,因?yàn)槊恳粋(gè)強(qiáng)分類器都可以否決待檢測(cè)的矩形特征,所以前面的強(qiáng)分類器就可以把大部分錯(cuò)誤的特征給排除掉。 下面介紹Adaboost算法對(duì)強(qiáng)分類器的訓(xùn)練。本文正樣本為包含各種姿態(tài)人眼的圖片(睜眼、閉眼、帶眼鏡),負(fù)樣本為不包含眼睛的任意圖片。設(shè)輸入的n個(gè)訓(xùn)練樣本為:{(x1,y1),(x2,y2),......(xn,yn)},其中xi是輸入的訓(xùn)練樣本,yi∈{0,1}分別表示正樣本和負(fù)樣本,其中正樣本數(shù)為 l,負(fù)樣本數(shù)m。n=l+m,具體步驟如下: (1) 初始化每個(gè)樣本的權(quán)重w1,i∈D(i); (2)對(duì)每個(gè)t=1,..., T(T為弱分類器的個(gè)數(shù)) ①把權(quán)重歸一化為一個(gè)概率分布 ![]() ②對(duì)每個(gè)特征f,訓(xùn)練一個(gè)弱分類器hj計(jì)算對(duì)應(yīng)所有特征的弱分類器的加權(quán)錯(cuò)誤率 ![]() ③選取最佳的弱分類器ht(擁有最小錯(cuò)誤率):et ④按照這個(gè)最佳弱分類器,調(diào)整權(quán)重 ![]() 其中ei=0表示被正確地分類,ei=1 表示被錯(cuò)誤地分類 ![]() (3)最后的強(qiáng)分類器為: ![]() 基于Adaboost算法的眨眼識(shí)別 要保證視頻流中圖像處理的實(shí)時(shí)性就必須采用特定的算法。Adaboost算法由于它特殊的算法模式,可以進(jìn)行快速的目標(biāo)檢測(cè),因此我們的人眼狀態(tài)檢測(cè)的定位,系統(tǒng)就選擇了 Adaboost算法。基于Adaboost的眨眼識(shí)別系統(tǒng)主要包含兩個(gè)模塊:訓(xùn)練和檢測(cè)。其中訓(xùn)練過(guò)程起著決定性的作用。 訓(xùn)練 樣本的選擇至關(guān)重要,包括兩個(gè)方面,首先是樣本源,本文采用BioID-EyeDatabase和AR人臉庫(kù)(來(lái)源于網(wǎng)絡(luò))[6],樣本庫(kù)提供了人臉圖片和人眼坐標(biāo),根據(jù)人眼坐標(biāo)用Matlab編程來(lái)提取人眼。正樣本從截取出的人眼圖片中選取閉眼圖片,負(fù)樣本為剩下的睜眼圖片。樣本的訓(xùn)練過(guò)程就是按第2部分算法所闡述的方法選擇弱分類器, 形成強(qiáng)分類器, 再由強(qiáng)分類器級(jí)聯(lián)成為一個(gè)有效的分類器。在訓(xùn)練時(shí)給出檢測(cè)率和誤檢率的要求,如檢測(cè)率為0.99,誤檢率為0.3,若一共有n個(gè)強(qiáng)分類器,則最終的檢測(cè)率為0.99n,最終的誤檢率為0.3n。 檢測(cè) 檢測(cè)就是根據(jù)訓(xùn)練所得到的分類器特征一般存儲(chǔ)為.xml文件對(duì)輸入圖片進(jìn)行檢測(cè)。分類器是一個(gè)有若干個(gè)強(qiáng)分類器組成的級(jí)聯(lián)分類器,檢測(cè)結(jié)果是一系列的目標(biāo)矩形,也就是圖像中目標(biāo)所在的位置。 實(shí)驗(yàn)結(jié)果分析 本文采用三種不同的負(fù)樣本選擇方法,進(jìn)行了三次對(duì)比實(shí)驗(yàn)。 實(shí)驗(yàn)一:正樣本582張閉眼圖片,歸一化為24×24,負(fù)樣本1285張睜眼圖片,正負(fù)樣本如圖1、圖2所示,實(shí)驗(yàn)結(jié)果如圖3所示。 ![]() 從實(shí)驗(yàn)結(jié)果可以看出睜眼圖片中把眉毛誤檢為閉眼圖片,原因是負(fù)樣本數(shù)量和種類少,導(dǎo)致誤檢率高。 ![]() 本文提出了一種新的負(fù)樣本選擇方法,這樣給我們擴(kuò)展訓(xùn)練樣本量提供了很大的幫助,就是在Opencv[7]中修改程序,利用已經(jīng)訓(xùn)練好的分類器,來(lái)檢測(cè)大量視頻圖片,把誤檢的圖片保存下來(lái)加入到負(fù)樣本中來(lái)作為下次訓(xùn)練的新的負(fù)樣本,并繼續(xù)訓(xùn)練,然后利用下次訓(xùn)練好的新的分類器來(lái)繼續(xù)添加負(fù)樣本。負(fù)樣本截取軟件界面如圖4所示。 ![]() 實(shí)驗(yàn)二:正樣本582張閉眼圖片,與實(shí)驗(yàn)一相同,負(fù)樣本2300張,其中除了實(shí)驗(yàn)一中的負(fù)樣本,還包括從負(fù)樣本截取軟件中收集到的誤檢圖片。添加的負(fù)樣本如圖5所示。 ![]() 實(shí)驗(yàn)結(jié)果如圖6所示。 ![]() 從實(shí)驗(yàn)結(jié)果可以看出睜眼圖片中把兩內(nèi)眼角以外一定范圍誤檢為閉眼,說(shuō)明負(fù)樣本的種類還是沒(méi)有達(dá)到要求。所以繼續(xù)利用負(fù)樣本截取軟件收集誤檢到的圖片作為負(fù)樣本。 實(shí)驗(yàn)三:正樣本582張閉眼圖片,與實(shí)驗(yàn)一相同,負(fù)樣本為2965張,其中除了實(shí)驗(yàn)二中的負(fù)樣本,還包括從負(fù)樣本截取軟件中收集到的誤檢圖片。添加的負(fù)樣本如圖7所示。 ![]() 實(shí)驗(yàn)結(jié)果如圖8所示。 ![]() 從實(shí)驗(yàn)結(jié)果中可以看出利用最終的負(fù)樣本訓(xùn)練生成的分類器能有效的區(qū)分出睜眼和閉眼狀態(tài),誤檢率大大降低,說(shuō)明這樣的負(fù)樣本選擇方法行之有效。 三個(gè)實(shí)驗(yàn)結(jié)果誤檢率比較如表1所示。誤檢率為錯(cuò)誤檢測(cè)的圖片數(shù)除以圖片總數(shù)。 ![]() 結(jié)語(yǔ) 本文通過(guò)實(shí)驗(yàn),提出了一種新的負(fù)樣本選擇方法,這樣給我們擴(kuò)展訓(xùn)練樣本量提供了很大的幫助,即應(yīng)用一個(gè)負(fù)樣本截取軟件,通過(guò)載入先前訓(xùn)練好的分類器,不斷的收集誤檢的部分來(lái)添加進(jìn)負(fù)樣本中,作為下次訓(xùn)練的新的負(fù)樣本,訓(xùn)練新的分類器。不斷循環(huán)重復(fù)這個(gè)步驟,直到達(dá)到能產(chǎn)生有滿意效果的分類器。從三個(gè)實(shí)驗(yàn)結(jié)果看出誤檢率逐漸減少,證明了方法的有效性。在以后的實(shí)驗(yàn)中繼續(xù)采用層層迭代的方式,不斷利用訓(xùn)練好的新的分類器來(lái)增加負(fù)樣本,直到訓(xùn)練出更加精確的分類器,為后續(xù)判斷汽車駕駛員疲勞檢測(cè)做鋪墊。 參考文獻(xiàn): [1] Karson C, Spontaneou eye-blink rates and dopaminergic systems[J].Brain, vol. 106, pp.643-653, 1983 [2] Tsubota K, Tear Dynamics and Dry Eye[J]. Progress inRetinal and EyeResearch, vol.17, no.4,pp565-596, 1998 [3] Viola P, Jones M. Rapid object detection using a Boosted cascade of simple features[C]. Proc. of IEEE Conf. on CVPR 2001. 511- 518 [4] Yong Ma, Xiaoqing Ding, Zhenger Wang, Ning Wang. Robust precise eye location under probabilistic framework[C]. Proceedings of the sixth IEEE International Conference on Automatic Face and Gesture [5] 趙江,徐魯安. 基于 AdaBoost算法的目標(biāo)檢測(cè) [J]. 計(jì)算機(jī)工程,2004(2) [6] Martinez A.M. and Benavente R. The AR Face Database[R]. CVC Technical Report #24, June 1998 [7] Gao W, Cao B, Shan S G, Zhou D L, Zhang X H, Zhao D B. The CAS-PEAL large-scale Chinese face database and evaluation protocols[R]. Technical report No.JDLTR04 F R001, Joint Research & Development Laboratory, CAS, 2004 [8]Gang Pan,Lin Sun,Zhaohui Wu,Shihong Lao.Eyelink-based Anti-spoofing in Face Recognition from a Generic Webcamera[R].The 11th IEEE International Conference on Computer Vision(ICCV’07),Rio de Janeiro,Brazil,October 14-20,2007 |