吳樂平,竇祥星
(南京旭上數控技術有限公司,江蘇南京,211100)
車輛檢測和車型分類具有廣闊的應用前景,例如,車輛類型分類已廣泛應用于智能交通系統中的交通流統計,并且在解決城市車輛管理,城市交通管制等問題中發揮著關鍵作用。
交通車輛監控中常見的車輛檢測與分類方法主要有基于傳統SIFT特征提取方法實現特征匹配分類,采用基于Harris特征與SIFT特征結合的方式實現車型識別[1],采用空間金字塔特征并結合Adaboost分類器的方式對車輛進行檢測[2];基于高斯混合模型的移動車輛檢測方法,通過粒子群編碼,采用粒子群與云模型的混合模型實現車型分類;基于車牌分類方法[3],基于方向梯度直方圖特征(HOG)的SVM監控視頻分類方法。通過使用車前輪廓,擋風玻璃,后視鏡和車牌的特征來實現車輛類別分類[4]。
雖然上述算法在目標檢測分類任務中已經取得了良好的效果,但由于一些不同車型具有相似的外觀特征,而且車輛識別尺度只在車輛目標分類層面,并且只能實現對特定角度拍攝的車輛圖像進行檢測和分類,上述方法難以滿足車輛檢測識別要求。本文提出的基于Faster R-CNN的卷積神經網絡車輛檢測和分類方法滿足了道路車輛檢測分類的要求[5],實現從不同角度檢測車輛,并對車輛進行檢測和分類。
為了驗證模型在車輛分類測試中獲得更好的泛化能力,車輛分類系統需要能夠識別在不同的顏色,視覺和場景下的同類型車輛。為了驗證模型在車輛分類測試中獲得更好的泛化能力,車輛分類系統需要能夠識別在不同的顏色,視覺和場景下的同類型車輛。斯坦福大學的車輛分類數據集包含從自然場景或網絡上收集的16,185張圖像,其中有8,144張經過校驗的訓練圖像和8,041張測試圖像[6],這些圖像包含196種車型。然而,我們發現該數據集中相同車型的訓練圖片很少,并且相同車型分類準確度較低。因此,我們將這196種車型分為 7大類,即大眾(Volkswagen),奧迪(Audi),雪佛蘭(Chevrolet),寶馬(BMW),福特(Ford),梅賽德斯 - 奔馳(Mercedes-Benz)等7種車型,從而擴大了每種車型的樣本數量。由于該數據集主要是從國外車輛圖片中收集的,包含國內車型的樣本較少,因此利用國內車輛類型的車輛數據集測試所提模型的泛化能力,我們在原有數據集中擴充3909輛國內車輛圖像的數據。
本文所提的基于卷積神經網絡的車輛檢測與分類模型是,首先通過區域分割從含有車輛的圖像背景區域提取車輛區域,去除背景噪聲以提高識別精度,然后利用卷積神經網絡對大量車型標簽圖像集的特征提取和分類訓練,從而實現不同視角識別車輛類型的任務。此外,我們比較分析車輛檢測過程中的選擇精度[7],識別精度和實時性等性能指標。在車輛檢測訓練過程中,當將參數“NegativeOverlapRange”(候選區域與圖像標記區域之間的重疊比率作為負訓練樣本的間隔)設置為 [0,0.3] 時,“PositiveOverlapRange”(候選區域與圖像標記區域之間的重疊比率作為正訓練樣本的間隔)為[0.7,1],車輛檢測的準確度最高。將檢測到的車輛區域將被送到車輛類型分類網絡從而將車輛檢測和車輛類型分類模塊級聯起來[8]。本文提出的方法有助于避免車輛識別過程中背景區域的干擾,從而實現更精確的車型分類。我們比較分析了不同分類網絡模型的損失函數與精度曲線,以及各種車型的分類結果。
Faster R-CNN的提出解決R-CNN在目標檢測和識別方面的一些問題,1)R-CNN檢測算法是分階段進行,提取候選幀耗時較長;2)訓練階段數據存儲占用空間較大;3)目標檢測速度慢。Faster R-CNN引入區域生成網絡(RPN), RoI 池化層等優化措施,具體過程如下:1)使用區域生成網絡生成區域候選幀,和整個檢測網絡共享卷積特征,從而減少生成區域候選幀的耗費時間;2) RoI池化層將整個圖像直接歸一化到深度網絡中,只在網絡層的末端對每個候選區域進行處理,有效避免了對候選幀同一區域的特征進行多次卷積特征提取的冗余操作;3)深度網絡可以實現目標分類和位置的精確調整,不需要額外存儲空間;4)通過RoI Pooling層我們已經得到所有候選區組成的特征向量,然后送入全連接層和softmax計算每個候選框具體屬于哪個類別,輸出類別的得分,同時再次利用框回歸獲得每個候選區相對實際位置的偏移量預測值,用于對候選框進行修正,得到更精確的目標檢測框定義兩個同級輸出,一個生成檢測目標對象類別和“背景”類別,另一個是檢測目標精確的邊界框位置。
Faster R-CNN算法,主要分為四個步驟:
(1)卷積層特征共享
作為一種基于卷積神經網絡的目標檢測方法,利用基本卷積層提取輸入圖像的特征圖,并將其共享給后續的RPN層和全連通層。
(2)區域生成網絡(RPN)
RPN是一個完整的卷積網絡,它輸出一組候選區域和每個候選區域屬于檢測目標的得分。共享卷積層輸出卷積特征圖上的滑動小網絡完全連接到輸入卷積特征圖的n×n窗口。每個滑動窗口映射到一個低維向量,然后輸出到同級回歸層和分類層。對于尺寸大小為W×K的卷積特征,共有W×K個候選幀。
(3)目標檢測網絡
目標檢測部分主要是由空間金字塔池化網絡組成[9]。1)池化層被視為單層空間金字塔。2)對原始圖像只進行一次卷積,得到整幅圖像的特征,并加到候選框中。將每個候選幀的卷積特征輸入到下一層。利用固定H×W大小空間范圍,提取出H×W大小的RoI子窗口。并將這些子窗口通過最大池映射到相應的網格單元。
(4)目標分類
利用候選框的特征圖計算其分類類別,再通過邊界框回歸得到檢測框的最終精確位置。多任務RPN訓練損失函數如公式(1)所示。

i是每一批樣本中一個候選框的索引,pi is是候選框i一個目標的概率,the prediction probability of the target.如果候選框區域屬于前景目標,則標記為1,如果候選框區域是背景目標則為0,vi是回歸邊框4個坐標的參數向量,是前景目標候選框區域的坐標向量。
在實驗中,我們使用R-CNN和Faster R-CNN目標檢測算法檢測前景目標訓練集圖像和前景目標的車輛區域,并且這兩種檢測算法使用AlexNet卷積網絡模型,AlexNet結構。
AlexNet網絡的前五層是卷積層,后三層是全連接層。卷積層由卷積層與池化層交替連接組成,卷積核最大尺寸為3×3,步長為2×2。在AlexNet中,池化層用于減少神經元的數量,卷積網絡計算量并防治網絡過擬合。使用ReLU作為激活函數更容易計算網絡的前向傳播并反向梯度函數,還有助于避免指數和除法等復雜計算。丟棄輸出小于0的隱藏層神經元以增加網絡稀疏性并減輕過擬合。我們調整實驗中的AlexNet網絡結構,并輸出提取的車輛區域。
為了實現對車輛區域檢測后的車型分類識別,將車輛檢測算法得到的車輛前景區域引入到另一個卷積神經網絡進行車型識別。卷積神經網絡使用一定數量的卷積核并以一定的步長滑動對輸入圖像進行卷積操作以提取卷積層中的特征。每個卷積核關注檢測區域的不同特征,因此卷積操作可以獲得不同的特征映射。將這些特征映射傳遞到下層卷積層,然后下層卷積層使用一定數量的卷積核來提取上層的特征映射,此操作將重復進行,獲得卷積核的權重參數。然后將卷積層與全連接層相連,全連接層對提取的車型特征進行分類。利用基于深度卷積網絡的方法,可以提取到被傳統方法忽略的特征,可以明顯提高車型識別精度。在車型分類中,我們對AlexNet,Vggnet16,Vggnet19,GoogLenet,Resnet50,Resnet101等分類模型進行研究。為了進一步提高車型檢測識別的實時性,將從每次車型檢測中的車型檢測區域圖像,同時將檢測到的候選區域圖像一起截取,并送到車型分類網絡。
本實驗所用的計算機內存為64G,GPU為Georce GTX 1080 Ti,軟件系統為matlab 2017b。數據集采用斯坦福大學提供的8041張圖片對測試模型進行測試。為了分析每個模型的具體訓練過程,我們給出每個檢測分類網絡訓練損失函數曲線和精度曲線。比較分析損失函數曲線和精度曲線,我們發現Resnet-101在所有模型中訓練收斂最快,其最快的損失接近于零精度,其最快的準確度接近100%。
實驗結果表明,基于Faster R-CNN進行車輛目標檢測方法,能夠將特征提取,候選ROI區域邊界生成,線性回歸和分類集成一個網絡結構中,從而大大提高了網絡的檢測速度,其檢測時間損耗只有原網絡的1/12。對于車輛分類識別網絡結構,在訓練過程中我們略微調整幾個網絡和網絡參數,并收集相關的訓練實驗信息,比較和分析了R-CNN和Faster R-CNN兩種檢測結構的準確率。在測試集得到的實驗結果如表1所示,精度計算公式如(2)所示。

其中,CR表示模型識別準確率,CN表示正確分類樣本數,EN表示錯誤分類樣本數,TN表示樣本總數。
為了更好地理解不同網絡結構在級聯Faster R-CNN的情況下的車型分類和識別性能。針對不同卷積網絡模型車型類別的識別準確度,AlexNet的車型識別平均準確率為50.44%,Vggnet-16的車型識別平均準確率為74.05%,Vggnet-19的車型識別平均準確率為79.80%,GoogLenet的車型識別平均準確率為75.05%,Resnet-50的車型識別平均準確率為77.13%,Resnet-101的車型識別平均準確率為78.40%。
本文研究了基于卷積神經網絡的城市交通視頻監控中的車輛檢測與車型識別。實驗結果表明,通過增加訓練數據集,修改參數和更換模型,有助于提高車輛識別分類率,減小識別時間。我們可以不斷補充和完善實際交通監控中的訓練數據集,進一步提高模型分類的準確性。在未來研究中,我們將考慮在實際交通流量檢測中驗證使用該方法,并進一步提高實時算法的準確性和魯棒性,從而更好地解決實際交通中的車輛檢測與車型識別問題。