卷積核(英語:Convolution Kernel)是卷積運算中用於描述系統響應或濾波特性的函數、向量或矩陣。在數位訊號處理中,卷積核通常表示為一組有限長度的係數,透過與輸入訊號進行卷積運算以產生輸出訊號。
卷積核廣泛應用於數位訊號處理、影像處理、電腦視覺及機器學習等領域,用於實現平滑化、銳化、邊緣偵測及特徵擷取等操作。在不同領域中,其亦常被稱為濾波器(Filter)或遮罩(Mask)。
定義
設輸入訊號為 x ,輸入訊號為 y
,則離散卷積運算可表示為
y[n]=\sum_{k=-\infty}^{\infty}x[k]h[n-k]
其中 h 即為卷積核,其各元素的數值決定了卷積運算對輸入訊號的影響。
對於二維訊號(如影像),離散卷積運算可表示為:
y[m,n] = \sum_i\sum_j x[i,j]h[m-i,n-j]
其中 h 為二維卷積核,在兩個維度都被翻轉。
在數學上,二維卷積包含對卷積核的空間翻轉(180°旋轉);然而在數位影像處理與卷積神經網路的實作中,通常省略此步驟,實際計算對應於互相關運算。
數位影像處理
在數位影像處理中,二維離散卷積廣泛應用於各種線性濾波操作,例如影像模糊化、銳化、邊緣偵測及雜訊抑制等。
卷積核通常為尺寸較小的矩陣,可用於實現影像模糊化、銳化、邊緣偵測及雜訊抑制等功能。其原理為將卷積核與輸入影像進行卷積運算,使輸出影像中每個像素的數值由其鄰近像素(包含該像素本身)共同決定,而卷積核中的元素則對應於各鄰近像素的權重。因此,不同的卷積核設計會產生不同的影像處理效果。
透過設計不同的卷積核,可以實現不同的影像處理效果。例如,平滑濾波器用於降低高頻雜訊,銳化濾波器用於強化邊緣,而梯度型卷積核則可用於邊緣偵測。以下為幾種常見的卷積核:
平滑化
平滑化卷積核用於降低影像中的高頻雜訊,使影像變得較為平滑。常見方法包括均值濾波與高斯模糊。
均值濾波:
\frac{1}{9}
\begin{bmatrix}
\ \ 1 &\ \ 1 &\ \ 1 \\
\ \ 1 &\ \ 1 &\ \ 1 \\
\ \ 1 &\ \ 1 &\ \ 1
\end{bmatrix}
高斯模糊:
\frac{1}{16}
\begin{bmatrix}
\ \ 1 &\ \ 2 &\ \ 1 \\
\ \ 2 &\ \ 4 &\ \ 2 \\
\ \ 1 &\ \ 2 &\ \ 1
\end{bmatrix}
銳化
銳化卷積核用於強化影像邊緣與細節,使影像中的局部變化更加明顯。
\begin{bmatrix}
\ \ 0 & -1 & \ \ 0 \\
-1 & \ \ 5 & -1 \\
\ \ 0 & -1 & \ \ 0
\end{bmatrix}
邊緣偵測
邊緣偵測卷積核用於強調影像中亮度變化劇烈的區域,常用於特徵擷取與輪廓分析。
拉普拉斯算子:
\begin{bmatrix}
0 & -1 & 0 \\
-1 & \ \ 4 & -1 \\
0 & -1 & 0
\end{bmatrix}
索伯算子(水平方向):
\begin{bmatrix}
1 & 0 & -1 \\
2 & 0 & -2 \\
1 & 0 & -1
\end{bmatrix}
卷積神經網路
在卷積神經網路(Convolutional Neural Network, CNN)中,所謂的「卷積運算」在實作上通常對應於數學上的互相關(cross-correlation),而非嚴格定義的數學卷積。其主要差異在於運算過程中並未對卷積核進行翻轉。然而,在機器學習領域中,此運算仍習慣性地稱為卷積。
對於具有多通道的輸入資料,例如 RGB 影像,卷積神經網路的輸入可表示為三維張量
x \in \mathbb{R}^{C \times H \times W}
卷積核(或稱權重)則為四維張量
h \in \mathbb{R}^{K \times C \times K_h \times K_w}
其中 C 為輸入通道數,
K
為輸出通道數。
在運算過程中,每一個輸出通道對應一組卷積核,其計算方式為對所有輸入通道進行卷積後求和:
y_k = \sum_{c}
x_c * h_{k, c}
因此,卷積神經網路中的卷積運算可以透過不同卷積核組合產生多組輸出特徵圖(feature map)。
參見
- 卷積
- 訊號處理
- 卷積神經網路
參考文獻
- 數位訊號處理
- 數位影像處理
评论 (0)