楊秋良,王 鈺,楊杏麗,李濟洪
(1.山西大學數(shù)學科學學院,山西 太原 030006; 2.山西大學現(xiàn)代教育技術(shù)學院,山西 太原 030006)
云對天氣與氣候變化有著非常重要的指示作用,準確獲取云的信息對社會、經(jīng)濟、軍事等各方面都有很大的意義。當前,對云的觀測主要有衛(wèi)星云觀測和地基云觀測2種方式。其中,地基云圖觀測由于它在局部云觀測中的及時性和準確性而備受關(guān)注。特別地,地基云圖觀測中的一個重要參數(shù)是云狀(云類),云狀的正確識別在理解數(shù)值天氣預報、分析氣候條件及大氣環(huán)流模式中都起著十分關(guān)鍵的作用[1-3]。
實際上,地基云圖是一類特殊的自然紋理圖像,地基云圖云狀識別就是機器學習中的圖像分類。針對地基云狀識別地基可見光云圖的特殊自然紋理特性,已有文獻提出了多種紋理特征提取方法來對地基云圖云狀識別進行研究,例如旋轉(zhuǎn)不變的紋理特征、Gabor小波變換、灰度共生矩陣等。然而,這些方法有的僅對圖像的絕對紋理位置信息進行了編碼,有的僅擁有旋轉(zhuǎn)不變的特性[4]。為此,文獻[5]提出了具有旋轉(zhuǎn)不變性和直方圖均衡化不變性的局部二值模式(Local Binary Pattern, LBP)描述子,由于該方法的簡單有效,使其得到了廣泛的擴展和應用,尤其是在地基云圖的研究中。比如,文獻[6]把LBP方法應用到人臉識別的任務中,提出了更加穩(wěn)健的局部三值LTP(Local Ternary Pattern)描述子;文獻[7]指出傳統(tǒng)的LBP方法只使用了符號向量信息,忽略了絕對值和中心像素本身的信息,為此提出了一種融合這3種信息的完整LBP方法,即CLBP(Completed Local Binary Pattern)方法;文獻[8]提出了基于主要LBP模式的DLBP(Dominant Local Binary Pattern)特征抽取算法;在DLBP方法的基礎(chǔ)上,文獻[9]提出了一種面向地基可見光云圖分類的顯著性特征提取方法SaLBP(Stable Local Binary Pattern);文獻[4]通過融合地基云圖復雜的自然紋理特性提出了一種穩(wěn)定的LBP特征提取方法。其他相關(guān)方法見文獻[10-15]。
雖然傳統(tǒng)LBP方法在自然紋理圖像的分析中廣泛使用,但是原始LBP特征向量的維數(shù)(遠遠)大于樣本量[16-20],此時,如果直接基于所有的LBP特征進行分類,計算開銷會非常大,而且分類的精度也會大大下降。另外,上述提到的所有LBP類特征選擇方法皆是直接基于LBP原始特征進行特征的選擇,沒有利用云類的信息,顯然這是不合適的。因此,本文考慮使用互信息度量融合云圖的類別信息來進行LBP特征的選擇。
具體地,本文通過計算每個LBP特征和類別變量之間的互信息構(gòu)造了一個F檢驗統(tǒng)計量,并利用前向搜索的思想進行特征選擇。本文提出的特征選擇算法不僅考慮了特征之間的冗余,使用簡單方便,而且所選出的特征個數(shù)要遠遠少于直接基于互信息的最大相關(guān)性準則選出的特征個數(shù),在降低計算開銷的同時也使得分類性能得到顯著的改進。
對于紋理圖像分類,常常假定測試樣本和訓練樣本具有相同的空間尺度、方位和灰度。然而,在現(xiàn)實中,紋理可能發(fā)生在任意的旋轉(zhuǎn)和空間分辨率中,同時它們很容易受到光照變化的影響。因此,文獻[5]提出了一種基于LBP模式的灰度和旋轉(zhuǎn)不變的描述子。這個方法是基于灰度來描述圖像紋理特征的不相關(guān)算子,主要刻畫了中心像素點的灰度相對于其領(lǐng)域內(nèi)像素點的灰度的變化情況。
具體地,中心像素的灰度值記為hc,其周圍半徑為R(R>0)的圓上的q個近鄰像素值為hq,q=0,1,…,Q-1,那么LBP操作算子的具體形式如下:
(1)
其中,
式(1)中s(x)表示中心像素hc與其近鄰像素hq之間的差值符號,LBP描述子就是用差值符號,即0、1的二進制編碼來代替它們精確的灰度值,然后對每個符號s(hq-hc)分配權(quán)值因子2q,從而轉(zhuǎn)化成十進制LBP值,就得到了一個對灰度的任意單調(diào)變換都不變的LBP描述子。
當圖像旋轉(zhuǎn)時,hq的像素值也隨之移動,這將導致式(1)所計算的LBP的值也不一樣,為了消除這種旋轉(zhuǎn)的影響,定義一個如下形式的旋轉(zhuǎn)不變的LBP描述子:
(2)
在概率和信息論中,互信息是對2個事件集合之間的相關(guān)性(mutual dependence)的度量,它決定著聯(lián)合分布與邊緣分布的乘積的相似程度。
對于2個離散隨機變量X和Y之間的互信息有如下定義:
(3)
當隨機變量X、Y存在連續(xù)隨機變量時,上述互信息公式的求和符號被替換成二重定積分:
(4)
其中,公式(3)中p(x,y)是離散隨機變量X和Y的聯(lián)合分布列,而p(x)和p(y)分別是它們的邊際分布列,公式(4)中的p(x,y)是連續(xù)隨機變量X和Y的聯(lián)合密度函數(shù),而p(x)和p(y)分別是它們的邊際密度函數(shù)[21]。
基于互信息的特征選擇的目標是在包含有M個特征的特征集合中找到一個含有m(m≤M)個特征{xi}(i=1,2,…,m)的特征集合S,使得其與目標類y有最大的相關(guān)性,即最大相關(guān)性準則(Max-Relevance),文獻[21]給出了如下的表示形式:
其中,i=1,2,…,m,I(xi,y)為xi與y之間的互信息度量。
然而,注意到上述基于互信息的最大相關(guān)性準則在進行特征選擇中只是簡單地要求特征與類別變量間的互信息最大,沒有考慮特征之間的冗余,同時在高維數(shù)據(jù)中,該方法所選出來的特征數(shù)量很多且計算開銷非常大,為此本文提出一種基于互信息的F檢驗統(tǒng)計量特征選擇方法。
(5)
前向搜索法是一個進行特征篩選行之有效的數(shù)學方法。本文應用前向搜索法的思想給出互信息構(gòu)造的F檢驗統(tǒng)計量的特征選擇算法過程,具體如下:
算法1基于互信息構(gòu)造的F檢驗統(tǒng)計量的特征選擇算法
輸入:全部特征向量{xi}(i=1,2,…,p);
類別向量y;
經(jīng)F檢驗被選入的有效特征集合的指標集A;
經(jīng)F檢驗未被入選的無效特征集合的指標集N;
集合N的特征個數(shù)b;
集合A的特征個數(shù)a;
顯著水平δ。
過程:
1A=空集;t=空集;N=全部特征的指標集;a=0;b=p;δ=0.15
2 foriinNdo
3 ifa<1 then
4R=0
5 else
6R=第i個特征與特征指標集A中所對應的所有特征之間的互信息的均值
7 end if
8t(i)=相應的式(5)的F值
9 end for
10F=t中最大的值
11 ifF>對應的1-δ分位數(shù)的值then
12A=F對應的特征指標集并入A中
13N=F對應的特征指標集從N中剔除
14b=b-1
15 接著重復執(zhí)行步驟2~步驟11
16 elseA=A;N=N;
17 end if
輸出:選入的特征集合的指標集A;未選入的特征集合指標集N。
本文選用有5個類別的云圖數(shù)據(jù)集來比較旋轉(zhuǎn)不變LBP(其中q=16,r=2)、基于互信息最大相關(guān)性準則和本文所提出的基于互信息構(gòu)造的F統(tǒng)計量這3種特征選擇方法的性能。為了對這3種特征選擇方法進行評價,分別選用支持向量機(SVM)、決策樹(rpart)和樸素貝葉斯(NB)這3種分類器作為學習算法,計算云圖的分類精度,且每個分類器都給出了二折、五折、十折交叉驗證的結(jié)果。
2.1.1 實驗數(shù)據(jù)
地基氣象云圖分類數(shù)據(jù)集SWIMCAT(Singapore Whole-sky Imaging CATegories Database)是這個領(lǐng)域的很多文獻中廣泛用于性能評價的一個基準數(shù)據(jù)集,本文基于這個數(shù)據(jù)集進行整個實驗的分析。所有的圖片都是2013年1月到2014年5月這17個月之間在新加坡拍攝的。圖像的分辨率都是125×125像素,格式為PNG格式。這個云圖數(shù)據(jù)集共有784個圖片方塊,包含了晴空、厚黑云、厚白云、模式云和薄云這5種不同的天氣條件。使用了550幅圖片(包含157幅晴空云圖,176幅厚黑云云圖,95幅厚白云云圖,61幅模式云云圖,60幅薄云云圖)[26]進行實驗分析。為了方便,晴空云、厚黑云、厚白云、模式云和薄云這5類云圖分別用數(shù)字1、2、3、4、5來表示。
對于上述5類云圖來說,在用LBP方法提取特征時,若從圖像中提取到的LBP的模式是“00000000”(共q個0),那么它是用來檢測圖像中的亮點,則這個特征對于區(qū)分第三類和第五類云類有重要的作用;若LBP模式是“11111111”(共q個1),那么它是用來檢測圖像中的黑點;若LBP的模式是“11110000”(即一半是1另一半是0),那么它是用來檢測圖像中的邊,則這個特征對于區(qū)分第二類和第四類云類有重要的作用。
2.1.2 2個連續(xù)變量間的互信息的估計
在本文提出的特征選擇算法中,F(xiàn)統(tǒng)計量是基于互信息構(gòu)造的,因此互信息的計算對于算法來說是非常重要的。如式(4)所示,當x和y至少有一個變量是連續(xù)變量時,它們之間的互信息I(xi,y)很難直接求解,因為它需要通過計算連續(xù)空間的積分來進行。一般地,常用的方法包含2種:1)先對數(shù)據(jù)進行離散化處理,然后基于式(3)進行互信息的計算;2)采用密度估計的方法來計算連續(xù)變量間的互信息。顯然離散化數(shù)據(jù)處理的方式會引起信息太多損失,因此本文采用文獻[21]提出的密度估計的方法,下面給出這2種方法的實驗對照。
具體地,已知變量x的N個樣本,估計密度函數(shù)p(x)有如下形式:
(6)
其中ω(·)的形式如下表示:
(7)
其中,x(i)是第i個樣本,h是帶寬,X=x-x(i),d是樣本x的維數(shù),∑是x的協(xié)方差矩陣。當d=1時,利用式(6)估計出來的值是邊緣密度;當d=2時,可以利用式(6)估計二元變量(x,y)的密度,即x和y的聯(lián)合概率密度p(x,y)。
下面,本文給出離散和連續(xù)這2種互信息計算方法在五折交叉驗證下使用2.1.1節(jié)提供的云圖數(shù)據(jù)集上的云狀分類精度對照。在同樣的數(shù)據(jù)樣本上,分別利用離散、連續(xù)變量的互信息計算方法求每個特征與類別變量的互信息,然后進行降序排列,選取前100個特征利用支持向量機(SVM)在五折交叉驗證下分別計算2組特征在每一折以及五折平均上的分類精度,結(jié)果如表1所示。
表1 L_MI與C_MI的分類精度比較 單位:%
表1中L_MI與C_MI分別表示離散互信息估計方法與連續(xù)互信息估計方法。
由表1可以看出,相同的數(shù)據(jù)經(jīng)過離散互信息操作之后得到的分類準確率要比連續(xù)互信息估計方法計算的分類準確率平均低了21.1個百分點。因此,采用離散互信息的方法可能在實際中是不合適的,它將導致很大的信息損失,而采用連續(xù)互信息的估計方法可以有效地改進互信息的計算。
2.2.1 特征數(shù)量
首先,給出本文提出的基于互信息構(gòu)造的F統(tǒng)計量的特征選擇算法與基于互信息的最大相關(guān)性準則在3種不同的分類器下所選擇的特征數(shù)量的結(jié)果,見表2。
由表2可以看到本文提出算法所選擇的特征是30個。而基于互信息的最大相關(guān)性準則特征個數(shù)的確定是和分類器相關(guān)聯(lián)的,它在分類器支持向量機(SVM)、決策樹(rpart)和樸素貝葉斯(NB)下所選擇的特征數(shù)量分別是1758、768、1299個。即本文提出的算法所選擇的特征個數(shù)要遠遠小于基于互信息的最大相關(guān)性準則選擇的特征個數(shù),具有更小的計算開銷。下一節(jié)將看到本文方法有更高的分類準確率。另外,旋轉(zhuǎn)不變LBP從云圖中所提取的特征個數(shù)是4116個。
表2 F_add與M_MI所選的特征數(shù) 單位:個
表2中F_add、M_MI_SVM、M_MI_rpart、M_MI_NB分別表示基于互信息構(gòu)造的F統(tǒng)計量、基于互信息的最大相關(guān)性在分類器SVM、rpart、NB下的方法。
2.2.2 分類精度
本節(jié)給出了本文方法、最大相關(guān)性準則方法以及原始LBP特征提取方法在支持向量機、決策樹、樸素貝葉斯3個分類器上的二折、五折、十折交叉驗證下每一類以及5類平均的分類準確率的結(jié)果,見表3~表8。
首先,在表3的SVM分類器下,本文方法的準確率在二折交叉驗證下第二類的準確率達到了100%,而旋轉(zhuǎn)不變LBP的準確率卻是0。在第五類上,本文方法的準確率高出基于互信息最大相關(guān)性的準確率18.3個百分點。同時在五折、十折交叉驗證上也有類似的結(jié)論。實驗結(jié)果顯示,本文方法的準確率在二折、五折、十折交叉驗證的5類樣本上平均的總精度分別是80.9%±0.1%、82.5%±0.2%、83.0%±0.4%,都顯著優(yōu)于旋轉(zhuǎn)不變LBP方法的20.0%±0.0%、20.0%±0.0%、20.0%±0.0%和基于互信息的最大相關(guān)性方法的77.7%±0.3%、80.5%±0.3%、81.1%±0.3%。
表3 在SVM分類器上3種方法在不同類別上的準確率 單位:%
表3中,LBP_ri、F_add、M_MI分別表示旋轉(zhuǎn)不變LBP、基于互信息構(gòu)造的F統(tǒng)計量、基于互信息的最大相關(guān)性的方法。
如表4所示,在二折、五折、十折交叉的每一折上本文方法的分類性能都是最好的,旋轉(zhuǎn)不變LBP方法的分類性能最差,在每個折上本文方法的平均準確率較旋轉(zhuǎn)不變LBP方法大約都提升了50個百分點,雖然較基于互信息的最大相關(guān)性方法提升了大約1個百分點,但是本文方法是顯著優(yōu)于基于互信息的最大相關(guān)性方法的。例如在二折交叉驗證上本文方法、旋轉(zhuǎn)不變LBP的方法、基于互信息最大相關(guān)性的方法的平均分類準確率分別是77.7%±0.1%、28.5%±0.2%和76.7%±0.1%。
表4 在SVM分類器上3種方法在不同折數(shù)上的準確率 單位:%
在表5、表6的決策樹分類器下,總的分類情況與在支持向量機分類器下是類似的。本文方法在這3類折數(shù)的交叉驗證上的第一、三、五類的準確率都是最高的,分別高出大約2~5個百分點。
除了十折交叉驗證中的第五折其他每個交叉驗證的每一折上本文方法的分類性能也都是最好的,而在每個折上本文方法的平均準確率較旋轉(zhuǎn)不變LBP、基于互信息的最大相關(guān)性方法都提升了大約2個百分點。例如在二折交叉驗證上本文方法、旋轉(zhuǎn)不變LBP的方法、基于互信息最大相關(guān)性的方法的平均分類準確率分別是74.8%±0.0%、72.4%±0.1%和72.7%±0.1%。
表5 在rpart分類器上3種方法在不同類別上的準確率 單位:%
表6 在rpart分類器上3種方法在不同折數(shù)上的準確率 單位:%
最后,在表7、表8的樸素貝葉斯分類器下,本文方法的準確率在三類交叉驗證的五類平均總精度上依然都是最優(yōu)的,這一點與前2個分類器是一樣的。其中本文方法在二折、五折、十折交叉驗證的第二類上的分類準確率分別達到了99.6%、100.0%和100.0%。
表7 在NB分類器上3種方法在不同類別上的準確率 單位:%
表8 在NB分類器上3種方法在不同折數(shù)上的準確率 單位:%
在二折、五折、十折交叉驗證下,本文方法的分類準確率比旋轉(zhuǎn)不變LBP的每一折以及平均精度上都高出約38個百分點,雖然在二折交叉驗證下比基于互信息的最大相關(guān)性方法上只高了0.4個百分點,但是本文方法的準確率是73.5%±0.0%,顯著優(yōu)于基于互信息的最大相關(guān)性方法的73.1%±0.1%。雖然在五折交叉驗證下基于互信息的最大相關(guān)性方法的準確率73.7%±0.3%要優(yōu)于本文方法的準確率73.6%±0.2%,但這個差異卻不是顯著的。在十折交叉驗證下本文方法和基于互信息最大相關(guān)性的方法是沒有顯著差異的。
針對地基氣象云圖的傳統(tǒng)特征選擇方法皆是直接基于圖像特征本身進行特征選擇,完全沒有利用云的類別信息,本文基于互信息將特征變量與類別變量融合進行特征的選擇,提出了一種基于互信息構(gòu)造的F檢驗統(tǒng)計量的特征選擇算法。在多個分類器上的實驗表明,本文方法大大降低了計算開銷且云圖云狀識別的性能顯著提高。
雖然本文方法相對于其他方法在地基云圖的云狀識別性能上有顯著改進,但是總體的分類性能還是有很大的提升空間的,為此,筆者下一步將考慮融合LBP的多尺度特征來進行分類性能的進一步提升,以及進一步考察本文方法在噪聲圖像和其他云圖數(shù)據(jù)集上的魯棒性。