要想彻底理解卷积,看数学公式是少不了的,卷积本身就是一种数学运算
1.卷积的简要说明
- 卷积可以认为是一种运算,就好比加减乘除乘方开方等。若有可积函数 f ( x ) , g ( x ) f(x),g(x) f(x),g(x)且 x ∈ R x \in \mathbb{R} x∈R,他们的卷积记作 ( f ∗ g ) ( x ) (f*g)(x) (f∗g)(x)
- 维基百科中关于卷积的说明:
卷积(又称叠积(convolution)、褶积或旋积),是透过两个函数 f 和 g 生成第三个函数的一种数学算子,表征函数 f 与经过翻转和平移的 g 的乘积函数所围成的曲边梯形的面积。
2.卷积的定义
- (1元)卷积运算的定义式
( f ∗ g ) ( x ) = ∫ − ∞ + ∞ f ( τ ) g ( x − τ ) d τ (f*g)(x) = \int_{-\infty }^{+\infty } f(\tau )g(x-\tau )d\tau (f∗g)(x)=∫−∞+∞f(τ)g(x−τ)dτ
-
多元卷积的定义式
( f ∗ g ) ( x 1 , x 2 , ⋯ , x n ) = ∫ ∫ ⋯ ∫ f ( τ 1 , τ 2 , ⋯ , τ n ) g ( x 1 − τ 1 , x 2 − τ 2 , ⋯ , x n − τ n ) d τ 1 d τ 2 ⋯ d τ n (f*g)(x_1,x_2,\cdots,x_n) = \int\int\cdots\int f(\tau_1,\tau_2,\cdots,\tau_n )g(x_1-\tau_1,x_2-\tau_2,\cdots,x_n-\tau_n )d\tau_1d\tau_2\cdots d\tau_n (f∗g)(x1,x2,⋯,xn)=∫∫⋯∫f(τ1,τ2,⋯,τn)g(x1−τ1,x2−τ2,⋯,xn−τn)dτ1dτ2⋯dτn -
对于定义在整数集 Z \mathbb{Z} Z的函数 f f f和 g g g,那么积分运算会退化为累加运算
( f ∗ g ) [ x ] = ∑ − ∞ + ∞ f ( τ ) g ( x − τ ) ( f ∗ g ) [ x 1 , x 2 , ⋯ , x n ] = ∑ τ 1 = − ∞ + ∞ ∑ τ 2 = − ∞ + ∞ ⋯ ∑ τ 3 = − ∞ + ∞ f [ τ 1 , τ 2 , ⋯ , τ n ] g [ x 1 − τ 1 , x 2 − τ 2 , ⋯ , x n − τ n ] (f*g)[x] = \sum_{-\infty }^{+\infty } f(\tau )g(x-\tau )\\ (f*g)[x_1,x_2,\cdots,x_n] = \sum_{\tau_1=-\infty }^{+\infty }\sum_{\tau_2=-\infty }^{+\infty }\cdots\sum_{\tau_3=-\infty }^{+\infty }f[\tau_1,\tau_2,\cdots,\tau_n ]g[x_1-\tau_1,x_2-\tau_2,\cdots,x_n-\tau_n ] (f∗g)[x]=−∞∑+∞f(τ)g(x−τ)(f∗g)[x1,x2,⋯,xn]=τ1=−∞∑+∞τ2=−∞∑+∞⋯τ3=−∞∑+∞f[τ1,τ2,⋯,τn]g[x1−τ1,x2−τ2,⋯,xn−τn]
3.图像处理中的卷积
以单色图像为例,通常对图像进行卷积是指对图像中的所有像素做卷积运算
(
f
∗
g
)
[
x
,
y
]
=
∑
m
=
−
∞
+
∞
∑
n
=
−
∞
+
∞
f
[
m
,
n
]
g
[
x
−
m
,
y
−
n
]
(f*g)[x,y] = \sum_{m=-\infty }^{+\infty }\sum_{n=-\infty }^{+\infty }f[m,n]g[x-m,y-n]
(f∗g)[x,y]=m=−∞∑+∞n=−∞∑+∞f[m,n]g[x−m,y−n]
- 对单色点阵图像中的某一像素 g [ x , y ] g[x,y] g[x,y]进行的卷积运算为2元离散卷积。
- f [ m , n ] f[m,n] f[m,n]又称为卷积核、特征图(Feature Map)(实际上也是一个矩阵)
- 如果是彩色图像,则可以转化为三元离散卷积,或者进行3次二元卷积(对于3个颜色通道的图像)