圖變了嗎 ?
嘗試由不同的角度去掘取資訊 蔡紋琦 · 謝復興
想像我們面前有一面牆, 牆上掛了兩幅 畫作, 左邊的一幅是畢卡索的抽象畫, 右邊的 一幅乍看之下似乎和左邊那幅一模一樣, 實 際上它已經被動了手腳, 有一小塊區域被換 上了別的顏色, 只是我們不知道而已。 你覺得 我們是否能夠看出兩幅畫是不一樣的呢? 當 然啦! 你可能會說, 假若那一塊被動了手腳的 區域很大、 很明顯的話, 那我們當然就能分辨 出兩幅畫其實是不相同的。 可是若不同的區 域太小且不明顯的話, 那我是否還有能力看 出兩幅畫是不一樣的呢? 是不是有可能藉由 某些方法, 把不一樣的區域, 若存在的話, 給 放大呢? 若可行的話, 那問題就解決了。
我們現試著用一個比較簡單的例子來說 明。 假設我們有一個 8 × 8 的矩陣 (matrix), 其每一個元素值可以是 0、1、2 或3, 見圖一。
數字 0 代表最暗 (或黑色), 數字 3 代表最亮 (或白色), 數字 1、 2 則表示中間的亮度 (或深 灰及淺灰色)。 所以一張有亮有暗的圖片, 就 可以被轉換成一個由一些數字所構成的矩陣。
現在假設我們將圖一中矩陣 (c) 中的一 個元素值改變 (見圖二), 即相當於改變圖片
0 0 0 0 3 3 3 3 0 0 0 0 3 3 3 3 0 0 0 0 3 3 3 3 0 0 0 0 3 3 3 3 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1
(a) 不亂
1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 0 0 3 3 1 1 2 2 0 0 3 3 1 1 0 0 3 3 0 0 3 3 0 0 3 3 0 0 3 3 2 2 0 0 3 3 1 1 2 2 0 0 3 3 1 1
(b) 中亂
2 1 2 1 2 1 2 1 1 3 1 3 0 3 0 2 2 0 2 0 3 0 3 1 1 3 0 3 0 3 1 2 2 0 3 0 3 0 3 1 1 3 0 2 0 3 0 2 2 0 3 0 3 0 3 1 1 2 1 2 1 2 1 2
(c) 大亂
圖一. 三個不同類型代表的 8 × 8 矩陣, 每 一個矩陣中各有 16 個 0、 16 個 1、 16 個 2
13
14 數學傳播 25卷3期 民90年9月 及 16 個 3。
圖變了嗎? 15
中一小塊區域的明亮度 (或顏色), 那麼是否 有可能將此改變給擴大, 使得我們更有能力 偵測出其不同呢? 我們採用的作法就是將原 來只差異一個元素的二個矩陣轉化成另二個 差異較大的矩陣, 這樣如前面所說的, 我們就 更因此能看出他們的不同了。 以下就是矩陣 的轉換過程, 假設給定一個矩陣, 例如圖一之 (a) 矩陣, 首先先將每一邊的內緣第二層鏡 射至外圍 (如圖三 (a)), 然後再將每一點和 周圍四個點的差之絕對值相加 (如圖三 (b)), 所得到的新矩陣, 我們即稱作原來矩陣的 to- tal variation matrix。 現在我們來看 total variation matrix 能帶給我們甚麼樣的好處, 圖四即是圖二中兩個矩陣經過前述轉換後所 得到的 total variation matrix, 看看是不 是不同的區域擴大了呢? 也就是說藉由這個 total variation 的轉換, 使得我們更能偵測 出兩個圖形的不同。
2 1 2 1 2 1 2 1 1 3 1 3 0 3 0 2 2 0 2 0 3 0 3 1 1 3 0 3 0 3 1 2 2 0 3 0 3 0 3 1 1 3 0 2 0 3 0 2 2 0 3 0 3 0 3 1 1 2 1 2 1 2 1 2
2 1 2 1 2 1 2 1 1 3 1 3 0 3 0 2 2 0 2 0 3 0 3 1 1 3 0 2 0 3 1 2 2 0 3 0 3 0 3 1 1 3 0 2 0 3 0 2 2 0 3 0 3 0 3 1 1 2 1 2 1 2 1 2
圖二. 兩個只有一個元素有差異的矩陣, 其 SS 值為 1。
0 0 0 0 3 3 3 3 0 0 0 0 0 3 3 3 3 3 0 0 0 0 0 3 3 3 3 3 0 0 0 0 0 3 3 3 3 3 0 0 0 0 0 3 3 3 3 3 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1
2 2 2 2 1 1 1 1
(a) 鏡射
0 0 0 3 3 0 0 0 0 0 0 3 3 0 0 0 0 0 0 3 3 0 0 0
2 2 2 5 5 2 2 2 =|3−3|+|3−3|+|3−1|+|3−3|
2 2 2 3 3 2 2 2 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0
0 0 0 1 1 0 0 0 =|1−1|+|1−1|+|1−1|+|1−1|
(b) 計算和鄰居間的距離和
圖三. 求得一個矩陣其 total variation ma- trix 之過程。
4 6 4 6 6 6 6 4
6 9 6 10 11 11 10 6
6 10 7 11 12 12 10 6
6 11 11 12 12 11 7 4
6 11 12 11 12 12 10 6
6 11 11 8 11 12 11 6
6 10 11 10 11 11 10 6
4 6 6 6 6 6 6 41
4 6 4 6 6 6 6 4
6 9 6 10 11 11 10 6
6 10 7 10 12 12 10 6
6 11 10 8 11 11 7 4
6 11 12 10 12 12 10 6
6 11 11 8 11 12 11 6
6 10 11 10 11 11 10 6
4 6 6 6 6 6 6 4
圖四. 圖二之兩個矩陣的 total variation matrix, 其 SS 值為 20。
16 數學傳播 25卷3期 民90年9月
現在我們再來看另一個有趣的現象。 在 圖一中列舉了三個 8 × 8 的矩陣, 每一個矩 陣分別有 16 個 0、 1、 2 及 3, 它們分別代 表了三種類型的矩陣: (a) 矩陣的排列相當 整齊, (c) 矩陣則相當混亂, (b) 矩陣之 『亂 度』 則是介於矩陣 (a) 與矩陣 (c) 之間。 我們 想問的是, 若這三個矩陣分別各有一個 3 被 改成 2, 則是不是不同亂度的明亮排列組合會 影響到我們偵測出其是否被改變的能力? 我 們首先先定義一個量化值來衡量兩個矩陣之 間的差異性: 先將這兩個給定的矩陣其相對 應位置的元素值相減, 然後平方再加起來, 所 得到的值稱作這兩個矩陣之間差異的 SS 值
(Sum of Squares)(見圖二及圖四)。 SS 值愈 大則表示兩個圖形間的差異愈大, 換言之, 我 們也就越容易分辨出兩個圖形間之不同。 接 下來, 我們就試著用 SS 值來看不同的明亮 排列組合是否會影響到我們分辨圖形是否不 同的能力。 以最亂的 (c) 矩陣為例, 我們將其 中一個 3 改成 2, 再分別將原來和改變過後的 矩陣轉換成其 total variation matrix, 最後 再算出其這兩個 total variation matrix 之 間的 SS 值 (見圖四)。 因為矩陣中共有 16 個 位置為 3, 所以我們共可得到 16 個 SS 值。
再對矩陣 (a) 及矩陣 (b) 做同樣的計算, 將 所有 SS 值整理於表一。 看出任何端倪了嗎?
表一. 三個不同亂度的矩陣, 當其中一個元素值由 3 改成 2 時, 所得到的 SS 值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 矩陣(a) 7 19 22 18 11 23 26 22 8 20 23 19 4 8 11 7 矩陣(b) 4 4 4 4 4 4 7 7 4 4 7 7 7 7 7 7 矩陣(c) 26 23 23 20 23 23 20 20 20 20 23 23 20 23 23 26
是的, 當明亮排列較整齊 (矩陣 (a)) 或較混 亂 (矩陣 (c)) 時, 其 SS 值都偏大, 而當明亮 度的排列不非常齊也不非常亂時 (矩陣 (b)), 其 SS 值偏小。 也就是說不同的排列會影響 到我們判斷圖形是否被改變的能力。 而且排 的越整齊或越亂時, 我們越有能力去偵測出 圖形是否變了。
之前的舉例說明及計算, 再再都傳遞了 一個重要的訊息, 若我們能夠適當的從不同 的角度去觀察我們手上原有的資料 (將原來 的矩陣轉換成 total variation matrix), 那
我們將能獲取更多我們想要知道的資訊 (擴 大差異的存在以偵測出圖形的改變), 甚至切 入角度的不同 (不同的明亮排列組合), 也會 得到不同的資訊 (不同的 SS 值)。 所以, 假 如我們現在再問一次, 若在我們面前牆上的 兩幅畫, 它們只有很小很小的差異, 你覺得你 現在是否有能力, 從不同的角度去觀察出它 們之間差異的存在呢?
—本文作者分別任職於政大統計系及中央研 究院統計所—