Temporal Segment Networks 学习笔记

作者: 叶俊贤 | 来源:发表于2018-05-22 18:54 被阅读34次

    声明:本文只对 TSN 的核心思想做大概介绍,如果看了本文之后你还想了解更多的细节,请直接阅读论文。另外这些都是我个人的理解,水平有限,难免有错,欢迎指出。

    TSN 是港中文林达华老师团队在 2016 年的一项工作,该工作获得了 ActivityNet 2016 untrimmed video classification 比赛的冠军。TSN 首次提出于论文《Temporal Segment Networks: Towards Good Practices for Deep Action Recognition》

    问题分析

    当前基于卷积神经网络架构的算法在静态图像分类任务中取得了巨大的成就,但是关于视频一直没有较好的动作识别方法。而 Temporal Segment Networks(TSN) 的提出正是旨在解决视频中的动作识别问题,它融合了稀疏时间采样策略(Spare temporal sampling strategy)和视频级别的监督信息(Video-level supervision),利用了整个动作视频的信息进行学习。然后在 HMDB51(69.4%)和 UCF101(94.2%)上均取得了当时最佳的性能。

    相比起图片,视频的挑战在于具有更加复杂的时间结构特征,因为视频的前后帧之间是存在着联系的。另一方面视频内容也更加复杂,具体体现在视频分辨率大小不一、视频中存在视角转换以及拍摄相机的运动等问题。

    将卷积神经网络应用于视频动作分类任务中之所以没有取得较好的效果有两个主要原因。第一是视频中长期的时间结构(Long-range temporal structure)对于理解视频中的动态(Dynamics)信息起着很重要的作用,而主流的卷积神经网络通常只关注图像的空间结构和短期的时间结构,另外一方面,尽管近期也有工作注意到长期的时间结构,但是他们的策略是采用了预定义的采样间隔进行密集采样,这就导致了在长视频处理的时候需要消耗大量资源,此外当视频比定义的最大序列长度还要长的时候可能导致重要信息的丢失。第二是训练这样的深度神经网络需要大量的数据样本,但是视频数据受限于文件大(相比于图像而言)、标记成本高等原因,没有特别大规模的数据集,这样训练视频任务的深度神经网络就容易出现过拟合现象。

    TSN 的策略

    因此本文提出了一种视频级别(Video-level)的框架 TSN 用来处理长期时间结构。由于注意到视频中连续的时间帧实际上存在着大量的冗余,所以本文采用一种稀疏采样模式从长视频中获取多个视频片段,并且采样所得样本将均匀分布于长视频的时间序列上。因此,TSN 能以极低的代价从长视频的多个稀疏采样视频片段中聚合信息,并且保留了帧间的相关信息。而 TSN 的卷积网络结构则借鉴了 Two-stream 架构。另外为了克服训练集不足而导致的各种问题,本文采用了以下三种策略:

    • 跨模态预训练
    • 正则化
    • 改善数据增强

    本项工作关注的重点有两个:(1)通过卷积神经网络进行动作识别;(2)进行时间结构建模。以前的工作中尽管已经有人研究利用完整视频中的长期时间结构辅助动作识别,但是他们的策略是直接从视频中进行密集采样,不过受限于计算资源限制,而通常会把采样队列的大小限制在 64 或者 120 帧。而 TSN 的策略则可以摆脱采样队列大小的限制。另一方面,时间结构建模也已经有很多的前人工作,但是他们却没有实现端到端的建模方法。因此,综合这两个方面,TSN 是第一个实现了在完整视频上端到端的时间结构建模的框架。

    TSN 网络结构图

    上图是 TSN 的网络结构,TSN 借鉴了 Two-stream 的架构,有负责提取图像中空间信息的 Spatial ConvNet 和负责提取时间结构信息的 Temporal ConvNet,并且设置了多个通路,且所有通路之间共享同一套权重。网络的最左端是,将一个长视频 V 均匀地切割成 K 个视频段(这意味着每个视频段的时间是等长的),然后输入的 snippet 则是从相应的视频段中随机采样一帧图像,在通过卷积神经网络提取特征之后,通过一个 segmental consensus 函数将 K个 snippets 的结果进行融合,TSN 的公式化表示如下:

    TSN 公式表达

    其中 Tk 是输入的 snippet,W 是网络参数,G 是融合函数用于将来个各个通路的计算结果进行融合以获得一个统一的关于类别预测的假设,H 是预测函数用于预测最终的分类结果。然后卷积神经网络架构选择的是带有批量归一化(BN)的 Inception 网络,不过由于输入 Temporal ConvNet 的光流(Optical flow)分布与 RGB 图像不一致,因此作者选择只对 Temporal ConvNet 的第一个卷积层进行 BN 操作。

    此外,在训练过程中作者还尝试采用了三种策略来克服训练数据不足导致的过拟合问题,并尝试了把 RGB difference 和 wrapped optical flow fields 引入作为输入。

    总结

    本文在 Two-stream 架构的基础上,提出了一种针对完整视频稀疏采样分析的策略,既节约了视频分析的计算资源,又提高了动作识别的准确率。这为后续的其它视频相关的研究工作提供一种广泛而又有效的研究思路,另外作者在实验中采用的跨模态预训练、正则化和数据增强的方法都值得借鉴。而且文章的最后还提供了一种可视化卷积神经网络结果的方法。

    而遗憾则是,网络中通路的数量 k 会如何影响算法的性能,这点在文章中并没有得到讨论,作者只是经验性地将其设置为 3。此外关于融合函数 G 的策略应该还会有更多内容可以进行深入探究。

    相关文章

      网友评论

        本文标题:Temporal Segment Networks 学习笔记

        本文链接:https://www.haomeiwen.com/subject/ogskjftx.html