End-to-end Temporal Action Detection with Transformer 论文阅读
- Abstract
- I. INTRODUCTION
- II. RELATED WORK
- III. TADTR
- A. Architecture
- B. Training and Inference
- IV. EXPERIMENTS
- V. CONCLUSION
文章信息:
发表于: IEEE Transactions on Image Processing
原文链接:https://arxiv.org/abs/2106.10271
源码:https://github.com/xlliu7/TadTR
Abstract
时序动作检测(TAD)旨在确定未剪辑视频中每个动作实例的语义标签和时间区间。这是视频理解中一个基础且具有挑战性的任务。以前的方法使用复杂的流程来解决这个任务。它们通常需要训练多个网络,并涉及手工设计的操作,如非极大值抑制和锚生成,这限制了灵活性并阻碍了端到端学习。在本文中,我们提出了一种基于Transformer的端到端TAD方法,称为TadTR。给定一小组可学习的嵌入(称为动作查询),TadTR为每个查询自适应地从视频中提取时间上下文信息,并直接使用上下文预测动作实例。为了使Transformer适应TAD,我们提出了三项改进以增强其局部感知能力。核心是一种时间可变形注意力模块,该模块选择性地关注视频中的一组稀疏关键片段。片段细化机制和动作性回归头分别设计用于细化预测实例的边界和置信度。通过这样一个简单的流程,TadTR比以前的检测器需要更低的计算成本,同时保持显著的性能。作为一个独立的检测器,它在THUMOS14(56.7% mAP)和HACS Segments(32.09% mAP)上达到了最先进的性能。结合额外的动作分类器,它在ActivityNet-1.3上获得了36.75%的mAP。代码可在https://github.com/xlliu7/TadTR获取。
I. INTRODUCTION
随着媒体的快速增长,视频的生成、共享和消费变得前所未有的重要。作为视频理解中的一项基础任务,时序动作检测(TAD)旨在预测未剪辑且可能很长的视频中每个动作实例的语义标签、开始时间和结束时间。由于其广泛的应用,包括安全监控、家庭护理、视频编辑、视频推荐等,时序动作检测近年来引起了越来越多的关注[1]–[5]。
以前的时序动作检测方法大致可以分为两类。自上而下的方法[1], [10], [11]在大量候选片段上进行分类和回归。自下而上的方法[9], [12]进行逐帧分类,并将这些预测组合成片段级别的预测。虽然这些方法在标准基准上达到了最先进的性能,但它们具有复杂的流程。
如图1所示,这些流程涉及后处理操作,例如非极大值抑制(NMS)和分组。这些操作以及许多自上而下方法中的锚点设置都是基于该任务的先验知识手工设计的,无法学习,限制了灵活性。此外,大多数基于提案的方法[2], [11], [13]需要一个独立的分类器来对动作提案进行分类。这些问题阻碍了梯度流动,无法实现端到端学习。因此,有必要开发一种简单的端到端方法,在一个单一的可微网络中直接预测动作实例,而无需手工设计的组件。
在本文中,我们引入了一种端到端时序动作检测框架来解决上述问题。受对象检测Transformer(DETR)[15]的启发,我们直接将一组可学习的嵌入(称为动作查询)并行映射到动作实例。由于查询不像锚点或提案那样直接指示动作的初始位置,我们无法像以前的方法那样从特定位置提取每个查询的特征。检测器需要在知道动作落在哪个区间之前提取足够的长期上下文信息。此外,上下文应该是自适应且与每个查询相关的,以区分这些查询。传统的一维卷积神经网络由于固定的感受野和固定的权重,难以实现这些目标。最近,Transformers [16] 在序列建模中表现出强大的能力。它能够推理序列元素之间的关系,并通过自注意力模块自适应地捕获长期上下文。视频本质上是一帧帧的序列,里面有丰富的上下文信息[2], [13], [17]。因此,Transformer是实现上述目标的理想选择。
然而,由于空间和时间之间的本质差异,直接应用Transformer并不合适。我们观察到,一个动作视频中的不同帧高度相似,因为时间上的冗余和背景或演员的缓慢变化。此外,动作的边界不如物体的边界清晰[18]。因此,为了精确检测动作,检测器需要具备局部感知能力,这意味着要能够察觉时间域中的细微局部变化。原始Transformer中的密集注意模块关注序列中的所有元素,设计上对这些局部变化的敏感度较低。为了解决这个问题,我们从[19]中汲取灵感,提出了一种时间可变形注意(TDA)模块作为Transformer的基本构建块。它选择性地关注输入序列中参考位置周围的一组关键元素,采样位置和注意权重根据输入动态学习和调整。通过这种方式,它能够自适应地提取上下文信息,同时保持局部感知能力。
除了TDA,我们还做了两项改进以增强局部感知能力。首先,我们采用片段细化机制来细化预测动作的边界。具体来说,我们根据先前的预测迭代地重新关注视频,并用新提取的上下文细化边界。其次,我们在Transformer中添加了一个动作性回归头,用于预测一个可靠的置信度评分,称为动作性,以进行检测排序。它使用RoIAlign [20]提取每个预测动作的局部特征,并估计其与最佳匹配的真实动作的IoU。这比简单使用分类得分更可靠,因为分类分支可能会从上下文中找到捷径,但忽略了完整的局部细节。尽管这些改动看似微小,但它们显著提高了性能。
我们在三个数据集上进行了全面实验,以评估TadTR。在一个惊人简单的流程下,TadTR以低计算成本取得了显著的性能。无需任何额外的分类器,它在HACS Segments [21]和THUMOS14 [22]上实现了最先进的性能。当结合一个额外的分类器时,它在ActivityNet-1.3 [23]上达到了36.75%的mAP,超越了G-TAD [2]和BMN [11]等强大的竞争对手。在运行时间方面,它在THUMOS14上每个视频仅需155毫秒,这比最近的最先进方法快得多,如图2所示。我们相信,这种新方法的简单性、灵活性和强大性能将有助于并简化未来的时序动作检测研究。
本工作的贡献如下:
- 我们引入了一种端到端的集合预测(SP)框架,简化了时序动作检测(TAD)的流程。它可以在一个单一的可微分网络中检测动作,无需手工设计的组件。
- 我们提出了一种增强了局部感知能力的Transformer架构,以更好地适应TAD任务。其核心是一个时间可变形注意(TDA)模块,该模块选择性地关注视频中的一组关键片段。我们证明了TDA对于SP框架在TAD任务中的成功至关重要。
- 与忽略上下文或仅利用片段级或实例级上下文的先前工作不同,我们建模了片段间、动作间以及动作与片段间的关系,以捕捉这两级上下文,从而实现更准确的时序动作检测。
- 我们的方法在HACS Segments和THUMOS14数据集上实现了自包含检测器的最先进性能,并在ActivityNet-1.3上取得了竞争力的结果。此外,它所需的计算成本低于竞争对手。
II. RELATED WORK
Temporal Action Detection.以前的TAD方法可以根据其流程大致分为自顶向下方法和自底向上方法。自顶向下的方法可以进一步分为多阶段、两阶段和单阶段方法。
(a) 多阶段方法 [2], [11], [24]–[27] 首先生成候选片段,并训练一个二元分类器,将每个片段与一个置信度分数关联,生成建议。那些高分的建议被送入一个多类别分类器来分类动作。候选片段通过密集的均匀采样 [1], [28] 或将可能包含动作的局部帧分组 [29] 生成。一些方法 [30], [31] 结合了多种方案以实现互补。
(b) 两阶段方法 [6], [7], [32], [33] 通过采用单阶段建议生成器来简化多阶段流程,该生成器直接预测与每个时间位置相关的预定义多尺度锚的分数和边界。这些方法需要手动设置多个锚尺度,这限制了灵活性。需要注意的是,多阶段方法也可以视为广义的两阶段方法。
© 自顶向下单阶段方法 [8], [34] 可以看作是单阶段建议生成器的类别感知变体。
(d) 自底向上方法执行帧级动作分类并将帧级结果合并为片段级预测。例如, [9] 首先预测动作和边界概率,然后将具有最大结构和的帧分组为动作。最近的无锚方法(例如AFSD [35] 和 A2Net [36])也属于这一组。
除了这些方法,还有一些工作(例如CTAP [30] 和 PCG-TAL [37])结合不同的流程以增强性能。所有上述方法都需要后处理步骤,例如NMS或分组,这阻碍了端到端的学习。
Yeung等人 [38] 的早期工作也提出了一种没有手工设计组件的TAD方法。基于递归神经网络(RNN)和强化学习(RL),它通过训练一个代理来迭代选择观察位置并在观察后决定是否发出或细化候选动作,从而学习动作检测。然而,它的奖励函数是不可微分的。因此,它不符合本文中的端到端标准。
以上所有方法都是完全监督的。还有一些弱监督的方法,仅在训练期间利用单帧监督 [39] 或视频级监督 [40]–[51]。
Transformers and Context in Video Understanding.Transformer 在自然语言处理 [16] 和图像理解 [52]–[54] 领域取得了巨大成功。Transformer 的核心是自注意力机制,它通过对关注位置的特征进行加权求和来聚合非局部线索。与卷积相比,自注意力可以捕捉长距离上下文,并根据输入动态调整权重。最近,许多研究揭示了 Transformer 在视频理解任务中的巨大潜力 [55]–[57]。例如,VideoBERT [55] 和 ActBERT [58] 利用 Transformer 学习视频和文本的联合表示。TimeSformer [56] 将空间和时间自注意力解耦用于视频分类。Zhou 等人 [59] 使用 Transformer 捕捉视频字幕生成中的时间依赖关系。Girdhar 等人 [60] 将 Transformer 应用于空间提案之间的关系建模,以进行时空动作检测。
在本文中,Transformer 被用来捕捉用于时间动作检测的时间上下文信息。具体来说,我们采用注意力模块来建模视频片段之间的关系、动作与片段之间的关系以及动作之间的关系。几项同时进行的研究也使用 Transformer 来进行时间动作检测中的上下文建模 (AGT [61]) 和时间动作提议生成 (RTD-Net [62] 和 TAPG [63])。然而,这些工作要么采用传统的 TAD 管道,要么在训练上存在困难。TAPG 仍然依赖于手工设计的锚点和后处理步骤。RTD-Net 需要一个三步训练方案来分别优化网络的不同部分,并依赖额外的动作分类器来对提议进行分类。AGT 则存在训练收敛速度慢的问题(需要比 TadTR 多 1000 倍的迭代次数)。此外,与这些利用原生注意力模块的工作不同,TadTR 引入了一种更高效的时间可变形注意力模块,该模块可以自适应地关注视频中的一组稀疏关键片段。因此,它具有更低的计算成本和更容易的训练过程。因此,TadTR 更实用。
DETR and Deformable DETR.时间动作检测方法 [6], [8], [36] 通常从目标检测方法中汲取灵感。本工作受到了 DETR [15] 和 Deformable DETR [19] 的启发。DETR 提出了一种基于 Transformer 的集合预测(SP)框架,实现了无人工设计组件的端到端目标检测。Deformable DETR 提出多尺度可变形注意力机制,以解决 DETR 收敛速度慢和特征分辨率有限的问题。虽然将它们扩展用于直接的时间动作检测是直观的,但其有效性仍不明确。我们对 DETR 和 Deformable DETR 的主要贡献在于,我们调整了 SP 框架和可变形注意力用于直接的时间动作检测,并验证了它们的有效性。尽管 TadTR 的高级设计与 Deformable DETR 类似,但实现有所不同,因为 TadTR 旨在时间上定位视频中的动作,而 Deformable DETR 是为图像中的目标检测设计的。此外,我们揭示了可变形注意力对于 SP 框架在时间动作检测中的成功至关重要,而段落细化也很重要。此外,直接将 Deformable DETR 扩展到时间动作检测并未取得令人满意的性能,因为解码器预测的置信度分数不可靠。
为了解决这个问题,我们添加了一个简单但有效的动作性回归头来优化置信度分数。总之,对 DETR 和 Deformable DETR 的适应和改进使得 SP 框架在时间动作检测中变得实用,而 TadTR 可以作为基于 SP 的时间动作检测的强大基线。
III. TADTR
TadTR 基于预训练的视频分类网络(例如 I3D [14])编码的视频特征构建。图 3 展示了 TadTR 的整体架构。TadTR 将视频特征和一组可学习的动作查询作为输入,然后输出一组动作预测。每个动作预测表示为时间段、置信度分数和语义标签的元组。它包括一个 Transformer 编码器来建模视频片段之间的交互,一个 Transformer 解码器来预测动作段,以及一个额外的动作性回归头来估计预测段的置信度分数。在训练过程中,使用动作匹配模块来确定动作预测的一对一真实标签分配。
图 3:TadTR 的架构。它以通过 CNN 提取的视频特征和一组可学习的动作查询作为输入,并通过 Transformer 并行解码出一组动作预测。编码器捕获输入特征序列中的长期上下文。解码器从编码器中提取与每个动作查询相关的上下文,并建模动作查询之间的关系。在解码器上,我们使用前馈网络来预测输出动作的段和类别。段细化机制(蓝色框)和动作性回归头(橙色框)分别用于细化预测动作的边界和置信度分数。
A. Architecture
编码器。设 X V ∈ R T S × C X_V \in \mathbb{R}^{T_S \times C} XV∈RTS×C表示视频特征序列,其中 T S T_S TS 和 C C C分别是长度和维度。特征序列中的每一帧是从视频中的某个片段提取的特征向量。这里,片段指的是一系列(例如 8 个)连续帧。我们使用线性投影将 C C C设为 256。编码器建模不同片段之间的关系,并输出一个经过时间上下文增强的特征序列 X E ∈ R T S × C X_E \in \mathbb{R}^{T_S \times C} XE∈RTS×C。如图 3 所示,它由 L E L_E LE层同质架构的 Transformer 编码器组成。每个编码器层有两个子层,即时间可变注意力(TDA)模块和前馈网络(FFN)。每个子层之后使用层归一化 [65],并在每个子层的输入和随后的归一化层的输出之间添加残差连接。除了 TDA 之外,所有其他组件与原始 Transformer [16] 相同。
TDA 是 [16] 中密集注意力模块的替代方案。由于不同帧之间的高度相似性和动作边界的模糊性,检测器需要具备局部感知能力。换句话说,检测器应该对时间域中的局部变化更为敏感。密集注意力模块关注输入特征序列中的所有位置,对这种局部变化的敏感性较低。此外,它还面临着高计算成本和较慢的收敛速度 [19]。为了更好地适应 TAD 任务,我们借鉴了 [19] 的思想,提出了一个时间可变注意力(TDA)模块,该模块自适应地关注输入特征序列中参考位置周围的一组稀疏时间位置。
设 z q ∈ R C \boldsymbol{z}_q \in \mathbb{R}^C zq∈RC 为查询 q q q 的特征, t q ∈ [ 0 , 1 ] t_q \in [0,1] tq∈[0,1] 为对应参考点的归一化坐标。给定输入特征序列 X ∈ R T S × C \boldsymbol{X} \in \mathbb{R}^{T_S \times C} X∈RTS×C,第 m m m( m ∈ { 1 , 2 , … , M } m \in \{ 1, 2, \ldots, M \} m∈{1,2,…,M} ) 头的 TDA 模块的输出 h m ∈ R T S × ( C / M ) \boldsymbol{h}_m \in \mathbb{R}^{T_S \times (C/M)} hm∈RTS×(C/M) 通过对从 X \boldsymbol{X} X 中采样的一组键元素进行加权求和来计算:
其中 K K K是采样点的数量, a m q k ∈ [ 0 , 1 ] a_{mqk} \in [0,1] amqk∈[0,1] 是归一化的注意力权重, Δ t m q k ∈ [ 0 , 1 ] \Delta t_{mqk} \in [0,1] Δtmqk∈[0,1]是相对于 t q t_q tq的采样偏移量。 X ( ( t q + Δ t m q k ) T S ) X((t_q + \Delta t_{mqk})T_S) X((tq+Δtmqk)TS)是在 ( t q + Δ t m q k ) T S (t_q + \Delta t_{mqk})T_S (tq+Δtmqk)TS处的线性插值特征。
根据文献[19],注意力权重 a m q k a_{mqk} amqk 和采样偏移 Δ t m q k \Delta t_{mqk} Δtmqk 是通过对查询特征 z q \boldsymbol{z}_q zq 进行线性投影来预测的。我们使用 softmax 对注意力权重进行归一化,以确保 ∑ k = 1 K a m q k = 1 \sum_{k=1}^K a_{mqk} = 1 ∑k=1Kamqk=1。 W m V ∈ R C × ( C / M ) \boldsymbol{W}_m^V \in \mathbb{R}^{C \times (C/M)} WmV∈RC×(C/M) 是一个可学习的权重。TDA 的输出通过不同头部的输出的线性组合来计算:
其中 W O ∈ R C × C \boldsymbol{W}^O \in \mathbb{R}^{C \times C} WO∈RC×C 是一个可学习的权重。
在计算输出序列中的第 τ \tau τ 帧时,查询和参考点都对应于输入序列中的第 τ \tau τ 帧。因此,我们将编码器中的 TDA 称为时间可变形自注意力 (TDSA)。查询特征是该帧的输入特征和该位置的位置信息嵌入的总和。位置信息嵌入用于区分输入序列中的不同位置。在本文中,我们使用 [16] 中的正弦位置嵌入。
前馈网络由两层全连接(FC)层和一个 ReLU 激活函数组成。它在不同位置之间是相同的,可以视为两个核大小为 1 的 1D 卷积层的堆叠。这两个 FC 层的维度分别是 C F = 2048 C_F = 2048 CF=2048 和 C = 256 C = 256 C=256。
解码器。解码器将编码器特征 X E \boldsymbol{X}_E XE 和 N q N_q Nq 个具有可学习嵌入的动作查询 z ^ ( 0 ) = { z ^ i ( 0 ) } i = 1 N q \hat{\boldsymbol{z}}^{(0)} = \{\hat{\boldsymbol{z}}_i^{(0)}\}_{i=1}^{N_q} z^(0)={z^i(0)}i=1Nq 作为输入。它将这些嵌入转换为 N q N_q Nq 个动作预测 Y ^ = { y ^ i } \hat{Y} = \{\hat{y}_{i}\} Y^={y^i}。如图 3 所示,解码器由 L D L_D LD 层序列解码器层组成。每个解码器层有三个主要的子层:自注意力模块、时序可变交叉注意力(TDCA)模块和前馈网络。与每个编码器层类似,我们在每个子层和随后的层归一化函数之间添加了残差连接。第 l l l 层解码器的输出记作 z ( l ) z^{(l)} z(l)。
自注意力模块对动作查询之间的关系进行建模并更新其嵌入。其动机在于,一个视频中的多个动作通常是相关的。例如,击球动作往往出现在投球动作之后。为了进行动作预测,每个查询通过 TDCA 模块从视频中提取相关的上下文信息。给定编码器特征 X E X_E XE 和输入嵌入 z ^ i ∈ R C \hat{z}_i \in \mathbb{R}^C z^i∈RC,TDCA 的输出查询嵌入 TDCA {\text{TDCA}} TDCA 被公式化为 T D A ( z ^ i , t ^ i , X E ) TDA(\hat{\boldsymbol{z}}_{i},\hat{{t}}_{i},{\boldsymbol{X}}_{E}) TDA(z^i,t^i,XE)。这里, t ^ i \hat{t}_{i} t^i 是在 X E X_E XE 中参考点的坐标。默认情况下,它通过从 z ^ i ( 0 ) \hat{\boldsymbol{z}}_i^{(0)} z^i(0) 投影函数 f I R f_{IR} fIR 预测。 f I R f_{IR} fIR 实现为线性层和后续的 sigmoid 函数进行归一化。参考点可以看作是对应动作段中心的初步估计。解码器层中的前馈网络(FFN)具有与编码器层中相同的架构。
与编码器中的 TDSA 不同,查询嵌入 z ^ i ( 0 ) \hat{\boldsymbol{z}}_i^{(0)} z^i(0) 和参考点是可学习的,并且在所有输入视频中是共享的。这使得网络能够学习训练数据集中动作位置的全局分布,这比手工设置锚点或提案采样更具灵活性。分析见第 IV-D 节。
预测头。 在每个解码器层的输出(即更新后的查询嵌入)上,我们应用 FFNs 来预测每个查询对应的动作实例 y ^ i \hat{y}_i y^i 的分类概率 p ^ i \hat{\boldsymbol{p}}_i p^i 和时间段 s ^ i = ( t ^ i , d ^ i ) \hat{s}_i=(\hat{t}_i, \hat{d}_i) s^i=(t^i,d^i)。其中, t ^ i \hat{t}_i t^i 和 d ^ i \hat{d}_i d^i 都是归一化的。为了使实例的边界更加精确,提出了一种段落细化机制。此外,还使用了额外的动作性回归头来细化置信度分数。详细内容如下。
段落细化。 Transformer 能够捕获长范围的上下文信息。然而,预测的动作边界可能因缺乏局部性而不令人满意。受 [19] 启发,我们引入了一种细化机制,以增强局部意识并提高定位性能。这包括两个策略。第一个是段落的增量细化。我们不是在每个解码器层独立地预测段落,而是根据之前预测的段落逐层调整段落。形式上,给定在 ( l − 1 ) (l-1) (l−1)-th 解码器层预测的每个动作段落 s ^ i ( l − 1 ) = ( t ^ i ( l − 1 ) , d ^ i ( l − 1 ) ) \hat{s}_i^{(l-1)}=(\hat{t}_i^{(l-1)},\hat{d}_i^{(l-1)}) s^i(l−1)=(t^i(l−1),d^i(l−1)),第 l l l-th 解码器层预测相对于 s ^ i ( l − 1 ) \hat{s}_i^{(l-1)} s^i(l−1) 的位置偏移 ( Δ t ^ i ( l ) , Δ d ^ i ( l ) ) (\Delta\hat{t}_i^{(l)},\Delta\hat{d}_i^{(l)}) (Δt^i(l),Δd^i(l))。然后,通过以下公式计算相应的细化段落 s ^ i ( l ) = ( t ^ i ( l ) , d ^ i ( l ) ) \hat{s}_i^{(l)}=(\hat{t}_i^{(l)},\hat{d}_i^{(l)}) s^i(l)=(t^i(l),d^i(l)):
其中, σ ( ⋅ ) \sigma(\cdot) σ(⋅) 和 σ − 1 ( ⋅ ) \sigma^{-1}(\cdot) σ−1(⋅) 分别是 sigmoid 函数和其反函数。特别地, t ^ i ( 0 ) \hat{t}_i^{(0)} t^i(0) 是由 f I R f_{IR} fIR 预测的初始参考点。 d ^ i ( l ) \hat{d}_i^{(l)} d^i(l) 的初始值是第一解码器层预测的 d ^ i ( 1 ) \hat{d}_i^{(1)} d^i(1)。第二个策略是迭代参考点调整。我们在每个解码器层更新 TDCA 的参考点,而不是始终使用 t ^ i ( 0 ) \hat{t}_i^{(0)} t^i(0)。具体而言, t ^ i ( l − 1 ) \hat{t}_i^{(l-1)} t^i(l−1),即第 ( l − 1 ) (l-1) (l−1) 层解码器中细化后的段落中心,用作第 l l l 层解码器中 TDCA 的参考点。通过这种方式,TDCA 可以适应输入视频,并更好地与动作实例的局部特征对齐。我们在实验中验证了这两种策略的有效性。
动作性回归。时间动作检测的一个挑战是生成可靠的置信度评分以进行排序。通常使用的是分类分数。然而,分类任务更关注于区分特征,对于动作的定位质量则不够敏感。因此,检测结果的分类分数可能在排序时不够可靠。图4中展示了一个例子。
为了解决这个问题,我们使用一个动作性回归头,提取与预测片段区间对齐的上下文,并基于此预测动作性得分。给定编码器特征序列 X E \boldsymbol{X}_E XE 和解码器预测的片段 s ^ i \hat{s}_i s^i,我们首先在 X E \boldsymbol{X}_E XE 上应用时间 RoIAlign [20],以获得在 X E \boldsymbol{X}_E XE 定义的 s i s_i si 区间内的对齐特征 X s i ∈ R T R × C \boldsymbol{X}_{s_i}\in\mathbb{R}^{T_R\times{C}} Xsi∈RTR×C。这里, T R T_R TR 是 RoIAlign 的分箱数量。为了包含片段边界周围的某些上下文信息,在应用 RoIAlign 时,我们稍微将片段按因子 ϵ \epsilon ϵ 扩展。扩展后的片段可以表示为 ( t ^ i , ϵ d ^ i ) (\hat{t}_i,\epsilon\hat{d}_i) (t^i,ϵd^i)。然后,使用前馈网络从对齐特征中预测动作性得分 g ^ i \hat{g}_i g^i。 g ^ i \hat{g}_i g^i 通过 s i s_i si 与所有真实动作之间的最大 IoU(交并比) g i g_i gi 进行监督。通过这种方式,检测器被强制更加敏感于局部特征,以区分不同片段。
图4:Transformer可能会生成不可靠的置信度评分。在这里,与冰壶动作重叠较少的预测相比,得分却比更准确的预测更高(0.50对0.39)。
讨论。动作性回归头在某种程度上类似于传统两阶段方法的第二阶段,因为它们都可以优化置信度分数。然而,TadTR 采用的集合预测流程与传统流程有显著不同。很难将 TadTR 及其变体归类为单阶段或两阶段方法,因为它不需要像传统单阶段或两阶段方法那样进行锚点设置和后处理步骤。此外,动作性回归头非常轻量化。它只需预测类别无关的置信度分数。这个头的计算成本(以 FLOPs 计算)仅占整个模型的 6.59%。不同的是,两阶段方法的第二阶段通常占据主要的计算成本(例如,BMN [11] 中的 99.98%)。我们还注意到,即使没有动作性回归,TadTR 也可以进行稀疏而完整的检测。
B. Training and Inference
动作匹配。动作匹配模块在训练过程中确定分配给每个检测的目标。受目标检测中 DETR [15] 的启发,我们将其框架设定为一个集合到集合的二分匹配问题,以确保一对一的真实值分配。
设 Y = { y j } j = 1 N q Y=\{y_j\}_{j=1}^{N_q} Y={yj}j=1Nq 为填充了 ∅ \varnothing ∅(无动作)的真实动作集, π \pi π 为将每个目标 y j y_j yj 分配给相应检测 y ^ π ( j ) \hat{y}_{\pi(j)} y^π(j) 的排列。二分匹配旨在找到最小化总体匹配成本的排列:
其中 c j c_j cj 和 s j s_j sj 分别是 y j y_j yj 的类别标签和时间段。 L c l s ( p π ( j ) , c j ) \mathcal{L}_{cls}(\boldsymbol{p}_{\pi(j)}, c_j) Lcls(pπ(j),cj) 是分类项。我们默认使用交叉熵损失。 L s e g ( s j , s ^ π ( j ) ) \mathcal{L}_{seg}(s_j, \hat{s}_{\pi(j)}) Lseg(sj,s^π(j)) 是预测位置与真实位置之间的距离,定义为
其中, L L 1 \mathcal{L}_{L1} LL1 是 L 1 L_1 L1 距离, L i o u \mathcal{L}_{iou} Liou 是 IoU 损失。IoU 损失定义为 IoU 的反数。 λ i o u \lambda_{iou} λiou 和 λ c o o r d \lambda_{coord} λcoord 是超参数。匹配问题通过匈牙利算法解决。
通过基于集合的动作匹配,每个真实目标只会被分配到一个预测结果,从而避免了重复预测。这带来了两个优点。首先,TadTR 不依赖于不可微分的非极大值抑制(NMS)进行后处理,享受端到端训练的优势。其次,我们可以使用有限的查询(例如 10 个)进行稀疏预测,而不是许多之前的方法中的密集预测(例如 BMN [11] 和 G-TAD [2] 中的数万次预测),这节省了计算成本。
在某种程度上,动作匹配模块执行了一个可学习的 NMS。匹配成本考虑了检测结果的分类分数。通过这种方式,得分较低的检测更可能被分配到非动作目标。因此,它们的分类分数在训练过程中会被抑制。
Loss Functions.一旦确定了真实标签的分配,我们通过最小化以下多部分损失函数来优化网络:
其中前两个项用于优化解码器的检测结果,最后一个项用于优化动作性回归的输出。 L c l s L_{cls} Lcls 使用焦点损失 [66]。 π ^ \hat{\pi} π^ 是方程 (6) 的解。 λ a c t \lambda_{act} λact 是一个超参数。
Inference.在推理时,我们只考虑最后一层解码器的动作预测结果。检测 y ^ i \hat{y}_i y^i 的置信度分数通过 p ^ i ( c ^ i ) ⋅ g ^ i \sqrt{\hat{\boldsymbol{p}}_i(\hat{c}_i) \cdot \hat{g}_i} p^i(c^i)⋅g^i 计算,其中 c ^ i \hat{c}_i c^i 是预测的动作标签。
IV. EXPERIMENTS
V. CONCLUSION
我们提出了 TadTR,这是一种基于 Transformer 的简单端到端的时间动作检测(TAD)方法。它将 TAD 任务视为一个直接的集合预测问题,并通过自适应地提取视频中的时间上下文,将一系列可学习的嵌入映射到动作实例上,从而简化了 TAD 的流程,去除了诸如锚点设置和后处理等手工设计的组件。我们做了三项改进,以增强 Transformer 的局部感知能力,更好地适应 TAD 任务。大量实验验证了 TadTR 的显著性能和效率以及不同组件的有效性。TadTR 在 HACS Segments、THUMOS14 和 ActivityNet-1.3 上实现了最先进或竞争的性能,并且计算成本较低。我们希望这项工作能够促进 Transformer 和高效模型在时间动作检测领域的发展。当前 TadTR 的实现基于离线提取的 CNN 特征,以便与之前的方法进行公平比较。未来,我们计划探索视频编码器和 TadTR 的联合学习,以及完全基于 Transformer 的时间动作检测器。