matlab conv2的图像卷积与CNN中图像卷积的区别

Matlab卷积计算详解
本文详细介绍了在Matlab中使用conv2函数进行图像卷积的计算过程,包括矩阵补零、旋转及滑动计算,并对比了卷积神经网络(CNN)中的不同处理方式。

matlab中有conv2函数可以计算图像卷积
比如F矩阵size为m1×n1m1 \times n1m1×n1, G矩阵size为m2×n2m2 \times n2m2×n2
那么卷积结果的size就是(m1+m2−1)×(n1+n2−1)(m1+m2-1) \times (n1+n2-1)(m1+m21)×(n1+n21)
如何计算:
比如F=[1234]\left[ \begin{array}{cc} 1&2\\ 3&4 \end{array} \right][1324]

G=[−11−22]\left[ \begin{array}{cc} -1&1\\ -2&2 \end{array} \right][1212]

首先在右边和下边补0以达到结果的size
F=[120340000]\left[ \begin{array}{ccc} 1&2&0\\ 3&4&0\\ 0&0&0 \end{array} \right]130240000

G=[−110−220000]\left[ \begin{array}{ccc} -1&1&0\\ -2&2&0\\ 0&0&0 \end{array} \right]120120000

然后把G旋转180°180\degree180°,注意是180°180\degree180°

G=[00002−201−1]\left[ \begin{array}{ccc} 0&0&0\\ 0&2&-2\\ 0&1&-1 \end{array} \right]000021021

再用G的窗口在F从左上到右下滑动,刚开始是G右下角的-1对应F左上角的1,直到计算出size是3×33 \times 33×3的结果
F * G = [−1−12−5−38−6−28]\left[ \begin{array}{ccc} -1&-1&2\\ -5&-3&8\\ -6&-2&8 \end{array} \right]156132288

而CNN中G是不需要补0和旋转的,F在不要求padding时也不需要补0
size为f + 2p - g /s +1 , 其中p为padding,s为stride

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值