康珮珮 于鳳芹 陳 瑩
(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院 無錫 214122)
車型識別技術(shù)一直是智能交通領(lǐng)域研究的一個重要課題,其主要任務(wù)是對特定地點和時間的車輛進行識別和分類,并以之作為交通管理、收費、調(diào)度、統(tǒng)計的依據(jù)。目前已有的車型識別方法主要有電子標簽識別法、電磁感應(yīng)線圈識別法、車牌識別法、基于圖像的車型識別法等。近年來,基于圖像的車型識別方法[2~4]發(fā)展迅速,它是通過對車輛圖像進行特征提取,然后送入分類器進行分類,進而識別出車輛的類型。
詞包模型(Bag-of-Words,BoW)[1]最初應(yīng)用于文本檢索和文本分類領(lǐng)域,后來計算機視覺領(lǐng)域的研究人員將其擴展到圖像處理領(lǐng)域,得到了廣泛應(yīng)用,其中之一就是將詞包模型應(yīng)用于基于圖像的車型識別領(lǐng)域。Li等[2]引入原始詞包模型,在提取車輛圖像的SIFT特征和SURF特征后使用矢量量化(Vector Quantization,VQ)編碼算法對兩種特征分別進行編碼,然后使用線性核SVM(Support Vector Machine)分類器進行車型識別,基于SIFT特征的詞包模型識別率相對較高但速度較慢,而基于SURF特征的詞包模型速度相對較快但識別率較低。Lazebnik 等[3]對 詞 包 模 型 進 行 改 進 ,提 取 了Dense-SIFT特征,特征提取速度加快,然后使用空間金字塔匹配(Spatial Pyramid Matching,SPM)和相交核進行識別,識別率較高,但是該算法達不到實時性要求。Jang等[4]在提取SURF特征后將詞匯樹(Vocabulary Trees,VT)用于量化編碼,并使用RBF核SVM分類器進識別,識別率和速度較原始詞包模型均有提高。
針對傳統(tǒng)車型識別算法識別速度慢、識別率低的問題,本文提出了一種基于改進詞包模型的車型識別算法。首先,使用Dense-SURF特征代替原始詞包模型中的SURF(Speeded Up Robust Feature)特征,并通過改進稠密采樣策略對Dense-SURF特征的提取過程進行加速,設(shè)置稠密采樣步長等于與子區(qū)域邊長相等,在子區(qū)域中提取36維改進Dense-SURF特征向量,減少了Haar小波響應(yīng)求和次數(shù),提高了特征提取速度;然后,將特征的空間位置作為上下文信息并與矢量量化編碼結(jié)合,提出特征上下文—矢量量化(Feature Context-Vector Quantization,F(xiàn)C-VQ)編碼算法,使用FC-VQ算法對改進的Dense-SURF特征向量進行編碼,生成包含空間信息的FC-VQ特征向量,彌補了空間信息缺失,從而提高識別率;最后,使用特征向量構(gòu)建直方圖相交核作為核函數(shù),將編碼后的特征送入SVM分類器進行訓(xùn)練和識別,進一步提高了識別效率。仿真實驗結(jié)果表明,本文提出的算法具有較高的識別率,同時識別速度較快,基本滿足實時性要求。
詞包模型的流程主要分為兩大步驟:1)提取圖像的特征;2)對提取的特征進行編碼,將特征量化為若干視覺單詞。在特征方面,傳統(tǒng)的詞包模型常使用SIFT或SURF作為圖像特征,但是兩種特征的提取速度不夠快,無法滿足實時性要求,因此本文使用Dense-SURF特征來表示圖像,并通過改進稠密采樣策略進一步提高特征提取速度。在編碼方面,傳統(tǒng)的詞包模型常使用矢量量化(VQ)編碼算法,但是VQ編碼方式簡單,忽略了圖像特征的空間位置信息,導(dǎo)致對圖像的描述性較差。為了解決這個問題,本文提出了一種特征上下文—矢量量化(FC-VQ)編碼算法。
2.1.1 Dense-SURF的原理及改進
SURF特征[5]的構(gòu)建主要包括特征點檢測和特征點描述兩個過程,而 Dense-SURF[6~7]只使用了特征點描述部分,從而速度較快。Dense-SURF特征提取過程由圖1所示。
圖1 原始Dense-SURF特征提取過程
首先采用稠密采樣的方式,在邊界框內(nèi)將矩形窗口以一定的步長在圖像上從左到右、從上到下進行遍歷,獲得多個像素塊,然后將每個像素塊劃分為4×4個子區(qū)域,在每個子區(qū)域中使用積分圖像計算像素點的一階Haar小波響應(yīng)dx和dy,將子區(qū)域內(nèi)dx、dy、 ||dx、 ||dy分別求和,得到一個4維特征向量:
再將4×4個子區(qū)域的特征向量進行連接,歸一化得到一個4×4×4=64維的Dense-SURF特征向量,像素塊中間像素的位置即為Dense-SURF特征向量的空間位置。
在Dense-SURF的提取過程中,由于采用稠密采樣策略,獲得的像素塊數(shù)量較多且在每個像素塊都提取64維的特征向量,使得表示每幅圖像的向量維數(shù)過高。因此,本文對64維特征向量進行降維,將上述的像素塊劃分為3×3個子區(qū)域,得到一個 3×3×4=36維的Dense-SURF特征向量。Dense-SURF特征向量的維數(shù)減少,使得下文歐氏距離計算復(fù)雜度降低。Dense-SURF特征的數(shù)量與像素塊數(shù)量一致,由稠密采樣的步長與像素塊的大小共同決定。由圖1的提取過程可知,若將稠密采樣的步長與像素塊中每個子區(qū)域的邊長設(shè)為相同值,則在計算其它像素塊的特征向量時可以重復(fù)使用之前子區(qū)域的特征向量,避免在子區(qū)域內(nèi)重復(fù)進行Haar響應(yīng)求和計算。
綜上,為了進一步提高特征提取速度,本文改進了Dense-SURF提取過程中的稠密采樣策略,將稠密采樣步長設(shè)置為矩形窗口邊長的1/3來遍歷圖像得到像素塊,并將像素塊劃分為3×3個子區(qū)域,即令采樣步長等于子區(qū)域的邊長,同時考慮到特征點的個數(shù)要適中,本文將此值設(shè)置為5個像素點,在子區(qū)域內(nèi)提取36維改進的Dense-SURF特征向量。
2.1.2 FC-VQ編碼算法原理
VQ編碼[1]的大致過程為:首先使用k-means聚類算法[8]將訓(xùn)練樣本生成的特征向量進行聚類,生成N個聚類中心(稱為碼字),N個碼字構(gòu)成了碼本。然后計算測試樣本生成的特征向量與各個碼字之間的歐氏距離,將特征向量映射到距離最小的碼字。最后統(tǒng)計屬于各個碼字的特征向量個數(shù),作為編碼后的向量。VQ編碼的過程簡單,但忽略了特征的空間位置信息,導(dǎo)致識別率較低。
針對這個問題,本文提出了FC-VQ編碼算法。先將提取的特征的空間位置作為上下文信息,然后使用特征上下文(FC)[9]改進矢量量化編碼(VQ)。通過FC-VQ算法對提取的Dense-SURF特征向量值和空間位置進行編碼,得到編碼后的FC-VQ特征向量。
對于一幅給定的圖像I,令Z={z1,…,zL}表示Dense-SURF特征點的位置,示Dense-SURF特征向量,p是圖像I中一個參考點的位置。為了更好地描述特征點的位置分布,先在圖像I中建立對數(shù)極坐標系,并將參考點 p的附近區(qū)域在極坐標系中劃分為多個子區(qū)域,記為(r=1,…,R),本文中 R=12。每個子區(qū)域中的Dense-SURF特征向量集合可表示為
式中:l=1,…,L,L為特征點(或特征向量)的總個數(shù);表示區(qū)域的半徑為s的圓形鄰域,它使得區(qū)域邊界附近的點可能屬于多個區(qū)域,彌補了局部描述子的空間不確定性。
假設(shè)第r個子區(qū)域中有M個特征向量,W(r)中的第m個特征向量Wm與第n個碼字cn之間的歐氏距離為
式中:m=1,…,M ;n=1,…,N ;U=36(改進的Dense-SURF特征向量的維數(shù))。
參考點p所對應(yīng)的FC-VQ特征向量則為其附近子區(qū)域內(nèi)映射于各個碼字的Dense-SURF特征向量的個數(shù),即:
式中:dmi={dmi};count用于統(tǒng)計符合條件的m值總數(shù);argmini∈{1,…,N}dmi表示當 dmi取最小值時 i的取值。FC-VQ特征向量生成示意圖如圖2所示。
圖2 FC-VQ特征向量生成示意圖
為了使特征點的空間位置更加明確,本文使用了多個參考點,記為同時為了減少運算量,本文先計算特征點與各個參考點之間的距離并選取距離最近的參考點作為式(4)中的參考點。根據(jù)距離的大小大致將特征點的位置分成K塊,分別對應(yīng)于K個參考點,避免了重復(fù)判斷特征點與每個參考點附近子區(qū)域的位置,降低了計算復(fù)雜度。K個參考點對應(yīng)的FC-VQ特征向量則表示為
SVM分類器在基于詞包模型的車型識別方法中得到了廣泛應(yīng)用,其核函數(shù)的選擇對識別性能有較大影響,相交核函數(shù)在眾多核函數(shù)中性能較好,但是計算速度較慢。因此,本文使用快速直方圖相交核[10~11]作為SVM的核函數(shù),來提高識別效率。
直方圖相交核函數(shù)的計算公式為
使用直方圖相交核的SVM分類函數(shù)則為
其中 x={x1,…,xk}為輸入向量,zj={z1j,…,zkj}表示第 j個支持向量,αj和tj={+1,-1}分別是第 j個支持向量的權(quán)重和標簽,m是支持向量的個數(shù)。對于固定的i值,將zij的值按升序排序,記為z?ij,此時 αj和 tj分別表示成 α?j和 t?j,令 r 表示滿足z?ir≤xi最大的整數(shù)。則式(7)可改寫為
式(8)即為基于快速直方圖核函數(shù)的SVM分類函數(shù)。對于每一個i值,可以預(yù)先計算的值,這是由于其不隨 xi而改變。因此計算分類器的輸出值則相當于為每一個維度i找到合適的r值,時間復(fù)雜度為O(logm)。則使用快速直方圖相交核函數(shù)的總時間復(fù)雜度為O(klogm),與常見的基于距離的核函數(shù)的時間復(fù)雜度O(km)相比,時間復(fù)雜度降低,從而提高了識別效率。
基于改進詞包模型的車型識別算法流程圖如圖3所示。
具體實現(xiàn)步驟如下:
1)讀取訓(xùn)練車輛圖像,將矩形窗口大小設(shè)置為15×15并劃分為3×3個子區(qū)域,設(shè)置稠密采樣的步長與子區(qū)域的邊長相等(5個像素點),在3×3個子區(qū)域中計算Haar小波響應(yīng)和,得到36維改進Dense-SURF特征向量。
2)使用k-means算法對訓(xùn)練樣本的Dense-SURF特征進行聚類,得到100個聚類中心(碼字),構(gòu)成碼本。
3)將特征的空間位置作為上下文信息,使用FC改進VQ編碼,得到FC-VQ編碼算法,并用其對改進的Dense-SURF特征進行編碼,得到FC-VQ特征向量。
4)將訓(xùn)練樣本的特征向量送入快速直方圖相交核SVM分類器進行訓(xùn)練,得到訓(xùn)練模型。
5)輸入測試車輛圖像,快速提取36維改進Dense-SURF特征向量。
圖3 基于改進詞包模型的車型識別算法流程圖
6)使用FC-VQ對改進的Dense-SURF特征向量進行編碼,得到測試車輛圖像的FC-VQ特征向量。
7)加載訓(xùn)練好的模型,將測試樣本的特征向量送入快速直方圖相交核SVM分類器進行識別,得到測試車輛圖像的車型識別結(jié)果。
實驗硬件環(huán)境為Intel Core i5-3470處理器、4G內(nèi)存,軟件環(huán)境為Windows7系統(tǒng)、Matlab R2012a軟件。數(shù)據(jù)集選取文獻[12]中提供的BIT數(shù)據(jù)集,該數(shù)據(jù)集是在交通卡口拍攝的車輛正面圖像,包含一些復(fù)雜環(huán)境,如光照的變化、雨天的影響和不同顏色的車輛,車輛類型分為五類:大型客車、小型客車、大型貨車、小型貨車、轎車(含普通轎車和SUV,本文不作區(qū)分)。數(shù)據(jù)集標注了車輛的位置信息,本文根據(jù)車輛的位置信息將車輛單獨分割出來,部分分割出的車輛圖像如圖4所示。將分割出來的車輛圖像作為訓(xùn)練和測試樣本,并使用雙三次插值方法將樣本統(tǒng)一采樣到400×400像素大小。對于每一類車,隨機選取400張圖像進行訓(xùn)練,200張圖像進行測試。
圖4 BIT數(shù)據(jù)集實例
本文使用識別率P以及每幅圖的平均特征提取時間Te、平均特征編碼時間Tc、平均識別時間Tr作為評價指標。
圖5是參考點的個數(shù)與對應(yīng)的編碼時間和識別率之間的關(guān)系圖,每個點從左到右依次代表1、2、4、9個參考點。由圖5可以看出,參考點的個數(shù)在1~4之間時,隨著個數(shù)的增加,識別率也在提高,但參考點的數(shù)目增加到9時,識別率反而降低。這是因為參考點數(shù)目過多,使得圖像的表示過于具體,以至于對同類型車輛之間的差異也較為敏感。因此,綜合考慮編碼時間和識別率兩方面因素,本文選擇4個參考點進行編碼。
圖5 參考點個數(shù)與編碼時間和識別率關(guān)系
圖6 是使用本文算法進行車型識別所得到的混淆矩陣。從混淆矩陣中可以看出,大型客車、大型貨車和轎車取得了較好的識別結(jié)果,而小型客車和小型貨車識別率相對較低。這是由于在此數(shù)據(jù)集中小型客車和轎車在外觀上有一定的相似性,小型貨車和大型貨車也具有相似性,容易誤分。
圖6 車型識別混淆矩陣
為了進一步驗證本文算法的有效性,本文首先進行了縱向?qū)Ρ葘嶒灒謩e與原始Dense-SURF+FC-VQ+hist核函數(shù)、改進Dense-SURF+VQ+hist核函數(shù)、改進Dense-SURF+FC-VQ+RBF核函數(shù)進行對比,hist核函數(shù)表示直方圖相交核函數(shù),實驗結(jié)果見表1。然后本文進行了橫向?qū)Ρ葘嶒?,分別與文獻[2]中算法(原始詞包模型)、文獻[3]中算法、文獻[4]中算法進行對比,實驗結(jié)果見表2。
由表1可以看出,在特征提取方面,本文改進的Dense-SURF與原始Dense-SURF相比,特征提取速度加快,提取時間僅占原始的36.4%,而且對識別率幾乎無影響;在編碼方面,本文提出的FC-VQ編碼與VQ編碼相比,雖然編碼速度相對較慢,但是識別率大幅提高,高出9.4%;在分類器方面,與RBF核SVM相比,本章使用的快速直方圖相交核SVM取得了更高的識別率和識別速度,識別率高出1.7%,總體識別時間占其73.9%。由表2可以看出,與文獻[2]中算法(原始詞包模型)相比,在識別速度和識別率上都大幅提升,識別時間僅占其23.6%,識別率高出7.9%。與文獻[3]中算法相比,識別速度較快,識別時間僅占其50.0%,且識別率高出1.5%。與文獻[4]中相比,識別率高出5.7%,識別時間僅占其32.1%。綜上,與其它三種算法相比,本文算法檢測速度更快,且具有更高的識別率。
表1 本文算法與其它算法的縱向?qū)Ρ冉Y(jié)果
表2 本文算法與其它算法的橫向?qū)Ρ冉Y(jié)果
本文針對傳統(tǒng)車型識別算法識別速度慢、識別率低的問題,提出了一種基于改進詞包模型的車型識別算法。首先通過改進稠密采樣策略快速提取36維Dense-SURF特征,然后提出FC-VQ編碼算法,對提取的特征進行編碼,最后將編碼后的特征向量送入快速直方圖相交核SVM分類器進行識別。為了驗證本文算法的有效性,在BIT車輛圖像數(shù)據(jù)集上進行了實驗,通過實驗對本文的車型識別算法和其它算法進行了橫向和縱向?qū)Ρ确治觥嶒灲Y(jié)果表明:本文算法與其它車型識別算法相比,識別率更高,且識別速度更快。
[1]G Csurka,C Dance,L Fan,et al.Visual categorization with bags of keypoints[C]//Workshop on statistical learning in computer vision,ECCV,2004,1(1-22):1-2.
[2]LI Q W,CHENG H S,ZHOU Y,et al.Road vehicle monitoring system based on intelligent visual internet of things[J].Journal of Sensors,2015:1-16.
[3]S Lazebnik,C Schmid,J Ponce.Beyond bags of features:Spatial pyramid matching for recognizing natural scene categories[C]//IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2006(2):2169-2178.
[4]D M Jang,M Turk.Car-Rec:A real time car recognition system[C]//IEEE Workshop on applications of computer vision(WACV),2011:599-605.
[5]H Bay,A Ess,T Tuytelaars,et al.Speeded-up robust features(SURF)[J].Computer vision and image understanding,2008,110(3):346-359.
[6]J R R Uijlings,A W M Smeulders,R J H Scha.Real-time visual concept classification[J].IEEE Transactions on Multimedia,2010,12(7):665-681.
[7]J R R Uijlings,A W M Smeulders,R J H Scha.Real-time bag of words,approximately[C]//Proceedings of the ACM international Conference on Image and Video Retrieval,2009:6.
[8]A K Jain.Data clustering:50 years beyond K-means[J].Pattern recognition letters,2010,31(8):651-666.
[9]XING-GANG WANG,XIANG BAI,WEN-YU LIU,et al.Feature context for image classification and object detection[C]//IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2011:961-968.
[10]S Maji,A C Berg,J Malik.Classification using intersection kernel support vector machines is efficient[C]//IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2008:1-8.
[11]JIAN-XIN WU,J M Rehg.Beyond the euclidean distance:Creating effective visual codebooks using the histogram intersection kernel[C]//Proceedings of the 12th IEEE International Conference on Computer Vision,2009:630-637.
[12]ZHEN DONG,YUNDE JIA.Vehicle type classification using distributions of structural and appearance-based features[C]//Proceedings of the 20th IEEE International Conference on Image Processing(ICIP) ,2013:4321-4324.