唐 杰,文貢堅
(國防科學技術大學 自動目標識別國防重點實驗室,湖南 長沙 410073)
基于改進AdaBoost分類器的一種目標識別算法
唐杰,文貢堅
(國防科學技術大學 自動目標識別國防重點實驗室,湖南 長沙 410073)
文章提出一種基于改進AdaBoost分類器的目標識別算法,用于克服當前級聯(lián)AdaBoost分類器存在的分類識別性能不足的問題。首先,對訓練樣本提取圖像的海量Haar-like特征,然后對提取的特征基于AdaBoost算法進行特征選擇和分類器構(gòu)建,最后利用所選擇的特征和訓練得到的AdaBoost分類器進行目標的兩類識別。實驗結(jié)果表明,本方法優(yōu)于傳統(tǒng)的方法,具有較好的應用意義。
AdaBoost算法;Haar-like特征;目標識別
近年來,在目標識別領域,機器學習主要通過研究計算機學習問題來代替人的工作,這也逐漸成為該領域的一個研究熱點。機器學習領域的分類問題需要解決的關鍵點和難點主要有以下兩點:目標表征與建模、設計與訓練分類器。目標表征和建模問題,實質(zhì)上也是一個目標特征選擇問題。Hu等[1]提出了Hu不變矩特征,推導出具有平移、旋轉(zhuǎn)和縮放不變性的7個不變矩的表達式。Lowe等[2]創(chuàng)建梯度方位和位置直方圖,以此來描述特征,得到尺度不變變換特征(Scale Invariant Feature Transform,SIFT),對一定的尺度變化、旋轉(zhuǎn)和平移具有不變性。Tola等[3]提出Daisy特征描述子,也是基于梯度直方圖,同時利用高斯權重和圓形對稱核與方位地圖進行卷積,改善了密集計算的性能。Dalal等[4]提出方向梯度直方圖概念,即為梯度方向直方圖(Histogram of Oriented Gradient,HOG)特征,對圖像幾何和光學的形變,都能保持很好的不變特性。Papageorgiou等[5]首次提出的Haar-like特征,即為矩形特征值的一種表示形式,具體特征值表示為具有相同形狀和尺寸的矩形區(qū)域的像元值之和的差。由于其計算簡單,能有效解決目標遮擋問題,得到了廣泛的應用。針對分類器的設計與訓練問題上,分類器必須與上述目標表征和建模相匹配才能達到最好的分類識別效果。Vanpik等[6]提出的支持向量機(Support Vector Machines,SVM),完成了低維向量到高維空間的映射過程,在目標識別領域開始得到廣泛應用。Trevor等[7]從訓練集中找到和新數(shù)據(jù)量最接近的k條記錄,決定類別的方式是通過投票,這種最近鄰節(jié)點算法(K-Nearest Neighbor,KNN)在多分類問題上表現(xiàn)較好。Viola等[8]通過boosting算法訓練多個不同的弱分類器,并將其融合,在人臉檢測上取得顯著效果。因此,本文提出一種基于改進的AdaBoost分類器的識別算法,用于目標識別,并在相關視頻序列數(shù)據(jù)上進行實驗,證明算法有效性。
整個目標識別流程主要分為兩個部分:離線部分,即訓練過程;在線部分,即識別過程。離線部分主要是從海量訓練樣本中提取海量的Haar-like特征,然后輸入到離散AdaBoost分類器中進行訓練;在線部分主要指對測試樣本提取Harr-like特征,然后輸入到已經(jīng)離線訓練好的AdaBoost分類器中進行目標的存在性檢測。具體的識別流程如圖1所示。
圖1 算法結(jié)構(gòu)圖
2.1圖像預處理
將所有訓練樣本歸一化為24×24的灰度圖中,同時得到每個歸一化后的正向、斜向積分圖,方便后續(xù)計算處理。
2.2Haar-like特征提取
Haar-like特征廣泛應用于目標檢測技術中,其對客觀對象直接進行建模。特征表征方式簡單形式,所以利于快速計算。同時,形狀多種多樣,可以涵蓋很多目標特性。最初的Haar-like特征由Papageorgiou等人提出。2001年,Viola等[9]通過計算積分圖(Integral Image)的方法,得到4種形式的類Haar特征值,極大地加快了目標檢測事的特征獲取速度。后來,Lienhart等[10]人在最開始提出的Haar-like特征的基礎上進行改進,進一步提出了另外14種擴展的Haar-like特征。本文采用擴展的Haar-like特征,共14種特征,如圖2所示。圖3為用于描述車輛特征的Haar-like特征示例。
2.3特征選擇
通過AdaBoost算法從以上獲得的大量haar-like特征中進行特征選取過程,選取對最后目標識別結(jié)果真正有用的特征,逐漸剔除無用的特征信息。
2.3.1傳統(tǒng) AdaBoost分類器
1995年,由Freund等[11]提出一種新的迭代方法,即AdaBoost算法。新的迭代算法可以解決Boosting算法的局限性,同時合理地避免了以往算法存在的過擬合(overfitting)現(xiàn)象。算法通過改變數(shù)據(jù)分布來實現(xiàn)效果,先自主學習形成弱分類器,然后根據(jù)上輪分類爭取率來確定每個樣本的具體權值。增大分類錯誤的權值,減少分類正確樣本的權值。最后將每次訓練得到的弱分類器根據(jù)一定的規(guī)則融合起來變成決策分類器,使用決策分類器對目標進行分類識別。
Adaboost算法流程如圖4所示。其中,在第t輪訓練后,αt通過弱分類器ht(x)來進行性能評價,分類錯誤的樣本權重εt決定弱分類器ht(x)分類錯誤之后的作用貢獻值,αt是εt的減函數(shù),εt與αt成反比例關系,同時作用于弱分類器ht(x)的重要性。分類錯誤εt≥0.5時,算法中止,不再進行迭代運算并刪除迭代過程中生成的弱分類器。εt=0時,訓練集樣本均分類結(jié)果正確,這時所有樣本權重更新為零,樣本權重失去意義。簡單地,最終的強分類器H(x)由所有的弱分類器h1(x),h2(x),……h(huán)T(x)通過加權求和得到。
圖2 Haar-like特征
圖3 描述車輛特征的Haar-like特征示例
圖4 AdaBoost 算法示意圖
2.3.2改進AdaBoost分類器
算法所構(gòu)建弱分類器,具體定義為:
其中x為圖像中24×24大小的檢測窗口,f(x)為計算矩形特征值的函數(shù),θ為弱分類器的閾值,P用來表示不等式的方向。根據(jù)弱分類器的定義可以看出,確定一個弱分類器需要確定θ和P。
將特征集合中的每一個特征在所有樣本上的特征值作為閾值集合。訓練一個弱分類器,要在特征集合中尋求每一個特征的最佳閾值,確保該特征對所有樣本的分類誤差能夠維持在最低狀態(tài)。之后,選取最優(yōu)弱分類器的任務就簡化為在所有已訓練好的弱分類器中,找出分類誤差最低的弱分類器。
本文則針對傳統(tǒng)的閾值設置方法,提出一種更加適合樣本分布規(guī)律的自適應閾值設置方法,以提高分類識別性能。假設得到的算法中最佳分類位置為η,傳統(tǒng)的計算分類閾值,通過求取平均值,即:
但是,求平均獲取閾值的方法存在一定的局限性,即其反映不了訓練樣本的具體分布形式,為此,提出一種可以自適應樣本分布規(guī)律的分類閾值設置方法:特征值滿足小于等于SortVec[η]時,類別為Label(Label ∈{-1,+1}),則當特征值滿足大于等于SortVec[η+1]時,類別為一的Label。可得,特征值滿足小于等于SortVec[η]時類別為Label的先驗概率為:
特征值大于等于SortVec[η+1]時類別為一的Label的先驗概率為:
其中,下標為k的訓練樣本的權值和真實標簽分別是wk,yk。以上得到的兩類概率值反映了兩類訓練樣本的分布規(guī)律,以樣本的分布形式規(guī)律為依據(jù),我們設置分類閾值如下:
最后將弱分類器組合成強分類器,以完成后面目標的檢測識別過程。
在線識別過程為對特定識別區(qū)域,對目標進行存在性檢測,在本文中即是對車輛目標的存在性問題的解決。測試樣本區(qū)域存在車輛,類別輸出為1;不存在車輛,類別輸出為-1。整個識別過程包括4個部分:圖像預處理、積分圖計算、Haar-like特征提取和改進的AdaBoost分類器進行分類識別。
前兩個部分圖像預處理和計算積分圖,均與之前的離線訓練過程作相同的處理。后面Haar-like特征提取部分,結(jié)合離線訓練過程中位置、類型信息和結(jié)構(gòu)等特征信息,來計算相應的haar-like特征值,得到相對應的特征向量。最后A利用daBoost分類器,通過特征向量對特定識別區(qū)域,完成車輛的存在性驗證,輸出最后的分類結(jié)果。
本次試驗主要應用在車輛目標視頻序列圖像的目標識別情況中。實驗數(shù)據(jù)主要為從網(wǎng)上下載的各種視頻中截取的序列圖像。這些圖像中,包括各式各樣的場景,比如房屋、建筑、高速公路、立交橋、城市道路等等,當然樣本中的車輛也包括各種類別,比如小轎車、公共汽車、皮卡、貨車等等。而且樣本復雜性高,包括車的顏色以及各個車的距離等均不一樣,原則是保證樣本能包含各類情況,包含有車輛型號、光照、拍攝角度等各種不同的情況。對于包含車輛的樣本,本文稱之為正樣本;對于非車輛樣本,即不包含目標特征的樣本本文稱之為負樣本。負樣本可以包括很多非車的背景圖片,比如房子,行人、路面、植物等等。本文共收集了9 321張訓練樣本,其中2 301張正樣本,7 020張負樣本。正負樣本的示例如圖5—6所示。
本章實驗中主要采用以下兩種方式對目標識別效果進行評價:車輛識別率、虛景率。分別定義如下:
其中NTP,NFP,NTN和NFN分別表示測試樣本中算法正確檢測的車輛數(shù)目,將非車輛誤識別為車輛的個數(shù),正確識別的非車輛數(shù)目和將車輛誤識別為非車輛的個數(shù)。這里做了2組實驗分別與傳統(tǒng)的AdaBoost方法進行比較,結(jié)果如表1—2所示。
表1顯示,本文的自適應樣本分布規(guī)律的設置閾值的方法的檢測識別效果要優(yōu)于傳統(tǒng)的方法。表明本文文中的閾值設置方法,能夠更好地反映訓練樣本的分布形式和規(guī)律.
表2反映,本文的改進方法在訓練時間上有了更大的進步,比傳統(tǒng)的訓練方式節(jié)省了大量時間,改善了離線訓練的耗時問題。
表1 不同閾值設置方法的評估結(jié)果
表2 訓練時間對比效果
最后,將改進后的算法用于高速公路視頻序列圖像識別中,效果如圖7所示。
本章提出了一種改進AdaBoost分類器的目標識別算法,并利用相關視頻序列數(shù)據(jù)進行了實驗,分析了算法的識別效果。在算法分類器生成過程中,提出一種自適應樣本分布規(guī)律的設置閾值的方法。實驗結(jié)果顯示,本文提出的改進AdaBoost分類器算法,改善了離線AdaBoost分類器的訓練耗時的問題,并且提高了分類識別的性能。
圖5 正樣本(車輛)
圖6 負樣本(非車輛)
圖7 視頻序列圖像車輛識別效果
[1]HU M K. Visual Pattern Recognition by Moment Invariant[J].Information Theory, 1962(8):79-187.
[2]LOWE D G.Local feature view clustering for 3d object recognition[C].United States: IEEE Computer Society Conference on Compute Vision and Pattern Recognition(CVPR2001),2001.
[3]TOLA E, LEPEIT V, FUA P. Daisy: An efficient dense descriptor applied to wide-baseline stereo[J]. Pattern Analysis and Machine Intelligence, 2010(32):815-803.
[4]Navneet Datal, Bill Triggs. Histograms of Oriented Gradients for Human Detection[C].United States: IEEE Conference on Computer Vision and Pattern Recognition(CVPR), 2005.
[5]PAPAGEORGIOU C, OREN M, POGGIO T.A general framework for object detection[C].United States: International Conference on Computer Vision, 1998(8):122-124.
[6]VAPNIK V N.The nature of statistical learning theory[M].New York: Springer-Verlag, 1995.
[7]TREVOR H.Discriminant Adaptive Nearest Neighbor classification[J].Pattern Analysis and Machine Intelligence, 1996.
[8]VIOLA P, JONES M. Rapid object detection using a boosted cascade of simple features[C]. USA: IEEE International Conference on Computer Vision and Pattern Recognition, 2001.
[9]VIOLA P A, JONES M J.Robust real time face detection[J].Computer Vision(S0920—5691), 2004(2):137-154.
[10]LIENHART R, MAYDT J.An Extended Set of Haar-like Features for Rapid Object Detection[C].IEEE ICIP,2002(1):900-903.
[11]FREUND Y, SCHAPIRE R E.Experiments with a New Boosting Algorithm[A].In Proceedings of the 13th Conference on Machine Learning, Morgan Kaufmann[C]. USA:Proceedings of the 13th Conference, 1996.
An algorithm based on improved AdaBoost classifier for object recognition
Tang Jie, Wen Gongjian (Defense Key Laboratory of Automatic Target Recognition of National University of Defense Technology, Changsha 410073, China)
An algorithm based on improved AdaBoost classifier for object recognition is proposed to solve the problem of poor recognition performance for traditional AdaBoost based on cascaded AdaBoost classifier. First of all, the Haar-like features are extracted from the training samples, then we use the improved AdaBoost classifier training method to feature extraction and classifier training. Finally, two classes classification is performed by using the AdaBoost classifier and the selected features. As it can be seen, experiments show that the proposed algorithm has better performance than traditional methods.
Adaboost algorithm; Haar-like features; object recognition
唐杰(1992— ),男,山東濰坊,碩士研究生;研究方向:自動目標識別。