秦帥昆 羅素云
(上海工程技術(shù)大學(xué)機(jī)械與汽車工程學(xué)院 上海 201620)
隨著我國(guó)智能交通系統(tǒng)的快速發(fā)展,車輛管控也變得越來越重要。在車輛檢測(cè)中,車輛遮擋問題仍然具有很大的挑戰(zhàn)。目前的車輛檢測(cè)方法通常通過訓(xùn)練完整車輛輪廓來檢測(cè)無遮擋或輕微遮擋的車輛,但對(duì)嚴(yán)重遮擋的車輛檢測(cè)性能很差。Lee B G等[1]通過對(duì)遮擋面積做出估計(jì)進(jìn)而判斷遮擋的方法。該方法雖準(zhǔn)確判斷出遮擋位置,但計(jì)算較復(fù)雜。張桂梅等[2]通過用Kona 模板與場(chǎng)景匹配的方法檢測(cè)T 型節(jié)點(diǎn),利用該節(jié)點(diǎn)計(jì)算出遮擋位置。Ikemura S 等[3]通過TOF 相機(jī)獲取目標(biāo)深度相似特征判斷目標(biāo)遮擋位置,但受設(shè)備限制。在實(shí)際交通場(chǎng)景下,以上傳統(tǒng)的滑窗檢測(cè)方法很難滿足實(shí)時(shí)性的需求,為了解決這個(gè)問題,需采用高效的特征提取方法進(jìn)行特征計(jì)算[4],或引入降低每個(gè)檢測(cè)窗口分類計(jì)算耗時(shí)的策略[5]。一些研究者提出通過只選擇那些更有可能包含目標(biāo)的窗口,并通過這種方式獲得顯著的性能加速,以減少檢測(cè)窗口的數(shù)量。
由于被嚴(yán)重遮擋的車身的大部分輪廓是不可見的,很可能會(huì)被其檢測(cè)窗口內(nèi)的背景區(qū)域誤導(dǎo),從而容易發(fā)生漏檢。試圖學(xué)習(xí)一組特定的局部遮擋的檢測(cè)器,然后將它們適當(dāng)?shù)募稍谝黄?,用于檢測(cè)非遮擋車輛和部分遮擋車輛[6~7]。該方法基于以下假設(shè):當(dāng)檢測(cè)器無法檢測(cè)部分遮擋車輛時(shí),未遮擋部分的檢測(cè)器對(duì)車輛的檢測(cè)值仍然較高。對(duì)于此方法,每部分檢測(cè)器的設(shè)置至關(guān)重要。通常,部件檢測(cè)器是單獨(dú)學(xué)習(xí)的。但單獨(dú)部件檢測(cè)器單獨(dú)學(xué)習(xí)時(shí)有兩個(gè)缺點(diǎn):1)忽略了部件之間的相關(guān)性,進(jìn)而影響學(xué)習(xí)部件檢測(cè)器的可靠性。2)應(yīng)用所學(xué)部件檢測(cè)器的計(jì)算耗時(shí)隨檢測(cè)器數(shù)量的增加呈線性增加。W.Ouyang 等[8]利用了單個(gè)卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了部件檢測(cè)器的學(xué)習(xí)和集成。但是,這種方法只使用了類標(biāo)記,并且是以弱監(jiān)督的方式隱式地學(xué)習(xí)部件檢測(cè)器。
在此,初步學(xué)習(xí)一種概率混合分布,該分布根據(jù)目標(biāo)的位置和尺度對(duì)觀測(cè)場(chǎng)景進(jìn)行建模。考慮到在一組訓(xùn)練圖像上運(yùn)行的檢測(cè)器的輸出,場(chǎng)景模型以非監(jiān)督的方式學(xué)習(xí)。在運(yùn)行時(shí),學(xué)習(xí)的混合分布用于采樣最相關(guān)的檢測(cè)窗口。然后聯(lián)合一種共享決策樹部件檢測(cè)器的多標(biāo)記學(xué)習(xí)方法,利用部件之間的相關(guān)性,降低應(yīng)用這些部件檢測(cè)器的計(jì)算時(shí)間。
本文選用一種基于場(chǎng)景中車輛位置和比例的GMM 的場(chǎng)景相關(guān)的方法。GMM 是在無監(jiān)督的情況下從一組檢測(cè)中學(xué)習(xí)的,在非最大抑制之前,由檢測(cè)器在場(chǎng)景的少量幀中提取。混合模型的每個(gè)組成部分都是一個(gè)概率分布,表示在圖像區(qū)域內(nèi)以特定尺度觀察一輛車的期望。在GMM 擬合過程中,根據(jù)在支持區(qū)域(Region of Support,ROS)[9]內(nèi)進(jìn)行重要性加權(quán)實(shí)施檢測(cè)。在運(yùn)行過程中,最有可能包含車輛的窗口將從混合模型部件中取樣,并由分類器進(jìn)行評(píng)估。
建立概率模型yi,場(chǎng)景中的任何目標(biāo)檢測(cè)由GMM定義θ如下:
式中θ由其混合部件和它們的混合概率共同定義(兩者都需估計(jì)),如下:
每個(gè)部件GMM 值都有均值μk(其質(zhì)心位置)和協(xié)方差Ck(圖像中部件的空間范圍),即:
式中:
S是占在其ROS中其他檢測(cè)器yi的相關(guān)程度,和GMM 部件θ?k的檢測(cè)范圍與其它檢測(cè)器yi檢測(cè)范圍的契合概率,即:
式中:
si,k依賴w(yi),yi的相對(duì)權(quán)重按其ROS 域內(nèi)的所有檢測(cè)器權(quán)重歸一化。
式中,Z是尺度方差的歸一化因子,l(.)是一個(gè)返回尺度的函數(shù),并且
是對(duì)部件尺度的方差,總和覆蓋了所有檢測(cè)器的集合,這些檢測(cè)器的局部最大ROS 值為,M為集合的基數(shù)。
給出初始狀態(tài)θinit,在每次迭代中一個(gè)新的配置θ通過一個(gè)目標(biāo)函數(shù)來估計(jì)和評(píng)價(jià)
因子包括覆蓋度(即多少部件覆蓋了場(chǎng)景,組件擴(kuò)展有多少提升)和重疊度(即部件之間的重疊度,重疊的部件將被補(bǔ)償),定義如下:
這個(gè)過程重復(fù)進(jìn)行,直到GMM 的組件數(shù)量等于一個(gè)固定的數(shù)量Kmin。
支持區(qū)域ROS(yi)定義為是與給定檢測(cè)yi有交集的檢測(cè)集,高于或等于預(yù)定義閾值τvoc。一般τvoc設(shè)置為0.65[6]。之前,對(duì)于每個(gè)ROS,使用Hard ROS 加權(quán)集作為ROS(yi),即該區(qū)域的檢測(cè)數(shù)量。這種權(quán)值集是從訓(xùn)練集的檢測(cè)中學(xué)習(xí)而來,用于在同一場(chǎng)景中生成窗口建議。為每個(gè)檢測(cè)yi分配一個(gè)權(quán)重w(yi),表示它在ROS 中相對(duì)于其它檢測(cè)的相關(guān)性。這種Soft ROS加權(quán)計(jì)算如下:
式中,π(yi)代表檢測(cè)窗口yi的相關(guān)正確性,定義為gi-τT除以ROS中的最大值。gi是分類器分?jǐn)?shù),τT為級(jí)聯(lián)分類器在yi尺度下的抑制閾值。
ρ(yi)代表yi的相關(guān)性定義如下:
?yi?是在ROS 中分類器的等級(jí),φ∈[0,1)用于置中sigmoid函數(shù):
具有?yi?>φ·|ROS(yi)|的檢測(cè)具有較低的權(quán)重,從而抑制了非信息檢測(cè)窗口的貢獻(xiàn)值。實(shí)驗(yàn)中,φ設(shè)置為0.5。
針對(duì)部件檢測(cè)器學(xué)習(xí)問題,采用一種基于部件級(jí)監(jiān)督的部件檢測(cè)器多標(biāo)記學(xué)習(xí)方法。通過boost進(jìn)行學(xué)習(xí)并結(jié)合構(gòu)造一組決策樹[11],所有部件檢測(cè)器共享這些決策樹。為了利用部件之間的相關(guān)性,學(xué)習(xí)這些決策樹并將它們組合起來,以捕獲所有部件的總體分布,同時(shí)使用紋理特征進(jìn)一步提高性能。
將車輛的整個(gè)輪廓建模為一個(gè)矩形模板,區(qū)分不同的視角,模板分為H*W 網(wǎng)格。模板中的任何矩形子區(qū)域看做一個(gè)部件。這里設(shè)置H=3 和W=4。根據(jù)車輛通常被遮擋的先驗(yàn)知識(shí)設(shè)計(jì)了一個(gè)部件池,如圖1 所示。要表示車輛上的一部分,直接的方法就是截取特征圖上部分對(duì)應(yīng)的區(qū)域。部件周圍區(qū)域的特征可以作為其上下文信息,這樣,所有的部分都有類似的表示形式。
圖1 部件池
設(shè)X為由圖像區(qū)域組成的實(shí)際空間。對(duì)于每個(gè)部分pk∈P,要學(xué)習(xí)一個(gè)檢測(cè)器dk:X→R這樣一個(gè)圖像區(qū)域x∈X,當(dāng)圖像區(qū)域包含pk時(shí),dk(x)>0,否則dk(x)≤0。所以,需要學(xué)習(xí)K 個(gè)部件檢測(cè)器。直接的方法是單獨(dú)學(xué)習(xí)K部件檢測(cè)器,但這樣它便忽略了各部分之間的相關(guān)性,所以提出多標(biāo)記學(xué)習(xí)方法共同學(xué)習(xí)K部件檢測(cè)器。
具體來說,學(xué)習(xí)函數(shù)F:X→2P預(yù)測(cè)出現(xiàn)在一個(gè)給定的圖像區(qū)域X的一組部件。設(shè)D={(xi,li,為一組訓(xùn)練實(shí)例,這里xi∈X是圖像區(qū)域,li∈{-1,1}表示圖像區(qū)域是否包含車輛分別是兩個(gè)邊界框,分別指定車輛的可見部分和全部區(qū)域。要學(xué)習(xí)F,需要為每個(gè)實(shí)例xi構(gòu)造一個(gè)標(biāo)記向量Yi=(yik)∈{-1,1}K,1 ≤k≤K,yik代表圖像區(qū)域xi是否包含部件pk。對(duì)1 ≤k≤K引入一個(gè)損失向量Ci=(cik)∈RK標(biāo)記賦值,其中cik定義了由于對(duì)pk的xi的錯(cuò)誤預(yù)測(cè)而產(chǎn)生的損失。li=-1 時(shí),設(shè)置yik=-1,cik=1;li=1 時(shí),設(shè)置yik=1,cik由共同決定。首先標(biāo)準(zhǔn)化整體輪廓邊界框,如文獻(xiàn)[12]所述:的高度和中心固定,調(diào)整寬度使寬高比為0.41。用表示標(biāo)準(zhǔn)化的全身圖。然后,丟棄標(biāo)準(zhǔn)化全身之外的可見部分內(nèi)的任何圖像內(nèi)容,以獲得一個(gè)新的可見部分。設(shè)為xi上pk部分的圖像域。計(jì)算和的交集(IOU)由Iik表示,以及被覆蓋的比例由Oik表示。最后,cik確定如下:
第一種情況下,部件pk的大部分是可見的,因此設(shè)置了很大的cik來防止部件檢測(cè)器的錯(cuò)誤預(yù)測(cè)。第二種情況下,部件和可見部分的IOU 大于0.5,認(rèn)為部件區(qū)域在實(shí)際中是可見的,錯(cuò)誤分類取決于IOU。第三種情況下,部件嚴(yán)重遮擋,設(shè)置cik=0,忽略對(duì)第k個(gè)部件的訓(xùn)練。
圖2 說明了如何標(biāo)記車輛示例。DF={(xi,Yi,Ci)|1 ≤i≤N}形成學(xué)成的訓(xùn)練集F。用一個(gè)雙參數(shù)函數(shù)H表示F:X×P→R,當(dāng)H(x,pk)>0 時(shí),pk∈F(x),否則pk?F(x)。通過最小化下面的損失函數(shù)來學(xué)習(xí)H:
圖2 車輛標(biāo)記
式中,N是訓(xùn)練實(shí)例的數(shù)量,如果H(xi,pk)>0 ,sign(H(xi,pk))=1;否則sign(H(xi,pk))=-1。
在特定的場(chǎng)景中,車輛可能會(huì)被其他物體遮擋。由于不知道哪些部位會(huì)被遮擋,因此,一種簡(jiǎn)單而有效的方法就是應(yīng)用一組部件檢測(cè)器。對(duì)于圖像中的候選區(qū)域x,K 個(gè)部件檢測(cè)器會(huì)給出K 個(gè)檢 測(cè) 值,s=(s1,…,sK) ,這 里sK=H(x,pk,(1 ≤k≤K)。需要正確地集成這些檢測(cè)分?jǐn)?shù),給出一個(gè)最終的分?jǐn)?shù),以表明候選區(qū)域包含車輛的概率。
學(xué)習(xí)一個(gè)權(quán)向量v=(v1,…vK)將K 個(gè)檢測(cè)器分值線性組合:
b是一個(gè)偏分常量。取D={(si,yi)|1 ≤i≤N}為訓(xùn)練集,si表示第i 個(gè)訓(xùn)練例的K 個(gè)檢測(cè)值,yi∈{-1,1}。通過邏輯回歸學(xué)習(xí)v,具體來說,是通過求解以下優(yōu)化問題來學(xué)習(xí)v:
式中,N為訓(xùn)練集的數(shù)量,φ(v)為正則化項(xiàng)。采用兩種類型的正則化式,即‖ ‖v1。當(dāng)使用L1 范數(shù)‖ ‖v1時(shí),選擇配備合適λ的部件檢測(cè)器的子集。
用于訓(xùn)練的圖像為2514 張以及200 張檢測(cè)圖片。實(shí)驗(yàn)在Intel Core i5-3210M,2.5GHz 電腦上實(shí)現(xiàn)。通過四種車輛檢測(cè)器:HOG、DPM、Haar和ACF進(jìn)行比較。
從表1中可以看出,在檢測(cè)器HOG[13]、DPM[14]、Haar[15]和ACF[16]上,使用遮擋處理的部件檢測(cè)器在車輛數(shù)據(jù)集上的檢測(cè)誤差率比未使用遮擋處理檢測(cè)器的誤差率分別提高了0.22、0.09、0.02 和0.04,同時(shí)檢測(cè)速度也有提升。相對(duì)于未加入遮擋處理,說明了多標(biāo)記學(xué)習(xí)方法和在遮擋處理中與其他部件檢測(cè)器聯(lián)合學(xué)習(xí)的檢測(cè)有效性。圖3 是部分遮擋車輛的檢測(cè)效果圖。
表1 檢測(cè)器與滑動(dòng)窗口方法性能比較
圖3 在測(cè)試數(shù)據(jù)集上的檢測(cè)結(jié)果
在本文中,提出了一種在場(chǎng)景下高斯混合模型和多標(biāo)記學(xué)習(xí)方法聯(lián)合學(xué)習(xí)的部件檢測(cè)器。通過高斯混合模型對(duì)車輛檢測(cè)區(qū)域進(jìn)行粗略提取,并且提高算法的檢測(cè)速度。AdaBoost 加速器用來學(xué)習(xí)一組決策樹,所有部件檢測(cè)器共享這些決策樹,由此降低了應(yīng)用這些部件檢測(cè)器的計(jì)算時(shí)間。所學(xué)習(xí)的決策樹捕獲所有區(qū)域的總體分布。為進(jìn)一步提高性能,還提出了一種上下文檢測(cè)重建模型。實(shí)驗(yàn)結(jié)果表明:適當(dāng)集成這些部件檢測(cè)器,可以提高對(duì)遮擋車輛的檢測(cè)性能。部件檢測(cè)器的訓(xùn)練和集成分兩個(gè)步驟進(jìn)行。但在檢測(cè)過程中,依然會(huì)出現(xiàn)對(duì)失去關(guān)鍵特征的車輛檢測(cè)和部分區(qū)域錯(cuò)檢,未來我們會(huì)對(duì)此問題進(jìn)行更深入的討論。