吳晨曦,應(yīng)保勝,許小偉*,劉光華,程書瑾
(1.武漢科技大學(xué)汽車與交通工程學(xué)院,武漢 430065; 2.智新科技股份有限公司,武漢 430058)
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法現(xiàn)已廣泛應(yīng)用于自動(dòng)駕駛領(lǐng)域。其中,汽車在行駛過程中車速快,為了預(yù)留充足的反應(yīng)時(shí)間和制動(dòng)距離,要求使用的目標(biāo)檢測(cè)算法對(duì)于遠(yuǎn)處的小目標(biāo)也有良好的檢測(cè)效果,同時(shí)具有較快的檢測(cè)速度。但如果行人、騎行者以及遠(yuǎn)處的汽車這類小目標(biāo)的尺度小,在圖像上占據(jù)的像素很小,所對(duì)應(yīng)的區(qū)域所包含的信息較少,在檢測(cè)過程中易出現(xiàn)誤檢漏檢,因此對(duì)于道路上小目標(biāo)的檢測(cè)成為自動(dòng)駕駛領(lǐng)域中的難點(diǎn)。
目前對(duì)于小目標(biāo)的界定方式主要有兩種[1]。第一種為絕對(duì)尺度,即所占像素小于32×32的目標(biāo)可視作小目標(biāo);第二種為相對(duì)尺度,即目標(biāo)的長寬為原始圖像的1/10,可視作小目標(biāo)??紤]到汽車在行駛過程中遇到的障礙物種類多,且障礙物大小跨度大,因此現(xiàn)綜合兩種方式界定小目標(biāo)。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法可分為雙階段(two-stage)和單階段(one-stage)。區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(region convolutional neural networks,R-CNN)[2]、快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(faster region convolutional neural networks,F(xiàn)aster R-CNN)[3]、Mask R-CNN[4]等均屬于雙階段檢測(cè)模型。雙階段檢測(cè)模型耗時(shí)多,檢測(cè)速度慢。YOLO[5-8]系列和單步多框目標(biāo)檢測(cè)(single shot multibox detector, SSD)[9]均屬于單階段檢測(cè)模型,在檢測(cè)速度上優(yōu)于雙階段檢測(cè)模型。YOLO系列從YOLOv3開始加入了特征金字塔結(jié)構(gòu),增強(qiáng)了對(duì)小目標(biāo)的檢測(cè)效果。但是SSD目標(biāo)檢測(cè)模型中特征層尺度較小,且各特征層之間沒有聯(lián)系,對(duì)于小目標(biāo)檢測(cè)效果較差。為了提升SSD模型在小目標(biāo)上的檢測(cè)效果,學(xué)者們進(jìn)行了大量研究。Fu等[10]在SSD模型的特征提取網(wǎng)絡(luò)后添加反卷積模塊,增加特征層的感受野,再將相同尺度的卷積層融合,提高了小目標(biāo)檢測(cè)效果,但是由于特征提取網(wǎng)絡(luò)過深,導(dǎo)致檢測(cè)速度過慢,難以應(yīng)用到車輛上;Zhang等[11]提出的DDSSD模型,在SSD模型的特征提取網(wǎng)絡(luò)中添加反卷積模塊和空洞卷積,增加特征層的感受野,再將相同尺度的卷積層融合,提高了小目標(biāo)檢測(cè)效果,但是由于沿用SSD模型的特征融合方式,對(duì)于小目標(biāo)的檢測(cè)效果并不好;Li等[12]提出FSSD 模型,將SSD模型中的FC7、Conv7_2兩個(gè)特征層進(jìn)行雙線性插值,使其與Conv4_3尺度相同,再將這個(gè)三特征層合并,使用得到的新特征層構(gòu)造特征融合金字塔,實(shí)驗(yàn)結(jié)果表明FSSD模型的小目標(biāo)檢測(cè)效果優(yōu)于SSD模型,但是FSSD的特征融合金字塔中各特征層獨(dú)立,相互沒有聯(lián)系,融合并不徹底;Wang等[13]提出的MFSSD模型在FSDD模型的基礎(chǔ)上將Conv7_2替換為Conv5_3進(jìn)行特征融合,同時(shí)使用剪枝壓縮模型,但仍然具有FSSD的問題;Jeong等[14]針對(duì)SSD模型各特征層相互獨(dú)立、易出現(xiàn)同一個(gè)物體在不同大小的先驗(yàn)框檢測(cè)出和小目標(biāo)檢測(cè)效果差兩個(gè)問題,提出了一種新特征融合結(jié)構(gòu),具體操作是同時(shí)采用池化和反卷積兩種融合方式進(jìn)行特征融合,充分利用不同尺度特征層的信息,提高了小目標(biāo)檢測(cè)效果;Zhang等[15]提出RefineDet模型,該模型結(jié)合雙階段和單階段模型,一方面引入類似雙階段模型中的區(qū)域候選網(wǎng)絡(luò)(region proposal network,RPN)用來生成先驗(yàn)框和除去負(fù)樣本,另一方面在SSD模型上添加特征金字塔加強(qiáng)對(duì)小目標(biāo)的檢測(cè)效果;Pourya等[16]將圖像金字塔與SSD模型的特征層進(jìn)行融合,獲取更強(qiáng)的語義特征,但產(chǎn)生不同大小的圖像會(huì)大幅增加計(jì)算量,對(duì)訓(xùn)練和運(yùn)行的設(shè)備性能要求較高。結(jié)合上面的分析,SSD模型在小目標(biāo)檢測(cè)上的優(yōu)化主要集中在特征融合方式的改進(jìn)。
以上的改進(jìn)方法均采用特征融合的方式來提高小目標(biāo)的檢測(cè)效果,在一定程度上彌補(bǔ)了SSD模型在小目標(biāo)檢測(cè)上的不足。但是以上的特征融合方式都將重點(diǎn)放在了不同尺度的特征層之間的融合上。然而由于不同物體的外觀復(fù)雜程度不同,相同尺度的物體需要的語義信息不一定相同,深層的特征適合表征外觀復(fù)雜的物體,淺層的特征適合表征外觀簡(jiǎn)單的物體。因此合適的特征融合方式需要兼顧尺度與層級(jí)兩個(gè)方面。
在SSD模型基礎(chǔ)上,現(xiàn)提出一種感受野增強(qiáng)和特征融合的小目標(biāo)檢測(cè)模型。在主干網(wǎng)絡(luò)中添加使用膨脹卷積的感受野增強(qiáng)模塊,增大卷積層的感受野,以獲得更多小尺度目標(biāo)的信息。同時(shí)引入多層級(jí)特征融合結(jié)構(gòu)金字塔替換SSD模型的特征融合結(jié)構(gòu),將不同尺度、不同層級(jí)的特征層進(jìn)行特征融合,形成新的特征金字塔用于預(yù)測(cè),從而有效提高小目標(biāo)的檢測(cè)效果。最后通過消融實(shí)驗(yàn)和性能對(duì)比實(shí)驗(yàn),在保證檢測(cè)速度的情況下,驗(yàn)證改進(jìn)的目標(biāo)檢測(cè)模型降低對(duì)道路上小目標(biāo)的漏檢率。
所提出的感受野增強(qiáng)與特征融合模型的結(jié)構(gòu)如圖1所示。其中,感受野增強(qiáng)型的SSD模型指在SSD的主干網(wǎng)絡(luò)中嵌入感受野增強(qiáng)模塊(RFB_s),得到的新主干網(wǎng)絡(luò)模型,目的是獲取更多的小目標(biāo)信息。而后將主干網(wǎng)絡(luò)輸出的特征層送入多層級(jí)特征金字塔(圖中藍(lán)色虛線框部分)進(jìn)行多次特征融合,綠色虛線框內(nèi)是4次U形特征提取,目的是提取出不同層級(jí)的語義信息,橙色虛線框內(nèi)是4個(gè)不同層級(jí)的特征金字塔,最后將4個(gè)特征金字塔合并為一個(gè)具有6個(gè)尺度的多層級(jí)特征金字塔,每個(gè)尺度包含4個(gè)層級(jí)的語義信息,這樣可以充分結(jié)合不同尺度,不同層級(jí)的特征層,提高小目標(biāo)的檢測(cè)效果。由于在SSD模型上添加了多層級(jí)特征融合結(jié)構(gòu)和感受野增強(qiáng)模塊,網(wǎng)絡(luò)深度有所增加,時(shí)間復(fù)雜度會(huì)增大;同時(shí)4個(gè)不同層級(jí)的特征金字塔會(huì)輸出24個(gè)不同尺度的特征層,空間復(fù)雜度會(huì)增加。
圖1 感受野增強(qiáng)與特征融合模型結(jié)構(gòu)圖Fig.1 Structure of receptive field enhancement and feature fusion model
傳統(tǒng)SSD 網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,有6個(gè)用于預(yù)測(cè)的有效特征層,分別為Conv6、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2,其中尺度最大的特征層為Conv4_3層,尺度為38×38。SSD網(wǎng)絡(luò)從靠后的Con4_3層開始抽取特征并獲得預(yù)測(cè)結(jié)果,由于這些特征層尺度較小,因此SSD模型對(duì)于小目標(biāo)的檢測(cè)效果并不好。
圖2 SSD網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Network structure of SSD
感受野是指卷積神經(jīng)網(wǎng)絡(luò)每一層輸出的特征圖上的像素點(diǎn)在輸入圖片上映射的區(qū)域大小,通俗解釋是特征圖上的一點(diǎn)對(duì)應(yīng)輸入圖上的區(qū)域。較大的感受野可以提高主干網(wǎng)絡(luò)的特征提取能力。神經(jīng)學(xué)研究發(fā)現(xiàn),在人類視覺皮層中,群體感受野的尺度是其視網(wǎng)膜偏心度的函數(shù),其尺度與視網(wǎng)膜圖的偏離度正相關(guān),且不同視網(wǎng)膜圖上群體感受野的尺度不一樣[17]。Liu等[18]提出了感受野模塊(receptive field block,RFB),對(duì)這一發(fā)現(xiàn)進(jìn)行模擬,用以加強(qiáng)輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)到的深層特征。
RFB模塊結(jié)合了膨脹卷積[19]和InceptionNet[20]的并行卷積來擴(kuò)大特征層的感受野。如圖3所示,原始的RFB模塊有3條分支,每條分支都有不同大小的卷積核,卷積核的大小分別為1×1、3×3、5×5,且分支的末端都有一個(gè)膨脹卷積層,膨脹率rate分別為1、3、5。為了進(jìn)一步增強(qiáng)特征層的感受野,在原始RFB的基礎(chǔ)上再添加一條具有更大視野的分支,并將其命名為RFB_s模塊,其結(jié)構(gòu)如圖4所示。同時(shí)考慮到應(yīng)用在自動(dòng)駕駛的目標(biāo)檢測(cè)算法應(yīng)當(dāng)由較高的檢測(cè)速度,所以使用串聯(lián)的小卷積替換大卷積來減少模型的參數(shù)量,以提高檢測(cè)速度。具體操作為:在第3條分支中,使用兩個(gè)并聯(lián)的3×3卷積替換原本的5×5卷積;在第4條分支中,使用1×7卷積和7×1卷積替換原本的7×7。4條分支的結(jié)果進(jìn)行會(huì)連接并經(jīng)過一個(gè)1×1的卷積,然后與一條殘差邊作為輸入送入激活函數(shù)。殘差邊的作用是使輸入的圖像信號(hào)可以從底層直接傳播到高層,緩解過深的網(wǎng)絡(luò)導(dǎo)致的梯度發(fā)散。
圖3 感受野模塊結(jié)構(gòu)圖Fig.3 The architecture of receptive field block
圖4 感受野增強(qiáng)模塊結(jié)構(gòu)圖Fig.4 The architecture of receptive field block
如圖5所示,將改進(jìn)的RFB_s模塊嵌入SSD模型,具體步驟如下。
圖5 感受野增強(qiáng)的SSD網(wǎng)絡(luò)模型Fig.5 SSD network model with RFB_s
(1)將FC7層進(jìn)行一次上采樣,使其尺度與Conv4_3保持一致。
(2)在Conv4_3層后嵌入一個(gè)RFB_s模塊,再將FC7層與其連接,連接后的特征層再經(jīng)過一個(gè)RFB_s模塊得到Conv_Concat層。
(3)在FC7層后嵌入一個(gè)RFB_s模塊得到Conv_RFBs層。
(4)將Conv_Concat層和Conv_RFBs層輸入特征融合金字塔。
在卷積神經(jīng)網(wǎng)絡(luò)中,隨著卷積加深特征層增多,靠后的特征層擁有的深層語義信息更多,更適合表征外觀復(fù)雜的物體,靠前的特征層擁有的淺層語義信息更多,更適合表征外觀簡(jiǎn)單的物體[18]。但是具有相似大小的對(duì)象的外觀可能完全不同,例如在小目標(biāo)檢測(cè)中,交通信號(hào)燈和遠(yuǎn)處的行人可能具有相當(dāng)?shù)某叽纾说耐庥^要復(fù)雜得多。所以檢測(cè)信號(hào)燈需要淺層特征,檢測(cè)遠(yuǎn)處的行人需要深層特征。因此實(shí)際檢測(cè)中不僅要考慮尺度層面還要考慮層級(jí)層面。
特征金字塔[21](feature pyramid networks,F(xiàn)PN)是一種優(yōu)秀的特征融合結(jié)構(gòu),其結(jié)構(gòu)如圖6所示。FPN將特征提取網(wǎng)絡(luò)中每個(gè)階段最后一層的輸出構(gòu)建金字塔,對(duì)金字塔高層的特征層逐層進(jìn)行上采樣,并將尺度相同的特征層橫向連接起來,可以看出特征金字塔主要從尺度層面考慮。但特征金字塔結(jié)構(gòu)也存在不足,首先特征金字塔的主干網(wǎng)絡(luò)是為分類任務(wù)設(shè)計(jì),對(duì)于目標(biāo)檢測(cè)任務(wù)不一定非常適用,其次特征金字塔的每個(gè)特征層主要或僅從主干網(wǎng)絡(luò)的單層中提取,這意味它主要或僅包含單層信息。
圖6 特征金字塔結(jié)構(gòu)圖Fig.6 The architecture of feature pyramid network
因此引入多層級(jí)特征融合金字塔(multi-level feature pyramid network,MLFPN)。多層級(jí)特征融合金字塔由Zhao等[22]提出,該特征融合金字塔與FPN最大的不同在于結(jié)構(gòu)上兼顧尺度與層級(jí)兩個(gè)方面,特征層在輸入金字塔前會(huì)進(jìn)行初步融合,并使用多個(gè)U形結(jié)構(gòu)進(jìn)行連續(xù)的特征提取,形成不同層級(jí)、不同尺度的多個(gè)特征金字塔,最后融合成一個(gè)多層級(jí)多尺度的特征金字塔用于檢測(cè)。這樣能夠在FPN的基礎(chǔ)上,有效地將淺層特征和深層特征結(jié)合起來進(jìn)行目標(biāo)檢測(cè)。
1.3.1 特征融合模塊
為了提高不同尺度特征圖的融合效果,特征融合模塊(feature fusion module,F(xiàn)FM)融合不同尺度的特征圖,F(xiàn)FMv1將送入特征金字塔的兩個(gè)不同尺度的特征圖進(jìn)行初步的融合,得到基礎(chǔ)特征層(base feature),因此會(huì)有一個(gè)上采樣的操作,將深度特征縮放到與淺層特征相同的尺度。首先將Conv4_3層和Fc7層的通道數(shù)都調(diào)整為1 024,然后對(duì)Fc7層進(jìn)行一次上采樣,使其與Conv4_3層尺度一致,再使用Concatenate函數(shù)將兩者融合,融合輸出再通過一個(gè)RFB_s模塊進(jìn)行感受野增強(qiáng)得到Conv_Concat層;接著使Fc7層通過一個(gè)RFB_s模塊進(jìn)行感受野增強(qiáng)得到Conv_RFB層。將Conv_Concat層和Conv_RFBs層作為FFMv1模塊的輸入,得到基礎(chǔ)特征層。
FFMv2將FFMv1輸出的基本特征圖和上一個(gè)TUM模塊輸出的最大特征圖作為輸入,產(chǎn)生下一個(gè)TUM的融合特征圖。FFMv1和FFMv2的結(jié)構(gòu)如圖7所示。為了不過多增加計(jì)算量,因此輸入FFM模塊融合的特征層的尺度較小,但這樣會(huì)導(dǎo)致小目標(biāo)檢測(cè)效果下降,因此沿用感受野增強(qiáng)的思想,在FFM模塊和TUM模塊之間嵌入RFB_s模塊,擴(kuò)大輸入FFMv2模塊的特征層的感受野,增強(qiáng)對(duì)小目標(biāo)的檢測(cè)效果。
圖7 特征融合模塊結(jié)構(gòu)圖Fig.3 The architecture of feature fusion module
1.3.2 增大感受野的U形模塊
減薄的U型模塊(thinned U-shape module,TUM))的結(jié)構(gòu)與FPN特征金字塔結(jié)構(gòu)類似,對(duì)輸入的特征層進(jìn)行特征提取,即先對(duì)特征層用大小為3×3的卷積核下采樣,進(jìn)行連續(xù)的特征壓縮,再用同樣大的卷積核連續(xù)上采樣,然后將尺度相同的特征層進(jìn)行融合,得到6個(gè)不同尺度的有效特征層。與FPN特征金字塔結(jié)構(gòu)不同的是,TUM模塊在上采樣步驟之后添加一個(gè)1×1的卷積層和按元素求和的操作,可以增強(qiáng)學(xué)習(xí)能力并保持特征的平滑性。
但是在連續(xù)下采樣過程中由于圖形分辨率的降低會(huì)導(dǎo)致信息丟失,因此參照上述RFB模塊的思路,使用膨脹卷積代替常規(guī)卷積,增大特征層的感受野,讓下采樣輸出的卷積層包含更大范圍的信息,且使用膨脹卷積不會(huì)增加計(jì)算量,將替換后的TUM模塊稱為TUM_D模塊。TUM_D模塊結(jié)構(gòu)如圖8所示,其中紅色虛線框中為替換常規(guī)卷積的膨脹卷積。下采樣的常規(guī)卷積的卷積核大小為3×3,步長為2,替換為膨脹卷積后卷積核大小不變,步長為1,膨脹率為3。
圖8 感受野增大的U形模塊結(jié)構(gòu)圖Fig.8 Structure diagram of U-shaped module with enlarged receptive field
1.3.3 基于尺度的特征聚合模塊
基于尺度的特征聚合模塊(scale based feature aggregation module,SFAM)負(fù)責(zé)將TUM模塊輸出的多尺度特征層構(gòu)造多層級(jí)特征金字塔,構(gòu)造過程分為兩個(gè)階段。第一個(gè)階段是將相同尺度的特征層連接在一起,這樣得到的每個(gè)尺度的特征都包含多層級(jí)信息。第二個(gè)階段引入注意力模塊SE[23],通過兩個(gè)全連接層(Fc1,Fc2)實(shí)現(xiàn)注意力機(jī)制,進(jìn)行各通道的注意力機(jī)制調(diào)整,判斷每個(gè)通道數(shù)應(yīng)有的權(quán)重,將特征集中在最有益的通道。SFAM模塊結(jié)構(gòu)如圖9所示。
圖9 基于尺度的聚合特征模塊Fig.9 The architecture of scale-wise feature aggregation module
實(shí)驗(yàn)所使用的數(shù)據(jù)集為KITTI[24]數(shù)據(jù)集,KITTI數(shù)據(jù)集為常用的自動(dòng)駕駛數(shù)據(jù)集,包含在不同天氣、環(huán)境和時(shí)間下采集的大量真實(shí)交通場(chǎng)景,分為8個(gè)類別,共計(jì)7 481張圖片,考慮到KITTI數(shù)據(jù)集部分類別數(shù)量少,且有的類別并不屬于所研究的對(duì)象,為了便于訓(xùn)練,將Car、Truck、Van合并為Car,將Person_siting、Pedestrian合并為Pedestrian,Cyclist單獨(dú)作為一類,并忽略掉Tram、Dontcare和Misc。實(shí)驗(yàn)主要硬件配置為Inter(R)Core(TM)i5-8300HCPU@2.3GH處理器、GeForce GTX 1050Ti顯卡和16 G內(nèi)存,操作系統(tǒng)為Windows 11。深度學(xué)習(xí)框架為Tensorflow 1.13.2+Keras 2.1.5。優(yōu)化方式選擇批量梯度下降,每訓(xùn)練整個(gè)數(shù)據(jù)集一次對(duì)學(xué)習(xí)率進(jìn)行一次調(diào)整,調(diào)整方式為指數(shù)衰減,根據(jù)TensorFlow官方文檔將衰減指數(shù)設(shè)置為為0.94,為了平衡訓(xùn)練時(shí)間與訓(xùn)練效果,參照文獻(xiàn)[9]將初始學(xué)習(xí)率設(shè)置為0.000 1,訓(xùn)練時(shí)期設(shè)置為300個(gè)epoch。
實(shí)驗(yàn)分為兩個(gè)部分。第一部分是驗(yàn)證感受野增強(qiáng)模塊(RFB_s)和多級(jí)特征金字塔(MLFPN)對(duì)目標(biāo)檢測(cè)的影響,設(shè)計(jì)了消融實(shí)驗(yàn)。第二部分是將本文模型與Faster R-CNN[3]、SSD[9]及其改進(jìn)算法DSSD[10]、DDSDD[11]、FSSD[11]、RSSD[13]等主流目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和檢測(cè)效果對(duì)比。
使用平均精度(average precision,AP)和平均精度均值(mean average precision,mAP)對(duì)模型性能進(jìn)行評(píng)估,AP是以精確度(precision,P)和召回率(recall,R)為坐標(biāo)軸繪制的P-R曲線下的面積,mAP則是所有類別AP的平均值。精確度和召回率的計(jì)算公式如下。
(1)
(2)
(3)
式中:TP(true positives)為被正確分類的正樣本數(shù)量;FP(false positives)為被錯(cuò)誤分類的正樣本數(shù)量;FN(false negatives)為被錯(cuò)誤分類的負(fù)樣本數(shù)量。
首先進(jìn)行的是消融實(shí)驗(yàn),目的是定量分析感受野增強(qiáng)模塊和多級(jí)特征金字塔在SSD網(wǎng)絡(luò)模型對(duì)小目標(biāo)檢測(cè)效果的影響。取3類檢測(cè)目標(biāo)的AP、交并比(intersection over union,IoU)為0.5時(shí)的平均精度均值(mAP)和幀率(frames per second,F(xiàn)PS)作為評(píng)價(jià)指標(biāo),消融實(shí)驗(yàn)結(jié)果如表1所示。
由表1可知,將RFB_s模塊嵌入SSD網(wǎng)絡(luò)模型中,3個(gè)檢測(cè)類別的AP分別提高了1.58%、1.42%、2.54%,平均精度均值(mAP)由67.58%提高到70.12%,幀率降低了2.0 幀/s;在SSD網(wǎng)絡(luò)模型中加入MLFPN,mAP提高了4.6%,但模型更復(fù)雜,故幀率從33.2 幀/s下降到29.3 幀/s;在SSD網(wǎng)絡(luò)模型中同時(shí)加入RFB_s模塊和MLFPNN,即本文算法,mAP提高到73.59%,幀率下降了4.4 幀/s。由實(shí)驗(yàn)結(jié)果可知,相較于原始SSD算法,本文算法在Car、Pedestrian、Cyclis這3個(gè)檢測(cè)類別上的檢測(cè)精度均有明顯提高,同時(shí)也兼顧了檢測(cè)速度。
表1 消融實(shí)驗(yàn)結(jié)果Table 1 Results of ablation experiments
SSD模型與本文模型檢測(cè)效果對(duì)比如圖10所示,圖10(a)、圖10(c)、圖10(e)、圖10(g)為SSD模型檢測(cè)效果,圖10(b)、圖10(d)、圖10(f)、圖10(h)為本文模型檢測(cè)效果。圖10(a)和圖10(b)為同一數(shù)據(jù)集的一張圖片,本文模型相對(duì)SSD模型能夠檢測(cè)出遠(yuǎn)處的行人和更多的騎行者;圖10(c)和圖10(d)為同一數(shù)據(jù)集的一張圖片,本文模型相對(duì)SSD模型成功檢測(cè)出遠(yuǎn)處的行人;圖10(e)和圖10(f)為同一數(shù)據(jù)集的一張圖片,SSD模型漏檢了左邊兩位遠(yuǎn)處的行人,而本文模型成功檢測(cè);圖10(g)和圖10(h)為同一數(shù)據(jù)集的一張圖片,本文模型相較于SSD模型檢測(cè)了遠(yuǎn)處的多輛汽車,而且對(duì)于被汽車遮擋的行人也成功檢測(cè)到。通過以上分析可知,本文提出的改進(jìn)SSD模型相較于原始SSD模型,檢測(cè)出小目標(biāo)的效果更好。
圖10 SSD模型與本文模型檢測(cè)效果對(duì)比圖Fig.10 Comparison of the detection of SSD model and the model proposed
第二個(gè)實(shí)驗(yàn)是將Faster R-CNN、SSD、DDSSD、DSSD、FSSD、RSSD和本文算法進(jìn)行對(duì)比,取三類檢測(cè)目標(biāo)的AP值、IoU=0.5時(shí)的平均精度均值(mAP)和幀率(FPS)作為評(píng)價(jià)指標(biāo),性能對(duì)比實(shí)驗(yàn)結(jié)果如表2所示。
如表2所示,與二階段算法Faster R-CNN相比,本文算法在3個(gè)檢測(cè)類別的AP上分別提升了2.92%、3.4%、5.4%,F(xiàn)PS提升了17.8 幀/s,說明本文算法在檢測(cè)精度與檢測(cè)速度上均優(yōu)于二階段算法;與SSD算法相比,本文算法在3個(gè)檢測(cè)類別的AP上分別提升了4.9%、3.66%、9.46%,證明感受野增強(qiáng)和多層級(jí)特征融合可以提升模型對(duì)小目標(biāo)的檢測(cè)效果,但是由于結(jié)構(gòu)更復(fù)雜導(dǎo)致檢測(cè)速度略有下降;與SSD的改進(jìn)算法DDSSD、RSSD、FSSD、DSSD相比,本文算法在3個(gè)檢測(cè)類別的AP上均有提升,綜合起來mAP分別提升了1.83%,3.03%,1.94%,2.64%,同時(shí)檢測(cè)速度也分別提高了5.0、4.7、0.5、18.5 幀/s,平均提高7.2 幀/s。通過以上分析可知,本文算法通過增強(qiáng)特征層的感受野和采用多層級(jí)特征融合結(jié)構(gòu),相較于其他SSD改進(jìn)算法,對(duì)小目標(biāo)的檢測(cè)效果的提升更好,并有更快的檢測(cè)速度,能夠運(yùn)用于自動(dòng)駕駛中的實(shí)時(shí)檢測(cè)。
表2 性能對(duì)比實(shí)驗(yàn)結(jié)果Table 2 Results of performance comparison experiment
針對(duì)SSD算法應(yīng)用在自動(dòng)駕駛領(lǐng)域時(shí),在小目標(biāo)檢測(cè)中易出現(xiàn)漏檢錯(cuò)檢等問題,提出了改進(jìn)SSD的小目標(biāo)檢測(cè)算法。根據(jù)理論分析和實(shí)驗(yàn)驗(yàn)證,得出以下結(jié)論。
(1)對(duì)感受野模塊進(jìn)行優(yōu)化,通過加入一條更大膨脹率的分支,擴(kuò)大特征層的感受野,提高了特征層提取道路小目標(biāo)特征的效果,對(duì)比SSD模型,檢測(cè)精度提高了2.54%。
(2)引入多層級(jí)特征金字塔,并在其中加入感受野增強(qiáng)模塊,從尺度和層級(jí)兩個(gè)方面利用淺層語言信息和深層語義信息,進(jìn)一步提高道路小目標(biāo)檢測(cè)效果,對(duì)比SSD模型,檢測(cè)精度提高了4.60%。
(3)在自動(dòng)駕駛公開數(shù)據(jù)集KITTI上進(jìn)行消融實(shí)驗(yàn)和性能對(duì)比試驗(yàn),實(shí)驗(yàn)結(jié)果表明所提出的兩個(gè)改進(jìn)點(diǎn)對(duì)道路上小目標(biāo)的檢測(cè)效果有明顯提升;與原始SSD算法相比,本文算法的檢測(cè)精度提高了6.01%;與SSD的其他改進(jìn)算法相比,本文算法的mAP平均提升2.36%,F(xiàn)PS平均提高7.2 幀/s,達(dá)到27.9 幀/s,說明本文算法的檢測(cè)精度與檢測(cè)速度均更優(yōu)。
但是本文模型在檢測(cè)被遮擋的小目標(biāo)中依然存在未能有效檢測(cè)的問題,以及模型的參數(shù)量還有進(jìn)一步優(yōu)化的空間,后期將從主干網(wǎng)絡(luò)特征提取和模型剪枝兩方面進(jìn)行分析,適當(dāng)解決部分相關(guān)問題。