Graph Convolutional Networks for Temporal Action Localization论文学习笔记
本文链接:https://arxiv.org/pdf/1909.03252.pdf
在读本文之前,首先看一下什么叫做Temporal Action Detection,即时序行为检测。
任务目的:给定一段未分割的长视频,算法需要检测视频中的行为片段,包括其开始时间,结束时间以及类别。
任务特点与难点:时序行为检测和目标检测可以类比起来看:action recognition ↔ \leftrightarrow ↔ image classification
temporal detection ↔ \leftrightarrow ↔object detection
难点1.目标检测时,边界框非常明确,可以准确标出。但时序行为的边界不是很 明确,一个行为什么时候算开始,什么时候结束(精确到第几帧),不是很容易标注。
2.时序行为检测中无法只使用静态图像信息的,必须结合时序的信息,如使用RNN读入每帧图像上用CNN提取的特征,用时序卷积等。
3.时序行为片段的时间跨度变化可能很大。
任务关键点:1.高质量的时序片段,得到较高的proposals。
2.准确的分类
本文主要内容
大多著名的行为定位系统独立处理动作proposals,并没有考虑proposals之间的关系,本文提出用GCN来利用proposals之间的关系。
实现过程:(1)构建了动作建议框图,每个框表达成一个节点,框之间的关系用边
表示。其中有两种类型的关系,一个用来捕获每个建议框的内容信
息,另一个用来表征不同动作之间的相关性。
(2)在图上使用GCN来建模不同proposals的关系并学习有力的表达进行
动作识别和定位。
借助于目标检测的成功,现在的很多动作检测方法大致分为两步:首先生成一系列的一维时序建议框;然后独自地执行分类和时序边界回归,然而这种方法会忽视proposals之间的语义相关性。
本文贡献:(1)第一个利用proposals之间的相关性进行视频时序动作定位。
(2)通过观察建立了一个proposal图,然后利用GCN进行了信息的聚合。
最近的工作:处理该任务的方法主要分为三类。
(1)执行帧或段级分类的方法,需要用平滑和合并步骤获得时序边界。
(2)两步走框架(我们的方法建立在此基础上)。
(3)end-to-end结构,整合proposal生成和分类步骤。
- 符号和预备知识
V = { I t ϵ R H × W × 3 } t = 1 T V=\left \{ I_{t}\epsilon R^{H\times W\times 3} \right \}_{t=1}^{T} V={ ItϵRH×W×3}t=1T, I t I_{t} It表示在时间点t时高为H,宽为W的视频帧。 P = { P i / P i = ( x i , ( t i , s , t i , e ) ) } i = 1 N P=\left \{ P_{i}/P_{i}=\left (x _{i},\left ( t_{i,s},t_{i,e} \right ) \right ) \right \}_{i=1}^{N} P={ Pi/Pi=(xi,(ti,s,ti,e))}i=1N是提取的感兴趣的动作建议框, t i , s t_{i,s} ti,s, t i , e t_{i,e} ti,e分别表示proposal开始和结束的时间。 x i ϵ R d x_{i}\epsilon R^{d} xiϵRd是在时间段 I t i , s I_{t_{i,s}} Iti,s和 I t i , e I_{t_{i,e}} Iti,e之间的帧上提取的特征向量。
- 一般方案
给定输入视频V,我们要预测每一个 P i P_{i} Pi的类别 y i ^ \hat{y_{i}} yi^和时间定位 ( t i , s ^ , t i , e ^ ) \left ( \hat{t_{i,s}} ,\hat{t_{i,e}}\right ) (ti,s^,ti,e^),即 { ( y i ^ , ( t i , s , t i , e ^ ^ ) ) } i = 1