随着互联网世界视频数量的急剧增长,视频内容分析技术得到了越来越广泛关注。视频动作定位是视频内容分析领域里的一个重要任务,它的目标是在一段未经修剪的视频中定位出动作类别及其对应的时序边界。通常视频动作定位任务可以分为两个阶段:时序提名生成和动作分类。
本文所介绍的算法BMN为百度自研,为时序提名生成任务提供了一个高效的解决方案,是ActivityNet 2019大赛中的task1和task2的冠军方案(task1为时序提名生成,task2为视频动作定位)。
模型概览
作为BSN系列的改进方案,BMN算法继承了BSN的整体思路:先定位动作的边界,再将边界节点组合为时序提名,对于候选的时序提名,基于置信度分数进行筛选,得到最终的动作定位集合。
BMN模型的处理流程如下:首先使用双流网络(光流+RGB)对输入视频进行预处理,得到编码特征。然后将编码特征输入Base Module,使用两层时序卷积提取特征,其后分TEM和PEM两个分支进行处理,TEM模块通过两层时序卷积处理得到视频每个位置为开始边界的概率序列和为结束边界的概率序列,PEM模块处理得到BM配置信度图(该过程将在下文中详细介绍),使用该置信度图可以轻松得到任一候选提名的置信度分数。
在后处理阶段,边界概率两个序列中的极大值点及超过最大值一半的点所在视频位置被视为候选开始边界或候选结束边界。通过对两种边界的两两组合,我们可以得到一系列的候选动作提名,再通过在置信度图中检索分数,我们可以得到一个拥有置信度分数的候选提名集合。最后,算法采用了Soft-NMS方法来去除了冗余结果。
边界匹配机制
BMN提出了一种新的时序提名置信度评估机制——边界匹配机制,作用于PEM模块。边界匹配机制的目的是为生成的候选提名提出可靠的置信度分数,下面笔者将从以下三个方面对该机制进行讲解。
01. BM置信度图
BM置信度图中,分布在同一行的提名拥有相同的持续长度,分布在同一列的提名拥有相同的开始边界,分布在副对角线的提名拥有相同的结束边界。右下角部分提名因为结束边界超出视频范围,因此归为无意义区域。
02. BM layer简介
然而采样过程中依然还有两个难点待解决:
(1)如何从非整数点采样特征?
(2)如何对所有提名同时采样?
03. BM标签
总结
最终使用飞桨对BMN复现在ActivityNet1.3数据集的验证集上评估精度如下:
BMN算法是时序动作检测领域的经典之作,它的主要贡献是通过引入一种全新的时序提名评估机制以及高效的特征采样方式,来提升了前作BSN方法的性能和效率。但是因其网络较为简单,因此其网络设计和优化方面依然存在着提高空间。AAAI2020的一篇工作《Fast Learning of Temporal Action Proposal via Dense Boundary Generator》通过优化损失函数、改进网络设计的方式进一步提高了该系列工作的性能指标,有兴趣的同学可以自行阅读。
如在使用过程中有问题,可加入飞桨官方QQ群进行交流:703252161。
如果您想详细了解更多飞桨的相关内容,请参阅以下文档。
官网地址:https://www.paddlepaddle.org.cn
飞桨开源框架项目地址:
GitHub: https://github.com/PaddlePadd...