【Spatial-Temporal Action Localization(五)】论文阅读2020年
文章目录
- 1. Actions as Moving Points
- 摘要和结论
- 引言:针对痛点和贡献
- 模型框架
- 实验
1. Actions as Moving Points
Actions as Moving Points (ECCV 2020)
摘要和结论
MovingCenter Detector (MOCdetector) 通过将动作实例视为移动点的轨迹。通过三个分支生成 tubelet detection results(bbos sequences)。
- (1)中心分支(Center Branch)用于中心检测和动作识别;
- (2)运动分支(Movement Branch)用于相邻帧的运动估计,形成运动点的轨迹;
- (3)盒子分支(Box Branch)用于空间范围检测,通过直接回归每个估计中心的边界框大小。
Tubelet检测结果,可以进一步链接到生成具有匹配策略的视频级管。
引言:针对痛点和贡献
痛点:
- Frame-level Detector:一些早期的方法独立地在每一帧上应用一个动作检测器,然后通过将这些帧级检测结果或跨时间跟踪一个检测结果来生成动作管。这些方法在进行帧级检测时不能很好地捕获时间信息,因此在现实中检测动作管效果较差。
- Clip-level Detector(action tubelet detectors): 现有的小管检测方法与目前主流的目标检测器(如Faster R-CNN[24]或SSD[20])密切相关,这些方法都是在大量的预定义锚盒上运行。ACT [15] 采用了从锚长方体回归的短帧和输出小管序列。STEP [36] 提出了一种渐进式方法,通过几个步骤细化提案以解决大位移问题并利用更长的时间信息。一些方法[12,17]首先链接帧或小管提议来生成管提议,然后进行分类。这些方法都是基于锚点的目标检测器,由于锚点盒数量多,其设计对锚点设计和计算成本比较敏感。
- 首先,随着剪辑时间的增加,可能的小管锚点数量会急剧增加,这对训练和推理都提出了很大的挑战。
- 通常需要设计更复杂的锚盒放置和调整,以考虑沿时间维度的变化。
- 这些基于锚点的方法直接沿着时间维度扩展2D锚点,将每个动作实例预定义为跨越空间和时间的长方体。这种假设缺乏灵活性,无法很好地捕捉相邻帧级边界框的时间相干性和相关性。
贡献:
提出了一个新的检测框架(动作实例视为移动点moving points),并且时Anchor-free的。
模型框架

将一组连续的帧作为输入,并将它们分别输入到一个有效的2D主干中,以提取帧级特征。我们设计了三个头部分支,以无锚的方式执行小管检测。这三个分支协同工作以从短剪辑中产生小管检测,这将通过遵循常见的链接策略进一步链接到在长未修剪的视频中形成动作管检测。
-
Backbone:输入 K 帧,每帧的分辨率为 W × H。R=4 是空间下采样率,B=64 表示通道数。为了保留完整的时间信息以供后续检测,我们不对时间维度执行任何下采样。具体来说,我们选择 DLA-34 [38] 架构作为我们遵循 CenterNet [41] 的 MOC 检测器特征主干。该架构采用编码器-解码器架构来提取每个帧的特征。提取的特征由三个头分支共享。
输出特征大小为:K * W/R * W/R * B -
Center Branch: Detect Center at Key Frame : 目的是检测关键帧(即中心帧)中的动作实例中心,并根据提取的视频特征识别其类别。

时间信息对于动作识别很重要,因此我们设计了一个时间模块来估计动作中心并通过沿通道维度连接多帧特征图来识别其类别。
估计关键帧的中心热图 ˆL ∈ [0, 1] W/R × H/R ×C。C 是动作类别的数量。 ^L(x,y,c) 的值表示在位置 (x, y) 处检测到类 c 的动作实例的可能性,值越高表示可能性越强。 -
Movement Branch: Move Center Temporally:运动分支尝试关联相邻帧以预测动作实例中心沿时间维度的运动。

与中心分支类似,运动分支也利用时间信息来回归当前帧相对于关键帧的中心偏移。具体来说,运动分支以堆叠特征表示作为输入,并输出运动预测图 ˆM ∈ W/R × H/R ×(K×2)。 2K 通道表示 X 和 Y 方向上从关键帧到当前帧的中心移动。 -
Box Branch: Determine Spatial Extent:Box Branch 是 tubelet 检测的最后一步,重点是确定动作实例的空间范围。

与中心分支和运动分支不同,我们假设框检测仅取决于当前帧,并且时间信息不会有利于与类无关的边界框生成。 我们将在附录 B 中提供消融研究。从这个意义上说,这个分支可以以逐帧的方式进行。具体来说,Box Branch 输入单帧的特征 f j ∈ W/R × H/R ×B 并生成第 j 帧的尺寸预测图 ˆSj ∈W/R × H/R ×2 来直接估计边界框尺寸(即宽度和高度)。请注意,Box Branch 在 K 个帧之间共享。 -
Tubelet Linking:获得剪辑级检测结果后,我们将这些小管跨时间连接成最终的管。MOC模型会对输入的视频进行处理,提取出多个短序列的图像帧,并以每个序列为单位提取出最优的10个候选物体作为候选的区域,这些候选区域会在每个序列中按照一定步长进行滑动,并通过连接每个序列中的候选物体,形成最终的动作管道。
首先,在第一帧中,所有候选动作都会开始一个新的链接。在后续帧中,没有分配到任何现有链接的候选动作会开始新的链接。
在每一帧中,我们按照链接得分的降序扩展现有的链接,使用一个可用的tubelet候选动作作为链接的一部分。链接的得分是该链接中所有tubelet的平均得分。当满足以下三个条件时,一个候选动作只能分配给一个现有链接:(1)候选动作没有被其他链接选择,(2)链接和候选动作之间的重叠大于阈值τ,(3)候选动作拥有最高的得分。
如果一个存在的链接在连续的K帧中没有被扩展,它就会停止。我们为每个链接构建一个动作tube,其得分是链接中所有tubelet的平均得分。对于链接中的每一帧,我们平均包含该帧的tubelet的bbox坐标。初始化和终止确定tube的时间范围。具有低置信度和短持续时间的tube会被丢弃。由于这个链接算法是在线的,因此MOC可以应用于在线视频流。
实验



相关文章:
【Spatial-Temporal Action Localization(五)】论文阅读2020年
文章目录 1. Actions as Moving Points摘要和结论引言:针对痛点和贡献模型框架实验 1. Actions as Moving Points Actions as Moving Points (ECCV 2020) 摘要和结论 MovingCenter Detector (MOCdetector) 通过将动作实例视为移动点的轨迹。通过三个分支生成 tub…...
Linux基本指令(中)——“Linux”
各位CSDN的uu们好呀,今天,小雅兰的内容是Linux基本指令呀!!!下面,让我们进入Linux的世界吧!!! cp指令(重要) mv指令(重要)…...
OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击
作者:gentle_zhou 原文链接:OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击-云社区-华为云 Web应用程序安全一直是一个重要的话题,它不但关系到网络用户的隐私,财产,而且关系着用户对程序的新…...
Java自定义类加载器的详解与步骤
自定义类加载器的步骤 继承ClassLoader类:首先创建一个新的类,该类需要继承ClassLoader类。可以通过直接继承ClassLoader或是间接继承URLClassLoader等子类来实现。重写findClass()方法:在自定义类加载器中,最重要的是重写findCl…...
完美清晰,炫酷畅享——Perfectly Clear Video为你带来卓越的AI视频增强体验
在我们日常生活中,我们经常会拍摄和观看各种视频内容,无论是旅行记录、家庭聚会还是商务演示,我们都希望能够呈现出最清晰、最精彩的画面效果。而现在,有一个强大的工具可以帮助我们实现这一目标,那就是Perfectly Clea…...
如何让FileBeat支持http的output插件
目录 1 缘由2 编译filebeat3 配置虚拟机访问外网4 编译beats-output-http4.1 使用本地包4.2 发布在线包 5 测试6 beats-output-http的部分解释 1 缘由 官网的filebeat只有以下几种output插件: Elasticsearch ServiceElasticsearchLogstashKafkaRedisFileConsole …...
解密人工智能:决策树 | 随机森林 | 朴素贝叶斯
文章目录 一、机器学习算法简介1.1 机器学习算法包含的两个步骤1.2 机器学习算法的分类 二、决策树2.1 优点2.2 缺点 三、随机森林四、Naive Bayes(朴素贝叶斯)五、结语 一、机器学习算法简介 机器学习算法是一种基于数据和经验的算法,通过对…...
web:[极客大挑战 2019]BabySQL
题目 点进页面显示如下 查看源代码 先尝试一下万能密码 没用,or被过滤了 试着双写看看 回显一串,也不是flag 先查询列数尝试一下,把union select过滤了,使用双写 构造payload /check.php?usernameadmin&password1 %27 ununi…...
DRM全解析 —— plane详解(1)
本文参考以下博文: Linux内核4.14版本——drm框架分析(5)——plane分析 特此致谢! 1. 简介 一个plane代表一个image layer(硬件图层),最终的image由一个或者多个plane(s)组成。plane和 Framebuffer 一样是内存地址。…...
数据结构总结
数据结构 相关博文 单链表数组模拟单链表-CSDN博客双链表数组模拟双链表-CSDN博客栈及单调栈数组模拟栈以及单调栈-CSDN博客队列及单调队列数组模拟队列以及单调队列-CSDN博客KMPKMP详细算法思路-CSDN博客TrieTire树的理解-CSDN博客并查集并查集(面试常考ÿ…...
在SOLIDWORKS搭建一个简易的履带式机器人
文章目录 前言一、构建模型基本单元二、搭建车体模块三.插入轮子4.构建履带 前言 趁着十一假期,在solidworks中搭建了一个履带式机器人小车,计划将其应用在gazebo中完成多机器人编队的仿真。 一、构建模型基本单元 构建底板(a面)…...
C# 为什么要限制静态方法的使用
前言 在工作了一年多之后,我发现静态方法的耦合问题实在是头疼。如果可以尽量不要使用静态方法存储数据,如果要存储全局数据就把数据放在最顶层的主函数里面。 静态方法问题 耦合问题,不要用静态方法存储数据 我这里有两个静态方法&#…...
【已解决】Pyecharts折线图,只有坐标轴没有折线数据
【已解决】Pyecharts折线图,只有坐标轴没有折线数据 1、问题复现2、原因3、问题解决 1、问题复现 在做简单的数据通过 Pyecharts 生成折现图的时候,一直只有坐标轴没有折线数据,但是代码一直看不出问题,代码如下: im…...
win10搭建Selenium环境+java+IDEA(3)
这里主要对前面的maven和selenium做补充说明,以及更新一些pom文件下载依赖的问题。 IDEA里面,如果你创建的工程是maven工程文件,那么就会有一个pom.xml文件,可以在这个网站:https://mvnrepository.com/搜索依赖&#…...
String 、Stringbuffer、StringBuilder区别
上代码 public class Test {public static void main(String[] args) {//String 连接10000次消耗1127ms//StringBuffer 连接10000次消耗5ms//StringBuilder 连接10000次消耗3msStringTest(10000);StringBufferTest(10000);StringBuilderTest(10000);}public static void Strin…...
如何提升爬虫IP使用效率?精打细算的方法分享
在进行爬虫数据采集时,爬虫IP是不可或缺的工具。然而,爬虫IP的费用可能是一个爬虫项目的重要开支之一。为了帮助您节省爬虫IP经费,本文将分享一些经济高效的方法,让您在使用爬虫IP时更加节约成本,提高经济效益。 一、优…...
(高阶) Redis 7 第19讲 缓存过期淘汰策略 大厂篇
🌹 以下分享 Redis 缓存淘汰策略,如有问题请指教。🌹🌹 如你对技术也感兴趣,欢迎交流。🌹🌹🌹 如有对阁下帮助,请👍点赞💖收藏🐱🏍分享😀 面试题 1. 生产上,redis内存设置的多少 2. 如何配置、修改Redis 内存大小 3. 如果内存满了,如何处理 4. …...
【四旋翼飞行器】模拟四旋翼飞行器的平移和旋转动力学(Simulink仿真实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Kaggle - LLM Science Exam(一):赛事概述、数据收集、BERT Baseline
文章目录 一、赛事概述1.1 OpenBookQA Dataset1.2 比赛背景1.3 评估方法和代码要求1.4 比赛数据集1.5 优秀notebook 二、BERT Baseline2.1 数据预处理2.2 定义data_collator2.3 加载模型,配置trainer并训练2.4 预测结果并提交2.5 deberta-v3-large 1k Wikiÿ…...
mmap底层驱动实现(remap_pfn_range函数)
mmap底层驱动实现 myfb.c(申请了128K空间) #include <linux/init.h> #include <linux/tty.h> #include <linux/device.h> #include <linux/export.h> #include <linux/types.h> #include <linux/module.h> #inclu…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
