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