朱云飛,者甜甜,劉慶華
(江蘇科技大學電子信息學院,江蘇鎮江 212003)
隨著車輛數量的增加,交通違章現象頻出,例如渣土車違規上道、工程車輛違規進入城市主干道、車輛停放在消防通道等,這一系列的交通違規行為給城市安全埋下了巨大隱患。對于交通管理者而言,加強對特定車輛的識別和分類管理尤為重要。然而,在實際監控識別車輛時,相當一部分車輛圖像存在圖像不全或者遮擋問題,極大降低了監控識別準確率。如何準確識別車輛,是當前車輛檢測的重點。
近年來,深度學習技術不斷發展,已成功應用于各行各業。深度學習與傳統方法相比,能更加深入地獲取到圖像的各種信息,因而其在圖像識別、分類等方面效果顯著。文獻[1]提出LeNet 網絡并將其應用于手寫數字識別,雖然該網絡因時代條件所限而不能應用于更加復雜的場景,但依然具有突破性的進步。在此之后,受益于時代條件的轉變與人文科學的進步,各種面向復雜場景的改進型網絡也相繼問世,如AlexNet[2]、ZFNet[3]、VGGNet[4]、GoogleNet[5]、ResNet[6]等,極大提高了網絡應用水平。
文獻[7]基于卷積神經網絡提出R-CNN 目標檢測模型,此模型的提取特征由卷積神經網絡完成,分類工作則由支持向量機制完成,這樣的結構大幅提升了mAP 值,但也出現了選擇候選區域耗費大量時長的問題。為了解決該問題,學者們提出許多目標檢測算法,例如Fast-RCNN[8]、Faster-R-CNN[9]、YOLO[10]、SSD[11]等。其中,YO?LO 和SSD 都是一步法,即two-stage 算法,他們的候選區域產生與分類等工作都集成在一個網絡之內,使得整體運算時間大為減少,但同時也帶來了精度較低的負面影響。RCNN 相關算法屬于兩步法,即two-stage 算法,候選區域生成與識別分類兩個模塊分開工作,與一步法相反,其精度表現良好但耗時較長。因此,因地制宜選擇網絡模型才能更好地解決實際問題。
近年來,越來越多的學者將卷積神經網絡應用于車輛檢測并取得不錯效果。文獻[12]提出的算法提高了圖像上采樣效率,并結合聚類算法,在公開數據集檢測上取得良好效果;文獻[13]將HashNet 中的AlexNet 部分替換為雙線性模塊,賦予網絡對精細粒度特征的提取能力,根據特征生成哈希碼,并通過匹配哈希碼實現車型識別;文獻[14]提出新的改進Inception 模塊,并將其替代SSD 網絡中的Conv8、Conv9 和Conv10 層,并設計了多尺度特征融合均衡化網絡,提高了對小目標車輛的識別率。
但上述研究針對的只是車輛整體類型識別,并不能達到實際交通管理要求。根據實際情況,本文將車輛分為家用小轎車、大客車、消防車、重型卡車、吉普車、面包車、出租車、小卡車和運動型汽車(SUV)等9 類,改進Faster-RCNN 算法模型,對車輛進行識別與分類工作。
本文目標檢測算法由Fast R-CNN 改進而來。在候選區域生成階段,他使用選擇區域建議網絡(Region Proposal Network,RPN)代替傳統算法中的Selective Search[15],該算法的特征抽取、候選區域生成、邊界框回歸與分類工作都整合在一個網絡中,從而提升了綜合檢測性能,同時相較于前代算法,Faster R-CNN 的檢測速度也有了較大提升。
圖像在輸入后,經過卷積層生成特征圖,RPN 模塊處理特征圖生成候選區域,該結果與特征圖共同輸入到RoiPooling 層并進行后續分類與回歸。
在實際操作使用中發現,由于Faster R-CNN 對多尺度信息的提取效果較差,其對于一些特殊車輛,例如公安用車、救護車輛等識別率相對較低,同時在有所遮擋的視野條件下會出現較多漏檢誤檢情況。因此,本文選擇提高感受野和對多尺度信息的重采樣改進算法,同時引入Rea?soning-RCNN,給予Faster R-CNN 全局推理能力,以解決實際檢測中出現的準確率不理想問題。
文獻[16]基于卷積神經網絡提出Reasoning-RCNN,該方法引入了全局語義池和知識圖譜,以達到特征增強效果。該網絡首先利用基本檢測網絡產生每個類別的基礎分類權重,并利用其生成一個全局語義池;然后,通過包含語義知識的知識圖譜后,經由自適應全局推理模塊產生強化后的特征,將此特征與先前生成的基礎特征相結合后生成新的分類和定位。該方法足夠靈活,可以疊加在大部分現有網絡上,借此可以有效改善遮擋或模糊情況下的物體識別。本文將其融合到Faster R-CNN 中以改善原網絡檢測效果。
VGGNet 網絡結構簡潔、泛化性能良好。VGG-16 網絡是2014 年推出的深度網絡模型,該網絡共有帶參的網絡層16 個,包含有卷積層13 個、池化層5 個、全連接層3 個。在圖像處理方面性能卓越。因此,本文將改進VGG-16 網絡作為骨干網絡使用。
在神經網絡中,為了減少參數數量并增加感受野,特征圖在生成后需要經過池化層下采樣以減小特征圖尺寸。而后續的上采樣還原特征圖尺寸的過程會丟失很大一部分特征信息,即該過程會丟失細節信息導致圖像處理效果不佳。針對該問題,文獻[17]提出空洞卷積(Atrous Convo?lutions),該方法在增加感受野的同時沒有減小圖像大小。因此,每個卷積輸出都包含了較為完整的信息。空洞卷積示意圖如圖1所示。

Fig.1 Atrous convolutions圖1 空洞卷積
在利用Faster-RCNN 進行車輛類型識別過程中,部分車輛存在相似度較高的情況,例如警用車輛、出租車和私家車輛、消防車和貨車等,這些車型的主要區別在于車身涂裝和標志燈上。在實際應用中,往往會因為行人或非機動車遮擋部分車輛畫面導致識別效果不佳。改進模型利用空洞卷積增加感受野,結合空洞空間金字塔池化(Atrous Spatial Pyramid Polling,ASPP)提高對多尺度信息的提取效果,引入Reasoning-RCNN 賦予模型自適應推理能力,以增強算法識別能力。
本文創建了一個COCO 數據集,用于訓練Faster-RCNN。根據數據特點,選擇VGG-16 作為骨干網絡,引入空洞卷積、空洞空間金字塔池化和Reasoning-RCNN 提高算法準確率。修改后的結構模型如圖2所示。
圖像首先經過融合空洞卷積的VGG-16 網絡得到特征圖。特征圖分別在RPN 模塊生成候選區域,在ASPP 模塊提取多尺度特征信息。兩項結果一方面共同輸入到ROI Align 層中進行候選區域特征圖的生成,再進行后續工作得到各項的初始權重以生成全局語義池M;另一方面由特征圖生成注意力系數α,通過包含特定知識的知識圖譜,在M 中傳播所有的語義表示以進行全局推理。最后,將得到的結果,即增強后的特征圖再次進行分類和候選區域回歸以得到新的分類權重。

Fig.2 Schematic diagram of improved algorithm structure圖2 改進算法結構示意圖
本方法的損失函數分為RPN 損失與Faster R-CNN 損失兩部分。同時,這兩部分損失中都包含分類損失和回歸損失。其計算方法為:

其中,σ在RPN訓練時為3,在Faster R-CNN 訓 練時為1。
本方案用rate 值為2、3、5 的空洞卷積在VGG 的第4、5個卷積模塊中分別進行3 次卷積操作。空洞卷積rate 值的變化后,為了不改變生成特征圖的尺寸,pad 值也需作出改變。在rate=1,即用3*3 的卷積核對7*7 的特征圖進行卷積操作時,需要在特征圖外圍補充寬度為1 的像素點以確保能夠生成7*7 大小的特征圖。當使用5*5 的卷積核進行卷積時,即rate 值為2,則需要填充的像素點寬度為2。同理,在rate 為3 時,相當于使用7*7 的卷積核進行卷積,此時應在特征圖周邊填充寬度為3 的像素點。在rate=5 時應填充寬度為5 的像素點。因此,也需要修改網絡中相應的pad參數。修改后的VGG16 網絡與原網絡卷積層比較如表1所示。
使用空洞卷積能有效提高感受野,同時還可以改善局部特征信息丟失情況,以增加相似車型之間的差異特征。
空洞空間金字塔池化(ASPP)是基于SPP(Spatital Pyr?amid Pooling)而提出,該方法對所給定的輸入以不同采樣率的空洞卷積并行采樣,相當于以多個比例捕捉圖像上下文。ASPP 能增加對多尺度信息的提取效果,以此提升算法準確性。

Table 1 Comparison between VGG-16 network structure with atrous convolution and original network表1 空洞卷積的VGG-16網絡結構與原網絡比較
本文在Faster R-CNN 中加入ASPP,從Conv-5 層輸出的特征圖輸入ASPP 結構中,使用多個尺度的空洞卷積進行重采樣,并編碼多尺度信息,增加對多尺度信息的提取效果。rate 值的設定要適當,既能保證較大的感受野,又不至于降低空洞卷積效果,這樣才能夠保證對多尺度信息的處理效果。
本文檢測對象中,消防車、出租車等與普通車輛的區分標志圖案屬于小目標,因而在檢測中應使用多個小尺度的卷積進行重采樣工作,這樣才能保證盡可能多地獲取到相關的局部特征信息。經實驗后發現提取多尺度信息的最佳方案為:ASPP 模塊第一個分支先進行平均池化操作,然后使用1*1 的卷積變換通道數,其他4 個分支分別使用rate 值為1、3、5、7 的3*3 卷積核對特征圖進行再采樣。ASPP 結構如圖3所示。

Fig.3 Structure of atrous spatial pyramid pooling(ASPP)in void space圖3 空洞空間金字塔池化(ASPP)結構
該方法通過引入外部知識建立自適應全局推理模塊。首先,通過收集上一層的分類層權重生成全局語義池,即集成每個類別的高級語義表示;然后,在訓練和測試中定義一個類到類的無向圖G=

Fig.4 Global reasoning module圖4 全局推理模塊
深度學習方法需要樣本數據進行訓練,以學習數據中的特征,本方法也不例外。在數據選擇上,需要選擇更有代表性的圖像才能獲得較好的檢測效果。本文使用從網絡上采集而來的數據樣本,包括9 個類別,即家用小轎車、大客車、消防車、重型卡車、吉普車、面包車、出租車、小卡車、運動型汽車(SUV)。數據圖像皆為車輛的正面或側面視角,符合大部分實際應用的常見狀況。數據集包含2 035 張圖片,通過人工標注制成。數據集的部分圖像如圖5所示。

Fig.5 Image display of data set圖5 數據集部分圖像展示
為了檢測本文網絡性能,采用綜合汽車數據集Com?prehensive Cars(CompCars)[17]驗證網絡準確性。該數據集由香港中文大學多媒體實驗室(MMLAB)發布,包含214 345 張汽車圖像,涵蓋兩種場景(網絡環境、監視環境)和1 687 種汽車型號。本次實驗取其中300 張圖片進行測試,改進后的網絡準確率達90%(原VGG-16 網絡檢測準確率約為84%)。
本文使用模型的基礎框架為Faster R-CNN,分別將骨干網絡改為原VGG-16、ResNet-50、ZF 網絡以及改進后的網絡,得到如表2 所示的實驗結果。觀察結果可知,就原網絡而言,相比于其他網絡,VGG-16 網絡的效果更勝一籌。在引入ASPP 后,網絡的mAP 值有所提高。加入空洞卷積后,網絡感受野提高,mAP 也相應提高。在引入基于Faster R-CNN 框架的Reasoning-RCNN 后,網絡的mAP 值達93.86%,整體提升1.59%。由此可見,該方法能有效提升算法識別準確率。
本文方法下檢測不同類別車輛的mAP 值比較如表3所示。比較結果發現,改進后的算法在各類別上的mAP 值均有所提升,其中,在重型卡車、消防車、出租車、家用轎車這些易混淆類別上mAP 值的提升較大。

Table 2 Comparison of different backbone networks表2 不同骨干網絡比較

Table 3 Comparison of mAP values of different types of vehicle表3 各類別車輛mAP值對比
本文將改進的算法與SSD、YOLOv2 以及YOLOv3 算法進行比較,在控制相同實驗參數的情況下比較mAP 值,結果如表4 所示。可以發現,本文方法的mAP 值高于其他算法。同為one-stage 算法,YOLO 系列算法相對于SSD 效果更好,但該算法對于小尺度目標信息的檢測效果不好,在檢測相似類型車輛時效果較差,同時對于部分遮擋的車輛無法準確檢測。改進后的Faster R-CNN 增加了對多尺度信息的提取效果,同時增加感受野,在此基礎上還擁有全局推理能力,這都增加了改進后的算法檢測效果。

Table 4 Comparison of the effects of different detection methods表4 不同檢測方法效果比較
本次使用400 張圖片驗證模型實用性,其中小轎車、出租車、消防車、重型卡車各50 張,吉普車、大客車、面包車、小卡車、SUV 各40 張,如表5 所示。可以看出,各類別車輛的檢測率均在90%及以上,表明該方法具有一定實用性。

Table 5 Picture test results表5 圖片測試結果
本文提出了一種基于Faster R-CNN 的車輛識別與分類算法,該算法針對特征相似車輛檢測,通過引入空洞卷積提高感受野,引入ASPP 結構以增強對多尺度信息的提取效果,引入Reasoning-RCNN 賦予算法推理能力,并對網絡進行整體優化。該方法在測試集上mAP 可達93.86%,可見其檢測性能良好并具有一定實用性。但同時,作為一款two-stage 的算法,該算法在運行速度上尚有一定提升空間。