一、什麼是GLCM。
GLCM,是Grey Level Co-occurence Matrix的縮寫,也叫做Grey Tone Spatial Dependency Matrix,中文名是灰階共現矩陣。
定義 The GLCM is a tabulation of how often different combinations of pixel brightness valus(gray level) occur in an image.GLCM是用來描述一幅映像中,灰階值的不同結合的頻度。
下文要用到的測試映像如下圖,這是一個灰階圖(GLs),這張圖也會貫穿整個教程。
定義 Order維數
這裡描述的GLCM是用來表示紋理計算值的“二階”序列。
First Order 一階紋理特徵是從原始映像值計算得到的統計結果,比如方差,但是不考慮相鄰像素之間的關係。
Second Order 二階紋理特徵是考慮原始映像中,以兩個像素(一般是相鄰像素)構成的組之間的相互關係。
Third and Higer Order 三階及更高維紋理(考慮三個甚至更多像素之間 的關係)是表示理論上的可能性,但是由於計算時間複雜度和解釋複雜度,一般不應用。當然,這裡有一種比較有效方式去計算三維紋理的最新進展(200X):http://www.fp.ucalgary.ca/mhallbey/references.htm。
灰階長條圖是一種描述單個像素灰階分布的一階統計量;而灰階共現矩陣描述的則是具有某種空間位置關係的兩個像素的聯合分布,可以看成是兩個像素灰階對的聯合長條圖,是一種二階統計量。
GLCM的架構
兩個像素之間的空間關係
GLCM特徵表示在一個時間點上的兩個像素之間的關係,一般稱為reference參照和neighbor pixel相鄰像素。在接下來的圖示描述中,相鄰像素是每一個參照像素的右側像素。這可以簡單的表示成(1,0)關係,像素1在x方向上,像素2在y方向上。
窗中的每一個像素都會依次成為參照像素,從左上方的像素開始,一直到右下角的像素結束。窗的右側像素沿著邊緣,沒有右側像素點,所以他們不在遵循此規則。
兩個像素之間的分離度
本教程中所有的例子都是採用一個像素位移量(一個參考像素和它的直接緊鄰像素)。如果窗足夠大,使用一個更大的位移量可能更加完美。在計算理論上是沒有任何區別的。應用GLCM建立的所有條目的總和(比如像素結合的次數)都將比給定的窗尺寸要小。
在測試映像中,灰階值的組合以及它們在矩陣中的位置。GLCM後續表徵包含僅僅16個資料單元。
neighbor pixel value->
ref pixel value 0 1 2 3 0 0,0 0,1 0,2 0,3 1 1,0 1,1 1,2 1,3 2 2,0 2,1 2,2 2,3 3 3,0 3,1 3,2 3,3
如何解讀矩陣架構。
左上方的儲存格表示的是(0,0)組合的次數,比如,在映像某地區內,灰階值0(相鄰像素)掉入到右側其他灰階值為0的像素(參考像素)的的次數。
不同的空間關係有不同的共生矩陣出現(上面,相鄰,斜對角線上)。
例如:右側(1,0)空間關係的矩陣架構
2 2 1 0 0 2 0 0 0 0 3 1 0 0 0 1
如何解讀右(east)矩陣架構。
(不好翻譯,直接英文自己理解)Twice in the test image the reference pixel is 0 and its eastern neighbour is also 0. Twice the reference pixel is 0 and its eastern neighbour is 1.Three times the reference pixel is 2 and its neighbour is also 2.
二、置換:使矩陣對角對稱
紋理計算需要一個對角矩陣,因此下一步就是歸一化GLCM。
一個對角矩陣意味著出現在單元內的相同值對稱出現在對角線上。例如,在(3,2)單元內的值也會同樣的出現在對角線(2,3)中。上面計算得到的東矩陣(east matrix)是不對稱的。
東矩陣使用與之右相鄰的像素計算各自的參照矩陣。如果僅僅使用一個方向,且按照這種方法計算完成,(2,3)的結合出現的次數與(3,2)的結合的次數是不一樣的。(比如,3 may be to the right of 2 three times, but to the left of 2 only once)。但是,如果計算每一個像素對,就能實現對稱:一次前向(forward)和一次後向(backwards)(第二次計算交換參照和相鄰像素)。
例如:a reference pixel of 3 and its eastern neighbour of 2 would contribute one count to the matrix (3,2) and one count to the matrix element (2,3).對稱也意味著,當考慮東相關(1,0),西相關(-1,0)也會被計算。這就叫做“水平矩陣”。
三、歸一化:GLCM表述成機率
使GLCM對稱以後,在計算紋理方法之前,仍然需要一步。這個方法需要的是每一個GLCM單元不是簡單的計算,更多的是一種機率