張振海,賈爭滿,季 坤
(蘭州交通大學(xué) 自動化與電氣工程學(xué)院,甘肅 蘭州 730070)
近年來,我國地鐵隧道建設(shè)進入了快速發(fā)展期,隨著時間的推移,地鐵隧道在使用過程中會因為材質(zhì)和溫度等原因產(chǎn)生裂縫,直接影響到隧道的穩(wěn)定性和列車運行的安全性,因此必須對其進行有效的檢測[1]。目前我國隧道裂縫檢測主要依靠人工標記,效率低,工作量大,且受主觀因素影響大,準確率不高。但隨著機器視覺檢測技術(shù)的日益成熟,裂縫檢測的自動化程度也越來越高,基于圖像處理的裂縫檢測技術(shù)由于具有實時性高,精度高,可操作性強,便捷直觀等優(yōu)點,逐漸成為隧道裂縫檢測技術(shù)的主要發(fā)展方向[2]。Y. NOH等[3]利用均值聚類來對圖像進行分割;P. HUTHWOHL等[4]利用神經(jīng)網(wǎng)絡(luò)來對分割后圖像進行分類;T. H. TRAN等[5]提取感興趣區(qū)域,然后利用移動濾波器來濾除噪聲;王博等[6]利用圖像顯著性來突出裂縫圖像特征,結(jié)合Prewitt算子來檢測裂縫,加入人工篩選來識別出裂縫區(qū)域;朱力強等[7]將噪聲分為不同特征的噪聲,然后分類處理來濾除噪聲;王耀東等[8]將圖像分為多個子區(qū)域,在子區(qū)域中對圖像進行分割。但是目前大多數(shù)算法是針對路面裂縫來進行處理,對于地鐵隧道裂縫的適用性較差,而且屬于半自動的檢測方法,對于分割中的參數(shù)確定是需要大量的實驗來確定,工作量大,無法快速有效的對裂縫圖像進行識別。為此,針對隧道圖像具有光照不均,噪聲復(fù)雜等問題,筆者采用Mask勻光和自適應(yīng)灰度拉伸結(jié)合來提高裂縫圖像的對比度;利用像素點領(lǐng)域灰度差值來判斷噪聲點,并只對窗口內(nèi)的有效像素點操作來濾除噪聲;最后在Canny邊緣檢測的基礎(chǔ)上,結(jié)合Otsu法進行閾值分割,來對裂縫圖像進行自動檢測和識別。
地鐵隧道在建設(shè)的過程中,由于地理位置的限制,達不到光照的均勻性。因此,筆者采用Mask勻光和自適應(yīng)灰度拉伸相結(jié)合的方法來對圖像進行預(yù)處理。
基于Mask勻光和自適應(yīng)灰度拉伸結(jié)合的算法包括高斯低通濾波、圖像差分和圖像自適應(yīng)灰度拉伸。高斯低通濾波抑制高頻成分保留低頻成分到達圖像平滑;圖像差分將原始圖像與背景圖像差分運算,消除光照不均的信息;自適應(yīng)灰度拉伸是將灰度區(qū)間[a1,a2]內(nèi)的點變換到灰度區(qū)間[b1,b2],能夠有效的抑制噪聲,增強裂縫對比度。
(1)
如圖1,直方圖均衡化和均勻拉伸改變了全像素灰度范圍,同時增強了背景和目標圖像,不利于后續(xù)裂縫目標的提取?;贛ask勻光和自適應(yīng)灰度拉伸結(jié)合的算法有效的均衡了光照,并且在小范圍內(nèi)改變了像素的灰度值,也一定程度上增強了圖像背景與目標裂縫的對比度,為后續(xù)圖像濾波與分割奠定了基礎(chǔ)。
圖1 圖像預(yù)處理效果對比Fig. 1 Comparison of image preprocessing effects
屈正庚等[9]提出根據(jù)噪聲點的數(shù)量自適應(yīng)的改變?yōu)V波窗口大小的濾波算法。筆者首先將圖像中的像素點進行分類,分別采用不同的濾波窗口去濾除噪聲,改進的自適應(yīng)中值濾波算法如圖2。
圖2 改進的自適應(yīng)中值濾波算法Fig. 2 Improved adaptive median filter algorithm
具體步驟如下:
1)遍歷所有像素點領(lǐng)域。設(shè)定閾值T,計算當(dāng)前像素點3×3領(lǐng)域內(nèi)的區(qū)域灰度差值G。
2)當(dāng)G≥T時,則為噪聲點,采用自適應(yīng)中值濾波,且對濾波窗口內(nèi)的有效像素點進行排序,取中值,結(jié)果作為當(dāng)前像素點的輸出值,如圖3。
3)當(dāng)G 圖3 對有效像素點進行操作Fig. 3 Operation on effective pixels 為驗證算法的有效性,將高斯濾波,中值濾波等應(yīng)用到地鐵裂縫圖像進行實驗對比,輸出圖像如圖4(實驗Ⅰ、實驗Ⅱ、實驗Ⅲ)。并以峰值信噪比(PSNR)作為評價指標,結(jié)果如表1。 圖4 濾波方法比較Fig. 4 Comparison of filtering methods 表1 不同濾波算法對比客觀評價Table 1 Comparison and objective evaluation of different filteringalgorithms 如圖4,高斯濾波后的圖像與原圖像變化不大,均值濾波和中值濾波會造成裂縫邊緣的模糊;自適應(yīng)中值濾波后裂縫與背景的差別較?。还P者基于改進的自適應(yīng)中值濾波模糊了背景部分,突出了裂縫目標區(qū)域,有利于后續(xù)圖像分割。 從表1可以看出,通過對3種裂縫進行客觀評價,筆者改進的濾波算法的峰值信噪比最高,也從客觀上驗證了筆者算法的有效性。 韋春桃等[10]提出一種移動窗口的閾值分割方法,在移動窗口中來識別細小裂縫;王睿等[11]針對隧道裂縫圖像,提出將Prewitt算子和Otsu法結(jié)合的閾值分割方法,能夠很好的識別出裂縫邊緣,以便后續(xù)的圖像特征提??;占繼剛[12]通過計算連通域面積的方法,去除孤立點噪聲;YU Tianting等[13]通過對隧道紅外圖像進行分塊,在每一塊中進行迭代法閾值分割,然后將分割后的子塊裂縫進行連接,得到完整的裂縫圖像;CHENG Yuhua等[14]通過圖像連通域的特性,提出一種基于像素填充模型的自適應(yīng)閾值選擇方法,根據(jù)填充面積的變化來選擇出比較好的閾值對圖像進行分割。 筆者首先利用Canny檢測進行非極大值抑制,然后將候選邊緣點分為3類,利用Otsu法獲取最佳分割點,對圖像進行分割。改進的Otsu法閾值分割流程圖如圖5。 圖5 改進的Otsu法閾值分割Fig. 5 Improved Otsu method threshold segmentation 具體步驟如下: 1)設(shè)經(jīng)過改進的自適應(yīng)中值濾波后的圖像為g(x,y)。 2)遍歷g(x,y)的所有像素點,采用2×2領(lǐng)域一階有限差分式近似計算x的偏導(dǎo)數(shù)P(i,j)和y的偏導(dǎo)數(shù)Q(i,j),如式(2)和式(3): P(i,j)≈[g(i,j+1)-g(i,j)+g(i+1,j+1)-g(i+1,j)]1/2 (2) Q(i,j)≈[g(i,j)-g(i+1,j)+g(i,j+1)-g(i+1, j+1)]1/2 (3) 求出x,y方向的偏導(dǎo)后,則該點的梯度值M(i,j)和方位角θ(i,j)計算如式(4)和式(5): (4) (5) 3)進行非極大值抑制來細化裂縫圖像。若點(x,y)的M(i,j)大于梯度方向相鄰點的梯度值,則該點為候選邊緣點[15]。 4)將候選邊緣點分為A1、A2、A33類。設(shè)圖像像素個數(shù)為N,梯度級范圍為[1,L],通常取L=64,梯度級ti對應(yīng)的像素個數(shù)為ni,各梯度級包含的像素數(shù)在總像素占比為pi=ni/N,i=1,2,…,L,則A1={t1,t2,…,tk}表示非邊緣點;A2={tk+1,tk+2,…,tm}表示需要判斷的點;A3={tm+1,tm+2,…,tL}表示邊緣點,其中,k∈[1,L],m∈[k+1,L]。 5)計算最大類間方差,尋找最佳分界點。ti和pi由原圖像的灰度直方圖獲得,則灰度均值E和像素占比p計算如式(6)和式(7): (6) (7) 則類間方差公式計算如式(8): σ2(k,m)=[EA1-E]2·pA1+[EA2-EA]2·pA2+[EA3-EA]2·pA3 (8) 計算最大類間方差σ2(k,m)對應(yīng)的tk,tm的值即為A1、A2、A3區(qū)間的分界點,即為Canny檢測的高低閾值,對圖像進行分割。 6)去除孤立點噪聲,進行形態(tài)學(xué)連接。通過連通域計算,將小面積的連通域濾除;利用數(shù)學(xué)形態(tài)學(xué)運算,連接裂縫圖像中的斷裂部分。裂縫圖像分割效果如圖6。 圖6 裂縫識別結(jié)果Fig. 6 Crack recognition results 如圖6,對濾波后的圖像進行改進的Otsu法閾值分割能夠準確地識別出裂縫區(qū)域,得到裂縫區(qū)域完整且噪聲較少的二值圖像,為圖像特征提取奠定了基礎(chǔ)。 通過對裂縫圖像進行分割,得到二值圖像,利用Zhang并行細化方法對其進行骨架細化。在裂縫骨架圖中結(jié)合二值圖像,提取裂縫特征參數(shù)。 裂縫的長度計算通常是計算目標在圖像上中心點單層像素的輪廓,采用Zhang并行細化方法得到骨架圖,如圖7。 圖7 裂縫骨架細化Fig. 7 Crack skeleton refinement 由裂縫的二值圖像得到裂縫的骨架圖,采用8連通Freeman編碼,按照逆時針方向依次編碼,遍歷所有像素點,得到裂縫的鏈碼[16],如圖8。 圖8 8連通示意Fig. 8 Eight-connectivity diagram 設(shè)1條裂縫為N(x,y),使用Freeman鏈碼對其進行編碼,鏈碼長度計算如式(9): L=cNa+dNb (9) 2.2.1 裂縫面積計算 在裂縫二值圖像里,從左上角開始,逐行逐列開始掃描,累計像素值為1的像素點,即為裂縫區(qū)域的面積S。 2.2.2 裂縫寬度計算 (10) 對于裂縫局部寬度,用5×5滑動窗口對整條裂縫進行掃描,確定局部法線方向,然后根據(jù)法線方向統(tǒng)計像素點的個數(shù),作為裂縫的局部寬度,如圖9。 圖9 裂縫寬度掃描示意Fig. 9 Schematic diagram of crack width scanning 在獲得局部寬度W1,W2,…,Wn之后,經(jīng)過排序可得到裂縫的局部最大寬度Wmax。 對10組隧道裂縫圖像進行裂縫的長度,平均寬度,最大寬度和面積的測量,結(jié)果如表2。 表2 裂縫測量結(jié)果Table 2 Crack measurement results px 基于Visual Studio2015+Opencv3.0平臺進行系統(tǒng)界面仿真,實現(xiàn)從裂縫圖像的輸入,預(yù)處理,濾波去噪以及特征提取。界面左側(cè)為圖像操作區(qū)域,界面右側(cè)為圖像顯示區(qū)域,并進行特征參數(shù)計算。地鐵隧道裂縫圖像分析系統(tǒng)界面如圖10。 局部閾值分割是將圖像分成不同鄰域子塊,根據(jù)子塊中像素灰度值的均值作為該塊的分割閾值來對圖像進行分割,但當(dāng)子塊中完全為背景或目標時,直方圖屬于單峰,很難進行分割。 圖10 地鐵隧道裂縫圖像分析系統(tǒng)界面Fig. 10 Interface of subway tunnel crack image analysis system 圖11 裂縫圖像閾值分割效果對比Fig. 11 Comparison of threshold segmentation effects of crack images 傳統(tǒng)Otsu法是一種全局閾值分割方法,它是將圖像直方圖的灰度像素基于某一閾值分為兩類,計算兩類的類間方差,通過不斷迭代,使得類間方差達到極小值,從而得到分割閾值。對于直方圖具有雙峰性的圖像具有較好的分割效果。 最大熵閾值分割也屬于全局閾值分割方法,是根據(jù)不同閾值進行分割,然后計算所有分割閾值下的圖像總熵,找到最大的熵,將最大熵對應(yīng)的分割閾值作為全局分割閾值,對圖像進行分割,將圖像中灰度大于此閾值的像素作為前景,否則作為背景。 為驗證筆者算法的有效性,對不同場景,不同條件下的傳統(tǒng)表面圖像和裂縫圖像進行實驗,分別采用局部閾值分割法,傳統(tǒng)Otsu法,最大熵閾值分割法以及文中算法進行對比,分割結(jié)果如圖11。 由圖11可知,局部閾值分割在對隧道圖像分割后,能夠識別出裂縫,但背景圖中仍含有較多的雜質(zhì);傳統(tǒng)的Otsu法閾值分割只能夠識別出部分裂縫,不能夠很好的區(qū)分開裂縫和背景圖像,并且分割后圖像中含有較多的雜質(zhì);最大熵閾值分割相比于局部閾值分割和傳統(tǒng)Otsu法,效果較好,能夠檢測出完整裂縫,但也將部分噪聲點誤判為裂縫邊緣,造成目標圖像復(fù)雜。筆者算法準確地將目標和背景圖像分割,能夠得到裂縫區(qū)域完整且噪聲點較少的二值圖像。結(jié)果表明:筆者改進的Otsu法自適應(yīng)的計算出最佳分割閾值,且能夠準確的識別出完整裂縫區(qū)域。 1)采用Mask勻光和自適應(yīng)灰度拉伸結(jié)合,可以在小范圍內(nèi)改善圖像灰度分布,并平衡光照;針對隧道圖像噪聲復(fù)雜的問題,提出改進的自適應(yīng)中值濾波算法,能夠有效降低混合噪聲的影響,保護了裂縫邊緣信息。 2)改進的Otsu法能夠有效的將裂縫分割出來,利用連通域計算和形態(tài)學(xué)處理,去除孤立點噪聲,避免了圖像目標區(qū)域缺失情況,得到完整的二值圖像,和傳統(tǒng)的Otsu法相比,能夠準確地識別出裂縫區(qū)域。 3) 建立地鐵隧道裂縫圖像分析系統(tǒng),對裂縫圖像進行預(yù)處理,濾波,分割,特征提取以及位置標注,能夠同時顯示原圖像與處理后圖像,直觀地對裂縫圖像的處理結(jié)果進行對比。1.3 基于改進的Otsu法閾值分割
2 隧道裂縫特征提取
2.1 裂縫長度計算
2.2 裂縫寬度和面積計算
3 實驗結(jié)果與分析
3.1 實驗平臺設(shè)計
3.2 實驗結(jié)果分析
4 結(jié) 論