转自:https://www.zhihu.com/question/22298352算法
从数学上讲,卷积就是一种运算。函数
某种运算,能被定义出来,至少有如下特征:学习
好比加法:3d
卷积,是咱们学习高等数学以后,新接触的一种运算,由于涉及到积分、级数,因此看起来以为很复杂。blog
1 卷积的定义ci
咱们称 为
的卷积get
其连续的定义为:数学
其离散的定义为:io
这两个式子有一个共同的特征:图像处理
这个特征有什么意义?
咱们令 ,那么
就是下面这些直线:
若是遍历这些直线,就比如,把毛巾沿着角卷起来:
此处受到 荆哲:卷积为何叫「卷」积? 答案的启发。
只看数学符号,卷积是抽象的,很差理解的,可是,咱们能够经过现实中的意义,来习惯卷积这种运算,正如咱们小学的时候,学习加减乘除须要各类苹果、糖果来帮助咱们习惯同样。
咱们来看看现实中,这样的定义有什么意义。
2 离散卷积的例子:丢骰子
我有两枚骰子:
把这两枚骰子都抛出去:
求:
这里问题的关键是,两个骰子加起来要等于4,这正是卷积的应用场景。
咱们把骰子各个点数出现的几率表示出来:
那么,两枚骰子点数加起来为4的状况有:
所以,两枚骰子点数加起来为4的几率为:
符合卷积的定义,把它写成标准的形式就是:
3 连续卷积的例子:作馒头
楼下早点铺子生意太好了,供不该求,就买了一台机器,不断的生产馒头。
假设馒头的生产速度是 ,那么一天后生产出来的馒头总量为:
馒头生产出来以后,就会慢慢腐败,假设腐败函数为 ,好比,10个馒头,过24小时都会腐败:
想一想就知道,第一个小时生产出来的馒头,一天后会经历24小时的腐败,第二个小时生产出来的馒头,一天后会经历23小时的腐败。
如此,咱们能够知道,一天后,馒头总共腐败了:
这就是连续的卷积。
4 图像处理
4.1 原理
有这么一副图像,能够看到,图像上有不少噪点:
高频信号,就好像平地耸立的山峰:
看起来很显眼。
平滑这座山峰的办法之一就是,把山峰刨掉一些土,填到山峰周围去。用数学的话来讲,就是把山峰周围的高度平均一下。
平滑后获得:
4.2 计算
卷积能够帮助实现这个平滑算法。
有噪点的原图,能够把它转为一个矩阵:
而后用下面这个平均矩阵(说明下,原图的处理实际上用的是正态分布矩阵,这里为了简单,就用了算术平均矩阵)来平滑图像:
记得刚才说过的算法,把高频信号与周围的数值平均一下就能够平滑山峰。
好比我要平滑 点,就在矩阵中,取出
点附近的点组成矩阵
,和
进行卷积计算后,再填回去:
要注意一点,为了运用卷积, 虽然和
同维度,但下标有点不同:
我用一个动图来讲明下计算过程:
写成卷积公式就是:
要求 ,同样能够套用上面的卷积公式。
这样至关于实现了 这个矩阵在原来图像上的划动(准确来讲,下面这幅图把
矩阵旋转了
):