廖祥燦,姚玉凱
(山東理工大學,山東 淄博 255000)
目前,中國正值基礎(chǔ)建設(shè)的高峰期,道路橋梁建設(shè)十分迅速,據(jù)交通運輸部發(fā)布的公報稱,中國橋梁數(shù)量已超過80萬座[1-2]。對于任何一個橋梁的工作服務(wù)周期而言,橋梁建設(shè)是一個相對很短的階段,其運營管理通常長達100年[3-4]。同時,過重車輛增多和超載現(xiàn)象頻發(fā),對橋梁的損害尤為嚴重,也對橋梁本身的性能要求越來越高,橋梁的檢測和維護工作尤為關(guān)鍵[5-7]。但現(xiàn)實中,普遍存在橋梁管理和養(yǎng)護部門力量不足、檢測技術(shù)和方法比較落后等問題,造成橋梁在發(fā)生病害后無法得到及時發(fā)現(xiàn)和養(yǎng)護[8-10]。據(jù)不完全統(tǒng)計,近幾年國內(nèi)橋梁事故已經(jīng)造成109人死亡,90人受傷,經(jīng)濟損失巨大。因此,如何高效、準確、經(jīng)濟、及時地獲取橋梁病害信息已成為橋梁檢測亟待解決的問題[11-15]。
由于長期暴露在外界環(huán)境中,橋梁上的部分病害區(qū)域與背景區(qū)域在橋梁表觀影像上呈現(xiàn)出較低的對比度,甚至出現(xiàn)某些裂縫間接性斷裂等問題,這給病害的檢測提取造成極大干擾,進而嚴重影響到影像分割的質(zhì)量[16-19]。橋梁表面裂縫病害識別的流程如圖1所示。

圖1 橋梁表面裂縫病害識別流程
通常情況下裂縫呈線狀走向,在經(jīng)過圖像二值化處理及濾波去噪后,可使圖像上的裂縫區(qū)域逐漸凸顯出來[20]。通過對二值化后的圖像進行長短軸之比的特征判斷,即可實現(xiàn)對橋梁表面裂縫病害的有效識別。
想要實現(xiàn)對一幅圖像進行目標對象與背景部分分割的目的,往往需要根據(jù)這2部分區(qū)域之間的差異進行目標對象的提取,而二者之間的差異往往體現(xiàn)在其公共邊緣部分。通常情況下,該邊緣部分兩邊的像素灰度值存在著較大的差異,這是進行圖像分割的重要依據(jù)。
圖像的梯度算子的計算公式如式(1)—式(6)所示,可見其實質(zhì)為該函數(shù)對應(yīng)的一階導(dǎo)數(shù)算子。

對應(yīng)的歐式距離梯度幅值和方向分別如下:

簡化可得:

其中:

本文采用小區(qū)域模板對該圖像進行卷積運算,以此來避免對每個像素進行計算所導(dǎo)致的較大數(shù)據(jù)運算量的產(chǎn)生。
在計算機語言中,通常使用鏈碼的表示方式對目標對象的邊界部分進行表示,即使用同時具有長度與方向的線段對邊界進行描述。通常情況下,同一幅圖像中所使用的鏈碼長度均相同,且對邊界起點使用絕對坐標進行描述,其他點均采用與起點之間的偏移情況來進行位置描述。
在計算機可理解范疇內(nèi),邊界即為邊界處相連而成的像素點的集合,目前進行邊界描述的最經(jīng)典的方法是方向鏈碼法,它通過曲線的起始點的絕對坐標以及曲線上相鄰像素點之間所組成線段的斜率來表示2個像素點之間的位置關(guān)系。
對于裂縫目標的提取需要根據(jù)其特征要素(如形狀、面積及外接橢圓長短軸之比等)進行目標判讀,但獲取到的目標像素點中除了裂縫目標以外,可能還有少部分的干擾噪聲存在其中。因此,還需要集合其灰度特征對篩選出的目標像素進行進一步判別,以更深層次地確定目標像素是否為裂縫。由于實際影像中的裂縫與周圍背景相比呈黑色分布,且這2部分的灰度值存在較大差異,因此提取所得的裂縫像素點通常在局部區(qū)域呈現(xiàn)較小的灰度值。
本文采用二值化后圖像的連通區(qū)域長短軸之比,求得裂縫目標的最小外接矩形內(nèi)部的像素點的灰度均值差,進而與確定的閾值進行大小比較來實現(xiàn)裂縫目標的最終判別。識別效果如圖2所示。

圖2 裂縫的識別和判定
本文采用商業(yè)數(shù)學軟件MATLAB(Ra2014)版本進行本次圖像處理系統(tǒng)的開發(fā)。
2.2.1 模塊設(shè)計
基于本次橋梁表面裂縫病害檢測的實際需求,本文開發(fā)了基于MATLAB圖像處理的有關(guān)橋梁表面裂縫檢測的程序。考慮到基于實際情況所要實現(xiàn)的軟件功能,可將軟件的模塊分為以下4個部分:①文件信息模塊。該模塊包含圖像名稱、尺寸大小及其所存儲路徑等屬性。②操作模塊。該模塊主要包括主菜單、子菜單及命令按鈕,對數(shù)據(jù)的處理操作均在該模塊實現(xiàn)。③結(jié)果顯示模塊。在對圖像進行處理后,需要將其進行展示,以便操作人員對處理后的圖像效果進行檢查并可對處理所得的數(shù)據(jù)參數(shù)進行查看。④數(shù)據(jù)存儲與導(dǎo)出模塊。在對圖像進行處理后可得到對應(yīng)操作的新的數(shù)據(jù)圖像,用戶可利用該模塊對生成的數(shù)據(jù)進行存儲;此外,該模塊還可生成新數(shù)據(jù)圖像所對應(yīng)的分析報告,以便用戶對該圖像處理操作后所得的數(shù)據(jù)成果進行評價。
2.2.2 工作流程
本次所開發(fā)的系統(tǒng)主要用于對橋梁表面的裂縫病害影像進行分割與識別。以下將對圖像加載后要進行的一系列工作流程進行簡要介紹,其流程如圖3所示。

圖3 軟件工作流程
2.3.1 數(shù)據(jù)來源
本研究中的橋梁裂縫數(shù)據(jù)通過SDNET2018橋梁裂縫數(shù)據(jù)集選取。SDNET2018包含超過56 000張開裂和非開裂混凝土橋面、墻體和路面的圖像。該數(shù)據(jù)集包括0.06~25 mm寬的裂縫;該數(shù)據(jù)集還包括具有各種障礙物的圖像,如陰影、表面粗糙度、縮放比例、邊緣、孔和背景碎片等障礙物圖片[21]。
2.3.2 裂縫識別實例演示
載入圖像及灰度化:在MATLAB環(huán)境下,運行主程序Main后,進入Guide打開橋梁表面裂縫檢測程序并運行。在處理模塊載入圖像文件中的裂縫影像,例如在對話框中選擇裂縫影像1.JPG,圖像顯示在主界面的左窗口中。
在載入圖像后,經(jīng)過處理轉(zhuǎn)為灰度圖,詳情如圖4所示。

圖4 載入裂縫影像及灰度化
直方圖均衡化:將裂縫影像進行直方圖均衡化,將裂縫影像的灰度范圍擴大到0~255,獲得較大的灰度動態(tài)范圍,如圖5所示。

圖5 直方圖均衡化
中值濾波:裂縫影像在采集或傳輸?shù)倪^程中,往往會受到成像設(shè)備和傳輸介質(zhì)等因素的干擾而產(chǎn)生噪聲,干擾實驗結(jié)果的判斷。經(jīng)過中值濾波后,裂縫影像的白色噪點明顯減少,如圖6所示。

圖6 中值濾波
對比度增強:裂縫影像由于在室外采集,容易受到大氣、陽光、無人機機械振動等因素的影響,造成裂縫影像整體偏暗或偏亮。對比度增強(伽馬變換)后,可以明顯改善裂縫影像的整體照度,更利于后面裂縫的識別,如圖7所示。

圖7 對比度增強(伽馬變換)
二值化處理及濾波:由于裂縫識別關(guān)心裂縫及周圍的紋理信息,將圖像轉(zhuǎn)換為二值圖像后,保留了裂縫的邊緣和形狀信息,簡化了其紋理信息,這樣可以提高裂縫識別的速度和效率,如圖8所示。

圖8 裂縫影像二值化
同時由于裂縫背景往往存在大量的細小空洞,需要進行二值濾波,得到更好的裂縫二值影像,如圖9所示。

圖9 二值影像濾波
裂縫識別和判斷:經(jīng)過二值化和二值濾波后的裂縫圖像,通過二值連通區(qū)域長短軸之比的特征對裂縫進行識別和判斷,如圖10所示。

圖10 裂縫識別和判斷
裂縫投影:將已識別的裂縫影像進行裂縫拼接,為了獲取裂縫區(qū)域的信息,采用像素積分投影的方式將裂縫的水平和垂直方向的積分分別投影,并繪制投影曲線,如圖11所示。

圖11 裂縫投影
裂縫標記和參數(shù)顯示:根據(jù)前面投影,對裂縫進行定位并標記,然后分別獲取裂縫的閾值信息、面積信息、長度信息、最大和最小寬度信息及方向,如圖12和圖13所示。

圖12 裂縫影像標記

圖13 顯示參數(shù)信息
保存和保存結(jié)果:將識別好的裂縫影像存儲并將裂縫的特征信息輸出到Excel中保存。
本實例演示了本次開發(fā)的橋梁裂縫識別軟件具體識別裂縫和提取裂縫特征的過程。首先實施一系列圖像預(yù)處理來突出裂縫目標,然后通過二值化及其裂縫特征對裂縫進行識別和特征提取,提高了橋梁表面裂縫檢測的自動化水平。其結(jié)果通過保存和數(shù)據(jù)入庫的方式進行數(shù)據(jù)保存,具有一定的適用范圍。
本程序采用圖像處理技術(shù)對橋梁表面無人機裂縫影像進行處理,然后對SDNET2018橋梁裂縫數(shù)據(jù)集的裂縫進行檢測驗證,結(jié)合梁橋裂縫識別程序判定出該橋梁現(xiàn)有的表面裂縫病害,對橋梁外觀檢測有一定創(chuàng)新和實際生產(chǎn)的意義。
無人機影像預(yù)處理還可以采用深度學習算法,這樣可以提高處理無人機影像預(yù)處理的適應(yīng)能力,使預(yù)處理后的無人機影像質(zhì)量更好,更利于后續(xù)處理。裂縫的識別可以采用神經(jīng)網(wǎng)絡(luò)的方法,對已有裂縫進行訓練,然后再去識別獲取的裂縫影像,這樣可以提高裂縫識別的準確率和效率。