賈瑞


摘要:作為計算機視覺研究的一個比較重要的領域,目標識別在實際應用中的對車輛檢測和車型識別具有十分重要的意義。本文運用基于Cifar10Net訓練的RCNN模型,利用RCNN對車輛區域進行檢測。在進行識別檢測時,利用cifar10Net和RCNN訓練出目標檢測器,然后利用訓練好的AlexNet模型進行車型識別。
關鍵詞:車輛檢測;車型識別;RCNN
中圖分類號:U495 文獻標識碼:A 文章編號:1007-9416(2019)02-0096-02
2014年Ross Girshick在CVPR上發表《Rich feature hierarchies for Accurate Object Detection and Segmentation》,RCNN(Regions with Convolutional Neural Network Features)就是這篇文章的核心算法。此文首次提出利用深度學習來實現目標檢測,是目標檢測領域的經典文獻,一舉將PASCAL VOC上的檢測率從35.1%提升到53.7%。RCNN關于深度學習的目標檢測算法,及對目標檢測的總體思路,對后來人們開展相關研究提供了重要的技術思想基礎。
RCNN的貢獻主要分為兩部分:(1)將卷積神經網絡應用于區域檢測的策略,自底向上訓練可以用來定位目標物體和圖像分割。(2)當標記數據比較稀疏時,在有監督的訓練集(如ImageNet)上預訓練,在得到訓練模型后,再對精調特定的數據集,這樣得出的結果就比較理想。
1 RCNN算法步驟
傳統的圖片定位方法是使用滑動窗口探測器,為了保證較高的空間分辨率,這些卷積神經網絡通常只有兩個卷積層和池化層,然而由于更深的網絡,更大的輸入圖片和滑動步長,使得使用滑動窗口來定位的方法充滿了挑戰。RCNN通過使用區域檢測的方法來解決卷積神經網絡的定位問題,這個方法在目標檢測和語義分割中都取得了成功。測試階段,對每一張輸入圖片,先定位出2000個物體候選框,然后采用卷積神經網絡提取每個候選框中圖片的特征向量,特征向量的維度是4096維,接著采用SVM算法對每個候選框中的物體進行分類識別,也就是分為四個階段:候選區域生成、對每個候選區域利用深度學習網絡提取特征、使用特定的SVM分類器對提取的特征向量進行分類、使用回歸器精細修正候選框位置。下面對每一步驟進行詳解。
1.1 候選區域生成
對一張圖片不斷的分割合并成許多小圖。這步利用的是選擇性搜索方法。選擇性搜索是先將圖片利用分割手段分割成一些小圖,再將小圖通過一定的合并規則均勻的合并。對于原圖,分割合并后的小圖還是小圖。按照這個方法,經過數次分割合并,直到合并成整張原圖。在這個過程中,將小圖生成的途徑過程中的所有小圖,就形成了候選區域,如圖1所示。通過這個算法搜索出2000個互不相同的候選區域,但是在卷積神經網絡中,圖片的大小是固定的,因此對于每個候選框都要縮放到固定的大小,在這里有各向異性縮放和各向同性縮放兩種縮放方法。
各向異性縮放就是通過編程,直接將圖片縮放到卷積神經網絡要求的圖片大小,而在此過程中,不考慮圖片的長款比例及圖片是否有扭曲。
因為圖片扭曲后,會對卷積神經網絡的訓練精度有影響,于是就有了各向同性縮放方案。這個方法就是直接在原始圖片中,把候選框的邊界進行延伸成正方形,然后再進行裁剪,如果已經延伸到原始圖片的外邊界,就用候選框中的顏色均值填充。
1.2 卷積神經網絡訓練
RCNN的網絡訓練包括兩部分:預訓練和調優訓練。
(1)預訓練。預訓練的網絡結構采用的是Hinton在ImageNet上的分類網絡AlexNet,這樣避免了直接從隨機初始化的參數進行訓練,使得網絡開始之前參數都是經過訓練過的參數,可以大大提高精度,這種方法叫有監督的訓練方式(也稱為遷移學習)。
(2)調優訓練。網絡結構同樣使用上述結構,最后一層換為輸出為21個類別的全連接網絡,在其它網絡層的參數不變的同時,在最后一層直接對參數進行隨機初始化,然后開始訓練。從一個候選區域和所有標定區域(人工標注的候選區域)重疊面積最大的區域中選取考察對象。考察過程中,若重疊面積比例大于50%,則認為此候選區域為此標定的類別(正樣本),否則認為此候選區域為背景(負樣本)。學習率為0.001,每一批包含32個正樣本(屬于20類)和96個背景的負樣本。
1.3 SVM分類器訓練和測試
采用一個線性SVM二類分類器判別同一類目標。當進行車輛檢測時,只有把整輛車的圖像區域都包含在內的邊框,才是正樣本;則沒有把整輛車的圖像區域包含在內的邊框,就是負樣本。但是由于實際中負樣本數量遠遠大于正樣本數量,所以Ross Girshick選擇IOU閾值為0.3,即當每一個候選框和和本類目標中所有標定框的重疊面積均小于0.3時,即將其做為負樣本。
1.4 利用回歸器精細修正候選框位置
目標檢測問題的衡量標準是重疊面積,許多檢測結果往往由于候選框的不精確導致不準確,因此需要對候選框位置進行修正。回歸器對每一類目標,使用一個線性脊回歸器進行精修。正則項λ=10000,輸入4096維特征,輸出xy方向的縮放和平移,訓練樣本判定為本類的候選框中,和真值重疊面積大于0.6的候選框。
綜上所述,RCNN檢測和識別的過程如下:先用選擇性搜索的方法選擇2000個目標候選區域,然后對每一個區域都在卷積神經網絡上運行兩次,第一次在利用AlexNet進行分類模型訓練,之后能進行SVM分類,在分類后需要將AlexNet模型改為檢測模型,然后利用SVM進行二分類判斷當前檢測出的區域是否含有目標物體,最后才在檢測模型的基礎上進行邊界檢測,得到所需候選框。
2 車型檢測和識別實現
我們通過采用cifar10Net來訓練RCNN得到車輛具體位置。Cifar10是由Hinton的學生收集的一個用于普遍適用識別目標的數據集。它由60000張32*32的RGB彩色圖片構成,共10個分類(鳥、人、狗、貓、青蛙等),50000張訓練圖片,10000張測試圖片(交叉驗證)。這個數據集的優點在于將目標識別應用到了普通物體,而且解決了不同分類的問題。與已經成熟的人臉識別相比,普通物體識別則困難重重,因為普通物體的數據中含有大量特征、噪聲,而且由于所識別的物體種類繁多,且體積大小差距較大,這已經超出了SVM的識別能力。所以,Cifar10相對于傳統圖像數據集有顯著優勢。
2.1 算法實現步驟
之所以采用Cifar10Net來訓練RCNN,是因為matlab 2016b(只能是2016b及以上版本)的計算機視覺系統工具箱已經使用Cifar10數據集訓練停止檢測標志,通過微調網絡,可以將原始任務學習的特征適用于新任務。
首先在matlab中讀入Cifar10Net。
由于cifar10所包含物體種類較少,且Cifar10Net只有三個卷積層,兩層全連接,因此cifar10巡練速度較快,但準確率也有所下降。訓練策略采取動力0.9,初始學習率0.005,每次訓練迭代的最小批次為100,訓練最大次數為100。訓練效果如圖2所示。
2.2 RCNN實現效果圖
運用已經訓練好的Cifar10 Net RCNN模型對目標車輛區域進行檢測,再利用訓練好的AlexNet模型對車型進行識別,運行Pic_Detect_Recognition.m文件,識別效果如圖3所示。
3 結語
本文實現了基于任意角度車輛圖片的車輛型號識別,但由于硬件及各種條件的影響,本文的工作還有很多需要改進的地方。本文的車輛區域檢測模型是用Cifar10訓練的RCNN得到的,但RCNN存在重復計算問題及速度瓶頸,可以選擇Fast RCNN或Faster RCNN進行車輛檢測。雖然模型選取關系到識別速度和精度,但如何優化代碼提升識別速度也是本研究能否應用的關鍵,而且本文的算法基本上是基于Matlab編寫的,后期準備利用C++結合深度學習工具Caffe進行實現,提高識別速度。
參考文獻
[1] 鄧柳.基于深度卷積神經網絡的車型識別[D].西南交通大學,2015.
[2] 王茜,張海仙.基于深度神經網絡的汽車車型識別[J].四川大學學報,2015(35):61-64.
[3] 張飛云.基于深度學習的車輛定位及車型識別研究[D].江蘇大學,2016.
[4] 趙永科.深度學習21天實戰Caffe[M].北京:電子工業出版社,2016,10.
Research on Vehicle Area Detection Based on RCNN
JIA? Rui
(College of Electrical Engineering, Suzhou Chien-shiung Institute of Technology, Taicang Jiangsu? 215400)
Abstract:As a relatively important field of computer vision research, target recognition is of great significance for vehicle detection and vehicle identification in practical applications. In this paper, the RCNN model based on Cifar10Net training is used to detect the vehicle area using RCNN. In the identification test, the target detector is trained using cifar10Net and RCNN, and then the model is identified using the trained AlexNet model.
Key words:vehicle detection; vehicle type identification; RCNN