成怡 張 宇 李寶全
(1.天津工業(yè)大學(xué)控制科學(xué)與工程學(xué)院,天津 300387;2.天津市電氣裝備智能控制重點(diǎn)實(shí)驗(yàn)室,天津 300387)
道路交通標(biāo)志檢測是自動駕駛系統(tǒng)和輔助駕駛系統(tǒng)的核心組成部分之一,交通標(biāo)志在車輛駕駛中提供道路信息[1],指導(dǎo)車輛安全行駛。真實(shí)道路場景下對于交通標(biāo)志的檢測存在許多難點(diǎn),比如交通標(biāo)志尺度變化大、遠(yuǎn)距離小標(biāo)志較難檢測等,對交通標(biāo)志識別產(chǎn)生一定的挑戰(zhàn)。因此,在真實(shí)道路場景下準(zhǔn)確快速識別交通標(biāo)志,獲取道路相關(guān)信息,對于自動駕駛和保障交通安全有重要指導(dǎo)意義。
隨著深度學(xué)習(xí)以及計(jì)算機(jī)處理性能的不斷提升,基于端到端的檢測算法在交通標(biāo)志檢測中逐漸得到應(yīng)用。郭璠等[2]針對小尺寸交通標(biāo)志的誤檢問題,在通道和空間分別施加注意力機(jī)制,顯著提升了YOLO v3[3]對小目標(biāo)的檢測精度。Wei L[4]等設(shè)計(jì)了一種二階段網(wǎng)絡(luò)進(jìn)行交通標(biāo)志檢測,對多尺度特征圖進(jìn)行上采樣后融合,利用提取的高語義融合特征圖對目標(biāo)中心點(diǎn)預(yù)測并回歸尺寸信息。Han 等[5]用VGG16 作 為Faster R-CNN[6]的主干網(wǎng)絡(luò),減少模型推理時(shí)間,并利用OHEM[7]訓(xùn)練損失函數(shù),提升交通標(biāo)志檢測精度。
基于卷積的目標(biāo)檢測網(wǎng)絡(luò)根據(jù)預(yù)設(shè)錨框分為Anchor-based 算法和Anchor-free 算法。Anchorbased 算法針對被檢測目標(biāo)特征在候選區(qū)設(shè)置錨框,對特征圖遍歷實(shí)現(xiàn)目標(biāo)檢測。為了提高準(zhǔn)確率,往往會引入大量無用的錨框,造成正負(fù)樣本不平均。為了減少錨框的冗余,Anchor-free 算法逐漸得到應(yīng)用,利用特征圖關(guān)鍵點(diǎn)直接回歸目標(biāo)信息,無需依賴設(shè)計(jì)復(fù)雜的錨框,典型網(wǎng)絡(luò)有Center-Net[8]、CornerNet[9]、FCOS[10]等。
CenterNet 由編碼網(wǎng)絡(luò)、解碼網(wǎng)絡(luò)以及檢測網(wǎng)絡(luò)組成,通過熱力圖關(guān)鍵點(diǎn)預(yù)測實(shí)現(xiàn)目標(biāo)檢測任務(wù)。編碼網(wǎng)絡(luò)對輸入圖像進(jìn)行特征提取,生成高語義的特征圖后傳入解碼網(wǎng)絡(luò),利用高斯核將輸入圖像轉(zhuǎn)換為包含目標(biāo)中心點(diǎn)信息的熱力圖,根據(jù)中心點(diǎn)回歸目標(biāo)寬高屬性,然后通過檢測網(wǎng)絡(luò)進(jìn)行預(yù)測。檢測網(wǎng)絡(luò)由三個(gè)分支組成,分別為中心點(diǎn)預(yù)測分支、中心點(diǎn)偏置分支以及目標(biāo)尺寸分支。CenterNet 訓(xùn)練過程采用標(biāo)準(zhǔn)監(jiān)督學(xué)習(xí)[11],不依賴復(fù)雜的解碼方式以及NMS 等后處理操作,在保證推理速度的同時(shí),精度優(yōu)于大部分檢測算法。本文以CenterNet網(wǎng)絡(luò)為基礎(chǔ),提出一種改進(jìn)的交通標(biāo)志檢測算法。
改進(jìn)的算法結(jié)構(gòu)如圖1所示。在編碼網(wǎng)絡(luò)中采用PSConv[12]對ResNeSt50[13]進(jìn)行結(jié)構(gòu)改進(jìn),并作為主干特征提取網(wǎng)絡(luò)。針對交通標(biāo)志尺寸變化范圍大的特點(diǎn),對ASPP 選取適當(dāng)?shù)呐蛎浡?,引入注意力機(jī)制優(yōu)化輸出特征,在解碼網(wǎng)絡(luò)中設(shè)計(jì)多尺度感受野模塊。為減少解碼過程的特征信息丟失,使用PSConv 根據(jù)特征信息通道數(shù)變化設(shè)計(jì)特征增強(qiáng)模塊。
針對交通標(biāo)志檢測任務(wù),本文采用ResNeSt50作為主干網(wǎng)絡(luò)。ResNeSt 在ResNet[14]架構(gòu)上引入Split-Attention,結(jié)構(gòu)如圖2 所示,采用分組卷積的思想優(yōu)化模型性能,對于不同組的特征圖分別施加注意力機(jī)制[15]。Split-Attention 由特征映射模塊和分組注意力模塊組成,對不同通道進(jìn)行加權(quán)。輸入特征圖按照通道數(shù)被劃分為K個(gè)基數(shù)組,引入超參數(shù)S將每個(gè)基數(shù)組重新劃分為S個(gè)小特征組,因此輸入特征圖總分組數(shù)量為G=KS[16]。針對每個(gè)特征小組施加一系列映射變換后采用分組注意力對特征進(jìn)一步處理。在每個(gè)基數(shù)組中,多個(gè)通道的輸入特征經(jīng)過全局池化后得到相應(yīng)的權(quán)重[17]。本文在ResNeSt50 中引入多尺度卷積PSConv,采用3 個(gè)PSConv替換殘差結(jié)構(gòu)第一層的常規(guī)卷積,結(jié)合殘差結(jié)構(gòu)提取特征的方式,豐富淺層特征,使網(wǎng)絡(luò)結(jié)構(gòu)在具有相似計(jì)算復(fù)雜度的同時(shí)增強(qiáng)特征提取能力。
PSConv 在單個(gè)卷積核內(nèi)實(shí)現(xiàn)對特征的多尺度提取,計(jì)算公式為
由式(1)和式(2)可以看出,PSConv 在卷積核中使用一系列不同的擴(kuò)張因子,這些擴(kuò)張因子根據(jù)輸入輸出通道周期性變化,從而對不同尺度的特征進(jìn)行提取。在單個(gè)計(jì)算過程中對多尺度卷積融合,實(shí)現(xiàn)對卷積核更細(xì)粒度的利用。
自然場景下交通標(biāo)志存在目標(biāo)尺寸差異較大的問題,因此實(shí)現(xiàn)網(wǎng)絡(luò)對不同尺度目標(biāo)的特征提取能夠提升檢測精度。由于主干特征提取網(wǎng)絡(luò)將輸入圖片經(jīng)過四次下采樣,導(dǎo)致生成的高分辨率特征圖僅包含單一尺度的特征信息,本文采用ASPP[18]設(shè)計(jì)多尺度感受野模塊,利用不同膨脹率的空洞卷積對輸入特征并行采樣,通過多個(gè)不同的尺度比例捕捉上下文信息,提高對不同尺度交通標(biāo)志的檢測性能,模塊結(jié)構(gòu)如圖3所示。
ASPP 中空洞卷積膨脹率過大會導(dǎo)致輸入特征稀疏[19],影響空間位置距離較遠(yuǎn)的卷積信息交互。因此選取適當(dāng)?shù)呐蛎浡誓軌蛸x予網(wǎng)絡(luò)提取更準(zhǔn)確的語義信息,提升交通標(biāo)志小目標(biāo)的檢測性能。本文選取卷積膨脹率為(1,3,6,9),利用深層特征語義信息提升淺層特征對交通標(biāo)志小目標(biāo)的表征能力。為實(shí)現(xiàn)特征信息的有效提取,引入DCA[20]注意力機(jī)制優(yōu)化多尺度感受野模塊輸出。對提取特征施加特征變換操作,并沿著通道維度和空間維度對特征圖的形狀自適應(yīng)匹配,實(shí)現(xiàn)特征在ASPP 模塊內(nèi)部的連續(xù)傳輸,改善模型結(jié)構(gòu)。
主干網(wǎng)絡(luò)生成的特征圖經(jīng)過解碼網(wǎng)絡(luò)中轉(zhuǎn)置卷積連續(xù)三次上采樣,生成包含目標(biāo)信息的熱力圖。在轉(zhuǎn)置卷積上采樣過程中,當(dāng)卷積核尺寸無法被步長整除時(shí),會導(dǎo)致部分特征重疊到其他位置的特征上[21],影響特征之間的位置關(guān)系,造成部分信息丟失,這種現(xiàn)象被稱為“棋盤效應(yīng)”[22]。為解決棋盤效應(yīng)引起的特征信息丟失的問題,本文在解碼過程設(shè)計(jì)了特征增強(qiáng)模塊,結(jié)構(gòu)如圖4所示。
主干網(wǎng)絡(luò)提取的特征圖經(jīng)過PSConv調(diào)整通道,提高網(wǎng)絡(luò)局部信息相關(guān)性,卷積核的多尺度特性可以有效減少轉(zhuǎn)置卷積在上采樣產(chǎn)生的特征丟失。添加BN 層加快模型收斂速度,并采用ELU 激活函數(shù)增強(qiáng)上半部分的非線性表達(dá)。然后利用1 × 1 卷積捕捉通道關(guān)系,在調(diào)整通道后采用Mish 函數(shù)激活。Mish 函數(shù)圖像如圖5 所示,Mish 激活函數(shù)單調(diào)無上界的特性有利于穩(wěn)定網(wǎng)絡(luò)梯度,函數(shù)曲線光滑,具有良好的泛化能力[23]。
CenterNet 利用熱力圖關(guān)鍵點(diǎn)進(jìn)行訓(xùn)練,中心點(diǎn)為p,經(jīng)主干特征網(wǎng)絡(luò)下采樣后的中心點(diǎn)坐標(biāo)為
其中,T為主干特征網(wǎng)絡(luò)下采樣倍數(shù),即T=4。
熱力圖大量關(guān)鍵點(diǎn)中每個(gè)目標(biāo)的中心點(diǎn)只有一個(gè),非目標(biāo)點(diǎn)過多。為了均衡熱力圖上的正負(fù)樣本,對Focal Loss[24]改進(jìn)并作為中心點(diǎn)損失函數(shù),公式如下
主干特征提取網(wǎng)絡(luò)輸出的特征圖分辨率變?yōu)樵瓉淼乃姆种?,特征圖的一個(gè)像素點(diǎn)映射原始圖像的4 × 4 區(qū)域,為修正下采樣導(dǎo)致的偏移,設(shè)計(jì)中心點(diǎn)偏移損失函數(shù),表達(dá)式為
利用尺寸損失函數(shù)對每個(gè)目標(biāo)的尺寸進(jìn)行回歸,得到最終的目標(biāo)信息,計(jì)算公式為
CenterNet 通過熱力圖關(guān)鍵點(diǎn)直接回歸目標(biāo)尺寸信息,為提高回歸尺寸信息的準(zhǔn)確性,本文采用GHM對尺寸損失函數(shù)改進(jìn),降低回歸過程負(fù)梯度對尺寸信息的影響,平衡訓(xùn)練樣本梯度,改進(jìn)尺寸損失函數(shù)表達(dá)式為
CenterNet整體損失函數(shù)為
其中,λsize=0.1,λoff=1。
本文采用相機(jī)拍攝的白天與夜間交通標(biāo)志圖片作為本文數(shù)據(jù)集,為提升實(shí)現(xiàn)夜間檢測效果,通過隨機(jī)裁剪、鏡像以及調(diào)整對比度等方法將1150張夜間數(shù)據(jù)集擴(kuò)充至3450張。實(shí)驗(yàn)數(shù)據(jù)集由白天數(shù)據(jù)集6790張以及夜間數(shù)據(jù)集3450 張組成,數(shù)據(jù)集示例如圖6 所示。訓(xùn)練集與驗(yàn)證集比例為8∶2,檢測目標(biāo)劃分為指示標(biāo)志(indication)、禁止標(biāo)志(prohibition)、警告標(biāo)志(warning)。實(shí)驗(yàn)環(huán)境為Ubuntu16.04,Pytorch1.4.0,Cuda10.1,GPU為2080 Ti,顯存為11 G。
為了評估本文改進(jìn)方法的性能,在本文數(shù)據(jù)集進(jìn)行消融實(shí)驗(yàn),以主干網(wǎng)絡(luò)為ResNet50的CenterNet為基線模型,依次施加改進(jìn)卷積結(jié)構(gòu)的ResNeSt50,多尺度感受野模塊、特征增強(qiáng)模塊,模型訓(xùn)練初始學(xué)習(xí)率設(shè)置為1 × 10-5。選取準(zhǔn)確率(Precision)與召回率(Recall)作為性能評價(jià)指標(biāo),三類目標(biāo)的評價(jià)指標(biāo)數(shù)據(jù)如表1所示。
表1 消融實(shí)驗(yàn)Tab.1 Ablation experiment
消融實(shí)驗(yàn)表明,本文采用的不同改進(jìn)方法均對交通標(biāo)志檢測效果有較大提升,改進(jìn)后算法在保證召回率的同時(shí),提高了交通標(biāo)志檢測的準(zhǔn)確率。
CenterNet 和本文改進(jìn)的CenterNet 在測試集的檢測效果如圖7所示,圖(a)是對白天交通標(biāo)志的檢測對比,圖(b)是對夜間交通標(biāo)志的檢測對比,圖(c)是對不同尺度的同一交通標(biāo)志的檢測對比。每組圖片左邊為CenterNet檢測效果,右側(cè)為改進(jìn)的CenterNet檢測效果。
由圖(a)可以看出,改進(jìn)后算法在白天環(huán)境下三類交通標(biāo)志識別精度上均得到了提高。由圖(b)可以看出,在夜間環(huán)境下改進(jìn)后算法較原算法能夠有效檢測標(biāo)志類型,避免交通標(biāo)志的漏檢。由圖(c)可以看出,改進(jìn)后算法對于同一目標(biāo)不同尺度的交通標(biāo)志具有較好的檢測效果,多尺度感受野模塊使得改進(jìn)算法能夠有效識別遠(yuǎn)距離小目標(biāo),提高檢測精度,避免漏檢。
為了驗(yàn)證本文改進(jìn)算法效果,將YOLO v3、EfficientDet-D1、M2Det 在本文數(shù)據(jù)集訓(xùn)練,并將訓(xùn)練后算法與本文改進(jìn)算法進(jìn)行模型復(fù)雜度對比。初始學(xué)習(xí)率均設(shè)置為1 × 10-5,為保證模型收斂,均將訓(xùn)練輪次設(shè)置為200。如表2 所示,采用浮點(diǎn)運(yùn)算量GFLOPS(Giga Floating-point Operations Per Second)、模型結(jié)構(gòu)參數(shù)量作為模型復(fù)雜度對比指標(biāo)。
表2 實(shí)驗(yàn)訓(xùn)練參數(shù)與模型復(fù)雜度對比Tab.2 Comparison of experimental training parameters and model complexity
為了進(jìn)一步驗(yàn)證本文改進(jìn)算法效果,選取平均精度AP、均值平均精度mAP以及檢測速度FPS作為性能評價(jià)指標(biāo),結(jié)果見表3。從表3可以看出,改進(jìn)后CenterNet相比原網(wǎng)絡(luò)mAP提升了9.45%,改進(jìn)后精度優(yōu)于YOLO v3、EfficientDet-D1和M2Det,檢測速度達(dá)到每秒91.09幀,較原算法檢測速度每秒提高了6.32幀。
表3 幾種算法性能對比Tab.3 Performance comparison of several algorithms
交通標(biāo)志表明道路狀況,為駕駛員提供相關(guān)信息,保證駕駛安全。針對真實(shí)場景交通標(biāo)志尺度變化大導(dǎo)致檢測困難的問題,設(shè)計(jì)多尺度感受野模塊與特征增強(qiáng)模塊,對CenterNet進(jìn)行改進(jìn)。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后算法精度達(dá)到92.61%,檢測速度達(dá)到每秒91.09 幀,能夠在自動駕駛中有效識別交通標(biāo)志,提供道路相關(guān)信息。