集智书童 | 用于时态动作检测的预测反馈 DETR !

本文来源公众号“集智书童”,仅用于学术分享,侵权删,干货满满。

原文链接:用于时态动作检测的预测反馈 DETR !

视频中的时间动作检测(TAD)是现实世界中的一个基本且具有挑战性的任务。得益于 Transformer 的独特优势,各种基于DETR的方法已在TAD中得到应用。

然而,最近的研究发现,DETR中自注意力层中的注意力衰减导致了其性能下降。本文在之前研究的基础上,针对DETR基础TAD方法中的交叉注意力层注意力衰减问题进行新的探讨。

此外,作者的研究结果发现,交叉注意力与预测之间存在与预测不同的模式,这表明了一个短路现象。为了解决这个问题,作者提出了一种新的框架,即预测反馈DETR(Pred-DETR),该框架利用预测来恢复注意力衰减并使交叉注意力与预测对齐。

具体而言,作者从预测的相互关系中设计出了新的预测反馈目标。

因此,Pred-DETR在缓解衰减并实现各种具有挑战性的基准测试结果(包括THUMOS14、ActivityNet-v1.3、HACS和FineAction等基于DETR的方法的最新性能)方面取得了良好的效果。

1 Introduction

随着社会的进步,视频媒体的使用越来越广泛,因此,寻找未剪辑视频中所需特定片段的效率方法的需求也在迅速增长。Temporal Action Detection(TAD)是一个基本任务,旨在识别视频中的特定动作并确定它们的时间边界。TAD主要通过两阶段的方法得到了提高。然而,最近的研究越来越多地关注基于DETR的端到端方法。

DETR [10]是一种最初在目标检测领域提出的框架,也是第一个使用集合预测的端到端检测框架。DETR方法还扩展到了视频领域,并应用于TAD 。在TAD中,每个 Query 用于预测视频中的一个动作及其对应的时间间隔。为了实现这一点,采用二分匹配来将每个 Query 与GT动作及其在未剪辑视频中的时间间隔对齐。这种方法的一个显著优点是排除了传统的启发式方法,如非极大值抑制(NMS)。

尽管标准注意力(简称为原始-DETR)的DETR在与变形DETR[16]在目标检测方面可以兼容,但在TAD的原始-DETR(即使最近采用了DAB-DETR[16]这样的结构)甚至表现更差。最近,问题的根源被Self-DETR[16]确定为自注意力(SA)中的注意力衰竭问题,如图1(e)所示,其中所有解码器 Query 都聚焦在几个 Query 上。注意力衰竭是注意力模块跳过的现象,目的是防止模型退化为秩1矩阵。Self-DETR利用交叉注意力(CA)图来恢复塌陷的SA。

然而,他们的解决方案依赖于CA的健壮性,否则它可能是不最佳的。作者发现CA不是健壮的,而更为糟糕,如图1所示。该图显示了CA解码器 Query 关注于少数编码器特征((图1中的(a))),并在几乎所有的 Query 中显示相同的模式。这是一个特别关键的问题,因为CA对于该任务至关重要,因为它在 Query 和视频特征之间架起了桥梁。这使作者得出解决CA塌陷并开发另一种自我反馈方法的结论。

图1还插入了(b)中的局部化预测和(f)中相应的交互与统一(IoU)映射作为 Query 的自我关系。在图中,注意力图清楚地显示出不同的模式,与它们的预测和自我关系无关。通常,作者理解为注意力图表示了模型关注的重点,因此暗示了为什么会产生这些结果。

因此,这种现象类似于一个捷径,模型依赖简单的线索,而不是有意义的表现。尽管存在塌陷的注意力,但模型仍可以生成多样且合理的结果,尽管所有的 Query 都关注相同的背景区域,如图1中的CA中所示。这是因为目标检测任务中的二元匹配通过惩罚重复结果来施加不同的预测。基于这个观察,作者建议将注意力图与相应的预测对齐。通过使用预测而不是塌陷的CA作为注意力指南,作者的目标是扩展模型,解决关注塌陷问题。

为此,作者提出一个新的框架,即预测反馈DETR(Pred-DETR),来解决DETR中整个注意力机制的塌陷问题。作者的方法首先将解码器 Query 之间的关系表示为DETR预测与时间间隔之间的IoU相似性映射。作者还把CA映射转化为解码器 Query 的自我关系。接下来,作者引入一个辅助目标,将CA和SA映射的自我关系与基于预测的IoU相似性映射对齐。此外,作者利用最近DETR机制的编码器预测来引导编码器SA和解码器CA。在包括THUMOS14,ActivityNet-v1.3,HACS和FineAction在内的各种具有挑战性的基准测试中,作者证明了所提出的方法显著减少了关注塌陷问题的程度。此外,激活的注意力导致了显著的性能改进,使其成为基于DETR方法的新颖最先进水平。

总之,作者的主要贡献如下:

  • 作者在TAD(Transformer-only Action Detection)的cross-attention中发现了注意力衰减问题。特别是,作者发现cross-attention的明显模式与预测不同,这意味着衰减现象是由于衰减引起的。

  • 作者提出了一种新的框架,叫做预测反馈DETR(Pred-DETR),它利用预测来减轻注意力衰减。作者为衰减的注意力模块设置一个辅助目标,使其与预测的IoU关系对齐。

  • 作者的广泛实验表明,Pred-DETR通过保持高关注度的多样性显著降低了注意力衰减的程度。此外,作者还验证了作者的模型在与DETR模型相比实现了新的最先进性能,这些模型是基于THUMOS14、ActivityNet-v1.3、HACS和FineAction的。

2 Related Work

2.1 Temporal Action Detection

动作检测(TAD)任务的目标是识别无剪辑视频中的动作时间段并将其分类为一类实例。在过去十年中,通过基础方法的研究和应用,TAD领域取得了显著的进展。受到目标检测中两阶段机制的成功启发,许多TAD方法采用了多阶段框架。

后续工作,点播学习被广泛应用于生成更灵活的 Proposal ,无需预先定义时间窗口。SSN[17]和TCN[19]引入了生成 Proposal 周围的扩展时间上下文,以提高排名性能。BSN[18]和BMN[19]将开始-结束对分组到不同的动作 Proposal 中,并对其进行最终局部化预测。BSN++[19]在BN的基础上指出,基于BSN的动作尺度存在不平衡问题。近日,ActionFormer[20]和TriDet[21]利用 Transformer 编码器作为多尺度 Backbone 网络,并BRN[18]解决了TAD的多尺度特征问题。

2.2 DETR

DETR [19] 是将目标检测视为直接的二元匹配预测问题,允许端到端检测无需任何人类启发式,例如置信度限制(NMS)。然而,DETR的需求是传统方法的10倍,因为二分匹配难以优化。为此问题,变形DETR [19]引入了稀疏注意力,通过学习指定关注的位置只关注一部分元素。基于DETR的后续模型 [19, 18]进一步通过显式编码边界信息提升了 Query 表示,这有效地帮助了训练的稳定性。

在TAD中,基于DETR的方法也被部署为DETR已达到了新的目标检测最先进性能。RTD-Net [18]识别了DETR中的密集注意力的问题,该问题表现出近似均匀分布,使得自注意力层像过度平滑一样发挥作用。TadTR [18]设计的根据变形DETR [19]的启发式设计的时序变形注意力。RecAct [19]提出了一个新的关系匹配来强制低重叠和高特征相似度的 Query 之间的高相关性。此外,LTP [18]提出了一种专为DETR设计的前向训练策略。

最近,自适应DETR [18]揭示了TAD中DETR性能下降的问题,即自注意力中的注意力衰竭,并提出了自反馈利用交叉注意力映射的引导来利用。虽然它明显降低了注意力衰竭的程度,但最佳性能取决于交叉注意力的假设。然而,作者发现交叉注意力已经崩溃,因此引入预测引导反馈,根据预测关系激活交叉注意力和自注意力。

3 Our Approach

本节介绍了作者提出的Pred-DETR方法中的预测反馈机制。具体来说,作者首先详细阐述了预备知识,讨论了注意力消融和预测。然后,作者介绍了预测反馈机制的解释,并描绘了整个框架,如图2所示。此外,作者还通过最近提出的DETR架构,将预测反馈机制扩展到编码器,仅用于训练。最后,作者总结了Pred-DETR的整体目标。

3.1 Preliminary

DETR采用了 Transformer (transformer)架构,主要由编码器(encoder)和解码器(decoder)两个部分组成。首先,编码器通过相似度计算(SA)捕捉输入特征之间的全局关系。

另一方面,解码器在目标 Query (object queries)和编码器特征(encoder features)之间执行交叉注意力(cross-attention)操作。这里目标 Query 是可学习嵌入向量(learnable embedding vectors) ,类似于 Anchor 点(anchors)的位置信息。这种机制确保每个 Query 都关注到编码器处理的最相关输入特征部分。

注意崩溃(Attention Collapse)。 注意崩溃是一种现象,其中注意力矩阵成为秩-1矩阵,以跳过注意力模块,从而防止学习[13]的退化。崩溃的注意力输出所有 Query 的均匀值,导致输入通过残差连接不需要额外的表示来传递。在本论文中,作者首次发现了 CA 的崩溃现象。这个问题使人们对 CA是可靠性的假设产生疑问。因此,需要整个注意力模块来完成崩溃的完全补救措施。

来自预测的反馈。 DETR 是最先实现端到端检测机制的作品,其中没有 Anchor 框或非极大值抑制(NMS)。由于不存在预定义的预测和真实值之间的匹配,因此它使用可学习的 Query 和二分匹配来为 Query 分配检测目标。由于匹配是一一映射,因此 DETR 预测结果将是多样的,因为当两个 Query 产生类似的局部定位结果时,一个 Query 将得到负损失。从这种特性的观点出发,预测的反馈可以激活崩溃注意力模块。

讨论: 在初始训练阶段,模型生成欠训练的预测。人们可能担心早期的反馈会影响模型的学习。然而,在前几轮迭代中,TAD的目标主要是优化反馈,确保欠训练的反馈不会破坏训练。此外,需要注意的是,由预测得出的指导并不构成注意力最佳关系。反馈充当规范器,帮助注意力图保持在预测附近,并维持与主要目标之间的平衡。同时,当预测反馈缓解崩溃时,CA的健全性得到恢复。这使得先前的 Self-DETR 工作的完整功能得到恢复。实验结果表明,恢复的 CA 显著提升了其性能。

3.2 Objectives

4 Experiments

4.1 Datasets

在本文中,作者使用了四个时间动作检测的挑战性基准:THUMOS14 江 et al. (2014),ActivityNet-v1.3 Fabian Caba Heilbron 和 Niebles (2015),HACS Zhao et al. (2019) 和 FineAction Liu et al. (2022)。

THUMOS14 分别有200 和 213 个视频用于训练集和验证集。该数据集包含与体育相关的20种动作类别。

ActivityNet-v1.3 包含 19,994 个视频,共200种动作类别。其中,10024、4926 和 5044 个视频分别用于训练、验证和测试。

HACS 中包含37613 和5981个视频,分别用于训练和验证,共200个动作类别,与ActivityNet-v1.3共享。

FineAction 包含每日事件,共计106个类别和16732个视频。THUMOS14 和FineAction 包含许多短暂的动作,而ActivityNet-v1.3 和HACS中的大多数视频则具有较长的动作。

4.2 Implementation Details

架构 作者使用了在Kinetics上的I3D Carreira和Zisserman于2017年预训练并于THUMOS14和ActivityNet-v1.3上使用。此外,作者分别采用SlowFast Feichtenhofer等人(2019)和Wang等人(2023)的VideoMAEv2-g以及在Deformable-DETR上的DAB-DETR的时序版本(如Self-DETR)。

用于TAD的增强DAB-DETR 此外,作者在DAB-DETR上引入了先进的技巧,包括保持匹配Liu等人(2023)、混合匹配Jia等人(2023)以及来自Deformable-DETR的两阶段机制。保持匹配利用预测与实际之间的IoU值作为类概率的目标值。

这与TadTR中的动作性回归密切相关。请注意,作者并未使用编码器的预测作为初始解码器 Query 。作者发现保持匹配显著提高了性能,这与TadTR的结果相符。然而,两阶段机制略微改进了它,因为它是因预测反馈而引入的。作者还报告了在补充材料中每个组成部分带来的好处的研究。

4.3 Main Results

与中国最先进的算法相比较。表格. 1显示了在THUMOS14和ActivityNet-v1.3上的比较结果。此外,表格. 2和表格. 3显示了在HACS和FineAction上的比较结果。Pred-DETR在多个基准测试中均优于基于DETR的方法。

第一部分由“标准方法”标识,包含非DETR方法,第二部分包括基于DETR的模型。此外,在基于DETR的模型中,RTD-Net,Self-DETR和作者的方法基于标准注意力,而TadTR和ReAct基于变形注意力。作者也指出了基础特征,称为“Feats”。大多数方法利用了TSN Wang等人(2016)或I3D特征,而一些方法也采纳了TSP Alwassel等人(2021)的特征。

在表格中,作者的模型在所有基准测试上均优于所有DETR基组模型。这表明,在注意力坍塌问题得到缓解时,原DETR架构可以在TAD中与变形DETR架构具有可比性或优越性,这与目标检测Lin等人(2023)的观察相吻合。更值得注意的是,Pred-DETR在包含非DETR的方法的ActivityNet-v1.3上表现最好。DETR基组方法在ActivityNet和HACS上的表现优于THUMOS14和FineAction上的表现。这可能是因为ActivityNet和HACS主要包含长时间动作,而THUMOS14和FineAction包含许多短实例。精确预测短动作需要高时间分辨率,而DETR尚未能够处理such a long sequence,因为其 Query 架构。尽管如此,最近的一些DETR模型包括作者的模型在处理短长度序列时超过了处理短长度序列的除了ActionFormer和TriDet的非DETR模型显示出优越的性能。

多样性是在ActivityNet-v1.3上的测试集上测量的,包括所有测试样本。当模型深度加深时, Baseline 的多样性接近0。然而,Pred-DETR的多样性并未下降,甚至有所增加。从这些结果来看,预测反馈有效地缓解了塌陷问题。

图5显示了编码器和解码器中的自注意力和交叉注意力的可视化。如图所示,基准DETR在所有注意模块上都出现了注意崩塌的现象。然而,作者的模型没有出现崩塌,展示出表达能力。

预测反馈目标。 在反馈中的自注意力目标方面,作者可以采用自注意力中与预测相交汇的建议。上表5显示了使用自注意力的结果。如果不使用交叉注意力预测反馈,作者可以看到反馈(用表中的'Pred Relation'表示)的性能优越于与交叉注意力(从CA)反馈。此外,当引入作者的交叉注意力预测反馈时,性能提升变得更大,因为交叉注意力的注意崩塌现象显著缓解了。

在作者的交叉注意力(cross-attention)预测反馈系统中,作者提出了利用交叉注意力的间接关系。也许你会认为一个直接的方法就是将真实值或预测区间与交叉注意力图进行匹配。但是,作者声称这种方式显著损害了用于交叉注意力的表示的多样性,主要是因為作者并不确切知道交叉注意力的应该关注的点。表5的底部展示了在ActivityNet-v1.3上的三种目标的结果。真实值或预测区间的目标(真实值称为'Ground-Truth',预测区间称为'Prediction Intervals')性能应符合预期地下降。然而,利用预测关系(Prediction Relation)的间接方法显著地提高了性能。

5 Conclusion

在本文中,作者发现在TAD的交叉注意力存在注意力消失。作者发现模型在预测上呈现出明显不同于预测的模式,这是一种由注意力消失引发的自捷径现象。为此,作者提出了预测反馈DETR(Pred-DETR)来将注意力与预测对齐。通过提供具有预测引导的辅助目标,预测反馈显著缓解了注意力消失的程度。作者的广泛实验证实Pred-DETR在THUMOS14,ActivityNet-v1.3,HACS和FineAction上的DETR模型超越了最先进的表现。

6 参考论文

[1].Prediction-Feedback DETR for Temporal Action Detection.

下载地址:2408.16729v2 (arxiv.org)

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

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

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

相关文章

<<机器学习实战>>1-9节笔记

2.前言与导学 从关注算法的分类与特性到关注算法适合解决哪类问题 很多经典算法不再有效,但特征工程、集成学习越来越有效,和深度学习分别适合于不同领域 3、基本概念 如果预测目标是离散的,则是分类问题,否则回归 机器学习相比…

UART驱动学习二(TTY体系)

目录 一、TTY体系中设备节点的差别1. 傻傻分不清 /dev/tty*2. 要讲历史了2.1 电传机teletype2.2 计算机需要控制2.2.1 使用teletype2.2.2 teletype被淘汰了2.2.3 个人电脑和虚拟终端 3. tty相关设备节点3.1 各类设备节点的差别3.2 /dev/ttyN(N1,2,3,..., 63)3.3 /dev/tty03.4 /…

STM32-HAL库驱动DHT11温湿度传感器 --2024.9.28

目录 一、教程简介 二、驱动原理讲解 (一)通信4步骤 (二)传感器数据解析 三、CubeMX生成底层代码 (一)基础配置 (二)配置DHT11的驱动引脚 (三)配置串口 四…

@Transactional声明式事务回调编程

文章目录 1. 理论阐述2. 代码实现2.1. 问题代码2.2. 改进方案 本文参考: 事务回调编程 大事务问题 1. 理论阐述 最近在学习数据库事务的过程中,了解到了大事务的危害: 并发情况下,数据库连接资源容易耗尽锁定数据较多&#xff0…

用java做一个简易版球球大作战

该界面模拟了一个简单的“吃球”游戏,一开始多个球在屏幕上移动,并检查每个大球是否可以吃掉其他小球,且更新状态,删除已经被吃掉的小球。通过图形绘制和逻辑处理实现了游戏的基本功能。 主界面World.java package gzeu.test.da…

边缘自适应粒子滤波(Edge-Adaptive Particle Filter)的MATLAB函数示例,以及相应的讲解

目录 讲解 初始化 预测步骤 观测模拟 权重更新 重采样 状态估计 总结 下面是一个简单的边缘自适应粒子滤波()的函数示例,以及相应的讲解。 程序源代码: function X_est edgeAdaptiveParticleFilter(numParticles, numS…

RabbitMQ(学习前言)

目录 学习MQ之前有必要先去温故下微服务知识体系,以加深本章节的理解 一、微服务间的通讯方式 1. 基本介绍 2. 同步通讯 2.1. 什么是同步通讯 2.2. 同步通讯存在的问题 问题一:耦合度高 问题二:性能和吞吐能力下降 问题三&#xff1a…

在线Xpath匹配定位测试工具

具体请前往:在线Xpath-匹配-定位-调试/测试工具

一文看懂计算机中的大小端(Endianess)

文章目录 前言一、什么是大小端二、如何判断大小端三、大小端的转换3.1 使用标准库函数3.2 手动实现大小端转换 前言 本文主要探讨计算机中大小端的相关概念以及如何进行大小端的判断和转换等。 一、什么是大小端 大小端(Endianess)是指计算机系统在存…

【AI学习笔记】基于Unity+DeepSeek开发的一些BUG记录解决方案

【AI学习笔记】基于UnityDeepSeek开发的一些BUG记录&解决方案 背景前摇:(省流可不看) Unity是大学学的,AI是研究生学的,DeepSeek是第一份实习偷师的,三合一的梦是最近开始做的,BUG是今天遇…

【数据结构】什么是哈希表(散列表)?

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 📌哈希表的概念 📌哈希函数的构造方法 🎏直接定址法 🎏除留余数法 🎏平方取中法 🎏折叠法 &#x…

Bolt.new:终极自动化编程工具

兄弟们,终极写代码工具来了—— Bolt.new!全方位的编程支持: StackBlitz 推出了 Bolt․new,这是一款结合了 AI 与 WebContainers 技术的强大开发平台,允许用户快速搭建并开发各种类型的全栈应用。 它的主要特点是无需…

前端reactvue3——实现滚动到底加载数据

文章目录 ⭐前言⭐react 实现滚动加载⭐vue3 实现滚动加载⭐总结⭐结束 ⭐前言 大家好,我是yma16,本文分享 前端react&vue3——实现滚动加载(到底部加载) scrollTop 属性 一个双精度浮点值,表示元素当前从原点垂直…

安全运营中心 (SOC) 团队对其安全工具感到失望

Vectra AI 表示,安全运营中心 (SOC) 从业人员认为,由于太多孤立的工具和缺乏准确的攻击信号,他们在检测和确定真实威胁的优先级方面正在失败。 人们对供应商的不信任感日益加深,认为供应商的工具在发现真正的攻击方面起的阻碍作用…

ctfshow-web入门(信息收集,持续更新中。。)

写在之前:近期打了个比赛,备受打击,入手了vip账号进修,加油! 文章目录 ctfshow-web1查看源代码ctfshow-web2burp抓包ctfshow-web3burp抓包ctfshow-web4访问robots.txtctfshow-web5dirscarch扫描PHPS文件泄露ctfshow-web6dirscarch扫描ctfshow-web7dirscarch扫描ctfshow-w…

【STM32开发之寄存器版】(六)-通用定时器中断

一、前言 STM32定时器分类 STM32103ZET6具备8个定时器TIMx(x 1,2,...,8)。其中,TIM1和TIM8为高级定时器,TIM2-TIM6为通用定时器,TIM6和TIM7为基本定时器,本文将以TIM3通用定时器为例,分析STM32定时器工作的底层寄存器…

You must konw JS!!(超详细的javascript套餐,适合计算机专业有基础的,包含常见前端开发面试题)

1.起源 JavaScript 起源于 1995 年,当时它主要是为了满足网页交互的需求而被创建。它最初的设计目的是为了让网页开发者能够在网页中添加一些简单的交互效果和动态内容。在那个时期,网页大多是静态的,而 JavaScript 的出现为网页带来了新的活…

jmeter学习(7)beanshell

beanshell preprocessor 发送请求前执行 beanshell postprocessor 发送请求前执行 获取请求相关信息 String body sampler.getArguments().getArgument(0).getValue(); String url sampler.getPath(); 获取响应报文 String responseprev.getResponseDataAsString(); 获…

CMake 教程跟做与翻译

目录 STEP 1: 入门与理解 cmake_minimum_required设置CMake版本的最小值 project声明工程属性 add_executable添加可执行文件 使用CMake构建工程 根据自己的构建工具自行构建 Reference STEP 1: 入门与理解 我们起手的,最基本的 CMake 项目是从单个源代码文件…

【Blender Python】1.概述和基础使用

概述 众所周知,Blender是一款开源免费的3D建模软件(当然不限于3D建模)。在Blender中,可以使用其内置的Python解释器执行Python代码,用于程序化的生成网格以及其他内容。你可以基于此创建Blender插件。 这个系列就是快…