劉敦強,沈 峘,夏瀚笙,王 瑩,賈燕晨
(南京航空航天大學 能源與動力學院,江蘇 南京 210016)
近年來,汽車廠商推出的車型日益豐富,國內(nèi)汽車保有總量逐年攀升,導致汽車增長量與道路承載能力之間的矛盾愈發(fā)突出,道路堵塞、交通事故等問題層出不窮,一些重要路段的交通壓力也越來越大。汽車車型識別已經(jīng)成為了智能交通領(lǐng)域一個重要的研究內(nèi)容,可以為核心路段的交通監(jiān)控、交通事故責任判定等方面提供有力的技術(shù)支持。在實際的道路環(huán)境下,車輛圖像往往存在著多角度、遮擋、光照變化等影響因素,如何提取到適應于不同背景下的車輛特征也就成為了車型識別問題的研究重點。
目前,基于視覺的車型識別方法主要包括2類:第一類是基于匹配的方法[1]。這類方法主要包括特征匹配和模型匹配,前者需要提取相應的車輛特征,后者則對車輛圖像進行一個整體建模,最后使用對應的相似性準則判斷待檢測車輛的車型;另一類是基于統(tǒng)計分類的方法。文獻[2-4]使用了目標的角點特征;文獻[5-7]基于圖像的紋理特征進行分類;文獻[8-12]利用了圖像的局部特征和邊緣信息;文獻[13-14]基于模糊理論重建目標特征;文獻[15-16]以神經(jīng)網(wǎng)絡(luò)提取特征;文獻[17]對特征進行奇異值分解。
傳統(tǒng)車型識別方法提取的特征在復雜的背景下很難實現(xiàn)自適應,導致特征的可分性往往效果不佳,魯棒性也較差。與傳統(tǒng)的特征提取算法相比,卷積神經(jīng)網(wǎng)絡(luò)充分利用了多層次建模和大規(guī)模數(shù)據(jù)集訓練的優(yōu)勢,其模型學習到的特征可分性更好,同時針對各種環(huán)境的魯棒性也更強。
文中首先介紹卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和原理,然后分析深度卷積神經(jīng)網(wǎng)絡(luò)和深度殘差網(wǎng)絡(luò)對于卷積神經(jīng)網(wǎng)絡(luò)的改進思路,從而提出一種結(jié)合深度殘差網(wǎng)絡(luò)與類別中心正則化約束的車型識別方法。接著介紹數(shù)據(jù)集的選擇、制作以及數(shù)據(jù)預處理的方式。最后在總結(jié)全文的基礎(chǔ)上,指出下一步工作的研究方向。
卷積神經(jīng)網(wǎng)絡(luò)是一種典型的層次結(jié)構(gòu)模型,主要包括輸入層、中間層(例如卷積層、下采樣層、全連接層)、輸出層。為了實現(xiàn)非線性映射,層與層之間還需要相應的激活函數(shù)。卷積神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
卷積層使用的卷積核與輸入特征的局部區(qū)域相連,這與傳統(tǒng)的多層感知機[18]使用的全局連接機制有著顯著的區(qū)別。當同一個卷積核在輸入圖像上滑動采樣時,其參數(shù)一直保持不變,這種權(quán)值共享機制也是卷積神經(jīng)網(wǎng)絡(luò)區(qū)別于傳統(tǒng)的多層感知機的一個重要特征。通過權(quán)值共享機制,卷積神經(jīng)網(wǎng)絡(luò)可以極大地減少模型的參數(shù)規(guī)模。為了增加卷積層提取的特征的類型,一般卷積層需要設(shè)計多個卷積核,每一個卷積核負責提取一組特征。卷積操作的示意圖如圖2所示。
圖2 卷積示意
卷積操作的公式可以歸納為:
(1)
其中,f(·)表示激活函數(shù);Xl表示輸入特征;Xl+1表示輸出特征,C(·)表示卷積運算;b表示偏置項;M表示卷積核;θ表示卷積操作的參數(shù),包括卷積步長、卷積補零項等。以圖2為例,其卷積步長為一個像素,卷積補零項為空。
下采樣層是用于減少模型參數(shù),降低特征維數(shù)的一種操作。池化層也需要使用卷積核對輸入特征進行卷積運算,但是池化層使用的卷積核的參數(shù)是固定的,常用的池化操作包括均值池化和最大值池化。池化操作的公式為:
(2)
其中,Xl表示輸入特征;Xl+1表示輸出特征;D(·)表示下采樣運算;b表示偏置項;M表示卷積核;θ表示卷積操作的參數(shù),包括下采樣步長、下采樣補零項。
在早期研究中,學者們對卷積神經(jīng)網(wǎng)絡(luò)模型有過層數(shù)加深的嘗試,但是由于梯度消失、參數(shù)易陷入局部極小值等諸多困難難以克服,導致卷積神經(jīng)網(wǎng)絡(luò)的研究也隨之進入了低谷。直到Hinton等[19]提出了深度信念網(wǎng)絡(luò)(deep belief networks)模型,深層網(wǎng)絡(luò)模型才重新進入了發(fā)展的高峰期。
2012年,Hinton等[20]提出了AlexNet模型這一經(jīng)典的深度卷積神經(jīng)網(wǎng)絡(luò),其模型參數(shù)詳見圖3。
圖3 AlexNet網(wǎng)絡(luò)模型參數(shù)統(tǒng)計
圖中,Conv代表卷積操作;FC代表全連接操作;Max Pooling代表最大值下采樣操作。
相比于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò),AlexNet不僅增加了網(wǎng)絡(luò)的層數(shù),并且在以下4個方面做出了重要改進:
(1)使用線性修正單元作為新的數(shù)據(jù)非線性映射函數(shù);
(2)設(shè)計了局部規(guī)范化網(wǎng)絡(luò)作為新的數(shù)據(jù)規(guī)范化方法;
(3)定義了DropOut機制,忽略部分特征信息,降低網(wǎng)絡(luò)在訓練時發(fā)生過擬合的概率;
(4)在ImageNet數(shù)據(jù)集上進行訓練,同時結(jié)合GPU進行模型的并行運算,實現(xiàn)硬件加速。
AlexNet相比于較淺的卷積神經(jīng)網(wǎng)絡(luò)模型如LeNet[21],在分類性能上的提升非常大。這表明了在模型訓練完善的情況下,深層網(wǎng)絡(luò)模型的性能比相對較淺的網(wǎng)絡(luò)模型的性能更好。AlexNet的層數(shù)只有8層,還處在10層的量級,后續(xù)的一些研究工作在它的基礎(chǔ)之上將網(wǎng)絡(luò)深度拓展到20層的量級,這些模型的性能相比于AlexNet又有了較大的提升。
如果繼續(xù)使用文獻[22-23]中的拓展網(wǎng)絡(luò)層數(shù)的方法,當模型的層數(shù)拓展到20層以上,訓練完善的模型的性能根據(jù)之前的經(jīng)驗應該還會有一定的提升。為了驗證這一猜測,He等在文獻[22]的基礎(chǔ)上設(shè)計了2個深度卷積神經(jīng)網(wǎng)絡(luò),其中相對較淺的網(wǎng)絡(luò)模型設(shè)計成20層,另一個較深的網(wǎng)絡(luò)設(shè)計成56層,在ImageNet數(shù)據(jù)集上同時訓練兩個網(wǎng)絡(luò)模型直到模型收斂,同時測試集上也沒有出現(xiàn)過擬合的現(xiàn)象。最終的實驗結(jié)果顯示,更深層模型的分類損失反而比相對較淺的模型的損失要大,更深層模型在測試集上的精度也不如相對較淺的模型的精度高。
這種退化現(xiàn)象說明當深層網(wǎng)絡(luò)模型的層數(shù)超過某一量級時,其優(yōu)化過程比相對較淺的網(wǎng)絡(luò)更加困難,即使在網(wǎng)絡(luò)中使用適當?shù)臄?shù)據(jù)規(guī)范化操作也很難使得相對較深層網(wǎng)絡(luò)模型收斂到合適的參數(shù)。
針對上述存在的問題,He等[24]提出了深度殘差網(wǎng)絡(luò)模型。深度殘差網(wǎng)絡(luò)以殘差單元為組成單位,其結(jié)構(gòu)如圖4所示。
圖4 殘差學習單元示意
殘差單元不僅將上一層的輸入通過非線性函數(shù)映射到下一層,同時將上一層的輸入也直接映射到下一層,相當于在原始的單分支模型的基礎(chǔ)上增加了輸入數(shù)據(jù)的恒等映射分支。當上一層的輸入和下一層的輸入的維度不一致時,深度殘差單元需要以下一層的維度為基準對上一層的輸入進行仿射變換。殘差單元內(nèi)部使用了Ioffe等[25]提出的批量正則化方法(batch norm)對數(shù)據(jù)進行規(guī)范化,同時需要結(jié)合尺度調(diào)整(scaling)操作一起使用。兩個支路之間的數(shù)據(jù)的處理方法可以使用逐元素相加或者向量內(nèi)積(inner product)運算。
深度殘差網(wǎng)絡(luò)使用的捷徑連接(shortcut connection)沒有增加新的參數(shù),其計算復雜度與沒有殘差單元的普通深度卷積神經(jīng)網(wǎng)絡(luò)基本一致,因此深度殘差網(wǎng)絡(luò)的層數(shù)在很深的情況下也可以保持較快的計算速度;同時,殘差單元的引入又可以很好地幫助深度卷積神經(jīng)網(wǎng)絡(luò)完成優(yōu)化的工作,提高模型的性能。
基于上述深度殘差網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu),文中的深度殘差網(wǎng)絡(luò)使用了5個殘差單元,共有34層,每一個殘差單元的結(jié)構(gòu)與圖4所示的結(jié)構(gòu)一致。接著使用2個全連接層以提取全局特征,最后的輸出層測試時預測輸入圖像的類別,訓練時作為類別損失項和中心化損失項的輸入。整個深度殘差網(wǎng)絡(luò)模型的結(jié)構(gòu)如圖5所示。
圖5 殘差網(wǎng)絡(luò)示意
實際的訓練過程中,訓練數(shù)據(jù)的分布十分復雜。在Softmax機制下,數(shù)據(jù)對應的特征空間的分布同樣會比較復雜,同類別數(shù)據(jù)在特征空間中的距離比不同類別數(shù)據(jù)在特征空間中的距離更大的現(xiàn)象較為普遍。這種不利因素會削弱模型的分類性能。為此,文中在深度殘差網(wǎng)絡(luò)的基礎(chǔ)上,借鑒了Wen等[26]提出的類別中心正則化約束,利用相關(guān)任務(wù)協(xié)調(diào)訓練的方法進一步提高模型的分類性能。
整個訓練過程使用兩個不同的數(shù)據(jù)集分別進行訓練。
首先,在網(wǎng)上搜集了100種國內(nèi)常見車型共5 000張圖像作為初始訓練樣本,包括寶馬、奔馳、通用、豐田、長安等眾多車系,且每一種車型的樣本量在50張左右,避免了類別之間出現(xiàn)不夠均衡的情況。
其次,使用斯坦福大學公開的車型數(shù)據(jù)集作為第二步訓練的樣本。該數(shù)據(jù)集整理了196種汽車品牌共16 185個樣本,其中訓練集有8 144張圖像,測試集有8 041張圖像。
在已有數(shù)據(jù)集的基礎(chǔ)上,使用數(shù)據(jù)增強技術(shù)(data augmentation)進一步改善數(shù)據(jù)集的質(zhì)量。
首先是對圖像基礎(chǔ)特征的增強,主要包括圖像的顏色、飽和度、亮度和對比度等特征;其次是使用翻轉(zhuǎn)、鏡像等基本的圖像處理技術(shù)來擴充數(shù)據(jù)集;接著使用隨機剪切的方法在原始圖像上切出一系列的子區(qū)域作為新的訓練樣本;最后,借鑒了AlexNet在數(shù)據(jù)處理時使用的PCA Jittering,即先計算整個訓練集的RGB三個顏色通道的均值、標準差和協(xié)方差矩陣,再對輸入數(shù)據(jù)添加一定的高斯擾動噪聲。
在訓練時使用了難分負樣本挖掘方法。難分負樣本挖掘方法首先設(shè)置負樣本篩選比例,然后根據(jù)模型前向運算得到的損失挑選較大的損失樣本繼續(xù)訓練,忽略對模型參數(shù)貢獻較小的樣本。實驗中,分類損失任務(wù)的負樣本篩選比例為0.7,損失比重設(shè)置為1;類別中心損失任務(wù)的負樣本篩選比例為0.8,損失比重設(shè)置為0.008。
在訓練模型時,使用批量梯度下降法作為模型的優(yōu)化算法,其中每一批量的訓練樣本數(shù)為256個??偟牡螖?shù)為20個epoch(1個epoch代表總的訓練樣本對1個訓練批量的商),每經(jīng)過1個epoch再次隨機打亂訓練樣本。學習率參數(shù)采用階梯下降策略,其初始值設(shè)為0.01,經(jīng)過10個epoch和16個epoch時分別下降一次,下降因子為0.1。
Caffe是目前幾種流行的開源深度學習框架中比較經(jīng)典的一種,對于各種網(wǎng)絡(luò)模型的支持性也比較好,操作的便捷性比較高。因此,選擇Caffe作為實現(xiàn)整個算法的深度學習工具。
在對比實驗中,選擇了幾種具有代表性的算法在斯坦福大學的車型數(shù)據(jù)集的測試集中進行了比較。其中,ResNet_Vehicle是指文中設(shè)計的深度殘差網(wǎng)絡(luò),Center Loss指代中心化損失,SIFT算法使用了VLFeat開源庫的代碼,SVM算法使用了LIBSVM開源庫的代碼。最終的對比實驗結(jié)果如表1所示。
表1 幾種車型識別算法實驗結(jié)果對比
在深度殘差網(wǎng)絡(luò)的基礎(chǔ)上,文中設(shè)計了一種用于車型識別的深度卷積神經(jīng)網(wǎng)絡(luò),充分利用了深層網(wǎng)絡(luò)模型和殘差學習單元的優(yōu)勢,實驗結(jié)果也證明了模型對于車型識別問題的有效性。盡管最終的實驗結(jié)果比較理想,但是文中的工作仍然存在著一些不足之處。第一個方面是數(shù)據(jù)集。首先,用于訓練的樣本量較少,還沒有充分利用深層網(wǎng)絡(luò)模型的學習能力;其次,樣本中的車型圖像大多是整車,且拍攝的角度絕大多數(shù)是正面和側(cè)面,俯視角度的樣本很少。第二個方面就是網(wǎng)絡(luò)模型的設(shè)計。雖然深度殘差網(wǎng)絡(luò)模型在實驗中已經(jīng)達到了很高的精度,但是仍然存在著提升空間,還可以考慮在深度殘差網(wǎng)絡(luò)的基礎(chǔ)上引入空間轉(zhuǎn)換網(wǎng)絡(luò)操作等新的功能層等。因此,接下的工作可以圍繞上述兩個方面展開進一步的研究。
參考文獻:
[1] SULLIVAN G S, BAKER K D, WORRALL A D,et al.Model-based vehicle detection and classification using approximations[J].Image and Vision Computing,1997,15(8):649-654.
[2] 周愛軍,杜宇人.基于視頻圖像Harris角點檢測的車型識別[J].揚州大學學報:自然科學版,2008,11(1):67-70.
[3] 康維新,曹宇亭,盛 卓,等.車輛的Harris與SIFT特征及車型識別[J].哈爾濱理工大學學報,2012,17(3):69-73.
[4] 秦克勝.基于圖像處理的車型識別技術(shù)研究[D].青島:青島科技大學,2010.
[5] 馬 蓓,張 樂.基于紋理特征的汽車車型識別[J].電子科技,2010,23(2):94-97.
[6] RAHATI S,MORAVEJIAN R,KAZEMI E M.Vehicle recognition using contourlet transform and SVM[C]//Proceedings of the 5th IEEE conference on information technology.Washington DC,USA:IEEE Computer Society,2008:894-898.
[7] ZHANG G,AVERY R P,WANG Y.Video-based vehicle detection and classification system for real-time traffic data collection using uncalibrated video cameras[J].Transportation Research Record Journal of the Transportation Research Board,2007(1):212-216.
[8] 黃 燦.基于局部特征的車輛識別[D].上海:上海交通大學,2010.
[9] 文學志,方 巍,鄭鈺輝.一種基于類Haar特征和改進AdaBoost分類器的車輛識別算法[J].電子學報,2011,39(5):1121-1126.
[10] 萬文利,胡加佩,劉學軍.基于誤差橢圓的車型識別算法[J].計算機工程,2012,38(5):183-185.
[11] ZAFAR I,EDIRISINGHE E A,ACAR B S.Localized contourlet features in vehicle makes and model recognition[C]//Proceedings of SPIE.[s.l.]:[s.n.],2009.
[12] FERRYMAN J M,WORRALL A D,SULLIVAN G D,et al.A generic deformable model for vehicle recognition[C]//British conference on machine vision.[s.l.]:[s.n.],1995:127-136.
[13] 宋 丹,徐蔚鴻.基于模糊理論的車型識別[J].計算機技術(shù)與發(fā)展,2006,16(3):47-49.
[14] 耿彥峰,馬 鉞.基于模糊模式識別的車型分類研究[J].計算機工程,2002,28(1):133-135.
[15] 劉怡光,游志勝.一種用于圖像目標識別的神經(jīng)網(wǎng)絡(luò)及其車型識別應用[J].計算機工程,2003,29(3):30-32.
[16] 王 年,任 彬,黃 勇,等.基于神經(jīng)網(wǎng)絡(luò)的汽車車型圖象自動識別[J].中國圖象圖形學報,1999,4(8):668-672.
[17] 魏小鵬,于萬波,金一粟.奇異值方法用于汽車車型識別[J].中國圖象圖形學報,2003,8(1):50-53.
[18] RUCK D W,ROGERS S K,KABRISKY M,et al.The multilayer perceptron as an approximation to a Bayes optimal discriminant function[J].IEEE Transactions on Neural Networks,1990,1(4):296-298.
[19] HINTON G E,OSINDERO S,TEH Y W.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[20] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C]//International conference on neural information processing systems.[s.l.]:[s.n.],2012:1097-1105.
[21] LECUN Y,BOSER B,DENKER J S,et al.Backpropagation applied to hand written zip code recognition[J].Neural Computation,1989,1(4):541-551.
[22] SRIVASTAVA R K,GREFF K,SCHMIDHUBER J.Training very deep networks[C]//Advances in neural information processing systems.[s.l.]:[s.n.],2015:2377-2385.
[23] SZEGEDY C,LIU W,JIA Y,et al.Going deeper with convolutions[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.[s.l.]:IEEE,2015:1-9.
[24] HE K,ZHANG X,REN S,et al.Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.[s.l.]:IEEE,2016:770-778.
[25] IOFFE S,SZEGEDY C.Batch normalization:accelerating deep network training by reducing internal covariate shift[C]//International conference on machine learning.[s.l.]:[s.n.],2015:448-456.
[26] WEN Y,ZHANG K,LI Z,et al.A discriminative feature learning approach for deep face recognition[C]//European conference on computer vision.[s.l.]:Springer International Publishing,2016:499-515.
[27] LOWE D G.Object recognition from local scale-invariant features[C]//Proceedings of the seventh IEEE international conference on.[s.l.]:IEEE,1999:1150-1157.
[28] CORTES C,VAPNIK V.Support-vector networks[J].Machine Learning,1995,20(3):273-297.