视觉里程计中的三角化问题

在视觉里程计中,通常需要通过三角化方法来计算路标点在世界坐标系下坐标。
三角化方法的数学表述如下:

  • 考虑某路标点 y y y 在若干个关键帧 k = 1 , … , n k = 1, \dots, n k=1,,n 中被观察到。
  • y ∈ R 4 y \in \R^4 yR4,是齐次坐标。每次的观测值为 x k = [ u k , v k , 1 ] ⊤ x_k = [u_k, v_k, 1]^⊤ xk=[uk,vk,1],取相机坐标系下的归一化平面坐标,这样的好处是可以不考虑相机的内参。
  • 记投影矩阵 P k = [ R k ∣ t k ] ∈ R 3 × 4 P_k = [R_k | t_k] \in \R^{3×4} Pk=[Rktk]R3×4,为世界坐标系到相机坐标系。
  • 投影关系: ∀ k , λ k x k = P k y (1) \tag 1\forall k, \lambda_kx_k = P_ky k,λkxk=Pky(1)其中, λ k \lambda_k λk 为路标点在第 k k k 帧的深度值。
  • 根据式(1)的第三行,有: λ k = P k , 3 y (2) \tag 2 \lambda_k = P_{k,3} y λk=Pk,3y(2)其中 P k , 3 P_{k,3} Pk,3 P k P_k Pk 的第3 行。
  • 将式(2)代入式(1)的前两行,得到 u k P k , 3 y = P k , 1 y v k P k , 3 y = P k , 2 y (3) \tag 3 u_k P_{k,3} y= P_{k,1} y \\ v_k P_{k,3} y = P_{k,2} y ukPk,3y=Pk,1yvkPk,3y=Pk,2y(3)
  • 每一次观测将提供两个这样的方程,视 y y y 为未知量,并将 y y y 移到等式一侧,得到: [ u 1 P 1 , 3 − P 1 , 1 v 1 P 1 , 3 − P 1 , 2 ⋮ u n P n , 3 − P n , 1 v n P n , 3 − P n , 2 ] y = 0 → D y = 0 (4) \tag 4 \begin{bmatrix} u_1 P_{1,3} - P_{1,1} \\ v_1 P_{1,3} - P_{1,2} \\ \vdots \\ u_n P_{n,3} - P_{n,1} \\ v_n P_{n,3} - P_{n,2} \end{bmatrix} y=0 \to Dy=0 u1P1,3P1,1v1P1,3P1,2unPn,3Pn,1vnPn,3Pn,2y=0Dy=0(4)于是, y y y 是系数矩阵D的零空间中的一个非零元素。
  • 由于 D ∈ R 2 n × 4 D \in \R^{2n×4} DR2n×4,在观测次数大于等于两次时,很可能 D D D 满秩,没有非零元素 y y y 满足式(4)。
  • 因此我们将最小二乘问题式(5)的解作为 y y y 的解。 y y y 是齐次坐标,归一化以后得到路标点在世界坐标系下的坐标。
    min ⁡ y f ( y ) = min ⁡ y ∥ D y ∥ 2 2 , s . t . ∥ y ∥ 2 2 = 1 (5) \tag 5 \min_y f(y) =\min_y {\Vert Dy \Vert}_2^2, s.t.{\Vert y \Vert }_2^2= 1 yminf(y)=yminDy22,s.t.y22=1(5)

下面来证明式(5)的解就是系数矩阵D的最小的奇异值所对应的特征向量:
式(5)即
min ⁡ y f ( y ) = min ⁡ y ∥ D y ∥ 2 2 = min ⁡ y y T D T D y ∥ y ∥ 2 2 = y T y = 1 (6) \tag 6 \min_y f(y) =\min_y {\Vert Dy \Vert}_2^2 = \min_y y^T D^T D y\\ {\Vert y \Vert}_2^2 = y^T y = 1 yminf(y)=yminDy22=yminyTDTDyy22=yTy=1(6)
D T D D^TD DTD 进行SVD分解,得到:
D T D = U Σ U T = ∑ i = 1 4 σ i 2 u i u i T (7) \tag 7 D^TD=U \Sigma U^T = \sum_{i=1}^4 \sigma_i^2 u_i u_i^T DTD=UΣUT=i=14σi2uiuiT(7)其中 σ i \sigma_i σi是矩阵D的奇异值,由大到小排列, u i , u j u_i, u_j ui,uj 是正交的单位特征向量,构成 R 4 \R^4 R4的一组单位正交基。
σ 1 ≥ σ 2 ≥ σ 3 ≥ σ 4 > 0 u i T u j = { 1 if  i = j 0 if  i ≠ j (8) \tag 8 \sigma_1 \ge \sigma_2 \ge \sigma_3 \ge \sigma_4 >0 \\ u_i^T u_j = \begin{cases} 1 &\text{if } \quad i=j \\ 0 &\text{if } \quad i \not = j \end{cases} σ1σ2σ3σ4>0uiTuj={10if i=jif i=j(8)

因此, y y y 可以表达成 u i u_i ui 的一个线性组合。假设 y = ∑ i = 1 4 x i u i y=\sum_{i=1}^4 x_i u_i y=i=14xiui其中 x i x_i xi为未知数,则由式(6)、(7)和(8)可得
min ⁡ y f ( y ) = min ⁡ x i ∑ i = 1 4 x i 2 σ i 2 ∑ i = 1 4 x i 2 = 1 (9) \tag 9 \min_y f(y)=\min_{x_i} \sum_{i=1}^4 x_i^2 \sigma_i^2 \quad \\ \sum_{i=1}^4 x_i^2 =1 yminf(y)=ximini=14xi2σi2i=14xi2=1(9)又由于 σ i \sigma_i σi由大到小排列且大于0,易知
∑ i = 1 4 x i 2 σ i 2 ≥ ( ∑ i = 1 4 x i 2 ) σ 4 2 = σ 4 2 (10) \tag {10} \sum_{i=1}^4 x_i^2 \sigma_i^2 \ge (\sum_{i=1}^4x_i^2) \sigma_4^2 = \sigma_4^2 i=14xi2σi2(i=14xi2)σ42=σ42(10) 式(10)中的等号,在 x 1 = x 2 = x 3 = 0 , x 4 = 1 x_1=x_2=x_3=0,x_4=1 x1=x2=x3=0x4=1时成立。

因此,
min ⁡ y f ( y ) = min ⁡ x i ∑ i = 1 4 x i 2 σ i 2 = σ 4 2 (11) \tag {11} \min_y f(y) = \min_{x_i} \sum_{i=1}^4 x_i^2 \sigma_i^2 = \sigma_4^2 yminf(y)=ximini=14xi2σi2=σ42(11)
此时
y = ∑ i = 1 4 x i u i = u 4 (12) \tag {12} y = \sum_{i=1}^4 x_i u_i = u_4 y=i=14xiui=u4(12)即, y y y 是系数矩阵D的最小奇异值所对应的特征向量,证明完毕

此时的 y ∈ R 4 y \in \R^4 yR4是一个4维单位向量,乘以一个比例因子使得第4维等于1之后,取前3维的值,即可得到路标点在世界坐标系下的坐标。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wmorries

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值