前言

卷积神经⽹络(convolutional neural network,CNN)是⼀类强⼤的神经⽹络,正是为处理图像
数据而设计的。基于卷积神经⽹络结构的模型在计算机视觉领域中已经占主导地位,当今⼏乎所有的图像识别、对象检测或语义分割相关的学术竞赛、商业应⽤都以这种⽅法为基础。

相关知识

在了解2D卷积神经网络和3D卷积神经网络之前,先了解一下图像的颜色通道,我们经常看到的图像基本上都是RGB(red、green、blue)三颜色通道,举个例子:我们在拿到一张32*32*3的图片,那么其中的3表示三个通道的意思,其中的32*32表示的是图像的长和宽,也就是说我们拿到一张图片要分别对图像的R通道、G通道、B通道分别进行卷积计算,计算出来的结果最终加到一起求和运算。

2D卷积神经网络

单通道计算

这里举个例子,图像的大小是5*5*1,卷积核定义的是3*3*1,接下来简单介绍第一步是怎么运算的(本例中stride = 1, padding = 0)。

首先卷积核位于图像的左上角,也就是红色方框框起来的部分,我们可以发现框起来的部分和卷积核的大小都是3*3的,如果框起来的部分是4*4的,卷积核的大小是3*3的这样是没有办法进行计算的,所以要保证框起来的部分与卷积核的大小要一致。然后进行运算,用一句话来说就是图像部分(红框部分)与卷积核进行相应位置的内积运算。解释一下:红框的第一行第一列是3,卷积核第一行第一列是0,两个数做乘法运算等于0,那么这个对应位置也就是二者的第一行第一列做乘法之后得到的结果是0,卷积核再进行一次运算完成后还要进行其它位置的运算,即卷积核会进行移动,我们将这个移动的过程称为滑窗,因此滑窗后后面的八个位置也是同样的运算,卷积核在图像中每次移动的长度为1,所以那么其它的结果分别是3,4,0,0,0,1,4,所有位置都运算结束后我们将所有结果进行求和运算,求和后等于12,那么我们就可以得出输出矩阵第一行第一列的结果应该是12,同样的道理,其它位置也是一样的计算。

总结一下:单通道计算就是将图像部分与卷积核进行内积运算得到一个输出矩阵。

多通道计算

这里举一个5*5*3的图像,它可以理解为由三个5*5*1的单层通道合并而成的,5*5*3中的3也是表示3个通道的意思。卷积核选择的是3*3*3的,图像大小中的3和卷积核大小中的3要保持一致也就是通道数要保持一致,因为我们需要3个卷积核依次对图像中的3个通道进行卷积运算。

我们还是按照单通道计算的方法,先分别对R通道、G通道、B通道进行卷积运算,然后将卷积的结果进行求和得出结果。

首先我们先看图像的R通道部分和卷积核的R通道部分,按照单通道计算的方法对红框的矩阵和卷积核矩阵进行内积运算,得到的结果应该是1+1+2-1-1-2+1=1,同样的道理对G通道和B通道分别进行内积运算,得到的结果应该是0和3,计算完后我们需要将三个通道的内积结果进行求和运算,也就是0+3+1=4对应的是输出矩阵的第一行第一列,其他位置也是同样的道理。

总结一下:多通道计算就是对多个单通道进行求和运算。

3D卷积神经网络

3D卷积操作同样分为单通道和多通道,且只使用一个卷积核,输出一个通道。

其中,针对单通道,与2D卷积不同之处在于,输入图像多了一个深度的维度,卷积核也多了一个深度的维度,因此卷积核在输入3D图像的空间维度(长和宽)和深度的维度上均进行滑窗操作进行内积运算,得到输出3D图像中的一个数值。

针对多通道,则与2D卷积的操作一样,将所有通道的结果相加,得到输出3D图像中的一个数值。

3D卷积使用的数据和2D卷积最大的不同就在于数据的时序性。3D卷积中的数据通常是视频的多个帧或者是一张医学图像的多个分割图像堆叠在一起,这样每帧图像之间就有时间或者空间上的联系。

总结

1.卷积核是一个可以滑动的窗口。

2.2D卷积,卷积核只在2个方向上运动,因此只有两个自由度(一小片纸,在一大张纸内2个方向上滑动)

3D卷积,卷积核会在3个方向上运动,那么卷积核的运动需要有三个自由度(一小块立方体,在一个大面包块内3个方向上滑动)

3.卷积运算是一个相乘再相加的过程也可以说是内积运算。

4.多通道计算是多个单通道的计算结果求和。

5.图像的通道数要和卷积核的通道数保持一致。

卷积神经网络(2D卷积神经网络和3D卷积神经网络理解)相关推荐

  1. 深度学习(6)之卷积的几种方式:1D、2D和3D卷积的不同卷积原理(全网最全!)

    深度学习(6)之卷积的几种方式:1D.2D和3D卷积的不同卷积原理(全网最全!) 英文原文 :A Comprehensive Introduction to Different Types of Co ...

  2. ​听六小桨讲AI | 第7期:3D卷积和分组卷积

    点击左上方蓝字关注我们 本栏目由百度飞桨工程师联手精心打造,对深度学习的知识点进行由浅入深的剖析和讲解.大家可视它为深度学习百科(面试秘籍也是可以哒),当然也可收藏为深度学习查询手册~ 回顾前6期,我 ...

  3. RS Meet DL(78)-CFM:结合3D卷积的FM模型

    本文介绍的是IJCAI-19的一篇论文,题目为<CFM: Convolutional Factorization Machines for Context-Aware Recommendatio ...

  4. 时序图如何表现分支_【Video Recognition】在视频分类任务中如何高效使用3D卷积...

    这是我发布的第1篇文章,在这个专栏里,我会持续写一些最近看的文章,希望能够与大家有所交流. 知乎对Markdown不是非常支持,排版上总是不够漂亮,可以访问我的简书主页阅读对应的文章. 欢迎访问我的知 ...

  5. 3D卷积入门 | 多论文笔记 | R2D C3D P3D MCx R(2+1)D

    文章转自微信公众号:[机器学习炼丹术].有问题或者需要加入粉丝交流群可以私信作者~ 文章目录 0 前言 1 R2D 2 C3D 2.1 R3D 3 P3D 4 MCx 5 R(2+1)D [前前沿]: ...

  6. 多通道和单通道3D卷积及其运算过程详解

    多通道和单通道3D卷积过程详解 前言 3D卷积作用 Pytorch中对应函数参数详解 单通道3D卷积详解 多通道3D卷积 前言 大家对1D卷积的介绍以及2D卷积中单通道和多通道的介绍已经十分完备了,我 ...

  7. 3D卷积“LP-3DCNN: Unveiling Local Phase in 3D Convolutional Neural Networks”

    LP-3DCNN: Unveiling Local Phase in 3D Convolutional Neural Networks 3D卷积计算量大,消耗内存多,论文提出了修正的局部相量(ReLP ...

  8. python图像人类检测_OpenCV人类行为识别(3D卷积神经网络)

    1. 3D卷积神经网络 相比于2D 卷积神经网络,3D卷积神经网络更能很好的利用视频中的时序信息.因此,其主要应用视频.行为识别等领域居多.3D卷积神经网络是将时间维度看成了第三维. 人类行为识别的实 ...

  9. 3D 卷积神经网络 视频动作识别

    转自:http://blog.csdn.net/AUTO1993/article/details/70948249 https://zhuanlan.zhihu.com/p/25912625 http ...

最新文章

  1. Why Object.prototype.hasOwnProperty.call(myObj, prop)
  2. python的算术运算符不包括_没有算术运算符的A + B,Python与C ++
  3. 滑动窗口与拥塞窗口_流云哭翠-ChinaUnix博客
  4. hdu 4725 The Shortest Path in Nya Graph(建图+优先队列dijstra)
  5. Java把以0结尾的字符串_Java中字符串为什么不以\0结尾
  6. 深度学习中softmax交叉熵损失函数的理解
  7. 静态路由实验配置举例
  8. 二阶偏微分方程组 龙格库塔法_有限单元法(Finite Element Method)实现声波方程模拟(Part 2)...
  9. java 编写代码_如果您在2015年编写过Java代码-这是您不容错过的趋势
  10. FFmpeg - C++中使用ffmpeg库
  11. html5 css登录注册实现,html5+css3实现一款注册表单实例
  12. UBC、谷歌联合Hinton等提出3D点云的无监督胶囊网络,多任务上实现SOTA
  13. java泛型实例化_java基础-泛型举例详解
  14. 命令行,使用java的java 命令,直接调用执行class文件
  15. IOS调试—断点调试以及动态输出
  16. Poj 2421 Constructing Roads(Prim 最小生成树)
  17. 安卓自定义控件,自行绘制文字
  18. js运算符优先级速查表
  19. 电脑硬盘恢复数据恢复软件免费版下载
  20. 记DeeCamp 2019夏面试

热门文章

  1. 华为机试:导师请吃火锅
  2. sichost.exe,winxphelp.exe,360up.exe,RavNT.exe,Counter.exe,login.jpg.exe等4
  3. 24考研规划复习指导
  4. android底层开发工具,Android Developer Tools(开发人员工具)
  5. Opencv之答题卡识别判卷
  6. Screen.SetResolution 设置分辨率
  7. 学习OpenCV3:Cmake编译OpenCV时无法下载ffmpeg、xfeatures2d等文件
  8. arm汇编指令探究之 ldmia
  9. 采用FPGA进行SDI输入输出时钟同步设计
  10. WPF开发学生信息管理系统【WPF+Prism+MAH+WebApi】(一)