【论文框架和数据流分析】W-TALC Weakly-supervised Temporal Activity Localization and Classification

【论文框架和数据流分析】W-TALC: Weakly-supervised Temporal Activity Localization and Classification

W-TALC: Weakly-supervised Temporal Activity Localization and Classification

–弱监督时间活动定位与分类

一:论文研究任务

二:框架概述

W-TALC框架如下:

在这里插入图片描述

1.该方法利用现有的双流网络(主要是用I3D模型)作为特征提取器。帧输入的数量取决于所使用的网络。在将帧的RGB、Flow通过网络后,分别得到一个表示时间轴的一维特征向量t x F,然后将两个一维特征向量进行如上图所示的拼接得到的向量维度为t x 2F。在此基础上,应用了一个 FullyConnected-ReLU-Dropout 层(又称为弱监督层)和一个标签空间投影层。

2.使用视频级标签(弱标签)计算两个损失函数

2.1 多实例学习损失(MILL):利用class-wise k-max-mean 策略来池化类别上的激活,获得类别上的概率质量函数

2.2 协同活动相似度损失(Co-Activity Similarity Loss, CASL):它基于这样一种动机,即一对具有至少一个共同活动类别(比如骑自行车)的视频在对应于该活动区域应该具有相似的特征。另外,一个视频中与骑自行车相关的特征应该与另一个视频中与骑自行车无关的特征不同。
然而,由于时间标签在弱监督数据中是未知的,将从标签空间激活中获得的注意力作为弱时间标签来计算CASL。然后联合最小化这两个损失函数来学习网络参数。

三:方法

1. 符号定义

在这里插入图片描述

2. 特征提取

2.1 UntrimmedNet Features:

  1. 一帧通过RGB流,五帧通过光流。
  2. 以2.5 fps的速度从分类层之前提取特征。
  3. 使用在ImageNet上预先训练的网络,并使用弱标签和MILL对特定于任务的数据集进行微调。

2.2 I3D Features:

  1. 使用Kinetics预训练的网络。
  2. 两条流的输入时互不重叠的帧块。
  3. 输出通过核大小为2×7×7的3D平均池化层以获得1024维的特征。

在特征提取之后,

在这里插入图片描述

2.2 Memory Constraints:

q:在弱监督设置中,我们有整个视频的标签信息,因此需要一次处理整个视频。由于GPU内存的限制,这对于很长的视频可能会有问题。一个可能的解决方案是沿着时间轴[58]将视频分割成块,并应用时间池技术将每个块的长度减少到一个单独的表示向量。块的数量取决于可用的GPU内存。但是,这将在表示向量中引入不需要的背景活动特征,因为对于大多数视频来说,视频中活动的开始和结束时间不会与预定义的块重叠。为了解决这个问题,我们引入了一种简单的视频采样技术。

a:长视频采样。

如果视频的长度大于T,我们从它随机抽取一个长度为T的视频片段,并将整个视频的所有标签分配给被抽取的视频片段。

2.3 Computational Budget and Finetuning:

视频采样策略引入的误差会随着预定义长度T的减小而增大。

q:如果我们想在训练弱监督模块的同时联合调整特征提取器,T可能会非常小,以保持随机梯度下降(SGD)的合理批量大小。虽然T的值可以通过同时使用多个gpu来增加,但它可能不是一种可伸缩的方法。此外,训练这两个模块的时间可能会很长。

a:从头开始学习特定于任务的参数。

这样做的好处有两方面:一是弱监督模块在参数数量上很轻,因此需要的训练时间更少;二是它大大增加了T,从而减少了对长视频采样时的标记错误。接下来我们介绍弱监督模块。

3.弱监督层

3.1 Fully Connected Layer

在提取好的特征上使用ReLU和Dropout
在这里插入图片描述

对于序号为i的视频,其中D是Dropout,Kp是Dropout的概率,⊕是带有 broadcasting 的加法( broadcasting : 用以对两个形状不同的阵列进行数学计算的处理机制。),在这里插入图片描述
在这里插入图片描述
是从训练集学到的参数,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DILJM8qL-1603874475474)(C:\Users\shan\AppData\Roaming\Typora\typora-user-images\image-20201019090210775.png)]
是输出的特征矩阵。

3.2 Label Space Projection 将X i 投影到标签空间。

使用全连接层,并沿时间轴共享权重。 在这种投影之后获得的类激活可以表示如下:
在这里插入图片描述

4. k-max多实例学习

如第1节所述,本文所述的弱监督活动定位和分类问题可以直接映射到多实例学习(MIL)问题中。在MIL中,单个样本被分为两个袋子,即阳性和阴性袋子。正包至少包含一个正实例,而负包不包含任何正实例。使用这些包作为训练数据,我们需要学习一个模型,这个模型除了对一个包进行分类之外,还能够区分每个实例是正的还是负的。在我们的例子中,我们把整个视频看作是一个实例包,其中每个实例在某一时刻用一个特征向量表示。为了计算每个包的损失,即在我们的例子中视频的损失,我们需要使用每个类别的单个置信分数来表示每个视频。对于给定的视频,我们计算对应于特定类别的激活分数,作为该类别在时间维度上的k-max激活的平均值。在我们的例子中,一个袋子里元素的数量变化很大,我们设置k与袋子里元素的数量成比例。具体地说,

1.ki计算如下:

在这里插入图片描述

​ 其中s是设计的一个参数,li是第i个视频在特征提取之后的时间长度。

2.第i个视频对于第j个类别的置信度分数表示如下:

在这里插入图片描述

​ 其中,Ml表示第l个元素在集合M。

3.通过softmax计算概率质量函数:

在这里插入图片描述

4.计算多实例损失:

在这里插入图片描述

5. Co-Activity Similiarity

定义:对于第j个类别定义的特定类别集合:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yaMpPIG6-1603874475488)(C:\Users\shan\AppData\Roaming\Typora\typora-user-images\image-20201019094702583.png)],即,集合Sj包含训练集的所有视频,这个集合有活动αj作为其标签之一。
作用:确定相似类别视频之间的相关性。
理想情况下,希望学习特征表示Xi中具有以下属性:
----属于集合Sj(对于任何j ∈ {1 , . . . n c })的视频对在发生活动αj的视频部分中应具有相似的特征表示。
----对于同一视频对,一个视频中出现αj的部分的特征表示应与不出现αj的另一视频的特征表示不同。
解决: 由于没有帧方面的标签,使用在Eqn. 2中获得的类方面的激活来标识所需的活动部分。损失函数的设计有助于同时学习特征表示和标签空间投影。

1.使用softmax对每个视频类的激活分数沿时间轴进行标准化,如下所示:

在这里插入图片描述

​ 称这些为attention,由于关注视频中某个类别的活动发生的部分。某个特定类别的attention值越高,表明该类别的发生概率越高。

2.为了表示损失函数,首先定义高、低attention区域的类的特征向量如下:

在这里插入图片描述

3.使用余弦相似度来衡量两个特征向量之间的相似度,它可以表示为:

在这里插入图片描述

4.为了加强上述两个性质,使用了rank hinge loss。给出一对视频Xm , Xn ∈ S j Xm,Xn∈ Sj, 损失函数可以表示为:

在这里插入图片描述

​ 在实验中,δ = 0.5 。

5.整个训练集的总损失可以表示为:

在这里插入图片描述

6. 优化

在这里插入图片描述

1.在网络中要学习的权重集中到W。在实验中,使用λ = 0.5 和 α = 5 × 1 0 − 4。

2.使用Adam (批量大小为10)优化上述损失函数。

3.创建每个批次,至少具有三对视频,因此每对视频至少具有一个共同的类别。

4.在所有实验中,都使用1 0 − 4 的恒定学习率。

7. 分类和定位

1.给定一个视频,获得与Eqn.4中相同的类置信度得分,之后softmax,以获得可能类别的pmf。

2.对pmf设置阈值,以将视频分类为包含一个或多个活动类别。但是使用mAP进行比较,这不需要阈值运算,而直接使用pmf。

3.对于定位,采用两阶段阈值方案:

​ 1)丢弃置信度得分低于某个阈值(在我们的实验中为0.0)的类别。
​ 2)对于其余的每个类别,我们对沿时间轴的A (等式2)中的相应激活应用阈值以获得定位。可能会注意到,由于l i 通常小于视频的帧速率,因此需对激活进行上采样以满足帧速率。

四:数据流

4.1 多实例损失和 Co-Activity Similiarity损失计算流程如下:

值(在我们的实验中为0.0)的类别。
​ 2)对于其余的每个类别,我们对沿时间轴的A (等式2)中的相应激活应用阈值以获得定位。可能会注意到,由于l i 通常小于视频的帧速率,因此需对激活进行上采样以满足帧速率。

四:数据流

4.1 多实例损失和 Co-Activity Similiarity损失计算流程如下:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/better_boy/article/details/109336894