滕明星,佘夢(mèng)坤,何科均
(1. 重慶大學(xué)土木工程學(xué)院,重慶 400045; 2.重慶南江地質(zhì)工程勘察設(shè)計(jì)院,重慶 401121)
一種橋梁裂縫信息提取的改進(jìn)算法
滕明星1*,佘夢(mèng)坤1,何科均2
(1. 重慶大學(xué)土木工程學(xué)院,重慶 400045; 2.重慶南江地質(zhì)工程勘察設(shè)計(jì)院,重慶 401121)
采用數(shù)字圖像處理技術(shù)實(shí)現(xiàn)橋梁裂縫信息提取一直是研究熱點(diǎn),本文對(duì)數(shù)字圖像處理橋梁裂縫信息提取算法分割和細(xì)化兩個(gè)方面進(jìn)行改進(jìn),提出了改進(jìn)的Kittler-Bersen二值化算法,解決了Kittler算法處理光照不均圖像效果不佳和Bersen算法運(yùn)算速度慢等問題,提出了改進(jìn)的ZS圖像細(xì)化算法,解決了ZS算法處理冗余像素效果不佳的缺陷,并通過實(shí)驗(yàn)對(duì)上述算法的有效性進(jìn)行了檢驗(yàn)。
橋梁裂縫;信息提??;濾波;二值化;圖像細(xì)化
橋梁裂縫嚴(yán)重影響著橋梁的運(yùn)營安全,如何及時(shí)有效提取橋梁裂縫信息一直是研究熱點(diǎn)。目前橋梁裂縫信息提取最常用的方法是數(shù)字圖像提取法[2],包括BP神經(jīng)網(wǎng)絡(luò)數(shù)字圖像提取法[1]、順序相似性探測數(shù)字圖像提取法[2]、形態(tài)學(xué)分水嶺數(shù)字圖像提取法[3]等。
數(shù)字圖像提取法通常包含圖像灰度化、灰度圖像增強(qiáng)、圖像濾波去噪、灰度圖像分割、二值圖像形態(tài)學(xué)操作、二值圖像細(xì)化、幾何特征計(jì)算等步驟。目前,灰度化主要有分量法、平均值法、最大值法和加權(quán)平均值法等四種[5];灰度圖像增強(qiáng)主要有灰度拉伸、直方圖均衡化等方法[2];濾波去噪主要有均值濾波、中值濾波等方法[6];圖像分割主要有邊緣檢測(如梯度算子、Canny算子等[2])和閾值分割(如Ostu法[7]、Kittler法[8]等)兩類方法;圖像形態(tài)學(xué)操作主要有腐蝕、膨脹、閉運(yùn)算、開運(yùn)算等方法[2,3,4];圖像細(xì)化主要有Hilditch、Zhang-Suen等算法[9];幾何特征計(jì)算有像素統(tǒng)計(jì)、曲線擬合等方法[4]。但橋梁裂縫圖像存在圖像噪聲大、背景像素與裂縫像素重疊、圖像光線較暗、裂縫與背景像素灰度值相差不大等特點(diǎn),目前還沒有一種算法能夠?qū)崿F(xiàn)完全準(zhǔn)確可靠提取橋梁的所有裂縫信息,還需進(jìn)一步研究上述相關(guān)算法,找出一種更可靠更有效的算法。
Kittler算法[7]受圖像光照均勻的程度和梯度豐富程度影響較大,而Bersen算法[8]運(yùn)算速度較慢,針對(duì)此問題,本文將兩種算法組合,對(duì)灰度值位于[T-a,T+a]區(qū)間(T為全局閾值,a為區(qū)間寬度參數(shù))的像素進(jìn)行Bersen局部二值化處理,而對(duì)其他像素進(jìn)行Kittler全局二值化處理,其具體步驟如下:
①獲取圖像的高度h和寬度w,初始化圖像坐標(biāo)參數(shù)(i1,j1)=(0,0);
②設(shè)置區(qū)間寬度a(a∈[10,30],a越大,處理效果越好,而計(jì)算速度越慢,本文取中間值a=20);
③計(jì)算梯度最大值累計(jì)和SGm、梯度最大值與目標(biāo)像素灰度值的乘積累計(jì)和SGmg
(1)
(2)
式中,Gx=g(i1-1,j1)-g(i1+1,j1),Gy=g(i1,j1-1)-g(i1,j1+1),g(i1,j1)表示像素(i1,j1)的灰度值。
⑤若i1>h,轉(zhuǎn);
⑥若j1>w,則i1=i1+1,j1=0,轉(zhuǎn)⑤;
⑦若g(i1,j1)>T+a,則g(i1,j1)=255,j1=j1+1,轉(zhuǎn)⑥;
⑧若g(i1,j1) ⑨設(shè)置模板(2n+1)×(2n+1)的大小(通常n∈{5,…,9}),以(i,j)為中心,取出內(nèi)核模板內(nèi)的所有像素灰度值,記為集合{g0(k)},其中,k為灰度值g0(k)在集合中的位置,k=0,…,(2n+1)2-1; ⑩計(jì)算模板內(nèi)灰度最大值gmax=max{g0(k)}和灰度最小值gmin=min{g0(k)}; 其算法流程圖如圖1所示。 圖1 Kittle-Bersen算法流程圖 Zhang-Suen算法[9]無法消除斜線方向的冗余像素,EPTA[10]算法雖能消除了左下角和右下角兩方向的冗余像素,但無法完全消除左上角和右上角兩方向的冗余像素,且會(huì)造成圖像斷裂,針對(duì)此問題,本文增加2個(gè)新的斜線冗余像素消除條件,并引入文獻(xiàn)[11]中的4個(gè)斜線保留條件對(duì)ZS算法進(jìn)行改進(jìn),其算法流程是先采用ZS算法對(duì)整幅圖像進(jìn)行細(xì)化,再通過上述消除和保留條件對(duì)斜線冗余像素進(jìn)行處理,具體步驟如下: ①獲取二值圖像的高度h和寬度w,初始化圖像坐標(biāo)值(i,j)=(0,0),設(shè)置從操作標(biāo)志IsModified=true; ②若IsModified=true,則IsModified=false,否則i=j=0,轉(zhuǎn); ③若i>h,則轉(zhuǎn); ④若j>w,則i=i+1,j=0,轉(zhuǎn)③; ⑤取出(i,j)處的像素灰度值為g(i,j),若該點(diǎn)為非白點(diǎn)(g(i,j)≠255),轉(zhuǎn),否則更新8鄰域灰度值數(shù)組nb,即nb[0]=g(i,j+1),nb[1]=g(i-1,j+1),nb[2]=g(i-1,j),nb[3]=g(i-1,j-1),nb[4]=g(i,j-1),nb[5]=g(i+1,j-1),nb[6]=g(i+1,j),nb[7]=g(i+1,j+1); ⑥計(jì)算nb的二值化數(shù)組 ⑨若nnb[0]×nnb[2]×nnb[6]=0(表示0,2,6處至少有一個(gè)黑點(diǎn)),且nnb[0]×nnb[4]×nnb[6]〗=0(表示0,4,6處至少有一個(gè)黑點(diǎn)),則轉(zhuǎn); ⑩若nnb[0]×nnb[4]×nnb[6]=0(表示0,4,6處至少有一個(gè)黑點(diǎn)),且nnb[2]×nnb[4]×nnb[6]〗=0(表示2,4,6處至少有一個(gè)黑點(diǎn)),則繼續(xù),否則轉(zhuǎn); 其算法流程圖如圖2所示。 圖2 改進(jìn)ZS算法流程圖 橋梁裂縫信息提取改進(jìn)算法采用平均加權(quán)法進(jìn)行灰度化,采用灰度拉伸和直方圖均衡化進(jìn)行圖像增強(qiáng),采用基于高斯加權(quán)的中值濾波算法進(jìn)行濾波去噪,采用Kittler-Bersen法進(jìn)行二值化,采用先閉運(yùn)算再開運(yùn)算進(jìn)行形態(tài)學(xué)操作,采用改進(jìn)的ZS算法進(jìn)行圖像細(xì)化,采用像素統(tǒng)計(jì)的方法計(jì)算長度和面積,在計(jì)算其平均寬度,其流程圖如圖3所示。 圖3 改進(jìn)的橋梁裂縫信息提取算法流程圖 為了驗(yàn)證本文系統(tǒng)各項(xiàng)功能的有效性,本文選用兩張橋梁裂縫真實(shí)圖像(如圖4所示),并進(jìn)行如下處理: 圖4 原始圖像 (1)對(duì)原始圖像進(jìn)行灰度化、圖像增強(qiáng)處理后,采用基于高斯加權(quán)的中值濾波算法進(jìn)行濾波去噪; (2)分別采用Ostu、Kittler、Niblack、改進(jìn)Kittler-Bersen算法(Bersen算法處理區(qū)間寬度a=20,局部閾值窗口大小為5×5)對(duì)上述處理后的濾波圖像進(jìn)行二值化圖像分割,其結(jié)果如圖5、圖6所示,各種算法運(yùn)算時(shí)間如表1所示; (3)采用圖像形態(tài)學(xué)操作對(duì)圖5(a)和圖6(a)的二值圖像進(jìn)行處理,采用像素統(tǒng)計(jì)方法計(jì)算處理后的圖像中的裂縫面積; 圖5 縱向裂縫二值化處理結(jié)果 圖6 橫向裂縫二值化圖像 不同分割算法運(yùn)算時(shí)間比較 表1 (4)分別采用Hilditch算法、Zhang-Suen算法、改進(jìn)的ZS算法對(duì)上述處理后的圖像進(jìn)行圖像細(xì)化處理,其結(jié)果如圖7、圖8所示,各種算法細(xì)化后的像素?cái)?shù)目如表2所示;采用像素統(tǒng)計(jì)方法計(jì)算圖7(c)和圖8(c)的圖像中的裂縫長度,再由面積與長度的比值計(jì)算平均寬度,計(jì)算結(jié)果如表3所示。 圖7 縱向裂縫圖像細(xì)化結(jié)果 圖8 橫向裂縫圖像細(xì)化結(jié)果 不同細(xì)化結(jié)果裂縫像素點(diǎn)數(shù)目統(tǒng)計(jì) 表2 裂縫幾何特征信息計(jì)算結(jié)果 表3 由上述圖表可以看出: (1)在分割方面,由圖5、圖6可看出Ostu二值化算法處理效果最好且運(yùn)算速度最快。Ostu算法是一種通過統(tǒng)計(jì)整個(gè)圖像直方圖特性實(shí)現(xiàn)閾值自動(dòng)選取的全局閾值分割算法,由表1可看出其運(yùn)算速度快,合適本文實(shí)驗(yàn)圖像中的裂縫提取。Niblack算法是一種局部閾值分割算法,適用于細(xì)節(jié)豐富的裂縫圖像,處理后能保留較多的圖像細(xì)節(jié),但運(yùn)算速度極慢(見表1),但由于本文的兩幅實(shí)驗(yàn)圖像內(nèi)裂縫像素較集中,圖像細(xì)節(jié)信息較少,故使用該算法處理后產(chǎn)生了較多的噪聲點(diǎn)(如圖5(c)、圖6(c)所示)。Kittler算法是一種基于圖像像素水平方向和垂直方向的最大梯度累積的全局閾值分割算法,適用于梯度變化較大的裂縫圖像,本文實(shí)驗(yàn)圖像梯度變化較小,故使用該算法處理效果欠佳(如圖5(b)、圖6(b)所示)。而本文提出的Kittler--Bersen二值化算法是一種結(jié)合全局閾值和局部閾值的分割方法,由圖5(d)、圖6(d)可看出其處理效果要優(yōu)于原始的Kittler算法,對(duì)適用Kittler算法的所有裂縫圖像都適用且處理效果更優(yōu),同時(shí)該算法也適用于光照不均的裂縫圖像處理,但由于加入了局部閾值方法導(dǎo)致其運(yùn)算速度較Kittler算法稍慢(如表1所示)。由于裂縫圖像形式多樣,故本文系統(tǒng)設(shè)置可根據(jù)不同圖像選擇最合適的圖像分割方法。 (2)在細(xì)化方面,Hilditch算法處理結(jié)果中含有部分分叉點(diǎn)(圖7(a)、圖8(a)中橢圓標(biāo)記部分),Zhang-Suen算法和改進(jìn)的ZS算法處理結(jié)果中未含有明顯的分叉點(diǎn),但僅通過圖7(b)(c)、圖8(b)(c)的結(jié)果圖像來看Zhang-Suen算法和改進(jìn)的ZS算法區(qū)別不大,但從表1中統(tǒng)計(jì)的各種算法處理后的裂縫像素點(diǎn)數(shù)可以直觀地看出改進(jìn)的ZS算法可以獲得更細(xì)的單像素裂縫圖像,這是斜線冗余像素消除的結(jié)果,因此計(jì)算該算法處理后的圖像中的裂縫長度值更接近裂縫長度的真值。 (3)改進(jìn)的橋梁裂縫信息提取算法提取兩幅圖像中裂縫寬度分別為 11.930 13 mm、15.138 85 mm,與實(shí)際量測的平均寬度(10.4 mm、14.3 mm)相比,其絕對(duì)誤差分別為 1.530 13 mm、0.838 85 mm,相對(duì)誤差分別為14.7%、5.9%,滿足精度要求[5],改進(jìn)算法可靠。 橋梁是一個(gè)地區(qū)經(jīng)濟(jì)發(fā)展的樞紐,而裂縫是危害橋梁健康最嚴(yán)重的因素,因此及時(shí)有效的獲取裂縫信息對(duì)保障橋梁健康狀態(tài)具有重要的現(xiàn)實(shí)意義。本文對(duì)裂縫提取過程中的部分算法進(jìn)行了改進(jìn),并通過實(shí)驗(yàn)驗(yàn)證了本文系統(tǒng)算法的可行性。但并未涉及橋梁裂縫檢測方法的研究,如何實(shí)時(shí)有效地檢測出橋梁裂縫比裂縫信息提取具有更重要的現(xiàn)實(shí)意義,此外,本文系統(tǒng)還存在很多不足如不能自動(dòng)以及批量處理圖像,這些都是下一步需要研究的問題。 [1] 曾燕華. 基于計(jì)算機(jī)視覺的橋梁表面缺陷檢測技術(shù)研究[D]. 廣州:廣東工業(yè)大學(xué),2005. [2] 李強(qiáng)強(qiáng). 基于圖像處理技術(shù)的橋梁裂縫檢測算法研究[D]. 洛陽:河南科技大學(xué),2014. [3] 李強(qiáng)強(qiáng),黎蔚. 一種改進(jìn)的橋梁圖像分水嶺分割算法[J]. 計(jì)算機(jī)工程與科學(xué),2015,37(3):605~610. [4] 黃衛(wèi)嶺. 基于圖像處理技術(shù)的橋梁裂縫測量系統(tǒng)研究[D]. 北京:北京交通大學(xué),2012. [5] 宋平麗. 基于視頻圖像的橋梁裂縫檢測[D]. 武漢:武漢理工大學(xué),2010. [6] 李旭,趙文杰,楊凱達(dá). 一種改進(jìn)的中值濾波算法[J]. 中國體視學(xué)與圖像分析,2013(1):7~11. [7] 楊碩,尚振宏. 一種新的二維條碼圖像二值化算法[J]. 昆明理工大學(xué)學(xué)報(bào)·自然科學(xué)版,2008,33(1):43~46. [8] 張明,夏銘. 一種改進(jìn)的文本圖像二值化算法[J]. 科技信息,2009(27):555~556. [9] 望建國. 圖像預(yù)處理的若干問題研究[D]. 南京:南京理工大學(xué),2012. [10] 包建軍,樊菁. 魯棒的二值圖像并行細(xì)化算法[J]. 計(jì)算機(jī)輔助工程,2006,15(4):43~46. [11] 陳梅,王健. 圖像并行細(xì)化算法改進(jìn)研究[J]. 中國印刷與包裝研究,2014,6(1):30~34. AnImprovedAlgorithmforBridgeCrackInformationExtraction Teng Mingxing1,She Mengkum1,He Kejun2 It has always been a hot research topic that using digital image processing technology to realize the bridge crack information extraction. This paper improves the segmentation and refinement of bridge crack information extraction algorithm by digital image processing technology. A Kittler-Bersen binarization algorithm is proposedto solve the poor processing result of image which is uneven illumination of Kittler algorithm and the slow speed of image processing of Bersen algorithm,and an improved ZS image refinement algorithm to solve the defect that the poor result of processing the redundant pixels by ZS algorithm.Then the effectiveness of the above algorithms have been tested by experiments. bridge crack;information extraction;filter;binarization;image refinement 1672-8262(2017)06-79-05 P234 A 2017—08—18 滕明星(1994—),男,碩士研究生,主要從事誤差理論及激光點(diǎn)云數(shù)據(jù)處理研究。 重慶市自然科學(xué)基金社會(huì)事業(yè)與民生保障科技創(chuàng)新專項(xiàng)(cstc2016shmszx0299)2.2 改進(jìn)的ZS細(xì)化算法
2.3 改進(jìn)的橋梁裂縫信息提取算法
3 實(shí)驗(yàn)分析
4 結(jié) 語
(1.School of Civil Engineering,Chongqing University,Chongqing 400045,China;2.Chongqing Nanjiang Geological Engineering Survey and Design Institute,Chongqing 401121,China)