当前位置: 首页 > news >正文

CVPR2024 | 构建时序动作检测模型对时序干扰的鲁棒性基准

文章目录

  • 摘要
  • 研究方法


👏恭喜《Benchmarking the Robustness of Temporal Action Detection Models Against Temporal Corruptions》被CVPR2024录用

👬欢迎各位感兴趣的小伙伴关注和复现我们的工作

🤖github仓库地址:https://github.com/Alvin-Zeng/temporal-robustness-benchmark

📖arxiv论文网址:https://arxiv.org/abs/2403.20254

摘要

时序动作定位(TAD)任务旨在对给定视频中的动作进行定位和分类。尽管目前许多方法取得了不错的性能,但在鲁棒性分析方面仍少有研究。我们观察到在现实的视频中可能会突然地出现一些噪声,比如掉帧或拍摄失焦。有趣的是,如果只对动作中一帧图片加这样的噪声,现有的模型通常会有大幅度性能降低。

为了验证面对这类噪声的鲁棒性,我们提出了两个时序鲁棒性测试基准数据集,命名为THUMOS14-C和ActivityNet-v1.3-C,对应该任务最常用的两个评测数据集。在这篇论文中,我们分析了七篇前沿时序动作定位(TAD)模型的时序鲁棒性,并且得出以下结论:1) 现有模型通常都面对时序噪声不够鲁棒,并且通常End-to-End训练的模型会比预训练特征提取器的模型表现更差;2) 模型性能下降是由于动作定位错误导致的,而不是动作分类错误;3) 当时序噪声越靠近动作片段的中心时刻时,TAD模型的性能下降幅度越大。

除了构建数据集,我们还提出了一种简单并且能够显著提高模型时序鲁棒性的训练方法。值得注意的是,我们的训练方法不仅能提高模型的鲁棒性,还能提高模型在干净测试集上的性能。
图 1 当前模型存在对时序噪声不鲁棒的问题

研究方法

我们的研究聚焦于突然出现,又突然消失的时序噪声。与目前已有的鲁棒性基准数据集不同,我们构建的数据集不对视频中的所有帧添加噪声,而是仅对某些特定的帧添加噪声,目的在于使该数据集能够反映模型的时序鲁棒性而非空间鲁棒性。
我们提出的数据集引入了5种现实场景中经常出现的噪声,包括:黑屏,动作模糊,过曝,遮挡和花屏。为了模拟实际场景不同时长的噪声,我们提出的数据集还包括三个等级,每个等级添加的噪声长度是不一样的,分别是在每个动作中心处的按照动作1%,5%和10%的长度加噪。
图 2 使用的五种噪声类型来构建三个等级的鲁棒性测试基准数据集

使用我们构建的数据集对当前已有的TAD模型进行测试,可以发现不管是THUMOS14还是ActivityNet-v1.3数据集,模型都有非常显著的模型性能下降现象。用三个等级的噪声数据集测试模型并取tIoU=0.5时mAP的平均值,THUMOS14数据集模型下降了9.62%-25.86%,ActivityNet-v1.3数据集下降了1.77%-21.48%,说明不论是哪个数据集都能反映模型对时序噪声不够鲁棒的现象。
图 3 在THUMOS14数据集测试TAD模型
图 4 在ActivityNet-v1.3数据集测试TAD模型

接着我们使用了TAD任务中常用的DETAD工具对模型预测的结果进行分析,发现该数据集更多影响模型的动作定位性能而不是动作分类性能。
图 5 使用DETAD工具分析Tridet模型在干净测试集和添加噪声测试集的预测结果

为了提高模型的时序鲁棒性,我们提出了一种简单高效的训练方法,取名为时序鲁棒性一致loss(TRC loss)。首先我们提出了“FrameDrop”的数据处理方法,即将背景-动作单元随机的一帧图片替换为黑色帧。简单来说,我们的训练方法将“FrameDrop”处理的训练集和不做处理的训练集同时输入模型,要求模型对两种输入得到的预测的时序分布相互逼近。
图 6 FrameDrop策略以及TRC loss的工作原理

我们的方法不仅能够显著地提升模型的时序鲁棒性,在大部分情况下还能提高模型在干净的测试集上的性能,结果如图 7、8所示。

图 7 在THUMOS14数据集下使用TRC loss训练模型的结果

图 8 在ActivityNet-v1.3数据集下使用TRC loss训练模型的结果

http://www.dtcms.com/a/109577.html

相关文章:

  • 近日八股——计算机网络
  • 使用pycharm社区版调试DIFY后端python代码
  • 破解 N 皇后 II:位运算的高效艺术
  • 4月3日工作日志
  • CVSS-通用漏洞评分系统版本 4.0:规范文档
  • 代码随想录|动态规划|18完全背包理论基础
  • Java Lambda 表达式提升效率
  • 高效深度学习lecture01
  • Flask与 FastAPI 对比:哪个更适合你的 Web 开发?
  • MySQL(三)
  • 二分类交叉熵损失
  • 在内网环境中为 Gogs 配置 HTTPS 访问
  • 常用的元素操作API
  • chromium魔改——navigator.webdriver 检测
  • 【无人机】无人机PX4飞控系统高级软件架构
  • 创新项目实训开发日志1
  • 21.数据链路层协议
  • 如何在本地部署魔搭上千问Qwen2.5-VL-32B-Instruct-AWQ模型在显卡1上面运行推理,并开启api服务
  • QT 中的元对象系统(五):QMetaObject::invokeMethod的使用和实现原理
  • JavaScript基础-移动端常用开发框架
  • 智能多媒体处理流水线——基于虎跃办公API的自动化解决方案
  • Redis 除了数据类型外的核心功能 的详细说明,包含事务、流水线、发布/订阅、Lua 脚本的完整代码示例和表格总结
  • 【数据集】多视图文本数据集
  • Python第七章09:自定义python包.py
  • maven引入项目内本地包方法
  • WEB安全--文件上传漏洞--php伪协议的利用
  • MySQL索引(操作篇)
  • 分布式锁之redis6
  • GenerationMixin:_sample方法(GenerationMode.SAMPLE, GenerationMode.GREEDY_SEARCH)
  • 程序员学商务英语之Establing Biz Relations Inquiry