喬建剛,陶 瑞,劉 翔
(河北工業大學 土木與交通學院,天津 300401)
我國隧道、橋梁等基礎設施逐步由施工條件向養護條件轉變。為確保運作期間的結構安全和功能,必須及時進行結構健康監測[1],以維持基礎設施系統的穩定運作。現有隧道檢測方法主要依賴于人的視覺檢查,以尋找可見的損傷和模式,但視覺檢查存在一定缺陷,尤其對于大型項目需要耗費高昂成本和時間。由于人工評估存在主觀性[2],其可靠性和效率取決于檢查員的知識和經驗,所以一般采用超聲波層析成像、激光雷達、視覺成像和射線成像等無損檢測技術識別裂縫[3-4]。
傳統方法大都將圖像處理和特征提取[4]作為裂縫檢測的關鍵步驟。邊緣和邊界檢測[5]、濾波[6]、模板匹配、背景相減、紋理識別等[7]基本圖像處理技術依賴于明顯的裂紋特征,不適用于裂紋背景復雜且受嚴重干擾的隧道內情況。
學者提出各種基于深度學習的方法進行隧道缺陷檢測:Ren等[8]提出改進的深度全卷積神經網絡CrackSegNet進行密集的像素級隧道裂縫分割;Lei等[9]提出差分噪聲濾波和自適應分割、邊緣檢測和閾值法相結合的改進分割方法,以提高隧道裂縫的識別精度;Huang等[10]提出基于移動激光掃描隧道襯砌點云數據的綜合深度學習漏水檢測方法,解決由于缺乏空間信息無法提供泄漏位置的問題,實現隧道襯砌漏水在三維空間的自動化檢測與評價;Hoang等[11]建立隧道裂縫自動檢測與分類模型,由射影積分的性質和裂紋對象性質組成的特征集可得到最理想的結果,可以幫助運輸機構和檢查人員完成路面狀況評估任務;鮮晴羽等[12]針對隧道掌子面圖像多樣性和復雜性提出基于CNN以余弦相似度為指標的方法,判定圖像質量,篩選滿足工程需求的隧道圖像。
現有方法的識別精度和效率較低,仍需大量人工輔助[13]。鑒于此,本文利用傳統數字圖像處理方法識別缺陷,可有效解決隧道襯砌圖像中存在的光不均勻、噪聲和斑點等問題,研究結果可為裂縫識別提供技術支持。
裂紋識別算法系統流程如圖1所示,主要包括數據采集、圖像處理增強、特征提取3個步驟。隧道襯砌表面數據通過襯砌掃描車進行采集[14],安裝在車輛上的高清CCD相機和減震裝置可獲取高質量的數字圖像,根據需求和隧道條件,對捕獲的圖像區域進行分割,得到候選裂紋圖像,最終使用圖像拼接技術組裝所有圖像。圖像預處理和增強包括灰度圖像轉化、增強以及勻光處理,可提前突出裂縫細節,獲取更多信息。特征提取主要通過組件樹的建立和分割將裂縫像素從背景中準確分離出來(灰度值:crack_255;back-ground_0)。為提高裂紋識別效率,系統根據裂紋與背景灰度值差異,自動去除灰度變化有限的圖像,基于對比試驗和工程應用測試,可驗證本文算法的優越性。
隧道內應急燈分布比較分散,一般沒有強光源照明,容易造成光照不均勻[15]。隧道表面采用自適應Retinex方法對圖像進行預處理?;叶仍鰪姳厝粫鰪姽庹盏牟痪鶆蛐?,為進行動態范圍的有效壓縮,采用自適應Retinex算法進行避光處理,消除光照成分,提高圖像黑暗區域的亮度[16]。采用自適應Retinex相關算法能夠獲得更好的信息和視覺效果,如式(1)所示:
F(x,y)=R(x,y)·L(x,y)
(1)
式中:F(x,y)為人眼或其它設備觀測到的圖像;L(x,y)表示入射光圖像;R(x,y)表示反射光圖像。
在Retinex模型中,L(x,y)是圖像的亮度信息,對應圖像的低頻部分,可以利用低頻濾波器分別計算各顏色通道的亮度值,所得值與物體本身性質無關。R(x,y)對應圖像高頻部分,包含圖像細節信息,與光照無關。由式(1)可知,通過Retinex算法達到增強圖像質量的目的,其核心要素是去除入射光圖像L(x,y)對原圖像F(x,y)的影響,提取反射光圖像R(x,y)并精準提取照度部分。
Retinex算法采用對數域處理,原因是人眼視覺感知系統通過指數形式感受光照強度,對數形式更加接近光照信息,通過將乘法運算改為加法運算,可減少算法的復雜性,提高算法計算速度。因此,Retinex算法表達式可修改為式(2):
f(x,y)=r(x,y)+l(x,y)
(2)
式中:f(x,y)=log(F(x,y));r(x,y)=log(R(x,y);l(x,y)=log(L(x,y))。
Retinex算法基本步驟如圖2所示,先求取對數變換后的光照圖像l(x,y),再運用對數相減得到反射圖像對數形式r(x,y),通過指數運算得到最終的反射圖像R(x,y)。
圖2 Retinex算法處理過程
不同方法裂縫圖像增強勻光比較如圖3所示。直方圖均衡化和灰度變換改變原圖像在全圖范圍內的灰度分布,沒有達到均衡光照的作用,背景灰度變化較大,為后續處理工作增加難度。基于自適應Retinex算法改變局部像素灰度值,可有效平衡光照保護圖像細節,勻光處理后,在一定范圍內增強圖像背景與裂縫的對比度,圖像整體亮度的提高有利于后續圖像分割。
圖3 不同方法裂縫圖像增強勻光比較
圖像分割在計算機視覺技術中是更高層次圖像分析的基礎。在目標識別任務中,輪廓通常被認為是目標識別最重要的特征信息。一般來說,圖像鄰域點的像素值在同一物體內部比較接近,如果某一點像素點與它鄰域像素點的值差別較大,即該點像素值發生突變,則該像素點為噪聲點或者是在物體邊界上。對隧道襯壁圖像而言,像素值突變點也可以是裂縫邊沿點。
圖像中灰度值大于給定閾值點的集合被稱為灰度圖像的水平集,不同閾值下的水平集可能含有多個連通組件(Connected Component)[16]。采用樹結構組織存在
包含關系不同閾值下的連通組件,這種樹結構稱為“連通組件樹”(Connected Component tree),簡稱組件樹(Component Tree)[17]。本文使用地形參考,將灰度圖像視為山地地形,呈現出的地圖是1個浮雕表面與1個點的高度對應[18]。
圖像水平截面如圖4所示。圖像I對應的組件樹結構如圖5所示。通過尋找圖像I的各個Level組件C[k,c]其中的包含關系建立組件樹。圖像I在Level 4中有[D,1]、[D,2]、[D,3]、[D,4]4個組件;在Level 3中有3個組件[C,1]、[C,2]、[C,3],其中[C,1]包含[D,1],[C,3]包含[D,3],[C,2]包含[D,2]、[D,4];在Level 2的組件[B,1]、[B,2]中,[B,1]包含[C,1]、[C,3],[B,2]包含[C,2];在Level 1中組件[A,1]由組件[B,1]、[B,2]連接而成。組件樹是每層的組件用樹的方式相連接而成。在組件樹構造過程中,多個不同的連通組件在圖像I不同的Level中被劃分。直接構建的組件樹含有多個葉子節點,葉子節點區域面積較小,大部分是沒有價值的噪聲信號。為達到圖像濾波目的,可以通過刪除組件樹中相應葉子節點來抑制噪聲和防止干擾。另一方面,隧道圖像由于受噪聲污染,不同組件受灰度值相似的像素點分割影響,出現過分割現象。因此,通過組件樹中上層截面中灰度值較低的組件連接,構成任一截面里的組件代表空間位置不相交的區域。圖5將[B,2]、[C,2]、[D,2]3個有可能相近但灰度值不同的節點組件進行合并,可快速篩分相近的像素點,達到目標區域像素合并的目的。
圖4 圖像水平截面
圖5 圖像I對應組件樹結構
對于定義域為Ω的圖像f,給定值λ和μ,定義上水平集Xλ、下水平集Xμ分別為Xλ={x∈Ω|f(x)≥λ},Xμ={x∈Ω|f(x)≤μ},上/下水平集的連通組件被組織成1個包含樹,稱為最大/最小樹[19]。該算法采用自上向下的方法計算正水平線樹τ,其中每個水平線為上水平集的1條連通邊界,然后由τ計算最大樹T。每個組件C∈T,由1個外部邊界(在τ中為1條正水平線)和0或多個內部邊界(在τ中為負水平線)組成。算法通過在各個層次上匹配正水平線與負水平線并得到相應組件。實驗表明該算法在low-bit圖像上比傳統算法具有明顯優勢。
當得到組件樹之后,刪除區域面積小于感興趣區域δ的組件,計算組件樹各節點的穩定值φ(Ct),得到最穩定邊界值并作為輸出結果。對組件樹中不同層次區域邊界進行基于梯度的比較,檢測出最穩定的邊界。首先計算Ct邊界像素梯度,如式(3)所示:
(3)
計算區域Ct的穩定值φ(Ct) 如式(4)所示:
(4)
式中:?Ct是區域Ct的邊界;N為邊界像素個數。
計算組件樹各節點穩定值φ(Ct),再查找最穩定的邊界,輸出邊界區域作為檢測結果。
基于組件樹的裂縫檢測和圖像分割算法流程包括以下4個步驟:
1)Input:組件樹T,閾值δ。
Output:合并后的組件樹T′,分割完成的圖像f′。
2)根據輸入的圖像組件樹T,計算所有組件的面積及穩定值。
3)依據裁剪準則,進行組件裁剪。
4)根據新的組件樹T′,輸出分割后的圖像f′。
采用MATLAB 2020a作為開發工具,在Intel(R)Core(TM)i7-10510U CPU中,采用CCD相機拍攝200張裂縫圖像中選取3幀圖片進行分析。
將本文算法與傳統OTSU、迭代閾值分割、距離變換與二值圖像結合方法進行試驗對比,結果如圖6所示。由圖6可知,OTSU算法易受圖像中噪聲影響,目標分割過于單一,當目標和背景大小比例懸殊時效果較差;迭代閾值可以保持裂紋整體結構特征,但分割容易提取偽邊緣,導致背景中缺失裂紋和相應噪聲,加大后續處理難度,影響準確率;距離變換與二值圖像結合法對噪聲的濾波效果一般,多依賴二值信息,識別效果較差,導致圖像分割精度不高,不符合裂縫識別的準確性需求。結果表明本文方法提取的裂縫效果最好。
圖6 不同方法裂縫圖像分割比較
為進一步驗證本文分割算法的可靠性,選取200幅不同的隧道裂縫圖像進行分析,分別利用上述3種方法和本文算法對圖像進行比較,各種裂縫邊緣提取算法的時間和性能比較見表1。由于計算機有較高的硬件配置,每幅圖像的識別速度快,響應時間差別較小,本文算法平均計算時相對最小;本文選擇的圖像均為裂縫圖像,所以4種算法都有比較好的識別效果,本文分割算法的正確率相對最高,達0.955。綜上,本文分割算法識別效果相對最優。
表1 各種裂縫邊緣提取算法的時間和性能比較
裂縫寬度是衡量裂縫嚴重程度的主要因素,因此需定量計算裂縫寬度。以某開裂隧道襯砌為對象抽取隨機樣本,對該表面的11條裂縫進行檢測及驗證?;趫D像所得裂縫寬度識別值與實測值的比較如圖7所示,1~11號裂縫最大寬度相對誤差變化范圍為4.69%~11.86%,平均相對誤差7.24%,縫寬度識別精度為92.76%。因此,本文設計方法對于0.2 mm以上裂縫寬度具有較好的檢測結果。
圖7 裂縫寬度識別值和實測值比較
為驗證本文算法的適用性,以北京-秦皇島高速公路遵化至秦皇島段溫泉堡隧道為試驗背景,通過CCD拍攝采集10個里程處的隧道襯砌裂縫圖像,根據隧道內應用場景特殊性,即每個襯砌表面均存在光照不勻、光照不足、光照過強等因素影響,進行對照試驗,結果見圖8。由圖8可知,Mask算法亮度有提升,但對比度信息仍有欠缺,導致隧道襯砌表面顏色整體偏暗,灰度級的合并會導致某些細節無法呈現出來。本文在Retinex算法勻光后再采用組件樹進行分割,圖像中裂縫特征明顯,背景干擾少,可快速實現裂縫區域的識別,能夠使圖像的整體視覺真實地體現出來。
圖8 隧道裂縫圖像勻光算法對比試驗
1)本文采用勻光優化算法處理非均勻光照圖像,運用自適應Retinex方法進行圖像增強,可有效校正并平衡圖像光照,保護圖像中裂縫邊緣信息,提高裂縫輪廓與圖像背景的對比度,為后續圖像分割奠定基礎。
2)本文分割方法能夠抑制圖像噪聲,具有較快的運行速度,時間復雜度低,又可抑制過分割現象,達到預期分割效果。
3)采用CCD相機拍攝的200幀圖像進行分析并與現有算法相比較,本文算法對隧道襯砌裂縫的識別精度大于95%,裂縫寬度識別精度可達92.76%,驗證本文算法的適性。根據多組試驗結果對比發現,本文算法在定性和定量方面表現突出,可有效解決隧道裂縫圖像光照不勻等問題,圖像輪廓顯示、良好的細節顯示和全局性對比度。
4)下一步研究可在本文基礎上引入聚集度,對圖像屬性進行更詳細的分析,從而提高裂縫分類的準確性,提出1種新的組件樹合并準則,以適應更多類型的裂縫圖像識別。