原论文链接: 3D Convolutional Neural Networks for Human Action Recognition-2013ICML

单词汇总

C3D-2013ICML - 图1

介绍

C3D(3-Dimensional Convolution)是除了Two-Stream后的另外一大主流方法,但是目前来看C3D的方法得到的效果普遍比Two-Stream方法低好几个百分点。但是C3D任然是目前研究的热点,主要原因是该方法比Two-Stream方法快很多,而且基本上都是端到端的训练,网络结构更加简洁。该方法思想非常简单,图像是二维,所以使用二维的卷积核。视频是三维信息,那么可以使用三维的卷积核。所以C3D的意思是:用三维的卷积核处理视频。参考

3D 卷积

2D 卷积操作公式可以表示如下:
C3D-2013ICML - 图2
其中C3D-2013ICML - 图3表示位置坐标,C3D-2013ICML - 图4表示第C3D-2013ICML - 图5feature mapC3D-2013ICML - 图6 表示第 C3D-2013ICML - 图7 层。C3D-2013ICML - 图8 表示对第 C3D-2013ICML - 图9层的 feature map 的遍历,C3D-2013ICML - 图10 表示和第 C3D-2013ICML - 图11feature map 相连的核在位置C3D-2013ICML - 图12位置处的值,C3D-2013ICML - 图13表示核的高度和宽度。

上面公式是一种简化,其默认步长为1,并且未考虑边界问题。

3D 卷积操作公式可以表示如下:
C3D-2013ICML - 图14
其中C3D-2013ICML - 图15表示第C3D-2013ICML - 图16层的第C3D-2013ICML - 图17feature map 在位置C3D-2013ICML - 图18处的值。C3D-2013ICML - 图19表示卷积核沿着时间轴的最大值,C3D-2013ICML - 图20表示和上一层第C3D-2013ICML - 图21feature map 相连接卷积核在C3D-2013ICML - 图22处的值。

按照这个公式来,feature map 应该被理解为3维的,按照这种方式来理解也是更为方便。(每个 feature map 也即是一个 channel)(本文后面的内容与此公式并非完全符合,它没有综合不同 channel 的信息)

image.png image.png

3D 卷积网络

网络的第一层是一系列硬连接核,从输入(输入为三个 channels)的7帧C3D-2013ICML - 图25大小的图片,提取五个 channels 的特征(5个 channels 当然相当于 5个滤波器):灰度、方向梯度、方向梯度、方向光流、方向光流,一共33个 maps

为何是33呢?看好了:灰度7张,水平梯度和竖直梯度14张,水平光流和竖直光流12张,一共33张! 关键是这个硬连接如何实现的?还有就是这个不同 channel feature maps 数量不同??? 作者对不同通道分别卷积,没有融合不同通道的信息!

网络后面就是基本的卷积层堆叠啦,类比于2D卷积网络。(例如网络第二层:卷积核大小为C3D-2013ICML - 图26,步长为C3D-2013ICML - 图27值得一提的是,本文中的三维卷积是对5个 channels 分别进行3D 卷积,并没有融合不同通道的信息)但是,本文中的采样层只在空间进行采样,没有在时间轴进行采样(最大值池化)。然后就是最好的128不知道从哪里跑出来的???

这个卷积就相当于:二维卷积对channel也进行滑动卷积。由此看来,本文的结构可以看做是介于二维卷积核三维卷积之间的卷积。按照这种方式利用框架实现网络可能并不方便……

image.png