一维卷积神经网络(1D-CNN)
一维卷积常用在序列模型、自然语言处理领域;
假设输入数据维度为8,filter维度为5;
不加padding时,输出维度为4,如果filter的数量为16,那么输出数据的shape就是;
二维卷积神经网络(2D-CNN)
二维卷积常用在计算机视觉、图像处理领域(在视频的处理中,是对每一帧图像分别利用CNN来进行识别,没有考虑时间维度的信息);
假设原始图像 shape 为(其中3为3个通道),使用32个大小为
(其中3为深度,与通道数相同)的卷积核对其进行卷积,得到特征图的shape为
;
三维卷积神经网络(3D-CNN)
在神经网络的输入中增加时间这个维度(连续帧),神经网络就可以同时提取时间和空间特征,进行行为识别、视频处理;
比如:对3幅连续帧用三维卷积核进行卷积,可以理解为用3个不同的二维卷积核(二维卷积神经网络中使用的卷积核)卷积3张图,并将卷积结果相加(通过这种处理,网络就提取了时间之间的某种相关性);
三维卷积神经网络的训练和卷积神经网络的训练方式相同;参考:深度网络的训练过程与方法
在文献《3D Convolutional Neural Networks for Human Action Recognition》中三维卷积与二维卷积的对比图如下:
上图的三维卷积是对连续的三帧图像进行卷积操作(堆叠多个连续帧组成一个立方体,在立方体中利用三维卷积核进行卷积,这样得到的每个特征map都与上一层中3个邻近的连续帧相连);
三维卷积神经网络架构如下图:
input:7张大小为的连续帧;
hardwired,H1:通过设定的hardwired kernels获得5种特征(灰度、x方向梯度、y方向梯度、x方向光流、y方向光流),前三个特征可以对每帧分别操作获得,光流则需要利用2帧信息获得,所以H1层特征map数量为7+7+7+6+6=33;
convolution C2:3D卷积核的大小为(3为时间维度),即每次操作3帧图像,采用了2种不同的3D卷积核,增加了maps数量;
sub-sampling S3:按照图中降采样后maps数量保持不变,maps大小减半;
更多《计算机视觉与图形学》知识,可关注下方公众号: