李大湘,王小雨,劉 穎
(1.西安郵電大學通信與信息工程學院,陜西西安710121;2.電子信息現(xiàn)場勘驗應用技術公安部重點實驗室,陜西西安710121)
隨著車輛的迅速增加,智能交通系統(tǒng)(Intelligent Transportation System,ITS)已經(jīng)成為學術界、工業(yè)界和政府的首要議程。ITS最重要的任務之一是車型分類、車輛識別和跟蹤[1-3]。近年來,基于圖像或視頻的車輛分類由于其在智能交通系統(tǒng)中的重要性而引起了越來越多的關注。準確可靠的車型分類系統(tǒng)對于有運輸管理、安全監(jiān)控、執(zhí)法記錄、自主導航等[4]場景任務是必不可少的。例如在警方調查涉嫌車輛犯罪時,由于目前的監(jiān)控攝像系統(tǒng)只提供視頻圖像記錄,警察需要在大量的交通圖像或視頻中手動搜索,以找到特定類型的車輛,這種方式耗費大量的時間、人力、物力和財力。因此,車型分類的研究對于警方破案至關重要。
車型分類一般包括三個步驟,首先是對車輛檢測,即在視頻圖像中檢測到車輛,然后對檢測到的車輛圖像進行特征提取,最后根據(jù)這些特征分類。本文將從車型分類常用數(shù)據(jù)集、評價指標、特征提取方法、分類方法這幾方面介紹。
用于車型分類的數(shù)據(jù)集很多,但是目前常用的車型分類的數(shù)據(jù)集有:CompCars數(shù)據(jù)集、StanfordCar數(shù)據(jù)集、BIT-vehicles數(shù)據(jù)集。
CompCars數(shù)據(jù)集[5]是一種比較全面的綜合汽車數(shù)據(jù)集。該數(shù)據(jù)集的圖像主要來自網(wǎng)絡圖像和監(jiān)控視頻圖像,其中13626張車輛整體圖(都被標記了包圍框、視角、顏色、排量、最大速度),27618張車型屬性圖,分別為前燈、尾燈、霧燈、進氣格柵、中控臺、方向盤、儀表盤和變速桿,如圖1所示。
該數(shù)據(jù)集包含163種汽車的1716種型號。該數(shù)據(jù)集可下載于“http://mmlab.ie.cuhk.edu.hk/datasets/comp_cars/index.html”。
圖1 汽車配件
StanfordCar汽車數(shù)據(jù)集包含196個等級的汽車的16185個圖像[6]。這些數(shù)據(jù)被粗略地分成了兩部分,一部分是8144張訓練圖片,另一部分是8041張測試圖像。分類通常在制造商(Make)、型號(Model)、生產(chǎn)年份(Year)等級別進行,比如2012特斯拉Model S或2012寶馬M3 coupe。其中BMW10數(shù)據(jù)集是用于車輛細粒度分類,包含11種不同的“寶馬”車型。
圖2列舉了數(shù)據(jù)集中的幾種不同型號的車型圖像。該數(shù)據(jù)集可下載于“http://ai.stanford.edu/~jkrause/cars/car_dataset.html”。
圖2 車型樣圖
BIT-Vehicles數(shù)據(jù)集是由北京理工大學實驗室搜集整理的用于車型分類的數(shù)據(jù)集。共包含9,850張像素為1600*1200或1920*1080的車輛圖像,它們分別由兩個攝像頭在不同時間和地點的拍攝。數(shù)據(jù)集共有6類車型圖像:公共汽車(Bus)、微型客車(Microbus)、小型貨車(Minivan)、轎車(Sedan)、SUV(Sport Utility Vehicle,即“運動型多功能車”)和卡車(Truck),如圖3所示。
每類車的數(shù)量分別為 558、883、476、5922、1392 和822。該數(shù)據(jù)集可下載于“http://iitlab.bit.edu.cn/mcislab/vehicledb/”。
圖3 數(shù)據(jù)集車型樣圖
這三種數(shù)據(jù)集各有各的特點,表1從數(shù)據(jù)集大小、車型類別以及屬性方面對三種數(shù)據(jù)集進行對比。BIT-Vehicles數(shù)據(jù)集只包含六種車的類型,沒有關于車的具體屬性,而StanfordCar數(shù)據(jù)集主要包含轎車和SUV車型的多種子類型,對車型的劃分具體到制造商、型號、年份等。CompCars數(shù)據(jù)集不僅集合StanfordCar數(shù)據(jù)集的車型屬性,還專門增加了車型的屬性圖,包含了更加詳細的車的配件信息。BIT-Vehicles數(shù)據(jù)集多用于傳統(tǒng)的底層特征提取,而CompCars數(shù)據(jù)集和StanfordCar數(shù)據(jù)集多用于訓練和測試深度學習模型。
表1 數(shù)據(jù)集對比
混淆矩陣是用于比較分類結果和實例之間的匹配信息。如表2所示,在混淆矩陣中,TP表示系統(tǒng)預測為正的正樣本數(shù)量,F(xiàn)P表示系統(tǒng)預測為正的負樣本數(shù)量,F(xiàn)N表示系統(tǒng)預測為負的正樣本數(shù)量,TN表示系統(tǒng)預測為負的負樣本數(shù)量。
表2 混淆矩陣
由混淆矩陣可以得出一些評價指標。
(1)精確率(Precision)。又稱查準率,定義為
(2)召回率(Recall)。又稱查全率,定義為
(3)F分數(shù)(F-score)。它是查準率和查全率的調和值,用來評估分類模型,定義為
當β=1時,稱為F1分數(shù),精確率和召回率權重相同;
當β<1時,精確率更重要;當β>1時,召回率更重要。
(4)準確率(Accuracy)。反映了分類器對整個樣本的判定能力,即將正的樣本判定為正類,負的樣本判定為負類的總比率。定義為
(5)平均精確度mAP。它是多次實驗精確度的平均值,由于實驗的隨機性,多次實驗求平均值,以提高實驗可靠性。
(6)ROC曲線和AUC。ROC(receive operating characteristic)曲線顯示了模型在判別正樣本時,當改變其閾值,召回率和精確率的關系如何變化。曲線的坐標分別為正確率和錯誤率。如圖4所示,是一個分類器的ROC曲線。計算ROC曲線下的面積AUC(area under curve),用來量化分類模型的性能,其取值范圍是[0,1],度量值越高,則分類性能越好。
圖4 ROC曲線圖
3.1.1 Gabor/wavelet小波特征
由于Gabor小波在提取目標的局部空間和頻域信息方面具有良好的特性。Gabor核函數(shù)定義為
2007年,文[7]提出一種基于Gabor小波濾波銀行(Gabor Filter Bank)的車輛抽樣模型算法。由于不同類型車輛之間的差異(例如前后部的形狀、車窗的位置等)主要在車的上部,在圖像上部取一定比例進行抽樣,用抽樣后的Gabor特征表示圖像。文[8]用Gabor小波提取車輛的Gabor特征作為車輛的特征表示,然后對Gabor特征進行主成分分析(principal component analysis,PCA)得到最終的車型圖像特征。文[9]提出一種基于變換半環(huán)投影(transformations-semi-ring-projection,TSRP)和離散小波變換(discrete wavelet transformation,DWT)分形特征融合的圖像特征表示方法。變換環(huán)投影(transformation-ring-projection,TRP)具有尺度和二維旋轉不變性,可以將二維模式轉換為一維模式。選擇TRP作為基本工具從二進制文件中獲得車輛的形狀特性,使用4次TRP在車輛圖像平面上的不同位置獲得四個一維模式,利用DWT將四個一維模式分解4個層次,得到四個近似信號,然后計算Boxdimensions并生成形狀描述符。
3.1.2 特征融合及稀疏編碼
近年來,研究者們發(fā)現(xiàn)將車型圖像的底層特征融合并進行稀疏編碼,對車型分類效果較好。稀疏編碼代價函數(shù)定義為
文[10]在2009年提出用稀疏編碼對線性空間金字塔匹配(spatial pyramid matching,SPM)對圖像進行分類的方法。通過構造與自然圖像局部區(qū)域相一致的高維抽象的圖像特征,稀疏特征表示備受青睞,基于稀疏編碼的圖像分類,在一些公開的數(shù)據(jù)集,如 NORB,Caltech,MNIST,ImageNet中,準確度最高。于是,文[11]對車輛圖像進行稀疏特征表示,用學習字典的稀疏線性組合來表示車輛圖像,除了少數(shù)非零值外,大部分對應系數(shù)都消失了,稀疏編碼特征揭示了車輛圖像的自然稀疏性的最基本的特征。文[12]將得到的稀疏特征直方圖進行空間金字塔池化來表示圖像。文[13]在前人的基礎上,引入核方法,提出一種中心增強SPM(center enhanced SPM,CE-SPM)的核稀疏表示來表征車輛圖像特征的方法。
文[14]先得到方向梯度直方圖(histogram of oriented gradient,HOG)和 HU 矩(HU Moments)這樣的空間局部信息,然后把這些空間局部信息稀疏表示,最后得到圖像特征。文[15]先對圖像提取尺度不變特征(scale invariant feature transform,SIFT),再對SIFT特征進行稀疏編碼,然后對編碼后的SIFT特征進行多尺度空間最大池化(max pooling),得到圖像局部特征。圖像全局結構特征用顏色密度值表示,最終將局部特征和整體顏色特征結合構成圖像的特征表示。
文[16]在2012年提出一種三維模型匹配方法來表示圖像特征。文[17]2013年提出一種三維圖像表示方法。在車輛的三維外觀表面進行補丁采樣,然后在修正補丁上密集地采樣了RootSIFT[18]描述符,進而可以得到一個三維金字塔(3D spatial pyramid,SPM-3D)和三維氣泡銀行(3D bubble bank,BB-3D),接著分別通過三維池化,得到相應三維特征表示。
文[19]在2016年提出了一種在車輛的三維模型上提取矢量長度和角度特征的方法。通過跟蹤車輛上的兩個興趣點(points of interest,PoI),可以讓這些點組成三維幾何圖形,這對于每類車型是獨一無二的。通過技術興趣點間的矢量長度和角度,得到車輛圖像的表示特征。他在2017年對該方法進行了改進增強,將兩個興趣點擴展到三個興趣點,并增加了多個歐拉角等額外的特征矢量。
從BIT-Vehicles數(shù)據(jù)集中隨機選取660張車型圖像,每類車型圖像110張,用每類中50張圖像作訓練集,剩余的作測試集。分別提取車型圖像的小波和HOG直方圖特征,HOG直方圖和HU矩特征,SIFT特征,然后用標準SVM進行分類。分析不同特征提取方法的性能。
三種不同特征提取方法的分類效果如表3所示。其中B1~B6分別表示公共汽車、微型客車、小型貨車、轎車、運動型多功能車和卡車。mAP是平均分類精度,因為訓練和測試時的數(shù)據(jù)是隨機的,所以選取10次試驗的平均值。由表3中可以看出,圖像的小波和HOG直方圖特征的分類平均準確度是72.17%,比其他兩種特征提取方法都高。是因為:小波特征是紋理特征,HOG和HU矩是形狀特征,小波和HOG融合是兩種不同類型特征的融合,而HOG和HU矩是同一類型的特征,融合起來效果沒有不同類型特征融合的效果好。對圖像提取單特征(SIFT特征)進行分類,分類準確度為61.37%,不及兩種特征融合的方法。
表3 不同特征提取方法分類結果(%)
B6 75.36 76.79 65.36 mAP 72.17 69.49 61.37
圖5展示了每類車型三種不同的特征提取方法的AUC值對比結果。對于客車、轎車和卡車,用小波和HOG特征與HOG和HU矩特征進行分類,效果較好,是因為這三種車型的外形差異較大。而對于微型客車、小型貨車和運動型多功能車,這幾種特征提取方法的分類效果均不理想,是因為這幾種車型相似度大。
圖5 第i類圖像的AUC值
圖6 中給出卡車圖像小波和HOG特征、HOG和HU矩特征和SIFT特征的ROC曲線和AUC值,可以看出,基于卡車的小波和HOG特征和HOG和HU矩特征的分類性能都較好,且分類性能比較相近。但基于SIFT特征的分類性能差。
圖6 卡車的ROC曲線和AUC值
文[20]用反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡在視頻圖像中進行車輛分類,達到了86%的正確率。文[21]從視頻中獲取了1000張車輛圖像用BP神經(jīng)網(wǎng)絡分類,正確率達到93.60%。文[22]用神經(jīng)網(wǎng)絡將包含5類共622張車輛圖像進行分類,正確率為 91.50%。文[23]用量子神經(jīng)網(wǎng)絡(quantum neural network)進行車輛分類,在120張的數(shù)據(jù)集中把車分為4類,正確率達到96.70%。
文[24]提出一種基于視覺注意力(visual attention)的 CNN(convolutional neural network)模型,簡稱為“CNNVA”。該模型采用強化學習(reinforcement learning)算法對視覺注意力進行可視化處理,通過對車輛圖像的引導索引和視覺關注來捕獲車輛圖像的關鍵區(qū)域,然后送入CNN進行分類。在CompCars數(shù)據(jù)集上進行分類訓練,達到了96.40%的正確率。文[25]從監(jiān)控視頻中獲得車輛圖像,用CNN對有標簽圖像進行分類訓練,正確率達到 98.79%。文[26]使用 JF(Jint Fine-tuning)[27]微調整個CNN模型。傳統(tǒng)的dropout[28]算法是防止深度神經(jīng)網(wǎng)絡的過擬合,作者提出droping CNN算法,最大化JF的性能,以提高分類正確率。
文[29]用深度置信網(wǎng)絡(deep belief network,DBN)把車輛分成四類,準確率達到89.53%。
(1)K最近鄰
K最近鄰(K-nearest neighbors,KNN)算法是1968年由Cover和Hart提出,應用在字符識別、文本分類、圖像識別等領域。KNN是通過測量不同特征值之間的距離進行分類。選取未知樣本x的k個近鄰,在這k個近鄰中,大多數(shù)屬于哪一類,就把x歸為哪一類。其優(yōu)點是實現(xiàn)簡單,分類結果比較好。其主要缺點是對計算機的存儲量和計算量的要求很大,耗費大量測試時間;沒有考慮決策的風險;對其錯誤率的分析都是建立在漸進理論基礎上的。文[30]運用三維點云(3D point cloud)特征用KNN模型將車分為摩托車和汽車兩類,正確率達到95.80%。
(2)支持向量機
支持向量機 (support vector machine,SVM)[31-32],通過找到一個分類平面,將數(shù)據(jù)分隔在平面兩側,從而達到分類目的。如圖7所示,空心點和實心點分別代表不同的類別,直線是分類線。SVM有線性和非線性兩種。非線性SVM分類器在訓練中有O(n3)的計算復雜度,在測試中有O(n)的計算復雜度。高計算復雜度意味著非線性SVM分類器在實際應用中的可擴展性差,訓練規(guī)模通常很大。與此相反,線性SVM分類器在訓練中的計算復度較低,并且在測試中具有恒定的復雜度,其顯著低于非線性SVM。文[33]對車輛圖像稀疏編碼后的SIFT特征進行線性SVM分類,把車分為六類,準確率達到96.12%。文[34]將車輛圖像的HOG特征送入線性SVM分類器,錯誤率是10%。
圖7 SVM的最優(yōu)分類線
表4中給出了基于深度學習的分類方法和傳統(tǒng)機器學習的分類方法對照??梢钥闯?,在基于深度學習的分類方法中,用CNN進行分類,分類效果最好,但其對硬件設備要求高,所需的訓練數(shù)據(jù)量大,耗費時間長。傳統(tǒng)的SVM分類,若提取的特征恰當,分類效果也較好,其分類能力可以和CNN媲美,但是不適用于大樣本數(shù)據(jù)。同樣是二分類,KNN的分類效果比BP神經(jīng)網(wǎng)絡好,說明樣本類數(shù)少時,傳統(tǒng)的分類方法要比神經(jīng)網(wǎng)絡效果好,但是KNN要耗費大量測試時間。
表4 各種分類算法結果對比
文中介紹了近些年來,對于車型分類問題,研究人員常用的特征提取方法和分類方法,在數(shù)據(jù)集上實驗,結果較好。但是,在現(xiàn)實中由于光照、天氣、攝像頭清晰度等因素,從監(jiān)控視頻中獲取來的圖像不清晰,這對圖像的特征提取造成很大干擾,需要進一步研究更加有效的特征提取方法,例如將傳統(tǒng)的特征提取技術和深度學習相結合等。對于極相似車型的分類還不夠準確,因此,細粒度車型分類算法也還有待于探索研究。