韓越祥, 盧振發(fā)
(1.浙江工業(yè)職業(yè)技術(shù)學(xué)院設(shè)計(jì)與藝術(shù)學(xué)院,浙江紹興315100;2.江蘇大學(xué)材料科學(xué)與工程學(xué)院,江蘇鎮(zhèn)江212013)
具有鐵素體+珠光體組織特征的鋼材在我國(guó)工程結(jié)構(gòu)材料中應(yīng)用廣泛,這主要與其加工成本較低、強(qiáng)塑性較好等有關(guān),在對(duì)鐵素體+珠光體鋼材進(jìn)行組織分析時(shí),如何有效地進(jìn)行晶界提取是廣大科研工作者長(zhǎng)期關(guān)注的課題[1],然而,實(shí)際應(yīng)用過程中還沒有專用的金相設(shè)備或者晶界提取算法能夠處理所有類型的金相組織。近些年來,雖然在晶界提取算法上發(fā)展了一些新的理論并提出了新的算法,但是由于晶界提取過程較為復(fù)雜(圖像預(yù)處理與分割、閾值設(shè)定、子圖像處理等)、影響因素較多[2],常用的基于形態(tài)學(xué)的Kirsch算子、Roberts算子、Canny算子、LoG算子和Soble算子等在處理圖像時(shí)還無法提取到完整的晶界,最終圖像處理結(jié)果中的晶界也往往會(huì)受到噪聲點(diǎn)多、圖像分割等的影響[3-5]。本文選取具有代表性的組織類型為鐵素體+珠光體的20鋼為研究對(duì)象,通過對(duì)金相組織進(jìn)行預(yù)處理與分割、子圖像處理、晶界提取和晶界優(yōu)化等步驟[6],提出了適宜于20鋼的基于Kirsch算子的自適應(yīng)多閾值晶界提取算法,并對(duì)其進(jìn)行了滯后閾值優(yōu)化處理,結(jié)果將有助于快速、準(zhǔn)確的晶界提取和定量分析,改善金相定量評(píng)級(jí)效率低、準(zhǔn)確度差等問題,更好地滿足大批量金相組織檢測(cè)需求。
實(shí)驗(yàn)材料為江蘇沙鋼集團(tuán)生產(chǎn)的熱軋20鋼板,組織類型為鐵素體+珠光體?;趫D像處理的晶界提取算法流程主要包括:輸入圖像、預(yù)處理與分割、子圖像分類、設(shè)置閾值、晶界提取、晶界優(yōu)化和輸出晶界等。其中,對(duì)輸入的圖像進(jìn)行預(yù)處理與分割是晶界提取算法的前提,這主要是因?yàn)榻鹣嘟M織通常是由不同類型和尺寸的晶粒組成,晶界提取前需要區(qū)分不同噪聲點(diǎn)和不同清晰度的晶界,以增加后續(xù)晶界提取的辨識(shí)度[7];在對(duì)輸入圖像進(jìn)行預(yù)處理與分割后,不同面積大小和信息熵的子圖像因有各自不同的特點(diǎn)而需要采用不同的晶界提取算法[8],因此需要進(jìn)行子圖像分類;子圖像分類處理后需要進(jìn)行閾值設(shè)定,這是因?yàn)樽訄D像中的像素點(diǎn)和噪聲等會(huì)對(duì)晶界提取產(chǎn)生影響,而閾值設(shè)定可以降低對(duì)噪聲的敏感度以及提升圖像處理效果[9],本文基于Kirsch算子的晶界提取算法設(shè)定的閾值介于20~45;如果設(shè)置單個(gè)閾值進(jìn)行晶界提取會(huì)出現(xiàn)閾值與圖像信息不匹配的問題,因此采用經(jīng)過預(yù)處理與分割的改進(jìn)分水嶺算法和k均值聚類算法與Kirsch算子相結(jié)合來對(duì)晶界進(jìn)行提取;對(duì)于噪聲點(diǎn)較多、圖像質(zhì)量較差的金相組織,進(jìn)一步采用滯后閾值算法進(jìn)行晶界優(yōu)化,即對(duì)圖像設(shè)定一個(gè)較高閾值和一個(gè)較低閾值,并以較低閾值的結(jié)果作為真實(shí)邊緣,以降低噪聲等的干擾。
采用改進(jìn)分水嶺算法[10]對(duì)20鋼的金相組織進(jìn)行預(yù)處理與分割,改進(jìn)分水嶺算法處理圖如圖1所示,包括預(yù)處理后的金相圖像和經(jīng)過改進(jìn)分水嶺算法處理后的效果圖。對(duì)比分析可知,對(duì)于晶粒完整且尺寸較大、噪聲點(diǎn)較少的晶粒,改進(jìn)分水嶺算法可以實(shí)現(xiàn)良好分割,如圖1中方框所示;而對(duì)于晶粒不完整、腐蝕效果較差以及噪聲點(diǎn)較多的晶粒,改進(jìn)分水嶺算法并不能完全消除噪聲點(diǎn)干擾,但是可以做到減弱干擾的效果,如圖1中圓框所示。
圖1 改進(jìn)分水嶺算法處理圖
采用k-均值聚類算法[11]對(duì)20鋼的金相組織進(jìn)行預(yù)處理與分割,k-均值聚類算法處理圖如圖2所示,包括以5個(gè)聚類中心和以2個(gè)聚類中心進(jìn)行聚類操作的圖像。對(duì)比分析可知,以5個(gè)聚類中心進(jìn)行k均值聚類算法處理的圖像在圓框所示區(qū)域的聚類效果較好,該區(qū)域像素灰度基本一致,有助于后續(xù)晶界提取,而對(duì)于方框所示區(qū)域的聚類效果較差,該區(qū)域像素灰度不穩(wěn)定,會(huì)在一定程度上影響后期晶界提取效果。當(dāng)以2個(gè)聚類中心進(jìn)行k-均值聚類算法處理圖像,則會(huì)由于鐵素體的灰度值較?。ㄟh(yuǎn)低于附近像素點(diǎn)和晶界區(qū)域像素點(diǎn))而使得金相組織圖像中只能提取到鐵素體信息,而忽略了晶界信息,見圖2(b)。
圖2 k均值聚類算法處理圖像
采用上述改進(jìn)分水嶺算法對(duì)20鋼的金相組織進(jìn)行預(yù)處理與分割后,輸入的圖像都會(huì)轉(zhuǎn)化成n個(gè)子圖像。其中,面積較大的子圖像和面積較小的子圖像由于噪聲點(diǎn)多少不同而適應(yīng)于不同閾值提取,當(dāng)采用改進(jìn)分水嶺算法提取面積較大的晶粒區(qū)域時(shí),較小的閾值即可完成準(zhǔn)確識(shí)別,而對(duì)于面積較小、噪聲點(diǎn)較多的區(qū)域,需要采用較大的閾值才能去除偽晶界的影響以提高識(shí)別率[12]。
對(duì)圖1中的子圖像進(jìn)行面積統(tǒng)計(jì)分析,結(jié)果如圖3所示,圖3(a)的子圖像面積曲線圖中面積較小且數(shù)量最多的區(qū)域?qū)?yīng)曲線中緩慢上升階段(像素面積<1 000),采用改進(jìn)分水嶺算法并不能完全解決噪聲多區(qū)域的分割問題;子圖像面積曲線圖中平穩(wěn)上升階段(像素面積介于1 000~4 000)則對(duì)應(yīng)于圖1中有部分噪聲的區(qū)域,此時(shí)的改進(jìn)分水嶺算法可以一定程度上解決分割問題,但是還不能實(shí)現(xiàn)100%消除噪聲影響,后期采用嚴(yán)格的標(biāo)準(zhǔn)可以較好地實(shí)現(xiàn)晶界的提取;子圖像面積曲線圖中快速上升階段(像素面積>4 000)則對(duì)應(yīng)于圖1中晶粒完好的區(qū)域,此時(shí)的改進(jìn)分水嶺算法基本可以解決晶界提取問題。由圖3(b)可見,像素在不同階段都呈現(xiàn)梯度分布特征,即在實(shí)際晶界提取過程中,對(duì)子圖像設(shè)置不同的晶界提取標(biāo)準(zhǔn)就可以得到識(shí)別率較高的晶界。
圖3 改進(jìn)分水嶺算法處理后子圖像面積統(tǒng)計(jì)圖
以圖2(a)為例進(jìn)行k-均值聚類算法處理,圖4為k-均值聚類算法處理后子圖像面積統(tǒng)計(jì)圖,其中,右上角1、63、127、191和255分別為5個(gè)聚類中心的灰度階數(shù)[13]。由于此時(shí)的子圖像類別不如采用改進(jìn)分水嶺算法處理子圖像時(shí)那么多,且這5個(gè)子圖像的面積差異較小,因此,單從面積大小上無法區(qū)別圖像中不同區(qū)域應(yīng)該采用哪種晶界提取算法來進(jìn)行,需要進(jìn)一步研究不適宜區(qū)域面積法的分類算法[14]。
圖4 k-均值聚類算法處理后子圖像面積統(tǒng)計(jì)圖
采用區(qū)域面積法進(jìn)行經(jīng)過圖像預(yù)處理與分割的子圖像的晶界提取時(shí)存在一定缺陷,因此,進(jìn)一步使用了圖像信息熵(表征圖像信息的豐富度)的方法對(duì)子圖像進(jìn)行了分類處理,這種方法可以區(qū)分子圖像中不同區(qū)域的噪聲里多少以及圖像復(fù)雜程度等[15]。圖5為采用改進(jìn)分水嶺算法和k-均值聚類算法處理后子圖像的信息熵統(tǒng)計(jì)圖,其中,信息熵越大則表示子圖像中灰度變化多且快,而相同灰度區(qū)域的信息熵為0。對(duì)比分析可知,采用改進(jìn)分水嶺算法處理后,子圖像的信息熵統(tǒng)計(jì)圖可分為快速增長(zhǎng)階段(該區(qū)域噪聲點(diǎn)少、灰度值較為接近,適宜于寬松的晶界提取算法)、快速減緩階段(該區(qū)域噪聲點(diǎn)增多、灰度值有一定差異,適宜于較嚴(yán)格的晶界提取算法)和平穩(wěn)上升階段(該區(qū)域噪聲點(diǎn)多、灰度值變化劇烈,適宜于嚴(yán)格的晶界提取算法)[16]。采用k-均值聚類算法處理后,子圖像的信息熵統(tǒng)計(jì)圖如圖5(b)所示,其中1、2、3、4和5分別表示灰度階數(shù)為1、63、127、191和255的子圖像??梢?,3和4屬于高信息熵;2和5屬于中信息熵;1屬于低信息熵,而信息熵越高則子圖像中噪聲點(diǎn)越多,越需要更嚴(yán)格的晶界提取算法。經(jīng)過改進(jìn)分水嶺算法和k-均值聚類算法處理后子圖像的信息熵分類效果圖見圖6。
圖6 不同算法處理后子圖像信息熵效果圖
通過上述子圖像分類處理結(jié)果可知,實(shí)際應(yīng)用過程中不同子圖像需要采用不同的晶界提取算法。圖7為基于Kirsch算子[17]的晶界提取效果圖,其中,子圖像對(duì)噪聲的敏感度通過閾值T來表征,T介于20~45。對(duì)比圖7的不同閾值條件下晶界提取效果圖可知,T較小時(shí)對(duì)應(yīng)的晶界提取效果圖中的噪聲干擾較多,反映出來的晶界數(shù)量明顯多于T較大(噪聲干擾較?。r(shí)的晶界提取效果圖,因此,對(duì)于含有不同噪聲點(diǎn)的圖像,如何選擇合適的閾值來獲取晶界提取效果較好的圖像則尤為重要。
進(jìn)一步將改進(jìn)分水嶺算法和k-均值聚類算法與Kirsch算子相結(jié)合得到的自適應(yīng)多閾值晶界提取效果圖如圖8所示,其中T都選取為30-20-20-25-35??梢?,改進(jìn)分水嶺算法+Kirsch算子和k均值聚類算法+Kirsch算子的自適應(yīng)多閾值晶界提取效果圖都要優(yōu)于圖7的基于Kirsch算子的晶界提取效果圖。對(duì)于圖8(a)所示的改進(jìn)分水嶺算法+Kirsch算子得到的效果圖,方框中噪聲點(diǎn)要相對(duì)單閾值為20的晶界提取結(jié)果少(圖7(a)),且要相對(duì)單閾值為40的晶界提取得到的晶界更完整(圖7(e)),即采用自適應(yīng)多閾值晶界提取方法可以避免由于噪聲多而影響晶界提取效果。對(duì)于圖8(b)所示的k-均值聚類算法+Kirsch算子得到的效果圖,方框中的晶界提取效果與圖8(a)相似,但是圓框中的噪聲點(diǎn)要少于圖8(a),即相對(duì)具有更佳的晶界提取效果。
圖7 不同閾值條件下晶界提取效果圖
圖8 自適應(yīng)多閾值晶界提取效果圖
雖然采用改進(jìn)分水嶺算法+Kirsch算子和k-均值聚類算法+Kirsch算子的自適應(yīng)多閾值晶界提取效果圖要明顯優(yōu)于采用單一閾值的晶界提取效果圖,但是圖8中仍然存在較多的噪聲點(diǎn),因此,有必要采用滯后閾值的方法[18]來對(duì)晶界進(jìn)行進(jìn)一步優(yōu)化,即在圖像處理時(shí)分別設(shè)定一個(gè)較高的閾值和一個(gè)較低的閾值對(duì)圖像邊緣進(jìn)行提取,并以相應(yīng)處理結(jié)果作為存疑邊緣和真實(shí)邊緣,然后以設(shè)定算法遍歷邊緣,以確定圖像中的點(diǎn)是噪聲點(diǎn)還是晶界點(diǎn)。采用滯后閾值算法對(duì)圖8(b)進(jìn)行晶間優(yōu)化處理后的圖像如圖9所示。對(duì)比可知,滯后閾值算法處理后的圖像中的噪聲點(diǎn)相對(duì)處理前有所減少,但是晶界卻沒有受到影響,即晶界提取效果進(jìn)一步增強(qiáng)。
圖9 滯后閾值算法進(jìn)行晶間優(yōu)化處理后的圖像
圖10為手工提取得到的20鋼的晶界效果圖和晶界二值圖。由圖10可見,20鋼的晶界非常清晰,可以作為20鋼的晶界提取標(biāo)準(zhǔn),設(shè)定此時(shí)的晶界匹配率為100%,晶界二值圖中可知,此時(shí)20鋼的晶粒個(gè)數(shù)和平均面積分別為259和4 317.2 μm2,手工提取晶界的方法耗時(shí)3 600 s。不同閾值條件下基于Kirsch算子的晶界提取效果和本文提出的滯后閾值算法(ZIPC)的晶界提取效果進(jìn)行對(duì)比分析,結(jié)果見表1??梢姡贙irsch算子得到的晶界提取效果圖中的晶粒個(gè)數(shù)和晶粒平均面積會(huì)由于單閾值的不同而存在較大差異,而運(yùn)行時(shí)間不變且都明顯低于手工提取方法;當(dāng)閾值T從20增加至40時(shí),晶粒個(gè)數(shù)在343~168之間變化,晶粒平均面積在(3 257.1~6 679.0)μm2。未經(jīng)預(yù)處理的ZIPC算法和經(jīng)過預(yù)處理的ZIPC算法的運(yùn)行時(shí)間分別為18和20 s,明顯低于手工提取方法,且相應(yīng)的晶粒個(gè)數(shù)分別為272和238,相應(yīng)的晶粒平均面積分別為5 380.5和4 169.0 μm2。對(duì)比表1的晶間提取效果統(tǒng)計(jì)結(jié)果可知,本文提出的經(jīng)過預(yù)處理的滯后閾值算法的晶界提取時(shí)間較短,且與手工提取方法得到的晶粒個(gè)數(shù)和晶粒平均面積最為接近。
圖10 手工提取法得到的20鋼的晶界
表1 不同算法下晶界提取的對(duì)比結(jié)果
(1)對(duì)于晶粒完整且尺寸較大、噪聲點(diǎn)較少的晶粒,改進(jìn)分水嶺算法可實(shí)現(xiàn)良好分割,而對(duì)于晶粒不完整、腐蝕效果較差以及噪聲點(diǎn)較多的晶粒,改進(jìn)分水嶺算法并不能完全消除噪聲點(diǎn)干擾。當(dāng)采用改進(jìn)分水嶺算法提取面積較大的晶粒區(qū)域,較小閾值即可完成準(zhǔn)確識(shí)別,而對(duì)于面積較小、噪聲點(diǎn)較多區(qū)域,需要采用較大的閾值才能去除偽晶界的影響以提高識(shí)別率。
(2)改進(jìn)分水嶺算法+Kirsch算子和k-均值聚類算法+Kirsch算子的自適應(yīng)多閾值晶界提取效果圖都要優(yōu)于基于Kirsch算子的晶界提取效果圖。
(3)基于Kirsch算子得到的晶界提取效果圖中的晶粒個(gè)數(shù)和晶粒平均面積會(huì)由于單閾值的不同而存在較大差異,而運(yùn)行時(shí)間不變且都明顯低于手工提取方法;當(dāng)閾值T從20增加至40時(shí),晶粒個(gè)數(shù)在343~168之間變化,晶粒平均面積在3 257.1~6 679.0 μm2。未經(jīng)預(yù)處理的ZIPC算法和經(jīng)過預(yù)處理的ZIPC算法的運(yùn)行時(shí)間分別為18和20 s,明顯低于手工提取方法,且相應(yīng)的晶粒個(gè)數(shù)分別為272和238,相應(yīng)的晶粒平均面積分別為5 380.5和4 169.0 μm2。