AdaBoost級聯(lián)分類器檢測圖像目標的方法
【技術領域】
[0001] 本發(fā)明涉及目標檢測技術領域,具體涉及一種AdaBoost級聯(lián)分類器檢測圖像目 標的方法。
【背景技術】
[0002] 在目標檢測方法中,現(xiàn)在常用的一類方法是基于統(tǒng)計學習的分類器設計算法。在 機器學習方法中,AdaBoost能夠將弱分類器組合起來構成強分類器,并在人臉檢測等方面 也得到了成功的應用。在OpenCV(開源計算機視覺庫)中該算法結合Haar特征、HOG等特 征得到成功實現(xiàn)和應用,并為廣大計算機視覺研究人員使用,使其成為各種場合下目標檢 測應用的首選。在OpenCV的幫助下,可以很快應用Adaboost算法結合各種特征對目標檢 測應用的性能進行測試,從而對算法的性能做出評估。
[0003] Adaboost算法最早源于Schapire在1989年提出的Boosting(自舉)算法[1], 她是一種能夠"Boost"任意給定學習算法精度的普適方法。1995年Freund和Schapirey 又對其進行了改進,形成了最初的AdaBoost(AdaptiveBoosting)算法[2],之后又出 現(xiàn)了很多基于此方法的變形,主要有GAB(GentleAdaBoost)、DAB(DiscreteAdaBoost)、 RAB(RealAdaBoost)和LAB(LogitAdaBoost)。AdaBoost算法的核心是通過調整樣本分布和 弱分類器權值,自動地從弱分類器空間中篩選出若干關鍵的弱分類器,并通過某種方式整 合為一個強分類器。
[0004] 根據(jù)Rainer等人對變形的幾種AdaBoost算法的測試和比較, GAB (GentleAdaBoost)算法在分類性能上不僅僅是最優(yōu)的,也是最快的,因此選用這種方法 來訓練強分類器,算法流程如下 [2]:
[0005] 1?給定N個樣本(X1,Y1),…(xN,yN),其中XiGRk,yiG{-1,1}。
[0006] 2?初始化權值Wi= 1/N,i= 1,...N。
[0007] 3?迭代form= 1,…,M
[0008] a?通過《i設置y肩X滿加權最小平方,調整退化函數(shù)f" (X);
[0009] b?計算errm=Eu[E(y=fm (X)) ],Cm=lag((1-errm) /errm);
[0010]c?令 〇廣 〇 ^spGifm(Xi)),i= 1,…,N重新歸一化權值使SiOi=I;
[0012] OpenCV中對經典AdaBoost算法的四種實現(xiàn)形式選擇提供了接口,可以測試對比 各種訓練方法下得到的訓練器的性能。另外對于訓練終止條件提供接口可進行選擇。滿足 檢測率和誤報率可以終止訓練?;蛘咧付ㄈ醴诸惼鱾€數(shù)的最大值,這樣可以控制訓練時間, 但是這樣可能存在得到的強分類器達不到指定的檢測率和誤報率訓練就終止了。
[0013] 級聯(lián)分類器是由一系列的分類器的串聯(lián)組成,整個檢測流程如圖1所示[3]。用于 下級分類器的樣本就要求是上一級分辨正確的正樣本和分辨錯誤的負樣本來做本級訓練 的正樣本和負樣本,這樣才可以達到層層精確篩選的目的,非目標樣本應盡可能在較早級 聯(lián)層次得到濾除,只有通過所有級分類器的樣本才被認定為正樣本即目標區(qū)域。
[0014] 級聯(lián)分類器設計思路就需要指定各個參加級聯(lián)的強分類器具備相應的結構,所謂 相應的結構的第一點要求是前面分類器的結構簡單也即強分類器中包含盡可能少的弱分 類器,這樣才能提高檢測速度。第二點要求是檢測率高,能夠濾除那些與目標差異較大的負 樣本。那么對于參與訓練的負樣本的選擇就需要盡可能選擇與正樣本差異大且多樣化的負 樣本,才能得到滿足分類器級聯(lián)設計思想的強分類器。第三點要求是級聯(lián)的下一級分類器 是對上一級分類器無法分辨的樣本進行再次準確分類,因此,在級聯(lián)的檢測器中不斷增加 更多的強分類器可以很快排除背景區(qū)域,從而節(jié)約出時間用于那些更像目標的區(qū)域進行計 算。在級聯(lián)結構中,前面幾級的分類器相對說結構比較簡單,使用的特征數(shù)較少,但檢測率 很高,同時能夠盡可能地濾除那些與目標差異較大的負樣本。后面級的分類器則使用更多 的特征和更復雜的結構,從而可以將那些與目標相似的負樣本與目標物體區(qū)分開。
[0015] 為了能夠檢測到不同尺度下的目標,目前常用的檢測方式可以總結為三種,第一 種是縮放待檢測圖像,構造圖像金字塔,用與標準訓練樣本大小相同的窗口去對不同尺度 下的檢測圖像進行遍歷檢測。第二種是直接在待檢測圖像上用不同尺度的窗口進行遍歷, 將遍歷窗口歸一化到標準訓練樣本大小再送入分類器進行判別。第三種是直接在待檢測圖 像上用不同尺度的窗口進行遍歷,按照尺度對分類器進行尺度變換,將不同尺度的遍歷窗 口直接送入相應尺度的分類器進行判別。相比之下,第三種方式縮放分類器的運算與縮放 待檢測圖像和縮放檢測窗口的運算量要小很多,并且在求取Haar特征時還可以利用積分 圖像快速求取特征,運算速度占一定優(yōu)勢,但在檢測性能方面有所下降。
[0016] 上面提到的參考文獻如下:
[0017] [1]SchapireRE.Thestrengthofweaklearnability[J]. MachineLearning, 1990, 5(2) :197 ~227.
[0018] [2]FreundY,SchapireRE.Adecision-theoreticgeneralizationofon-Ii nelearningandanapplicationtoboosting[J].JournalofComputerandSystemScienc es, 1997, 55(1) :11 9 ~139.
[0019] [3]LienhartRainer,KuranovAlexander,Pisarevskyvadim.EmpiricalAnalysiso fdetectioncascadesofboostedclassifiersforrapidobjectdetection[A].In:Proceedi ngsofthe25thGermanPatternRecognitionSymposium[C],Magdeburg, 2003:297 ~ 304.
【發(fā)明內容】
[0020] (一)要解決的技術問題
[0021] 本發(fā)明要解決的技術問題是:如何提高AdaBoost級聯(lián)分類器檢測圖像目標的檢 測性能和檢測效率。
[0022](二)技術方案
[0023] 為了解決上述技術問題,本發(fā)明提供了一種提高AdaBoost級聯(lián)分類器檢測效率 的方法,包括以下步驟:
[0024]S1、基于訓練樣本庫和訓練參數(shù)訓練出一個基于AdaBoost的級聯(lián)分類器;
[0025]S2、優(yōu)化所述訓練樣本庫中正樣本和負樣本,用優(yōu)化后的樣本重新訓練,得到最終 的級聯(lián)分類器;
[0026]S3、利用最終的級聯(lián)分類器采用構造圖像金字塔和縮放分類器結合的方式對圖像 目標進行檢測。
[0027] 優(yōu)選地,步驟S2具體包括:
[0028]S21、在訓練樣本庫中挑選具有代表性的訓練樣本作為第一級AdaBoost分類器 的訓練樣本,訓練最終級聯(lián)分類器的第一級AdaBoost分類器,所述具有代表性的訓練樣 本是指清晰的正樣本和與正樣本差距大于預設判斷標準的負樣本;用第一級AdaBoost分 類器對訓練樣本庫中的正、負樣本進行判別,把正確判別的正樣本和錯誤判別的負樣本作 為下一級訓練用的樣本,訓練得到下一級Adaboost分類器,依照此方法訓練得到若干個 AdaBoost分類器,將它們級聯(lián)在一起作為一個AdaBoost級聯(lián)分類器;
[0029]S22、對AdaBoost級聯(lián)分類器的每一級在全樣本的訓練樣本庫中進行性能分析, 測試其檢測率和誤報率,得到每一級AdaBoost分類器的性能報告,根據(jù)性能報告得到從檢 測率小于100%,且誤報率最低的一級開始進行正樣本和負樣本擴展,用擴展后的樣本庫重 新進行后續(xù)級的分類器訓練,得到最終的AdaBoost級聯(lián)分類器。
[0030] 優(yōu)選地,步驟S3具體為:
[0031]S31、首先對縮放分類器的檢測方式進行檢測性能分析確定最終的AdaBoost級聯(lián) 分類器對各個圖像目標檢測范圍的檢測性能;
[0032]S32、根據(jù)步驟S31所確定的各個圖像目標檢測范圍的檢測性能,構造多級圖像金 字塔,在每一級圖像金字塔,使用原圖或對原圖進行一定程度的縮放,并利用相應尺寸的檢 測窗口進行一定圖像目標檢測范圍內的目標檢測,最終檢測出所有圖像目標檢測范圍內的 目標。
[0033](三)有益效果
[0034] 本發(fā)明通過優(yōu)化所述訓練樣本庫中正樣本和負樣本,用優(yōu)化后的樣本重新訓練, 得到最終的級聯(lián)分類器,利用最終的級聯(lián)分類器采用構造圖像金字塔和縮放分類器結合的 方式對圖像目標進彳丁檢測,在保持檢測性能的如提下可以進一步提尚檢測速度。
【附圖說明】
[0035] 圖1為現(xiàn)有的級聯(lián)分類器設計示意圖;
[0036] 圖2為現(xiàn)有的圖像金字塔結構示意圖;
[0037] 圖3為現(xiàn)有的縮放分類器檢測目標示意圖;
[0038] 圖4為本發(fā)明結合縮放分類器構造的三級圖像金字塔結構示意圖。
【具體實施方式】
[0039] 為使本發(fā)明的目的、內容、和優(yōu)點更加清楚,下面結合附圖和實施例,對本發(fā)明的
【具體實施方式】作進一步詳細描述。
[0040] 本發(fā)明提供了一種提高AdaBoost級聯(lián)分類器檢測效率的方法,包括以下步驟:
[0041] S1、基于訓練樣本庫和訓練參數(shù)訓練出一個基于AdaBoost的級聯(lián)分類器;
[0042] 本步驟基于AdaBoost的級聯(lián)分類器的訓練是通過建立一個訓練樣本庫,根據(jù)實 際需求選擇訓練參數(shù),得到若干個AdaBoost分類器級聯(lián)在一起作為分類器輸出。