时序动作定位的图卷积网络论文学习笔记

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 N = F ( G C N ( { x i } i = 1 N , ϱ ( P , ε ) ) ) \left \{ \left ( \hat{y_{i}},\left ( \hat{t_{i,s},\hat{t_{i,e}}} \right ) \right ) \right \}_{i=1}^{N}=F\left ( GCN\left (\left \{ x_{i} \right \} _{i=1}^{N} ,\varrho \left ( P,\varepsilon \right )\right ) \right ) {(yi^,(ti,s,ti,e^^))}i=1N=F(GCN({xi}i=1N,ϱ(P,ε)))
    其中,F是学习到的映射函数。
    这里会遇到两个问题:(1)怎样构建图来表达proposals之间的相关性?
                   (2)怎样利用GCN来学习proposals的表示?

  • proposal图的构建
    图的顶点表示proposals,边有两种:contextual edges和surroundng edges。
    contextual edges:若 r ( P i , P j ) > θ c t x r\left ( P_{i},P_{j} \right )>\theta _{ctx} r(Pi,Pj)>θctx θ c t x \theta _{ctx} θctx为给定的阈值,则在 P i P_{i} Pi P j P_{j} Pj之间建立边, r ( P i , P j ) r\left ( P_{i},P_{j} \right) r(Pi,Pj) 代表 P i P_{i} Pi P j P_{j} Pj之间的相关性,由tIOU度量。 r ( P i , P j ) = t I O U ( P i , P j ) = I ( P i , P j ) U ( P i , P j ) r\left ( P_{i},P_{j} \right )=tIOU\left ( P_{i},P_{j} \right )=\frac{I\left (P _{i},P_{j} \right )}{U\left (P _{i},P_{j} \right )} r(Pi,Pj)=tIOU(Pi,Pj)=U(Pi,Pj)I(Pi,Pj)。与 P i P _{i} Pi高度重叠邻域的非重叠部分可以给 P i P _{i} Pi提供丰富的上下文信息。
    surrounding edges:背景信息对于动作识别也起到了很大作用,为了利用这种关系,首先利用 r ( P i , P j ) r\left ( P_{i},P_{j} \right ) r(Pi,Pj)=0来查找不同的proposals,然后计算距离 d ( P i , P j ) = ∣ C i − C j ∣ U ( P i , P j ) d\left (P _{i},P_{j} \right )=\frac{\left | C_{i} -C_{j}\right |}{U\left ( P_{i},P_{j} \right )} d(Pi,Pj)=U(Pi,Pj)CiCj,若 d ( P i , P j ) d\left (P _{i},P_{j} \right ) d(Pi,Pj)< θ s u r \theta _{sur} θsur,则增加该条边。 C i C_{i} Ci代表 P i P_{i} Pi的中心点坐标,这些边能传递不同的动作实例,为检测提供线索。

  • 图卷积进行动作定位
    对于第k层 ( 1 ≤ k ≤ K ) \left ( 1\leq k\leq K \right ) (1kK),图卷积表示成 X ( k ) = A X ( k − 1 ) W ( k ) X^{\left ( k \right )}=AX^{\left ( k-1 \right )}W^{\left ( k \right )} X(k)=AX(k1)W(k),A是邻接矩阵, W ( k ) ϵ R d k × d k W^{\left ( k \right )}\epsilon R^{d_{k}\times d_{k}} W(k)ϵRdk×dk是学习到的参数矩阵; X ( k ) ϵ R N × d k X^{\left ( k \right )}\epsilon R^{N\times d_{k}} X(k)ϵRN×dk是第k层所有proposals的隐藏特征, X 0 ϵ R N × d k X^{0}\epsilon R^{N\times d_{k}} X0ϵRN×dk是输入特征。
    我们借助两个GCN,一个在原始框特征 X i X_{i} Xi上执行,另一个在扩展的框特征 X i ′ {X_{i}}' Xi上执行,进行动作标签预测和时间边界回归。
    第一个GCN表示成: { y i ^ } i = 1 N = s o f t m a x ( F C 1 ( G C N ( { X i } i = 1 N , ϱ ( P , ε ) ) ) ) \left \{ \hat{y_{i}} \right \}_{i=1}^{N}=softmax\left ( FC_{1}\left ( GCN\left ( \left \{ X_{i} \right \}_{i=1}^{N} ,\varrho \left ( P,\varepsilon \right )\right ) \right ) \right ) {yi^}i=1N=softmax(FC1(GCN({Xi}i=1N,ϱ(P,ε)))),其中, y i ^ \hat{y_{i}} yi^表示预测动作标签。
    第二个GCN表示成: { ( t i , s ^ , t i , e ^ ) } i = 1 N = F C 2 ( G C N 2 ( { X i ′ } i = 1 N , ϱ ( P , ε ) ) ) \left \{ \left ( \hat{t_{i,s}},\hat{t_{i,e}} \right ) \right \}_{i=1}^{N}=FC_{2}\left ( GCN_{2}\left ( \left \{ {X_{i}}' \right \} _{i=1}^{N},\varrho \left ( P,\varepsilon \right )\right ) \right ) {(ti,s^,ti,e^)}i=1N=FC2(GCN2({Xi}i=1N,ϱ(P,ε)))
              { C i ^ } i = 1 N = F C 3 ( G C N 2 ( { X i ′ } i = 1 N , ϱ ( P , ε ) ) ) \left \{ \hat{C_{i}} \right \}_{i=1}^{N}=FC_{3}\left ( GCN_{2}\left (\left \{ {X_{i}}' \right \} _{i=1}^{N} ,\varrho \left ( P,\varepsilon \right )\right ) \right ) {Ci^}i=1N=FC3(GCN2({Xi}i=1N,ϱ(P,ε)))
    扩展特征 X i ′ {X_{i}}' Xi首先是由 P i P_{i} Pi在左侧和右侧分别延伸其长度的1/2,然后提取特征。 C i ^ \hat{C_{i}} Ci^是预测完整的标签,显示建议框是否完整。有些不完整的建议框有低的tIOU,但是有较高的分类分数,会对预测带来不便。
    其中邻接矩阵: A i j = x i T x j ∥ x i ∥ 2 ⋅ ∥ x j ∥ 2 A_{ij}=\frac{x_{i}^{T}x_{j}}{\left \| x_{i} \right \|_{2}\cdot \left \| x_{j} \right \|_{2}} Aij=xi2xj2xiTxj

  • 通过采样有效训练
    本文采用SAGE方法进行采样,生成proposals,SAGE方法在自上而下的通道中逐层均匀地对每个节点的固定大小邻域进行采样。当所有层的所有节点被采样完后,SAGE以自下而上的方式进行信息整合。
    X i ( k ) = ( 1 N s ∑ j = 1 N s A i j X j ( k − 1 ) + X i ( k − 1 ) ) W ( k ) X_{i}^{\left ( k \right )}=\left ( \frac{1}{N_{s}} \sum_{j=1}^{N_{s}}A_{ij}X_{j}^{\left ( k-1 \right )}+X_{i}^{\left ( k-1 \right )}\right )W^{\left ( k \right )} Xi(k)=(Ns1j=1NsAijXj(k1)+Xi(k1))W(k)
    j是i的邻域, N s N_{s} Ns是采样大小。

你可能感兴趣的:(时序动作定位的图卷积网络论文学习笔记)