Action detection 看的第一篇,只看懂了大概思路,具体细节很多不理解,代码暂时没看懂,后面了解多了再返回来看吧。

代码:https://github.com/yjxiong/action-detection

首先用Temporal Actionness Grouping(TAG)这个方法得到候选片段,之后利用时间金字塔得到片段级别特征,经过两个分类器联合判断,得到片段类别和开始结束的时间。在THUMOS14 和 ActivityNet 两个数据集上超越了state-of-the-art。

【行为检测】ICCV 2017:Temporal Action Detection with Structured Segment Networks

总体结构图,对于标注片段(图中绿色框),时间上扩大2倍得到黄色框片段,分为starting,course,ending三个部分,三个部分经过CNN,之后经过时间金字塔(思路来源于空间金字塔,是一种pooling方法),实验中用到的参数是(1,(1,2),1),starting和ending两个部分参数是1也就相当于没有做分割,根据公式,也就相当于做了average pooling。course部分参数为(1,2)图中绿色部分可以看出整段pooling和均分为2之后pooling,最终五个部分合在一起成为整段的特征。

【行为检测】ICCV 2017:Temporal Action Detection with Structured Segment Networks

给定一个扩展后的proposal,其包含三个阶段 psi,pci,peipis,pic,pie,分别计算特征向量 fsi,fci,feifis,fic,fie。具体来说,对于某个阶段,将其分为 LL 级时间金字塔,每一级均可以获得一个特征向量 vtvt,并且每一级被均匀划分为 BlBl 部分,对于第 ii 部分的第 ll 级(其间隔为 [sli,eli][sli,eli]),定义池化特征(pooled feature)。

 

之后接两个分类器

  • 类别分类器:分为K+1类(K类行为+1类非行为),输入是course段的特征;
  • 完整性分类器:输出是概率值,Introduction中提到结果不完整是个很大问题,所以有了这个分类器,判断事件是否完全和背景三类。共有K个,根据类别分类器的结果送入不同的分类器,输入是3段整合的特征。

参考:https://blog.csdn.net/zhang_can/article/details/79782387

相关文章: