说到卷积,你们首先会想到什么?卷饼?烧鸡?这个卷积可不是吃的啊!
写这篇文章契机是上午上网课,第一节是信号与系统,老师讲了一维连续卷积,第二节是数字图像处理,老师讲了二维离散卷积。
喂喂喂!你们是约好了吗,一上午老师算是把卷积讲透了,可是我还是一头雾水,这都什么鬼?想起之前DR_CAN也讲过卷积(有空来康康这几个视频:理解卷积的含义、卷积好声音、卷积的拉氏变换),我又双叒叕“预习”了一遍卷积,正好趁这个机会总结一下!
卷积一
——从系统的角度取理解卷积。
大家都知道一个LTI系统,可以完全地由这个系统的冲激响应所描述,这是为什么呢,卷积给了我们答案
左边这一列代表系统的输入可以完全由一系列冲激函数平移到τ时刻加权和(即对τ积分)表示,而权重(代表冲激函数的高度)就是输入函数在τ时刻的取值。
右边这一列利用了LTI系统的性质(线性组合+时移),在τ时刻的输入是冲激函数的加权和,那么输出就必然是冲激响应的加权和,于是我们得到著名的卷积公式:
它表示系统响应等于系统输入卷上系统的冲激响应函数,这也就是为什么冲激响应可以完全地描述系统。
由它我们也可以推理得出一些冲激函数的性质,比如说:
(1). 与冲激函数的卷积就是输入本身
这个很简单就能证明,当系统冲激响应就是冲激函数,系统的传函可以简单地表示为“1”,那么响应自然就与输入相同啦!
(2). 与冲激函数微分、积分的卷积就是输入本身的积分、微分
与上文同理,冲激响应为冲激函数的微分、积分,系统的传函也可简单地表示为“s^n”,也就是说,这个系统单纯地对输入做n阶的微分(或-n阶的积分),自然能得出这个结论
(3). 时移特性:f(t-τ)与δ(t-τ)的卷积就是f(t-τ)
同同同理,系统相当于纯延时环节“e^(-τs)”
卷积二
——换个角度看卷积
重新打量一下这个卷积公式
是不是很奇妙,他就是两个函数乘积的积分(注意是对τ进行积分,千万别搞错积分变量),放在离散就叫乘积的和。
而这两个函数又有什么特点呢?第一个f(τ),代表着输入样本,第二个h(t-τ),是系统冲激响应的反向(这大概就是卷积这个“卷”字的由来)加平移t(注意这里的t看作常数,因为我们只现在需要算出t时刻响应的大小)。
从几何角度来理解更简单一些,先来看一维连续的情况:
把h(τ)反转,得到一个新函数h(-τ)(注意是以τ为自变量),我们称之为“卷积核”
将卷积核右移t=2个单位,再与f(τ)积分,我们不就得到了所要的公式了吗,所以结果就是t=2时刻的响应y(2)啦!
当然如果t从-∞到+∞动起来,我们就能连续地获得这个响应y(t)。
(>人<;)好想支持动图哇!!!
那为什么要这么算卷积呢,因为这个角度去计算离散卷积会很方便,比如这个例子:
woc竟然能动???(☆▽☆)
对于连续来讲的积分变成了求和,这下一个一个地计算y[n]是不是很方便呢!
在数字图像处理、深度学习等课程上,老师将这种操作也叫做了卷积,当时的我们可能会不理解,但是现在来看,这种操作是不是很容易理解呢?
终于,我们来看上面这个二维离散卷积的例子,拿它来和我们的一维离散卷积来对比一下
Original这张图就相当于输入f[n],而这个Filter就相当于我们的卷积核h[-n],当m = 灰色e时(我也不知道为啥有两个e),也就是卷积核移动到了灰色e这个位置,计算一次离散卷积,也就是将对应位置的灰度值相乘再相加,我们就得到了输出图像t = 灰色e位置时的输出eprocessed,相当于y[m = 灰色e],再对其他位置的像素进行卷积运算就可以得到整张图的最终结果y[m]啦。
整个卷积的过程下面这个动图展示的淋漓尽致啦:
尤其要注意的有一点:那就是图像处理里面直接拿来用的卷积核,就是已经经过反转的冲激响应了,从下面这个例子也可以看出来:
原图中的1就相当于一个冲激函数,它经过卷积核后的响应正好是卷积核反过来,这里也就可以说明卷积核就代表着h[-n].
至此感觉大家对卷积的理解也应该很深刻了把!