王建勇
(四川大學(xué)計算機學(xué)院,成都 610065)
近年來,我國高速公路建設(shè)飛速發(fā)展,截至2005年底我國的高速公路網(wǎng)的骨架已經(jīng)基本形成,越來越多的人開始關(guān)注“高速公路安全,快速服務(wù)”等問題。目前大部分高速公路的收費模式采用“人工收費,計算機輔助”的收費模式,這種以人工占主導(dǎo)地位的收費模式,很容易出現(xiàn)司乘人員逃費的現(xiàn)象和交通擁堵現(xiàn)象。為提高高速公路的運行效率,研發(fā)自動收費系統(tǒng)勢在必行。車輛的車型是收費的重要依據(jù),自動車型識別是自動收費系統(tǒng)的關(guān)鍵組成部分。
自動車型識別方法一般可以分為兩類:基于硬件的方法和基于軟件的方法?;谟布姆椒ǎ缏裨O(shè)光柵,成本高,維護困難。因此基于軟件的方法,逐漸興起。高速公路已經(jīng)形成龐大的攝像頭網(wǎng)絡(luò),如何利用這些視頻大數(shù)據(jù)實現(xiàn)車輛車型自動識別,是一個值得研究的課題。
本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的車型識別方法并取得了較高的車型識別準確率。我們首先清洗了從高速公路獲取的車輛視頻大數(shù)據(jù),構(gòu)建了車型識別數(shù)據(jù)集;進而設(shè)計了兩種深度卷積神經(jīng)網(wǎng)絡(luò)用于車型識別數(shù)據(jù)分析;最后基于PyTorch神經(jīng)網(wǎng)絡(luò)開源框架實現(xiàn)了所提出的方法,并取得94.6%的識別準確率。
車型識別數(shù)據(jù)集的構(gòu)建是研發(fā)車型識別算法的基礎(chǔ)。我們從多個高速公路收費站的監(jiān)控錄像中獲得了海量的車輛視頻數(shù)據(jù),這些視頻數(shù)據(jù)中記錄了每輛車從進入收費站到完成收費的所有畫面,而且包含了對應(yīng)車輛的車型信息。
我們首先根據(jù)車輛將監(jiān)控數(shù)據(jù)分割為多個片段,并將其轉(zhuǎn)化為圖像序列。為了消除光照變化和攝像頭背景的影響,我們將圖像轉(zhuǎn)化為灰度圖像然后將相鄰兩幀做差值,最后形成車型識別數(shù)據(jù)集。該數(shù)據(jù)包含7類車型數(shù)據(jù),其中,貨1、貨2、貨3、貨 4、客 1、客 2和客3 分別包含 475、136、79、529、1032、108 和 133 張圖像。
卷積神經(jīng)網(wǎng)絡(luò)是一種特殊的神經(jīng)網(wǎng)絡(luò)模型,它模擬了大腦視網(wǎng)膜神經(jīng)網(wǎng)絡(luò)的信息處理機制,對圖像數(shù)據(jù)具有很強的處理能力。從2012年開始,基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別方法在大規(guī)模圖像識別挑戰(zhàn)賽Ima?geNet上蟬聯(lián)冠軍,其中VGG神經(jīng)網(wǎng)絡(luò)和ResNet神經(jīng)網(wǎng)絡(luò)是如今使用最為廣泛的兩類網(wǎng)絡(luò)。
圖1 VGG-11網(wǎng)絡(luò)和ResNet-18網(wǎng)絡(luò)的準確率曲線(上圖)和loss曲線(下圖)其中藍色線條表示VGG-11,而橙色線條表示ResNet-18
圖1 VGG-11網(wǎng)絡(luò)和ResNet-18網(wǎng)絡(luò)的準確率曲線(上圖)和loss曲線(下圖)。其中藍色線條表示VGG-11,而橙色線條表示ResNet-18車型識別是一種圖書的圖像分類任務(wù)。本文擬借鑒VGG網(wǎng)絡(luò)[1]和ResNet網(wǎng)絡(luò)[2],實現(xiàn)車型識別算法。其中,VGG網(wǎng)絡(luò)含有11層,記作VGG-11,而ResNet含有 18層,記作ResNet-18。網(wǎng)絡(luò)的基本構(gòu)成包括:卷積層、ReLu激活層和Batchnorm層。卷積層的計算模型為:
其中,E[x]和Var[x]為整個數(shù)據(jù)集上的期望和方差。據(jù)此,我們可以很簡單地得到VGG-11和ResNet-18的計算模型。
VGG-11網(wǎng)絡(luò)和ResNet-18網(wǎng)絡(luò)需要在車型識別數(shù)據(jù)集上訓(xùn)練來得到網(wǎng)絡(luò)參數(shù)。這里,我們使用crossentropy作為網(wǎng)絡(luò)的性能函數(shù),然后使用梯度下降算法更新網(wǎng)絡(luò)參數(shù),以使得網(wǎng)絡(luò)輸出逼近網(wǎng)絡(luò)的目標輸出。換言之,網(wǎng)絡(luò)能正確地輸出所輸入車輛圖片對應(yīng)的車型。
實驗設(shè)置:本文使用PyTorch開源框架來實現(xiàn)VGG-11網(wǎng)絡(luò)和ResNet-18網(wǎng)絡(luò),編程語言為Python。所有的算法均運行在相同的服務(wù)器上,其配置為:Intel i7 CPU、4塊NVIDIA P100 GPU、64G RAM。網(wǎng)絡(luò)訓(xùn)練過程中batch_size設(shè)置為64、優(yōu)化器選擇Adam,學(xué)習因子為0.001。
實驗數(shù)據(jù):我們將構(gòu)建的車型數(shù)據(jù)集按照4:1隨機劃分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集。網(wǎng)絡(luò)在訓(xùn)練數(shù)據(jù)將上進行學(xué)習,然后在測試數(shù)據(jù)集上測試性能。在車輛圖像輸出網(wǎng)絡(luò)之前均縮放到224×224。
實驗分析:圖1展示了VGG-11網(wǎng)絡(luò)和ResNet-18網(wǎng)絡(luò)在訓(xùn)練集上的學(xué)習性能。可以發(fā)現(xiàn)ResNet-18可以更好更快地取得較高的準確率和較低的loss值。表1和表2展示了兩種網(wǎng)絡(luò)在測試集上的混淆矩陣。據(jù)此可得,ResNet-18的測試準確率為94.6%,而VGG-11的測試準確率為93.0%。ResNet-18網(wǎng)絡(luò)取得更好的性能。
表1 ResNet-18在測試集上的混淆矩陣
表2 VGG-11在測試集上的混淆矩陣
本文構(gòu)建了車型識別數(shù)據(jù)集,并提出了基于神經(jīng)網(wǎng)絡(luò)的車型識別方法,驗證了VGG-11網(wǎng)絡(luò)和ResNet-18網(wǎng)絡(luò)的性能。實驗結(jié)果表明,ResNet-18網(wǎng)絡(luò)可以取得94.6%的識別準確率,具有一定的實用價值。