3DCNN:3D Convolutional Neural Networks for Human Action Recognition
一.解决的问题
- 卷积神经网络(CNNs)是一种能够在这一过程中实现特征构建自动化化的深度学习模型,在直接作用于原始输入时展现出强大的能力。
- 这些模型目前仅局限在处理二维(2D)输入。在本研究中,我们开发出一种新颖的三维(3D)卷积神经网络用于动作识别.
- 该研究中的三维卷积模块通过同时捕捉空间维度与时间维度的数据特征,在有限元分析中提取了多维度的信息.通过对各相邻帧的数据进行多角度分析与融合计算,在生成多个信息通道的基础上构建了完整的特征表示体系.将上述方法应用于实际场景中的行为分析时展现出了较高的识别准确率
二.3D卷积神经网络
1. 2D卷积计算公式:

(1)该位置在第i层第j个特征图中的坐标(x, y)处生成的输出值被标记为 V^{xy}_{ij}。
(2)核的高度由 P_i 表示,其宽度由 Q_i 表示。
(3)内核在位置(p, q)处与第k个特征图相连的权重系数表示为 W^{pq}_{ijk}.
如图所示,在temporal dimension上每连续三个时间步作为一组形成的convolution kernel输出构成了一个立方体结构。


3. 3D卷积计算公式

(1)表示R_i代表沿时间维方向上的三维核尺寸。
(2)等于上一层第m个特征图对应的卷积核在(p,q,r)位置上的取值。
三.文本3D卷积网络图(注意下面数字的变化)

连续七帧的60乘以40的图片相当于我们采用批量大小乘以通道数乘以宽度乘以高度乘以帧数的方法获取
(2)input hardwired\Rightarrow H1:将这7帧按照5个维度进行分组:gray, gradient-x, gradient-y, optflow-x, optflow-y;其中前三个维度每个帧都单独获取特征图谱(FeatureMaps),后两个维度每两个帧共享一个特征图谱;因此:
经过hardwired得到 FeatureMaps总数为((7-1)+1)*3 + ((7-2)+1)*2 = (7+6)*3 + (6+5)*2 = 21 + 22 = 43???
即整体而言:
H1的FeatureMap = 43 × 60 × 40
(3)H1---- >C2:通过两个尺寸均为[7,7,3]的空间维度为7×7、时间维度为3的卷积层对输入进行卷积操作后可得到以下结果:
可得到特征图的数量为:(((7-3)+1)\times 3 + ((6-3)+1)\times 2) \times 2 = (5 + 5 + 5 + 4 + 4)\times 2 = 23\times 2
宽度与高度分别为:60减去7加1等于54;40减去7加1等于34
因此C2的空间特征图数量为:23\times 2\times 54\times 34
(4)C2 ----- >S3 进行下采样也就是pooling为 S3的FeatureMap = 23\times 2\times 27\times 17
(5)S3 ------ >C4 :使用6个尺寸为[7,6,3]的3D卷积核(空间维度7×6,时间维度3)进行卷积可得到:
FeatureMaps个数为 :(((5-3)+1)\times 3+((4-3)+1)\times 2) \times 6= (3+3+3+2+2)\times 6 = 13\times 6
宽高为:(27-7)+1=21,(17-6)+1=12
C4的FeatureMap = 13\times 6\times 21\times 12
(6)C4 ----- >S5 进行下采样也就是pooling为 S5的FeatureMap = 13\times 6\times 7\times 4
S5向C6转换:通过一个尺寸为7×4的空间维度3D卷积核进行卷积操作后可得到以下参数配置:
FeatureMaps数量为:128;
输出特征图的空间尺寸计算如下:宽度方向上(7-7)+1=1;高度方向上(4-4)+1=1;
对于C4层的特征图输出量计算如下:
输出特征图大小为:(输入通道数) × (中间层通道数) × 输出宽度 × 输出高度 = 13 × 6 × 1 × 1 = 结果等于输入通道数×中间层通道数×输出宽度×输出高度即等于结果
(8)对于一个动作识别问题被分为3类,输出层可训练参数数为128 \times 3 = 384
对于卷积神经网络来说,一种设计方法为:靠近输出层的位置设置较多数量的FeatureMap(后面的卷积核数量逐步增加),这一策略能够实现较低层级的特征图之间的相互组合生成更多种类和更高维度的新特征
四.Conclusion
整体来看特征图和大小来看2,归纳为下图:

