要想彻底理解卷积,看数学公式是少不了的,卷积本身就是一种数学运算
1.卷积的简要说明
- 卷积可以认为是一种运算,就好比加减乘除乘方开方等。若有可积函数f(x),g(x)f(x),g(x)f(x),g(x)且x∈Rx \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)(x1,x2,⋯ ,xn)=∫∫⋯∫f(τ1,τ2,⋯ ,τn)g(x1−τ1,x2−τ2,⋯ ,xn−τn)dτ1dτ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的函数fff和ggg,那么积分运算会退化为累加运算
(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] (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个颜色通道的图像)