时序动作检测SSAD《Single Shot Temporal Action Detection》_程大海的博客-CSDN博客_时序动作检测

时序动作检测《BSN: Boundary Sensitive Network for Temporal Action Proposal Generation》_程大海的博客-CSDN博客

时序动作检测《BMN: Boundary-Matching Network for Temporal Action Proposal Generation》_程大海的博客-CSDN博客

《Non-local Neural Networks》个人总结理解_程大海的博客-CSDN博客

时序动作检测《BSN++: Complementary Boundary Regressor with Scale-Balanced Relation Modeling for ……》_程大海的博客-CSDN博客


温馨提示:本文仅供自己参考(勿捧杀),如有理解错误,有时间再改!

BMN算法是对BSN算法的改进,有关BSN算法的详细介绍,请参考上一篇文章。一个高质量的proposal生成方法应当具备生成的proposal长度灵活可变、proposal边界精确、proposal可靠的置信度。

BSN算法的缺点:

1、BSN算法中PEG模块对于候选proposal的特征构建和置信度评估是分开进行的,效率低

2、在BSN算法中的TEM模块对每个时刻采用局部上下文信息进行特征建模,proposal特征的构建缺少丰富的时序上下文信息

3、BSN算法中包含多个处理步骤:视频特征提取、TEM、PGM、PEM等,是一个多阶段的算法模型,不是一个统一的网络模型

视频特征提取

BMN算法中对于视频的形式化定义以及视频时序特征的提取方法和BSN算法相同。

Boundary-Matching Mechanism

在BM机制中,一个proposal被表示为一对开始边界点和结束边界点,然后将这个(开始,结束)转换为(开始,持续时长),然后使用一个二维的BM置信度图来表示所有可能的proposal的(开始,持续时长)对,其中横轴表示proposal的不同开始时间点,纵轴表示proposal的持续长度。在BM机制中,首先定义一个BM层用来从输入的特征序列中生成BM特征图,在BM特征图中,包含每个proposal丰富的特征和上下文信息,然后对于BM特征图使用卷积层来计算得到BM置信度图。

BM置信度图

BM置信度图要点解释:

1、BM置信度图上每一行上的proposal具有相同的持续时间,不同的开始时间位置

2、BM置信度图上每一列上的proposal具有相同的开始时间位置,但是具有不同的持续时间长度

3、BM置信度图上平行于45度线上的proposal具有不同的开始时间点和持续时间长度,但是具有相同的结束时间点

4、BM置信度图的右下角区域的proposal是无效的,因为此区域的proposal的开始时间+持续时间可能会超过视频的总时长

假设将BM置信度图表示为,对于置信度图中的任一proposal的坐标,位于第行,第列,其对应的proposal表示为, 表示这个proposal以为开始位置,持续时间,以为结束位置的置信度。通过BM置信度图,可以生成所有可能的proposal的预测置信度值。

Bounding-Matching LayerBM层

Bounding-Matching Layer模块将提取到的视频特征序列转换为BM置信度图。首先,定义提取到的视频特征序列为,对于每个proposal ,在其开始时间和结束时间范围内,采样N个点特征点,得到每个proposal的特征,对每个proposal 都进行同样的采样过程,就得到了BM特征图:

其中,是原始特征序列的输入通道数,是在每个proposal上的采样点数,是定义的proposal最大持续时长超参数,是输入的原始特征序列长度。

BM特征采样需要解决的问题:

1、如何在开始时间和结束时间范围内采样N个特征点,这些特征点可能不会刚好落在整数位置上,需要定义非整数位置的特征点采样方法,(BSN算法中采用的是线型插值均匀采样,类似于RoI Align,这种计算方式这能对每个proposal进行单独计算,效率低)

2、如何同时提取BM置信度图上所有proposal的特征点,以提高计算效率

proposal特征采样实现方法:

首先对于proposal 的边界进行扩充,为起始边界点,为结束边界点,,对该区间进行均匀采样N个点,并且生成采样点对应的权重矩阵,然后根据每个均匀采样点的权重以及与之对应的时序特征加权计算每个采样点的特征,权重矩阵计算公式如下:

对于在proposal片段内采样的N个点,假如第n个采样点,那么表示这个采样点落在时间序列之间,通过采样点的小数部分来衡量采样点和时间序列之间的靠近程度,并使用的加权结果来表示位置的采样结果,的小数部分越大,表明越远,时刻的权重就越小,时刻t+1的权重就越大。

将权重矩阵和时序特征点乘就得到proposal的特征。以上计算方式只是BM置信度图上一个proposal的特征计算方法,然后将其扩展到二维BM置信度图上,扩展后的权重矩阵为,使用权重矩阵和时序特征进行点乘,得到BM特征图

        重点:在BSN算法中,每个proposal的特征采样采用线型插值得到,对于每个proposal都要单独计算插值结果得到特征,效率低。在BMN算法中,在时序长度和采样点数量都确定的情况下,每个proposal中的N个采样点的位置也是确定的,所以N个采样点对应的权重矩阵也是确定的,可以事先计算得到,并且可以使用矩阵点乘的方式实现,实现方式更优美,大大提升计算速度。

BM层的训练监督信号

BM置信度图上每个点都是一个proposal,对于每个proposal,计算proposal与所有GT的IoU的最大值作为这个proposal置信度训练的监督信号。

BMN算法结构

Base Model

BMN算法在Base Model提取序列特征方面与BSN方法一致,均采用固定大小的滑动窗口实现,使用固定大小的滑动窗口,也就确定了时序特征的序列长度T,从而也就能确定BM层的权重矩阵了。Base Model采用了两个1D卷积来增加时序维度的感受野:

Temporal Evaluation Module (TEM)

TEM模块与BSN算法的TEM模块的作用相同,计算方法不同。TEM模块使用概率预测的方式输出输入的时序特征的每个时序位置是动作开始和动作结束的概率,这个概率使用sigmoid函数来计算:

TEM在每个时序位置输出两个通道,然后使用sigmoid转换为概率值,分别表示开始概率和结束概率。TEM输出的概率在BSN中用来构造可能的proposal,但是在BMN中,不使用TEM生成的概率序列来生成可能的proposal,而是使用BM层来生成所有可能的proposal,TEM预测的开始点和结束点概率在BMN中用来在后处理阶段和BM置信度图一起计算proposal的置信度。

Proposal Evaluation Module (PEM)

PEM模块中包含BM层使用权重矩阵生成所有可能的proposal的特征得到BM特征图,然后对于BM特征图使用3D、2D卷积计算得到BM置信度图计算所有proposal的置信度。PEM模块中每个proposal采样32个特征点,然后使用3D卷积在特征点维度上将32个特征点进行压缩到1个特征点从而消除采样特征维度。最终再通道维度上的输出为2,表示输出proposal的两个置信度,一个置信度是使用分类损失计算得到的,一个置信度是使用回归损失计算得到的

模型训练

使用重叠度50%的滑窗来截取固定大小的特征序列,并且滑窗中至少包含一个动作实例。

TEM训练数据构建

BMN算法中的TEM和BSN算法中的TEM计算类似,都是先确定一下GT动作实例开始位置的region区间  和结束位置的region区间,然后计算时序位置的区间 ​​​​​​​​​​​​​​​​​​​​​分别与GT开始位置区间和结束位置区间重叠度的IoR,将得到的IoR的最大值分别作为时序位置作为开始位置的GT标签和结束位置的GT标签。IoR的定义就是区间region的重叠度。

IoU的计算:

IoR的计算(在BSN论文中叫IoP,在BMN论文中叫IoR):

PEM训练数据构建

计算BM置信度图中每个proposal与窗口中所有标注动作实例GT的IoU的最大值作为这个proposal的置信度GT标签,用于训练得到BM置信度图。

损失函数

TEM损失

TEM损失和BSN算法一样,采用加权的逻辑斯蒂回归损失分别计算开始损失和结束损失。

PEM损失

PEM模块由于同时输出两个预测概率,一个用于分类,一个用于回归,分类损失采用逻辑斯蒂回归损失,回归损失采用L2损失。

整体损失

BMN算法推理

使用TEM输出的开始和结束概率序列提取候选proposal

BMN中基于TEM生成候选proposal的方式与BSN算法完全一样。选择概率大于设定阈值,或者是峰值的开始点和结束点组成候选的开始点序列和结束点序列,然后将开始序列和结束序列进行两两配对得到候选的proposal,候选的proposal此时可以表示为:

联合TEMPEM的输出结果计算候选proposal的置信度

基于proposal的开始节点概率、结束节点概率、分类置信度、回归置信度计算得到proposal的置信度值:

soft-nms进行后处理

最后使用Soft-NMS进行后处理去除冗余的预测结果。

参考:[ICCV 2019][时序动作提名] 边界匹配网络详解 - 知乎

参考:https://github.com/open-mmlab/mmaction2

参考:https://github.com/JJBOY/BMN-Boundary-Matching-Network

时序动作检测《BMN: Boundary-Matching Network for Temporal Action Proposal Generation》相关推荐

  1. 时序动作检测《BSN: Boundary Sensitive Network for Temporal Action Proposal Generation》

    时序动作检测SSAD<Single Shot Temporal Action Detection>_程大海的博客-CSDN博客_时序动作检测 时序动作检测<BSN: Boundary ...

  2. BMN:Boundary-matching network for temporal action proposal generation

    Video Analysis 相关领域解读之Temporal Action Detection(时序行为检测) - 知乎本文投稿于 @极视角 公众号,链接为 文章链接. 上一篇 Video Analy ...

  3. 【论文翻译】 BMN: Boundary-Matching Network for Temporal Action Proposal Generation

    BMN: Boundary-Matching Network for Temporal Action Proposal Generation 边界匹配网络[时序动作提名] 1. Introductio ...

  4. BSN: Boundary-Sensitive Network for Temporal Action Proposal Generation

    转自BSN作者林天威知乎:https://zhuanlan.zhihu.com/p/39327364,用于学习交流. 前言 这篇笔记主要介绍我们录用于ECCV 2018上的论文: "BSN: ...

  5. PBRNet:Progressive Boundary Refinement Network for Temporal Action Detection (AAAI 2020)

    PBRNet:Progressive Boundary Refinement Network for Temporal Action Detection AAAI 2020 中国科学技术大学 欢迎感兴 ...

  6. 【论文阅读】时序动作检测系列论文精读(2020年)

    文章目录 1. DBG: Fast Learning of Temporal Action Proposal via Dense Boundary Generator 论文目的--拟解决问题. 贡献- ...

  7. CVPR2019 | 论文之行为/动作识别、手势识别、时序动作检测及视频相关

    CVPR2019 | 论文之行为/动作识别.手势识别.时序动作检测及视频相关 行为/动作识别.手势识别 1.An Attention Enhanced Graph Convolutional LSTM ...

  8. Talk预告 | 腾讯AI Lab研究员童湛南京大学谈婧:基于注意力机制的视频自监督表示学习和时序动作检测

    本期为TechBeat人工智能社区第465期线上Talk! 北京时间12月22日(周四)20:00,腾讯AI Lab研究员--童湛&南京大学计算机科学与技术系硕士研究生--谈婧的Talk将准时 ...

  9. 论文阅读:TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals

    TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals 摘要 方法 视频单元处理 剪辑金字塔建模 单元级别时间 ...

  10. Learning salient boundary feature for anchor-free temporal action localization AFSD阅读笔记及代码复现

    论文地址:Lin_Learning_Salient_Boundary_Feature_for_Anchor-free_Temporal_Action_Localization_CVPR_2021_pa ...

最新文章

  1. Eclipse ADT 21 Preview 10 发布
  2. 红帽JBoss企业应用平台7.0 ALPHA发布了!
  3. 节选—Android 视频直播 ( 从快播到直播,从高清到无码 )十年视频开发项目
  4. 数据建模_浅谈数据仓库建设中的数据建模方法
  5. javascript第四弹——变量、作用域、内存
  6. oracle 11.2 awr,oracle 11g database获取AWR报告
  7. 理解乐观锁、悲观锁、共享锁、排他锁、表锁、行锁
  8. 芯片AD库转换之贸泽 Library Loader使用
  9. 海思16DV300 移动侦测
  10. xlsx表格怎么做汇总统计_办公软件excel表格数据统计-如何将多个EXCEL表格的数据进行汇总?...
  11. 操作系统-进程状态变迁分析
  12. React -- Switch的使用
  13. 倚天摘星:四季度反复筑底成为定局!
  14. html删除图片效果,html+css实现图片右上角加删除叉、图片删除按钮
  15. python中图片转base64,再转html保存方法
  16. 解决方案:h5网页外部浏览器唤起微信分享,唤起微信面板,分享朋友圈方案,兼容大部分浏览器
  17. 【渝粤题库】国家开放大学2021春1040公司概论题目
  18. myeclipse中java.lang.OutOfMemoryError: PermGen space
  19. 如何在 Google Chrome 浏览器中使用 Java?
  20. 单目标应用:基于北方苍鹰优化算法NGO的概率神经网络PNN数据分类(提供MATLAB代码)

热门文章

  1. 一个twitter puddles的算法实现
  2. ps cs6调油画效果教程
  3. 中国平安银行关于软件测试笔试试题(二)
  4. Retrofit的使用详解(一)
  5. “阿里云OS”是如何失控的
  6. Google earth engine 入门与简介
  7. DOS命令:format
  8. Win7系统还原,创建还原点,永久保存自定义还原点,不被删除
  9. scrapy框架用CrawlSpider类爬取电影天堂.
  10. iOS 实现3Dtouch