Collaborative Spatioitemporal Feature Learning for Video Action Recognition
用于行为识别的协同时空特征学习方法
keywords:时空特征的联合学习
和现有神经网网络的区别
现有神经网络: 现有神经网络要么分别学习时间特征和空间特征,要么不加控制的联合学习时间和空间特征
本文的神经网络:提出了一个对于神经网络新颖的操作,通过在可学习的参数上添加权重共享来约束时空特征的编码融合。
现在进行行为识别的神经网络,有两个问题仍未被解决:
1. 如何学习时间特征
2. 如何将空间特征和时间特征很好地结合起来
解决上述问题现在有以下几种尝试;
1. 设计时间特征并将时间和空间特征作为输入送到双流网络中
2. 3D卷及网络将时间特征和空间特征紧密纠缠,共同学习,因此时空特征可以直接从网络中学习到。
然而,3D卷积网络的大量参数和计算量限制了模型的性能。
本文提出了一种联合时空特征学习操作(CoST),可以在权重共享约束下联合学习时空特征。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
CoST操作的具体步骤:
给出视频序列的3D向量,本文从不同角度将其分解为3个2D图像集合,然后用卷积操作分别对三个图像集合进行卷积。从三个角度得到的视频序列分别是:
1. 我们平时见到的是H-W视角,即就是将H-W看作是一个平面,T作为一个维度将该平面扩充。
2. T-W视角, 即将T-W看作是一个平面,H作为一个单独的唯度将该平面扩充。
3. T-H视角, 即将T-H看做一个平面,W作为一个单独的维度将该平面扩充。
这样的设计使得每一帧都包含有丰富的动作信息,而不是两帧之间才有动作信息。这种方法使得2D的卷积能够捕捉到时序动作线索。也能使得作者可以通过2D的卷积学习到时空特征而不用3D卷积。
不同视图共享参数的原因有:
1. 不同视图生成的图像是可以兼容的,从图中可以看到,T-H,T-W视图形成的图像仍然存在像边,角一样的边缘信息。因此可以共享权重。
2. C2D网络的卷积核是内在冗余的,可以通过权重共享的方式进行学习时域特征。
3. 模型的参数量大大减少,网络可以更加容易的进行训练。
另外,在空间与学习到的特征很容易通过巧妙设计网络结构和预训练参数迁移到时间域中。
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
不同视角的互补特征通过加权求和得到融合,算法为每个视角的每个通道学习出独立的参数,从而可以按需学习出时空特征。基于这些参数,可以将时间域和空间域各自的贡献量量化进行一些量化分析。
本文基于CoST操作,构建了一个卷积神经网络。本文构建的卷积神经网络相比于C2D相比,CoST可以联合的学习到时空特征,和C3D相比,CoST是基于2D卷积的,CoST连接了C2D和C3D。实验表明,CoST的性能比C2D和C3D都要好。
本文的贡献如下:
1. 提出了CoST操作,用2D卷积代替3D卷积学习出了时空特征。
2. 这是首次将空间特征和时间特征的重要性定量分析。
3. CoST的性能比C3D以及他的变体好,在大型数据集上达到了最好的效果。
相关工作
介绍了传统的基于手工特征的算法,其中性能能最好的是光流引导下沿轨迹的局部特征。介绍了双流网络以及LSTM对时序演变的建模。介绍了C3D和C3D的演变模型。与作者提出的算法最为相近的是Slicing CNN,也是从不同视角学习模型进行对人群的识别。不同的是,该算法从不同的网络分支中独立的学习三个视角的特征,最后在网络顶层进行合并。而本文是联合学习时空特征,时空特征的聚合在每一层都进行。
方法
2D ConNets
C2D模型能够取出鲁棒性的空间特征,但是只用了很简单的策略将空间和时间特征结合在一起。在本文中,作者以C2D为baseline模型,以ResNet为骨架网络,构建了一个网络结构。
下图是ResNet50结构:
3D ConNets
C3D是C2D的改进,增加了时间维度,将h*w的卷积核变成了t*h*w的卷积核。下图中(b)和(c)时C3D的两种卷积方式,很明显的可以看出,(c)的参数量比(b)的参数量要小很多,而实验结果表明(c)的效果和(b)的效果不相上下,作者采用(c)结构来作为C3D的baseline模型。
CoST
下图对比了CoST操作和C3D3*3*3和C3D3*1*1,c3D3*1*1,C3D3*3*3利用3D卷积将时间和空间特征联合提取出来,C3D3*1*1首先用3*1*1的卷积核提取时间上的特征,然后用1*3*3的卷积核提取空间特征。作者用3个3*3*3的2D卷积核从三个视角分别进行卷积操作,然后通过加权求和将三个特征图进行融合,注意,这里的三个卷积核参数是共享的,参数可以通过端到端的方法进行训练。
输入的特征大小为T*H*W*C1, C1为输入特征的通道数,三个视角的卷积操作可以表示为:
其中,圆圈里面一个叉叉的符号表示3D卷积操作,w是增加了一个维度的三个视角共享3*3的卷积。
得到三个视角的特征后,对其进行加权求和得到该层最终的输出:
其中,a = [ahw, atw, ath], a是一个C2*3大小的矩阵,其中3表示三个视角。为了避免从多个视图得到的响应发生巨大爆炸,a用softmax函数对每一行进行归一化。
在本文中,作者采用了两种CoST结构,如图所示:
来源:CSDN
作者:bulingbuling的小狮子
链接:https://blog.csdn.net/lord0555/article/details/104286317