分享上海交通大学团队在两项竞赛任务中的算法思路和方案

电子说

1.2w人已加入

描述

近日,视频行为理解领域的ImageNet竞赛——ActivityNet Challenge 2018在CVPR 会议上落下了帷幕。来自上海交通大学计算机视觉实验室的团队(自动化系研究生林天威、苏海昇,导师赵旭副教授),获得了未修剪视频中的时序动作定位任务的冠军,以及时序动作提名任务的亚军。本文将分享该团队在两项竞赛任务中所采用的算法思路和方案。

引言

理解视频中人的动作和行为,是计算机视觉领域的挑战性问题,也是视频内容理解的关键,极具应用前景。ActivityNet挑战赛旨在催生视频行为理解的新算法和新技术,是目前视频行为理解领域数据规模最大、最具影响力的技术竞赛,与每年的顶级学术会议CVPR一起召开,已成功举办三届。今年ActivityNet挑战赛共举办6项比赛,吸引了全球计算机视觉领域来自学术界和工业界的诸多团队积极参赛。

近日,ActivityNet Challenge在CVPR会议上公布了2018年的竞赛成绩。来自上海交通大学计算机视觉实验室的团队(自动化系研究生林天威、苏海昇,导师赵旭副教授),获得了未修剪视频中的时序动作定位任务的冠军,以及时序动作提名生成任务的亚军。

本文将分享上海交通大学团队在两项竞赛任务中的算法思路和方案。在此次竞赛中,上交团队主要采用了近期投稿在ECCV 2018会议上的时序动作提名生成新方法-Boundary Sensitive Network (BSN) 。

ActivityNet挑战赛

ActivityNet 挑战赛是目前视频动作理解领域规模最大的竞赛,涵盖了视频动作分类、时序动作定位、视频文本生成等多个方向。今年的ActivityNet挑战赛在规模、多样性和自然度上较往年均有显著提升,共举办6项竞赛任务,其中任务1-3基于ActivityNet数据集,任务A,B,C则为其他视频理解领域内重要的数据集。目前ActivityNet数据集的版本为1.3,包括20000个Youtube 视频,共计约700小时,平均每个视频上有1.5个动作片段,涵盖了共200个动作类别。这些比赛项目具体包括:

任务1: 时序动作提名生成;

任务2: 时序动作定位;

任务3: 视频密集描述生成;

任务A: 视频动作分类(Kinetics数据集);

任务B: 时空动作定位(AVA数据集);

任务C: 视频事件分类(Moments-in-time 数据集)

围绕上述6项竞赛任务,今年的挑战赛吸引了来自上海交通大学、清华大学、中科大等国内高校,CMU、UMD、UCSB、华盛顿大学等国外高校,以及DeepMind、百度、旷视科技、七牛云、爱奇艺等企业团队参赛。比赛由阿卜杜拉国王科技大学视觉计算中心在CVPR 2018会议上举办,得到谷歌、DeepMind、Facebook等公司的赞助。

竞赛任务及测评方式

本次竞赛中,上交团队参加了任务1:时序动作提名生成,以及任务2:时序动作定位的比赛。其中,任务2要求在视频序列中确定动作发生的时间区间(包括开始时间与结束时间)以及动作的类别。这个问题与二维图像中的目标检测问题有很多相似之处。相关算法一般可以分为两个部分:(1) 时序动作提名生成,产生候选视频时序片段,类似于Faster-RCNN中的RPN网络的作用;(2) 动作分类: 即判断候选视频时序片段的动作类别。两个部分结合在一起,即实现了视频中的时序动作检测。从去年起,时序动作提名作为单项竞赛任务被单独列出(任务1)。

在时序动作定位问题中,mean Average Precision(mAP) 是最常用的评估指标。此次竞赛计算0.5到0.95, 以0.05为步长的多个IoU阈值下的mAP,称为 Average mAP,作为最终的测评以及排名指标。相较于使用mAP@0.5 作为测评指标,Average mAP 更看重在较严格IoU阈值下的检测精度。时序动作提名任务由于无需对时序片段进行分类,所以通常使用average recall (AR) 来进行评估。在此次竞赛中,Average Recall vs. Average Number of Proposals per Video (AR-AN) 曲线下的面积被作为最终的评测指标。举个例子,AN=50 时的AR分数可以理解为对于每个视频,使用proposal set中分数最高的前50个proposal时,所能达到的召回率。

竞赛方案介绍

此次竞赛,我们主要对我们投稿在ECCV 2018会议上的时序动作提名生成算法-BSN模型 [1](Boundary-Sensitive Network) 进行了优化与改进。下面首先对BSN方法进行介绍,之后再介绍此次竞赛中所进行的一些改进。

BSN-用于时序动作提名生成的边界敏感网络

时序动作检测一般包含两个环节-提名和分类。目前行为分类的精度其实已经比较高了,而时序动作检测的精度仍然比较低,所以我们认为其瓶颈在于时序动作提名生成阶段。高质量的时序动作提名应该具备(1)灵活的时序长度;(2)精确的时序边界;(3)可靠的置信度分数。现有的基于滑窗或anchor的方法或是基于聚类的方法都不能同时在这几个方面做好。因此,我们在[1]中提出了一种新的时序提名生成算法-Boundary Sensitive Network(BSN)。在BSN中,我们首先去定位时序动作片段的边界(开始节点和结束节点),再将边界节点直接结合成时序提名,最后基于所设计的proposal-level的feature来对每个proposal的置信度进行评估。算法的整体框架图如下图所示,之后会逐步介绍各个步骤。

计算机视觉

1. 特征提取

在特征提取阶段,我们主要将视频切分成16帧不重叠的单元,然后采用 two-stream network 提取特征。对于spatial network, 我们使用每个单元的中心帧提取特征;对于temporal network,我们则使用每个单元的中心6帧图像计算得到的光流图像提取特征。最终将视频图像序列转化为特征序列。

2. BSN - 时序评估模块

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

3. BSN - 提名生成模块

接下来,基于上述的几种概率序列,提名生成模块要生成候选时序动作提名,并对每个动作提名生成对应的特征描述。

要生成候选时序动作提名,首先我们选择动作开始和动作结束概率序列中满足以下两个条件之一的时间节点作为候选时序边界节点:(1)概率高于一个阈值 或(2)该时间节点的概率高于前一时刻以及后一时刻的概率。然后我们将候选开始时间节点和候选结束时间节点两两结合,保留时长符合要求的开始节点-结束节点组合作为候选时序动作提名。算法示意图如下图所示。

计算机视觉

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

计算机视觉

4. BSN - 提名评估模块

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

5. 结果后处理

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

6. 时序动作检测

基于BSN所生成的时序动作提名,要得到时序动作检测结果,我们还需要对提名进行分类。我们此处采用了一种比较简单的方式,即直接采用动作分类网络所生成的video-level的动作类别作为提名的动作类别。

BSN模型改进

为了在竞赛中获得更好的效果,我们针对BSN算法尝试了多种改进技巧。对于时序动作提名任务,主要的改进方式主要包括五点,包括:

改进A:将提名生成模块中的概率阈值从0.9改为0.5*max_score, 其中max_score为该视频中的最大概率。

改进B:除了采用在ActivityNet数据集上预训练的TSN网络提取特征,在竞赛中,我们还额外采用了在Kinetics数据集上预训练的TSN和P3D网络提取视频特征。

改进C:为了获得更好的置信度分数,我们还与我们之前提出的SSAD[2]算法所生成的结果进行了融合。

改进D:在ActivityNet数据集上,为了方便,在初始的BSN中,我们会将所有视频的特征序列缩放到一个给定长度。在竞赛中,我们发现使用原始长度预测结果会得到更好的效果。

改进E:在进一步的分析中,我们发现按照原始长度预测结果主要是提高了对较短的时序片段的预测结果,但损害了较长的时序片段的预测效果。因此,我们将按原始长度预测的结果和按给定长度预测的结果进行了融合,获得了更好的效果。

对于时序动作检测任务,我们同样也采用了上述的改进,但有两点不同:

在时序动作检测中,我们采用定长的特征序列预测结果

采用较为严格的Soft-NMS阈值

之所以对时序动作提名和时序动作定位采用略为不同的策略,主要是因为时序动作检测的结果主要依赖于靠前的几个proposals,而现有的时序动作提名的评估方式则更看重较多proposals时所能达到的recall。这也反映了现有的时序动作提名评估方式还存在不合理之处。

实验结果

此处主要介绍我们在此次竞赛中所做的实验,更多关于BSN算法的实验见[1].

时序动作提名生成任务

时序动作提名生成任务的实验结果如下表所示。可以看出,BSN方法比起之前的state-of-the-art方法有明显的效果提升,此次竞赛中所实施的各项改进又带来了显著的效果提升。最终,在该项目上我们获得了亚军。

计算机视觉

时序动作定位任务

时序动作定位任务中的实验结果如下表所示。可以看出,BSN方法获得了非常好的效果,竞赛中实施的改进也非常有效。最终,在该项目上我们以较大的优势获得了冠军。

计算机视觉

其他实验

为了验证BSN算法的有效性,在[1]中我们还做了很多对比实验,证明了BSN算法的优越效果来自于模型结构本身。此外,我们还通过实验表明了BSN算法有着良好的泛化能力,能够为训练时没有见过的动作类别生成高质量的时序动作提名。具体的实验结果和内容详见论文[1]。

总结

通过我们对时序动作提名生成和时序动作定位任务的研究,我们主要有以下几点收获:

1. 动作提名的质量对后续动作定位的效果有很大的影响, 目前改进动作定位的重点在于提高提名集的质量;

2. 提名集中最靠前的一小部分提名片段贡献大部分的定位mAP;

3. 高质量的时序动作提名应当具备(1)灵活的时长(2)准确的边界(3)可靠的置信度分数。

在后续的工作中,我们计划开源BSN模型,供研究者使用。相关进展会更新在 wzmsltw.github.io 上,希望大家继续关注我们的工作。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分