徐 豐 孟 康 聶 鑫
(武漢工程大學(xué)土木工程與建筑學(xué)院 武漢 430074)
橋梁事故無(wú)論是對(duì)人們的出行還是生命安全方面都帶來(lái)不可預(yù)測(cè)的風(fēng)險(xiǎn),根據(jù)《城市橋梁檢測(cè)和養(yǎng)護(hù)維修管理辦法》中的說(shuō)明,城市人民政府市政工程設(shè)施行政主管部門應(yīng)該根據(jù)實(shí)情,需要定期定量的對(duì)大橋進(jìn)行維護(hù),經(jīng)常性檢查、定期檢測(cè)、特殊檢測(cè)。根據(jù)吉伯海等[1]的研究,橋梁事故發(fā)生的74%可以總結(jié)為施工,超載等人為因素,與橋梁的維護(hù)和裂紋檢測(cè)息息相關(guān)。但是往往人工檢測(cè)帶來(lái)大量的資源浪費(fèi)和效率低下,是否有一種自動(dòng)化的裂紋檢測(cè)滿足人們的需求。
近年來(lái),隨著圖像處理技術(shù)的發(fā)展,機(jī)器取代人工已經(jīng)變成一種大勢(shì)。如耿飛利用統(tǒng)籌的方法實(shí)現(xiàn)了對(duì)混凝土裂縫的量化研究及開裂面積的計(jì)算[2],曾燕華開展了基于計(jì)算機(jī)視覺的橋梁表面缺陷檢測(cè)技術(shù)[3],北京交通大學(xué)的張國(guó)旗開展了基于圖像處理的技術(shù)的橋梁裂縫檢測(cè)的研究[4],洪漢玉等利用特征提取將提取的偽特征進(jìn)行去除然后進(jìn)行識(shí)別[5],張維峰等實(shí)現(xiàn)數(shù)字圖像處理技術(shù)在橋梁裂紋測(cè)量中的應(yīng)用[6]。但是這些都存在一些問題:1)是他們的檢測(cè)都是在正常光照下進(jìn)行的,沒有考慮到橋底裂紋的光照的遮擋光照不足,逆光,反光等情況。2)是現(xiàn)有的檢測(cè)效果比較好的Canny算子[7],能很好地模糊圖像,對(duì)邊緣保存不是很好。所以在這一點(diǎn)上提出了改進(jìn)。
本文提出了在橋梁底部裂紋在光照不足或者昏暗的條件下進(jìn)行全局自適應(yīng)光照調(diào)整得到比較好的光照?qǐng)D片,然后用多個(gè)角度拍攝的圖像拼接[8]獲得底面的全橫截面圖像對(duì)橋地面可視化,運(yùn)用改進(jìn)的Canny算子測(cè)出裂紋的圖像,最后計(jì)算它們的長(zhǎng)和寬。
面向復(fù)雜光照條件下的橋底裂紋檢測(cè)與測(cè)量的流程圖見圖1。
圖1 橋梁裂紋檢測(cè)的流程圖
由于橋梁底部的裂紋是通過(guò)仰視拍攝得到的,受到光線的影響因素比較大,所以得先降低光照的影響。通過(guò)多個(gè)攝像頭在不同位置的拍攝情況,得到不同角度的照片,最后通過(guò)多個(gè)角度的圖片進(jìn)行圖像的拼接融合,把拼接融合的圖片用改進(jìn)的can?ny算子進(jìn)行計(jì)算,最后輸出圖中裂紋的像素長(zhǎng)寬。
在橋梁底部的裂紋圖片大部分是暗光的條件,裂縫被陰影遮擋或者光線暗的條件下會(huì)忽視甚至?xí)l(fā)現(xiàn)不了。在此基礎(chǔ)上考慮把原始圖片使用光照增強(qiáng)的技術(shù)來(lái)得到效果更好的圖片。
由于現(xiàn)在的關(guān)于橋梁底部的裂紋樣本比較少,使用深度學(xué)習(xí)的方法會(huì)產(chǎn)生比較大的誤差。于是可以采用傳統(tǒng)的方法進(jìn)行實(shí)驗(yàn)?,F(xiàn)有的一些光照增強(qiáng)的方法,如Ahn,Hyunchan等[9]提出了全局自適應(yīng)和局部自適應(yīng)的HDR實(shí)現(xiàn)過(guò)程,對(duì)HDR image進(jìn)行色調(diào)映射,現(xiàn)在大部分的光照增強(qiáng)的方法[10~11]都是對(duì)圖片顏色的恢復(fù)有一定的要求,但是該實(shí)驗(yàn)對(duì)橋梁底部裂紋的圖片會(huì)對(duì)光照增強(qiáng)的圖片進(jìn)行灰度化,沒有對(duì)顏色的要求,所以本文提出的方法是先把圖像從RGB空間轉(zhuǎn)換到Y(jié)UV空間,然后對(duì)亮度,進(jìn)行提升,然后轉(zhuǎn)換回RGB空間。這樣做只提升了圖像的亮度,而沒有提高色度和濃度,圖像會(huì)顯得很亮,但是色彩不夠鮮艷,符合實(shí)際檢測(cè)的需求。如圖2所示。
圖2 光照增強(qiáng)處理的圖片
其中圖2(a)是光照增強(qiáng)前的圖片,圖2(b)是使用全局自適應(yīng)原理進(jìn)行的光照增強(qiáng)的實(shí)驗(yàn)的效果圖。全局自適應(yīng)方法的原理如下具體公式如下:
上述式子中,Lg(x,y)代表全局自適應(yīng)處理的輸出結(jié)果;Lw(x,y)表示輸入圖像的亮度值;Lwmax表示輸入圖像亮度的最大值;表示輸入圖像的亮度值的對(duì)數(shù)平均值;其中,m*n代表圖像的尺寸。σ是一個(gè)很小值,為了防止遇到圖像中亮度為0的黑點(diǎn)的情況。
將多個(gè)不同角度攝像頭拍攝的圖像固定為大小尺寸一樣的原始圖像,并將不同角度拍攝的圖片進(jìn)行圖片的拼接融合[12],得到一個(gè)固定尺寸比較全面的拼接圖片。
在不同角度拍攝的橋梁裂紋圖片有可能大小都不同,讓裂紋檢測(cè)的精準(zhǔn)度不好把控。為解決這一問題,計(jì)算機(jī)視覺界引入了尺度不變特征的概念。它的理念是,不僅在任何尺度下拍攝的物體都能檢測(cè)到一致的關(guān)鍵點(diǎn),而且每個(gè)被檢測(cè)的特征點(diǎn)都對(duì)應(yīng)一個(gè)尺度因子。理想情況下,對(duì)于兩幅圖像中不同尺度的同一個(gè)物體點(diǎn),計(jì)算得到的兩個(gè)尺度因子之間的比率應(yīng)該等于圖像尺度的比率。文章使用:SURF特征。SURF全稱為“加速穩(wěn)健特征”(Speeded Up Robust Feature),將會(huì)看到,它們不僅是尺度不變特征,而且是具有較高計(jì)算效率的特征。拼接后的圖片有利于軟件實(shí)際的檢測(cè)。
2.3.1 圖片增強(qiáng)對(duì)比度
為了讓灰度化后的圖片更加的清晰,使背景和裂紋更加容易區(qū)分,使用圖片對(duì)比度增強(qiáng)的方法,具體公式如下:
在圖像像素中其中,參數(shù)f(x)表示源圖像像素,參數(shù)g(x)表示輸出圖像像素。參數(shù)a(需要滿足a>0)被稱為增益,常常被用來(lái)控制圖像的對(duì)比度。參數(shù)b通常被稱為偏置,常常被用來(lái)控制圖像的亮度。在圖片增加對(duì)比度之后可以明顯發(fā)現(xiàn)比較之前的圖片,增加對(duì)比度后的圖片中顯示的裂紋信息更加的清晰。
2.3.2 用改進(jìn)Canny邊緣算子檢測(cè)圖中裂紋
傳統(tǒng)的Canny邊緣檢測(cè)算子首先通過(guò)高斯濾波函數(shù)對(duì)圖像進(jìn)行濾波去噪,高斯濾波是基于空間域的一直濾波,離中心越近權(quán)重越大,能很好地模糊圖像,對(duì)邊緣保存不是很好。文章采用的是雙邊濾波(Bilateral blur)相對(duì)于傳統(tǒng)的高斯濾波來(lái)說(shuō)很重要的一個(gè)特性即可以保持邊緣,這個(gè)特點(diǎn)對(duì)于一些圖像模糊來(lái)說(shuō)很有用。一般的高斯模糊在進(jìn)行采樣時(shí)主要考慮了像素間的空間距離關(guān)系,但是卻并沒有考慮像素值之間的相似程度,因此這樣得到的模糊結(jié)果通常是整張圖片一團(tuán)模糊。Bilateral blur的改進(jìn)就在于在采樣時(shí)不僅考慮像素在空間距離上的關(guān)系,同時(shí)加入了像素間的相似程度考慮,因而可以保持原始圖像的大體分塊進(jìn)而保持邊緣。雙邊濾波的具體公式如下:
g(i,j)代表輸出點(diǎn);S(i,j)的是指以(i,j)為中心的(2N+1)(2N+1)的大小的范圍;f(k,l)代表(多個(gè))輸入點(diǎn);w(i,j,k,l)代表經(jīng)過(guò)兩個(gè)高斯函數(shù)計(jì)算出的值。ws為空間臨近高斯函數(shù),wr為像素值相似度高斯函數(shù):
可以看到,w是ws和wr的乘積。對(duì)于ws來(lái)說(shuō),這就是普通的高斯濾波函數(shù),其代入的坐標(biāo),σ是程序輸入值,該函數(shù)是在空間臨近度上計(jì)算的。而wr是計(jì)算像素值相似度(顏色空間),注意,這就是高斯函數(shù)代入坐標(biāo)值,2的上方是范數(shù),在這里的值為|f(i,j)—f(k,l)|2。也就是兩個(gè)點(diǎn)像素值差值的絕對(duì)值的平方。其中,彩色圖片計(jì)算差值時(shí)應(yīng)將(i,j)點(diǎn)的RGB三通道值之和減去(k,l)點(diǎn)的RGB三通道值之和。這里是顏色空間計(jì)算,不能當(dāng)成單通道,但是在最后矩陣卷積時(shí),是單通道與權(quán)值相乘而不是三個(gè)通道之和。
2.3.3 裂紋測(cè)量方法
一些學(xué)者為測(cè)量圖像中的裂紋長(zhǎng)度或者像素提出過(guò)很多的方法[13~14]。為測(cè)得圖片中清晰可見的裂紋,文章提出另外一種簡(jiǎn)單的計(jì)算裂縫長(zhǎng)度和寬度的方法,提高測(cè)量的精度。該方法的基本思想是先通過(guò)腐蝕膨脹的操作去除孤立的點(diǎn),然后細(xì)化圖像中的裂縫邊緣,然后再統(tǒng)計(jì)細(xì)化后圖像中的白色像素點(diǎn)的個(gè)數(shù),并將該數(shù)值作為裂縫的長(zhǎng)度CL,可以用裂縫的平均寬度CW來(lái)表示裂縫的寬度,計(jì)算公式如下:
式中,Area為裂縫區(qū)域的面積,CL為裂縫的長(zhǎng)度。其中Area區(qū)域的面積一般是指各個(gè)連通區(qū)域中所包含的像素的個(gè)數(shù),可以用來(lái)衡量連通域的大小。其計(jì)算步驟如下:
1)用M*N矩陣來(lái)表示圖像B,將所有連通域的面積變量Arealabel的初始值都設(shè)為0。
2)按自左向右,自上向下的順序遍歷圖像矩陣B中的所有像素,當(dāng)像素點(diǎn)的標(biāo)記label非零時(shí),將該像素所在區(qū)域的面積加一,即:
3)當(dāng)遍歷完圖像B后,各區(qū)域的面積則保存在相應(yīng)的Arealabel變量中。
如圖3,圖中的第一列是選取的在光照條件不足或昏暗條件下選取的原始圖片,第二列是原始圖片檢測(cè)的裂紋效果,第三列是把原始圖片使用光照增強(qiáng)后的圖片,第四列是光照增強(qiáng)后檢測(cè)的裂紋效果圖,從圖中可以明顯看出加了光照后檢測(cè)的效果會(huì)更好。
圖3 原始圖片與光照增強(qiáng)圖片的對(duì)比
該實(shí)驗(yàn)選取50張圖片進(jìn)行光照測(cè)試,分別計(jì)算原始圖片和光照增強(qiáng)圖片后檢測(cè)的裂紋個(gè)數(shù),從表中就可以看出加了光照增強(qiáng)效果的圖片測(cè)得的圖片裂紋數(shù)更多。如表1所示。
表1 計(jì)算的裂紋個(gè)數(shù)
圖4中(a)是原始圖片;(b)是馬衛(wèi)飛[15]用深度學(xué)習(xí)BCDCGN模型檢測(cè) 后的圖片;(c)是楊先鳳[16]用Canny算子檢測(cè)油管裂紋,在這里顯示的是檢測(cè)橋梁的底部裂紋后的圖片;(d)是文章使用的方法用改進(jìn)的Canny算子經(jīng)過(guò)變換后檢測(cè)出來(lái)的圖片,可以清晰地看見(d)的效果圖是最好的。
圖4 各種算法的對(duì)比
該部分通過(guò)拍攝的幾組裂紋圖片進(jìn)行實(shí)驗(yàn),分別通過(guò)幾種方法對(duì)圖片進(jìn)行識(shí)別,分別計(jì)算出它們的像素長(zhǎng)和像素寬,最后求取幾組實(shí)驗(yàn)的平均值,根據(jù)平均值計(jì)算出它們的實(shí)際長(zhǎng)度,最后根據(jù)真實(shí)的長(zhǎng)度計(jì)算它們的誤差。如圖5顯示的就是文章改進(jìn)的Canny算子檢測(cè)出圖片中裂紋的像素長(zhǎng)和像素寬。
圖5 對(duì)圖中裂紋的測(cè)量
表2針對(duì)的是檢測(cè)方法中用到的幾種邊緣檢測(cè)算子的檢測(cè)結(jié)果,通過(guò)檢測(cè)出它們的像素長(zhǎng)度和像素寬度,根據(jù)實(shí)際計(jì)算后與真實(shí)值的對(duì)比。實(shí)驗(yàn)一共分為兩組,檢測(cè)了200張橋梁地面裂紋的圖片,每組為100張圖片。
表2 圖片中裂紋大小計(jì)算和實(shí)際值的對(duì)比
表2中的識(shí)別尺度是經(jīng)過(guò)圖片中裂紋檢測(cè)出的像素根據(jù)實(shí)際的比例進(jìn)行計(jì)算取平均值后的結(jié)果,根據(jù)表中的內(nèi)容可以看出,改進(jìn)的Canny算子經(jīng)過(guò)一系列的計(jì)算后的誤差與別的算法對(duì)比可以看出明顯的優(yōu)勢(shì)。
本文對(duì)橋梁的底部裂紋的檢測(cè)識(shí)別進(jìn)行了研究。對(duì)于檢測(cè)橋梁的底部裂紋的圖片清晰度和光照的問題,采用光照增強(qiáng)的方法,然后進(jìn)一步對(duì)圖像進(jìn)行處理和檢測(cè)并且計(jì)算出相應(yīng)的像素值,取得了比較好的效果。實(shí)驗(yàn)結(jié)果表明論文中提出的算法具有較強(qiáng)的穩(wěn)定性和準(zhǔn)確性,可以有效地解決橋梁底部裂紋檢測(cè)和測(cè)量的問題。