视觉SLAM中的三角化
Posted weihao-ysgs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视觉SLAM中的三角化相关的知识,希望对你有一定的参考价值。
视觉SLAM中的三角化
-
考虑某路标点 \\(y\\) 在若干个关键帧 \\(k = 1, · · · , n\\) 中看到。
-
\\(\\mathbfy \\in \\mathbbR^4\\) ,取齐次坐标。每次观测为 \\(\\mathbfx_k=\\left[u_k, v_k, 1\\right]^\\top\\) ,取归一化平 面坐标 (这样可以忽略掉内参)。
-
记投影矩阵 \\(\\mathbfP_k=\\left[\\mathbfR_k, \\mathbft_k\\right] \\in \\mathbbR^3 \\times 4\\) ,为 World 系到 Camera 系 投影关系:
\\[\\forall k, \\lambda_k \\mathbfx_k=\\mathbfP_k \\mathbfy \\]
其中 \\(\\lambda_k\\) 为观测点的深度值 (末知) 。
我们以一个通用方程来描述,这里我们把 \\(\\lambda\\) 放到了左边,但是效果是一样的。
根据上面式子中的第三行
\\(P^T_k,3\\) 为 \\(P_k\\) 的第 \\(3\\) 行。
将 \\(\\lambda_k =P^T_k,3\\mathbfy\\) 带入前两行得到
每次观测将提供两个这样的方程,视 \\(\\mathrmy\\) 为末知量,并将 \\(\\mathrmy\\) 移到等 式一侧:
于是, \\(y\\) 为 \\(\\mathrmD\\) 零空间中的一个非零元素。
由于 \\(\\mathbfD \\in \\mathbbR^2 n \\times 4\\) ,在观测次于大于等于两次时,很可能 \\(\\mathbfD\\) 满秩, 无零空间。
寻找最小二乘解:
解法: 对 \\(\\mathbfD^\\top \\mathbfD\\) 进行 \\(SVD\\):
其中 \\(\\sigma_i\\) 为奇异值,且由大到小排列, \\(\\mathbfu_i, \\mathbfu_j\\) 正交。此时,取 \\(y = u_4\\) ,那么该问题的目标函数值为 \\(σ_4\\) 。判断该解有效性的条件: \\(σ_4 ≪ σ_3\\) 。若该条件成立,认为三角化有效,否则认为三角化无效。实用当中,还需要加上 \\(y\\) 投影正负号的判定作为依据
TIPS
一般我们通过两对点进行三角化
则有
\\(SVD\\)求解,右奇异矩阵的最后一行就是最终的解。
以上是关于视觉SLAM中的三角化的主要内容,如果未能解决你的问题,请参考以下文章