蘇小波
(長沙理工大學土木工程學院,湖南 長沙 410114)
隨著我國社會的不斷發(fā)展,公路投資規(guī)模不斷增大,我國的公路建成里程數(shù)隨之逐年增長。然而,大規(guī)模的公路建設也必然帶來后續(xù)繁重的公路養(yǎng)護任務,而未得到及時修補的病害隨著時間推移會持續(xù)加劇,造成更嚴重的損失[1]。因此,各交通安全管理部門需要了解轄區(qū)內(nèi)的道路狀況,健全交通安全道路資料庫,便于后續(xù)科學、合理的養(yǎng)護工作的開展,從而避免道路安全隱患,保護人民生命財產(chǎn)安全。而如何快速、準確地獲取路面信息成為公路養(yǎng)護管理的關鍵所在[2],這就要求路面損傷檢測工作走向數(shù)字化、信息化和智能化。
深度學習(Deep Learning,DL)是機器學習(Machine Learning,ML)領域中一個新興的研究方向。隨著深度學習算法技術的突破,基于深度學習和卷積神經(jīng)網(wǎng)絡算法的人工智能道路檢測模型正在被積極研究。Maeda等[3-4]首次公開了一個大規(guī)模的基于儀表盤攝像頭路面裂縫數(shù)據(jù)集,并試驗了多個目標檢測算法,評估了不同國家之間道路數(shù)據(jù)的通用性,試驗表明訓練數(shù)據(jù)和測試數(shù)據(jù)圖像分別來源于不同的國家時,檢測效果大幅下降。Park等[5]提出一種結(jié)合分割和檢測的網(wǎng)絡模型,分割過程只提取路面部分,在此基礎上再進行路面損傷檢測,提升了精度,但檢測效率低下。Cao等[6]補充Maeda等公開數(shù)據(jù)集的數(shù)據(jù)量,降低了各裂縫類別的數(shù)量差距,并對多個模型進行試驗對比,試驗表明,增加圖像源的多樣性可以提高模型性能,但是其損傷檢測精度還有待提高,且檢測速度較慢。
以上介紹的檢測模型都有一定的優(yōu)點,但又存在著各自的不足:檢測精度與效率不能做到統(tǒng)一,檢測與分析無法做到端對端,也不能做到實時檢測等,這些不足限制了這些模型在實際工程中的應用。為了實現(xiàn)實時、高效的路面病害檢測,本研究提出一種結(jié)合注意力機制和CIOU[7]損失的移動端輕量級路面裂縫檢測算法,其基本改進思路如下:首先,在對比多個輕量級主干網(wǎng)絡后,選擇Mobile-Netv2[8]作為主干網(wǎng)絡,并將普通卷積用深度可分離卷積代替,降低模型復雜度,提升檢測速度,以滿足后續(xù)移動端部署要求;其次,將坐標注意力機制與空間注意力機制分別植入特征提取網(wǎng)絡和特征融合網(wǎng)絡,彌補主干網(wǎng)絡更換帶來的精度損失。試驗結(jié)果表明,改進模型在進一步提升檢測精度的同時,其檢測速度有了大幅度的提升,有較大的實際應用價值。
一階段目標檢測模型,即將區(qū)域建議和類別位置信息預測放在同一階段,其中YOLO 系列最具代表性。YOLOv4[9]是目前工業(yè)界應用最廣泛的目標檢測模型,性能優(yōu)秀,非常適合工業(yè)應用目的,因此選擇YOLOv4作為基礎模型。
主干網(wǎng)絡的作用是學習圖像的特征信息,網(wǎng)絡越深,其特征學習能力越強。在主干網(wǎng)絡淺層處,學習的是細粒度紋理特征,而在網(wǎng)絡深層,隨著其感受野的相對增大,學習到的特征信息則是在淺層紋理特征基礎之上逐漸形成的抽象語義特征。YOLOv4 的Backbone 為CSPDarkNet53 結(jié)構(gòu),其最大的特點就是加入了路徑聚合網(wǎng)絡結(jié)構(gòu)CSPNet[10],CSPNet 能在實現(xiàn)更為豐富的梯度組合的同時減少模型的推理計算時間。
YOLOv4 的Neck部分由SPP(Spatial Pyramid Pooling)[11]結(jié)構(gòu) 和PANet(Path Aggregation Network)[12]結(jié)構(gòu)組成,其主要作用是融合主干網(wǎng)絡不同深度的特征信息,使得輸出信息能夠更好地表述圖像中的目標,提升網(wǎng)絡精度。
MobileNetv2 是一種輕量級算法,采用深度可分離卷積代替普通卷積。深度可分離卷積分兩步進行,第一步“逐通道卷積”,將輸入的特征圖每一層進行一次單獨的特征提取,第二步“逐點卷積”,“Concat”各個特征。深度可分離卷積的參數(shù)量Pdc和普通卷積參數(shù)量Pc計算公式如式(1)、式(2)。
兩者參數(shù)量之比如式(3)。
以上式中:M為輸入通道;N為輸出通道;Hk、Wk為卷尺核尺寸。
同時,將原YOLOv4的Neck部分的普通卷積也全部用深度可分離卷積代替,極大降低了參數(shù)量,進一步加快了網(wǎng)絡運行速度。
注意力機制能讓模型對輸入圖像中的信息做一個有舍棄的選擇,使其更加關注目標信息。但在模型的容量被嚴格限制的移動端上,注意力機制的應用非常滯后,因為輕量級網(wǎng)絡負擔不起大多數(shù)注意力機制的計算開銷。
空間注意力機制(Spatial Attention,SA)[13],使得模型更加關注空間位置信息,提升定位精確度,且基本不會增加模型參數(shù)。具體如圖1所示。
圖1 空間注意力模塊
坐標注意力模塊(Coordinate Attention,CA)[14],將通道注意力分解為兩個并行的一維的特征編碼的過程。具體如圖2所示。
圖2 坐標注意力模塊
MobileNetv2 網(wǎng)絡結(jié)構(gòu)主要由倒殘差結(jié)構(gòu)塊(Inverted Block)組成。倒殘差結(jié)構(gòu)先上升通道數(shù),然后進行卷積操作,最后下降為原通道數(shù)。如圖3所示,在倒殘差結(jié)構(gòu)中植入CA 模塊,不僅幫助模型捕獲跨輸入特征圖層通道維信息,還能捕獲方向感知、位置感知信息,幫助模型更好識別與定位目標。其次,CA 模塊使用一維特征編碼,計算開銷較小,基本不會影響模型推理速度,非常契合硬件資源受限的移動端。
圖3 改進后的倒殘差結(jié)構(gòu)
最后,在Neck 部分植入SA 模塊,提升融合不同深度的特征圖時對目標的空間定位能力,也基本不會增加模型參數(shù),不會影響模型速度。
本試驗采用(RDD-2019)[15]數(shù)據(jù)集,共10 506張,按8∶1∶1 隨機分配訓練集、驗證集以及測試集。表1為各類別的目標數(shù)量統(tǒng)計。
表1 數(shù)據(jù)集類別與目標數(shù)量
試驗訓練和測試所用的圖片為416×416 尺寸的JPG 格式。經(jīng)過多次試驗,超參數(shù)設置及優(yōu)化器選擇如下設置能使網(wǎng)絡收斂效果良好:訓練總批次設為400,批量大小設為32,初始學習率設為0.001,采用余弦退火衰減學習法來調(diào)整學習率,線程數(shù)設為32,標簽平滑設置為0.005,采用Adam 優(yōu)化器進行訓練迭代優(yōu)化,權(quán)值衰退系數(shù)設置為0.000 5,因此各對比模型均基于上述超參數(shù)微調(diào)訓練而成。
3.3.1 評價指標。平均精度均值mAP、F1_score、每秒處理圖片數(shù)量FPS、參數(shù)量及計算復雜度是深度學習模型常用于評價模型性能的幾個重要指標。其公式如式(4)、式(5)、式(6)。
式中:TP表示正樣本正確識別數(shù);FP表示負樣本錯誤識別數(shù);TN表示正樣本錯誤識別數(shù);FN表示負樣本正確識別數(shù)。
卷積神經(jīng)網(wǎng)絡模型計算復雜度用浮點運算數(shù)量表示,F(xiàn)LOPs 決定算法的訓練和預測用時。其計算式如式(7)。
式中:Cin表示輸入通道數(shù);K表示卷積核尺寸;HW表示輸出特征圖尺寸;Cout表示輸出特征圖通道數(shù)。
3.3.2 主干網(wǎng)絡選擇。橫向?qū)Ρ萂obileNetv1~v3、GhostNet 和DenseNet 作為主干網(wǎng)絡時的表現(xiàn)情況,以證明選擇MobileNetv2 主干網(wǎng)絡的契合性與有效性,表2為使用各類主干網(wǎng)絡時模型的表現(xiàn)情況。
從表2 可以看出,MobileNetv2 作為主干網(wǎng)絡時,兼顧了檢測精度與速度,同時其計算復雜度適中,參數(shù)量較少,降低了過擬合的風險,適合訓練樣本較少的情況,綜上,選擇MobileNetv2 作為主干網(wǎng)絡。
表2 主干網(wǎng)絡對比
3.3.3 對比試驗。為了測試所提出模型的檢測效果,將本模型與目前主流目標檢測模型做對比試驗,證明所提出模型的有效性。表3 為不同模型測試對比情況。
表3 不同模型測試對比情況
對于兩階段模型Faster_RCNN:該模型對目標的召回率較高,但是其準確度較低,這導致最后的檢測精度較低,其mAP 只有43.98%,且其計算復雜度遠高于一階段模型,因此不適合在實際工程中應用。
在檢測精度方面,最終改進模型比YOLOv4_Tiny(MobileNetv2)的mAP 提高了15.23%,甚至超過了原YOLOv3 和YOLOv4,說明注意力機制的植入較好地彌補了主干網(wǎng)絡更換帶來的精度損失。
在檢測速度方面,輕量化改進后的YOLOv4_Tiny(MobileNetv1~v3)模型相對原YOLOv4模型,其參數(shù)量分別下降了80.29%、83.22%、81.77%,F(xiàn)PS分別提升了52.14 FPS、46.85 FPS、38.19 FPS,而注意力機制CA 模塊與SA模塊的植入在YOLOv4_Tiny(MobileNetv2)的基礎上僅降低了12.01 幀/s的FPS值,以犧牲了較小的檢測速度方面的代價換取了模型檢測精度的大幅度提升。
在模型復雜度方面,最終改進模型YOLOv4_Tiny(MobileNetv2+CA+SA)較YOLOv4_Tiny(MobileNetv2)模型的計算復雜度和參數(shù)量分別提高了0.01 GFLOPs 與0.44 M,由此可見注意力機制僅略微增加了模型復雜度;最終改進模型較原YOLOv4模型的計算復雜度下降了86.34%,更加適合移動端部署,有較大的實用價值。
綜上,最終改進模型YOLOv4_tiny(Mobile-Netv2+CA+SA)在大幅度降低參數(shù)量、提高檢測速度的同時,進一步提升了檢測精度,且其算法復雜度得到了大幅度下降,有利于后續(xù)移動端的植入。
3.3.4 消融試驗。表4 為消融對照試驗,其中,Ⅰ表示MobileNetv2 與深度可分離卷積的應用,Ⅱ表示SA 模塊的植入,Ⅲ表示CA 模塊的植入。從表4 中可以看出,主干網(wǎng)絡的更換和深度可分離卷積的應用極大地降低了模型的參數(shù)量,加快了模型的檢測速度,但是相應地帶來了模型檢測精度的下降;而SA 模塊和CA 模塊的植入在此基礎上略微增加模型參數(shù)量與模型復雜度的前提下,極大地提升了模型的檢測精度。
表4 改進模塊消融實驗
為了驗證所改進模型在實際測試中的表現(xiàn),從車載手機檢測視角場景中選取不同天氣、陰影、場景和距離的圖片進行測試。具體如圖4所示。
從圖4的3個模型的檢測對比可以得到以下結(jié)論:①進行輕量化改進后的模型YOLOv4+Ⅰ的檢測性能發(fā)生了嚴重下滑,尤其是對圖像中的特征信息不明顯的D00 與D10 類目標;②最終的改進模型YOLOv4+Ⅰ+Ⅱ+Ⅲ相比于原YOLOv4 模型以及未植入注意力機制的YOLOv4+Ⅰ模型,其對尺寸較小的目標以及特征不明顯的目標的檢測能力有了一定的提升;③最終的改進模型YOLOv4+Ⅰ+Ⅱ+Ⅲ對路面病害的識別定位最為精細,這說明空間注意力機制SA 模塊與坐標注意力機制CA 模塊在加強了對目標的識別能力之外,也提升了對目標位置的定位精度。
圖4 模型檢測結(jié)果
為了探究對基于車載儀表盤攝像頭的圖像數(shù)據(jù)的進一步利用并滿足后續(xù)移動端部署要求,提出一種改進的YOLOv4 輕量級路面裂縫檢測模型,得出以下結(jié)論。
①改進模型大小在原YOLOv4 模型的基礎上得到了大幅度降低,檢測速度得到較大提升,為實現(xiàn)后續(xù)移動端的植入提供了基礎。
②模型將坐標注意力機制和空間注意力機制分別植入了模型的主干特征提取部分和特征融合部分,在增加了較少參數(shù)量與模型復雜度的同時提高了對模型目標的空間定位與目標區(qū)域像素識別能力,大幅度提升了模型的檢測精度,具有一定的實用前景。
③所有一階段模型均對目標的召回率較低,這導致模型最終的mAP 偏低,在后續(xù)工作會繼續(xù)探索如何提高模型對目標的召回率。