CVPR2018 human action/motion prediction (人体姿势预测)

‘’‘

很久之前就想写这篇文章,自己的工作已投CVPR2018,想总结一下。

更新:CVPR2018已被接收,有时间会在下一篇博客里介绍。

’‘’

比较早的方法有很多,HMM,CRBM, 高斯过程等。本文主要总结一下最近顶会文章采取的方法。


Forecasting Human Dynamics from Static Images (CVPR2017)


CVPR2018 human action/motion prediction (人体姿势预测)_第1张图片

这篇文章主要是在 Hourglass network上加入了 RNN,具体如上图。采用了skip connection的方式,预测下一帧的 骨架,然后 2D 转换成 3D。 2D转3D的网络也很多,这里给出一片 ICCV2017 的相关工作   Github   下图在时序上展开 预测过程。
CVPR2018 human action/motion prediction (人体姿势预测)_第2张图片
预测第一帧时输入的是原图,接下来的输入 为 0.  熟悉seq2seq 的可以把它理解成 seq2seq 里的解码阶段。但有的seq2seq 后的解码阶段 下一时刻的输入是上一时刻的输出。另外需要注意的是,往往只给一张输入,预测的动作往往具有 歧义性。比如 蹲起 这个动作, 你不知道是 下蹲 还是 上起。因此以往的工作都是给一个 pair,即两张图来消除歧义。

Recurrent Network Models for Human Dynamics (ICCV2015)

这篇是比较早的文章,采用的方法也比较简单粗暴。

CVPR2018 human action/motion prediction (人体姿势预测)_第3张图片
思路是encode-rnn-decode, 很简单,但是和最近的方法相比较,往往容易快速收敛到均值。作为预测网络,文章开发了一个新的作用,预测关键点的位置。


Structural-RNN: Deep Learning on Spatio-Temporal Graphs(CVPR2016)

这篇文章也是被推崇最高的一篇,一些网站上也都有介绍。框架如下:
CVPR2018 human action/motion prediction (人体姿势预测)_第4张图片 CVPR2018 human action/motion prediction (人体姿势预测)_第5张图片

用图模型的问题来解决问题,很合理,但是缺陷也很明显,就是参数太多,尤其是RNN 比较多,训练起来很复杂。看起来网络很复杂,仔细研究论文,思想很简单。对于每一个node 有一个独立的RNN,另外交互信息用其他的RNN去捕捉。一个node 下一帧的动作,既要考虑到自己过去的信息,也要考虑周围的交互信息。 Github

On human motion prediction using recurrent neural networks(CVPR2017)

本人最喜欢这篇工作,网络简单,效果很好。
CVPR2018 human action/motion prediction (人体姿势预测)_第6张图片
采用 seq2seq 结构,引入残差 方式,训练起来更容易。注意本文提出的 Sampling-loss,对于长序列的预测,在测试时 seq2seq 的解码阶段 到底给 groundtruth 还是上一帧的预测结果。因为测试是没有 真实的值的。

Deep representation learning for human motion prediction and classification(CVPR2017)

CVPR2018 human action/motion prediction (人体姿势预测)_第7张图片                          CVPR2018 human action/motion prediction (人体姿势预测)_第8张图片

这篇文章的关注点 如题目所说,更强调 deep representation,探索了3 种方式。比较吸引人的是在时间维度上也采用卷积。这个可以联想到一篇跟骨架有关的文章,一个骨架S 的T时间长度的矩阵,卷积 和把矩阵 转置 后卷积,意义就可以理解为 分别是空间和时间维度上的操作。


总结

对于单个人的动作预测,跟骨架扯上关系,就会有很多奇奇怪怪的方法去做,这个可以看历年的skeleton based recognition 的文章,主要是意义不是很大。主要还是应该能够对 行为建模。 高斯过程就很适合做这个,当然用一些深度学习的网路去做也可以。 暂时的思路就是这样,能够对一个种行为建模,结合GAN 就能去做生成任务。


你可能感兴趣的:(motion,prediction,深度学习)