轨迹预测-运动递归函数

定义

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

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

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

因此

[s_0(t)=K_0*s_0(t-1) ag{3} ]

K_0是维度为((d*f)*(d*f))维度的矩阵。d是数据点的维度,对于二维路径点d = 2。
对于d=2,f=2,写出式(3)的展开形式:

[left[ egin{matrix} o(t).x_1 \ o(t).x_2 \ o(t-1).x_1 \ o(t-1).x_2 end{matrix} ight] = left[ egin{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} ight] * left[ egin{matrix} o(t-1).x_1 \ o(t-1).x_2 \ o(t-2).x_1 \ o(t-2).x_2 end{matrix} ight] ]

我们可以进一步认识到,对于(K_0)矩阵只有前面d行是未知,未知数个数为(d*(d*f))
对于其余行的每个元素,满足:

[egin{cases} k_{ij} = 0 space ext{for i>=d+1 and i!=j+d} \ ag{4} k_{ij} = 1 space ext{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 ag{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[ egin{matrix} s(T_c-1)^T \ s(T_c-2)^T \ ... \ s(T_c-h+f)^T end{matrix} ight] * k_{i*} = left[ egin{matrix} l(T_c).x_i \ l(T_c-1).x_i \ ... \ l(T_c-h+f+1).x_i end{matrix} ight] ag{6} ]

[S = left[ egin{matrix} s(T_c-1)^T \ s(T_c-2)^T \ ... \ s(T_c-h+f)^T end{matrix} ight] space l = left[ egin{matrix} l(T_c).x_i \ l(T_c-1).x_i \ ... \ l(T_c-h+f+1).x_i end{matrix} ight] ]

式6可以简写为(S*k_{i*}=l)
接下来的任务是求解行向量(k_{i*}),求解从1到d行的每个行向量可以得到完整的K矩阵。
论文中简单介绍来了将S进行奇异值分解的求解方法。
式(6)中共有h-f个方程,而行向量(k_{i*})中共有d*f个未知数,todo...

原文地址:https://www.cnblogs.com/bluebean/p/11184700.html