【时间动作定位】End-to-end Temporal Action Detection with Transformer 论文阅读

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} XVRTS×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} XERTS×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 zqRC 为查询 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} XRTS×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)} hmRTS×(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)} WmVRC×(C/M) 是一个可学习的权重。TDA 的输出通过不同头部的输出的线性组合来计算:
在这里插入图片描述
其中 W O ∈ R C × C \boldsymbol{W}^O \in \mathbb{R}^{C \times C} WORC×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^iRC,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) (l1)-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(l1)=(t^i(l1),d^i(l1)),第 l l l-th 解码器层预测相对于 s ^ i ( l − 1 ) \hat{s}_i^{(l-1)} s^i(l1) 的位置偏移 ( Δ 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(l1),即第 ( l − 1 ) (l-1) (l1) 层解码器中细化后的段落中心,用作第 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}} XsiRTR×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 的时间动作检测器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/49816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

四、GD32 MCU 常见外设介绍 (7) 7.I2C 模块介绍

7.1.I2C 基础知识 I2C(Inter-Integrated Circuit)总线是一种由Philips公司开发的两线式串行总线,用于内部IC控制的具有多端控制能力的双线双向串行数据总线系统,能够用于替代标准的并行总线,连接各种集成 电路和功能模块。I2C器件能够减少电…

整合StarRocks主键表全部知识点

总结StarRocks主键表的全部内容的集合(V3.2版本) 一、基本功能 主键非空约束,任何一个字段都不可以为空支持导入数据时删除数据操作(CDC)支持部分更新支持独立的排序键(只有主键表支持独立排序键,而且可以不为key键&…

极限科技闪耀 2024 可信数据库发展大会,多款自研产品引领搜索技术新纪元

北京,7 月 16、17 日 —— 在由中国信息通信研究院(中国信通院)与中国通信标准化协会联合主办,InfoQ 协办的“2024 可信数据库发展大会”(TDBC 2024)上,极限科技凭借其前沿的搜索技术创新与卓越…

【相机与图像】1. 相机模型的介绍:内参、外参、畸变参数

想着整理下相机模型(内容上参考 slam十四讲)、相机的内外参标定。方便自己的使用和回顾。 不过,内外参标定啥时候记录随缘 -_- 概述 【构建相机模型】 相机将三位世界中的坐标点(单位为米)映射到二维图像平面&#xff…

py Qt5学习记录

1.Qt5的安装 可参考一些博客如:Python 小白从零开始 PyQt5 项目实战(2)菜单和工具栏_pyqt 二级菜单-CSDN博客 2.Qt5的界面显示 3.新建一个工具栏并打开本地文件方法 (1)在Qt5界面右下角有个“动作编辑器”&#xff…

每日一题~961div2A+B+C(阅读题,思维,数学log)

A 题意&#xff1a;给你 n*n 的表格和k 个筹码。每个格子上至多放一个 问至少占据多少对角线。 显然&#xff0c;要先 格数的多的格子去放。 n n-1 n-2 …1 只有n 的是一个&#xff08;主对角线&#xff09;&#xff0c;其他的是两个。 #include <bits/stdc.h> using na…

基于微信小程序图书馆座位预约管理系统设计与实现

1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着电脑和笔记本的广泛运用&#xff0c;以及各种计算机硬件的完善和升级&#x…

JS 事件循环(Event Loop)机制

事件循环机制的作用 事件循环机制是 JS 的一种执行机制&#xff0c;一种可以实现异步编程的机制。 因为 JS 是单线程的&#xff0c;单线程意味着所有任务需要排队执行。但是有一些 API&#xff08;比如&#xff1a;定时器和 Ajax 等&#xff09;是需要等待一定的时间才能得到…

【Python】一文向您详细介绍 K-means 算法

【Python】一文向您详细介绍 K-means 算法 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通本硕&#xff…

Visual Studio 2022新建 cmake 工程测试 tensorRT 自带样例 sampleOnnxMNIST

1. 新建 cmake 工程 vs2022_cmake_sampleOnnxMNIST_test( 如何新建 cmake 工程&#xff0c;请参考博客&#xff1a;Visual Studio 2022新建 cmake 工程测试 opencv helloworld ) 2. 删除默认生成的 vs2022_cmake_sampleOnnxMNIST_test.h 头文件 3. 修改默认生成的 vs2022_cma…

BSV区块链在人工智能时代的数字化转型中的角色

​​发表时间&#xff1a;2024年6月13日 企业数字化转型已有约30年的历史&#xff0c;而人工智能&#xff08;以下简称AI&#xff09;将这种转型提升到了一个全新的高度。这并不难理解&#xff0c;因为AI终于使企业能够发挥其潜力&#xff0c;实现更宏大的目标。然而&#xff0…

MySQL中实现动态表单中JSON元素精准匹配的方法

目录 前言 一、动态表单技术 1、包含的主要信息 2、元素属性设置 3、表单内容 二、表单数据存储和查询 1、数据存储 2、数据的查询 3、在5.7版本中进行JSON检索 4、8.0后的优化查询 三、总结 前言 在很多有工作流设置的地方、比如需要在不同的流程中&#xff0c;需要…

服务器数据恢复—V7000存储硬盘故障脱机的数据恢复案例

服务器存储数据恢复环境&#xff1a; 某品牌P740小型机AIXSybaseV7000磁盘阵列柜&#xff0c;磁盘阵列柜中有12块SAS机械硬盘&#xff08;其中包括一块热备盘&#xff09;。 服务器存储故障&#xff1a; 磁盘阵列柜中有一块磁盘出现故障&#xff0c;运维人员用新硬盘替换掉故障…

网络安全等级保护解决方案的主打产品

网络安全等级保护解决方案的主打产品&#xff1a; HiSec Insight安全态势感知系统、 FireHunter6000沙箱、 SecoManager安全控制器、 HiSecEngine USG系列防火墙和HiSecEngine AntiDDoS防御系统。 华为HiSec Insight安全态势感知系统是基于商用大数据平台FusionInsight的A…

【LeetCode】201. 数字范围按位与

1. 题目 2. 分析 这题挺难想的&#xff0c;我到现在还没想明白&#xff0c;为啥只用左区间和右区间就能找到目标值了&#xff0c;而不用挨个做与操作&#xff1f; 3. 代码 class Solution:def rangeBitwiseAnd(self, left: int, right: int) -> int:left_bin bin(left).…

k8s集群可视化工具安装(dashboard)

可视化安装 2.1、下载相关的yaml文件 wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml Vim recommended.yaml 2.2、部署 kubectl apply -f recommended.yaml 查看那kubernetes-dashboard命令空间下的资源 kubectl get …

ZLMRTCClient配置说明与用法(含示例)

webRTC播放视频 后面在项目中会用到通过推拉播放视频流的技术&#xff0c;所以最近预研了一下webRTC 首先需要引入封装好的webRTC客户端的js文件ZLMRTCClient.js 下面是地址需要的自行下载 http://my.zsyou.top/2024/ZLMRTCClient.js 配置说明 new ZLMRTCClient.Endpoint…

技术分享!国产ARM + FPGA的SDIO通信开发介绍!

SDIO总线介绍 SDIO(Secure Digital lnput and Output),即安全数字输入输出接口。SDIO总线协议是由SD协议演化而来,它主要是对SD协议进行了一些扩展。 SDIO总线主要是为SDIO卡提供一个高速的I/O能力,并伴随着较低的功耗。SDIO总线不但支持SDIO卡,而且还兼容SD内存卡。支持…

韦东山嵌入式linux系列-具体单板的按键驱动程序(查询方式)

1 GPIO 操作回顾 &#xff08;1&#xff09;使能模块&#xff1b; &#xff08;2&#xff09;设置引脚的模式&#xff08;工作于GPIO模式&#xff09;&#xff1b; &#xff08;3&#xff09;设置GPIO本身&#xff08;输入/输出&#xff09;&#xff1b; &#xff08;4&…

在VMware创建Ubuntu24

目录 一、创建虚拟机 1. 自定义创建虚拟机 2. 设置虚拟机兼容 3. 选择镜像 4. 命名虚拟机&#xff0c;选择存放位置 5. 处理器配置 6. 内存配置 7. 网络类型配置 8. I/O控制器类型 9. 磁盘配置 10. 完成虚拟机创建 二、Ubuntu安装 1. 进入虚拟机中进行ubuntu的安…