**基于动作转移感知边界对齐的高效弱监督动作分割**
介绍
动作分割的目的是将一个长的未裁剪的视频分割成几个片段,并将每个片段分类为一个动作类别,如下图所示:
弱监督动作分割
现有的训练方法大多需要通过对所有帧和文本进行序列比对来推断用于训练的伪分段,这不仅耗时,而且训练时很难并行化。为了解决这一问题,引入了弱监督分割,举例来说,假设有一个视频,其中包含一个人在做各种动作(如散步、跑步、打篮球等)。弱监督学习可以利用一个简单的文本信息进行转录,比如一个视频里存在跑步,打篮球,踢足球这些动作标签。这个文本提供了动作序列的大致信息,但并不需要详细到每一帧的动作类型。我们只会得到这些动作的顺序列表,而不知道它们具体发生的时间点。因此,模型需要从这些序列中学习如何自动分割出每个动作片段,以及它们的时长。模型可以通过这样的文本信息来学习如何分割视频并识别不同动作片段。弱监督学习的优势在于可以减少人工标注的成本和复杂性,使得模型训练更加高效。然而,也因为标注信息的相对不精确,可能需要模型设计上的创新来处理这种噪声和不确定性,以提高学习的效果和准确性。
给定了弱监督,其实也就代表了给定动作标签和事件边界帧数,还是以一个视频里存在跑步,打篮球,踢足球这些动作标签为例,这个视频里就固定好了存在跑步到打篮球,打篮球到踢足球这两个边界帧。
问题由来
以往弱监督的方法都是将每一帧去和动作标签进行匹配比对,这样的做法缺点在于需要逐帧比对,并且无法并行化处理。因此这篇文章的目标是摆脱这种大量但冗余的帧的低效对齐,直接定位几个动作过渡以生成伪分段。为了在训练过程中高效地生成伪分割,我们提出了直接本地化动作转移,而不需要耗时的逐帧对齐。并且由于视觉变化,模型可能会错误地把一些噪声边界当作动作分割边界,导致的问题下图所示:
在蓝色块内,可能由于一些视觉变化,导致了模型错误地把一整个蓝色块进行了动作的分割,又由于引入了弱监督对文本信息进行顺序转录,按顺序分割后的动作就是绿色块了,所以导致了绿色块提前出现了,从而引起了后面误差进行积累。
贡献点:
1.我们建议在训练过程中直接本地化动作转换,以实现有效的伪分割生成,而不需要耗时的逐帧对齐。
2.对于噪声边界的鲁棒性,我们提出了一种新的ATBA框架,以有效地确定对应于每个过渡的边界。还引入了视频级损失来规范涉及伪分割中不可避免的噪声的语义学习。
3.在三个流行的数据集上进行了实验,以评估我们的方法:早餐,好莱坞扩展和CrossTask 。我们的ATBA以最快的训练速度之一实现了最先进或可媲美的结果,证明了我们的有效性。
框架
概述:首先,视频经过特征提取后,和位置编码融合进入微调的Transformer Encoder内,这里的微调指的是将自注意力换成了金字塔层次局部注意力代替香草自注意力(意思是对于动作分割任务而言,对于较长的输入视频,由于缺乏自我注意,一个Transformer模型中的各个自注意层之间很难相互协作,形成对输入的有效表示。因此有人开发了一个金字塔层次局部注意力,具体来说,用预定义的分层表示模式约束每个自注意层,迫使低层次的自注意层首先关注局部关系,然后逐渐扩大其足迹,以捕获较长的高层依赖关系。local-to-global流程为每个自我关注层分配了特定的职责,以便它们能够更好地合作,以实现更快的收敛速度和更高的性能。这种分层表示模式还降低了总空间和时间复杂度,使模型具有可扩展性。)。特征X得到了更高级的表示X’,之后经过预训练好的分类器得出伪标签预测图。之后依靠伪标签预测图进入ATBA模块,下面来细讲ATBA是如何工作的:
1.Class-Agnostic Boundary Scoring&Candidate Boundary Selection:首先预测图如上所示,是一个无类别的纯预测视频事件边界的柱状分数图,依靠这个图我们可以知道每一帧属于边界帧的分数,将这个图可以转变为时间自相似矩阵,之后再用一个矩阵对时间自相似矩阵进行分数计算(详情请看我之前的一篇博客:UBoCo),得到无类别边界分数图,即得到候选边界帧,但是仅仅得到这个边界帧不够,因为它是无类别的,不能知道这个边界属于哪个动作类别。
2.Action Transition Scoring:上述的a1,a2,a3属于class token,即动作标签的表示,由图可知,总共有三个箭头输入的到了‘Transitions R’中,第一个动作标签,第二个是无类别候选帧的集合,最后一个是输入的无类别柱状图。基本思路是对无类别候选的每一帧边界帧进行类别分数计算,即计算这一边界帧到底属于哪一类别。计算用的也是UBoCo的思路。具体来说,首先对无类别候选边界帧进行预测得到动作分数图。
以上图的7帧为例,假设候选边界帧是第四帧,前三帧属于a1类,后三帧属于a2类,那用上图所示的矩阵去乘动作分数图,就能得到相应的候选边界帧-动作标签分数图。
3.Action Transition Alignment:将上述的两个分数图进行相加,从而得到边界-动作伪标签。但存在的问题是即使这样预测出来的边界帧的数量可能还是多于真实的边界帧数量,举个例子就是现在有五个萝卜,但是只有三个坑,就需要丢掉两个萝卜。本质上就是个最优传输问题,求最优解的过程。具体来说,如下图所示:(基本思想是增加空集标签,看看五个边界帧在空集标签里的表现,若是在空集标签里也能表现好,说明这一帧有问题)
加粗样式
b1–b5是预测的边界帧,但是动作标签只有四个,因此真正需要的边界帧只有三个,那就要丢弃其中两个预测的边界帧。图上的负值就是成本值,即b1属于(a1,a2)需要多大的成本,成本越小,说明该帧属于该标签的可能性越大。
首先,给成本矩阵增加空集标签φ,如图a所示。其次看这五帧在空集标签里所需的成本,若是在空集标签里所需的成本相较于某一动作标签更小,就能说明这一帧其实不属于某一动作标签。以b2为例,b2在空集里的成本是-0.6,在(a2,a3)的成本是-0.8,理论上b2属于(a2,3),但竖着看发现b3属于(a2,a3)的成本更小,所以b2肯定不属于(a2,a3),但b2的空集成本相较于(a1,a2)的成本更低,所以也不会属于(a1,a2),因此抛弃b2这一帧。同理也可以抛弃b5这一帧。
(图中红色箭头的含义是:已知b3∈(a2,a3)的成本是-1.1,又已知b4∈(a2,a3)的成本是-0.9,所以无论如何b4是肯定不属于(a2,a3),因此传递方向就肯定不会传播到b4∈(a2,a3)。因此-0.8为什么指向-1.1和-1.5同理)
4.Pseudo Segmentation:通过这样的方法就能生成伪分割。从而去调整模型。
5.Loss:视频级loss总共有三个,第一个是标准的交叉熵损失L(cls),T是帧数,C是动作标签数。II(·)是指示函数,如果满足伪标签y(t)属于c类标签,则返回1,否则返回0。第二个是二元交叉熵损失L(vid),这个损失的作用是保证弱监督里所有的动作标签都出现,没出现就增大损失,出现了就调小损失。第三个是对比学习中常用的InfoNCE损失L(glc),目的是使靠近动作标签的帧更近,使远离动作标签的帧更远。
训练策略采用了两阶段训练,第一阶段只用了L(vid),因为动作标签是我们人为做的GroundTruth,一定是对的且会出现在视频里的弱监督,因此第一阶段只用L(vid),第二阶段用三个Loss的加和。
结论
在本研究中,我们提出在WSAS任务中直接定位动作转移以有效地产生伪分割,从而避免耗时的逐帧对齐。针对含噪边界的存在,提出了一种新的基于动作-变迁感知的边界对齐(ATBA)框架,以有效地滤除噪声和检测变迁。此外,我们还设计了一些视频级的损失,以利用视频级的监督来提高语义鲁棒性。仿真结果验证了所提算法的有效性.