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

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

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

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

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

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

G= [ 0 0 0 0 2 − 2 0 1 − 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 × 3 3 \times 3 3×3的结果
F * G = [ − 1 − 1 2 − 5 − 3 8 − 6 − 2 8 ] \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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蓝羽飞鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值