理解3d卷积conv3d

理解3d卷积

  • 我的个人理解

我的个人理解

作分类时,对于不同类别的数据,无论是使用什么方法和分类器(仅限于线性回归和深度学习)去拟合数据,都首先要构建适合数据的多种特征(比如根据性别、年龄、身高来区分一个人是否喜欢打篮球).之后的处理过程是,权重参数都要和不同的特征分别相乘,然后再将不同的乘积加起来求和,处理过程就是不同特征和对应的权重相乘再相加,而不会是将不同的特征相乘.

对于图像数据,不同的通道表示不同种类的特征,比如RGB通道分别表示红、绿、蓝光谱特征.

而卷积就是分别对不同通道操作,再将这些不同通道的卷积结果相加,而不会将不同通道之间相互卷积.通道始终是独立的,每一个卷积核中的滤波器个数由输入图像的通道数来决定.

conv2d
输入数据是(H,W,band),即为(height,width,band),一个卷积核中的滤波器数量对应于通道数,每个滤波器都是随机生成,一般都是不同的.每个滤波器和对应的波段作卷积,最后不同波段的卷积结果相加输出一个包含一个波段的图像. 滤波器只在每个波段的长、宽方向上移动,滤波器形状为(h,w),是二维的.多个滤波器构成一个卷积核,即为(h,w,b).

conv3d
输入数据是(F,H,W,band),即为(frame,height,width,band).3维卷积滤波器要在每个波段的帧、长、宽方向上移动,滤波器形状为(f,h,w),是三维的.每个波段的数据都是(F,H,W),是三维的,每个滤波器和对应的波段作卷积,得到的结果也是三维数据,之后不同的波段卷积结果相加,得到的结果还是三维的.多个滤波器构成一个卷积核,即为(f,h,w,b).

无论是conv3d还是conv2d,不同的通道都表示不同的特征,都是独立于卷积核的构建的,也不会是卷积的方向;卷积都是分别在不同通道上进行的,最后将所有通道的卷积结果相加.通道数即为卷积核的个数.

注意:如果只是应用的话,理解到是怎么conv3d构建的,是怎么卷积的,就可以了,其中的具体实现不必深究。

注意: 为conv3d作数据准备时候,要再加上一个维度,用来表示帧数,而不是简单地将所有不同时间地影像叠加到通道尺度上.也就是conv2d的数据格式为(H,W,band),而conv3d的数据格式为(F,H,W,band).

参考
讲解最清楚的: https://blog.csdn.net/abbcdc/article/details/123332063?spm=1001.2014.3001.5506
可视化: https://blog.csdn.net/njuptalex/article/details/110124538
Conv1D、Conv2D、Conv3D 讲解: https://blog.csdn.net/bashendixie5/article/details/124189182
keras中实现3D卷积(Con3D)和如何准备3D卷积的输入数据: https://blog.csdn.net/C_chuxin/article/details/83422454
从2d卷积到3d卷积: https://blog.csdn.net/weixin_43026262/article/details/104821804
3d卷积的应用: https://zhuanlan.zhihu.com/p/55567098

你可能感兴趣的:(机器学习-深度学习,深度学习,计算机视觉,人工智能)