喬 攀, 潘存治, 張萌萌
(1.石家莊鐵道大學 機械工程學院,河北 石家莊 050043;2.石家莊鐵道大學 交通運輸學院,河北 石家莊 050043)
截至2022年末,中國高鐵運營里程超過40 000 km,目前大多數(shù)高鐵線路都采用“以橋代路”的方式進行修建[1]。因此橋梁結構在高鐵線路中占據(jù)了較大的比例,高鐵橋梁的健康狀況成為保障行車安全和橋梁可靠性的關鍵因素。傳統(tǒng)的人工檢測方法存在效率低、成本高和人為主觀因素等問題;傳統(tǒng)數(shù)字圖像處理技術在處理橋梁結構裂縫時,由于裂縫的形態(tài)和尺度比較復雜、存在噪聲干擾和光照變化等因素,處理效果難以滿足工程需求[2]。
近年來,隨著機器學習和人工智能技術的發(fā)展,基于深度學習的圖像處理方法逐漸興起,并取得了很好的效果[3-4]。深度學習和機器視覺在高鐵橋梁裂縫檢測中具有更高的準確性、更強的魯棒性、更高的實時性和更強的泛化能力,結合裂縫識別、分割、寬度測量等方法,實現(xiàn)高鐵橋梁裂縫的自動檢測[5]和量化[6],為高鐵橋梁的安全監(jiān)測和維護提供更加可靠和高效的技術手段。
裂縫識別定位和裂縫分割是基于深度學習的裂縫檢測系統(tǒng)的兩大主要任務。REDMON et al[7]提出了YOLOv3算法,該算法對YOLO和YOLOv2進一步改進,升級了網(wǎng)絡結構,提升了對小目標的檢測能力。ZHANG et al[8]對YOLOv3進行改進用于實現(xiàn)橋面裂縫的檢測,實現(xiàn)了高準確率實時檢測橋面裂縫。SHU et al[9]將YOLOv5運用到裂縫檢測中,相較于YOLOv3檢測效果更好,其識別精度與效率以及網(wǎng)絡的靈活性都得到大幅提升。李怡靜等[10]提出一種改進U2-Net的裂縫檢測方法,將深度可分離卷積和擴張卷積融入U2-Net語義分割模型,提升了模型對微小裂縫的預測效果,提升了識別精確率。
研究目的是開展基于機器視覺的高鐵橋梁裂縫檢測研究,主要包括以下3個部分內(nèi)容:裂縫自動識別定位、分割和最大寬度測量。首先,采用YOLOv5作為裂縫識別定位模型,通過訓練和優(yōu)化模型,實現(xiàn)對高鐵橋梁中裂縫的自動定位,同時,使用U2-Net作為裂縫分割模型,將其應用于裂縫像素級別的分割,以獲取裂縫的準確輪廓信息;然后,研究裂縫寬度測量方法;最后,利用機器視覺技術實現(xiàn)對裂縫實時監(jiān)測與寬度測量。
YOLOv5是One-stage目標檢測算法,它在經(jīng)過YOLOv1、YOLOv2、YOLOv3和YOLOv4的不斷改進下,擁有了更強大性能的網(wǎng)絡,使其速度與精度都得到了顯著的提升,尤其是在細小目標的檢測任務上。YOLOv5主體模型結構主要由4部分組成:輸入端、Backbone網(wǎng)絡、頸部網(wǎng)絡和預測端[11]。YOLOv5的模型結構圖如圖1所示。
圖1 YOLOv5網(wǎng)絡結構
輸入端負責對輸入圖像進行預處理和數(shù)據(jù)增強,以提高模型的泛化能力和魯棒性。主要包括Mosaic圖像增強,將4張不同的圖像拼接成一張大圖像,增加數(shù)據(jù)集的多樣性和難度;自適應錨框計算,根據(jù)輸入圖像中目標的尺寸和形狀,自動計算出最適合的錨框參數(shù),避免手動設置;自適應圖片縮放,根據(jù)輸入圖像中最大目標的尺寸,動態(tài)地調整輸入圖像的尺寸,以適應不同尺度目標的檢測。
Backbone網(wǎng)絡負責對輸入圖像進行特征提取,提取出不同層次和尺度的特征圖。頸部網(wǎng)絡結合了FPN結構和PAN機構,從骨干網(wǎng)絡的輸出中繼續(xù)提取特征,并進行上采樣處理,從而進一步提高模型在目標檢測任務中的性能。預測端負責對特征圖進行目標檢測和分類,輸出最終的檢測結果。
U2-Net又稱U2-Net,是一種用于顯著目標檢測的深度網(wǎng)絡架構,其主要特點是采用了2層嵌套的U-結構,即U2-結構,來提取和融合不同層次和尺度的特征圖,從而實現(xiàn)高效且準確的目標檢測。U2-結構是U2-Net的核心組成部分,它由2個嵌套的U-結構組成,即RSU(ReSidual U-blocks)。RSU是一種改進的殘差U-塊,它可以在不同層次上提取特征,并通過跳躍連接實現(xiàn)特征之間的殘差學習,還使用池化操作來增加總體體系結構深度,而不會顯著增加計算成本。其由輸入卷積層、對稱編碼器-解碼器結構和殘差連接3部分組成。與U-Net類似,它能夠從不同尺度的特征中提取信息,并通過殘差連接融合多尺度特征。U2-Net算法的網(wǎng)絡結構和RSU殘差塊結構如圖2所示。
圖2 U2-Net網(wǎng)絡結構和RSU結構
傳統(tǒng)的裂縫寬度測量法受到環(huán)境、裂縫形狀等影響導致效果不佳,本文提出了一種計算輪廓最大內(nèi)切圓算法。如圖3所示,該算法主要包括圖像預處理和裂縫輪廓提取、確定內(nèi)切圓搜索范圍及圓心、二分法求最大內(nèi)切圓半徑。首先,對圖像進行連通域去噪、灰度處理和二值化,去除干擾因素,保留有效信息;然后,找到裂縫的輪廓,利用輪廓檢測的算法,提取出二值化圖像中的裂縫輪廓;最后,用輪廓最大內(nèi)切圓算法計算裂縫最大寬度,打印出裂縫寬度信息并在圖像中對應位置繪制最大內(nèi)切圓。
圖3 計算輪廓最大內(nèi)切圓裂縫寬度測量法
在進行裂縫定位和分割模型的訓練前,需要構建相應數(shù)據(jù)集。針對此任務,基于Pytorch框架構建和優(yōu)化了YOLOv5和U2-Net深度網(wǎng)絡模型。系統(tǒng)訓練階段采用的計算機環(huán)境基于Python3.8、PyTorch1.1.1、AMD Ryzen 7 5800H處理器、英偉達RTX3060顯卡和32 GB內(nèi)存。
裂縫識別定位模型訓練數(shù)據(jù)集采用Concrete Crack Images for Classification數(shù)據(jù)集中的40 000張混凝土裂縫圖像,并且利用對實驗采集的2 000張高鐵橋梁裂縫進行了隨機裁剪、隨機旋轉、隨機噪聲、隨機亮度等數(shù)據(jù)增強方法,將數(shù)據(jù)集擴充到4 000張,二者相結合組成了本次裂縫識別定位模型的數(shù)據(jù)集共計44 000張。以YOLOv5s作為基礎模型架構,訓練過程設置初始學習率為0.01、最小學習率設置為0.000 1、batch size大小為50、epochs大小為1 000、模型總共訓練時間為25 h。
裂縫分割數(shù)據(jù)集共包含1 500張裂縫圖像,其中從Concrete Crack Images for Classification數(shù)據(jù)集中選擇了500張,加上采集的1 000張高鐵橋梁裂縫圖像。訓練過程設置學習率為0.000 1、batch size大小為10、epochs為500、模型總共訓練時間為10 h。
由于高鐵橋梁目前大多數(shù)年限較短,從安全因素考慮,采用實驗模擬進行裂縫圖像數(shù)據(jù)的采集工作和裂縫檢測模型的測試。模擬實驗采用4根混凝土樁進行破壞性實驗,每根樁高60 cm、寬15 cm,對每個面按25 mm×25 mm方格進行劃分,共144(24×6)個方格。
評估模型的目的是為了衡量訓練得到的模型性能,即檢驗模型的準確性和可靠性。評估指標是用于評估模型性能的量化標準,評估指標可以反映模型的優(yōu)劣。
引入3個評價指標,準確率(Precision,Pr)、召回率(Recall,Re)和平均精確度(Average Precision,AP)來對模型進行評估。Pr為被模型預測為正類的樣本中,實際為正類的比例
(1)
式中,TP為正確預測的正例數(shù);FP為錯誤預測的正例數(shù)。
Re為實際為正類的樣本中,被模型預測為正類的比例
(2)
式中,FN為錯誤預測的負例數(shù)。
AP為預測結果排序后每個閾值下的精確率的平均值
(3)
式中,Pr(Re)為召回率為Re時的最大精度值。
3.2.1 識別定位模型結果分析
利用YOLOv5識別定位模型訓練結果如圖4所示。模型的收斂速度很快且最終趨于平穩(wěn),所以選用該權重為檢測時的預權重。
圖4 各項訓練評價指標隨訓練次數(shù)變化曲線
將測試圖像輸入到最優(yōu)網(wǎng)絡模型中之后,統(tǒng)計裂縫識別定位結果,得到該模型的準確率、召回率、平均精確度分別為92.21%、94.63%、95.32%。
3.2.2 裂縫分割模型結果分析
模型將預測到的裂縫區(qū)域像素賦值為255,其他區(qū)域像素為0,并最終輸出裂縫的二值圖像。經(jīng)統(tǒng)計,分割模型對測試集的準確率、召回率、平均精確度分別達到92.86%、95.61%、93.35%,U2-Net裂縫分割模型對于測試集中單條裂縫、多條裂縫和交叉裂縫的準確率、召回率、平均精確度如表1所示。
表1 U2-Net裂縫分割模型結果評估 %
在通過對分割后的圖像進行預處理、裂縫邊緣提取之后,最終通過計算輪廓最大內(nèi)切圓算法打印出裂縫的像素寬度并在圖中繪制最大內(nèi)切圓位置,如圖5所示。最后需根據(jù)實際圖像參數(shù)將像素寬度轉化為實際寬度,以分辨率為512×512像素圖片為例,在方格劃分時每一個方格尺寸是25 mm×25 mm,25 mm對應512個像素點,所以,1 mm代表20.48像素,輸出的像素寬度除以20.48則為實際的裂縫寬度,單位為mm。
圖5 橋梁裂縫智能檢測示例
隨著時間的推移和承受不斷增加的荷載作用,未來的高鐵橋梁可能會出現(xiàn)開裂,通過對4根混凝土樁進行破壞性實驗,模擬了高鐵橋梁可能出現(xiàn)的裂縫情況,并獲得了具有較高普適性的裂縫樣本集。該裂縫智能檢測系統(tǒng)可以實現(xiàn)裂縫的自動定位、判斷,系統(tǒng)表現(xiàn)出較高的泛化能力,能夠較好地處理復雜的實驗數(shù)據(jù)。
3.2.3 裂縫檢測方法對比分析
YOLOv5識別定位模型識別準確率和召回率分別為92.21%、94.63%,均高于文獻[8]采用改進YOLOv3模型中的裂縫識別準確率89.16%和召回率91.16%;且對于512×512像素的圖像平均檢測速度為62.50幀/s,遠高于文獻[8]中的檢測速度20.56幀/s??梢奩OLOv5對于裂縫的識別定位更為準確、速度更快。U2-Net裂縫分割模型分割準確率為92.86%,高于文獻[12]中采用U-Net卷積網(wǎng)絡的裂縫分割準確率91.40%;而僅使用U2-Net裂縫分割模型處理一張測試圖像用時平均為2 012 ms,本文中將YOLOv5與U2-Net結合進行裂縫檢測,經(jīng)過前者快速識別裁剪,明顯減少了后者的分割任務量,節(jié)約了55.77%的處理時間。
提出計算輪廓最大內(nèi)切圓裂縫寬度測量法,再結合YOLOv5目標檢測算法和U2-Net圖像分割算法構成了高鐵橋梁裂縫智能檢測系統(tǒng),構建并訓練出了針對高鐵橋梁裂縫識別定位模型和分割模型,實現(xiàn)了裂縫的自動定位、分割和測寬,裂縫檢測更精確、更快速,提升了檢測效率,得到以下結論:
(1)針對高鐵橋梁裂縫構建和訓練了YOLOv5裂縫識別定位模型,引入了U2-Net算法來完成裂縫分割任務。
(2)針對裂縫寬度計算部分,提出了基于計算輪廓最大內(nèi)切圓算法的裂縫最大寬度計算方法,獲得裂縫的寬度信息。與傳統(tǒng)裂縫圖像處理測寬方法相比,該方法能更好地適應多條裂縫、交叉裂縫等復雜的裂縫形狀,從而使計算的裂縫最大寬度更為精確。
(3)為了模擬高鐵橋梁可能出現(xiàn)的裂縫,通過對混凝土樁進行破壞性實驗,以此作為測試對象。對模型評估、測試,統(tǒng)計測試結果得到識別定位模型的準確率、召回率、平均精確度別為92.21%、94.63%、95.32%;分割模型準確率、召回率、平均精確度分別達到92.86%、95.61%、93.35%。對比結果表面,所提出的裂縫智能檢測方法具有更快的速度和更高的精確度,該方法為高鐵橋梁裂縫的智能檢測提供了技術支撐。
(4)此方法對單條和多條獨立裂縫的檢測效果較好,但對于分叉交叉裂縫等復雜情況識別效果依然不夠理想,后續(xù)需繼續(xù)提升系統(tǒng)泛化能力,進一步優(yōu)化網(wǎng)絡架構和豐富模型訓練數(shù)據(jù)集樣本數(shù)量。