Temporal Segment Networks(TSN)深度行为识别 。TSN实际上是Two-Stream方法的升级版
光流(optical flow)
光流(optical flow)是空间运动物体在观察成像平面上的像素运动的瞬时速度。
光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。
通常将二维图像平面特定坐标点上的灰度瞬时变化率定义为光流矢量。
有物体边缘信息足以,边缘之内的信息影响不大
光流是同一物体在不同时间的移动效果。怎么判断图像上的坐标是同一个物体?
光流提取时,假设两帧之间的运动是在很小的范围内,且运动的亮度不变。即两帧之间变化不大。
双流网络 (Two-Stream)
该网络有两个独立的识别流——空间和时间,在网络尾部再用softmax融合在一起。空间流(Spatial stream ConvNet)从静态的视频单帧中识别动作,而时间流(Temporal stream ConvNet)以稠密光流的形式从运动中识别动作。这两个流均为ConvNets。时间流的输入是通过几个连续帧之间叠加光流位移场来实现的。
双流网络的结构,由两个独立的网络构成,Spatial stream ConvNet的输入是单张图像,用来对目标和场景的appearance提取特征(有些action的识别依赖单张图像就够,有些则必须依赖运动和时间特征)。Temporal stream ConvNet的输入是多张相邻帧的光流,对motion特征进行表示。通过两个网络的softmax输出向量进行融合,来最终确定分类。
TSN的基础框架
缺点:
1)how to design an effective and efficient video-level framework for learning video representation that is able to capture long-range temporal structure;一个是解决长时间视频的行为判断问题(有些视频的动作时间较长);
2) how to learn the ConvNet models given limited training samples.一个是解决数据少的问题,数据量少会使得一些深层的网络难以应用到视频数据中,因为过拟合会比较严重。
解决方法:
对第一个问题,首先,为什么目前的two stream结构的网络难以学习到long-range temporal structure?因为其针对的主要是single frame或a single stack of frames in a short snippet的数据,但这对于时间跨度较长的视频动作检测而言是不够的。因此采用dense temporal sampling的方式来获取long-range temporal structure是比较常用的方法,但是作者发现视频的连续帧之间存在冗余,因此用sparse temporal sampling代替dense temporal sampling,也就是说在对视频做抽帧的时候采取较为稀疏的抽帧方式,这样可以去除一些冗余信息,同时降低了计算量。
1次处理3帧,每帧都会有一个预测结果101
针对第二个问题,可通过常规的data argument(random crop,horizontal flip,corner crop,scale jitter);regularization(partial batch normalization,dropout);还有作者提到的cross-modality pre-training等方式来减少过拟合。
只更新第一层的参数,因为第一层和数据有很强的相关性。其他层的参数都不batch normalization
同时,因为数据有限,可能会在归一化处理中出现过拟合现象。