陳 帥,張 勇,牛常勇
(鄭州大學(xué) 信息工程學(xué)院,河南 鄭州450004)
目前比較常用的車體檢測(cè)方法主要分為兩類:第一類是基于機(jī)器學(xué)習(xí)特征提取,如神經(jīng)網(wǎng)絡(luò)、Adaboost等;第二類是基于人工設(shè)計(jì)特征提取,如顏色特征、對(duì)稱性、邊緣特征[1]等。人工設(shè)計(jì)特征方法實(shí)現(xiàn)比較簡(jiǎn)單而且易于理解,但是傳統(tǒng)的人工設(shè)計(jì)特征方法的在復(fù)雜的自然場(chǎng)景下容易受到背景噪聲的干擾。針對(duì)于這個(gè)問題,使用基于部分模型的檢測(cè)方法,用檢測(cè)部分特征代替檢測(cè)整體特征,而常用的基于部分模型的檢測(cè)方法,由于沒有合理劃分部分模型,導(dǎo)致漏檢率和錯(cuò)誤率較高。本文提出了一種部分模型劃分算法,合理劃分部分模型,克服了在復(fù)雜自然場(chǎng)景下誤檢率和漏檢率高的問題,相比于比較成熟的PBT方法[2],召回率也有較明顯的提高。
特征表示分為兩個(gè)部分,分別為像素級(jí)的特征表示和特征聚合。
1.1.1 像素級(jí)特征表示
定義Φ(x,y)和 Ω(x,y)分別為在在圖像 (x,y)點(diǎn)梯度的方向和大小。對(duì)于彩色圖像,Φ和Ω是每個(gè)像素在紅、綠、藍(lán)3個(gè)色彩通道中,最大梯度的方向和大小。
每個(gè)像素的梯度投影到p個(gè)方向上,在 (x,y)點(diǎn)的p維的特征向量
1.1.2 特征聚合
假設(shè)F是一張w×h圖片的像素級(jí)特征圖。如果直接用F計(jì)算,需要計(jì)算w×h個(gè)元素,需要花費(fèi)大量的時(shí)間。而特征聚合就是為了解決這個(gè)問題,設(shè)k是一個(gè)正整數(shù),將k×k個(gè)像素的值通過求和 (或平均值)的方法聚合成一個(gè)點(diǎn) (也成為C的一個(gè)單元),得到一個(gè)新的特征圖C,C的長(zhǎng)和寬分別為w/k和h/k,用C計(jì)算時(shí),其計(jì)算量縮小了k2倍,在本文中取k=8。
使用的模型是由一個(gè)表示整體的低分辨率模板和多個(gè)較小的高分辨率模板組成的可重構(gòu)模型[3-8]。這些模板都是 HoG (histogram of gradients)[9]直方圖表示的。我們使用的模型有點(diǎn)類似PBT模型,但是與PBT模型使用固定數(shù)量、固定大小的正方形的部分模板不同,本文模型中的部分模板的大小和數(shù)量都不是固定,而且形狀也不是單一正方形。這種改進(jìn)使正特征的聚合度大大增加,同時(shí)也減小了負(fù)特征的干擾。除此之外,針對(duì)車體檢測(cè)的場(chǎng)景,檢測(cè)算法和PBT模型算法也有很大不同,在檢測(cè)算法中加入了目標(biāo)融合算法,避免了同一目標(biāo)被多次檢測(cè)出的情況。
我們使用的模型T可以表示成一個(gè)root-level模板F0和n個(gè)part-level模板Tj的組合,即
式中:F0——root層模板,也是root層濾波器;Tj表示第j個(gè)part-level模板,Tj=(Fj,Pj),其中Pj=(xj,yj)表示第j個(gè)part-level模板在root-level模板中的位置,F(xiàn)j是一個(gè)3維向量,表示第j個(gè)濾波器
(1)dj= (dxj,dx2j,dyj,dy2j)表示第j個(gè)濾波器的位移的大小和方向;
(2)ωj是第j層濾波器的參數(shù)向量,它包括HoG直方圖的權(quán)重,偏移量的大小和位移dj的負(fù)權(quán)重;
(3)Sj表示第j層濾波器的位置和大小,在本文中,Sj是一個(gè)長(zhǎng)方形,它的邊長(zhǎng)最小可以取3個(gè)HoG單元 (即24像素),最大的可以取濾波器F0長(zhǎng)寬和的1/4。這就導(dǎo)致Sj有很多種不同取值,如何確定Sj的大小,將在文章的下一個(gè)章節(jié)中介紹。
D= {(xi,yi),…,(xn,yn)}表示訓(xùn)練數(shù)據(jù)集,其中xi代表第i張圖片的特征圖,yi∈ {-1,1},yi=-1表示第i張圖片是負(fù)樣本,而yi=1表示第i張圖片是正樣本。學(xué)習(xí)算法的目標(biāo)是等到一個(gè)線性的分類器可以分類正樣本和負(fù)樣本。
分類器可以表示為
對(duì)于式 (1)不確定的是參數(shù)向量ωi和隱藏值z(mì)i,所以不能直接計(jì)算出ωi,在本文中,我們使用Latent-SVM算法[10-13]計(jì)算參數(shù)向量 ωi的最優(yōu)解。
根據(jù)SVM算法,問題 (1)可以轉(zhuǎn)化為
使上式取得最小值的ω就是ω的最優(yōu)解。
構(gòu)造拉格拉日算子來解決問題 (2)得到下式
常數(shù)C 表示f(x(i))之間的相關(guān)性,u=∑y(i)f(x(i)),loss(u)是衰減函數(shù),在傳統(tǒng)的SVM算法中,使用的衰減函數(shù)loss(u)=max(0,1-y(i)f(x(i))),但是因?yàn)檫@個(gè)衰減函數(shù)有求最大值的操作,所以它不是一個(gè)連續(xù)可導(dǎo)的函數(shù)如圖1所示,在本文中使用neg-sigmoid函數(shù)來代替原有的衰減函數(shù),其中
圖1 衰減函數(shù)
使用neg-sigmoid函數(shù)作為衰減函數(shù)有兩個(gè)好處:
(1)如圖1所示,當(dāng)u接近0時(shí)neg-Sigmoid函數(shù)可以近似為線性函數(shù),即
在本文中,u的取值在 [0,1]內(nèi)且比較接近0,可以認(rèn)為絕大部分u符合上式,此時(shí)衰減函數(shù)為線性函數(shù) (其中
(2)如圖1所示,NSig(neg-Sigmoid)始終在0-1衰減即 (max(0,1-y(i)f(x(i))))的上方,所以對(duì)最小化 LD沒有影響。
因此式 (3)可以寫為
設(shè)Zp是zi的取值范圍且Z(xi)= {zi},Zp∈D,定義LD(ω,Zp)=LD(Zp)(ω),其中D(Zp)∈D,結(jié)合式 (4)可以得到
由此可見,LD(ω,Zp)是LD(ω)的上界,所以求LD(ω)的最小值可以轉(zhuǎn)化成最小化LD(ω,Zp)。
求LD(ω,Zp)的最小值得方法如下:
(1)在zi∈Zp的條件下求使得f(x)取最大值的zi,即
此時(shí)LD(Zp)(ω)是只與ω有關(guān)的凸函數(shù)。
(2)令▽LD=0,可以得到
al是第l次迭代的學(xué)習(xí)率系數(shù) (在線性SVM算法中,學(xué)習(xí)率al=1/l[14]),將算出的ω帶入LD中。
重復(fù)步驟 (1),(2)直到ω收斂,此時(shí)得到的ω就是最優(yōu)的參數(shù)向量。
2.2.1 部分模型的劃分算法
我們通過部分模型劃分算法得到一個(gè)最優(yōu)的部分模型結(jié)構(gòu)。該算法有兩個(gè)步驟:
(1)對(duì)于不同閾值,得到不同的部分模型。設(shè)thresh是root層模型的閾值,thresh的取值范圍為 [min(F0),max(F0)]。
具體算法如下:
1)將F0中大于thresh的元素置1,小于thresh的元素置0;
2)設(shè)F=F0,找到一個(gè)盡可能大的矩形S1,在F中,S1∈ [3*3,sizeof(F)/2]且S1內(nèi)部的元素都不為0,記錄S1位置和大小,并將F內(nèi)S1位置的元素置0,重復(fù)此步驟,直到F中沒有滿足要求的S1;
3)設(shè)F=F0,找到一個(gè)盡可能大的矩形S2,在F中,S2內(nèi)部的元素都不為1且S2∈ [3*3,sizeof(F)/2],記錄S2的位置和大小,并將F內(nèi)S2位置的元素置1,重復(fù)此步驟,知道F中沒有滿足要求的S2;
4)輸出S=S1∪S2。
(2)Sj表示第j個(gè)閾值對(duì)應(yīng)的部分模型結(jié)構(gòu),設(shè)Ej=∑ F0(si)2,si∈Sj是第j個(gè)閾值對(duì)用的部分模型結(jié)構(gòu)中的一個(gè)part模板。最優(yōu)模板問題可以等價(jià)成Ej最大化的問題,當(dāng)Ej是所有E中的最大值是,Sj就是最優(yōu)的部分模型結(jié)構(gòu)。
2.2.2 目標(biāo)融合算法
在PBT模型算法中,由于在檢測(cè)目標(biāo)是會(huì)對(duì)輸入圖像進(jìn)行多次的縮放,會(huì)導(dǎo)致同一個(gè)目標(biāo)在不同縮放層級(jí)同時(shí)被檢測(cè)出來的現(xiàn)象。針對(duì)于車體檢測(cè)的特點(diǎn),即兩輛車不可能重疊。本文提出了一種目標(biāo)融合算法:處理有重疊的檢測(cè)結(jié)果,根據(jù)重疊部分的響應(yīng)值重新檢測(cè),將多余的結(jié)果過濾掉,只保留最優(yōu)的結(jié)果。避免了同一輛車被檢測(cè)到多次所導(dǎo)造成的誤檢。
本實(shí)驗(yàn)選用的數(shù)據(jù)集訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集,其中測(cè)試數(shù)據(jù)集由15000張分辨率為1616×1232的照片組成。均來自于鄭州某路口的監(jiān)控。數(shù)據(jù)集包含有8000張白天的照片數(shù)據(jù)和7000張夜晚照片。其中包括了各種車型 (包括轎車,面包車,越野車,公交車,卡車等)。訓(xùn)練數(shù)據(jù)集包括正樣本和負(fù)樣本兩種,其中正樣本為400張分辨率為1616×1232的照片組成,包含200張白天照片和200張夜晚照片,負(fù)樣本是從VOCdevkit數(shù)據(jù)集中選取的一部分圖片數(shù)據(jù)。
分別用PBT的方法和本文的方法在訓(xùn)練數(shù)據(jù)集上訓(xùn)練,得到的模型如圖2所示。
圖2 模型((a)和(b)是白天數(shù)據(jù)訓(xùn)練得到的模型,(c)和(d)是夜晚數(shù)據(jù)訓(xùn)練得到的模型)
在測(cè)試數(shù)據(jù)集中分別用PBT方法的模型和本文方法的模型檢測(cè)和分類,檢測(cè)的召回率見表1,分類的正確率見表2。
檢測(cè)結(jié)果和分類的結(jié)果如圖3,圖4所示。我們的方法無論是在檢測(cè)還是分類上都優(yōu)于PBT的方法,是因?yàn)樵谖覀兲岢龅牟糠帜P蛣澐炙惴ㄊ前凑漳繕?biāo)特征的分布來劃分部分模型的,把屬于同一特征的部分盡可能的劃分在同一個(gè)部分模型中,同時(shí)也將不屬于該部分的特征可以更好的把目標(biāo)的特征提取出來。
表1 檢測(cè)的正確率
表2 分類的正確率
圖3 車體檢測(cè)結(jié)果 (白色框?yàn)橐雇砟繕?biāo),黑色框?yàn)榘滋炷繕?biāo))
圖4 分類的結(jié)果 (其中白色框體表示結(jié)果是卡車和公交車,黑色框體表示結(jié)果是轎車)
提出了的一種自然場(chǎng)景下基于部分模型的車體檢測(cè)方法。實(shí)驗(yàn)分別在白天和夜晚兩個(gè)數(shù)據(jù)集中比較該方法和PBT的方法,實(shí)驗(yàn)結(jié)果表明本文提出的方法在車體檢測(cè)上有很高的準(zhǔn)確率,表明了本文的方法更適合用于車體檢測(cè)中。此外本文中使用的方法不僅能應(yīng)用于車體檢測(cè)中,還可以應(yīng)用到人體檢測(cè)、移動(dòng)物體檢測(cè)中去。計(jì)劃引入車牌檢測(cè)和識(shí)別,用并行計(jì)算的方法實(shí)現(xiàn)算法,以達(dá)到實(shí)時(shí)檢測(cè)的目標(biāo)。
[1]Leibe B,Leonardis A,Schiele B.Robust object detection with interleaved categorization and segmentation [J].International Journal of Computer Vision,2008,7 (1):259-289.
[2]Felzenszwalb P,Girshick R,McAllester D,et al.Object detection with discriminatively trained part based models [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32 (9):1627-1645.
[3]Amit Y,Trouve A.POP:Patchwork of parts models for object recognition [J].International Journal of Computer Vision,2007,75 (2):267-282.
[4]Felzenszwalb P,McAllester D,Ramanan D.A discriminatively trained,multiscale,deformable part model [C]//IEEE Conference on Computer Vision and Pattern Recognition,2008:1-8.
[5]Lv Yang,Yao Benjamin,Wang Yongtian,et al.Reconfigurable templates for robust vehicle detection and classification [C]//Workshop on Application of Computer Vision,2012:321-328.
[6]Wu Yingnian,Si Zhangzhang,Gong Haifeng,et al.Learning active basis model for object detection and recognition [J].International Journal of Computer Vision,2010,90 (2):198-235.
[7]McIntosh C,Hamarneh G.Medial-based deformable models in nonconvex shape-spaces for medical image segmentation [J].IEEE Trans on Medical Imaging,2012,31 (1):33-50.
[8]Zhu S,Mumford D.A stochastic grammar of images [J].Foundations and Trends in Computer Graphics and Vision,2007,2 (4):259-362.
[9]Chan Yiming,F(xiàn)u Lichen,Hsiao Pei-Yung,et al.Pedestrian detection using histograms of Oriented Gradients of granule feature[C]//Intelligent Vehicles Symposium,2013:1410-1415.
[10]John Yu Chun-Nam,Thorsten Joachims.Learning structural SVMs with latent variables [C]//International Conference on Machine Learning,2009:1169-1176.
[11]Sun Chao,Zhang Tianzhu,Bao Bing-Kun,et al.Latent support vector machine for sign language recognition with Kinect [C]//20th IEEE International Conference on Image Processing,2013:4190-4194.
[12]Lo Sio-Long,Tsoi Ah-Chung.Human action recognition:A dense trajectory and similarity constrained latent support vector machine approach [C]//2nd IAPR Asian Conference on Pattern Recognition,2013:230-235.
[13]Vahdat A,Cannons K,Mori G,et al.Compositional models for video event detection:A multiple kernel learning latent variable approach [C]//IEEE International Conference on Computer Vision,2013:1185-1192.
[14]Shalev-Shwartz S,Singer Y,Srebro N.Pegasos:Primal estimated sub-gradient solver for SVM [J].Mathematical Programming,2011,127 (1):3-30.