一维卷积(1D-CNN)、二维卷积(2D-CNN)、三维卷积(3D-CNN)

一维卷积神经网络(1D-CNN)

一维卷积常用在序列模型、自然语言处理领域;

假设输入数据维度为8,filter维度为5;

不加padding时,输出维度为4,如果filter的数量为16,那么输出数据的shape就是4\times16


二维卷积神经网络(2D-CNN)

二维卷积常用在计算机视觉、图像处理领域(在视频的处理中,是对每一帧图像分别利用CNN来进行识别,没有考虑时间维度的信息);

假设原始图像 shape 为14\times14\times3(其中3为3个通道),使用32个大小为5\times5\times3(其中3为深度,与通道数相同)的卷积核对其进行卷积,得到特征图的shape为10\times10\times32


三维卷积神经网络(3D-CNN)

在神经网络的输入中增加时间这个维度(连续帧),神经网络就可以同时提取时间和空间特征,进行行为识别、视频处理;

比如:对3幅连续帧用三维卷积核进行卷积,可以理解为用3个不同的二维卷积核(二维卷积神经网络中使用的卷积核)卷积3张图,并将卷积结果相加(通过这种处理,网络就提取了时间之间的某种相关性);

三维卷积神经网络的训练和卷积神经网络的训练方式相同;参考:深度网络的训练过程与方法

在文献《3D Convolutional Neural Networks for Human Action Recognition》中三维卷积与二维卷积的对比图如下:

  

上图的三维卷积是对连续的三帧图像进行卷积操作(堆叠多个连续帧组成一个立方体,在立方体中利用三维卷积核进行卷积,这样得到的每个特征map都与上一层中3个邻近的连续帧相连);

三维卷积神经网络架构如下图:

input:7张大小为60\times40的连续帧;

hardwired,H1:通过设定的hardwired kernels获得5种特征(灰度、x方向梯度、y方向梯度、x方向光流、y方向光流),前三个特征可以对每帧分别操作获得,光流则需要利用2帧信息获得,所以H1层特征map数量为7+7+7+6+6=33;

convolution C2:3D卷积核的大小为7\times7\times3(3为时间维度),即每次操作3帧图像,采用了2种不同的3D卷积核,增加了maps数量;

sub-sampling S3:按照图中降采样后maps数量保持不变,maps大小减半;

 

更多《计算机视觉与图形学》知识,可关注下方公众号:

你可能感兴趣的:(academic)