python人脸识别 从入门到工程实践 下载_《Python人脸识别:从入门到工程实践》 ——2.4 卷积...

2.4 卷积

卷积,通俗意义讲就是加权求和,其中的权值矩阵称为加权模板,也称为卷积核或滤波器。通过使用不同的卷积核,我们可以实现对图像的模糊处理、边缘检测、图像分割等功能。常用的卷积主要为一维卷积、二维卷积等,由于图像是离散信号,故本书所接触的卷积均为离散卷积。其中,一维卷积主要用在自然语言处理和序列模型中,二维卷积主要应用在计算机视觉领域中。

2.4.1 一维卷积

卷积运算的符号为,例如一维离散卷积的定义式可以表示如下:

图2-2 一维离散卷积的计算过程示意图

下面举例说明卷积运算过程:

设a=[1,2],b=[4,5,6],在卷积中,序列的下标索引从0开始,索引中不存在的元素一般使用0代替,如a(-1)=0、a(2)=0、a(0)=1。卷积的计算过程如图2-2所示。

我们从图2-2中可以看到,将a=[1,2]作为卷积核,对数据b=[4,5,6]进行卷积。根据公式,首先将卷积核倒序一下,就变成了[2,1]。将该卷积核在数据上进行滑动,分别求这两个向量点乘之结果。那么经过上述4个步骤,最终会得到4个数值,将这4个数值组合起来形成的序列即为卷积所得的结果。

我们可以发现,卷积核开始卷积的起始位置为图2-2中第1步所示的情况,该种情况下原始数据会存在“空位”,通常用0来填充,即所谓的零填充(zero padding)。通过这种形式卷积出来的结果会比原始数据中的元素数量还要多,称之为full形式的卷积。也可以选择以第2步所示的情况作为卷积的起始位置,这种情况下数据自然不需要零填充,称为valid形式的卷积。还有另外一种卷积,卷积出来的结果与原始数据中的元素数量相同,称为same形式的卷积。

我们以full形式的卷积为例,可以得到计算公式如下:

其中a向量与b向量分别为相互卷积的序列,N=max(length(a),length(b))。

其计算过程为:

所以最终我们可以得到向量a与向量b之间卷积的结果:c=[4,13,16,12]我们看到,卷积的计算过程中有一个倒序的过程,其实不倒序的话,也可以进行运算,只不过不是卷积运算而是互相关运算。互相关与卷积计算虽然在形式上有这样一个不同点,但是在数学意义上的区别却不大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值