鄭 耀,方向忠,路慶春
(上海交通大學電子工程系,上海 200240)
基于圖像的實際目標檢測如行人檢測、車輛檢測、人臉檢測[1]等是一個非常具有挑戰(zhàn)性的問題。由于實際應用中圖像的場景往往比較復雜,同一類物體常常會表現(xiàn)出不同的姿態(tài)、紋理、顏色,如何能夠快速準確地識別這些目標就成為了人們廣泛研究的問題。
基于機器學習的圖像的目標檢測方法主要有:基于決策樹的目標檢測方法,基于超平面分割的目標檢測方法,基于神經(jīng)網(wǎng)絡的目標檢測算法等。基于決策樹的檢測方法通常采用AdaBoost或類似的方法進行訓練。常常使用 Haar-like 特征,Edge-let特征,或者 Image-strip 特征[2]等。使用該類方法通??梢缘玫胶芸斓臋z測速度?;赟VM的目標檢測方法通過利用支持向量獲得基于超平面分割的分類器,通常配合HOG特征[3]、LBP特征地等。該類方法可以相對準確地進行目標分類和檢測,因為該類方法在分類過程中需要使用所有提取的特征。另外還有基于神經(jīng)網(wǎng)絡的目標檢測方法等。通常來說,一類方法使用的特征數(shù)越多,信息量越大,檢測的準確度越高,但是同時,其消耗的運算量也越多[4]。
通過綜合利用快速檢測和準確檢測兩類方法的優(yōu)點,本文提出了一種兩級級聯(lián)的目標檢測方法。第一級被設計成具有快速檢測的檢測器,它能夠檢測到幾乎所有的目標,同時,也會將很多非目標的檢測窗當成正確的檢測窗。即具有很高的檢出率和相對較高的錯檢率。然后,對檢測出的窗口進行分類,將檢出的具有相似大小和相近位置的窗口分為一組??梢哉J為,正確的目標出現(xiàn)位置和目標的大小最有可能是一個分組檢出窗口對應的中心位置和平均大小,同一組內(nèi)檢出的窗口將按照它們距離分組中心的距離進行排序。在第二級,設計的分類器將具有非常高的準確度,以此來對第一級的檢出結果進行確認。為了實現(xiàn)第二級分類器的高識別率,首先將待檢測的目標按照顏色、姿勢等特征進行子分類。利用交叉驗證的方法,可以自適應地獲得子分類的分類數(shù)和最終的分類結果。然后對于不同的子分類,將訓練出不同的識別模型。對于待檢驗的窗口,首先判斷它屬于哪一個子分類,再用對應的識別模型進行判別。
圖1為所設計的兩級分類器的系統(tǒng)框圖。
圖1 目標檢測流程
圖1中的第一級給出的結果是一些排好序的檢出窗口組。對于每一個檢出窗口組,使用第二級級聯(lián)分類器進行準確的識別,判斷該窗口組的檢出內(nèi)容是否是需要的檢測目標。第一級中,因為真實目標更有可能出現(xiàn)在每一個檢出分組的中心位置,其大小更有可能是每一個分組內(nèi)檢出窗口的平均大小,所以每一組內(nèi)的排序依據(jù)是該組每一個檢出窗口到該分組的中心位置和平均大小的距離。第二級識別的方法是:對于第一級的每一組檢出窗口,按組內(nèi)順序進行判斷。如果一個窗口被判斷為是正確的檢測目標,則認為該組為正確的檢測目標;輸出被檢測正確的檢出窗口的位置和大小;繼續(xù)進行下一組檢出窗口的檢測。如果全組檢測窗口均被判斷為不是正確的檢測目標,則拋棄該檢測窗口組。
后處理過程將相互重疊區(qū)域比較大的檢出窗口進行聚類和取平均值,作為最終的檢測結果。設計的細節(jié)將在下文中介紹。
圖2為第一級檢測和分組的示意圖。首先采用Ada-Boost訓練出的級聯(lián) Haar-like 檢測器[5-6]作為基本檢測器進行快速的目標檢測。通過基本檢測器,將可以得到一系列檢出窗口。如圖2中間所示,共檢測出7個可能為目標的窗口。
圖2 第一級結構示例圖
然后采用投票和聚類的方法對所有檢出的窗口進行快速的聚類,得到一系列的分組。對于每個分組,根據(jù)每一個檢出窗口距離分組中心和平均分組大小的遠近進行排序。如圖2右側(cè)所示,7個檢測出的窗口被分成了3組。分組和排序的方法如下:
兩個檢出窗口的距離定義為
式中:centeri是第i個檢出窗口的中心位置坐標,areai是第i個檢出窗口的面積大小。根據(jù)本文對檢測窗口之間距離的定義,設計了對快速目標檢測的檢出窗口進行分組和排序的方法。
首先對每一個檢出窗口進行投票,偽代碼為:
然后,根據(jù)式(1)中定義的距離,相近的檢出窗口將被聚類到同一個組。同時,每個組內(nèi)的子窗口將根據(jù)投票的結果和距離組中心的距離進行排序,偽代碼為:
在實際場景中,即使是同一類物體,相互之間的差異也是非常巨大的,如不同的光照、外形、顏色、姿態(tài)等,如圖3所示。所以,需要建立不同的模型來識別同一類目標。
相關工作[7]顯示,將一類目標分成若干個子類進行識別檢測,將能夠有效地提升檢測的性能。在第二級,將訓練數(shù)據(jù)集分成K個子類。其中K是一個通過最優(yōu)化交叉驗證結果自適應計算出的參數(shù),K的計算將在下文中進行描述。第二級準確識別的系統(tǒng)框圖如圖4所示。通過將一類目標分成K個子類,訓練出K個分類器。每次判斷檢測窗口是否為待檢測目標時,首先選擇合適的分類器,然后用合適的分類器進行判別。這樣大大提高了識別的準確性。
圖3 左圖為“樹”;右圖為“樹”對應在提取的特征空間上的一種可能的分布
圖4 第二級結構
不失一般性,在特征池中只提取圖像的HOG特征。這一類特征常常用來描述目標的結構化信息。本文在計算HOG特征時,采用的塊大小為16×16像素,細胞單元大小為8×8像素,相鄰塊之間交疊為8個像素,使用9通道直方圖。對于一個80×32的窗口來說,可以計算出一個維度為972的HOG特征向量,記為v。
可以看出,特征向量v是一個高維度的歐氏空間上的向量。對應的正訓練樣本集就是一組特征向量的集合:P={v1,v2,…,vM}其中,M是正訓練樣本的圖片數(shù)。使用K-means算法將整個正樣本集分成K個子類:P1,P2,…,PK,其中P=P1∪P2,…,∪PK。負樣本訓練集對應的特征向量為N。于是,K組訓練集合分別是:(Pi,N)其中i=1,2,…,K。使用這K組訓練集合可以訓練出K個分類器:fi其中i=1,2,…,K。對于一個待識別圖像I,對應的特征向量為vx,首先計算它到K組訓練集合中每個集合Pj所有向量的均值ˉvj的歐氏距離‖vx-‖,并選擇距離最小的一組Pi。通過使用Pi對應訓練出的分類器來對當前圖像進行識別。識別結果由fi(vx)給出。將訓練一系列分類器到選擇合適的分類器對圖像進行識別的過程(即圖4所示所有過程)抽象為訓練和使用分類器FK,其中K是子類的個數(shù)。
為了自適應地完成“子分類”的工作,采用交叉驗證中的“留一驗證”的方法來獲得最合適的子分類個數(shù)K,并自動完成子分類工作。假定整個訓練集為S=(P,N),對應的標簽集合D為{1,1,…,1,-1,-1,…,-1},其中標簽為1表示對應的樣本為正樣本,-1表示對應的樣本為負樣本。記si是S中的第i個向量,di是D中的第i個元素。那么K可以定義為如下最優(yōu)化問題的解
式中:是使用特征向量集S-{si}和對應的標簽集D-{di}訓練出來的分類器。通過全空間搜索的方法,可以求解出最優(yōu)的K。
在求解出最優(yōu)的K之后,可以得到第二級分類器FK。如圖1所示,利用FK對第一級的結果進行再判別,得到的檢出窗口將被認為是待檢測的目標。為了消除重復檢出的窗口,進行簡單的后處理工作。
通過兩級檢測器的窗口,如果相互之間重疊的面積足夠大,則認為是同一類,即
式中:centeri是第i個子窗口的中心位置;areai是第i個子窗口的面積。最終的輸出結果是每一類的中心位置和平均尺寸。
實驗采用了在目標檢測問題中被廣泛使用的UIUC車輛檢測數(shù)據(jù)集[8]。該數(shù)據(jù)集包含550個車輛側(cè)邊的圖像作為正訓練樣本和500張無車圖像作為負訓練樣本;包含170張單一尺度的車輛檢測測試圖像,圖像中共有200輛車;包含108張多尺度車輛檢測測試圖像,圖像內(nèi)包括139輛車。作為對樣本集的簡單擴充,從網(wǎng)絡上收集了2 400張不包含車輛的圖像,同時,對已有的正樣本進行左右鏡像變換。最終的訓練集中包含了1 100張車輛圖片和2 900張無車圖片,訓練樣本如圖5所示。這些訓練圖像首先被統(tǒng)一到尺寸80×32。對于第一級快速檢測,訓練分類器使得虛警率低于5×10-4,訓練出的決策樹高度為10左右。第一級的檢測結果如圖6a所示,不同的分組被使用不同的顏色標注出來。第二級計算出的最優(yōu)K數(shù)值為2,對應的K-means算法將正樣本分成的兩個子類分別為車頭向左和車頭向右兩種類,如圖6b所示。第二級最終檢測結果如圖6c所示。圖6d顯示了針對高清圖像的車輛檢測結果。
對于目標檢測準確性問題,采用常用的圖像目標檢測的正確檢測定義[4]。如果一個檢測到的窗口和真實的目標所在的位置大小重合的面積超過它們所覆蓋的總面積,就認為該檢測到的窗口為正確的窗口,否則認為檢測出現(xiàn)了錯誤。具體定義如下
圖5 訓練樣本示例
圖6 目標檢測結果示例
式中:Aread是檢測到的窗口,Areag是某個目標所在的真實位置。通常使用查準率(Precision)和查全率(Recall)來衡量目標檢測算法的優(yōu)劣。其定義如下
本文使用EER參數(shù)(當Precision和Recall相等時的查準率)比較了所提出的方法和現(xiàn)有算法的檢測準確率。結果如表1所示。實驗結果顯示,本方法在檢測的準確性上優(yōu)于現(xiàn)有的算法。
表1 不同方法的EER比較 %
計算并比較了在UIUC車輛檢測單尺度測試圖像集上的各種算法的運算復雜度。所有的方法均使用VisualStudio 2008 C++環(huán)境實現(xiàn)。在一臺 I7 2600 CPU、4 Gbyte內(nèi)存的機器上運行。計算了每個檢測窗口平均需要耗費的判別時間,比較結果如表2所示。
表2 UIUC數(shù)據(jù)集每個檢測窗口需要的檢測時間 s
可以看出,本文所述的方法具有相對較快的運算速度。在UIUC單尺度測試集上,只用了0.9 s完成對全部170張圖片,共1 993 987個檢測窗口的目標檢測。
為了進一步測試目標檢測的準確率和運算速度,使用了一些高分辨率圖像(1 280×960)進行多尺度目標檢測,如圖6d所示。平均每幅圖像檢測時間為0.7 s左右。
本文提出了一種快速和高準確率的目標檢測方法。主要貢獻有:1)提出了2級級聯(lián)目標檢測的方法。使得檢測的速度和檢測的準確率得到了有效的兼顧。2)提出了通過自適應子分類的方法,利用分而治之的思想,解決同一類待檢測目標相互之間差異大的問題。有效地提升了檢測的準確率。
UIUC數(shù)據(jù)集以及一些高清圖像的測試結果表明,所提出的檢測方法可以在達到很高的檢測速度同時,獲得非常高的檢測準確度。第二級的實驗結果表明,通過將同一類目標進行子分類的方法,將能夠有效提升目標檢測的準確性。
同時,可以通過在第一級結合更多的特征如Imagestrip特征[2]等,在第二級使用更多的圖像特征等來獲得更好的檢測率。
:
[1]閆娟,程武山,孫鑫.人臉識別的技術研究與發(fā)展概況[J].電視技術,2006(12):81-84.
[2]ZHENG W,LIANG L.Fast car detection using image strip features[C]//Proc.IEEE Conference Computer Vision and Pattern Recognition.Miami,USA:IEEE Press,2009:2703-2710.
[3]DALAL N,TRIGGS B.Histograms of oriented graients for human detection[C]//Proc.IEEE Conference on Computer Vision and Pattern Recognition.Los Alamitos,CA,USA:IEEE Press,2005:886-893.
[4]REN Haoyu,HENG Cherkeng,ZHENG Wei.Fast object detection using boosted co-occurrence histograms of oriented gradients[C]//Proc.IEEE International Conference on Image Processing(ICIP).HongKong:IEEE Press,2010:2705-2708.
[5]LIENHART R,MAYDT J.An extended set of Haar-like features for rapid object detection[C]//Proc.International Conference on Image Processing.New York,USA:IEEE Press,2002:900-903.
[6]VIOLA P,JONES M.Rapid object detection using a boosted cascade of simple features[C]//Proc.IEEE Conference Computer Vision and Pattern Recognition.Kauai,USA:IEEE Press,2001:I-511.
[7]KUO N R.Robust multi-view car detection using unsupervised sub-categorization[C]//Proc.Applications of Computer Vision.Salt Lake City,USA:IEEE Press,2009:1-8.
[8]AGARWAL A A,ROTH D.Learning to detect objects in images via a sparse,part-based representation[J].Pattern Analysis and Machine Intelligence,2004,26(11):1475-1490.
[9]WU B,NEVATIA R.Cluster boosted tree classifier for multi-view,multi-pose object detection[C]//Proc.IEEE Conference International Conference on Computer Vision.Rio de Janeiro,Brazil:IEEE Press,2005:1-8.