论文笔记:Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset

论文发表于CVPR2017,先放上论文链接:添加链接描述

在图像领域的大规模ImageNet数据集,对于图像分类、目标检测、语义分割等任务,在其上预训练的模型迁移到相应的数据集时可以获得非常好的效果,从而在ImageNet上进行预训练这一手段被广泛的应用于图像任务。相应的,在视频领域上是否存在这样的大规模视频数据集?在这样的数据集上进行预训练是否可以提高视频行为识别(分类)的精度?该篇文章介绍了大规模视频行为分类数据集Kinetics,并且使用当下常用的行为识别模型,对比了使用预训练前后在UCF101和HMDB51上的分类精度,实验证明使用了在Kinetics上预训练的模型后可以大大提高行为识别的精度。
使用的行为识别模型包括:
论文笔记:Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset_第1张图片Kinetics数据集预训练前后各种方法的分类精度如下图:
论文笔记:Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset_第2张图片
并且论文提出了自己的行为识别模型I3D(Two-Stream Inflated 3D ConvNets)

  • 现有的2D CNN有很多现成的模型(Inception、VGG、Resnet等),在2D CNN模型的基础上,将二维的卷积核加上时间尺度拓展成三维卷积核,从而将2D CNN拓展为适用于视频任务的3D CNN。
  • 2D CNN拥有在ImageNet上预训练好的模型参数,现将其拓展到3D CNN。将2D卷积核沿时间尺度进行广播(重复N次),然后再整体除以N。这个策略十分有用,避免了从头训练3D网络,提供了一种使用2D网络的参数进行3D模型参数初始化的方法。
  • 论文中使用的网络为Inception-V1,在其每个卷积层后引入BN和Relu。对于3D卷积,时间尺度步长的确定十分重要。它确定了时间尺度上感受野的大小。如果时间步长太大,那么则容易混淆不同物体的空间信息;如果时间步长太小,则无法捕捉到物体的运动信息,而捕捉运动信息对于行为识别来说是至关重要的。论文建议在开始的两次卷积过程中不要在时间尺度上进行卷积(即使用1×3×3的卷积核、时间尺度步长设置为1)。
  • 在使用以上策略的基础上,分别训练RGB-3D网络和Flow-3D网络(这两支网络分开训练),最后将其预测得分进行平均作为最后的预测结果。其分类精度如下:
    论文笔记:Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset_第3张图片
    值得强调的是,这里的(e)仅仅使用了在ImageNet上预训练的参数进行3D网络参数初始化,并未在Kinetics数据集上进行预训练。自此已经看到I3D模型的优势。

训练策略
训练阶段:
1.随机抽取连续的64帧;若视频太短,则对其进行循环重复以保证64帧。
2. 将视频的短边resize至256像素,然后随机裁剪出224×224。
3. 随机水平翻转。
4. 光流的提取使用的是TV-L1算法。
测试阶段 :
将整段视频均进行截取测试,中心裁剪出224×224,最后将类别得分进行平均。(我的理解是从第一帧开始截取连续64帧送入网络进行分类,再从第二帧开始截取连续64帧送入网络进行分类。。。最后将分类结果进行平均作为最终的分类结果)

结合论文的一点思考
论文笔记:Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset_第4张图片
还是这张图,同样是3D网络+RGB进行行为识别,但I3D-RGB性能提高了这么多,原因分析如下:

  1. 时序输入从16帧变为了64帧,即拥有了更长的时序感受野。可以想象,在用16帧进行分类时很大程度上是用视频图像的空间特征进行分类,很有可能在这16帧中目标行为都未发生。很难从16帧中捕获时序动作信息。
  2. 输入网络的空间分辨率从112×112变为224×224。
  3. 使用了在ImageNet上训练的2D网络参数进行3D网络参数初始化。(个人认为这一点非常重要)
  4. 采用了更深的网络模型Inception。

最后论文将所有方法在Kinetics数据集上进行预训练,对比各方法在预训练前后的性能:
论文笔记:Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset_第5张图片
可以看到,使用在完整的Kinetics数据集上预训练的I3D模型最终在UCF101上达到了98%的分类精度,在HMDB51上达到了80.7%的分类精度。WOC,NB!

你可能感兴趣的:(论文笔记:Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset)