丁 寧,陳曉竹
(中國計量大學(xué) 信息工程學(xué)院,浙江 杭州 310018)
墻體表面的網(wǎng)狀裂紋最大寬度測量
丁 寧,陳曉竹
(中國計量大學(xué) 信息工程學(xué)院,浙江 杭州 310018)
建筑物墻體裂紋是重要的安全隱患, 檢測混凝土墻體表面的裂紋及測量其最大寬度,已引起眾多關(guān)注. 現(xiàn)介紹基于圖像處理的智能檢測方法,即根據(jù)裂紋像素點分布特征,利用連通域面積大小來提取裂紋,并刪除偽裂紋等雜質(zhì),再對含有分支或網(wǎng)狀裂紋進(jìn)行局部處理,根據(jù)裂紋特征像素點的位置關(guān)系獲取聚類近似初始值,之后利用K-means聚類算法不斷迭代計算裂紋特征像素點到其對應(yīng)直線的最短距離,并以此將圖像中的像素點歸為不同方向的裂紋類.最后,利用分類好的裂紋像素點分別進(jìn)行邊緣檢測與最大寬度測量并比較,來獲取含有交叉裂紋的最大寬度值.本文獲得的水平裂紋最大寬度的相對誤差為2.968%,斜垂裂紋最大寬度的相對誤差為5.188%.
裂紋檢測;圖像處理;K-means聚類算法;特征提取
隨著經(jīng)濟的快速發(fā)展,各地大量興建房屋建筑,而伴隨著時間的推移建筑物會出現(xiàn)諸多裂紋,它不但影響建筑外觀,嚴(yán)重的還會影響建筑物的正常使用. 為了確保建筑物在安全使用周期內(nèi),需要不斷的對其進(jìn)行周期性檢測,在混凝土的結(jié)構(gòu)評估的參數(shù)中裂紋的最大寬度是檢測的主要參數(shù). 因此,對建筑物表面裂紋的最大寬度測量顯得非常重要.
與此同時,計算機的快速發(fā)展,將數(shù)字圖像處理技術(shù)廣泛地應(yīng)用到裂紋檢測中.曹梅麗等將圖像進(jìn)行去噪、二值化、邊緣提取、細(xì)化等處理,得到像素單位的尺寸,然后進(jìn)行像素標(biāo)定得到圖像上每個像素代表的實際尺寸,經(jīng)過換算得到裂紋米制單位的尺寸[1],來求解裂紋實際寬度以用于評定裂紋的危害等級. HU等通過圖像邊緣檢測,自適應(yīng)閾值的圖像二值化和孤立點的去除,得到有效的裂紋特征[2];ADU-GYAMFI Y O等提出了一種基于小波變換和Canny濾波裂紋檢測方法,并確定像素是否開裂來完成裂紋的檢測[3];ZHAO等把裂紋圖像作為參數(shù)曲面,然后利用圖像表面的幾何性質(zhì),根據(jù)裂紋細(xì)長的形狀可以容易地淘汰裂縫集群以外的噪點[4],提高了圖像裂紋特征提取的準(zhǔn)確性. 董安國等將連通分量作為聚類對象,利用譜聚類算法將連通分量聚類,再根據(jù)裂縫特征,去掉偽裂縫部分得到完整的裂縫[14];還有宋君通過連通分量的提取,將細(xì)小連通分量進(jìn)行過濾,再通過裂縫拼接算法,提取出圖像中的裂縫[5],都對圖像裂紋特征像素提取的完整性有良好的效果. QU等提出先基于骨架提取算法提取裂紋的骨架方向鏈碼,然后基于區(qū)域擴展算法重新連接裂紋裂縫部分,可以顯著加快裂紋檢測的速度,并能保持較高的裂紋檢測精度[6]. CUI等先利用直方圖算法找到初始聚類中心,然后采用改進(jìn)k-均值算法(增加了一個與裂紋距離區(qū)域相關(guān)的權(quán)重)與區(qū)域生長算法相結(jié)合提取裂紋[7]. LI等利用數(shù)學(xué)形態(tài)學(xué)的擴張、腐蝕、開閉運算的運算順序,達(dá)到保留特征點的效果,對于裂紋的斷裂處通過延長種子區(qū)來尋找鏈接裂紋[8].
本文針對圖像中裂紋含有分支或網(wǎng)狀裂紋而提出一種裂紋最大寬度的測量方法. 首先,利用黑色小方塊對圖像進(jìn)行標(biāo)定,獲取單位像素點與實際長度比值. 然后,對圖像進(jìn)行濾波、二值化、邊緣檢測與連通域去噪,獲取裂紋特征像素. 最后,根據(jù)特征像素點的位置擬合初始值直線,利用像素點到不同直線的距離遠(yuǎn)近不斷聚類迭代來將像素點進(jìn)行分類,對分類好的像素點分別進(jìn)行最大寬度測量并比較獲得圖像中裂紋的最大寬度值.
在實際的裂紋圖像拍攝中,往往發(fā)現(xiàn)墻面裂紋多以近直線方式延伸,且多數(shù)裂紋含有分支或出現(xiàn)網(wǎng)狀裂紋. 金萍萍先將單根裂紋進(jìn)行水平或垂直放置,再通過垂直或水平逐行掃描來獲取裂紋寬度.該方法用于測量圖像中的單根裂紋有良好的效果,但對于含有分支或網(wǎng)狀裂紋時此法失效則需人工標(biāo)定測量[9],操作過程繁瑣很不方便且誤差較大較難把控精準(zhǔn)度.盧曉霞介紹了基于裂縫是垂直或水平方向的圖像單根裂紋情形,先將單根裂紋進(jìn)行旋轉(zhuǎn)以達(dá)到與X軸垂直或平行的方向,再分別利用水平左右邊緣點法與垂線法,來計算裂紋的寬度[10],但裂縫的分布與走向往往不固定容易產(chǎn)生誤差且不能有效地解決含有分支或網(wǎng)狀的裂紋寬度測量問題. 崔磊提出用裂紋邊緣的切線垂線法來測量裂紋的最大寬度[11],但也只應(yīng)用于單根裂紋對于含有分支或網(wǎng)狀裂紋在分岔點處得不到該點的切線,故其適用范圍較為局限.
本文對于圖像中含有交叉分支或網(wǎng)狀裂紋,先通過K-means聚類算法對不同方向裂紋像素點進(jìn)行聚類區(qū)分成單方向的單根裂紋,在單根裂紋的基礎(chǔ)上再進(jìn)行裂紋寬度提取. 在對圖像不同方向的裂紋進(jìn)行聚類時,需要預(yù)先確定聚類簇的個數(shù)以及聚類初始中心值,在聚類過程中初始值的設(shè)置對聚類效果的影響較大,所以在初始值設(shè)立之初需將其與相應(yīng)方向裂紋像素點進(jìn)行貼近以達(dá)到良好聚類的效果.
1.1 圖像預(yù)處理與初始值提取
在墻面裂紋圖像中含有較多噪點雜質(zhì)以及偽裂紋,為提取有效裂紋像素點,傳統(tǒng)的圖像濾波難以將雜質(zhì)濾干凈,故本文利用裂紋的連續(xù)特性運用連通域去噪來獲得清晰裂紋邊緣,其效果良好. 再獲取裂紋特征像素位置的數(shù)據(jù)集X,并通過提取的部分同方向裂紋來擬合直線獲取初始值k、b,其具體步驟及效果如下.
Step 1: 對原始圖片(見圖1(a))進(jìn)行灰化并進(jìn)行中值濾波處理,除去部分噪點雜質(zhì),效果見圖1(b).
Step 2: 但濾波后的圖像依然有雜質(zhì)存在,此時通過對裂紋進(jìn)行邊緣檢測,見圖1(c). 再對檢測后的圖像進(jìn)行最大連通域去噪(即獲取值較大的前幾個連通域,其他部分取空)獲得良好效果,見圖1(d).
Step 3: 對于近似水平(垂直)方向的裂紋取其上下(左右)任意單條邊緣線,作為聚類初始值的數(shù)據(jù)集.
Step 4: 利用不同方向裂紋像素點的位置來擬合直線獲得初始值k、b.
1.2 聚類區(qū)分不同方向裂紋
取圖像中裂紋點作為樣本空間X={x1,x2,...,xi,...xn}并將樣本分成K個不同方向的裂紋類,其聚類中心為L={l1,l2,...,lj,...,lk},其中l(wèi)=kx+b是由參數(shù)k、b決定的直線,利用裂紋像素點到擬合直線的距離d的長短來區(qū)分裂紋像素點是屬于哪一個方向裂紋,再通過對聚類后的不同方向裂紋進(jìn)行再次擬合獲得新k、b值,以此不斷迭代直到k、b值不再變化.
點到直線的距離
(1)
上一次聚類擬合的直線斜率prekj與當(dāng)前聚類擬合的直線斜率kj之差uj:
(2)
具體步驟與效果如下.
Step 1: 通過式(1)來計算圖像中的像素點(即xi)到擬合直線的距離值d.
Step 3: 根據(jù)新歸類好的點(x(j),y(j)),對其曲線擬合獲取新的kj、bj值.
Step 4: 設(shè)置終止迭代條件為prekj(前一次運算的kj值)與kj之差uj小于0.1,見式(2),在迭代終止之前不斷循環(huán)執(zhí)行Step 2和Step 3,直至迭代結(jié)束.
Step 5: 獲得不同方向裂紋的像素點,見圖1(e)和圖1(f).
圖1 聚類區(qū)分裂紋Figure 1 Cluster differentiation crack
2.1 最大寬度測量算法
在對裂紋最大寬度檢測時,崔磊采用了閾值分割和迭代法相融合的最佳閾值法提取裂紋特征,裂紋寬度測量使用水平距離邊緣點法和切線垂線法[11].龍雨等先對裂縫圖像進(jìn)行雜質(zhì)去噪和形態(tài)學(xué)處理,利用骨架化的方法求得裂縫的中心線,再基于中心線上每一點的方向,求其法線與裂縫左右邊界交點間的距離即寬度[12],裴耀東等用Canny邊緣檢測算子提取到準(zhǔn)確且完整的裂縫邊緣,再采用以內(nèi)切圓直徑近似裂縫寬度[13].
基于圖像中墻面裂紋的延伸情況,每一方向的單條裂紋的兩條邊緣近似為平行. 對此以近水平裂紋為例(斜垂裂紋同理)取裂紋的單一邊緣,對所求裂紋寬度的像素點相鄰處取少許像素點來擬合直線,并將該點的坐標(biāo)代入獲取該點處的斜率K,過該點做鉛直線取兩邊緣線之間的距離為L,過該點做沿X軸平行線取水平線與斜率為K的擬合直線的夾角為θ,利用平行線間的角度計算可得過該點處做對應(yīng)平行邊緣的垂線,此垂線與Y軸平行線的夾角為θ,相關(guān)指標(biāo)見圖2.
根據(jù)上述系數(shù)與圖2標(biāo)示,可通過式(3)計算出裂紋的寬度H值.
H=L×cosθ,
(3)
(4)
對式(4)進(jìn)行變換得
K2cos2θ=1-cos2θ
?(1+K2)cos2θ=1
(5)
將式(5)帶入到式(3)得
(6)
圖2 裂紋寬度計算Figure 2 Crack width calculation
2.2 最大寬度測量實驗結(jié)果
通過式(6)對不同方向的裂紋分別進(jìn)行寬度測量,對于近水平方向(斜垂)裂紋的寬度測量并提取最大裂紋寬度坐標(biāo)(用“圈”標(biāo)示,見圖3(a)、(b)),在對整張圖像中不同方向的裂紋分別求取最大寬度值后,再比較獲取整張圖像中裂紋的最大寬度及其坐標(biāo)(用“叉”標(biāo)示,見圖3(c)).
圖3 標(biāo)記裂紋最大寬度處及標(biāo)定Figure 3 The maximum width of crack and calibration
對于提取出的裂紋最大寬度需要獲取其真實的寬度值,對此利用2 cm×2 cm的正方形黑框來獲取圖像像素與實際長度的比值(本文獲取1 cm的像素點數(shù)),黑方塊標(biāo)定見圖3(d),其中標(biāo)定所得像素與實長比值f=74.622pix/cm.
3.1 最大寬度點標(biāo)識和誤差
根據(jù)獲取的圖像大小M×N的像素點個數(shù)以及f值利用公式(7)與(8)來計算獲得實際墻面所拍攝的長度Length與寬度Width,同理可得通過最大寬度像素點的像素坐標(biāo)值與對應(yīng)圖像坐標(biāo)軸的比值來找到最大寬度像素點在實體墻面的坐標(biāo).
Width=M/f=9.53 cm,
(7)
Length=N/f=12.86 cm.
(8)
找到最大寬度像素點后,利用聚類迭代獲得的直線斜率求取其垂線斜率,再在該點處畫出垂線用于游標(biāo)卡尺的對準(zhǔn)測量,每點先單次測量10遍并去除最大值與最小值將剩余數(shù)值求取單次平均值,在求多次平均值作為最終測量結(jié)果,見表1.
取最大寬度測量的平均值作為測量寬度值,對于其測量的結(jié)果與誤差見表2.
表1 最大寬度測量
表2 裂紋最大寬度的坐標(biāo)與測量值、計算值
3.2 實驗結(jié)果分析
在裂紋的預(yù)處理中通過連通域去噪的裂紋特征提取,可去除較多的雜質(zhì)以獲得相對精確的裂紋特征,利于裂紋的聚類算法的精確度提高. 基于單向裂紋像素點有效提取及裂紋近似平行的延伸特點,利用上文的寬度測量算法來測量比較最大寬度值,于表1中的數(shù)據(jù)值可見近水平裂紋最大寬度的相對誤差為2.968%(也為整圖裂紋最大寬度的相對誤差值),斜垂裂紋最大寬度的相對誤差為5.188%,計算的精度基本能夠達(dá)到實際應(yīng)用的要求值,可見其算法有效.
對于墻面裂紋圖像中含有分支或網(wǎng)狀裂紋的最大寬度測量,由于交叉點處難以處理,故大多通過單張圖片只包含單條裂紋,合并多張圖片處理來達(dá)到其最大寬度的測量. 本文先用最大連通域去噪對圖像中裂紋特征有效提取,很大程度上避免了雜質(zhì)的干擾;對于不同方向的交叉裂紋,將其區(qū)分成單一方向單根裂紋時,利用K-means聚類算法將相近方向的裂紋像素點聚類集中,即獲取單根裂紋像素,進(jìn)而計算出其最大寬度值. 本算法對于處理含有分支或網(wǎng)狀裂紋的圖像,可減少多張圖像處理的繁瑣,一定程度上解決了其最大寬度測量問題. 目前此算法對于近直線含有單分支裂紋的處理效果良好. 對于含有多裂紋的圖像,如何有效的提取不同方向的單一裂紋,及分別求最大寬度算法等問題將是接下來研究的側(cè)重點.
[1] 曹梅麗.像素法裂紋參數(shù)測量技術(shù)研究[D].杭州:浙江大學(xué),2006. CAO M L. Study on the Measurement of Crack Parameters by Pixel Method[D]. Hangzhou: Zhejiang University,2006.
[2] HU D, TIAN T, YANG H, et al. Wall crack detection based on image processing[C]// International Conference on Intelligent Control & Information Processing.[s.n.]: IEEE,2012:597-600.
[3] ADU-GYAMFI Y O, OKINE N O A, GARATEGUY G, et al. Multiresolution information mining for pavement crack image analysis[J]. Journal of Computing in Civil Engineering,2012,26(6):741-749.
[4] ZHAO G, WANG T, YE J. Anisotropic clustering on surfaces for crack extraction[J]. Machine Vision and Applications,2015,26(5):675-688.
[5] 宋君.基于數(shù)字圖像的混凝土裂縫檢測算法研究[D].西安:長安大學(xué),2013. SONG J. Concrete Crack Detection Algorithm Research Based on Digital Image[D]. Xi’an: Chang’an University,2013.
[6] QU Z, GUO Y, JU F, et al. The algorithm of accelerated cracks detection and extracting skeleton by direction chain code in concrete surface image[J]. The Imaging Science Journal,2016,64(3):1-12.
[7] CUI F, LI Z, YAO L. Images crack detection Technology based on improved k-means algorithm[J]. Journal of Multimedia,2014,9(6):822-828.
[8] LI J, WANG N. A study of crack detection algorithm[C]// Fifth International Conference on Instrumentation & Measurement, Computer, Communication and Control. [s.n.]:[s.l.],2015:1184-1187.
[9] 金萍萍.圖像拼接和裂縫提取方法研究及在多足機器人橋梁檢測中的應(yīng)用[D].廣州:華南理工大學(xué),2015. JIN P P. Research on Image Mosaic and Crack Extraction Method and their Applications in Bridge Inspection Based on Multi-legged Robot[D].Guangzhou: South China University of Technology,2015.
[10] 盧曉霞.基于圖像處理的混凝土裂縫寬度檢測技術(shù)的研究[D].成都:電子科技大學(xué),2010. LU X X. Research on Concrete Crack Width Detection Technology Based on Image Processing[D].Chengdu: University of Electronic Science and Technology of China,2010.
[11] 崔磊.基于圖像處理技術(shù)的建筑物表面裂縫測量方法的應(yīng)用研究[D].北京:北京工業(yè)大學(xué),2013. CUI L. Applited Study of Crack Measurement Methods in the Surface of Buildings Based on Image Processing Technology[D].Beijing:Beijing University of Technology,2013.
[12] 龍雨,許鵬飛.基于裂縫中心線方向的土遺址裂縫寬度計算方法[J].傳感器與微系統(tǒng),2016,35(9):14-16.
LONG Y, XU P F. Calculation method for crack width of Earthen sites via directions of crack centerlines [J]. Transducer and Microsystem Technologies,2016,35 (9):14-16.
[13] 裴耀東,劉志文.基于數(shù)字圖像處理的混凝土裂縫度檢測[C]//全國結(jié)構(gòu)工程學(xué)術(shù)會議.北京:工程力學(xué),2016:474-477. PEI Y D, LIU Z W. Detection of concrete crack width based on digital image processing [C]//National Conference on Structural Engineering. Beijing:Engineering Mechanics Press,2016:474-477.
[14] 董安國,張仙艷,薛宏智,等.混凝土表面裂縫檢測的多級聚類算法[J].交通運輸工程學(xué)報,2013(6):7-13. DONG A G, ZHANG X Y, XUE H Z,et al. Multi-level cluster algorithm for crack detection of concrete surface[J]. Journal of Traffic and Transportation Engineering,2013 (6):7-13.
Measurement of the maximum width of mesh cracks on wall surface
DING Ning, CHEN Xiaozhu
(College of Information Engineering, China Jiliang University, Hangzhou 310018, China)
Detection of concrete wall cracks and measurement of the maximum width of the cracks have attracted much attention since wall cracks could cause severe safety hazard. In this paper, an intelligent crack detection method based on image processing was introduced. According to the distribution of crack pixels, the crack was extracted by using the size of the connected domain, and the impurities such as pseudo-crack were removed. According to the location relation of the pixels of the crack, the initial value of the cluster was obtained, and then the K-means clustering algorithm was used to iteratively calculate the shortest distance between the feature points of the crack and the corresponding line and to classify the pixels in the image as cracks of different directions. The maximum width of the cross crack was obtained by using the categorized crack pixels to perform edge detection and maximum width measurement respectively. The relative error of the maximum crack width was 2.968%, and the relative error of the maximum width of the slanting crack was 5.188%.
crack detection; image processing; K-means clustering algorithm; feature extraction
2096-2835(2017)02-0185-05
10.3969/j.issn.2096-2835.2017.02.008
2017-01-13 《中國計量大學(xué)學(xué)報》網(wǎng)址:zgjl.cbpt.cnki.net
丁寧(1991-),男,江蘇省淮安人,碩士研究生,主要研究方向為圖像處理.E-mail:1316559086@qq.com 通信聯(lián)系人:陳曉竹,女,教授. E-mail: chenxiaozhu@cjlu.edu.cn
TP306.2
A