python 轨迹预测_轨迹预测-运动递归函数

定义

\[o(t)=C_1*o(t-1)+c_2*o(t-2)+...+c_f(t-f) \tag{1}

\]

事件t的位置点和之前f个位置点具有线性组合的关系,f成为回顾系数。

定义

\[s_0(t) = \{o(t),o(t-1),...,o(t-f+1)\} \tag{2}

\]

因此

\[s_0(t)=K_0*s_0(t-1) \tag{3}

\]

K_0是维度为\((d*f)*(d*f)\)维度的矩阵。d是数据点的维度,对于二维路径点d = 2。

对于d=2,f=2,写出式(3)的展开形式:

\[\left[

\begin{matrix}

o(t).x_1 \\

o(t).x_2 \\

o(t-1).x_1 \\

o(t-1).x_2

\end{matrix}

\right]

=

\left[

\begin{matrix}

k_{11} & k_{12} & k_{13} & k_{14} \\

k_{21} & k_{22} & k_{23} & k_{24} \\

1 & 0 & 0 & 0 \\

0 & 1 & 0 & 0 \\

\end{matrix}

\right]

*

\left[

\begin{matrix}

o(t-1).x_1 \\

o(t-1).x_2 \\

o(t-2).x_1 \\

o(t-2).x_2

\end{matrix}

\right]

\]

我们可以进一步认识到,对于\(K_0\)矩阵只有前面d行是未知,未知数个数为\(d*(d*f)\)。

对于其余行的每个元素,满足:

\[\begin{cases}

k_{ij} = 0 \space \text{for i>=d+1 and i!=j+d} \\ \tag{4}

k_{ij} = 1 \space \text{for i>=d+1 and i=j+d}

\end{cases}

\]

抽取式(3)的\(K_0\)矩阵的前d行的某一行的乘法过程,可以写出

\[s_0(t-1)^T*K_{i*} = o(t).x_i \tag{5}

\]

其中\(d>=i>=1\),\(K_{i*}\)是K矩阵的第i行向量。

我们需要得到能够最好的描述历史数据的\(K_0\)矩阵,并以此预测将来的路径。

参数估计

设l_0(t)是实际的路径点数据。\(\{l_o(T_c-h+1),l_0(T_c-h+2),...,l_0(T_c)\}\)是距离当前时刻最近的h个路点数据。

h需要大于f。

根据式(5)我们可以写出:

\[\left[

\begin{matrix}

s(T_c-1)^T \\

s(T_c-2)^T \\

... \\

s(T_c-h+f)^T

\end{matrix}

\right]

*

k_{i*}

=

\left[

\begin{matrix}

l(T_c).x_i \\

l(T_c-1).x_i \\

... \\

l(T_c-h+f+1).x_i

\end{matrix}

\right] \tag{6}

\]

\[S = \left[

\begin{matrix}

s(T_c-1)^T \\

s(T_c-2)^T \\

... \\

s(T_c-h+f)^T

\end{matrix}

\right]

\space

l = \left[

\begin{matrix}

l(T_c).x_i \\

l(T_c-1).x_i \\

... \\

l(T_c-h+f+1).x_i

\end{matrix}

\right]

\]

式6可以简写为\(S*k_{i*}=l\)

接下来的任务是求解行向量\(k_{i*}\),求解从1到d行的每个行向量可以得到完整的K矩阵。

论文中简单介绍来了将S进行奇异值分解的求解方法。

式(6)中共有h-f个方程,而行向量\(k_{i*}\)中共有d*f个未知数,todo...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值