深刻易懂地理解:卷积、卷积在图像处理中的应用、从全连接到卷积(一)

系列文章目录

深刻易懂地理解:卷积、卷积在图像处理中的应用、从全连接到卷积(一)
深刻易懂地理解:卷积、卷积在图像处理中的应用、从全连接到卷积(二)


一、通俗易懂理解卷积

从数学上讲,卷积就是一种运算。

1.卷积的定义

我们称 f ( n ) ∗ g ( n ) f(n)*g(n) f(n)g(n) f ( n ) , g ( n ) f(n),g(n) f(n),g(n)的卷积。

其连续的定义为:
f ( n ) ∗ g ( n ) = ∫ − ∞ ∞ f ( τ ) g ( n − τ )   d τ f(n)*g(n)=\int_{-\infty}^\infty {f(\tau)g(n-\tau)} \,{\rm d}\tau f(n)g(n)=f(τ)g(nτ)dτ

其离散的定义为:
f ( n ) ∗ g ( n ) = ∑ τ = − ∞ ∞ f ( τ ) g ( n − τ ) f(n)*g(n)=\sum_{\tau={-\infty}}^\infty f(\tau)g(n-\tau) f(n)g(n)=τ=f(τ)g(nτ)

这两个式子有一个共同的特征:
在这里插入图片描述

这个特征有什么意义呢?这里就不做GIF动态图去直观理解了!详细请看链接:      \;\; 从“卷积”、到“图像卷积操作”、再到“卷积神经网络”,“卷积”意义的3次改变

注:机器学习里面用到的卷积对图片处理大都是离散卷积

2.离散卷积的例子:丢骰子

这里放一个离散卷积的简单例子,更深理解和连续卷积的例子请参考上面刚放的链接,王木头讲的真的很不错!
在这里插入图片描述
把这两枚骰子都抛出去:
在这里插入图片描述
求:在这里插入图片描述
这里问题的关键是,两个骰子加起来要等于4,这正是卷积的应用场景。

我们把骰子各个点数出现的概率表示出来:
在这里插入图片描述
那么,两枚骰子点数加起来为4的情况有:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因此,两枚骰子点数加起来为4的概率为:
f ( 1 ) g ( 3 ) + f ( 2 ) g ( 2 ) + f ( 3 ) g ( 1 ) f(1)g(3)+f(2)g(2)+f(3)g(1) f(1)g(3)+f(2)g(2)+f(3)g(1)

符合卷积的定义,把它写成标准的形式就是:
f ( n ) ∗ g ( n ) = ∑ m = 1 3 f ( 4 − m ) g ( m ) f(n)*g(n)=\sum_{m=1}^3 f(4-m)g(m) f(n)g(n)=m=13f(4m)g(m)

二、卷积在图像处理中的应用

1.原理

有这么一副图像,可以看到,图像上有很多噪点:
在这里插入图片描述
高频信号,就好像平地耸立的山峰:在这里插入图片描述
看起来很显眼,平滑山峰的办法之一就是把山峰刨掉一些土,填到山峰周围的地方去。用数学的话来解释,就是将山峰和山峰的周围做个平均。

平滑后得到:
在这里插入图片描述

2.卷积计算

卷积可以帮助实现这个平滑算法。

有噪点的原图,可以把它转为一个矩阵:
在这里插入图片描述
然后用下面这个平均矩阵(俗称卷积核 Kernel)来平滑图像:
g = [ 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 ] g= \begin{bmatrix} \frac{1}{9} & \frac{1}{9}& \frac{1}{9} \\ \frac{1}{9} & \frac{1}{9} & \frac{1}{9} \\ \frac{1}{9} & \frac{1}{9} & \frac{1}{9}\\ \end{bmatrix} g= 919191919191919191 记得刚才说过的算法,把高频信号与周围的数值平均一下就可以平滑山峰。

比如我要平滑 a 1 , 1 a_{1,1} a1,1点,就在矩阵中,取出 a 1 , 1 a_{1,1} a1,1点附近的点组成矩阵 f f f ,和 g g g 进行卷积计算后,再填回去:
在这里插入图片描述
要注意一点,为了运用卷积, f f f 虽然和 g g g 同维度,但下标有点不一样:在这里插入图片描述
计算过程:
在这里插入图片描述
写成卷积公式就是:
( f ∗ g ) ( 1 , 1 ) = ∑ j = 0 2 ∑ i = 0 2 f ( i , j ) g ( 1 − i , 1 − j ) (f*g)(1,1)=\sum_{j=0}^2\sum_{i=0}^2f(i,j)g(1-i,1-j) (fg)(1,1)=j=02i=02f(i,j)g(1i,1j)

要求 c 4 , 5 c_{4,5} c4,5,一样可以套用上面的公式。

这样相当于实现了 g g g 这个 K e r n e l Kernel Kernel 矩阵在原来图像上的划动,准确来说,下面这幅图把 g g g 矩阵旋转了 18 0 o 180^o 180o

(***这是一个小细节,我们经常在卷积神经网络里面用到的卷积核代码,都是已经经过翻转的,所以都是下面这幅图对应位置相乘,然后相加的。直至以后我们见过所有相关卷积的可视化操作都是对应位置直接相乘,然后相加。)
在这里插入图片描述


总结

从全连接层到卷积,见下一篇:深刻易懂地理解:卷积、卷积在图像处理中的应用、从全连接到卷积(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值