矩阵的卷积

转载 2013年12月04日 16:14:27

转载地址:http://blog.csdn.net/frankyzhangc/article/details/6990782  自己也做了一定的添加和修改

想要深刻理解矩阵的卷积,那么首先要知道什么是离散序列的卷积。

已知离散序列x(n)和h(n),则x(n)和h(n)的卷积定义为:


其计算过程是对h(n)翻转,平移,相乘,求和。也可以用不进位乘法计算,并且Length(y)=Length(x)+Length(h)。

还有,若x(n):n1≤n≤n2;h(n):n3≤n≤n4;那么y(n):n1+n3≤n≤n2+n4


一个矩阵与另一个矩阵的卷积运算大部分运用在图像处理上,例如用一个模板去对一幅图像进行卷积。我们这里只考虑n*n的模板,并且n为奇数(当然不是方阵或者n不是奇数也可以,但是在实际应用中模板大都为n为奇数的方阵)。

把模板(n*n)放在矩阵上(中心对准要处理的元素),用模板的每个元素去乘矩阵中的的元素,累加和等于这个元素,依次计算每个元素的值,如果矩阵的中心在边缘就要将原矩阵进行扩展,例如补0,或者直接规定模板的中心距离边缘(n-1)/2个单位以上。

卷积的计算步骤:
(1)    卷积核绕自己的核心元素顺时针旋转180度(这个千万不要忘了)
(2)    移动卷积核的中心元素,使它位于输入图像待处理像素的正上方
(3)    在旋转后的卷积核中,将输入图像的像素值作为权重相乘
(4)    第三步各结果的和做为该输入像素对应的输出像素


以下举一个简单的例子,并用Matlab来观察

相关MATALB代码

a=[2 1 3 1;1 2 1 2;2 1 3 2;1 3 1 2];%大小为ma*na
b=[1 1 1;1 1 1;1 1 1];%大小为mb*nb
c=conv2(a,b,'same');%返回和a同样大小的部分,ma*na,一般在图像中的应用都是这样使用
d=conv2(a,b,'full');%返回完整矩阵,大小为(ma+mb-1,na+nb-1)
fprintf('\na = \n');
disp(a);
fprintf('\nb = \n');
disp(b);
fprintf('\nc = \n');
disp(c);
fprintf('\nd = \n');
disp(d);


MATALB仿真结果

a = 
     2     1     3     1
     1     2     1     2
     2     1     3     2
     1     3     1     2

b = 
     1     1     1
     1     1     1
     1     1     1

c = 
     6    10    10     7
     9    16    16    12
    10    15    17    11
     7    11    12     8

d = 
     2     3     6     5     4     1
     3     6    10    10     7     3
     5     9    16    16    12     5
     4    10    15    17    11     6
     3     7    11    12     8     4
     1     4     5     6     3     2



矩阵卷积理解

在图像处理的过程中,经常会看到矩阵卷积的概念,比如说用一个模板去和一张图片进行卷积,因此很有必要了解矩阵卷积到了做了什么,具体又是怎么计算的。 在matlab中有conv2函数对矩阵进行卷积运算,其...
  • Andrewseu
  • Andrewseu
  • 2016年06月29日 15:08
  • 15168

矩阵卷积、矩阵相乘的转化

两个矩阵卷积转化为矩阵相乘形式——Matlab应用(这里考虑二维矩阵,在图像中对应)两个图像模糊(边缘)操作,假设矩阵A、B,A代表源图像,B代表卷积模板,那么B的取值决定最后运算的结果。      ...
  • anan1205
  • anan1205
  • 2013年10月05日 16:49
  • 40073

矩阵卷积的快速算法

悲剧的面试上周二去面试一家公司,好几个问题上都卡住了。原先刷的都是算法、数据结构上的问题。简历上写的课程上的知识几乎全忘了(本身也没兴趣),结果面试官按着简历上的课程问,悲剧了。题目一个M×N的矩阵A...
  • wujianhenhao
  • wujianhenhao
  • 2015年05月16日 13:41
  • 2087

卷积运算转换为矩阵乘法

看卷积神经网络的时候,发现代码中计算卷积是通过矩阵乘法来计算的。 搜了一下发现网上这方面的资料很少。刚开始找中文的,找到两个。 http://blog.csdn.net/anan1205/articl...
  • linger2012liu
  • linger2012liu
  • 2014年04月16日 17:36
  • 5462

卷积的循环矩阵求解方法

通常我们求解一维卷积或者二维卷积都是采用模板平移的方法,今天我们介绍一种新的求解方法,可以一次性求出所有的结果。一维卷积卷积定义对于两个长度分别为m和n的序列x(i)和g(i)有, h(i)=x(i...
  • xiamentingtao
  • xiamentingtao
  • 2016年10月24日 12:08
  • 2105

OpenCV在矩阵上的卷积

转载请注明出处!!!http://blog.csdn.net/zhonghuan1992   OpenCV在矩阵上的卷积          在openCV官网上说是戴面具,其实就是重新计算一下矩阵中的...
  • u013035103
  • u013035103
  • 2014年08月09日 01:59
  • 4860

conv2卷积计算整理

关于conv2函数的计算过程 假设有两个矩阵a,b,a的大小是ma行na列,b的大小是mb行nb列。 c=conv2(a,b)计算这两个矩阵的卷积,c的大小是ma+mb-1行,na+nb-1列。 计算...
  • zr459927180
  • zr459927180
  • 2016年02月29日 15:21
  • 2097

深度学习FPGA实现基础知识17(图像处理卷积运算 矩阵卷积)

需求说明:深度学习FPGA实现知识储备 内容:第一部分:矩阵的卷积运算详细过程           第二部分:图像处理之卷积理解           第三部分:矩阵卷积转换为矩阵...
  • Times_poem
  • Times_poem
  • 2016年06月13日 11:20
  • 3806

矩阵的卷积运算图解与MATLAB图像卷…

卷积操作算法,在计算机领域多用于减少图像复杂度从而降低计算负担,在图像上具有处处不变性。 一.卷积的计算 卷积核(模版)x卷积对象矩阵 二.MATLAB下的卷积图像处理 ...
  • u012388993
  • u012388993
  • 2017年03月08日 10:59
  • 310

利用ReLU输出稀疏性加速卷积

一篇讲利用ReLU输出的稀疏性来加速卷积计算的论文,其目的和另一篇文章《More is less》 有点类似。实验效果似乎还不错,但似乎并没有很大的创新。《Speeding up Convolutio...
  • shuzfan
  • shuzfan
  • 2017年05月03日 16:52
  • 3200
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:矩阵的卷积
举报原因:
原因补充:

(最多只允许输入30个字)