孫 偉,施順順,張小瑞
車型識別是智能交通系統(tǒng)的重要組成部分,合理利用車型識別系統(tǒng)不僅給交管部門進行車輛管理帶來便利,且對于解決交通擁堵問題和規(guī)劃城市交通系統(tǒng)等都具有重要戰(zhàn)略意義。
目前,基于計算機視覺的車型識別主要集中于研究車輛特征提取和分類器構建。在特征提取方面,灰度共生矩陣[1]可描述車輛圖像不同灰度像素相對位置的空間信息,但該特征無法完全抓住局部灰度圖形特點,對于較大的局部,提取的紋理特征無法很好的進行車型識別。Gabor小波[2]可對圖像信號空間域和頻率域進行較好的描述,且具有良好的類別表征能力,但Gabor特征維數(shù)高,計算量大,不適用于實時車型識別。利用幾何邊緣特征[3]進行車型識別時,計算成本低,但易受外界環(huán)境干擾,識別準確率低。在分類器構建方面,支持向量機(support vector machine,SVM)[4]、神經(jīng)網(wǎng)絡[5]均具有良好的分類效果,但SVM在特征維數(shù)較高情況下,車型識別率低,而神經(jīng)網(wǎng)絡模型訓練時間長,計算量大,分類穩(wěn)定性不足,且這兩種分類模型在訓練過程中都需要額外的參數(shù)訓練,訓練復雜,在參數(shù)優(yōu)化時易陷入局部最優(yōu)。
為提高車型識別準確率和實時性,本文中提出基于聯(lián)合特征和壓縮字典學習的車型識別算法。首先利用SIFT算法[6]提取車輛原始圖像的紋理特征和邊緣圖像的形狀特征,生成更具差別性的聯(lián)合特征;然后構建特征字典并進行字典學習,將特征字典分成大小相同的數(shù)據(jù)塊,利用非常稀疏隨機投影矩陣[7],降低樣本數(shù)據(jù)塊的維度,通過稀疏編碼和字典更新,生成最終的壓縮特征字典;最后建立稀疏表示分類模型[8],通過類別線性重構誤差最小化,實現(xiàn)車型識別。相對于常用車型識別方法計算量大、識別準確率低,該算法能快速準確地識別車型。
在車型識別中,單一特征往往缺少足夠的差別信息,不利于車型分類。本文中提出聯(lián)合車輛紋理和形狀特征的特征表示方法,可實現(xiàn)信息互補,彌補利用單一特征進行分類時辨識性不足的缺點,提高車型識別的準確率。本文中車型識別系統(tǒng)框架圖如圖1所示。
圖1 本文系統(tǒng)框架圖
車輛紋理特征可描述車輛結構信息,是車型識別的一個重要區(qū)分信息。SIFT特征能夠有效描述圖像外觀紋理信息,且具有良好的旋轉(zhuǎn)不變性和抗干擾能力,本文中利用SIFT算法提取車輛紋理特征。對于一幅W×H大小的圖像I,運用SIFT算法提取原始車輛圖像的紋理特征為 AS,AS=[aS1,aS2,…,aSn],式中,S表示SIFT特征,n表示圖像中SIFT特征描述符的數(shù)目。
SIFT特征在描述車輛原始圖像紋理特征時有較好效果,但它很難捕捉車輛原始圖像的形狀信息。為此本文中利用羅盤算子[9]提取車輛邊緣圖像IE:
式中 ei,j為像素點(i,j)處的灰度值。
在對原始車輛圖像進行邊緣檢測后,車輛大部分紋理信息被篩除而邊緣信息被保留,在邊緣圖像上運用SIFT算法可描述車輛形狀特性。本文中運用SIFT算法提取邊緣圖像形狀特征AE,AE=[aE1,aE2,…,aEm],式中,下標 E 表示 Edge-SIFT 特征[10],m表示圖像中Edge-SIFT特征描述符的數(shù)目。
經(jīng)特征提取后,每幅圖像得到一個紋理特征AS和一個形狀特征AE。盡管這兩種特征來自兩種不同類型的圖像,但SIFT特征和Edge-SIFT特征均通過梯度直方圖獲得,在對應維度上具有相同物理意義。為此,本文中直接將兩種不同類型的特征串聯(lián)生成具有特征互補性的聯(lián)合特征A,A=AS∪AE,式中,A表示車輛圖像的聯(lián)合特征,A中數(shù)量為p,p=n+m,兩種特征的聯(lián)合過程如圖2所示,4種車型的SIFT特征圖和邊緣SIFT特征圖如圖3所示。
圖2 兩種特征聯(lián)合過程
圖3 4種車型SIFT特征和邊緣SIFT特征圖
經(jīng)過特征提取與聯(lián)合,將所有聯(lián)合特征構造成稀疏表示字典。由于構造而成的稀疏表示字典維度過高,運用傳統(tǒng)的K-SVD字典學習算法[11]進行字典訓練,必然會導致計算繁雜問題。本文中在字典學習過程中加入塊結構思想,將樣本數(shù)據(jù)集分成大小相同的數(shù)據(jù)塊,并利用非常稀疏隨機投影矩陣,降低數(shù)據(jù)塊維度,減少字典學習計算量,來增強字典學習有效性。具體的數(shù)據(jù)處理過程如下。
(1)對樣本數(shù)據(jù)進行分塊處理,假設原始訓練數(shù)據(jù)樣本集為X,將其分為大小相同的L個數(shù)據(jù)塊,即 X=[X(1),X(2),…,X(l),…,X(L)],其中,X(l)為訓練數(shù)據(jù)樣本集的第l個數(shù)據(jù)塊。
(2)運用非常稀疏隨機投影矩陣 Rl∈Rp×m,m<p,與訓練樣本集的第l個數(shù)據(jù)塊做內(nèi)積,有
式中Y(l)為X(l)經(jīng)過非常稀疏隨機投影矩陣降維后的第l個數(shù)據(jù)塊。{Rl}Ll=1中的每一個獨立隨機變量rij滿足分布:
式中:i,j為獨立隨機變量的行和列;參數(shù)s控制隨機投影矩陣的稀疏性。{Rl}Ll=1中的每一列上平均含有個非零元素。
在稀疏編碼階段,固定字典D,采取有效的塊結構,在每個樣本數(shù)據(jù)塊上運用Batch-OMP[12]方法,求取訓練樣本Y(l)在字典D上的最優(yōu)稀疏系數(shù)矩陣C(l)。稀疏編碼過程可概括為解決如下優(yōu)化問題:
式中:c(il)為第l塊系數(shù)矩陣C(l)中的第i個訓練樣本參數(shù);D =[d1,d2,…,dK]為訓練字典;C =[C1,C2,…,Cn]為稀疏系數(shù)矩陣;‖c(il)‖0為控制稀疏系數(shù)向量中非零值的數(shù)目。
字典更新的目的是更新字典中每一列原子以及與其對應的稀疏系數(shù)。在字典更新階段,假設字典D中的原子dj固定,j≠k,則對字典D中的原子dk進行迭代更新,重復k+1次,直到k=K,使字典和稀疏系數(shù)得到同步更新。字典更新過程可概括為解決如下最優(yōu)化問題:
為有效求解Gk,串聯(lián)所有隨機投影矩陣為R,R?[R1,R2,…,RL]∈Rp×(mL),定義對角矩陣 Sk為
式中:diag(z)表示對角方陣,求得 Gk,Gk=RSkRT,通過求解Gkdk=bk,得到更新的第k列字典原子dk,最后利用最小二乘法求出最優(yōu)稀疏參數(shù) c(l)i,k,c(l)i,k=一列原子更新結束后,繼續(xù)更新下一列原子,直到字典中原子全部更新完畢。 生成優(yōu)化后新字典 D′=[d1′,d2′,…,dK′]。
綜上所述,本文中壓縮字典學習算法歸納如表1所示。
表1 壓縮字典學習算法
稀疏表示分類(SRC)用訓練樣本稀疏線性地表示測試樣本,并根據(jù)類別線性重構誤差最小化進行分類。本文中利用壓縮特征字典,建立稀疏表示分類模型,通過計算待測目標在字典中的最小重構誤差,實現(xiàn)大客車、貨車、小客車和轎車4種車型識別。運用稀疏表示進行車型分類步驟如下。
(1)假設經(jīng)過壓縮字典學習后獲得的特征字典為 D′=[d1′,d2′,…,dK′]∈Rp×n,其中,di′為第 i類訓練樣本特征矩陣,i=1,2,…,K,p 為數(shù)據(jù)樣本維度,n為訓練樣本總個數(shù)。
(2)根據(jù)線性空間原理,假設來自訓練樣本中的任一待識別樣本y∈Rp可由該訓練樣本線性組合來表示,在稀疏系數(shù)的值x足夠稀疏的情況下,可利用l1范數(shù)最小化問題求解最優(yōu)解,其目標函數(shù)為
式中λ為標量常數(shù)。
(3)定義特征函數(shù)δi,用于保留稀疏系數(shù)x^中與第i類相關的元素,而其余項設置為0,利用該特征函數(shù)將待識別樣本近似表示,比較其與待識別樣本的重構誤差,將待識別樣本分在最小重構誤差對應類別中:
式中 ei=‖y-di′δi(x^)‖2表示待識別樣本與第 i類樣本的重構誤差,x^= [x^1;x^2;…;x^K],x^i表示與第 i類樣本相關的系數(shù)向量。
為驗證算法的有效性,進行如下實驗。在道路天橋上架設智能交通相機采集車輛圖像,將采集到的圖像旋轉(zhuǎn)±3°,模擬車輛角度變化,同時增加樣本數(shù)目,并對采集到的圖像作灰度化處理,手動分割車輛圖像與背景圖像。共有大客車、貨車、小客車和轎車4類車型,每類車型取150幅圖像作為樣本,經(jīng)過旋轉(zhuǎn)處理后每類車型包括450個樣本,每幅圖像的尺寸統(tǒng)一為100×100像素。本文中所有實驗均在配置為Intel Core i7 CPU,主頻為3.4GHz,內(nèi)存為16G計算機上進行,所有程序通過MTALAB R2014a編譯實現(xiàn)。
為驗證聯(lián)合特征對于車型分類具有很好分類效果,通過實驗分別得到紋理特征、形狀特征和聯(lián)合特征在不同數(shù)據(jù)維度下的車型識別結果,如圖4所示。由圖可見:只利用SIFT特征或Edge-SIFT特征進行車型識別的平均準確率都低于利用聯(lián)合特征進行車型識別平均準確率,這是因為相比于聯(lián)合特征而言,單個特征受到外界環(huán)境干擾時對準確率產(chǎn)生的影響更大,特別是光照過強時,車輛表面易產(chǎn)生反射,采集到的車輛圖像缺少足夠的紋理特征;而光照強度過弱時,相機獲得的車輛畫面模糊不清,這種情況下不易捕捉到車輛形狀特征信息,因此在此種場景下利用單一的紋理特征或者形狀特征進行車型識別,識別效果不理想;而對車輛紋理和形狀特征進行聯(lián)合,兩種特征可以起到互補作用,保證在外界環(huán)境干擾下,聯(lián)合特征仍具有足夠的辨識信息進行車型分類,車型識別的平均準確率最高達到96.01%,高于其余兩種利用單一特征的車型識別平均準確率。
圖4 單個特征與聯(lián)合特征對識別準確率的影響
為驗證壓縮字典學習算法的效率和準確率,將本文算法與經(jīng)典的K-SVD字典學習算法進行對比,比較在不同訓練樣本數(shù)下算法運行時間和車型識別平均準確率,實驗結果如表2和圖5所示。從表2可知,訓練樣本較少時,兩種算法的運行時間非常接近,因為訓練量較少時,數(shù)據(jù)維度對計算時間影響較小,算法所需時間相近,但隨著訓練樣本數(shù)增加,運用壓縮字典學習算法進行字典訓練所消耗時間比經(jīng)典K-SVD字典學習算法有明顯減少,這是因為當訓練樣本增加時,數(shù)據(jù)維度對計算時間產(chǎn)生影響增大,本文算法對樣本數(shù)據(jù)集進行分塊處理后,運用Batch-OMP算法求解稀疏系數(shù),計算速度更快,并且在字典學習中加入非常稀疏隨機投影矩陣,能有效降低樣本數(shù)據(jù)維度,大大減少訓練過程中的計算量,縮短算法運行時間。從圖5可知,本文算法在訓練樣本數(shù)較少的情況下,平均準確率略微低于經(jīng)典KSVD字典學習算法,這是因為在對數(shù)據(jù)進行降維時,會丟失一部分信息,因此在訓練樣本數(shù)較少的情況下,準確率略微低于經(jīng)典K-SVD算法。但隨著訓練樣本數(shù)增多,本文算法的準確率優(yōu)于經(jīng)典K-SVD算法。
表2 字典訓練時間
圖5 字典學習算法對識別率的影響
為驗證本文算法的有效性,在車輛數(shù)據(jù)集中選取180幅車輛圖像作為測試樣本,其余作為訓練樣本。將本文算法與SIFT算法、PCA-SIFT算法和稀疏SIFT算法(S-SIFT)從平均準確率和漏檢率兩個方面進行比較,實驗結果如表3所示。由表可見,本文算法漏檢率最低,而準確率最高,平均準確率可達到96.01%,比S-SIFT算法略高0.26個百分點,但明顯高于SIFT算法和PCA-SIFT算法。根據(jù)得到的準確率和漏檢率證明本文算法優(yōu)于其余3種車型識別算法,具有更好的分類效果。
表3 4種算法性能比較 %
為進一步驗證本文算法魯棒性,對復雜場景下車輛圖像進行測試。圖6為雨雪天氣、有遮擋和光照不足情況下的車輛圖像。每種情況下的車輛圖像均采集40幅圖像作為測試集,訓練集仍采用正常場景下的車輛圖像。將本文算法與SIFT算法、PCASIFT算法和稀疏SIFT算法(S-SIFT)進行對比,給出復雜場景下各種方法車型平均準確率,實驗結果如表4所示。由表可見,與表3相比,4種方法在復雜場景下的準確率均有所下降,尤其在有遮擋情況下,準確率較低,其中,前3種方法只考慮了單一特征,準確率下降較明顯,而本文算法因聯(lián)合了紋理特征和形狀特征進行車型識別,在部分車輛信息受到遮擋情況下,聯(lián)合特征包含的辨識信息更加豐富,仍具有很好的識別能力,準確率雖有一定程度下降,但下降并不明顯,仍高于其余3種算法,且對比雨雪天氣和光照不足情況下的識別效果,本文算法準確率仍超過94%,高于另外3種對比算法。因此,通過實驗表明,本文算法在復雜場景下仍具有較強的魯棒性。
圖6 復雜場景下的車輛圖像
表4 復雜場景下的車型平均準確率 %
為克服因單個特征缺少辨識信息而易造成分類錯誤和樣本數(shù)據(jù)維度高帶來的計算耗時問題,本文中提出并實現(xiàn)了一種基于聯(lián)合特征和壓縮字典學習的車型識別算法。首先,利用SIFT算法分別提取車輛原始圖像的紋理特征和車輛邊緣圖像的形狀特征,并將其串聯(lián)成更具差別性的聯(lián)合特征,解決單個特征在車型識別時存在特征辨識性不足的問題;然后,進行壓縮字典學習,采用有效的塊結構方法并結合非常稀疏隨機投影矩陣進行數(shù)據(jù)降維,解決了高維特征導致的計算復雜問題,縮短字典學習時間;最后,運用稀疏表示分類方法實現(xiàn)車型識別。實驗結果表明,本文算法可有效提高車型識別準確率,縮短算法運行時間,即使在雨雪、有遮擋或光線不足的復雜交通場景下仍具有較強的魯棒性。
[1] LEE H J.Algorithm based on texture for the recognition of vehicles’ model[J].The LIPS Transactions:Part B,2005,12B(3):257-264.
[2] ZHANGZ H,YUX C,YOUF,et al.A front vehicledetection algorithm for intelligent vehicle based on improved Gabor filter and SVM[J].Recent Patents on Computer Science,2015,8(1):32-40.
[3] DE F M,SOUSA M,SOUZA R M.An image vehicle classification method based on edge and PCA applied to blocks[C].IEEE International Conference on Systems, Man, and Cybernetics, 2012:1688-1693.
[4] ABDUL J, SIDDIQUI, ABDELHAMID M, et al.Real-time vehicle make and model recognition based on a bag of SURF features[J].IEEE Transactions on Intelligent Transportation Systems,2016,17(11):3205-3219.
[5] FANG J,ZHOU Y,YU Y,et al.Fine-grained vehicle model recognition using a coarse-to-fine convolutional neural network architecture[J].IEEE Transactions on Intelligent Transportation Systems,2016,99:1-11.
[6] LOWE D.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[7] FARHAD P A,STEPHEN B,SHANNON M H.Efficient dictionary learning via very sparse random projections[C].2015 International Conference on Sampling Theory and Applications(Samp-TA),2015:478-482.
[8] WRIGHT J,YANG A Y,GANESH A,et al.Robust face recognition via sparse representation[J].IEEE Transactions on Pattern A-nalysis and Machine Intelligence,2009,31(2):210-227.
[9] RUZON M A,TOMASI C.Color edge detection with the compass operator[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1999,2(2):166.
[10] FIDALGOE,ALEGRE E,GONZáLEZ-CASTRO V,et al.Compass radius estimation for improved image classification using Edge-SIFT[J].Neurocomputing,2016,197:119-135.
[11] AHARON M,ELAD M,BRUCKSTEIN A.K-SVD:An algorithm for designing overcomplete dictionaries for sparse representation[J].IEEE Transactions on Signal Processing,2006,54(11):4311-4322.
[12] RUBINSTEIN R,ZIBULEVSKY M,ELAD M.Efficient implementation of the K-SVD algorithm using batch orthogonal matching pursuit[R].CSTechnion,2008.
[13] 張鵬,陳湘軍,阮雅端,等.采用稀疏SIFT特征的車型識別方法[J].西安交通大學學報,2015,49(12):137-143.