美文网首页Paper
基于人体骨架序列的视频行为识别

基于人体骨架序列的视频行为识别

作者: 谢小帅 | 来源:发表于2019-08-22 10:56 被阅读0次

整体思路

Reference: Yan S, Xiong Y, Lin D. Spatial temporal graph convolutional networks for skeleton-based action recognition[C]//Thirty-Second AAAI Conference on Artificial Intelligence. 2018.

fig1. ST-GCN architecture

1. 基于 OpenPose 的 2D 多人 姿态/骨架 估计

  • 输入:RGB image 或者 video sequence
  • 输出:人体关节点位置和可信度 (x, y, confidence)

OpenPose 总共估计人体 18 个关节点,关节点顺序和名称如下图:

fig2. OpenPose 18 joints

2. build Spatial-Temporal Graph on skeleton sequence

  • Nodes: V = \{ v_{ti} | t = 1, ...,T, i=1,...,N \}
    T 表示 skeleton sequence 帧数,即 T 个时刻,N 表示N个人的骨架
    t 表示 temporal 联系,inter-frame;i 表示 spatial 联系,intra-skeleton

  • Feature vector on a node F(v_{ij}) = (x,y, confidence)

  • Edges = spatial + temporal
    E_S = \{ v_{ti}v_{tj}|(i,j)∈H \} intra-skeleton, H 表示 joints in a skeleton,如 fig2 OpenPose 关节点的连接方式
    E_F = \{ v_{ti}v_{(t+1)i} \} inter-frame,连续帧之间的对应关节点连接起来

fig3. Spatial-Temporal Graph of a skeleton sequence

注:spatial graph 理解为单帧中的骨架图,temporal graph 为多帧之间相应关节点的连接图

3. Graph Convolution details

3.1 传统图像在坐标点 x 位置的 conv

f_{out}(x) = \sum_{h=1}^{K}\sum_{w=1}^{K}f_{in}(p(x,h,w)) · w(h,w)

  • f_{in}, f_{out}:input, output feature map
  • p(x,h,w):表示位置 xh × w 邻域
  • w(h,w):表示邻域内相应位置点的权值
3.2 图卷积在顶点 v_{ti} 位置的 conv
  • f_{in}:input feature map
    对于图卷积,f_{in}^{t}: V_t → R^c 表示 t 时刻输入的 feature map,即为 t 时刻的 spatial graph V_t,而 R^c 表示图中顶点的 feature vector 有 c 个通道。
    定义完输入的 feature map 后,再定义邻域采样函数 p(v_{ti},v_{tj}) 和权值函数 w(v_{ti},v_{tj}) 就能完成卷积运算了,这里 pw 表示方法与传统 Conv 不同。

  • p(v_{ti},v_{tj}) 邻域采样函数
    B(v_{ti})= \{ v_{tj}|d(v_{tj},v_{ti}) \leq D\}

    • d(v_{tj},v_{ti})v_{tj}v_{ti} 的最短路径 / 边数,hops
    • D=1:只将直接相连的邻接点作为邻域
  • w(v_{ti},v_{tj}) 权值函数
    l_{ti}:B(v_{ti}) → \{ 0, ..., K-1\}

    1. 邻域 B(v_{ti}) 分成 K 个子集(注意这里的 K 和前面传统卷积的 K 同样表示卷积的 kernel size)
    2. 子集中 nodes 分别赋上数值权值,这里为子集编号(图卷积中叫 labeling,即给每个 node 打分类标签)code 中用 size = (c, K) 的 tensor 表示,类比传统卷积权值 (c, K, K)

注:划分 K 个子集,同一个子集内的节点采用相同的权重,从而实现权重共享。可按照邻域 path 划分,也可按照节点距离重心的远近划分,见 part 4

3.3 Spatial Graph Convolution 空域图卷积

f_{out}(v_{ti}) = \sum_{v_{ti}∈B(v_{ti})} \frac{1}{Z_{ti}(v_{tj})} f_{in}(p(v_{ti},v_{tj})) · w(v_{ti},v_{tj})

  • Z_{ti}(v_{tj}):标准化因子,领域顶点 v_{tj} 所在的子集中的顶点总个数

上述公式样式仍然偏向传统图像卷积,进一步转化为图卷积样式:

f_{out}(v_{ti}) = \sum_{v_{ti}∈B(v_{ti})} \frac{1}{Z_{ti}(v_{tj})} f_{in}(v_{tj}) · w(\color{red}{l_{ti}(v_{tj})})

  • v_{tj}:邻域顶点
  • l_{ti}(v_{tj}):给邻域顶点 打标签/赋权值 函数
3.4 Spatial Temporal Modeling 时空图卷积

时空邻域采样函数:空域连接 扩展到 时域连接,单帧扩展到多帧
B(v_{ti})= \{ v_{qj}|d(v_{tj},v_{ti}) \leq K, |q - t| \leq \lfloor \Gamma /2 \rfloor \}

  • 邻域 v_{tj}v_{qj},不限于单帧
  • 上限 dDK
  • \Gamma:temporal range, temporal kernel size,本文 = 9

时空邻域权值函数:划分子集 labeling 扩展到时域
l_{ST}(v_{qj}) = l_{ti}(v_{tj}) + (q-t+\lfloor \Gamma /2 \rfloor)×K

4. 划分子集 & labeling

labeling 体现了 将邻域的特征聚合到当前节点 的一种规则。

  • (b) Uni-labeling 同一标注权值
    邻域内所有 nodes 权值一样,没有局部差异性 local differential properties
    labeling:令 K=1,则 l_{ti}(v_{tj})=0

  • (c) Distance partitioning 距离划分 distance to root joint
    具有局部差异性,但是缺乏子集 joints 相对全局的位置关系,即不能反应子集 joints 处于人体的哪块区域
    labeling:令 K=2,则 l_{ti}(v_{tj})=d(v_{tj},v_{ti}) 可取值:0 或 1

  • (d) Spatial configuration partitioning
    骨架 joints 运动可分为向心和离心,可将 nodes 分为 3 组:
    l_{ti}(v_{tj}) = \begin{cases} 0 & \text{if } r_j = r_i\\ 1 & \text{if } r_j < r_i\\ 2 & \text{if } r_j > r_i \end{cases}

    其中 r_j 是邻域 joint 到黑色十字 × 的距离,r_j 为 root joint

综上所述,邻域 joints 子集的划分特点:

  1. 既能保留局部信息,又能涵盖全局信息
  2. 邻域权重划分更加多样性

5. Implementing ST-GCN

5.1 邻接矩阵

对于 (c)(d) 划分,邻接矩阵 A 被分成了不同子集 \sum_jA_j
f_{out} = \sum_j \Lambda^{-\frac{1}{2}} A_j\Lambda^{-\frac{1}{2}}f_{in}W_j

  • (c)A_0, A_1
  • (d)A_0, A_1, A_2

添加 mask MA_j \otimes M,学习不同邻接点对 root 的权重影响

5.2 网络结构
"9 ST-GCN units,temporal kernel size = 9 感受野"
# out 64 channels
ST-GCN
ST-GCN
ST-GCN
# out 128 channels
ST-GCN  # stride = 2,时域下采样,2 frame -> 1frame
ST-GCN
ST-GCN
# out 256 channels
ST-GCN  # stride = 2,时域下采样,2 frame -> 1frame
ST-GCN
ST-GCN
"Global Pooling, feature map -> 256 dimension feature vector"
GAP
"Softmax classifier"
softmax

相关文章

网友评论

    本文标题:基于人体骨架序列的视频行为识别

    本文链接:https://www.haomeiwen.com/subject/psbgsctx.html