基于Adaboost算法的駕駛員眨眼識別
樣本的選擇至關(guān)重要,包括兩個方面,首先是樣本源,本文采用BioID-EyeDatabase和AR人臉庫(來源于網(wǎng)絡(luò))[6],樣本庫提供了人臉圖片和人眼坐標,根據(jù)人眼坐標用Matlab編程來提取人眼。正樣本從截取出的人眼圖片中選取閉眼圖片,負樣本為剩下的睜眼圖片。樣本的訓(xùn)練過程就是按第2部分算法所闡述的方法選擇弱分類器, 形成強分類器, 再由強分類器級聯(lián)成為一個有效的分類器。在訓(xùn)練時給出檢測率和誤檢率的要求,如檢測率為0.99,誤檢率為0.3,若一共有n個強分類器,則最終的檢測率為0.99n,最終的誤檢率為0.3n。
檢測
檢測就是根據(jù)訓(xùn)練所得到的分類器特征一般存儲為.xml文件對輸入圖片進行檢測。分類器是一個有若干個強分類器組成的級聯(lián)分類器,檢測結(jié)果是一系列的目標矩形,也就是圖像中目標所在的位置。
實驗結(jié)果分析
本文采用三種不同的負樣本選擇方法,進行了三次對比實驗。
實驗一:正樣本582張閉眼圖片,歸一化為24×24,負樣本1285張睜眼圖片,正負樣本如圖1、圖2所示,實驗結(jié)果如圖3所示。
從實驗結(jié)果可以看出睜眼圖片中把眉毛誤檢為閉眼圖片,原因是負樣本數(shù)量和種類少,導(dǎo)致誤檢率高。
本文提出了一種新的負樣本選擇方法,這樣給我們擴展訓(xùn)練樣本量提供了很大的幫助,就是在Opencv[7]中修改程序,利用已經(jīng)訓(xùn)練好的分類器,來檢測大量視頻圖片,把誤檢的圖片保存下來加入到負樣本中來作為下次訓(xùn)練的新的負樣本,并繼續(xù)訓(xùn)練,然后利用下次訓(xùn)練好的新的分類器來繼續(xù)添加負樣本。負樣本截取軟件界面如圖4所示。
評論