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