葛明進(jìn),孫作雷,孔 薇
(上海海事大學(xué)信息工程學(xué)院,上海 201306)
城市規(guī)模不斷擴(kuò)大,道路上的車輛日益增多,道路交通情況變得越來越復(fù)雜,使得智能交通系統(tǒng)[1,2]的發(fā)展越來越引人關(guān)注。交通場景下的目標(biāo)檢測技術(shù)是智能交通系統(tǒng)的關(guān)鍵所在,在車輛違法行為檢測、停車?yán)U費(fèi)系統(tǒng)、規(guī)避交通事故等方面都發(fā)揮著極為重要的作用。
當(dāng)前基于深度學(xué)習(xí)的目標(biāo)檢測算法主要可分為2大類。
一類是二階段目標(biāo)檢測算法,此類算法在第1階段通過區(qū)域建議網(wǎng)絡(luò)RPN(Region Proposal Network)生成候選區(qū)域RP(Region Proposals),第2階段在RP內(nèi)完成圖像特征提取,并利用提取到的特征對(duì)候選區(qū)域進(jìn)行分類和定位。例如R-CNN(Region-based Convolutional Neural Network)[3]、Fast R-CNN(Fast Region-based Convolutional Neural Network)[4]、Faster R-CNN(Faster Region-based Convolutional Neural Network)[5]等。其中R-CNN算法首先利用選擇性搜索SS(Selective Search)算法[6]獲取圖像的候選區(qū)域RP,然后使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)所有RP進(jìn)行特征提取,最后使用支持向量機(jī)SVM對(duì)RP進(jìn)行分類和定位。Fast R-CNN針對(duì)R-CNN中存在的重復(fù)卷積計(jì)算問題進(jìn)行了改進(jìn),首先將整幅圖像輸入到卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征提取,然后通過感興趣區(qū)域池化層(ROI POOLing)對(duì)獲取到的RP進(jìn)行尺寸處理。Fast R-CNN使用整幅圖像作為卷積網(wǎng)絡(luò)的輸入,減少了大量的重復(fù)計(jì)算,降低了計(jì)算量,但其依舊采用SS算法提取候選區(qū)域,所以整個(gè)網(wǎng)絡(luò)的訓(xùn)練還沒有實(shí)現(xiàn)端到端處理。Faster R-CNN提出使用區(qū)域建議網(wǎng)絡(luò)RPN的方法,將生成候選框的過程也加入到目標(biāo)檢測網(wǎng)絡(luò)中來,整個(gè)目標(biāo)檢測網(wǎng)絡(luò)實(shí)現(xiàn)了端到端的訓(xùn)練。Faster R-CNN還提出了anchor的概念,作為預(yù)測的候選框。后來候選區(qū)域生成階段逐漸被基于anchor的區(qū)域建議網(wǎng)絡(luò)所取代。
Figure 1 RetinaNet model圖1 RetinaNet模型
另外一類是基于回歸的目標(biāo)檢測算法,直接在網(wǎng)絡(luò)中提取特征來預(yù)測目標(biāo)類別和位置,將目標(biāo)檢測由分類問題轉(zhuǎn)換為回歸問題,檢測速度相比于二階段目標(biāo)檢測算法有了質(zhì)的提升,但在精度方面卻相差很多。其中DenseBox[7]采用的就是anchor-free的機(jī)制,在訓(xùn)練時(shí)通過剪裁、調(diào)整圖像尺寸來適應(yīng)多尺度的要求,因此DenseBox需要在圖像金字塔上完成目標(biāo)檢測任務(wù),重復(fù)的卷積計(jì)算使計(jì)算量增大。YOLO(You Only Look Once)[8]也是采用anchor-free的方法進(jìn)行目標(biāo)檢測的典型,在網(wǎng)絡(luò)訓(xùn)練的過程中,直接學(xué)習(xí)目標(biāo)類別和位置,不以任何預(yù)定義的先驗(yàn)框作為參考。但是,由于在YOLO目標(biāo)檢測算法中,每個(gè)目標(biāo)只由目標(biāo)中心點(diǎn)所在的網(wǎng)格(Grid Cell)負(fù)責(zé)預(yù)測,召回率低。所以,后來的YOLOv2[9]、YOLOv3[10]和SSD(Single Shot multibox Detector)[11]都借鑒了Faster R-CNN中的anchor機(jī)制,利用密集采樣的思想,通過大量預(yù)定義的anchor枚舉目標(biāo)可能的位置、尺寸和縱橫比的方法來搜索對(duì)象,但網(wǎng)絡(luò)的性能與泛化能力也受到了anchor自身設(shè)計(jì)的限制。首先,使用anchor作為先驗(yàn)框會(huì)引入額外的超參數(shù);其次基于特定數(shù)據(jù)集設(shè)計(jì)的anchor尺寸不能通用于其它數(shù)據(jù)集;最后,每個(gè)位置都有大量的先驗(yàn)框,如此密集地采樣會(huì)帶來正負(fù)樣本極度不均衡的問題。針對(duì)基于anchor的單階目標(biāo)檢測網(wǎng)絡(luò)存在的問題,本文在RetinaNet[12]網(wǎng)絡(luò)的基礎(chǔ)上提出一種基于anchor-free的交通場景下的目標(biāo)檢測模型,采用逐像素預(yù)測的方式進(jìn)行目標(biāo)檢測,直接預(yù)測目標(biāo)類別和邊界框的位置。
2017年Facebook AI團(tuán)隊(duì)提出了RetinaNet目標(biāo)檢測器,RetinaNet是一個(gè)基于anchor的單階目標(biāo)檢測網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示,其中,W和H分別為特征圖的寬和高,K為目標(biāo)的類別數(shù),A為anchor的數(shù)量。首先將深度殘差網(wǎng)絡(luò)ResNet[13]作為主干網(wǎng)絡(luò)用來提取圖像的特征;然后利用特征金字塔網(wǎng)絡(luò)FPN(Feature Pyramid Networks)[14]對(duì)不同特征層提取到的圖像信息進(jìn)行融合;最后2個(gè)平行的子網(wǎng)絡(luò)完成特定的任務(wù),第1個(gè)子網(wǎng)絡(luò)負(fù)責(zé)對(duì)特征金字塔某一層的輸出特征圖執(zhí)行目標(biāo)分類,第2個(gè)子網(wǎng)絡(luò)負(fù)責(zé)目標(biāo)位置回歸。
本文采用與RetinaNet網(wǎng)絡(luò)相同的主干網(wǎng)絡(luò),使用ResNet作為基礎(chǔ)特征提取網(wǎng)絡(luò),利用FPN完成多尺度預(yù)測。不同的是本文采用anchor-free方法進(jìn)行目標(biāo)檢測,在目標(biāo)檢測的過程中不以任何預(yù)定義的anchor作為目標(biāo)分類和邊界框回歸的參考,而是將特征圖上的每個(gè)像素作為1個(gè)樣本,對(duì)特征圖上的像素進(jìn)行逐像素分類[15],并回歸正樣本區(qū)域內(nèi)的像素距離真實(shí)框GT(Ground Truth)左上角和右下角的距離。此外,本文在邊界框回歸分支上添加中心性預(yù)測分支,中心性預(yù)測分支與邊界框回歸分支共享網(wǎng)絡(luò)參數(shù)。其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示。其中分類子網(wǎng)絡(luò)最后的輸出是1個(gè)K(類別數(shù))通道的類別敏感的語義特征圖,回歸子網(wǎng)絡(luò)負(fù)責(zé)預(yù)測4個(gè)位置偏移量,中心性預(yù)測網(wǎng)絡(luò)負(fù)責(zé)衡量正樣本區(qū)域內(nèi)的點(diǎn)距離真實(shí)框中心點(diǎn)的遠(yuǎn)近程度。
Figure 2 Object detection network based on anchor-free圖2 基于anchor-free的目標(biāo)檢測網(wǎng)絡(luò)
基于深度學(xué)習(xí)的目標(biāo)檢測算法通常包含2個(gè)步驟,首先利用特征提取網(wǎng)絡(luò)提取圖像不同分辨率、不同層次的語義特征,然后利用提取到的特征進(jìn)行分類和定位。常用的特征提取網(wǎng)絡(luò)包括AlexNet[16]、VGG-Net[17]、GooLeNet[18]等,這些都屬于直線型的卷積神經(jīng)網(wǎng)絡(luò)。對(duì)于這種類型的網(wǎng)絡(luò),通過增加網(wǎng)絡(luò)的寬度和深度可以提高網(wǎng)絡(luò)的性能,但網(wǎng)絡(luò)的加深也會(huì)產(chǎn)生更多的誤差。如果簡單地增加網(wǎng)絡(luò)深度,會(huì)產(chǎn)生梯度彌散或梯度爆炸的問題。
ResNet的設(shè)計(jì)巧妙地規(guī)避了直線型卷積神經(jīng)網(wǎng)絡(luò)的缺點(diǎn),它的特點(diǎn)是容易優(yōu)化,并且能夠通過增加網(wǎng)絡(luò)的深度來提高準(zhǔn)確率。其內(nèi)部的殘差塊使用了跨層連接(Shortcut Connection),緩解了在深度神經(jīng)網(wǎng)絡(luò)中增加深度帶來的梯度消失問題,如圖3所示。
Figure 3 Shortcut connection in ResNet圖3 殘差網(wǎng)絡(luò)中的跨層鏈接
由于低層的特征圖具有目標(biāo)位置準(zhǔn)確但語義信息少的特點(diǎn),而高層的特征圖雖然具有更多的語義信息,但目標(biāo)位置信息不準(zhǔn)確。特征金字塔網(wǎng)絡(luò)可以根據(jù)單尺度的輸入圖像構(gòu)建網(wǎng)絡(luò)內(nèi)的特征金字塔,具體實(shí)現(xiàn)方式為自底向上的連接、自頂向下的連接以及橫向連接的網(wǎng)絡(luò)結(jié)構(gòu),將不同層的特征圖融合到一起,獲得更加豐富的信息,用來探測不同尺度的物體,其結(jié)構(gòu)如圖4所示。
Figure 4 Feature pyramid network圖4 特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)圖
自底向上的過程代表卷積神經(jīng)網(wǎng)絡(luò)的前向傳播,本文選用ResNet的C3、C4、C5層特征圖,利用卷積核為3×3,步長為1的卷積操作對(duì)C5層特征圖進(jìn)行處理后得到FPN的P5層。自頂向下的連接是一個(gè)上采樣的過程。橫向連接的作用是把上采樣的結(jié)果和卷積神經(jīng)網(wǎng)絡(luò)前向傳播過程生成的特征圖相加,即將卷積核為1×1,步長為1的卷積操作對(duì)C4層進(jìn)行處理后的結(jié)果與P5層上采樣結(jié)果相加,然后在此基礎(chǔ)上使用卷積核為3×3,步長為1 的卷積運(yùn)算進(jìn)行處理,得到FPN的P4層。以此類推產(chǎn)生P3層。P6層是由P5層經(jīng)過卷積核為3×3,步長為1卷積運(yùn)算處理后得到的,同理可得P7層。FPN的結(jié)構(gòu)可以從單尺度輸入圖像中構(gòu)建多尺度的特征圖,不同尺度的特征圖可被用于不同尺寸的目標(biāo)檢測,本文中所有特征金字塔層級(jí)的通道數(shù)C皆為256。
假設(shè)GT的坐標(biāo)為G(x1,y1,x2,y2),其中(x1,y1)和(x2,y2)分別代表GT的左上角和右下角的坐標(biāo)。首先基于步長(為2l)將GT映射至特征金字塔中對(duì)應(yīng)的l層。映射到第l層的GT的坐標(biāo)記為G′(x′1,y′1,x′2,y′2),G′和G中坐標(biāo)的映射關(guān)系為:
x′1=x1/2l,y′1=y1/2l
(1)
x′2=x2/2l,y′2=y2/2l
(2)
c′x=x′1+(x′2-x′1)/2
(3)
c′y=y′1+(y′2-y′1)/2
(4)
其中(c′x,c′y)表示GT的中心點(diǎn)坐標(biāo)。定義圖像正樣本區(qū)域?yàn)樘卣鲌D上GT的中心部分區(qū)域,相當(dāng)于GT按一定比例收縮后的區(qū)域,記作Rp,其邊界框坐標(biāo)為(x″1,y″1,x″2,y″2):
x″1=c′x-((x′2-x′1)δ1)/2
(5)
y″1=c′y-((y′2-y′1)δ1)/2
(6)
x″2=c′x+((x′2-x′1)δ1)/2
(7)
y″2=c′y+((y′2-y′1)δ1)/2
(8)
其中,δ1指正樣本區(qū)域相對(duì)于GT的收縮系數(shù),正樣本區(qū)域內(nèi)的每個(gè)像素被標(biāo)記為1,作為網(wǎng)絡(luò)訓(xùn)練時(shí)的正樣本。如果某一點(diǎn)(i,j)落入正樣本區(qū)域,那么該點(diǎn)將負(fù)責(zé)檢測其對(duì)應(yīng)的目標(biāo)。再引入另一個(gè)收縮系數(shù)δ2來定義忽略區(qū)域,記為Ri,忽略區(qū)域即為GT在δ2收縮系數(shù)下覆蓋的區(qū)域減去正樣本區(qū)域后的部分,忽略區(qū)域不參與網(wǎng)絡(luò)訓(xùn)練。剩下的區(qū)域即為負(fù)樣本區(qū)域,記為Rn。實(shí)驗(yàn)中,δ1取 0.3,δ2取0.4。
2.3.1 目標(biāo)分類
目標(biāo)分類子網(wǎng)絡(luò)是一個(gè)小型的全連接網(wǎng)絡(luò)FCN(Fully Connected Network)[19],連接到特征金字塔的每一層。對(duì)特征金字塔某一層輸出的特征圖(H×W×256),使用4個(gè)3×3×256的卷積核進(jìn)行處理,每一層卷積層之后都加入ReLU激活函數(shù)處理卷積層的輸出,最后使用1個(gè)3×3×K的卷積核卷積并通過Sigmoid激活函數(shù)得到網(wǎng)絡(luò)的最終輸出。最后的輸出為K通道的置信度熱圖,大小為H×W,其中K為類別數(shù),每個(gè)通道都是1個(gè)二進(jìn)制掩碼,表示是否為某一類別以及類的可能性,并對(duì)最后輸出的特征圖進(jìn)行逐像素分類。
2.3.2 邊界框回歸
與目標(biāo)分類子網(wǎng)絡(luò)平行,另一個(gè)小型的FCN用于邊界框回歸。同樣是用4個(gè)3×3×256的卷積核對(duì)特征圖進(jìn)行處理,同樣也在每一層卷積層之后加入ReLU激活函數(shù)處理卷積層的輸出,不同的是最后使用的是1個(gè)3×3×4的卷積核卷積并使用Sigmoid激活函數(shù)得到網(wǎng)絡(luò)最終的輸出。每個(gè)位置(i,j)預(yù)測4個(gè)位置偏移量。這4個(gè)位置偏移量即為正樣本區(qū)域內(nèi)的每個(gè)像素與GT的相對(duì)偏移量(Δω1,Δh1,Δω2,Δh2),其中:
Δω1=(2l*i-x1)/W
(9)
Δh1=(2l*j-y1)/H
(10)
Δω2=(x2-2l*i)/W
(11)
Δh2=(y2-2l*h)/H
(12)
首先將特征圖中的某一點(diǎn)(i,j)映射至輸入圖像,然后計(jì)算其與GT的左上角和右下角2點(diǎn)的偏移量,最后將結(jié)果歸一化到[0,1]。在邊界框回歸階段,只對(duì)正樣本區(qū)域內(nèi)的點(diǎn)進(jìn)行回歸,不關(guān)注負(fù)樣本區(qū)域(Rn)和忽略區(qū)域(Ri)的點(diǎn)。分類分支與回歸分支結(jié)構(gòu)相同,但二者參數(shù)相互獨(dú)立。
2.3.3 中心性預(yù)測
本文提出了一個(gè)中心性預(yù)測分支,與邊界框回歸共享網(wǎng)絡(luò)參數(shù),中心性表示正樣本區(qū)域內(nèi)的點(diǎn)(i,j)距離GT的中心點(diǎn)(c′x,c′y)的遠(yuǎn)近程度。中心性的計(jì)算公式如式(13)所示:
(13)
測試階段目標(biāo)檢測標(biāo)注的最終得分是由分類得分和中心性相乘之后的結(jié)果。因此,對(duì)于遠(yuǎn)離GT中心點(diǎn)的位置產(chǎn)生的預(yù)測框,中心性預(yù)測可以降低這些預(yù)測框的得分。如此便可以通過非極大值抑制NMS(Non Maximum Suppression)[20]過程將質(zhì)量較差的預(yù)測框過濾掉,提高目標(biāo)檢測算法的性能。
損失函數(shù) Focal Loss提出的目的是解決分類問題中類別不均衡、分類難度差異較大的問題。在本文的目標(biāo)檢測算法中,由于正樣本區(qū)域僅僅占據(jù)特征圖的很小一部分,為了避免網(wǎng)絡(luò)訓(xùn)練過程中產(chǎn)生嚴(yán)重的正負(fù)樣本不均衡的問題,使用Focal Loss作為分類損失函數(shù),其函數(shù)表達(dá)式為:
FL(pt)=-αt(1-pt)γlog(pt)
(14)
其中,αt用來調(diào)節(jié)正負(fù)樣本在訓(xùn)練過程中的重要性。Focal Loss的目的是讓所有的正負(fù)樣本都參與到模型訓(xùn)練之中,通過αt調(diào)節(jié)正負(fù)樣本損失值的比重來緩解正負(fù)樣本不均衡的問題。γ為調(diào)制因子,用來降低容易分類的樣本在模型中所占的比重。例如,1個(gè)樣本被錯(cuò)誤地分類,那么置信度pt一般不高,屬于難分類的樣本,此時(shí)1-pt的值趨向于1,對(duì)損失函數(shù)的值影響不大;若pt趨向于1,屬于容易分類的樣本,1-pt的值趨向于0,此時(shí)容易分類樣本的權(quán)重被大大降低。
對(duì)于回歸問題的損失函數(shù),不同于基于先驗(yàn)框的目標(biāo)檢測算法,本文算法直接回歸正樣本區(qū)域內(nèi)的點(diǎn)(i,j)與真實(shí)框的相對(duì)偏移量,損失函數(shù)的選擇也要適應(yīng)目標(biāo)的尺度變化,本文采用IOU(Intersection Over Union) Loss[21],其數(shù)學(xué)表達(dá)式為:
(15)
中心性預(yù)測分支采用L2范數(shù)作為損失函數(shù),其函數(shù)表達(dá)式為:
(16)
其中,i和j分別表示正樣本區(qū)域內(nèi)某點(diǎn)的橫坐標(biāo)與縱坐標(biāo),c′x和c′y分別表示真實(shí)框中心點(diǎn)的橫坐標(biāo)與縱坐標(biāo)。
實(shí)驗(yàn)采用KITTI數(shù)據(jù)集中的2D目標(biāo)檢測數(shù)據(jù)。其中目標(biāo)類別包含Car、Van、Truck、Tram、Pedestrian、Person_sitting、Cyclist、Misc和DontCare。本文的實(shí)驗(yàn)?zāi)康氖菍?duì)交通場景中的車輛、行人和騎行者進(jìn)行識(shí)別,不關(guān)注車輛的類別和行人姿勢的差異。因而為了適應(yīng)實(shí)驗(yàn)的需求,將Van、Truck、Tram標(biāo)記為Car,與Car類別合并,將Person_sitting標(biāo)記為Pedestrian,與Pedestrian類別合并,忽略與交通場景無關(guān)的Misc類和DontCare類。由于轉(zhuǎn)化后的KITTI數(shù)據(jù)集中,目標(biāo)類Car所占比重過大,為了數(shù)據(jù)集中各類別間的平衡,本次實(shí)驗(yàn)通過關(guān)鍵詞搜索“行人”“道路”和“車輛”從YFCC100M數(shù)據(jù)集中收集了1 000幅分辨率較高的圖像進(jìn)行標(biāo)注,并將標(biāo)注后的圖像加入轉(zhuǎn)化后的KITTI數(shù)據(jù)集中,從而更好地展示改進(jìn)算法的效果。根據(jù)實(shí)驗(yàn)的需要將KITTI數(shù)據(jù)集(包含自行收集標(biāo)注的數(shù)據(jù)集)轉(zhuǎn)化成MSCOCO(MicroSoft Common Objects in COntext)數(shù)據(jù)集的格式,最終的實(shí)驗(yàn)數(shù)據(jù)集有3個(gè)目標(biāo)類別,分別為Car、Cyclist和Pedestrian。數(shù)據(jù)集中總共有8 482幅圖像,將數(shù)據(jù)集中的所有圖像按照8∶1∶1的比例劃分為訓(xùn)練集、驗(yàn)證集和測試集。其中訓(xùn)練圖像6 786幅,驗(yàn)證圖像和測試圖像各848幅。
實(shí)驗(yàn)在GPU型號(hào)為NIVID GeForce GTX 1080Ti(×2)的服務(wù)器上進(jìn)行,操作系統(tǒng)為64位Ubuntu16.04,配置CUDA8.0, cuDNN6.0?;谝陨吓渲檬褂蒙疃葘W(xué)習(xí)框架PyTorch搭建運(yùn)行環(huán)境。根據(jù)遷移學(xué)習(xí)的思想,本文實(shí)驗(yàn)使用在ImageNet上的預(yù)訓(xùn)練模型對(duì)本文模型進(jìn)行初始化,利用PyTorch的分布式訓(xùn)練模式進(jìn)行訓(xùn)練,Batchsize設(shè)置為8,迭代次數(shù)為90 000,使用隨機(jī)梯度下降優(yōu)化算法,初始學(xué)習(xí)率為0.001,權(quán)重衰減系數(shù)為0.000 1。
交并比IOU、平均準(zhǔn)確率AP(Average Precision)、平均準(zhǔn)確率均值mAP(mean Average Precision)等是目標(biāo)檢測算法中的重要概念。交并比是指預(yù)測框與真實(shí)框的交集和并集之比,AP是查準(zhǔn)率Precision和查全率Recall的關(guān)系曲線與坐標(biāo)軸之間所圍的面積,查準(zhǔn)率和查全率計(jì)算公式為:
(17)
(18)
其中,TP(True Positive)表示針對(duì)某一目標(biāo)類,被正確分類的正樣本的數(shù)目,F(xiàn)P(False Positive)表示被錯(cuò)誤分類的負(fù)樣本的數(shù)目,F(xiàn)N(False Negtive)表示被錯(cuò)誤分類的正樣本的數(shù)目。mAP即為各類目標(biāo)的平均準(zhǔn)確率的均值。本文采用在指定IOU閾值下的mAP作為實(shí)驗(yàn)結(jié)果的評(píng)價(jià)指標(biāo),實(shí)驗(yàn)可分為以下3個(gè)部分:
(1)算法中采用的各種改進(jìn)方法的效果。
為了驗(yàn)證本文算法中所采用的各種措施對(duì)于改進(jìn)目標(biāo)檢測模型準(zhǔn)確度的效果,進(jìn)行了3次實(shí)驗(yàn),如表1所示。其中,實(shí)驗(yàn)1為在主干網(wǎng)絡(luò)為ResNet-101-FPN的條件下采用逐像素分類的方式進(jìn)行目標(biāo)檢測,檢測模型具有目標(biāo)分類和邊界框回歸2個(gè)子網(wǎng)絡(luò)。實(shí)驗(yàn)2為在目標(biāo)分類子網(wǎng)絡(luò)上增加1個(gè)中心性預(yù)測分支,與目標(biāo)分類子網(wǎng)絡(luò)共享網(wǎng)絡(luò)參數(shù)。與實(shí)驗(yàn)1對(duì)比可發(fā)現(xiàn),在目標(biāo)分類子網(wǎng)絡(luò)上增加中心性預(yù)測分支后,mAP上升了1.2%。實(shí)驗(yàn)3為中心性預(yù)測分支與邊界框回歸子網(wǎng)絡(luò)共享網(wǎng)絡(luò)參數(shù),由表1可知,對(duì)比沒有中心性預(yù)測分支的實(shí)驗(yàn)1,mAP上升了1.7%,相比于實(shí)驗(yàn)2,mAP上升了0.5%。
(2)不同的目標(biāo)檢測算法在本文數(shù)據(jù)集上的檢測效果對(duì)比。
利用本文數(shù)據(jù)集對(duì)Faster R-CNN、YOLOv3、SSD、RetinaNet和本文改進(jìn)的目標(biāo)檢測算法的效果進(jìn)行測試,結(jié)果如表2所示。
Table 2 Detection effects of different algorithms on the dataset in this paper表2 不同算法在本文數(shù)據(jù)集上的檢測效果
本文改進(jìn)的算法在檢測準(zhǔn)確度方面不僅高于單階目標(biāo)檢測算法YOLOv3、SSD,而且mAP比二階段目標(biāo)檢測算法Faster R-CNN的高2.7%。相比于RetinaNet模型,在同為單階目標(biāo)檢測模型且主干網(wǎng)絡(luò)完全相同的情況下,改進(jìn)算法相較于RetinaNet目標(biāo)檢測算法,mAP提升了1.9%。由表2可知,在本文數(shù)據(jù)集中圖像尺寸為1242×375的情況下,RetinaNet的推理時(shí)間為101 ms,改進(jìn)算法的推理時(shí)間為108 ms,對(duì)比兩者的推理時(shí)間可知,本文改進(jìn)算法的推理速度稍遜于RetinaNet算法的,但仍能達(dá)到交通場景下目標(biāo)檢測實(shí)時(shí)性的要求。
(3)不同的目標(biāo)檢測算法在公開數(shù)據(jù)集MSCOCO上的檢測效果對(duì)比。
為了進(jìn)一步驗(yàn)證本文改進(jìn)算法的效果,利用Faster R-CNN、YOLOv3、SSD、RetinaNet和本文改進(jìn)算法在公開數(shù)據(jù)集MSCOCO上進(jìn)行測試,測試結(jié)果如表3所示。改進(jìn)算法在檢測準(zhǔn)確度方面優(yōu)于其他算法,比Faster R-CNN的mAP高3.8%,比RetinaNet的mAP高1.6%。在推理時(shí)間方面,改進(jìn)算法的推理時(shí)間遠(yuǎn)小于Faster R-CNN算法的推理時(shí)間,略大于RetinaNet算法的推理時(shí)間,滿足交通場景下實(shí)時(shí)檢測的要求。
Table 3 Detection effects of different algorithms on MSCOCO dataset表3 不同算法在MSCOCO數(shù)據(jù)集上的檢測效果
部分目標(biāo)檢測效果圖如圖5所示。由圖5可知,在復(fù)雜的城市街景中,改進(jìn)算法可以準(zhǔn)確地識(shí)別出車輛、行人和騎行者,在車輛較多的情況下也能檢測出遮擋不超過50%的目標(biāo),在道路寬敞、環(huán)境空曠的道路環(huán)境下,改進(jìn)算法能夠較好地識(shí)別出遠(yuǎn)方較小的車輛目標(biāo)。
Figure 5 Some detection results圖5 部分檢測效果圖
在RetinaNet目標(biāo)檢測算法的基礎(chǔ)上,本文提出了一種基于anchor-free的單階目標(biāo)檢測算法,利用逐像素預(yù)測的方法,直接預(yù)測目標(biāo)類別和位置。相比于基于anchor的原RetinaNet目標(biāo)檢測算法,本文算法減少了與anchor有關(guān)的超參數(shù)的設(shè)計(jì),也避免了由于anchor自身設(shè)計(jì)帶來的網(wǎng)絡(luò)泛化能力減弱等問題。同時(shí),算法中提出的中心性預(yù)測分支,通過衡量距離GT中心位置的遠(yuǎn)近,降低偏離GT中心的位置所得預(yù)測框的得分,從而使得質(zhì)量較低的預(yù)測框在非極大值抑制的過程中被過濾掉。通過在本文數(shù)據(jù)集以及公開數(shù)據(jù)集MSCOCO上的實(shí)驗(yàn),表明本文改進(jìn)的目標(biāo)檢測算法能夠在交通場景中對(duì)車輛、行人和騎行者實(shí)現(xiàn)更好的識(shí)別。