HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读

论文: HP-GAN: Probabilistic 3D human motion prediction via GAN

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

作者的模型是大多人体运动预测都会用到的sequence-to-sequence model,但是在训练过程中给定相同的输入,通过GAN网络学习多种可能的未来姿势,即通过深度神经网络做概率性运动预测。同时作者在WGAN-GP的基础上做了改进以契合人体运动预测的问题。


Background (论文背景)

GAN

GAN网络由两个部分组成,第一部分为生成器,由给定运动序列生成预测序列,第二部分为辨别器,用于分辨生成器的输出是否为真实值,从而形成相互对抗博弈,进而让生成器变现越来越好直到辨别器无法辨别真假。

但是GAN同样也有缺点,它很难训练并且在训练过程中很不稳定,loss值并不一定代表生成器的质量。

RNN based mothods

作者提到了使用RNN为核心的model,例如ERD模型,这类模型的缺点在于预测值会不断累积错误导致之后的预测远远偏离真实值。作者还提到了S-RNN,而它需要人工设置structure graph。同时,使用HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读norm会让模型在两种可能的预测值中去平均值,导致mean pose。

WGAN-GP

WGAN-GP是WGAN的改进版。具体的实现如下:

  • 辨别器最后一层去掉了sigmoid
  • loss不取log
  • 使用剃度惩罚满足连续性条件

Methodology(实现方法)

Network Structure(模型结构)

HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读

作者选用的模型是sequence-to-sequence model,不同于传统的sequence-to-sequence model,作者加入了z向量服从Gaussian distribution,将向量map至encoder输出的hidden states相同空间,将最后一个encoder的输出作为decoder的输入。z向量的作用在于生成多种预测值,传统的做法是把人体运动预测视作regression问题,但是这样只会生成一种预测值并且会存在mean pose的问题。所以作者提出通过在模型中加入z向量,保证了预测值的多样性并之后通过GAN网络学习。

Training(训练)

HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读

完整的训练过程如图所示

  • 在Critic方面,生成器的预测值与先前输入的运动序列(真实值)合成最后的预测值,与对应的完全真实值同时作为WGAN-GP loss function的输入,用于训练critic
  • 在generator方面,作者除了WGAN-GP loss还加入两种针对预测值质量的loss来帮助改进生成器的预测质量
  • 在discriminator方面,使用的是传统GAN的loss function,它并不用于训练辨别器,用于量化生成器的质量

具体的loss function计算方式如下:

  • Critic Loss:HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读,其中HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读是标准WGAN的loss,而WGAN-GP对其做了改进添加了HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读剃度惩罚,作者添加了standard regularization。HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读,HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读
  • Generator loss:HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读,其中HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读是WGAN-GP的定义loss,作者添加了针对动作连续性的lossHP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读以及针对骨骼长度时间上一致的lossHP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读,计算相邻两帧之间的剃度下降并累加,HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读,计算预测值与真实值骨骼长度的累积差值。
  • Discriminator loss和传统的一样

Experiments(实验)

Experiments detail(实验细节)

  • 每次训练的循环中,critic训练10次,generator和discriminator各一次
  • 使用adam训练
  • learning rate:5e-5
  • z向量选用服从Gaussian probability distribution的128维度的浮点型数据

Experiments results(实验结论)

HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读

作者提到即使generator loss一直在提升,但是很难为generator和critic设置最佳的参数,而discriminator能一定程度反应生成器的预测值质量,实验结果为一段时间后趋于平稳。

HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读

尽管模型的输入只有一组数据,但模型的输出为多组预测值如上图所示。并且critic会提供它的判断值,判断每一组是真实值的概率。如下图所示。

HP-GAN: Probabilistic 3D human motion prediction via GAN 论文解读


Summary(总结)

  1. 作者提出的HP-GAN结构最大的优势在于能生成多组预测值,并通过critic给每组预测值计算它是真实值的概率从而达到预测人体运动的目标。
  2. 作者使用了改进的WGAN-GP,在对抗神经网络的训练中有较好的效果,并通过传统的discriminator判断什么时候停止训练,获得最优的调参。
  3. 作者使用sequence-to-sequence将输出的预测值作为整体一起训练,避免了RNN based mothod中不断累加error的问题。