论文阅读:UntrimmedNets for Weakly Supervised Action Recognition and Detection

作者贡献

问题

  1. 为每个行为实例标注时间持续时间花费高且耗时。
  2. 这些时间的注释可能是主观的,在不同人之间不一致。

目标:从未裁剪的视频中学习模型,以应用到新的视频中以进行行为识别或检测。(将此问题称为 weakly supervised action recognition (WSR) and detection (WSD))

困难

  1. 从每个行为类中学习视觉模式
  2. 自动推断可能的行为实例的时间位置

解决:提出了一个新的端到端的体系结构:UntrimmedNet(将未修剪的视频作为输入,利用视频级标签学习网络权重)
UntrimmedNet主要由两部分组成:分类模块和选择模块。他们分别处理学习行为模型的问题和检测行为实例。
在这里插入图片描述

从未修剪的视频中学习

剪辑采样

对于给定的T帧时长的未修剪的视频,生成一个clip proposal集合 C = { c i } i = 1 N C = {\{c_i\}}^N_{i=1} C={ci}i=1N,其中N是给定的建议数, c i = ( b i , e i ) c_i = (b_i, e_i) ci=(bi,ei)是第i个clip proposal的开始和结束。作者设计了两种简单有效的生成建议的方法,如下:
Uniform sampling
假设一个行为实例的持续时间较短,则建议将视频分成N个等长的剪辑,则 b i = i − 1 N T + 1 b_i = \frac{i-1}{N}T + 1 bi=Ni1T+1 c i = i N T c_i = \frac{i}{N}T ci=NiT
缺点:容易产生不精确的建议。

Shot-based sampling:一种基于镜头变化检测的采样方法。

  1. 提取每帧图片的HOG特征,计算相邻帧之间的HOG特征差异。
  2. 用差值的绝对值来测量视觉内容的变化,如果大于阈值,将检测到一个镜头的变化。
  3. 对于每个镜头,连续采样K帧固定的镜头剪辑(在实践中,K设置为300)
    s i = ( s i b , s i e ) s_i = (s^b_i, s^e_i) si=(sib,sie)是第i个镜头的开始和结束
    C ( s i ) = ( s i b + ( i − 1 ) × K , s i b + i × K ) i : s i b + i × K < s i e C(s_i) = {(s^b_i+(i-1)×K, s^b_i+i×K)}_{i:s^b_i+i×K < s^e_i} C(si)=(sib+(i1)×K,sib+i×K)i:sib+i×K<sie
  4. 合并不同镜头的clip proposals。

UntrimmedNets

如下图所示,UntrimmedNet的体系结构由特征提取模块、分类模块和选择模块组成。这些不同的组件都被设计成可微的,并以端到端的方式呈现UntrimmedNet。
在这里插入图片描述

特征提取模块

对于给定的视频 C = { c i } i = 1 N C = {\{c_i\}}^N_{i=1} C={ci}i=1N,提取特征表示为Φ(V, c)
采用了两种架构,一是双流CNN,二是TSN。

分类模块

在分类模块中,根据提取的特征Φ(V, c) 将每个clip proposal c分类为预定义的动作类别.

  1. 假设有C个行为类别,学习一个线性映射 W c ∈ R C × D W^c ∈R^{C×D} WcRC×DΦ(V,c) 一个C维的分数向量 x c ( c ) x^c(c) xc(c),即 x c ( c ) = W c Φ ( V , c ) x^c(c) = W^c \mathit{Φ(V,c)} xc(c)=WcΦ(V,c)
  2. 分数向量通过SoftMax层,公式如下:
    在这里插入图片描述
    其中, x i c ( c ) x^c_i(c) xic(c) x c ( c ) x^c(c) xc(c)的第i维。
    x c ( c ) x^c(c) xc(c)表示clip proposal c的原始分类分数, x ‾ c ( c ) \overline{x}^c(c) xc(c)表示softMax层分类分数。
    分析:两个分数之间略有不同。
    1) x c ( c ) x^c(c) xc(c)对原始类的激活进行编码,它能够响应包含特定行为类的程度。在不包含行为实例的情况下,他的每个类的值会特别小。
    2) x ‾ c ( c ) \overline{x}^c(c) xc(c)进行过归一化的操作,使其值和为1。如果有行为实例在这个剪辑中,softmax分数会编码行为类分布的信息。但对于背景剪辑,这种归一化操作可能会放大噪声激活,其响应可能无法正确编码视觉信息。

选择模块

选择模块旨在选择那些最有可能包含动作实例的clip proposals。为此,设计了两种选择机制:基于多实例学习(MIL)原则的hard selection和基于注意建模的soft selection。
hard selection

  1. 选择分类分数最高的k个实例,然后在这些实例中进行平均。这里使用原始的分类分数,因为它的值能够正确地反映包含某些动作实例的可能性。
  2. 这里用 x i s ( c j ) = δ ( j ∈ S i k ) x^s_i(c_j) = δ(j∈S^k_i) xis(cj)=δ(jSik)来编码selection选择i类和实例 c j c_j cj,其中 S i k S^k_i Sik是第i类分类得分最高的k个clip proposals的索引集。(如果 c j c_j cj属于 S i k S^k_i Sik设置 x i s ( c j ) = δ x^s_i(c_j) = δ xis(cj)=δ

soft selection :
1.直观上, 这些clip proposals并不都与行为类相关,可以学习一个attention weight来突出有区别的clip proposals,并抑制背景clip proposals。
2. 形式上,对于每个clip proposal,学习基于特征表示Φ(V, c) 的attention weight(带有线性转换),即 x s ( c ) = w s T Φ ( c ) x^s(c) =w^{sT}\mathit{Φ(c)} xs(c)=wsTΦ(c) w s ∈ R D w^s∈R^D wsRD。然后,通过softmax层,公式如下:
在这里插入图片描述
x s ( c ) x^s(c) xs(c)表示clip proposal c的原始选择分数, x ‾ c ( c ) \overline{x}^c(c) xc(c)表示softMax层选择分数。
注意:在分类模块中,针对每个clip proposal,分别对不同行动类的分类分数应用softmax操作,而在selection模块中,这个操作是针对不同的clip proposal执行的。

视频预测

通过结合分类分数和选择分数,对未修剪的视频产生预测分数 x ‾ p ( V ) \overline{x}^p(V) xp(V)
hard selection:对所选的top-k实例求平均值
在这里插入图片描述
其中,其中 x s ( c n ) x^s(c_n) xs(cn) x c ( c n ) x^c(c_n) xc(cn)是clip proposal c n c_n cn的hard selection指标和分类分数。
soft selection
在这里插入图片描述

训练

损失函数如下:
在这里插入图片描述
其中,M是训练视频数量,在训练中衰退权重设为0.0005。
对于包含多个类的行为实例,使用L1-norm归一化标签,然后使用其来计算损失函数,如下:
在这里插入图片描述

行为识别与检测

行为识别

由于UntrimmedNets是建立在两个流CNNs或时间段网络上的,所学习的模型可以被看作是snippet-level分类器。所以在未裁剪的视频中对动作识别进行了snippet-wise评估。在实际中,我们每30帧采样一帧(或5帧叠加光流)。将采样帧的识别分数通过top-k池(k设置为20)或加权和进行聚合,从而得到最终的视频级预测。

行为检测

带有soft selection module的UntrimmedNet不仅提供了一个识别评分,还输出了每个片段的attention weight。当然,这种attention weights可以用于未修剪视频的动作检测(时间定位)。为了获得更精确的定位,每15帧进行一次测试,并保留每一帧的预测分数和注意权重。在注意权值的基础上,通过阈值(设置为0.0001)去除背景。最后,在去除背景后,对分类分数进行阈值化(设置为0.5)得到最终的检测结果。

实验

数据集

数据集:THUMOS14和ActivityNet。这两个数据集适合评估方法,因为它们提供了原始的未修剪。ActivityNet数据集是最近引入的一个基准,用于未修剪视频中的动作识别和检测。使用ActivityNet 1.2版本进行实验。在这个版本中,ActivityNet包含了4819个培训视频、2383个验证视频和2480个测试视频,共100个活动类。
两种实验:

  1. 在训练数据上学习UntrimmedNets并在验证数据上测试它;
  2. 在训练和验证数据的结合上学习UntrimmedNets并将测试结果提交给评估服务器。
    注:评估指标是基于平均精度均值(mAP)行动识别这两个数据集。对于动作检测,遵循标准的评估度量,报告THUMOS14数据集上不同的IoU值的交集的mAP值。

实现细节

  1. 使用Caffe toolbox的视频扩展版本来实现UntrimmedNet。
  2. 在UntrimmedNet中,选择了两个流CNNs[和时间分段网络以提取特征。两种网络都基于两种流输入(RGB和光流),时间分段网络采用分段建模(3段)来捕获长时间的时间信息。
    时间分段网络的空间流的输入流是1帧RGB图像和空间流是5-帧TVL1光流。
  3. 选择Inception architecture with Batch Normalization来设计UntrimmedNet。
  4. 使用ImageNet预训练模型。
  5. UntrimmedNet参数的优化采用mini-batch随机梯度算法,批量大小设置为256,动量设置为0.9。空间流的初始学习率设置为0.001,每4000次迭代减少10倍,整个训练在10000次迭代时停止。对于时间流,将初始学习率设置为0.005,每6000次迭代减少10倍,在18000次迭代时停止训练。
  6. 由于THUMOS14和ActivityNet的训练集相对较小,因此使用了高的dropout比率(空间流为0.8,时间流为0.7)和常见的数据增强技术,包括裁剪增强和规模抖动。

探索研究

评估WSR

  1. 对比两个采样方式
    在这里插入图片描述
  2. 比较两种网络的特征提取
    在这里插入图片描述
  3. 比较不同clip proporsal数量
    在这里插入图片描述
  4. 选择模块的有效性
    在这里插入图片描述
  5. 与先进技术的比较
    在这里插入图片描述

评估WSD
定性的结果
首先在THUMOS14和ActivityNet的测试数据上可视化一些学习attention weights的例子。这些示例如图所示。
在这里插入图片描述
在这个示例中,每一行描述一个视频,其中前4张图像显示的帧具有最高的attention weight,而最后4张图像显示的帧具有最低的权attention weight。选择模块能够自动突出重要的帧,并避免与静态背景或非动作姿势相对应的无关帧。

定量的结果
报告了行动检测的性能在THUMOS14数据集上,基于标准的交叉联合(IoU)标准。只是尝试了一个简单的检测策略,通过阈值的attention weights和检测分数,旨在说明,UntrimmedNets学习模型也可以应用于行动检测。在未来,可能会尝试更先进的检测方法和后处理技术。将检测结果与表中其他最先进的方法进行了比较。
在这里插入图片描述
可以看出,仍然可以获得与强监督方法相当的性能,这证明了UntrimmedNets在学习未修剪视频方面的有效性。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值