細節想看原網址
1、https://www.cnblogs.com/gaoxiang12/p/4669490.html
一起做(4)jointPointCloud.cpp
兩幀深度相機采集的圖像拼接成點雲地圖
1、設備:RGB-D相機 采集得到彩色圖和深度圖,在這里認為其采集的兩幅圖像是同步的;
2、相機采集的圖像因鏡頭原因會發生畸變,所以需要對攝像頭進行畸變校正,這樣就可以運用matlab自帶的棋盤格標定方法完成相機內參的標定;
3、對RGB圖進行特征提取與描述子的計算,利用上述特征進行兩幀圖像的匹配,將匹配得到的兩組點集利用PNP算法,得到旋轉與平移向量
4、將兩幀圖形成的點雲圖經過變換矩陣,既可得到拼接后的點雲圖
2、https://www.cnblogs.com/gaoxiang12/p/4719156.html
一起做(5)slamBase.cpp
v 多幀深度相機采集的圖像拼接成點雲地圖完成一個視覺里程計
v 什么是視覺里程計呢?簡而言之,就是把新來的數據與上一幀進行匹配,估計其運動,然后再把運動累加起來的東西
3、https://www.cnblogs.com/gaoxiang12/p/4739934.html
一起做(6)slamEnd.cpp
v 這樣的視覺里程計存在的問題
1、一旦出現了錯誤匹配,整個程序就會跑飛。
2、誤差會累積。常見的現象是:相機轉過去的過程能夠做對,但轉回來之后則出現明顯的偏差。
3、效率方面不盡如人意。在線的點雲顯示比較費時。
v 解決辦法
加入姿態圖(pose graph)
以g2o軟件包進行圖優化
4、https://www.cnblogs.com/gaoxiang12/p/4754948.html
一起做(7)slam.cpp
v G2o軟件包也可以用來進行回環檢測,丟失恢復等工作。
v 加入簡單的回環檢測(這個可能存在細節誤差,回環檢測之后仍然會繼續提取關鍵幀,最后還是一起優化,不知道為什么沒有對回環進行立即優化,也可能理解有問題)