前言:
现时各位老铁们对“pcanet代码”大体比较注意,同学们都想要知道一些“pcanet代码”的相关内容。那么小编在网络上汇集了一些有关“pcanet代码””的相关文章,希望我们能喜欢,姐妹们一起来学习一下吧!论文题目:
TriDet: Temporal Action Detection with Relative Boundary Modeling
摘要
在本文中,我们提出了一个用于时间动作检测的单阶段框架TriDet,由于视频中动作边界不明确,现有的方法往往存在边界预测不精确的问题。为了解决这个问题,我们提出了一种新的三叉戟头,通过估计边界周围的相对概率分布来建模动作边界。在TriDet的特征金字塔中,我们提出了一个有效的可缩放粒度感知(SGP)层,以减轻视频特征中发生的自关注的秩损失问题,并跨不同的时间粒度聚合信息。得益于Trident-head和基于sgp的特征金字塔,TriDet在三个具有挑战性的基准测试中实现了最先进的性能:THUMOS14、HACS和EPIC-KITCHEN 100,与之前的方法相比,计算成本更低。例如,TriDet在THUMOS14上的平均mAP命中率为69.3%,比之前的最佳表现高出2.5%,但延迟仅为其74.6%。
代码:。
1. 介绍
时间动作检测(TAD)的目的是检测出未修剪视频中所有的开始和结束瞬间以及相应的动作类别,受到了广泛的关注。在深度学习的帮助下,TAD得到了显著的改善。然而,由于一些尚未解决的问题,TAD仍然是一项非常具有挑战性的任务。
TAD的一个关键问题是行动边界通常不明显,在物体检测中,物体和背景之间通常有清晰的边界,而在视频中,动作边界可能是模糊的。具体表现为边界周围的瞬间(即视频特征序列中的时间位置)具有相对较高的分类器预测响应值。
之前的一些研究尝试基于预测时间段的全局特征来定位边界,这可能会忽略每个瞬间的详细信息。作为另一项工作,他们直接基于单个瞬间回归边界,可能带有一些其他特征,这些特征不考虑相邻瞬间之间的关系(例如相对概率)在边界附近。如何有效地利用边界信息仍然是一个悬而未决的问题。
为了便于定位学习,我们假设视频中时间特征的相对响应强度可以减轻视频特征复杂性的影响,提高定位精度。基于此,我们提出了一种单级动作检测器,其检测头名为Trident-head,专为动作边界定位而设计。具体而言,本文提出的三叉戟头模型不是直接基于中心点特征预测边界偏移量,而是通过估计边界的相对概率分布来建模动作边界(见图1),然后根据相邻位置(即箱)的期望值计算边界偏移量。
除三叉戟头外,本文提出的动作检测器还包括一个骨干网络和一个特征金字塔。最近的TAD方法采用基于变压器的特征金字塔,表现出良好的性能。然而,视频骨干网的视频特征往往在片段之间表现出很高的相似性,这种相似性被SA进一步恶化,导致秩损失问题(见图2)。此外,SA也会产生大量的计算开销。
幸运的是,我们发现以前基于变压器的层(在TAD中)的成功主要依赖于它们的宏观体系结构,即规范化层和前馈网络(FFN)如何连接,而不是自关注机制。因此,我们提出了一个有效的基于卷积的层,称为可缩放粒度感知(SGP)层,以缓解上述两个自关注问题。SGP包括两个主要分支,用于增强对每个瞬间特征的识别,并捕获不同尺度感受野的时间信息。
由此产生的动作检测器称为TriDet,广泛的实验表明,TriDet超越了所有以前的探测器,并在三个具有挑战性的基准测试中实现了最先进的性能:THUMOS14, HACS和EPIC-KITCHEN 100。
2. 相关工作
时间动作检测 时间动作检测(TAD)涉及对未修剪视频中的所有动作进行定位和分类。现有的方法大致可分为两类,即两阶段法和一阶段法。两阶段方法将检测过程分为两个阶段:提案生成和提案分类。之前的大部分作品都强调了提案生成短语。具体而言,一些作品预测动作边界的概率,并根据预测得分将开始和结束时刻进行密集匹配。基于锚定的方法对来自特定锚定窗口的操作进行分类。然而,两阶段方法的问题非常复杂,不能以端到端方式进行训练。单阶段方法使用单个网络进行定位和分类。一些先前的作品用卷积网络(CNN)构建了这种分层结构。然而,基于cnn的方法与最新的TAD方法在性能上仍然存在差距。
对象检测 目标检测是TAD的双重任务。General Focal Loss将边界盒回归从学习Dirac δ分布转变为一般分布函数。一些方法使用深度卷积对网络结构建模,一些分支设计显示出较高的泛化能力。
Transformer-based方法 受Transformer在机器翻译和目标检测领域取得巨大成功的启发,最近的一些作品在TAD任务中采用了注意机制,这有助于提高检测性能。例如,一些作品使用类似dert的基于transformer的解码器检测动作,该解码器将动作实例建模为一组可学习的实例。其他作品使用基于transformer的编码器提取视频表示。然而,这些方法大多是基于局部行为的。也就是说,它们只在局部窗口中进行注意操作,这引入了类似于CNN的归纳偏置,但具有更大的计算复杂度和额外的限制(例如,序列的长度需要预先填充为窗口大小的整数倍)。
3.方法
问题定义 首先给出TAD任务的形式化定义,具体来说,给定一组未修剪的视频D = {Vi}ni=1,我们有一组RGB(和光流)时间视觉特征Xi={xt}Tt=1来自每个视频Vi,其中T对应于瞬间数,Ki段标记Yi={sk,ek,ck}Kik=1,动作段开始瞬间sk,结束瞬间ek和相应的动作类别ck。TAD旨在基于输入特征Xi检测所有片段Yi。
3.1方法概述
我们的目标是建立一个简单高效的单阶段时间动作检测器,如图3所示,TriDet的整体架构由三个主要部分组成:视频特征主干、SGP特征金字塔和面向边界的Trident头部。首先,使用预训练的动作分类网络(例如I3D或SlowFast)来提取视频特征。随后,建立了SGP特征金字塔,以处理具有不同时间长度的动作,类似于最近的一些TAD工作。也就是说,对时间特征进行迭代下采样,并使用所提出的可扩展粒度感知(SGP)层(第3.2节)处理每个尺度级别,以增强具有不同时间范围的特征之间的交互。最后,通过设计的面向边界的三叉戟头部检测动作实例(第3.3节)。我们在下文中详细介绍了所提出的模块。
3.2.具有SGP层的特征金字塔
通过首先通过最大池化对视频骨干网络的输出特征进行多次下采样(步长为2)来获得特征金字塔,然后使用类似变换器的层(例如ActionFormer)处理每个金字塔级别的特征。
当前Transformer的TAD任务方法主要依赖于变换器的宏架构(详见补充材料),而不是自我注意机制。具体来说,SA主要遇到两个问题:跨时间维度的秩损失问题及其高昂的计算开销。
限制1:秩损失问题 由于自关注中的概率矩阵(即softmax(QKT))是非负的,并且每一行的和为1,说明SA的输出是值特征V的凸组合,因此出现了秩损失问题。考虑到纯层归一化将特征投影到高维空间的单位超球上,我们通过研究瞬时特征内特征之间的最大角度来分析它们的可分辨程度。我们证明了凸组合后特征之间的最大角度小于或等于输入特征之间的最大角度,导致特征之间的相似性增加(如补充材料中所述),这可能对TAD有害。
限制2:计算复杂度高 此外,自注意中的密集成对计算(即时特征之间)带来了很高的计算开销,从而降低了推理速度。
SGP层 基于上述发现,我们提出了一个可扩展粒度感知(SGP)层来有效捕获动作信息并抑制秩损失。Transformer层和SGP层之间的主要区别是用全卷积模块SGP替换了自关注模块。连续的层归一化(LN)改为组归一化(GN)。
如图4所示,SGP包含两个主要分支:瞬时级分支和窗口级分支。在瞬时级分支,我们的目标是通过视频级平均特征增大动作和非动作瞬间的特征距离来提高特征的可分辨性。窗口级分支的目的是引入语义内容从一个更广泛的接受场与分支ψ,以帮助动态地关注特征的尺度。数学上,SGP可以写成:
其中,FC和Convw表示时间维度上的全连接层和一维深度卷积层,窗口大小为w。k作为SGP的一种签名设计,是一个可扩展因子,旨在捕获更大粒度的时间信息。视频级平均特征φ (x)和分支ψ(x)给出为
其中AvgPool(x)是时间维度上所有特征的平均池化,这里,φ (x)和ψ(x)都与主流特征执行逐元乘法。由此产生的基于sgp的特征金字塔可以比基于变压器的特征金字塔获得更好的性能,同时效率更高。
3.3. 三叉戟头与相对边界建模
行动边界的内在属性 对于检测头,现有的一些方法直接对动作在特征的每个瞬间的时间长度进行回归,并用边界特征进行细化,或者直接预测动作性得分(表示成为动作的概率)。这些简单的策略在实践中遇到了一个问题:由于视频中动作的内在属性,边界预测不精确。即,动作的边界通常不明显,不像物体检测中的物体边界。直观地说,统计性更强的边界定位方法可以减少不确定性,实现更精确的边界。
Trident-head 在这项工作中,我们提出了一种基于相对边界建模的面向边界的Trident-head来精确定位动作边界,即考虑某一时间段内特征之间的关系,获得该时间段内每个瞬间成为边界的相对概率。三叉戟头由起始头、结束头和中心偏移头三部分组成,分别用于定位动作的起始边界、结束边界和时间中心。三叉戟头可以端到端与探测器一起训练。
具体而言,如图5所示,给定特征金字塔输出的特征序列F∈RT ×D,我们首先从三个分支(即Fs∈RT, Fe∈RT和Fc∈RT ×2×(B+1))中获得三个特征序列,其中B为边界预测的bin数,Fs和Fe将每个瞬间的响应值表征为一个动作的开始点或结束点。此外,中心偏移头旨在估计两个条件分布P (bst|t)和P (bet|t)。它们表示当瞬间t是一个动作的中点时,每个瞬间(在它的一组箱子中)作为边界的概率。然后,结合边界头和中心偏移头的输出对边界距离进行建模:
其中,F [(t−B):t]s∈RB+1, F t,0c∈RB+1分别为瞬间t的左邻bin set的特征和仅由瞬间t预测的中心偏移量,ePst为相对概率,表示每个瞬间作为bin set内动作开始的概率。然后,动作实例dst的瞬间t与开始瞬间之间的距离由相邻bin集的期望给出。类似地,端点边界det的偏移距离可由
所有头像都简单地在三层卷积网络中建模,并在所有特征金字塔级别共享参数,以减少参数的数量。
结合特征金字塔 我们将Trident-head应用于预定义的局部bin集,通过将其与特征金字塔相结合可以进一步改进。在这种情况下,特征金字塔的每一层的特征只是共享相同的少量bin B(如16),然后每一层l对应的预测可以缩放,这可以显著地帮助稳定训练过程。形式上,在第l个特征层tl的瞬间,TriDet用上面描述的Trident-head估计边界距离,然后用a = (m_st, m_et)解码段
与现有显式边界建模方法的比较 许多先前的方法改进了边界预测,我们将其分为两大类:基于分段采样瞬间的预测和基于单个瞬间的预测。第一类根据预测的实例段的全局特征预测边界。他们只考虑全局信息,而不是每个瞬间的详细信息。第二类基于瞬间级特征直接预测瞬间与其对应边界之间的距离,有些算法利用边界特征对分割段进行细化。然而,它们没有考虑相邻瞬间的关系(即成为边界的相对概率)。所提出的三叉戟头与这两种类型不同,在精确边界定位方面表现出优越的性能。
3.4. 训练与推理
特征金字塔的每一层l输出一个时间特征F l∈R(2l−1T)×D,然后将其馈送到分类头和Trident-head进行动作实例检测。总体损失函数定义如下:
其中σIoU为预测段与地面真实动作实例之间的时间IoU, Lcls、Lreg为焦点损失、IoU损失,Npos和nnegative表示阳性和阴性样本的数量。术语σIoU用于在每个瞬间重新加权分类损失,以便具有更好回归(即更高质量)的瞬间对训练贡献更多。按照以往的方法,采用中心抽样确定阳性样本。也就是说,围绕动作实例中心的瞬间被标记为积极的,而所有其他的瞬间都被认为是消极的。
推理 在推理时,保留分类分数高于阈值λ的瞬间及其对应的实例,最后,采用Soft-NMS对预测实例进行重复数据删除。
4. 实验
数据集 我们在四个具有挑战性的数据集上进行了实验:THUMOS14、ActivityNet-1.3、HACSSegment和EPIC-KITCHEN 100。THUMOS14由20个运动动作类组成,它包含200个和213个未修剪的视频,在训练集和测试集上分别有3,007和3,358个动作实例。ActivityNet和HACS是两个大型数据集,它们共享200类动作。他们有10024个和37613个视频用于训练,还有4926个和5981个视频用于测试。EPIC-KITCHEN 100是一个第一人称视角的大规模数据集,它有两个子任务:名词定位(例如门)和动词定位(例如打开门)。它包含495和138个视频,分别有67217和9668个用于训练和测试的动作实例。名词和动词的动作类分别为300个和97个。
评估 对于所有这些数据集,只有训练集和验证集的注释是可访问的。按照之前的实践,我们对验证集进行评估。我们报告了在不同交集的平均精度(mAP)在联合(IoU)阈值。对于THUMOS14和EPIC-KITCHEN,我们报告的IoU阈值分别为[0.3:0.7:0.1]和[0.1:0.5:0.1]。对于ActivityNet和HACS,我们报告IoU阈值[0.5,0.75,0.95]的结果,平均mAP计算为[0.5:0.95:0.05]。
4.1. 实现细节
使用AdamW优化器对TriDet进行端到端训练,THUMOS14和EPIC-KITCHEN的初始学习率设置为10−4,ActivityNet和HACS的初始学习率设置为10−3。我们在起始边界头和结束边界头前分离梯度,用高斯分布N(0,0.1)初始化这两个头的CNN权值,以稳定训练过程。学习率用余弦退火计划更新。我们为THUMOS14、epickkitchen动词、EPIC-KITCHEN名词、ActivityNet和HACS(包含热身20、5、5、10、10个epoch)训练了40、23、19、15和13个epoch。
对于ActivityNet和HACS, Trident-head的bin数B设置为12,14,卷积窗口w设置为15,11,比例因子k分别设置为1.3和1.0。对于THUMOS14和EPIC-KITCHEN, Trident-head的bin数B设置为16,卷积窗口w设置为1,比例因子k设置为1.5。为了方便起见,我们将按比例计算的窗口大小四舍五入,取到最接近的奇数,我们在单个NVIDIA A100 GPU上进行实验。
4.2. 主要结果
THUMOS14 我们采用常用的I3D作为主干特征,结果如表1所示。该方法的平均mAP值为69.3%,优于以往的一阶段法和两阶段法。值得注意的是,我们的方法也比最近基于transformer的方法取得了更好的性能,这表明简单的设计也可以取得令人印象深刻的结果。
HACS 对于HACS-segment数据集,我们基于两个常用的特征进行实验:官方I3D特征和SlowFast特征。如表2所示,我们的方法在官方特征下平均mAP达到36.8%。它是最先进的,在平均mAP上比之前的最佳模型TadTR高出约4.7%。我们还表明,将骨干网改为SlowFast可以进一步提高性能,导致平均mAP增加1.8%,这表明我们的方法可以从更先进的骨干网中受益。
EPIC-KITCHEN 在该数据集上,按照前面的方法,采用SlowFast作为主干特征。我们主要比较的方法是ActionFormer,该方法在EPICKITCHEN 100数据集中表现出了很好的性能。我们将结果显示在表3中,我们的方法在动词和名词两个子任务上都有显著的提高,平均mAP分别达到25.4%和23.8%。请注意,我们的方法在具有相同特征的情况下比ActionFormer性能要好得多(动词和名词的平均mAP分别为1.9%和1.9%)。此外,我们的方法在这个具有挑战性的数据集上实现了最先进的性能。
ActivityNet 对于ActivityNet v1.3数据集,我们采用TSPR(2+1)D作为我们的主干特征。按照之前的方法,采用UntrimmedNet预测的视频分类分数与最终检测分数相乘。表4给出了结果。我们的方法仍然显示出有希望的结果:TriDet在具有相同特征的情况下优于第二好的模型,仅比TCANet差,TCANet是一种两阶段方法,使用SlowFast作为目前不可用的骨干特征。
4.3. 消融实验
在本节中,我们主要在THUMOS14数据集上进行消融研究。
主要成分分析 我们在trident: SGP层和Trident-head中验证了我们提出的组件的有效性。为了验证我们的SGP层的有效性,我们使用的基线特征金字塔来替换我们的SGP层。基线由两个卷积层和快捷方式组成。在我们的SGP层中,将卷积层的窗口大小设置为3,中间特征的通道数设置为与FFN中的中间维度相同的维度。所有其他超参数(例如金字塔层的数量等)都设置为与我们的框架相同。
如表5所示,与我们实现的基线模型(第1行)相比,SGP层在平均mAP上带来了6.2%的绝对改进。其次,我们将SGP与之前最先进的方法ActionFormer进行比较,后者在窗口大小为7(第2行)的滑动窗口行为中采用自关注机制。我们可以看到我们的SGP层在平均mAP上仍然有1.5%的提高,这表明卷积网络在TAD任务中也可以有出色的性能。此外,我们还将我们的Trident-head与正常的瞬时级回归head进行了比较,后者对每个瞬间的边界距离进行了回归。我们可以看到,三叉戟头将平均mAP提高了1.0%,在IoU阈值较高的情况下,mAP的提高更为明显(例如IoU 0.7的平均mAP提高了1.6%)。
计算的复杂性 我们将TriDet的计算复杂度和延迟与最近的ActionFormer进行了比较,后者通过引入基于transformer的特征金字塔对TAD进行了很大的改进。
如表6所示,我们将检测器分为主体架构和检测头(如分类头、回归头)两部分,我们使用形状为2304 × 2048的输入报告了THUMOS14数据集上每个部分的gmac和推理延迟(平均超过5倍)。我们还分别使用三叉戟头和正态回归头报告我们的结果。首先,从第一行,我们看到我们的主架构的gmac只有ActionFormer 的47.1%(14.5 vs . 30.8),总体延迟仅为65.2% (146ms vs . 224ms),但TriDet仍然比ActionFormer平均mAP高出1.5%,这表明我们的主要架构比本地基于transformer的方法要好得多。此外,我们用Trident-head进一步评估了我们的方法。实验结果表明,我们的框架可以通过tridenhead进一步提高1.0%的平均mAP, gmac仍然比ActionFormer小1.6G,延迟仍然只有它的74.6%,证明了我们的方法的高效率。
SGP层窗口尺寸影响 在本节中,我们研究了与SGP层中窗口大小相关的两个超参数的有效性。首先,我们固定k = 1,改变w。其次,我们固定w = 1的值,改变k。最后,我们在THUMOS14数据集上展示结果如图6所示。我们发现w和k的不同选择在两个数据集上都会产生稳定的结果,THUMOS14的最优值为w = 1, k = 5。
特征金字塔层数的有效性 为了研究特征金字塔的有效性及其与Trident-head bin集合数量的关系,我们从具有16个bin和6个level的特征金字塔开始消融。我们进行了两组实验:对特征金字塔中的每个级别使用固定数量的箱子或缩放数量的箱子。由表7可以看出,检测性能随着层数的增加而提高。当level越少(即level小于3)时,越多的箱子会带来更好的性能。这是因为level的数量越少,就需要更多的箱子来预测长时间的动作(即在最高级别上具有更高的分辨率)。当级别数为6时,我们获得了最好的结果。
消融对箱数的影响 在本节中,我们在表8中展示了在THUMOS14和HACS数据集上选择箱数的消融结果。我们观察到THUMOS14和HACS分别在16和14处获得最优值。我们还发现,在HACS上,较小的bin值会导致显著的性能下降,而在THUMOS14上则不会。这是因为THUMOS14数据集旨在从长视频中检测大量的动作片段,较小的bin值可以满足要求,但在HACS上,持续时间较长的动作较多,因此需要较大数量的bin。
5. 结论
在本文中,我们的目标是通过一个简单的基于一阶段卷积的框架TriDet与相对边界建模来改进时间动作检测任务。在THUMOS14、HACS、EPICKITCHEN和ActivityNet上进行的实验表明,我们的方法具有很高的泛化能力,在前三个数据集上取得了最先进的性能,在ActivityNet上取得了可比较的结果,进行了广泛的消融研究,以验证每个提出的组件的有效性。
标签: #pcanet代码