崔靜雯,馬 杰,張 宇
河北工業(yè)大學(xué) 電子信息工程學(xué)院,天津 300401
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,我國汽車保有量連年提升。汽車使大眾生活愈加方便快捷的同時(shí),也使得交通安全問題日益突出。交通標(biāo)志的檢測與識(shí)別一直是智能交通系統(tǒng)的重點(diǎn)技術(shù),在緩解駕駛員駕駛壓力和保證車輛行駛安全等方面具有重要的研究意義和廣闊的應(yīng)用前景。在現(xiàn)實(shí)行車場景下,交通標(biāo)志檢測受目標(biāo)尺度大小、運(yùn)動(dòng)模糊、交通場景復(fù)雜程度等因素的影響。目前交通標(biāo)志檢測方法的難點(diǎn)主要體現(xiàn)在兩個(gè)方面,一方面,在復(fù)雜交通場景下檢測目標(biāo)需要保證較高的準(zhǔn)確率和實(shí)時(shí)性。另一方面,交通標(biāo)志數(shù)據(jù)集中包含大量的小目標(biāo),傳統(tǒng)算法對(duì)其檢測精度較低,存在漏檢和誤檢的現(xiàn)象。
傳統(tǒng)的目標(biāo)檢測算法,大致可分為兩類。一類是基于候選區(qū)域的two-stage算法,需要先獲得候選區(qū)域再進(jìn)行分類。如Girshick 等提出的R-CNN[1]算法,該算法對(duì)區(qū)域進(jìn)行識(shí)別,利用CNN抽取從候選區(qū)域的特征向量,最后進(jìn)行目標(biāo)分類和回歸。R-CNN大幅度提高了算法準(zhǔn)確度,但訓(xùn)練過程復(fù)雜且存在大量重復(fù)計(jì)算。Fast R-CNN 只進(jìn)行一次特征提取,速率比R-CNN 更快。Faster R-CNN[2]實(shí)現(xiàn)了端到端的訓(xùn)練,該算法提出的區(qū)域提議網(wǎng)絡(luò)(region proposal network,RPN),進(jìn)一步提高了檢測速率和精度。
另一類是基于邊框回歸的one-stage算法,如YOLO系列[3-6]算法采用單獨(dú)的CNN模型實(shí)現(xiàn)端到端的目標(biāo)檢測,相比于R-CNN 算法,雖獲得了較高的檢測效率,但存在定位不準(zhǔn)確的問題。因此Li等提出殘差嵌套機(jī)制改進(jìn)YOLOv3-tiny。同時(shí)Liu等針對(duì)YOLO算法定位不準(zhǔn)確的問題提出SSD[7]算法,該算法利用不同尺度的特征圖進(jìn)行目標(biāo)檢測,有著較好的檢測精度和速率。但SSD 算法存在缺件缺陷,首先,該算法不能充分利用淺層的高分辨率特征圖,對(duì)小目標(biāo)的檢測不敏感;其次,隨著卷積神經(jīng)網(wǎng)絡(luò)的加深,下采樣操作讓大量關(guān)于小目標(biāo)的局部信息丟失;最后,SSD 借助不同尺度的特征層進(jìn)行獨(dú)立預(yù)測,忽略了特征層之間的相互聯(lián)系。針對(duì)其對(duì)小目標(biāo)物體檢測精度較低且存在漏檢的情況,Lin 等提出特征金字塔網(wǎng)絡(luò)[8(]feature pyramid network,F(xiàn)PN),使深層特征通過上采樣與淺層特征融合,在不影響算法速率的前提下構(gòu)成一個(gè)自頂向下的網(wǎng)絡(luò),提高檢測精度。FSSD[9]算法和DSSD[10]算法在SSD算法基礎(chǔ)上進(jìn)行改進(jìn)。FSSD 融合了三個(gè)不同尺度的淺層特征,在融合特征基礎(chǔ)上通過卷積下采樣生成特征金字塔,有效提升了目標(biāo)檢測的精度。DSSD 利用反卷積層構(gòu)建FPN 結(jié)構(gòu)以獲取上下文信息,有效提升了目標(biāo)檢測精度,但檢測速率降低。近年來許多研究人員也基于FSSD多尺度思想提出基于SSD的特征融合算法[11-12]。
目前已有很多基于深度學(xué)習(xí)的交通標(biāo)志檢測算法,例如長沙理工大學(xué)研究團(tuán)隊(duì)[13]創(chuàng)建了國內(nèi)真實(shí)場景的交通標(biāo)志數(shù)據(jù)集CCTSDB,并提出一種改進(jìn)YOLOv2的目標(biāo)檢測算法。Shan 等[14]提出了一種基于改進(jìn)SSD 的小交通標(biāo)志檢測算法,并在測試集上獲得了較高的精度。但是交通標(biāo)志檢測算法仍存在以下問題:(1)真實(shí)道路場景復(fù)雜,采集圖片的質(zhì)量、尺度參差不齊,對(duì)檢測算法的魯棒性要求高;(2)不同國家的交通標(biāo)志存在差異,且不同類別樣本間的數(shù)量不平衡;(3)在實(shí)際檢測過程中,一些交通標(biāo)志具有相似的外形和顏色特征,如何正確分類與識(shí)別十分關(guān)鍵。針對(duì)上述問題和SSD算法的缺陷,本文提出一種基于多尺度特征互補(bǔ)和聯(lián)合權(quán)重分配的目標(biāo)檢測改進(jìn)算法,較原SSD算法檢測精度有所提升且實(shí)時(shí)性得到保障,其主要優(yōu)勢包括三個(gè)方面:
(1)針對(duì)交通標(biāo)志小目標(biāo)漏檢的問題,利用跨階段局部網(wǎng)絡(luò)設(shè)計(jì)多尺度特征互補(bǔ)模塊,同時(shí)構(gòu)建多路徑特征融合網(wǎng)絡(luò),增強(qiáng)特征圖語義信息,有效提高淺層網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測精度。
(2)針對(duì)有效特征表示較弱的問題,將空洞卷積與并行的權(quán)重分配模塊相結(jié)合,從空間和通道兩個(gè)角度同時(shí)獲取更有效的重點(diǎn)特征信息。
(3)設(shè)計(jì)基于深度可分離卷積的殘差塊對(duì)預(yù)測模塊進(jìn)行輕量化改進(jìn),使算法的目標(biāo)檢測能力有所提升。
SSD 目標(biāo)檢測算法由Liu 等人提出,可一步完成目標(biāo)的定位和分類;同時(shí)沿用了Faster R-CNN 中的Anchor 策略,利用候選框提升檢測精度,結(jié)構(gòu)如圖1 所示。SSD算法以VGG16作為主干網(wǎng)絡(luò),以300×300圖片作為輸入,整個(gè)網(wǎng)絡(luò)對(duì)Conv4_3、FC7、Conv8_2、Conv9_2、Conv10_2、Conv11_2這6個(gè)不同尺度的特征圖進(jìn)行目標(biāo)預(yù)測。最后通過非極大值抑制(non-maximum suppression,NMS)過濾掉冗余邊界框并得到最終檢測結(jié)果。
圖1 SSD算法結(jié)構(gòu)Fig.1 Algorithm structure of SSD
SSD 算法是一種端對(duì)端性能較好的網(wǎng)絡(luò)。但由于實(shí)際交通場景較為復(fù)雜,交通標(biāo)志的尺度不盡相同,在較小的交通標(biāo)志目標(biāo)區(qū)域中SSD 算法淺層產(chǎn)生的小物體特征缺乏足夠的信息,同時(shí)對(duì)feature map 進(jìn)行目標(biāo)檢測時(shí)忽略了層與層之間的關(guān)系,這不僅會(huì)影響特征提取能力也不利于小目標(biāo)的檢測。因此本文設(shè)計(jì)基于多尺度特征互補(bǔ)和重點(diǎn)特征信息挖掘的目標(biāo)檢測改進(jìn)算法(multi-scale feature complementary fusion and key feature information mining SSD,MK-SSD),網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,具體改進(jìn)方案如下。
圖2 MK-SSD算法的網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of MK-SSD
(1)添加額外Conv5_3 和Conv6 兩層feature map,設(shè)計(jì)并利用多尺度特征互補(bǔ)模塊(multi-scale feature complementation module,MFCM)和上采樣構(gòu)建多路徑特征融合網(wǎng)絡(luò)。
(2)在Conv8_2 層引入聯(lián)合權(quán)重分配模塊(combined weight distribution module,CWDM)進(jìn)行重點(diǎn)信息挖掘,并利用新產(chǎn)生的feature map 替換原SSD 的后續(xù)網(wǎng)絡(luò)結(jié)構(gòu)。
(3)對(duì)算法的預(yù)測模塊進(jìn)行改進(jìn),設(shè)計(jì)新型的輕量化殘差塊(lightweight resblock,LR)用于目標(biāo)的定位和分類。
受跨階段局部網(wǎng)絡(luò)(cross stage paritial network,CSPNet)[15]的啟發(fā),對(duì)CSPNet 進(jìn)行簡化改進(jìn),改進(jìn)前后的結(jié)構(gòu)圖如圖3 所示。簡化改進(jìn)后的圖4(b)引入CSPNet 的核心結(jié)構(gòu),利用跨階段層次結(jié)構(gòu)對(duì)兩條支路進(jìn)行合并,相比普通的卷積結(jié)構(gòu)既使得網(wǎng)絡(luò)特征信息更加豐富又降低了計(jì)算量。
圖3 CSPNet結(jié)構(gòu)Fig.3 CSPNet structure
完整的MFCM結(jié)構(gòu)如圖4(a)所示。MFCM中每個(gè)卷積層后都設(shè)有BN 和RELU 激活函數(shù),其首先利用反卷積讓深層特征與淺層特征尺度一致。其次,模塊利用兩個(gè)改進(jìn)后的CSPNet 結(jié)構(gòu),實(shí)現(xiàn)降維減少參數(shù)量的同時(shí),增強(qiáng)網(wǎng)絡(luò)的特征學(xué)習(xí)能力。最后,結(jié)合殘差ResNet[16]對(duì)網(wǎng)絡(luò)的優(yōu)化效果,對(duì)模塊整體添加殘差分支,并將模塊終端的三個(gè)分支進(jìn)行乘加互補(bǔ)運(yùn)算實(shí)現(xiàn)多尺度特征融合。乘加互補(bǔ)運(yùn)算結(jié)構(gòu)如圖4(b)所示。首先,乘加互補(bǔ)運(yùn)算將兩個(gè)降維feature map按對(duì)應(yīng)元素相乘并經(jīng)過3×3卷積結(jié)構(gòu)進(jìn)行特征提取,進(jìn)而產(chǎn)生具有綜合性描述的模板特征,此模板特征反映了兩支路feature map 的互異信息,表征了有用信息和冗余噪聲信息的綜合特征分布。然后,將模板特征與殘差分支按元素相加,使得原feature map會(huì)根據(jù)其與模板特征的差異進(jìn)行融合,此為特征互補(bǔ)的過程,最后得到MFCM的輸出。因此,相比于直接將兩個(gè)feature map 按元素相加或相乘,MFCM可充分利用上下文信息,有效加強(qiáng)對(duì)細(xì)節(jié)信息的表征,實(shí)現(xiàn)特征信息的互補(bǔ)融合。
圖4 特征互補(bǔ)結(jié)構(gòu)Fig.4 Feature complementary structure
FPN、FSSD、DSSD 等算法證明,融合不同尺度的feature map可以有效提升目標(biāo)檢測精度,因此面向淺層feature map的準(zhǔn)確定位對(duì)小目標(biāo)檢測尤為關(guān)鍵,本文進(jìn)而構(gòu)建了一種基于MFCM 的多路徑特征融合結(jié)構(gòu),整體結(jié)構(gòu)如圖5所示,主要步驟如下。
(1)第一次特征融合如圖5(a)所示,已知Conv3_3層包含大量邊緣和非目標(biāo)信息,Conv5_3 和Conv6 則擁有更高分辨率和基本輪廓信息。為充分利用淺層feature map 的細(xì)節(jié)信息,選取Conv4_3 至Conv7 并利用上采樣進(jìn)行兩兩特征融合。
圖5 多路徑特征融合網(wǎng)絡(luò)Fig.5 Multi-path feature fusion network
(2)第二次特征融合如圖5(b)所示,Conv8_2 等深層feature map 擁有更強(qiáng)的語義信息,為充分利用深層feature map的語義信息,在第一次特征融合得到的兩個(gè)新feature map 基礎(chǔ)上,利用MFCM 和Conv8_2 層完成自上而下的特征融合。
(3)第三次特征融合如圖5(c)所示,此次融合利用CWDM 處理后的輸出并對(duì)其進(jìn)行上采樣,以提升特征信息表達(dá)。再讓其與第二次特征融合得到的兩個(gè)新feature map 按元素相加的方式,自上而下進(jìn)行融合,進(jìn)一步增強(qiáng)淺層feature map語義信息。
同時(shí),相關(guān)研究從特征圖可視化的角度[17]證明SSD中較淺層的feature map(Conv4_3 至Conv7)分辨率更高,包含更多細(xì)節(jié)信息適合檢測小目標(biāo);較深層的feature map(Conv8_2 至Conv11_2)分辨率較低,但語義較強(qiáng),適合檢測大目標(biāo)。本文從整體算法出發(fā),要求特征融合網(wǎng)絡(luò)既要利用深層特征豐富的語義,又要考慮融合分辨率較低的深層特征不僅無法明顯提高檢驗(yàn)精度,反而會(huì)增加運(yùn)算量、降低檢測速率的情況,如3.4.5 節(jié)實(shí)驗(yàn)所示。因此本文的多路徑特征融合網(wǎng)絡(luò)只利用了深層feature map 中的Conv8_2 和CW8_2,不再對(duì)CW9_2、CW10_2和CW11_2進(jìn)行特征融合。
綜上,本文的特征融合是一個(gè)多路徑橫向連接并結(jié)合自上而下方法的網(wǎng)絡(luò)結(jié)構(gòu),提升了對(duì)細(xì)節(jié)信息的表征能力,較特征金字塔網(wǎng)絡(luò)具有更豐富的語義信息,可有效提高淺層網(wǎng)絡(luò)對(duì)交通標(biāo)志小目標(biāo)的檢測精度并減少目標(biāo)尺度變化所帶來的影響。
針對(duì)圖像中不同區(qū)域特征表征不均以及邊緣模糊導(dǎo)致目標(biāo)檢測精度低的問題,提出聯(lián)合權(quán)重分配模塊。CWDM 包括多分支感知域模塊(receptive field module,RFM)和并行權(quán)重分配模塊兩個(gè)子模塊,其結(jié)構(gòu)如圖6所示。首先,RFM中空洞卷積的卷積核均為3×3卷積,stride=1,其通過擴(kuò)大感知域?qū)W習(xí)更多上下文信息并增加網(wǎng)絡(luò)寬度。其次,注意力模塊分別從通道注意力和空間注意力兩個(gè)角度對(duì)已通過RFM 的feature map 同時(shí)進(jìn)行處理,以加強(qiáng)有效特征表示并抑制無用特征信息,該操作得到空間注意力圖F2和通道注意力圖F3。最后融合F2和F3特征,得到CWDM 最終輸出F′。整體運(yùn)算過程如式(1)所示,式中⊕為逐個(gè)元素相加。
圖6 聯(lián)合權(quán)重分配模塊Fig.6 Combined weight distribution module
通道注意力圖F3反映了特征通道間的相關(guān)性和重要性,空間注意力圖F2則反映了空間維度特征差異的權(quán)重,用來抑制或強(qiáng)化不同空間位置的特征。同時(shí)由于F1已經(jīng)過RFM 優(yōu)化處理,因此CWDM 最終輸出F′可提供更優(yōu)的有效特征信息。RFM 效果好的原因有兩點(diǎn):(1)卷積和池化都是常見的下采樣操作,但下采樣在擴(kuò)大感知域的同時(shí)也縮小了feature map 尺度,造成信息損失??斩淳矸e則利用其特有的參數(shù)擴(kuò)張率(dilated rates),使原卷積核在相同參數(shù)量下?lián)碛懈蟮母兄颉R虼薘FM 利用空洞卷積即可擴(kuò)大感知域,從而無需下采樣,避免了信息損失且實(shí)現(xiàn)feature map 輸入與輸出尺度一致。(2)RFM設(shè)計(jì)不同擴(kuò)張率的并行空洞卷積結(jié)構(gòu),可讓網(wǎng)絡(luò)學(xué)習(xí)到多尺度特征信息,因此解決了網(wǎng)格效應(yīng)帶來的局部信息丟失的問題。且該結(jié)構(gòu)使目標(biāo)檢測可利用的小目標(biāo)信息量增多,進(jìn)而解決了傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)利用池化層所造成的小目標(biāo)信息無法重建的問題。
本文將CWDM 嵌入到Conv8_2 層之后,同時(shí)讓經(jīng)過CWDM 處理后的CW8_2 層代替原SSD 算法的Conv8_2層,并讓CW8_2經(jīng)過后續(xù)卷積產(chǎn)生的特征層對(duì)應(yīng)代替原Conv9_2、Conv10_2、Conv11_2層,特征圖參數(shù)如表1 所示。以上操作使得后續(xù)深層feature map 獲得較原SSD算法更豐富的特征多樣性,有效增強(qiáng)特征語義信息并提高算法的目標(biāo)檢測能力。以下分別對(duì)CWDM兩個(gè)子模塊進(jìn)行介紹。
表1 特征圖詳細(xì)參數(shù)Table 1 Feature map detail parameters
2.2.1 多分支感知域模塊
SSD 算法不利于小目標(biāo)的檢測,原因是用于檢測小目標(biāo)的淺層feature map 特征信息較少,然而空洞卷積[18-19(]dilated convolution)可以有效地解決此問題,其在標(biāo)準(zhǔn)卷積的基礎(chǔ)上通過調(diào)整dilated rates,在保證卷積核數(shù)量和feature map 尺寸不變的前提下擴(kuò)大感知域和語義信息,大大提高網(wǎng)絡(luò)的特征信息提取能力??斩淳矸e的感知域計(jì)算如式(2)、(3)所示。其中l(wèi)k-1為k-1 層感知域大小,fk為當(dāng)前層卷積核大小,si為第i層的步長。相比于前一層,當(dāng)前層感知域增加了
受多分支卷積Inception 和殘差網(wǎng)絡(luò)ResNet 良好性能的啟發(fā),設(shè)計(jì)感知域模塊RFM。F為RFM模塊的輸入,F(xiàn)1為模塊的輸出。P1、P2、P3為各個(gè)分支通過空洞卷積后的輸出。P為經(jīng)過Concat 操作后的輸出,KW×H×C為卷積核,S為步長,?為卷積,⊕為Concat算法,+為對(duì)應(yīng)元素相加。RFM 的輸入輸出關(guān)系如式(4)、(5)所示:
2.2.2 并行權(quán)重分配模塊
已知用于預(yù)測的不同尺度feature map包含不同強(qiáng)度信息,對(duì)后續(xù)目標(biāo)分類和定位的貢獻(xiàn)效果也存在差異。因此設(shè)計(jì)注意力塊,其從通道和空間這兩個(gè)角度進(jìn)行高效并行權(quán)重分配,以在保證提取有用信息的同時(shí)抑制無用信息,保證目標(biāo)分類和定位的準(zhǔn)確性。
從通道權(quán)重分配角度出發(fā),采用一種輕量級(jí)注意力機(jī)制,即高效通道注意力模塊(efficient channel attention for deep convolutional neural networks,ECA-Net)[20],相較于squeeze-and-excitation networks(SE-Net)[21]參數(shù)量更少且效果更優(yōu),ECA-Net結(jié)構(gòu)如圖7所示。先將輸入特征信息F∈RH×W×C進(jìn)行全局平均池化操作,得到對(duì)應(yīng)于通道的權(quán)重信息Favg∈R1×1×C。然后通過一維卷積進(jìn)行特征提取得到通道間相關(guān)性參數(shù)li,并經(jīng)過Sigmoid激活函數(shù)得到輸出維度為1×1×C的通道注意力權(quán)重Wi,如式(6)所示。其中一維卷積的卷積核大小K由通道自適應(yīng)參數(shù)決定,如式(7)所示。
圖7 高效通道注意力模塊Fig.7 Efficient channel attention module
式中,σ(· )為Sigmoid激活函數(shù),C為通道數(shù),|* |odd為取最鄰近奇數(shù),γ和b為超參數(shù)。最后將通道注意力權(quán)重Wi與殘差分支連接得到輸出特征信息F′=RH×W×C。
從空間權(quán)重分配角度出發(fā),feature map中相鄰像素間包含著差異性和相關(guān)性信息,也反映了feature map的空間抽象信息。Woo 等提出的卷積塊注意模塊(convolutional block attention module,CBAM)[22]沿著channel 和spatial 這兩個(gè)不同的維度按串聯(lián)順序輸入特征映射,并指出最大池化操作可獲取更加豐富的信息。因此本文設(shè)計(jì)spatial attention分支受CBMA啟發(fā),對(duì)輸入feature map以并聯(lián)結(jié)構(gòu)同時(shí)使用全局最大池化和全局平均池化,以提升網(wǎng)絡(luò)性能。然后將兩種方式得到的全局特征信息經(jīng)過concat 和卷積操作。最后卷積輸出與原feature map 相乘得到最終特征輸出,在空間上得到自適應(yīng)權(quán)重分配參數(shù)。
SSD 算法利用3×3 卷積對(duì)6 個(gè)不同尺寸的feature map 進(jìn)行預(yù)測。淺層特征圖語義性相對(duì)較低,分辨率高,適合小目標(biāo)的檢測。但SSD算法在實(shí)際應(yīng)用中會(huì)出現(xiàn)小目標(biāo)的漏檢的現(xiàn)象,這是因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)中不同尺度feature map具有不同的特征幅值,一般淺層feature map的特征幅值要高于深層feature map,較大的特征幅值會(huì)導(dǎo)致預(yù)測模塊產(chǎn)生較大的梯度值,從而影響網(wǎng)絡(luò)檢測能力。
針對(duì)此問題,本文設(shè)計(jì)基于殘差結(jié)構(gòu)的輕量化檢測單元LR,并讓LR替換原檢測模塊中用于預(yù)測的3×3卷積核,使主干網(wǎng)絡(luò)的feature map 不再直接用于目標(biāo)預(yù)測,進(jìn)而減少特征幅值對(duì)目標(biāo)檢測的影響,LR結(jié)構(gòu)如圖8 所示。該模塊每個(gè)卷積層后都設(shè)有RELU 激活函數(shù),首先進(jìn)行輕量化處理,將原模塊3×3 卷積替換為一個(gè)3×3 深度卷積(depthwise conv)和1×1 逐點(diǎn)卷積(pointwise conv)的組合[23],有效降低參數(shù)量。其次,模塊加入1×1 殘差卷積分支,控制feature map 維度,同時(shí)增加網(wǎng)絡(luò)深度。最后,對(duì)兩個(gè)分支的輸出進(jìn)行融合。
圖8 輕量化殘差塊Fig.8 Lightweight resblock
新加入的殘差結(jié)構(gòu)可起到緩沖器的作用,因此本文設(shè)計(jì)的LR 預(yù)測單元一方面可以使backbone 網(wǎng)絡(luò)訓(xùn)練不受預(yù)測單元產(chǎn)生的梯度值影響。另一方面,實(shí)驗(yàn)結(jié)果表明,在保證輕量化基礎(chǔ)上引入殘差結(jié)構(gòu)可有效提升feature map 的語義表征,提高算法的目標(biāo)檢測精度。
本文實(shí)驗(yàn)在Ubuntu16.04 LTS 操作系統(tǒng)上進(jìn)行訓(xùn)練,使用NVIDIA Tesla P100 顯卡,Python(3.6 版),Pytorch(1.8.1 版)。選擇中國CCTSDB 數(shù)據(jù)集和德國GTSDB 數(shù)據(jù)集作為數(shù)據(jù)來源,重點(diǎn)選取復(fù)雜交通場景下相似度低、差異性大,且包含多目標(biāo)小目標(biāo)的復(fù)雜圖像,使用Labelimg 軟件進(jìn)行標(biāo)注。本文針對(duì)警告標(biāo)志(Warning)、禁止標(biāo)志(Prohibitory)、指示標(biāo)志(Mandatory)這三大類進(jìn)行實(shí)驗(yàn)分析。數(shù)據(jù)增強(qiáng)是深度學(xué)習(xí)中進(jìn)行數(shù)據(jù)擴(kuò)增的一種常用方法,以增加訓(xùn)練的數(shù)據(jù)量,提高模型的泛化能力和魯棒性。本文利用旋轉(zhuǎn)、顏色變換、翻轉(zhuǎn)和加噪等方式對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,數(shù)據(jù)增強(qiáng)后數(shù)據(jù)集圖片數(shù)量達(dá)到15 829張。效果如圖9所示。
圖9 數(shù)據(jù)增強(qiáng)示例Fig.9 Data augmentation examples
實(shí)驗(yàn)中使用Adam優(yōu)化器,其在網(wǎng)絡(luò)訓(xùn)練過程中計(jì)算梯度和平方梯度的指數(shù)移動(dòng)均值,并利用平滑常數(shù)β1、β2控制移動(dòng)均值的衰減率。選擇Adam優(yōu)化器結(jié)合了RMSprop和AdaGrad算法的優(yōu)點(diǎn),通過計(jì)算梯度的一階矩估計(jì)和二階矩估計(jì)對(duì)不同參數(shù)的自適應(yīng)學(xué)習(xí)率單獨(dú)進(jìn)行調(diào)整,讓網(wǎng)絡(luò)在訓(xùn)練過程中快速收斂。共設(shè)置200個(gè)迭代輪次(epoch)并引入凍結(jié)訓(xùn)練思想,凍結(jié)前50個(gè)epoch的主干網(wǎng)絡(luò),初始學(xué)習(xí)率為0.000 5,batchsize設(shè)置為32;在第51 個(gè)epoch 進(jìn)行解凍訓(xùn)練,學(xué)習(xí)率為0.000 1,batchsize設(shè)置為16,IOU閾值為0.5。
實(shí)驗(yàn)利用平均精度(average-precision,AP)、平均精度均值(mean average precision,MAP)和每秒幀率(frames per second,F(xiàn)PS)作為評(píng)價(jià)指標(biāo)。以召回率(Recall)為橫軸,精確率(Precision)為縱軸繪制PR曲線并對(duì)其積分求出曲線下的面積即AP,表達(dá)式如下:
式中,TP為正樣本被正確識(shí)別為正樣本的數(shù)量,F(xiàn)P為負(fù)樣本被錯(cuò)誤識(shí)別為正樣本的數(shù)量,Precision(R)為PR曲線中Precision值。mAP為所有類別AP的平均值,式中N指目標(biāo)物體的種類數(shù),APi為第i類目標(biāo)體的AP值。
3.4.1 聯(lián)合權(quán)重分配模塊的擴(kuò)張率
為確定本文聯(lián)合權(quán)重分配模塊中RFM 相對(duì)最佳的擴(kuò)張率組合,在實(shí)現(xiàn)MK-SSD 算法的搭建后選取當(dāng)前主流研究中常用的6 組擴(kuò)張率組合,對(duì)RFM 調(diào)整后進(jìn)行算法整體實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2 所示。由表2 可知,過小的擴(kuò)張率不利于檢測精度的提升,過大的擴(kuò)張率則提升效果有限,因此選用擴(kuò)張率為2、4、8 的空洞卷積組合。
表2 MK-SSD算法在不同擴(kuò)張率下的檢測精度Table 2 Detection accuracy of MK-SSD algorithm at different dilated rates
3.4.2 MK-SSD算法與SSD算法對(duì)比實(shí)驗(yàn)
MK-SSD 算法與SSD 算法在訓(xùn)練過程中損失值的變化曲線如圖10所示。兩個(gè)算法的訓(xùn)練策略均是先凍結(jié)前50個(gè)epoch的主干網(wǎng)絡(luò),后在第51個(gè)epoch進(jìn)行解凍訓(xùn)練。因凍結(jié)和解凍訓(xùn)練前后的學(xué)習(xí)率不同,因此在節(jié)點(diǎn)50 epoch 處會(huì)出現(xiàn)拐點(diǎn)。對(duì)比兩個(gè)算法的loss 曲線,發(fā)現(xiàn)改進(jìn)后的MK-SSD 算法的loss 值下降更快,更容易收斂且loss最終收斂值低于SSD算法,進(jìn)一步證明了本文算法的有效性。
圖10 不同算法的loss曲線Fig.10 Loss curves of different detection algorithms
熱力圖(heat map)以權(quán)重的形式來展現(xiàn)神經(jīng)網(wǎng)絡(luò)對(duì)圖片的哪一部分激活值最大,直觀分析出算法重點(diǎn)利用圖片中哪些像素檢測出目標(biāo)。利用heat map 對(duì)本文MK-SSD算法檢測效果進(jìn)行可視化分析。如圖11所示,分別比較了原SSD算法與改進(jìn)算法在多目標(biāo)、小目標(biāo)以及黑暗復(fù)雜背景下的熱力圖檢測效果,從中可以發(fā)現(xiàn)原SSD算法存在小目標(biāo)漏檢、誤檢以及目標(biāo)識(shí)別錯(cuò)誤等問題。而本文改進(jìn)算法能夠有效抑制無用信息,使網(wǎng)絡(luò)更聚焦于重要的特征,多目標(biāo)情況下無漏檢現(xiàn)象,對(duì)于小目標(biāo)檢測效果有明顯提升。
圖11 熱力圖效果對(duì)比Fig.11 Comparison of heat map
3.4.3 與其他算法對(duì)比實(shí)驗(yàn)
為進(jìn)一步驗(yàn)證本文算法的性能,將其與其他主流目標(biāo)檢測算法進(jìn)行性能對(duì)比,如表3 所示,本文算法相較于SSD系列和YOLO系列的檢測精度均有提高,相比于SSD、DSSD、RSSD 和YOLOv3,分別提高了4.13、2.92、3.1 和1.19 個(gè)百分點(diǎn)。另外,原SSD 算法相較于Faster R-CNN 的檢測精度和速率均有提升,證明了多尺度特征金字塔結(jié)構(gòu)能有效提高網(wǎng)絡(luò)性能,而本文借鑒特征金字塔思想設(shè)計(jì)多路徑特征融合網(wǎng)絡(luò),實(shí)驗(yàn)驗(yàn)證后表明檢測精度也有明顯提高,證明了MK-SSD 算法的有效性。同時(shí)因網(wǎng)絡(luò)的復(fù)雜度增加,致使算法在速率上有所犧牲,但仍可滿足實(shí)時(shí)檢測的要求,證明了MK-SSD 算法的實(shí)時(shí)性。綜上,本文提出的算法改進(jìn)策略綜合性能更優(yōu),目標(biāo)檢測精度更高。
表3 不同檢測算法對(duì)比Table 3 Comparison of different detection algorithms
本文選取復(fù)雜交通場景、復(fù)雜天氣場景、小目標(biāo)以及多目標(biāo)場景進(jìn)行實(shí)驗(yàn),檢測效果如圖12 所示。對(duì)比圖(a)復(fù)雜交通場景的檢測結(jié)果可以發(fā)現(xiàn),SSD 算法在復(fù)雜交通場景下存在誤檢現(xiàn)象,而本文MK-SSD 算法引入聯(lián)合權(quán)重分配,保證有效信息權(quán)重大,無效信息權(quán)重小,降低了誤檢;在圖(b)復(fù)雜天氣場景和圖(c)多目標(biāo)場景下,原算法存在漏檢現(xiàn)象,本文算法通過特征互補(bǔ)融合不僅有效解決了漏檢問題也在檢測置信度上有所提升,即使在雨天視線條件不好的情況下也可有效識(shí)別出目標(biāo);從圖(d)可知,小目標(biāo)場景下本文算法置信度較YOLOv3 算法基本均有提升,且無漏檢錯(cuò)檢現(xiàn)象。綜上分析,本文算法相較于SSD 和YOLO 系列算法魯棒性和準(zhǔn)度均有較大提升,取得了較好的綜合性能。
圖12 不同算法的檢測效果對(duì)比Fig.12 Comparison of detection effect of different algorithms
3.4.4 消融實(shí)驗(yàn)
為驗(yàn)證MK-SSD 中設(shè)計(jì)的模塊對(duì)SSD 算法的提升效果,本文對(duì)不同網(wǎng)絡(luò)分支進(jìn)行實(shí)驗(yàn)分析。實(shí)驗(yàn)結(jié)果如表4所示,SSD算法的mAP為85.51%。
表4 消融實(shí)驗(yàn)結(jié)果Table 4 Ablation experiment results
Model-1在淺層feature map引入MFCM,mAP提升2.97個(gè)百分點(diǎn);Model-2添加CWDM,使網(wǎng)絡(luò)更關(guān)注有效特征信息,mAP 較SSD 提升2.45 個(gè)百分點(diǎn);Model-3 添加MFCM和LR,mAP較Model-1提升0.19個(gè)百分點(diǎn),且檢測精度均高于Model-2 和SSD 算法;Model-4 同時(shí)添加MFCM 與CWDM,不僅增強(qiáng)淺層語義而且提升深層有效特征表達(dá),mAP 較Model-2 提升1.29 個(gè)百分點(diǎn)。最后是完整的MK-SSD 算法,彌補(bǔ)了Model-3 對(duì)深層feature map 處理效果不好的缺陷,mAP 達(dá)到89.64%。綜上,添加不同模塊都會(huì)給算法帶來性能的提升,且這些增益具有疊加性,驗(yàn)證了本文算法的有效性。
3.4.5 多路徑特征融合網(wǎng)絡(luò)有效性分析
本文多路徑特征融合網(wǎng)絡(luò)如圖5 所示,以較淺層feature map(Conv4_3 至Conv7)為基礎(chǔ),保留了更多細(xì)節(jié)信息,并利用Conv8_2 和經(jīng)過CWDM 優(yōu)化處理后的CW8_2 引入深層語義。為驗(yàn)證該網(wǎng)絡(luò)性能,設(shè)計(jì)實(shí)驗(yàn)進(jìn)行對(duì)比。
Model-1 可看作MK-SSD 結(jié)構(gòu)的復(fù)雜化處理,在網(wǎng)絡(luò)結(jié)構(gòu)圖2 的基礎(chǔ)上利用本文提出的MFCM 對(duì)較深層的feature map(CW8_2 至CW11_2)引入特征金字塔結(jié)構(gòu),如圖13 所示。并讓輸出F代替圖5(c)的最頂層輸入CW8_2,使F上采樣后參與add 運(yùn)算,最終構(gòu)成整體自上而下的特征融合結(jié)構(gòu)。
圖13 Model-1中的特征金字塔網(wǎng)絡(luò)Fig.13 Feature pyramid network in Model-1
Model-2 對(duì)Conv8_2 至Conv11_2 不僅不再引入特征金字塔結(jié)構(gòu),并且將圖5(c)的最頂層的CW8_2 上采樣輸入去除,構(gòu)成只有Conv4_3至Conv8_2的多路徑融合結(jié)構(gòu)。
實(shí)驗(yàn)結(jié)果如表5 所示,Model-1 因在MK-SSD 后端額外添加了深層特征融合,故結(jié)構(gòu)復(fù)雜度較本文MKSSD 有所增加,但并沒有帶來檢測精度的明顯提升,反而增加了運(yùn)算量,拖慢了檢測速率。這是因?yàn)榇竽繕?biāo)尺度大且特征明顯,故本文中主要負(fù)責(zé)檢測大目標(biāo)的深層feature map 不需要額外的融合操作就可以準(zhǔn)確檢測。Model-2 中,因多路徑特征融合網(wǎng)絡(luò)不再引入CW8_2,故失去了該層豐富的語義信息,mAP 較MK-SSD 下降了0.21 個(gè)百分點(diǎn),但檢測速率基本一致。實(shí)驗(yàn)表明,在MK-SSD 算法基礎(chǔ)上無需再對(duì)Conv8_2 后續(xù)低分辨率feature map 進(jìn)行融合,同時(shí)不能忽視CW8_2 對(duì)系統(tǒng)性能的提升作用。綜上,本文提出的多路徑特征融合網(wǎng)絡(luò)綜合性能更優(yōu)。
表5 網(wǎng)絡(luò)有效性對(duì)比Table 5 Network effectiveness comparison
為實(shí)現(xiàn)對(duì)交通標(biāo)志小目標(biāo)的實(shí)時(shí)準(zhǔn)確檢測,本文針對(duì)SSD 算法小目標(biāo)檢測存在漏檢、誤檢、準(zhǔn)確率不高等問題,提出一種基于多尺度特征互補(bǔ)和重點(diǎn)特征信息挖掘的改進(jìn)算法,網(wǎng)絡(luò)淺層引入多尺度特征互補(bǔ)模塊豐富上下文語義信息;網(wǎng)絡(luò)深層添加聯(lián)合權(quán)重分配模塊,擴(kuò)大feature map感知域并提高算法對(duì)目標(biāo)的特征提取能力;并利用輕量化殘差塊改進(jìn)預(yù)測 模塊,提高算法的檢測精度。改進(jìn)后的算法通過對(duì)Backbone結(jié)構(gòu)和Head檢測區(qū)域的優(yōu)化,利用多信息多尺度的feature map 進(jìn)行目標(biāo)分類和回歸,使得其綜合性能優(yōu)于SSD系列算法且可實(shí)時(shí)性監(jiān)測交通標(biāo)志,更適合在復(fù)雜交通場景下的交通標(biāo)志小目標(biāo)檢測。但實(shí)際應(yīng)用對(duì)檢測精度和檢測速率均有較高要求,因此后續(xù)工作將利用輕量化模型改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),減小生成框預(yù)測階段的算力消耗,提高檢測速率,實(shí)現(xiàn)算法整體性能的進(jìn)一步優(yōu)化。