茅正沖,韓毅
(江南大學 物聯網工程學院 輕工過程先進控制教育部重點實驗室,無錫 214122)
計算機視覺技術的車型識別應用研究*
茅正沖,韓毅
(江南大學 物聯網工程學院 輕工過程先進控制教育部重點實驗室,無錫 214122)
針對目前立體停車庫主要采用傳統的傳感器入庫檢測系統來識別車輛信息,存在施工周期長、器件損壞率較高,維護成本較高的問題,提出了一種應用計算機視覺技術的車型識別解決方案。應用卷積神經網絡框架Caffe,基于CaffeNet模型,通過fine-tuning模型優化以及參數優化,最終得到了一個性能較優異的識別模型。實驗結果表明,該模型可克服輸入圖片背景復雜多變,目標被遮擋的情況,對轎車車型識別這一問題魯棒性好,具有一定的可行性及應用價值。
模式識別;車型識別;卷積神經網絡;深度學習
隨著城市汽車數量的與日俱增,停車難成為日益突出的問題,而立體停車庫是解決城市停車難的有效措施。車輛入庫檢測系統為后期系統分配車庫提供信息,同時系統的超限檢測是車庫良好運行的重要保證。傳統的傳感器檢測系統[1]主要采用光電傳感器采集車輛的尺寸、車型等信息,存在施工周期長、器件損壞率較高、維護成本較高的弊端。隨著數字化技術的發展,計算機視覺技術在檢測方面得到了廣泛的應用。參考文獻[2]中通過計算機視覺實現了道路識別,取得了滿意的效果。參考文獻[3]中同樣采用SIFT算子提取特征,最近鄰點搜索匹配,實現了移動機器人的目標識別。計算機視覺技術就是利用攝像機以及電腦替代人眼使得計算機擁有人類的雙眼所具有的分割、分類、識別、跟蹤、判別決策等功能[4]。
深度學習(Deep Learning,DL)是機器學習(Machine Learning,ML)領域的主要研究方向之一,近些年來在計算機視覺、語音識別等應用中取得了重大突破[5-7]。深度學習的概念最早由多倫多大學的Hinton[8]等人于2006年提出,該團隊對傳統的人工神經網絡(Artificial Neural Network,ANN)算法進行改進,通過模擬人類大腦的多層抽象機制來對數據進行分類識別,其目的在于通過模擬人類大腦的神經結構分層處理圖像、聲音等信號。在圖像識別應用領域,深度學習充分利用低層特征得到更加抽象的高層屬性或特征,從而獲得數據本質性特征。深度學習是相對于支持向量機(Support Vector Machine,SVM)、提升方法(Boosting)、最大熵方法等“淺層學習”方法而言的,深度學習所習得的模型中,非線性操作的層級數更多[9]。支持向量機方法的理論基礎是統計學習理論中VC維理論結構風險最小原理,可根據有限的樣本信息在模型的復雜度和學習能力之間取最佳折中,以求良好的泛化能力,支持向量機分類的性能依賴于特征的提取,而深度學習通過原始數據無監督地學習特征,將學到的特征作為后續層的輸入。
典型的深度學習網絡模型有三類:卷積神經網絡(Convolutional Neural Network,CNN)模型、受限莫爾茲曼(Restricted Boltzmann Machines,RBM)模型以及堆棧式自動編碼機(Stacked Auto-encoder Network,SAN)模型[10]。本文主要研究的是卷積神經網絡。卷積神經網絡是一種有監督學習的深度學習模型架構,它是帶有卷積結構的深度神經網絡,并在真正意義上第一次成功實現了多層網絡的訓練,尤其適合處理二維數據問題。卷積神經網絡采用權值共享和非全連接,權值共享能在一定程度上避免過擬合,層與層之間非全連接可降低訓練參數數目,二者使卷積神經網絡在圖像處理方面具有較明顯的優越性。傳統的車型識別方法主要包括車輛檢測、特征提取、模式識別等處理,在復雜背景下分割出完整的目標車輛區域是識別處理過程中的難點。本文中采用的卷積神經網絡直接采用原始圖像作為網絡的輸入,輸入圖像主要通過卷積層、下采樣層、全連接層以及損失函數層處理,將特征提取與分類識別過程同時進行,克服了兩者在算法匹配上的困難。
卷積神經網絡主要由卷積層(Ci)和下采樣層(Si)交替重復來組成網絡結構,圖1為LeNet-5卷積神經網絡結構圖。

圖1 LeNet-5卷積神經網絡結構圖
1.1 卷積層
卷積運算通過提取信號的不同特征對輸入數據進行不同模式的觀測,該觀測模型稱為卷積核,源于D.H.Hubel等[11]人研究貓的視皮層細胞而提出的局部感受概念。每一個卷積層一般包含多個卷積核,用來提取不同的特征。卷積核用于提取單個輸入特征圖上的特定特征,實現該輸入特征圖上的權值共享,再通過求取多幅輸入特征圖卷積核運算結果的加權和,并由非線性計算輸出最終得到的輸出特征圖。傳統非線性函數通常采用Sigmoid、tanh或者softsign等飽和非線性函數,近年來多采用ReLU不飽和非線性函數。ReLU(rectified linear units)函數在訓練過程中可以獲得更快的收斂速度。卷積過程用公式表示如式(1)所示。常見的激活函數如式(2)~(5)所示。
(1)
(2)
(3)
(4)
ReLU: S(x)=max(0,y)
(5)
1.2 下采樣層
下采樣是對輸入特征圖進行平均池化(average pooling)或者最大池化(max pooling)操作,平均池化操作是依據定義的領域窗口計算局部像素的均值PA,最大池化是將均值PA替換成最值PM。下采樣可降低特征圖的分辨率,減少特征維數。下采樣過程如下所示:
(6)
式中,down(·)為池化函數,β為權重系數。
1.3 全連接層
全連接層中,每個節點與相鄰層的所有節點都有連接關系,全連接層反映若干卷積層提取的特征。全連接層如下所示:

(7)
式中,x為輸入節點組成的向量,W為權值矩陣,y為輸出向量。
1.4 反向傳播算法
反向傳播算法用來求取網絡權值,工程應用中大多采用隨機梯度下降(Stochastic Gradient Descent,SGD)法,通過計算樣本輸出誤差來計算樣本平均梯度,再根據梯度調節權值,直到目標函數平均值停止下降才停止更新。計算過程中將輸出特征圖與期望值比較求取誤差,通過導數鏈式法則將誤差傳遞到每一個節點,根據下面的權值更新式更新權值。
(8)
式中,Xi為輸入特征,α為學習率。對于最后一層:
(9)
式中,Tj為預期值,h′(X)為非映射函數導數。對于非最后一層:
(10)
式中,NL+1為輸出特征的數目。
Caffe(ConvolutionalArchitectureforFastFeatureEmbedding)是一種快速特征嵌入的卷積結構,它是由伯克利視覺與學習中心(BerkeleyVisionandLearningCenter,BVLC)開發的。Caffe具有代碼組織良好、可讀性強、易于進行工程部署等諸多優點,因此,本文采用Caffe框架來實現車型識別系統。針對立體車庫存放轎車的應用背景,本文將車型分為三個類別:運動型多功能車(SUV)、三廂小轎車以及兩廂小轎車。
2.1 系統網絡結構的構建
深度卷積神經網絡應用中一般需要大量圖片作為訓練樣本才可以得到滿意的分類效果,但在實際應用中獲取大量的圖片是有難度的,fine-tuning微調網絡是一個較理想的選擇。參考文獻[12]在圖片風格檢測中,微調網絡獲得了良好的分類效果。在本文的車型識別系統中,采用fine-tuning微調來構建識別網絡,使用ImageNet預訓練的CaffeNet模型參數作為權值初始化參數。CaffeNet模型如圖2所示。
CaffeNet模型有5個卷積層,能有效提取輸入圖片的特征,采用ReLU函數作為激活函數,收斂速度快,并引入了新的規整化技術——dropout。在訓練過程中,dropout將隨機使網絡中某些隱藏層節點權重不工作,保持當前權值不變,可有效防止模型過擬合。
Caffe框架提供了權值和模型參數的載體ProtoBuffer,可以通過描述文件高效便捷地更改模型結構及參數,將網絡中數據輸入層中文件路徑修改為當前實驗數據路徑。本文中要求的分類類別為3,因此重新構造第二個全連接層,設置全連接層輸出數目為3。該新構建的網絡層相較于其他層可設置較大學習速率,得到更好的訓練效果,設置該層學習速率倍乘因子為10。
2.2 網絡參數的優化
在網絡訓練過程中,權值的增量由求解器控制,本文中采用隨機梯度下降法。權值參數的求解是一個最小化損失函數的問題,對于給定的數據集D,損失函數是整個數據集中損失值的平均值[13],其定義如下所示:
(11)
其中,fw(X(i))為樣本X(i)上的損失函數,r(W)為規整項,λ為權重系數。在工程上,一般使用式(12)來代替,其中,小批量數據N<<|D|。
(12)

(13)
(14)

表1 CaffeNet模型訓練參數
伯克利視覺與學習中心的CaffeNet模型訓練參數如表1所列,batch_size代表批量數據大小,test_iter指預測階段迭代次數,二者的乘積應確保大于總的預測樣本數,test_interval表示每訓練1000次進行一次預測,base_Ir為學習速率,gamma為常量因子,是學習速率的衰減策略,momentum為遺忘因子,max_iter為訓練階段最大迭代次數。
對于本文中的fine-tuning微調網絡,base_Ir取值不宜過大,否則容易導致網絡不收斂,本文中取0.000 1可以得到滿意的收斂效果,學習速率衰減策略保持不變,結合樣本數量,最大迭代次數設為400。weight_decay權重衰減是防止網絡過擬合的重要參數,它可以保證較小的網絡權值w。一般地,在損失函數后加上正則化項,為了便于分析,相對于式(11)的表示如式(15)所示:
(15)
其中,C0為原損失函數,后一項為正則化項,求導后可得:

圖2 網絡模型結構圖
(16)
(17)
(18)

表2 優化后的網絡訓練參數
奧卡姆剃刀法則指出,更小的權值w在一定程度上代表網絡復雜度更低,對數據的擬合正合適。weight_decay具體取值可依賴于實驗結果,在本文中,不同的權重衰減大小對應的網絡訓練誤差曲線如圖3所示,取值為0.0001和0.005時網絡都有過擬合現象,經過對比,weight_decay取值為0.1時有滿意的效果。優化后的網絡訓練參數如表2所列。

圖3 不同權重衰減下網絡訓練誤差曲線
3.1 實驗數據
為了驗證fine-tuning微調網絡性能,本文采用高清攝像機采集了1200張汽車圖片。在立體車庫應用中,獲取汽車側面圖片是最為方便的,與此同時,側面也是轎車最具有分辨能力的角度,因此本文中均拍攝轎車側面圖片。為了更好地驗證網絡性能,實驗數據為在不同光照條件下拍攝所得,如圖4所示,部分圖片存在遮擋、旋轉等現象。實驗過程中將800張作為訓練樣本,100張用于預測,另外300張用于測試最終模型。

圖4 部分實驗樣本數據
3.2 實驗結果及分析
實驗過程中,網絡訓練采用交叉訓練方法,訓練每迭代25次進行一次預測,最終對訓練好的模型進行樣本測試。網絡訓練誤差曲線如圖2所示,參數優化后的網絡收斂效果良好。由圖3中可以觀察到,參數優化前(圖3(a)、3(b))訓練最終誤差較低,而預測最終誤差仍然較高,網絡訓練良好但不能準確地進行預測,有過擬合現象,而參數優化后(圖3(c))網絡結構性能較好。
為了檢驗深度學習算法的性能,本文同時使用方向梯度直方圖(Histogram of Oriented Gradient, HOG)提取特征,支持向量機分類對實驗樣本進行分析。在對支持向量機訓練時,將其中一類作為正樣本,其他兩類作為負樣本。最后測試所得分類正確率如表3所列。在樣本數量不是很大的情況下,支持向量機取得了相對一般的分類效果,分析認為本文樣本中車輛背景較復雜導致分類性能整體較差。
進一步驗證本文深度學習訓練所得模型的分類能力,將訓練過程中預測準確率以及最終測試正確率繪圖,得到的曲線圖如圖5所示??梢园l現,參數優化前模型的泛化能力不足,對測試樣本的分類表現較差,最終平均準確率僅為76.3%;參數優化后模型泛化能力較好,對三個類別的識別正確率如表4所列,最終總體準確率為95.6%。實驗結果表明,fine-tuning優化后的模型可以較好地對未知樣本進行分類,在圖片存在遮擋、旋轉、背景不斷變換時仍然具有很強的分辨能力。

表3 HOG+SVM算法分類正確率樣本類別準確率/%SUV73.3三廂轎車80.0兩廂轎車66.7表4 深度學習模型 分類正確率樣本類別準確率/%SUV96.7三廂轎車96.7兩廂轎車93.3

圖5 預測及測試階段分類準確率
針對立體車庫的應用場合,本文對轎車的車型
Application Research on Vehicle Recognition Based on Computer Vision Technology
Mao Zhengchong,Han Yi
(Key Laboratory of Advanced Process Control for Light Industry,School of IoT,College of Jiangnan,Wuxi 214122,China)
The current stereo garage equipment mainly adopts the traditional sensor detection system to identify the vehicle information,but exists the problems such as long construction period,high damage rate and high maintenance cost.So a model is proposed,which applies computer vision technology to solve the problems of Vehicle recognition.Applying Caffe convolution neural network framework,proceeding the fine-tuning model optimization and parameter optimization based on CaffeNet model,finally a recognition excellent model is achieved.The experiment results show that the model can handle the input image with complex background and the target obscured.The model has a good robustness to identify the type of the car and certain feasibility and application value.
pattern recognition;vehicle recognition;convolution neural network;deep learning
國家自然科學基金(No.60973095);江蘇省自然科學基金(NO.BK20131107)。
TP391
A