《Action Recognition》-I3D
目录
Contributions
- 在新的数据集Kinetics上对当时的SOTA模型进行了实验,并分析了在Kinetics预训练后模型的提升。Kinetics数据集包含了400种动作,每个动作有超过400个片段的视频。
- 提出了一种新的模型Two Stream Inflated 3D ConvNet(I3D),在HMDB-51和UCF-101数据集上分别达到了80.9%和98.0%的准确率。
Experiment
作者对下图的几个网络进行了测试:
-
Convnet+LSTM
-
3D Convnets
与原C3D不同之处在于这里在每个卷积层后使用了BN层,并将第一层池化时序上的步长由1改成2,减小内存使用,以获得更大batch的训练。 -
Two-Stream Networks
-
Two-stream and the 3D fused version
-
Two-Stream Inflated 3D ConvNets
1). 对于3D来说,时间维度不能缩减地过快或过慢。如果时间维度的感受野尺寸比空间维度的大,将会合并不同物体的边缘信息。反之,将捕捉不到动态场景。因此改进了BN-Inception的网络结构。在前两个池化层上将时间维度的步长设为了1,空间还是22。最后的池化层是27*7。训练的时候将每一条视频采样64帧作为一个样本,测试时将全部的视频帧放进去最后average_score。除最后一个卷积层之外,在每一个卷积后面都加上BN和relu。
2). **I3D结构扩展方式:**如果2D的滤波器为NN的,那么3D的则为NN*N的。具体做法是沿着时间维度重复2D滤波器权重N次,并且通过除以N进行归一化。
3).**从预先训练的ImageNet模型中引导参数来初始化I3D:**作者将图像重复复制到视频序列中将图像转换为(boring)视频。然后,在ImageNet上对3D模型进行隐式预训练,满足我们所谓的无聊视频固定点((boring)视频上的池化激活应与原始单个图像输入上的池化激活相同),这可以实现通过在时间维度上重复2D滤波器的权重N次,并且通过除以N来重新缩放它们,这确保了卷积滤波器响应是相同的。
Result
- 不同结构网络的对比
- 在Kinetics数据集上测试,有无经过Imagnet进行预训练
- 在Kinetics数据集上预训练
- 与其他模型对比
参考:https://blog.csdn.net/weixin_44402973/article/details/94396298