- 论文: Learning Spatiotemporal Features with 3D Convolutional Networks
- 官方代码(caffe): http://vlg.cs.dartmouth.edu/c3d/
- 由Facebook和Dartmouth学院提出
- 被ICCV2015收录
一、核心创新
- 网络全部使用3D卷积和3D池化
- 方便在不同的任务中使用,如动作识别、相同动作判断、动态场景识别等
- 网络简单且高效
二、 3D卷积及网络的探索
2.1 3D卷积与3D池化
2.2 卷积核时间维度分析
- 采用数据集为UCF101
- 网络输入片段维度为3 x 16 x 112 x 112
- 构建网络采用5个3D卷积层和5个池化层,两个全连接和一个softmax loss层
- 五个卷积层通道数依次为64,128,256,256,256,两个全连接输出都为2048
- 除第一层以外的所有的池化层,核大小为 2 x 2 x 2,第一层核大小为1 x 2 x 2,步长都为1
- 训练时batch为30,初始化lr为0.003,每4个epoch除以10,共训练16个epoch
在上述参数固定的情况下,来选择卷积核大小,其中卷积核的维度为d * k * k。按照VGG,3 x 3的卷积效果很好,所以这里k取3,只有d是没确定的。卷积核的步长为1。
为了确定d的值,文章设计两种网络:
- d为固定值,文章取1,3,5,7
- d为变动值,文章取两种,一种为3-3-5-5-7,另一种为7-5-5-3-3
实验结果如下
实验结论:
- 使用3D卷积比使用2D卷积效果好
- 3D卷积中d取值为3的卷积核效果最好
2.3 C3D网络设计
- 采用8个3D卷积,5个池化,两个全连接和一个softmax输出层
- 所有的卷积核大小为3 x 3 x 3,步长为1 x 1 x 1
- 除第一池化操作外其他所有的核大小为2 x 2 x 2,步长为2 x 2 x 2。第一个池化操作核大小为1 x 2 x 2,步长为1 x 2 x 2
- 两个全连接维度都为4096
网络学习到的特征
其他具体的参数和实验结果详情可以看原文和代码。
视频算法QQ交流群:657626967