邵一鳴,張志佳,徐佳鋒,賀繼昌,王士顯
(1.沈陽工業(yè)大學a.信息科學與工程學院;b.人工智能學院,沈陽 110870;2.沈陽市信息感知與邊緣計算重點實驗室,沈陽 110870)
基于視覺的地面交通標志識別是現(xiàn)代駕駛輔助系統(tǒng)中重要的組成部分,地面交通標志信息約定了汽車的基本行駛規(guī)范。無人駕駛汽車通過實時檢測的車道信息、斑馬線區(qū)域、車道導航箭頭信息,將當前路況的信息傳入車載計算機,配合GPS 導航、高精度地圖技術與路徑?jīng)Q策模塊進行相應的路徑規(guī)劃,為無人駕駛的自主導航系統(tǒng)提供控制依據(jù)[1]。因此,地面交通標志的識別對于無人駕駛技術的研究具有重要價值與意義。
近年來,深度學習技術在自動駕駛等許多場景中得到廣泛應用[2-3]。地面交通標志識別多采用深度學習技術中的語義分割方法實現(xiàn),目前的語義分割模型多是對道路場景中的行人、車輛和車道線等目標進行分割,缺少單一模型對多類別地面交通標志分割的研究[4-7]。并且一些模型都是基于傳統(tǒng)的語義分割模型創(chuàng)建設計,缺少根據(jù)地面交通標志的形狀特點改進設計的分割模型,存在目標分割不足,像素較少的遠距離交通標志分割不完整,甚至誤分割的問題。
針對上述問題,提出了一種基于深度學習的地面交通標志分割模型。模型的主干結構僅由四組卷積層構成,并利用多分支結構對其進行改進,構建重參數(shù)Vgg模塊(Repvgg block)[8],增強主干結構的特征提取能力,獲取更多的地面交通標志的邊緣細節(jié)信息。針對地面交通標志的形狀特點,根據(jù)DAB-Net中的DAB module[9]改進設計了具有倒殘差結構的條形特征提取單元(IDAB module),并堆疊形成條形特征提取模塊(IDAB block)。在獲取不同特征圖感受野的同時,提取更多的上下文信息,提高模型對遠距離像素較少目標分割的準確性。為了進一步細化該模塊,在結構末尾中添加了通道SE 注意力機制單元[10],監(jiān)督引導上下文信息的獲取,幫助模型更集中對地面交通標志特征的學習。實驗結果表明,本文模型在地面交通標志數(shù)據(jù)集上測試精度mIoU 最高可達到79.7%,并且對像素較少的遠距離交通標志分割不完整問題有所改善。
深度學習的發(fā)展促進了地面交通標志識別的研究,利用深度學習技術對地面交通標志的識別主要采用基于目標檢測和語義分割方法。由于地面交通標志形狀多為長條形,車道線等標志分布較長,目標檢測方法并不適用于對連續(xù)目標的檢測識別。語義分割方法是對圖像像素級的分類,通過對每個像素賦予標簽類別,從而分割出不同種類的地面交通標志,分割結果可以提供標志的輪廓信息。近年來的地面交通標志識別對象主要以車道線居多,其他地面交通標志的較少。文獻[11]針對轉(zhuǎn)彎車道箭頭的檢測和分類性能低的問題,提出了先利用FCN 全卷積網(wǎng)絡模型,將所有轉(zhuǎn)彎車道箭頭按像素分割為同一類興趣區(qū)域(ROI),再利用設計的級聯(lián)分類器,對左轉(zhuǎn)彎、右轉(zhuǎn)彎和連續(xù)中央轉(zhuǎn)彎車道(Continuous Central Turning Lane,CCTL)3 種導向箭頭標志實現(xiàn)分類識別。文獻[7]將傳統(tǒng)的卷積連接層(layer-by-layer)轉(zhuǎn)變?yōu)槠B片的(slice-by-slice)的形式,使得圖中像素行與列之間能夠傳遞信息,設計實現(xiàn)了SCNN(Spatial CNN)模型完成了車道線的分割識別。文獻[12]提出快速車道線檢測模型UFSA(Ultra Fast Structure-aware),該模型將車道線檢測任務作為在圖像中某些行上尋找車道線位置的集合,把圖像網(wǎng)格化,根據(jù)圖像全局的特征在同一行上做分類處理,將車道線檢測定義為尋找車道線在圖像中某些行位置的集合,即基于行方向上的位置選擇、分類。文獻[13]提出了基于自注意力的車道線檢測模型,作者通過給模型設計了ESA(Expanded Self
Attention)模塊來增強全局信息,該模塊使用車道線預測結果的置信度來表示對預測出來的車道線的確定程度,緩解了車道線遮擋、缺失、模糊等情況下識別精度低的問題。文獻[14]提出了跨層細化車道線檢測模型,使用一個FPN 網(wǎng)絡去提取圖像特征,之后在每個特征層上去優(yōu)化車道線的回歸結果,而當前特征層的回歸結果會被下一階段的細致優(yōu)化所采用,從而實現(xiàn)車道線的級聯(lián)優(yōu)化。
如圖1 所示為地面交通標志分割模型的整體結構,模型整體采用直筒型設計,由少量的重參數(shù)化Vgg模塊(RepVgg Block)和條形特征提取模塊(IDAB Block)組成。其中每組條形特征提取模塊包含多個條形特征提取單元,用于捕獲更多的地面交通標識的上下文特征信息。并且條形特征提取模塊的輸入特征與最后一組條形特征提取單元輸出進行拼接,以此幫助模型融合高層特征和低層特征,加強地面交通標志特征的空間關系和特征傳播。為了補償下采樣過程中的信息損失,將輸入圖像下采樣至不同的尺度,與每個下采樣模塊以及最后一個條形特征提取模塊的輸出構建跨層拼接。最后對輸出特征圖進行上采樣操作,恢復為輸入圖像尺寸,以此對圖中的像素進行分類預測,最終構成地面交通標志分割模型。設輸入圖像大小為1 024 ×512,地面交通標志分割模型結構參數(shù)如表1所示。
表1 地面交通標志分割模型結構參數(shù)
圖1 地面交通標志分割模型結構
地面交通標志分割模型的主干結構并沒有基于如MobileNetv2[15]等針對分類任務的輕量化網(wǎng)絡建立,僅由四層卷積構成,用于提取最初的地面標志特征,如圖2(a)所示。其中第一層的卷積核大小7 ×7,步長為2,后3 層的卷積核為3 ×3,步長為1。為了進一步提高模型的特征表達能力,在3 組普通卷積層的基礎上增加了1 ×1 卷積分支和殘差分支,構建具有多分支結構的重參數(shù)化Vgg模塊用于模型訓練。
圖2 地面交通標志分割模型主干結構
雖然多分支結構可以提高模型的性能精度,但無疑會增加整體的推理速度和內(nèi)存占用率。因此,為了保證模型的性能,在推理測試時采用結構重參數(shù)方法[8],將多分支結構融合為如圖2(b)所示的單路結構,以此節(jié)省內(nèi)存,大大提高推理效率。
在進行多分支融合時,結構重參數(shù)化主要分為兩步,第一步是將卷積層(Conv2d)和批歸一化層(Batch Normalization,BN)轉(zhuǎn)換為一個卷積層。在轉(zhuǎn)換時,首先將卷積與BN層進行融合,然后把1 ×1 卷積和恒等映射分支分別變形為兩種特殊卷積,前者變形為卷積核包含很多0 的3 ×3 卷積,后者變形為卷積核的中心為1,其余填充0 的3 ×3 卷積。
將圖2 中紫色、黃色和藍色框中的3 ×3 卷積分別記為K1、K2和K3,重參數(shù)化的多分支融合過程可如式(1)所示。其中,I表示輸入特征圖,O表示輸出特征圖,B1、B2和B3分別表示卷積的偏置。
由于重參數(shù)化Vgg 模塊構成的主干結構簡單,兼顧了多分支結構和單路結構模型各自的優(yōu)勢,減少了卷積過程中帶來的信息損失,避免了梯度消失問題。推理時采用重參數(shù)化方法,在不降低推理效率的同時,幫助主干網(wǎng)絡更好的提取地面交通標志的形狀特征。
與其他道路交通標志牌相比,車道線、人行橫道線標志等地面交通標志形狀比較簡單,多為長條形,在圖像中分布較長,需要具有較大感受野的卷積進行特征提取,獲取更多的上下文信息。因此,改進設計了具有倒殘差結構的條形特征提取單元(IDAB module),并通過對其堆疊構建條形特征提取模塊(IDAB block),幫助模型獲取地面交通標志的全局特征。如圖3 所示為條形特征提取單元的結構設計。
圖3 條形特征提取單元結構
條形特征提取單元采用了輕量化卷積的設計方式,首先使用3 ×3 深度可分離卷積操作,并增加特征通道數(shù)。為了充分利用目標特征的上下文信息,幫助模型更好的提取地面交通標志長條類目標的特征[16],殘差結構的中間卷積層由3 ×1 和1 ×3 非對稱深度可分離卷積組成了兩分支結構。其中的一條支路負責提取局部特征信息,另一條支路結合空洞卷積,增大卷積的感受野。然后對兩條支路進行加和操作,并利用SE注意力機制單元賦予通道權重,使模型更加關注地面交通標志特征。最后通過1 ×1 卷積降維,恢復輸入特征通道數(shù),并與輸入特征相加,構成具有倒殘差結構的條形特征提取單元。
圖3 中的d表示深度可分離卷積,D表示空洞卷積,c表示圖像特征通道數(shù)。設輸入特征圖為xi∈Rc×h×w,輸出特征圖為yi∈Rc×h×w(c、h和w分別表示特征圖的通道數(shù),特征圖映射的高和寬),則條形特征提取單元結構的操作過程如公式(2)所示。其中Fdp表示深度可分離卷積,F(xiàn)asydp表示具有非對稱的結構深度可分離卷積操作,F(xiàn)asyddp表示具有非對稱的結構空洞深度可分離卷積操作,F(xiàn)1×1表示1 ×1 卷積操作,Attse表示注意力機制操作。
如圖1 所示,在多類別地面交通標志分割模型的整體結構中共有兩個條形特征提取模塊。其中,第1個模塊由3 個條形特征提取單元堆疊組成,每個單元中空洞卷積的膨脹率為2,采用Concat 方式將淺層特征與深層特征進行融合。第2 個模塊由5 個條形特征提取單元堆疊組成,每個單元中的空洞卷積膨脹率分別為{4,4,8,8,16},同樣采用Concat方式融合了淺層與深層的語義特征信息。
由于訓練集中地面交通標志類別較多,不同種類標志所占用的像素面積各異,因此,本文采用OHEM交叉熵損失(online hard example mining)[17]作為優(yōu)化地面交通標志分割模型的損失函數(shù),幫助模型在訓練過程中更加關注困難樣本的學習,并對其施加更高權重。交叉熵損失函數(shù)(BCE Loss)的計算公式如(3)式所示。其中ytrue表示真實標簽的值取值為0 或1,ypred表示模型預測像素屬于某一類別的概率值(ypred∈[0,1])。
本文利用文獻[18]中增加了地面類別標簽的百度地面交通標志數(shù)據(jù)集[19]用于模型的訓練和測試。如表2 所示,地面交通標志數(shù)據(jù)集共有15 類地面交通標志,主要包含車道線、停止線、人行橫道線、導航轉(zhuǎn)向標志等其他地面交通標志。數(shù)據(jù)集經(jīng)過清洗篩選,剔除過度曝光的圖像,等間隔地選取982 張圖像作為驗證集,其余8 834 張圖像作為訓練集。由于原始圖像大小為1 710 ×3 384,尺寸過大,且地面交通標志的區(qū)域集中在(700~1 300,500~2 800),所以在數(shù)據(jù)集圖像中裁剪出(700~1 300,500~2 800)ROI 區(qū)域作為訓練數(shù)據(jù),輸入圖像的大小為600 ×2 300。
表2 地面交通標志數(shù)據(jù)集驗證結果
實驗的平臺環(huán)境采用NVIDIA GeForce RTX 3090 GPU以及CUDA 11.4、CUDNN 8.2 和Pytorch1.8 組成的系統(tǒng)框架。實驗中采用了隨機下降梯度(SGD)的優(yōu)化方法(batch size為8、動量為0.9、權重衰退為0.000 1)和二項式衰減策略(初始化學習率為0.045、動量為0.9、損失函數(shù)選用OHEM交叉熵損失)。在最大迭代次數(shù)設置為1 000 epochs 時,單次訓練時間約為170 hours。
本文采用平均交并比(mean intersection over Union,mIoU)[20]作為地面交通標志分割模型精度的評價指標,其含義是計算真實值和預測值兩個集合的交集與并集之比,計算公式如式(4)所示。其中,pii表示正確分類的像素個數(shù),pij和pji分別表示假正和假負類像素個數(shù),n為類別數(shù)。
3.4.1 模型性能對比
通過對地面交通標志分割模型的訓練,得到了如表2 所示的各類別分割結果,驗證集的平均mIoU 精度達到0.797。其中地面區(qū)域與車道線區(qū)域的mIoU
值較高,停車線與指示前方掉頭標志的mIoU較低,原因是數(shù)據(jù)集中這兩種類別的數(shù)據(jù)量較少,導致識別精度與其他類別相比較低。
為了驗證地面交通標志分割模型的分割性能,本文在地面交通標志數(shù)據(jù)集進行實驗,與其他輕量級語義分割模型進行了對比。
如表3 對比實驗結果所示,本文提出的地面交通標志分割模型的mIoU 均優(yōu)于其他分割模型。在512×1 024 尺寸的輸入圖片下,本文模型的mIoU 比STDC1-Seg50 和STDC2-Seg50 模型分別高出了7%和8.3%。在600 ×2 300 尺寸的輸入圖片下高于DABNet模型4.4%,參數(shù)量減少了10.6%。但由于模型中通道數(shù)的增加以及注意力機制的添加,導致模型的整體計算量上升,推理幀率FPS較慢。
表3 輕量級分割模型性能對比
通過實驗發(fā)現(xiàn),如模型STDC2-Seg50 對背景單類別的分割IoU指標平均可達到98.1%,高于本文提出的模型,但由于缺乏對于地面交通標志識別的模型設計,其他地面交通標志類別分割精度都較低,說明本文提出的模型更針對于地面交通標志的分割識別。
為了更直觀的展示本文提出模型的優(yōu)越性,將DABNet和本文模型的分割結果進行了可視化對比,如圖4 和圖5 所示分別為各類別標簽的對應顏色和地面交通標志分割結果圖。其中圖5(a)、(b)、(c)和(d)分別為輸入的原始圖像、地面交通標志標簽真值圖、利用DABNet分割模型的分割結果以及本文模型對地面交通標志的分割識別結果圖。
圖4 各類別標簽顏色
圖5 地面交通標志分割結果
由圖5(c)、(d)可見,如對于圖5 中第一排遠距離的黃色人行橫道線和第4 排遠距離橫向的藍色車道線DABNet對其均無法分割,結果圖中誤分割為地面類別。對于第2 排近距離的直行綠色箭頭標志和指示直行或左轉(zhuǎn)的紫色箭頭標志,由于其形狀類似,DABNet誤將其分割為同一類別且分割不完整。
本文模型能夠正確分割出這4 類地面交通標志,說明本文提出的改進設計有效緩解了像素較少的遠距離標志分割不完整和誤分割的問題,并且在不丟失細節(jié)信息的情況下,保證了近距離標志分割的完整性。
3.4.2 消融實驗
為了驗證不同模塊對模型的有效性,以及對地面交通標志分割的優(yōu)勢,對模型中不同模塊組合設計了消融實驗,以DABNet為基準模型,表4 為消融實驗的結果。
表4 模型中不同模塊的消融實驗對比
如表4 所示,在模型分割精度mIoU方面,由于重參數(shù)化Vgg模塊具有多分支結構,能夠增強模型的表征能力,在測試時,相對于基準模型上漲2.1%。在添加了條形特征提取單元后,由于通道數(shù)翻倍增加,豐富了地面交通標志的特征信息,進一步上漲1.4%。由于SE注意力機制單元可以自適應的校正通道特征,幫助模型保留有價值的特征,在添加該模塊后,相對于基準模型最終mIoU增漲4.3%。
在模型推理速度FPS 方面,由于在條形特征提取模塊中,特征圖的通道數(shù)增多并添加了注意力機制,使得模型的整體計算量增加,mIoU雖然可到達79.7%,經(jīng)過結構重參數(shù)話后的推理速度僅有16.7FPS。在不添加SE注意力機制的情況下,模型的分割精度mIoU僅減少0.9%,并保持了40.3FPS的推理性能。
由于在第2 個條形特征提取模塊中采用膨脹率r為{4、4、8、8、16}的逐層擴大膨脹率的空洞卷積,為了驗證這種設計的有效性,以及對地面交通標識分割的優(yōu)勢,本文設計了對比實驗,研究空洞卷積擴張率對模型分割精度和的影響。
表5 為條形特征提取模塊消融實驗結果。在實驗1 中,將條形特征提取模塊中所有空洞卷積的膨脹率r都設置為4。實驗2 僅采用普通的卷積,不設置膨脹率r。實驗3 根據(jù)文獻[27]提出的混合空洞卷積組合也有利于提取全局特征信息,設置了膨脹率r為{3、3、7、7、13}的膨脹速率組合實驗。通過表5 可知,在模型分割精度mIoU方面,設置不同膨脹率r的實驗1、3、4模型表現(xiàn)都要比實驗2 沒有設置膨脹率r的模型高,分別高出1.6%、8.7%和9.3%。實驗3 比實驗4 只降低0.6%,表明在設置空洞卷積參數(shù)時,不同膨脹率可以獲得多尺度的感受野,膨脹率的組合對于模型精度的提升更加有效,膨脹率r 設置為{4、4、8、8、16}更有利于模型對地面交通標志的分割。
表5 條形特征提取模塊消融實驗結果
為了實現(xiàn)多類別地面交通標志的識別,解決目前基于語義分割方法實現(xiàn)地面交通標志分割不足的問題,本文提出了一種多類別地面交通標志的分割模型。通過對主干網(wǎng)絡的重新設計,在普通卷積層中加入多分支結構用于訓練,增強模型的低層特征提取能力。同時,針對地面交通標志形狀特點,改進設計了具有倒殘差結構的條形特征提取單元,在保留了模型具有多尺度感受野的同時,增加對上下文特征信息的獲取能力,并在此基礎上添加SE 通道注意力機制,賦予特征圖通道不同權重,使模型更加關注于學習地面交通標志的特征。在推理時采用結構重參數(shù)化方法,將主干網(wǎng)絡的多分支融合為單支結構,以此提高模型的推理速度。本文提出的模型在地面交通標志測試數(shù)據(jù)集上實現(xiàn)了15 類地面交通標志的分割識別,語義分割評價指標mIoU精度最高達到0.797,并通過設計對比實驗和結構的消融實驗,驗證本文模型針對地面交通標志分割的有效性。