余 燁 傅云翔 楊昌東 路 強
隨著車輛的普及、交通運輸技術以及智能交通系統的發展,車輛識別作為計算機視覺、圖像處理技術應用方面的重要研究課題,具有較大的學術價值和應用前景.無論是無人駕駛[1]、停車場自動收費還是公安部門對特定車輛的大范圍檢索[2],在不斷上升的需求以及相關硬件設備性能升級的刺激下,車輛識別在效率和精度上的要求也在不斷提高.套牌車、車牌污損、車標改裝和違規噴漆等情況的存在使得單獨的車牌、車標[3]等識別技術難以奏效,而車輛型號包含車輛品牌、車輛類型、所屬系列和年代款式等信息,其識別屬于精細識別的范疇,需要能識別出不同車輛之間的微小差異.因此,車輛型號精細識別將成為新一輪的研究聚焦點,為智能交通部門及交管執法部門提供更好的解決方案.
目前,車輛型號精細識別尚面臨如下挑戰:
1)車型種類繁多.目前國內已登記的車輛型號種類多達上萬種,即使是在一個中等大小的城市,路面上常見的車輛型號也有上千種[4].
2)易受車輛姿態、拍攝環境的影響.真實環境中,車輛的姿態是不固定的,所在場景、環境光照也各不相同.車輛姿態和環境的變化給車型識別增加了難度.
3)車輛型號之間區分難度大.不同于ImageNet[5]圖像數據集中各分類對象種類間差異較大,車輛型號識別對象均為四輪汽車,即使目前數據集中的類別數量不足1 000,對應分類任務的難度仍不低于ImageNet 分類任務.此外,部分車輛型號相互之間差別很小,這種細微的差距不僅存在于同品牌不同型號之間,不同品牌之間也有區分度很小的車型存在.如:圖1(a)中的2018 款的奧迪A4L和奧迪A6L,它們的區別僅在于大燈和霧燈;圖1(b)中的奇瑞QQ3和雪佛蘭樂馳,它們的外形極其相似,區別僅在于散熱格柵和霧燈部分.

圖1 相似車型的例子Fig.1 Examples of similar vehicle models
傳統采用尺度不變特征變換(Scale-invariant feature transform,SIFT)[6]、方向梯度直方圖(Histogram of oriented gradients,HOG)[7]等手工特征描述子的方法來實現特征提取,將提取到的特征利用分類器進行訓練,以實現分類識別.這類方法易受光照、車輛姿態、噪聲和背景等影響,魯棒性不強.此外,無論是利用車前臉、車后臉還是它們的部分來進行車型識別,用手工特征描述子均難以描述,這是因為識別對象需要綜合車燈、車柵格等諸多細節特征來進行判斷,而手工描述子很難統一提取這些細節部位的特征.深度學習能夠自動學習大量數據的特征[8],借助于大數據,可以大大提升識別效率與精度,在人臉識別[9]、行人檢測[10]、目標分類與發現[11]、圖像精細分類[12]等領域已經取得了很大的成功.研究成果表明,深度卷積神經網絡在車輛型號識別領域的應用可以獲得很好的識別效果.
雖然目前已有基于深度學習的商用車型識別系統投入實際使用,但其針對的識別對象為卡口監控中獲取的車輛正臉圖像,姿態變化很小.實際智能交通應用中,涉及的車輛圖像包含從多個角度拍攝的圖像,因此,如何基于多姿態車輛圖像進行車輛精細型號的識別,具有十分重要的研究價值和現實意義.
針對多姿態車輛型號的精細識別,本文提出一種基于殘差網絡特征重用的深度卷積神經網絡模型FR-ResNet(Improved ResNet focusing on feature reuse),該網絡具有以下特點:
1)網絡采用殘差結構作為基礎,在加深網絡層數的同時,不必擔心梯度爆炸問題和隨著層數增加發生準確率下降的網絡退化問題.
2)添加多尺度信息輸入,加強圖像多尺度特征融合,防止網絡陷入局部最優.
3)對不同層網絡特征采取不同程度的特征重用,將上一層特征與當前層特征進行融合,以促進特征流動,提高其利用率,有效縮減所需參數數量.
4)在底層網絡中采用特征圖權重學習策略,在圖像處理初期對特征通道的重要程度進行排序,使有效特征得到更大激勵并傳遞下去.
采用目前流行的大型車輛圖像數據集Comp-Cars和StanfordCars 為測試數據,在此之上進行一系列實驗.實驗結果表明FR-ResNet 在車輛型號識別方面性能優于其他一些經典的卷積神經網絡(Convolutional neural network,CNN)模型.例如在CompCars 數據集上,VGG16[13]獲得了92.4%的準確率,ResNet[14]獲得了93.7% 的準確率,而本文提出的FR-ResNet 的準確率達到了95.1%.
“車型識別”包含兩個含義,即“車輛類型識別”和“車輛型號識別”.早期“車型識別”主要指“車輛類型識別”,即識別車輛是小汽車、卡車還是公交車等.如:文獻[15] 中使用稀疏拉普拉斯濾波器來學習大量未標注數據,使用半監督的卷積神經網絡自動為分類任務學習有利特征,在復雜場景中對巴士、小型巴士、小型貨車、乘用車、轎車和卡車共6 種車輛類型識別效果良好.車輛型號由于種類繁多、類間區分度小等原因,其識別工作難度遠遠大于車輛類型的識別,屬于精細分類問題.
目前車輛型號精細識別方面的研究工作還較少,研究方法主要可以分為三類:基于“傳統特征描述子+分類器”的方法、基于3D 模型的方法以及基于深度學習的方法.
基于“傳統特征描述子+分類器”的方法是較為傳統的圖像識別方法.一般使用人工描述子提取圖像特征,再用分類器訓練以實現分類.Hsieh 等[16]通過對感興趣區域進行網格劃分,對每個網格使用HOG和對稱SURF (Speeded up robust feature)描述子提取特征,并在每個網格塊上使用支持向量機(Support vector machine,SVM)訓練弱分類器,基于分類結果的組合進行最終車輛型號的識別.Liao 等[17]提出了一種基于車輛部件的分類方法,采用強監督DPM (Deformable parts model)來引入語義層次結構進行語義分割,基于部件的外觀和語義來識別車輛.Biglari 等[18]則通過捕捉不同種車輛整體外觀以及各部件間的特征差異,通過SVM 訓練獲得相應的車型特征模板.文獻[19] 提出一種基于部件矯正的光度特征提取算法,增強了不同光照強度下攝像頭拍攝照片識別的穩定性.但是由于人工設計特征的局限性,研究處理的圖像多為車輛正面圖像,姿態單一.
為了能更地應對圖像視角的變化,研究者們提出了基于3D 模型的方法,3D 模型能體現局部特征和模型整體之間的空間關系.文獻[20] 中提出一種3D 對象建模和精細分類任務相結合的方法,詳細的3D 表示相對2D 有更多的特征信息,改善了精細分類的性能.Krause 等[21]認為單純的平面圖形限制了視角,提出一種從2D 圖形提取3D 模型的方法,通過CAD 建模和特征貼片,最終形成3D 訓練特征,實驗結果優于此前的2D 方法.
自從Krizhevsky 等的論文[12]引起深度學習研究熱潮以來,神經網絡影響巨大,推動了多個領域研究工作的長足發展.在車輛型號識別方面,深度學習也起到了重要的作用.不少研究者借助于卷積神經網絡進行車輛型號分類的研究.
基于深度學習的識別方法主要通過建立端到端的卷積神經網絡模型來完成識別分類任務.目前典型的卷積神經網絡模型AlexNet,VGGNet,GoogLeNet,ResNet 等均能用于車輛型號識別,但由于識別任務的特殊性,這些網絡在識別性能上并不十分出色.研究者們試圖在經典網絡的基礎上進行改進,以使卷積神經網絡模型更適用于解決車輛型號精細識別問題.Sochor 等[22]將多角度的車輛圖像通過3D bounding box 進行邊界限定,并基于3D邊界框對2D 圖像進行3D 展開以及柵格化.把展開后的圖像作為深度學習的輸入,兩者結合效果提升明顯.文獻[23] 在文獻[24] 提出的TCNN(Tiled CNN)的基礎上改變了CNN 的權重共享方案,提出一種局部平鋪卷積神經網絡模型LTCNN (Local CNN)用于車型識別,該網絡具有平移、旋轉和尺度不變性.文獻[25] 首先借助RCNN (Regions with CNN)從復雜背景圖像中識別出車輛,然后利用聯合貝葉斯網絡計算類間和類內相似度,以獲得車輛最大概率所屬型號類別.文獻[26] 提出一種特征融合的卷積神經網絡模型,把車正臉圖像分上下兩部分,并行提取特征并將其多維度融合后用來實現車型的精細分類.文獻[27] 嘗試使用定位、識別兩部分網絡,并采用多任務機制,將車輛定位與顯著性檢測同時進行,能夠處理并識別背景雜亂無章的車輛圖像.文獻[28] 結合車輛部件檢測的方法,通過CNN 網絡獲得圖像整體和局部部件的特征,通過SVM 進行分類識別.
綜上所述,車輛型號精細識別研究目前的突破點和熱點在于深度學習的應用.識別對象類間差距小、種類繁多是研究的難點.為有效提取車輛圖像特征并進行高效利用,提出了“特征重用”的思路,圍繞這一思路對ResNet 進行改進,提出了FRResNet 模型,并基于該模型,實現了車輛型號的精細分類.
在目標識別領域,卷積神經網絡一直向著更深的模型結構發展,識別效果得到不斷提升.更深更寬的網絡模型具有更多的網絡參數,能夠更好地學習到圖像中的細節特征,然而深層網絡難以訓練、更深網絡反而訓練誤差加大、網絡反向傳播的參數相關性降低等問題日益明顯.為此,He 等[14]提出了殘差網絡,即通過殘差表示和快速鏈接的方式來解決上述問題.
如圖2 所示,G(x)表示待擬合對象,x 為輸入數據,則殘差函數R(x)可以表示為G(x)-x,最終擬合函數G(x)=R(x)+x.通過卷積神經網絡的反向傳播機制,學習殘差函數R(x)的參數來擬合G(x)-x,以達到進一步擬合G(x)的效果.由于殘差結構可以在增加網絡層數的同時有效阻止網絡退化,因此,FR-ResNet 采用殘差結構作為網絡的主體結構,基于殘差結構的串聯組合,結合特征重用、權重學習和多尺度輸入的策略,構建適用于車輛型號精細分類的卷積神經網絡模型.在FR-ResNet中,單個殘差結構的組成如圖3 所示,由1×1 全通道卷積與3×3 分組卷積的卷積層組合來實現.

圖2 殘差函數擬合關系Fig.2 Fitting relationship of residual function

圖3 FR-ResNet 中的殘差結構Fig.3 Residual structure in FR-ResNet
車輛型號精細識別網絡FR-ResNet 的主要模型結構如圖4 所示.該模型由3 個部分組成,按照網絡中生成特征圖的大小分為低層網絡、中層網絡和高層網絡.低層網絡中的特征圖尺寸范圍為56×56像素到224×224 像素,中層網絡的特征圖尺寸范圍為14×14 像素到56×56 像素,高層網絡的特征圖尺寸為7×7 像素.每層網絡部分都包含一個殘差模塊,由多個第2.1 節所述的殘差結構串聯組合而成.其中,低層網絡部分組成殘差模塊的殘差結構為6 層,中層網絡部分的殘差結構高達20 層,高層網絡部分的殘差結構為3 層.

圖4 網絡結構示意圖Fig.4 Diagram of network structure
FR-ResNet 模型的設計動機描述如下:為防止陷入局部最優解并充分利用原圖像所含特征,采用多尺度輸入的方法來增加數據輸入;為提高更低層結構中的特征利用效率,采用特征重用的方法來避免有效特征的流失;為合理分配不同特征圖的比重,采用特征圖權重學習的方法來加強網絡中有效特征的流動.
在目標檢測和識別中,圖像金字塔是經常使用的結構,即把圖像表示為一系列分辨率逐漸降低的圖像集合,這是一種多尺度的表達方式,可用于數據的擴增.在深度學習中,多尺度信息的輸入可以防止設計的卷積神經網絡陷入局部最優解,促進網絡參數的更新.因此本文在網絡中增加了多尺度信息輸入的方法.
如圖4 中最下端數據輸入部分所示,多尺度輸入需要在網絡輸入端對圖像矩陣進行多尺度降采樣.為了與網絡中特征圖尺寸匹配,降采樣后的尺寸分別為112×112 像素、56×56 像素和28×28 像素,將結果分別送到生成同樣尺寸特征圖的中間層進行通道組合.多尺度特征信息的融合可以提高數據的特征利用率.在訓練過程中,使用dropout[29]技術進行隨機丟棄,以產生網絡局部震蕩,促進部分網絡參數的更新以防止陷入局部最優解,同時還可以避免網絡過擬合.多尺度輸入在網絡輸入前就準備好了多尺度信息,而不是在網絡內部生成,因此在網絡訓練中不需要額外增加參數,維持了網絡的原有計算成本.
殘差結構的存在允許設計出一個高深度的網絡而不用擔心其訓練的退化問題,然而在訓練過程中,由于大多數參數的作用范圍很小,且每層檢測到的特征直接作為下一層的輸入,在更深層的信息流動過程中該特征的影響極小,很多信息會在特征傳遞過程中丟失,而每一層只能從上一層獲得數據,丟失的信息無法補充.
不同于普通分類任務,車輛型號識別屬于精細分類問題,所需要的特征量更多也更細致.各種型號的車輛,其車輛輪廓、車窗、車燈、車柵格、車門、倒車鏡等部件的形狀、位置均存在不同.這些不同的特征中既包含宏觀的外觀信息,也包含細節的紋理信息,還包含空間位置信息.本文使用卷積神經網絡模型來實現識別任務,數據信息從網絡輸入端輸入后,每層網絡所提取到的特征各不相同.對每層所獲得的特征圖進行可視化,可以看出,隨著數據在網絡中的流動,所得到的特征信息愈來愈抽象.我們通過一個例子來直觀展現這一現象.圖5 為車輛圖像在深度卷積神經網絡不同層次所得特征圖的部分可視化結果.輸入為三通道RGB 圖像,圖中顏色的深淺描述網絡中的神經單元在不同區域的激活程度.從中可以看出,卷積網絡在淺層階段提取的信息更簡單,如邊緣信息,從圖中仍能看出這是一輛車.而在深層特征圖中提取到的不再是低層特征,開始包含紋理等多樣化的高層特征,且感受野范圍也更大.

圖5 特征圖可視化Fig.5 Visualization of feature maps
每層均基于上一層的輸出進行學習,因此越深層的特征越抽象.但也因為如此,在層層傳遞的過程中,淺層的一些信息可能會連同無用的背景信息一起被過濾掉.
為防止在最終決策中錯過最初的有效信息,即避免特征信息的浪費,提出了一種特征重用的方法,對不同層次模塊的特征進行不同程度的重用,彌補上層特征的丟失,以達到使最終生成的特征更加全面的目標.
特征重用的主要結構為

其中,xn為第n 層的輸出,Pn表示重用算法,Pn(xn-1)表示在第n 層輸出中選取第n-1 層前1/P 個通道的特征圖作為重用特征圖,Rn為主體網絡的殘差運算,Rn(xn-1)表示將第n-1 層輸入圖3 所示殘差結構后輸出.Concat 操作將兩組特征圖在通道上進行合并.
如圖6 所示,假設特征圖的大小用N×C×H×W 表示,其中,N 為大小,C 為通道數,H 為特征圖高度,W 為特征圖寬度.若當前結構的輸入特征圖尺寸為N ×C0×H0×W0,生成的特征圖大小為N×C1×H1×W1,重用部分的比例為P.特征重用應用于網絡中所有的殘差結構(如圖3 所示),即:上一個殘差結構的輸出中的部分信息會作為特征重用信息,與當前殘差結構的輸出結合在一起,作為最終輸出的特征圖組.其中,特征重用參數

圖6 特征重用過程Fig.6 The process of feature reuse
P 的取值選擇問題將在第3.5 節中詳細描述.重用的特征圖根據生成特征圖的比例進行適當調整,重用特征圖為N×(C0×P)×H1×W1.則最終輸出特征圖為N×(C0×P +C1)×H1×W1.
卷積神經網絡的核心是卷積層,卷積核在一組特征圖上進行卷積操作生成新的特征圖,多個卷積核生成的特征圖共同構成卷積層的輸出.針對生成的特征圖,一般深度學習網絡中在進行后續操作時,對每張特征圖是同等對待的.然而,實際上每個特征圖中所包含的有價值信息不同,對車型識別任務的貢獻也各不相同.如圖5 所示,同一特征圖組中每張特征圖所包含的有效信息各不相同,有的包含了很重要的有效信息,有的包含的有效信息內容較少,因此盡可能多地保留這些有效信息,加強有效特征信息在網絡中的流動很有必要.
為實現增強有效特征信息、抑制噪聲的目的,本文采用一種特征圖權重學習的策略,通過網絡學習的方法,為同一層的每個特征圖分配新的權重.具體實現如圖7 所示,將尺寸為C ×H ×W 的特征圖組輸入一個雙通道的降維通道,降維通道的池化層選擇策略與對比實驗將在第3.6 節詳細說明.本文中的通道由局部最大值池化與全局平均池化層組成.其中局部最大值池化是將特征圖劃分為3×3 共9個局部區域,分別進行最大值池化.通道的輸出被壓縮后排列為一維數據,在對其進行兩次全連接操作后,利用Sigmoid 函數生成一維權重參數C×1×1,參數深度等于特征圖的個數.最后將權重與原特征圖矩陣相乘獲得新的特征圖組.由于高層網絡中特征圖用于最終分類,其尺寸小且數量多.圖7 所示的先降維再升維的權重學習方法無法在過小的尺寸上通過局部和全局池化獲得更多的有效信息,提升效果不顯著.反而會因為特征圖數量多,導致全連接參數大大增加,額外增加了計算時間,所以只將該方法應用在低層和中層網絡中.

圖7 特征圖權重學習Fig.7 Weight learning based on feature maps
特征圖權重學習策略使用局部和全局池化來提取各特征圖矩陣信息,可以在節省參數個數的同時,有效提取特征圖各自的特征以及整個特征圖組的空間信息,然后通過學習獲得每個特征圖的權重,將權重傳入下一層的特征圖組中,以提高有效特征信息的比重,從而增強有效信息的流動.
車輛型號精細識別研究所使用的數據集分為兩類:監控數據集和網絡數據集.監控數據集中的圖像主要來源于卡口監控系統,網絡數據集中的圖像主要來源于網絡.由于卡口監控設備的固定性,卡口抓拍圖像中的車輛姿態固定,一定程度上降低了其分類的難度.網絡數據集中的圖像所在場景多變、姿態各異,且分辨率也不固定,因此,基于網絡數據集的車型識別更具有挑戰性.
采用網絡數據集中具有代表性的StanfordCars和CompCars 網絡數據集為實驗數據集,開展實驗研究(數據集中部分圖像如圖8 所示).Stanford-Cars 數據集共含車型196 類,總圖像數量為16 185幅.數據集標簽包括車型種類及車輛在圖像中的定位信息.CompCars 數據集包含監控數據和網絡數據兩個部分,其網絡數據集共記錄了431 種車型、5種車輛拍攝姿態,總圖像為52 083 幅,包含車輛位置標定以及車部件等細節信息.

圖8 數據集中的樣本Fig.8 Samples from datasets
實驗的硬件環境如下:CPU:Intel Core i7-7700K CPU @ 4.20 GHz × 8;內存:16 GB;顯卡:Nvidia GTX1080Ti;顯存:12 GB.
實驗所有模型在Ubuntu16.04 環境下基于開源框架CAFFE[30]實現,CUDA 版本為9.0.
在識別速度、所需硬件條件差別不大的情況下,識別準確率是衡量識別算法性能的重要指標,準確率的計算與對比也很簡潔明了.為易于本文實驗結果與其他算法結果的比較,使用常用的準確率計算公式,即

FR-ResNet 的實驗準確率基于實驗環境進行計算獲得,本文實驗部分的其他對比實驗,其準確率數據來源為:1)優先采用對應論文提供的實驗數據;2)經典網絡模型采用與FR-ResNet 相同的訓練設置以及數據預處理方式,通過官方提供的代碼復現.
網絡訓練采用224×224 像素的數據輸入尺寸,以與其他網絡原有的輸入保持一致.每幅輸入圖像的預處理操作使用文獻[12] 中提到的方法,先將圖像大小歸一化到256×256 像素,裁剪4 個角外加中心部分獲得5 幅224×224 像素圖像,并各自進行鏡像操作,共生成10 幅訓練圖像,再從中減去訓練集圖像均值,即為訓練輸入數據.在測試時,對圖像進行減均值操作時使用訓練集均值,對10 幅擴展出的圖像求平均預測值.網絡使用隨機梯度下降法(Stochastic gradient descent,SGD)更新模型權重,初始學習率為0.001,每10 萬次迭代降低10 倍學習率.整個訓練過程共迭代35 萬次.
基于StanfordCars 數據集,使用其提供的所有圖像數據用于實驗.為了與其他研究成果進行更全面的比較,數據集輸入采用原圖,即無BBox(bounding box)和帶BBox 兩種方式.
實驗結果如表1 所示,在使用BBox 的情況下,BB-3D-G (3D BubbleBank which pooling bubble responses globally)為StanfordCars 數據集發布時作者實驗的結果,作為實驗對比的參照,識別準確率為67.6%.在深度學習還未廣泛應用時,LLC(Locality-constrained linear coding)[31]在編碼方式上使用局部限制線性編碼方式,其準確率略有提高,為69.5%.ELLF (Ensemble of localized learned features)[32]通過重點學習車輛部件等細節特征,使識別率達到73.9%.VGGNet 在多個遷移學習任務表現優秀,應用在車輛型號識別領域也有著一定的效果,在不使用BBox 的情況下,識別準確率為75.6%.2015 年,ResNet 的出現加深了卷積神經網絡的層數,ResNet-101 就能達到85.8% 的準確率,體現了網絡深度在車型識別方面的優勢.FCANs (Fully convolutional attention networks)[33]依靠在視覺提取以及部件注意機制方面的創新,將識別率提升到89.1%,如果使用BBox準確率還能再提高兩個百分點.文獻[34] 中提出具有集合約束的triplets,獲得了92.5% 的準確率,Krause 等在文獻[35] 中使用BBox,準確率能達到92.8%.我們的網絡在使用BBox 的情況下能達到93.1% 的準確率,即使不使用BBox,準確率也有90.6%,比ResNet 使用BBox 的識別效果還要好.

表1 在StanfordCars 數據集上的實驗結果比較(%)Table 1 Comparison of classification results on the StanfordCars dataset (%)
CompCars 數據集包括2 類,即卡口監控數據集和網絡數據集.卡口監控數據集中的車輛圖像共44 481 幅、281 類,其中訓練樣本31 148 幅、測試樣本1 333 幅.在此數據集上進行實驗,多個經典模型均能獲得97% 以上的Top-1 準確率,其中AlexNet,GoogLeNet和ResNet 的Top-1 準確率分別為97.8%,98.5%和98.8%,本文提出的FRResNet,其Top-1 準確率為99.2%.而上述模型的Top-5 準確率都能達到99.5% 以上.雖然卡口圖像分辨率低,但是圖像上的車輛姿態固定,因而降低了分類難度,各分類模型的識別準確率都很高.為有效體現本文方法的優勢,采用CompCars 網絡數據集來進行實驗的詳細分析.
CompCars 網絡數據集提供的車輛圖像總數高達143 060 幅,標注部分為其中的36 456 幅.以標注的36 456 幅為訓練樣本,提取15 627 幅為測試樣本,在此基礎上進行實驗.為體現FR-ResNet 網絡在該數據集上的良好表現,使用近些年多個經典的卷積神經網絡模型以及其他研究者們的研究成果與本文的網絡進行比較,實驗結果如表2 所示.

表2 在CompCars 數據集上的實驗結果比較(%)Table 2 Comparison of classification results on the CompCars dataset (%)
CompCars 網絡數據集中的車輛具有各種不同的姿態,該數據集的發布者針對其所有姿態進行實驗,獲得了Top-1 為76.7%,Top-5 為91.7% 的實驗結果.早年的AlexNet 由于自身網絡結構的局限性,在精細識別任務上較為乏力,Top-1 與Top-5準確率僅為81.9%和90.4%.文獻[22] 通過建立3D 包圍盒獲取車輛額外3D 信息,取得Top-1為84.8%,Top-5 為95.4% 的準確率.GoogLeNet憑借其網絡深度和寬度,將Top-1 提高到91.2%,Top-5 提高到98.1%.ResNet 效果更好,Top-1 為92.3%,Top-5 為98.4%.文獻[27] 采用先定位后識別的方法,Top-1 準確率為94.3%,Top-5 準確率為98.9%.總體來看,Top-1 準確率的提升遠大于Top-5,可見準確率的提升更多依靠的是對類間差小的車型的正確識別.而本文提出的FR-ResNet 模型僅使用分類標簽,Top-1和Top-5 的準確率分別達到了95.3%和99.1%,平均每種類別的錯誤張數不足0.4 張.
對分類錯誤的圖像進行分析,并總結錯誤的原因,可能有:1)復雜背景和環境光照影響了車輛的正確識別(如圖9(a)所示);2)車輛本身發生變化,如圖9(b)所示,奧迪車車門敞開,使車身部分的有效特征發生了變化;3)車輛在原圖中占比過小,如圖9(c)所示;4)受拍攝角度的影響,如圖9(d)所示,車輛圖像是自頂向下拍攝的,而在訓練集中缺少相同拍攝角度的樣本.

圖9 識別錯誤的樣本Fig.9 Samples of error recognition
為體現網絡在特征提取方面的優勢,并驗證網絡的魯棒性,減少訓練樣本的數量,以驗證在少量樣本情況下網絡仍具有很好的性能.按照數據集官方早期提供的標注信息,其中訓練樣本數量不足目前標注訓練樣本數量的一半,我們提取了數據集中舊版標注的16 016 幅為訓練樣本,14 939 幅為測試樣本,生成少量樣本數據集A,在此基礎上繼續進行實驗.本文提出的FR-ResNet 在此數據集上的表現,以及與表2 中效果較好的幾種經典網絡結構的對比結果如表3 所示.在沒有足量訓練數據的情況下,各網絡的識別準確率均有所降低.GoogLeNet 的準確率Top-1 只有65.8%,Top-5 為87.9%.更深的ResNet 僅有78.3% 的Top-1 的識別準確率,Top-5準確率也只有93.5%,單純的殘差結構效果并不好.DenseNet 通過加強信息傳遞Top-1 識別準確率可以上升到90.6%,Top-5 準確率也提高了接近5 個百分點,說明特征利用率的提升對車輛型號精細識別有效.本文中提出的FR-ResNet 更加專注特征信息的有效利用,其準確率得到了更進一步的提升,Top-1 識別率達到了92.5%,Top-5 識別率達到了98.4%.為了進一步檢驗網絡性能,我們還嘗試使用更小數量的訓練樣本進行實驗.在16 016 幅訓練樣本的基礎上每類再次減少1/3,形成少量樣本數據集B.在Top-1 識別率上,GooLeNet 僅為52.3%,ResNet,DenseNet 分別為69.7%和81.5%,而我們的FR-ResNet 達到85.2%,識別效果更好.再次減少訓練樣本數量,取16 016 幅訓練樣本的1/2 時,訓練過程困難,實驗結果不佳,每個網絡的準確率均不超過60%.造成這種結果的原因是,原數據集每類樣本的數量不均勻,當訓練數據減半時,多數種類樣本不足20 幅,過少的訓練樣本使得深度學習網絡無法完成很好的收斂.

表3 在CompCars 少量樣本數據集上的實驗結果比較(%)Table 3 Comparison of classification results on the small training samples from CompCars dataset (%)
FR-ResNet 在采用特征重用策略提升網絡性能的同時,也增大了網絡的規模,特征重用的比例P隨著網絡深度、特征圖數量的變化需要有所調整,以獲取最佳實驗效果.
本文使用Caffe 框架中的Slice 層來實現通道選擇的功能.Slice 層的作用是通過設置多個分割點來分割輸入的特征圖,其中參數axis可以設置特征圖分割的維度.由于特征圖中各通道在初始化階段等價,故選取需要設置參數最少的前1/P 個通道進行重用.本文中設置axis=1,將特征圖按通道分割,使用單個分割點,使得分割點左側的通道數與總通道數比值為1/P,以達到選取1/P個通道的目的.
根據深度及特征圖數量將網絡分成4 個不同的階段,依次進行P 值的調優實驗,當取值跨度較大時,可通過二分法確定選值.第1 階段為低層網絡部分,特征圖組中的特征圖數量為256,分別使用1/64,1/16,1/8 的P 值比例進行實驗,結果如表4所示,故選擇1/16 作為該階段P 值.第2 階段同為低層網絡部分,特征圖組中的特征圖數量為512,根據實驗結果選擇1/16 作為該階段P 值.第3 階段為中層網絡部分,特征圖組中的特征圖數量為1 024,使用1/64,1/16,1/8 的P 值比例進行實驗,實驗結果表明P 值為1/64 與1/16 時提升效果相近但重用特征圖數量相差較多,故使用二分法選擇更優的P 值.最終確定該階段P 值為1/32.第4 階段特征圖組中的特征圖數量為2 048,實驗選取P 值為1/16.

表4 特征重用比例P 值對準確率的影響Table 4 Effect of feature reuse ratio P on recognition accuracy
FR-ResNet 采用特征圖權重學習來增強有效信息比重,如果直接用全連接層提取特征圖信息,以用于權重學習,將導致參數量劇增,不利于深層網絡的訓練.添加池化層是常用的降維方法,能在不額外增加參數的同時提取到有效特征.根據所提取特征的不同和池化方法的不同,可以采取全局平均、全局最大值、局部平均、局部最大值4 種單獨的池化方案,以及其兩兩組合的方案.
基于上述方案分別進行實驗,實驗結果如表5所示,從中可以看出單獨的池化策略中,全局平均池化的效果最好;而在池化的組合方案中,“全局最大值+局部最大值”的提升效果最弱,可能原因是局部最大值已經包含了全局最大值;“全局平均池化+局部最大值池化”效果最好,因此本文選擇了這種組合的池化策略.

表5 權重學習中池化策略的對比(%)Table 5 Comparison results of pooling strategies in weight learning (%)
FR-ResNet 以特征的高效利用為目標,分別采用了三種改進策略來完善網絡模型,即:多尺度輸入、特征重用和特征圖權重學習.為了證明這些方法的有效性,使用控制變量的研究方法在CompCars數據集上進行對比實驗.實驗結果如圖10 所示,從中不難看出,三種結構均能提高網絡識別準確率.其中,特征重用的效果最為明顯,其識別率的提升最高,Top-1和Top-5 的識別率分別提升了2.7%和0.6%.由此可見,數據在網絡傳播中會丟失部分有效特征,且較低層特征在較高層網絡中對識別任務仍然具有貢獻.特征圖權重學習策略位居第二,其Top-1和Top-5 識別率分別提升了1.5%和0.3%,說明了增強有效信息流動的可行性.多尺度輸入策略對網絡影響較小,但識別率仍有一定的提升,說明該方法仍然存在有效性.提升的結果符合該方法預期的反饋效果,即其在數據擴增和避免局部最優方面的作用.

圖10 各結構性能比較Fig.10 Comparison of performances of all structures
本文針對車輛型號精細識別問題進行研究,提出了以殘差結構為網絡主體結構,以特征重用為主要思想的方法,并基于此設計了深度卷積神經網絡模型FR-ResNet.FR-ResNet 采用了多尺度數據輸入、低層特征在高層中重用和特征圖權重學習三大策略,有效阻止了網絡訓練的退化以及陷入局部最優解,提高了對網絡中有效特征的利用率,減輕了冗余信息的干擾.在CompCars和StanfordCars 兩大公開數據集上的測試結果表明FR-ResNet 在車輛型號精細識別上具有較高的識別精度,高于其他的一些網絡模型.此外,FR-ResNet 在車輛姿態變化、復雜背景干擾、訓練樣本減少時,具有一定的魯棒性.
本文中提出的三大改進策略也可以應用于其他精細識別任務,針對類間差小、種類繁多的目標,設計出具有針對性的卷積神經網絡模型.