廖祥燦,姚玉凱
(山東理工大學(xué),山東 淄博 255000)
目前,中國(guó)正值基礎(chǔ)建設(shè)的高峰期,道路橋梁建設(shè)十分迅速,據(jù)交通運(yùn)輸部發(fā)布的公報(bào)稱,中國(guó)橋梁數(shù)量已超過80萬(wàn)座[1-2]。對(duì)于任何一個(gè)橋梁的工作服務(wù)周期而言,橋梁建設(shè)是一個(gè)相對(duì)很短的階段,其運(yùn)營(yíng)管理通常長(zhǎng)達(dá)100年[3-4]。同時(shí),過重車輛增多和超載現(xiàn)象頻發(fā),對(duì)橋梁的損害尤為嚴(yán)重,也對(duì)橋梁本身的性能要求越來越高,橋梁的檢測(cè)和維護(hù)工作尤為關(guān)鍵[5-7]。但現(xiàn)實(shí)中,普遍存在橋梁管理和養(yǎng)護(hù)部門力量不足、檢測(cè)技術(shù)和方法比較落后等問題,造成橋梁在發(fā)生病害后無(wú)法得到及時(shí)發(fā)現(xiàn)和養(yǎng)護(hù)[8-10]。據(jù)不完全統(tǒng)計(jì),近幾年國(guó)內(nèi)橋梁事故已經(jīng)造成109人死亡,90人受傷,經(jīng)濟(jì)損失巨大。因此,如何高效、準(zhǔn)確、經(jīng)濟(jì)、及時(shí)地獲取橋梁病害信息已成為橋梁檢測(cè)亟待解決的問題[11-15]。
由于長(zhǎng)期暴露在外界環(huán)境中,橋梁上的部分病害區(qū)域與背景區(qū)域在橋梁表觀影像上呈現(xiàn)出較低的對(duì)比度,甚至出現(xiàn)某些裂縫間接性斷裂等問題,這給病害的檢測(cè)提取造成極大干擾,進(jìn)而嚴(yán)重影響到影像分割的質(zhì)量[16-19]。橋梁表面裂縫病害識(shí)別的流程如圖1所示。
圖1 橋梁表面裂縫病害識(shí)別流程
通常情況下裂縫呈線狀走向,在經(jīng)過圖像二值化處理及濾波去噪后,可使圖像上的裂縫區(qū)域逐漸凸顯出來[20]。通過對(duì)二值化后的圖像進(jìn)行長(zhǎng)短軸之比的特征判斷,即可實(shí)現(xiàn)對(duì)橋梁表面裂縫病害的有效識(shí)別。
想要實(shí)現(xiàn)對(duì)一幅圖像進(jìn)行目標(biāo)對(duì)象與背景部分分割的目的,往往需要根據(jù)這2部分區(qū)域之間的差異進(jìn)行目標(biāo)對(duì)象的提取,而二者之間的差異往往體現(xiàn)在其公共邊緣部分。通常情況下,該邊緣部分兩邊的像素灰度值存在著較大的差異,這是進(jìn)行圖像分割的重要依據(jù)。
圖像的梯度算子的計(jì)算公式如式(1)—式(6)所示,可見其實(shí)質(zhì)為該函數(shù)對(duì)應(yīng)的一階導(dǎo)數(shù)算子。
對(duì)應(yīng)的歐式距離梯度幅值和方向分別如下:
簡(jiǎn)化可得:
其中:
本文采用小區(qū)域模板對(duì)該圖像進(jìn)行卷積運(yùn)算,以此來避免對(duì)每個(gè)像素進(jìn)行計(jì)算所導(dǎo)致的較大數(shù)據(jù)運(yùn)算量的產(chǎn)生。
在計(jì)算機(jī)語(yǔ)言中,通常使用鏈碼的表示方式對(duì)目標(biāo)對(duì)象的邊界部分進(jìn)行表示,即使用同時(shí)具有長(zhǎng)度與方向的線段對(duì)邊界進(jìn)行描述。通常情況下,同一幅圖像中所使用的鏈碼長(zhǎng)度均相同,且對(duì)邊界起點(diǎn)使用絕對(duì)坐標(biāo)進(jìn)行描述,其他點(diǎn)均采用與起點(diǎn)之間的偏移情況來進(jìn)行位置描述。
在計(jì)算機(jī)可理解范疇內(nèi),邊界即為邊界處相連而成的像素點(diǎn)的集合,目前進(jìn)行邊界描述的最經(jīng)典的方法是方向鏈碼法,它通過曲線的起始點(diǎn)的絕對(duì)坐標(biāo)以及曲線上相鄰像素點(diǎn)之間所組成線段的斜率來表示2個(gè)像素點(diǎn)之間的位置關(guān)系。
對(duì)于裂縫目標(biāo)的提取需要根據(jù)其特征要素(如形狀、面積及外接橢圓長(zhǎng)短軸之比等)進(jìn)行目標(biāo)判讀,但獲取到的目標(biāo)像素點(diǎn)中除了裂縫目標(biāo)以外,可能還有少部分的干擾噪聲存在其中。因此,還需要集合其灰度特征對(duì)篩選出的目標(biāo)像素進(jìn)行進(jìn)一步判別,以更深層次地確定目標(biāo)像素是否為裂縫。由于實(shí)際影像中的裂縫與周圍背景相比呈黑色分布,且這2部分的灰度值存在較大差異,因此提取所得的裂縫像素點(diǎn)通常在局部區(qū)域呈現(xiàn)較小的灰度值。
本文采用二值化后圖像的連通區(qū)域長(zhǎng)短軸之比,求得裂縫目標(biāo)的最小外接矩形內(nèi)部的像素點(diǎn)的灰度均值差,進(jìn)而與確定的閾值進(jìn)行大小比較來實(shí)現(xiàn)裂縫目標(biāo)的最終判別。識(shí)別效果如圖2所示。
圖2 裂縫的識(shí)別和判定
本文采用商業(yè)數(shù)學(xué)軟件MATLAB(Ra2014)版本進(jìn)行本次圖像處理系統(tǒng)的開發(fā)。
2.2.1 模塊設(shè)計(jì)
基于本次橋梁表面裂縫病害檢測(cè)的實(shí)際需求,本文開發(fā)了基于MATLAB圖像處理的有關(guān)橋梁表面裂縫檢測(cè)的程序??紤]到基于實(shí)際情況所要實(shí)現(xiàn)的軟件功能,可將軟件的模塊分為以下4個(gè)部分:①文件信息模塊。該模塊包含圖像名稱、尺寸大小及其所存儲(chǔ)路徑等屬性。②操作模塊。該模塊主要包括主菜單、子菜單及命令按鈕,對(duì)數(shù)據(jù)的處理操作均在該模塊實(shí)現(xiàn)。③結(jié)果顯示模塊。在對(duì)圖像進(jìn)行處理后,需要將其進(jìn)行展示,以便操作人員對(duì)處理后的圖像效果進(jìn)行檢查并可對(duì)處理所得的數(shù)據(jù)參數(shù)進(jìn)行查看。④數(shù)據(jù)存儲(chǔ)與導(dǎo)出模塊。在對(duì)圖像進(jìn)行處理后可得到對(duì)應(yīng)操作的新的數(shù)據(jù)圖像,用戶可利用該模塊對(duì)生成的數(shù)據(jù)進(jìn)行存儲(chǔ);此外,該模塊還可生成新數(shù)據(jù)圖像所對(duì)應(yīng)的分析報(bào)告,以便用戶對(duì)該圖像處理操作后所得的數(shù)據(jù)成果進(jìn)行評(píng)價(jià)。
2.2.2 工作流程
本次所開發(fā)的系統(tǒng)主要用于對(duì)橋梁表面的裂縫病害影像進(jìn)行分割與識(shí)別。以下將對(duì)圖像加載后要進(jìn)行的一系列工作流程進(jìn)行簡(jiǎn)要介紹,其流程如圖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 裂縫識(shí)別實(shí)例演示
載入圖像及灰度化:在MATLAB環(huán)境下,運(yùn)行主程序Main后,進(jìn)入Guide打開橋梁表面裂縫檢測(cè)程序并運(yùn)行。在處理模塊載入圖像文件中的裂縫影像,例如在對(duì)話框中選擇裂縫影像1.JPG,圖像顯示在主界面的左窗口中。
在載入圖像后,經(jīng)過處理轉(zhuǎn)為灰度圖,詳情如圖4所示。
圖4 載入裂縫影像及灰度化
直方圖均衡化:將裂縫影像進(jìn)行直方圖均衡化,將裂縫影像的灰度范圍擴(kuò)大到0~255,獲得較大的灰度動(dòng)態(tài)范圍,如圖5所示。
圖5 直方圖均衡化
中值濾波:裂縫影像在采集或傳輸?shù)倪^程中,往往會(huì)受到成像設(shè)備和傳輸介質(zhì)等因素的干擾而產(chǎn)生噪聲,干擾實(shí)驗(yàn)結(jié)果的判斷。經(jīng)過中值濾波后,裂縫影像的白色噪點(diǎn)明顯減少,如圖6所示。
圖6 中值濾波
對(duì)比度增強(qiáng):裂縫影像由于在室外采集,容易受到大氣、陽(yáng)光、無(wú)人機(jī)機(jī)械振動(dòng)等因素的影響,造成裂縫影像整體偏暗或偏亮。對(duì)比度增強(qiáng)(伽馬變換)后,可以明顯改善裂縫影像的整體照度,更利于后面裂縫的識(shí)別,如圖7所示。
圖7 對(duì)比度增強(qiáng)(伽馬變換)
二值化處理及濾波:由于裂縫識(shí)別關(guān)心裂縫及周圍的紋理信息,將圖像轉(zhuǎn)換為二值圖像后,保留了裂縫的邊緣和形狀信息,簡(jiǎn)化了其紋理信息,這樣可以提高裂縫識(shí)別的速度和效率,如圖8所示。
圖8 裂縫影像二值化
同時(shí)由于裂縫背景往往存在大量的細(xì)小空洞,需要進(jìn)行二值濾波,得到更好的裂縫二值影像,如圖9所示。
圖9 二值影像濾波
裂縫識(shí)別和判斷:經(jīng)過二值化和二值濾波后的裂縫圖像,通過二值連通區(qū)域長(zhǎng)短軸之比的特征對(duì)裂縫進(jìn)行識(shí)別和判斷,如圖10所示。
圖10 裂縫識(shí)別和判斷
裂縫投影:將已識(shí)別的裂縫影像進(jìn)行裂縫拼接,為了獲取裂縫區(qū)域的信息,采用像素積分投影的方式將裂縫的水平和垂直方向的積分分別投影,并繪制投影曲線,如圖11所示。
圖11 裂縫投影
裂縫標(biāo)記和參數(shù)顯示:根據(jù)前面投影,對(duì)裂縫進(jìn)行定位并標(biāo)記,然后分別獲取裂縫的閾值信息、面積信息、長(zhǎng)度信息、最大和最小寬度信息及方向,如圖12和圖13所示。
圖12 裂縫影像標(biāo)記
圖13 顯示參數(shù)信息
保存和保存結(jié)果:將識(shí)別好的裂縫影像存儲(chǔ)并將裂縫的特征信息輸出到Excel中保存。
本實(shí)例演示了本次開發(fā)的橋梁裂縫識(shí)別軟件具體識(shí)別裂縫和提取裂縫特征的過程。首先實(shí)施一系列圖像預(yù)處理來突出裂縫目標(biāo),然后通過二值化及其裂縫特征對(duì)裂縫進(jìn)行識(shí)別和特征提取,提高了橋梁表面裂縫檢測(cè)的自動(dòng)化水平。其結(jié)果通過保存和數(shù)據(jù)入庫(kù)的方式進(jìn)行數(shù)據(jù)保存,具有一定的適用范圍。
本程序采用圖像處理技術(shù)對(duì)橋梁表面無(wú)人機(jī)裂縫影像進(jìn)行處理,然后對(duì)SDNET2018橋梁裂縫數(shù)據(jù)集的裂縫進(jìn)行檢測(cè)驗(yàn)證,結(jié)合梁橋裂縫識(shí)別程序判定出該橋梁現(xiàn)有的表面裂縫病害,對(duì)橋梁外觀檢測(cè)有一定創(chuàng)新和實(shí)際生產(chǎn)的意義。
無(wú)人機(jī)影像預(yù)處理還可以采用深度學(xué)習(xí)算法,這樣可以提高處理無(wú)人機(jī)影像預(yù)處理的適應(yīng)能力,使預(yù)處理后的無(wú)人機(jī)影像質(zhì)量更好,更利于后續(xù)處理。裂縫的識(shí)別可以采用神經(jīng)網(wǎng)絡(luò)的方法,對(duì)已有裂縫進(jìn)行訓(xùn)練,然后再去識(shí)別獲取的裂縫影像,這樣可以提高裂縫識(shí)別的準(zhǔn)確率和效率。