曹鑫勝
(山西交通實業(yè)發(fā)展集團有限公司,山西 太原 030006)
?;肥且兹?、易爆、有強烈腐蝕性化學(xué)物品的總稱,是容易造成可怕的危險結(jié)果的物品。服務(wù)區(qū)作為高速公路的“中轉(zhuǎn)站”、“加油站”,是長途旅客休息的重要場所,是重要的人員、車輛的集散地和密集區(qū),?;奋囕v進入服務(wù)區(qū),就等于是一個移動的危險源放到了服務(wù)區(qū)內(nèi),由于它的動態(tài)性大,發(fā)生事故的時間和地點難以預(yù)知,一旦發(fā)生事故,極易造成群死群傷的群體性事件,對人民生命財產(chǎn)和公共安全構(gòu)成極大威脅。
國家和交通運輸部特別重視服務(wù)區(qū)?;奋囕v管理工作,2018年交通運輸部印發(fā)全國公路服務(wù)區(qū)19項工作重點,其中在第4條加強公共場區(qū)管理中,重點提出了要加強?;愤\輸車的有序停放和安全管理工作。
因此,本研究目的在于,通過深度學(xué)習(xí)技術(shù),實現(xiàn)服務(wù)區(qū)危化品運輸車輛的實時準確識別,使危化品車輛一旦進入服務(wù)區(qū),管理人員能夠在第一時間獲得信息,幫助管理人員做好車輛在服務(wù)區(qū)行駛軌跡的跟進管理工作,從而為服務(wù)區(qū)提高危化品車輛的監(jiān)測水平,降低?;奋囕v監(jiān)測的人力物力成本,做好責(zé)任劃分起到良好的輔助作用。
Faster RCNN是目前比較流行的目標檢測算法。Faster RCNN是一種前饋神經(jīng)網(wǎng)絡(luò),它的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周圍單元,對于大型圖像處理有出色表現(xiàn)。Faster RCNN算法主要由以下幾個部分構(gòu)成:
1) 基于RPN的車輛候選框提取。
通過前向卷積神經(jīng)網(wǎng)絡(luò)得到圖像候選區(qū)域的feature map,然后對該feature map進行分離處理,一者進行物體背景判斷,如果該feature map的某個候選區(qū)域?qū)?yīng)是物體,那么該候選框保留,如果是背景則剔除,二者是輸出該區(qū)域的bbox的相關(guān)四個參數(shù),包括bbox的中心坐標x和y,以及bbox的長和寬。由于常用卷積核的大小都是定長,視野有限,RPN基于此提出anchor的機制對視野進行變換處理,按照長寬比1∶1、1∶2、2∶1進行變換得到不同尺寸的候選框。由于本次任務(wù)是對車輛、車牌候選框進行提取,我們可以基于車輛本身一些尺寸約束對上述比例進行修改,更加符合本次任務(wù)需求;由于神經(jīng)網(wǎng)絡(luò)的初始化是極其重要的一環(huán),能否有好的初始化關(guān)乎問題解決的質(zhì)量,在具體的實驗設(shè)計中,我們實驗在ImageNet數(shù)據(jù)集上訓(xùn)練好的ResNet-101模型參數(shù)對網(wǎng)絡(luò)模型進行初始化。
2) 物體識別Fast-RCNN。
通過RPN輸出的候選框?qū)υ紙D像進行截取,將截取后的圖像經(jīng)過若干次卷積+pooling操作,然后再通過ROI-pooling和全連接神經(jīng)網(wǎng)絡(luò)后輸出到兩條支路,一是目標分類softmax,一是bbox回歸。由于RPN提取的候選框畢竟是一定尺寸下的候選框,難免不能覆蓋所有物體的真實框,基于此Fast-RCNN對候選框進行一定程度的修正。
3) 損失函數(shù)設(shè)計。
涉及到分類問題,定義損失函數(shù)是極其重要的,我們初步想法是借鑒Faster-RCNN做法,對于RPN左支路,anchor是否有目標,用0/1來表示,論文中采用的是人為制定的規(guī)則來進行判斷,根據(jù)IoU來進行判斷,人為設(shè)計了兩個閾值0.7和0.3,本次任務(wù)我們需要根據(jù)自身的任務(wù)進行調(diào)整閾值。
整個Faster RCNN算法的流程如下:
1) 上面提取得到的CNN特征輸入到RPN網(wǎng)絡(luò)中,得到候選框的類別信息和位置信息;
2) 將RPN網(wǎng)絡(luò)得到的候選框的特征信息作為輸入,輸入到后面的Fast R-CNN網(wǎng)絡(luò)中;
3) 基于前面提取得到的特征映射,進一步使用分類器判別是否屬于某個特定的類以及利用回歸器精修候選框的位置。
通過以上步驟可以得到車輛特征信息。但是,F(xiàn)aster RCNN算法中的anchor的尺度是固定的,分別為128,256,512,對應(yīng)于1*2,1*1,2*等三個不同長寬比,也就是說每個特征點上會得到9個anchors,而每個anchor檢測的目標box的位置是沒有任何限制,可以在圖片上的任何位置;Faster RCNN算法中沒有結(jié)合上層的粗粒度卷積特征,直接在最后一層feature map上進行坐標預(yù)測;而這并不適合應(yīng)用在服務(wù)區(qū)場合下?;奋囕v特征識別,因為在服務(wù)區(qū)卡口監(jiān)測到的車輛圖片信息,相對于傳統(tǒng)的多類別檢測任務(wù)而言,較為簡單,選用這么大型的模型容易產(chǎn)生過擬合現(xiàn)象,因此,為了提高模型在實際場景的泛化率,宜選用簡單而準確率較高的模型進行訓(xùn)練。
為此,本研究選用YOLO算法,其通過提出全新的Darknet-19網(wǎng)絡(luò)模型,結(jié)合了粗細粒度的卷積特征,算法中每個特征點上的5個anchors是通過維度聚類,kmeans方法得到的,算法中每一個anchor只負責(zé)檢測當(dāng)前grid cell周圍正負一個單位以內(nèi)的目標box,準確度較高;且處理一張圖片的時間在0.1 s~0.2 s之間,能夠較好地滿足真實背景下檢測任務(wù)的速度要求。
車輛?;费芯客瓿蓮目谲囕v圖片中選取有?;窐酥九频能囕v,整個車輛檢測中包括圖片處理流程、模型選型、結(jié)果檢驗等一系列過程。圖片在處理過程中主要分為三個步驟,包括圖片源獲取、圖片篩選以及圖片標定工作。
本次研究的圖片主要來源于某服務(wù)區(qū)的卡口車道監(jiān)控圖片,車輛樣例圖片如圖1。
圖1 某服務(wù)區(qū)卡口車輛圖片樣例
目前共獲取到12個月的卡口視頻截圖,每天圖片約為1 500張左右,總計圖片數(shù)量54萬張左右。
本次主要研究對象為?;奋囕v,而卡口監(jiān)控拍攝得到的是所有類型的車輛圖片。由于危化品車輛本身較少,這種情況下如果使用全部圖片進行檢測會造成巨大的數(shù)據(jù)傾斜問題,為了完成?;奋囕v檢測工作,需要大量篩選出危化品車輛作為可用樣本,才能完成模型訓(xùn)練的相關(guān)需求。通過篩選共得到?;奋囕v圖片10 000張左右。
在標定工具中打開需要標定的圖片,框選中需要標定的區(qū)域再選中分類為?;?。完成標定的圖片會在原有圖片基礎(chǔ)上生成xml文件,記錄標定框的位置以及分類結(jié)果。
YOLO算法同樣是目前目標檢測領(lǐng)域的經(jīng)典算法。YOLO算法包括兩個版本,即YOLOv1和YOLOv2。
4.1.1 YOLOv1的流程
1) 給一個輸入圖像,首先將圖像劃分成7×7的網(wǎng)格。
2) 對于每個網(wǎng)格,每個網(wǎng)格預(yù)測2個bouding box(每個box包含5個預(yù)測量)以及20個類別概率,總共輸出7×7×(2×5+20)=1 470個tensor。
3) 根據(jù)上一步可以預(yù)測出7×7×2=98個目標窗口,然后根據(jù)閾值去除可能性比較低的目標窗口,再由NMS去除冗余窗口即可。
4.1.2 YOLOv2算法
YOLOv2作為YOLOv1版本的改進,相比于YOLOv1版本,做了許多的改進。幾個主要的改進如下:
1) Batch Normalization:CNN在訓(xùn)練過程中網(wǎng)絡(luò)每層輸入的分布一直在改變,會使訓(xùn)練過程難度加大,但可以通過normalize每層的輸入解決這個問題。新的YOLO網(wǎng)絡(luò)在每一個卷積層后添加batch normalization,通過這一方法,mAP獲得了2%的提升。batch normalization也有助于規(guī)范化模型,可以在舍棄dropout優(yōu)化后依然不會過擬合。
2) High Resolution Classifier:目前的目標檢測方法中,基本上都會使用ImageNet預(yù)訓(xùn)練過的模型(classifier)來提取特征,如果用的是AlexNet網(wǎng)絡(luò),那么輸入圖片會被resize到不足256×256,導(dǎo)致分辨率不夠高,給檢測帶來困難。為此,新的YOLO網(wǎng)絡(luò)把分辨率直接提升到了448×448,這也意味著原有的網(wǎng)絡(luò)模型必須進行某種調(diào)整以適應(yīng)新的分辨率輸入。
對于YOLOv2,作者首先對分類網(wǎng)絡(luò)(自定義的darknet)進行了fine tune,分辨率改成448×448,在ImageNet數(shù)據(jù)集上訓(xùn)練10輪(10 epochs),訓(xùn)練后的網(wǎng)絡(luò)就可以適應(yīng)高分辨率的輸入了。然后,作者對檢測網(wǎng)絡(luò)部分(也就是后半部分)也進行fine tune。這樣通過提升輸入的分辨率,mAP獲得了4%的提升。
本研究我們采用了YOLOv2算法,YOLOv2算法是基于卷積神經(jīng)網(wǎng)絡(luò)技術(shù),其算法流程大致分為下面幾步:
1) 采用YOLOv2模型進行車輛檢測,訓(xùn)練時利用人工標注的危化品車輛圖像進行訓(xùn)練。
2) 采用基于動量的隨機梯度下降方法,一共訓(xùn)練50個epoch。初始學(xué)習(xí)率為0.001,訓(xùn)練到30和40個epoch后分別乘以0.1。
3) 訓(xùn)練圖片尺寸統(tǒng)一變換為448×448。采用隨機裁剪、隨機翻轉(zhuǎn)、顏色變換的樣本擴充方法。
4) 將圖片resize成448×448的分辨率,圖片進行等間距分割得到7×7的網(wǎng)絡(luò)cell
5) 得到2分類的車輛圖片特征。
YOLOv2算法可以完成卡口車輛是否為危化品車輛的檢測識別,檢測識別的結(jié)果,同時該算法在當(dāng)外界環(huán)境發(fā)生一定變化的情況下也具有檢測作用,車輛位置和光照條件發(fā)生變化后依然可以完成相關(guān)檢測和卡口車輛在夜間的檢測情況。
檢測完成后,模型會提供當(dāng)次檢測結(jié)果的可靠性指標,可靠性指標越高,說明當(dāng)次檢測結(jié)果正確的可能性越高。我們可以通過設(shè)置閾值對可靠性指標進行判斷,閾值設(shè)置的越高,則越不容易發(fā)生誤檢的情況,但對于某些光線模糊、位置傾斜等不易檢測的圖片,會發(fā)生漏檢的情況。同樣當(dāng)閾值設(shè)置的越低,對于某些光線模糊、位置傾斜等不易檢測的圖片更容易正確的檢測出?;奋囕v,但同時也容易發(fā)生誤檢的情況。
本文從真實高速公路服務(wù)區(qū)視頻出發(fā),以高速公路監(jiān)控視頻為基礎(chǔ),利用YOLO深度學(xué)習(xí)模型完成?;奋囕v識別工作,使?;奋囕v一旦進入服務(wù)區(qū),管理人員能夠在第一時間獲得信息,幫助管理人員做好車輛在服務(wù)區(qū)行駛軌跡的跟進管理工作,從而為服務(wù)區(qū)提高危化品車輛的監(jiān)測水平,降低危化品車輛監(jiān)測的人力物力成本,做好責(zé)任劃分起到良好的輔助作用。