張艷君,沈 平,郭安輝,高 博
(中交第二公路勘察設計研究院有限公司, 武漢 430056)
隨著國民經濟和基礎建設的快速發展,我國公路在建設里程和服役里程上正呈現逐年增加的趨勢。據統計,截至2021年,全國公路總里程已達到528.07萬千米,而需要養護的服役公路里程達到525.16萬千米,占公路總里程的99.4%[1]。目前,我國高速公路的總里程已經躍居世界第一位,但大部分公路在完工不久后便出現了各種形式的早期破壞,其實際使用壽命遠達不到設計所要求的使用壽命?!笆奈濉爆F代綜合交通運輸體系發展規劃明確指出要強化交通運輸領域關鍵核心技術研發,同時綜合利用科技手段,開展公路風險動態監測預警和分析研判[2]。
隨著攝像設備和計算機算力的提高,路面缺陷檢測正由傳統人力檢測朝著自動化、智能化的方向發展。目前,基于深度學習的圖像處理方法是道路缺陷檢測領域的研究熱點,首先利用安裝在移動設備上的高速相機對道路表面的圖像信息進行實時采集,再通過圖像處理系統對數據進行分析處理。有較多學者開展了基于深度學習的目標檢測研究,深度學習具有成本低、魯棒性高以及檢測速度快等優點[3]。但現有方法對于路面缺陷檢測存在可信度不足、缺陷檢測精度不高以及工作效率低等問題。王麗蘋等[4]利用基于AlexNet網絡架構的卷積神經網絡(convolutional neural networks,CNN)來進行混凝土路面裂縫檢測,通過對像素矩陣進行卷積、池化、激活和全連接操作來輸出分類檢測結果,但該架構增加了訓練擬合的次數和時間,減緩了收斂速度,降低了模型的工作效率。史夢圓等[5]利用改進的U-Net算法進行路面裂縫檢測,該方法利用連續卷積和池化來提取特征信息,并通過反卷積進行圖像恢復,能夠提高邊界信息的預測精度,但在多尺度特征圖的信息提取方面存在較大缺陷。為解決路面細小缺陷檢測難點問題,王丹[6]提出了一種多尺度全局全卷積神經網絡算法,該算法構建了一種多尺度空洞卷積結構,能夠在維持原分辨率的基礎上增強細小特征感知,但該方法在檢測速度方面仍有較大進步空間?;谏鲜鲅芯楷F狀,從檢測速度和檢測精度兩方面深入研究了基于深度學習驅動的路面缺陷檢測技術。
缺陷檢測是機器視覺中目標檢測領域重要的研究方向之一,該工作的主要任務是根據用戶提出的信息來找出圖片中相應的目標,并對目標進行類別和位置分析。隨著用戶對缺陷檢測速度和精度要求的提高,基于深度學習的缺陷檢測方法也在迅速發展。卷積神經網絡作為深度學習的代表,具有參數數量少、檢測效率高、防滑性強以及魯棒性高等方面的優勢,逐步在目標檢測領域中引起廣泛關注[7]。2014年Girshick等[8]提出了R-CNN(Region-CNN)算法,正式將CNN引入目標檢測領域。R-CNN系列算法首先根據候選區域算法獲得目標樣本候選框,之后通過卷積神經網絡進行樣本候選框的篩選分類,因此這一系列模型被稱為two-stage算法[9]。但隨著目標檢測要求的提高,two-stage算法難以滿足實時性要求,因此以YOLO(you only look once)算法[10]為代表的one-stage算法應運而生。YOLO網絡首先將輸入圖像分割為M×M個局部區域,每個區域檢測中心點位于本區域內的目標物體,而每個局部區域會預測出N個錨框,因此會產生M×M×N個預測框,最后對每個框采取置信度評估值來評價預測準確度[11]。YOLO模型自提出之后就被廣泛應用于目標檢測任務中,YOLOv7模型作為當前該系列中集成度最高模型,在網絡結構、特征提取方法以及訓練方式等多方面優于其他模型。該模型首先在網絡結構中引入重參數化操作來減少模型推理時間,其次提出了高效聚合模塊來強化特征提取能力,最后在訓練過程中添加輔助訓練模塊來提升模型精度[12]。在路面缺陷檢測任務中,模型在進行特征提取的過程中會產生較多冗余特征,而抑制冗余特征、關注重要特征是提高模型精度的重要舉措,卷積注意力模塊(convolutional block attention module,CBAM)作為綜合性的注意力模塊能夠在通道和空間兩個維度加強重要特征的權重[13]。為此,提出了基于CBAM-YOLOv7模型的路面缺陷檢測方法。經實驗驗證,該方法在道路缺陷檢測任務中表現出的速度和精度性能均優于其他目標檢測方法。
CBAM-YOLOv7模型是在YOLOv7模型中融入CBAM注意力,以此來提升模型精度的。YOLOv7模型主要由輸入層、主干網絡層、特征融合層、輸出層組成。其中,輸入層負責將輸入的原始三通道圖像尺寸定義成640×640;主干網絡層通過深度卷積來提取不同尺度的特征信息;而特征融合層負責將不同尺度的特征圖像信息進行深度融合;輸出層將預測出的錨框坐標、種類以及置信度進行非極大值抑制后輸出。YOLOv7模型中含有多個高度集成的卷積運算模塊,分別是ELAN模塊、MP模塊、SPPCSPC模塊,這些集成結構在優化模型結構、提升特征提取能力方面具有突出貢獻。網絡結構如圖1所示。
其中,卷積模塊均包括卷積、歸一化、激活操作,是對圖像進行特征提取的基本工具,并通過改變卷積核大小及卷積步長來實現多尺度特征提取。ELAN模塊是一個網絡聚合結構,它通過改變特征提取的路徑來豐富主干層提取到的特征信息,并提高模型的魯棒性。MP模塊是實現下采樣的結構,它通過最大池化和下采樣卷積的并聯操作來實現對特征圖的深度下采樣。SPPCSPC模塊的作用是增大感受野,提升算法的泛化性能。該模塊將多通道特征圖分成2部分:一部分采用多尺寸最大池化操作來獲得不同的感受野;另一部分采用常規卷積操作提取特征。該模塊在提升模型精度的基礎上能最大程度降低計算量,是提升模型效率的重要結構。

圖1 集成化卷積結構圖
此外,針對特征提取過程中出現的特征冗余問題,在原始模型的基礎上融合了CBAM注意力模塊,旨在通過特征加權來提升模型精度。CBAM作為綜合性的注意力機制,能夠融合通道注意力和空間注意力的優勢,在抑制一般特征干擾的基礎上著重關注部分特征通道和空間區域,并通過最大池化和平均池化的組合使用來豐富特征信息。其模型結構如圖2所示。

圖2 CBAM結構示意圖
上述模塊與多尺寸卷積模塊的有效組合就構成了CBAM-YOLOv7模型的基本結構,網絡結構如圖3所示。

圖3 CBAM-YOLOv7模型網絡架構圖
YOLOv7模型在結構上的創新使得該模型在分類精度和推理速度上都取得了較大進步。同時,YOLOv7模型在運算過程中提出了重參數化操作,該操作在訓練過程中將一個模塊細化為多個模塊分支,從而豐富了訓練過程獲取的信息,而在模型推理的過程中將多個分支模塊集成為等價模塊,從而在豐富訓練過程的同時減少模型的推理時間。CBAM-YOLOv7模型首先對輸入圖像進行尺寸重定義,然后利用主干網絡層來提取輸入圖像的特征信息,對于主干層輸出的特征采用多個CBAM模塊進行重點特征信息加權,之后將提取出的深層特征和淺層特征進行注意力加權,并輸入特征融合層進行信息融合,最后由輸出層輸出預測信息,包括預測框的位置、預測種類以及置信度,從而完成整個推理過程。
神經網絡模型主要包括訓練和推理過程,而YOLOv7模型的訓練效果主要受到損失函數的影響。損失函數是計算預測信息與目標信息距離的工具,預測信息越接近目標信息,損失函數值就越小。YOLOv7的損失函數可以分為目標置信度損失、坐標損失和分類損失。其中,前兩者采用帶log的二值交叉熵損失函數(BCE with logits loss),后者采用CIoU損失函數。該模型使用的交叉熵損失函數相較于之前的損失函數,加入了sigmoid函數,能夠起到穩定數值、加速模型收斂的效果,原理如下:
(1)
li=-w[yi·log(σ(xi))+
(1-yi)·log(1-σ(xi))]
(2)
式中:I表示目標樣本的數量;li表示第i個樣本對應的loss值;xi表示第i個樣本的預測值;yi表示第i個樣本的真實值;σ表示sigmoid函數。坐標損失是影響模型預測精度的重要指標,CIoU損失函數能夠在訓練過程中考慮重疊面積、中心點距離以及長寬比,具有提高模型精度的效果,原理如下:
(3)

(4)

(5)
式中:IoU表示真實框與預測框之間的交并比;Agt與A分別表示真實框與預測框的中心坐標;ρ表示計算兩點之間的歐氏距離;c表示能夠包含真實框與預測框的最小線框的對角線長度;w、h分別表示框的寬和高。CIoU計算示意圖如圖4所示。

圖4 CIoU計算示意圖
在目標檢測領域中,通常需要從預測類別的分類精度、預測框的定位精度以及模型的運行速度方面去評價模型的綜合性能。上述模型精度指標都是基于統計學指標來計算的,而在模型推理過程中可以基于統計學將推理結果分為4個類別,即正樣本預測正確(TP)、正樣本預測錯誤(TN)、負樣本預測正確(FP)和負樣本預測錯誤(FN)。預測精確度P(Precision)和召回率R(Recall) 可以對上述分類結果進行綜合評價,計算原理如下:
(6)

(7)
在實驗過程中,采用F1(F-Measure)值、mAP(mean average precision)值以及FPS(frame per second)對YOLOv7模型進行綜合評價。F1值是衡量分類模型性能的重要指標,表示精度和召回率的調和平均數。mAP值是基于不同IoU閾值對不同召回率下的預測精度進行計算,是評價定位精度和預測精度的綜合指標。FPS值表示在同一運行環境下模型每秒能處理的圖像幀數,是評價模型速度的重要指標。
(8)

(9)
式中:m表示分類的類別數;n表示單個類別中預測出的目標數量;P(r)表示召回率為r時的精確度值。
實驗采用RDD2022道路缺陷數據集中的China_Drone數據。該數據集由DJI M600 Pro無人機采集于南京東極大道[14],由2401張512×512像素的道路缺陷圖組成,每張圖像都包含道路缺陷目標。數據采集設備及數據示例如圖5所示。

圖5 數據采集設備及數據示例圖
實驗所用數據集包含縱向裂紋、橫向裂紋、復雜裂紋、坑洞以及修補塊5種類型的道路缺陷,其數量分布如表1所示。該數據集具有環境復雜、道路類別多變、缺陷類別不均衡等特點,因此對驗證YOLOv7模型的泛化性能和適用范圍具有重要的參考作用。實驗將數據集按照6∶2∶2的比例劃分為訓練集、驗證集和測試集。

表1 數據集內缺陷數據分布情況
在驗證實驗中,設置了3組對比實驗,分別利用CBAM-YOLOv7、YOLOv7、YOLOv6、Faster-RCNN 4種目標檢測模型對China_Drone數據集進行缺陷檢測。4組實驗所采用的硬件設備和軟件環境都是一樣的,都是基于Windows操作系統和GPU進行運算的,具體參數如表2所示。

表2 實驗配置參數
為保證各個模型在訓練過程中的收斂效果,所有模型均使用官方提供的預訓練權重。經過多次實驗發現模型在80次訓練時損失函數均已完全收斂,其中CBAM-YOLOv7模型的訓練損失曲線如圖6所示,因此所有模型的訓練迭代次數均設置為80次。

圖6 CBAM-YOLO模型訓練損失曲線
同時,在綜合考量運算設備顯存、內存以及訓練效果之后,將單批訓練量設置為8,線程數設置為4。此外,一個性能良好的目標檢測模型需要大量且復雜的數據作為訓練基礎,而YOLOv7模型能夠對已有數據進行增強、增廣操作,通過縮放、旋轉、拼接、透視、馬賽克等方法實現訓練圖像的復雜化,從而提升模型的魯棒性和泛化性能。在模型參數更新的過程中,采用隨機梯度下降算法(stochastic gradient descent,SGD),SGD的優點在于每次更新模型參數只需要計算單批樣本的梯度,能夠極大地提升訓練速度。同時為了防止模型出現過擬合現象,該模型采用權值衰減來平衡模型復雜度與損失函數的關系。上述過程通過迭代實現損失函數的快速收斂,從而獲得性能良好的道路缺陷檢測模型。模型在網絡訓練的準備過程中,首先根據數據特點配置網絡(配置參數如表2所示),然后將帶有缺陷標注的圖片重新定義到固定尺寸,最后通過模型的數據增強模塊來增加訓練數據的多樣性。需要說明的是,在訓練過程中,模型需要根據訓練效果不斷更新權重參數,具體可以分為前向傳播、損失計算、反向傳播、參數更新、迭代訓練、學習率調整和模型保存7個步驟,訓練過程如圖7所示。

圖7 訓練流程示意圖
利用訓練好的實驗模型對測試集中的道路圖像進行缺陷檢測,結果顯示各個模型對缺陷道路圖像具有不同的檢測效果,其中大部分缺陷均能被檢測出來,但在置信分數、小目標檢測、定位框準確度等方面表現出不同的性能。以圖8中的道路圖像為例,對4種實驗模型進行對比分析,3種對比模型存在檢測框置信分數低、小目標檢測不準、預測框與實際缺陷匹配度不高等問題。其中,Faster-RCNN和YOLOv6-v7模型出現較為明顯的缺陷漏檢、誤檢問題;相比之下,CBAM-YOLOv7在上述問題上表現出的性能較優,具有最好的觀測效果。
最后分別對訓練好的Faster-RCNN、YOLOv6、YOLOv7、CBAM-YOLOv7模型進行對比分析,并采用mAP值、F1值、FPS值對模型性能進行定量分析,結果如表3所示。

圖8 典型樣本上不同模型的表現效果

表3 4種模型測試效果
Faster-RCNN作為目標檢測領域中two-stage系列算法的代表,由于兩階段網絡結構的局限性,該模型在推理速度上具有很差的效果,難以實現實時檢測的標準,同時訓練過程中通過超參數限定了正負樣本數量,使得模型在預測精度方面存在較大局限性。而在one-stage系列算法中,YOLOv6與YOLOv7具有相似的網絡結構和訓練方式,且YOLOv7作為前者的改進版本,通過高效聚合網絡、重參數化思想以及動態標簽分配策略等方式來提高模型的預測精度和運行速度。而CBAM-YOLOv7作為YOLOv7的提升版本,能在相同的運行速度上大幅提升模型精度。從表3的數值對比中可以看出CBAM-YOLOv7模型在mAP值、F1值兩項精度指標中均優于其他模型,而在FPS值指標上與原始YOLOv7模型幾乎相同,因此CBAM-YOLOv7模型在實現精確、快速的道路缺陷檢測任務中具有較大優勢。
針對傳統目標檢測模型存在的運行速度與檢測精度不能兼顧的問題,YOLOv7模型分別從模型結構、運算方式和訓練流程方面進行改進優化。在模型結構方面,該模型采用高效聚合網絡ELAN來提高深層網絡的特征提取能力,該結構能夠通過改變梯度復雜度的方式來提高網絡的學習能力。在運算方式方面,該模型采用重參數化的思想,能夠在豐富訓練過程的基礎上減少模型推理過程的數據量,從而提升運行速度。在訓練流程方面,該模型提供輔助訓練模塊來優化標簽分配策略,從而提升模型分類精度。對YOLOv7模型提出改進,在保證模型推理速度基本不變的基礎上,通過融合綜合性能良好的CBAM注意力來提升模型的精度。
將CBAM-YOLOv7模型應用到復雜路面缺陷檢測任務中,對比該模型與Faster-RCNN、YOLOv6、YOLOv7模型的檢測結果,并采用mAP值、F1值和FPS值進行定量分析,結果顯示CBAM-YOLOv7在觀測效果和數值對比層面均具有最好的性能,因此應用該模型進行復雜路面的實時缺陷檢測具有較大優勢。