Probabilistic Human Motion Prediction via A Bayesian Neural Network
Extracted source text · arXiv 2107.06564
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%2345678901234567890123456789012345678901234567890123456789012345678901234567890
% 1 2 3 4 5 6 7 8
\documentclass[letterpaper, 10 pt, conference]{ieeeconf} % Comment this line out if you need a4paper
%\documentclass[a4paper, 10pt, conference]{ieeeconf} % Use this line for a4 paper
\IEEEoverridecommandlockouts % This command is only needed if
% you want to use the \thanks command
\overrideIEEEmargins % Needed to meet printer requirements.
%In case you encounter the following error:
%Error 1010 The PDF file may be corrupt (unable to open PDF file) OR
%Error 1000 An error occurred while parsing a contents stream. Unable to analyze the PDF file.
%This is a known problem with pdfLaTeX conversion filter. The file cannot be opened with acrobat reader
%Please use one of the alternatives below to circumvent this error by uncommenting one or the other
%\pdfobjcompresslevel=0
%\pdfminorversion=4
% See the \addtolength command later in the file to balance the column lengths
% on the last page of the document
% The following packages can be found on http:\\www.ctan.org
%\usepackage{graphics} % for pdf, bitmapped graphics files
%\usepackage{epsfig} % for postscript graphics files
%\usepackage{mathptmx} % assumes new font selection scheme installed
%\usepackage{times} % assumes new font selection scheme installed
\usepackage{amsmath} % assumes amsmath package installed
\usepackage{amssymb} % assumes amsmath package installed
\usepackage{comment}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage{verbatim}
\usepackage{bm}
\usepackage{color}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{booktabs}
% \usepackage{subcaption}
% \usepackage{natbib}
\title{\LARGE \bf
Probabilistic Human Motion Prediction via A Bayesian Neural Network}
\author{Jie Xu\textsuperscript{\textdagger}, Xingyu Chen\textsuperscript{\textdagger}, Xuguang Lan* and Nanning Zheng% <-this % stops a space
\thanks{{\textdagger} Equal contribution}
\thanks{* Corresponding author}
\thanks{J. Xu, X. Chen, X. Lan and N. Zheng are with the Institute of Artificial Intelligence and Robotics, Xi’an Jiaotong University, Xi’an
710049, China (e-mail: jie.xu@stu.xjtu.edu.cn; xingyuchen1990@gmail.com; xglan@mail.xjtu.edu.cn;
nnzheng@mail.xjtu.edu.cn)}% <-this % stops a space
%
}
\begin{document}
\maketitle
\thispagestyle{empty}
\pagestyle{empty}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{abstract}
Human motion prediction is an important and challenging topic that has promising prospects in efficient and safe human-robot-interaction systems. Currently, the majority of the human motion prediction algorithms are based on deterministic models, which may lead to risky decisions for robots. To solve this problem, we propose a probabilistic model for human motion prediction in this paper. The key idea of our approach is to extend the conventional deterministic motion prediction neural network to a Bayesian one. On one hand, our model could generate several future motions when given an observed motion sequence. On the other hand, by calculating the Epistemic Uncertainty and the Heteroscedastic Aleatoric Uncertainty, our model could tell the robot if the observation has been seen before and also give the optimal result among all possible predictions. We extensively validate our approach on a large scale benchmark dataset Human3.6m. The experiments show that our approach performs better than deterministic methods. We further evaluate our approach in a Human-Robot-Interaction (HRI) scenario. The experimental results show that our approach makes the interaction more efficient and safer.
\end{abstract}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{INTRODUCTION}
Human motion prediction is an important and challenging topic in both computer vision and intelligent robotics communities which has been widely adopted to solve human intention understanding in human-robot-interaction scenarios. Supposing a robot is interacting with a human partner, for instance, handing a tool, playing games, or even taking care of the person, the interaction would be more efficient and safer if the robot could understand person's intention and accurately predicts person's future motion.
Currently, most of state-of-the-art human motion prediction algorithms \cite{Fragkiadaki2015,martinez2017human,Jain2016} rely on Recurrent Neural Networks (RNN). Given an observed motion sequence, these methods only predict a deterministic result, which brings a number of serious problems in the Human-Robot-Interaction (HRI) scenario. First, the robot should not make only one prediction since human motions are diverse in real interaction scenarios. The similar observed motions may correspond to very different future motions due to different intentions. Second, the robot does not know how much should it trust the predicted results. Specifically, if the observed motion has never been seen before, the predicted motion is actually untrustworthy. Third, the robot does not know how long should it trust the predicted motion. As RNNs could generate arbitrary length of human motions and the predicted results become more inaccurate as time goes, there are only a period of predicted motions trustworthy. Therefore, it is very risky for a robot to make decisions relying on a deterministic motion prediction algorithm.
\begin{figure}[t!]
\centering
\includegraphics[width = 1\linewidth]{graph/fig_1.pdf}
\caption{ A probabilistic human motion prediction algorithm should not only predict many possible results but also need to choose the optimal one to help a robot make the most appropriate decision.
%Our model can easily give a series of probabilistic predictions from a familiar motion, and then we choose the optimal prediction with the least uncertainty. The unfamiliar motion confuses the model, and the model discards all prediction results.
}
\label{fig:fig1}
\end{figure}
A more reliable human motion prediction algorithm in the human-robot-interaction system should be a probabilistic model. Previous methods such as \cite{barsoum2018hp,sidenbladh2002implicit} introduce Variational Auto-Encoders \cite{kingma2013auto} or Generative Adversarial Networks \cite{goodfellow2014generative} in the motion prediction algorithm which makes the model able to generate many possible results when given an observed motion. However, these methods could not further guide the robot to select the optimal prediction. In this situation, randomly select a predicted result is also risky. Thus, as illustrated in Fig.\ref{fig:fig1}, an ideal probabilistic model should not only predict many possible results but also need to tell the robot if it is risky to make predictions. Moreover it should give an optimal prediction to help the robot make the most appropriate decision.
For this purpose, in this paper, we propose a novel probabilistic human motion prediction model based on a Bayesian Neural Network (BNN) \cite{mackay1992practical, neal1995bayesian}. The key idea of our approach is to extend the conventional deterministic motion prediction neural network to a Bayesian one. On one hand, as the BNN replaces the deterministic network’s weight parameters with distributions over these parameters, our model could predict a number of possible future motions when given an observed human motion sequence. On the other hand, the BNN based motion prediction model could naturally model two kinds of uncertainties simultaneously, including Epistemic Uncertainty (EU) and Aleatoric Uncertainty (AU) \cite{kendall2017uncertainties}. The EU captures the ignorance knowledge about the prediction model. Therefore, it can tell the robot whether an observed motion has been seen before. For the unseen observations, the robot could refuse to make risky decisions. The AU could captures noise inherent in the predicted motion sequences, enabling AU to reflect the confidence of the predicted results. Therefore, it helps the robot to select the most trustworthy parts of predicted results.
In summary, our contributions in this paper are as follows:
\begin{itemize}
\item We propose a probabilistic approach for human motion prediction in the HRI scenarios. Given an observed motion sequence, the proposed approach not only predicts a number of possible future motions, but also tells the robot if the observation has been seen before. It also determines the optimal result among all possible predictions to guide the robot to make correct decisions.
\item We evaluate our approach on a popular human motion prediction benchmark dataset Human3.6m \cite{ h36m_pami} by designing a serials of experiments. The experimental results show that our approach performs better than deterministic motion prediction methods.
\item In a HRI scenario, we verify that the proposed approach makes the interaction more efficient and safer.
\end{itemize}
\section{Related work}
\subsection{Deterministic Human Motion prediction}
In recent years, with the development of deep learning technologies, there are a number of approaches \cite{Fragkiadaki2015,martinez2017human,Jain2016,NIPS2006_3078,butepage2017deep,gui2018adversarial,xu2019} which predict deterministic human motions by utilizing deep neural networks. For example, Encoder-Recurrent-Decoder (ERD) model \cite{Fragkiadaki2015} predicts the pose of human body based on the input videos.
A Structural-RNN \cite{Jain2016} combines the high-level spatio-temporal graphs. It can convert the structural transformation from spatio-temporal map into RNN network using a hand-crafted graph.
Modified from typical RNN structure, Martinez et al. \cite{martinez2017human} propose a sequence learning model with residual connection. Their network directly predicts the velocity of human motion and integrates the velocity into the pose of the previous frame. Given an observed motion, these methods only predict a deterministic result, which is usually problematic in HRI scenarios.
\subsection{Probabilistic Human Motion Prediction}
Most previous probabilistic human motion prediction use non-deep learning approaches \cite{NIPS2005_2783,Kuli2012,Lehrmann2014Efficient}. These methods usually rely on traditional machine learning algorithms such as Gaussian Process, Hidden Markov Model and Dynamic Forest Model. However, the crucial problem of these methods is that they cannot be applied to large scale datasets. Moreover, it is difficult for these methods to learn the variety of human motion patterns.
Recently, with the development of Variational Auto-Encoder \cite{kingma2013auto} and Generative Adversarial Networks \cite{goodfellow2014generative}, some probabilistic motion prediction approaches \cite{butepage2018anticipating,barsoum2018hp,sidenbladh2002implicit} which rely on deep neural networks, are proposed. For example, Butepage et al. utilize a conditional variational auto-encoder which makes the model able to generate many possible results by sampling variables in a latent space. Barsoum et al. \cite{barsoum2018hp} propose an approach which learns a probability density function of future human poses conditioned on previous poses. It also could predict multiple sequences of possible future human poses. However, these methods could not be directly adopted in HRI scenarios since they could not further guide the robot to select the optimal prediction. Under this circumstance, randomly select a predicted result is also risky. Different from previous methods, we propose a novel probabilistic human motion prediction model which based on BNN. Given an observed motion, our approach not only predicts a number of possible future motions, but also tells the robot if the observation has been seen before and also gives the optimal result among all possible predictions to guide the robot to make correct decisions.
\begin{comment}
Previous human motion prediction methods such as \cite{NIPS2005_2783,Kuli2012,Lehrmann2014Efficient}
\cite{Okada_2020} usually rely on traditional machine learning algorithms such as Gaussian Process, Hidden Markov model and Dynamic Forest Model. The key problem of these methods is that they cannot be applied to large scale datasets. Moreover, it is difficult for these methods to learn a variety of human motion patterns.
\subsection{Human Motion Prediction}
Previous human motion prediction methods usually rely on traditional machine learning algorithms. For example, Wang~et~al. \cite{NIPS2005_2783} use a Gaussian process for modeling motion and make nonlinear prediction based on Markov Monte Carlo. Hidden Markov model is a common method for processing sequential data, which is also used to model human motion. In \cite{Kuli2012}, the hidden variables of the full-body encoded by the hidden Markov model are used for motion imitation. Lehrmann~et~al. \cite{Lehrmann2014Efficient} proposed a Dynamic Forest Model for human motion modelling. The key problem of these methods is that they cannot be applied to large scale datasets. In addition, it is difficult for these methods to learn a variety of human motion patterns.
With the development of deep learning technologies, there are a number of approaches which predict deterministic human motions by utilizing neural networks. For example, Taylor~et~al. \cite{NIPS2006_3078} propose a non-linear generative model for human motion data based on the idea that local constraints and global dynamics can be learned efficiently by a conditional Restricted Boltzmann Machine. Encoder-Recurrent-Decoder (ERD) model is proposed using RNN to predict of human body pose in videos \cite{Fragkiadaki2015}. A Structural-RNN method successfully combines the high-level spatio-temporal graphs with sequence learning \cite{Jain2016}. It can convert the structural transformation from spatio-temporal map into RNN network by a hand-crafted graph. Modified from typical RNN structure, Martinez et al. \cite{martinez2017human} propose a sequence learning model with residual connection. Their network directly predicts the velocity of human motion and integrates the velocity into the pose of the previous frame.
Since the Seq2Seq network \cite{martinez2017human} is simple, efficient and easy to train, we choose this method as our baseline. Our Bayesian deep neural network is modified based on \cite{martinez2017human}.
Berret~et~al.\cite{Berret2011} use the Inverse Optimal Control (IOC) method to plan arm movements, and found that movement is related to mechanical energy consumption and joint smoothness. There are also methods that take into account obstacles in the space to predict \cite{Mainprice2016, kratzer2020prediction}. \cite{Mainprice2016} re-planned through iteration. \cite{kratzer2020prediction} modify a RNN to achieve trajectory optimization.
\cite{Mainprice2013} use Gaussian Mixture Models (GMM) and Gaussian Mixture Regression (GMR) to predict human motion and model human occupancy, and plan robot movement based on these results. \cite{ButepageKK2017} use the prediction results to estimate the target of human.
\end{comment}
\subsection{Bayesian Deep Learning}
Bayesian Neural Networks \cite{10.5555/3045118.3045290, 6790581, bui2015training, Okada_2020} usually replace the deterministic network’s weight parameters with distributions over these parameters, which gives network the ability to estimate the model uncertainty. Given an input, a BNN first samples weights from the weight distributions and then perform the forward calculation, which is always time-consuming. Gal \cite{Gal2016Uncertainty} finds that using Monte Carlo Dropout in a neural network during both training and testing could be approximately regarded as modeling Bernoulli distribution over weight parameters. Based on the Dropout BNN, Kendall and Gal \cite{kendall2017uncertainties} propose a method to capture two kinds of uncertainties, including EU and HAU. Kendall~et~al.\cite{kendall2017uncertainties} propose a framework combining HAU (input-dependent) together with EU. A framework without retraining to calculate the model uncertainty is proposed by \cite{9001195}, however, which cannot distinguish Aleatoric Uncertainty (AU) and EU.
% Park et al. \cite{ParkPM16a} use their intention-aware online planning algorithm to compute a reliable trajectory based on the predicted actions.
%% 在安全人体运动预测上,我们的方法通过使用贝叶斯深度学习同时捕获RZ不确定性和SJ不确定性,RZ不确定性用于检出unseen的动作序列,SJ不确定性用于感知预测误差。因此,我们的提出能够只预测有信心的序列,并给出安全误差范围内的最好概率预测。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Method %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Method}
% 1 The similar observed motions may correspond to very different future motions due to different intentions.
% 2 the robot does not know how much should it trust the predicted results.
% 3 the robot does not know how long should it trust the predicted motion.
%%%%%%%%% 任务引出,描述我们的approach %%%%%%%%
% 为了在真实环境中安全的预测可能的人体运动,我们给出了一个新颖的提出,它能给出可能的运动分布并规避不合理的预测(也许会导致危险)。本章我们将形式化的定义我们的方法。
\begin{figure*}[thpb]
\centering
%\framebox{
\includegraphics[width = 1\linewidth]{graph/method_1.pdf}
%}
\caption{An overview of our model. Our model consists of three parts, including a Future Motion Predictor, an Unseen Motion Detector and an Optimal Motion Selector.
%The yellow boxes represent the Bayesian neural networks.
}
\label{fig:overview}
\end{figure*}
The goal of our approach is to make probabilistic and trustworthy human motion predictions for safe human-robot-interaction. In our approach, we represent human motion by a sequence of continuous 3D human skeleton poses. Each pose is represented as a vector that consists of the Cartesian coordinates of the joint locations.
Figure \ref{fig:overview} illustrates an overview of our model. It can be seen that our model consists of three modules, including a probabilistic future motion predictor, an unseen motion detector and an optimal motion selector.
% When given a dataset $\mathcal{X}={X_1, ..., X_m}$, bayesian inference is used to compute the posterior $p(W|X)$ over the weights $W$.
% In Dropout variation inference techniques \cite{Gal2016Uncertainty}, the true posterior $P(W|X)$ is fitted with a simple distribution $q(W)$, which minimises the Kullback-Leibler(KL) divergence $D_{KL}(q(W)\|P(W|X))$.
When given an observed motion sequence $x_{-T_p:0}=\{x_{-T_p},...,x_{0}\}$ (abbreviated as $x_p$), our future motion predictor $F^{\hat{W}_i}$ with parameter $\hat{W}_i$ first predicts a number of probability results $(\hat{x}_{1:T_f}^i, \hat{\sigma}_{1:T_f}^i), i=1,...,N$(a pair of mean and standard deviation, abbreviated as $(\hat{x}_f^i, \hat{\sigma}_f^i)$), where $x_{t}=\{x_{t,1},...,x_{t,J}\}$, $J$ is the number of human motion joint, and $N$ is the number of samples, and the ground truth of future motion is $x_{1:T_f}$ (abbreviated as $x_{f}$), and $T_f$ is the maximum prediction length which is set to 2s.
Then, the unseen detector calculates EU of the predicted results to determine if the observed motion has been seen before. For an unseen input motion, EU would be large, which prevents the robot from making risky decisions.
Finally, the optimal motion selector calculates HAU for each predicted future motion. Consequently, the optimal prediction $(\hat{x}_f^{i
^*},\hat{\sigma}_f^{i^*})$ and its trustworthy parts $(\hat{x}_{1:T_{i^*}}^{i^*},\hat{\sigma}_{1:T_{i^*}}^{i^*})$ could be identified, where $i^*$ is the index of the optimal prediction, and $T_{i^*}$ is the optimal length of its trustworthy parts.
\subsection{Future Motion Predictor}
\begin{figure}[t!]
\centering
\includegraphics[width=1\linewidth,height=4.5cm]{graph/method_2.pdf}
\caption{Architecture of the future motion predictor. The Monte Carlo Dropout is denoted by red arrows, the past motions are colored in the green, the predicted motions are colored in blue.}
\label{fig:nn}
\end{figure}
%%%%%%%% 这一小节定义神经网络 %%%%%%%%
% figure
To generate probabilistic human future motions, we extend a previous deterministic motion prediction neural network Seq2Seq \cite{martinez2017human} to a Bayesian neural network which directly learns the distributions over the weight parameters $q(W)$. As a result, our future motion predictor can generate arbitrary number of possible results when given an observed motion sequence. Our model also consists of an encoder and a decoder. The encoder receives the input sequence $x_p$ and obtains a hidden variable $h$, and the decoder converts $h$ into possible future motions. If the network after dropout sampling $\hat{W}\sim q(W)$ is $F^{\hat{W}_i}$, our model can be described as $(\hat{x}_f^i,\hat{\sigma}_f^i)=F^{\hat{W}_i}(x_p)$. For convenience, we split $F$ into 2 functions: $\hat{x}_f^i=f^{\hat{W}_i}(x_p)$ and $\hat{\sigma}_f^i= \sigma^{\hat{W}_i}(x_p)$.
% [todo] based on \cite{Li_2021}
The detailed network structure is shown in Fig. \ref{fig:nn}. Both encoder and decoder adopt Gated Recurrent Units (GRUs) \cite{Cho2014On} to recurrently make predictions over temporal domain. For the encoder, based on the survey results of \cite{Li_2021}, we first adopt a difference mechanism to capture the approximate velocity and acceleration of the current frame. Specifically, the acceleration can be obtained by the second-order difference of the previous three frames $x_{t-2:t}$. Further we take the current position $x_t$, velocity $\upsilon_t = x_t - x_{t-1}$ and acceleration $a_t = \upsilon_t - \upsilon_{t-1}$ as the human dynamics of the current frame. Finally, the human dynamics $[x_t, \upsilon_t, a_t]$ is fed to the GRU cell to calculate the hidden state $h$.
For the decoder, the GRU predicts the speed $\hat{\upsilon}_t$ and the standard deviation of the position $\hat{\sigma}_t$ of current frame. The mean of the current position $x$ is obtained by adding $\hat{\upsilon}_t$ and the input position $\hat{x}_{t-1}$. Then the human dynamics $[x_t, \upsilon_t, a_t]$ is fed to the GRU cell for predicting the speed and the standard deviation of next frame.
In our model, the Monte Carlo Dropout (MC-Dropout) is used for both training and testing.
On one hand, \cite{Gal2016Uncertainty} proves that Dropout is a reliable way to model the distributions over weight parameters. On the other hand, leveraging Dropout avoids directly sampling from weight parameter distributions, which is quite efficient for real time motion prediction systems.
It should be noted that the difference between MC-Dropout and naive Dropout is that the mask of MC-Dropout on each RNN time step is the same.
To simulate the unavailability of some key points caused by real sensors, our dropout unit takes the three coordinates of each key point as a whole.
% 多插一句MCDropout
%============================ Framework ============================ %
\subsection{Unseen Motion Detector}
% Epistemic
%%%%%%%% 引入我们方法中的认知不确定性 %%%%%%%%
% 贝叶斯神经网络和确定性神经网络的区别在于,贝叶斯神经网络的参数服从某一分布而不是固定的。
% 给定输入数据的情况下,认知不确定性的捕获是根据不同模型参数采样下输出的变化程度获得的。
Knowing whether the observed motion has never been seen before can prevent the robot from making risky decisions. As our motion predictor is a BNN, we can further design an unseen motion detector which leverages the EU to identify the unseen observations. Specifically, given an observed motion $x_p$, the unseen motion detector first calculate the EU $D(x_p)$ by Eq.(1),
\begin{equation}
% (\hat{x}^i,(\hat{\sigma}^i)^2)
D(x_p) = \frac{1}{N}\sum_{i=1}^{N}f^{\hat{W}_i}(x_p)^2 - (\frac{1}{N}\sum_{i=1}^{N}f^{\hat{W}_i}(x_p))^2,
\end{equation}
where $f^{\hat{W}_i}$ is our recurrent neural network with sampled weights using MC-Dropout. $f^{\hat{W}_i}(x_p)$ is the prediction results, $D(x_p)$ is obtained by subtracting the square of its mean (the right term) from its second-order moment of origin (the left term). In other words, $D(x_p)$ is a function of $x_p$, and $D(x_p)$ obtained by estimating the variance of $f^{\hat{W}_i}(x_p)$.
Then, the unseen motion could be easily identified by comparing the EU with a pre-defined threshold $D_\text{thd}$. Obviously, the threshold is very important which could directly affect the robot's decision-making. To find a proper threshold. We provide a simple yet effective way. The EU of each $x_m$ in the dataset $\mathcal{X}={x_1,x_2...,x_M}$ is ${D(x_m)}, m=1,2,...,M$. We sort $D(x_m)$ to $D_{(m)}$ in ascending order, and the threshold is given by $D_\text{thd}=D_{([0.95M])}$, where $[\cdot]$ is the rounding function. It means that 95\% of the data in the dataset would be accepted by the detector. $0.95$ is an empirical value that works well in most situations, because it can eliminate some noise data.
So, if $x_p$ satisfying $D(x_p)<D_\text{thd}$, it would be accepted, otherwise it would be rejected.
% \begin{equation}
% R(x_p) =
% \left\{
% \begin{array}{ll}
% 1, & D(x_p^m) \leq D_{thd} \\
% 0, & D(x_p^m) > D_{thd} \\
% \end{array}
% \right.
% \end{equation}
% where 1 is set to accept and 0 to reject.
%Detecting whether the input data is unseen is very important for security. The prediction of the model is based on the training data. In the case of no unseen detection, the predicted motion often makes unreasonable prediction.
%And we use epistemic uncertainty to realize unseen detection.
%In order to capture epistemic uncertainty, we model the network as Bayesian neural network by adding Monte Carlo Dropout \cite{Gal2016Uncertainty}. The parameters is $p(W|\mathcal{X})$, which is approximated by $q(W)$.
%In the previous work, epistemic uncertainty is given by the following formula:
%Now, we need to detect the input data $x_p$ is unseen or not according to the epistemic uncertainty. We define the epistemic uncertainty for $x_p^m$ is $D_m=D(x_p^m)$. After sorting in ascending order, we get $D_{(m)}, m=1,..,M$. The detecting function is defined as follow:
\subsection{Optimal Motion Selector}
%%%%%%%% 引入我们方法中的随机不确定性 %%%%%%%%
%%%%%%%%%%
For a motion sequence that has been seen before, the motion predictor generates $N$ possible results.
% $\{\hat{x}^{i}\}, i=1,2,...,N$
Then selecting the optimal prediction could help the robot make the most appropriate decision. For this purpose, we design the optimal motion selector which not only selects the best future motion $\hat{x}^{i^*}_f$ from all possible predicted results, but also determine the maximal trustworthy length $T_{i^*}$ that satisfies some security conditions.
As our future motion predictor is built on top of GRUs which recurrently make predictions, the HAU naturally reflects the noisy scale of each predicted frame. Therefore, we can not only find the optimal one from all possible motions, but also drop the corrupted frames for selecting the trustworthy parts from the optimal motion.
To capture the HAU for each frame of the predicted motion sequences, as shown in Fig.\ref{fig:nn}, our model additionally output a standard deviation associated with the predicted human pose. The usual way is to modify the output dimension of the last layer of the network. Here we assume that the distribution of output is Gaussian $\mathcal{N}(\hat{x}^i_f, (\hat{\sigma}^i_f)^2)$.
The index $i^*$ of the optimal prediction $(\hat{x}^{i^*}_f, \hat{\sigma}^{i^*}_f)$ of $x_p$ can be found by:
\begin{equation}
i^* = \arg\min\limits_{i}\ \sum{\hat{\sigma}^i_f}
\end{equation}
% Then, the maximum $T_{i^*}$ can be found by:
% \begin{equation}
% i^* = \arg\min\limits_{i}\ \sum{\sigma^{\hat{W}_i}(x_p)}
% \end{equation}
Then, if there is a maximum $T_{i^*}$ satisfying $\lambda\hat{\sigma}_{t}^i<e_{\max}$ for $t=1,2...,T_{i^*}$, then $T_{i^*}$ is the optimal length of the trustworthy parts. And we set the hyper-parameter $\lambda=1.28$.
% \begin{equation}
% \begin{aligned}
% T_i =& \arg\max\limits_{\tau}\
% {1:T_i}
% % =& \arg\max\limits_{\tau}\
% % \lambda_1 (\Phi(\hat{x}^i_{1:\tau} + e_{\max}) - \Phi(\hat{x}^i_{1:\tau} - e_{\max})) + \\
% % &\lambda_2 (1 - \Phi{(\hat{x}^i_{\tau+1:T_f} + e_{\max})} + \Phi(\hat{x}^i_{\tau+1:T_f} - e_{\max}))
% \end{aligned}
% \end{equation}
% where $\Phi$ is the cumulative distribution function (CDF) of $\mathcal{N}(\hat{x}^i, (\hat{\sigma}^i)^2)$.
%% 公式的第一项表明是我们要选一个预测长度使得选出的预测序列尽可能满足误差限制,
% The first term indicates that we have to choose a prediction length so that the selected prediction sequence meets the error limit. The second term is the trade-off term, which maximizes the length.
%
% So the optimal prediction is $\hat{x}_{1:T_{\hat{i}}}^{\hat{i}}$, where $\hat{i}$ is given by:
% \begin{equation}
% \hat{i} = \arg\max\limits_{i}\ \sum{\hat{\sigma}_{1:T_i}^i}
% \end{equation}
% where $\lambda_1, \lambda_2, \lambda_3, \lambda_4$ are hyperparameters.
% Now we can give the definition of the maximum length. When there is a maximum $T_{f_i}$ such that $2\hat{\sigma}_t < e_{\max}, t=1,...,T_{f_i}$ holds, then $T_{f_i}$ is called the maximum length of the sequence. Then the optimal motion is $\hat{x}_{\hat{i},1:T_{f_{\hat{i}}}}$, where $\hat{i} = \arg\max\limits_{i}(T_{f_i})$.
\subsection{Overall Objective Function}
%% 上一章中我们在输出放置了一个正态分布
Our model outputs the probability prediction at each time step. In the case of data independence, the objective function can be obtained by maximizing the posterior probability \cite{10.1023/A:1007665907178, 8578539}. We derive our loss function for BNN: %(具体方法)
\begin{equation}
\mathcal{L} =
\frac{1}{T_f}\frac{1}{J}\sum_{t=1}^{T_f}\sum_{j=1}^{J}\frac{\| x_{t,j} - \hat{x}_{t,j} \|^2}{2\hat{\sigma}_{t,j}^2} + \frac{1}{2}\log\hat{\sigma}_{t,j}^2
\end{equation}
The left term is weighted mean square error (MSE) between the predictions and ground truth in joint level, which is helpful for the variance to fit the prediction error from the data. The right term is a regularization term that helps to keep the variance at a reasonable value.
The weight decay term is omitted here.
\section{Experiments}
In this section, we first evaluate the proposed approach on a large scale benchmark dataset Human3.6m \cite{ h36m_pami}. We compare our approach with two baseline methods, including a state-of-the-art deterministic motion prediction model Seq2Seq \cite{martinez2017human} and a strong baseline Zero-velocity which takes the last input frame as all future predictions. Then we test our approach in a HRI scenario to demonstrate its effectiveness.
It worth noting that our Future Motion Predictor, Unseen Motion Detector and Optimal Motion Selector are denoted as FMP, UMD and OMS for short. We use ``+'' to indicate the combination of different parts. The numerical results of FMP and FMP+UMD are mean values since our approach could predict a number of possible results. The optimal numerical results are reported when we use the OMS.
%The seq2seq \cite{martinez2017human} baseline is retrained under the above settings. The ``ours" method is the neural network without the unseen detector (d) and the optimal selector (s). We calculated Mean Per Joint Postion Error (MPJPE) between the predictions and the ground truth, as shown in the table
\subsection{Dataset}
The Human3.6m is currently the largest available motion capture dataset which is widely used for evaluating motion prediction algorithms. It contains 7 actors performing 15 varied activities such as walking, eating, smoking, discussion etc. In this dataset, each human pose is represented by a high dimensional vector of 3D joint locations.
\subsection{Implementation Details}
All our experiments are conducted on Pytorch 1.4 \cite{paszke2017automatic}. The encoder of the FMP consist of a single GRU cell with 1440 neurons. The decoder consists of a GRU cell and a Fully Connected layer with 1440 and 51 neurons. We adopt the Adam optimizer \cite{Kingma2014Adam} to train our model. The learning rate is set to $0.0005$ and the weights decay rate is set to $0.0001$. The batch size is set to $128$. For each Dropout layer, the probability parameter is set to $50\%$. Our visualization results are rendered using matplotlib and open3d \cite{Hunter2007}.
% 本章,我们在Human3.6m数据集和我们自己的数据集上评价了我们的方法。
%The proposed method is evaluated using the real data (partly unseen). And large dataset HUMAN 3.6M \cite{IonescuSminchisescu11, h36m_pami} and our own small dataset is used.
% 实验部分我们详细评估了我们的方法在面对真实数据(部分unseen)时的表现。
% In this section, we evaluated the performance of our method using the real data (partly unseen) in detail.
%The public dataset Human 3.6M is currently one of the largest available motion capture datasets. It contains 7 subjects, and each subject contains 15 actions (walking, eating, smoking, discussion, directions, greeting, phoning, posing, purchases, sitting, sittingdown, takingphoto, waiting, walkingdog, walkingtogether).
%Our small dataset contains 2 actions (walking, reaching), which consists of 30 minutes at all. It is captured using Kinect DK.
% (walking, eating, smoking, discussion, directions, greeting, phoning, posing, purchases, sitting, sittingdown, takingphoto, waiting, walkingdog, walkingtogether).
% 对应
%
% \subsection{Parameter Settings}
%In our method, the experiment platform is pytorch 1.4.
%We use a single GRU cell with 1440 units. The ADAM optimizer \cite{Kingma2014Adam} is used with weights decay rate 0.0001 during training, and the learning rate is set as 0.0005.
%The batch size is set to 128. We feed 48 frames of motion to model in 25fps. All dropout probability is $0.5$, and $N=64$ for all sampling.
\subsection{Unseen Motion Detector}
\begin{table*}[htbp]
\centering
\footnotesize
\renewcommand\arraystretch{0.8}
\caption{The MPJPE on acceptance at different time steps and unseen samples detection rate are reported for different methods. The best results are highlighted by bold numbers.}
\setlength{\tabcolsep}{4.8mm}{
\begin{tabular}{ccccccccc}
\toprule
\multirow{2}[4]{*}{model} & \multicolumn{1}{c}{\multirow{2}[4]{*}{Train Set}} & \multicolumn{1}{c}{\multirow{2}[4]{*}{Test Set}} & \multicolumn{1}{c}{\multirow{2}[4]{*}{Det. \%}} & \multicolumn{5}{c}{MPJPE on acceptance} \\
\cmidrule{5-9} & & & & 400ms & 800ms & 1200ms & 1600ms & 2000ms \\
\midrule
Zerovel. & - & walking & - & 0.111 & 0.161 & 0.173 & 0.201 & 0.249 \\
Seq2Seq & walking & walking & - & 0.056 & 0.066 & 0.073 & 0.080 & 0.087 \\
FMP & walking & walking & - & 0.046 & 0.060 & 0.069 & 0.077 & 0.088 \\
FMP+UMD & walking & walking & 4.82\% & \textbf{0.045} & \textbf{0.059} & \textbf{0.068} & \textbf{0.075} & \textbf{0.086} \\
\midrule
Zerovel. & - & eating & - & 0.053 & 0.084 & 0.102 & 0.116 & 0.137 \\
Seq2Seq & walking & eating & - & 0.149 & 0.204 & 0.242 & 0.248 & 0.245 \\
FMP & walking & eating & - & 0.086 & 0.135 & 0.163 & 0.184 & 0.209 \\
FMP+UMD & walking & eating & 67.65\% & \textbf{0.048} & \textbf{0.072} & \textbf{0.089} & \textbf{0.100} & \textbf{0.112} \\
\midrule
Zerovel. & - & sittingdown & - & 0.068 & 0.116 & 0.152 & 0.181 & 0.205 \\
Seq2Seq & walking & sittingdown & - & 0.298 & 0.400 & 0.461 & 0.490 & 0.514 \\
FMP & walking & sittingdown & - & 0.166 & 0.251 & 0.289 & 0.323 & 0.352 \\
FMP+UMD & walking & sittingdown & 100.00\% & - & - & - & - & - \\
\bottomrule
\end{tabular}%
}
\label{tab:exp2}%
\end{table*}%
We first conduct experiments to demonstrate how the unseen detector affects the predicted results on Human3.6m dataset. In this experiment, all methods are trained on action ``walking", and then evaluated on three different actions, including ``walking", ``eating" and ``sittingdown". We compare our approach with the baseline methods using two metrics including the unseen samples Detection rate over and Mean Per Joint Position Error (MPJPE) on acceptance in terms of meters. The results are reported in Table \ref{tab:exp2}. The constant velocity \cite{scholler2020constant} is not included in the table because of its serious deformation predictions on human motion prediction.
First, we see that only with the help of UMD, the unseen test sample would be detected. There are $4.82\%$ of the test samples in ``walking" which have a large EU so that they are regarded as unseen samples. It is because the data distributions of the train set and the test set are not exactly the same. For these samples, our FMP has a lower confidence for making predictions. On ``eating" and ``sittingdown" test sets, $67.65\%$ and $100\%$ of the test samples are detected as unseen. The reason is that the action ``eating" includes eating with sitting, eating with standing, eating with walking, which overlaps with the action ``walking" partly. The action ``sittingdown" includes sitting on a chair, sitting on the ground, etc. There is almost no overlap with ``walking".
\begin{figure}[t]
\centering
\includegraphics[width = 1 \linewidth]{graph/exp3_2.pdf}
\caption{Visualization results of the predicted future motions. The average $\bar{\sigma}$ is annotated above each frame. The optimal result has the smallest average $\bar{\sigma}$. }
\label{fig:exp3_2}
\end{figure}
\begin{figure}[t]
\centering
\includegraphics[width = 1\linewidth]{graph/exp3.pdf}
\caption{The real maximal trustworthy length (red dash line) is calculated by using ground-truth motions. The predicted maximal trustworthy length (blue dash line) is calculated by using HAUs.}
\label{fig:exp3}
\end{figure}
Second, on the ``walking" test set, our FMP achieves better MPJPE results compared with the baselines. It shows that training the motion predictor with the constrain of uncertainty could also improve its performance. on the ``eating" and ``sittingdown" test sets, both Seq2Seq and FMP are worse than Zerovel., which indicates that making prediction for unseen motion sequences is even worse than predicting the future motion as a static pose.
Third, it can be seen that combining the FMP with UMD achieves the lowest MPJPE results on ``walking" and ``eating". It refuses to make predictions for ``sittingdown" since all test samples are regarded as unseen. In other words, using the UMD could effectively identify the unseen motion sequences to prevent FMP from making bad predictions.
\begin{figure*}[thpb]
\centering
\includegraphics[width = 1\linewidth, height=0.26\linewidth]{graph/exp4.pdf}
\caption{Trajectory visualization results of the robot in a HRI scenario. Each figure shows the positions of the human and the robot at different time steps.The left figure shows the robot's trajectory without making prediction and optimization. The middle figure shows the predicted human motions after the robot observes the human for 2s (red indicates the mean value of the prediction, and the blue scatter represents the 95\% confidence interval). The right figure shows the optimized robot's trajectory when taking the predicted human motions into consideration.}
\label{fig:exp4}
\end{figure*}
\subsection{Optimal Motion Selector}
We further conduct experiments to intuitively demonstrate the effectiveness of the Optimal Motion Selector in this section.
Given an observed motion sequence, our FMP predicts a number of possible future motions, in which each frame is attached with a predicted $\hat{\sigma}$. By simply calculate the mean $\overline{\sigma}$ for each motion, the OMS finds the optimal one. Fig. \ref{fig:exp3_2} shows the visualization results of the predicted motions which correspond to a same observed motion. It can be seen that the optimal result, which has the smallest $\overline{\sigma}=0.078$, is most close to the ground-truth motion.
Fig. \ref{fig:exp3} shows our OMS also could accurately predict the maximal trustworthy length according to the HAUs. In this experiment, we set the error threshold to $0.20$m. In other words, we think the predicted frames whose MPJPE is larger than $0.20$m need to be abandoned. By comparing the predicted results with the ground-truth motions, we get the real maximal trustworthy length which equals to $1360$ms. By using the predicted HAUs, OMS predicts the maximal trustworthy length as $1240$ms, which is very close to the real maximal trustworthy length. It worth noting that the real maximal trustworthy length could hardly be achieved in real time HRI scenarios since the ground-truth motions are usually unavailable. In this situation, OMS provides a reliable solution.
We present the numerical results to show the effectiveness of OMS in the next section.
%This experiment evaluates whether the optimal prediction $\hat{x}_{1:T_{\hat{i}}}^{\hat{i}}$ given by our method meets the error limit. The evaluation protocol uses PCK3D, and the purpose is to evaluate the proportion of joint points that meet the error limit in the given prediction.
%It should be noted that in the two methods of zerovel and seq2seq, we intercept the prediction with length $T_f=50$ for evaluation. And in the "ours d" method, we average the $N$ predictions for evaluation.
% $T_{opt}$ guarantees the error limitation (e.g. 0.20m) calculated by $1.28\hat{\sigma}$ or MPJEP is shown with the blue or red dash line.
%\begin{figure}[thpb]
% \centering
% \includegraphics[width = 1.\linewidth]{graph/realhri.jpg}
% \caption{}
% \label{fig:exp4_real}
%\end{figure}
% \begin{figure}[thpb]
% \centering
% \includegraphics[scale=0.44]{graph/exp3.pdf}
% \caption{}
% \label{fig:exp3}
% \end{figure}
% 对于安全人机交互来说,低估的误差往往会产生严重的后果,但是过于高估又会导致。图展示了不同置信区间下低估的百分比,
% 平均标准差与平均MPJPE
% 如图所示,预测的标准差平均上来说大于预测的MPJPE,也就是说我们通常会高估误差。红线是我们根据预测的标准差在误差限制内选取的最优安全长度。
% 图中显示了
%% 还需介绍评价指标 但是评价指标还有点问题,还得思考一下
% 可能用图表会更好一点
\subsection{Future Motion Prediction}
\begin{table}[t]
\centering
\caption{The MPJPE on acceptance at different time steps are reported for different methods.}
\resizebox{1.0\linewidth}{!}{
\begin{tabular}{cccccc}
\toprule
method & 400ms & 800ms & 1200ms & 1600ms & 2000ms \\
\midrule
Zerovel. & 0.072 & 0.113 & 0.138 & 0.158 & 0.179 \\
Seq2Seq & 0.063 & 0.099 & 0.125 & 0.144 & 0.160 \\
FMP & 0.057 & 0.097 & 0.123 & 0.141 & 0.156 \\
FMP+UMD & 0.055 & \textbf{0.093} & \textbf{0.119} & 0.136 & 0.152 \\
FMP+UMD+OMS & \textbf{0.054} & \textbf{0.093} & \textbf{0.119} & \textbf{0.135} & \textbf{0.151} \\
\bottomrule
\end{tabular}}
\label{tab:overall}%
\end{table}%
In this experiment, we compare our approach with the baseline methods on all 15 actions in the Human3.6m dataset. The MPJPE results are reported in Table \ref{tab:overall}. First, we see that FMP performs better than the two baseline method since it achieves a lower MPJPE at each time step. This is consistent with our previous conclusion that training the motion predictor with the constrain of uncertainty could improve the predictor's performance. Second, with the help of UMD, there are $4.30\%$ of the observed motion sequences are regarded as with a high EU which are directly dropped without making any prediction. Therefore, the MPJPE on acceptance of each time step is further decreased. Third, when we continue to introduce the OMS, our approach achieves the best results, which indicates the OMS could select the optimal future motion among all possible motions. Here, the OMS only finds the optimal predicted motion without dropping any frames with high HAU.
\subsection{Safe Robot Trajectory Optimization}
% 目的
% 这个实验的目的是在人机协作环境中评估我们的预测能多大能力够帮助机器人避免和人类碰撞。
% 设置
%
In this experiment, we test our approach in a HRI scenario. Specifically, we demonstrate whether our approach could help the robot avoid collisions when interacting with a human. Inspired by CHOMP \cite{5152817}, we define our trajectory optimization objective function by replacing the original distances with the predicted uncertainty.
Fig. \ref{fig:exp4} visualizes the trajectories of the robot and human in a HRI scenario. In the left figure, we see that the robot collided with the human, since the robot did not predict the human's motion. The middle figure shows the predicted human motions after the robot observes the human for 2s. Then, as shown in the right figure, by taking the future human motion into consideration, the robot optimizes its trajectory for avoiding collision.
\begin{comment}
Now we have to define our trajectory optimization objective function $c(p_r)$ for robot. Like CHOMP \cite{5152817} and \cite{kratzer2020prediction}, it consists of three parts with Lagrange Multiplier $\lambda$:
\begin{equation}
\begin{aligned}
c(p_r) &= \lambda_1 c_j(p_r) + \lambda_2 c_s(p_r) + \lambda_3 c_g(p_r) \\
c_j(p_r) &= \sum_{t=1}^T \alpha \text{UF} (p_r^{(t)}) \left\| p_r^{(t+1)} - p_r^{(t)} \right\| \\
c_s(p_r) &= p_r^T K_d p_r \\
c_g(p_r) &= \left\| p_r - p_r^* \right\| ^2
\end{aligned}
\end{equation}
where $p_r$ is the trajectory of the robot, $p_r^*$ is the target point of the robot, $K$ is a finite difference matrix, and $\text{UF}$ is Uncertainty Field (UF). At time $t$, if $\hat{x}_{t}$ and $\hat{\sigma}_{t}$ are the optimal predictions, UF at any point $p$ is define as:
\begin{equation}
\text{UF} (p) := \max\limits_{J} \Phi_j (p)
\end{equation}
where $\Phi_j$ is the cumulative distribution function (CDF) of $\mathcal{N}(\hat{x}_{t,j}, \hat{\sigma}_{t,j}^2)$, and $J$ is the number of human motion joint.
Uncertainty field is a dynamic field, which is determined by the predicted uncertainty of our model.
% c_j 是碰撞避免项 c_s 是速度平滑项 c_g是目标距离项
% $$
% K =
% \begin{bmatrix}
% 6 & -4 & 1 & \cdots & 0 & 0 & 0 \\
% -4 & 6 & -4 & \cdots & 0 & 0 & 0 \\
% 1 & -4 & 6 & \cdots & 0 & 0 & 0 \\
% & \vdots & & \ddots & & \vdots & \\
% 0 & 0 & 0 & \cdots & 6 & -4 & 1 \\
% 0 & 0 & 0 & \cdots & -4 & 6 & -4 \\
% 0 & 0 & 0 & \cdots & 1 & -4 & 6
% \end{bmatrix}
% $$
% The last experiment evaluates the performance of our method in human-robot collaboration scenarios.
% We use our own small dataset as the test set,
% 图中展示了人类运动在0s, 1s, 2s, 3s, 4s的位置,机器人在2s, 3s, 4s的位置。
% 左边的图是不预测人类运动的轨迹,中间的图是机器人在观察2s人类运动后做出的概率预测(红色表示预测的均值,蓝色散点表示95%置信区间),右边是优化后的轨迹。
\end{comment}
\section{Conclusion}
In this paper, we propose a probabilistic approach for human motion prediction in human-robot-interaction scenarios. The proposed is based on a Bayesian neural network which aims to learn the distributions over weight parameters. On one hand, it is capable of predicting a number of possible future motions when given an observed human motion sequence. On the other hand, it could capture two kinds of uncertainties simultaneously to tell the robot whether the predicted results are trustworthy. In this way, it helps the robot to make the most appropriate decision. We first validate our approach on a benchmark dataset and then evaluate it in a HRI scenario. The experimental results demonstrate the effectiveness of our approach.
\section*{ACKNOWLEDGMENT}
This work was supported in part by NSFC under grant No.62088102, No.91748208, NSFC No.61973246, Shaanxi Project under grant No.2018ZDCXLGY0607, and the program of the Ministry of Education.
% This work was supported in part by Trico-Robot plan of NSFC under grant No.91748208, National Major Project under grant No.2018ZX01028-101, Shaanxi Project under grant No.2018ZDCXLGY0607, NSFC under grant No.61973246, and the program of the Ministry of Education for the university.
{
\bibliographystyle{IEEEtran}
\bibliography{egbib}
}
\begin{comment}
\begin{thebibliography}{99}
\end{thebibliography}
\end{comment}
\end{document}
% Generated by IEEEtran.bst, version: 1.14 (2015/08/26)
\begin{thebibliography}{10}
\providecommand{\url}[1]{#1}
\csname url@samestyle\endcsname
\providecommand{\newblock}{\relax}
\providecommand{\bibinfo}[2]{#2}
\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}
\providecommand{\BIBentryALTinterwordstretchfactor}{4}
\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus
\BIBentryALTinterwordstretchfactor\fontdimen3\font minus
\fontdimen4\font\relax}
\providecommand{\BIBforeignlanguage}[2]{{%
\expandafter\ifx\csname l@#1\endcsname\relax
\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%
\typeout{** loaded for the language `#1'. Using the pattern for}%
\typeout{** the default language instead.}%
\else
\language=\csname l@#1\endcsname
\fi
#2}}
\providecommand{\BIBdecl}{\relax}
\BIBdecl
\bibitem{Fragkiadaki2015}
K.~{Fragkiadaki}, S.~{Levine}, P.~{Felsen}, and J.~{Malik}, ``Recurrent network
models for human dynamics,'' in \emph{2015 IEEE International Conference on
Computer Vision (ICCV)}, 2015, pp. 4346--4354.
\bibitem{martinez2017human}
J.~{Martinez}, M.~J. {Black}, and J.~{Romero}, ``On human motion prediction
using recurrent neural networks,'' in \emph{2017 IEEE Conference on Computer
Vision and Pattern Recognition (CVPR)}, 2017, pp. 4674--4683.
\bibitem{Jain2016}
A.~{Jain}, A.~R. {Zamir}, S.~{Savarese}, and A.~{Saxena}, ``Structural-rnn:
Deep learning on spatio-temporal graphs,'' in \emph{2016 IEEE Conference on
Computer Vision and Pattern Recognition (CVPR)}, 2016, pp. 5308--5317.
\bibitem{barsoum2018hp}
E.~Barsoum, J.~Kender, and Z.~Liu, ``Hp-gan: Probabilistic 3d human motion
prediction via gan,'' in \emph{Proceedings of the IEEE conference on computer
vision and pattern recognition workshops}, 2018, pp. 1418--1427.
\bibitem{sidenbladh2002implicit}
H.~Sidenbladh, M.~J. Black, and L.~Sigal, ``Implicit probabilistic models of
human motion for synthesis and tracking,'' in \emph{European conference on
computer vision}.\hskip 1em plus 0.5em minus 0.4em\relax Springer, 2002, pp.
784--800.
\bibitem{kingma2013auto}
D.~P. Kingma and M.~Welling, ``Auto-encoding variational bayes,'' \emph{arXiv
preprint arXiv:1312.6114}, 2013.
\bibitem{goodfellow2014generative}
I.~Goodfellow, J.~Pouget-Abadie, M.~Mirza, B.~Xu, D.~Warde-Farley, S.~Ozair,
A.~Courville, and Y.~Bengio, ``Generative adversarial nets,'' in
\emph{Advances in neural information processing systems}, 2014, pp.
2672--2680.
\bibitem{mackay1992practical}
D.~J. MacKay, ``A practical bayesian framework for backpropagation networks,''
\emph{Neural computation}, vol.~4, no.~3, pp. 448--472, 1992.
\bibitem{neal1995bayesian}
R.~M. Neal, ``Bayesian learning for neural networks,'' Ph.D. dissertation,
University of Toronto, 1995.
\bibitem{kendall2017uncertainties}
A.~Kendall and Y.~Gal, ``What uncertainties do we need in bayesian deep
learning for computer vision?'' in \emph{Advances in neural information
processing systems}, 2017, pp. 5574--5584.
\bibitem{h36m_pami}
C.~Ionescu, D.~Papava, V.~Olaru, and C.~Sminchisescu, ``Human3.6m: Large scale
datasets and predictive methods for 3d human sensing in natural
environments,'' \emph{IEEE Transactions on Pattern Analysis and Machine
Intelligence}, vol.~36, no.~7, pp. 1325--1339, jul 2014.
\bibitem{NIPS2006_3078}
\BIBentryALTinterwordspacing
G.~W. Taylor, G.~E. Hinton, and S.~T. Roweis, ``Modeling human motion using
binary latent variables,'' in \emph{Advances in Neural Information Processing
Systems 19}, B.~Sch\"{o}lkopf, J.~C. Platt, and T.~Hoffman, Eds.\hskip 1em
plus 0.5em minus 0.4em\relax MIT Press, 2007, pp. 1345--1352. [Online].
Available:
\url{http://papers.nips.cc/paper/3078-modeling-human-motion-using-binary-latent-variables.pdf}
\BIBentrySTDinterwordspacing
\bibitem{butepage2017deep}
J.~Butepage, M.~J. Black, D.~Kragic, and H.~Kjellstrom, ``Deep representation
learning for human motion prediction and classification,'' in
\emph{Proceedings of the IEEE conference on computer vision and pattern
recognition}, 2017, pp. 6158--6166.
\bibitem{gui2018adversarial}
L.-Y. Gui, Y.-X. Wang, X.~Liang, and J.~M. Moura, ``Adversarial geometry-aware
human motion prediction,'' in \emph{Proceedings of the European Conference on
Computer Vision (ECCV)}, 2018, pp. 786--803.
\bibitem{xu2019}
J.~{Xu}, X.~{Lan}, J.~{Li}, X.~{Chen}, and N.~{Zheng}, ``Ean: Error attenuation
network for long-term human motion prediction,'' in \emph{2019 2nd China
Symposium on Cognitive Computing and Hybrid Intelligence (CCHI)}, 2019, pp.
178--183.
\bibitem{NIPS2005_2783}
\BIBentryALTinterwordspacing
J.~Wang, A.~Hertzmann, and D.~J. Fleet, ``Gaussian process dynamical models,''
in \emph{Advances in Neural Information Processing Systems 18}, Y.~Weiss,
B.~Sch\"{o}lkopf, and J.~C. Platt, Eds.\hskip 1em plus 0.5em minus
0.4em\relax MIT Press, 2006, pp. 1441--1448. [Online]. Available:
\url{http://papers.nips.cc/paper/2783-gaussian-process-dynamical-models.pdf}
\BIBentrySTDinterwordspacing
\bibitem{Kuli2012}
\BIBentryALTinterwordspacing
D.~Kuli\'{c}, C.~Ott, D.~Lee, J.~Ishikawa, and Y.~Nakamura, ``Incremental
learning of full body motion primitives and their sequencing through human
motion observation,'' \emph{Int. J. Rob. Res.}, vol.~31, no.~3, p. 330–345,
Mar. 2012. [Online]. Available:
\url{https://doi.org/10.1177/0278364911426178}
\BIBentrySTDinterwordspacing
\bibitem{Lehrmann2014Efficient}
A.~M. {Lehrmann}, P.~V. {Gehler}, and S.~{Nowozin}, ``Efficient nonlinear
markov models for human motion,'' in \emph{2014 IEEE Conference on Computer
Vision and Pattern Recognition}, 2014, pp. 1314--1321.
\bibitem{butepage2018anticipating}
J.~B{\"u}tepage, H.~Kjellstr{\"o}m, and D.~Kragic, ``Anticipating many futures:
Online human motion prediction and generation for human-robot interaction,''
in \emph{2018 IEEE international conference on robotics and automation
(ICRA)}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2018, pp. 1--9.
\bibitem{10.5555/3045118.3045290}
C.~Blundell, J.~Cornebise, K.~Kavukcuoglu, and D.~Wierstra, ``Weight
uncertainty in neural networks,'' in \emph{Proceedings of the 32nd
International Conference on International Conference on Machine Learning -
Volume 37}, ser. ICML'15.\hskip 1em plus 0.5em minus 0.4em\relax JMLR.org,
2015, p. 1613–1622.
\bibitem{6790581}
B.~J. {Frey} and G.~E. {Hinton}, ``Variational learning in nonlinear gaussian
belief networks,'' \emph{Neural Computation}, vol.~11, no.~1, pp. 193--213,
1999.
\bibitem{bui2015training}
T.~D. Bui, J.~M. Hernández-Lobato, Y.~Li, D.~Hernández-Lobato, and R.~E.
Turner, ``Training deep gaussian processes using stochastic expectation
propagation and probabilistic backpropagation,'' 2015.
\bibitem{Okada_2020}
M.~{Okada}, S.~{Takenaka}, and T.~{Taniguchi}, ``Multi-person pose tracking
using sequential monte carlo with probabilistic neural pose predictor,'' in
\emph{2020 IEEE International Conference on Robotics and Automation (ICRA)},
2020, pp. 10\,024--10\,030.
\bibitem{Gal2016Uncertainty}
Y.~Gal, ``Uncertainty in deep learning,'' Ph.D. dissertation, University of
Cambridge, 2016.
\bibitem{9001195}
A.~{Loquercio}, M.~{Segu}, and D.~{Scaramuzza}, ``A general framework for
uncertainty estimation in deep learning,'' \emph{IEEE Robotics and Automation
Letters}, vol.~5, no.~2, pp. 3153--3160, 2020.
\bibitem{Cho2014On}
K.~Cho, B.~Van~Merrienboer, D.~Bahdanau, and Y.~Bengio, ``On the properties of
neural machine translation: Encoder-decoder approaches,'' \emph{Computer
ence}, 2014.
\bibitem{Li_2021}
\BIBentryALTinterwordspacing
M.~Li, S.~Chen, X.~Chen, Y.~Zhang, Y.~Wang, and Q.~Tian, ``Symbiotic graph
neural networks for 3d skeleton-based human action recognition and motion
prediction,'' \emph{IEEE Transactions on Pattern Analysis and Machine
Intelligence}, p. 1–1, 2021. [Online]. Available:
\url{http://dx.doi.org/10.1109/TPAMI.2021.3053765}
\BIBentrySTDinterwordspacing
\bibitem{10.1023/A:1007665907178}
\BIBentryALTinterwordspacing
M.~I. Jordan, Z.~Ghahramani, T.~S. Jaakkola, and L.~K. Saul, ``An introduction
to variational methods for graphical models,'' \emph{Mach. Learn.}, vol.~37,
no.~2, p. 183–233, Nov. 1999. [Online]. Available:
\url{https://doi.org/10.1023/A:1007665907178}
\BIBentrySTDinterwordspacing
\bibitem{8578539}
A.~{Bhattacharyya}, M.~{Fritz}, and B.~{Schiele}, ``Long-term on-board
prediction of people in traffic scenes under uncertainty,'' in \emph{2018
IEEE/CVF Conference on Computer Vision and Pattern Recognition}, 2018, pp.
4194--4202.
\bibitem{paszke2017automatic}
A.~Paszke, S.~Gross, S.~Chintala, G.~Chanan, E.~Yang, Z.~DeVito, Z.~Lin,
A.~Desmaison, L.~Antiga, and A.~Lerer, ``Automatic differentiation in
pytorch,'' in \emph{NIPS-W}, 2017.
\bibitem{Kingma2014Adam}
D.~Kingma and J.~Ba, ``Adam: A method for stochastic optimization,''
\emph{Computer ence}, 2014.
\bibitem{Hunter2007}
J.~D. Hunter, ``Matplotlib: A 2d graphics environment,'' \emph{Computing in
Science \& Engineering}, vol.~9, no.~3, pp. 90--95, 2007.
\bibitem{scholler2020constant}
C.~Schöller, V.~Aravantinos, F.~Lay, and A.~Knoll, ``What the constant
velocity model can teach us about pedestrian motion prediction,'' 2020.
\bibitem{5152817}
N.~{Ratliff}, M.~{Zucker}, J.~A. {Bagnell}, and S.~{Srinivasa}, ``Chomp:
Gradient optimization techniques for efficient motion planning,'' in
\emph{2009 IEEE International Conference on Robotics and Automation}, 2009,
pp. 489--494.
\end{thebibliography}