SSN:Temporal Action Detection with Structured Segment Networks

Temporal Action Detection with Structured Segment Networks

本文只是对原文的简单翻译,不对实验过程分析,如有不准确的地方,欢迎指教~

SSN:结构化分段网络的时序动作检测

摘要:SSN:structured segment networks,通过结构化时序金字塔对每一个动作实例的时序结构建模。在金字塔的顶端,引入一个判别模型,包括两个分类器:动作分类和完整度区分,它能有效的将正样本从背景和不完整的样本中分离出来,做出准确的识别和定位。将这些组件集成到同一的网络,可以进行端到端的有效训练。本文还提出一个简单高效的temporal action proposals scheme,能产生高质量的proposal。数据集:THUMOS14和 ActivityNet,mAP提高10%。

1.简介

         Temporalaction detection 吸引越来越多的注意力,因为它强大的应用。本文任务是在未修剪的长视频中检测人的活动实例,并标出起始和结束位置。

         传统方法的局限性:数据量,不能准确定位。

         本文方法:采用proposal+classification。每一个完整的活动被看成由三部分组成:starting,course,ending。基于上述,建立时序金字塔,将各个组成部分的特征结合起来,构成整个proposal。金字塔顶端,引入两个判别模型:活动类型判别和完整度判别。这两者结合,将proposed segment分成三类:positive proposal,pure background,poorly localized proposals。时序金字塔和判别模型构成统一的网络:SSN(structuredsegment network)。另外,采用sparse snippet sampling(TSN)。本文还提出用基于temporal actionness signal 的multi-scale grouping 产生动作分段。

         本文的主要贡献如下:1)提出高效的对活动建立时序结构模型的机制,区分complete proposals和incomplete proposals。2)实现端到端的流程。3)提高性能

3.StructuredSegment Network

绿框为候选区域,黄框为扩展区域,把黄框的内容分成三部分:starting(黄色),course(绿色),ending(蓝色)。额外的两层处理course部分。将提取的特征作为five parts的输入,生成全局区域描述。Activity classification 和completeness classification基于区域描述产生activity probability和class conditional completeness probability。区域为正样本的final probability由这两个分类器的联合概率决定。训练中,本文sparsely sample L = 9 snippet。

         从input到output,经历三个key steps:1)temporal proposals。2)temporal pyramid ,产生global proposal representation。3)two classification。

         这一部分主要说明如何对给定的proposals进行预测。each proposal 看成starting, course, ending,并对其分别建立representation。通过temporal pyramid pooling合成global representation。然后训练two classifiers。训练期间,采用sparse snippet sampling来估计dense samples的temporal pyramid。

3.1Three-StageStructure

         Input video可看成snippet 的集合,表示为(St)T­t=1。一个snippet包含多个帧,由多个RGB images和optical flow stack组成。给定N个proposals的集合P= {pi = [si,ei]},每一个P由开始时间si和结束时间ei组成,pi为di= ei – si。为了更好的分析是否为Complete instance,需要把它放到上下文中。因此,增强proposal pi =pi’ = [si’,ei’], si’ = si- di/2,ei’ = ei+di/2。然后将pi分成3个consecutive interval , psi = [si’, si],pci = [ci’,ci] ,pei = [ei’, e]分别称为starting course ending。

3.2Structured Temporal Pyramid Pooling

        每一个proposal通过temporal pyramid pooling会生成一个global representation。给定增强proposal pi’ ,分成三个阶段psi,pci,pei,首先计算stage-wise特征向量fsi,fci,fei, 然后连接成global representation。

         Stage[s,e]包含多个snippet序列,表示为{St|s<=t<=e}。每一个snippet,获取一个特征向量vt。基于这些特征,建立K-Level temporal pyramid如下,each level将interval 分成Bk个部分,i-th part of k-th level, 表示为[ski,eki],特征为:

fci= (ui(k)|k=1,……K,i=1,……,Bk)

    不同的stage采用不同的方法,course stage用K = 2,starting 和ending 使用one-stage。

3.3Activity and Completeness Classifiers

         两种分类器:activity classifier and a set of completeness classifier。对course,基于 fci,activity classifier A classifies 将inputproposals 分成K+1个类(with labels 1....K),background with label = 0。Completeness classifiers {Ck}k=1K为二分类器,基于{ fsi,fci,fei }预测proposals是否获取完整的instance。此时completeness不仅取决于proposal,也要考虑它所在的上下文。

         所有的分类器都是线性分类器。给定pi , activity classfier 会通过softmax layer生成normalized response。可看做条件概率分布P(ci |pi), ci为class label。对每一个activity class k,与其对应的completeness classifier Ck会生成条件概率值P(bi|ci,pi),bi决定Pi是否完整。outputs是两个分布的联合分布。当ci>=1, P(ci, bi| pi) =P(ci | pi)*P(bi­|ci, pi),因此loss 可表示为两个分类器的和。给定proposal pi和label ci

训练期间,获取三种proposals samples :1)positive proposals(IOU>0.7);2)background proposals(不包含任何instance);3)incomplete proposals(IOU<0.3)。

3.4Location Regression and Multi-Task Loss

         设置一系列的定位回归(location regression) {Rk}k=1K,对每一个类别定界。采用RCNN,但是用于1维 temporal regions。给定proposal Pi,同时对间隔中心(interval center ui)和跨度(span ∮i)回归。定义multi-task loss:

Lreg使用L1 loss function

4.Efficient Training and Inference with SNN

       面对计算量大的问题,采用如下解决办法:

Training with sparse sampling。A augmented proposal p’i分成L=9 segments, 任意在每一个segment取一个snippet。固定求取特征的数量(不论视频长度),减少了计算成本,实现了端到端的训练。

Inferencewith reordered computation。测试期间,每间隔6帧提取一个snippet样本,建立temporal pyramid。原始的temporal pyramid首先计算特征,再计算分类和回归(不高效)。事实上,每个长视频会产生上百个proposals,并有很大的重复。

         利用这种冗余,采用position sensitive pooling。由于分类器和回归都是线性的,因此,分类和回归的关键是特征向量f乘以权重矩阵W。计算公式为:Wf = ∑Wjfj,j代表pyramid的不同region。这里fj是对region rj 的snippet 特征做的平均池化(average pooling)。因此:

Et~rj代表对rj做average pooling,这是一个线性操作。方程显示关于分类器和回归的线性响应能够在pooling之前进行。这样,矩阵乘法只需要做一次,对proposals只需要池化它的response值。提取完网络输出之后,通过重排矩阵乘法和pooling,对每一个视频的推理时间由10s降至低于0.5s。

5.Temporal Region Proposals

         Temporal Actionness grouping(TAG)。用actionness classifier估计每一个snippet 的actionness probability。本文的基本思想是找到具有high actionness probability 的连续的region。

6.Experimental Result

         ActivityNet 和THUMOS14

6.1Experimental settings

ActivityNet :两个版本v1.2和v1.3.前者包含9682个视频,100个分类。后者包含19994个视频,200个分类。分成三部分:training, validation, testing,比例2:1:1

THUMOS14:1010个validation视频,1574个testing视频。20个分类。Training set为UCF101。一般将validation 作为训练集,因此,训练集包含220个视频,20个分类。

Implementation Details: 端到端的训练。输入:视频帧 和 action proposals。Two-stream CNNs用于提取特征。SGD学习CNN参数,batch_size=128,momentum=0.9,用ImageNet的pre-train models初始化CNN。Learning_rate=0.001 for RGB network,0.005 for opticalflow network。在每一个minibatch中,positive background incomplete proposals的比例为1:1:6。对completeness classifier,只有在一个minibatch中损失值排在前1/6的样本才会用于计算梯度,这与hard negative mining类似(在negative sets中产生质量更高的samples)。在ActivityNet的两个版本上,RBG和optical flow 生成two-stream CNN ,分别训练9.5K和20K次,每4K和1K次迭代后learning_rate缩小0.1。THUMOS14,two-stream分别训练1K和6K次,每400和2500次迭代后,learning_rate 缩小0.1。

Evaluation Metric。因为数据集来自竞赛,每个数据集都有convention of reporting mean average precious(mAP)。本实验采用 mAP,IoU threshold为{0.5,0.75,0.95},average of mAP

Values with IoU threshold将和其他方法比较。THUMOS14 的IOU threshold 为{0.1,0.2,0.3,0.4,0.5},mAP of 0.5 IoU 用于和其他方法比较。

6.2 Ablation Studio

Temporal Action Proposal :在三个方面比较不同的action proposal scheme:recall,quality,detection performance。

Structured Temporal Pyramid Pooling:

Classifier Design:activity classifiers , completement classifiers.

Location Regression & Multi-Task Learning :

Training :Stage-wise v.s. End-to-End: SSN为end-to-end训练,分别进行提取特征,用SVM训练分类器和回归,岭回归,我们称之为stage-wise training。        

6.3 Comparison with the State of Art

         与现有的方法比较。

7.总结

本文提出一个通用模型,将structured temporal pyramid 与两种分类器相结合。

Supplementary materials:http://yjxiong.me/others/ssn/supp.pdf

Code available at http://yjxiong.me/others/ssn

猜你喜欢

转载自blog.csdn.net/zhuiqiuk/article/details/88377859