孫文雅,李天劍 ,黃 民,陳 曉
(北京信息科技大學 機電工程學院,北京 100192)
管道作為常用氣體和液體的傳輸手段,已被廣泛應用于化工、石油、國防以及排污等領域。管道在使用過程中,在工作環(huán)境與所載原料作用下,容易發(fā)生腐蝕、堵塞或者使管道內(nèi)部潛在的各種缺陷發(fā)展成破損而引起泄露事故等[1]。因此必須定期對管道進行檢測,以便準確的測算它們對管道使用壽命和性能的影響。
傳統(tǒng)的人工檢測勞動強度大,檢測結(jié)果準確率低、效率低,因此發(fā)展為采用基于機器視覺的管道機器人檢測。管道機器人是一種可沿管道內(nèi)爬行機電一體化裝置,采用CCD攝像機采集管道內(nèi)圖像,實時提供給技術人員,以便進行處理和分析,同時通過圖像處理技術對缺陷進行分析和識別,計算缺陷特征值、自動識別缺陷類型、統(tǒng)計數(shù)量,提高檢測的速度和精確度。
管道裂縫是管道缺陷主要類型之一。攝像機在對管道內(nèi)圖像進行采集時,受采集工具、管道內(nèi)環(huán)境影響,在獲取有用信號的同時也使圖像包含大量的噪聲信號。一般來說,在采集到的圖像中包含兩類對象:一類是較好的管道,即背景;一類是裂縫,即待檢測的目標。設I(p),p={x,y}表示一副帶有裂縫的管道圖像,因此可由下述三個部分表示:
其中IB(p)是背景灰度變化信號,In(p)是噪聲信號,Ic(p)是管道的裂縫信號。由于Ib(p)和In(p)的存在,很難直接提取出Ic(p)信號[2,3]。
針對管道裂縫的特點,采用圖像處理的方法對裂縫進行自動檢測識別,對采集到的管道裂縫圖像進行灰度化,再進行圖像增強來降低圖像中的噪聲,然后選擇合適的閾值行進分割,提取出裂縫特征。管道圖像處理流程如圖1所示。
圖1 圖像處理流程
圖像增強技術[5]根據(jù)其處理所進行的空間的不同,可以分為兩類:空間域方法和頻域方法?!翱臻g域增強”是指對構(gòu)成圖像的像素進行操作可以分為點操作和模板操作, 空間域圖像增強可由公(2)來定義
其中,f(x,y)是輸入圖像,g(x,y)是處理之后的圖像,T是對f的某種增強操作。如果T定義在每個(x,y)上的,則T為點操作;如果T定義在(x,y)的某一個領域上, 則為模板操作。
圖像增強的頻域方法[5]就是在圖像的變換域中通常是頻率域?qū)D像的變換值進行某種運算處理,然后再變換回空間域。
2.1.1 圖像灰度化
灰度圖像是只含亮度信息,不含色彩信息的圖像?;叶然梢圆捎矛F(xiàn)行標準的平均值法。用f(x,y)表示灰度化后的灰度值,R、G、B分別表示原真彩色圖中的紅、綠、藍分量,有:
其中0.299、0.587和0.114是理論和實驗推導證明得出的最合理的灰度圖像的權值[6]。圖2為處理所灰度圖。
圖2 灰度化
2.1.2 中值濾波
經(jīng)試驗結(jié)果觀測,采用中值濾波法對管道裂縫灰度化圖像進行處理能有效的去除噪聲,保護圖像邊緣。圖3為中值濾波后的圖像。
圖3 中值濾波
中值濾波[2]是一種非線性的信號處理方法,是一種鄰域運算。它的目的是保護圖像邊緣的同時去除噪聲。所謂中值濾波,是指把以某點(x,y)為中心的小窗口內(nèi)的所有像素的灰度按從大到小的順序排列,將中間值作為(x,y)處的灰度值(若窗口中有偶數(shù)個像素,則取兩個中間值的平均)[3]。
設一個一維序列f1,f2,f3,…,fn取窗口長度(點數(shù))為5, 對此一維序列進行中值濾波,即從輸入序列中相繼抽出5個數(shù),假設這5個數(shù)為f2,f3,f4,f5,f6,其中f4為窗口中心點值,將這5個點值按數(shù)值大小排序,取序號為中心點的值y作為濾波輸出,用數(shù)學公式(5)表示為:
如果原序列中心位置值較其周圍值大,在圖像中則會出現(xiàn)一個突變噪聲點,經(jīng)中值濾波處理后,與周圍值差異不大,由此便達到了抑制噪聲的效果[2,3]。
在上覆壩體壓力及廊道自身重力作用下,廊道出現(xiàn)豎直向下的撓曲變形,在防滲墻的帶動下發(fā)生向下游撓曲變形。兩種變形組合后在廊道軸線方向產(chǎn)生較大的拉壓應力,廊道兩端上游受拉,下游受壓,河床中部上游面受壓、下游面受拉。因壩基巖體的約束,基巖面處出現(xiàn)了明顯的應力集中現(xiàn)象,左右岸1/4跨位置上游面壓應力較大,下游面拉應力較大。表1列出了靜力條件下廊道沿各方向的變形和正應力極值。
數(shù)字圖像是以二維數(shù)據(jù)來描述的,所以二維中值濾波可由式(6)表示:
式中:g(s,t)為窗口中sxy的像素點。二維中值濾波的窗口形狀和尺寸對濾波效果影響較大,不同的圖像內(nèi)容和應用要求采用不同的窗口形狀和尺寸。
對于管道裂縫類缺陷的檢測識別來說,邊緣檢測算法的好壞嚴重影響到檢測和識別的精度和效果。邊緣檢測通常的方法是先對圖像進行灰度邊緣的增強處理,得出一個增強處理后的圖像,然后設立門限,進行門限操作來確定出明顯邊緣的像素位置[6]。
常用的經(jīng)典邊緣檢測算子算法有Prewitt算子、Sobel算子、Log算子、Canny算子等。數(shù)學形態(tài)學[4]在圖像處理中有廣泛的應用,其基本原理是基于利用結(jié)構(gòu)元素去“探針”收集圖像信息,在常見數(shù)學形態(tài)學梯度的基礎上,對管道裂縫圖像處理中,提出了一種基于形態(tài)學梯度的邊緣檢測算法。檢測結(jié)果表明,該檢測算法與其他經(jīng)典算法相比能得到較為理想的邊緣信息。圖4為檢測結(jié)果對照圖。
圖4 邊緣檢測對照
圖像分割是圖像處理中很關鍵的一個步驟,其任務是把圖像劃分成互不交迭區(qū)域的集合[1]。閾值分割[2]是圖像分割常用的方法,設定一定的閾值,灰度值大于(或小于等于)設定閾值的像素對應輸出圖像像素為白色(或黑色),剩余的對應輸出圖像像素為黑色(或白色)。即一類為背景,一類為目標。
根據(jù)管道裂縫圖像的特點,本文選用迭代法選取閾值。迭代法[3~5]是基于逼近的思想通過閾值迭代的方式,自動選取閾值,算法步驟如下:
1)求出圖像灰度的最大值Zmax和最小值Zmin,初始閾值為
2)根據(jù)閾值T0將圖像分割成兩部分:背景和目標,求出兩部分的平均灰度值Zm、Zb
3)由2)求出新的閾值:
4)重復2)~3),直到TK=Tk+1。
圖5為運用迭代法進行閾值分割的結(jié)果。
圖5 圖像分割
裂縫圖像經(jīng)過圖像預處理后,通常要對感興趣的目標進行測量,即目標的特征信息。對于本文檢測的管道裂縫圖像則要測量裂縫的面積、周長、長度等。特征提取基本步驟如圖6所示。
圖6 特征提取步驟
管道裂縫圖像經(jīng)過分割去噪后,白色部分就為裂縫區(qū)域,如圖7中的白色區(qū)域。在圖像處理中裂縫面積的測量實際上就是這部分區(qū)域所包含白色像素的個數(shù)。計算機將一幅二值圖像當作一個矩陣來處理,0代表黑色,1代表白色。因此,要測量裂縫的面積,只需計算連通區(qū)域1的個數(shù)[6]。
圖7 二值化后去噪
裂縫長度的計算方法[2],經(jīng)過細化把裂縫變成一條單像素寬的線,找到它的“骨架”部分,通過統(tǒng)計像素點的個數(shù),根據(jù)圖片長或?qū)掃叺南袼攸c個數(shù)計算出裂縫的長。周長就是待測目標(連通區(qū)域)輪廓線上像素間距離和。
經(jīng)計算本文所檢測的管道裂縫圖像,裂縫面積為6631,長度為636,周長為1382.885。
由于受管道自身和外界影響,使采集到的圖像存在大量的噪聲信號,這些噪聲信號的存在加大了圖像處理的難度。本文采用中值濾波法對圖像進行去噪,等到了較為理想的效果。經(jīng)試驗比較采用形態(tài)學梯度算法進行邊緣檢測,邊緣吻合度高于其他典型算法。在邊緣檢測的基礎上采用迭代法進行閾值分割,對分割的圖像進行形態(tài)學處理,將目標與背景區(qū)分開。最后對分割得到的特征圖像進行了特征值得計算。
[1] 陳應松,周瑜.基于視覺的機器人在管道檢測中的遠程控制研究[J].制冷與空調(diào),2010,24(4):133-137.
[2] 孫朝云,褚燕利,樊瑤,等.基于VC++路面裂縫圖像處理系統(tǒng)研究[J].計算機應用與軟件,2009,26(8):82-85.
[3] 沙莎,彭麗,羅三定.邊緣信息引導的閾值圖像分割算法[J].中國圖象圖形學報,2010,3(15):490-494.
[4] 陳虎,周朝輝,王守尊.基于數(shù)學形態(tài)學的圖像去噪方法研究[J].工程圖學學報,2004(2):1162-1191.
[5] 孫兆林.MATLAB6.x圖像處理[M].北京:清華大學出版社,2002:267-269.
[6] CHENG H D,SHI X J,GLAZIER C,Real-time image thresholding based sample space reduction and interpolation approach[J].Journal of Transportation