Appearance-and-Relation Networks for Video Classification

Appearance-and-Relation Networks for Video Classification是王利民组2017年底的发表的一篇工作。 
主要工作是在3D卷积的基础上,提升了action recognition的准确率,而且没有像目前主流的two-stream方法那样使用使用光流信息,因为光流的提取速度特别慢,这是一个未来的研究趋势,更不会像IDT那套方法一样计算复杂。 
虽然目前的state of art仍然是IDT那套。

话不多说,先给出王利民组的干货链接: 
https://github.com/wanglimin/ARTNet

摘要 
ARTNet主要是由SMART blocks 通过stacking的方法组合起来,就好像ResNet主要是由Residual blocks组合起来一样。它是一种直接输入RGB视频图像的端到端的视频理解模型。

1.介绍 
Appearance-and-Relation Networks for Video Classification
这张图上从左到右,依次画出;Two-Stream,C3D和ARTNet的结构,可以看出后者对于前两者在结构上有一个很好的整合。 
ARTNet是基于C3D-ResNet18实现的,训练的时候采用了TSN的稀疏采样策略。 
这篇论文的主要贡献在于三个方面:第一,提出了SMART blocks块;第二,通过stacking的方法得出了ARTNet网络;第三,刷新了仅使用RGB输入的行为识别准确率。

2.相关工作 
深度学习方面,主要有Two-Stream,C3D,LSTM三种方法的尝试,目前最好的是Two-Stream方法,本文看好C3D的方法,所以基于此方法做了改进。而LSTM相关的RNN方法效果暂时不明显,研究较少。 
模型方面,本文的一大亮点是能量模型,使用了一种近似square-pooling的结构。与原结构不同之处在于三点:第一,从无监督到了有监督;第二,从仅有relation到有appearance和relation;第三,从单层到stacking多层。

3.Spatiotemporal特征学习 
3.1Relation模型 
假设连续帧x和y的信息,我们要学习位置z的信息。很自然的想到如下的模型: 
Appearance-and-Relation Networks for Video Classification 
这种处理是C3D中最直接的把x和y通过线性相加组合起来作为transformation code.然而这种直接相加增大了模型的复杂度,而且造成过拟合的风险。 
那么,假设appearance和relation相互独立,那么就可以把它们乘起来: 
Appearance-and-Relation Networks for Video Classification 
这样做可以是relation更少的依赖appearance.但是会发现,参数没有变少,反而变多。 
所以还要进一步的改进: 
Appearance-and-Relation Networks for Video Classification 
这样参数有回到了2次,但是还是不方便在深度学习框架中实现,继续改: 
Appearance-and-Relation Networks for Video Classification 
这个结构大家就很熟悉了,相当于C3D的平方,可以实现。

3.2 SMART blocks 
Appearance-and-Relation Networks for Video Classification
这个结构大家也很熟悉,就是C3D加上relation model,其中relation model用到了上述公式实现的square-pooling,以及1*1*1的卷积实现的cross-channel-pooling,其他就是常规操作,最后fusion,concat.

3.3 ARTNet-ResNet18 
Appearance-and-Relation Networks for Video Classification
这是三种模型结构,第一种是C3D-ResNet18;第二种是ARTNet-ResNet18(s),就是只在第一层conv换成smart;第三种是ARTNet-ResNet18(d),就是每一层conv都换成smart. 
实现细节 
训练网络: 
bactchsize=256,momentum=0.9,SGD,framed大小128*170,inputsize112*112*16,初始学习率为0.1,每当验证集准确率稳定后就把学习率lr*0.1,在Kinectics数据集上训练了250000个epoch,最后一层fc的dropout ratio是0.2。 
测试网络: 
从整个视频中采样250个clips,具体是随机采取25个128*170*16的clips,然后10crops(5crops加上水平反转,5crops是中间加上四个角),最后取这250个的平均。

4.实验 
4.1数据集 
(1)Kinectics (2)UCF101 (3)HMDB51 
4.2 Kinectics 实验结果 
Appearance-and-Relation Networks for Video Classification 
Appearance-and-Relation Networks for Video Classification 
Appearance-and-Relation Networks for Video Classification 
4.3 UCF101和HMDB51实验结果 
Appearance-and-Relation Networks for Video Classification
Appearance-and-Relation Networks for Video Classification

4.4结论和展望 
和C3D相比已经有了显著的提升,但是相比于two-stream仍然有差距,为了缩小这种差距,未来尝试更深的网络和更大的分辨率。