鄒永寧,張智斌,李 琦,余浩松
(1.重慶大學(xué) 光電工程學(xué)院,重慶400044;2.重慶大學(xué) 光電技術(shù)及系統(tǒng)教育部重點(diǎn)實(shí)驗(yàn)室ICT研究中心,重慶400044)
裂紋分割對(duì)工業(yè)計(jì)算機(jī)層析成像(Comput?ed Tomography,CT)圖像處理具有重要意義,其分割精度和分割準(zhǔn)確度直接影響到后期的裂紋測(cè)量、分類和顯示等。但是,CT圖像中的噪聲、偽影等干擾會(huì)不同程度的對(duì)裂紋分割造成影響,因此工業(yè)CT圖像分割仍是一個(gè)具有挑戰(zhàn)性的問題。
目前,許多學(xué)者提出了各式各樣的圖像分割方法,且有些方法已應(yīng)用于CT圖像裂紋分割。魏彤[1]等人結(jié)合自適應(yīng)增強(qiáng)算法與分水嶺分割算法,實(shí)現(xiàn)了圖像中的盲道定位。王玨[2]等人使用小波變換增強(qiáng)圖像的對(duì)比度,然后用RSF模型完成了分割。陳愷[3]等人結(jié)合二維熵多閾值分割與螢火蟲算法實(shí)現(xiàn)了圖像的分割。宋巧君[4]等人在雙邊濾波的基礎(chǔ)上結(jié)合Black-hat變換和Otsu算法完成了裂縫分割。李玉[5]等人提出了一種利用高斯混合模型的多光譜圖像模糊聚類分割方法,實(shí)現(xiàn)了高分辨率多光譜圖像分割的問題。王雪虎[6]等人提出一種結(jié)合先驗(yàn)稀疏字典和空洞填充的方法實(shí)現(xiàn)了CT圖像肝臟分割。李鵬[7]等人綜合考慮圖像的灰度像素特征與裂縫的幾何紋理特征,提出了結(jié)合聚類分析和區(qū)域生長(zhǎng)算法的路面裂縫分割算法。謝楊灝[8]等人將CT序列圖像視為連續(xù)變化的視頻序列,使用光流網(wǎng)絡(luò)模型與區(qū)域聚類方法完成了分割。王慧倩[9]等人根據(jù)CT序列圖像的層間相關(guān)性與CT圖像的最大類熵完成了分割。王艷[10]等人利用遺傳算法優(yōu)化裂縫PCNN模型,實(shí)現(xiàn)了裂縫分割。
盡管以上方法都具有較好的分割結(jié)果,但均具有一定的局限性,如基于深度學(xué)習(xí)的方法過度依賴訓(xùn)練樣本、結(jié)構(gòu)復(fù)雜;基于水平集的方法參數(shù)復(fù)雜、分割速度慢;基于閾值分割或聚類分析的方法對(duì)噪聲敏感。支持向量機(jī)(Support Vec?tor Machine,SVM)在處理小樣本、非線性、高維模式識(shí)別等問題上有著其獨(dú)特的優(yōu)勢(shì),而基于Hessian矩陣的多尺度濾波在增強(qiáng)線狀結(jié)構(gòu)問題上具有較好的效果,因此本文結(jié)合基于Hessian矩陣的多尺度濾波及SVM完成CT圖像中的裂紋識(shí)別與分割,運(yùn)用基于Hessian矩陣的多尺度濾波方法獲得CT圖像中的線狀結(jié)構(gòu),運(yùn)用SVM分類算法識(shí)別圖像中裂紋所在的圖像塊,最后使用自適應(yīng)閾值分割算法完成裂紋分割,從而提高CT圖像中裂紋分割算法的抗干擾性和準(zhǔn)確性。
基于Hessian矩陣的多尺度線狀濾波方法當(dāng)前已有廣泛的應(yīng)用[1,9,11-12]。在二維圖像I中,每個(gè)像素點(diǎn)I(x,y)處的Hessian矩陣基本形式為:
其 中:Ixx,Iyy,Ixy,Iyx分 別 是 二 維 圖 像 在 像 素 點(diǎn)(x,y)處的二階差分,且有Ixy=Iyx。則QHessian是二維對(duì)稱正定矩陣,有兩個(gè)特征值λ1,λ2以及對(duì)應(yīng)的特征向量,其中最大的絕對(duì)特征值表示最大的局部灰度變化,其對(duì)應(yīng)的特征向量所指的方向代表了圖像變化的方向。
Frangi A F[13]等人結(jié)合Hessian矩陣特征值提出了Frangi濾波器:
由于圖像的二階差分對(duì)噪聲非常敏感,且通常圖像中包含有多種尺度的線狀結(jié)構(gòu),僅使用單尺度不能很好地檢測(cè)出各個(gè)尺度的線狀結(jié)構(gòu)。因此,可將Hessian矩陣的差分運(yùn)算與高斯函數(shù)結(jié)合,通過改變高斯函數(shù)的空間尺度因子來獲得不同尺度下的線狀增強(qiáng)濾波。根據(jù)高斯函數(shù)的卷積性質(zhì)可知,高斯濾波器與二階差分圖像的卷積等價(jià)于高斯濾波器的二階導(dǎo)數(shù)與原圖像的卷積,則Hessian矩陣中各元素的計(jì)算公式可表示為:
通過分析圖像中目標(biāo)線狀結(jié)構(gòu)的尺寸,設(shè)置尺度因子σ的迭代范圍為[σmin,σmax],選取在多尺度下像素點(diǎn)的最大響應(yīng)值作為該點(diǎn)的輸出,最后將圖像中各像素點(diǎn)處的輸出進(jìn)行融合,即可得到原圖像經(jīng)過多尺度濾波后的增強(qiáng)圖像,其數(shù)學(xué)表達(dá)式為:
其中,v(x,y;σi)為在尺度σi下,像素點(diǎn)I(x,y)處的最大響應(yīng)值。
支持向量機(jī)是在有序風(fēng)險(xiǎn)最小化的基礎(chǔ)上發(fā)展起來的一種專門的小樣本統(tǒng)計(jì)理論,至今已被成功應(yīng)用于各種領(lǐng)域[14-17]。支持向量機(jī)的本質(zhì)是二次型方程求最優(yōu)解,其學(xué)習(xí)的基本思想是尋找一個(gè)最優(yōu)的超平面,該超平面能夠正確分開數(shù)據(jù)集(使分類錯(cuò)誤率為0),且使得兩類數(shù)據(jù)之間的間隔最大。
支持向量機(jī)的分類問題可分為線性可分和線性不可分兩種情況,線性不可分的情況是由線性可分發(fā)展而來的。以圖1中二維空間中兩種數(shù)據(jù)分類為例,在圖1(a)和圖1(b)中,實(shí)心點(diǎn)和空心點(diǎn)分別表示兩類樣本,其中線性可分的情況如圖1(a)所示,圖中H為找到的最優(yōu)分類線,H1,H2為與兩類樣本相切的直線,位于切線H1和H2上的樣本即為支持向量;線性不可分的情況如圖1(b)所示。
圖1 簡(jiǎn)單分類問題Fig.1 Simple separation problem
灰度共生矩陣(Grey-Level Co-occurrence Matrix,GLCM)是在假定圖像中各像素間的空間分布關(guān)系包含了圖像紋理信息的前提下,提出的具有廣泛性的紋理分析方法。GLCM通過統(tǒng)計(jì)在方向θ上間隔d的一對(duì)像素點(diǎn)灰度出現(xiàn)的統(tǒng)計(jì)規(guī)律來反映圖像在方向、間隔、變化幅度及快慢上的綜合信息。
一般不直接使用灰度共生矩陣計(jì)算,而是使用在其基礎(chǔ)上獲取的二次統(tǒng)計(jì)量[18],研究發(fā)現(xiàn)由GLCM得到的二次統(tǒng)計(jì)量中僅有能量、對(duì)比度、相關(guān)性、逆差矩這4種特征是不相關(guān)的,且這4個(gè)特征既便于計(jì)算,又能得到較高的分類精度[19],因此本文采用這4種特征來表示圖像的裂紋信息,這四種特征的定義如下:
(1)能量:又叫角二階矩,反映了圖像灰度分布均勻程度和紋理粗細(xì)度。若灰度共生矩陣的元素值相近,則能量小,表示紋理細(xì)致。
(2)相關(guān)性:反應(yīng)局部灰度相關(guān)性,用來度量圖像的灰度級(jí)在行或列方向上的相似程度,其值越大相關(guān)性也越大。
(3)對(duì)比度:反映圖像的清晰程度,是圖像矩陣值的分布情況和圖像的局部變化,其值越大表示紋理基元對(duì)比度越強(qiáng)、溝紋越深、圖像越清晰。
(4)逆差矩:度量圖像的紋理局部變化,其值越大則圖像紋理越規(guī)則。
其中:p為共生矩陣,N g為共生矩陣的階數(shù),i和j分別表示共生矩陣的行和列,μ1,μ2表示均值,σ21,σ22表示方差。
基于Hessian矩陣和SVM的CT圖像裂紋分割方法可分為3個(gè)步驟:(1)使用訓(xùn)練集圖像訓(xùn)練SVM分類模型;(2)使用SVM分類模型定位裂紋所在的圖像塊;(3)使用自適應(yīng)閾值分割得到裂紋。其詳細(xì)步驟如下所示:
(1)訓(xùn)練集中的每幅圖像均采用圖2所示的步驟處理,其中前景區(qū)域包括工件和裂紋區(qū)域,所有的后續(xù)處理步驟只考慮前景區(qū)域內(nèi)的像素點(diǎn);基于Hessian矩陣的多尺度濾波方法可以獲得圖像中的線狀結(jié)構(gòu);然后增強(qiáng)線狀圖像的對(duì)比度并分割為若干尺寸相同的小圖像并按小圖像中有無裂紋分為兩類。當(dāng)所有訓(xùn)練集圖像均已分割為小圖像并分為兩類后,再使用特征提取方法提取兩類小圖像的特征,得到兩個(gè)特征矩陣;最后選擇適當(dāng)?shù)腟VM參數(shù),利用前面得到的兩個(gè)特征矩陣訓(xùn)練SVM分類模型。
圖2 圖像預(yù)處理Fig.2 Image pre-processing
(2)測(cè)試圖像使用圖2所示的預(yù)處理步驟處理,得到若干由測(cè)試圖像分割得到的小圖像;再從小圖像中提取與(1)中相同的特征;然后用(1)中得到的SVM分類模型對(duì)特征矩陣預(yù)測(cè);最后將預(yù)測(cè)為無裂紋的圖像塊區(qū)域像素置零,其他區(qū)域像素保留不變,得到圖像P1。
(3)使用自適應(yīng)閾值分割方法得到圖像P1中的裂紋結(jié)構(gòu)。
在訓(xùn)練SVM分類模型前,先對(duì)CT圖像預(yù)處理,預(yù)處理流程如圖2所示。圖2中前景區(qū)域是指所有工件和裂紋區(qū)域,為了加快識(shí)別分割的速度且防止背景中的噪聲對(duì)識(shí)別和分割帶來干擾,前景區(qū)域之外的像素點(diǎn)不參與后續(xù)的計(jì)算。
由于樣本圖片對(duì)比度低,且存在噪聲、偽影等干擾,本文在預(yù)處理階段首先使用基于Hes?sian矩陣的多尺度線狀濾波方法提取原CT圖像中的線狀結(jié)構(gòu),并對(duì)得到的線狀圖像進(jìn)行對(duì)比度增強(qiáng)。
然后將線狀圖像分割為若干尺寸相同的小圖像,以提高識(shí)別算法的正確率與處理效率,并將得到的小圖像按有無裂紋分為兩類。
訓(xùn)練SVM分類模型需要確定一組參數(shù),包括SVM的類型、核函數(shù)的類型、懲罰因子等。其中核函數(shù)是支持向量機(jī)算法的核心,常用的核函數(shù)有線性核函數(shù)、多項(xiàng)式核函數(shù)、徑向基函數(shù)(Radial Basis Function,RBF)、Sigmoid核函數(shù)。根據(jù)本文研究對(duì)象的特征,選擇RBF核函數(shù),這是一種徑向?qū)ΨQ標(biāo)量函數(shù),高斯函數(shù)是最常用的徑向基函數(shù)。
與RBF核函數(shù)緊密相關(guān)的有兩個(gè)參數(shù):懲罰因子c和γ。懲罰因子在誤分類樣本和分界面簡(jiǎn)單性之間進(jìn)行權(quán)衡,低的c值使分界面平滑,高的c值通過增加模型自由度以選擇更多支持向量來確保所有樣本都被正確分類。而參數(shù)γ定義了單個(gè)訓(xùn)練樣本的影響大小,值越小影響越大。本文使用網(wǎng)格搜索方法獲得最佳的c和γ。
對(duì)測(cè)試圖像進(jìn)行預(yù)處理,預(yù)處理的過程如圖2所示,得到線狀圖像P2。預(yù)處理結(jié)束后將得到N幅子圖像,提取所有子圖的特征向量得到由N個(gè)特征向量組成特征矩陣,再利用上一步得到的SVM分類模型對(duì)特征矩陣預(yù)測(cè),預(yù)測(cè)結(jié)果為一個(gè)僅由元素1和-1組成的N維列向量,本文SVM訓(xùn)練時(shí)選擇有裂紋子圖像的特征矩陣為正樣本,因此預(yù)測(cè)結(jié)果為1和-1分別表示對(duì)應(yīng)的子圖像中有裂紋和無裂紋的情況。然后只保留P2中預(yù)測(cè)為有裂紋的圖像塊,最后使用自適應(yīng)閾值分割方法分割得到圖像P2中的裂紋結(jié)構(gòu)。
本文的實(shí)驗(yàn)環(huán)境是在型號(hào)配置為Inter?Core?i7-8700 3.20GHz CPU、16GB RAM、Win?dows10系統(tǒng)的計(jì)算機(jī)下,采用MATLAB結(jié)合C++語言在MATLAB 2018a平臺(tái)上實(shí)現(xiàn)的。本文主要研究對(duì)象是鋼軌CT圖片與石油巖心CT圖片,其中鋼軌CT圖像含有較嚴(yán)重的偽影,石油巖心CT圖像中存在明顯的噪聲且裂紋對(duì)比度低,典型的鋼軌CT圖像和石油巖心CT圖像如圖3。鋼軌CT樣本共60幅,石油巖心CT樣本共58幅,部分樣本圖像如圖4。
圖3 工業(yè)CT切片圖像Fig.3 Typical industrial CT images
圖4 部分CT樣本圖片F(xiàn)ig.4 Partial sample CT images
提取并增強(qiáng)圖3(a)、3(b)中的線狀結(jié)構(gòu),結(jié)果如圖5所示,可以看出:圖5(a)、5(b)中較好的保留了原圖中的線狀結(jié)構(gòu),且裂紋處對(duì)比度較高。雖然圖5(a)、5(b)中裂紋結(jié)構(gòu)已比較明顯,但直接使用自動(dòng)閾值分割方法的話,仍會(huì)受到圖中偽影和噪聲的干擾,導(dǎo)致分割結(jié)構(gòu)不佳。圖5中兩張樣本圖片使用自動(dòng)閾值分割的結(jié)果如圖6所示。
圖5 形態(tài)學(xué)運(yùn)算后濾波結(jié)果圖Fig.5 Filtering results after morphological operation
圖6 自動(dòng)閾值分割結(jié)果Fig.6 Automatic threshold segmentation results
為獲得更好的分割結(jié)果,本文將線狀圖像分割為小圖像,通過判斷小圖像中是否含有裂紋,從而將裂紋所在的范圍縮小。圖7為將線狀圖像分割為小圖像并分類的效果圖。
圖7 部分子圖像Fig.7 Partial of sub-images
圖像識(shí)別中常用的特征有:GLCM特征[20-21]、HOG特征[22-23]、Hu不變矩特征[20,24]、LBP特征[25-26]。為驗(yàn)證GLCM特征的有效性,分別使用以上4種特征訓(xùn)練SVM模型和預(yù)測(cè),實(shí)驗(yàn)結(jié)果如圖8所示。圖8中每行的4幅圖像為同一測(cè)試圖像依次使用GLCM特征、LBP特征、HOG特征、Hu特征的識(shí)別效果,圖(b)~(d)中虛線標(biāo)記的部分為在圖(a)的基礎(chǔ)上增加的誤識(shí)別的區(qū)域;實(shí)線標(biāo)記的部分為在圖(a)的基礎(chǔ)上漏識(shí)別的區(qū)域。誤識(shí)別指SVM分類模型將無裂紋子圖識(shí)別為有裂紋子圖;漏識(shí)別指SVM分類模型將有裂紋子圖識(shí)別為無裂紋子圖??梢钥闯觯?種特征中,使用GLCM特征訓(xùn)練的SVM分類模型識(shí)別的正確率最高。
圖8 不同特征識(shí)別結(jié)果Fig.8 Recognition results of different features
為驗(yàn)證本文分割方法的有效性,將本方法與RSF(Region-Scalable Fitting)方法、數(shù)學(xué)形態(tài)學(xué)分割、Otsu(自適應(yīng)閾值分割)分割方法作對(duì)比。經(jīng)實(shí)驗(yàn),直接使用RSF、數(shù)學(xué)形態(tài)學(xué)、Otsu方法不能分割出圖像中的裂紋,因此本文先提取并增強(qiáng)原圖中的線狀結(jié)構(gòu),再在線狀圖像上進(jìn)行RSF、數(shù)學(xué)形態(tài)學(xué)及Otsu分割,其結(jié)果圖像如圖9所示。圖9(a)為原圖,圖9(b)~9(d)分別為使用本文方法、RSF方法、數(shù)學(xué)形態(tài)學(xué)方法、Otsu方法分割的結(jié)果,圖9(c)中綠色標(biāo)記的區(qū)域?yàn)镽SF方法分割得到的裂紋。由4組實(shí)驗(yàn)可以看出,當(dāng)裂紋對(duì)比度低時(shí)(如第一行與第二行),Otsu方法分割完整性最差,RSF方法次之,本文方法最佳;當(dāng)噪聲、偽影較為嚴(yán)重時(shí)(如第三行與第四行),Otsu分割正確性最差,RSF次之,本文方法效果最好。且在實(shí)驗(yàn)過程中發(fā)現(xiàn),RSF方法參數(shù)較多,需要多次手動(dòng)調(diào)整獲得最佳值,數(shù)學(xué)形態(tài)學(xué)方法也需要多次手動(dòng)調(diào)整才能獲得最好的分割效果。
圖9 不同算法分割結(jié)果Fig.9 Segmentation results of different algorithms
本文定義SVM模型的識(shí)別率為SVM模型識(shí)別子圖像有無裂紋的準(zhǔn)確率,即SVM模型識(shí)別準(zhǔn)確率=正確識(shí)別的子圖像數(shù)/總子圖像數(shù)×100%,其計(jì)算步驟為:首先將所有測(cè)試圖像分割為小圖像,然后利用SVM分類模型分類,最后統(tǒng)計(jì)分類結(jié)果中正確識(shí)別的子圖像數(shù)量。表1為由測(cè)試集中10幅巖心CT圖像與10幅鋼軌CT圖像計(jì)算出的SVM模型識(shí)別率。
表1 不同對(duì)象識(shí)別準(zhǔn)確率統(tǒng)計(jì)表Tab.1 Statistical table of different object on recognition rate
為驗(yàn)證本文模型的泛化能力和魯棒性,選擇了一個(gè)新的巖石CT圖像作為測(cè)試樣本,如圖10(a)所示。新樣本未出現(xiàn)在訓(xùn)練集圖像中,圖10中紅色區(qū)域標(biāo)注的區(qū)域?yàn)榇指畹牧鸭y。使用本文方法分割圖中裂紋,結(jié)果如圖10(b)和10(c)所示,結(jié)果顯示本文模型具有較好的泛化能力和魯棒性。
圖10 模型泛化能力與魯棒性驗(yàn)證Fig.10 Model generalization ability and robustness verification
實(shí)驗(yàn)結(jié)果表明,本文方法具有較好的抗干擾性與魯棒性,即在圖像對(duì)比度低或圖像中偽影嚴(yán)重時(shí),仍能獲得較好的分割結(jié)果;利用SVM算法識(shí)別裂紋圖像塊的準(zhǔn)確率達(dá)到了94.5%。
為實(shí)現(xiàn)CT圖像裂紋精確分割,解決圖像中金屬偽影、噪聲等干擾,本文聯(lián)合基于Hessian矩陣的多尺度濾波和支持向量機(jī)的算法優(yōu)勢(shì),提出了基于Hessian矩陣和支持向量機(jī)的CT圖像裂紋分割方法,并對(duì)方法進(jìn)行了有效性驗(yàn)證?;贖essian矩陣的多尺度濾波方法可以突出圖像中的裂紋結(jié)構(gòu),增加裂紋的對(duì)比度;基于SVM的分類方法可以識(shí)別圖像中帶裂紋的圖像塊。將本文方法與RSF方法、數(shù)學(xué)形態(tài)學(xué)方法、Otsu方法分割的結(jié)果進(jìn)行對(duì)比,結(jié)果表明,基于Hessian矩陣與SVM的裂紋分割方法具有較好的抗干擾性且算法參數(shù)簡(jiǎn)單,圖像識(shí)別率達(dá)到了94.5%,是一種有效、可行的方法,具有實(shí)際工程應(yīng)用價(jià)值。