王聰 張瓏
摘? 要:Mask R-CNN在目標(biāo)檢測中具有很大的優(yōu)勢,算法使用深度神經(jīng)網(wǎng)絡(luò)對目標(biāo)進(jìn)行提取特征,具有較高的檢測準(zhǔn)確度。但是如果直接使用Mask R-CNN檢測車輛會存在遠(yuǎn)場景小目標(biāo)車輛檢測漏檢的問題。針對這個問題文章在特征提取時使用ResNeXt-101-FPN網(wǎng)絡(luò)代替Resnet殘差特征金字塔網(wǎng)絡(luò),提高準(zhǔn)確率的同時減少計算量。
關(guān)鍵詞:Mask R-CNN;目標(biāo)檢測;車輛檢測;特征提取
Abstract: Mask R-CNN has great advantages in target detection. The algorithm uses deep neural networks to extract features from targets, and has higher detection accuracy. However, if Mask R-CNN is used to detect vehicles directly, there will be a problem of missed detection of small target vehicles in far scenes. In order to solve this problem, this paper uses ResNeXt-101-FPN network instead of Resnet residual feature pyramid network in feature extraction, to improve accuracy and reduce calculation amount.
引言
車輛檢測是智能車輛輔助系統(tǒng)[1]的核心算法,車輛檢測的準(zhǔn)確性和實時性直接影響到智能車輛輔助系統(tǒng),直接涉及到車輛的安全,錯誤的車輛檢測會影響輔助系統(tǒng)的判斷,造成安全隱患。對于要在道路上使用的車輛檢測和跟蹤系統(tǒng),實時性是必需的,Mask R-CNN具有檢測精度高、速度快、實例分割效果好的優(yōu)點。但如果直接把它應(yīng)用在車輛檢測上,存在小目標(biāo)的車輛檢測效果不好以及漏檢的問題。本文針對這一問題對算法進(jìn)行了優(yōu)化,改進(jìn)了算法中的特征提取網(wǎng)絡(luò),提高了準(zhǔn)確率的同時運(yùn)算量也相應(yīng)地減少。
1 車輛實例分割算法流程
實例分割比目標(biāo)檢測更為復(fù)雜,目標(biāo)檢測通常僅預(yù)測對象邊界框,而實例分割技術(shù)使得模型可預(yù)測像素級度量深度的結(jié)果。
Mask R-CNN是實例分割任務(wù)的首選網(wǎng)絡(luò),同時學(xué)習(xí)語義和幾何表示,確定每個對象中每個像素的類別和空間關(guān)系,不僅對同一類別的物體區(qū)域進(jìn)行分割,還對不同類的物體區(qū)域進(jìn)行分割。例如:在像素級別描述物體的輪廓并標(biāo)出物體的位置。Mask R-CNN除了進(jìn)行分類和邊界框預(yù)測之外,還預(yù)測每個候選區(qū)域的分割掩碼。
Mask R-CNN工作的原理是采用雙線性插值法的區(qū)域候選網(wǎng)絡(luò),保留小數(shù)位的像素值的計算結(jié)果,能夠讓在特征圖上計算出來的回歸框不會因為一系列操作而導(dǎo)致像素的移動,避免了特征圖與原始圖像出現(xiàn)不對應(yīng)、不對齊的情況發(fā)生,能夠有效地提升檢測精度。經(jīng)過區(qū)域候選網(wǎng)絡(luò)處理過后的特征圖就可以立即進(jìn)入到全連接網(wǎng)絡(luò)中進(jìn)行分類與回歸。Mask R-CNN作為一個在像素級別進(jìn)行分割的網(wǎng)絡(luò),在進(jìn)行分類和回歸的時候,加入了一個并行掩膜分支,分支經(jīng)過一個全連接的網(wǎng)絡(luò)之后,會把目標(biāo)之內(nèi)的像素進(jìn)行相應(yīng)分類,從而輸出一個覆蓋目標(biāo)的可視化掩膜范圍。
Mask R-CNN在多目標(biāo)下的目標(biāo)檢測、目標(biāo)分類以及像素級別的目標(biāo)物體分割取得了良好的效果,所以本文使用Mask R-CNN進(jìn)行車輛的實例分割檢測。
Mask R-CNN車輛的實例分割檢測可分為兩個部分:訓(xùn)練部分和檢測部分,如圖1所示。首先車輛實例分割算法進(jìn)行樣本采集、選出候選區(qū)域并在ImageNet分類中預(yù)先訓(xùn)練網(wǎng)絡(luò)權(quán)重,Mask R-CNN[2]的神經(jīng)網(wǎng)絡(luò)通過學(xué)習(xí)參數(shù)進(jìn)行調(diào)整,直到訓(xùn)練收斂到局部最優(yōu)。然后對檢測模塊輸入的圖像進(jìn)行車輛實例分割,輸出最后的車輛檢測結(jié)果。
2 特征提取網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
傳統(tǒng)的算法[3-4]通常使用加深網(wǎng)絡(luò)的方法提高準(zhǔn)確率,但此方法會使參數(shù)增加,從而增加了計算量,而且網(wǎng)絡(luò)也不好設(shè)計,因此本文不采用傳統(tǒng)的改進(jìn)方法,而是在Mask R-CNN的特征提取時使用ResNeXt-101-FPN網(wǎng)絡(luò)代替Resnet殘差特征金字塔網(wǎng)絡(luò)。一個101層的ResNeXt網(wǎng)絡(luò),和一個200層的ResNet網(wǎng)絡(luò)所得到的準(zhǔn)確率差不多,但是計算量卻是少了一半,所以本文替換特征提取網(wǎng)絡(luò)。如表1所示,ResNet-101-FPN和ResNeXt-101-FPN在Mask R-CNN上進(jìn)行對比可以發(fā)現(xiàn)使用ResNeXt-101-FPN效果更好,而且需要的參數(shù)也少,能夠在提高準(zhǔn)確率的同時減少計算量。
由表1可知,雖然ResNeXt總的通道數(shù)量比ResNet多,但是兩者的參數(shù)數(shù)量是相似的,車輛檢測的車型不是很多,對于網(wǎng)絡(luò)層數(shù)要求就不是很高,所以本文沒有增加網(wǎng)絡(luò)層數(shù)。
3 實驗結(jié)果與算法比較
為了驗證本文提出的算法,本節(jié)對實例分割車輛檢測算法進(jìn)行實驗。首先給出了實驗參數(shù)和其他相關(guān)設(shè)置,其次考慮到訓(xùn)練Mask R-CNN必須有目標(biāo)分割[5]的標(biāo)注,最終選用Cityscapes公共數(shù)據(jù)集進(jìn)行實驗。
3.1 測試
(1)實驗參數(shù)和相關(guān)設(shè)置
本文在ubuntu 16.04(x64)、python3.5、Cuda-9.0、cudnn-7.0、TensorFlow 1.10.0上進(jìn)行實驗。并使用深度學(xué)習(xí)的環(huán)境下的pycharm軟件進(jìn)行實驗測試。
(2)實驗數(shù)據(jù)集
數(shù)據(jù)集使用最近發(fā)布的城市道路的Cityscapes數(shù)據(jù)集,該數(shù)據(jù)集是在晴朗天氣下從多個城市收集的,它包含5000張圖像,圖像標(biāo)記20類的實例和語義分割。整個圖像中的2975張用于訓(xùn)練,500張用于驗證和1525張用于測試。
(3)實驗?zāi)P?/p>
采用基于ResNeXt網(wǎng)絡(luò)的Mask R-CNN算法進(jìn)行車輛實例分割檢測實驗,通過替換一個網(wǎng)絡(luò)結(jié)構(gòu)減少參數(shù)計算并提高了準(zhǔn)確率。
3.2 算法比較
Mask R-CNN雖然在小目標(biāo)的識別檢測方面優(yōu)于常規(guī)的深度學(xué)習(xí)算法,但是在小目標(biāo)的識別檢測上仍然會存在漏檢的情況,本文算法對Mask R-CNN進(jìn)行了改進(jìn),使用Cityscapes的驗證集進(jìn)行測試。選取一部分的圖像進(jìn)行結(jié)果分析,對圖像中檢測到的車輛進(jìn)行標(biāo)記,并對成功檢測到的車輛分別進(jìn)行統(tǒng)計,算法執(zhí)行在GPU上達(dá)到了37 fps的速度。
表2對小目標(biāo)車輛檢測結(jié)果進(jìn)行了統(tǒng)計,第一列表示車輛的數(shù)量屬性,第二列是使用原始算法對小目標(biāo)車輛的檢測,第三列是改進(jìn)的算法對小目標(biāo)車輛的檢測,可看出改進(jìn)的算法在小目標(biāo)的檢測中準(zhǔn)確率比原始的算法提高了很多。相比于原始算法本文算法準(zhǔn)確率從79%提高到了86%,提高了7%。
4 結(jié)束語
本文對基于Mask R-CNN的車輛實例分割模塊進(jìn)行了改進(jìn),通過設(shè)計一個特征提取區(qū)域候選獲取分割算法的權(quán)重和參數(shù)及檢測目標(biāo)驗證完成了車輛的實例分割檢測,然后對本文提出的車輛檢測方法進(jìn)行了實驗驗證。從實驗結(jié)果的統(tǒng)計結(jié)果來看,與原始算法相比,本文提出的改進(jìn)算法能更準(zhǔn)確地檢測車輛,以及具有更好的小目標(biāo)車輛檢測能力,在提高準(zhǔn)確率的同時減少了計算量。
參考文獻(xiàn):
[1]聶堯.車輛安全輔助駕駛技術(shù)淺析[J].交通與運(yùn)輸,2008(2):146-148.
[2]K.He,G.Gkioxari,P.Dollar,R.Girshick.Maskr-cnn[J].arXiv:1703.06870,2017
[3]李婷婷.基于視覺的前方車輛識別技術(shù)研究[D].華南理工大學(xué),2016.
[4]馬永杰,馬云婷.結(jié)合CNN多層特征和SVM的車輛識別[J].激光與光電子學(xué)進(jìn)展,2019,56(14):47-53.
[5]江宛諭.基于深度學(xué)習(xí)的物體檢測分割[J].電子世界,2018(15):19-20+23.