很多人容易混淆2D卷积和3D卷积的概念,把多通道的2D卷积当成3D卷积,本文展示了一种直观理解2D卷积和3D卷积的方式。

2D卷积

单通道

首先了解什么是卷积核,卷积核(filter)是由一组参数构成的张量,卷积核相当于权值,图像相当于输入量,卷积的操作就是根据卷积核对这些输入量进行加权求和。我们通常用卷积来提取图像的特征。

直观理解如下:下图使用的是 3x3卷积核(height x width,简写 H × W H \times W H×W) 的卷积,padding为1(周围的虚线部分,卷积时为了使卷积后的图像大小与原来一致,会对原图像进行填充),两个维度上的strides均为1(滑动步长,这里体现为每次滑动几个小方格)。


上图是通道数为1的2维图像的卷积操作,静态表示为:

多通道

了解了单通道图像的卷积之后,再来看多通道图像的卷积,我们知道灰度图像只有一个通道,而 RGB 图像有R、G、B三个通道。
多通道图像的一次卷积要对所有通道上同一位置的元素做加权和,因此卷积核的shape变成了 H × W × c h a n n e l s H\times W\times channels H×W×channels,没有错卷积核变成了3维,但这不是3维卷积,因为我们区分几维卷积看的是卷积核可以在几个维度上的滑动,卷积核是不能在 c h a n n e l s channels channels上滑动的,因为上面提到每次卷积都要关联所有通道上同一位置上的元素。
3通道的卷积表示如下:

上图将3个通道分开表示,卷积核也分开表示,filter1、filter2、filter3均为二维卷积核,堆叠在一起便形成了 H × W × 3 H\times W \times 3 H×W×3的卷积核,同样的我们将3个通道也堆叠在一起,于是形成了下面的3维表示图:

3D卷积

单通道

用类似的方法我们先分析单通道图像的3D卷积,3D卷积的对象是三维图像,因此卷积核变成了 d e p t h × h e i g h t × w i d t h depth\times height\times width depth×height×width简写为 D × H × W D\times H\times W D×H×W。单通道的3D卷积动态图如下:

将上述静态表示成:

多通道

多通道的3D卷积核shape为 D × H × W × c h a n n e l s D\times H\times W\times channels D×H×W×channels,我们还是首先将各通道分开画:

然后将filter1、filter2、filter3堆叠在一起形成一个4维卷积核 D × H × W × 3 D \times H\times W \times 3 D×H×W×3,同理将各通道堆叠在一起就形成了多通道的3D卷积输入图像。

深度学习:从2D卷积到3D卷积的简单理解相关推荐

  1. 深度学习Deep learning:四十九(RNN-RBM简单理解)

    前言: 本文主要是bengio的deep learning tutorial教程主页中最后一个sample:rnn-rbm in polyphonic music. 即用RNN-RBM来model复调 ...

  2. 深度学习中常见卷积(普通卷积、1×1卷积、转置卷积、可分离卷积、膨胀(空洞)卷积、3D卷积)

      总是在网络上看到各种名词的卷积,但是有搞不懂是什么含义,于是结合网上查阅的资料,总结一下.目前比较常用的卷积主要有常规的卷积.1×1卷积.转置卷积.可分离卷积.膨胀卷积.3D卷积.   以下是一些 ...

  3. 一文教你搞懂2D卷积和3D卷积

    前言     本人最近在搞毕设时发现自己一直会搞混2D卷积和3D卷积,于是在网上查阅了大量资料,终于明白了其中的原理.希望刷到这篇博客的小伙伴能够停下来静心阅读10分钟,相信你读完之后一定会有所收获. ...

  4. 深度学习100例 | 第25天-卷积神经网络(CNN):中文手写数字识别

    大家好,我是『K同学啊』! 接着上一篇文章 深度学习100例 | 第24天-卷积神经网络(Xception):动物识别,我用Xception模型实现了对狗.猫.鸡.马等四种动物的识别,带大家了解了Xc ...

  5. 深度学习笔记(29) 1×1 卷积

    深度学习笔记(29) 1×1 卷积 1. 1×1 卷积 2. 1×1 卷积的作用 3. 1×1 卷积的应用 1. 1×1 卷积 在架构内容设计方面,其中一个比较有帮助的想法是使用1×1卷积 过滤器为1 ...

  6. 深度学习笔记(27) 经典卷积网络

    深度学习笔记(27) 经典卷积网络 1. 前言 2. LeNet-5 3. AlexNet 4. VGGNet 1. 前言 讲了基本构建,比如卷积层.池化层以及全连接层这些组件 事实上,过去几年计算机 ...

  7. 深度学习入门(三十一)卷积神经网络——GoogLeNet

    深度学习入门(三十一)卷积神经网络--GoogLeNet 前言 卷积神经网络--GoogLeNet 课件 最好的卷积层超参数? Inception:全都要 Inception块 GoogLeNet 段 ...

  8. 深度学习入门(三十三)卷积神经网络——ResNet

    深度学习入门(三十三)卷积神经网络--ResNet 前言 卷积神经网络--ResNet 课件 加更多的层总是改进精度吗? 残差块 ResNet块细节 不同的残差块 ResNet块 ResNet架构 总 ...

  9. 吴恩达深度学习第四课第一周 卷积神经网络

    文章目录 前言 一.计算机视觉(引言) 二.边缘检测示例(过滤器) 三.更多边缘检测内容(由亮到暗还是由暗到亮?) 四.Padding(Valid.Same.p) 五.卷积步长(s) 六.三维卷积(通 ...

最新文章

  1. hibernate 最新 jar 下载
  2. JAVA 上加密算法的实现用例---转载
  3. oracle 0值处理判断,ORACLE数据统计0的处理
  4. Winfrom窗体间传值
  5. python模块-paramiko
  6. javascript一维数组的排序
  7. QCIF、CIF、DCIF、D1分辨率是多少
  8. 25个Java机器学习工具和库
  9. linux安全-用户行为监控
  10. Ubuntu下的终端多标签切换快捷键
  11. springboot+ssm+jsp大学生社团活动报名管理系统java
  12. PCL小工具二:使用kitti的GT(ground truth)建立激光点云地图
  13. js在指定的td中插入html元素,js在指定位置增加节点函数insertBefore()用法实例
  14. Unity减少安装包的大小总结
  15. gdb打印errno显示cant find thread-local storage xxxx
  16. 客户流失的原因 防止客户流失的6种方法
  17. TrackingMore API C# 调用示例
  18. 华为OD机试 - 天然蓄水库(Java JS Python)
  19. 计算机编程中的aa是什么意思,output是什么意思 output的例句 编程中output表示输出参数...
  20. STM32之STM Studio使用

热门文章

  1. vivado基本使用流程(六、下载到开发板并且调用ILA抓信号)
  2. Lattice Mico8在LMS创建一个工程和创建LED程序
  3. APP小程序网站搭建需要什么样的服务器
  4. 在微信小游戏中实现语音互动
  5. python编程控制机器人_基于Python开发的微信图灵机器人
  6. Altium Designer 导入PCB库
  7. python实现贪吃蛇小游戏
  8. IDEA javadoc快捷键
  9. svn 认证失败请看解决办法
  10. 蓝牙各种版本的区别(推荐)