唐錢龍,譚園,彭立敏,曹豪榮
(1.中南大學(xué) 土木工程學(xué)院,湖南 長沙410075;2.江西交通職業(yè)技術(shù)學(xué)院,江西 南昌330013)
隨著隧道工程的不斷建設(shè)和運(yùn)營,我國已經(jīng)逐漸從“隧道建設(shè)時(shí)代”向“隧道養(yǎng)護(hù)時(shí)代”過渡[1],隧道的病害問題越來越受到重視。其中裂縫是隧道襯砌最常見也是最嚴(yán)重的病害之一,如果未及時(shí)處理,可能會(huì)誘發(fā)其他病害如滲漏水、混凝土剝落、凍害等,嚴(yán)重時(shí)還可能破壞隧道的整體結(jié)構(gòu)安全,因此在工程上需要對隧道襯砌結(jié)構(gòu)進(jìn)行定期的檢測,及時(shí)發(fā)現(xiàn)裂縫并加以處理。目前我國隧道裂縫檢測主要依靠人工判別和記錄,該方法效率低,耗時(shí)長,且檢測結(jié)果受人的主觀因素影響較大,無法滿足現(xiàn)代裂縫檢測的需求。近幾年來,隨著計(jì)算機(jī)測量技術(shù)的迅猛發(fā)展,越來越多的工程領(lǐng)域開始使用數(shù)字圖像處理結(jié)合采集設(shè)備進(jìn)行無損檢測與測量,公路和橋梁等領(lǐng)域已有學(xué)者將此技術(shù)應(yīng)用到了裂縫檢測上,隨著隧道建設(shè)的不斷發(fā)展,國內(nèi)外相關(guān)學(xué)者開始著手研究適用于隧道裂縫的自動(dòng)化檢測系統(tǒng)。韓國、德國、日本已研發(fā)出不同型號的隧道檢測車,但裂縫識別還要依靠人工參與,還沒有成熟可靠的隧道裂縫圖像識別系統(tǒng)。目前,基于圖像處理的裂縫檢測已取得了諸多的研究成果。Premachandra 等[2]針對路面裂縫用中值濾波后采用均勻分塊的OTSU 分割法提取裂縫。該算法相對簡單,也只適用于簡單的裂縫。姒紹輝等[3]提出的基于不規(guī)則區(qū)域的高斯濾波去噪算法,但對椒鹽噪聲的濾除效果不理想;Oliveira 等[4]基于非監(jiān)督學(xué)習(xí)設(shè)計(jì)了2 個(gè)分類器分別用于裂縫的檢測和類型判斷,但該算法去噪部分只考慮到了散點(diǎn)噪聲,對于背景紋理復(fù)雜的裂縫適用性較差。Muduli 等[5]在邊緣檢測步驟時(shí)針對墻面裂縫圖像對Canny 算子進(jìn)行改進(jìn),但是提取的裂縫丟失了寬度信息,不利于后續(xù)測量。Abdel-Qader 等[6]提出了根據(jù)主成分的分析原則來進(jìn)行裂縫檢測的算法,該算法主要使用了特定的橋梁圖像的圖像庫作為實(shí)驗(yàn)數(shù)據(jù),實(shí)現(xiàn)起來比較困難而且計(jì)算量很大,花費(fèi)時(shí)間長。Tsai 等[7]采用最小路徑算法來檢測裂縫,該算法需要手動(dòng)找出裂縫點(diǎn),屬于一種半自動(dòng)的檢測方法。高泰[8]在對隧道裂縫圖像降噪時(shí)提出將噪聲分為點(diǎn)、線、塊狀3 類,分別采取不同的降噪方法,但需要手動(dòng)選取閾值,需要大量實(shí)驗(yàn)且主觀性較大。隧道環(huán)境內(nèi)采集的裂縫圖片存在曝光不足、不均、噪聲嚴(yán)重和背景干擾等問題,現(xiàn)有的算法都具有一定的局限性,無法較好地解決這些問題,需要進(jìn)一步進(jìn)行針對性的研究來設(shè)計(jì)出適用于隧道的裂縫圖片識別系統(tǒng)。
由于隧道環(huán)境及現(xiàn)場拍攝條件制約,所拍攝的隧道裂縫圖像普遍存在著一系列等問題,每張圖像都包含大量的干擾信息,所以從原始照片到最后能識別出裂縫的過程中需要進(jìn)行多步流程,每一步需要完成特定的功能,如圖1所示。
設(shè)計(jì)的算法主要分為4 個(gè)過程,分別為裂縫圖像預(yù)處理過程、圖像的濾波降噪、裂縫的識別檢測、裂縫的幾何特征提取。程序的主界面如圖2所示。

圖1 裂縫識別系統(tǒng)總體流程設(shè)計(jì)Fig.1 Overall process design of crack identification system

圖2 裂縫圖像處理系統(tǒng)面板Fig.2 Crack image processing system panel
通常情況下,隧道里沒有強(qiáng)光源,采集圖像時(shí)一般需要陣列光源輔助照明,這時(shí)采集到的圖像亮度并不合適,灰度分布也不均勻,難以突出圖像細(xì)節(jié),因此首先要對裂縫圖像進(jìn)行灰度校正增強(qiáng)。傳統(tǒng)方法是利用線性拉伸和直方圖均衡化來處理,但是均有一定弊端。采用區(qū)域自適應(yīng)直方圖均衡化配合Retinex 勻光算法,可以有效對隧道裂縫圖像進(jìn)行預(yù)處理,區(qū)域自適應(yīng)直方圖均衡化可以改善圖像灰度范圍,基于Retinex 理論的勻光算法可以使圖像灰度分布更均勻。
和普通的直方圖均衡算法不同,區(qū)域自適應(yīng)直方圖均衡化算法先將圖像分塊,計(jì)算圖像的局部直方圖,然后重新分布亮度來改變圖像對比度,因此,該算法更適合于改進(jìn)圖像的局部對比度以及獲得更多的圖像細(xì)節(jié)。
圖片像素的灰度值由光照分量和物體表面的反射分量2 部分疊加而成,根據(jù)Retinex 理論,圖像的光照分量主要存在于圖像低頻部分并且整體變化平緩;而反射分量則主要存在于圖像高頻部分,如邊緣等處,其變化比較劇烈[9]。因此可以選用多尺度高斯函數(shù)來提取圖像的不均勻光照分量估計(jì)值,再用原圖像與這部分光照分量做差分,即可消除不均勻光照的影響。
如圖3所示,直方圖均衡化在全局調(diào)整了圖片的灰度分布,使圖片對比度提高,但是將它用于對光照不均的圖片進(jìn)行處理后,會(huì)導(dǎo)致這種不均更加明顯。區(qū)域自適應(yīng)直方圖均衡化結(jié)合Retinex 勻光則在局部范圍內(nèi)調(diào)整了像素的灰度分布,有效地平衡了光照,為后續(xù)圖像濾波和分割打下了基礎(chǔ)。

圖3 圖像預(yù)處理對比Fig.3 Image preprocessing comparison
在隧道裂縫圖像常常包含大量噪聲干擾,其中高斯噪聲和椒鹽噪聲占絕大部分。目前并無在任何場景下通用的濾波降噪方法,經(jīng)典的濾波方法主要包括均值濾波、高斯濾波、中值濾波、自適應(yīng)平滑濾波等,將這些濾波方法應(yīng)用于隧道襯砌裂縫圖片上進(jìn)行對比,發(fā)現(xiàn)效果均不是很理想,主要是因?yàn)樵肼晫儆趫D像的高頻分量,主要表現(xiàn)為像素鄰域灰度值的突變,而裂縫與背景的邊緣部分也會(huì)發(fā)生灰度值突變,前面幾種濾波方法均無法在去噪的同時(shí)保持裂縫邊緣的清晰,為此本文提出基于雙邊濾波的改進(jìn)算法。
雙邊濾波具有雙重濾波作用,可以在過濾高斯噪聲的基礎(chǔ)上較好的保持邊緣[10],它包含了2 個(gè)高斯基濾波函數(shù),與均值與高斯濾波采用固定濾波核不同,雙邊濾波的濾波核是根據(jù)不同區(qū)域?qū)崟r(shí)計(jì)算得到的。在處理區(qū)域內(nèi)臨近像素時(shí),不僅考慮像素空間的鄰近距離、同時(shí)也考慮鄰域內(nèi)像素灰度的相似程度[11],然后通過對二者的非線性組合來確定最終濾波效果,確保只有鄰域內(nèi)灰度相似的才被一起進(jìn)行加權(quán)平均。
要想在雙邊濾波的基礎(chǔ)上去除椒鹽噪聲,首先要對椒鹽噪聲進(jìn)行識別。椒鹽噪聲是一種特殊的脈沖噪聲,也叫雙極噪聲[12],它的灰度值呈兩極化,其中椒噪聲灰度值非常大,接近于255;鹽噪聲灰度值非常小,接近于0,可以提出如下判斷方法:
設(shè)置一個(gè)閾值a,可以設(shè)定椒噪聲的灰度值范圍為[0,a],鹽噪聲的灰度值范圍為[255,255-a],如果某中心點(diǎn)像素的灰度值落在兩個(gè)范圍之內(nèi),即可認(rèn)為該像素點(diǎn)為椒鹽噪聲點(diǎn)。
在進(jìn)行雙邊濾波之前對像素點(diǎn)進(jìn)行上述判斷,即可用中值濾波的理念,用鄰域像內(nèi)素的中值代替此噪聲點(diǎn),然后再進(jìn)行雙邊濾波。在非椒鹽噪聲區(qū)域,則直接進(jìn)行雙邊濾波。算法的流程如圖4所示。
為驗(yàn)證算法有效性,在MATLAB 中對裂縫圖像進(jìn)行不同濾波方法處理的仿真模擬對比,輸出圖像如圖5所示,并以常用的峰值信噪比(PSNR)為指標(biāo)比較不同算法處理算法的客觀效果,結(jié)果如表1所示。

圖4 雙邊濾波改進(jìn)算法流程圖Fig.4 Bilateral filtering improved algorithm flow chart

圖5 不同濾波方法圖像處理對比Fig.5 Image processing comparison of different filtering methods
如圖5所示,均值濾波的降噪效果一般;高斯濾波平滑效果較好,但是造成了裂縫邊緣的過度模糊,不利于后續(xù)裂縫提取;中值濾波處理后邊緣清晰,但是降噪效果不夠好;自適應(yīng)平滑濾波效果介于高斯濾波和中值濾波之間;本文基于雙邊濾波的改進(jìn)算法降噪效果最好,并且保持了裂縫邊緣的清晰,有利于后續(xù)裂縫的提取。

表1 不同濾波算法對比客觀評價(jià)Table 1 Comparison of different filtering algorithms
從表1可以看出,本文改進(jìn)算法對隧道襯砌裂縫圖片處理的峰值信噪比最高,作為濾波的客觀評價(jià)指標(biāo),圖像的峰值信噪比越大,其濾波降噪效果越好,這也從客觀上印證了本文算法的有效性。
目前在圖像分割領(lǐng)域尚無通用的分割理論,現(xiàn)已提出的分割算法大都是針對具體問題的[13],常用的圖像分割算法可以大概有:基于邊緣的分割方法、基于閾值的分割方法以及基于其他特定理論的分割方法[14]。閾值分割具有效果明顯且易于實(shí)現(xiàn)等特點(diǎn),是目前圖像識別中最常用的分割方法之一。
設(shè)裂縫灰度圖像的大小為M×N,f(x,y)表示坐標(biāo)為(x,y)的點(diǎn)的像素灰度。閾值分割的目的即為確定一個(gè)閾值T,并對圖片所有像素的灰度進(jìn)行如下映射:

這樣即可將裂縫與背景區(qū)分開,轉(zhuǎn)換為只有黑色和白色構(gòu)成的二值圖像。如何找到這個(gè)最合適的閾值T,就決定了提取裂縫成敗的關(guān)鍵。常用的OTSU 分割法適應(yīng)不了復(fù)雜的環(huán)境,對于有剝落掉塊、污漬滲水等背景不均勻的區(qū)域,采用基于自適應(yīng)分塊的OTSU 分割改進(jìn)算法,具體流程如下:
1)計(jì)算初始圖像熵,把圖像均分為4 塊,計(jì)算這4 塊熵的均值作為新圖像的熵,若分塊后熵減,說明系統(tǒng)混亂程度減小,則進(jìn)一步分塊,反之,則停止分塊;為避免分塊太密集帶來計(jì)算量過大,可規(guī)定若圖像塊邊長小于50 像素時(shí),也停止此塊的繼續(xù)分塊。
2)求每個(gè)分塊圖像的局部閾值。
在一個(gè)分塊的區(qū)域S中,先用OTSU 法求解一次閾值,記為初始閾值T0,將其分為S1和S22 個(gè)點(diǎn)集,裂縫包含在S2點(diǎn)集里,由于OTSU 算法計(jì)算出的T0容易造成欠分割,T0容易偏大,此時(shí)根據(jù)經(jīng)驗(yàn)設(shè)置一個(gè)較低的閾值為T1=0.6T0,用T1再次對原分塊圖S進(jìn)行分割為S3和S4,S4里基本會(huì)濾除S2中的非裂縫的背景區(qū)域,但也會(huì)消除一部分裂縫區(qū)域,使得裂縫信息不全,此時(shí)便需要邊緣檢測來做校對。
3)求每個(gè)分塊圖像的局部邊緣。
在與上一步同一個(gè)分塊內(nèi)部,使用Sobel 算子進(jìn)行邊緣檢測分割,提取裂縫邊緣信息備用。
4)將2 種方法分割的圖像進(jìn)行對比校正。
將第2 步里的像素區(qū)域S2與S4做差分記為S5,將S5與第3 步提取的邊緣信息做交叉對比,若S5里的像素區(qū)域與邊緣區(qū)重合,則說明是裂縫區(qū)域,將這部分像素補(bǔ)充到S4里,若S5里的像素區(qū)域處于邊緣區(qū)之外,則說明這部分是非裂縫區(qū)域,予以丟棄,則經(jīng)過補(bǔ)充的S4為此塊的最終裂縫區(qū)域。
5)圖像整合。
將每個(gè)圖塊的分割的結(jié)果按原分塊位置進(jìn)行拼接,得到最終整個(gè)圖像的分割結(jié)果。
算法流程如圖6所示。
在MATLAB 編程環(huán)境中用不同的分割方法對裂縫圖像進(jìn)行仿真處理,輸出圖像如圖7所示。
如圖7所示,對于含有較多背景干擾的情況下,迭代法閾值分割和Otsu 分割的處理效果均不理想,分割后雜質(zhì)仍然較多,不利于后續(xù)處理;改進(jìn)的算法可提取到含雜質(zhì)較少且完整的裂縫二值圖像,方便后續(xù)對裂縫的測量和等級評定等操作。

圖6 改進(jìn)的隧道襯砌裂縫圖片分割算法Fig.6 Improved tunnel lining crack image segmentation algorithm

圖7 分割算法效果對比Fig.7 Comparison of segmentation algorithms
裂縫分割成二值圖像后,就可以對其進(jìn)行測量和等級評定,用以判斷對裂縫的后續(xù)處理。
數(shù)字圖像在采集、存儲和處理時(shí),都是以像素為基本單位的,計(jì)算機(jī)處理后測量的信息也均以像素?cái)?shù)量表示。要想測量裂縫的實(shí)際尺寸,必須對單像素進(jìn)行尺寸標(biāo)定。
5.1.1 相機(jī)像素尺寸標(biāo)定
本文采用的數(shù)碼相機(jī)為2 400 萬像素的CMOS鏡頭,拍攝到的圖片尺寸為4 208像素×5 612像素。圖片中的一個(gè)像素對應(yīng)的實(shí)際長度并不是固定的,它與相機(jī)鏡頭參數(shù)、拍攝時(shí)所用的焦距和鏡頭離物體的距離均有關(guān)系,所以在每一次批量采集裂縫前均需要做一次尺寸標(biāo)定。
相機(jī)的尺寸標(biāo)定需要一個(gè)已知實(shí)際尺寸的參照物,拍攝帶有參照物的圖片,則參照物的像素尺寸可以在計(jì)算機(jī)內(nèi)測量得到,而實(shí)際尺寸是已知的,這樣就可以達(dá)到尺寸標(biāo)定的效果。可以按以下步驟進(jìn)行:
1)將相機(jī)固定在支架上,到并將拍攝時(shí)的角度盡可能垂直于拍攝面,測量相機(jī)鏡頭到物體的距離。將高度調(diào)整好,拍攝正前方的參照物圖像,比如一張A4 紙。
2)在圖片處理工具中畫出參考線定位A4 紙的4 條邊,如圖8(a)所示,標(biāo)記時(shí)應(yīng)盡可能放大圖片以求精確貼合邊界,如圖8(b)。
3)測量出參照物的像素尺寸,如圖8(a)中A4紙所占橫向像素分布為762~3 509 pixel(像素),A4紙真實(shí)距離為210 mm,則橫向距離標(biāo)定為:

A4 紙縱向像素分布為1 007~4 865 pixel,對應(yīng)真實(shí)距離為297 mm,則縱向尺寸標(biāo)定為:

4)重復(fù)上述步驟,對像素經(jīng)過多次標(biāo)定可以求出平均值,作為此次最終的像素標(biāo)定值μ=0.076 7 mm/pixel。
完成本次像素尺寸標(biāo)定后,就可以知道本相機(jī)在不變焦,固定1.0 m 拍攝距離的情況下,單像素代表的實(shí)際距離為0.076 7 mm。

圖8 相機(jī)尺寸標(biāo)定Fig.8 Camera size calibration
5.1.2 裂縫長度計(jì)算
由于一條裂縫經(jīng)常會(huì)沿走勢發(fā)生粗細(xì)不均變化,要消除此影響,求裂縫的長度可以轉(zhuǎn)化為求裂縫中心線的長度,則首先需要提取裂縫骨架,可采用Zhang-Suen 快速并行細(xì)化方法[15]得到單層像素的骨架圖,如圖9所示。
在裂縫骨架圖的基礎(chǔ)上,可以通過引入Freeman 鏈碼來計(jì)算其長度,F(xiàn)reeman 鏈碼又叫做方向鏈碼,是用曲線起始點(diǎn)的坐標(biāo)和邊界點(diǎn)方向代碼來描述曲線的方法。常用的有4 連通鏈碼和8 連通鏈碼,這里采用8 連通鏈碼,在進(jìn)行編碼的過程中,以裂縫端點(diǎn)為起始點(diǎn),按照圖10所示的方向?qū)σ来芜M(jìn)行編碼,直到掃描完為止,得到一條裂縫的鏈碼表示。

圖9 裂縫圖像細(xì)化Fig.9 Crack image refinement

圖10 Freeman 鏈碼示意圖Fig.10 Freeman chain code diagram
設(shè)一條裂縫為N(x,y),使用Freeman 鏈碼對其進(jìn)行編碼,而后計(jì)算鏈碼的長度即為此裂縫的長度,計(jì)算過程如下:

式中:L為鏈碼的長度;Na為偶數(shù)鏈碼的個(gè)數(shù);Nb為奇數(shù)鏈碼的個(gè)數(shù);A和B為分別為對應(yīng)的權(quán)重參數(shù)。
在偶數(shù)鏈碼處,方向?yàn)樗交蜇Q直,此時(shí)長度即為像素個(gè)數(shù),故取A=1。在奇數(shù)鏈碼處,裂縫走向?yàn)椤?5°,此時(shí)分段長度為像素個(gè)數(shù)的倍,故
5.1.3 裂縫寬度計(jì)算
對于裂縫寬度,可以在為求長度所抽取的骨架基礎(chǔ)上,統(tǒng)計(jì)在裂縫骨架線上每個(gè)點(diǎn)處裂縫法向像素點(diǎn)的個(gè)數(shù),即可得到裂縫的最大及最小寬度,由于裂縫在各個(gè)局部寬度均可能不同,所以在求寬度的時(shí)候可分為局部最大寬度和平均寬度。
平均寬度容易獲得,在裂縫二值圖像里統(tǒng)計(jì)像素值為1 的個(gè)數(shù),可作為裂縫區(qū)域的面積S,在長度L已求出的情況下,平均寬度可直接相除計(jì)算:

對于局部最大寬度,可沿裂縫骨架走勢用n×n滑動(dòng)窗口對整條裂縫進(jìn)行掃描,通常n取值在3~5之間,通過Freeman 鏈碼值確定局部直線的方向,如圖11(a)所示。再在裂縫原二值圖像沿裂縫法向確定裂縫兩側(cè)邊緣的范圍,如圖11(b)所示,這條虛線的長度即為裂縫的局部寬度。

圖11 裂縫寬度掃描示意圖Fig.11 Crack width scanning schematic
在獲得局部寬度b1,b2,…,bn之后,經(jīng)過排序即可得到裂縫的局部最大裂縫寬度bmax。
對3 種裂縫進(jìn)行類型識別和測量,結(jié)果如表2所示。

表2 裂縫測量結(jié)果示例Table 2 Example of crack measurement results
以上長寬信息均以像素為單位,根據(jù)拍攝之前的尺寸標(biāo)定即可轉(zhuǎn)換求得真實(shí)長寬。
現(xiàn)行的《公路隧道養(yǎng)護(hù)技術(shù)規(guī)范JTG H12—2015》[16]將縱向裂縫劃分為4 個(gè)等級,不同的等級下對應(yīng)著不同的處理方法,從1 到4 級分別為輕微、中等、較嚴(yán)重、嚴(yán)重,橫向裂縫相應(yīng)取低一個(gè)等級,如表3所示。

表3 不能確定有無發(fā)展性的襯砌裂縫的判定標(biāo)準(zhǔn)Table 3 Cannot determine the criteria for the development of lining cracks
前面已求得裂縫的走勢和長寬信息,將以上表格輸入MATLAB 程序中,只需分別對裂縫的長寬所在范圍做2 層判斷即可自動(dòng)評定裂縫的等級。
以長沙天際嶺隧道為例,實(shí)地拍攝隧道內(nèi)的裂縫圖片,用裂縫測寬儀和卷尺等工具測量裂縫的長寬,用本文設(shè)計(jì)的裂縫檢測系統(tǒng)系統(tǒng)進(jìn)行隧道二次襯砌裂縫的識別、測量與評價(jià),將系統(tǒng)測量結(jié)果與實(shí)地測量結(jié)果對比,將系統(tǒng)評定等級與湖南中大建設(shè)工程檢測技術(shù)有限公司提供的檢測報(bào)告作對比,來驗(yàn)證系統(tǒng)的有效性。
天際嶺隧道內(nèi)襯砌裂縫均為環(huán)向裂縫,部分裂縫出現(xiàn)區(qū)域同時(shí)伴隨著剝落掉塊或滲水,總體來看裂損狀況較為輕微,裂縫等級較低。此次拍攝選擇裂縫出現(xiàn)較為集中一段隧道,從YK0+090 開始,至YK0+120 結(jié)束,共采集含裂縫照片300 余張,采集完成后進(jìn)行室內(nèi)計(jì)算機(jī)圖片識別和拼接,部分對比結(jié)果展示如表4。
據(jù)報(bào)告顯示,天際嶺隧道內(nèi)裂縫均為環(huán)向裂縫,裂縫等級評定值均為1 級,本系統(tǒng)的等級評定結(jié)果與報(bào)告中的所有結(jié)果相吻合。
將本系統(tǒng)裂縫測量寬度與人工使用裂縫測寬儀測量結(jié)果進(jìn)行對比,平均精準(zhǔn)度達(dá)到94%,最大誤差率12%,滿足實(shí)際工程應(yīng)用的要求。

表4 天際嶺隧道襯砌裂縫識別評定Table 4 Identification and evaluation of lining cracks in sky ridge tunnel
1)采用區(qū)域自適應(yīng)直方圖均衡化配合Retinex勻光算法,可以有效校正圖像灰度分布并平衡光照,針對隧道圖像噪聲多的問題,提出基于雙邊濾波改進(jìn)的算法,改進(jìn)的算法可以有效去除高斯和椒鹽噪聲,并很好地保護(hù)了裂縫邊緣信息。
2)針對有滲水、污漬、剝落等區(qū)域?qū)λ淼懒芽p識別的影響,提出在圖像自適應(yīng)分塊下結(jié)合閾值和邊緣的分割算法,可以有效進(jìn)行這些復(fù)雜狀況下的裂縫識別,得到完整裂縫的二值圖像。
3)采用相機(jī)尺寸標(biāo)定,通過測量裂縫的像素尺寸轉(zhuǎn)換得到其真實(shí)長度、寬度等指標(biāo),并進(jìn)行裂縫等級評定。結(jié)合工程實(shí)例表明,所提出的算法對隧道襯砌裂縫的識別準(zhǔn)確率達(dá)92%以上,驗(yàn)證了本文算法的有效性。