文末有很多经典文章供参考。
非常推荐这一篇文章:谈谈离散卷积和卷积神经网络
<https://liam0205.me/2017/07/27/convolutions-and-convolution-neural-network/>
概述
* 卷积的实质:
*
数学角度:==卷积实际上是一种积分运算,而且是线性运算(从离散角度理解),用来求两个曲线重叠区域的面积,可以看作加权求和。==,实际上积分就是极限求和。所以离散和连续并没有本质区别。
* 信号角度:对信号进行滤波
卷积定理可以将时空域的卷积等价位频域的相乘,进而利用FFT等快速算法,可以节约很大的运算成本
卷积分为:
* 连续卷积
* 离散卷积
注:二者的区别实际上就是连续和离散的区别, 我们课本上学的一般是联系形式,但是为了推广到高维,所以之后我们会采用离散的形式去表示
来源
从冲激函数而来,为了表示某一个瞬时量,要对这个瞬时量求积分(面积),图1-8有一个箭头就是为了说明无论这个矩形脉冲信号,被挤压的如何小,都始终存在。
卷积的数学表示:
* 一维情况下的卷积
* 连续卷积
* 离散化表示
注: k是参变量, i是自变量,这里h就是一维的卷积核。
* 多维卷积(以二维为例)
注: p,q是参变量,i,j是自变量,这里h就是二维的卷积核。
*
卷积数学细节的注意点
* 卷积核实际上就是滑动的那个mask(掩模/模板),也就是对应公式(1),(2)的h。大多数的mask是对称的,详情戳这里
<http://blog.sina.com.cn/s/blog_7445c2940102wmrp.html>
*
一维卷积后的长度是原来两个序列长度求和减1(因为最大长度要使得两个序列至少有1个项重合,即两个序列长度求和再减去重合的一项的长度)
*
公式(1),(2)中的序号k,q,p其实表示的是两个卷积序列的相对位置关系,也就是与被卷积信号的坐标不相同。
*
卷积的两个信号的坐标既可以是时间坐标也可以是空间的坐标,甚至是时空坐标。只不过,如果是时间坐标,注意坐标不可为负。
连续卷积动图演示
注:
这个图在信号分析的计算中是有一个结论的,完全相同的两个矩形波叠加会产生一个三角波,不相同的矩形波会产生一个梯形波。所以在计算三角波和矩形波的频域表示的时候,常常会用到这个结论。
==详细推导,之后补上==
3. 理解本质去计算:
卷积在图像处理的应用
首先声明图像对于计算机来说就是数值矩阵
* 灰度图就是一个数值矩阵
* 彩色图就是多个数值矩阵的叠加。
卷积在图像中的应用
1. 用来消除噪声
2. 特征 <https://blog.csdn.net/renhaofan/article/details/80258405>增强
原因:
在概述中我们提到:==卷积实际上是一种积分运算,用来求两个曲线重叠区域的面积,可以看作加权求和。
滤波器角度理解:积分运算本来就有平滑的作用(因为是累积的呀,略略略),所以比起卷积前的两个函数,两者卷积后函数会变得更加光滑,相当于一个高通滤波器(高于截至频率频的信号可以通过,低于截止频率的信号不可以通过。),所以高频的噪声受到卷积的影响更大,也就是频率越高,收到卷积的影响就越到,就会变得相对自己越平滑,所以就可以有效的滤波。而
噪声一般都是高频信号
<https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1525888667565&di=4a93649dd1f5247703aa511f0f7a57d0&imgtype=0&src=http%3A%2F%2Fwww.earthquake.com.cn%2Feducation%2FZ30%2Fwhitenoisae.jpg>
。
加权求和理解: 每一点的像素值都是周围点的像素值的加权平均代替。
所以卷积一般广泛应用于图像滤波,数据平滑处理。
参考:
1. 卷积的本质及物理意义(全面理解卷积)
<https://blog.csdn.net/tiandijun/article/details/40080823>
2. 信号分析与处理,赵光宇
3. Wiki <https://en.wikipedia.org/wiki/Convolution>
4. 多维卷积与一维卷积的统一性(运算篇) <http://blog.sina.com.cn/s/blog_7445c2940102wmrp.html>
5. 卷积神经网络CNN总结 <https://www.cnblogs.com/skyfsm/p/6790245.html>
6. 如何通俗易懂地解释卷积? <https://www.zhihu.com/question/22298352/answer/228543288>
7. 卷积为什么叫「卷」积? <https://www.zhihu.com/question/54677157/answer/141245297>
8. 卷积 visualization
<https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md>
9. 块卷积演示
<http://bmia.bmt.tue.nl/education/courses/fev/course/notebooks/Convolution.html>
10. CS231n Convolutional Neural Networks for Visual Recognition
<http://cs231n.github.io/convolutional-networks/#convert>
如果侵害引用者版权,请尽快与我联系,我将会删除相关内容。
热门工具 换一换