VSLAM基礎(五) 三角化 PnP ICP

2021-09-10 14:02:17 字數 890 閱讀 3980

在之前的章節中我們獲得了同名像點從而恢復相片的姿態,接下來就該輪到vslam前端中最後一部分————計算三維點座標(三角化),並通過三維座標**姿態(pnp)。

在單目slam中僅通過單張影象無法獲得畫素的深度資訊,所以我們需要通過三角測量(triangulation)的方法來估計地圖的深度。一般情況是當我們得到兩個檢視的一組匹配點,我們希望能恢復出世界點在三維世界的座標。

這裡介紹乙個線性三角形法:

在已知了兩張影象的姿態後我們能建立以下等式

x=px;

x′=p′x;

然後使用dlt演算法整理可得ax = 0(一對點可得到4行方程)

這裡相當於解乙個線性最小二乘問題。方程的解為a的最小奇異值對應的單位奇異向量。

而三角化存在乙個矛盾

影象平移越大,三角化的精度越高;平移越小,匹配效果越好;

pnp是求解3d到2d點對運動的方法。直接點說它是在已知3d空間點座標與對應2d影象投影座標的情況下,恢復影象姿態。在vslam中,在初始化獲得了一系列3d點後,我們就可以使用pnp來估計後續姿態。相比於對極幾何估計姿態,pnp方法需要更少的點對(3個以上),不需要對極約束,並且pnp方法可以避免尺度的問題。

這裡介紹乙個線性pnp演算法:

乙個點對(3d點x及其投影2d點x座標)可以建立x=px(在這裡p是未知);

p為11個自由度矩陣,故有6對點對使用dlt建立方程就可解得p;

當然pnp演算法是乙個大類,上面所講只是乙個概念的展示,想要深入的了解可以查詢p3p,epnp、upnp。。。

icp是求解3d到3d點的位姿估計問題。實際上是我們知道在兩個相機座標系下同一地圖點的兩個座標,則可以建立乙個歐式變換:

酉三角化和實正交三角化

介紹乙個非常有用的定理 任何復方陣 a 與以 a 的特徵值作為對角元素的乙個三角矩陣酉相似,以及總可以通過實正交相似將矩陣化為乙個實的擬三角型並作了相應的推廣.證明 設 u 1 x quad u 2 quad cdots quad u n 是任意乙個第一列為 x 的酉矩陣,比方說利用 qr 分解 中...

Delaunay三角化演算法

1 首先了解一下什麼是delaunay三角網 delaunay三角剖分是前蘇聯數學家 delaunay在 1934年提出的 對於任意給定的平面點集 只存在著唯一的一種三角剖分方法 滿足所謂的 最大 最小角 優化準則 即所有最小內角之和最大 這就是 delaunay三角剖分。這種剖分方法遵循 最小角最...

貪婪投影三角化演算法對有向點雲進行三角化

貪婪投影法 先將有向點雲投影到某一區域性座標平面內,再在座標平面內進行平面內的三角化,根據平面內三位點的拓撲關係獲得乙個三角網格曲面模型。include include include include include include include include include void main...