卷積運算
轉自:https://www.zhihu.com/question/22298352
從數學上講,卷積就是一種運算。
某種運算,能被定義出來,至少有以下特征:
- 首先是抽象的、符號化的
- 其次,在生活、科研中,有著廣泛的作用
比如加法:
- ,是抽象的,本身只是一個數學符號
- 在現實中,有非常多的意義,比如增加、合成、旋轉等等
卷積,是我們學習高等數學之後,新接觸的一種運算,因為涉及到積分、級數,所以看起來覺得很復雜。
1 卷積的定義
我們稱 為 的卷積
其連續的定義為:
其離散的定義為:
這兩個式子有一個共同的特征:
這個特征有什麽意義?
我們令
如果遍歷這些直線,就好比,把毛巾沿著角卷起來:
此處受到 荊哲:卷積為什麽叫「卷」積? 答案的啟發。
只看數學符號,卷積是抽象的,不好理解的,但是,我們可以通過現實中的意義,來習慣卷積這種運算,正如我們小學的時候,學習加減乘除需要各種蘋果、糖果來幫助我們習慣一樣。
我們來看看現實中,這樣的定義有什麽意義。
2 離散卷積的例子:丟骰子
我有兩枚骰子:
把這兩枚骰子都拋出去:
求:
這裏問題的關鍵是,兩個骰子加起來要等於4,這正是卷積的應用場景。
我們把骰子各個點數出現的概率表示出來:
那麽,兩枚骰子點數加起來為4的情況有:
因此,兩枚骰子點數加起來為4的概率為:
符合卷積的定義,把它寫成標準的形式就是:
3 連續卷積的例子:做饅頭
樓下早點鋪子生意太好了,供不應求,就買了一臺機器,不斷的生產饅頭。
假設饅頭的生產速度是 ,那麽一天後生產出來的饅頭總量為:
饅頭生產出來之後,就會慢慢腐敗,假設腐敗函數為 ,比如,10個饅頭,24小時會腐敗:
想想就知道,第一個小時生產出來的饅頭,一天後會經歷24小時的腐敗,第二個小時生產出來的饅頭,一天後會經歷23小時的腐敗。
如此,我們可以知道,一天後,饅頭總共腐敗了:
這就是連續的卷積。
4 圖像處理
4.1 原理
有這麽一副圖像,可以看到,圖像上有很多噪點:
高頻信號,就好像平地聳立的山峰:
看起來很顯眼。
平滑這座山峰的辦法之一就是,把山峰刨掉一些土,填到山峰周圍去。用數學的話來說,就是把山峰周圍的高度平均一下。
平滑後得到:
4.2 計算
卷積可以幫助實現這個平滑算法。
有噪點的原圖,可以把它轉為一個矩陣:
然後用下面這個平均矩陣(說明下,原圖的處理實際上用的是正態分布矩陣,這裏為了簡單,就用了算術平均矩陣)來平滑圖像:
記得剛才說過的算法,把高頻信號與周圍的數值平均一下就可以平滑山峰。
比如我要平滑 點,就在矩陣中,取出 點附近的點組成矩陣 ,和 進行卷積計算後,再填回去:
要註意一點,為了運用卷積, 雖然和 同維度,但下標有點不一樣:
我用一個動圖來說明下計算過程:
寫成卷積公式就是:
要求 ,一樣可以套用上面的卷積公式。
這樣相當於實現了 這個矩陣在原來圖像上的劃動(準確來說,下面這幅圖把 矩陣旋轉了 ):
卷積運算