楊岳航,孫 涵
(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 211106)
車輛的檢測與識別是智能交通系統(tǒng)中的關(guān)鍵組成部分,在交通疏導(dǎo)、輔助駕駛系統(tǒng)及道路監(jiān)控等領(lǐng)域有著廣闊的應(yīng)用前景[1],并且能夠?yàn)橹伟舶讣?、交通事故偵查提供重要的線索和證據(jù)。然而,由于真實(shí)場景中復(fù)雜的成像條件,車輛檢測面臨諸多困難,其中遮擋問題尤為突出[2]。復(fù)雜道路環(huán)境中存在多目標(biāo)是造成車輛間相互遮擋的主要原因,遮擋使得目標(biāo)信息缺失,容易造成目標(biāo)漏檢。
選擇出車輛具有代表性的局部區(qū)域特征,通過對該可見部件的檢測,能夠避免引入遮擋區(qū)域的外觀差異,更好地完成目標(biāo)檢測任務(wù)。Zhu等[3]針對車頂特征的不變性,考慮使用邊緣基元片段圖論合成方法判定車頂標(biāo)記,檢測嚴(yán)重遮擋車輛。胡銦等[4]將目標(biāo)描述為多個(gè)區(qū)域的集合,借助多實(shí)例學(xué)習(xí)框架求解目標(biāo)檢測模型。Girshick等[5]通過對目標(biāo)遮擋區(qū)域獨(dú)立外觀模板的學(xué)習(xí),解決模型底部遮擋問題,使用部件語法模型對目標(biāo)遮擋情況進(jìn)行推理。Sivaraman[6]提出了一種基于部件的車輛模型,包括基于Haar-like特征[7]的兩個(gè)部件的強(qiáng)分類器。該方法從圖像中檢測到部件,然后組合部件用于車輛的檢測。Felzenszwalb[8]提出了一種基于可變形部件的檢測算法,包含了一個(gè)根濾波器和一個(gè)組件濾波器。該方法從圖像中提取DPM(deformable parts model)特征[9],并將原始圖像上采樣后提取DPM特征圖,對原始圖像DPM特征圖和訓(xùn)練好的根濾波器做卷積操作,得到根濾波器的響應(yīng)圖,對于2倍圖像的DPM特征圖和訓(xùn)練好的部件濾波器做卷積操作,得到組件濾波器響應(yīng)圖,然后對其精細(xì)高斯金字塔下采樣,使根濾波器與組件濾波器擁有相同分辨率后加權(quán)平均,得到最終響應(yīng)圖。綜上所述,基于部件的方法能夠解決遮擋問題,但是上述方法并不共享訓(xùn)練數(shù)據(jù),導(dǎo)致漏檢率相對較高。
文中主要研究在交通視頻監(jiān)控系統(tǒng)中常見的前視角車輛圖像[10],提出基于部分模型的車輛檢測方法,包括兩個(gè)步驟:構(gòu)建部件模型和檢測車輛對象。在構(gòu)建模型時(shí),遮擋是部件區(qū)域選擇時(shí)主要關(guān)心的問題,因此所選擇的部件應(yīng)該類內(nèi)差異較小、類間差異較大。另外,AND-OR模板(AOT)[11]被應(yīng)用于對部件進(jìn)行建模。該模板是可變形的,由幾何構(gòu)造和結(jié)構(gòu)構(gòu)造構(gòu)成。幾何構(gòu)造中存儲了部件區(qū)域下小部件對應(yīng)的位置分布,結(jié)構(gòu)構(gòu)造中存儲了部件區(qū)域下小部件的組成。結(jié)構(gòu)構(gòu)造由與節(jié)點(diǎn)、或節(jié)點(diǎn)和終節(jié)點(diǎn)組成。終節(jié)點(diǎn)由混合圖像模板[12]構(gòu)成:邊緣、紋理、平滑度。在車輛檢測時(shí),利用已訓(xùn)練模型模板濾波-最大化求取候選車輛區(qū)域,并通過迭代方式求取全部車輛區(qū)域。
在部件區(qū)域選擇的過程中,多車輛之間的遮擋是主要考慮的問題。車輛的車牌和車燈區(qū)域通常具有豐富的視覺信息。但在復(fù)雜的交通環(huán)境下,該區(qū)域通常被遮擋。
因此在部件區(qū)域選擇時(shí),將此區(qū)域劃分為易遮擋區(qū)域。相較于車牌區(qū)域,前擋風(fēng)玻璃和車頂區(qū)域通常可見。甚至在交通擁堵時(shí),雖然車輛之間嚴(yán)重遮擋,但仍可以看到此區(qū)域。所以將此區(qū)域劃分為通??梢妳^(qū)域。由于車輛類型的不同,車頂和發(fā)動機(jī)蓋尺寸也不相同,所以通??梢妳^(qū)域不包括車頂和發(fā)動機(jī)蓋的全部區(qū)域。在車輛檢測時(shí),將車輛對象分割成這樣兩部分后,當(dāng)一部分損失時(shí)對于另一部分的檢測沒有影響。
在車輛對象部件劃分后,使用混合圖像模板進(jìn)行建模?;旌蠄D像模板包含邊緣塊、紋理塊、平滑度塊、顏色塊。文中的邊緣塊通過16個(gè)方向的Gabor小波基元[13]來表示邊緣信息。紋理塊通過長寬為8個(gè)圖像像素的局部矩形區(qū)域內(nèi)的16個(gè)方向的Gabor濾波器[14]的疊加值的梯度直方圖來表示。平滑度塊通過長寬為8個(gè)圖像像素的局部矩形區(qū)域內(nèi)的16個(gè)方向的Gabor濾波器響應(yīng)值來表示。經(jīng)過模型化后的部件特征如圖1所示。
圖1 模型化后的車輛特征表示
在部件模型學(xué)習(xí)階段,選取200幅車輛前視角圖像作為訓(xùn)練圖像。學(xué)習(xí)過程包括學(xué)習(xí)部件模型的組織結(jié)構(gòu)和學(xué)習(xí)部件模型的幾何結(jié)構(gòu)。部件模型中的終節(jié)點(diǎn)與非終節(jié)點(diǎn)根據(jù)訓(xùn)練圖像自動學(xué)習(xí),首先描述終節(jié)點(diǎn)的學(xué)習(xí)過程。學(xué)習(xí)過程體現(xiàn)在特征響應(yīng)矩陣R(如圖2所示),R中的每一行代表一幅圖像中的特征向量。
圖2 特征響應(yīng)矩陣
特征響應(yīng)矩陣R不一定是一個(gè)矩形,因?yàn)椴煌笮〉膱D像生成長度不一的特征向量。為了簡便,假設(shè)所有的正例圖像擁有相同大小的特征向量,所以特征響應(yīng)矩陣R是一個(gè)N(正例圖像個(gè)數(shù))行、D(候選特征個(gè)數(shù))列構(gòu)成的矩陣。R中的每一個(gè)數(shù)值代表特征響應(yīng)值,特征響應(yīng)值的大小表示每個(gè)特征原型出現(xiàn)在圖像中的可能性,響應(yīng)值越大可能性越大。對于特征響應(yīng)值的計(jì)算,首先使用規(guī)則化網(wǎng)格將模型化后的部件圖像(長寬分別為150像素)劃分成更小的圖像塊,對于每個(gè)小圖像塊計(jì)算其一維特征響應(yīng)值,響應(yīng)值的大小表示每個(gè)特征原型出現(xiàn)在這些小圖像塊中的可能性,函數(shù)計(jì)算圖像塊與特征原型的相似性,并且將其標(biāo)準(zhǔn)化在0到1之間。由于文中僅使用邊緣特征,對于邊緣特征,根據(jù)圖像塊與特征之間的歐氏距離計(jì)算其一維特征響應(yīng)值。
在特征響應(yīng)矩陣中選取正例中共同擁有的高響應(yīng)值的特征,構(gòu)成一個(gè)大特征響應(yīng)區(qū)域(如圖2黑框所示)。通過式1求得大特征響應(yīng)區(qū)域得分來決定大特征響應(yīng)區(qū)域的重要性。
(1)
其中,Bk表示大特征響應(yīng)區(qū)域k;rows()表示大特征響應(yīng)區(qū)域k包含的正例;cols()表示大特征響應(yīng)區(qū)域k中包含的特征;βk,j表示大特征響應(yīng)區(qū)域k中混合圖像模板中的基元j對應(yīng)的權(quán)重;Ri,j表示第i行、第j列對應(yīng)的特征響應(yīng)值;zk,j表示由βk,j決定的獨(dú)立標(biāo)準(zhǔn)常數(shù)[15]。
根據(jù)式1所求大特征響應(yīng)區(qū)域得分,將學(xué)習(xí)得到的大特征響應(yīng)區(qū)進(jìn)行分級,并將得分較低的大特征響應(yīng)區(qū)域丟棄。所以通過終節(jié)點(diǎn)的學(xué)習(xí)已經(jīng)得到了訓(xùn)練圖像中有作用的小部件,并根據(jù)這些小部件生成了簡單的部件模型的組織結(jié)構(gòu)。
為了從訓(xùn)練圖像中學(xué)習(xí)到更好的組織結(jié)構(gòu),通過一個(gè)圖形壓縮過程來解決。由于配置的數(shù)量是組合的,所以最初形成一個(gè)巨大的部件模型,并且傾向于過度配置。所以運(yùn)用迭代壓縮過程,該過程包含兩個(gè)步驟:共享、合并。在共享過程中,通過共享終節(jié)點(diǎn)中的小部件來重構(gòu)模型的組織結(jié)構(gòu)。在合并過程中,合并在同一子集上具有相似分支概率的OR節(jié)點(diǎn),并重新計(jì)算合并后的概率。
在學(xué)習(xí)部件模型的幾何結(jié)構(gòu)階段,學(xué)習(xí)各小圖像塊之間的尺度、旋轉(zhuǎn)變換。同時(shí)學(xué)習(xí)兩個(gè)部件之間的尺度、旋轉(zhuǎn)變換。最終學(xué)習(xí)得到的部件模型拓?fù)浣Y(jié)構(gòu)如圖3所示。
圖3 部件模型拓?fù)浣Y(jié)構(gòu)
首先,對輸入的測試圖像使用16個(gè)方向的Gabor濾波器濾波,得到帶有這些方向的邊緣圖像。在邊緣圖像上局部最大化,通過局部移動Gabor小波基元的位置、變換Gabor小波基元的方向和尺度,尋找局部圖像區(qū)域內(nèi)Gabor濾波響應(yīng)的最大值,將其存儲在局部區(qū)域最大特征響應(yīng)值向量中。
在測試圖像上通過局部變換部件模型下小部件k對應(yīng)的混合圖像模板的位置(x,y)、方向o和尺度s進(jìn)行濾波,由式2計(jì)算小部件的得分并將得分存儲在小部件得分向量中。
SUM_LPARTk(x,y,o,s)=
(2)
其中,(xj,yj,oj,sj)表示隨模板移動的位置(xj,yj),模板變換方向oj和變換尺度sj;τx,y,o,s(xj,yj,oj,sj)表示小部件的混合圖像模板中對應(yīng)特征的(xj,yj,oj,sj);MAX_RESPONSE(x,y,o,s)表示局部區(qū)域最大特征響應(yīng)值向量;SUM_LPARTk(x,y,o,s)表示小部件k的得分向量。
根據(jù)向量r(2),通過遞歸執(zhí)行和-最大化操作,推斷最優(yōu)模型b*[16]。在測試圖像上通過變換最優(yōu)模型b*的位置、方向和尺度進(jìn)行濾波,通過式3計(jì)算區(qū)域檢測得分。
(3)
根據(jù)區(qū)域檢測得分,計(jì)算全局最高得分,并記錄對應(yīng)的位置(x,y)、方向o和尺度s。計(jì)算最優(yōu)模型中心對應(yīng)的小部件模型位置,根據(jù)最優(yōu)模型中選擇的小部件,從局部區(qū)域小部件得分最大特征向量中提取其位置、方向、尺度等信息。檢測效果如圖4所示。
圖4 基于濾波的候選車輛區(qū)域求取效果圖
在交通圖像中,通常存在很多車輛對象。為了檢測全部車輛對象,文中使用迭代方法[17]。在每一次迭代中,最優(yōu)車輛候選者通過式3計(jì)算得分,若得分大于設(shè)定閾值,則認(rèn)為該車輛候選者為車輛檢測對象,并記錄檢測對象的位置(x,y)、方向o和尺度s,否則迭代結(jié)束。然后在測試圖像中將檢測到的車輛對象去除,并利用去除車輛對象后的圖像進(jìn)行下一次車輛檢測,直至整個(gè)迭代過程結(jié)束。
在每一次迭代過程中,首先檢測兩個(gè)部件對應(yīng)的候選者,然后根據(jù)相對位置和尺度關(guān)系組合兩個(gè)候選者。
為驗(yàn)證該方法的有效性,在一臺8 G內(nèi)存,主頻為2.6 GHz的四核處理器上進(jìn)行實(shí)驗(yàn)。選擇云南智能交通系統(tǒng)中拍攝的200張車輛圖像作為訓(xùn)練集,測試集選取了100幅復(fù)雜場景交通圖像。所選取的數(shù)據(jù)集中存在光照變化和旋轉(zhuǎn)變化等。這些屬性能夠有效地測試檢測方法的性能。
實(shí)驗(yàn)結(jié)果如圖5所示。對于圖中被遮擋的車輛,車輛的前擋風(fēng)玻璃區(qū)域是可見的,然而車牌附近區(qū)域被遮擋了。在該算法中,通??梢妳^(qū)域和易遮擋區(qū)域使用不同的模型進(jìn)行檢測,并在檢測結(jié)果圖中用方框表示,并通過學(xué)習(xí)的位置尺度關(guān)系將其組合,如圖中方框所示。
圖5 車輛檢測
從檢測圖中可看出易遮擋區(qū)域的丟失,對于通??梢妳^(qū)域的檢測并沒有影響,對于車輛檢測也只有微弱的影響。
文中給出了與常用檢測方法DPM的比較結(jié)果,如表1所示??梢钥闯?,就車輛檢測的精確率而言,利用文中的檢測方法獲取的結(jié)果略優(yōu)于DPM算法獲取的結(jié)果。
表1 準(zhǔn)確度對比
文中提出了一種基于部件模型的復(fù)雜場景車輛檢測方法。該方法包括兩個(gè)步驟:部件模型的構(gòu)建和從交通圖像中檢測車輛。在部件模型構(gòu)建階段,將車輛對象分為兩部分,分別將其表示為易遮擋區(qū)域和通??梢妳^(qū)域,使該方法適應(yīng)于車輛的部分遮擋。此外,這兩部分由混合圖像模板模型化,并由AND-OR模板進(jìn)行建模。在車輛檢測步驟中,這兩個(gè)部件被獨(dú)立檢測,然后合并為候選車輛。當(dāng)一個(gè)部件遮擋時(shí),這個(gè)遮擋對另一部件的檢測沒有影響,車輛仍然可以被檢測到。實(shí)驗(yàn)結(jié)果表明,該方法能有效地處理復(fù)雜城市交通狀況下車輛遮擋問題,并且在車輛輕微變形和不同的天氣條件下同樣適用。