哪有什么岁月静好,不过是有人替你负重前行!

Background-Click Supervision for Temporal Action Localization概述

1.针对的问题

   之前的SF-Net虽然也使用了单帧监督进行动作定位,但是标注的单帧是动作帧,作者通过研究发现,SF-Net中的大部分定位错误来自背景帧,同时,已有的方法已经能够较为准确地找出动作帧,所以作者认为标注背景帧可能是更好的选项。

 

2.主要贡献

  •提出对时序动作定位任务进行背景点击监督。与现有的动作点击监督相比,它可以有效地发现动作实例,但标注成本相似。

  •在BackTAL中,提出了分数分离模块和亲和力模块,分别赋予位置信息和特征信息简单而有效的建模。

  •在三个基准上进行了大量实验,BackTAL实现了新的高性能,例如36.3mAP@tIoU0.5在THUMOS14上。

 

3.方法

   BackTAL首先提取视频特征,然后使用3个时间卷积层对每一帧进行分类,得到类激活序列。最后,执行top-k聚合,并预测视频级分类分数。

  抽取到的特征还会进入亲和力模块,该模块对特征信息进行建模,使得动作帧和背景帧在特征空间里各自更接近,同时彼此之间散开,具体来说,先将抽取的特征投影到嵌入空间,然后对两个嵌入向量计算余弦相似度,以此来表示它们之间的相似性,通过三个损失,以实现聚类目的,传统卷积计算用一个share的卷积核来处理所有帧,现在可以通过特征向量可以度量每一帧和其临近帧之间的相似性,从而可以获得一个准确的attention mask,因此在每一帧计算卷积之前可以先对它临近的fearture做一个加权,由此,传统的卷积就会变成frames-specific的卷积,从而实现更精细的计算。(来自B站论文解读

  分数分离模块是对位置信息进行建模,虽然帧级交叉熵损失可以鼓励背景类的响应高于其他类的响应,这隐含地抑制了所有动作类的响应然而,考虑到一个包含来自第c类动作的视频,背景帧的交叉熵损失不能明确地强制第c类的响应在背景帧上的响应尽可能低。所以作者提出了分数分离模块,就是通过一个损失,使得动作得分与背景得分的差距尽可能大,从而获得一个更高质量的类激活响应曲线。

 

1.为什么在亲和度模块的损失计算中要将低于0的值丢弃?

答:论文中在分析超参数的影响的时候提到,增加τsame将使算法选择类似的动作(或背景)帧更加严格。因此,BackTAL会选择较少的向量来学习嵌入空间,从而损害了性能。降低阈值τdiff也有类似的趋势。相反,减少τsame或增加τdiff会引导BackTAL选择更多的向量来学习嵌入空间。冗余嵌入向量会给学习过程带来噪声,约束学习性能。如果不进行丢弃,则相当于选择所有的向量来学习嵌入空间

 

2.局部注意力掩码是如何计算的。

大概看了下源码,有个cal_local_attenttion函数应该是算局部注意力掩码的,传入所有嵌入向量组成的嵌入矩阵embedding,维度为[1,32, 750],750是T,embedding_l[:, :, 1:] = embedding[:, :, :-1],embedding_r[:, :, :-1] = embedding[:, :, 1:],分别在第2个维度上计算embedding与embedding_l,embedding自身和embedding_r的余弦相似度,将相似度重新扩展到三维,连接三个相似度得到similarity,维度为[B, 3, T],具体为[1, 3, 750],最终的掩码包括kernel_size个部分,kernel_size为3,第一个部分将similarity[:, :1, :]复制channel次,第二个部分将similarity[:, 1:2, :]复制channel次,第三个部分将similarity[:, 2:, :]复制channel次,channel为2048,则最终的掩码similarity_tile的维度为[1,6144, 750]。

 

posted @ 2022-04-11 15:40  Lhiker  阅读(110)  评论(0)    收藏  举报