李寶蕓,范玉剛,2*,高 陽
(1.昆明理工大學(xué) 信息工程與自動化學(xué)院, 云南 昆明 650500;2.云南省礦物管道輸送工程技術(shù)研究中心, 云南 昆明 650500)
機(jī)械設(shè)備中的許多關(guān)鍵部件經(jīng)常運行在高溫、高壓、高速或高負(fù)載等惡劣環(huán)境下,設(shè)備中的金屬材料會產(chǎn)生腐蝕、裂紋等缺陷,影響設(shè)備的正常運行,對生產(chǎn)安全與人身安全造成嚴(yán)重威脅。因此對設(shè)備關(guān)鍵部件進(jìn)行無損檢測,定位裂紋缺陷位置,提取裂紋缺陷特征信息,對于保證設(shè)備安全運行和提高生產(chǎn)效率具有重要的現(xiàn)實意義。
基于渦流熱成像的無損檢測技術(shù)利用渦流對設(shè)備進(jìn)行加熱[1-2],渦流的分布會受到裂紋等缺陷的影響,導(dǎo)致金屬材料裂紋缺陷位置處溫度的異常變化,形成特有的紅外圖像特征。提取紅外圖像的裂紋缺陷特征,即可以判斷設(shè)備的損傷程度。為了提取紅外圖像的裂紋邊緣特征,文獻(xiàn)[3]提出了一種基于改進(jìn)Sobel算子的裂紋特征提取方法,解決圖像邊緣定位精度不高和對噪聲敏感等問題,有效地提取裂紋邊緣信息。文獻(xiàn)[4]提出了一種基于濾波降噪、細(xì)節(jié)增強(qiáng)和區(qū)域分割的紅外圖像綜合處理方法,解決了含裂紋缺陷的紅外圖像對比度差、信噪比低的問題,有效地濾除噪聲,提高了裂紋圖像的對比度。文獻(xiàn)[5]提出了一種基于Sobel算子優(yōu)化算法,用于提取不同材料的紅外圖像裂紋特征,提高了裂紋缺陷識別的效果。文獻(xiàn)[6]提出了一種基于大津法(OTSU)和區(qū)域生長相結(jié)合的方法來分割出故障點,消除了復(fù)雜背景對紅外圖像的干擾,完整地分割故障區(qū)域。文獻(xiàn)[7]提出了一種基于多特征提取的金屬裂紋檢測方法,解決了采用單一特征提取裂紋檢測不準(zhǔn)確的問題,顯著提高了金屬裂紋識別率。盡管提取紅外圖像裂紋邊緣特征的方法有很多,但是不同的紅外圖像具有不同的特點,因此還沒有能處理所有紅外圖像的通用方法,紅外圖像裂紋邊緣特征提取仍是圖像處理領(lǐng)域的難點。
在采集紅外圖像時,設(shè)備的安裝位置、金屬試件表面的凹凸不平、光照的強(qiáng)弱等因素都會對紅外圖像的獲取造成干擾,導(dǎo)致紅外圖像局部溫度異常,使其特性表征與裂紋區(qū)域的溫度分布特征相似,不能定位紅外圖像中的裂紋區(qū)域,無法提取完整的邊緣特征。為此提出一種基于OTSU算法和Canny算子相結(jié)合的方法,對含裂紋缺陷的紅外圖像進(jìn)行處理,提取紅外圖像裂紋邊緣特征,實現(xiàn)對金屬材料損傷缺陷的無損探測。
在紅外圖像的采集過程中,噪聲、光照、設(shè)備特性等因素都會對圖像質(zhì)量造成影響,原始的紅外圖像中存在著大量隨機(jī)噪聲,對比度也較低。為了降低含裂紋缺陷的紅外圖像的噪聲,提高對比度,以改善圖像的質(zhì)量,提高圖像識別的準(zhǔn)確性,對采集到的紅外圖像進(jìn)行預(yù)處理是十分關(guān)鍵的[8]。本文采用的圖像預(yù)處理方法是先采用灰度拉伸增強(qiáng)圖像的對比度,然后采用圖像平滑技術(shù)對改善后的圖像進(jìn)行平滑濾波。
由于紅外熱成像儀獲取的含裂紋缺陷的紅外圖像是彩色圖為主,彩色圖像由3個不同的分量組成,若直接處理彩色圖像,需要對3個分量依次處理,計算量和處理時間都會增加。為了提高圖像處理的工作效率,將紅外圖像灰度化處理,可大大節(jié)省圖像的處理時間,同時也便于對圖像的進(jìn)一步處理(如:增強(qiáng)圖像的對比度、圖像去噪、圖像分割等)。
經(jīng)灰度化處理的圖像,其裂紋區(qū)域和背景區(qū)域的對比度不是很突出,若此時分割裂紋缺陷區(qū)域,會出現(xiàn)大塊黑色區(qū)域,甚至?xí)G失整幅紅外圖像裂紋的邊緣特征信息,因此不能直接對灰度圖像進(jìn)行圖像分割與特征提取,需要對灰度圖像進(jìn)行灰度拉伸處理,增強(qiáng)裂紋區(qū)域和背景區(qū)域的對比度。
灰度拉伸也稱對比度拉伸,是一種簡單的線性點運算,其原理是通過改變圖像的對比度來改變裂紋與背景的灰度差,在原有的基礎(chǔ)上通過增加灰度的級數(shù)來增強(qiáng)灰度差?;叶壤焱ㄟ^灰度映射,將原圖中的某一段區(qū)域中的灰度值映射到另一灰度值,從而拉伸整個圖像的灰度分布范圍,改善輸出圖像[9]。
灰度拉伸可以有選擇的拉伸某段灰度區(qū)間以改善輸出圖像,如圖1所示將紅外圖像的灰度圖在x1和x2之間的灰度拉伸到y(tǒng)1和y2之間。本實驗的紅外圖像灰度集中在較暗的區(qū)域(裂紋區(qū)域),此時用灰度拉伸功能來拉伸(斜率大于1),增強(qiáng)裂紋區(qū)域的灰度值,突出裂紋區(qū)域和背景區(qū)域的對比度。
圖1 灰度拉伸變換關(guān)系
噪聲的去除在圖像的預(yù)處理中是必不可少的,紅外熱圖像的噪聲主要由顆粒噪聲和一些隨機(jī)噪聲組成,且紅外圖像的對比度低,在紅外圖像中行人的輪廓較為模糊。中值濾波消除隨機(jī)干擾噪聲(椒鹽噪聲)和保持細(xì)節(jié)信息的能力很強(qiáng);均值濾波在衰減噪聲的同時不會使圖像邊緣模糊,可以有效濾除噪聲。
PSNR(峰值信噪比)是用來評價一幅圖像壓縮后與原圖像相比質(zhì)量的好壞,PSNR越高,壓縮后失真越小,圖片的質(zhì)量越高。分別對實驗獲取的3幅紅外圖像進(jìn)行均值濾波處理和中值濾波處理,計算處理后的峰值信噪比作為評價指標(biāo)來選取合適的濾波器對圖像去噪。由表1可知,采用中值濾波對本文紅外圖像質(zhì)量的改善效果更優(yōu)。
表1 不同濾波下的峰值信噪比
中值濾波是一種常用的非線性去噪濾波方法,其原理是將每一像素點的灰度值按大小排序后,用中間位置的灰度值取代原圖像的灰度值:
g(x,y)=med{f(x-k,y-L),(k,L∈w)},
式中f(x,y)、g(x,y)分別為原始圖像和處理后的圖像,w為選定區(qū)域的大小,f(x-k,y-L)為w內(nèi)像素的灰度值。用中值濾波對圖像降噪處理可以有效消除孤立點的干擾,且在衰減噪聲和消除圖像中的孤立點的同時,對圖像的邊緣有較好的保護(hù),使圖像的邊緣不被模糊。本節(jié)對獲取的紅外圖像去除噪聲和增強(qiáng)對比度,提高了紅外圖像的質(zhì)量,為下一步進(jìn)行紅外圖像分割、特征提取等做準(zhǔn)備。
圖像分割是特征提取的前提,圖像分割的質(zhì)量對特征提取的效率與準(zhǔn)確度有著直接的影響。為了提高分割的準(zhǔn)確性,本文用OTSU算法定位裂紋缺陷區(qū)域,并結(jié)合Canny算子分割出裂紋缺陷區(qū)域的邊緣。
OTSU法最早是由日本學(xué)者大津在1979年提出的,又叫最大類間方差法,是圖像分割中自動閾值選取的最佳算法[10]。其基本的思想是在圖像灰度差異的基礎(chǔ)上,自動選取合適的閾值,將圖像分為背景和目標(biāo)兩個部分。在執(zhí)行OTSU算法時,選取的閾值應(yīng)該盡可能增大,目標(biāo)和背景的灰度差別才能更有效地提取出裂紋區(qū)域。而衡量兩部分差別的標(biāo)準(zhǔn)就是最大類間方差,通過劃分后得到兩類的類間方差最大值來確定最佳的閾值。利用最大類間方差法可對圖像選取合適的閾值,實現(xiàn)對裂紋區(qū)域的分割。
設(shè)待分割圖像f(x),其灰度級為i的像素點出現(xiàn)的概率為
式中N是圖像中像素的總數(shù),ni是灰度級為i的像素的數(shù)量,0~L-1是圖像的灰度變化范圍。若用已選定的閾值T(k)=k,0≤k≤L-1,并使用它將待分割圖像f(x)按像素的灰度級分割成裂紋區(qū)域和背景兩個部分,其中裂紋區(qū)域用C1表示,背景用C2表示。C1由圖像中灰度值在區(qū)間[0,k]內(nèi)所有像素組成,C2由灰度值在區(qū)間[k+1,L-1]內(nèi)所有像素組成。使用OTSU算法,得到的最大類間方差:
或
(1)
式中P1是像素被分到C1中的概率,m1是分配到C1的像素的平均灰度值,
類似地,P2是像素被分到C2中的概率,m2是分配到C2的像素的平均灰度值:
m是k的累加均值:
MG是整個圖像的平均灰度(即全局均值):
(2)
利用OTSU算法將待分割圖像f(x)中的大面積背景去除,留下包含裂紋的區(qū)域,這樣在提取裂紋邊緣的時候,只需要分割出裂紋區(qū)域的邊緣即可。
圖像邊緣是分析、理解圖像的基礎(chǔ),反映了圖像最基本的特征,分割出裂紋區(qū)域的邊緣特征即可實現(xiàn)對含裂紋缺陷的紅外圖像的特征提取。傳統(tǒng)的邊緣檢測算法有Roberts算子、Prewitt算子、Sobel算子等,這些算法簡單,容易實現(xiàn),但去噪能力較差,裂紋邊緣識別不完整,容易出現(xiàn)偽邊緣等問題[11-13]。相對于這些算法,本文使用的Canny邊緣檢測算子具有很強(qiáng)的去噪能力和較高的檢測精度,且是評價其他邊緣檢測方法的標(biāo)準(zhǔn)之一。
Canny邊緣檢測算子是John F. Canny于1986年開發(fā)出來的一個最優(yōu)的邊緣檢測算法,能夠滿足最優(yōu)的邊緣提取準(zhǔn)則,且能夠有效地抑制噪聲并精確的定位到邊緣的位置[14-15]。Canny算法包括4個步驟:
(1)用高斯濾波器平滑處理原圖像,設(shè)原始圖像為f(x,y),其高斯函數(shù)H(x,y)為
G(x,y)=f(x,y)*H(x,y),
式中G(x,y)為經(jīng)過高斯濾波器平滑處理后的圖像,σ為二維高斯函數(shù)的標(biāo)準(zhǔn)差,用于控制圖像的平滑處理,“*”是卷積運算符號。
(2)利用一階差分卷積模板:
計算得到圖像梯度的幅值和方向:
(3)對梯度幅值進(jìn)行非極大值抑制,將梯度幅值近似劃分成4個方向范圍,在每一點上,領(lǐng)域中心點與沿著其對應(yīng)的梯度方向的兩個像素相比,如果中心像素為最大值,則保留,否則中心置零,這樣可以抑制非極大值,保留局部梯度最大的點,以得到細(xì)化的邊緣。
(4)對梯度選取兩個閾值TH和TL,兩者的關(guān)系為
TL=0.5×TH。
(3)
取出非極大值抑制后的圖像中的最大梯度幅值,將小于低閾值的點置0,將大于高閾值的點(即邊緣點)標(biāo)記,置1,即可提取出完整的邊緣。
由Canny算法流程可知閾值的選取是進(jìn)行圖像邊緣提取的關(guān)鍵,而Canny算子需要人為預(yù)先設(shè)定高、低閾值,這需要多次反復(fù)的實驗才能找到合適的閾值。閾值設(shè)置過高可能導(dǎo)致邊緣斷裂、不連續(xù),甚至丟失邊緣信息;閾值設(shè)置過低可能導(dǎo)致提取的邊緣中出現(xiàn)過多的偽邊緣,甚至將噪聲當(dāng)作邊緣提取[16-18]。所以高、低閾值的設(shè)置合理與否,直接影響到邊緣提取的精度。為了解決Canny算子需要人為設(shè)定高、低閾值的問題,用OTSU算法自動選取一個合適的閾值并將此閾值用于Canny算子。
本文用式(2)確定一個最佳的分割閾值k*,將選取的最佳分割閾值k*作為Canny算子的高閾值,然后根據(jù)Canny算子高、低閾值的關(guān)系式(3)得到高、低閾值的表達(dá)式:
(4)
根據(jù)式(4)可得:Canny算子的高、低閾值的選擇只與最佳分割閾值k*的值有關(guān),不需要再人為設(shè)定高、低閾值,這就為Canny算法中閾值的確定問題提供了一個較好的解決方法,同時也增強(qiáng)了Canny算子的分割能力和自適應(yīng)性。
本節(jié)提出的OTSU算法能夠準(zhǔn)確定位紅外圖像的裂紋缺陷區(qū)域,結(jié)合Canny算子分割得到裂紋缺陷區(qū)域的完整邊緣,為后面的特征提取做好準(zhǔn)備。
紅外圖像通過一系列的處理后,其目的是提取紅外圖像裂紋的特征信息,它依靠的是描述物體形狀特征的參數(shù),來得到裂紋的面積、周長等信息。經(jīng)過上述方法處理后的裂紋圖像邊界已經(jīng)非常明顯,對于裂紋圖像來說,面積與周長只與該裂紋的邊界有關(guān),與其內(nèi)部的變化無關(guān)。利用圖像分析函數(shù)提取裂紋圖像的最大聯(lián)通區(qū)域,標(biāo)記其最大聯(lián)通區(qū)域的邊緣,將圖像中平面區(qū)域像素為1的點累加得到裂紋圖像的面積,圖像中封閉曲線像素為1的點累加得到裂紋圖像的周長。即可實現(xiàn)對紅外圖像裂紋邊緣特征的提取。
本文的方法步驟如下:
(1)將紅外熱成像無損檢測技術(shù)獲取的紅外圖像采用灰度化、灰度拉伸以及平滑濾波處理,以增強(qiáng)圖像中的特征信息、改善紅外圖像質(zhì)量;
(2)用OTSU算法自動選取最佳的閾值,分割預(yù)處理后的紅外圖像的裂紋缺陷區(qū)域;
(3)以O(shè)TSU算法自動選取的最佳閾值k*作為Canny算子的高閾值,利用式(3)得到Canny算子的高、低閾值,得到裂紋區(qū)域的邊緣圖像;
(4)通過計算裂紋邊緣的像素數(shù)來提取裂紋的邊緣特征信息。
具體流程如圖2所示。
圖2 紅外圖像特征提取算法流程圖
實驗利用渦流紅外熱成像技術(shù)檢測含裂紋缺陷金屬板,如圖3所示為實驗的渦流加熱裝置和含裂紋缺陷的金屬板。含裂紋缺陷的金屬板通過渦流加熱裝置后,用HT-18熱像儀連續(xù)記錄其表面溫度變化并輸出包含多幀圖像的圖像序列,得到該含裂紋缺陷金屬板的紅外圖像。
(a)渦流加熱裝置 (b)含裂紋缺陷的金屬板圖3 實驗裝置圖
從紅外成像儀輸出的多幀圖像中選取其中幾幅含裂紋缺陷較清晰的紅外圖像,如圖4(a)、(b)、(c)所示。通過圖4(a)、(b)、(c)可以看出,出現(xiàn)裂紋缺陷時,該區(qū)域會出現(xiàn)溫度升高的前兆,裂紋區(qū)域與其背景區(qū)域會存在較大的溫度差,而紅外圖像中該區(qū)域就會相應(yīng)的出現(xiàn)顏色加深的現(xiàn)象。本文以圖4(a)、(b)、(c)作為實驗對象提取其邊緣,如圖4(d)、(e)、(f)所示,實現(xiàn)對紅外圖像裂紋邊緣特征的提取。本文識別圖4(d)的裂紋特征結(jié)果為:周長L=789,面積S=764。
圖4 紅外圖像及其邊緣提取
實驗結(jié)果如圖5所示:圖5(a)—(e)為紅外圖像的灰度圖像和預(yù)處理后分割對比。圖5(a)為灰度轉(zhuǎn)化后的結(jié)果,相比彩色圖像,灰度圖像更便于處理。圖5(b)是對灰度圖像進(jìn)行灰度拉伸處理,能夠有效的增強(qiáng)紅外圖像裂紋區(qū)域和背景區(qū)域的對比度,用于增強(qiáng)OTSU算法的分割能力。中值濾波能有效地消除孤立點的干擾,且在衰減噪聲和消除圖像中的孤立點的同時,對圖像的邊緣有較好的保護(hù),效果如圖5(c)所示。圖5(d)—(e)是直接對灰度圖像用OTSU算法分割和經(jīng)過本文預(yù)處理方法處理后用OTSU算法分割,可以看出直接用灰度圖像分割的圖像會出現(xiàn)大塊黑色區(qū)域,還會丟失整幅紅外圖像裂紋的邊緣信息,無法分割出紅外圖像裂紋區(qū)域。而經(jīng)本文預(yù)處理后能夠準(zhǔn)確分割出紅外圖像裂紋區(qū)域,為后續(xù)提取裂紋的邊緣做準(zhǔn)備。圖5(f)—(i)為用傳統(tǒng)的Roberts算子、Prewitt算子、Sobel算子的邊緣提取和本文算法提取邊緣的結(jié)果。通過對比可知,相對于傳統(tǒng)的邊緣提取算法,本文的算法能夠更完整、更精確地提取邊緣信息。圖5(j)是獲取裂紋圖像的最大聯(lián)通區(qū)域,并根據(jù)計算其像素數(shù)提取其周長、面積特征。
圖5 實驗結(jié)果圖
文中針對含裂紋缺陷的紅外圖像特征難以提取的問題,提出一種基于OTSU和Canny算子的紅外圖像裂紋特征提取方法。用OTSU算法定位裂紋區(qū)域,用Canny算子分割裂紋區(qū)域的邊緣后提取其特征信息。實驗結(jié)果表明:
(1)本文方法能準(zhǔn)確定位紅外圖像的裂紋缺陷區(qū)域,精確提取裂紋的邊緣特征信息;
(2)圖像中的裂紋,從邊緣到內(nèi)部灰度逐漸加深,說明裂紋沿橫向擴(kuò)展的同時,向金屬材料內(nèi)部繼續(xù)延伸,證明紅外熱成像無損檢測技術(shù)對于測量金屬材料裂紋的有效性;
(3)提取裂紋邊緣的周長、面積等特征,對于計算裂紋深度、判斷設(shè)備的損傷程度提供了計算依據(jù)。但是本文方法是先將紅外圖像彩色圖轉(zhuǎn)換成灰度圖后處理,這樣會丟失紅外圖像彩色信息,這方面還需要進(jìn)一步的研究。