vins部落格的一部分7

2021-10-13 09:57:43 字數 1469 閱讀 5812

其中,輸出在ps,rs中,tic為tbc ,ric為rbc

1、將本幀所有的 已知深度的點,利用它第一次出現的幀的位姿和當時三角化出的xyz,來計算出其世界系座標並存入pts3d,相應的當前幀的歸一化平面座標存入pts2d,步驟為: pim

u=rb

c∗pc

am+t

bc

p_ = r_ * p_ + t_

pimu​=

rbc​

∗pca

m​+t

bc​pb=

rwb∗

pimu

+twb

p_b = r_ * p_~ + t_

pb​=rw

b​∗p

imu​

+twb

vector3d ptsinimu = ric[0] * (point * estimated_depth) + tic[0];//歸一化了, 乘逆深度才是真實座標

vector3d ptsinworld = rs[ ] * ptsincam + ps[ ];

由上一幀位姿(相對imu系)和外參,得到上一幀的cam位姿 :

rwc = rwb * rbc

pwc = rwb * pbc + twb

rcam = rs[framecnt - 1] * ric[0];//rwc,camera相對word位置

pcam = rs[framecnt - 1] * tic[0] + ps[framecnt - 1];

2、由3d點座標、本幀對應2d點座標,便可求解本幀位姿(imu積分得到的位姿 轉到世界系下的rcam、pcam作為優化初值)

solveposebypnp(rcam, pcam, pts2d, pts3d)//結果更新在cam和pcam
3、最後再將本本幀的rcam和pcam轉到imu系下,放入rs[framecnt], ps[framecnt]

利用本幀的位姿rs ps(相對imu系)和外參rbc計算左右相機位姿twc0twc1 (即[r, t])leftpose, rightpose

利用svd方法對雙目point0, point1進行三角化,輸出point3d為相對世界系的pw ,

triangulatepoint(leftpose, rightpose, point0, point1, point3d);
變為相對左相機座標系下的座標 rcw

t * pw + tcw,

最後把深度提取出來,用feature.estimated_depth = depth放到featureperid的逆深度屬性中

vins部落格的一部分6

輸入是本幀的特徵點 id cam id,xyz uv vxvy 包含了檢測關鍵幀,估計外部引數,初始化,狀態估計,劃窗等等 檢測關鍵幀,選擇margin幀 addfeaturecheckparallax if f manager.addfeaturecheckparallax frame count...

測試只是一部分

對於很多測試人員來說,測試相關的內容是工作的全部,這是我們的視角。但是換個角度也許就不是這樣。首先我們工作的地方大部分是商業組織,是某個公司,開發某類產品或者提供某類服務,也就是business。所以從組織的層級往上看,到了一定的級別,其實看到的是業務 產品等東西,當然他們也關心我們技術和競爭對手的...

Laravel 一部分總結

1.使用命令自動建立model層 進入所在目錄 php artisan make model test 2增刪改查 toarray 將資料變成陣列 public functionusertest 增 預設有兩個字段,可以在model層關閉,或者在表中新增 public timestamps fals...