The difference between the objective functions of
\({{\varvec{z}}}^{(k+1)}\) and
\({{\varvec{z}}}^{(k)}\) is represented by
$$\begin{aligned} {\quad }&\varPsi ({{\varvec{z}}}^{(k+1)}) - \varPsi ({{\varvec{z}}}^{(k)}) \nonumber \\ {\quad }&{\quad } =\ln P({{\varvec{z}}}^{(k+1)} | \lambda ) - \ln P({{\varvec{z}}}^{(k)} | \lambda ) \nonumber \\ {\quad }&{\qquad } -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T \varDelta _c \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \nonumber \\ {\quad }&{\qquad } +\frac{w_c}{2} \left( {{\varvec{z}}}^{(k)} - {{\varvec{z}}}_c \right) ^T \varDelta _c \left( {{\varvec{z}}}^{(k)} - {{\varvec{z}}}_c \right) \nonumber \\ {\quad }&{\qquad } - \frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} + \frac{w_d}{2} {{{\varvec{z}}}^{(k)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k)}. \end{aligned}$$
(13)
The first and second terms in (
13), which represents the likelihood that the motion trajectory
\({{\varvec{z}}}\) is generated by HMM
\(\lambda \), can be rewritten as the following:
$$\begin{aligned} \ln P({{\varvec{z}}} | \lambda )= & {} \ln \sum _{\forall {{\varvec{q}}}} P({{\varvec{z}}}, {{\varvec{q}}} | \lambda ) \end{aligned}$$
(14)
$$\begin{aligned}= & {} \ln \sum _{\forall {{\varvec{q}}}} P({{\varvec{q}}}|{{\varvec{z}}}) \frac{ P({{\varvec{z}}}, {{\varvec{q}}} | \lambda )}{P({{\varvec{q}}}|{{\varvec{z}}})} \nonumber \\= & {} \ln E_{P({{\varvec{q}}}|{{\varvec{z}}})} \left[ \frac{ P({{\varvec{z}}}, {{\varvec{q}}} | \lambda )}{P({{\varvec{q}}}|{{\varvec{z}}})} \right] , \end{aligned}$$
(15)
where
\({{\varvec{q}}} =\left[ q_1, q_2, \ldots , q_n \right] ^T\) is a sequence of nodes corresponding to the motion trajectory
\({{\varvec{z}}} = \left[ {{\varvec{x}}}_{1}^T, \ldots , {{\varvec{x}}}_{n}^T \right] ^T\), where
\(q_t\) is the node at time
t in HMM
\(\lambda \). This means that node
\(q_t\) generates the state vector
\({{\varvec{x}}}_{t}\). The value
\(E_{P({{\varvec{q}}}|{{\varvec{z}}})} \left[ R \right] \) denotes the expected value of
R given
\(P({{\varvec{q}}}|{{\varvec{z}}})\), which is the distribution of the sequence of nodes
\({{\varvec{q}}}\) for the motion trajectory
\({{\varvec{z}}}\). According to Jensen’s inequality, (
15) implies that the following inequality holds.
$$\begin{aligned} \ln E_{P({{\varvec{q}}}|{{\varvec{z}}})} \left[ \frac{ P({{\varvec{z}}}, {{\varvec{q}}} | \lambda )}{P({{\varvec{q}}}|{{\varvec{z}}})} \right] \ge E_{P({{\varvec{q}}}|{{\varvec{z}}})} \left[ \ln \frac{ P({{\varvec{z}}}, {{\varvec{q}}} | \lambda )}{P({{\varvec{q}}}|{{\varvec{z}}})} \right] . \end{aligned}$$
(16)
(
14) and (
16) yield the following relation:
$$\begin{aligned}&\ln P({{\varvec{z}}} | \lambda ) - E_{P({{\varvec{q}}}|{{\varvec{z}}})} \left[ \ln \frac{ P({{\varvec{z}}}, {{\varvec{q}}} | \lambda ) }{P({{\varvec{q}}}|{{\varvec{z}}})} \right] \nonumber \\&{\quad } = \ln P({{\varvec{z}}} | \lambda ) - E_{P({{\varvec{q}}}|{{\varvec{z}}})} \left[ \ln P({{\varvec{z}}} | \lambda ) -\ln \frac{ P({{\varvec{q}}} | {{\varvec{z}}}, \lambda )}{P({{\varvec{q}}}|{{\varvec{z}}})} \right] \nonumber \\&{\quad } = E_{P({{\varvec{q}}}|{{\varvec{z}}})} \left[ \ln \frac{P({{\varvec{q}}}|{{\varvec{z}}})}{ P({{\varvec{q}}} | {{\varvec{z}}}, \lambda )} \right] \nonumber \\&{\quad } = KL\left( P({{\varvec{q}}}|{{\varvec{z}}}) \ || \ P({{\varvec{q}}}|{{\varvec{z}}},\lambda ) \right) . \end{aligned}$$
(17)
(
17) measures the difference between two distributions,
\(P({{\varvec{q}}}|{{\varvec{z}}})\) and
\(P({{\varvec{q}}}|{{\varvec{z}}},\lambda )\), and represents the Kullback–Leibler information. The Kullback–Leibler information becomes zero when these two distributions are the same and is positive otherwise. (
13) can be rewritten as the following equation by using (
17):
$$\begin{aligned}&\varPsi ({{\varvec{z}}}^{(k+1)}) - \varPsi ({{\varvec{z}}}^{(k)}) \nonumber \\&{\quad } = E_{P({{\varvec{q}}}|{{\varvec{z}}}^{(k+1)})} \left[ \ln \frac{ P({{\varvec{z}}}^{(k+1)}, {{\varvec{q}}} | \lambda ) }{P({{\varvec{q}}}|{{\varvec{z}}}^{(k+1)})} \right] \nonumber \\&{\qquad } + KL\left( P({{\varvec{q}}}|{{\varvec{z}}}^{(k+1)}) \ || \ P({{\varvec{q}}}|{{\varvec{z}}}^{(k+1)},\lambda ) \right) \nonumber \\&{\qquad } -E_{P({{\varvec{q}}}|{{\varvec{z}}}^{(k)})} \left[ \ln \frac{ P({{\varvec{z}}}^{(k)}, {{\varvec{q}}} | \lambda ) }{P({{\varvec{q}}}|{{\varvec{z}}}^{(k)})} \right] \nonumber \\&{\qquad } - KL\left( P({{\varvec{q}}}|{{\varvec{z}}}^{(k)}) \ || \ P({{\varvec{q}}}|{{\varvec{z}}}^{(k)},\lambda ) \right) \nonumber \\&{\qquad } -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T \varDelta _c \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \nonumber \\&{\qquad } +\frac{w_c}{2} \left( {{\varvec{z}}}^{(k)} - {{\varvec{z}}}_c \right) ^T \varDelta _c \left( {{\varvec{z}}}^{(k)} - {{\varvec{z}}}_c \right) \nonumber \\&{\qquad } - \frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} + \frac{w_d}{2} {{{\varvec{z}}}^{(k)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k)}. \end{aligned}$$
(18)
We approximate the distributions of the sequence of node
q under the motion trajectory using HMM
\(\lambda \). In other words, distributions
\(P({{\varvec{q}}} | {{\varvec{z}}}^{k+1}) \) and
\(P({{\varvec{q}}} | {{\varvec{z}}}^{k})\) are set to
\(P({{\varvec{q}}} | {{\varvec{z}}}^{k}, \lambda )\).
$$\begin{aligned} P({{\varvec{q}}} | {{\varvec{z}}}^{k+1})= & {} P({{\varvec{q}}} | {{\varvec{z}}}^{k}, \lambda ), \nonumber \\ P({{\varvec{q}}} | {{\varvec{z}}}^{k})= & {} P({{\varvec{q}}} | {{\varvec{z}}}^{k}, \lambda ). \end{aligned}$$
(19)
These estimations lead to two relations, that in which the Kullback–Leibler information of the second term in (
18) becomes greater than zero, and that in which the Kullback–Leibler information of the fourth term becomes zero. Therefore, if the new motion trajectory
\({{\varvec{z}}}^{(k+1)}\) can be found at the
\(k+1\)th iteration computation such that (
18) is positive except for the second and fourth terms, then the motion trajectory
\({{\varvec{z}}}^{(k+1)}\) increases the value on the objective function
\(\varPsi ( {{\varvec{z}}}^{(k+1)})\) because the
\(\varPsi ( {{\varvec{z}}}^{(k+1)})\) is greater than
\(\varPsi ( {{\varvec{z}}}^{(k)})\). This iteration results in a gradual increase in the value on the objective function. Thus, synthesis of motion trajectory
\({{\varvec{z}}}\) with kinematical constraints from motion symbol
\(\lambda \) can be performed by finding the motion trajectory iteratively such that
$$\begin{aligned}&\arg \max _{{{\varvec{z}}}^{(k+1)}} \left\{ E_{P({{\varvec{q}}}|{{\varvec{z}}}^{(k)},\lambda )} \left[ \ln \frac{ P({{\varvec{z}}}^{(k+1)}, {{\varvec{q}}} | \lambda ) }{P({{\varvec{q}}}|{{\varvec{z}}}^{(k)}, \lambda )} \right] \right. \nonumber \\&{\quad }-E_{P({{\varvec{q}}}|{{\varvec{z}}}^{(k)},\lambda )} \left[ \ln \frac{ P({{\varvec{z}}}^{(k)}, {{\varvec{q}}} | \lambda ) }{P({{\varvec{q}}}|{{\varvec{z}}}^{(k)},\lambda )} \right] \nonumber \\&{\quad } -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T {{\varvec{\varDelta }}_{{\varvec{c}}}} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \nonumber \\&{\quad } +\frac{w_c}{2} \left( {{\varvec{z}}}^{(k)} - {{\varvec{z}}}_c \right) ^T {{\varvec{\varDelta }}_{{\varvec{c}}}} \left( {{\varvec{z}}}^{(k)} - {{\varvec{z}}}_c \right) \nonumber \\&{\quad } \left. - \frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} + \frac{w_d}{2} {{{\varvec{z}}}^{(k)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k)} \right\} \end{aligned}$$
(20)
$$\begin{aligned}&\quad =\arg \max _{{{\varvec{z}}}^{(k+1)}} \left\{ E_{P({{\varvec{q}}}|{{\varvec{z}}}^{(k)},\lambda )} \left[ \ln P({{\varvec{z}}}^{(k+1)} | {{\varvec{q}}}, \lambda )P( {{\varvec{q}}} | \lambda ) \right] \right. \nonumber \\&\qquad -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T {{\varvec{\varDelta }}_{{\varvec{c}}}} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \nonumber \\&\qquad \left. -\frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} \right\} \nonumber \\&\quad =\arg \max _{{{\varvec{z}}}^{(k+1)}} \left\{ \sum _{\forall {{\varvec{q}}}} P({{\varvec{q}}} | {{\varvec{z}}}^{(k)},\lambda ) \ln P({{\varvec{z}}}^{(k+1)} | {{\varvec{q}}}, \lambda ) \right. \nonumber \\&\qquad -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T {{\varvec{\varDelta }}_{{\varvec{c}}}} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \nonumber \\&\qquad \left. -\frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} \right\} . \end{aligned}$$
(21)
The likelihood
\(P({{\varvec{z}}}^{(k+1)} | {{\varvec{q}}}, \lambda )\) that motion trajectory
\({{\varvec{z}}}^{(k+1)}\) is generated along the sequence of nodes
\({{\varvec{q}}}\) from HMM
\(\lambda \) can be expressed in a closed form by using parameters of the HMM.
$$\begin{aligned} P({{\varvec{z}}}^{(k+1)} | {{\varvec{q}}}, \lambda )= & {} \ln \pi _{q_1} + \sum _{t=1}^{n-1}\ln a_{q_t,q_{t+1}}\nonumber \\&+\sum _{t=1}^{n} \ln b_{q_t}({{\varvec{x}}}_t^{(k+1)}). \end{aligned}$$
(22)
Here,
\(\pi _{i}\) is the initial node probability of the
ith node,
\(a_{i,j}\) is the probability of transitioning from the
ith node to the
jth node, and
\(b_{i}({{\varvec{x}}})\) is the output probability that the
ith node generates the state vector
\({{\varvec{x}}}\). By substituting (
22) into (
21), (
21) can be rewritten as the following:
$$\begin{aligned}&\arg \max _{{{\varvec{z}}}^{(k+1)}} \left\{ \sum _{\forall {{\varvec{q}}}} P({{\varvec{q}}} | {{\varvec{z}}}^{(k)},\lambda ) \right. \nonumber \\&\qquad \times \left. \left\{ \ln \pi _{q_1} + \sum _{t=1}^{n-1}\ln a_{q_t,q_{t+1}} +\sum _{t=1}^n \ln b_{q_t}({{\varvec{x}}}_t^{(k+1)}) \right\} \right. \nonumber \\&\qquad -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T \varDelta _c \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \nonumber \\&\qquad \left. -\frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} \right\} \nonumber \\&\quad = \arg \max _{{{\varvec{z}}}^{(k+1)}} \left\{ \sum _{\forall {{\varvec{q}}}} P({{\varvec{q}}} | {{\varvec{z}}}^{(k)},\lambda ) \sum _{t=1}^{n} \ln b_{q_t}({{\varvec{x}}}_t^{(k+1)}) \right. \nonumber \\&\qquad \left. -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T \varDelta _c \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \right. \nonumber \\&\qquad \left. -\frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} \right\} \nonumber \\&\quad = \arg \max _{{{\varvec{z}}}^{(k+1)}} \left\{ \sum _{i=1}^{s} \sum _{t=1}^T \ln b_i({{\varvec{x}}}_t^{(k+1)}) P(q_t=i | {{\varvec{z}}}^{(k)},\lambda ) \right. \nonumber \\&\qquad \left. -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T \varDelta _c \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \right. \nonumber \\&\qquad \left. -\frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} \right\} , \end{aligned}$$
(23)
where
\(P(q_t=i |{{\varvec{z}}}^{(k)}, \lambda )\) is the distribution with staying at the
ith node at time
t given the motion trajectory
\({{\varvec{z}}}^{(k)}\). The output probability distribution
\(b_{i}({{\varvec{x}}})\) is assumed to follow the Gaussian distribution:
$$\begin{aligned} {\quad } \ln b_i({{\varvec{x}}})= & {} -\frac{1}{2}\left[ \ln (2\pi )^d |\varSigma _i| \right. \nonumber \\&+ \left. \left( {{\varvec{x}}}-{\varvec{\mu }}_i \right) ^T {\varvec{\varSigma }}_i^{-1} \left( {{\varvec{x}}}-{\varvec{\mu }}_i \right) \right] , \end{aligned}$$
(24)
where
\({\varvec{\mu }}_i\),
\({{\varvec{\varSigma }}_{{\varvec{i}}}}\) are the
d-dimensional mean vector and the
\(d \times d\) covariance matrix at the
ith node in the HMM, respectively. By substituting (
24) into (
23) and eliminating terms that are independent of the motion trajectory
\({{\varvec{z}}}^{(k+1)}\) in (
23), (
23) can be reduced to (
25).
$$\begin{aligned}&\arg \max _{{{\varvec{z}}}^{(k+1)}} \left\{ - \sum _{i=1}^{s} \sum _{t=1}^n \frac{1}{2} \left( {{\varvec{x}}}_t^{(k+1)}-{\varvec{\mu }}_i \right) ^T {\varvec{\varSigma }}_i^{-1} \left( {{\varvec{x}}}_t^{(k+1)}-{\varvec{\mu }}_i \right) \right. \nonumber \\&{\qquad } \left. \times P(q_t=i | {{\varvec{z}}}^{(k)},\lambda ) \right. \nonumber \\&{\qquad } \left. -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T {{\varvec{\varDelta }}_{{\varvec{c}}}} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \right. \nonumber \\&{\qquad } \left. -\frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} \right\} \nonumber \\&\quad = \arg \max _{{{\varvec{z}}}^{(k+1)}} \left\{ -\frac{1}{2} \sum _{i=1}^s \left[ {{\varvec{z}}}^{(k+1)} - \tilde{{\varvec{\mu }}}_i \right] ^T {{\varvec{V}}}_i \left[ {{\varvec{z}}}^{(k+1)} - \tilde{{\varvec{\mu }}}_i \right] \right. \nonumber \\&{\qquad } \left. -\frac{w_c}{2} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) ^T {{\varvec{\varDelta }}_{{\varvec{c}}}} \left( {{\varvec{z}}}^{(k+1)} - {{\varvec{z}}}_c \right) \right. \nonumber \\&{\qquad } \left. -\frac{w_d}{2} {{{\varvec{z}}}^{(k+1)}}^T {{\varvec{L}}} {{\varvec{z}}}^{(k+1)} \right\} . \end{aligned}$$
(25)
Therefore, the motion trajectory
\({{\varvec{z}}}^{(k+1)}\) satisfying (
25) can be derived as (
11).