Actions as Moving Points
论文下载地址:https://arxiv.org/abs/2001.04608
代码地址:https://github.com/mcg2019/MOC-Detector
论文创新点:当前存在的动作识别检测算法大多数都是基于anchor的,算法计算量大,并且anchor对于检测运动实例效果并不友好。作者基于以上问题提出了一个新的行为识别检测框架,将每一个运动的实例看做是移动的点(类似于CenterNet等检测算法)。作者提出的网络结构主要分为三部分,第一部分是中心分支,用于实例中心检测和动作识别。第二部分是运动分支,用于估计相邻帧的运动,以形成运动点轨迹。第三部分是回归分支,通过估计的中心点直接回归检测框的大小。
视频领域的任务:动作识别,时序动作检测,时空动作检测
动作识别:(action recognition)是对每个输入视频进行分类,识别出视频中人物做出的动作。即输入视频序列,得到视频对应的类别。
时序动作检测:(temporal action detection)任务的输入是一个未经裁剪的视频(untrimmed video),即在这个视频里有些帧是没有动作发生的,因此需要检测出动作开始和结束的区间,并判断区间内动作的类别。即输入未经裁剪的视频序列,得到动作出现的区间和对应的类别。
时空动作检测:(spatio-temporal action detection)相比于时序动作检测略有不同,时空动作检测不仅需要识别动作出现的区间和对应的类别,还要在空间范围内用一个包围框(bounding box)标记出人物的空间位置。本论文就是时空动作检测算法。
时空动作检测:Frame-level Detector , Clip-level Detector
Frame-level Detector:检测每一帧的实例,然后通过关联算法将相邻帧进行关联。该算法并没有使用时序信息,因此检测效果并不好。
Clip-level Detector:为了将时序信息引入进来,该类算法将一段视频序列传输进来进行处理,然后通过视频序列之间包含相同的帧来进行关联。
以上两种算法都是基于anchor检测算法为基础,都很依赖于anchor的尺寸和数量,并且还需要大量的计算。
整体框架:
图 1,MOC算法的整体网路结构
如图 1所示,该算法的网络结构主要分为三部分,Center Branch,Movement Branch和Box Branch。算法的整体流程是,首先将连续的视频序列传到基础网络结构(DLA-34,ResNet-18和ResNet-101)里面提取通用特征图.然后将得到的特征图传到三个分支里面。最后将这三个分支的结果通过关联算法连接起来输出最后的结果。
基础网络结构:论文中使用的是DLA-34,可以同时兼顾速度和精度。
Center Branch:中心分支的目的是检测关键帧中的动作实例中心。并根据提取的视频特征对其分类进行识别。损失函数是Focal loss 用来平衡正负样本不平衡问题。按照常见的dense prediction setting来训练中心分支。
Movement Branch:运动分支关联相邻帧来预测动作实例中心的移动。损失函数使用的是L1 loss。训练方式是通过计算所有帧中实例真实中心点和预测中心点之间的距离。
Box Branch:确定运动实例的包围框大小和尺寸。损失函数使用的是L1 loss。通过计算真实检测框和预测框的差值来训练回归网络分支。最后整个网络结构的损失函数就是三个分支损失函数之和。
关联方法:使用的现有的关联方法,Action tubelet detector for spatiotemporal action localization 。
研究动机:
图2 . 算法整体流程
作者创新性的提出了基于anchor-free的动作识别算法框架。算法流程如图2中(a)所示,将K张图片通过通道连接在一起然后通过3*3的卷积,就可以实现3D卷积操作,通过3D卷积操作得到K张图片中中间图片的中心点的位置和动作类别。(b)图表示的是将(a)中得到的中间图片的中心点映射到其他相邻的图片中。(c)图表示的是Movement Branch,得到当前帧的中心点(绿色点)和中间图片的中心点(黄色点)之间的连接线,如图中黄线所示。通过黄色线就可以得到每个动作实例的运动轨迹。(d)图表示通过估计的中心点(绿色点)来预测检测框的大小。
测试结果:
Actions as Moving Points相关推荐
- Actions as Moving Points复现
寒假期间,研读了王立民老师的论文,决定去复现其文章中的代码:https://github.com/MCG-NJU/MOC-Detector.由于自己的显卡太过于垃圾,因此我将代码git到了学校的集群环 ...
- hdu 4717 The Moving Points(三分+计算几何)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4717 说明下为啥满足三分: 设y=f(x) (x>0)表示任意两个点的距离随时间x的增长,距离y ...
- CodeForces - 1311F Moving Points(线段树+离散化)
题目链接:点击查看 题目大意:给出 x 轴上的 n 个点,每个点都有一个位置和一个速度,每个点会根据速度在 x 轴上移动,现在规定dis( x , y )为点 x 和点 y 在移动过程中的最小距离,我 ...
- The Moving Points
hdu4717:http://acm.hdu.edu.cn/showproblem.php?pid=4717 题意:给你n个点的坐标,然后每个点都有一个速度,求在什么时刻任意两个点的最大距离最小,以及 ...
- 【ECCV2020】接收论文列表part1
ECCV2020将于2020年8月23-28日在线上举行,今年共接受了1361篇论文,本文是接收论列表的第一部分,第二部见链接 Paper ID Paper Title Category 267 Qu ...
- 2020AI顶会的腾讯论文解读 | 多模态学习、视频内容理解、对抗攻击与对抗防御等「AI核心算法」
关注:决策智能与机器学习,深耕AI脱水干货 报道 | 腾讯AI实验室 计算机视觉领域三大顶会之一的 ECCV(欧洲计算机视觉会议)今年于 8 月 23-28 日举办.受新冠肺炎疫情影响,今年的 EC ...
- ECCV 2020开源项目合集 (ECCV 2020 paper list with code/data)
文章转载自https://www.paperdigest.org/2020/08/eccv-2020-papers-with-code-data/,如有侵权,留言后删除. 以下表格列出了ECCV 20 ...
- 【汇总】行为识别、时序行为检测、弱监督行为检测、时空行为定位论文代码(持续更新!!!)
视频行为识别与轻量化网络的前沿论文.代码等 https://zhuanlan.zhihu.com/c_1207774575393865728 CVPR 2020 行为识别/视频理解论文汇总 https ...
- VTK使用矢量数据弯曲几何体
vtkWarpVector is a filter that modifies point coordinates by moving points along vector times the sc ...
最新文章
- 为所欲为——教你什么才是真正的任意分频
- python互相转换位置坐标(百度坐标、WGS_84、火星坐标)
- Zabbix如何监控Windows机器
- 欢乐纪中某B组赛【2019.1.30】The penultimate day
- 共享内存---shmget shmat shmdt
- list的contains方法为什么不好使_道理都懂,为什么我们还打不好网球?
- 互联网产品生命周期_我市扎实推进全生命周期公共法律服务产品研发
- 7 centos 时钟跟物理机同步_centos7上使用chrony自动同步时间
- 有了解过Elasticsearch的性化搜索方案吗?
- ASP.Net中服务器控件的生命周期
- Spring Boot + MyBatis + MySQL 实现读写分离!
- EFM (Explicit Factor Models)显因子模型
- ESRI大赛三维模块介绍
- C#获取单个字符的拼音声母
- CF949D Curfew 贪心
- C++学习(三一七)ASCII码表
- 毕业设计 STM32天气预报盒子 - 嵌入式 单片机 物联网
- 摸底考察-Linux系统搭建WEB网站服务
- 鸿蒙系统实用小技巧,【AVW分享】鸿蒙系统使用技巧,你都知道有哪些吗?
- OJ每日一练——点和正方形的关系
热门文章
- windows下putty自动登录和窗口显示IP
- 12563 劲歌金曲
- 同济大学软件学院万院长谈择业(转载)
- 如何更简单的使用Polly
- 计算机中堆栈的应用举例,西门子S7-200PLC中涉及堆栈操作的指令和梯形图应用实例...
- 无穷级数的简单求解方法——高等数学
- 计算机应用基础win,计算机应用基础(Win 7+Office 2010)
- 【北京站】技术沙龙第19期:千万日活量级 iOS 应用背后的技术
- 苹果隔空传递 Android,极客修:苹果:我会隔空投送,你呢?安卓:切
- JavaScript Array数组slice方法的使用