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