针对的问题
使用的方法
基于MSCKF的在线时间标定方法
基于MSCKF的在线时间标定方法
相机时间戳与IMU时间戳存在初始的时间偏移,线程收到两个时间戳的两帧KeyFrame,在这两个时刻内进行 IMU 预积分,此时需要在 imu buffer 里检索这段时间内的 IMU 数据,若以 IMU 的时间为基准,这两个时刻实际的关键帧并不是一开始收到的那两帧,而是在空间上有所偏移-
两个时刻上很接近的关键帧,其空间变化也很小,图像上的特征点认为是匀速运动的,速度用两帧关键帧的对应特征点坐标相减求出,然后根据还没求出但假设已知的时间偏移 $t_d$ 对特征点的坐标进行修正。
将带有 $t_d$ 的修正后的特征点坐标,替换掉重投影误差中原来的特征点坐标,从而将时间偏差参数 $t_d$ 引入了优化方程相机残差项
每次优化完成后,对相机时间戳进行修正,由粗到细,使得匀速运动假设更加合理。
没有对 $t_d$ 的可观性进行分析
特征值与特征向量的定义和关系可由下面等式给出
\[Ax = x\lambda\]扩展成 n 个特征向量和特征值,有
\[A \begin{pmatrix} x_1 & x_2 & \cdots & x_n \end{pmatrix} = \begin{pmatrix} x_1 & x_2 & \cdots & x_n \end{pmatrix} \begin{pmatrix} \lambda_1 \\ & \lambda_2 \\ && \ddots \\ &&& \lambda_n \end{pmatrix}\]简写为
\[AP= P\Lambda\] \[A= P \Lambda P^{-1}\]这意味着什么呢?可以从这几个角度理解:
\[\begin{pmatrix} v^T & 0_{1\times n} & \cdots & 0_{1\times n}\\ 0_{1\times n} & v^T & \cdots & 0_{1\times n}\\ \cdots && \ddots\\ 0_{1\times n} & 0_{1\times n} & \cdots & v^T\\ \end{pmatrix}_{n\times n^2} \begin{pmatrix} a_{11} \\ a_{12} \\ \dots \\ a_{1n}\\ \cdots\\ a_{nn} \end{pmatrix}_{n \times n} = w\]PS:已知 $v \mapsto w,\ v,w \in \mathbb{R}^n$,需要 n 个这样的映射才能唯一确定一个线性映射或矩阵
full matrices:
\[A_{mn} = U_{mm}\Sigma_{mn}(V_{nn})^T\]not full matrices: retain max r eigen values and vectors
\[A_{mn} \approx U_{mr}\Sigma_{rr}(V_{nr})^T, r \leq min(m,n)\]import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
I = mpimg.imread("E:\\Data\\Pictures\\Screenshots\\屏幕截图(1).png");
u, s, vh = np.linalg.svd(I[:,:,0],full_matrices=False)
smat = np.diag(s)
print(smat.shape)
k = 5
I_compress = np.dot(u[:,0:k],np.dot(smat[0:k,0:k],vh[0:k,:]))
plt.subplot(2,1,1)
plt.imshow(I[:,:,0])
plt.subplot(2,1,2)
plt.imshow(I_compress)
plt.show()
这个方程没有非零解(因为列向量空间维数是 m,但不相关的列向量只有 n 个,无法线性组合得到零向量),因此求最小二乘解,也就是让 $\lvert Ax \rvert ^2 = x^TA^TAx$ 最小的 x。
\[\begin{align} x^* = \underset{x}{\mathrm{arg\ min}}\ x^TA^TAx \\ s.t.\ x^Tx = 1 \end{align}\]等号成立的条件为,当 $\lambda_{min}$ 或 $\lambda_{max}$ 对应的 $a_i = 1$,其余的 $a_i = 0$。
情况 1 其实只是情况 2 的特例。$a_i$ 充当挑选 $V$ 中列向量(即 $A^TA$ 的特征向量)的角色。
所以最小二乘解 $x^*$ 等于, $A^TA$ 的最小特征值对应的特征向量,也即 $A$ 最小奇异值对应的右奇异向量因此可以通过对 A 进行 SVD 分解求得 $Ax = 0$ 的最小二乘解。
而最小二乘的求解在多视角几何中均有应用,如路标的三角化、PnP等,因为这些问题最后会得到一个超定齐次方程。