李松江,吳 寧,王 鵬,李海蘭
長春理工大學(xué) 計算機科學(xué)技術(shù)學(xué)院,長春130022
車輛目標(biāo)檢測是無人駕駛、車輛定位、車輛跟蹤等諸多領(lǐng)域的研究基礎(chǔ),具有重要的研究意義和廣闊的應(yīng)用前景。在檢測過程中由于車輛自身的差異,以及在行駛過程中存在的遮擋、變形等問題使得檢測精度較低。因此改善車輛目標(biāo)檢測過程中小目標(biāo)及遮擋目標(biāo)的錯檢、漏檢問題并提高檢測精度,已成為車輛目標(biāo)檢測領(lǐng)域的研究熱點[1]。
Kim等人[2]將SPP網(wǎng)絡(luò)集成到Y(jié)OLO-V3并加入多預(yù)測層,最終提高遮擋目標(biāo)的檢測精度。Nguyen[3]改進Faster RCNN特征提取網(wǎng)絡(luò)并使用上下文感知池化替代ROI池化,提高了小型車輛和遮擋車輛的檢測精度。Zhou等人[4]將對抗網(wǎng)絡(luò)與級聯(lián)的Faster RCNN相結(jié)合,對小目標(biāo)及遮擋目標(biāo)有更好的魯棒性。Cai等人[5]提出Cascade RCNN網(wǎng)絡(luò),通過級聯(lián)檢測器逐層提高候選框的IOU閾值,最終提高了小目標(biāo)及遮擋目標(biāo)的檢測精度。孔方方等人[6]提出改進YOLOV3的全景交通監(jiān)控目標(biāo)檢測方法,通過多尺度融合及使用K-means對目標(biāo)框進行聚類分析,提高目標(biāo)檢測精度。李俊彥等人[7]提出基于YOLOV3和KCF的交通場景下多目標(biāo)車輛跟蹤算法,實現(xiàn)交通場景下車輛軌跡的獲取。任宇杰等人[8]結(jié)合MobileNet網(wǎng)絡(luò)思想,構(gòu)建結(jié)合特征金字塔的多尺度全卷積網(wǎng)絡(luò)結(jié)構(gòu),提升了目標(biāo)在多任務(wù)場景下的檢測性能。陳景明等人[9]通過級聯(lián)感興趣區(qū)域上下文信息有效提高了小目標(biāo)的檢測精度。鄭秋梅等人[10]利用ResNet結(jié)構(gòu)改進Darknet-53特征提取網(wǎng)絡(luò)并增加尺度檢測層,有效提高了復(fù)雜場景中小目標(biāo)檢測精度。
上述方法對感興趣區(qū)域上下文信息使用得不充分,同時忽略了淺層位置信息對小目標(biāo)及遮擋目標(biāo)的重要性。因此本文提出改進Cascade RCNN(Improved Cascade RCNN,IM-Cascade RCNN)車輛目標(biāo)檢測方法,主要采取了三種改進方法:由淺至深的多尺度特征融合、多支路空洞卷積下采樣、上下文信息融合。IMCascade RCNN能夠充分利用有益于小目標(biāo)及遮擋目標(biāo)檢測的淺層網(wǎng)絡(luò)位置信息,同時減少了特征融合過程中下采樣導(dǎo)致特征圖有效信息的丟失,提高遮擋目標(biāo)及小目標(biāo)的檢測精度,減少該類目標(biāo)的錯檢和漏檢。
Cascade RCNN的結(jié)構(gòu)如圖1,由特征提取網(wǎng)絡(luò)ResNet101[11]、特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[12]和級聯(lián)檢測器組成。ResNet101將特征提取后,把每一層輸出的特征圖自深層至淺層進行多尺度融合,然后將融合后的特征圖{P2,P3,P4,P5}輸入?yún)^(qū)域建議網(wǎng)絡(luò)RPN[13]得到候選目標(biāo)區(qū)域。
在檢測階段,Cascade RCNN使用級聯(lián)檢測器的方式進行檢測,每個檢測器包含ROI Align[14]、全連接層FC、分類得分C和邊框回歸B。檢測時通過前一個檢測器輸出的邊框回歸B對候選目標(biāo)區(qū)域進行重采樣,逐步提升IOU閾值訓(xùn)練得到新的分類得分C和邊框回歸B,最終提升樣本質(zhì)量和網(wǎng)絡(luò)訓(xùn)練效果。
雖然Cascade RCNN對小目標(biāo)及遮擋目標(biāo)的檢測精度有一定提升,但仍然存在以下問題:Cascade RCNN的FPN是由深至淺進行多尺度特征融合,使每一層特征圖保留當(dāng)前層信息外還融合了語義特征。但在目標(biāo)檢測過程中淺層位置信息對小目標(biāo)及遮擋目標(biāo)的檢測更為重要。在檢測階段由于缺乏ROI周邊區(qū)域上下文信息,Cascade RCNN檢測遮擋目標(biāo)時易發(fā)生漏檢及錯檢。針對以上問題,本文提出IM-Cascade RCNN車輛目標(biāo)檢測方法,將在第2章進行詳細說明。
本文提出的IM-Cascade RCNN車輛目標(biāo)檢測方法如圖2所示。IM-Cascade RCNN將ResNet101網(wǎng)絡(luò)輸出的特征圖自淺層至深層逐層融合為特征金字塔并輸出到RPN,在融合過程中使用多支路空洞卷積對淺層特征圖進行下采樣,然后與降維后輸出的深層特征圖融合。經(jīng)RPN進行候選區(qū)域的選取后,將映射到原圖的ROI及其周邊上下文信息通過ROI Align層統(tǒng)一尺寸后融合,然后輸入全連接層FC進行分類和回歸。通過前一個檢測器輸出的邊框回歸對候選目標(biāo)區(qū)域進行重采樣并逐步提升IOU閾值,最終訓(xùn)練得到新的分類得分和邊框回歸。
經(jīng)特征提取網(wǎng)絡(luò)多次卷積和池化,每一層輸出特征圖如圖3所示。
圖3 (b)至(f)為特征提取網(wǎng)絡(luò)ResNet101第一層至第五層輸出的部分特征圖。從圖中可以看出,淺層網(wǎng)絡(luò)輸出特征圖分辨率更高,包含更多位置和細節(jié)信息,深層網(wǎng)絡(luò)輸出特征圖具有更為全局的語義信息,但分辨率較低且對細節(jié)感知能力較差。圖中每幅圖用紅框標(biāo)記的為特征較少的小目標(biāo)及遮擋目標(biāo),經(jīng)過多次卷積和池化,紅框內(nèi)特征及其位置信息自圖3(b)起逐漸減少,在圖3(c)、(d)、(e)、(f)處逐漸消失。由此可知,淺層特征包含的有關(guān)小目標(biāo)及遮擋目標(biāo)的特征及位置信息經(jīng)特征提取后逐漸丟失。
圖1 Cascade RCNN結(jié)構(gòu)圖
圖2 IM-Cascade RCNN結(jié)構(gòu)圖
圖3 特征圖可視化
傳統(tǒng)特征金字塔將深層特征逐層融入淺層網(wǎng)絡(luò),使淺層網(wǎng)絡(luò)保留位置信息的同時融入更多語義信息,例如將圖3(f)與圖3(e)融合。但在小目標(biāo)及遮擋目標(biāo)的檢測過程中,淺層特征所包含的細節(jié)信息更多且更為重要。為增強小目標(biāo)及遮擋目標(biāo)的特征,本文對傳統(tǒng)特征金字塔進行改進,將淺層網(wǎng)絡(luò)輸出特征圖逐層融入深層網(wǎng)絡(luò)。改進后特征金字塔如圖4。由于第一層輸出特征圖包含較多噪聲信息且分辨率過大,易提高網(wǎng)絡(luò)運行成本。因此從特征提取網(wǎng)絡(luò)Conv2輸出特征圖P2開始構(gòu)建改進特征金字塔,首先通過下采樣操作縮小P2的尺寸大小。為保證深淺層特征圖能夠使用加法操作進行特征融合,需要使用1×1卷積改變深層特征圖的通道數(shù),使其通道數(shù)與下采樣后的淺層特征圖相同。然后將下采樣后的P2與改變通道數(shù)的Conv3輸出特征圖進行融合最終得到P3。由于直接將特征疊加易造成特征的不連續(xù),導(dǎo)致特征混亂,因此使用3×3卷積對融合后的特征圖進行卷積操作以消除不同特征圖間的特征分布差異,保證特征的穩(wěn)定性。同理可得P4和P5,具體融合公式為:其中,F(xiàn)i是第i級融合后輸出的特征圖,I表示ResNet101網(wǎng)絡(luò)輸出的特征圖,conv(?)表示對第i層特征圖進行下采樣,dim(?)表示對第i+1層特征圖進行1×1卷積降維操作,n表示ResNet101網(wǎng)絡(luò)層級。使用上述融合方式使每一層具有當(dāng)前層語義信息的同時,還融合了豐富淺層位置信息,有益于小目標(biāo)及遮擋目標(biāo)的檢測。
圖4 改進后特征金字塔
在2.1節(jié)所述的特征融合過程中需要對淺層特征圖下采樣,然后與降維后深層特征圖融合。通過下采樣能有效擴大感受野[15],使單個像素點能夠表示廣泛的特征,但小目標(biāo)及遮擋目標(biāo)特征在這一映射過程中逐漸變少,甚至丟失。
因此提出使用空洞卷積進行下采樣以減少特征丟失。與普通卷積相比,空洞卷積多出了空洞率為r的參數(shù),能夠在不增加額外計算量的情況下擴大感受野且保持圖像分辨率[16]。由于不同尺度目標(biāo)對應(yīng)不同感受野,因此并聯(lián)三種不同空洞率的空洞卷積進行下采樣,能夠獲取目標(biāo)周邊不同范圍、不同大小的信息。同時不同空洞卷積的卷積范圍不同,使得卷積后能夠保留不同范圍特征,減少了特征丟失,最終將下采樣后的特征圖進行融合。具體操作如圖5。
圖5 多支路空洞卷積下采樣
如圖5所示,并聯(lián)多個不同空洞率的空洞卷積統(tǒng)一處理輸入特征圖。具體方式為:使用3種3×3步長為2的空洞卷積進行下采樣,其中空洞率分別為1、2、3,然后使用含批量歸一化的concat融合方式對卷積后的特征圖進行融合,最后用1×1卷積進行降維操作,方便后續(xù)的多尺度特征融合。這一處理過程可以用如下公式表達:
其中,Hk,r(x)表示空洞卷積,k表示卷積核大小,r表示空洞率,F(xiàn)表示融合后的特征。
使用單個卷積下采樣與多支路空洞卷積下采樣的特征圖對比如圖6。
圖6 單一下采樣與多支路下采樣熱力對比圖
將下采樣后的特征圖以熱力圖形式直觀展示。每幅圖中矩形框標(biāo)記的為特征增強較為明顯區(qū)域。其中m區(qū)域為特征較少的小目標(biāo)及遮擋目標(biāo),n區(qū)域為中等目標(biāo),p區(qū)域為大目標(biāo)。
對比圖6(a)、(b)、(c)可知,m2及m3處的特征明顯多于m1,且n2、p2及n3、p3處特征比n1、p1更為豐富,目標(biāo)特征輪廓更為清晰。因此并聯(lián)雙支路空洞卷積下采樣減少了小目標(biāo)及遮擋目標(biāo)特征丟失,同時豐富了中等目標(biāo)及大目標(biāo)特征。當(dāng)空洞率為3時,空洞卷積的感受野較大,包含的特征范圍較廣,能夠獲取更為全局的目標(biāo)特征,與單一卷積并聯(lián)后,融入的全局特征能使目標(biāo)輪廓更加清晰。當(dāng)空洞率為2時,空洞卷積感受野較小,與單一卷積并聯(lián)能提取更為細膩的特征以豐富小目標(biāo)及遮擋目標(biāo)特征。對比圖6(b)、(c)可知,m2處特征相比m3更為豐富,但n3處的目標(biāo)輪廓特征比n2更為清晰。因此可得出結(jié)論:并聯(lián)不同空洞率的空洞卷積對目標(biāo)特征有不同程度的增強,小的空洞率能夠保留更為豐富的細節(jié)信息,更大的空洞率使目標(biāo)特征輪廓更為清晰。
由圖6(d)可得知,m4處特征保留最多,p4、n4處特征相比其他三幅圖對應(yīng)特征更加豐富且目標(biāo)特征輪廓更加清晰。因此并聯(lián)三支路進行下采樣能夠獲取多尺度感受野信息,有效增強了小目標(biāo)及遮擋目標(biāo)特征并減少特征丟失,同時也豐富了中等目標(biāo)及大目標(biāo)特征。
通過以上分析,相比單一卷積下采樣,多支路空洞卷積下采樣使最終融合后的特征圖既保留了單一卷積下采樣后的特征,又融入目標(biāo)周邊信息使目標(biāo)特征更豐富,同時減少了特征丟失。
由于ROI包含特征有限,目標(biāo)在高度重疊的情況下包含遮擋目標(biāo)有關(guān)信息較少。當(dāng)遮擋車輛與周邊車輛存在相同或相似的特征時,容易造成后續(xù)分類和回歸的不確定性,導(dǎo)致遮擋目標(biāo)的檢測精度較低。本文將結(jié)合ROI周圍區(qū)域,利用局部上下文信息[17]豐富目標(biāo)的特征表達,詳細過程如圖7所示。
圖7 上下文信息融合方式
將ROI區(qū)域及其上下文信息經(jīng)過ROI Align映射成相同大小的矩形框,然后通過加法操作進行融合。通過放大ROI區(qū)域獲取上下文信息,假設(shè)每個ROI區(qū)域的寬為w,高為h,ROI區(qū)域放大比例因子設(shè)置為1.5,則包含上下文信息區(qū)域的寬和高為1.5w、1.5h,與ROI有相同中心。具體融合公式為:
其中,f表示融合后的特征圖,R[?]表示ROI Align,r(?)表示目標(biāo)區(qū)域,w為區(qū)域的寬,h為區(qū)域的高,w′和h′為乘以放大比例因子后的寬和高。ROI區(qū)域及其上下文信息的融合能夠擴大特征圖的感知區(qū)域,使改進后方法能夠?qū)W習(xí)到更豐富的遮擋目標(biāo)信息。
實驗運行環(huán)境見表1。
表1 實驗運行環(huán)境
本文將使用KITTI[18]和UA-DETRAC[19]數(shù)據(jù)集分別進行實驗對比分析。
KITTI數(shù)據(jù)集每張圖像中最多達15輛車和30個行人,還包括各種程度的車輛遮擋與截斷。由于此數(shù)據(jù)集包含多種類別數(shù)據(jù),在實驗過程中將與車輛無關(guān)的類別刪除,并將不同種類的車輛統(tǒng)一合并為一類。
UA-DETRAC數(shù)據(jù)集由車輛視頻序列組成,包括晴天、多云、雨天和夜間等各種場景的數(shù)據(jù)。在此數(shù)據(jù)集上進行實驗分析時,將在不同的場景下測試IMCascade RCNN的有效性。
對KITTI和UA-DETRAC數(shù)據(jù)集的劃分如表2所示。
表2 數(shù)據(jù)集劃分
本文將采用AP(單類平均精度)、FPS(每秒傳輸幀率)作為車輛目標(biāo)檢測方法評估指標(biāo),并繪制Recall-Precision(召回率-精確率)曲線評價檢測方法性能,RP曲線所圍成的面積即為AP值大小,面積越大則AP值越大,檢測精度越高。其中AP、Recall、Precision計算公式如下:
其中,TP是檢測出正樣本的概率,F(xiàn)P是檢測出錯誤樣本的概率,F(xiàn)N是未檢測出正確樣本的概率,TN是檢測出負樣本的概率。
訓(xùn)練的過程中將動量設(shè)置為0.9,初始學(xué)習(xí)率設(shè)置為0.001,迭代次數(shù)設(shè)置為180 000,衰減系數(shù)設(shè)置為0.000 5。當(dāng)?shù)螖?shù)分別為70 000,120 000時,將學(xué)習(xí)率調(diào)整為0.000 1,0.000 01。在KITTI和UA-DETRAC數(shù)據(jù)集上IM-Cascade RCNN的損失收斂情況如圖8所示。
圖8 損失函數(shù)曲線
圖8 中IM-Cascade RCNN在KITTI和UA-DETRAC數(shù)據(jù)集上經(jīng)過180 000次的迭代后,損失值在0.1附近趨于穩(wěn)定,模型達到最優(yōu)狀態(tài)。
選取雙階段目標(biāo)檢測方法:Faster RCNN[20]、R-FCN[21]、CoupleNet[22]與Cascade RCNN及IM-Cascade RCNN進行實驗對比。Faster RCNN是基于RPN的雙階段網(wǎng)絡(luò);R-FCN是基于RPN的全卷積網(wǎng)絡(luò),由于不包含全連接層,所以檢測速度較快;CoupleNet以R-FCN為基礎(chǔ),融合了全局信息和局部信息,檢測速度相比R-FCN有所降低。
3.5.1 KITTI數(shù)據(jù)集實驗結(jié)果
本小節(jié)將在KITTI上進行對比實驗以及消融實驗,驗證所提出創(chuàng)新點的有效性。IOU及置信度閾值設(shè)置為0.5,在KITTI上的檢測結(jié)果如表3所示。
如表3,其中“F”表示改進的特征金字塔,“C”表示多支路空洞卷積下采樣,“Context”表示上下文信息融合。在KITTI數(shù)據(jù)集中,IM-Cascade RCNN的AP值比Cascade RCNN、CoupleNet、R-FCN、Faster RCNN分別提高了2.2、6.15、8.65、12.96個百分點,F(xiàn)PS分別降低了0.6、9.0、12.7、4.4。
表3 KITTI數(shù)據(jù)集檢測結(jié)果
消融實驗結(jié)果表明:改進后的特征金字塔使檢測精度提高了1.33個百分點,F(xiàn)PS降低了0.1;增加多支路空洞卷積下采樣方式使檢測精度提高了1.65個百分點,F(xiàn)PS降低了0.4。融合ROI周圍區(qū)域的上下文信息使檢測精度提高了0.9個百分點,F(xiàn)PS降低了0.3。相比Cascade RCNN,IM-Cascade RCNN檢測精度從89.72%提升至91.92%,共提升了2.2個百分點,F(xiàn)PS共降低了0.6。
為驗證多支路空洞卷積下采樣方式的有效性,本文分別使用單一卷積及并聯(lián)雙支路空洞卷積及三支路空洞卷積對淺層特征圖進行下采樣,最終檢測結(jié)果如表4。
表4 空洞卷積實驗結(jié)果
通過表4可得出如下結(jié)論:相比單一卷積下采樣方式,分別并聯(lián)空洞率為1、2和1、3的空洞卷積進行下采樣,檢測精度僅提升了0.13個百分點及0.15個百分點。因此僅并聯(lián)兩種空洞卷積進行下采樣,由于包含目標(biāo)周圍信息不夠全面導(dǎo)致檢測精度提升幅度較小。并聯(lián)三種不同空洞率的空洞卷積由于引入了目標(biāo)周邊不同范圍的信息使得檢測精度相比雙支路及單支路有一定提升,共提升了0.32個百分點。
為保證不同空洞卷積下采樣后的特征圖大小相同,下采樣前需對原特征圖進行padding填充,空洞率越大則padding值越大。由于padding值過大會增加網(wǎng)絡(luò)計算量,因此并聯(lián)多支路空洞卷積下采樣時檢測速度變慢,相比單一卷積下采樣檢測每幅圖所花費的時間從143 ms增加至149 ms,共增加了6 ms,增加了網(wǎng)絡(luò)運行成本。
上述實驗數(shù)據(jù)驗證了本文創(chuàng)新點的有效性,多支路空洞卷積、上下文信息融合模塊的引入雖然使檢測速度有一定降低,但在可接受范圍之內(nèi)。各方法的PR曲線如圖9。由圖9可知IM-Cascade RCNN在相同召回率情況下精確率更高,RP曲線圍成的面積更大,檢測精度更高。
圖9 KITTI數(shù)據(jù)集RP曲線圖
3.5.2 UA-DETRAC數(shù)據(jù)集實驗結(jié)果
本小節(jié)將在UA-DETRAC數(shù)據(jù)集不同的天氣狀況下進行對比實驗,驗證本文所提出方法在不同場景下的有效性。同時分析不同方法檢測小目標(biāo)、中等目標(biāo)以及大目標(biāo)的精度,驗證IM-Cascade RCNN方法的創(chuàng)新性。
本文采取MS COCO數(shù)據(jù)集對小目標(biāo)、中等目標(biāo)、大目標(biāo)的區(qū)分定義[23],具體方式如表5。將目標(biāo)面積小于322的歸類于小目標(biāo),面積在322與962之間的歸類于中等目標(biāo),面積大于962的歸類于大目標(biāo)。
表5 目標(biāo)大小劃分方式
設(shè)置與KITTI相同的IOU及置信度閾值,最終檢測結(jié)果如表6所示。
表6 UA-DETRAC數(shù)據(jù)集檢測結(jié)果
由表6可知,綜合場景下IM-Cascade RCNN的AP值比Cascade RCNN、CoupleNet、R-FCN、Faster RCNN分別提高了2.7、8.69、12.64、24.06個百分點,F(xiàn)PS分別降低了0.9、9.4、13.3、6.2。并且在晴天、多云、雨天、夜間四種不同場景下IM-Cascade RCNN檢測精度均為最高,證明了本文所提出方法在不同天氣狀況下均有較好的檢測效果,適用于不同場景下車輛目標(biāo)檢測。同時IMCascade RCNN對于小目標(biāo)、中等目標(biāo)及大目標(biāo)均有良好的檢測效果,與其他方法相比檢測精度最高。本文所提出方法對于小目標(biāo)及中等目標(biāo)檢測精度相比原Cascade RCNN方法分別提升了2.69個百分點和2.78個百分點,大目標(biāo)檢測精度從88.17%提升至89.92%,僅提升了1.75個百分點。由此可得出如下結(jié)論:由于小目標(biāo)及中等目標(biāo)存在車輛遮擋情況較為嚴(yán)重且不易檢出,因此IM-Cascade RCNN針對小目標(biāo)及中等目標(biāo)的檢測精度提升幅度略高于大目標(biāo),證明了本文所提出方法對小目標(biāo)及遮擋目標(biāo)的錯檢及漏檢問題有一定改善。
由于UA-DETRAC數(shù)據(jù)集包含小目標(biāo)及遮擋目標(biāo)較多,相比在KITTI數(shù)據(jù)集上的提升效果更為明顯。各方法在UA-DETRAC的PR曲線如圖10。
圖10 UA-DETRAC數(shù)據(jù)集RP曲線圖
由圖10可知IM-Cascade RCNN的PR曲線最高,所圍成的面積最大,精確率相比其他方法有較大提升。
3.5.3 檢測效果
圖11 (a)和(b)表示Cascade RCNN和IM-Cascade RCNN在KTIIT數(shù)據(jù)集的檢測結(jié)果,(c)和(d)表示兩種方法在UA-DETRAC數(shù)據(jù)集的檢測結(jié)果。其中每幅圖左側(cè)表示檢測出的圖像,右側(cè)表示部分局部放大圖像。
對比(a)、(b)、(c)、(d)可知,使用Cascade RCNN在KITTI和UA-DETRAC進行車輛目標(biāo)檢測時,由于在特征提取的過程中細節(jié)信息丟失嚴(yán)重且對上下文信息使用的不充分,使得小目標(biāo)及遮擋目標(biāo)沒有被很好地檢出,如圖(a)、(c)所示。在相同圖像分辨率及檢測閾值的條件下,IM-Cascade RCNN由于采用了自淺至深的特征融合方式保留了小目標(biāo)的位置信息,使得小目標(biāo)能夠被更好地檢出,如圖(d);由于引入了多支路空洞卷積及上下文信息模塊,IM-Cascade RCNN方法融入了目標(biāo)周邊更多范圍的信息,使得遮擋目標(biāo)能夠被更好地檢出,如圖(b)。因此IM-Cascade RCNN在KITTI和UA-DETRAC均有良好的檢測效果。
本文提出的IM-Cascade RCNN車輛目標(biāo)檢測方法,融入了豐富的位置信息及上下文信息,同時減少了特征圖下采樣導(dǎo)致的特征丟失。實驗結(jié)果表明IM-Cascade RCNN有效提高了車輛目標(biāo)檢測精度,減少了小目標(biāo)及遮擋目標(biāo)的錯檢和漏檢,并且能夠適應(yīng)不同天氣狀況下的車輛檢測。但由于引入了多支路空洞卷積及上下文信息提取模塊使得檢測速度有一定的降低,如何平衡檢測精度及速度是下一步的研究方向。
圖11 檢測效果圖