茅宇琳 柴雪松 張中坡 李健超 凌烈鵬
1.中國鐵道科學(xué)研究院集團有限公司鐵道建筑研究所,北京 100081;2.中鐵科學(xué)技術(shù)開發(fā)有限公司,北京 100081;3.中國鐵路北京局集團有限公司工務(wù)部,北京 100038
隨著服役時間的增長,部分線路混凝土結(jié)構(gòu)物出現(xiàn)了不同程度的傷損或劣化,其中裂縫是最常見的病害之一。混凝土結(jié)構(gòu)開裂會導(dǎo)致保護層對內(nèi)部鋼筋的保護失效,引起鋼筋銹脹,誘發(fā)更多開裂并降低結(jié)構(gòu)耐久性。受力裂縫威脅結(jié)構(gòu)安全,快速發(fā)展的受力裂縫往往是結(jié)構(gòu)失效、倒塌的先兆[1]。因此,定期對混凝土結(jié)構(gòu)物進行檢測,盡早發(fā)現(xiàn)裂縫位置,并對其進行評估分析,對于保障鐵路安全具有重大的意義。
人工裂縫檢測具有成本高、效率低、主觀性較強、遺漏較多等缺點,因此出現(xiàn)了基于數(shù)字圖像的結(jié)構(gòu)物表面裂縫分割方法。常用的裂縫分割方法主要包括基于閾值、邊緣、區(qū)域、匹配的傳統(tǒng)方法[2]以及基于計算機視覺領(lǐng)域的深度學(xué)習(xí)方法。相比傳統(tǒng)方法,基于深度學(xué)習(xí)的圖像分割方法可以有效消除結(jié)構(gòu)表面的噪聲與干擾,通過學(xué)習(xí)裂縫特征可以實現(xiàn)自動識別及提取,識別結(jié)果也更為精確。朱蘇雅等[3]利用輕量級的U-Net卷積網(wǎng)絡(luò)對橋梁表觀裂縫進行了識別檢測。翁飄等[4]對全卷積神經(jīng)網(wǎng)絡(luò)進行改進,并基于改進的模型從路面圖像中分割出裂縫區(qū)域。上述應(yīng)用均取得了良好的分割效果。
在識別出裂縫區(qū)域的基礎(chǔ)上,其定量參數(shù)信息也引起關(guān)注。其中寬度是分析裂縫狀態(tài)、發(fā)展及評估結(jié)構(gòu)安全性的重要參數(shù)之一。葉貴如等[5]運用了局部平均裂縫寬度法,即選定一個裂縫區(qū)域,用該區(qū)域面積除以長度從而得到裂縫局部平均寬度。楊美玲[6]利用基于輪廓跟蹤的連通區(qū)域擴展方法對裂縫進行提取,再通過直線擬合的方法計算出裂縫的寬度。
上述裂縫寬度的計算方法均取得了不錯的效果,但在實際應(yīng)用中仍存在一些難點,主要包括兩方面。①最小可識別裂縫寬度有待提升。數(shù)字圖像法最小可識別裂縫寬度等精度指標(biāo)是由成像模型、識別算法與硬件設(shè)備參數(shù)決定的。一般相機距離待測物體表面越近,相機焦距越長,可識別的裂縫越精細。但實際采集時由于設(shè)備、環(huán)境等因素導(dǎo)致拍攝圖像的精度無法達到預(yù)期標(biāo)準(zhǔn),使得運用常規(guī)方法計算的裂縫寬度受限于單位像素點的尺寸,對于細小裂縫的計算誤差較大。因此需要探究一種突破單位像素的亞像素級的裂縫寬度計算方法,提升最小可識別裂縫寬度,獲得更準(zhǔn)確的檢測結(jié)果。②寬度定義不明確。數(shù)字圖像法提取裂縫最大、最小及平均寬度并沒有統(tǒng)一定義,缺乏對應(yīng)的計算方法,因此裂縫寬度計算結(jié)果難以標(biāo)準(zhǔn)化、規(guī)范化。
為實現(xiàn)裂縫寬度的精細計算,本文在運用深度學(xué)習(xí)方法從圖像中分割出裂縫像素區(qū)域的基礎(chǔ)上,將通過三次Cardinal樣條插值擬合出的亞像素邊緣運用于基于中軸線垂線的裂縫寬度法中,計算出更精確的裂縫寬度。將復(fù)雜裂縫的主裂縫平均寬度定義為該裂縫的平均寬度,使實際應(yīng)用時有統(tǒng)一的衡量標(biāo)準(zhǔn)。
裂縫提取是利用采集拍攝得到的混凝土結(jié)構(gòu)物圖像,經(jīng)過圖像預(yù)處理、裂縫分割、裂縫參數(shù)計算等步驟,完成裂縫識別結(jié)果的輸出及表示的過程。裂縫提取流程如圖1所示。
圖1 裂縫提取流程
1)圖像預(yù)處理:主要包括圖像尺寸切分及圖像增強。由于相機捕獲的結(jié)構(gòu)物混凝土圖像分辨率過高,在有限的物理顯存下將大尺寸的圖像輸入卷積網(wǎng)絡(luò),運行時間會大大增加,因此需要將原始的高分辨率圖像進行固定尺寸切分。經(jīng)過試驗及分析后確定切分的基礎(chǔ)尺寸為1 024×1 024,該尺寸能夠更好地利用圖像全局信息,同時保證較高的運行效率。
本文運用深度學(xué)習(xí)圖像分割網(wǎng)絡(luò)進行裂縫識別,在模型訓(xùn)練時需要大量的圖像數(shù)據(jù)。數(shù)據(jù)量越大,分割網(wǎng)絡(luò)的泛化能力越好。為擴充數(shù)據(jù)量,在預(yù)處理階段引入數(shù)據(jù)增強。通過翻轉(zhuǎn)、縮放、亮度調(diào)節(jié)、添加隨機噪聲等圖像變換方式,訓(xùn)練數(shù)據(jù)量得到明顯提升。
2)裂縫分割:從圖像中提取裂縫區(qū)域,完成裂縫與背景噪聲的分割。常用的分割方法主要包括傳統(tǒng)的圖像處理方法和基于深度學(xué)習(xí)的圖像分割方法。
3)參數(shù)計算:對提取出的裂縫進行寬度、長度等參數(shù)的計算分析。
4)結(jié)果輸出:通過裂縫識別圖像,配合定量的參數(shù)數(shù)據(jù)及分析輸出提取結(jié)果。
本文計算裂縫寬度是基于深度學(xué)習(xí)圖像分割網(wǎng)絡(luò)的自動識別結(jié)果展開的,即已知裂縫在圖像中的具體像素點位置。通過試驗探究,選取殘差網(wǎng)絡(luò)ResNet進行圖像特征提?。ň幋a網(wǎng)絡(luò)),結(jié)合金字塔池模型(Pyramid Pooling Module,PPM)(解碼網(wǎng)絡(luò))預(yù)測圖像中的裂縫區(qū)域。利用上述編碼-解碼的網(wǎng)絡(luò)結(jié)構(gòu)可以提取出像素級別的分割區(qū)域,滿足裂縫寬度計算的需求。具體的網(wǎng)絡(luò)結(jié)構(gòu)[7]如圖2所示。圖中ResNet為殘差網(wǎng)絡(luò);POOL為池化層;CONV為卷積層;UPSAMPLE為上采樣;CONCAT為特征融合張量拼接。
圖2 裂縫分割網(wǎng)絡(luò)結(jié)構(gòu)
CONV
CONCAT
1.2.1 編碼網(wǎng)絡(luò)
特征提取網(wǎng)絡(luò)的作用是對輸入圖像進行卷積操作降低圖像維度的同時提取圖像特征,最終輸出特征圖(Feature Map),卷積核也在不斷迭代過程中無限逼近最優(yōu)解。為了平衡精度和效率,選取ResNet-50作為語義分割模型的編碼結(jié)構(gòu)。
尺寸為1 024×1 024的輸入圖片經(jīng)過conv2_x、conv3_x、conv4_x、conv5_x四個卷積模塊(Block)進行下采樣,每個Block含有數(shù)量不等的單元(Unit),分別為3、4、6、3個。以conv2_x為例,每個Unit的內(nèi)部結(jié)構(gòu)如圖3所示。
圖3 Unit內(nèi)部結(jié)構(gòu)
ResNet-50內(nèi)部Unit采用了Shortcut Connection(捷徑連接)的連接方式,有效防止了梯度消失的問題。隨著網(wǎng)絡(luò)層數(shù)的加深,特征提取性能可以不斷提升。
結(jié)構(gòu)設(shè)計采用了瓶頸設(shè)計(Bottleneck Design),通過第一個1×1的卷積核將256維通道降為64維,最后再通過一個1×1的卷積核進行恢復(fù)。這種設(shè)計結(jié)構(gòu)有效降低了網(wǎng)絡(luò)參數(shù)數(shù)量及計算量,運算效率得到明顯提升。
1.2.2 解碼網(wǎng)絡(luò)
解碼網(wǎng)絡(luò)的作用是運用編碼網(wǎng)絡(luò)提取的特征生成目標(biāo)分割結(jié)果,并輸出與輸入圖像尺寸相同的概率圖像。選取分割效果良好的PPM網(wǎng)絡(luò)作為語義分割模型的解碼結(jié)構(gòu)。
PPM解碼網(wǎng)絡(luò)首先對特征圖進行池化(參見圖2),采用1×1、2×2、3×3和6×6四種不同尺寸的Pooling操作得到多個尺寸的特征圖,并將得到的特征圖分別輸入1×1的卷積層以減少通道數(shù)。然后采用雙線性插值進行上采樣來獲得與池化前相同尺寸的特征圖,并在通道上進行拼接,得到融合上下文信息的更強大的特征圖表示,對于尺寸多樣的裂縫能夠獲得更好的識別效果。
結(jié)構(gòu)表面裂縫的形態(tài)復(fù)雜。原始裂縫隨著時間的推移會延伸開裂產(chǎn)生新的分支,最終可能會形成復(fù)雜的樹狀裂縫或網(wǎng)狀裂縫。為了方便裂縫寬度的計算,需要對復(fù)雜裂縫體進行分解,并提取主裂縫。
圖像中每個像素以自身為中心時,周圍鄰接8個像素點。判斷2個像素點是否屬于同一連通區(qū)域時,根據(jù)鄰接關(guān)系,常用兩種判定方法:4鄰域連通和8鄰域連通。4鄰域連通只考慮上、下、左、右4個鄰接像素。設(shè)目標(biāo)像素點位置為(x,y),則其4個鄰接像素位置為(x+1,y)、(x-1,y)、(x,y+1),(x,y-1)。8鄰域連通考慮8個鄰接像素,包括上、下、左、右及對角線位置的像素點,其位置分布為(x+1,y)、(x-1,y)、(x+1,y+1)、(x+1,y-1)、(x-1,y-1)、(x-1,y+1)、(x,y+1)、(x,y-1)。連續(xù)裂縫須在二值圖像中滿足8連通要求,每個連續(xù)裂縫作為一個單獨的裂縫體進行計算。
為提取主裂縫,首先需要提取出裂縫體的各端點及相交點。如圖4所示,1#、4#、5#、6#為該裂縫體的端點;2#、3#為該裂縫體的相交點。在相交點處進行分離,可將一個裂縫體分解為多條單獨的裂縫。
圖4 裂縫體分解及主裂縫提取
應(yīng)用中根據(jù)需求,可將分解的單條裂縫作為多個獨立裂縫分別進行寬度的計算及分析,也可視整個裂縫體為獨立裂縫計算寬度。本文選取后者,以裂縫體為單位提取最大、最小及平均寬度。
主裂縫是構(gòu)件的主要受力裂縫,是多條相交裂縫中長度相對較長、寬度相對較大的裂縫。Payab等[8]認為裂縫體可以視為由一條主裂縫和與其相連的若干條分支裂縫構(gòu)成,并提出了基于多叉樹理論的方法來提取裂縫體中的主裂縫。如圖5所示,將裂縫體的端點和相交點視為多叉樹的節(jié)點,將節(jié)點間相連的裂縫視為邊。指定某一根節(jié)點后,即生成多叉樹結(jié)構(gòu)。從深度最大子節(jié)點回溯至根節(jié)點所經(jīng)過的裂縫連接即形成主裂縫,如圖5紅色節(jié)點的回溯過程。
圖5 基于多叉樹理論提取主裂縫
在實際裂縫中的提取過程參見圖4,由1#-2#-3#-6#節(jié)點連接形成的裂縫即該裂縫體的主裂縫,其余部分為分支裂縫,這種組合描述方式展示了裂縫的形成過程,更好地反映了裂縫的本質(zhì)。
一個裂縫體中大部分分支裂縫寬度相對主裂縫小很多,計算平均寬度時若考慮分支裂縫的影響,會使計算出的平均寬度偏小,無法真實反映該裂縫主要受力部分的實際開裂程度。因此,宜以復(fù)雜裂縫體主裂縫的平均寬度作為該裂縫體平均寬度。
在實際提取主裂縫時,選取不同的根節(jié)點可能會提取出不同的主裂縫?;炷两Y(jié)構(gòu)物裂縫按形態(tài)分為橫向裂縫、縱向裂縫、斜向裂縫和網(wǎng)狀裂縫[9],其中網(wǎng)狀裂縫的關(guān)注重點為面積參量,另外三種裂縫應(yīng)選取不同的根節(jié)點來提取主裂縫。本文以裂縫體橫坐標(biāo)最小的像素點作為橫向及斜向裂縫的根節(jié)點,以縱坐標(biāo)最小的像素點作為縱向裂縫的根節(jié)點,由此提取出的主裂縫能夠更好地反映裂縫形態(tài)。
計算裂縫寬度時應(yīng)結(jié)合應(yīng)用場景和需求選擇合適的寬度定義。依據(jù)中國工程建設(shè)標(biāo)準(zhǔn)化協(xié)會擬定的《工程結(jié)構(gòu)數(shù)字圖像法檢測技術(shù)規(guī)程(征求意見稿)》,常用的裂縫寬度定義包括基于中軸線垂線的裂縫寬度、基于邊緣線最小距離的裂縫寬度、局部平均裂縫寬度、基于灰度的裂縫寬度等?;诓煌牧芽p寬度定義,所用的計算方法也不同。
基于裂縫兩條邊緣線與一條中軸線,經(jīng)過裂縫中軸線上待求寬度的某點,作通過該點的中軸線垂線,該垂線與兩條邊緣線的交點之間的距離即為該點的裂縫寬度[8,10]。具體的操作過程:①提取單獨裂縫的兩條邊緣線與一條中軸線;②確定中軸線上待求寬度的測點;③連接測點前后兩個相鄰的中軸線點,作為該點的切線方向,并經(jīng)過該測點作連接線的垂線,即該點的中軸線垂線;④提取該中軸線垂線與兩條邊緣線的交點;⑤計算兩個交點之間的距離。
計算過程[11]:①提取單獨裂縫的兩條邊緣線與一條中軸線;②確定中軸線上待求寬度的測點;③經(jīng)過該測點作任意直線與兩條邊緣線相交;④搜索所有直線與邊緣線兩個交點間的最小距離,即為該點的裂縫寬度。
局部平均裂縫寬度是通過某段裂縫閉合面積除以該段裂縫中軸線長度計算得出的[12]。由于計算的是局部平均值,因此得到的結(jié)果較為穩(wěn)定。局部平均裂縫寬度Wa的計算式為
式中:Sa為某段裂縫的局部面積;La為該段裂縫中軸線的長度。
該方法是根據(jù)裂縫局部的灰度濃度來評估裂縫寬度[13]。對細小裂縫圖片進行分析,可以發(fā)現(xiàn)不同寬度的裂縫局部灰度不同。寬度小的裂縫區(qū)域的平均灰度明顯低于寬度大的裂縫區(qū)域。整理試驗數(shù)據(jù),建立裂縫周圍平均灰度與裂縫寬度的對應(yīng)關(guān)系,從而通過灰度推算出裂縫的實際寬度。該方法突破了像素點的制約,識別更為精細,但裂縫寬度與平均灰度的對應(yīng)關(guān)系依賴于試驗數(shù)據(jù)的統(tǒng)計分析,理論性相對欠缺。
上述四種裂縫寬度計算方法在計算結(jié)果與精度上均有所差異。前兩種是精確定點計算方法,可識別裂縫上任意點的寬度;后兩種計算的是裂縫局部區(qū)域平均寬度,由于進行了平均化處理,可識別的裂縫寬度精度有所提升。為確保對裂縫寬度的精確計算,本文選擇以基于中軸線的裂縫寬度為定義進行計算。但試驗發(fā)現(xiàn)該方法的識別精度受限于圖像的精度,即最小識別裂縫寬度不會小于1個像素點,因此在計算細小裂縫寬度時誤差較大,識別精度與準(zhǔn)確度較低。為解決此問題,從突破像素點的限制角度考慮,以基于中軸線的裂縫寬度計算方法為基礎(chǔ),探索更精確的亞像素計算方法來提取裂縫寬度。
裂縫邊緣處的灰度變化率最大。利用這一特性,在法向模擬灰度變化近似曲線,導(dǎo)數(shù)最大處即為裂縫邊緣的精確位置。據(jù)此,基于三次Cardinal樣條插值法擬合出近似曲線,對亞像素精度的混凝土裂縫邊緣進行檢測。裂縫邊界點的擬合過程如下(圖6)。
圖6 裂縫邊界點擬合過程
1)裂縫中軸線上某一處法線方向上的一組點X(i)l定義為
式中:c(i)為該處中軸線上的點;kl為按升序排列的一系列整數(shù),0<kl≤2|r~(i)-c(i)|;r~(i)為該處右邊界點;表示方向。
5)同理,通過步驟(1)—步驟(4)可得裂縫亞像素級別的左邊界s~(i)。
6)利用左右邊界計算裂縫精確的寬度D(i),即
為了驗證上述方法的有效性,運用手推運行式巡檢平臺在無砟道床上進行混凝土結(jié)構(gòu)物圖像的實地采集。巡檢平臺參數(shù)見表1,采集圖像的精度(即單位像素尺寸)為0.1 mm。然后將預(yù)處理后的圖像數(shù)據(jù)輸入已訓(xùn)練完成的圖像分割模型中,從而自動識別并提取出裂縫區(qū)域。在此基礎(chǔ)上利用精度為0.01 mm的裂縫測寬儀進行人工測量,得到裂縫各處的真實寬度,作為驗證試驗的參考值。
表1 巡檢平臺參數(shù)
選取如圖7所示的包含清晰裂縫的圖像來驗證寬度計算方法的效果。在圖像中選取11個具有代表性的裂縫寬度測點,通過人工測量已知各測點實際寬度,并且通過分割網(wǎng)絡(luò)的輸出獲取裂縫在圖像中所占的像素點區(qū)域(以圖像左上角為坐標(biāo)原點)。
圖7 裂縫寬度測點
運用基于中軸線垂線的裂縫寬度的像素級計算方法和本文提出的結(jié)合三次Cardinal樣條插值擬合裂縫邊緣的亞像素級計算方法對裂縫寬度進行計算,并分別算出兩種方法的計算值與測量值的誤差和相對誤差。計算結(jié)果見表2。
表2 兩種方法的裂縫寬度計算結(jié)果
從表2可以看出,像素級方法得到的裂縫寬度誤差較大,而亞像素級方法得到的結(jié)果誤差較小,平均誤差為0.015 mm,最大誤差僅0.03 mm,計算精度得到了明顯提升。
《工程結(jié)構(gòu)數(shù)字圖像法檢測技術(shù)規(guī)程(征求意見稿)》中規(guī)定,裂縫寬度計算的相對誤差不宜大于20%??紤]系統(tǒng)的檢測精度要求為0.1 mm,將表2中人工測量寬度小于0.1 mm的測點(編號為1、2、7、8)予以剔除,其余各點的亞像素級方法得出的裂縫寬度最大相對誤差為16.7%,滿足要求。
為了進一步驗證該方法的泛化能力,另外選取了9張典型裂縫圖像進行試驗。已知圖像中裂縫某一點的人工測量寬度,利用亞像素級方法算出該點的寬度,并與測量值進行對比,結(jié)果見表3。
表3 9張典型裂縫圖像寬度的亞像素級方法計算結(jié)果
從表3可以看出,本文提出的寬度計算方法針對不同類型、不同寬度的裂縫均能夠得到較精確的計算結(jié)果,符合行業(yè)標(biāo)準(zhǔn),該方法具有良好的泛化性能。
本文針對混凝土結(jié)構(gòu)物表面裂縫寬度計算進行了深入探究。由于混凝土結(jié)構(gòu)物裂縫平均寬度的定義不明確導(dǎo)致計算結(jié)果難以標(biāo)準(zhǔn)化,因此定義復(fù)雜裂縫體的平均寬度為其主裂縫平均寬度。為減小寬度提取誤差,提升最小可識別裂縫寬度,基于中軸線垂線的裂縫寬度計算方法,通過三次Cardinal樣條插值擬合出裂縫的亞像素邊緣,計算出突破像素單位限制的更加精確的裂縫寬度。通過試驗驗證,利用本文提出的方法計算得到的裂縫寬度平均誤差為0.015 mm,最大誤差僅為0.03 mm,且針對不同類型、不同寬度的裂縫均能夠得到較精確的計算結(jié)果,符合行業(yè)標(biāo)準(zhǔn),驗證了該方法的有效性。
后續(xù)還需進一步增加試驗樣本,以測試論文算法在應(yīng)用場景中的計算效果。