影像紋理(Image Texture)
什麼是影像紋理?
影像紋理是指影像中像素灰階分佈的局部變化模式,例如粗糙、平滑、規律、隨機等。
紋理特徵通常描述像素間的空間關係,能夠補充形狀與強度資訊,是生醫影像分析中重要的一環。
紋理的應用場景
- 腫瘤診斷
利用紋理特徵判斷腫瘤的良惡性(例如 MRI、超音波影像)。 - 組織分類
區分不同類型的生物組織(如肌肉、脂肪、纖維組織)。 - 疾病預測與分期
透過紋理變化預測疾病進程(如肝臟纖維化程度)。 - 醫學影像輔助診斷(CAD)系統
作為機器學習、深度學習模型的重要特徵來源。
紋理分析的理論基礎
紋理分析的核心是量化影像中像素間的「灰階關係」,通常從以下角度描述:
- 灰階差異大小(對比度)
- 紋理的規律程度(均勻性)
- 資訊豐富程度(熵)
- 能量分佈(能量或二階矩)
常見的紋理分析方法
- 統計量方法(Statistical Methods)
直接統計像素灰階的分佈與關係,如 GLCM(灰階共生矩陣)、GLRLM(灰階游程矩陣)。 - 變換域方法(Transform-based Methods)
如傅立葉變換(FFT)、小波變換(Wavelet Transform),分析頻率與尺度特性。 - 結構模型(Structural Methods)
建立紋理的幾何或規則模型,例如紋理合成或馬可夫隨機場(MRF)。 - 深度學習方法(Deep Learning Methods)
使用卷積神經網絡(CNN)自動學習紋理特徵。
GLCM(灰階共生矩陣)
GLCM 是什麼?
GLCM(Gray-Level Co-occurrence Matrix)是一種最經典的統計量方法。
它記錄了影像中一對像素灰階值同時出現的頻率,依據特定方向和距離統計而得。
舉例來說: - 在方向 0°,距離 1 的情況下,GLCM 記錄的是每個像素與右側相鄰像素的灰階關係。
GLCM 測量哪些特徵?
從 GLCM 可以計算出多種紋理特徵,常見包括:
- Contrast(對比度)
測量鄰近像素灰階差異的平方平均值,反映影像紋理的「粗糙程度」。 - Homogeneity(均勻性)
測量鄰近像素灰階差異的反比,灰階差異小則值高。 - Energy(能量)
測量矩陣元素平方和,反映影像的「規則性」。 - Entropy(熵)
測量影像灰階關係的「隨機度」,亂度高時熵大。
特徵名 | 解釋 | 解讀 |
---|---|---|
Contrast(對比度) | 鄰近像素間灰階差異的加權總和 | 高對比=紋理粗糙 |
Homogeneity(均勻性) | 鄰近像素灰階越接近得分越高 | 高均勻=紋理平滑 |
Entropy(熵) | 紋理資訊量,亂度高得分高 | 熵高=紋理複雜、粗糙 |
Energy(能量) | GLCM元素的平方和,平滑紋理能量高 | 能量高=紋理有序 |
Correlation(相關性) | 兩灰階值間的線性關係 | 依據影像特性解讀 |
GLCM 計算範例
假設有一張 \(3 \times 3\) 的灰階影像如下:
100 | 100 | 101 |
100 | 101 | 102 |
101 | 102 | 102 |
這裡的灰階值只有:100、101、102。
1. 設定計算條件
- 方向:0°(向右)
- 距離:1 像素
只考慮每個像素與右邊像素的組合關係。
2. 找出像素對
從影像中列出右側鄰居的像素對:
- (100, 100)
- (100, 101)
- (100, 101)
- (101, 102)
- (101, 102)
3. 建立 GLCM
列出灰階對應次數:
i\j | 100 | 101 | 102 |
---|---|---|---|
100 | 1 | 2 | 0 |
101 | 0 | 0 | 2 |
102 | 0 | 0 | 0 |
4. 正規化 GLCM
將所有出現次數除以總像素對數(5 對):
i\j | 100 | 101 | 102 |
---|---|---|---|
100 | 0.2 | 0.4 | 0 |
101 | 0 | 0 | 0.4 |
102 | 0 | 0 | 0 |
5. 計算特徵量
(1) Contrast(對比度)
計算各元素:
- (100,100): \((100-100)^2 \times 0.2 = 0\)
- (100,101): \((100-101)^2 \times 0.4 = 1 \times 0.4 = 0.4\)
- (101,102): \((101-102)^2 \times 0.4 = 1 \times 0.4 = 0.4\)
加總:
(2) Homogeneity(均勻性)
計算各元素:
- (100,100): \(\frac{0.2}{1+0} = 0.2\)
- (100,101): \(\frac{0.4}{1+1} = 0.2\)
- (101,102): \(\frac{0.4}{1+1} = 0.2\)
加總:
(3) Entropy(熵)
計算各元素(取對數基底 2):
- (100,100): \(-0.2 \times \log_2(0.2) \approx 0.464\)
- (100,101): \(-0.4 \times \log_2(0.4) \approx 0.528\)
- (101,102): \(-0.4 \times \log_2(0.4) \approx 0.528\)
加總:
6. 小結
這張小影像的 GLCM 特徵是:
特徵 | 數值 |
---|---|
Contrast | 0.8 |
Homogeneity | 0.6 |
Entropy | 1.52 |
使用imagej
灰階化影像
GLCM 的計算需要灰階影像,如果你的影像是彩色的,先將它轉換為灰階影像:Image > Type > 8-bit
,將影像轉換為 8 位灰階影像。
安裝 GLCM plugin
計算 GLCM 特徵
現在讓我們來運行 GLCM 分析:
在 ImageJ 中,選擇 Plugins > Texture >
。
在彈出視窗中設置如下參數:
- Distance: 設為 1,表示相鄰像素。
- Angle: 可以選擇 0°(右方)、45°、90° 或 135°,這取決於你要分析的方向。對於標準情況,選擇 0°。
- Levels: 設為 8 或 16,這取決於你影像的灰階範圍(通常 8 即可)。
- Symmetric: 如果勾選,會計算對稱的 GLCM(不會區分 i 和 j 的順序),一般來說可以不勾選。
查看計算結果
計算完成後,ImageJ 會顯示一個結果表格,列出各種 GLCM 特徵,通常包括: - Contrast(對比度) - Homogeneity(均勻性) - Energy(能量) - Entropy(熵)