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

举报
华章计算机 发表于 2020/02/20 14:44:59 2020/02/20
【摘要】 本节书摘来自华章计算机《Python人脸识别:从入门到工程实践》 —— 书中第2章,第2.4.1节,作者是王天庆 。

2.4 卷积

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

2.4.1 一维卷积

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

image.png 

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

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

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

image.png

我们从图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形式的卷积为例,可以得到计算公式如下:

image.png

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

其计算过程为:

image.png

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


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。