BSN: Boundary Sensitive Network for Temporal Action Proposal Generation论文阅读笔记

引言

时序候选片段问题的难点在于,不仅要产生有精确时序边界的候选片段,还希望使用相对较少的候选片段就能检索到高召回率和高重叠率(与真实的动作实例)的候选片段。为了解决这个难点,提出了BSN网络。BSN网络采用了"local to global"方法,local是指先定位可能性大的时序边界,再整合这些边界作为候选;global是指通过评估一个候选中是否包含动作的置信度来检索候选。用到的数据集是ActivityNet-1.3和THUMOS14。

时序动作检测可以分为两个阶段,生成候选和分类。分类的性能已经很高了,但检测的精确度仍然很低。高质量的候选应该具有两个属性,也就是要解决前面提到的两个难点。为了实现候选的高质量,候选生成方法应该产生有灵活的时序持续时间和精确的时序边界的候选,然后检索具有可靠的置信度分数(表明了候选中包含动作实例的可能性)的候选。大多数候选生成方法都是在视频中用多种长度的滑动窗口以固定的间隔来得到候选,然后训练模型来评估生成的候选的置信度得分,还有一些方法用的是外部边界回归(?不太了解?)的方法。但预先定义好持续时间和间隔的候选有以下几个缺点:(1)时序上通常不精确;(2)不足以灵活地覆盖时序持续时间不同的真实的动作实例,特别是当持续时间的变化范围很大时。

BSN产生候选要三步:(1)首先,BSN评估视频中的每个时间位置的概率,判断它是在真实动作实例的边界内部还是外部,在或不在真实动作实例的边界处,以生成起始,结束和动作概率序列作为local信息;(2)其次,BSN通过直接合并分别具有高起始和结束概率的时间位置来生成候选,使用这种从底向上的方法,BSN可以产生有灵活的持续时间和精确的边界的候选;(3)最后,使用由候选内部和周围的动作得分组成的特征,BSN通过评估候选是否包含动作的置信度来检索候选。这些候选片段级的特征为更好的评估提供了全局信息。
 

相关工作

动作识别:早期方法如IDT——采用手动提取的特征;卷积网络方法;双流网络——结合了RGB帧的appearance信息和光流的motion信息;C3D直接从帧中学得appearance和motion信息。动作识别模型可用于从未处理的视频中提取帧级或片段级的视觉特征。

目标检测和候选:R-CNN和它的变体方法——通过对候选分类来进行检测;对于生成候选的阶段,除了滑动窗口,早期工作还尝试通过使用如HOG和Canny edge的低级特征来产生候选,近期工作使用深度学习模型来产生候选。本文用神经网络来评估每个位置的边界概率和动作概率,采用了“local to global”的方法来以高召回率和高精确度产生候选。参考文献[15]中的LocNet也用了边界概率来修改现有候选的横向和纵向边界。本文方法的不同之处在于:(1)BSN的目标是产生候选而LocNet的目标是修改候选;(2)LocNet中边界概率会重复计算,而BSN中每个视频只需计算一次。

时序动作检测和候选:时序动作的目标是识别未处理的视频中的动作实例,包括时序边界和动作类别,这一任务可以分为产生候选和分类两个阶段。有些方法将这两个阶段分开处理,也有些方法将这两个阶段看做一个整体。对于产生候选,早期工作直接将滑动窗口作为候选;近来有些工作产生预先定义好长度和间隔的候选,并采用多种方法来评估候选的置信度得分,如字典学习和循环神经网络。参考文献[49]中的TAG方法采用分水岭算法来以local的方式产生有灵活的边界和持续时间的候选,但没有用global的候选级置信度评估来检索候选。本文中,BSN可以产生有灵活的边界的候选,同时也能有可靠的置信度得分用来检索。参考文献[48]检测了每个位置的类别级的开始、中间和结束概率。本文方法比[48]好的地方在于两个方面:(1)BSN使用时序卷积网络来评估概率,时序卷积网络可以更好地捕捉时序信息;(2)BSN采用的"local to global"方法带来了更精确的边界和更好地检索质量。

模型方法

问题定义

不同于检测问题,在产生时序动作候选时是不考虑动作实例的类别的。视频的标签是每个动作实例的开始和结束时间。视频的标签在训练时使用,预测时,应使得产生的候选以高召回率和高重叠率覆盖视频标签。

什么叫“标签是在训练时使用的,预测时,产生的候选集应以高召回率和时序重叠覆盖标签”,这样的话,预测时不是也使用了标签吗?

视频特征编码

为了产生输入视频的候选,首先应该提取视频的视觉内容特征。本文采用双流网络作为视觉编码器,提取双流特征的过程:从视频中得到一个小段(snippet)序列S,包括了ls个小段。每个小段Sn包括两部分,视频中的第tn帧——Xtn,以Xtn为中心得到的堆叠光流域(stacked optical flow field,这个词不太明白)。为了减小计算成本,以固定的帧间隔σ来提取小段,因此视频中的小段数ls=视频帧数/σ。对于一个小段Sn,连接空间网络和时序网络的输出分数来组成编码特征向量ftn。因此给定一个小段序列,就能提取一个特征序列F。这些双流特征序列就是BSN的输入。

直白的说就是……根据视频得到多个小段,每个小段都由单帧和以单帧为中心得到的堆叠光流域两部分组成,单帧送入空间网络,堆叠光流域送入时序网络,然后整合两个网络的顶端输出,作为双流特征向量,送入BSN网络作为输入。

边界敏感网络

为了得到高质量的候选,采用了“local to global”的方式来产生候选片段。先产生可能的边界位置,再合并这些位置作为候选片段,并以片段级特征评估每个候选片段的置信度得分。

网络结构:BSN包括3个模块,时序评估,候选产生,候选评估。时序评估模块的输入是双流特征序列,作用是评估视频中的每个位置的概率,判断它是在真实动作实例的边界内部还是外部,在或不在真实动作实例的边界处,以分别生成起始,结束和动作概率序列。候选产生模块先将高起始概率和高结束概率的时序位置组合作为候选片段,然后基于动作概率序列为每个候选片段构建边界敏感候选片段(BSP)特征。候选评估模块是具有一个隐藏层的多层感知器模型,它基于BSP特征评估每个候选片段的置信度得分。将每个候选片段的置信度得分和边界概率融合作为检索的最终置信度得分。
 

时序评估模块:此模块的目的是评估视频中的每个位置的起始,结束和动作概率,需要3个分类器。此模块采用了时序卷积层,以更好地捕捉边界和动作信息。3层卷积层分别表示为Conv(512, 3, Relu),Conv(512, 3, Relu),Conv(3, 1, Sigmoid),第一项为过滤器数量,第二项为卷积核大小,第三项为激励函数,三层的步长都为1。最后一层卷积层作为分类器,产生起始,结束和动作概率。为方便计算,将特征序列划分为不重叠的窗口,作为时序评估模块的输入。因此,此模块的输入是特征序列,输出是起始,结束和动作概率。

候选产生模块:此模块的目的是产生候选片段并建立相应的片段级特征。分两步来实现这个目的,(1)找到高边界概率的位置,并合并这些位置组成候选片段;(2)对于每个候选片段,建立BSP特征。

生成候选片段:对于起始概率序列,记录至少满足以下两个条件其一的时序位置:(1)得分高,大于0.9;(2)是概率峰值。将得到的时序位置分组到候选起始位置集Bs。再用相同的规则从结束概率序列中得到结束位置集Be。然后,将Bs中的每个起始位置ts与Be中的每个结束位置te合并,得到一些时序区域。若某时序区域的时长在预设的最小值到最大值范围内,则此时序区域就作为一个候选片段。这里的最小值和最大值就是数据集中动作实例标签的最小时长和最大时长。这样就得到了候选片段集。

建立BSP特征:对于一个候选片段,将其中心区域表示为rc=[ts,te],d为时长,等于te-ts,显然一个是开始一个是结束。将起始区域表示为rs=[ts-d/5,ts+d/5],将结束区域表示为re=[te-d/5,te+d/5]。将rc内的动作序列以16点的线性插值法进行采样,对于rs和re以8点的线性插值法进行采样,将这三个采样得到的向量进行连接,就得到了这个候选片段的BSP特征fBSP。BSP特征是紧凑的,且包含了对应候选片段的丰富的语义信息。每个候选片段都表示为(ts,te,fBSP)

候选评估模块:此模块的目的是用BSP特征来评估每个候选片段中包含动作实例的置信度得分。作者采用了有1个隐藏层的多层感知器模型,这个隐藏层有512个单元,以Relu的激励来处理BSP特征输入。而输出层以sigmoid激励来输出置信度得分Pconf,这个得分评估的是候选片段与真实动作实例之间的重叠范围。因此生成的候选片段可以表示为(ts,te,Pconf,Pts,Pte),后两项分别表示了ts的起始概率和te的结束概率。融合这些得分,得到预测的最终得分。

训练BSN

BSN中,时序评估模块产生边界概率和动作概率,基于这些概率序列,可以产生候选片段和对应的BSP特征,再训练候选评估模块来学习候选的置信度得分。

时序评估模块:(1)先将视频以固定的帧间隔处理为多个小段,再提取每个小段的特征得到这个视频的小段特征序列(序列中有ls个小段);(2)采用长度为100的滑动窗口,在特征序列上滑动,没有重叠,得到的每个窗口都有两部分信息,一个是这段窗口中的特征序列,一个是这个窗口中的标签(标签就是这个窗口中的动作实例的开始ts和结束te,我们将这个范围作为动作范围,这里的开始和结束原本是某一帧,但也将其处理为一个范围,即ts变成 [ts − d/10, ts + d/10],te变成 [te − d/10, te + d/10]),即起始帧变为起始范围,结束帧变为结束范围);(3)将一个窗口的特征序列作为输入,时序评估模块产生了起始概率序列,结束概率序列和动作概率序列,长度都等于滑动窗口的长度;(4)对于一个窗口中的每个位置tn,将它的范围定义为 [tn − ds/2, tn + ds/2],ds=tn-t(n-1),即两个小段间的时序间隔,并从这个窗口的三个概率序列中分别得到这个位置的对应概率得分;(5)此时,对于窗口中某个位置tn的范围,我们可以分别计算它跟标签的动作范围,起始范围和结束范围的IoP;(6)因此我们可以用6个信息来表示tn的信息——tn的动作概率,tn的起始概率,tn的结束概率,tn的范围与动作范围的最大匹配重叠率IoP,tn的范围与起始范围的最大匹配重叠率IoP,tn的范围与结束范围的最大匹配重叠率IoP。

这个模块的loss由动作loss,起始loss和结束loss三部分组成。即

动作loss,起始loss和结束loss的计算公式是相同的,即

候选评估模块:用时序评估模块产生的概率序列,候选生成模块可以产生候选片段(ts,te,fBSP)。(1)候选评估模块将候选的BSP特征作为输入,可以得到这个候选的置信度得分;(2)再计算这个片段跟所有标签的IoU,并记录最大的重叠得分giou;(3)将候选片段集分为两个部分,一个是giou大于0.7的正样本集,一个是giou小于0.3的负样本集;(4)为了数据平衡,作者采用了正样本集中的所有样本,再从负样本集中随机挑选样本,使得两个片段集的比例大概为1:2。

这个模块的目标函数是简单的回归loss,即

预测和后处理

候选评估模块用(ts,te,Pconf,Pts,Pte)五种信息来表示候选片段,还需要融合这些得分来得到预测的最终得分。

Score fusion for retrieving:Pf = Pconf * Pts * Pte,这个Pf被用于候选检索

Redundant proposals suppression:在一个动作实例周围可能会得到多个不同时序重叠率的候选片段,因此需要压制冗余的候选片段,以减少候选片段,获得更高的召回率。

Soft-NMS是一种使用得分衰减函数来压制冗余结果的非极大值抑制算法。(1)先将所有候选片段按得分排序;(2)计算得分最高的候选片段与其他候选片段的IoU,使得重叠高的候选片段减少;(3)对剩余的候选片段递归地执行第二步,来产生重新计算的候选片段集。Soft-NMS的高斯衰减函数可以表示为:

 

实验

数据集和设置

数据集:ActivityNet-1.3包含19994个视频,200个动作类别,以2:1:1的比例划分训练、验证、测试集。THUMOS14验证集和测试集中有时序标注的视频分别有200和213个,有20个动作类别。

评价指标:时序候选生成任务中,常用以多个IoU阈值计算得到的平均召回率(AR)作为评价指标。本文中,在ActivityNet-1.3上使用的IoU阈值集为[0.5 : 0.05 : 0.95],THUMOS14上是[0.5 : 0.05 : 1.0]。为了评估召回率和候选数量的关系,作者在两个数据集上都评估了平均候选数量(AN)下的AR,即AR@AN。在ActivityNet-1.3上,AR和AN曲线下的面积之比(AUC)也被作为评价指标之一,AN的变化范围是0到100。常用评价指标还有mAP。在ActivityNet-1.3上,还使用了IoU阈值{0.5, 0.75, 0.95}下的mAP和IoU阈值集[0.5 : 0.05 : 0.95]下的平均mAP;在THUMOS14上,使用了IoU阈值为{0.3, 0.4, 0.5, 0.6, 0.7}时的mAP。

总结:

(1)平均召回率(AR):

(2)AR@AN:评估召回率和候选片段数量的关系,即评估模型以高召回率来产生和检索候选的能力

(3)AUC:AR@AN曲线下的面积,评估模型以高召回率来产生和检索候选的能力

(4)mAP

(5)recall of multiple IoU thresholds:评估模型以高时序重叠来产生和检索候选的能力

实现细节:对于视觉特征编码,作者使用的是双流网络,其中BN-Inception网络作为时序网络,ResNet网络作为空间网络。这个双流网络是用Caffe实现的,是在ActivityNet-1.3的训练集上预训练的。在特征提取阶段,ActivityNet-1.3上小段之间的间隔σ为16,THUMOS14上为5。

在ActivityNet-1.3上,因为视频长度的限制,作者将每个视频的特征序列长度用线性插值的方法变为了100,也将对应的标签的duration变为了范围0到1。BSN中,时序评估模块和候选评估模块都是用TensorFlow实现的。在两个数据集上,训练时序评估模块时,前10个epoch中batch size为16,学习率为0.001,接下来10个epoch上,学习率为0.0001;训练候选评估模块时,batch size为256,学习率与前面一样。对于Soft-NMS,在ActivityNet-1.3上阈值θ被设为0.8,THUMOS14上为0.65,而高斯函数ε在两个数据集上都设为0.75。

时序候选生成

实验一:实验主要分两方面:(1)评估模型以高召回率产生和检索候选的能力(AR@AN,AUC),结论是BSN始终优于其他方法,但当AN小的时候,优势更明显;(2)评估模型以高时序重叠来产生和检索候选的能力(recall of multiple IoU threshold),作者测试了AN为100和1000两种情况,结论是,当候选数量小的时候,无论tIoU高还是低,BSN始终最优,当候选数量大的时候,BSN在tIoU大于0.8时最优。

实验二:将双流网络提取视频特征的部分替换为了C3D,将Soft-NMS换成Greedy-NMS试了,证明是BSN本身的结构带来的性能提升。

实验三:验证BSN在没见过的动作类别上的性能:在ActivityNet-1.3中选择了两个不同语义的动作子集,“Sports, Exercise, and Recreation”作为看过的数据集,包括了87个动作类别,4455个训练视频和2198个验证视频,“Socializing, Relaxing, and Leisure”作为没看过的数据集,包括了38个动作类别,1903个训练视频和896个验证视频。为了确保实验的有效性,没有使用在ActivityNet-1.3预训练的双流网络提取视频特征,而是使用了在Sports-1M上预训练的C3D网络,实验证明在没见过的类别上,性能只有微小的下降,因此证明了BSN的一般性。

实验四:验证BSN中TEM模块和PEM模块的有效性。没有PEM的话,BSN效果依然比其他方法好,但有PEM可以带来进一步的提高。

实验五:比较了BSP特征只要Boundary region、只要Center region和两者都要的情况,结论是,虽然center region的贡献比boundary region大,但还是两者都要的情况下效果最好。

用产生的候选进行动作检测

加上了多种分类器进行对比实验,分类器有视频级别的也有候选级别的。

 

[15]Gidaris, S., Komodakis, N.: Locnet: Improving localization accuracy for object detection. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 789–798 (2016)

[48]Yuan, Z., Stroud, J.C., Lu, T., Deng, J.: Temporal action localization by structured maximal sums. arXiv preprint arXiv:1704.04671 (2017)

[49]Zhao, Y., Xiong, Y., Wang, L., Wu, Z., Lin, D., Tang, X.: Temporal action detection with structured segment networks. arXiv preprint arXiv:1704.06228 (2017)

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值