基于Adaboost算法的駕駛員眨眼識別
引言
本文引用地址:http://www.ex-cimer.com/article/97892.htm眨眼是一種睜閉眼睛的生理活動,眨眼的速度會受疲勞程度、情感壓力、行為種類、睡覺數(shù)量、眼睛受傷程度、疾病等因素影響[1~2]。眨眼識別是駕駛員疲勞檢測的基礎(chǔ),本文采用 Adaboost算法[3][4][5]訓(xùn)練和檢測眼睛睜閉狀態(tài),把睜眼和閉眼圖片分類出來。
Adaboost算法
Adaboost是一種自適應(yīng) boosting算法,它的原理就是將一些簡單的弱分類器 (矩形特征 )通過特定的訓(xùn)練需求 (一般為檢測率和誤檢率的要求)組合成為一個強(qiáng)分類器,在訓(xùn)練和檢測時每一個強(qiáng)分類器對待檢測的矩形特征進(jìn)行判決,將這些強(qiáng)分類器級聯(lián)起來就可以生成一個準(zhǔn)確的、快速的分類器。它的特點(diǎn)就是檢測速度快,因?yàn)槊恳粋€強(qiáng)分類器都可以否決待檢測的矩形特征,所以前面的強(qiáng)分類器就可以把大部分錯誤的特征給排除掉。
下面介紹Adaboost算法對強(qiáng)分類器的訓(xùn)練。本文正樣本為包含各種姿態(tài)人眼的圖片(睜眼、閉眼、帶眼鏡),負(fù)樣本為不包含眼睛的任意圖片。設(shè)輸入的n個訓(xùn)練樣本為:{(x1,y1),(x2,y2),......(xn,yn)},其中xi是輸入的訓(xùn)練樣本,yi∈{0,1}分別表示正樣本和負(fù)樣本,其中正樣本數(shù)為 l,負(fù)樣本數(shù)m。n=l+m,具體步驟如下:
(1) 初始化每個樣本的權(quán)重w1,i∈D(i);
(2)對每個t=1,..., T(T為弱分類器的個數(shù))
?、侔褭?quán)重歸一化為一個概率分布
②對每個特征f,訓(xùn)練一個弱分類器hj計算對應(yīng)所有特征的弱分類器的加權(quán)錯誤率
?、圻x取最佳的弱分類器ht(擁有最小錯誤率):et
?、馨凑者@個最佳弱分類器,調(diào)整權(quán)重
其中ei=0表示被正確地分類,ei=1
表示被錯誤地分類
(3)最后的強(qiáng)分類器為:
基于Adaboost算法的眨眼識別
要保證視頻流中圖像處理的實(shí)時性就必須采用特定的算法。Adaboost算法由于它特殊的算法模式,可以進(jìn)行快速的目標(biāo)檢測,因此我們的人眼狀態(tài)檢測的定位,系統(tǒng)就選擇了 Adaboost算法?;贏daboost的眨眼識別系統(tǒng)主要包含兩個模塊:訓(xùn)練和檢測。其中訓(xùn)練過程起著決定性的作用。
評論