轨迹预测-运动递归函数
定义
\[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...