CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读

论文: Structural-RNN: Deep Learning on Spatio-Temporal Graphs

论文地址: https://arxiv.org/pdf/1511.05298.pdf

作者提出一种基于st-graph的RNN混合模型Structural-RNN(S-RNN),该模型特点是捕捉人体与周围环境中物体之间的相关性从而对人物未来的运动对预测。不用于其他模型针对mocap数据集进行学习,S-RNN还适用于对于真实环境下的数据学习,例如视频或图片。这里将重点讨论针对mocap数据集的训练以及效果。


Table of Contents(目录)

Background (论文背景)

Spatio-temporal graph

Factor graph parameterization

Sharing factors

Methodology(实现方法)

Network Structure(模型结构)

Training(训练)

Experiments(实验)

Experiments detail(实验细节)

Experiments results(实验结论)

Summary(总结)


Background (论文背景)

Spatio-temporal graph

CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读_第1张图片

Spatio-temporal graph是S-RNN模型的基础,它是一种用于描述高层级时空关系结构的工具,图中的结点代表了问题的元素,边代表了它们之间在时间和空间上的联系。如图中人物与两个关键物体。

Factor graph parameterization

CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读_第2张图片

为了能将st-graph的特性实际应用在人体运动预测上,作者对其进行了一系列操作:

  1. 首先,如图中(a)是一个基本的st-graph代表了一个活动,由两个物体与一个人物3个结点,6条边组成。其中3条自链接的为时间相关的边,剩下为时间空间相关的边。
  2. 之后,将st-graph沿着时间方向,即时间相关的边横向展开,如图中(b)所示,在时间点t,3个结点之间由spatio-temporal edges所链接。
  3. 通过展开之后我们可以发现最后的预测值和结点x^t_v,边x^t_e相关。而结点的特征代表了人体和物体的姿态,边的特征代表了不同结点之间的联系,因为作者提出一种factor function。每一个结点为\Psi _v(y_v,x_v),每一条边为\Psi _e(y_{e(1)},y_{e(2)},x_e)。如图中(c)所示。

Sharing factors

CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读_第3张图片

作者提出没必要为每个在图中的factor训练,通过共享factors的方式可以大幅减少参数个数。具体是通过将语义上相似的结点进行共享factors。如图(a)所示,相同颜色的代表了相同的factor,其中同是物体的结点u,w共享了相同的factors。


Methodology(实现方法)

Network Structure(模型结构)

通过之前提到的从st-graph转变到sharing factor的factor graph,S-RNN其实就做了很小的改变,将共享factors之后图中的factor提取出来替换成RNN,如图(b)所示,由于共享了factor,factor graph在t时间点只存在了2种结点(人物和物体),和4种边(H-O,O-O,H-H,O-O),其中第一种O-O为两个物体之间的spatio-temporal边,第二种为同种物体的时间相关边。具体算法如下图所示。

CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读_第4张图片

在图中(c,d),edgeRNNs的输入是edge featurex^t_e的时间序列,nodeRNNs则将edgeRNNs的输出和自己的node featurex^t_v结合一起,得到最后的预测值。

Training(训练)

CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读_第5张图片

图中详细说明了forward的细节。训练方式是通过向后传播,基于error不断更新nodeRNN和edgeRNN。当一个结点链接了多个其他结点,将edge feature的累加和作为edgeRNNs的输入。


Experiments(实验)

Experiments detail(实验细节)

CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读_第6张图片

  1. 针对mocap数据集,将人体分为几个主要components,手臂,腿和脊椎。
  2. 腿之间分享factor,手臂之间分享factor。
  3. EdgeRNN使用FC(256)-FC(256)-LSTM(512),nodeRNN使用LSTM(512)-FC(256)-FC(100)-FC(\cdot)。

Experiments results(实验结论)

CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读_第7张图片       CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读_第8张图片

整体上来看,S-RNN能在短期预测中与真实值保持基本一致,但是在长期预测中只能生成类似人体动作的结果。


Summary(总结)

  1. 作者提出的S-RNN模型将重点放在环境与人物的联系上,通过对物体与人物在时间空间上的联系的学习训练,达到预测的目的,不同于之前ERD模型只将重点放在人物运动上,S-RNN有更为广泛的适用性。
  2. 作者中间提到的sharing factor是一个亮点,通过将类似component的node相互共享factor,避免了过多的参数并取得了较好的训练效果。

你可能感兴趣的:(CVPR 2016 Structural-RNN: Deep Learning on Spatio-Temporal Graphs 论文解读)