易学智能

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1422|回复: 0

[ECCV 2018] 用于时序动作提名生成的边界敏感网络

[复制链接]

665

主题

1234

帖子

6568

积分

xdtech

Rank: 5Rank: 5

积分
6568
发表于 2020-12-1 09:07:16 | 显示全部楼层 |阅读模式
这篇笔记主要介绍我们录用于ECCV 2018上的论文: "BSN: Boundary-Sensitive Network for Temporal Action Proposal Generation"。这篇论文主要针对时序动作提名生成(temporal action proposal generation)任务提出了一种新的方法-边界敏感网络(Boundary Sensitive Network, BSN),该方法突破了原有的top-down方法的一些缺陷,能够简洁高效地生成高质量的时序动作提名。基于该方法,我们获得了今年ActivityNet Challenge的时序动作检测任务的冠军和时序动作提名任务的亚军(竞赛报告见ActivityNet-report-BSN),以及获得了今年的百度AI综艺视频精彩片段检测竞赛的冠军。论文现在可以从arXiv上看到,论文代码刚刚已经开源在了github-BSN。若笔记或者代码有问题欢迎交流指正~

此前我写过Temporal Action Detection(时序行为检测)介绍一文介绍过 temporal action detection 方向(也可以叫做temporal action detection)。简单来说,temporal action detection是要在视频序列中确定动作发生的时间区间(包括开始时间与结束时间)以及动作的类别。这个问题与二维图像中的目标检测问题有很多相似之处。相关算法的算法内容一般可以分为两个部分:(1) temporal action proposal generation: 即进行时序动作提名,产生候选的视频时序片段,即相当于Faster-RCNN中的RPN网络的作用;(2) action classification: 即判断候选视频时序片段的动作类别。两个部分结合在一起,即实现了视频中的时序动作检测。目前视频分类算法的精度其实以及比较高了,然而时序检测的效果依旧比较低,所以我们认为主要的性能瓶颈在于时序提名环节。

我们认为高质量的时序动作提名应该具备几点特质:(1)灵活的时序长度(2)精确的时序边界(3)可靠的置信度分数。现有的基于滑窗或anchor的方法或是基于聚类的方法都不能同时在这几个方面做好。因此,在这篇文章中,我们提出了边界敏感网路-BSN,在BSN中,我们首先去定位时序动作片段的边界(开始节点和结束节点),再将边界节点直接结合成时序提名,最后基于所设计的proposal-level的feature来对每个proposal的置信度进行评估。下面分别对算法内容和实验效果等内容进行介绍。

方法概览
该图为BSN算法的框架图,主要包括几个流程:(1) 视频特征提取;(2) 边界敏感网络(生成时序动作提名);(3)非极大化抑制。下面对各个部分进行简要介绍。

特征提取
本文采用了two-stream network 双流网络来提取特征。每个用作特征提取的视频帧单元称为一个snippet,包含图像帧以及光流等,具体的定义在论文中给出。我们拼接spatial network 和temporal network的最后一层输出作为该snippet对应的特征。最终,对于一个包含T 个snippet的视频,我们可以得到等长的特征序列。该特征序列实际上就是一个二维的矩阵。

边界敏感网络
BSN主要包含三个模块,依次为时序评估模块,提名生成模块和提名评估模块。

时序评估模块(Temporal Evaluation Module)
基于提取的图像特征序列,BSN中的时序评估模块采用3层时序卷积层来对视频序列中每个位置上动作开始的概率、动作结束的概率和动作进行的概率同时进行建模,从而生成 动作开始概率序列,动作结束概率序列和动作概率序列。

提名生成模块(Proposal Generation Module)
接下来,基于上述的几种的概率序列,提名生成模块要生成候选时序动作提名,并对每个动作提名生成对应的特征描述。
要生成候选时序动作提名,首先我们选择动作开始和动作结束概率序列中满足以下两点条件之一的时间节点作为候选时序边界节点:(1)概率高于一个阈值 或(2)该时间节点的概率高于前一时刻以及后一时刻的概率(即一个概率峰值)。然后我们将候选开始时间节点和候选结束时间节点两两结合,保留时长符合要求的开始节点-结束节点组合作为候选时序动作提名。算法示意图如下图所示。

接下来要为每个候选时序动作提名生成对应的特征描述,我们称其为Boundary-Sensitive
Proposal (BSP) feature。对于每个提名,我们取其本身的时序区间作为center
region,再取开始节点和结束节点附近的一段区间作为starting region 以及 ending region。对于每个区域,我们都在动作概率序列上的对应位置采样N个点,拼接后则得到一个非常简短的提名特征。BSP特征的构成示意图如下图所示。

提名评估模块(Proposal Evaluation Module)
生成候选时序动作提名以及对应的提名特征后,我们采用提名评估模块-一个简单的MLP(多层感知机)模型去对每个提名的置信度分数进行估计。置信度分数越高,则说明该时序提名与真值的重叠IoU应当越高。

结果后处理(Soft-NMS)
最后,我们需要对结果进行非极大化抑制,从而去除重叠的结果。具体而言,我们采用了soft-nms算法来通过降低分数的方式来抑制重叠的结果。处理后的结果即为BSN算法最终生成的时序动作提名。

实验
数据集
本文主要在ActivityNet-1.3 以及THUMOS-14数据集上进行了实验。前者包含20000个左右的视频,视频平均长度比较短;后者包含约413个视频,视频平均长度比较长。
实验效果
时序动作提名任务的实验效果如上表所示,可以看出BSN模型在THUMOS和ActivityNet两个数据集上均获得了比较大的效果提升。在目前已发表的工作中,BSN应该是具有最好的效果。下图则更细节地展示了BSN在THUMOS-14数据集上的效果,可以看出,在proposals数量较少时,BSN的效果要非常显著的优于现有的方法。
在本文的实验部分,除了时序动作提名生成任务外,还基于BSN产生的时序提名测评了时序动作检测任务的性能,同样获得了显著的效果提升。具体的实验结果可以看论文内容。下图则为BSN在数据集上生成时序提名的可视化。


讨论
本文的主要贡献我认为是引入了一种全新的并且非常有效的时序提名生成框架,即先定位时序边界,再基于边界来构成时序提名。基于这样的框架,BSN就能够产生满足(1)时长灵活(2)边界准确(3)评分可靠的时序动作提名。
实际上,BSN中各个模块的实现都还比较简单,我认为未来在此框架上对于具体模型实现也还有不小的优化和改进空间。所以也欢迎大家关注我们开源的代码。另外,在我们今年的ActivityNet竞赛报告中,我们也提出了几点对于BSN的改进,可供参考。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易学智能

GMT+8, 2024-4-25 14:21 , Processed in 0.018509 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表