胡明娣, 臧藝迪, 徐家慧
(西安郵電大學 通信與信息工程學院, 陜西 西安 710121)
紋理是圖像的一種基本特征。紋理分類作為紋理分析的一個重要研究領(lǐng)域,受到廣泛地關(guān)注[1],其在細胞圖像識別、衛(wèi)星圖像分類、指紋識別等領(lǐng)域得到了越來越多的應用[2]。
對紋理特征的描述是紋理圖像進行分類首先需要解決的問題[3]。統(tǒng)計法雖然容易實現(xiàn)紋理特征的描述,但圖像大量的統(tǒng)計特性,使得計算量較大[4]。模型法可以產(chǎn)生實用的紋理特征,但計算量大限制了其應用領(lǐng)域[5]。二維經(jīng)驗模式(bidimensional empirical mode decomposition, BEMD)方法[6]是針對非線性、非平穩(wěn)性二維信號的一種自適應處理算法,廣泛應用在紋理圖像檢索領(lǐng)域,但在紋理圖像曲面插值操作中的高時間復雜度限制了它的應用。文獻[7]將灰度共生矩陣(gray lever co-occurrence matrix, GLCM)結(jié)合BEMD方法對紋理圖像進行分類,但未考慮到時間復雜度;文獻[8]將BEMD與局部二值模式結(jié)合提取紋理圖像的特征參數(shù),并使用支持向量機進行分類,精確度較高,但是算法復雜度高。文獻[9]針對BEMD的分解過程需要大量的時間冗余提出了一種簡單高效的快速自適應二維經(jīng)驗模式分解方法(fast and adaptive bidimensional empirical mode decomposition, FABEMD),但未應用到紋理圖像分類中。
在文獻[7]和文獻[9]的研究基礎(chǔ)上,本文擬提出一種基于FABEMD的紋理圖像分類算法。該算法首先利用FABEMD算法將原始紋理圖像分解成3個二維固有模態(tài)函數(shù)(bidimensional intrinsic mode functions, BIMF)以及余量的和;然后使用灰度共生矩陣提取每層BIMF分量不同尺度的紋理特征參數(shù),組成特征向量;最后,采用最小距離分類器(minimum distance classifier, MDC)進行紋理圖像的分類。
二維經(jīng)驗模式分解廣泛應用于圖像處理領(lǐng)域,其基本思想是把信號分解成一些由高頻到低頻的內(nèi)在模式函數(shù)和余量圖像[10]。
BEMD分解實現(xiàn)過程如下[11]。
(1)原始圖像初始化,求取局部極值點(極大值點和極小值點);
(2)分別對局部極大值點和局部極小值點進行曲面插值,得到上包絡面和下包絡面,進而計算均值包絡面;
(3)計算原始圖像與均值包絡面的差值得到模態(tài)函數(shù);
(4)給定終止條件。
重復步驟(1)到步驟(3),直到滿足給定的終止條件得到第一個模態(tài)函數(shù),用原始圖像減去第一個模態(tài)函數(shù)得到的第一個余量,對殘余分量重復步驟(1)到步驟(4),依次得到圖像的N個固有模態(tài)函數(shù)和第N個殘余。
在紋理圖像分類中,常使用灰度共生矩陣來分析灰度的空間相關(guān)性[12]。灰度共生矩陣是通過統(tǒng)計圖像上保持一定間距且分別具有灰度特征的2個像素得到的,定義為圖像中間距為d的2個像素同時出現(xiàn)的聯(lián)合概率分布。
用p(x,y)表示灰度圖像中的任一像素點且其灰度值為f(p)=w,w∈{0,1,…,W-1}。假設(shè)p1(x1,y1)和p2(x2,y2)為灰度圖像中2個像素點,它們之間的距離為d且灰度值分別為f(p1)=w1,f(p2)=w2,pc為像素值(w1,w2)同時出現(xiàn)的概率,則可定義共生矩陣
Cd,θ(w1,w2)=pc{f(p1)=w1∧f(p2)=w2:
|p1-p2|=d}。
其中,θ∈{0,45°,90°,135°},d取1?;谏鲜龌叶裙采仃嚨亩x,常用的特征統(tǒng)計量共14個,目前最常用的紋理特征參數(shù)主要有能量、熵、對比度和相關(guān)性[13]。
最小距離分類器,屬于統(tǒng)計識別方法,是分類器中最常用的一類分類方法,又稱最近鄰分類[14],它是通過求解出未知類別向量到事先已知的各類別中心向量的距離,然后將待分類的向量歸結(jié)為這些距離中最小的那一類。
其基本過程為:假設(shè)c個類別代表模式的特征向量用R1,R2,…,Rc表示,x是被識別模式的特征向量,|x-Ri|是x與Ri(i=1,2,…,c)之間的距離,如果|x-Ri|最小,則把x分為第i類。最小距離分類器因計算簡單、分類速度快,常被應用于實時性要求高的系統(tǒng)中[15]。
在求解覆蓋圖像的上下包絡面時,BEMD采取曲面插值的方法,使算法復雜度較高。針對這個缺點,本文采用FABEMD方法,它與BEMD的主要不同之處是求解圖像的上下包絡面時,BEMD使用的是曲面插值操作,而FABEMD使用的是統(tǒng)計濾波和平滑濾波操作,使得算法的迭代次數(shù)減少[16]。圖像經(jīng)過FABEMD分解之后,得到n個二維固有模態(tài)函數(shù),分別記為B1,B2,…,Bn,它們在頻率上由高到低、尺度上由細到粗,其中頻率最低、尺度最粗的叫作余量,將所有固有模態(tài)函數(shù)和余項線性疊加即可恢復原始圖像。
運用FABEMD對選定的圖像進行分解,然后使用GLCM提取各BIMF分量的紋理特征參數(shù),組成特征向量,最后運用MDC進行分類。
設(shè)I(m,n)是一幅圖像,運用FABEMD算法分解圖像步驟如下。
步驟1原始圖像初始化,當i=1時,令
Ri(m,n)=I(m,n)。
步驟2用8-鄰域法分別算出Ri(m,n)的局部極小值點Pmin(m,n)和局部極大值點Pmax(m,n)。此處的極大值點必須嚴格大于周圍的點,極小值點必須嚴格小于周圍的點。
步驟3計算每層局部極值圖中極值點相互之間的歐氏距離,得到MAX/MIN統(tǒng)計濾波器的窗口。
要確定濾波器窗口的大小,需要計算出每一層局部極值圖中極大值與其他極大值的歐氏距離,將最接近的歐氏距離存儲在da,max向量中,同理,計算每一層局部極值圖中極小值與其他極小值的歐氏距離,將最接近的歐氏距離存儲在da,min向量中,計算濾波器窗口的大小。原理如下。
We,1=min{min{da,max},min{da,min}},
(1)
We,2=min{max{da,max},max{da,min}},
(2)
We,3=max{min{da,max},min{da,min}},
(3)
We,4=max{max{da,max},max{da,min}}。
(4)
為了便于篩選以上操作,將上述4個值約等于最接近的整數(shù),步驟如下。
(1) 將式(1)—式(4)中計算所得的濾波器窗口大小的值記為We,j(j=1,2,3,4);
(3) 分別計算
并比較兩值大小;
把順序統(tǒng)計濾波器的寬度We,1、We,2、We,3、We,4使用上述方法取整后,分別記為類型1,類型2,類型3,類型4。很明顯,類型We,1的窗口值最小,類型We,4窗口值最大。順序濾波器的不同的窗口大小適用于不同的應用目的,這個特征被稱為FABEMD算法的自適應性。
步驟4通過對Ri(m,n)使用MAX/MIN統(tǒng)計濾波器來構(gòu)造極大值包絡和極小值包絡。令一層的平滑窗口大小為We,j,對局部極值圖進行平滑濾波。通過濾波后得到極大值包絡Emax-s(m,n)和極小值包絡Emin-s(m,n);
步驟5計算Emax-s(m,n)和Emin-s(m,n)的均值包絡
步驟6求解第i個二維固有模態(tài)函數(shù)
Bi(m,n)=Ri(m,n)-Em(m,n);
步驟7計算余量
Ri+1(m,n)=Ri(m,n)-Bi(m,n);
步驟8判別分解層數(shù)是否滿足3層,或者判別圖像余量Ri+1(m,n)中是否少于3個極值點。如果滿足以上任意一個條件,那么余量為
C(x,y)=Ri+1(m,n),
至此分解完成。否則,回到步驟2,繼續(xù)獲得下一個二維固態(tài)函數(shù)。
針對2.1節(jié)中所得的3層BIMF分量,采用GLCM對這3層BIMF分別提取能量,熵,對比度,相關(guān)性4個紋理特征參數(shù),其中B1分量的特征向量記為F1=[f11,f12,f13,f14],B2分量的特征向量記為F2=[f21,f22,f23,f24],B3分量的特征向量記為F3=[f31,f32,f33,f34],將F1,F2,F3組成一個擴展的12維特征向量F=[F1,F2,F3]。
針對2.2節(jié)中得到的特征向量,采用MDC方法進行分類。FABEMD算法總流程圖如圖1所示。
圖1 FABEMD算法流程圖
在相同的實驗環(huán)境下,與文獻[7]所用的方法進行對比實驗。
實驗所用機器的CPU是Intel四核處理器i5,內(nèi)存4 G,操作系統(tǒng)是64位的Windows10,算法用Matlab實現(xiàn)。選取Brodatz紋理庫中的10類紋理圖像,大小為640×640,灰度級為256,如圖2所示。
每類圖像隨機截取40幅160×160大小的圖像,其中,第1—10幅圖用以訓練產(chǎn)生模式類的樣本均值,第11—30幅用以分類識別。采用FABEMD對這40幅圖像進行分解,每幅圖像分解為3層BIMF和1個余量,使用GLCM提取每層BIMF的4個紋理特征參數(shù),構(gòu)成特征向量,最后通過MDC進行分類。
圖2 Brodatz紋理庫中10類圖像
采用上述FABEMD算法對一幅紋理圖像(Brodatz紋理庫中的D64,大小為640×640)進行分解,分解結(jié)果如圖3所示。
圖3 D64的FABEMD分解結(jié)果
如圖3所示,圖像D64經(jīng)過FABEMD分解得到的B1、B2、B33個分量和余量,B1到B3反應原始圖像各個尺度的詳細信息,可以看出B1反映了圖像的主要信息,而余量反應了圖像的趨勢信息。
對上述紋理圖像D64分解得到的B1、B2、B33個分量分別提取4個方向上的4個紋理特征參數(shù),將每個特征4個方向的特征參數(shù)值作算數(shù)平均,得出最終紋理參數(shù)向量,結(jié)果如表1—表3所示。
由表1可得,D64的B1分量的紋理參數(shù)均值分別為0.053 1, 4.990 9, 2.389 3, 0.505 6。
由表2可得,D64的B2分量的紋理參數(shù)均值分別為0.051 1, 4.977 9, 1.1998, 0.849 5。
由表3可得,D64的B3分量的紋理參數(shù)均值分別為0.066 2, 4.497 6, 0.549 2, 0.929 9。
由上可得圖像D64的紋理參數(shù)特征向量為
[0.053 1, 4.990 9, 2.389 3, 0.505 6,0.051 1, 4.977 9, 1.1998, 0.849 5,0.066 2, 4.497 6, 0.549 2, 0.929 9]。
表2 D64的B2分量的紋理參數(shù)值
表3 D64的B3分量的紋理參數(shù)值
本文算法與文獻[7]中BEMD算法分別進行紋理圖像分解所需的時間對比,如圖4所示。
圖4 算法分解圖像時間對比
從圖4可以看出,所采用的FABEMD相對于文獻[7]的BEMD分解算法,在相同圖片數(shù)量的情況下縮短了運行時間,且隨著圖片數(shù)量的增加,差距更加明顯。選取Brodatz紋理圖像庫中具有代表性的10類樣本圖像進行實驗,本文算法與文獻[7]中BEMD算法分別進行紋理圖像分解的平均分類準確率,如表4所示。
由表4可以看出,F(xiàn)ABEMD算法的平均分類正確率(仿真中被正確分類的圖像個數(shù)與參與分類的總圖像個數(shù)的比值)達到86.28%,高于文獻[7]算法的81.67%。
表4 MDC進行分類實驗仿真結(jié)果
針對BEMD算法應用于紋理圖像分類時,其所使用的插值方法求包絡時間長,準確率低的缺點,采用FABEMD算法,用濾波代替插值操作,首先使用FABEMD算法將紋理圖像分解成3個BIMF和1個余量之和;然后使用灰度共生矩陣提取各BIMF的能量、熵、對比度和相關(guān)性這4個紋理特征參數(shù),組成特征向量,最后運用最小距離分類器進行紋理圖像分類。選取Brodatz紋理庫中紋理圖像進行仿真實驗,實驗結(jié)果表明,與文獻[7]的BEMD分類方法進行相比,所提算法不僅縮短了運行時間而且平均分類準確率達到86.28%,表明了FABEMD在紋理圖像分類時優(yōu)于BEMD。