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