孫樂樂,溫常磊,張亞坤,王 健,鐘永元
(1.長安大學(xué)信息工程學(xué)院,西安 710064;2.長安大學(xué)汽車學(xué)院,西安 710064;3.福建省高速技術(shù)咨詢有限公司,福州 350001)
近年來,我國修建了許多公路橋梁尤其是特長橋梁及跨海大橋,橋梁后期的安全問題越來越引發(fā)人們關(guān)注.橋面、橋墩等部位的裂縫作為主要病害影響橋梁后期的運(yùn)營安全.如果在定期的保養(yǎng)檢修中及時(shí)發(fā)現(xiàn)病害并進(jìn)行早期處置,可提升橋梁的安全性,降低事故帶來的損失.人工視覺檢測不僅難以實(shí)施,且耗費(fèi)財(cái)力.計(jì)算機(jī)圖像技術(shù)的飛速發(fā)展可以實(shí)現(xiàn)橋面照片裂縫的自動(dòng)化檢測.
國內(nèi)外相關(guān)學(xué)者專家對于橋梁裂縫檢測進(jìn)行了大量的研究.Ikhlas Abdel-Qader等[1]利用Sobel算子和傅里葉變換對裂縫進(jìn)行了研究,通過實(shí)驗(yàn)分析,該法對單一病害效果不錯(cuò),對有噪聲的裂縫圖像處理結(jié)果不好.Yusuke Fujita等[2]研究了一種基于Hessian矩陣濾波法識別裂縫.Tomoyuld Yamguchi等根據(jù)順序相似性探測原理,提出一種快速檢測算法.馬常霞等[3]提出一種基于非下采樣的contourlet變換,該算法可以識別有噪聲的裂縫圖像.Xu等[4]對裂縫識別提出了幾種不同的濾波方式,在以后的裂縫濾波中可通過此文選擇合適的濾波方式.Prasanna等[5]研究了一種空間解調(diào)魯棒特征分類器,識別精度得到提高.綜合運(yùn)用了小波和Radon變換圖像分割等方法,提出了較完善的檢測流程[6-7].隨著深度學(xué)習(xí)的興起,Zhang等[8]在進(jìn)行裂縫檢測時(shí)運(yùn)用了深度卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)包括訓(xùn)練和驗(yàn)證2部分,對訓(xùn)練集的圖像進(jìn)行訓(xùn)練,然后對訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行驗(yàn)證,通過計(jì)算圖像的塊中心點(diǎn)是裂縫像素的概率,最終得到整幅圖像各像素的計(jì)算概率.李清泉等[9]也提出了最小路徑搜索的檢測方法.該法將檢測到的裂縫的兩端點(diǎn)形成檢測框,從而不斷尋找具有低灰度的像素,將低灰度像素的最小路徑作為檢測結(jié)果.
以上方法雖然在噪聲和精度方面取得了不錯(cuò)的效果,但在霧霾天氣或能見度較低的橋梁檢測中,傳統(tǒng)的裂縫識別算法準(zhǔn)確率顯降低.因此,提出一種在霧霾天氣亦能檢測橋梁裂縫的算法很有必要的.
本文針對霧霾天氣或者能見度不高的情況,提出了一種改進(jìn)的裂縫檢測方法,解決了在不良天氣下橋梁裂縫識別準(zhǔn)確率較低這一問題,該方法分為2個(gè)模塊,圖像去霧模塊和裂縫檢測模塊,其中圖像去霧模塊主要用于前期圖像處理,去除圖像中的霧霾為裂縫檢測提供圖像的輸入,裂縫檢測模塊主要用于檢驗(yàn)識別裂縫的類型(橫裂、縱裂、網(wǎng)裂),及時(shí)制定合適的橋梁裂縫解決方案.
本文檢測方法由2個(gè)算法,即暗通道先驗(yàn)去霧算法和數(shù)字圖像處理裂縫檢測.在進(jìn)行裂縫檢測時(shí),如果是霧霾天氣則先對圖像進(jìn)行去霧處理,再對去霧后的圖像進(jìn)行裂縫檢測,如果是無霧圖片直接進(jìn)行裂縫檢測即可.流程圖如圖1.
圖1 裂縫識別流程圖
在圖像處理領(lǐng)域中,Mccartney等[10]提出了大氣物理模型,后該模型被廣泛用于描述霧霾圖像的退化,原理式(1).
I(x)=J(x)t(x)+A(1-t(x))
(1)
式中,J為去霧后的圖像;I為原有霧圖像;A為大氣光值;t(x)為透射率,描述的是景物光線通過媒介物質(zhì)到達(dá)接收端被散射的比率.整個(gè)模型圍繞2個(gè)未知參數(shù)A和t的求解展開.
He[11]提出了暗通道的定義:在大部分的非天空區(qū)域的像素里,RGB三通道中總會(huì)存在至少一個(gè)像素很低的通道值如式(2):
(2)
式中,Ω(x)為以x為中心的窗口;c為RGB中某個(gè)通道;Jc(y)為圖像中某顏色通道中的某個(gè)像素點(diǎn),Jdark(x)為求取的暗通道圖,求取原理如圖2.
圖2 暗通道示意圖
對RGB三通道圖像分別求取以x為中心的窗口Ω內(nèi)最小值,將求取的3個(gè)值中的最小值作為與x位置相對應(yīng)的暗通道圖的像素點(diǎn).
經(jīng)過對大量的圖像數(shù)據(jù)進(jìn)行研究,發(fā)現(xiàn)大部分暗通道的值都趨近于0,見式(3):
Jdark→0
(3)
求解無霧圖像時(shí)有2個(gè)未知參數(shù),在此假設(shè)大氣光值A(chǔ)已知,將式(1)兩邊同時(shí)除以A,得到式(4):
(4)
式中,Ic(x)為去霧后圖像RGB中的某一通道值;Ac為RGB三通道中的某一通道大氣光值.
對式(4)兩邊求取其暗通道,得到式(5):
(5)
將式(3)(5)相聯(lián)立得透射率t值,見式(6):
(6)
在晴朗的天空中也會(huì)存在些許霧霾顆粒,當(dāng)看遠(yuǎn)處物體時(shí),會(huì)在視覺上感到霧霾依舊存在.霧的存在可以使人們感知深度,有空間感.因此為了還原景深效果,保證其真實(shí)性,引入?yún)?shù)ω來調(diào)節(jié)去霧效果,ω的值通常要根據(jù)實(shí)際情況而定,本文經(jīng)過實(shí)驗(yàn)驗(yàn)證,將ω設(shè)為0.79,此時(shí)t的求解見式(7):
(7)
在t的求解過程中假設(shè)A為已知,因此,在這里需要將A的值進(jìn)行求解.在求解暗通道圖像后,選取最亮的前0.1%個(gè)點(diǎn),將與這0.1%個(gè)點(diǎn)相同坐標(biāo)的原真彩圖對應(yīng)位置像素取其平均作為大氣光值A(chǔ).
在A和t的初始值求出以后,對透射率進(jìn)行細(xì)化He又提出了導(dǎo)向?yàn)V波算法[12],該法優(yōu)化了運(yùn)算時(shí)間和透射率t.該算法是一種邊緣保留型濾波器,對輸入圖像進(jìn)行處理,通過引導(dǎo)圖來判斷邊緣和區(qū)域,進(jìn)而得到效果比較好的圖像見式(8):
qi=akIi+bk,?i∈ωk
(8)
式中,ak和bk表示當(dāng)窗口中心位于k時(shí)的常數(shù)系數(shù);I為引導(dǎo)圖,可以是單幅圖像也可以是圖像自身;q為輸出圖像;ωk為以k為中心的方形鄰域.
現(xiàn)有的已知條件是輸入圖像p、引導(dǎo)圖I,需要求解圖像q,所以需要求系數(shù)ak和bk.圖像p由圖像q在噪聲m影響下產(chǎn)生,因此有式(9):
mi=qi-pi
(9)
為了使輸出值和真實(shí)值的差值盡可能的小,需要對式(8)中ak和bk求最優(yōu)解,求取最優(yōu)解時(shí)需式(9)的平方最小,再根據(jù)正則化使式(10)最小.
(10)
式中,E(ak,bk)為正則化后結(jié)果;ε為防止ak過大的正參數(shù);由最小二值法通過線性回歸求解后,得式(11):
(11)
在對窗口的線性系數(shù)進(jìn)行計(jì)算時(shí),會(huì)發(fā)現(xiàn)多個(gè)交叉的窗口內(nèi)可都含有同一個(gè)像素,為了更加準(zhǔn)確地求某一點(diǎn)的輸出值時(shí),需要將包含該點(diǎn)的所有線性函數(shù)對應(yīng)的函數(shù)值求和并取平均值見式(12):
(12)
在導(dǎo)向?yàn)V波優(yōu)化透射率時(shí)需要對像素求平均值,本文用到了boxfilter(塊狀濾波)也稱盒子濾波,它的功能是對窗口內(nèi)的所有像素快速求和.經(jīng)實(shí)驗(yàn)顯示,用盒子濾波求和后的去霧時(shí)間僅為4.79 s,與原來的7.04 s相比,速度提升了31%.原理如圖3.
圖3 盒子濾波原理
首先,對每列像素求和,求和結(jié)果存儲(chǔ)在對應(yīng)列的三角形里.然后,對窗口下的三角形相加求和,此時(shí)的值就是矩形窗口的像素總和.
計(jì)算下個(gè)窗口內(nèi)像素和時(shí),矩形窗口向右移1列,則整個(gè)窗口和原來相比,在右邊增加了1列,左側(cè)減少了1列.此時(shí)的矩形窗口的像素和為原窗口的和加窗口下最右邊三角形(新增添)的值并減去最左邊三角形的值,此時(shí)的值是新的矩形窗口內(nèi)像素總和.
當(dāng)整個(gè)矩形平移到圖片右側(cè)邊緣時(shí),需要重新從最左側(cè)開始,此時(shí)矩形窗口向下移一個(gè)像素并平移到最左邊,此時(shí)窗口內(nèi)像素總和為原豎直方向上一個(gè)窗口像素和加上窗口內(nèi)新增添的5個(gè)像素之和并減去窗口上端減少5個(gè)像素之和.
通過上述A和t的求解,結(jié)合大氣物理模型,可得去霧式(13):
(13)
式中,A和t均已得出;t0為一個(gè)閾值.當(dāng)t很小時(shí),由式(8)知會(huì)導(dǎo)致J值偏大,從而造成圖像過亮發(fā)白,因此這里設(shè)置一個(gè)閾值t0來防止透射率過大,本文將此值設(shè)為0.1,當(dāng)求得的t值小于t0時(shí),令t(x)=t0.去霧整個(gè)流程如圖4所示:
圖4 去霧流程圖
橋梁裂縫的成因錯(cuò)綜復(fù)雜,一般情況下,寬度小于0.1 mm的裂縫屬于正常裂縫,寬度大于0.2 mm的裂縫會(huì)存在安全風(fēng)險(xiǎn),發(fā)現(xiàn)裂縫后如果不及時(shí)處理,裂縫的寬度和深度會(huì)擴(kuò)大和加深[13],從而影響到橋梁的安全.通常,橋梁裂縫分為3種,橫向裂縫,縱向裂縫和網(wǎng)狀裂縫[14].
1)將去霧后的圖進(jìn)行灰度化,在此文的灰度化用的是加權(quán)平均法見式(14):
I(i,j)=0.3R(i,j)+0.59G(i,j)+0.11B(i,j)
(14)
式中,I(i,j)為灰度化后圖像的像素值,R(i,j)為紅色通道像素值,G(i,j)為綠色通道像素值,B(i,j)為藍(lán)色通道像素值.
2)均值濾波,去除噪聲.這里的模版大小是以1/9為模板值的3×3模板.
式中J為均值濾波模版.
3)裂縫的邊緣特征提取和圖像分割.邊緣有2個(gè)特性,1個(gè)是方向另1個(gè)則是幅度,邊緣與周圍像素的差值較大,邊緣幅度的走向沿著它的方向的比較平緩,垂直與它的方向則變化劇烈.Sobel算子計(jì)算速度快,效果好,這里采用sobel算子進(jìn)行邊緣特征提取,該算子實(shí)質(zhì)上兩組3×3的矩陣,X和Y方向,分別與圖像A做卷積對其平方和取根號求梯度.
水平方向模版式(15):
(15)
垂直方向模版見式(16):
(16)
每個(gè)點(diǎn)梯度的大小見式(17):
(17)
圖像分割這里采用OTSU算法,又稱最大類間方差法,此方法的優(yōu)點(diǎn)是計(jì)算速度快,并且不受圖像亮度和對比度的影響,最終得到一個(gè)最佳的閾值對圖像進(jìn)行分割.設(shè)圖像的灰度值范圍為[0,L-1],L為最大灰度值,灰度為i的像素?cái)?shù)為ni,則總的像素?cái)?shù)N如式(18):
(18)
各灰度值出現(xiàn)的概率Pi如式(19):
(19)
對于Pi有式(20):
(20)
閾值T的求解是通過max函數(shù)尋找最大類間方差的最大值,并將最大值所對應(yīng)的列號減1.在本次實(shí)驗(yàn)中求得閾值T為139.
圖中像素用閾值T分2部分C0和C1,C0由灰度值在[0,T-1]的像素組成,C1由灰度值在[T,L-1]的像素組成,區(qū)域C0和C1的概率p0和p1如式(21):
(21)
式中區(qū)域C0和C1的平均灰度μ0和μ1如式(22):
(22)
式中μ為整幅圖像的平均灰度見式(23):
(23)
(24)
4)邊緣連通分量提取.若Y為A的一個(gè)連通分量,u是連通分量Y中的一個(gè)點(diǎn),在已知u情況下,迭代收斂一次只能得到一個(gè)連通分量,為了得到整個(gè)圖的所有分量,需要迭代N次直至滿足式(25):
(25)
式中,A為閾值分割后的二值圖像;X0=u,k=1,2,3…;⊕為膨脹運(yùn)算;B為膨脹的結(jié)構(gòu)元素.若Xk=Xk-1,則停止迭代,此時(shí)Y=Xk.本文中結(jié)構(gòu)元素是具有8連通域的3×3矩陣.結(jié)構(gòu)元素見圖5:
圖5 結(jié)構(gòu)元素(均為1)
5)裂縫識別.橋梁中的裂縫主要分為3類:橫向裂縫、縱向裂縫和網(wǎng)狀裂縫.首先計(jì)算圖像裂縫中的像素?cái)?shù)目,然后計(jì)算裂縫的質(zhì)心坐標(biāo)(xcen,ycen),并計(jì)算以(xcen,ycen)為中心,長寬分別為8r+1,2r+1(r初始化為10,表示10個(gè)像素)的長方形內(nèi)裂縫像素?cái)?shù)目的和sumr占總像素?cái)?shù)目的百分比ρ,并與0.8作比較,若<0.8則r=r+10擴(kuò)大長方形區(qū)域重新計(jì)算ρ,直至ρ>0.8.計(jì)算過程見圖6:
圖6 計(jì)算裂縫像素?cái)?shù)目
圖6中1表示拍攝的整個(gè)圖片;2表示r=r+10擴(kuò)張后的長方形;3表示以r的初始值10建立的長為8r+1,寬為2r+1的長方形;4表示裂縫.
裂縫的分布密度d如式(26):
(26)
計(jì)算X軸和Y軸最大差分值均值X_max,Y_max,最后拿d與0.2作比較,若<0.2則是線狀裂縫,至于是橫向還是縱向則根據(jù)X_max,Y_max值判斷,X_max 實(shí)驗(yàn)考察了位于福建的某座大橋,并用無人機(jī)采集了200副圖片,其中橫向裂縫60張,縱向裂縫60張,網(wǎng)狀裂縫80張.實(shí)驗(yàn)平臺是windows10,編程語言采用的是MATLAB語言,經(jīng)過實(shí)驗(yàn)論證,裂縫的正確識別率最高可達(dá)93.3%,識別流程圖如圖7,識別過程見圖8和圖9. 圖7 裂縫識別流程圖 將采集來的3種類型裂縫圖片逐一進(jìn)行檢測,其中可正確識別橫向裂縫58張,正別識別縱向裂縫60張,正確識別網(wǎng)狀裂縫70張,將正確識別的圖片數(shù)量與所屬裂縫類型圖片總數(shù)作比值,各類型的裂縫識別精度見表1. 本文針對不良天氣下橋梁裂縫檢測問題,基于暗通道先驗(yàn)理論和數(shù)字圖像處理,提出了一種在不良天氣下的裂縫檢測方法: 圖8 去霧效果圖 圖9 有霧圖像的裂縫識別(橫裂) 1)對采集來的圖片用暗通道先驗(yàn)法進(jìn)行去霧處理,經(jīng)實(shí)驗(yàn)驗(yàn)證,去霧后的圖像清晰度得到提高,霧霾顯著減小. 2)對去霧后的圖片進(jìn)行裂縫檢測,本文在裂縫識別精度上得到了提升.對橫向裂縫,縱向裂縫和網(wǎng)狀裂縫識別精度均在87%以上,其中,對橫向裂縫識別精度最高,可達(dá)93.3%. 3)對采集來的圖像無論是否有霧,均能正常進(jìn)行檢測,裂縫檢測的適用性得到增強(qiáng),在工程技術(shù)領(lǐng)域可被采用. 圖10 無霧圖像的裂縫識別(網(wǎng)裂) 表1 橋梁裂縫識別精度2 實(shí)驗(yàn)結(jié)果
3 結(jié)束語