Open SophieGuan opened 7 years ago
@SophieGuan 这篇文章我打算先尝试一下再说。
刚刚搜ActivityNet'16 classification的冠军Limin Wang时发现,他在CVPR'16是作者的两篇文章和你介绍的这篇均在同一个GitHub repo里开源,我觉得里面有若干个模型都很值得尝试。另外几篇我稍后介绍。
另外,他得ActivityNet'16冠军的结果是基于Temporal Segment Networks (TSN)(即这个issue中介绍的)和Trajectory-pooled Deep-convolutional Descriptors (TDD)这两份成果。
@y-wan ok,我们下午讨论的时候汇总一下现在找到的模型
先贴一下上面说的另外几篇文章和源码:
仔细看了#16的这篇文章和代码之后,发现结构不是很适合于我们的这个问题。因为我们没有原始的video,所以没法拿到optical flow的特征,因此这个模型的一半是无法使用的。如果只使用一半,其效果类似于一个FC。:joy:
这篇文章的分类效果非常好,主要的take-away有三点: (1) 对video进行sparse sampling,然后每部分的分类结果做聚合 (2) two-stream convnet的结构设计,包括spatial network 和temporal network (3) 考虑使用Pre-trained model,而不是train from scratch,同时normalization和dropout的使用能够提升模型表现 用的是caffe框架,模型和代码全部开放(https://github.com/yjxiong/temporal-segment-networks ),它在UCF101上的准确率达到了94.2%,其中evaluation metric用的是THUMOS13 challenge的评价指标(大概是把整体数据集按照三种方式来划分,得到三个测试集,计算三个测试集下的平均准确率,每个测试集下的准确率为在所有视频类别下的平均分类准确率)
Model Structure
模型部分借鉴了以往的two-stream ConvNet (Shimonyan et al., 2014), two-stream ConvNet的核心思想是:整个网络分为两个部分:spatial network用于处理单一frame中的空间内容信息,temporal network 处理的是a stack of frames in a short snippet,即获取一小段视频内容中的时序信息,然后,将两个网络进行融合。该结构的一个问题是无法处理long stage video information. 本文提出的结构思路非常简单,即在上述基础上,将一段视频平均分为几个snippet,对每个snippet都做一个two-stream ConvNet处理,几段snippet共享网络参数,最后用一个累加函数对所有snippet的分类结果取平均。整体结构如下:
模型的formulation如下:
T1,T2…TK代表整个video被分为K个snippet,G代表某种segmental consensus function 来把各个snippet的结构做聚合,H 为softmax函数,式(2)为模型的cross entropy loss function 模型优势: 因为所有snippet共享一套网络参数,因此在TSN (temporal segment network)训练的过程中,能够从整个video学习到参数,而不是只从一个frame或一段snippet中学习。
DATASET
UCF-101,包含101个类别和13320段video clips. HMDB51,包含51个类别和6766段video clips.
Implementation Details
具体实现方面,他们使用了改进版的caffe,用4 TITANX GPU训练,时间9个小时。具体learning rate设置方面可以参考原文4.1部分。
RESULTS
结果方面非常详尽的比较了不同的模型训练策略、不同的输入数据模态、不同的segmental consensus function以及不同的convnet结构对于训练效果的影响。
(1) 下表是对不同训练策略做的效果比较。 其中,pre-train spatial是指仅仅对spatial network使用预训练好的Imagenet model,cross modality pre-training是指将预训练好的imagenet model经过转化使其能够对描述optical flow的temporal network初始化,partial BN是指 ‘freeze the mean and variance parameters of all Batch normalization layers except the first one’以预防过拟合情况。从下表可以看到,最后一种方法效果最好。
(2) 对于不同input modalities的效果比较 RGB difference是指两个连续frame的差值,描述了motion salient region部分,optical flow为以往模型的常用方法,warped flow是一种改进的考虑了camera移动信息的optical flow方法。结果表明,使用除了RGB difference之外的三种方法结合效果最好。
(3) 对于不同consensus function 的比较 对于不同snippet的分类结果,直接取平均值的效果最好
(4) 不同ConvNet的比较 BN-Inception结果最好
(5) 每一个改进带来的效果提升
(6) 应用了上述所有改进后,和其他方法的比较