圖像熵及各向異性
熵
熵的物理定義
熵,熱力學中表徵物質狀態的參量之一,其物理意義是體系混亂程度的度量。
信息熵
信息熵的定義
信息理論的鼻祖之一Claude E. Shannon把信息(熵)定義爲離散隨機事件的出現概率。本質上是對我們司空見慣的“不確定性現象”的數學化度量,單位爲:比特(bit)。
信息熵的公式定義
信息熵的公式定義如下:
H ( x ) = − ∑ x ∈ χ p ( x ) log 2 p ( x ) (1) H(x) = -\sum_{x\in\chi}p(x)\log_2p(x) \tag{1} H ( x ) = − x ∈ χ ∑ p ( x ) log 2 p ( x ) ( 1 )
並且規定0 log 2 ( 0 ) = 0 0\log_2(0) = 0 0 log 2 ( 0 ) = 0 。
首次看到這個定義,我們會感到奇怪,爲什麼熵要定義成這麼複雜的形式,並且其中還出現了對數函數這種非常不直觀的表述?
首先,我們看下用概率來描述信息量的重要性質:
1:事件發生的概率越低,則信息量越大;
2:事件發生的概率越高,則信息量越小;
3:多個事件同時發生的概率是多個事件概率相乘,總信息量是多個事件信息量相加。
通過前兩點,我們知道信息量,信息量和概率之間一定是減函數的關係,第三點要求確定了對數關係 :
y = log 2 ( x ) (2) y = \log_2(x) \tag{2} y = log 2 ( x ) ( 2 )
這裏的對數關係以及上述第三點其實非常好理解,即兩件事情的信息量之和等於兩件事情同時發生的信息量 :
x 1 x_1 x 1 和 x 2 x_2 x 2 同時發生的概率:P ( x 1 , x 2 ) = P ( x 1 ) × P ( x 2 ) P(x_1, x_2) = P(x_1) \times P(x_2) P ( x 1 , x 2 ) = P ( x 1 ) × P ( x 2 )
x 1 x_1 x 1 和 x 2 x_2 x 2 的總信息量: log 2 ( P x 1 , P x 2 ) = log 2 ( P x 1 ) + log 2 ( P x 2 ) \log_2(P_{x1}, P_{x2}) = \log_2(P_{x1}) + \log_2(P_{x2}) log 2 ( P x 1 , P x 2 ) = log 2 ( P x 1 ) + log 2 ( P x 2 )
由此確定的信息量描述爲:
I ( x ) = − log 2 P ( x ) I(x) = -\log_2P(x) I ( x ) = − log 2 P ( x )
爲什麼第三點中給出了對數關係,下面進行證明:
設 f ( x ) f(x) f ( x ) 表示事件 A A A 發生時攜帶的信息量,其中,x x x 爲事件 A A A 發生的概率,則有:
lim r → 0 f ( r ) = + ∞ \lim_{r \rightarrow 0}f(r) = +\infty r → 0 lim f ( r ) = + ∞
f ( 1 ) = 0 f(1) = 0 f ( 1 ) = 0
f ( x 1 , x 2 ) = f ( x 1 ) + f ( x 2 ) x 1 , x 2 ∈ ( 0 , 1 ] f(x_1, x_2) = f(x_1) + f(x_2) \quad x_1, x_2 \in (0,1] f ( x 1 , x 2 ) = f ( x 1 ) + f ( x 2 ) x 1 , x 2 ∈ ( 0 , 1 ]
然後這就成了一道我們都很熟悉的數學題:
已知f ( x ) f(x) f ( x ) 定義域 x ∈ ( 0 , 1 ] x\in(0,1] x ∈ ( 0 , 1 ] ,可導,且滿足f ( x y ) = f ( x ) + f ( y ) f(xy)=f(x)+f(y) f ( x y ) = f ( x ) + f ( y ) ,求f ( x ) f(x) f ( x ) 。
是的,這是一個函數方程,把它解出來就是答案!說到這裏,很多人就覺得容易了,我這裏僅給出一個推導,實際的解法有太多。
令 x = y = 1 x=y=1 x = y = 1 ,則有:
f ( 1 ) = f ( 1 ) + f ( 1 ) f(1)=f(1)+f(1) f ( 1 ) = f ( 1 ) + f ( 1 ) ,所以f ( 1 ) = 0 f(1)=0 f ( 1 ) = 0 ,顯然這是一個可推導出的結論。
根據牛頓-萊布尼茨公式:
f ( 1 ) − f ( x ) = ∫ x 1 f ′ ( t ) d t (3 - 1) f(1) - f(x) = \int_x^1f'(t)dt \tag{3 - 1} f ( 1 ) − f ( x ) = ∫ x 1 f ′ ( t ) d t ( 3 - 1 )
= ∫ x 1 f ( t + d t ) − f ( t ) d t d t (3 - 2) = \int_x^1\frac{f(t + dt) - f(t)}{dt} dt \tag{3 - 2} = ∫ x 1 d t f ( t + d t ) − f ( t ) d t ( 3 - 2 )
乘以t t t 再除以 t t t ,則原值保持不變:
= ∫ x 1 f ( t t + d t t ) − f ( t ) d t d t (3 - 3) = \int_x^1 \frac{f(t\frac{t + dt}t) - f(t)}{dt} dt \tag{3 - 3} = ∫ x 1 d t f ( t t t + d t ) − f ( t ) d t ( 3 - 3 )
因爲,滿足 f ( x y ) = f ( x ) + f ( y ) f(xy)=f(x)+f(y) f ( x y ) = f ( x ) + f ( y ) ,所以得出下式:
= ∫ x 1 f ( t ) + f ( 1 + d t t ) − f ( t ) d t d t (3 - 4) = \int_x^1 \frac {f(t) + f(1 + \frac {dt} t) - f(t)} {dt} dt \tag{3 - 4} = ∫ x 1 d t f ( t ) + f ( 1 + t d t ) − f ( t ) d t ( 3 - 4 )
= ∫ x 1 f ( 1 + d t t ) d t d t (3 - 5) = \int_x^1 \frac {f(1 + \frac{dt} t)} {dt} dt \tag{3 - 5} = ∫ x 1 d t f ( 1 + t d t ) d t ( 3 - 5 )
將式( 3 − 5 ) (3 - 5) ( 3 − 5 ) 中的分母,同時除以 t t t 再乘以 t t t 得到下式:
= ∫ x 1 f ( 1 + d t t ) t d t t d t (3 - 6) = \int_x^1 \frac{f(1 + \frac {dt}t)} {t \frac{dt}t} dt \tag{3 - 6} = ∫ x 1 t t d t f ( 1 + t d t ) d t ( 3 - 6 )
= ∫ x 1 1 t f ( 1 + d t t ) d t t d t (3 - 7) = \int_x^1 \frac 1t \frac {f(1 + \frac {dt} t)}{\frac{dt}t} dt \tag{3 - 7} = ∫ x 1 t 1 t d t f ( 1 + t d t ) d t ( 3 - 7 )
因爲,f ( 1 ) = 0 f(1) = 0 f ( 1 ) = 0 ,所以,將上式( 3 − 7 ) (3 - 7) ( 3 − 7 ) 轉化爲以下形式:
= ∫ x 1 1 t f ( 1 + d t t ) − f ( 1 ) d t t d t (3 - 8) = \int_x^1 \frac 1t \frac {f(1 + \frac {dt} t) - f(1)}{\frac{dt}t} dt \tag{3 - 8} = ∫ x 1 t 1 t d t f ( 1 + t d t ) − f ( 1 ) d t ( 3 - 8 )
根據基本求導公式:
由於 lim d t → 0 d t t = 0 \lim_{dt \rightarrow 0} \frac{dt}t = 0 lim d t → 0 t d t = 0 ,所以,將式( 3 − 8 ) (3 - 8) ( 3 − 8 ) 可轉化爲以下形式:
= ∫ x 1 1 t f ′ ( 1 ) d t (3 - 9) = \int_x^1 \frac 1t f'(1)dt \tag{3 - 9} = ∫ x 1 t 1 f ′ ( 1 ) d t ( 3 - 9 )
所以,
f ( 1 ) − f ( x ) = ∫ x 1 1 t f ′ ( 1 ) d t (3 - 10) f(1) - f(x) = \int_x^1 \frac 1t f'(1)dt \tag{3 - 10} f ( 1 ) − f ( x ) = ∫ x 1 t 1 f ′ ( 1 ) d t ( 3 - 1 0 )
因爲, f ( 1 ) = 0 f(1) = 0 f ( 1 ) = 0 ,所以
0 − f ( x ) = ∫ x 1 1 t f ′ ( 1 ) d t = f ′ ( 1 ) ∫ x 1 1 t d t (3 - 11) 0 - f(x) = \int_x^1 \frac 1t f'(1) dt = f'(1) \int_x^1 \frac 1t dt \tag{3 - 11} 0 − f ( x ) = ∫ x 1 t 1 f ′ ( 1 ) d t = f ′ ( 1 ) ∫ x 1 t 1 d t ( 3 - 1 1 )
根據牛頓-萊布尼茨公式,對上述公式進行如下轉換:
0 − f ( x ) = f ′ ( 1 ) ∫ x 1 1 t d t = f ′ ( 1 ) ( l n ( 1 ) − l n ( x ) ) = − f ′ ( 1 ) l n x 0 - f(x) = f'(1) \int_x^1 \frac 1t dt = f'(1)(ln(1) - ln(x)) = -f'(1)lnx 0 − f ( x ) = f ′ ( 1 ) ∫ x 1 t 1 d t = f ′ ( 1 ) ( l n ( 1 ) − l n ( x ) ) = − f ′ ( 1 ) l n x
即,
− f ( x ) = − f ′ ( 1 ) l n x -f(x) = -f'(1)lnx − f ( x ) = − f ′ ( 1 ) l n x
所以,
f ( x ) = f ′ ( 1 ) l n x x ∈ ( 0 , 1 ] (3 - 12) f(x) = f'(1)lnx \quad x\in (0,1] \tag{3 - 12} f ( x ) = f ′ ( 1 ) l n x x ∈ ( 0 , 1 ] ( 3 - 1 2 )
到此基本推導已經完成,由於底數 e e e 不具有一般性,因此,使用換底公式來歸一化一下,則上式變換爲以下形式:
f ( x ) = f ′ ( 1 ) log a e log a x (3 - 13) f(x) = \frac {f'(1)} {\log_a e} \log_a x \tag{3 - 13} f ( x ) = log a e f ′ ( 1 ) log a x ( 3 - 1 3 )
設 γ = f ′ ( 1 ) log a e \gamma = \frac{f'(1)}{\log_a e} γ = log a e f ′ ( 1 ) ,上式兩邊同時乘以 γ \gamma γ ,有:
F ( x ) = γ f ( x ) = log a x (3 - 14) F(x) = \gamma f(x) = \log_a x \tag{3 - 14} F ( x ) = γ f ( x ) = log a x ( 3 - 1 4 )
其中,F ( x ) F(x) F ( x ) 叫做信息量,γ \gamma γ 是縮放係數。最後的這個縮放係數可以理解成信息量的單位,不管最終的 log a \log_a log a 中的底數 a a a 是多少,只要 a a a 是確定的,那麼以 a a a 爲底數度量的信息量的比例都是一致的,也就是說它們是相似的。鑑於不同事件發生的信息量是一個相對值,所以說,這裏可以忽略這個縮放係數 γ \gamma γ ,最終信息量記爲:
f ( x ) = log a x (3 - 15) f(x)= \log_a x \tag{3 - 15} f ( x ) = log a x ( 3 - 1 5 )
因爲,上述公式中的 x x x 爲概率,取值範圍爲 x ∈ [ 0 , 1 ] x \in [0, 1] x ∈ [ 0 , 1 ] ,所以,l o g a x ≤ 0 log_a x \le 0 l o g a x ≤ 0 ,但根據信息熵的非負性,所以,上述公式爲:
f ( x ) = − log a x (3 - 16) f(x) = -\log_a x \tag{3 - 16} f ( x ) = − log a x ( 3 - 1 6 )
此時,證明完畢。
由於信息量可描述爲:
I ( x ) = − log 2 P ( x ) I(x) = -\log_2P(x) I ( x ) = − log 2 P ( x )
既然有了一件事發生的信息量 的數學描述,給出事件確實發生後信息量的數學期望就簡單了,它便可以被描述爲:
H ( x ) = E ( I ( x ) ) = ∑ i n ( − P ( x i ) log 2 ( x i ) ) H(x) = E(I(x)) = \sum_i^n (-P(x_i)\log_2(x_i)) H ( x ) = E ( I ( x ) ) = i ∑ n ( − P ( x i ) log 2 ( x i ) )
這很好理解,事件發生的形式擁有不同的概率,每種可能性發生後的信息量乘以它發生的概率,將其加起來,就是事件發生後總信息量的數學期望。
以上就是關於信息的數學描述,首先我們要明白用對數可以定義一件特定事件發生後的信息量,其次我們要知道一個事件按照不同概率的特定形式發生後的信息量的數學期望。
接下來我來針對這些數學式子做一個現代解釋。
信息論的二進制解釋
現代計算機科學強調一切都是比特 b i t bit b i t ,那麼如果我們想描述一個信息,顯而易見的形式當然是b i t bit b i t 。所謂的信息量就是用多少 b i t bit b i t 可以描述一個事件。這件事不妨反過來理解,我來理一下:
1個 b i t bit b i t 可以描述 2 個事件;
2個 b i t bit b i t 可以描述 4 個事件;
3個 b i t bit b i t 可以描述 8 個事件;
…
n n n 個 b i t bit b i t 可以描述 m m m 個事件;
現在我們來看下 n n n 和 m m m 的關係:
m = 2 n m = 2^n m = 2 n
n = log 2 m n = \log_2m n = log 2 m
我們把式子整理一下,得到下式:
n = − log 2 1 m n = -\log_2 \frac 1m n = − log 2 m 1
此處,m m m 中可能性提出負號整理之後變成了1 m \frac 1m m 1 的概率,符合香農的公式形式和含義 。從這個二進制的意義上去理解信息論中信息量的式子,是不是更簡單呢。
牛頓-萊布尼茨公式
牛頓-萊布尼茲公式(Newton-Leibniz formula),通常也被稱爲微積分基本定理,揭示了定積分與被積函數的原函數或者不定積分之間的聯繫。
定義 :
如果函數 f ( x ) f(x) f ( x ) 在區間 [ a , b ] [a, b] [ a , b ] 上連續,且存在原函數 F ( x ) F(x) F ( x ) , 則
∫ a b f ( x ) d x = F ( a ) − F ( b ) = F ( x ) ∣ a b \int_a^b f(x)dx = F(a) - F(b) = F(x)|_a^b ∫ a b f ( x ) d x = F ( a ) − F ( b ) = F ( x ) ∣ a b
基本求導公式
給出自變增量 Δ x ≠ 0 \Delta x \ne 0 Δ x = 0 ;
得出函數增量 Δ y = f ( x + Δ x ) − f ( x ) \Delta y = f(x + \Delta x) - f(x) Δ y = f ( x + Δ x ) − f ( x ) ;
作商 Δ y Δ x \frac {\Delta y} {\Delta x} Δ x Δ y ;
求極限 lim Δ x → 0 Δ y Δ x = f ′ ( x ) \lim_{\Delta x \rightarrow 0}\frac {\Delta y} {\Delta x} = f'(x) lim Δ x → 0 Δ x Δ y = f ′ ( x ) 。
信息熵的性質
1: 對稱性, 即 f ( p 1 , p 2 , p 3 ⋯ , p n ) = f ( p k ( 1 ) , p k ( 2 ) , p k ( 3 ) ⋯ , p k ( n ) ) f(p_1,p_2,p_3\cdots,p_n) = f(p_{k(1)},p_{k(2)}, p_{k(3)}\cdots, p_{k(n)}) f ( p 1 , p 2 , p 3 ⋯ , p n ) = f ( p k ( 1 ) , p k ( 2 ) , p k ( 3 ) ⋯ , p k ( n ) ) ,信息熵是定義在隨機變量的概率分佈之上,因此信息熵對具體事件的取值並不關心,即使對隨機變量的取值進行交換或者打散,甚至完全替換,只要分佈不變,那麼信息的度量信息熵就不會發生變化;
2:非負性:即H ( x ) ≥ 0 H(x)\ge 0 H ( x ) ≥ 0 ;
3:可加性:多隨機事件同時發生存在的總不確定性的量度是可以表示爲各事件不確定性的量度的和,即H ( X , Y ) = H ( X ) + H ( X ∣ Y ) H(X,Y) = H(X) + H(X|Y) H ( X , Y ) = H ( X ) + H ( X ∣ Y ) ;
4:條件減少熵 H ( X ∣ Y ) ≤ H ( X ) H(X|Y) \le H(X) H ( X ∣ Y ) ≤ H ( X ) ,當人們擁有關於另外一個隨機系統的知識的時候,對於人們所關注的隨機系統來說,它剩下的不確定性一定不會增加,至少是保持不變,一般情況下不確定性會減少;
5:最大離散熵定理,即
f ( p 1 , p 2 , p 3 , ⋯ , p n ) ≤ f ( 1 N , 1 N , ⋯ , 1 N ) = log ( N ) = log ( ∣ X ∣ ) f(p_1, p_2, p_3, \cdots, p_n) \le f(\frac 1N, \frac 1N, \cdots, \frac 1N) = \log(N) = \log(|X|) f ( p 1 , p 2 , p 3 , ⋯ , p n ) ≤ f ( N 1 , N 1 , ⋯ , N 1 ) = log ( N ) = log ( ∣ X ∣ )
信息熵的數學意義
信息論中認爲熵是表徵對象運動狀態有序程度的一種度量,熵越大時,表明無序的程度越高,反之,則認爲有序的程度越高。在圖像處理中,可以根據圖像的各個像素點的灰度分佈的有序性,定義圖像的局部熵,它反映了圖像信息豐富的程度,並以此判定噪聲的情況 。
根據 Shannon 信息論的定義,某件事出現的概率爲 p p p ,則信息量定義爲:I = − log 2 P ( 0 ≤ p ≤ 1 ) I = -\log_2P(0 \le p \le 1) I = − log 2 P ( 0 ≤ p ≤ 1 ) 。描述事物的不確切的量稱爲“熵”,它代表了平均信息量。“熵”表示一個系統的混亂無序的狀態,而信息則正好相反,它量事物有序的度量。
如果 N N N 個事件中的第 i i i 個事件發生的概率是 p i p_i p i ,滿足條件 ∑ p i = 1 \sum p_i = 1 ∑ p i = 1 ,那麼信息熵的大小可以表示爲每個單獨事件信息量的加權和,H = − ∑ p i log 2 p i H = -\sum p_i\log_2 p_i H = − ∑ p i log 2 p i 。我們可以從這樣的角度來理解,p p p 爲事件出現的概率,而 log 2 p \log_2 p log 2 p 可以理解爲一個“信息因子”,信息因子之所以用 2 2 2 爲底的對數來表示,是試圖將 p p p 量化爲以二進制爲單位的信息量,表示信道容量所佔用的二進制位數寬度。例如一個事件的 p = 1 1024 p = \frac 1 {1024} p = 1 0 2 4 1 , 那麼其信息量爲 10 10 1 0 ,也就是需要的信道容量爲 10 10 1 0 位二進制數位。由於p p p 是小於等於 1 1 1 的,那麼,log 2 p \log_2p log 2 p 是負信息因子,因而代表事物在形式特點上的不確定性。所以,事件發生的概率越小,其包含的信息量就越大,其不確定性程度就越高,按照乘法的含義:事件不確定性乘以其發生的概率,代表事物具體表現出來的不確定量,再取絕對值就是:− log 2 p -\log_2p − log 2 p ,這就是形式上的不確定量。事物表現出來的形式上的不確定量,就是信息熵的概念。
圖像的熵
定義:
圖像的熵,是一種圖像特徵的統計形式,反映了圖像中平均信息量的多少。
圖像的一維熵
圖像的一維熵表示圖像中灰度分佈的聚集特徵所包含的信息量,令 P i P_i P i 表示圖像中灰度值爲 i i i 的像素所佔的比例,則定義一元灰度熵爲:
H = ∑ i = 0 255 P i log P i H = \sum_{i=0}^{255} P_i\log P_i H = i = 0 ∑ 2 5 5 P i log P i
其中,H 爲一元灰度熵,P i P_i P i 爲灰度值 i i i 所佔的比例。
圖像的二維熵
注:圖像的二維熵,實際操作中沒有用到,只做瞭解
圖像的一維熵可以表示圖像灰度分佈的聚集特徵,卻不能反映圖像灰度分佈的空間特徵,爲了表徵這種空間特徵,可以在一維熵的基礎上引入能夠反映灰度分佈空間特徵的特徵量來組成圖像的二維熵。選擇圖像的鄰域灰度均值作爲灰度分佈的空間特徵量,與圖像的像素灰度組成特徵二元組,記爲 ( i , j ) (i, j) ( i , j ) ,其中 i i i 表示像素的灰度值 ( 0 ≤ i ≤ 255 ) (0 \le i \le 255) ( 0 ≤ i ≤ 2 5 5 ) ,j j j 表示鄰域灰度均值( 0 ≤ j ≤ 255 ) (0 \le j \le 255) ( 0 ≤ j ≤ 2 5 5 )
P i , j = f ( i , j ) N 2 P_{i, j} = \frac{f(i, j)}{N^2} P i , j = N 2 f ( i , j )
上式能反應某像素位置上的灰度值與其周圍像素灰度分佈的綜合特徵,其中f ( i , j ) f(i, j) f ( i , j ) 爲特徵二元組( i , j ) (i, j) ( i , j ) 出現的頻數,N N N 爲圖像的尺度。
圖像二維熵的定義:
H = ∑ i , j 255 P i , j log P i , j H = \sum_{i, j}^{255}P_{i,j} \log P_{i, j} H = i , j ∑ 2 5 5 P i , j log P i , j
總結
圖像熵反映了圖像包含的信息量:
此時,圖像每個像素灰度都不同,可以認爲圖像每個單一像素都是一個獨立地物目標,信息量爲最大 N N N ,類似於地圖充滿了物體;
故:圖像的熵H越大,圖像包含的像素灰度越豐富,灰度分佈越均勻,圖像的地物目標越多,圖像的信息量越大,反之則反;
一副圖像,當每個像素的灰度都不同時,此時的熵最大。
各向異性
各向性的物理定義
各向異性是指物質的全部或部分化學、物理等性質隨着方向的改變而有所變化,在不同的方向上呈現出差異的性質。各向異性是材料和介質中常見的性質,在尺度上有很大差異,從晶體到日常生活中各種材料,再到地球介質,都具有各向異性。值得注意的是,各向異性與非均勻性是從兩個不同的角度對物質進行的描述,不可等同。
各向同性和各向異性
各向同性和各向異性是指物理性質在不同的方向進行測量得到的結論。如果各個方向的測量結果是相同的,說明其物理性質與取向無關,就稱爲各向同性。如果物理性質和取向密切相關,不同取向的測量結果迥異,就稱爲各向異性。
物理性質可以在不同的方向進行測量。如果各個方向的測量結果是相同的,說明其物理性質與取向無關,就稱爲各向同性。如果物理性質和取向密切相關,不同取向的測量結果迥異,就稱爲各向異性。造成這種差別的內在因素是材料結構的對稱性。在氣體、液體或非晶態固體中,原子排列是混亂的,因而就各個方向而言,統計結果是等同的,所以其物理性質必然是各向同性的。而晶體中原子具有規則排列,結構上等同的方向只限於晶體對稱性所決定的某些特定方向。所以一般而言,物理性質是各向異性的。
圖像的各向異性
對圖像來說,各向異性就是在每個像素點周圍四個方向上梯度變化都不一樣。
在 Halcon 中,該特徵用於判斷圖像灰度的對稱性。