刁福林,陳 昊,李延豐,陳 曦,楊立余
(1. 南昌航空大學(xué) 信息工程學(xué)院,南昌 330063; 2. 無(wú)損檢測(cè)技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室(南昌航空大學(xué)),南昌 330063;3. 青島啤酒股份有限公司,山東 青島 266000)
大多數(shù)金屬材料是由許多小晶粒組成,晶粒的大小影響著金屬的拉伸強(qiáng)度、韌性以及耐久度等常規(guī)力學(xué)性能[1]。晶粒圖像分析是檢測(cè)金屬材料性能的重要手段之一。因此,為了方便測(cè)量晶粒尺寸,準(zhǔn)確而有效地提取出晶界非常重要。
現(xiàn)有的晶界提取技術(shù)中采用的Canny、Sobel和Kirsch等邊緣檢測(cè)算子雖然能夠有效定位到邊緣,但是容易受到諸多因素的干擾。文獻(xiàn)[2]使用Canny算子和Otsu算法相結(jié)合對(duì)現(xiàn)場(chǎng)采集的圖像進(jìn)行實(shí)時(shí)處理;文獻(xiàn)[3]用中值濾波方法得到的閾值來(lái)代替原始的Sobel算子的閾值,同時(shí)利用非極大值抑制的方法對(duì)圖像作細(xì)化處理,從而提高對(duì)圖像紋理的識(shí)別率;文獻(xiàn)[4]改進(jìn)傳統(tǒng)的Kirsch邊緣檢測(cè)方法,首先利用模糊數(shù)學(xué)方法消除圖像的背景隨機(jī)噪聲,得到了濾波圖像,最后用局部最大值圖像和利用最大熵算法自動(dòng)選取的閾值得到邊緣圖像;文獻(xiàn)[5]提出用混度蟻群算法計(jì)算信息素矩陣得到閾值,進(jìn)而獲得豐富的邊緣信息,能夠快速定位到圖像的邊緣并且較完整的提取出邊緣;文獻(xiàn)[6]將數(shù)學(xué)形態(tài)學(xué)中的腐蝕、膨脹等運(yùn)算的組合,并依據(jù)不同的結(jié)構(gòu)元,提出了一種抗噪性能良好的邊緣檢測(cè)算法,有效地提取出圖像輪廓。
然而,這些傳統(tǒng)方法對(duì)高溫合金的晶界提取都難以得到理想的效果。由于目標(biāo)金屬在制備和數(shù)據(jù)采集過程中,晶粒本身內(nèi)部會(huì)產(chǎn)生偽邊界,也會(huì)丟失部分晶界,進(jìn)而在采集的金相圖像中往往存在劃痕、晶界模糊不清、晶粒內(nèi)部灰度分布不均勻等情況,這會(huì)干擾對(duì)晶粒的計(jì)算和分析。
用于晶界提取的經(jīng)典方法受噪聲影響嚴(yán)重,在復(fù)雜的圖像中難以取得理想的效果。為了獲取清晰完整的晶界,對(duì)存在的問題進(jìn)行研究,提出先用拉普拉斯銳化進(jìn)行處理,再做直方圖均衡化,去除圖像表面上的劃痕,用Otsu法進(jìn)行分割,然后將處理后的圖像作最大連通域,最后做平滑等處理,從而得到較完整的晶界。由提取到的晶界圖計(jì)算出每一幅金相圖像晶粒的個(gè)數(shù)和對(duì)應(yīng)的面積等晶粒參數(shù)。
金相圖像主要描繪晶粒和晶界,除了形狀外,每顆粒子都是相似的[5]。因?yàn)楦鱾€(gè)晶粒之間結(jié)構(gòu)的相互作用力不同,相鄰晶粒的邊界并不總是那么明顯,而且一部分的晶粒可能存在連接它們的連接通道,使用傳統(tǒng)分割算法不能準(zhǔn)確有效地對(duì)金相圖像進(jìn)行分割。金相圖像中常見的干擾項(xiàng)有球狀析出相、平直晶界和劃痕等干擾項(xiàng)(圖1)。
這項(xiàng)研究的傳統(tǒng)算法流程如圖2所示。傳統(tǒng)的晶界提取方法是對(duì)圖像作預(yù)處理,去除大部分噪聲,然后利用金典的邊緣提取算法進(jìn)行提取,最終獲得圖像的邊緣,這對(duì)應(yīng)一般的輪廓圖像會(huì)有較好的效果[7]。但對(duì)于類似于金相圖像的復(fù)雜圖像,金典邊緣提取算法提取的邊緣輪廓粗糙,抗噪聲能力弱且容易受到光照不均的影響,會(huì)引入虛假的邊緣分支[8]。因此,最后獲得的晶界圖像不可靠,不利于對(duì)晶粒的分析。
晶粒圖像在獲取過程中,由于光照等原因,導(dǎo)致圖像部分區(qū)域亮度不均勻,不利于晶界提取??烧{(diào)節(jié)圖像的對(duì)比度和局部亮度實(shí)現(xiàn)局部灰度非線性變換,以增強(qiáng)晶界的對(duì)比度[6]。但晶界內(nèi)部的黑點(diǎn)邊界同時(shí)也被增強(qiáng),需要進(jìn)一步處理。
中值濾波有較強(qiáng)的降噪能力,可以起到平滑圖像的作用,還能盡可能的保留邊緣信息[9]。由于金相圖像中存在很多較小的黑點(diǎn)以及椒鹽噪聲,在平滑處理時(shí)會(huì)影響計(jì)算效果,中值濾波會(huì)直接忽略這點(diǎn)。選擇3×3像素進(jìn)行平滑,并且與其他平滑方法相比,降低了一定的模糊程度。
由于金相圖像在獲取、傳輸?shù)冗^程中受到傳遞函數(shù)的衰減影響,使得其中部分晶界有不同程度的模糊情況。為了增強(qiáng)晶界的邊緣和細(xì)節(jié),用拉普拉斯銳化使圖像的灰度反差增大,加強(qiáng)晶界的邊緣區(qū)域,減弱非邊緣區(qū)域,并且保留了原圖的背景,相比于原圖像清晰度得到了明顯增強(qiáng)。其定義如式(1)所示,式中2f表示二階微分,f(x,y) 為像素位置。拉普拉斯可用過零點(diǎn)來(lái)確定突變的邊緣,或者是緩慢變換邊緣線的位置。它對(duì)孤立的點(diǎn)和線較為敏感,適用于邊緣檢測(cè)。
(1)
將計(jì)算得到的值替換原來(lái)點(diǎn)(x,y)出的灰度值,可確定晶界點(diǎn)的位置,然后由式(2)得到銳化圖像h(x)。
(2)
經(jīng)過拉普拉斯銳化處理后,圖像的整體清晰度得到了提高,但是在一些位置依然不夠清晰,因此,使用直方圖均衡化來(lái)增加圖像局部對(duì)比度,其映射方法如式(3)所示。該方法是將圖像灰度直方圖中一個(gè)比較集中的灰度區(qū)間重新分配其他灰度區(qū)間的灰度值,使得整體灰度均勻化,實(shí)現(xiàn)對(duì)圖像非線性拉伸,有利于下一步的處理。
(3)
式中,n表示所有像素的和,ni為當(dāng)前灰度級(jí)下像素?cái)?shù)目,L表示可能存在的灰度級(jí)數(shù)。
Otsu法是按照?qǐng)D像的灰度特點(diǎn),將圖像分為背景部分和輪廓部分,分割效果由類間方差來(lái)決定:
w=m0m1(μ0-μ1)2
(4)
式中:m0為輪廓的像素點(diǎn)占整個(gè)圖像的比值,平均灰度記為μ0;m1表示背景區(qū)域像素點(diǎn)占整幅圖像的比值,平均灰度為μ1。
計(jì)算圖像的直方圖并歸一化,根據(jù)經(jīng)驗(yàn)值假設(shè)分割閾值為h,通過遍歷整張圖像,最終求得閾值k使類間方差w取得最大值,記下此時(shí)的閾值,即為最佳閾值。此方法對(duì)低對(duì)比度和亮度有一定的魯棒性,計(jì)算簡(jiǎn)單。
用該方法將均衡化后的圖像進(jìn)行分割提取出晶界,然后對(duì)每個(gè)連通區(qū)域進(jìn)行標(biāo)記,并且求出對(duì)應(yīng)的大小,再求最大連通域的索引,最后獲取最大連通域的圖像:
f(i)=Fi-Fi-Δ/Fi-Δ
(5)
式中:Fi表示第i個(gè)連通域的面積;Δ表示微小變化量,一般取1;f(i)為在i處的Fi變化率,當(dāng)f(i)取局部極小值時(shí),那么Fi就為面積最大穩(wěn)定區(qū)域。
由上述方法處理過的晶界圖像邊緣處存在毛刺以及部分晶界線未連接的情況,直接用這些圖像來(lái)計(jì)算晶粒的個(gè)數(shù)和對(duì)應(yīng)面積會(huì)有較多的誤差,因此,有必要進(jìn)行進(jìn)一步平滑細(xì)化處理。
使用開運(yùn)算方法對(duì)其進(jìn)行處理。可以用來(lái)消除小物體、與晶界分離的細(xì)小點(diǎn),在不明顯改變晶粒面積的情況下能夠平滑晶界邊緣。再用閉運(yùn)算處理未連接的鄰域晶界和填充微小的空洞,平滑金相圖像的晶界同時(shí)不影響計(jì)算晶粒的面積。最后再對(duì)平滑后的金相圖像作細(xì)化去枝處理,細(xì)化之前邊緣處有凸起的位置,在細(xì)化后得到的圖像會(huì)存在一些短線分支需要去除。根據(jù)短線比較短的特點(diǎn),將閾值設(shè)置在4~6范圍內(nèi),如果線條的尺度小于閾值,則認(rèn)為是多余的線條,應(yīng)該去除;反之,如果線條尺度大于該閾值,則視為原圖像中本來(lái)存在的線條,不用去除。
通過對(duì)上述處理的每一個(gè)步驟的詳細(xì)描述,現(xiàn)將整個(gè)晶界提取的方法流程總結(jié)如下:
1)輸入金相圖像,對(duì)圖像進(jìn)行調(diào)節(jié)亮度,實(shí)現(xiàn)局部灰度拉伸,增強(qiáng)晶界的對(duì)比度。
2)考慮到第一步在灰度拉伸的同時(shí)圖像中的噪聲和孤立黑點(diǎn)得到了增強(qiáng),需要及時(shí)處理,利用3×3像素的中值濾波去除圖像中的小黑點(diǎn)以及椒鹽噪聲,在一定程度上平滑了圖像。
3)步驟2獲得的去噪后圖像中邊緣依然不夠清晰,根據(jù)拉普拉斯對(duì)輪廓信息有較好的增強(qiáng)作用的優(yōu)點(diǎn),對(duì)圖像作拉普拉斯銳化處理,進(jìn)一步增強(qiáng)晶界區(qū)域,弱化背景區(qū)域,使得邊緣和細(xì)節(jié)部分更清晰。
4)為了更好地分隔出完整的晶界,對(duì)步驟3得到的圖像再作直方圖均衡化,提升依然不夠清晰的區(qū)域,使整幅圖像的灰度均勻化。
5)通過遍歷圖像,計(jì)算出使類間方差取最大值的最佳閾值,使用該閾值對(duì)處理完的圖像進(jìn)行分割,計(jì)算并標(biāo)記各連通域,獲得最大連通域的索引,得到最大連通域圖像。
6)對(duì)晶界邊緣處有許多毛刺、部分區(qū)域有虛連接的情況,再對(duì)分割完的圖像進(jìn)行平滑細(xì)化處理,最終獲得完整晶界圖像。
為了獲得金相圖像,對(duì)GH4169、GH738和GH706材料進(jìn)行研磨、拋光和腐蝕,然后將其置于金相顯微鏡下獲取實(shí)驗(yàn)樣本來(lái)驗(yàn)證方法的提取性能。實(shí)驗(yàn)所用的圖片均是通過圖像顯微采集系統(tǒng)采集并整理獲得。
以一幅具有代表性的GH738金相圖像為例(圖3a),用不同方法進(jìn)行晶界提取實(shí)驗(yàn)分析。為了便于觀察,放大了每個(gè)處理圖像中的相同區(qū)域。圖3b是Sobel算子提取晶界的效果圖,從中可以看出圖像中有很多噪點(diǎn),邊緣處有大量的毛刺。這是由于該算子只是檢測(cè)水平和豎直兩個(gè)方向的邊緣信息,計(jì)算得到的灰度值如果大于等于設(shè)定的閾值,就認(rèn)為是邊緣點(diǎn),這會(huì)導(dǎo)致將噪聲誤判為邊緣點(diǎn)。這種判別方式欠合理,適用于簡(jiǎn)單紋理圖像處理,但對(duì)于復(fù)雜圖像的檢測(cè),其效果并不理想。圖3c為傳統(tǒng)的分水嶺法的檢測(cè)結(jié)果圖,對(duì)比原圖可見丟失了許多重要輪廓信息。該方法是以數(shù)學(xué)形態(tài)學(xué)為基礎(chǔ)的一種分割方法,主要分2步實(shí)現(xiàn):首先將圖像中每一個(gè)像素的灰度值按照從小到大排序,然后再?gòu)南峦蠈?shí)現(xiàn)淹沒過程并對(duì)每一局部受極小值影響的區(qū)域進(jìn)行標(biāo)注。分水嶺法通常處理的是梯度圖像,由于對(duì)噪聲很敏感,圖像中的噪聲點(diǎn)會(huì)影響其迭代標(biāo)注,從而導(dǎo)致分割偏移,也容易出現(xiàn)過分割現(xiàn)象。圖3d是采用Roberts算子進(jìn)行處理得到的晶界,提取的晶界不完整,該算子是根據(jù)局部差分算子來(lái)尋找邊界的一種簡(jiǎn)單算子,局部差分算子是利用四鄰域?qū)蔷€方向相鄰的2個(gè)像素值之差,從實(shí)驗(yàn)效果上可以看出,其對(duì)于確定邊緣位置較準(zhǔn),但是同樣容易受到噪聲的干擾。圖3e是哈爾小波處理后再閾值分割的效果圖,一些微弱邊界被去除,同時(shí)因?yàn)樵肼暤母蓴_,圖中出現(xiàn)較多的黑點(diǎn),直接影響到實(shí)驗(yàn)結(jié)果。針對(duì)現(xiàn)有的方法容易受噪聲影響等問題,本研究提出的方法處理結(jié)果如圖3f所示,該方法很好地抑制了噪聲的干擾和偽邊緣的生成,較完整地提取出晶界。
本研究提出的方法雖然能夠提取更完整的晶界,但直接觀察還過于主觀。基于晶粒個(gè)數(shù)和匹配率,分析各種算法用于晶界提取的性能(表1)。該金相圖像在實(shí)驗(yàn)中不能直接用于比較,因?yàn)樗皇且粋€(gè)標(biāo)準(zhǔn)的圖像。實(shí)驗(yàn)中使用一款軟件用于提取晶界,雖然存在一些誤差,但在人工修飾的基礎(chǔ)上,對(duì)晶界的提取的誤差近乎為0,因此,使用軟件加手動(dòng)標(biāo)注晶粒的圖像作為數(shù)據(jù)的客觀標(biāo)準(zhǔn)具有一定的參考意義。表1中晶粒數(shù)量代表晶界提取效果的判斷,通過比較可以看出,Sobel法和哈爾小波處理方法不能完全提取出所有晶界,分水嶺法會(huì)出現(xiàn)過度提取現(xiàn)象。由不同算法提取的晶界與手動(dòng)提取的晶界之間的錯(cuò)誤提取率描述的是提取到錯(cuò)誤晶界的比率,由表1可以看出:Sobel算子和Roberts算子因?yàn)橛休^多的偽邊界,導(dǎo)致錯(cuò)誤率較高;分水嶺法的錯(cuò)誤率也較高,這是由于過度分割,提取出了很多邊界,既包含正確的邊界,也包含錯(cuò)誤的邊界。在計(jì)算錯(cuò)誤率時(shí),只考慮錯(cuò)誤提取晶界的個(gè)數(shù)與手工提取的數(shù)量的比值。本研究提出的方法錯(cuò)誤率遠(yuǎn)低于其他算法,具有優(yōu)于其他方法的性能。
表1 不同方法用于晶界提取的性能比較Table 1 Performance comparison of different methods for grain boundary extraction
為了進(jìn)一步驗(yàn)證所提出方法的可靠性,選取了幾種不同型號(hào),且在不同放大倍數(shù)和腐蝕的情況下獲得的GH4169、GH738、GH706金相圖像為例進(jìn)行測(cè)試,用于評(píng)判本研究所提出的晶界提取算法的準(zhǔn)確性和穩(wěn)定性。圖4分別是GH4169、GH738、GH706材料晶界提取的效果圖,從圖中觀察比較可知,雖然材料、拍照環(huán)境和圖像尺寸不同,但本研究提出的方法提取的晶界仍然比較完整,可以達(dá)到較高的精度和較好的穩(wěn)定性,因此,對(duì)于不同類型的金相圖像的晶界提取具有一定的實(shí)用性,同時(shí)也為其他金屬材料的晶界提取提供了良好的思路。由于大多數(shù)金屬材料也同樣是由若干小晶粒組成,理論上使用本研究所提出的方法也具有同樣的效果,但具體問題還需要具體分析。
使用本研究方法提取出完整的邊界之后,根據(jù)圖中晶粒的輪廓,利用橢圓擬合法,以橢圓方程為模板盡可能地逼近晶界,使得對(duì)應(yīng)的橢圓方程盡量滿足邊緣上的數(shù)據(jù),并求出橢圓方程的長(zhǎng)短軸參數(shù)。由式(6)求出圓度和費(fèi)雷特直徑。
P=∑r/N·Rd=A/l
(6)
式中:P為圓度,r是每個(gè)角的曲率半徑,N為晶粒角曲率半徑的個(gè)數(shù),R表示晶粒內(nèi)最大內(nèi)接圓的半徑,A表示平均面積,l為晶粒平均截距。晶粒中棱角越多,則圓度越低,反之則越好。對(duì)同一種型號(hào)的金屬材料不同放大倍數(shù)下的金相圖像,計(jì)算出的橢圓長(zhǎng)短軸、圓度以及長(zhǎng)短軸之比,獲得的數(shù)據(jù)如表2所示。表2中列出了GH4169、GH738和GH706的參數(shù),通過完整晶界的提取可以進(jìn)一步計(jì)算出相關(guān)的參數(shù),從而對(duì)材料進(jìn)行分析。以GH4169為例:平均長(zhǎng)軸計(jì)算結(jié)果為132.23 μm,與實(shí)際參數(shù)的誤差為±7.21 μm;平均短軸測(cè)試結(jié)果為97.11 μm,與實(shí)際值的誤差為±4.12 μm;圓度、長(zhǎng)短軸之比、平均面積和平均晶粒直徑等參數(shù)誤差值都控制在較小的范圍內(nèi)。從這些數(shù)據(jù)可以看出,通過本研究中的方法提取出的晶粒計(jì)算出的參數(shù)與實(shí)際值非常接近,對(duì)衡量晶粒質(zhì)量有一定的實(shí)用價(jià)值。
表2 不同材料的特征參數(shù)Table 2 Characteristic parameters of different materials
1)本研究提出了一種簡(jiǎn)單高效、可靠的晶界提取方法。先將圖像進(jìn)行預(yù)處理,然后使用Otsu法進(jìn)行分割,最后再對(duì)提取出來(lái)的晶界作邊界平滑和細(xì)化去枝。該方法有效抑制了偽邊界的產(chǎn)生,同時(shí)得到較好的圖像效果。
2)對(duì)GH4149、GH706、GH738晶界提取結(jié)果進(jìn)行對(duì)比試驗(yàn),驗(yàn)證了該方法能有效提取晶界,并提高了晶界的完整性,且適用于各種金相圖像的檢測(cè)分析。