Advertisement

video analysis 论文阅读-SSN

阅读量:

Temporal Action Detection with Structured Segment Networks

首先文章待解决的问题:

1、以端到端的方式很难解决长的视频

2、之前的方法既没有提供动作中不同阶段(例如开始和结束)的显式建模,也没有提供评估动作完整性的机制。

文章是结合了延续了TSN的主要方法(稀疏采样),使用proposal+分类的模式,但是在时间维度显式建模,引入structured temporal pyramid pooling(STPP)对整个proposal生成一个全局的表征,最后再对proposal进行分类和判别完整性,也就是文章所讲的SSN网络。另外文章还提出了一种生成proposal的方法——temporal actionness grouping (TAG)。

3. Structured Segment Network

Proposal结构化段网络框架(SSN)如图2所示。以一段视频和一组时序动作提名作为输入,输出一组预测的行为实例,每个实例包括其标签及时间范围。

整个过程大致如下:首先,需要用proposal方法生成一组时长不同的时序提名(包含开始和结束时间点)(见section 5);然后,将每个proposal分为三个阶段,为每阶段提取特征表示,联合所有表征聚合为整个视频的表征;最后,类别分类器和完整性判别器分别进行判别。

3.1. Three-Stage Structures(三阶段结构化)

这里将segment** 表示为“段”,将snippet**** 表示为“片段”**

一个视频可以表示为T个片段 ,一个片段包含连续的几个帧作为整体,其特征是结合了RGB图像和光流堆栈(用的是双流网络的方法)。给定N个proposal ,其中每个proposal 由开始时间 和结束时间 组成。为了保证能得到一个完整的proposal,扩充每个proposal: ; ; 。如果proposal比较完整,扩充数据也不会有副作用。将增广后的proposal分为三个连续区间: , , 分别对应staring,course,ending三个阶段。

3.2. Structured Temporal Pyramid Pooling(STPP) 构造时间金字塔池化

SSN框架通过时间金字塔池为每个proposal生成一个全局表示。给定一个扩充后的proposal及其3个阶段 ,首先通过时间金字塔池分别计算出每个阶段的特征向量 ,然后连接他们为一个全局表示。

3.3. Activity and Completeness Classifiers

在结构化特征之后加入两种分类器 行为分类器和一组完整性检测器 。行为分类器有K+1个类别标签,(行为标签1~K,外加background类标签0)。行为分类器的输入特征质保函course阶段的特征。完整性检测器 共有K个对应每个行为类别,基于全局特征 判别proposal的完整性。

这两种分类器都是在高级特征之上的线性分类器。从概率角度看,行为分类概率分布为P(c i |p i) ,外加上完整性检测器概率分布为 。两个输出一起形成一个联合分布 。因此对于 和它的标签 定义一个联合损失:
(2)

训练过程中共三种类型的proposal样本:(1) positive proposal, 其IoU≥0.7;(2)background proposal, 没有覆盖到任何实例;(3) incomplete proposal, 它自身80%的跨度包含在一个groundtruth实例中,而它与这个实例的IoU是低于0.3的(可以认为它紧覆盖了实例的一小部分)。对于以上三种proposal分别用 表示。

3.4. Location Regression and Multi-Task Loss

通过上面的全局结构化特征,不仅可以做分类,而且可以通过位置回归来细化proposal的时间间隔。设计一组位置回归器 ,每个回归器针对一种行为类别。我们遵循RCNN的设计,但将其应用于一维时间区域。特别是,对于positive proposal ,我们回归的相对变化区间中心 和跨度 (在对数尺度),使用最接近groundtruth实例作为目标。联合分类器和位置回归器,我们定义一个训练样本 上的多任务损失, 使用平滑的L1损失函数。如下:
(3)

4. Efficient Training and Inference with SSN

在视频分析中,大量的帧是一个很大的挑战,这里介绍两种技巧降低计算花费。

Training with sparse sampling.

对于structured temporal pyramid 而言密集采样是不必要的,pooling操作本质上是收集某个区域的特征统计信息。由于片段之间的高冗余性,这些统计数据可以通过片段snippets的子集很好地近似。根据TSN的启发,设计一种稀疏采样。对于一个给定的扩充proposal ,平均分为9段(segment),从每个段中随机抽取一个片段(snippet)。确定了需要计算的特征的数量,而不管proposal的时间有多长,从而有效地减少了计算成本,特别是对于长期结构建模。

Inference with reordered computation

在测试中,我们以间隔为6帧的方式采样出视频片段并且构造时间金字塔。实际上,每个视频都会生成数百个提案,这些提案之间可能会有很大的重叠——因此,相当一部分的片段及其衍生的特征在proposal之间共享.

为了在计算中利用这种冗余,我们采用了位置敏感池(position sensitive pooling)的思想提高测试效率。注意我们的分类器和回归器都是线性的。因此,分类或回归的关键步骤是将 权重矩阵 W 与全局特征向量f 相乘 。回想一下,f本身是多个特征的连接,每个特征在一定的时间间隔内被池化,因此计算可以写作 ,其中j沿着金字塔索引不同的区域。在这里, 是通过区域 内所有snippet-wise特征的平均池化来获得的。所以:
(4)
表示在区域 上的平均池化,它是线性操作,因此可以与矩阵乘法交换。式(4)表明关于分类器/回归器的线性响应可以在pooling之前进行计算。通过这种方式,沉重的矩阵乘法可以在CNN的每个视频片段上完成,对于每个提议,我们只需要把网络输出集合起来。该技术可以将网络输出的处理时间从平均每个视频10秒左右缩短到0.5秒以内。

5. Temporal Region Proposals

作者还提出了一个proposal方法,temporal actionness grouping (TAG),该方法用动作分类器来评估单个snippet是动作边界的概率。基本思想是寻找一段连续时序区间且区间的snippet具有高动作性,将这段区间作为proposal。文章重新定义了经典的分水岭算法(watershed algorithm),将它应用到由一系列互补的actionness 值构成的一维信号,如图3所示。将信号想象成具有高度和盆地的一维地形,该算法以不同的水位γ 向该地形注水,形成一组被水覆盖的basinG(γ) 。每一个basin对应一个temporal region with high actionness。

得到一组这种basin ,设计一种分组方式,连接小的basin成为一个proposal。过程如下:

从一个种子basin开始,连续地吸收后面的basins,直到盆地持续时间/总时间的比例(即从一开始的第一个basin到最后的ending)低于某个阈值τ。被吸收的盆地和它们之间的空白空间被分组,形成一个的proposal。那么什么是种子basin?文章将每个basin依次作为种子。最终得到一组proposal集 。注意,文章不选择特定的τ和γ 的组合, 的获取是以步长为0.05,从0~1依次取值。这两个值的组合导致多个区域集,取他们的并集。最后,我们对并集应用非最大抑制,并且设置IoU阈值为0.95,以滤除高度重叠的proposal。保留下来的proposal将被用于SSN框架。

IoU** 的全称为交并比**** (Intersection over Union**** ),通过这个名称我们大概可以猜到 IoU**** 的计算方法。IoU**** 计算的是**** “预测的边框”**** **** “真实的边框”**** 的交集和并集的比值。**

在RCNN** 系列目标检测中,有一个重要的算法,用于消除一些冗余的bounding box**** ,这就是non-maximum suppression**** 算法。**

bounding box** 表示检测到了人脸,有时会有多个box**** ,最终我们需要只保留score**** 最大的bounding box**** (记为bounding box1**** ),將与bounding box1 overlap (重叠)较大的一些bounding box**** 消除,即只保留在这个局部区域score**** 最高的一个bounding box**** 。可能在一张图中有多个人脸,那么我们就需要保留各个局部区域score**** 最大的bounding box**** ,两个bounding box**** 的重叠程度一般用IOU**** 的值作为衡量,**

IOU =两个bounding box 的围成的区域的交集 /两个bounding box 围成区域的并集。

全部评论 (0)

还没有任何评论哟~