视频行为识别阅读[2]Temporal Segment Networks: Towards Good Practices for Deep Action Recognition[2016]

[2]Temporal Segment Networks: Towards Good Practices for Deep Action Recognition[2016](TSN网络)

概括:

为了解决长序列的视频行为识别问题,将长序列切分成短序列并从中随机选择部分,作为双流网络的输入,采用多个这样的双流网络,最后将各个子网络的得分值进行均值融合得到最终结果。
#####介绍:
(1)对于长序列的学习能力在理解视频行为上具有重要意义,但是主流的双流法和C3D通常只是聚焦于表面或者是短时间序列的学习(C3D的输入是连续的16帧,而双流法是依靠前后两帧计算出来的光流)。Long-term temporal convolutions for action recognition.[2016]、Beyond short snippets: Deep networks for video classification.[CVPR2015]、Long-term recurrent convolutional networks for visual recognition and description[CVPR2015]等文章通过预定义的采样间隔进行稠密时序采样解决这种问题,但是却增大了计算量。
(2)卷积神经网络训练需要大量的数据,否则容易过拟合,公开数据集UCF101和HMDB51在尺寸和多样性上不足。在图像识别中非常深的网络,例如Very deep convolutional networks for large-scale image recognition. [[ICLR2015]和Batch normalization: Accelerating deep network training by reducing internal covariate shift.[ICMl2015],在视频行为识别中可能存在较高的过拟合风险。
(3)连续视频帧具有高度冗余性(相邻动作间的相似性极大)。TSN在长的视频序列上均匀的抽取短的序列,然后在聚合这些信息,这样TSN能够模拟长的视频。
(4)为了释放该网络的潜力,使用了非常深的网络Batch normalization: Accelerating deep network training by reducing internal covariate shift.[ICMl2015]和Very deep convolutional networks for large-scale image recognition. [[ICLR2015],探索了一些方法去使用少量的样本就可以进行训练。例如:数据增强、 跨模态预训练、 正则化。
You lead, we exceed: Labor-free video concept learning by jointly exploiting web videos and images. In: CVPR

相关工作:

(卷积方法)除了经典的C3D和双流以外,Human action recognition using factorized spatio-temporal convolutional networks.叠加RGB差分的视频作为输入。相似的采用长视频(固定视频输入的长度在64到120,但是TSN由于稀疏采样没有这种限制)输入的有Beyond short snippets: Deep networks for video classification. In: CVPR. (2015);Long-term temporal convolutions for action recognition. 2016;Long-term recurrent convolutional networks for visual recognition and description. In: CVPR. (2015) 。
(时序结构模型)原子时序模型(Temporal localization of actions with actoms. IEEE2013;人体骨骼模型
#####细节
这里写图片描述
一个长视频被分解成k个片段(相等间隔),从每一个片段中随机选择一帧,不同的片段得到的结果通过一致性函数产生最终结果(一个视频级别的预测,一段视频给出一个结果)
这里写图片描述
函数F表示对使用卷积网络作用于视频片段T得到一个片段各个类别的得分值
函数G表示对整个各个片段的得分值进行一致性选择,得到一致意见(最终选择的是对各个类别的得分值直接求均值)
函数H将各个类别的得分值装换成概率值(这里使用的是softmax)
下面是损失函数的设计:
这里写图片描述
没看懂,文章说是使用标准的交叉熵损失。这里G是一个得分值,不应该先转换成概率值吗?然后括号里面对其所有的类别进行exp后又进行相加?那么,这样不同的类别后面这部分就是一个常量了。
使用Batch normalization: Accelerating deep network training by reducing internal covariate shift.[ICMl2015](BN-Inception)作为网络架构的双流法。在双流法中,空间网络输入都是RGB图像,而时序网络的输入是光流或者堆叠光流场,作者在文章中提出探索了两种额外的模式,RGB差分和扭曲光流场(wraped optical flow fields)。实验表明,扭曲光流场更加专注于移动者本身,因此采用这种输入。

测试的时候在双流融合阶段,使用加权平均的方式进行融合。

测试

这里写图片描述
四种训练模式,第一行:原始双流网络;第二行,从头开始;第三行:预训练空间流;第四行:交叉模式预训练;第五行:交叉预训练和部分BN dropout相结合。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40100431/article/details/82431994