论文笔记
1 引子
在本文中,我们提出了一种新颖的协作时空(CoST)特征学习操作,它与权重共享共同学习时空特征。
给定3D体积视频张量,我们通过从不同角度观看它们,将其展平为三组2D图像。 然后将2D卷积应用于每组2D图像。
图1示出了来自示例性视频剪辑的三个视图的2D快照,其中一个人在体育场高跳。 H-W的视图是人类熟悉的自然景观。 通过在时间T上从该视图逐帧扫描视频,我们能够理解视频内容。 尽管来自涉及T(即T-W和T-H)的视图的快照难以为人类解释,但它们包含与正常H-W视图完全相同的信息量。
作者在给出给出视频序列的3D向量 T * H * W,作者首先从不同的视角把它分解成3个2D图像集合,然后用卷积操作分别对三个图像集合进行卷积。从三个视角得到的视频序列分别是
1 H-W视角,就是把H-W看作一个平面,T作为单独的一个维度把平面扩充。
2 T-W视角,就是把T-W看做一个平面,H作为单独的一个维度把平面扩充
3 T-H视角,就是把T-H看做一个平面,W作为一个单独的维度把平面扩充。
这样的设计可以让每一帧都包含丰富的动作信息,而不是在两帧之间有动作信息,使用2D卷积可以直接捕捉时序动作线索,另外可以使用2D卷积学习时空特征而不用3D特征。
2 CoST
2.1 cost与 c3d 比较:
下图对比CoST操作和C3D(3x3x3)和C3D(3x1x1),C3D(3x3x3)利用3D卷积把时间和空间特征联合提取出来,C3D(3x1x1)首先用3x1x1的卷积提取时间上的特征,然后用1x3x3的卷积提取空间特征。
作者用3个3x3的2D卷积核从三个视角分别进行卷积操作,然后通过加权求和将三个特征图进行融合,需要注意的是,这里三个卷积核参数是共享的!!!。
注释:三个卷积核参数共享使得cost的参数量远少于C3D,在github非官方的cost模型实现中,cost模型参数量几乎是C3D的1/3。如果没有参数共享,cost在参数量上与C3D相当。同时作者在论文中也详细给出了参数能共享的原因。)
2.2 CoST(b)结构
作者设计两种CoST结构,这里只讲CoST(b)结构。 如图所示:
输入的的X是T×H×W×C1,C是输入特征的通道,三个视角的卷积操作可以表示为:
其中⊗表示3D卷积操作,w是增加一个维度的三个视角的共享参数。
这里的卷积可以理解为:对于H-W视角,把H-W看做一个平面,T看做是平面的堆叠,其中每一个平面有C1个通道。如果单独的看一个平面,只对一个平面进行卷积操作,则卷积核的大小为C1x3x3,卷积结果大小为H×W。从视角出发,共有T个这样的平面,则所用的平面进行卷积之后,大小为T×H×W。因为一共用C2个卷积核,所以经过卷积之后特征图的大小为T×H×W×C2.上述的公式中忽略了平面的通道数C1.
得到三个视角的特征后,对其进行加权求和得到该层的最终输出:
α=[αhw,αtw,αth],其中α是一个C2×3大小的矩阵,其中3表示三个视角,C2表示得到特征图的通道数。为了避免从多个视图得到的响应发生巨大的爆炸,用softmax对α进行归一化处理。
系数α是基于特征被网络预测得到的,这个设计灵感来源于self-attention。每个样本的系数值取决于样本自己。
在上图中,首先用全局pooling将三个视角的特征pooling为1x1x1,然后用1x1×1的卷积核进行卷积,这里的参数是共享的,接下来拼接在一起然后送入到全连接层,(特别的,在, the three sets of features feeds intoa fully connected (FC) layer, FC layer is applied to each row of the C2 × 3 matrix, which captures the contextual information among different views.)最后用softmax进行归一化处理。
非官方源代码分析 点击这里
参考 :
[1] 非常感谢 https://zhuanlan.zhihu.com/p/111704731 ,不妥侵删