陳 旭 徐超義
(南京信息工程大學自動化學院 江蘇 南京 210044)
紋理是一種反映圖像中同質現象的視覺特征,不同于灰度、顏色、形狀等圖像特征,紋理通過像素及周圍空間鄰域的灰度分布來表現。紋理特征具有類內差異性和類間相似性,單一的紋理特征提取算法很難準確地描述圖像紋理,因此提出一種具有高鑒別性和高計算效率的圖像紋理特征提取方法一直是研究的熱點。近年來隨著研究的不斷深入,紋理分類已經應用于很多重要領域并且起到了非常關鍵的作用,如虛擬現實與人機交互技術中就需要對提取的紋理特征進行分析與建模,不同材質的紋理特征在人機交互中給人帶來的感受也不同,優秀的特征提取算法將會提高人機交互的真實感與沉浸感。
對于圖像紋理特征的分類識別,國內外研究者提出了很多研究方法。Karmakar等[1]對Tamura紋理提取算法提出了改進,用核描述符代替直方圖,增強了特征的旋轉不變性,但是Tamura算法提取的是全局特征信息,利用單一的Tamura算法提取特征會導致圖像局部細節信息的丟失。Marsico等[2]對傳統LBP算法進行了改進,提出了新的基于內容的LBP碼選擇策略,選取最具“代表性”的LBP碼,減少了特征向量的長度,該方法提高了特征提取效率但魯棒性不是很好。Rafi等[3]提出了多尺度形態灰度共生矩陣紋理描述符,在多尺度數學形態學和共生矩陣的框架下設計了兩個新的紋理描述符,雖然在紋理分類精度上較傳統GLCM算法有很大提升,但GLCM為稀疏矩陣,在計算特征值時需要巨大的計算量。陳鳳萍等[4]研究出一種旋轉不變特征提取方法,將Curvelet變換之后的較細尺度子帶生成的矩陣特征與小波變換的統計學特征合并,提取出旋轉不變紋理特征向量,仿真結果證明該方法能夠提高紋理圖像識別準確率,但是Curvelet算法復雜且對圖像光照和位置比較敏感。Zhang等[5]在局部二值模式算法基礎上提出了歸一化差分向量(NDV),該方法在分類精度上有一定提升,但忽視了紋理方向的重要性。張艮山等[6]提出一種LBP-LSSVM數字圖像分類算法,使用LBP圖的直方圖構建圖像樣本的特征向量,特征向量送入最小二乘支持向量機(LSSVM)構建最優分類模型,該方法從局部特征分析圖像紋理,能夠更精細地捕捉圖像鄰域紋理特征,實驗結果也證明該方法具有較高的分類準確率,但基于局部的特征提取方法缺乏對整體信息的把握,使其易受噪聲影響而不夠穩定。
針對當前紋理特征提取方法中的一些不足,如提取的特征信息不全面、魯棒性差、計算量大等, 本文提出一種基于NSCT子帶的CS-LBP和Tamura紋理融合特征的分類算法。其中CS-LBP算子描述的是圖像局部紋理特征信息,Tamura描述的是全局特征信息,通過對NSCT變換產生的多尺度、多方向高低頻子圖提取的CS-LBP和Tamura紋理特征,可以更全面地描述不同材質的紋理圖片。另外本文還對傳統的CS-LBP算法進行了優化,利用鄰域像素值與中心像素值梯度差的平均值代替中心像素值,得到DCS-LEBP算子,在提取了圖像局部邊緣特征信息的基礎上又加入了低頻信息,提升了算法的抗噪性。最終將得到的融合特征矩陣輸入SVM分類器中進行分類。實驗表明,本文方法比單一特征方法有更強的魯棒性和抗噪性,分類精度也更高。
本文算法流程如圖1所示。首先,使用自適應對比度增強算法(ACE)對圖像進行預處理,提高圖像對比度;之后使用NSCT變換獲取各方向各尺度的高低頻子圖,在同一尺度變換上,NSCT在多個方向顯示了圖像的細節信息,從而提高特征提取的全面性;最后使用基于Tamura和DCS-LEBP的特征提取方法對圖像紋理特征進行提取,并將得到的高、低頻融合特征級聯輸入SVM支持向量機對不同材質的圖像進行分類識別。本文選擇了木板、冰塊、墻面、棉布、樹根截面、樹葉、米粒、砂紙八種不同材質的圖片,對它們進行特征提取和分類。

圖1 算法流程
圖像的紋理信息往往是高頻信息,但是低頻背景信號中經常出現混入高頻信息的情況,降低了圖像紋理信息的視覺可見性,因而適度地放大高頻部分能夠提高視覺效果,同時還有利于紋理特征提取及分類。自適應對比度增強[7]采用反銳化掩膜技術,首先通過低通濾波獲得低頻的反銳化掩膜部分,然后用原圖減去反銳化掩膜獲取高頻部分,最后將放大的高頻部分加入反銳化掩膜中,得到增強的圖像。設x(i,j)是原像素,則自適應對比度增強后的像素值f(i,j)計算公式如下:
f(i,j)=mx(i,j)+G(i,j)[x(i,j)-mx(i,j)]
(1)
式中:mx(i,j)是局部區域均值,G(i,j)為局部增益,它們的計算方法分別如式(2)、式(3)所示。
(2)
(3)
本文中D取的是圖像的全局均方差,并且當G(i,j)的值較大時會引起噪聲的放大,因此增加了一個參數DATA,用來控制高頻增強的程度。對紋理數據集中的樹根截面圖像增強效果如圖2(d)所示,圖2(b)是提取出的原圖像低頻濾波,圖2(c)是原圖的高頻成分。

圖2 樹根截面對比度增強圖
Contourlet變換在圖像降噪、紋理、形狀的特征提取方面性能比二維離散小波變換有明顯提高,但是由于拉普拉斯金字塔和方向濾波器組中存在上下采樣,使得Contourlet變換不具有平移不變性,因此Cunha等[8]在Contourlet變換基礎上提出了具有平移不變性的非下采樣輪廓波變換(NSCT)。


圖3 NSCT分解框架
為了降低圖像中噪聲、光照等因素對分類精度的影響,提高系統效率,本文采用“9-7”濾波器組對圖像進行3尺度塔形分解,同時用“haar”濾波器組從低尺度到高尺度進行21、22、23方向的分解,經過分解后一共得到15幅子圖,其中包括1幅低頻子圖和14幅細節子圖。
為了更充分、全面地描述紋理,本文對NSCT變換產生的高頻和低頻子帶先進行DCS-LEBP計算,得到各子帶的DCS-LEBP圖像,之后對各子帶的DCS-LEBP圖像分別進行Tamura特征提取和特征直方圖統計,最后聯合提取到的DCS-LEBP特征與Tamura特征進行紋理材質分類。
1.3.1LBP特征提取
局部二進制模式運算符(LBP)[9]是一個眾所周知的紋理特征,已經成功地應用于許多領域,例如紋理分類[10]、人臉識別[11]等。LBP算子有幾個優秀的性質。首先,計算簡單快捷。其次,它為紋理結構的描述提供了強大的辨別能力,同時對單調光照變化具有魯棒性。這些優點使LBP成為描述局部紋理特征很好的選擇。但是,LBP算子產生的特征維數較高,尤其當選取的鄰域像素點數量增加時容易形成“維數災難”。因此,在保持LBP特征分類性能的同時如何去降低其特征維數成為一個關鍵問題。
原始的LBP算子可以看作是統計和結構紋理分析的統一方法。LBP算子通過相鄰像素的相對灰度來描述每個像素。對于每個相鄰像素,如果其值不小于中心像素的值,則結果將被設置為1,否則結果將被設置為0,然后將結果與2的冪給定的權重相乘,并將它們累加,獲得中心像素的LBP碼。圖4說明了一個像素與八個相鄰像素的LBP計算。

圖4 LBP特征值計算方法
LBP算法的計算公式如下:

(4)
式中:nc表示3×3矩陣中心像素值;ni表示該矩陣周圍像素值。
一個LBP算子可以產生多種二進制模式,對于p鄰域的LBP算子將會產生2p種模式,8鄰域的LBP將會產生256維的紋理直方圖。描述符產生相當大的特征維數,難以用作區域描述符。因此,Heikkila等[12]提出16維的CS-LBP描述符,與LBP不同的是,他們沒有將每個像素的灰度級與中心像素的灰度級進行比較,而是比較一個區域中相對像素的灰度級差異。CS-LBP大大降低了特征維數提高了特征提取效率。
詳細的CS-LBP計算可以用式(5)表示。

(5)
式中:ni、ni+(N/2)是和中心像素相對的兩個像素。
LBP和CS-LBP算子兩者具體的區別見圖5。

圖5 LBP和CS-LBP的對比
上文介紹的兩種LBP、CS-LBP及其他擴展的局部二進制模式都只是由局部像素之間的灰度差異獲得,忽略了圖像的局部邊緣。Sun等[13]提出中心對稱局部邊緣二值模式(CS-LEBP),與傳統局部二進制算法相比,CS-LEBP是圍繞邊緣計算得到的,將二值模式與局部邊緣進行了融合。實驗結果表明,該算法在紋理圖像檢索方面的性能優于同類算法。
CS-LEBP算法的計算可以用式(6)表示。

(6)
1.3.2改進的CS-LEBP
中心對稱局部邊緣模式(CS-LEBP)考慮了局部區域中像素之間的灰度變化的同時還融合了局部邊緣信息,但是灰度變化和局部邊緣都表示高頻信息,這導致低頻信息丟失。很明顯這是不抗噪的,并且對局部紋理描述不夠全面。
為了能夠提高圖像在噪聲環境中的適用性,更完善地描述圖像紋理,本文引入了一種改進的DCS-LEBP算子,利用鄰域像素與局部像素差累加和的平均值代替中心像素值,在不增加特征維度的同時,降低了噪聲干擾,增強了紋理描述性能,并在紋理圖片分類中取得了更好的分類結果。計算方法如下:

(7)
其中:
使用本文改進的CS-LEBP算子得到的DCS-LEBP圖如圖6所示。

圖6 DCS-LEBP圖像
1.3.3Tamura紋理特征提取
Tamura等[14]對圖像紋理進行了深入研究,提出了與心理學觀點上相對應的6個描述全局的紋理特征成分,即對比度、方向度、粗糙度、線性度、規整度和粗略度。在實際應用中,Tamura的粗糙度、對比度、線性度三個紋理特征描述符很好地表達了視覺圖像的紋理特性,在圖像分類中取得了較好的分類效果。其他三個特征與上述三個特征高度相關,并且不會增加紋理描述的有效性[15]。因此,本文應用前三個特征來對圖像進行描述。
粗糙度。粗糙度反映了灰度圖像強度的變化,是紋理特征中最重要的特征,也是最能反映圖像紋理內涵的特征,粗糙度通過計算整個圖像大小的平均值獲得。其計算方法如式(8)所示。
(8)
式中:m×n為圖像尺寸;sbest(i,j) 為最優窗口。
對比度。Tamura紋理特征的對比度是通過計算灰度的分布情況來獲得的,它給出了一個全局度量Fcon來作為整幅圖像或一個區域的對比度。對比度可以用式(9)表示。
(9)

方向度。方向度描述的是紋理如何沿著某些方向散發或集中的一個全局特性。方向度通過統計直方圖中峰值的銳角θ獲得,其計算方法可以用式(10)表示。
(10)
式中:p代表直方圖HD的峰值;wp代表峰值范圍;HD是根據圖中包含的全部像素的梯度向量的數量而構建的直方圖。
1.3.4 紋理特征提取方法
本文提出的特征提取具體流程如下:
1) 選取自適應對比度增強算法(ACE)對紋理圖像進行預處理,提高原圖像的對比度,得到對比度增強的紋理圖像。
2) 對得到的對比度增強后的紋理圖像進行NSCT變換,采用“9-7”濾波器組對圖像進行3尺度塔形分解,同時用“haar”濾波器組從低尺度到高尺度進行多個方向的分解,最后得到1幅低頻子圖和14幅細節子圖。使用本文改進的CS-LBP算子,對NSCT變換得到的15幅子圖進行DCS-LEBP計算,并得到DCS-LEBP圖像。
3) 將15幅DCS-LEBP圖進行特征直方圖統計,得到紋理特征直方圖,并生成參數矩陣。其中每幅子圖的DCS-LEBP特征維數是16維。
4) 根據得到的DCS-LEBP圖像,對其進行Tamura紋理特征提取,選取Tamura中的粗糙度、對比度和方向度3個特征來描述圖像。最后將15組Tamura特征進行級聯,得到45個參數的特征矩陣,結合改進的局部中心對稱二值模式(DCS-LEBP)得到的參數矩陣對圖像進行描述。
優秀的紋理特征提取算法對分類準確率至關重要,分類器的選擇也會對識別結果產生較大影響。本文選擇支持向量機(SVM)對不同材質的紋理圖像進行分類。支持向量機(SVM)[16]是一種在分類和回歸的情況下進行預測的技術。在函數和可解決問題條件方面,SVM與人工神經網絡處于同一類。它依賴于被稱為結構風險最小化(SRM)的機制,利用支持向量機將輸入向量映射到高維空間,計算兩組樣本之間的最佳分離超平面。
支持向量機的核心是核函數。核函數的類型有很多,在使用時需要根據不同的應用場合去選擇適合的核函數。在之前的研究中,采用高斯徑向基函數對紋理圖像進行分類,取得了較高的分類精度,并且高斯徑向基函數計算復雜度低[17]。因此本文采用帶高斯徑向基函數的支持向量機對不同材質的紋理圖像進行分類,另外系統采用網格搜索方法獲得最優參數,得到較高的訓練精度,采用交叉驗證方法來提高預測精度。
本文選擇Brodatz紋理庫中的木板、冰塊、墻面、棉布、樹根截面、樹葉、米粒、砂紙8類紋理圖像樣本進行分類,來驗證本文算法的性能。圖7為選擇的8類紋理圖像。

圖7 選擇的8類紋理圖片
選取的8類紋理圖像大小均為640×640像素。共有訓練樣本560個,測試樣本240個,其中每個種類的訓練樣本為70個,每個種類的測試樣本為30個。采用K-means聚類算法,選擇效果較好的聚類數目K=3,可以同時對三類數據集進行劃分,減少運算時間。
本文分別測試了CS-LBP、DCS-LEBP、Tamura、基于NSCT的DCS-LEBP和Tamura融合特征的分類精度。相較于傳統的LBP算子,本文選取了中心對稱局部二值模式(CS-LBP),很大程度上減少了特征維數,降低了計算復雜度。同時為了獲得較好的分類結果,采用改進的DCS-LEBP進行特征提取,在不增加特征維數的基礎上獲得了較為全面的紋理特征信息。對于Tamura算法,在得到原圖像的DCS-LEBP圖的基礎上,對DCS-LEBP圖提取粗糙度、對比度、方向度來描述圖像。
在實驗一中,將3種紋理特征提取方法的分類準確率進行了對比,其中方法1為通過Tamura算法得到的三個特征參數作為SVM的輸入進行分類;方法2為采用改進的CS-LBP算子提取特征進行分類;方法3為本文方法,基于NSCT子帶的DCS-LEBP和Tamura紋理特征融合方法。
從圖8可以看出,改進后得到的DCS-LEBP算法對整個樣本的平均分類性能優于Tamura,并且對于單個樣本的分類準確度也高于Tamura。基于本文的兩種算法相結合的分類正確率明顯高于單一算法,平均準確率可以達到98.3%。

圖8 不同方法的準確率
在實驗二中,為了兼顧特征維數與分類準確率,選擇了采樣點為8、半徑為2的CS-LBP和DCS-LEBP算子,進行分類性能的對比。分類結果如圖9所示,在相同的條件下,DCS-LEBP獲得的特征參數具有更高的分類準確度。

圖9 CS-LBP與DCS-LEBP的分類準確率
在實驗三中,將兩種Tamura紋理特征提取算法的分類性能進行了對比。其中方法1為通過原Tamura算法得到的三個參數級聯起來的矩陣作為SVM的輸入進行分類;方法2為本文改進的Tamura特征提取方法,即先對原圖像進行DCS-LEBP計算,得到原圖像的DCS-LEBP圖,最后對得到的DCS-LBP圖進行Tamura紋理特征提取,特征參數輸入支持向量機進行分類。實驗結果如圖10所示,在相同條件下,改進的Tamura特征提取方法較原算法在紋理材質分類精度上有了一定程度上的提升。

圖10 Tamura和改進的Tamura的分類準確率
在實驗四中,進行了錯誤匹配實驗,選取了三組共90幅Brodatz紋理庫中不同于樣本圖像的測試樣本,測試錯誤圖像被劃分到樣本集中的概率。如圖11所示,方法1、方法2與方法3均存在不同程度的錯誤分類,并且錯誤分類都由于和紋理特征較為平滑的棉布和砂紙相混淆。根據實驗結果來看,Tamura的錯誤分類率最高,DCS-LEBP次之,本文方法的錯誤分類率最低,只有5.6%,因此本文方法是準確可行的。

圖11 匹配錯誤率
本文針對當前紋理特征提取方法中提取的特征信息不全面、魯棒性差、計算量大等不足,提出一種基于NSCT子帶圖像的CS-LBP和Tamura算法相結合的紋理材質分類算法。選擇Brodatz紋理庫中的圖片建立樣本集與測試集,使用SVM支持向量機進行分類,經過對比實驗,證明本文方法比單一算法提取的特征更全面,具有更高的魯棒性和抗噪性,對紋理材質的分類效果也更好。另外,本文改進的DCS-LEBP算法和優化的Tamura算法也比原算法具有更好的分類識別性能。本文算法對較為模糊的紋理圖像分類也具有魯棒性。但是實驗結果顯示,Tamura算法的識別效果與其他算法相比分類準確率還有待提高,所以今后的研究重點是繼續改進Tamura算法,提高其對精細紋理的識別能力。